/* Bilohash Studio — product policy pages (privacy / cookies / terms of every script), sticker style. 2026-11-13
   Used with bs-site.css + bs-legal.css (header, footer). Markup: includes/bs-policies/engine.php */
body.bsp{--ink:#14110f;--paper:#fff8e7;--card:#fff;--muted:#4f4943;--yellow:#ffd84d;--mint:#7be0c3;--pink:#ffb3c7;--blue:#2447ff;--line:#f0e6d2;--shadow:#14110f;overflow-x:hidden}
html[data-theme="dark"] body.bsp{--ink:#fff8e7;--paper:#14110f;--card:#221d1a;--muted:#d6ccbd;--blue:#ffd84d;--line:#3a322c;--shadow:#000}
body.bsp *{box-sizing:border-box}
.bsp-main{max-width:1180px;margin:0 auto;padding:18px 16px 56px;font-family:Rubik,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}
.bsp-main :is(p,li,td,th,a,code,summary){overflow-wrap:anywhere}
.bsp-main a{color:var(--blue);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:2px}
.bsp-main a:focus-visible,.bsp-main button:focus-visible,.bsp-main summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
.bsp-main code{font:600 .88em/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--paper);border:2px solid var(--ink);border-radius:7px;padding:0 5px;color:var(--ink);white-space:normal}

/* breadcrumbs */
.bsp-crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px;font-weight:700;color:var(--muted);margin:0 0 14px}
.bsp-crumbs a{color:var(--ink) !important;text-decoration:none !important}
.bsp-crumbs a:hover{text-decoration:underline !important}

/* hero */
.bsp-hero{display:grid;gap:22px;align-items:center;background:var(--card);border:3px solid var(--ink);border-radius:24px;box-shadow:6px 6px 0 var(--shadow);padding:22px}
.bsp-badge{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:5px 12px 5px 5px;background:var(--mint);border:3px solid #14110f;border-radius:999px;box-shadow:3px 3px 0 #14110f;font:800 13px/1.2 Rubik,system-ui,sans-serif;color:#14110f;transform:rotate(-1.5deg)}
.bsp-badge span{background:#14110f;color:#fff8e7;border-radius:999px;padding:3px 9px;text-transform:uppercase;letter-spacing:.06em;font-size:11px}
.bsp-hero h1{margin:0 0 10px;font:900 clamp(30px,6vw,54px)/1.04 Rubik,system-ui,sans-serif;letter-spacing:-.03em;color:var(--ink)}
.bsp-hero h1::after{content:"";display:block;width:120px;height:11px;margin-top:12px;border-radius:999px;background:var(--yellow);border:3px solid #14110f;box-shadow:3px 3px 0 #14110f;transform:rotate(-1.5deg)}
.bsp-sub{margin:0 0 8px;font-size:clamp(16px,2.2vw,19px);color:var(--muted)}
.bsp-sub strong{color:var(--ink)}
.bsp-date{margin:0 0 16px;font-size:14px;font-weight:700;color:var(--muted)}
.bsp-hero-actions{margin:0}
.bsp-hero-img{margin:0;border:3px solid #14110f;border-radius:18px;overflow:hidden;box-shadow:5px 5px 0 #14110f;transform:rotate(1.2deg);background:#14110f}
.bsp-hero-img img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
@media (min-width:880px){.bsp-hero{grid-template-columns:1.25fr 1fr;padding:34px}.bsp-hero--noimg{grid-template-columns:1fr}}

/* buttons */
.bsp-btn{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:10px 18px;border:3px solid #14110f;border-radius:14px;background:var(--yellow);color:#14110f !important;font:800 16px/1.2 Rubik,system-ui,sans-serif;text-decoration:none !important;box-shadow:3px 3px 0 #14110f;cursor:pointer;transition:transform .12s,box-shadow .12s}
.bsp-btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 #14110f}
.bsp-btn--small{min-height:42px;font-size:15px;padding:8px 14px}
html[data-theme="dark"] .bsp-btn{border-color:#fff8e7;box-shadow:3px 3px 0 #000}

/* tabs */
.bsp-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 18px}
.bsp-tabs a{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:9px 16px;background:var(--card);border:3px solid var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--shadow);color:var(--ink) !important;font-weight:800;text-decoration:none !important}
.bsp-tabs a i{color:var(--blue)}
.bsp-tabs a.is-current{background:var(--yellow);color:#14110f !important;border-color:#14110f}
.bsp-tabs a.is-current i{color:#14110f}
.bsp-tabs a:hover{transform:translate(-1px,-1px)}

/* at a glance */
.bsp-glance{display:grid;gap:14px;margin:0 0 24px}
.bsp-glance-h{margin:0;font:900 20px/1.2 Rubik,system-ui,sans-serif;color:var(--ink)}
.bsp-glance-card{border:3px solid #14110f;border-radius:18px;padding:14px 16px;box-shadow:4px 4px 0 #14110f;color:#14110f}
.bsp-glance-card p{margin:0;color:#14110f}
.bsp-glance-card--demo{background:#fff1b8}
.bsp-glance-card--script{background:#cdf3e6}
.bsp-tag{display:flex;align-items:center;gap:8px;font-weight:900;margin-bottom:6px !important;text-transform:uppercase;font-size:13px;letter-spacing:.05em}
@media (min-width:720px){.bsp-glance{grid-template-columns:1fr 1fr}.bsp-glance-h{grid-column:1/-1}}

/* layout: table of contents + document */
.bsp-layout{display:grid;gap:22px}
.bsp-toc details{background:var(--card);border:3px solid var(--ink);border-radius:18px;box-shadow:4px 4px 0 var(--shadow);padding:12px 14px}
.bsp-toc summary{cursor:pointer;font-weight:900;font-size:16px;color:var(--ink);list-style-position:inside}
.bsp-toc ol{margin:10px 0 0;padding-inline-start:22px;display:grid;gap:6px;font-size:15px}
.bsp-toc a{color:var(--ink) !important;text-decoration:none !important;font-weight:600}
.bsp-toc a:hover{text-decoration:underline !important;color:var(--blue) !important}
@media (min-width:1024px){.bsp-layout{grid-template-columns:270px minmax(0,1fr);align-items:start}.bsp-toc{position:sticky;top:86px}}
.bsp-doc{display:grid;gap:18px;min-width:0}
.bsp-lead{margin:0;padding:14px 16px;background:var(--card);border:3px solid var(--ink);border-inline-start:10px solid var(--yellow);border-radius:16px;font-size:17px;line-height:1.6;color:var(--ink)}
.bsp-card{background:var(--card);border:3px solid var(--ink);border-radius:20px;box-shadow:5px 5px 0 var(--shadow);padding:18px;scroll-margin-top:90px}
.bsp-card h2{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;font:900 clamp(19px,2.6vw,24px)/1.25 Rubik,system-ui,sans-serif;color:var(--ink)}
.bsp-n{flex:0 0 auto;display:inline-grid;place-items:center;width:34px;height:34px;border:3px solid #14110f;border-radius:11px;background:var(--yellow);color:#14110f;font-size:16px;box-shadow:2px 2px 0 #14110f;transform:rotate(-4deg)}
.bsp-prose{font-size:16px;line-height:1.7;color:var(--ink)}
.bsp-prose p{margin:0 0 10px}
.bsp-prose p:last-child{margin-bottom:0}
.bsp-list{margin:0 0 10px;padding:0;list-style:none;display:grid;gap:9px}
.bsp-list li{position:relative;padding-inline-start:26px}
.bsp-list li::before{content:"";position:absolute;inset-inline-start:2px;top:.55em;width:12px;height:12px;border:2px solid #14110f;border-radius:4px;background:var(--mint);transform:rotate(45deg)}
.bsp-note{padding:10px 12px;border:2px dashed var(--ink);border-radius:12px;background:var(--paper);font-weight:600}
@media (min-width:720px){.bsp-card{padding:24px 26px}.bsp-prose .bsp-list{margin-inline-start:4px}}

/* cookie tables */
.bsp-tablewrap{margin:0 0 6px}
.bsp-table{width:100%;border-collapse:separate;border-spacing:0;border:3px solid var(--ink);border-radius:14px;overflow:hidden;font-size:15px}
.bsp-table th{background:#14110f;color:#fff8e7;text-align:start;padding:10px 12px;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
html[data-theme="dark"] .bsp-table th{background:#fff8e7;color:#14110f}
.bsp-table td{padding:10px 12px;border-top:2px solid var(--line);vertical-align:top;color:var(--ink)}
.bsp-type{display:inline-block;padding:2px 9px;border:2px solid #14110f;border-radius:999px;font-size:12px;font-weight:800;color:#14110f;white-space:nowrap}
.bsp-type--nec{background:#cdf3e6}.bsp-type--fun{background:#fff1b8}.bsp-type--third{background:#ffd6e1}
@media (max-width:760px){
  .bsp-table,.bsp-table tbody,.bsp-table tr,.bsp-table td{display:block;width:100%}
  .bsp-table{border:0;border-radius:0;overflow:visible}
  .bsp-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .bsp-table tr{margin:0 0 12px;border:3px solid var(--ink);border-radius:14px;background:var(--card);box-shadow:3px 3px 0 var(--shadow);padding:6px 4px}
  .bsp-table td{display:grid;grid-template-columns:minmax(92px,38%) 1fr;gap:10px;border:0;padding:6px 10px}
  .bsp-table td::before{content:attr(data-label);font-weight:800;font-size:13px;color:var(--muted)}
  .bsp-table td>code,.bsp-table td>.bsp-type{justify-self:start;align-self:start}
}

/* contact + other products */
.bsp-contact{background:var(--yellow);border:3px solid #14110f;border-radius:22px;box-shadow:6px 6px 0 #14110f;padding:22px;color:#14110f}
.bsp-contact h2{margin:0 0 8px;font:900 clamp(20px,3vw,26px)/1.2 Rubik,system-ui,sans-serif;color:#14110f}
.bsp-contact p{margin:0 0 12px;color:#14110f}
.bsp-contact .bsp-btn{background:#fff}
.bsp-provider{font-size:14px;font-weight:700;margin:6px 0 0 !important}
.bsp-others{margin-top:30px}
.bsp-others h2{font:900 20px/1.2 Rubik,system-ui,sans-serif;margin:0 0 12px;color:var(--ink)}
.bsp-others ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.bsp-others a{display:inline-block;padding:7px 12px;border:2px solid var(--ink);border-radius:999px;background:var(--card);color:var(--ink) !important;text-decoration:none !important;font-weight:700;font-size:14px;box-shadow:2px 2px 0 var(--shadow)}
.bsp-others a:hover{background:var(--yellow);color:#14110f !important}

/* RTL */
[dir=rtl] .bsp-hero-img{transform:rotate(-1.2deg)}
[dir=rtl] .bsp-badge{transform:rotate(1.5deg)}

/* reduced motion */
@media (prefers-reduced-motion:reduce){.bsp-btn,.bsp-tabs a{transition:none}.bsp-btn:hover,.bsp-tabs a:hover{transform:none}}
@media print{.bh-site-nav,.bsp-toc,.bsp-tabs,.bsp-others,footer{display:none !important}.bsp-card,.bsp-hero{box-shadow:none}}

/* beat bs-legal.css «main a{color:… !important}» for buttons and navigation links (same specificity + html) */
html body.bs-legal.bsp main a.bsp-btn,html[data-theme="dark"] body.bs-legal.bsp main a.bsp-btn{color:#14110f !important;text-decoration:none !important}
html body.bs-legal.bsp main .bsp-tabs a,html body.bs-legal.bsp main .bsp-crumbs a,html body.bs-legal.bsp main .bsp-toc a,html body.bs-legal.bsp main .bsp-others a{color:var(--ink) !important;text-decoration:none !important}
html[data-theme="dark"] body.bs-legal.bsp main .bsp-tabs a,html[data-theme="dark"] body.bs-legal.bsp main .bsp-crumbs a,html[data-theme="dark"] body.bs-legal.bsp main .bsp-toc a,html[data-theme="dark"] body.bs-legal.bsp main .bsp-others a{color:var(--ink) !important}
html body.bs-legal.bsp main .bsp-tabs a.is-current,html[data-theme="dark"] body.bs-legal.bsp main .bsp-tabs a.is-current,html body.bs-legal.bsp main .bsp-others a:hover,html[data-theme="dark"] body.bs-legal.bsp main .bsp-others a:hover{color:#14110f !important}
html body.bs-legal.bsp main .bsp-toc a:hover,html body.bs-legal.bsp main .bsp-crumbs a:hover{text-decoration:underline !important}
html body.bs-legal.bsp main .bsp-contact a:not(.bsp-btn){color:#14110f !important}
/* long single words (Datenschutzerklärung, Personvernerklæring …) must wrap on phones */
.bsp-main :is(h1,h2,h3,.bsp-badge,.bsp-tabs a){overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
@media (max-width:420px){.bsp-hero h1{font-size:clamp(26px,8.4vw,34px)}.bsp-hero{padding:16px}}
.bsp-hero{grid-template-columns:minmax(0,1fr)}.bsp-hero-text,.bsp-hero-img{min-width:0}.bsp-badge{max-width:100%}
@media (min-width:880px){.bsp-hero{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.bsp-hero--noimg{grid-template-columns:minmax(0,1fr)}}
/* yellow / pastel blocks keep dark text in the dark theme too (WCAG AA) */
html[data-theme="dark"] body.bsp .bsp-contact :is(h2,p,strong),html[data-theme="dark"] body.bsp .bsp-glance-card :is(p,strong),html[data-theme="dark"] body.bsp .bsp-type,html[data-theme="dark"] body.bsp .bsp-n{color:#14110f !important}
