/* Compact cookie control: expands on hover/focus on desktop and tap on phones. */
.cookie-banner{position:fixed;z-index:10000;left:1rem;bottom:1rem;width:max-content;max-width:min(420px,calc(100vw - 2rem));padding:.25rem .4rem;background:var(--text-main);color:var(--bg-card);border:1px solid var(--text-muted);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.25);font-size:.76rem}
.cookie-banner[hidden],.cookie-backdrop[hidden]{display:none}
.cookie-mobile-toggle{display:inline-flex;align-items:center;gap:.4rem;min-height:0;padding:.22rem .3rem;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;line-height:1.25;cursor:pointer}
.cookie-notice-count{display:inline-grid;place-items:center;min-width:1rem;height:1rem;padding:0 .22rem;background:var(--primary);color:var(--text-main);border-radius:999px;font-size:.62rem;line-height:1;font-weight:800}
.cookie-toggle-icon{font-size:.75rem;transition:transform .18s ease}
.cookie-banner-details{display:none;padding:.45rem .3rem .2rem}
.cookie-banner:hover .cookie-banner-details,.cookie-banner:focus-within .cookie-banner-details,.cookie-banner.is-expanded .cookie-banner-details{display:block}
.cookie-banner:hover .cookie-toggle-icon,.cookie-banner:focus-within .cookie-toggle-icon,.cookie-banner.is-expanded .cookie-toggle-icon{transform:rotate(180deg)}
.cookie-banner h2,.cookie-dialog h2,.cookie-category h3{margin:0 0 .25rem}
.cookie-banner p,.cookie-dialog p,.cookie-category p{margin:0;line-height:1.45}
.cookie-banner p{font-size:.7rem}
.cookie-banner a{color:var(--primary);text-decoration:underline}
.cookie-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.cookie-banner .cookie-actions{margin-top:.45rem}
.cookie-button{min-height:32px;padding:.28rem .5rem;border:1px solid var(--text-main);border-radius:3px;background:var(--bg-card);color:var(--text-main);font:inherit;font-size:.7rem;font-weight:600;cursor:pointer}
.cookie-button-primary{background:var(--primary);border-color:var(--primary);color:var(--text-main)}
.cookie-button:focus-visible,.cookie-mobile-toggle:focus-visible,.footer-cookie-link:focus-visible,.cookie-close:focus-visible,.cookie-toggle input:focus-visible+span{outline:3px solid var(--primary);outline-offset:3px}
.cookie-backdrop{position:fixed;z-index:10001;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:rgba(0,0,0,.56)}
.cookie-dialog{position:relative;width:min(460px,100%);max-height:75vh;overflow:auto;padding:1rem;background:var(--bg-card);color:var(--text-main);border:1px solid var(--border);border-radius:8px;box-shadow:0 18px 55px rgba(0,0,0,.3);font-size:.8rem}
.cookie-close{position:absolute;right:.7rem;top:.35rem;border:0;background:transparent;color:var(--text-main);font-size:1.55rem;cursor:pointer}
.cookie-category{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.6rem 0;border-bottom:1px solid var(--border)}
.cookie-category:first-of-type{margin-top:.7rem;border-top:1px solid var(--border)}
.cookie-toggle{white-space:nowrap;font-size:.72rem;font-weight:600}
.cookie-toggle input{width:1rem;height:1rem;margin-right:.25rem;accent-color:#8a6533}
.cookie-dialog .cookie-actions{margin-top:.75rem}
.cookie-dialog-open{overflow:hidden}
.footer-cookie-link{padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.footer-cookie-link:hover{text-decoration:underline}
.legal-page{padding:9rem 0 5rem;background:#faf9f6}.legal-page article{max-width:880px;margin:auto;padding:2rem;background:#fff;border:1px solid #e1dfd8}.legal-page h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:.5rem}.legal-page h2{margin:2rem 0 .6rem;font-size:1.45rem}.legal-page h3{margin:1.35rem 0 .45rem}.legal-page p,.legal-page li{line-height:1.75}.legal-meta{color:#59645c}.legal-page table{width:100%;border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}.legal-page th,.legal-page td{text-align:left;vertical-align:top;padding:.75rem;border:1px solid #d8ddd9}.legal-notice{padding:1rem;border-left:4px solid #bd955a;background:#f7f2e9}
@media(max-width:760px){
  .cookie-banner{left:.65rem;bottom:max(.65rem,env(safe-area-inset-bottom));max-width:calc(100vw - 1.3rem);padding:.2rem .35rem !important;border-radius:999px}
  .cookie-banner:hover .cookie-banner-details{display:none}
  .cookie-banner.is-expanded{width:min(310px,calc(100vw - 1.3rem));padding:.2rem .35rem !important;border-radius:10px}
  .cookie-banner.is-expanded .cookie-banner-details{display:block;padding:.55rem .4rem .3rem !important}
  .cookie-banner.is-expanded .cookie-mobile-toggle{width:100%}
  .cookie-banner .cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.45rem}
  .cookie-banner .cookie-button{min-height:30px;padding:.25rem;font-size:.66rem}
  .cookie-banner [data-consent-action="manage"]{grid-column:1 / -1}
  .cookie-backdrop{padding:0;align-items:flex-end}
  .cookie-dialog{width:100%;max-height:80vh;padding:1rem .85rem calc(.7rem + env(safe-area-inset-bottom));border:0;border-radius:14px 14px 0 0;font-size:.76rem}
  .cookie-dialog h2{font-size:1rem;padding-right:1.7rem}.cookie-category{padding:.55rem 0}.cookie-category h3{font-size:.82rem}.cookie-category p{font-size:.68rem}.cookie-dialog .cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.cookie-dialog .cookie-button{min-height:34px;font-size:.68rem}.cookie-dialog [data-consent-action="save"]{grid-column:1 / -1}.legal-page article{padding:1.25rem}
}
