/* ══ Legal pages (offer, terms, privacy) + unified site footer ══ */
:root {
    --gold: #D4A54A;
    --deep: #080510;
    --violet: #1E1040;
    --orchid: #6B3FA0;
    --text-light: #E8E0D8;
    --text-muted: #988A78;
    --text-soft: #B8A898;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    background:var(--deep);
    color:var(--text-light);
    font-family:'Nunito Sans',sans-serif;
    font-size:15px;
    line-height:1.8;
    font-weight:300;
    min-height:100vh;
    display:flex;
    flex-direction:column;
}
.legal-wrap {
    max-width:700px;
    margin:0 auto;
    padding:2rem 1.5rem 3rem;
    flex:1;
}
.legal-wrap nav {
    margin-bottom:2rem;
}
.legal-wrap nav a {
    color:var(--gold);
    text-decoration:none;
    font-size:.85rem;
    letter-spacing:.05em;
}
.legal-wrap nav a:hover { text-decoration:underline; }
.legal-wrap h1 {
    font-family:'Cormorant Garamond',serif;
    font-size:1.8rem;
    color:var(--gold);
    margin-bottom:1rem;
    font-weight:500;
}
.legal-wrap h2 {
    font-family:'Cormorant Garamond',serif;
    font-size:1.2rem;
    color:var(--gold);
    margin:2rem 0 .8rem;
    font-weight:500;
}
.legal-wrap p {
    margin-bottom:1rem;
    color:var(--text-soft);
}
.legal-wrap .date {
    font-size:.8rem;
    color:var(--text-muted);
    margin-bottom:2rem;
}
.legal-wrap ul {
    margin:0 0 1rem 1.5rem;
    color:var(--text-soft);
}
.legal-wrap li {
    margin-bottom:.4rem;
}
.legal-wrap a {
    color:var(--gold);
    text-decoration:none;
    border-bottom:1px solid rgba(212,165,74,.25);
    transition:border-color .3s;
}
.legal-wrap a:hover {
    border-bottom-color:var(--gold);
}

/* ══ Unified site footer ══ */
.site-footer {
    text-align:center;
    padding:2.5rem 1.5rem 2rem;
    border-top:1px solid rgba(107,63,160,.12);
    position:relative;
    z-index:2;
}
.footer-inner {
    max-width:700px;
    margin:0 auto;
}
.footer-social {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1rem;
    margin-bottom:1.2rem;
}
.footer-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid rgba(107,63,160,.25);
    color:var(--text-muted);
    transition:all .3s;
    text-decoration:none !important;
}
.footer-icon:hover {
    border-color:rgba(212,165,74,.4);
    color:var(--gold);
    box-shadow:0 0 12px rgba(212,165,74,.15);
}
.footer-payments {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.8rem;
    margin-bottom:1.2rem;
}
.pay-icon {
    height:24px;
    width:auto;
    opacity:.5;
    transition:opacity .3s;
}
.pay-icon-text {
    height:18px;
    width:auto;
    opacity:.5;
    transition:opacity .3s;
}
.pay-icon:hover, .pay-icon-text:hover { opacity:.8; }
.footer-legal-links {
    margin-bottom:.8rem;
    font-size:.75rem;
    letter-spacing:.03em;
}
.footer-legal-links a {
    color:var(--text-muted);
    text-decoration:none;
    border-bottom:none !important;
    transition:color .3s;
}
.footer-legal-links a:hover { color:var(--gold); }
.footer-sep {
    margin:0 .5rem;
    color:rgba(152,138,120,.3);
}
.footer-copy {
    font-size:.68rem;
    color:var(--text-muted);
    letter-spacing:.1em;
    opacity:.5;
    margin-bottom:.3rem;
}
.footer-ip {
    font-size:.62rem;
    color:var(--text-muted);
    letter-spacing:.05em;
    opacity:.35;
}
.footer-ip a, .footer-ip span {
    color:inherit !important;
    text-decoration:none !important;
    pointer-events:none;
}

/* ══ Mobile ══ */
@media(max-width:600px){
    .legal-wrap { padding:1.5rem 1rem 2rem; }
    .legal-wrap h1 { font-size:1.5rem; }
    .legal-wrap h2 { font-size:1.1rem; }
    .footer-legal-links { font-size:.7rem; }
    .footer-legal-links a { display:inline-block; margin-bottom:.3rem; }
    .site-footer { padding:2rem 1rem 1.5rem; }
}
