

/* =====================================================================
   FORMAL CONTRACT DOCUMENT STYLING
   Applied to .grd-contract-doc on the /contract/ page
   Goal: feel like a real legal document, not prose
   ===================================================================== */

.grd-contract-doc {
    max-width: 820px;
    margin: 0 auto;
    background: var(--grd-offwhite, #FFFCF6);
    border: 1px solid var(--grd-hair-soft, rgba(58,42,26,.12));
    box-shadow: 0 1px 0 rgba(58,42,26,.05), 0 28px 60px rgba(58,42,26,.07);
    padding: 72px 80px 64px;
    position: relative;
}
@media (max-width: 760px) {
    .grd-contract-doc { padding: 44px 26px 40px; }
}
.grd-contract-doc::before,
.grd-contract-doc::after {
    content: '';
    position: absolute;
    left: 24px;
    right: 24px;
    height: 1px;
    background: var(--grd-caramel, #B47B4B);
    opacity: .25;
}
.grd-contract-doc::before { top: 12px; }
.grd-contract-doc::after  { bottom: 12px; }

.grd-contract-doc__head {
    text-align: center;
    padding-bottom: 32px;
    margin-bottom: 40px;
    border-bottom: 2px solid var(--grd-caramel, #B47B4B);
    position: relative;
}
.grd-contract-doc__seal {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px;
    letter-spacing: 3.8px;
    text-transform: uppercase;
    color: var(--grd-caramel, #B47B4B);
    font-weight: 700;
    margin: 0 0 14px;
}
.grd-contract-doc__title {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 42px;
    font-weight: 600;
    color: var(--grd-espresso, #3B2A1A) !important;
    line-height: 1.1;
    margin: 0 0 12px;
}
.grd-contract-doc__title span {
    display: block;
    font-style: italic;
    font-size: 28px;
    color: var(--grd-caramel, #B47B4B);
    font-weight: 500;
    margin-top: 4px;
}
.grd-contract-doc__sub {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px;
    letter-spacing: 2.2px;
    text-transform: uppercase;
    color: var(--grd-body, #5A4634);
    margin: 0;
    font-weight: 500;
}
@media (max-width: 760px) {
    .grd-contract-doc__title { font-size: 30px; }
    .grd-contract-doc__title span { font-size: 22px; }
}

.grd-contract-doc__article {
    padding: 24px 0 28px;
    border-bottom: 1px solid var(--grd-hair-soft, rgba(58,42,26,.10));
    position: relative;
}
.grd-contract-doc__article:last-of-type { border-bottom: 0; padding-bottom: 12px; }
.grd-contract-doc__article p {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px;
    line-height: 1.7;
    color: var(--grd-body, #5A4634);
    margin: 0 0 14px;
}
.grd-contract-doc__article p:last-child { margin-bottom: 0; }
.grd-contract-doc__article strong { color: var(--grd-espresso, #3B2A1A); }

.grd-contract-doc__num {
    font-family: 'Cormorant Garamond', serif !important;
    font-style: italic;
    font-size: 13px;
    letter-spacing: 3.2px;
    text-transform: uppercase;
    color: var(--grd-caramel, #B47B4B) !important;
    font-weight: 600;
    margin: 0 0 6px !important;
}
.grd-contract-doc__h {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 24px;
    font-weight: 600;
    color: var(--grd-espresso, #3B2A1A) !important;
    line-height: 1.2;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
}

.grd-contract-doc__list {
    margin: 8px 0 16px 0;
    padding-left: 26px;
    list-style: none;
    counter-reset: doc-list;
}
.grd-contract-doc__list li {
    position: relative;
    counter-increment: doc-list;
    margin: 0 0 14px;
    padding-left: 14px;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px;
    line-height: 1.65;
    color: var(--grd-body, #5A4634);
}
.grd-contract-doc__list li::before {
    content: counter(doc-list, decimal) '.';
    position: absolute;
    left: -22px;
    top: 0;
    font-family: 'Cormorant Garamond', serif !important;
    color: var(--grd-caramel, #B47B4B);
    font-weight: 600;
    font-size: 16px;
}
.grd-contract-doc__list li strong { color: var(--grd-espresso, #3B2A1A); }

.grd-contract-doc__foot {
    margin-top: 40px;
    padding-top: 28px;
    border-top: 2px solid var(--grd-caramel, #B47B4B);
    text-align: center;
}
.grd-contract-doc__endmark {
    font-family: 'Cormorant Garamond', serif !important;
    font-style: italic;
    font-size: 13px;
    letter-spacing: 3.2px;
    text-transform: uppercase;
    color: var(--grd-caramel, #B47B4B) !important;
    font-weight: 600;
    margin: 0 0 12px !important;
}
.grd-contract-doc__foot p:last-child {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px;
    color: var(--grd-body, #5A4634);
    margin: 0;
}

/* The contract-doc styles override Elementor/XStore defaults intentionally so the doc reads as its own visual unit, not generic prose */
.grd-contract-doc h2.grd-contract-doc__title,
.grd-contract-doc h3.grd-contract-doc__h {
    text-transform: none !important;
    letter-spacing: normal !important;
}
