/* ==========================================================================
   BHACR Inquiry Form — Coastal Maine Warmth
   A polished, inviting form for vacation rental inquiries.
   Designed to feel like a friendly conversation, not a cold transaction.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&family=Source+Sans+3:wght@300;400;500;600;700&display=swap');

/* ==========================================================================
   Page-Level Container — Remove Divi Sidebar, Set Ambiance
   ========================================================================== */

.page-id-725 #main-content .container {
    max-width: 800px !important;
    margin: 0 auto;
}

/* Hide sidebar on inquiry form page */
.page-id-725 #sidebar,
.page-id-725 #main-sidebar,
.page-id-725 .et_right_sidebar #left-area {
    width: 100% !important;
    float: none !important;
}

.page-id-725 #sidebar {
    display: none !important;
}

/* Removed the layered radial gradients — the alpha-edge of one of the
   ellipses was rendering as a visible faint vertical line through the
   form area. Plain white background is cleaner. */
.page-id-725 #main-content {
    background: #ffffff;
    min-height: 100vh;
}

/* ==========================================================================
   Form Wrapper — The Canvas
   ========================================================================== */

.page-id-725 .gform_wrapper {
    font-family: 'Source Sans 3', 'Helvetica Neue', Arial, sans-serif !important;
    max-width: 720px;
    margin: 10px auto 50px !important;
    padding: 0 !important;
}

/* Intro text above the form */
.page-id-725 .entry-content > p,
.page-id-725 .et_pb_text_inner > p {
    font-family: 'Crimson Text', Georgia, serif !important;
    font-size: 15pt !important;
    line-height: 1.6 !important;
    color: #2c2c3a !important;
    text-align: center;
    max-width: 600px;
    margin: 0 auto 5px !important;
}

/* ==========================================================================
   Compact Field Spacing — reduce GF defaults
   ========================================================================== */

/* GF default gfield has 16px+ margin; tighten to 10px */
.page-id-725 .gform_wrapper .gfield {
    margin-bottom: 10px !important;
}

/* GF gform_fields list padding */
.page-id-725 .gform_wrapper .gform_fields {
    row-gap: 10px !important;
}

/* GF body padding */
.page-id-725 .gform_wrapper .gform_body {
    padding: 0 !important;
}

/* ==========================================================================
   Section Headers — Conversational Step Labels
   ========================================================================== */

.page-id-725 .gform_wrapper .gsection {
    margin-top: 22px !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
    border: none !important;
}

.page-id-725 .gform_wrapper .gsection:first-of-type {
    margin-top: 10px !important;
}

.page-id-725 .gform_wrapper .gsection .gsection_title {
    font-family: 'Crimson Text', Georgia, serif !important;
    font-size: 19pt !important;
    font-weight: 600 !important;
    color: #1a0066 !important;
    letter-spacing: -0.01em;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 4px !important;
    position: relative;
    padding-left: 0 !important;
}

/* Decorative underline accent */
.page-id-725 .gform_wrapper .gsection .gsection_title::after {
    content: '';
    display: block;
    width: 50px;
    height: 3px;
    background: linear-gradient(90deg, #3300CC, #99FFFF);
    margin-top: 8px;
    border-radius: 2px;
}

/* Section description text */
.page-id-725 .gform_wrapper .gsection .gsection_description {
    font-family: 'Source Sans 3', Arial, sans-serif !important;
    font-size: 10.5pt !important;
    color: #6b6b7b !important;
    margin-top: 6px;
}

/* Create Account section — special styling */
.page-id-725 .gform_wrapper .gfield_html_formatted + .gsection .gsection_title,
.page-id-725 #field_1_500 .gsection_title {
    font-size: 15pt !important;
}

/* ==========================================================================
   Field Labels — Clear, Confident
   ========================================================================== */

.page-id-725 .gform_wrapper .gfield_label,
.page-id-725 .gform_wrapper .gform-field-label {
    font-family: 'Source Sans 3', Arial, sans-serif !important;
    font-size: 10.5pt !important;
    font-weight: 600 !important;
    color: #2c2c3a !important;
    letter-spacing: 0.02em;
    margin-bottom: 6px !important;
}

/* Required asterisk */
.page-id-725 .gform_wrapper .gfield_required {
    color: #c44569 !important;
}

/* Field descriptions */
.page-id-725 .gform_wrapper .gfield_description,
.page-id-725 .gform_wrapper .instruction {
    font-family: 'Source Sans 3', Arial, sans-serif !important;
    font-size: 9.5pt !important;
    color: #8a8a9a !important;
    font-style: normal !important;
    margin-top: 4px;
}

/* ==========================================================================
   Form Inputs — Refined & Warm
   ========================================================================== */

.page-id-725 .gform_wrapper input[type="text"],
.page-id-725 .gform_wrapper input[type="email"],
.page-id-725 .gform_wrapper input[type="tel"],
.page-id-725 .gform_wrapper input[type="number"],
.page-id-725 .gform_wrapper input[type="password"],
.page-id-725 .gform_wrapper select,
.page-id-725 .gform_wrapper textarea {
    font-family: 'Source Sans 3', Arial, sans-serif !important;
    font-size: 11pt !important;
    border: 1.5px solid #d0cec8 !important;
    border-radius: 6px !important;
    padding: 11px 14px !important;
    background: #ffffff !important;
    color: #2c2c3a !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease !important;
    -webkit-appearance: none;
}

.page-id-725 .gform_wrapper input:focus,
.page-id-725 .gform_wrapper select:focus,
.page-id-725 .gform_wrapper textarea:focus {
    border-color: #3300CC !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(51, 0, 204, 0.08) !important;
    background: #fefeff !important;
}

.page-id-725 .gform_wrapper input::placeholder,
.page-id-725 .gform_wrapper textarea::placeholder {
    color: #b0b0b8 !important;
    font-weight: 300;
}

.page-id-725 .gform_wrapper textarea {
    min-height: 120px;
    resize: vertical;
    line-height: 1.6 !important;
}

/* Select dropdown custom arrow */
.page-id-725 .gform_wrapper select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b6b7b' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 36px !important;
}

/* Give the cottage select field extra top margin so label isn't clipped */
#field_1_11 {
    margin-top: 6px !important;
    overflow: visible !important;
}

#field_1_11 .gfield_label {
    margin-bottom: 8px !important;
}

/* Fix chosen widget — GF chosen hardcodes height:25px which clips text, and
   the selected value can appear blank due to missing color. Apply globally to
   all chosen selects on the inquiry page. (#122, #123) */
.page-id-725 .chosen-container-single .chosen-single {
    height: auto !important;
    line-height: 1.4 !important;
    padding: 10px 32px 10px 12px !important;
    font-family: 'Source Sans 3', Arial, sans-serif !important;
    font-size: 11pt !important;
    border: 1.5px solid #d0cec8 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #2c2c3a !important;
    box-shadow: none !important;
}

/* Ensure selected text inside chosen is always visible */
.page-id-725 .chosen-container-single .chosen-single span {
    color: #2c2c3a !important;
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Placeholder / no-selection text */
.page-id-725 .chosen-container-single .chosen-default span {
    color: #b0b0b8 !important;
}

.page-id-725 .chosen-container-single .chosen-single div {
    top: 50% !important;
    transform: translateY(-50%) !important;
    height: 20px !important;
}

/* #170 — make sure the chosen dropdown isn't clipped by any parent
   overflow. GF's wrapper and Divi's section can each set overflow:hidden
   which truncates the dropdown list to the input row. Force visible up
   the chain on the inquiry page. */
.page-id-725 .gform_wrapper,
.page-id-725 .gform_wrapper *,
.page-id-725 .gform_fields,
.page-id-725 .gfield,
.page-id-725 .ginput_container_select,
.page-id-725 .bhacr-inquiry-entry,
.page-id-725 .bhacr-inquiry-cottages {
    overflow: visible !important;
}
.page-id-725 .chosen-container .chosen-drop {
    z-index: 9999 !important;
}

/* #170 — plain Gravity Forms <select> (e.g. "How did you hear about us?")
   selected option text was rendering invisible in some browsers. Force
   sensible color, background, and minimum sizing on every non-chosen
   select on the inquiry page. */
.page-id-725 .gform_wrapper select:not(.chosen-search input) {
    color: #2c2c3a !important;
    background-color: #ffffff !important;
    font-family: 'Source Sans 3', Arial, sans-serif !important;
    font-size: 11pt !important;
    border: 1.5px solid #d0cec8 !important;
    border-radius: 6px !important;
    padding: 10px 32px 10px 12px !important;
    height: auto !important;
    min-height: 44px !important;
    line-height: 1.4 !important;
    width: 100% !important;
    appearance: auto;
}
.page-id-725 .gform_wrapper select option {
    color: #2c2c3a !important;
    background-color: #ffffff !important;
}

/* Radio buttons */
.page-id-725 .gform_wrapper .gfield_radio .gchoice {
    padding: 6px 0;
}

.page-id-725 .gform_wrapper .gfield_radio input[type="radio"] {
    accent-color: #3300CC;
    width: 18px;
    height: 18px;
    margin-right: 8px;
}

.page-id-725 .gform_wrapper .gfield_radio label {
    font-family: 'Source Sans 3', Arial, sans-serif !important;
    font-size: 10.5pt !important;
    color: #2c2c3a;
    cursor: pointer;
}

/* Checkboxes */
.page-id-725 .gform_wrapper .gfield_checkbox input[type="checkbox"] {
    accent-color: #3300CC;
    width: 18px;
    height: 18px;
}

.page-id-725 .gform_wrapper .gfield_checkbox label {
    font-family: 'Source Sans 3', Arial, sans-serif !important;
    font-size: 10.5pt !important;
    color: #2c2c3a;
}

/* ==========================================================================
   Submit Button — Confident CTA
   ========================================================================== */

.page-id-725 .gform_wrapper input[type="submit"],
.page-id-725 .gform_wrapper .gform_button {
    font-family: 'Source Sans 3', Arial, sans-serif !important;
    font-size: 13pt !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em;
    background: linear-gradient(135deg, #3300CC 0%, #1a0066 100%) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 48px !important;
    border-radius: 8px !important;
    cursor: pointer;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(51, 0, 204, 0.25) !important;
    display: block;
    width: 100%;
    margin-top: 6px !important;
}

.page-id-725 .gform_wrapper input[type="submit"]:hover,
.page-id-725 .gform_wrapper .gform_button:hover {
    background: linear-gradient(135deg, #2200aa 0%, #0f0044 100%) !important;
    box-shadow: 0 6px 20px rgba(51, 0, 204, 0.35) !important;
    transform: translateY(-1px);
}

.page-id-725 .gform_wrapper input[type="submit"]:active,
.page-id-725 .gform_wrapper .gform_button:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(51, 0, 204, 0.2) !important;
}

/* ==========================================================================
   Multi-Cottage Entry Cards
   ========================================================================== */

#bhacr-available-weeks.bhacr-multi-cottage {
    max-height: none;
    overflow: visible;
    border: none;
    border-radius: 0;
    padding: 0;
    background: transparent;
}

/* Entry card */
.bhacr-entry {
    border: 1.5px solid #d0cec8;
    border-radius: 10px;
    margin-bottom: 14px;
    background: #ffffff;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
    overflow: hidden;
}

.bhacr-entry:hover {
    box-shadow: 0 3px 12px rgba(51, 0, 204, 0.08);
    border-color: #b8b6b0;
}

/* Entry header */
.bhacr-entry-header {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    background: linear-gradient(135deg, #f8f7f5 0%, #f2f0ec 100%);
    border-bottom: 1px solid #e8e6e0;
    gap: 10px;
}

.bhacr-drag-handle {
    cursor: grab;
    font-size: 15px;
    color: #b0aead;
    user-select: none;
    line-height: 1;
    transition: color 0.2s;
}

.bhacr-drag-handle:hover {
    color: #3300CC;
}

.bhacr-drag-handle:active {
    cursor: grabbing;
}

.bhacr-entry-label {
    font-family: 'Crimson Text', Georgia, serif;
    font-size: 12pt;
    font-weight: 600;
    color: #1a0066;
    flex: 1;
}

/* Entry action buttons */
.bhacr-entry-actions {
    display: flex;
    gap: 5px;
}

.bhacr-entry-actions button {
    background: #ffffff;
    border: 1px solid #d0cec8;
    border-radius: 5px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    font-size: 14px;
    color: #8a8a9a;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: all 0.2s ease;
}

.bhacr-entry-actions button:hover {
    background: #f0f0f5;
    color: #3300CC;
    border-color: #3300CC;
}

.bhacr-remove-entry:hover {
    background: #fef0f0 !important;
    border-color: #e04040 !important;
    color: #e04040 !important;
}

/* Entry body */
.bhacr-entry-body {
    padding: 16px;
}

/* Per-entry cottage select */
.bhacr-cottage-select {
    width: 100%;
    font-family: 'Source Sans 3', Arial, sans-serif !important;
    font-size: 11pt !important;
    border: 1.5px solid #d0cec8 !important;
    border-radius: 6px !important;
    padding: 11px 14px !important;
    margin-bottom: 12px;
    background: #fff;
    line-height: 1.4 !important;
    min-height: 44px;
    color: #2c2c3a !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.bhacr-cottage-select:focus {
    border-color: #3300CC !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(51, 0, 204, 0.08) !important;
}

.bhacr-cottage-select option:disabled {
    color: #b0b0b8;
}

/* ==========================================================================
   Week Checkboxes — Clear, Scannable
   ========================================================================== */

.bhacr-entry-weeks {
    /* Grow to fit all weeks. The previous 320px inner-scroll was spilling the
       week list out over the rest of the form on cottages with many weeks
       (overflow/overlap, GitHub #301). */
    max-height: none;
    overflow: visible;
}

.bhacr-entry-weeks::-webkit-scrollbar {
    width: 6px;
}

.bhacr-entry-weeks::-webkit-scrollbar-track {
    background: transparent;
}

.bhacr-entry-weeks::-webkit-scrollbar-thumb {
    background: #d0cec8;
    border-radius: 3px;
}

.bhacr-weeks-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3px;
}

/* Week item wrapper */
.bhacr-week-item {
    display: flex;
    align-items: center;
    border-radius: 6px;
    transition: background-color 0.2s ease;
}

.bhacr-week-item:hover {
    background: #f5f8fc;
}

.bhacr-week-item.bhacr-week-selected {
    background: linear-gradient(135deg, #f0edff 0%, #ece8ff 100%);
    border-left: 3px solid #3300CC;
}

.bhacr-week-item.bhacr-week-selected:hover {
    background: linear-gradient(135deg, #e8e3ff 0%, #e0dbff 100%);
}

/* Week option label */
.bhacr-week-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    cursor: pointer;
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 10.5pt;
    flex: 1;
    min-width: 0;
    color: #2c2c3a;
}

.bhacr-week-date {
    font-weight: 500;
}

.bhacr-week-price {
    color: #6b6b7b;
    font-size: 9.5pt;
    white-space: nowrap;
    font-weight: 400;
}

.bhacr-week-option input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #3300CC;
    flex-shrink: 0;
    border-radius: 3px;
}

/* Week rank badge */
.bhacr-week-rank {
    display: none;
    background: linear-gradient(135deg, #3300CC, #1a0066);
    color: #fff;
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 8pt;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 10px;
    white-space: nowrap;
    min-width: 24px;
    text-align: center;
    flex-shrink: 0;
    letter-spacing: 0.02em;
}

.bhacr-week-selected .bhacr-week-rank {
    display: inline-block;
}

/* Week rank reorder arrows */
.bhacr-week-arrows {
    display: none;
    flex-direction: column;
    gap: 2px;
    padding: 2px 8px 2px 2px;
    flex-shrink: 0;
}

.bhacr-week-arrows.bhacr-arrows-visible {
    display: flex;
}

.bhacr-week-rank-up,
.bhacr-week-rank-down {
    background: #ffffff;
    border: 1px solid #d0cec8;
    border-radius: 4px;
    width: 22px;
    height: 16px;
    cursor: pointer;
    font-size: 8px;
    color: #8a8a9a;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    transition: all 0.2s ease;
}

.bhacr-week-rank-up:hover,
.bhacr-week-rank-down:hover {
    background: #f0edff;
    color: #3300CC;
    border-color: #3300CC;
}

.bhacr-week-rank-up:disabled,
.bhacr-week-rank-down:disabled {
    opacity: 0.25;
    cursor: default;
    background: none;
}

.bhacr-weeks-placeholder,
.bhacr-no-weeks {
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 10.5pt;
    color: #8a8a9a;
    font-style: italic;
    padding: 14px 12px;
    text-align: center;
}

.bhacr-no-weeks {
    color: #c44569;
    font-style: normal;
    background: #fef5f7;
    border-radius: 6px;
    border: 1px solid #f0d0d8;
    margin-bottom: 4px;
}

.bhacr-no-weeks a {
    color: #3300CC !important;
    font-weight: 600;
}

/* Find-similar option — always shown below weeks or no-weeks message */
.bhacr-find-similar {
    background: #fdf5ff;
    border: 1px solid #e0c8f0;
    border-radius: 6px;
    padding: 12px 14px;
    margin-top: 8px;
}

.bhacr-find-similar-label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 10.5pt;
    font-weight: 600;
    color: #1a0066;
}

.bhacr-find-similar-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #3300CC;
    flex-shrink: 0;
}

.bhacr-find-similar-detail {
    margin-top: 10px;
    padding-left: 28px;
}

.bhacr-preferred-dates {
    width: 100%;
    font-family: 'Source Sans 3', Arial, sans-serif !important;
    font-size: 10.5pt !important;
    border: 1.5px solid #c8b8e8 !important;
    border-radius: 6px !important;
    padding: 9px 12px !important;
    background: #ffffff !important;
    color: #2c2c3a !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
    box-sizing: border-box;
}

.bhacr-preferred-dates:focus {
    border-color: #3300CC !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(51, 0, 204, 0.08) !important;
}

.bhacr-preferred-dates::placeholder {
    color: #b0a8c8 !important;
}

.bhacr-weeks-instruction {
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 10pt;
    font-weight: 600;
    margin-bottom: 10px;
    color: #6b6b7b;
    padding-left: 2px;
}

/* ==========================================================================
   Add Cottage Link
   ========================================================================== */

.bhacr-add-cottage-link {
    display: inline-flex;
    align-items: center;
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 10.5pt;
    font-weight: 600;
    color: #3300CC;
    text-decoration: none;
    padding: 10px 0;
    cursor: pointer;
    transition: color 0.2s ease;
    gap: 4px;
}

.bhacr-add-cottage-link:hover {
    color: #1a0066;
    text-decoration: none;
}

/* ==========================================================================
   Single Entry State
   ========================================================================== */

.bhacr-single-entry .bhacr-drag-handle,
.bhacr-single-entry .bhacr-entry-actions {
    display: none;
}

/* ==========================================================================
   Drag and Drop States
   ========================================================================== */

.bhacr-entry.bhacr-dragging {
    opacity: 0.35;
}

.bhacr-entry.bhacr-drag-over {
    border: 2px dashed #3300CC;
    background: #faf8ff;
}

/* ==========================================================================
   Create Account Section — Subtle Callout
   ========================================================================== */

.page-id-725 #field_1_500 {
    background: linear-gradient(135deg, #f8f7ff 0%, #f0edff 100%);
    border: 1.5px solid #d8d4f0;
    border-radius: 10px;
    padding: 16px 20px 4px !important;
    margin-top: 30px !important;
}

.page-id-725 #field_1_500 .gsection_title::after {
    background: linear-gradient(90deg, #3300CC, #99FFFF);
}

.page-id-725 #field_1_500 .gsection_description {
    color: #6b6b9a !important;
}

/* Checkbox styling for "Create Account" */
.page-id-725 #field_1_15 {
    padding: 0 20px !important;
}

.page-id-725 #field_1_16,
.page-id-725 #field_1_17 {
    padding: 0 20px !important;
}

/* ==========================================================================
   Confirmation Message
   ========================================================================== */

.gform_confirmation_message {
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 11pt;
    line-height: 1.7;
    background: linear-gradient(135deg, #f0fff8 0%, #e8faf0 100%);
    border: 1.5px solid #a8e0c0;
    border-radius: 10px;
    padding: 30px;
    text-align: center;
}

.gform_confirmation_message h2 {
    font-family: 'Crimson Text', Georgia, serif;
    color: #1a0066;
    font-size: 18pt;
}

.gform_confirmation_message a {
    color: #3300CC !important;
    font-weight: 600;
}

/* ==========================================================================
   Available Weeks Table (on single cottage pages — not inquiry form)
   ========================================================================== */

.bhacr-available-weeks-section {
    margin: 20px 0;
    padding: 20px;
    background: #f8f9fa;
    border: 2px solid var(--bhacr-cyan);
    border-radius: 6px;
}

table.bhacr-available-weeks-table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 10pt;
    line-height: 1.4;
}

.bhacr-available-weeks-table thead th {
    background: var(--bhacr-purple);
    color: #fff;
    font-weight: 600;
    font-size: 10pt;
    padding: 8px 10px;
    text-align: left;
}

.bhacr-available-weeks-table thead th:last-child {
    text-align: right;
}

.bhacr-available-weeks-table tbody td {
    padding: 8px 10px;
    border-bottom: 1px solid #ddd;
}

.bhacr-available-weeks-table tbody tr:hover {
    background: #eef6ff;
}

.bhacr-available-weeks-table tbody tr:last-child td {
    border-bottom: none;
}

.bhacr-available-weeks-cta {
    text-align: center;
    margin-top: 15px;
}

.bhacr-no-weeks-cottage {
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 10pt;
    color: #666;
    font-style: italic;
    text-align: center;
    padding: 15px 10px;
}

.bhacr-no-weeks-cottage a {
    color: var(--bhacr-purple) !important;
    font-weight: 600;
}

/* ==========================================================================
   Validation Errors — Gentle
   ========================================================================== */

.page-id-725 .gform_wrapper .gfield_error input,
.page-id-725 .gform_wrapper .gfield_error select,
.page-id-725 .gform_wrapper .gfield_error textarea {
    border-color: #e04040 !important;
    background: #fef8f8 !important;
}

.page-id-725 .gform_wrapper .validation_message {
    font-family: 'Source Sans 3', Arial, sans-serif !important;
    font-size: 9.5pt !important;
    color: #c44569 !important;
    font-weight: 500;
    margin-top: 4px;
}

.page-id-725 .gform_wrapper .gform_validation_errors {
    border-color: #e04040 !important;
    border-radius: 8px !important;
    background: #fef5f5 !important;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 768px) {
    .page-id-725 .gform_wrapper {
        padding: 0 10px !important;
    }

    .page-id-725 .gform_wrapper .gsection .gsection_title {
        font-size: 16pt !important;
    }

    .bhacr-weeks-list {
        grid-template-columns: 1fr;
    }

    .bhacr-drag-handle {
        display: none;
    }

    .bhacr-entry-body {
        padding: 12px;
    }

    .bhacr-cottage-select {
        font-size: 10.5pt !important;
    }

    .bhacr-week-arrows {
        padding-right: 4px;
    }

    .bhacr-entry-header {
        padding: 8px 12px;
    }

    .page-id-725 .gform_wrapper input[type="submit"],
    .page-id-725 .gform_wrapper .gform_button {
        font-size: 12pt !important;
        padding: 12px 30px !important;
    }
}

@media (max-width: 480px) {
    .page-id-725 .entry-content > p,
    .page-id-725 .et_pb_text_inner > p {
        font-size: 13pt !important;
    }

    .bhacr-week-option {
        font-size: 10pt;
        padding: 6px 8px;
    }

    .bhacr-week-price {
        font-size: 9pt;
    }
}
