/* Shared styling for Safer Charging legal / policy pages.
   Used by: privacy, cookie-policy, terms-of-use, general-terms,
            chargesafe-platform-terms, chargesafe-surveyor-app-terms,
            policies-and-terms. */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --navy:#0B1B3F;--navy-deep:#071233;--gold:#E8DE25;--gold-soft:#F0E94D;--gold-deep:#C28F1C;
  --mist:#EFF2F8;--ink:#111;--warm-grey:#E1E7F2;--text-mid:#3F4A48;--text-light:#6C7581;--white:#fff;
  --font-display:'Enriqueta',Georgia,serif;--font-body:'Inter',sans-serif;
  --container:1200px;--ease:cubic-bezier(0.25,0.46,0.45,0.94);
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--ink);background:#fff;}
a{text-decoration:none;color:inherit;transition:color .3s var(--ease);}
img{max-width:100%;height:auto;display:block;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.narrow{max-width:820px;margin:0 auto;padding:0 24px;}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 0;background:rgba(11,27,63,0.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);}
.nav-inner{max-width:var(--container);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.nav-logo{display:flex;align-items:center;gap:12px;}
.nav-logo-img{height:38px;width:auto;} .nav-logo-img.nav-logo-wide{height:34px;width:auto;}
.nav-logo-text{font-family:var(--font-display);font-size:20px;font-weight:700;color:#fff;}
.nav-back{color:rgba(255,255,255,0.82);font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:8px;text-align:right;}
.nav-back:hover{color:var(--gold-soft);}

/* page head */
.p-head{background:var(--navy);padding:140px 0 60px;position:relative;overflow:hidden;}
.p-head::after{content:'';position:absolute;top:-20%;right:-6%;width:440px;height:440px;background:radial-gradient(circle,rgba(232,222,37,0.14),transparent 66%);}
.p-head-inner{position:relative;z-index:2;}
.p-eyebrow{font-size:12px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:16px;}
.p-head h1{font-family:var(--font-display);font-size:clamp(29px,3.8vw,44px);font-weight:700;color:#fff;letter-spacing:-0.4px;line-height:1.18;}
.p-head p{color:rgba(255,255,255,0.62);margin-top:14px;font-size:16px;max-width:620px;}
.p-meta{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:16px;}
.p-meta span{font-size:13.5px;color:rgba(255,255,255,0.66);}
.p-meta strong{color:var(--gold-soft);font-weight:600;}

/* body */
.p-body{padding:56px 0 90px;}
.p-body h2{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--navy);margin:0 0 12px;scroll-margin-top:110px;line-height:1.3;}
.p-body h3{font-family:var(--font-body);font-size:16px;font-weight:700;color:var(--navy);margin:24px 0 8px;letter-spacing:.2px;}
.p-body p{color:#26303a;font-size:16.5px;margin-bottom:16px;}
.p-body ul{margin:0 0 18px 20px;}
.p-body li{color:#26303a;margin-bottom:8px;}
.p-body a.inline{color:var(--gold-deep);font-weight:600;border-bottom:1px solid rgba(232,222,37,0.35);}
.p-lead{color:#26303a;font-size:17px;margin-bottom:6px;}
.p-intro p{font-size:17px;}
.p-sec{padding-top:34px;margin-top:34px;border-top:1px solid var(--warm-grey);}
.p-sec:first-of-type{border-top:none;margin-top:0;padding-top:0;}

/* address / contact blocks */
.p-addr{margin:0 0 18px;padding:18px 22px;background:var(--mist);border-radius:12px;font-size:15.5px;line-height:1.65;color:#26303a;}
.p-addr strong{display:block;color:var(--navy);font-weight:700;margin-bottom:4px;}

/* tables */
.tbl-wrap{overflow-x:auto;margin:0 0 20px;-webkit-overflow-scrolling:touch;border-radius:12px;}
table.p-tbl{width:100%;border-collapse:collapse;background:#fff;font-size:15.5px;min-width:420px;}
table.p-tbl th{background:var(--navy);color:#fff;text-align:left;font-weight:600;font-size:14px;padding:12px 18px;}
table.p-tbl td{padding:12px 18px;border-bottom:1px solid var(--warm-grey);color:#26303a;vertical-align:top;}
table.p-tbl tr:last-child td{border-bottom:none;}
table.p-tbl tbody tr:nth-child(odd){background:#fbfcfe;}

/* definition list (contract definitions) */
dl.p-defs{margin:0 0 18px;}
dl.p-defs dt{font-weight:700;color:var(--navy);font-size:15.5px;margin-top:16px;}
dl.p-defs dt:first-child{margin-top:0;}
dl.p-defs dd{margin:4px 0 0;color:#26303a;font-size:16px;}

/* numbered contract clauses */
.cl{margin:0 0 14px;color:#26303a;font-size:16.5px;display:flex;gap:14px;align-items:flex-start;}
.cl-n{flex:none;min-width:52px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;}
.cl-t{flex:1;min-width:0;}
.cl.sub{margin-left:26px;font-size:16px;}
.cl.sub .cl-n{min-width:62px;color:var(--text-mid);}
@media(max-width:560px){
  .cl{gap:10px;} .cl-n{min-width:44px;}
  .cl.sub{margin-left:12px;} .cl.sub .cl-n{min-width:54px;}
}

/* footer */
.footer{background:var(--navy-deep);color:rgba(255,255,255,0.6);padding:40px 0;text-align:center;}
.footer p{font-size:12.5px;}
.footer a{color:rgba(255,255,255,0.7);} .footer a:hover{color:var(--gold-soft);}

/* a11y + type detail */
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px;}
h1,h2,h3{text-wrap:balance;} p{text-wrap:pretty;}
.skip-link{position:absolute;left:12px;top:-70px;z-index:3000;background:var(--gold);color:var(--navy);padding:11px 20px;border-radius:8px;font-weight:700;font-size:14px;transition:top .25s ease;}
.skip-link:focus-visible,.skip-link:focus{top:12px;}

/* Respect a reduced-motion preference. Vestibular conditions make large
   transitions and parallax genuinely unpleasant, not merely distracting. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* ===== Touch targets (WCAG 2.5.8) =====
   Matching the pass made on the inline-styled pages: the breadcrumb and the
   footer links measured under the 24px minimum for a touch control. Padding
   only, so nothing moves. */
.nav-back{display:inline-flex;padding:4px 0;}
.footer a{display:inline-block;padding:3px 0;}
