/* Cookie banner, settings sheet and footer button (approved mockup JrRXFFv2V7eF3CPxWU8dLX). Loads on every public page, so it stays small. */
.zd-cc[hidden],.zd-cc-modal[hidden],.zd-cc-pill[hidden]{display:none !important}
.zd-cc,.zd-cc-modal,.zd-cc-pill{font-family:'IBM Plex Sans Thai Looped','Noto Sans Thai',system-ui,sans-serif; font-size:16px; line-height:1.55; color:#1F3352}
.zd-cc *{box-sizing:border-box}
.zd-cc{position:fixed; z-index:99990; left:0; right:0; bottom:0; background:#FFFCF6; border-top:2px solid #E2702A; border-radius:20px 20px 0 0;
  box-shadow:0 -8px 24px rgba(31,51,82,.12); padding:18px 16px calc(16px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:12px}
.zd-cc-head{display:flex; gap:10px; align-items:center; color:#B4501C}
.zd-cc-head h2{margin:0; font-family:'Mitr',sans-serif; font-weight:500; font-size:18px; color:#1F3352}
.zd-cc p{margin:0; font-size:14px; color:#3D4A5F}
.zd-cc a,.zd-cc-modal a{color:#B4501C}
.zd-cc-btns{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
.zd-cc button,.zd-cc-modal button{font-family:'Mitr',sans-serif; cursor:pointer}
.zd-cc-no,.zd-cc-yes{min-height:48px; border-radius:12px; border:0; color:#fff; font-size:16px}
.zd-cc-no{background:#1F3352}
.zd-cc-yes{background:#B4501C}
.zd-cc-link{align-self:center; min-height:44px; background:none; border:0; color:#B4501C; font-size:15px; text-decoration:underline}
.zd-cc-modal{position:fixed; inset:0; z-index:99995}
.zd-cc-back{position:absolute; inset:0; background:rgba(31,51,82,.45)}
.zd-cc-sheet{position:absolute; left:0; right:0; bottom:0; max-height:92vh; overflow:auto; background:#FFFCF6; border-radius:20px 20px 0 0; padding:20px 16px calc(22px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:14px}
.zd-cc-top{display:flex; justify-content:space-between; align-items:center}
.zd-cc-top h2{margin:0; font-family:'Mitr',sans-serif; font-weight:500; font-size:20px}
.zd-cc-x{width:44px; height:44px; border:0; background:none; color:#1F3352; display:flex; align-items:center; justify-content:center}
.zd-cc-box{background:#FBF3E6; border-radius:14px; padding:14px 16px; display:flex; flex-direction:column; gap:6px}
.zd-cc-box p{margin:0; font-size:14px; color:#3D4A5F}
.zd-cc-row{display:flex; justify-content:space-between; align-items:center; gap:10px}
.zd-cc-on{font-size:13px; background:#E1EDE5; color:#2E5940; border-radius:999px; padding:2px 10px; white-space:nowrap}
.zd-cc-sw{position:relative; width:52px; height:30px; flex:0 0 52px; border-radius:999px; background:#C9BFAE; transition:background .15s}
.zd-cc-sw input{position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; width:100%; height:100%}
.zd-cc-knob{position:absolute; top:3px; left:3px; width:24px; height:24px; border-radius:50%; background:#fff; transition:transform .15s; pointer-events:none}
.zd-cc-sw:has(input:checked){background:#3F6B51}
.zd-cc-sw:has(input:checked) .zd-cc-knob{transform:translateX(22px)}
.zd-cc-sw:has(input:focus-visible){outline:3px solid #E2702A; outline-offset:2px}
.zd-cc-note{margin:0; font-size:13px; color:#6E6A60}
.zd-cc-save{min-height:50px; width:100%}
.zd-cc-pill{position:fixed; z-index:99980; left:12px; bottom:12px; min-height:44px; padding:0 16px; border-radius:999px; border:1px solid #D9C9AE; background:#FFFCF6; color:#1F3352; font-family:'Mitr',sans-serif; font-size:14px; cursor:pointer; box-shadow:0 2px 8px rgba(31,51,82,.12)}
html.zd-cc-lock{overflow:hidden}
.zd-cc :focus-visible,.zd-cc-modal :focus-visible,.zd-cc-pill:focus-visible{outline:3px solid #E2702A; outline-offset:2px}
@media (min-width:768px){
  .zd-cc{left:24px; right:auto; bottom:24px; width:460px; border:2px solid #E2702A; border-radius:18px; box-shadow:0 12px 32px rgba(31,51,82,.16); padding:20px}
  .zd-cc-btns{grid-template-columns:1fr 1fr}
  .zd-cc-link{align-self:flex-start; min-height:36px; font-size:14px}
  .zd-cc-sheet{left:50%; right:auto; bottom:auto; top:50%; width:460px; transform:translate(-50%,-50%); border-radius:20px}
}
.zd-cc-policy h2{font-family:'Mitr',sans-serif; font-weight:500; color:#1F3352}
.zd-cc-policy ol{padding-left:20px; display:flex; flex-direction:column; gap:8px}
/* compact variant for /nl/ (0.5.37): small strip, no heading, the page stays readable */
.zd-cc.zd-cc-nl{padding:10px 14px calc(10px + env(safe-area-inset-bottom)); gap:8px; border-radius:14px 14px 0 0}
.zd-cc.zd-cc-nl .zd-cc-head{display:none}
.zd-cc.zd-cc-nl p{font-size:13px; line-height:1.45}
.zd-cc.zd-cc-nl .zd-cc-no,.zd-cc.zd-cc-nl .zd-cc-yes{min-height:42px; font-size:15px}
.zd-cc.zd-cc-nl .zd-cc-link{min-height:32px; font-size:13px; padding:0}
@media (min-width:768px){ .zd-cc.zd-cc-nl{width:380px; padding:14px 16px; bottom:16px; left:16px} }
