/* Eden Forms - base (same look CF7 gave these forms) */
.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;word-wrap:normal!important}
.wpcf7 .hidden-fields-container{display:none}
.wpcf7 form .wpcf7-response-output{margin:2em .5em 1em;padding:.2em 1em;border:2px solid #00a0d2}
.wpcf7 form.init .wpcf7-response-output,.wpcf7 form.submitting .wpcf7-response-output{display:none}
.wpcf7 form.sent .wpcf7-response-output{border-color:#46b450}
.wpcf7 form.failed .wpcf7-response-output{border-color:#dc3232}
.wpcf7 form.spam .wpcf7-response-output{border-color:#f56e28}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output{border-color:#ffb900}
.wpcf7-form-control-wrap{position:relative}
.wpcf7-not-valid-tip{color:#dc3232;font-size:1em;font-weight:normal;display:block}
.wpcf7-list-item{display:inline-block;margin:0 0 0 1em}
.wpcf7 .wpcf7-submit:disabled{cursor:not-allowed}
.wpcf7 input[type="url"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"]{direction:ltr}
.wpcf7 .eden-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.wpcf7 .cf-turnstile{margin:0 0 12px}

/* Import Noto Serif HK font from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+HK:ital,wght@0,400;0,500;0,600;0,700;1,400;1,700&display=swap');

:root {
    --primary-font: 'Noto Serif HK', serif;
}

/* Eden Appointment Booking Form - Complete Reset & Custom Styling with Noto Serif HK Font */

/* Main Container */
.eden-appointment-booking-form {
    max-width: 600px;
    margin: 0 auto;
    padding: 40px 30px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: none;
    font-family: var(--primary-font);
    direction: ltr;
    text-align: left;
    box-sizing: border-box;
}

/* Header Section */
.eden-appointment-booking-form .eden-booking-header {
    margin-bottom: 40px;
    text-align: left;
    direction: ltr;
}

.eden-appointment-booking-form .eden-booking-title {
    font-size: 28px;
    font-weight: 400;
    color: #584343;
    margin: 0 0 8px 0;
    padding: 0;
    line-height: 1.2;
    text-align: left;
    direction: ltr;
    font-family: var(--primary-font);
}

.eden-appointment-booking-form .eden-booking-subtitle {
    font-size: 14px;
    color: #584343;
    margin: 0;
    padding: 0;
    line-height: 1.5;
    text-align: left;
    direction: ltr;
    font-family: var(--primary-font);
}

/* Form Fields Container */
.eden-appointment-booking-form .eden-booking-fields {
    direction: ltr;
    text-align: left;
}

/* Row Layout */
.eden-appointment-booking-form .eden-row {
    margin-bottom: 24px;
    direction: ltr;
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.eden-appointment-booking-form .eden-row-double {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.eden-appointment-booking-form .eden-row-single {
    display: block;
}

/* Column Layout */
.eden-appointment-booking-form .eden-col {
    flex: 1;
    display: block;
    direction: ltr;
    box-sizing: border-box;
}

.eden-appointment-booking-form .eden-col-full {
    width: 100%;
    display: block;
    direction: ltr;
    box-sizing: border-box;
}

/* Labels */
.eden-appointment-booking-form .eden-label {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: #584343;
    margin: 0 0 6px 0;
    padding: 0;
    line-height: 1.2;
    text-align: left;
    direction: ltr;
    font-family: var(--primary-font);
    width: 100%;
    box-sizing: border-box;
}

/* Input Fields */
.eden-appointment-booking-form .eden-field-input,
.eden-appointment-booking-form input.eden-field-input,
.eden-appointment-booking-form input[type="text"].eden-field-input,
.eden-appointment-booking-form input[type="email"].eden-field-input,
.eden-appointment-booking-form input[type="tel"].eden-field-input,
.eden-appointment-booking-form input[type="date"].eden-field-input {
    width: 100%;
    height: auto;
    padding: 12px 16px;
    margin: 0;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.5;
    color: #1f2937;
    background-color: #ffffff;
    font-family: var(--primary-font);
    direction: ltr;
    text-align: left;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    outline: none;
    display: block;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Textarea */
.eden-appointment-booking-form .eden-field-textarea,
.eden-appointment-booking-form textarea.eden-field-textarea {
    width: 100%;
    min-height: 120px;
    padding: 12px 16px;
    margin: 0;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.5;
    color: #1f2937;
    background-color: #ffffff;
    font-family: var(--primary-font);
    direction: ltr;
    text-align: left;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    outline: none;
    resize: vertical;
    display: block;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Focus States */
.eden-appointment-booking-form .eden-field-input:focus,
.eden-appointment-booking-form .eden-field-textarea:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Placeholder Text */
.eden-appointment-booking-form .eden-field-input::placeholder,
.eden-appointment-booking-form .eden-field-textarea::placeholder {
    color: #9ca3af;
    direction: ltr;
    text-align: left;
    font-family: var(--primary-font);
}

/* Privacy Policy Row */
.eden-appointment-booking-form .eden-privacy-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    direction: ltr;
    text-align: left;
}

.eden-appointment-booking-form .eden-privacy-check,
.eden-appointment-booking-form input[type="checkbox"].eden-privacy-check {
    width: 18px;
    height: 18px;
    margin: 0;
    margin-top: 2px;
    flex-shrink: 0;
    cursor: pointer;
    accent-color: #3b82f6;
}

.eden-appointment-booking-form .eden-privacy-text {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    direction: ltr;
    text-align: left;
    font-family: var(--primary-font);
}

.eden-appointment-booking-form .eden-privacy-link {
    color: #3b82f6;
    text-decoration: none;
}

.eden-appointment-booking-form .eden-privacy-link:hover {
    text-decoration: underline;
}

/* Submit Button */
.eden-appointment-booking-form .eden-submit-row {
    text-align: left;
    direction: ltr;
}

.eden-appointment-booking-form .eden-submit-button,
.eden-appointment-booking-form input[type="submit"].eden-submit-button {
    width: 100%;
    height: 48px;
    padding: 12px 20px;
    margin: 0;
    background-color: #f5f5f5;
    color: #584343;
    border: 1px solid #f5f5f5;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    font-family: var(--primary-font);
    text-align: center;
    direction: ltr;
    box-sizing: border-box;
    transition: all 0.3s ease;
    outline: none;
    display: inline-block;
    vertical-align: top;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-transform: none;
    letter-spacing: 0;
}

.eden-appointment-booking-form .eden-submit-button:hover {
    background-color: #cacaca;
    border-color: #cacaca;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(202, 202, 202, 0.4);
}

.eden-appointment-booking-form .eden-submit-button:active {
    transform: translateY(0);
    background-color: #f5f5f5;
    border-color: #f5f5f5;
    color: #ffffff;
}

/* Responsive Design */
@media (max-width: 768px) {
    .eden-appointment-booking-form {
        padding: 30px 20px;
        margin: 20px;
    }
    
    .eden-appointment-booking-form .eden-booking-title {
        font-size: 28px;
    }
    
    .eden-appointment-booking-form .eden-booking-subtitle {
        font-size: 14px;
    }
    
    .eden-appointment-booking-form .eden-row-double {
        flex-direction: column;
        gap: 0;
    }
    
    .eden-appointment-booking-form .eden-submit-button {
        width: 100%;
    }
}

/* Contact Form 7 Validation */
.eden-appointment-booking-form .wpcf7-not-valid {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

.eden-appointment-booking-form .wpcf7-validation-errors,
.eden-appointment-booking-form .wpcf7-acceptance-missing {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
    padding: 12px 16px;
    border-radius: 8px;
    margin-top: 16px;
    font-size: 14px;
    direction: ltr;
    text-align: left;
    font-family: var(--primary-font);
}

.eden-appointment-booking-form .wpcf7-mail-sent-ok {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
    padding: 12px 16px;
    border-radius: 8px;
    margin-top: 16px;
    font-size: 14px;
    direction: ltr;
    text-align: left;
    font-family: var(--primary-font);
}

/* Remove any unwanted breaks or spacing */
.eden-appointment-booking-form br {
    display: none;
}

.eden-appointment-booking-form p {
    margin: 0;
    padding: 0;
}

/* Force override any theme styles */
.eden-appointment-booking-form * {
    box-sizing: border-box;
    font-family: var(--primary-font) !important;
}

.eden-appointment-booking-form input,
.eden-appointment-booking-form textarea,
.eden-appointment-booking-form label,
.eden-appointment-booking-form span {
    direction: ltr;
    text-align: left;
}

/* Simple Contact Form Styles */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+HK:ital,wght@0,400;0,500;0,600;0,700;1,400;1,700&display=swap');

:root {
    --primary-font: 'Noto Serif HK', serif;
}

.simple-contact-form {
    max-width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    font-family: var(--primary-font);
    direction: ltr;
    text-align: left;
    box-sizing: border-box;
}

/* Row Layout */
.simple-contact-form .form-row {
    margin-bottom: 24px;
    direction: ltr;
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.simple-contact-form .form-row:last-child {
    margin-bottom: 0;
}

.simple-contact-form .form-row-double {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.simple-contact-form .form-row-single {
    display: block;
}

/* Column Layout */
.simple-contact-form .form-col {
    flex: 1;
    display: block;
    direction: ltr;
    box-sizing: border-box;
}

.simple-contact-form .form-col-full {
    width: 100%;
    display: block;
    direction: ltr;
    box-sizing: border-box;
}

/* Labels */
.simple-contact-form .form-label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #584343;
    margin: 0 0 8px 0;
    padding: 0;
    line-height: 1.2;
    text-align: left;
    direction: ltr;
    font-family: var(--primary-font);
    width: 100%;
    box-sizing: border-box;
}

/* Input Fields - All Types */
.simple-contact-form .form-input,
.simple-contact-form input.form-input,
.simple-contact-form input[type="text"].form-input,
.simple-contact-form input[type="email"].form-input,
.simple-contact-form input[type="tel"].form-input {
    width: 100%;
    height: auto;
    padding: 12px 16px;
    margin: 0;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    font-size: 16px;
    line-height: 1.5;
    color: #584343;
    background-color: #ffffff;
    font-family: var(--primary-font);
    direction: ltr;
    text-align: left;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    outline: none;
    display: block;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Textarea */
.simple-contact-form .form-textarea,
.simple-contact-form textarea.form-textarea {
    width: 100%;
    height: 120px;
    padding: 12px 16px;
    margin: 0;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    font-size: 16px;
    line-height: 1.5;
    color: #584343;
    background-color: #ffffff;
    font-family: var(--primary-font);
    direction: ltr;
    text-align: left;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    outline: none;
    resize: vertical;
    display: block;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Focus States */
.simple-contact-form .form-input:focus,
.simple-contact-form .form-textarea:focus {
    border-color: #333;
    box-shadow: 0 0 0 3px rgba(251, 229, 214, 0.2);
}

/* Placeholder Text */
.simple-contact-form .form-input::placeholder,
.simple-contact-form .form-textarea::placeholder {
    color: #A0A0A0;
    direction: ltr;
    text-align: left;
    font-family: var(--primary-font);
}

/* Privacy Policy Row - Inspired by Eden Form */
.simple-contact-form .privacy-checkbox-container {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    direction: ltr;
    text-align: left;
}

.simple-contact-form .privacy-checkbox,
.simple-contact-form input[type="checkbox"].privacy-checkbox {
    width: 18px;
    height: 18px;
    margin: 0;
    margin-top: 2px;
    flex-shrink: 0;
    cursor: pointer;
    accent-color: #f5f5f5;
    border: 1px solid #E5E5E5;
    border-radius: 4px;
}

.simple-contact-form .privacy-text {
    font-size: 14px;
    color: #584343;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    direction: ltr;
    text-align: left;
    font-family: var(--primary-font);
    display: inline;
}

.simple-contact-form .privacy-link {
    color: #8B7355;
    text-decoration: underline;
    font-family: var(--primary-font);
}

.simple-contact-form .privacy-link:hover {
    color: #584343;
}

/* Submit Button */
.simple-contact-form .form-submit-row {
    text-align: left;
    direction: ltr;
}

.simple-contact-form .form-submit-button,
.simple-contact-form input[type="submit"].form-submit-button {
    width: 100%;
    height: 48px;
    padding: 14px 32px;
    margin: 0;
    background-color: #f5f5f5;
    color: #584343;
    border: 1px solid #f5f5f5;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    font-family: var(--primary-font);
    text-align: center;
    direction: ltr;
    box-sizing: border-box;
    transition: all 0.3s ease;
    outline: none;
    display: inline-block;
    vertical-align: top;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-transform: none;
    letter-spacing: 0;
}

.simple-contact-form .form-submit-button:hover {
    background-color: #f5f5f5;
    border-color: #f5f5f5;
    color: #ffffff;
    transform: translateY(-1px);
}

.simple-contact-form .form-submit-button:active {
    transform: translateY(0);
    background-color: #f5f5f5;
    border-color: #f5f5f5;
    color: #ffffff;
}

/* Responsive Design */
@media (max-width: 768px) {
    .simple-contact-form .form-row-double {
        flex-direction: column;
        gap: 0;
    }
    
    .simple-contact-form .form-row {
        margin-bottom: 20px;
    }
}

/* Contact Form 7 Validation Messages */
.simple-contact-form .wpcf7-not-valid {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

.simple-contact-form .wpcf7-validation-errors,
.simple-contact-form .wpcf7-acceptance-missing {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
    padding: 12px 16px;
    border-radius: 8px;
    margin-top: 16px;
    font-size: 14px;
    direction: ltr;
    text-align: left;
    font-family: var(--primary-font);
}

.simple-contact-form .wpcf7-mail-sent-ok {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
    padding: 12px 16px;
    border-radius: 8px;
    margin-top: 16px;
    font-size: 14px;
    direction: ltr;
    text-align: left;
    font-family: var(--primary-font);
}

/* Clean up CF7 default styling */
.simple-contact-form br {
    display: none !important;
}

.simple-contact-form p {
    margin: 0 !important;
    padding: 0 !important;
}

/* Force consistent styling */
.simple-contact-form * {
    box-sizing: border-box;
}

.simple-contact-form input,
.simple-contact-form textarea,
.simple-contact-form label,
.simple-contact-form span {
    direction: ltr;
    text-align: left;
    font-family: var(--primary-font);
}

/* Override any theme interference */
.simple-contact-form .wpcf7-form p {
    margin: 0 !important;
    padding: 0 !important;
}

.simple-contact-form .wpcf7-form-control-wrap {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}
