/* Isak Legal — shared components: article body, row lists, card grids, figures, chips.
   Loaded after base.css and before each page's own <style>, so page rules still win.
   Rules here appear identically on eight or more pages; edit once. */

.badge{border:1.5px solid var(--ink);color:var(--ink);font-size:.82rem;font-weight:700;letter-spacing:.05em;padding:.5rem 1rem;border-radius:999px}
.searchov{position:fixed;inset:0;background:var(--olo);z-index:300;display:none;color:var(--ink)}
.searchov.open{display:flex;align-items:center}
.name{font-size:clamp(2rem,4vw,3rem);font-weight:900;letter-spacing:-.03em;line-height:1.05;margin-bottom:1.4rem}
.sclose{position:absolute;top:1.4rem;right:var(--gut);background:none;border:none;font-size:2.4rem;line-height:1;cursor:pointer;color:var(--ink);padding:.2rem;transition:opacity .2s}
.sclose:hover{opacity:.6}
.agrid{display:grid;grid-template-columns:170px minmax(0,720px) 250px;justify-content:center;column-gap:4.5rem;padding:0 4vw}
.swrap{width:100%;max-width:900px;margin:0 auto;padding:0 var(--gut)}
.agrid .vh{grid-column:1}
.agrid .acontent{grid-column:2;min-width:0}
.sline{display:flex;align-items:center;gap:1.2rem;border-bottom:2px solid var(--ink)}
#sinput{flex:1;background:none;border:none;outline:none;font-family:inherit;font-size:clamp(1.5rem,3.4vw,2.4rem);font-weight:500;color:var(--ink);padding:.6rem 0;border-radius:0;-webkit-appearance:none}
.agrid .aside{grid-column:3;position:sticky;top:8rem;align-self:start}
#sinput::placeholder{color:rgba(14,16,21,.4)}
@media(max-width:1150px){.agrid{grid-template-columns:minmax(0,1fr);padding:0 var(--gut)}.agrid .vh,.agrid .acontent,.agrid .aside{grid-column:1}.agrid .aside{position:static;margin-top:4rem;border-top:1px solid rgba(0,0,0,.3);padding-top:2.5rem}}
.acrumb{font-size:.95rem;margin-bottom:1.6rem}
#sinput::-webkit-search-cancel-button{display:none}
.sline svg{width:1.9rem;height:1.9rem;flex-shrink:0}
.acrumb span{opacity:.6}
#sresults{margin-top:1.6rem;max-height:52vh;overflow:auto}
.acrumb b{font-weight:500}
.acrumb i{font-style:normal;opacity:.4;padding:0 .5rem}
a.sres{display:block;padding:1.1rem 0;border-bottom:1px solid rgba(14,16,21,.25)}
a.sres b{display:block;font-size:1.15rem;font-weight:700;letter-spacing:-.01em}
h1.atitle{font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:900;letter-spacing:-.03em;line-height:1.08;margin-bottom:1.6rem}
a.sres:hover b{text-decoration:underline;text-underline-offset:4px}
.ameta{font-size:.9rem;font-weight:600;margin-bottom:2.6rem}
.ameta i{font-style:normal;opacity:.4;padding:0 .5rem}
.ameta a.byl{border-bottom:1px solid rgba(14,16,21,.3);transition:border-color .15s}
.ameta a.byl:hover{border-color:var(--ink)}
a.sres span{font-size:.9rem;opacity:.75}
.snores{padding:1.4rem 0;font-size:1rem;opacity:.7}
.abstract{font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:700;line-height:1.5;letter-spacing:-.01em;border-left:4px solid var(--olo);padding-left:1.5rem;margin-bottom:3rem}
.shint{margin-top:1.1rem;font-size:.95rem;font-weight:500;opacity:.85}
.abody{font-size:1.05rem;color:#2e3330}
.abody p{margin:0 0 1.15rem}
.burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:.45rem .2rem}
.abody h2{font-size:clamp(1.4rem,2.3vw,1.9rem);font-weight:900;letter-spacing:-.02em;line-height:1.25;margin:3rem 0 1.2rem;color:var(--ink)}
.abody a{border-bottom:1px solid var(--ink);transition:background .15s,border-color .15s}
.burger span{display:block;width:22px;height:2px;background:var(--white);transition:transform .25s,opacity .25s}
.figcap{font-size:.8rem;color:#888;margin-top:.7rem}
.abody a:hover{background:rgba(0,245,196,.3);border-color:var(--olo)}
.abody ul,.abody ol{margin:0 0 1.15rem 1.3rem}
.mmenu{position:fixed;inset:0;background:var(--black);z-index:220;display:none;overflow-y:auto;padding:5.2rem 8vw 3.5rem}
.abody li{margin:.4rem 0}
.mmenu.open{display:block}
@media(max-width:720px){.scards{grid-template-columns:1fr}}
.mclose{position:fixed;top:1.15rem;right:var(--gut);z-index:230;background:none;border:none;color:var(--white);font-size:2rem;line-height:1;cursor:pointer;display:none}
.abody strong{color:var(--ink)}
.scard{border:1px solid rgba(0,0,0,.45);padding:1.8rem 1.8rem 1.5rem}
.abody blockquote{border-left:3px solid rgba(0,0,0,.25);padding:.2rem 0 .2rem 1.4rem;margin:1.6rem 0;color:#555;font-style:italic}
.mmenu.open ~ nav .burger{opacity:0}
.mclose.open{display:block}
.adisclaimer{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.3);font-size:.8rem;color:#888}
.qband{background:var(--olo);padding:2.3rem 2.4rem 2rem;margin-top:2.6rem}
.mmenu .mtop{display:block;color:var(--white);font-size:1.6rem;font-weight:800;letter-spacing:-.02em;padding:.55rem 0}
.mmenu .mh{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--olo);margin:1.9rem 0 .4rem}
.aside h5{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#999;margin:2.4rem 0 .9rem}
.qband .qh{font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.2rem;color:var(--ink)}
.aside h5:first-child{margin-top:0}
.mmenu .mitem{display:block;color:#ddd;font-size:1.05rem;font-weight:500;padding:.45rem 0}
.qband a{display:block;color:var(--ink);font-size:clamp(1.05rem,1.7vw,1.35rem);font-weight:700;letter-spacing:-.01em;padding:.6rem 0;border-bottom:1px solid rgba(14,16,21,.3)}
.mmenu .mitem.here,.mmenu .mtop.here{color:var(--olo)}
.aside a{display:block;font-size:.95rem;font-weight:500;margin-bottom:.55rem;width:fit-content;border-bottom:1px solid transparent}
.qband a:last-of-type{border-bottom:none}
.qband a span{display:inline-block;margin-left:.45rem;transition:transform .2s}
.aside a:hover{border-bottom-color:var(--ink)}
.engrow{border-top:1px solid rgba(0,0,0,.25);padding:1.6rem 0}
.sharerow{display:flex;gap:.9rem}
.qband a:hover span{transform:translateX(.35rem)}
.engrow:last-of-type{border-bottom:1px solid rgba(0,0,0,.25)}
.sharerow a,.sharerow button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:none;cursor:pointer;color:var(--ink);transition:color .2s;margin:0;padding:0}
.engrow h4{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.5rem}
@media(max-width:860px){
  nav .links{display:none}
  nav .right .langs{display:none}
  .burger{display:flex}
}
.sharerow a:hover,.sharerow button:hover{color:var(--olo)}
.engrow p{font-size:.98rem;color:#3a3f3c;max-width:720px}
.sharerow svg{width:1.25rem;height:1.25rem}
.sharerow button.done{color:var(--olo)}
