/* Cookie consent banner (snatek-consent.js). Bottom-left card on desktop,
   full-width sheet on phones. Never blocks the page. */
.sn-consent{position:fixed;left:clamp(.75rem,2vw,1.5rem);bottom:clamp(.75rem,2vw,1.5rem);z-index:100000;width:min(440px,calc(100vw - 1.5rem));
  font-family:var(--sn-ff-body);visibility:hidden;opacity:0;transform:translateY(16px);transition:opacity .35s var(--sn-ease),transform .35s var(--sn-ease),visibility 0s .35s}
.sn-consent.is-open{visibility:visible;opacity:1;transform:none;transition:opacity .35s var(--sn-ease),transform .35s var(--sn-ease)}
.sn-consent__card{background:var(--sn-surface);color:var(--sn-ink);border:1px solid var(--sn-line);border-radius:var(--sn-r);box-shadow:var(--sn-shadow-lg);
  padding:1.25rem 1.25rem 1.1rem;max-height:calc(100dvh - 1.5rem);overflow:auto}
.sn-consent__title{font-family:var(--sn-ff-display);font-size:1.05rem;line-height:1.3;font-weight:700;margin:0 0 .45rem;color:var(--sn-ink)}
.sn-consent__text{font-size:.875rem;line-height:1.55;color:var(--sn-muted);margin:0 0 1rem}
.sn-consent__text a{color:var(--sn-link);text-decoration:underline;text-underline-offset:2px}
.sn-consent__prefs{margin:0 0 1rem;border-top:1px solid var(--sn-line-soft)}
.sn-consent__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--sn-line-soft);cursor:pointer}
.sn-consent__row:first-child{cursor:default}
.sn-consent__row b{display:block;font-size:.875rem;font-weight:600;color:var(--sn-ink)}
.sn-consent__row small{display:block;font-size:.8rem;line-height:1.45;color:var(--sn-muted);margin-top:.15rem}
.sn-consent__always{flex:none;font-size:.75rem;font-weight:600;color:var(--sn-deep)}
.sn-consent__switch{flex:none;appearance:none;-webkit-appearance:none;width:44px;height:26px;border-radius:999px;background:#C9D6DD;position:relative;cursor:pointer;margin:0;transition:background .2s}
.sn-consent__switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s var(--sn-ease)}
.sn-consent__switch:checked{background:var(--sn-deep)}
.sn-consent__switch:checked::after{transform:translateX(18px)}
.sn-consent__switch:focus-visible{outline:2px solid var(--sn-electric);outline-offset:2px}
.sn-consent__actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
/* Hello Elementor paints every button hover crimson; set every state here */
.sn-consent .sn-consent__btn,.sn-consent .sn-consent__btn:focus{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.6rem 1rem;
  font:600 .875rem/1.2 var(--sn-ff-body);border-radius:var(--sn-r-sm);border:1px solid var(--sn-deep);background:var(--sn-deep);color:#fff;cursor:pointer;text-transform:none;letter-spacing:0}
.sn-consent .sn-consent__btn:hover,.sn-consent .sn-consent__btn:active{background:var(--sn-panel);border-color:var(--sn-panel);color:#fff}
.sn-consent .sn-consent__btn:focus-visible{outline:2px solid var(--sn-electric);outline-offset:2px}
.sn-consent .sn-consent__btn--ghost,.sn-consent .sn-consent__btn--ghost:focus{grid-column:1/-1;background:transparent;color:var(--sn-link);border-color:var(--sn-line)}
.sn-consent .sn-consent__btn--ghost:hover,.sn-consent .sn-consent__btn--ghost:active{background:var(--sn-tint);color:var(--sn-ink);border-color:var(--sn-line)}
.sn-consent .sn-consent__btn[data-act="save"]{grid-column:1/-1}
.sn-consent__btn svg{width:16px;height:16px}
.sn-consent [hidden]{display:none!important}
.sn-consent-link,.sn-consent-link:focus,.sn-consent-link:hover,.sn-consent-link:active{all:unset;font:inherit;color:inherit;cursor:pointer;opacity:.85;background:none!important;color:inherit!important}
.sn-consent-link:hover{text-decoration:underline;opacity:1}
.sn-consent-link:focus-visible{outline:2px solid var(--sn-electric);outline-offset:2px}
@media (max-width:600px){
  .sn-consent{left:0;right:0;bottom:0;width:100%}
  .sn-consent__card{border-radius:var(--sn-r) var(--sn-r) 0 0;border-left:0;border-right:0;border-bottom:0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom))}
  .sn-consent__text{font-size:.84rem;margin-bottom:.85rem}
}
@media (prefers-reduced-motion:reduce){.sn-consent,.sn-consent.is-open{transition:none;transform:none}}
@media print{.sn-consent{display:none!important}}
