/* Eurabelt Fuels CSR v2.0 — the policy library: the register (pages/policies.php) and the reading page (pages/policy.php). */
.pol-register,.pol-read{--pmute:#56637a;--pgold:#7a5f0c}

/* ---- shared: share button on paper ---------------------------------- */
.paper .share-btn{color:var(--ink2);border-color:#c5ccd6}
.paper .share-btn:hover{color:var(--pgold);border-color:var(--gold-d)}
.paper :focus-visible{outline-color:var(--gold-d)}

/* ---- the register ---------------------------------------------------- */
.reg-intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:clamp(28px,5vw,80px);align-items:end;margin-bottom:clamp(44px,5vw,72px)}
.reg-intro h2{margin-bottom:16px}
.reg-intro .lede a{color:var(--pgold);text-decoration:underline;text-underline-offset:3px}
.reg-control,.pol-control{display:grid;border-top:3px double var(--gold-d);border-bottom:1px solid var(--pline)}
.reg-control{grid-template-columns:1fr 1fr;background:#fff;border-left:1px solid var(--pline);border-right:1px solid var(--pline)}
.reg-control div,.pol-control div{padding:12px 16px;border-bottom:1px solid var(--pline)}
.reg-control div:nth-child(odd){border-right:1px solid var(--pline)}
.reg-control div:last-child{grid-column:1/-1;border-right:0;border-bottom:0}
.reg-control dt,.pol-control dt{font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pmute);margin-bottom:6px}
.reg-control dd,.pol-control dd{font-size:15px;color:var(--ink);font-weight:500}

.reg-group+.reg-group{margin-top:clamp(48px,5vw,72px)}
.reg-group-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px 48px;align-items:end;padding-bottom:16px;border-bottom:3px double var(--gold-d)}
.reg-group-head h3{font-size:clamp(26px,2.4vw,34px)}
.reg-group-head p{font-size:15.5px;color:var(--ink2)}
.reg-table{width:100%;border-collapse:collapse}
.reg-table thead th{padding:14px 16px 10px;text-align:left;font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pmute);border-bottom:1px solid var(--pline)}
.reg-table tbody tr{position:relative;transition:background .2s}
.reg-table tbody tr:hover,.reg-table tbody tr:focus-within{background:#fff}
.reg-table td{padding:22px 16px;border-bottom:1px solid var(--pline);vertical-align:top}
.reg-table .rc{width:170px;font:500 13px/1.6 var(--mono);letter-spacing:.04em;color:var(--pgold);white-space:nowrap}
.reg-table .rt a{font:600 25px/1.15 var(--serif);color:var(--ink)}
.reg-table .rt a::after{content:"";position:absolute;inset:0}
.reg-table .rt a:focus-visible{outline:0}
.reg-table tbody tr:focus-within{outline:2px solid var(--gold-d);outline-offset:-2px}
.reg-table tbody tr:hover .rt a,.reg-table tbody tr:focus-within .rt a{color:var(--pgold)}
.reg-table .rt p{margin-top:6px;font-size:15px;line-height:1.6;color:var(--ink2);max-width:72ch}
.reg-table .rv,.reg-table .rd{width:1%;font:400 13px/1.6 var(--mono);color:var(--ink2);white-space:nowrap}
.reg-table .rv{text-align:center}
.reg-foot{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;justify-content:space-between;margin-top:clamp(40px,4vw,56px)}
.reg-foot .callout{flex:1 1 420px}
.reg-foot .callout a{color:var(--pgold);text-decoration:underline;text-underline-offset:3px}

@media (max-width:860px){
  .reg-intro,.reg-group-head{grid-template-columns:1fr}
  .reg-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .reg-table,.reg-table tbody{display:block}
  .reg-table tbody tr{display:grid;grid-template-columns:1fr auto auto;gap:4px 14px;padding:18px 4px;border-bottom:1px solid var(--pline)}
  .reg-table td{display:block;padding:0;border:0;width:auto}
  .reg-table .rc{grid-column:1;grid-row:1}
  .reg-table .rv{grid-column:2;grid-row:1}
  .reg-table .rd{grid-column:3;grid-row:1}
  .reg-table .rt{grid-column:1/-1;grid-row:2;margin-top:6px}
  .reg-table .rt a{font-size:23px}
  .reg-table .rv::before{content:"v"}
}
@media (max-width:420px){.reg-table tbody tr{gap:4px 10px}.reg-table .rc,.reg-table .rv,.reg-table .rd{font-size:12px}}

/* ---- the reading page ------------------------------------------------ */
.pol-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.pol-side{position:sticky;top:calc(var(--hdr) + 24px);max-height:calc(100vh - var(--hdr) - 48px);overflow:auto;padding-right:4px}
.pol-toc h2{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--pmute);padding-bottom:12px;border-bottom:3px double var(--gold-d);margin-bottom:6px}
.pol-toc ol{list-style:none}
.pol-toc a{display:grid;grid-template-columns:30px 1fr;gap:6px;padding:8px 0 8px 10px;border-left:2px solid transparent;font-size:14.5px;line-height:1.4;color:var(--ink2);transition:color .2s,border-color .2s}
.pol-toc a span{font:500 12px/1.6 var(--mono);color:var(--pgold)}
.pol-toc a:hover{color:var(--ink)}
.pol-toc a.on{color:var(--ink);border-left-color:var(--gold);font-weight:500}
.pol-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--pline)}
.pol-tools .btn{min-height:40px;padding:10px 16px}

.pol-doc{position:relative;max-width:880px;background:#fff;border:1px solid var(--pline);padding:clamp(24px,5vw,72px);box-shadow:0 1px 0 rgba(13,27,48,.04),0 24px 48px -32px rgba(13,27,48,.25)}
.pol-doc::before,.pol-doc::after{content:"";position:absolute;width:18px;height:18px;border:1px solid var(--gold-d);opacity:.8}
.pol-doc::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.pol-doc::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
.pol-print-mast{display:none}
.pol-head .kicker{color:var(--pgold);margin-bottom:14px}
.pol-head h2{font-size:clamp(32px,3.4vw,50px);margin-bottom:28px;max-width:20ch}
.pol-control{grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:0}
.pol-control div{border-bottom:1px solid var(--pline)}
.pol-control div+div{border-left:1px solid var(--pline)}
.pol-control div:first-child{padding-left:0}
.pol-control dd{font-size:14px;line-height:1.35}
@media (max-width:1180px){.pol-control{grid-template-columns:repeat(3,minmax(0,1fr))}.pol-control div:nth-child(4){border-left:0;padding-left:0}}

.pol-sec{margin-top:clamp(36px,4vw,52px);scroll-margin-top:calc(var(--hdr) + 32px)}
.pol-sec h3{display:flex;align-items:baseline;gap:16px;font-size:clamp(23px,2vw,29px);margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--pline)}
.pol-num{flex:none;display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold-d);font:500 14px/1 var(--mono);color:var(--pgold);transform:translateY(-3px)}
.pol-p{display:grid;grid-template-columns:3.4em minmax(0,1fr);max-width:none;font-size:16.5px;line-height:1.75;color:var(--ink2)}
.pol-p+.pol-p,.pol-list+.pol-p,.pol-quote+.pol-p{margin-top:14px}
.pol-clause{font:500 12px/2.4 var(--mono);color:var(--pmute)}
.pol-list{list-style:none;margin:12px 0 4px 3.4em}
.pol-list li{position:relative;padding:7px 0 7px 24px;font-size:16px;line-height:1.65;color:var(--ink2);border-bottom:1px dashed #e3e7ed}
.pol-list li:last-child{border-bottom:0}
.pol-list li::before{content:"";position:absolute;left:3px;top:16px;width:7px;height:7px;border:1px solid var(--gold-d);transform:rotate(45deg)}
.pol-quote{margin:16px 0 8px 3.4em;padding:18px 22px;border-left:2px solid var(--gold);background:#fbf7ea}
.pol-quote p{font:italic 500 clamp(20px,1.8vw,25px)/1.3 var(--serif);color:var(--ink);max-width:none}
.pol-doc a{color:var(--pgold);text-decoration:underline;text-decoration-color:rgba(122,95,12,.4);text-underline-offset:3px;overflow-wrap:anywhere}
.pol-doc a:hover{text-decoration-color:currentColor}
.pol-doc a.polref{font-family:var(--mono);font-size:.9em;letter-spacing:.02em;white-space:nowrap}

.pol-end{display:flex;gap:18px;align-items:center;margin-top:clamp(44px,5vw,64px);padding-top:24px;border-top:3px double var(--gold-d)}
.pol-end img{flex:none;width:64px;height:64px}
.pol-end b{display:block;font:600 20px/1.2 var(--serif);color:var(--ink);margin-bottom:4px}
.pol-end span{display:block;font-size:13.5px;color:var(--pmute)}
.pol-print-url{display:none!important}

@media (max-width:980px){
  .pol-grid{grid-template-columns:1fr}
  .pol-side{position:static;max-height:none;overflow:visible;padding:18px 20px;background:#fff;border:1px solid var(--pline)}
  .pol-toc ol{columns:2;column-gap:24px}
  .pol-toc li{break-inside:avoid}
  .pol-doc{max-width:none}
}
@media (max-width:640px){
  .pol-toc ol{columns:1}
  .pol-control{grid-template-columns:1fr 1fr}
  .pol-control div,.pol-control div:nth-child(n){border-left:0;padding-left:0}
  .pol-control div:nth-child(even){border-left:1px solid var(--pline);padding-left:14px}
  .pol-control div:last-child{grid-column:1/-1;border-left:0;padding-left:0}
  .pol-p{grid-template-columns:1fr;font-size:16px}
  .pol-clause{line-height:1.6;margin-bottom:2px}
  .pol-list,.pol-quote{margin-left:0}
  .pol-sec h3{gap:12px}
  .pol-num{width:30px;height:30px;font-size:13px}
}

/* ---- print: the document only, light, without hero or navigation ------ */
@media print{
  @page{margin:18mm 16mm}
  .hero,.subnav,.pol-side,.pol-more,.skip,.reg-foot .btns,.share,.strip,.mast,.foot,dialog{display:none!important}
  html,body{background:#fff!important;color:#000}
  body{font-size:10.5pt}
  main{padding:0!important;margin:0!important}
  .sec,.sec.paper{padding:0!important;background:#fff!important;border:0!important}
  .wrap{max-width:none;padding:0}
  .pol-grid{display:block}
  .pol-doc{max-width:none;border:0;box-shadow:none;padding:0}
  .pol-doc::before,.pol-doc::after{display:none}
  .pol-print-mast{display:flex;align-items:center;gap:12px;padding-bottom:10pt;margin-bottom:16pt;border-bottom:1px solid #999}
  .pol-print-mast img{width:40px;height:40px}
  .pol-print-mast b{display:block;font:600 13pt/1.1 var(--serif);color:#000}
  .pol-print-mast span{font:400 8pt/1.3 var(--mono);color:#333;letter-spacing:.06em}
  .pol-head h2{font-size:22pt;margin-bottom:12pt;color:#000}
  .pol-control{grid-template-columns:repeat(5,1fr);border-top:1.5pt double #000}
  .pol-control div,.pol-control div:nth-child(n){padding:5pt 6pt;border-left:0;border-bottom:1px solid #bbb;grid-column:auto}
  .pol-control dt{color:#333;font-size:6.5pt}
  .pol-control dd{font-size:8.5pt;color:#000}
  .pol-sec{margin-top:16pt}
  .pol-sec h3{font-size:13.5pt;color:#000;border-color:#bbb;margin-bottom:8pt;padding-bottom:5pt;break-after:avoid;page-break-after:avoid}
  .pol-num{width:20px;height:20px;font-size:8.5pt;color:#000;border-color:#000;transform:none}
  .pol-p,.paper .pol-p,.pol-doc p{grid-template-columns:3em 1fr;font-size:10.5pt;line-height:1.5;color:#000!important;break-inside:avoid}
  .pol-clause{font-size:8pt;line-height:1.9;color:#333}
  .pol-list{margin-left:3em}
  .pol-list li{font-size:10.5pt;line-height:1.45;color:#000;padding:3pt 0 3pt 16pt;border:0;break-inside:avoid}
  .pol-list li::before{top:8pt;width:5px;height:5px;border-color:#000}
  .pol-quote{margin-left:3em;background:none;border-left-color:#000}
  .pol-quote p{font-size:13pt;color:#000}
  .pol-doc a{color:#000;text-decoration:none}
  .pol-end{border-top:1.5pt double #000;break-inside:avoid}
  .pol-end img{width:44px;height:44px}
  .pol-end b{font-size:12pt;color:#000}
  .pol-end span{font-size:8.5pt;color:#333}
  .pol-print-url{display:block!important}
  .reg-table tbody tr{break-inside:avoid}
  .reg-table .rt a,.reg-table .rc{color:#000}
}
