/* Cookie preferences use the existing site palette and remain non-modal. */
body{padding-bottom:var(--cookie-space,0px)}
.cookie-banner{position:fixed;z-index:90;inset:auto 0 0;margin:0;width:100%;max-width:none;display:flex;align-items:center;gap:24px;padding:12px max(24px,5vw) max(12px,env(safe-area-inset-bottom));background:var(--panel,#111);color:var(--white,#fff);border:0;border-top:1px solid var(--line,#35312c);border-radius:0;box-shadow:0 8px 32px #0006;text-align:left;font-family:Arial,Helvetica,sans-serif;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto}
.cookie-banner[hidden],.cookie-banner [hidden]{display:none!important}
.cookie-copy{flex:1;min-width:0}
.cookie-banner h2{display:inline;margin:0 10px 0 0;font-size:14px;line-height:1.4;letter-spacing:0;font-weight:700;text-transform:none}
.cookie-banner p{display:inline;margin:0;font-size:13px;line-height:1.4;color:var(--muted,#b9b0a5)}
.cookie-details{margin-top:4px;font-size:13px;line-height:1.5}
.cookie-details summary{cursor:pointer;display:list-item;width:fit-content;text-decoration:underline;text-underline-offset:3px}
.cookie-details>div{padding-top:12px;max-width:620px}
.cookie-details p{display:block}.cookie-details p+p{margin-top:8px}
.cookie-details a{display:inline-block;margin-top:10px;text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;flex-direction:row;gap:10px;flex:0 0 auto}
.cookie-button{width:auto;min-height:44px;white-space:normal;overflow-wrap:normal;word-break:normal;padding:12px 18px;border:1px solid var(--orange,#ff651a);border-radius:999px;background:var(--orange,#ff651a);color:#080808;font:700 13px/1.25 Arial,Helvetica,sans-serif;cursor:pointer;text-align:center}
.cookie-button:hover{filter:brightness(1.08)}
.cookie-settings{border:0;background:none;color:inherit;font:inherit;padding:8px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:44px}
.cookie-preferences-footer{display:flex;justify-content:center;padding:12px 24px;color:var(--muted,#b9b0a5);font:12px/1.5 Arial,Helvetica,sans-serif}
.cookie-banner .cookie-error{margin-top:10px;color:var(--white,#fff)}
.cookie-banner :is(button,a,summary):focus-visible,.cookie-settings:focus-visible{outline:2px solid var(--orange,#ff651a);outline-offset:4px}
.cookie-banner:has(details[open]){align-items:flex-start;max-height:calc(100dvh - 32px);overflow:auto}
@media(max-width:760px){.cookie-banner{padding:12px 16px max(12px,env(safe-area-inset-bottom));gap:10px;flex-direction:column;align-items:stretch}.cookie-actions{flex:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.cookie-button{width:100%;padding:10px 8px;font-size:12px;min-height:44px}.cookie-banner h2{font-size:14px}.cookie-banner p{font-size:12px}}

/* Isolate the compact notice from the catalog's global accordion styles. */
#cookie-banner .cookie-details{margin:4px 0 0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;min-height:0}
#cookie-banner .cookie-details>summary{display:block;margin:0;padding:0;border:0;min-height:0;width:fit-content;font:inherit;font-size:12px;line-height:1.4;list-style:none}
#cookie-banner .cookie-details>summary::after,#cookie-banner .cookie-details>summary::before{content:none;display:none}
#cookie-banner .cookie-details>summary::-webkit-details-marker{display:none}
#cookie-banner .cookie-details>div{margin:0;padding:8px 0 0;border:0}
#cookie-banner .cookie-actions{margin:0;padding:0;border:0}
@media(max-width:760px){
 #cookie-banner{gap:8px;padding:10px 14px max(10px,env(safe-area-inset-bottom))}
 #cookie-banner h2{display:inline;font-size:13px;line-height:1.35;margin-right:6px}
 #cookie-banner .cookie-copy>p{font-size:12px;line-height:1.35}
 #cookie-banner .cookie-button{min-height:44px;margin:0;padding:8px 12px;font-size:13px;line-height:1.2}
}

/* Use the site's filled and outline button treatments without oversized controls. */
#cookie-banner .cookie-button{background:var(--orange,#ff651a);background-image:none;box-shadow:none;border:1px solid var(--orange,#ff651a);min-height:44px;padding:9px 18px;font-size:13px;font-weight:600;line-height:1.2}
#cookie-banner .cookie-button[data-cookie-choice="reject"]{background:transparent;background-image:none;color:var(--white,#fff);border-color:var(--orange,#ff651a)}
#cookie-banner .cookie-button[data-cookie-choice="reject"]:hover{background:rgba(226,118,66,.08);filter:none}
@media(max-width:760px){
 #cookie-banner .cookie-actions{display:flex;justify-content:flex-end;gap:8px}
 #cookie-banner .cookie-button{width:auto;flex:0 1 auto;min-width:108px;padding:9px 16px}
}

/* The corgi brings in the notice once; consent controls never wait for motion. */
#cookie-banner{animation:cookie-slide-in 1400ms cubic-bezier(.22,.61,.36,1) both}
#cookie-banner h2{display:block;font-size:16px;line-height:1.3;margin:0 78px 6px 0;font-weight:700;letter-spacing:0}
#cookie-banner .cookie-copy>p{display:block;padding-right:0}
#cookie-banner .cookie-corgi{position:absolute;right:22px;top:3px;width:70px;height:59px;pointer-events:none}
#cookie-banner .cookie-corgi svg{display:block;width:100%;height:100%;fill:none;stroke:none;overflow:visible}
#cookie-banner .corgi-pull{transform-origin:60px 96px;animation:corgi-tug 1400ms cubic-bezier(.22,.61,.36,1) both}
#cookie-banner .cookie-copy{padding-right:75px}
@keyframes cookie-slide-in{from{transform:translateY(calc(100% + 90px))}to{transform:translateY(0)}}
@keyframes corgi-tug{from{transform:rotate(0deg) scaleY(.96)}to{transform:rotate(0deg) scaleY(1)}}
@media(max-width:760px){
 #cookie-banner h2{font-size:15px;margin-bottom:5px;margin-right:64px}
 #cookie-banner .cookie-corgi{right:13px;top:0;width:62px;height:52px}
 #cookie-banner .cookie-copy{padding-right:0}
 #cookie-banner .cookie-copy>p{padding-right:64px}
}
@media(prefers-reduced-motion:reduce){#cookie-banner,#cookie-banner .corgi-pull{animation:none}}

/* Head above the notice, paws overlap its top edge. Scroll copy, not the mascot. */
#cookie-banner,#cookie-banner:has(details[open]){overflow:visible;max-height:calc(100dvh - 100px)}
#cookie-banner .cookie-corgi{width:96px;height:80px;top:-74px;right:26px;z-index:1}
#cookie-banner .cookie-copy{padding-right:0;max-height:calc(100dvh - 180px);overflow:auto;overscroll-behavior:contain}
#cookie-banner .cookie-copy>p{padding-right:0}
#cookie-banner h2{margin-right:0}
@media(max-width:760px){
 #cookie-banner .cookie-corgi{width:80px;height:67px;top:-62px;right:20px}
 #cookie-banner .cookie-copy{max-height:calc(100dvh - 190px)}
 #cookie-banner .cookie-copy>p{padding-right:0}
}

/* Match the saved live interface palette, independent of preview theme tokens. */
#cookie-banner{background:rgba(24,23,21,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#cookie-banner .cookie-button[data-cookie-choice="accept"]{background:#ff641f;color:#17100b;border-color:transparent;font-weight:500}
#cookie-banner .cookie-button[data-cookie-choice="accept"]:hover{background:#ff8246;filter:none}
#cookie-banner .cookie-button[data-cookie-choice="reject"]{background:transparent;color:#faf6f4;border-color:rgba(255,255,255,.22);font-weight:500}
#cookie-banner .cookie-button[data-cookie-choice="reject"]:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.22)}

/* Quiet mascot motion; the notice itself stays still after entrance. */
#cookie-banner{border:0;box-shadow:none}
#cookie-banner .cookie-button[data-cookie-choice="reject"],#cookie-banner .cookie-button[data-cookie-choice="reject"]:hover{border-color:transparent}
#cookie-banner .corgi-ears{transform-origin:60px 36px;animation:corgi-ears 7s ease-in-out 1.5s infinite}
#cookie-banner .corgi-tongue{transform-origin:60px 78px;animation:corgi-pant 3.5s ease-in-out 1.5s infinite}
@keyframes corgi-ears{0%,70%,86%,100%{transform:rotate(0deg)}75%{transform:rotate(-3deg)}81%{transform:rotate(2deg)}}
@keyframes corgi-pant{0%,65%,100%{transform:scaleY(1)}76%{transform:scaleY(1.22)}86%{transform:scaleY(1)}}

@media(prefers-reduced-motion:reduce){#cookie-banner .corgi-ears,#cookie-banner .corgi-tongue{animation:none}}

/* Broad corgi cheeks and large rounded upright ears remain legible at small sizes. */
#cookie-banner .cookie-corgi{width:112px;height:98px;top:-94px}
#cookie-banner .corgi-ears{transform-origin:80px 58px}
#cookie-banner .corgi-tongue{transform-origin:80px 109px}
@media(max-width:760px){#cookie-banner .cookie-corgi{width:96px;height:84px;top:-81px}}

/* Selected original mascot: stationary glasses, only the ears move. */
#cookie-banner .cookie-corgi{width:96px;height:80px;top:-74px}
#cookie-banner .corgi-ears{transform-origin:60px 36px}
#cookie-banner .corgi-tongue,#cookie-banner .corgi-pull{animation:none}
@media(max-width:760px){#cookie-banner .cookie-corgi{width:80px;height:67px;top:-62px}}

#cookie-banner .cookie-button[data-cookie-choice="reject"],#cookie-banner .cookie-button[data-cookie-choice="reject"]:hover{border:1px solid rgba(255,255,255,.22)}

.footer-documents .cookie-settings{display:block;align-self:flex-start;text-align:left;text-decoration:none;padding:0;min-height:0;line-height:inherit}
.footer-documents .cookie-settings:hover{text-decoration:underline}

/* Match the document links, including their inherited family and row spacing. */
.site-footer.unified-footer.footer-reference .footer-documents>.cookie-settings{
 display:block;box-sizing:border-box;width:auto;max-width:none;height:auto;min-height:32px;
 margin:4px 0 0;padding:7px 0 3px;border:0;border-radius:0;background:transparent;box-shadow:none;
 font-family:inherit;font-size:13px;font-weight:400;line-height:15px;letter-spacing:normal;
 color:#f5f2ef;text-align:left;text-transform:none;text-decoration:none;white-space:normal;
}
.site-footer.unified-footer.footer-reference .footer-documents>.cookie-settings:hover{color:#ff641f;text-decoration:none}

.site-footer.unified-footer.footer-reference .footer-documents>.cookie-settings{margin-top:12px}

/* BUG-041: Keep cookie consent reachable above the mobile navigation dock. */
@media (max-width:767px) {
  html:has(#cookie-banner:not([hidden])) .mobile-dock {
    visibility:hidden !important;
    pointer-events:none !important;
  }
  #cookie-banner:not([hidden]),
  #cookie-banner:not([hidden]):has(details[open]) {
    z-index:130;
    box-sizing:border-box;
    max-height:calc(100dvh - 96px - env(safe-area-inset-top,0px));
    overflow:visible;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding-bottom:max(16px,env(safe-area-inset-bottom,0px));
  }
  #cookie-banner:not([hidden]) .cookie-copy {
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  #cookie-banner:not([hidden]) .cookie-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    flex:0 0 auto;
    width:100%;
  }
  #cookie-banner:not([hidden]) .cookie-actions>.cookie-button {
    width:100%;
    min-width:0;
    touch-action:manipulation;
  }
}
