/* PixelFaerie doc pages: shared base styles + cookie banner. Loaded before the page-specific css/pf-<page>.css. Bump ?v= in the <link> tags when you edit. */
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  :root{
    --choc:#3d2b1f; --mocha:#6b3f2a; --vanilla:#f5f0d8; --clay:#8c8070;
    --green:#8db600; --green-light:#c5e04a; --green-bg:#f0f7d4;
    --tangerine:#f28c28; --tan-light:#fef3e2;
    --raspberry:#d42b5a; --blueberry:#1a4580; --blue-light:#e8f0fb;
    --white:#ffffff; --off:#faf9f5; --slate:#5a6270;
    --ff:'Nunito',system-ui,-apple-system,Segoe UI,sans-serif;
    --ffb:'DM Sans',system-ui,-apple-system,Segoe UI,sans-serif;
  }
  html{scroll-behavior:smooth}
  body{background:var(--off);color:var(--choc);font-family:var(--ffb);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
  .pf{max-width:880px;margin:0 auto;padding:0 5vw}

  .bar{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 0;border-bottom:1px solid rgba(61,43,31,0.08)}
  .pf-logo{height:42px;width:auto;display:block}
  .bar .kick{font-family:var(--ff);font-weight:700;font-size:0.78rem;letter-spacing:0.04em;color:var(--slate)}

  .stag{display:inline-block;font-family:var(--ff);font-size:0.75rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;padding:0.35rem 0.9rem;border-radius:999px;margin-bottom:1.1rem;background:var(--green-bg);color:#5f7d00;border:1.5px solid rgba(141,182,0,0.25)}
  h1{font-family:var(--ff);font-size:clamp(2.4rem,5vw,3.8rem);font-weight:900;line-height:1.05;letter-spacing:-0.03em;color:var(--choc)}
  h1 .g{color:var(--green)}
  .hero{padding:3.5rem 0 2.2rem}
  .meta{margin-top:1.1rem;color:var(--slate);font-size:0.92rem;font-weight:500;line-height:1.7}
  .meta strong{color:var(--choc);font-weight:700}
  .intro{font-size:1rem;color:var(--slate);font-weight:300;line-height:1.75;margin-top:1.2rem;max-width:66ch}
  .intro a{word-break:break-word}
  .notice{background:var(--tan-light);border:1.5px solid rgba(242,140,40,0.35);border-radius:14px;padding:1rem 1.2rem;margin-top:1.4rem;font-family:var(--ff);font-weight:800;font-size:0.9rem;letter-spacing:0.02em;color:#a9560f}

  .sec{padding:2.4rem 0;border-top:1px solid rgba(61,43,31,0.08)}
  h2{font-family:var(--ff);font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:900;line-height:1.15;letter-spacing:-0.02em;color:var(--choc);margin-bottom:1rem;text-wrap:balance}
  .sec p{color:var(--slate);font-weight:300;line-height:1.75;font-size:0.98rem;margin-bottom:1rem;max-width:72ch}
  .sec p:last-child{margin-bottom:0}
  .sec p strong{color:var(--choc);font-weight:700}
  .sec p .cl{color:var(--choc);font-weight:800;font-family:var(--ff)}
  a{color:#5f7d00;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(141,182,0,0.4);word-break:break-word}
  a:hover{color:var(--green);border-bottom-color:var(--green)}

  /* rights / bullet lists */
  .rights{list-style:none;margin:0.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:0.7rem}
  .rights li{position:relative;padding-left:1.7rem;color:var(--slate);font-weight:300;line-height:1.7;font-size:0.98rem;max-width:72ch}
  .rights li::before{content:'';position:absolute;left:0.15rem;top:0.62em;width:8px;height:8px;border-radius:50%;background:var(--green)}
  .rights li strong{color:var(--choc);font-weight:700}

  /* legal-bases table */
  .tablewrap{overflow-x:auto;margin:0.6rem 0 0.2rem;border:1px solid rgba(61,43,31,0.1);border-radius:14px}
  table.ptable{border-collapse:collapse;width:100%;min-width:640px;font-size:0.88rem}
  .ptable th{background:var(--choc);color:var(--white);font-family:var(--ff);font-weight:800;text-align:left;padding:0.8rem 1rem;font-size:0.8rem;letter-spacing:0.02em}
  .ptable td{padding:0.8rem 1rem;border-top:1px solid rgba(61,43,31,0.09);color:var(--slate);font-weight:300;line-height:1.55;vertical-align:top}
  .ptable tr:nth-child(even) td{background:rgba(141,182,0,0.05)}
  .ptable td:first-child{color:var(--choc);font-weight:600}

  /* contact card */
  .contact{background:var(--white);border:1.5px solid rgba(61,43,31,0.09);border-left:4px solid var(--green);border-radius:16px;padding:1.6rem 1.9rem;margin-top:0.4rem}
  .contact .lbl{font-family:var(--ff);font-weight:800;font-size:0.78rem;letter-spacing:0.05em;text-transform:uppercase;color:var(--green);margin:0 0 0.35rem}
  .contact .lbl+.lbl{margin-top:1.2rem}
  .contact .row{color:var(--slate);font-size:0.96rem;font-weight:300;line-height:1.7}
  .contact .row strong{color:var(--choc);font-weight:700}

  .foot{border-top:1px solid rgba(61,43,31,0.08);margin-top:1rem;padding:2.2rem 0 3.5rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
  .foot .copy{color:var(--slate);font-size:0.85rem;font-weight:300}
  .back{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--ff);font-weight:800;font-size:0.9rem;color:var(--white);background:var(--green);padding:0.7rem 1.5rem;border-radius:999px;text-decoration:none;box-shadow:0 4px 16px rgba(141,182,0,0.3);transition:all .2s;border:none}
  .back:hover{background:#7aa300;transform:translateY(-2px);color:var(--white);border:none}

  @media(max-width:600px){
    .contact{padding:1.4rem 1.3rem}
    .foot{flex-direction:column;align-items:flex-start}
  }
  @media print{
    *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
    @page{margin:14mm}
    body{background:#fff}
    .pf{max-width:100%;padding:0}
    .back{display:none}
    .sec{break-inside:avoid}
    .tablewrap{overflow:visible}
    table.ptable{min-width:0}
    h1,h2{break-after:avoid}
  }

  /* Cookie banner */
.pf-cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;max-width:600px;margin:0 auto;background:#e9eaed;color:#3d2b1f;border:1px solid rgba(61,43,31,0.14);border-radius:14px;padding:1rem 1.2rem;box-shadow:0 16px 44px rgba(61,43,31,0.22);font-family:"DM Sans",system-ui,-apple-system,sans-serif;font-size:0.9rem;line-height:1.5;z-index:100000;display:none;flex-wrap:wrap;gap:0.8rem 1rem;align-items:center;justify-content:space-between}
.pf-cookie-banner.show{display:flex}
.pf-cookie-banner p{margin:0;flex:1 1 260px;color:#3d2b1f}
.pf-cookie-banner a{color:#5f7d00;font-weight:700;text-decoration:underline}
.pf-cookie-btns{display:flex;gap:0.6rem;flex:0 0 auto}
.pf-cookie-banner button{font-family:"Nunito",system-ui,sans-serif;font-weight:800;font-size:0.85rem;border-radius:999px;padding:0.55rem 1.4rem;cursor:pointer;border:none;transition:all .2s}
.pf-ck-accept{background:#8db600;color:#fff}
.pf-ck-accept:hover{background:#7aa300}
.pf-ck-decline{background:#d42b5a;color:#fff}
.pf-ck-decline:hover{background:#b91f49}
