.kub-cookie[hidden] { display: none !important; }
.kub-cookie {
  position: fixed; left: clamp(14px,2.2vw,30px); right: clamp(14px,2.2vw,30px); bottom: clamp(14px,2.2vw,30px); z-index: 10040;
  display: grid; grid-template-columns: 90px minmax(0,1fr) auto; gap: 26px; align-items: center;
  padding: clamp(18px,2.5vw,28px); background: rgba(15,15,15,.96); color: #fff; border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 20px 80px rgba(0,0,0,.28); backdrop-filter: blur(18px); animation: kubCookieIn .48s cubic-bezier(.22,1,.36,1) both;
}
.kub-cookie__brand { width: 70px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.22); color: var(--orange); font-family: var(--display); font-size: 3.4rem; font-weight: 800; line-height: 1; }
.kub-cookie__copy p { margin: 0; }
.kub-cookie__copy .eyebrow { margin-bottom: 7px; color: var(--orange); }
.kub-cookie__copy #kub-cookie-desc { max-width: 800px; color: rgba(255,255,255,.68); font-size: .85rem; line-height: 1.55; }
.kub-cookie__copy a { display: inline-block; margin-top: 7px; color: rgba(255,255,255,.72); font-size: .68rem; text-decoration: underline; text-underline-offset: 4px; }
.kub-cookie__actions { display: flex; gap: 8px; }
.kub-cookie__actions button { min-width: 150px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.4); background: transparent; color: #fff; cursor: pointer; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.kub-cookie__actions .kub-cookie__accept { border-color: var(--orange); background: var(--orange); color: #fff; }
.footer-cookie-button { padding: 0; border: 0; border-bottom: 1px solid transparent; background: transparent; color: inherit; cursor: pointer; font: inherit; font-size: .9rem; text-align: left; }
.footer-cookie-button:hover { border-bottom-color: currentColor; }
@keyframes kubCookieIn { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@media (max-width: 860px) { .kub-cookie { grid-template-columns: 1fr; gap: 16px; } .kub-cookie__brand { width: 54px; font-size: 2.6rem; } .kub-cookie__actions { flex-wrap: wrap; } }
@media (max-width: 520px) { .kub-cookie__actions { display: grid; grid-template-columns: 1fr 1fr; } .kub-cookie__actions button { min-width: 0; } }
@media (prefers-reduced-motion: reduce) { .kub-cookie { animation: none; } }

/* Cookies information / preference centre */
.cookie-page { background: #f2f0eb; color: #0b0b0b; min-height: 100vh; }
.cookie-page__hero { padding-top: clamp(150px, 18vw, 250px); padding-bottom: clamp(80px, 10vw, 150px); }
.cookie-page__hero h1 { margin: 22px 0 48px; max-width: 1180px; font-family: var(--display); font-size: clamp(4.8rem, 12vw, 12.5rem); font-weight: 800; line-height: .79; letter-spacing: -.075em; }
.cookie-page__hero h1 span { color: #8b8b8b; }
.cookie-page__intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .52fr); gap: 10vw; align-items: end; }
.cookie-page__intro > p { max-width: 700px; margin: 0; font-size: clamp(1.15rem, 2vw, 2rem); line-height: 1.35; }
.cookie-page__status { padding-top: 14px; border-top: 1px solid rgba(0,0,0,.25); }
.cookie-page__status span { display: block; margin-bottom: 10px; font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.cookie-page__status strong { font-size: 1rem; font-weight: 650; }
.cookie-page__notice { margin-bottom: 34px; padding: 16px 20px; border: 1px solid rgba(0,0,0,.18); background: #fff; font-weight: 650; }
.cookie-page__controls { display: grid; grid-template-columns: minmax(0, .8fr) minmax(320px, 1.1fr); gap: 10vw; padding-top: 70px; padding-bottom: 90px; border-top: 1px solid rgba(0,0,0,.18); }
.cookie-page__controls h2, .cookie-page__heading h2, .cookie-page__privacy h2 { margin: 12px 0 24px; font-family: var(--display); font-size: clamp(2.6rem, 5vw, 5.8rem); line-height: .92; letter-spacing: -.05em; }
.cookie-page__controls p { max-width: 570px; line-height: 1.7; }
.cookie-page__actions { display: grid; align-content: start; gap: 10px; }
.cookie-page__actions form { margin: 0; }
.cookie-choice, .cookie-page__open-banner { width: 100%; min-height: 62px; padding: 0 22px; border: 1px solid #0b0b0b; cursor: pointer; font: inherit; font-size: .75rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; transition: transform .22s ease, background .22s ease, color .22s ease; }
.cookie-choice:hover, .cookie-page__open-banner:hover { transform: translateY(-2px); }
.cookie-choice--primary { background: #0b0b0b; color: #fff; }
.cookie-choice--secondary { background: transparent; color: #0b0b0b; }
.cookie-page__open-banner { margin-top: 4px; border-color: transparent; background: transparent; color: #0b0b0b; text-align: left; }
.cookie-page__details { padding-top: 100px; padding-bottom: 120px; border-top: 1px solid rgba(0,0,0,.18); }
.cookie-page__heading { display: grid; grid-template-columns: .45fr 1fr; gap: 8vw; align-items: start; margin-bottom: 62px; }
.cookie-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(0,0,0,.22); border-left: 1px solid rgba(0,0,0,.22); }
.cookie-card { min-height: 310px; padding: clamp(28px, 4vw, 52px); border-right: 1px solid rgba(0,0,0,.22); border-bottom: 1px solid rgba(0,0,0,.22); }
.cookie-card--optional { background: #111; color: #fff; }
.cookie-card__top { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 70px; font-size: .63rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.cookie-card__top b { color: #777; font: inherit; }
.cookie-card h3 { margin: 0 0 18px; font-family: var(--display); font-size: clamp(1.45rem, 2.3vw, 2.6rem); letter-spacing: -.035em; overflow-wrap: anywhere; }
.cookie-card p { max-width: 650px; margin: 0; line-height: 1.65; color: #555; }
.cookie-card--optional p { color: rgba(255,255,255,.67); }
.cookie-page__privacy { padding-top: 110px; padding-bottom: 140px; border-top: 1px solid rgba(0,0,0,.18); }
.cookie-page__privacy > p:not(.eyebrow) { max-width: 820px; font-size: clamp(1.08rem, 1.6vw, 1.45rem); line-height: 1.7; }
.cookie-page__privacy .text-link { display: inline-block; margin-top: 26px; color: inherit; font-weight: 800; text-underline-offset: 6px; }
.kub-cookie__links { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.footer-cookie-button { text-decoration: none; }

@media (max-width: 820px) {
  .cookie-page__intro, .cookie-page__controls, .cookie-page__heading { grid-template-columns: 1fr; gap: 34px; }
  .cookie-list { grid-template-columns: 1fr; }
  .cookie-page__hero h1 { font-size: clamp(4rem, 19vw, 8rem); }
  .cookie-card { min-height: 0; }
  .cookie-card__top { margin-bottom: 46px; }
}
