/* Blixtflow – cookierutan (laddas bara när spårning är påslagen). Lika tydliga knappar för att godkänna
   och neka, inga förkryssade val – så som IMY och EDPB kräver. */
.cc { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 90; display: flex; justify-content: flex-start; pointer-events: none; }
.cc[hidden] { display: none; }
.cc__card { width: min(440px, 100%); padding: 20px; border-radius: 24px; color: var(--ink); background: #fff; box-shadow: 0 0 0 1px var(--line), 0 30px 70px -20px rgba(44, 14, 61, .55); opacity: 0; transform: translateY(20px) scale(.98); transition: opacity .3s, transform .45s var(--spring); pointer-events: auto; }
.cc.is-on .cc__card { opacity: 1; transform: none; }
.cc__top { display: grid; grid-template-columns: auto 1fr; gap: 14px; }
.cc__ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: var(--natt); background: var(--gnista); }
.cc__ic svg { width: 22px; height: 22px; }
.cc__title { font-size: 1.05rem; font-weight: 800; }
.cc__text { margin-top: 4px; font-size: .88rem; line-height: 1.5; color: var(--ink-2); }
.cc__text a { font-weight: 700; color: var(--primar-ink); text-decoration: underline; text-underline-offset: 3px; }
.cc__prefs { display: grid; gap: 8px; margin-top: 14px; }
.cc__prefs[hidden] { display: none; }
.cc__opt { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 16px; cursor: pointer; background: var(--ljus); }
.cc__opt span { display: grid; }
.cc__opt b { font-size: .9rem; }
.cc__opt small { font-size: .78rem; line-height: 1.4; color: var(--muted); }
.cc__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cc__opt i { position: relative; flex: none; width: 42px; height: 24px; border-radius: 999px; background: var(--line); transition: background-color .25s; }
.cc__opt i::after { content: ""; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, .2); transition: transform .3s var(--spring); }
.cc__opt input:checked + i { background: var(--ok); }
.cc__opt input:checked + i::after { transform: translateX(18px); }
.cc__opt input:disabled + i { opacity: .55; }
.cc__opt input:focus-visible + i { outline: 3px solid var(--primar); outline-offset: 2px; }
.cc__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.cc__btn { padding: 11px 12px; border: 0; border-radius: 13px; cursor: pointer; font: inherit; font-size: .88rem; font-weight: 800; transition: transform .25s var(--spring), background-color .2s; }
.cc__btn[hidden] { display: none; }
.cc__btn:hover { transform: translateY(-1px); }
.cc__btn--main, .cc__btn--line { color: #fff; background: var(--natt); }
.cc__btn--ghost { grid-column: 1 / -1; color: var(--primar-ink); background: transparent; text-decoration: underline; text-underline-offset: 3px; }
.cc__btn:focus-visible { outline: 3px solid var(--primar); outline-offset: 2px; }
/* 4.109.0: samtyckes-id:t i inställningarna – så kan besökaren hänvisa till sitt val */
.cc__id { margin: 4px 2px 0; font-size: .74rem; color: var(--muted); overflow-wrap: anywhere; }
.cc__id[hidden] { display: none; }
.cc__id code { font-size: .72rem; }
