/* Eurabelt Publications v2.0 — the policies: the register (policies.php) and the reading page (lib/policy.php). */
.pol{--pmute:#56637a;--pgold:#7a5f0c}
.sec.pol{padding-top:clamp(44px,5vw,80px)}
.pol :focus-visible{outline-color:var(--gold-d)}
.pol .share-btn{color:var(--ink2);border-color:#c5ccd6}
.pol .share-btn:hover{color:var(--pgold);border-color:var(--gold-d)}

/* ---- the register ----------------------------------------------------- */
.reg-table{width:100%;border-collapse:collapse;border-top:3px double var(--gold-d)}
.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:24px 16px;border-bottom:1px solid var(--pline);vertical-align:top}
.reg-table .rc{width:80px;font:500 14px/1.9 var(--mono);letter-spacing:.06em;color:var(--pgold)}
.reg-table .rt a{font:600 clamp(24px,2.2vw,30px)/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:8px;font-size:15.5px;line-height:1.6;color:var(--ink2);max-width:70ch}
.reg-table .rd{width:1%;font:400 13px/1.9 var(--mono);color:var(--ink2);white-space:nowrap}
@media (max-width:760px){
  .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:auto 1fr;gap:4px 14px;padding:20px 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 .rd{grid-column:2;grid-row:1;justify-self:end;white-space:normal;text-align:right}
  .reg-table .rt{grid-column:1/-1;grid-row:2;margin-top:4px}
}

/* ---- 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:2px 4px 2px 2px}
.pol-toc h2,.pol-more 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:7px 0 7px 10px;border-left:2px solid transparent;font-size:14px;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);border-left-color:var(--gold)}
.pol-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--pline)}
.pol-toc+.pol-tools{margin-top:22px}
.pol-short .pol-tools{margin-top:0;padding-top:0;border-top:0}
.pol-tools .btn{min-height:40px;padding:10px 16px;font-size:14px}
.pol-more{margin-top:28px}
.pol-more ul{list-style:none}
.pol-more a{display:block;padding:9px 0 9px 12px;border-left:2px solid transparent;font-size:14px;line-height:1.35;color:var(--ink2)}
.pol-more a small{display:block;margin-top:3px;font:400 11px/1.3 var(--mono);color:var(--pmute);letter-spacing:.03em}
.pol-more a:hover{color:var(--ink);border-left-color:var(--gold)}
.pol-more a[aria-current="page"]{color:var(--ink);font-weight:500;border-left-color:var(--gold-d)}

.pol-doc{position:relative;max-width:900px;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{padding-bottom:22px;margin-bottom:8px;border-bottom:3px double var(--gold-d)}
.pol-head .kicker{color:var(--pgold);margin-bottom:14px}
.pol-title{font-size:clamp(32px,3.4vw,48px);line-height:1.08;margin-bottom:18px;max-width:22ch}
.pol-version{font:500 12px/1.9 var(--mono);letter-spacing:.04em;color:var(--pmute)}
.pol-version span{display:inline-block}
.pol-version span:not(:last-child)::after{content:"·";margin:0 10px;color:var(--gold-d)}

/* the policy text in the reading column */
.pol-body{max-width:none;font-size:18px;line-height:1.72}
.pol-body>h2{display:flex;align-items:baseline;gap:14px;font-size:clamp(25px,2.2vw,31px);line-height:1.2;margin:clamp(34px,4vw,48px) 0 14px;padding-bottom:10px;border-bottom:1px solid var(--pline);scroll-margin-top:calc(var(--hdr) + 32px)}
.pol-body>h3{font-size:clamp(20px,1.7vw,23px);margin:26px 0 8px}
.pol-body ul{list-style:none;margin:6px 0 22px}
.pol-body ul li{position:relative;padding:4px 0 4px 26px;margin:0}
.pol-body ul li::before{content:"";position:absolute;left:5px;top:.82em;width:7px;height:7px;border:1px solid var(--gold-d);transform:rotate(45deg)}
.pol-body ol{margin:6px 0 22px 1.6em}
.pol-body ol li::marker{font:500 .8em var(--mono);color:var(--pgold)}
.pol-body strong{color:var(--ink);font-weight:600}
.pol-body a{color:var(--pgold);text-decoration:underline;text-decoration-color:rgba(122,95,12,.4);text-underline-offset:3px;overflow-wrap:anywhere}
.pol-body a:hover{text-decoration-color:currentColor}
.pol-body code{font:500 .8em var(--mono);padding:2px 6px;background:var(--paper2);border:1px solid var(--pline);border-radius:2px;color:var(--ink)}
.pol-body dl{display:grid;grid-template-columns:minmax(150px,13em) minmax(0,1fr);margin:14px 0 24px;border-top:1px solid var(--pline)}
.pol-body dt,.pol-body dd{padding:12px 0;border-bottom:1px solid var(--pline)}
.pol-body dt{font:500 11.5px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pmute);padding-right:18px;padding-top:15px}
.pol-body dd{font-size:16.5px;line-height:1.6}
.pol-body table{width:100%;border-collapse:collapse;margin:14px 0 22px;font:400 15px/1.55 var(--sans);color:var(--ink2)}
.pol-body th{font:500 10.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--pmute);text-align:left;padding:10px 12px;border-bottom:1px solid var(--ink3)}
.pol-body td{padding:12px;border-bottom:1px solid var(--pline);vertical-align:top}
.pol-body td:first-child{color:var(--ink);font-weight:500}
.pol-body .note{margin:14px 0 22px;padding:18px 22px;border-left:2px solid var(--gold);background:#fbf7ea}
.pol-body .note p{margin:0;color:var(--ink)}
.pol-body .note .attrib{margin-top:8px;font:400 14px/1.55 var(--sans);color:var(--ink2)}

.pol-end{display:flex;gap:18px;align-items:center;margin-top:clamp(40px,5vw,60px);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:400 12px/1.5 var(--mono);letter-spacing:.03em;color:var(--pmute);overflow-wrap:anywhere}

@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-more ul{display:flex;flex-wrap:wrap;gap:0 18px}
  .pol-more a small{display:none}
  .pol-doc{max-width:none}
}
@media (max-width:640px){
  .pol-toc ol{columns:1}
  .pol-body{font-size:17px}
  .pol-body dl{grid-template-columns:1fr}
  .pol-body dt{border-bottom:0;padding-bottom:0}
  .pol-body table,.pol-body thead,.pol-body tbody,.pol-body tr,.pol-body td{display:block;width:auto!important}
  .pol-body thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .pol-body tr{padding:12px 0;border-bottom:1px solid var(--pline)}
  .pol-body tr:first-child{border-top:3px double var(--gold-d)}
  .pol-body td{padding:3px 0;border:0}
  .pol-doc{padding:22px 18px}
}

/* ---- print: the document only ---------------------------------------- */
@media print{
  @page{margin:18mm 16mm}
  .hero,.pol-side,.skip,.strip,.mast,.foot,.compass,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}
  .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 7.5pt/1.3 var(--mono);color:#333;letter-spacing:.06em}
  .pol-title{font-size:22pt;color:#000}
  .pol-body{font-size:10.5pt;line-height:1.5;color:#000}
  .pol-body p,.pol-body li,.pol-body dd,.pol-body td{color:#000!important}
  .pol-body>h2{font-size:14pt;color:#000;border-color:#bbb;break-after:avoid;page-break-after:avoid}
  .pol-body>h3{font-size:12pt;break-after:avoid}
  .pol-body li,.pol-body tr,.pol-body p{break-inside:avoid}
  .pol-body a{color:#000;text-decoration:none}
  .pol-body .note{background:none;border-left-color:#000}
  .pol-end{border-top-color:#000;break-inside:avoid}
  .reg-table .rt a,.reg-table .rc{color:#000}
}
