.abqcp-booking-wrap {
width: 100%;
max-width: 760px;
margin: 0 auto;
} .abqcp-booking-form {
display: flex;
flex-direction: column;
gap: 20px;
}
.abqcp-booking-row {
display: grid;
gap: 20px;
}
.abqcp-booking-row-2 {
grid-template-columns: 1fr 1fr;
} .abqcp-booking-field {
display: flex;
flex-direction: column;
gap: 7px;
}
.abqcp-booking-field label {
font-size: 14px;
font-weight: 700;
color: #2d1637;
letter-spacing: 0.2px;
}
.abqcp-req {
color: #5B2C6F;
}
.abqcp-optional {
color: #999;
font-weight: 400;
font-size: 13px;
}
.abqcp-booking-field input,
.abqcp-booking-field select,
.abqcp-booking-field textarea {
width: 100%;
padding: 13px 16px;
border: 2px solid #e0d8e8;
border-radius: 10px;
font-size: 15px;
color: #2d1637;
background: #ffffff;
transition: border-color 0.2s ease, box-shadow 0.2s ease;
font-family: inherit;
box-sizing: border-box;
-webkit-appearance: none;
appearance: none;
}
.abqcp-booking-field select {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%235B2C6F' d='M8 11L2 5h12z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 14px center;
background-size: 14px;
padding-right: 40px;
cursor: pointer;
}
.abqcp-booking-field input:focus,
.abqcp-booking-field select:focus,
.abqcp-booking-field textarea:focus {
outline: none;
border-color: #5B2C6F;
box-shadow: 0 0 0 3px rgba(91, 44, 111, 0.12);
}
.abqcp-booking-field input[type="date"] {
cursor: pointer;
}
.abqcp-booking-field textarea {
resize: vertical;
min-height: 120px;
} .abqcp-booking-error {
background: #fdf0f0;
border: 1px solid #e8b4b8;
border-radius: 10px;
padding: 14px 18px;
color: #c0392b;
font-size: 14px;
font-weight: 600;
} .abqcp-booking-submit {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
padding: 17px 36px;
background: linear-gradient(135deg, #5B2C6F 0%, #764ba2 100%);
color: #ffffff;
border: none;
border-radius: 10px;
font-size: 17px;
font-weight: 700;
cursor: pointer;
transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
box-shadow: 0 6px 20px rgba(91, 44, 111, 0.3);
font-family: inherit;
width: 100%;
}
.abqcp-booking-submit:hover {
transform: translateY(-2px);
box-shadow: 0 10px 28px rgba(91, 44, 111, 0.4);
}
.abqcp-booking-submit:disabled {
opacity: 0.7;
cursor: not-allowed;
transform: none;
} .abqcp-booking-disclaimer {
text-align: center;
font-size: 13px;
color: #888;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
}
.abqcp-booking-disclaimer i {
color: #5B2C6F;
} .abqcp-booking-success {
text-align: center;
padding: 50px 30px;
background: #f4ecfa;
border-radius: 16px;
border: 2px solid #c9a8e0;
}
.abqcp-booking-success-icon i {
font-size: 56px;
color: #5B2C6F;
margin-bottom: 18px;
display: block;
}
.abqcp-booking-success h3 {
font-size: 28px;
color: #2d1637;
margin: 0 0 12px;
}
.abqcp-booking-success p {
font-size: 16px;
color: #555;
line-height: 1.7;
max-width: 480px;
margin: 0 auto;
} @media (max-width: 640px) {
.abqcp-booking-row-2 {
grid-template-columns: 1fr;
}
.abqcp-booking-submit {
font-size: 16px;
padding: 15px 24px;
}
} .abqcp-hp-field {
position: absolute !important;
left: -10000px !important;
top: auto !important;
width: 1px !important;
height: 1px !important;
overflow: hidden !important;
}
.abqcp-field-help {
margin: 7px 0 0;
color: #70677a;
font-size: 13px;
line-height: 1.45;
}