/* SEO Fury — cookie consent banner + form consent field (front end and admin preview). */

.sfc{
  --sfc-bg:#fff; --sfc-text:#1f2937; --sfc-link:#4f46e5; --sfc-btn-bg:#ef4444; --sfc-btn-text:#1f2937;
  --sfc-radius:12px; --sfc-font:15px;
  position:fixed; z-index:2147483000; inset:auto 0 0 0;
  font:400 var(--sfc-font)/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--sfc-text);
  pointer-events:none;
}
.sfc[hidden]{ display:none; }
.sfc *{ box-sizing:border-box; }
.sfc__box{
  pointer-events:auto;
  background:var(--sfc-bg); color:var(--sfc-text);
  padding:16px 20px;
  animation:sfc-in .28s ease-out both;
}
@keyframes sfc-in{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
.sfc--shadow .sfc__box{ box-shadow:0 10px 40px rgba(0,0,0,.28); }

/* Bars */
.sfc--bottom{ inset:auto 0 0 0; }
.sfc--top{ inset:0 0 auto 0; }
.sfc--top .sfc__box{ animation-name:sfc-in-top; }
@keyframes sfc-in-top{ from{ opacity:0; transform:translateY(-12px); } to{ opacity:1; transform:none; } }
.sfc--bottom.sfc--narrow, .sfc--top.sfc--narrow{ padding:16px; }
.sfc--bottom.sfc--narrow .sfc__box, .sfc--top.sfc--narrow .sfc__box{
  max-width:1040px; margin:0 auto; border-radius:var(--sfc-radius);
}
.sfc--bottom .sfc__main, .sfc--top .sfc__main{
  display:flex; align-items:center; gap:16px 24px; flex-wrap:wrap;
  max-width:1200px; margin:0 auto;
}
.sfc--bottom .sfc__text, .sfc--top .sfc__text{ flex:1 1 360px; }

/* Icon */
.sfc__icon{ display:flex; align-items:center; justify-content:center; flex:0 0 auto; width:52px; height:52px; font-size:38px; line-height:1; }
.sfc__icon img{ width:48px; height:48px; object-fit:contain; display:block; }
.sfc--icon-none .sfc__icon{ display:none; }
.sfc--bottom-left .sfc__icon, .sfc--bottom-right .sfc__icon, .sfc--center .sfc__icon{ margin-bottom:10px; width:auto; height:auto; justify-content:flex-start; }

/* Cards */
.sfc--bottom-left, .sfc--bottom-right, .sfc--center{ inset:0; }
.sfc--bottom-left .sfc__box, .sfc--bottom-right .sfc__box{
  position:absolute; bottom:20px; max-width:400px; width:calc(100% - 40px);
  border-radius:var(--sfc-radius); padding:20px;
}
.sfc--bottom-left .sfc__box{ left:20px; }
.sfc--bottom-right .sfc__box{ right:20px; }
.sfc--center .sfc__box{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  max-width:520px; width:calc(100% - 40px); border-radius:var(--sfc-radius); padding:24px;
  animation-name:sfc-in-center;
}
@keyframes sfc-in-center{ from{ opacity:0; transform:translate(-50%,-46%); } to{ opacity:1; transform:translate(-50%,-50%); } }
.sfc--bottom-left .sfc__text, .sfc--bottom-right .sfc__text, .sfc--center .sfc__text{ margin-bottom:14px; }

/* Overlay */
.sfc__overlay{ display:none; }
.sfc--overlay{ inset:0; }
.sfc--overlay .sfc__overlay{ display:block; position:absolute; inset:0; background:rgba(15,23,42,.55); pointer-events:auto; }
.sfc--overlay.sfc--bottom .sfc__box, .sfc--overlay.sfc--top .sfc__box{ position:absolute; left:0; right:0; }
.sfc--overlay.sfc--bottom .sfc__box{ bottom:0; }
.sfc--overlay.sfc--top .sfc__box{ top:0; }
.sfc--overlay.sfc--narrow.sfc--bottom .sfc__box, .sfc--overlay.sfc--narrow.sfc--top .sfc__box{ left:16px; right:16px; }
.sfc--overlay.sfc--narrow.sfc--bottom .sfc__box{ bottom:16px; }
.sfc--overlay.sfc--narrow.sfc--top .sfc__box{ top:16px; }

/* Text & links */
.sfc__text p{ margin:0 0 .5em; }
.sfc__text p:last-child{ margin-bottom:0; }
.sfc__text a{ color:var(--sfc-link); text-decoration:underline; text-underline-offset:2px; }
.sfc__text a:hover{ opacity:.85; }

/* Buttons */
.sfc__actions{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; justify-content:flex-end; }
.sfc__btn{
  appearance:none; -webkit-appearance:none; cursor:pointer;
  font:inherit; font-weight:600; line-height:1.2;
  padding:10px 18px; border-radius:calc(var(--sfc-radius) * .66); border:1.5px solid transparent;
  transition:filter .15s, background .15s, opacity .15s;
  margin:0;
}
.sfc__btn[hidden]{ display:none; }
.sfc__btn--primary{ background:var(--sfc-btn-bg); color:#fff; border-color:var(--sfc-btn-bg); }
.sfc__btn--primary:hover{ filter:brightness(1.08); }
.sfc--btn-outline .sfc__btn--primary{ background:transparent; color:var(--sfc-btn-text); border-width:2px; padding-left:24px; padding-right:24px; }
.sfc--btn-outline .sfc__btn--primary:hover{ background:var(--sfc-btn-bg); color:#fff; filter:none; }
.sfc--btn-pill .sfc__btn{ border-radius:999px; }
.sfc__btn--secondary{ background:transparent; color:var(--sfc-text); border-color:currentColor; opacity:.9; }
.sfc__btn--secondary:hover{ opacity:1; }
.sfc--btn2-ghost .sfc__btn--secondary{ border-color:transparent; text-decoration:underline; text-underline-offset:3px; padding-left:10px; padding-right:10px; }
.sfc--btn2-solid .sfc__btn--secondary{ background:rgba(127,127,127,.18); border-color:transparent; }
.sfc--btn2-solid .sfc__btn--secondary:hover{ background:rgba(127,127,127,.28); }

/* Settings panel */
.sfc__settings[hidden]{ display:none; }
.sfc__settings-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px; font-size:1.1em; }
.sfc__close{ appearance:none; background:transparent; border:0; color:inherit; font-size:24px; line-height:1; cursor:pointer; padding:0 4px; opacity:.7; }
.sfc__close:hover{ opacity:1; }
.sfc__intro{ margin:0 0 12px; opacity:.85; }
.sfc__cats{ display:flex; flex-direction:column; gap:8px; margin-bottom:14px; }
.sfc__cat{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:10px 12px; border-radius:calc(var(--sfc-radius) * .66);
  background:rgba(127,127,127,.14); cursor:pointer; margin:0;
}
.sfc__cat--locked{ cursor:default; }
.sfc__cat-text{ display:flex; flex-direction:column; gap:2px; }
.sfc__cat-text b{ font-weight:600; }
.sfc__cat-text small{ opacity:.78; font-size:.9em; line-height:1.35; }
.sfc__always{ font-size:.85em; opacity:.75; white-space:nowrap; }
.sfc__switch{ position:relative; flex:0 0 auto; width:42px; height:24px; }
.sfc__switch input{ position:absolute; opacity:0; width:0; height:0; margin:0; }
.sfc__switch i{
  position:absolute; inset:0; border-radius:24px; background:rgba(127,127,127,.5); transition:background .15s;
}
.sfc__switch i::after{
  content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%;
  background:#fff; transition:transform .15s;
}
.sfc__switch input:checked + i{ background:var(--sfc-btn-bg); }
.sfc__switch input:checked + i::after{ transform:translateX(18px); }
.sfc__switch input:focus-visible + i{ outline:2px solid var(--sfc-link); outline-offset:2px; }
.sfc--bottom .sfc__settings, .sfc--top .sfc__settings{ max-width:640px; margin:0 auto; }

/* Re-open button */
.sfc__reopen{
  position:fixed; left:16px; bottom:16px; z-index:2147483000; pointer-events:auto;
  width:40px; height:40px; border-radius:50%; border:0; cursor:pointer;
  background:var(--sfc-bg); color:var(--sfc-text); box-shadow:0 4px 16px rgba(0,0,0,.25);
  display:flex; align-items:center; justify-content:center; padding:0;
}
.sfc__reopen[hidden]{ display:none; }
.sfc__reopen:hover{ filter:brightness(1.1); }

/* Small screens */
@media (max-width:640px){
  .sfc__box{ padding:14px 16px; }
  .sfc--bottom .sfc__main, .sfc--top .sfc__main{ display:block; }
  .sfc--bottom .sfc__text, .sfc--top .sfc__text{ margin-bottom:12px; }
  .sfc__actions{ justify-content:stretch; }
  .sfc__actions .sfc__btn{ flex:1 1 auto; }
  .sfc--bottom-left .sfc__box, .sfc--bottom-right .sfc__box{ left:12px; right:12px; bottom:12px; width:auto; max-width:none; }
}
@media (prefers-reduced-motion:reduce){ .sfc__box{ animation:none; } }

/* ---- Consent checkbox in forms ---- */
.sf-consent-field{ display:block; margin:10px 0; font-size:.92em; line-height:1.45; }
.sf-consent-label{ display:flex; align-items:flex-start; gap:8px; cursor:pointer; font-weight:400; }
.sf-consent-input{ margin:.25em 0 0; flex:0 0 auto; width:auto; height:auto; }
.sf-consent-text a{ text-decoration:underline; }
.sf-consent-error{ display:block; margin-top:4px; font-size:.9em; color:#dc2626; }
.sf-consent-field.is-invalid .sf-consent-input{ outline:2px solid #dc2626; outline-offset:1px; }
.sf-privacy-doc h2{ margin-top:0; }
.sf-privacy-doc h3{ margin-top:1.6em; }

/* ---- Admin live preview: the same markup, boxed ---- */
.sf-consent-preview{
  position:relative; height:400px; overflow:hidden;
  background:#f4f5f7; border-bottom:1px solid var(--sf-gray-200,#e2e8f0);
}
.sf-consent-preview-page{ position:absolute; inset:18px; display:flex; flex-direction:column; gap:10px; opacity:.55; }
.sf-consent-preview-page i{ display:block; height:12px; border-radius:6px; background:#d3d7de; width:70%; }
.sf-consent-preview-page i:first-child{ height:22px; width:40%; margin-bottom:6px; }
.sf-consent-preview-page i:nth-child(3){ width:85%; }
.sf-consent-preview-page i:nth-child(4){ width:55%; }
.sfc--preview{ position:absolute; }
.sfc--preview .sfc__box{ animation:none; }
.sfc--preview .sfc__reopen{ display:none; }
.sfc--preview.sfc--bottom-left .sfc__box, .sfc--preview.sfc--bottom-right .sfc__box{ max-width:300px; bottom:14px; padding:16px; }
.sfc--preview.sfc--bottom-left .sfc__box{ left:14px; }
.sfc--preview.sfc--bottom-right .sfc__box{ right:14px; }
.sfc--preview.sfc--center .sfc__box{ max-width:340px; padding:18px; }
.sfc--preview.sfc--bottom .sfc__main, .sfc--preview.sfc--top .sfc__main{ display:block; }
.sfc--preview.sfc--bottom .sfc__text, .sfc--preview.sfc--top .sfc__text{ margin-bottom:10px; }
.sfc--preview .sfc__box{ font-size:calc(var(--sfc-font) * .92); }
.sfc--preview.sfc--narrow{ padding:12px; }
.sfc--bottom-left .sfc__box, .sfc--bottom-right .sfc__box, .sfc--center .sfc__box{ max-height:calc(100vh - 40px); overflow:auto; }
.sfc--bottom .sfc__box, .sfc--top .sfc__box{ max-height:calc(100vh - 20px); overflow:auto; }
.sfc--preview .sfc__box{ max-height:calc(100% - 28px); overflow:auto; }
