/* KGV Consent Lite – v1.3.2 (save works, centered modal, green OK) */
:root{
  --kgv-panel:#ffffff;
  --kgv-text:#1E2420;
  --kgv-muted:#5C6A63;
  --kgv-accent:#2F6B3D;
  --kgv-accent-2:#6FAE75;
  --kgv-border:rgba(47,107,61,.18);
  --kgv-shadow:0 8px 24px rgba(47,107,61,.10);
  --kgv-radius:14px;
  --kgv-gap:12px;
  --kgv-font: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --kgv-fab-alpha:.78;
  --kgv-fab-icon-dark:#ffffff;
  --kgv-fab-icon-light:#2F6B3D;
}

/* Notice */
.kgv-cookie-notice{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:99999;
  font-family:var(--kgv-font); color:var(--kgv-text);
}
.kgv-cookie-inner{
  display:flex; align-items:center; gap:var(--kgv-gap);
  background:var(--kgv-panel);
  border:1px solid var(--kgv-border);
  border-radius:var(--kgv-radius);
  padding:12px 14px;
  box-shadow:var(--kgv-shadow);
}
.kgv-cookie-text{font-size:14px; line-height:1.5}
.kgv-cookie-link{color:var(--kgv-accent); text-decoration:underline}
.kgv-cookie-actions{margin-left:auto; display:flex; gap:8px; flex-wrap:wrap}

/* Strong override to keep OK green */
#kgvCookieNotice .kgv-btn[data-action="ok"]{
  background: linear-gradient(180deg, var(--kgv-accent-2), var(--kgv-accent)) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 4px 12px rgba(47,107,61,.15) !important;
}
#kgvCookieNotice .kgv-btn[data-action="ok"]:hover{ filter:brightness(1.03) !important; }
#kgvCookieNotice .kgv-btn.ghost{
  background:#fff !important;
  color:var(--kgv-accent) !important;
  border:1px solid var(--kgv-border) !important;
}

/* Buttons base (for modal footer etc.) */
.kgv-btn{ appearance:none; border:none; padding:8px 12px; border-radius:10px; font-weight:700; cursor:pointer; font-size:14px; }
.kgv-btn.ghost{ background:#fff; border:1px solid var(--kgv-border); color:var(--kgv-accent) }

/* Settings modal — force center */
.kgv-cookie-modal{
  position: fixed !important;
  inset: 0 !important;
  z-index: 100000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  background: rgba(30,36,32,.40) !important;
  height: 100dvh !important;
}
.kgv-cookie-modal[hidden]{ display:none !important; }
.kgv-cookie-modal__dialog{
  width:min(640px, 96vw);
  max-height: min(84dvh, 720px);
  overflow:auto;
  background:#fff; color:var(--kgv-text);
  border:1px solid var(--kgv-border);
  border-radius:var(--kgv-radius);
  box-shadow:var(--kgv-shadow);
}
.kgv-cookie-modal__head{ display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--kgv-border) }
.kgv-cookie-modal__close{ background:transparent; border:none; color:var(--kgv-accent); font-size:22px; line-height:1; cursor:pointer }
.kgv-cookie-modal__body{ padding:16px }
.kgv-cookie-modal__foot{ padding:14px 16px; display:flex; gap:10px; border-top:1px solid var(--kgv-border) }
.kgv-note{ font-size:13px; color:var(--kgv-muted) }

/* FABs */
.kgv-fab{
  position:fixed; bottom:100px; z-index:100001;
  width:48px; height:48px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid var(--kgv-border);
  box-shadow:0 8px 24px rgba(47,107,61,.18);
  cursor:pointer; transition:transform .15s ease;
  backdrop-filter:saturate(160%) blur(6px);
  -webkit-tap-highlight-color: transparent;
  outline: none;
}
.kgv-fab:hover{ transform:translateY(-2px) }
.kgv-fab:focus, .kgv-fab:active{ outline:none; box-shadow:0 8px 24px rgba(47,107,61,.18) }
.kgv-fab svg, .kgv-fab svg path{ width:22px; height:22px; display:block; fill: currentColor; stroke: currentColor; }

.kgv-fab--dark{ background:linear-gradient(180deg, rgba(111,174,117,var(--kgv-fab-alpha)), rgba(47,107,61,var(--kgv-fab-alpha))); color:var(--kgv-fab-icon-dark); }
.kgv-fab--light{ background:rgba(255,255,255,var(--kgv-fab-alpha)); color:var(--kgv-fab-icon-light); }

.kgv-cookie-fab{ left:16px; right:auto; }
.kgv-top-fab{ right:16px; left:auto; }
.kgv-fab[hidden]{ display:none !important; }

/* Mobile */
@media (max-width: 520px){
  .kgv-cookie-inner{ flex-direction:column; align-items:center; text-align:center; }
  .kgv-cookie-text{ margin-bottom:10px; width:100%; }
  .kgv-cookie-actions{ margin-left:0; width:100%; display:flex; flex-direction:row; gap:8px; flex-wrap:nowrap; justify-content:center; }
  .kgv-fab{ bottom:160px; }
}
