/* =====================================================================
   Override layer for Golden Retriever Den - Contract Flow
   Wider container, mobile button fixes, full-width form, brief cards on /contract/
   ===================================================================== */

/* The 4-step form: WIDE, but keeps its own distinct lighter background */
.grd-cf {
    max-width: 100% !important;
    width: 100% !important;
    padding: 48px 6% !important;
    background: #FFFCF6 !important;
    border: 1px solid rgba(58, 42, 26, 0.08) !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 14px rgba(58, 42, 26, 0.04) !important;
}
@media (max-width: 900px) {
    .grd-cf { padding: 36px 5% !important; }
}
@media (max-width: 600px) {
    /* Escape MOST of the XStore .content.col-md-12 padding (15px) so form sits ~8px from screen edge — wide but not flush, keeps its own lighter cream background distinct from page */
    .grd-cf {
        margin-left: -7px !important;
        margin-right: -7px !important;
        width: calc(100% + 14px) !important;
        max-width: calc(100% + 14px) !important;
        padding: 28px 14px 32px !important;
        /* Kill the dark left/right vertical lines on mobile (keep top/bottom for slight demarcation) */
        border-left: 0 !important;
        border-right: 0 !important;
        border-radius: 0 !important;
    }
    /* ROOT CAUSE: the cream-tile fieldset has a 1px border on all four sides (base CSS) which creates the visible left+right vertical lines on mobile that mirror the form's vertical edges.
       Fix: keep top + bottom border (preserves demarcation), strip left + right + radius on mobile only. */
    .grd-cf__radioset {
        box-sizing: border-box !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-radius: 0 !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    body { overflow-x: hidden; }
}
.grd-cf__stage { margin-bottom: 40px !important; }

/* MOBILE button fix: stack the Continue + Back, full-width, no overlap */
@media (max-width: 600px) {
    .grd-cf__actions {
        flex-direction: column-reverse !important;
        align-items: stretch !important;
        gap: 10px !important;
    }
    .grd-cf__actions--end { flex-direction: column !important; }
    .grd-cf__actions .grd-cf__btn {
        width: 100% !important;
        text-align: center !important;
        padding: 16px 20px !important;
    }
    .grd-cf__btn { font-size: 12px !important; }
}

/* Puppy card image: render crisp on retina, no jagged edges */
.grd-cf__puppy-img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    -ms-interpolation-mode: bicubic;
}
@supports (image-rendering: high-quality) {
    .grd-cf__puppy-img { image-rendering: high-quality; }
}

/* MOBILE ONLY: iOS Safari/Android Chrome add inset vertical borders to text inputs by default even when CSS says 'border: none'. The base cream-tile design stays intact; we just kill the native browser-added borders here. */
@media (max-width: 600px) {
    .grd-cf__field input[type="text"],
    .grd-cf__field input[type="email"],
    .grd-cf__field input[type="tel"] {
        -webkit-appearance: none !important;
        appearance: none !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-top: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        outline: 0 !important;
    }
}

/* Conditional airport field appears below the delivery options */
.grd-cf__field--conditional[hidden] { display: none !important; }
.grd-cf__field--conditional { margin-top: 6px; }



/* Purchase type radioset on Step 3: stand out as the first decision */
.grd-cf__purchase-type {
    margin: 0 0 22px;
    background: var(--grd-offwhite, #FFFCF6) !important;
    border: 1px solid var(--grd-caramel, #B47B4B) !important;
}
.grd-cf__purchase-type legend {
    color: var(--grd-caramel, #B47B4B);
    font-weight: 700;
    letter-spacing: 2.4px !important;
    font-size: 11px !important;
}
.grd-cf__purchase-type label {
    padding: 10px 0 !important;
}

/* Consent checkbox: visible on mobile, tap-target large enough */
.grd-cf__consent {
    font-size: 15px !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 18px 16px !important;
    background: var(--grd-cream, #F8F2E7) !important;
    border: 1px solid var(--grd-hair-soft, rgba(58,42,26,.12)) !important;
    border-radius: 4px !important;
    margin-bottom: 24px !important;
    line-height: 1.5 !important;
}
.grd-cf__consent input[type="checkbox"] {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    flex: 0 0 26px !important;
    margin: 0 !important;
    transform: scale(1.25);
    transform-origin: center center;
    accent-color: var(--grd-caramel, #B47B4B) !important;
    cursor: pointer !important;
    -webkit-appearance: checkbox !important;
    appearance: checkbox !important;
}
@media (max-width: 600px) {
    .grd-cf__consent {
        font-size: 15px !important;
        gap: 18px !important;
        padding: 18px 16px !important;
    }
    .grd-cf__consent input[type="checkbox"] {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
        flex: 0 0 32px !important;
        transform: scale(1.5);
        transform-origin: center center;
    }
}

/* Contract review on Step 4: open inline (no inner scroll), the WHOLE page scrolls */
.grd-cf__contract,
article.grd-cf__contract,
#grd-cf-contract {
    max-height: none !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
    overflow-y: visible !important;
    overflow-x: visible !important;
    padding: 40px 48px !important;
}
@media (max-width: 600px) {
    .grd-cf__contract,
    article.grd-cf__contract,
    #grd-cf-contract {
        padding: 26px 20px !important;
        max-height: none !important;
        overflow: visible !important;
    }
}
.grd-cf__contract h2,
.grd-cf__contract h3 {
    text-transform: none !important;
    letter-spacing: normal !important;
}
.grd-cf__contract ol,
.grd-cf__contract ul {
    margin: 8px 0 14px 0;
    padding-left: 24px;
}
.grd-cf__contract li {
    margin: 0 0 10px;
    line-height: 1.65;
    color: var(--grd-body, #5A4634);
}
.grd-cf__contract li strong { color: var(--grd-espresso, #3B2A1A); }
.grd-cf__contract .grd-cf__contract-art {
    padding: 14px 0 18px;
    border-bottom: 1px solid var(--grd-hair-soft, rgba(58,42,26,.10));
}
.grd-cf__contract .grd-cf__contract-art:last-child { border-bottom: 0; }
.grd-cf__contract .grd-cf__contract-num {
    font-family: 'Cormorant Garamond', serif !important;
    font-style: italic;
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--grd-caramel, #B47B4B) !important;
    font-weight: 600;
    margin: 0 0 6px !important;
}
.grd-cf__contract .grd-cf__contract-art h3 {
    font-size: 22px !important;
    margin: 0 0 12px !important;
    border: 0 !important;
    padding: 0 !important;
}

/* ============================================================
   BRIEF overview cards on /contract/ landing page
   ============================================================ */
.grd-contract-brief {
    max-width: 1140px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 22px;
}
.grd-contract-brief__card {
    background: var(--grd-offwhite, #FFFCF6);
    border: 1px solid var(--grd-hair-soft, rgba(58,42,26,.12));
    border-top: 3px solid var(--grd-caramel, #B47B4B);
    padding: 28px 30px;
    border-radius: 2px;
    box-shadow: 0 1px 0 rgba(58,42,26,.04);
}
.grd-contract-brief__num {
    font-family: 'Cormorant Garamond', serif !important;
    font-style: italic;
    font-size: 14px;
    letter-spacing: 3.2px;
    text-transform: uppercase;
    color: var(--grd-caramel, #B47B4B) !important;
    font-weight: 600;
    margin: 0 0 6px !important;
}
.grd-contract-brief__card h3 {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 24px;
    font-weight: 600;
    color: var(--grd-espresso, #3B2A1A) !important;
    margin: 0 0 12px !important;
    line-height: 1.2;
    text-transform: none !important;
    letter-spacing: normal !important;
    border: 0 !important;
    padding: 0 !important;
}
.grd-contract-brief__card p {
    font-family: 'Inter', sans-serif !important;
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--grd-body, #5A4634);
    margin: 0;
}
