/**
 * Cookie banner (template-parts/cookie-banner.php): a lime card in the bottom-right corner,
 * with a forest cookie that spins in.
 */
.jd-cookie { position: fixed; z-index: calc(var(--z-header) + 1); right: 24px; bottom: 24px; display: grid; gap: var(--space-4); width: min(400px, calc(100% - 32px)); max-height: calc(100vh - 48px); padding: 52px var(--space-6) var(--space-6); border-radius: var(--radius-lg); background: var(--lime); color: var(--forest); box-shadow: 0 30px 60px -24px rgba(35, 56, 49, .55); opacity: 0; translate: 0 40px; transition: opacity .5s, translate .7s var(--ease-out); }
.jd-cookie[hidden] { display: none; }
.jd-cookie.is-in { opacity: 1; translate: 0 0; }
.jd-cookie p { margin: 0; }
.jd-cookie__icon { position: absolute; left: var(--space-6); top: -28px; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--forest); color: var(--lime); box-shadow: 0 12px 24px -10px rgba(35, 56, 49, .6); }
.jd-cookie__icon svg { width: 32px; height: 32px; }
.jd-cookie.is-in .jd-cookie__icon { animation: jd-cookie-in 1.2s .4s var(--ease-out) both; }
@keyframes jd-cookie-in { 0% { rotate: -40deg; scale: .4; } 60% { rotate: 12deg; scale: 1.08; } 100% { rotate: 0deg; scale: 1; } }
.jd-cookie__label { font-size: var(--fs-small); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.jd-cookie__text { font-size: var(--fs-small); line-height: 1.6; }
.jd-cookie__text a { color: var(--forest); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.jd-cookie__btns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.jd-cookie__btn { height: 48px; padding: 0 16px; border: 0; border-radius: var(--radius-pill); background: var(--forest); color: var(--lime); font: 600 var(--fs-small)/1 var(--font-sans); white-space: nowrap; cursor: pointer; transition: translate var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.jd-cookie__btn--no { background: var(--surface); color: var(--forest); }
.jd-cookie__btn:hover { translate: 0 -2px; box-shadow: 0 10px 20px -12px rgba(35, 56, 49, .6); }
.jd-cookie__btn:focus-visible, .jd-cookie__text a:focus-visible { outline: 2px solid var(--forest); outline-offset: 3px; }

@media (max-width: 600px) {
  .jd-cookie { right: 16px; bottom: 16px; padding: 48px var(--space-5) var(--space-5); }
  .jd-cookie__icon { left: var(--space-5); }
}
@media (prefers-reduced-motion: reduce) {
  .jd-cookie { transition: opacity .3s; translate: 0 0; }
  .jd-cookie.is-in .jd-cookie__icon { animation: none; }
}
@media print { .jd-cookie { display: none !important; } }
