/* =================================================== */
/* WEBFORM INTERNAL BRANDING (Master Block - Wide)     */
/* =================================================== */

/* 1. Form Container (The Frosted Cookie Card) */
.webform-submission-form {
    background-color: #ffffff !important;
    border: 3px solid #e0ddd5 !important;
    padding: 40px !important;
    border-radius: 35px !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.07) !important;
    margin: 40px auto !important;
    max-width: 1100px !important; 
}

/* 2a. Base Form Labels */
.webform-submission-form label, 
.webform-submission-form .form-item label,
.webform-submission-form .webform-element-title {
    font-family: 'Cabin', sans-serif !important;
    font-weight: 700 !important;
    color: #2F3F49 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.9rem !important;
    margin-bottom: 8px !important;
    display: inline-block !important;
}

/* 2b. Fieldset & Legend (Strips the box outline from checkbox groups) */
.webform-submission-form fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    min-width: 0 !important;
}

.webform-submission-form fieldset legend {
    font-family: 'Cabin', sans-serif !important;
    font-weight: 700 !important;
    color: #2F3F49 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.9rem !important;
    margin-bottom: 15px !important;
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
}

/* 3. Input Fields & Textareas */
.webform-submission-form input[type="text"],
.webform-submission-form input[type="email"],
.webform-submission-form input[type="tel"],
.webform-submission-form input[type="number"],
.webform-submission-form input[type="url"],
.webform-submission-form textarea,
.webform-submission-form select {
    border: 2px solid #e0ddd5 !important;
    border-radius: 12px !important;
    padding: 12px 16px !important;
    font-family: 'Cabin', sans-serif !important;
    color: #2F3F49 !important;
    background-color: #fbfbfa !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease !important;
}

.webform-submission-form input:focus,
.webform-submission-form textarea:focus,
.webform-submission-form select:focus {
    border-color: #c2705d !important;
    background-color: #ffffff !important;
    outline: none !important;
}

/* 4. Checkbox & Radio Layout & Pronounced Typography */
.webform-submission-form .js-form-type-checkbox,
.webform-submission-form .js-form-type-radio,
.webform-submission-form .form-type-checkbox,
.webform-submission-form .form-type-radio {
    display: flex !important;
    align-items: flex-start !important;
    margin-bottom: 16px !important; /* Slightly more breathing room */
}

.webform-submission-form input[type="checkbox"],
.webform-submission-form input[type="radio"] {
    flex-shrink: 0 !important;
    margin-top: 3px !important; /* Adjusted to align with the bolder text */
    margin-right: 12px !important;
}

.webform-submission-form .js-form-type-checkbox label,
.webform-submission-form .js-form-type-radio label,
.webform-submission-form label.option {
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 700 !important; /* Brought back the bold styling */
    color: #2F3F49 !important;
    line-height: 1.4 !important;
    font-size: 0.85rem !important; /* Slightly smaller than main labels so it nests well */
    margin-bottom: 0 !important;
    display: block !important;
}

/* 5. Progress Tracker Typography */
.webform-submission-form .webform-progress-tracker .progress-text,
.webform-submission-form .webform-progress-tracker .progress-title,
.webform-submission-form ul.webform-progress-tracker li .progress-title {
    font-size: 0.75rem !important; 
    line-height: 1.2 !important;
    padding-top: 8px !important;
    white-space: normal !important; 
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

/* 6. Button Layout Base & Flexbox Split */
.webform-submission-form .form-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important; 
    margin-top: 30px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    justify-content: flex-end !important;
}

/* 6a. Force "Save Draft" to the far left */
.webform-submission-form .form-actions input.webform-button--draft,
.webform-submission-form .form-actions button.webform-button--draft {
    margin-right: auto !important; 
    order: -1 !important; 
}

/* 6b. Keep Previous/Next ordered correctly on the right */
.webform-submission-form .form-actions input.webform-button--previous,
.webform-submission-form .form-actions button.webform-button--previous {
    order: 1 !important;
}

.webform-submission-form .form-actions input.webform-button--next,
.webform-submission-form .form-actions button.webform-button--next,
.webform-submission-form .form-actions input.webform-button--submit,
.webform-submission-form .form-actions button.webform-button--submit {
    order: 2 !important;
}

/* 6c. General Button Styling */
.webform-submission-form .form-actions input[type="submit"],
.webform-submission-form .form-actions button,
.webform-submission-form button.webform-button--submit {
    display: inline-block !important;
    font-family: 'Cabin', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-size: 13px !important; 
    padding: 12px 24px !important; 
    margin: 0 !important; 
    cursor: pointer !important;
    transition: all 0.3s ease-in-out !important;
    border-radius: 35px !important;
}

/* 6d. Primary Buttons (Next / Submit) */
.webform-submission-form .form-actions input.webform-button--next,
.webform-submission-form .form-actions button.webform-button--next,
.webform-submission-form .form-actions input.webform-button--submit,
.webform-submission-form .form-actions button.webform-button--submit {
    background-color: #c2705d !important;
    color: #ffffff !important;
    border: 3px solid #c2705d !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
}

.webform-submission-form .form-actions input.webform-button--next:hover,
.webform-submission-form .form-actions button.webform-button--next:hover,
.webform-submission-form .form-actions input.webform-button--submit:hover,
.webform-submission-form .form-actions button.webform-button--submit:hover {
    background-color: #2F3F49 !important;
    border-color: #2F3F49 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.2) !important;
}

/* 6e. Secondary Buttons (Draft / Previous Ghost Styles) */
.webform-submission-form .form-actions input.webform-button--draft,
.webform-submission-form .form-actions button.webform-button--draft,
.webform-submission-form .form-actions input.webform-button--previous,
.webform-submission-form .form-actions button.webform-button--previous {
    background-color: transparent !important;
    color: #c2705d !important;
    border: 3px solid #c2705d !important;
    box-shadow: none !important;
}

.webform-submission-form .form-actions input.webform-button--draft:hover,
.webform-submission-form .form-actions button.webform-button--draft:hover,
.webform-submission-form .form-actions input.webform-button--previous:hover,
.webform-submission-form .form-actions button.webform-button--previous:hover {
    background-color: #c2705d !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

/* 7. Help Text & Sub-descriptions */
.webform-submission-form .description,
.webform-submission-form .help-block {
    font-family: 'Cabin', sans-serif !important;
    font-size: 0.85rem !important;
    color: #6f8e9f !important; 
    margin-top: 6px !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
}