/* =====================================================================
   legal.css — halaman polisi GASS OFF.

   Struktur pemilih diwarisi daripada projek adik-beradik, tetapi SETIAP
   nilai visual (warna, font, jejari, ruang) diambil daripada laman sumber
   pemilik tapak sumber pemilik — lihat assets/brand.css.
   ===================================================================== */
:root{
  --bg:#ffffff;--surface:#F4F8F5;--surface-2:#EAF2EC;--red:#FF0000;
  --forest:#154125;--forest-deep:#0F3019;--mint:#B2FAB7;--leaf:#17AE16;
  --amber:#FFB400;--yellow:#FFD400;--night:#11100E;
  --white:#fff;--ink:#334155;--muted:#5A6572;--line:rgba(21,65,37,.16);
  --green:#17AE16;--warning:#FFB400;--pad:20px;--col:1140px;
  --ff:'Poppins','Segoe UI Variable Text','Segoe UI',system-ui,-apple-system,sans-serif;
  --ff-display:'Montserrat','Segoe UI Variable Text','Segoe UI',system-ui,-apple-system,sans-serif
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--ff);overflow-x:hidden}
a{color:var(--forest);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
button{font:inherit}
h1,h2,h3{font-family:var(--ff-display);line-height:1.15;margin:0}
p,ul,ol{margin-top:0}
.wrap{width:100%;max-width:var(--col);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.legal-top{background:var(--forest);border-bottom:1px solid rgba(255,255,255,.18)}
.legal-top .wrap{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.logo{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:none;font:900 29px/1 var(--ff);letter-spacing:-1px}
.logo .gass{color:var(--mint)}
.logo .off{color:var(--yellow)}
.back-home{color:#fff;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;
  display:inline-flex;align-items:center;min-height:44px}
.back-home:focus-visible,.logo:focus-visible,.toc a:focus-visible,.legal-foot a:focus-visible{outline:3px solid var(--amber);outline-offset:4px}
.legal-hero{position:relative;padding:52px 0 42px;border-bottom:1px solid var(--line);background:var(--surface);overflow:hidden}
.legal-hero::after{content:'POLISI';position:absolute;right:-14px;bottom:-30px;color:rgba(21,65,37,.06);font:900 clamp(74px,17vw,190px)/.75 var(--ff-display);letter-spacing:-8px;pointer-events:none}
.doc-kicker{color:var(--leaf);font:800 12px/1.3 var(--ff);letter-spacing:2.8px;text-transform:uppercase;margin:0 0 14px}
.legal-hero h1{position:relative;z-index:1;color:var(--forest);font-size:clamp(30px,6vw,55px);letter-spacing:-1.4px;max-width:860px}
.legal-hero .lede{position:relative;z-index:1;max-width:760px;margin:18px 0 0;color:var(--muted);font-size:clamp(16px,2.2vw,20px)}
.doc-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px 18px;margin:24px 0 0;color:var(--muted);font-size:13px}
.launch-warning{margin:26px auto 0;background:#FFF6E0;border:1px solid #E3B84A;border-left:5px solid var(--warning);border-radius:15px;padding:14px 16px;color:#6A4A00;font-size:14px}
.launch-warning strong{color:#4A3300;display:block;margin-bottom:3px}
.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:44px;padding-top:42px;padding-bottom:62px}
.toc{align-self:start;position:sticky;top:18px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px}
.toc strong{display:block;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--forest);font-weight:700;margin-bottom:10px}
.toc a{display:block;color:var(--ink);text-decoration:none;font-size:14px;padding:7px 0;border-bottom:1px solid rgba(21,65,37,.10)}
.toc a:last-child{border-bottom:0}
.legal-main{min-width:0}
.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:34px}
.summary-card{background:var(--mint);border-top:3px solid var(--forest);border-radius:15px;padding:16px;min-width:0}
.summary-card b{display:block;color:var(--forest-deep);font-size:15px;line-height:1.35;margin-bottom:5px}
.summary-card span{display:block;color:#2C4433;font-size:13.5px;line-height:1.55}
.legal-section{scroll-margin-top:24px;padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid var(--line)}
.legal-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.legal-section h2{color:var(--forest);font-family:var(--ff);font-weight:600;font-size:clamp(22px,3vw,30px);margin-bottom:15px}
.legal-section h3{font:600 18px/1.35 var(--ff);margin:23px 0 9px;color:var(--forest)}
.legal-section p,.legal-section li{color:var(--ink)}
.legal-section ul,.legal-section ol{padding-left:21px}
.legal-section li+li{margin-top:8px}
.legal-section strong{color:var(--forest-deep)}
.callout{background:var(--surface-2);border:1px solid var(--line);border-radius:15px;padding:16px 18px;margin:18px 0}
.callout--yellow{border-color:rgba(255,180,0,.55);background:#FFF6E0}
.callout--green{border-color:rgba(23,174,22,.4);background:#EEFBEF}
.merchant{display:grid;grid-template-columns:145px minmax(0,1fr);gap:8px 16px;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:18px;margin-top:18px}
.merchant dt{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}
.merchant dd{margin:0;min-width:0;color:var(--forest-deep);overflow-wrap:anywhere}
.go-missing{color:#A80000!important;background:rgba(255,0,0,.08);border-radius:4px;padding:1px 4px}
.policy-table{width:100%;border-collapse:collapse;margin:17px 0;font-size:13.5px}
.policy-table th,.policy-table td{text-align:left;vertical-align:top;padding:12px;border:1px solid var(--line)}
.policy-table th{background:var(--forest);color:#fff;font-size:13px}
.policy-table td{color:var(--ink)}
.language-divider{display:flex;align-items:center;gap:12px;margin:44px 0 32px;color:var(--forest);font:800 12px/1 var(--ff);letter-spacing:2px;text-transform:uppercase}
.language-divider::before,.language-divider::after{content:'';height:1px;background:var(--line);flex:1}
.source-note{font-size:13px;color:var(--muted)!important}
.legal-foot{background:var(--night);border-top:1px solid var(--line);padding:34px 0 44px;color:#C9C9C9;font-family:var(--ff-display);font-size:14px;text-align:center}
.legal-foot__links{display:flex;justify-content:center;flex-wrap:wrap;gap:7px 18px;margin-bottom:16px}
/* Standalone navigation links, not prose links: give them a real 44px touch
   target on phones and tablets. */
@media(max-width:900px){
  .legal-foot__links a{display:inline-flex;align-items:center;min-height:44px}
}
.legal-foot a{color:var(--mint)}
.legal-foot p{margin:5px 0}
.legal-foot .business-line{font-family:var(--ff);font-weight:900;letter-spacing:-1px;font-size:24px;overflow-wrap:anywhere}
.legal-foot .business-line .gass{color:var(--mint)}
.legal-foot .business-line .off{color:var(--yellow)}
@media(max-width:800px){
  .legal-layout{grid-template-columns:1fr;gap:26px;padding-top:28px}
  .toc{position:static;display:flex;gap:7px 14px;flex-wrap:wrap}
  .toc strong{width:100%;margin-bottom:2px}
  .toc a{display:inline-flex;align-items:center;min-height:44px;border:0;padding:4px 0;text-decoration:underline}
  .summary-grid{grid-template-columns:1fr}
}
@media(max-width:440px){
  :root{--pad:16px}
  .legal-top .wrap{min-height:62px}.logo{font-size:24px}.back-home{font-size:11.5px}
  .legal-hero{padding:40px 0 34px}.legal-hero h1{letter-spacing:-1.3px}
  .legal-hero::after{right:-8px;letter-spacing:-4px}
  .legal-layout{padding-bottom:44px}.toc{padding:15px;border-radius:15px}
  .merchant{grid-template-columns:1fr;gap:2px}.merchant dd{margin-bottom:9px}
  .policy-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
