/* AccountHab - public site footer + legal/policy/contact pages.
   Everything is scoped under .site-footer or .legal-* so nothing here can
   touch existing pages. Reuses buyer.css's design tokens (with fallbacks)
   instead of defining a second palette. Breakpoints follow buyer.css's own
   convention (900px tablet, 600px mobile). */

/* ---------- Site footer (compact) ---------- */
/* Soft light-blue band with two very faint wave accents (SVG file in
   public/images/footer - the site CSP only allows img-src 'self', so no data: URIs), clearly separated from the page (#EEF4FF) by
   a top border and a slightly deeper tone. Content sits in a centred container
   that lines up with the shared .container (max 1250px incl. 20px side
   padding). Brand colours come from buyer.css tokens (with fallbacks). The
   quick-link icons are CSS-only (::before) so the nav links stay plain
   <a href>Label</a> anchors. */
.site-footer{--sf-bg:#eaf2fe;--sf-border:#cfdcf1;--sf-text:#1f2a44;--sf-muted:#51607a;--sf-link:var(--blue-900,#092e6b);--sf-accent:var(--blue-700,#1769e0);--sf-chip:#dce8fb;
  background:url("../images/footer/wave.svg") bottom/100% 100% no-repeat,linear-gradient(180deg,#f2f7ff,var(--sf-bg));border-top:1px solid var(--sf-border);margin-top:16px;padding:28px 20px 0;color:var(--sf-text);font-size:14.5px;line-height:1.45}
/* The shared .container reserves 88px at its bottom for the Live Chat button
   (buyer.css). When a footer follows it, the footer carries that clearance
   instead so there is no double gap. */
.container:has(+ .site-footer){padding-bottom:12px}
.site-footer-inner{max-width:1210px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,5fr) minmax(0,7fr);gap:24px 0;align-items:stretch}
.site-footer-brand{padding-right:48px}
.site-footer-logo{display:inline-block;margin:0 0 6px}
.site-footer-logo img{height:40px;width:auto;max-width:100%;display:block;object-fit:contain}
.site-footer-tagline{margin:0 0 12px;font-size:14px;color:var(--sf-muted)}
.site-footer-contact{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.site-footer-contact a{display:inline-flex;align-items:center;gap:12px;padding:2px 0;color:var(--sf-accent);font-weight:700;font-size:15px;overflow-wrap:anywhere}
.site-footer-contact .sf-ico{width:30px;height:30px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#4f86e8}
.site-footer-contact a[href^="https://t.me"] .sf-ico{background:#229ed9}
.site-footer-contact svg{width:16px;height:16px;fill:#fff}
.site-footer-nav{padding-left:56px;border-left:1px solid var(--sf-border)}
.site-footer-title{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--sf-link)}
.site-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 32px}
.site-footer-links a{justify-self:start;max-width:100%;display:flex;align-items:center;gap:14px;min-height:34px;padding:1px 0;color:var(--sf-accent);font-weight:500;overflow-wrap:anywhere}
.site-footer-links a::before{content:"";width:30px;height:30px;flex:none;border-radius:50%;background:var(--sf-chip) center/16px 16px no-repeat;transition:background-color .15s ease}
.site-footer-links a[href$="/about"]::before{background-image:url("../images/footer/about.svg")}
.site-footer-links a[href$="/terms"]::before{background-image:url("../images/footer/terms.svg")}
.site-footer-links a[href$="/privacy"]::before{background-image:url("../images/footer/privacy.svg")}
.site-footer-links a[href$="/refund-policy"]::before{background-image:url("../images/footer/refund-policy.svg")}
.site-footer-links a[href$="/contact"]::before{background-image:url("../images/footer/contact.svg")}
.site-footer-links a[href$="/seller-terms"]::before{background-image:url("../images/footer/seller-terms.svg")}
.site-footer-links a:hover::before{background-color:#cbdcf8}
.site-footer a{text-decoration:none;border-radius:4px;transition:color .15s ease}
.site-footer a:hover{color:var(--blue-800,#123f86);text-decoration:underline;text-underline-offset:3px}
.site-footer a:focus-visible{outline:3px solid var(--sf-accent);outline-offset:2px}
.site-footer-bottom{max-width:1210px;margin:18px auto 0;padding:12px 0 16px;border-top:1px solid var(--sf-border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 24px;font-size:13px;color:var(--sf-muted)}
.site-footer-copy,.site-footer-trust{margin:0}
.site-footer-trust span+span::before{content:"\2022";margin:0 8px}
@media (max-width:900px){
  .site-footer{padding-top:24px;background-size:1440px 170px,auto;background-position:right bottom,0 0}
  .site-footer-inner{grid-template-columns:1fr;gap:20px}
  .site-footer-brand{padding-right:0}
  .site-footer-nav{padding-left:0;border-left:0;padding-top:18px;border-top:1px solid var(--sf-border)}
}
@media (max-width:600px){
  .site-footer{padding:20px 16px 0}
  .site-footer-links{gap:0 16px}
  .site-footer-links a{gap:10px;min-height:44px}
  .site-footer-contact a{min-height:44px}
  .site-footer-contact{gap:0}
  .site-footer-bottom{margin-top:14px;padding:12px 0 76px;flex-direction:column;align-items:flex-start}
}
@media (max-width:359px){
  .site-footer-links{grid-template-columns:1fr}
}

/* ---------- Legal / policy / contact pages ---------- */
.legal-page{max-width:880px;margin:0 auto;padding-top:8px}
.legal-panel{background:var(--white,#fff);border:1px solid var(--border,#e3e5e8);border-radius:10px;padding:32px;box-shadow:var(--shadow-md,0 4px 16px rgba(24,55,100,.08))}
.legal-eyebrow{font-size:13px;font-weight:700;color:var(--blue-700,#1769e0);letter-spacing:.03em;text-transform:uppercase;margin:0 0 6px}
.legal-page h1{font-size:28px;line-height:1.25;margin:0 0 12px;color:var(--blue-900,#092e6b)}
.legal-lead{font-size:16px;line-height:1.7;color:#4b5563;margin:0 0 20px}
.legal-note{border-left:4px solid var(--blue-500,#3b82f6);background:var(--blue-50,#eef4ff);border-radius:0 8px 8px 0;padding:12px 16px;margin:0 0 20px;font-size:14px;line-height:1.6}
.legal-note p{margin:0 0 8px}.legal-note p:last-child{margin-bottom:0}
.legal-toc{background:var(--blue-50,#eef4ff);border:1px solid var(--border,#e3e5e8);border-radius:8px;padding:16px 20px;margin:0 0 8px}
.legal-toc-title{font-size:15px;font-weight:700;margin:0 0 8px}
.legal-toc ol{margin:0;padding-left:22px;columns:2;column-gap:32px}
.legal-toc li{font-size:14px;line-height:1.5;margin:0 0 6px;break-inside:avoid}
.legal-page h2{font-size:20px;font-weight:700;color:var(--blue-900,#092e6b);margin:30px 0 10px;scroll-margin-top:84px}
.legal-page h3{font-size:16px;font-weight:700;margin:18px 0 6px;color:var(--text,#202124)}
.legal-page p{font-size:15px;line-height:1.75;margin:0 0 12px}
.legal-page ul,.legal-page ol.legal-list{margin:0 0 14px;padding-left:24px}
.legal-page li{font-size:15px;line-height:1.7;margin:0 0 8px}
.legal-page a{color:var(--blue-700,#1769e0);text-decoration:underline}
.legal-page a:hover{color:var(--blue-800,#123f86)}
.legal-page a:focus-visible{outline:3px solid var(--blue-700,#1769e0);outline-offset:2px;border-radius:3px}
.legal-review{background:#fffbeb;border:1px solid #f5d98b;border-radius:8px;padding:12px 16px;margin:0 0 14px;font-size:14px;line-height:1.6}
.legal-updated{font-size:13px;color:var(--text-muted,#777);margin:0 0 18px}

/* Refund request-window table */
.legal-table-wrap{overflow-x:auto;margin:0 0 16px;border:1px solid var(--border,#e3e5e8);border-radius:8px}
.legal-table{width:100%;border-collapse:collapse;font-size:14px;min-width:380px}
.legal-table th:first-child,.legal-table td:first-child{width:56%;overflow-wrap:anywhere}
.legal-table th,.legal-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border-soft,#eee);vertical-align:top}
.legal-table thead th{background:var(--blue-900,#092e6b);color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.legal-table tbody tr:last-child td{border-bottom:0}
.legal-table .legal-sub td:first-child{padding-left:30px;color:#4b5563}

/* Contact cards */
.legal-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:8px 0 22px}
.legal-contact-card{border:1px solid var(--border,#e3e5e8);border-radius:10px;padding:20px;background:var(--page-bg,#eef4ff)}
.legal-page .legal-contact-card h2{font-size:16px;margin:0 0 6px;color:var(--text,#202124)}
.legal-contact-card p{margin:0 0 10px;font-size:14px}
.legal-contact-link{display:inline-block;font-size:17px;font-weight:700;overflow-wrap:anywhere;text-decoration:none!important}
.legal-contact-link:hover{text-decoration:underline!important}
.legal-btn{display:inline-block;background:var(--blue-700,#1769e0);color:#fff!important;font-weight:700;padding:10px 18px;border-radius:8px;text-decoration:none!important;font-size:14px}
.legal-btn:hover{background:var(--blue-800,#123f86)}

@media (max-width:900px){.legal-panel{padding:24px}}
@media (max-width:600px){
  .legal-panel{padding:18px 16px}
  .legal-page h1{font-size:24px}
  .legal-page h2{font-size:18px;margin-top:26px}
  .legal-lead{font-size:15px}
  .legal-toc ol{columns:1}
  .legal-contact-grid{grid-template-columns:1fr}
  .legal-table{font-size:13px}
  .legal-table th,.legal-table td{padding:8px 10px}
  .legal-table .legal-sub td:first-child{padding-left:20px}
}
