/* Consent banner (inc/consent.php + assets/js/consent.js). Loaded only when a tracking tool is configured. */
.dt-consent[hidden]{display:none}
.dt-consent{position:fixed;left:16px;bottom:16px;z-index:200;max-width:440px;width:calc(100% - 32px);background:#052a42;color:#eaf8fb;border:1px solid rgba(159,231,240,.35);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.5);font:500 14px/1.55 var(--f-body,system-ui,sans-serif);hyphens:manual;-webkit-hyphens:manual}
.dt-consent,.dt-consent *{hyphens:manual;-webkit-hyphens:manual}
.dt-consent-in{padding:18px 18px 16px}
.dt-consent h2{margin:0 0 6px;font:800 17px/1.3 var(--f-display,var(--f-body,system-ui,sans-serif));color:#fff}
.dt-consent p{margin:0 0 14px;color:#d6edf2}
.dt-consent a{color:#9fe7f0;text-decoration:underline;text-underline-offset:3px}
.dt-consent-btns{display:flex;gap:10px;flex-wrap:wrap}
/* both choices look the same: equal size, weight and colour */
.dt-consent-btn{flex:1 1 150px;min-height:44px;padding:0 16px;border-radius:999px;border:2px solid #9fe7f0;background:#9fe7f0;color:#04172a;font:800 14px/1 var(--f-body,system-ui,sans-serif);cursor:pointer;transition:background .2s,border-color .2s}
.dt-consent-btn:hover{background:#c8f3f8;border-color:#c8f3f8}
.dt-consent-btn:focus-visible,.dt-consent a:focus-visible,.dt-consent-open:focus-visible{outline:3px solid #ff8a4c;outline-offset:3px}
.dt-consent-open{background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.dt-consent-open[hidden]{display:none}
/* phones: bottom sheet above the tab bar / book bar / chat button (--dt-bar-h is set by consent.js), page padding keeps the last content reachable */
@media (max-width:760px){.dt-consent-in{padding:14px 14px 12px}.dt-consent{font-size:13px;line-height:1.45}.dt-consent h2{font-size:15px}.dt-consent p{margin-bottom:10px}.dt-consent-btn{min-height:42px;flex-basis:130px}.dt-consent{left:8px;right:8px;bottom:calc(var(--dt-bar-h,0px) + 8px);width:auto;max-width:none;max-height:calc(100vh - var(--dt-bar-h,0px) - 16px);max-height:calc(100dvh - var(--dt-bar-h,0px) - 16px);overflow:auto;overscroll-behavior:contain}html.dt-consent-open body{padding-bottom:calc(var(--dt-consent-h,0px) + var(--dt-bar-h,0px) + 12px)}}
@media (prefers-reduced-motion:no-preference){.dt-consent{animation:dt-consent-in .25s ease-out}}
@keyframes dt-consent-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media print{.dt-consent{display:none}}
