/* SLAtech network cookie-consent - shared, site-agnostic. v1 (2026-07-10).
   Loaded on all 5 in-scope sites. Respects the page's own color-scheme;
   inline styles kept minimal so a site's CSP (style-src 'self') is happy. */

.sla-cc, .sla-cc * { box-sizing: border-box; }

/* ---- bottom banner ---- */
.sla-cc-banner {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 2147483000;
  background: #12141a; color: #f2f4f8;
  border-top: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 -8px 30px rgba(0,0,0,.35);
  padding: 18px clamp(16px, 4vw, 40px);
  font: 15px/1.55 system-ui, "Segoe UI", Arial, sans-serif;
  display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center;
  justify-content: space-between;
}
.sla-cc-banner[hidden] { display: none; }
.sla-cc-text { flex: 1 1 420px; min-width: 260px; margin: 0; }
.sla-cc-text a { color: #8ab4ff; text-decoration: underline; }
.sla-cc-actions { display: flex; flex-wrap: wrap; gap: 10px; flex: 0 0 auto; }

/* buttons - Accept and Reject MUST be equal visual weight (GDPR) */
.sla-cc-btn {
  font: inherit; font-weight: 600; cursor: pointer;
  padding: 10px 18px; border-radius: 8px; border: 1px solid transparent;
  min-width: 140px; text-align: center;
}
.sla-cc-btn-primary   { background: #2f6bff; color: #fff; }
.sla-cc-btn-primary:hover { background: #1f57e6; }
.sla-cc-btn-secondary { background: #2a2e39; color: #f2f4f8; border-color: rgba(255,255,255,.22); }
.sla-cc-btn-secondary:hover { background: #343947; }
.sla-cc-btn-link { background: transparent; color: #c9d2e3; text-decoration: underline; min-width: auto; padding: 10px 8px; }

/* ---- settings modal ---- */
.sla-cc-modal { position: fixed; inset: 0; z-index: 2147483001; display: none; }
.sla-cc-modal[open] { display: block; }
.sla-cc-backdrop { position: absolute; inset: 0; background: rgba(4,6,10,.6); }
.sla-cc-panel {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
  width: min(560px, calc(100vw - 32px)); max-height: calc(100vh - 48px); overflow: auto;
  background: #171a21; color: #f2f4f8; border-radius: 14px;
  padding: 26px clamp(18px, 4vw, 32px); box-shadow: 0 20px 60px rgba(0,0,0,.5);
  font: 15px/1.55 system-ui, "Segoe UI", Arial, sans-serif;
}
.sla-cc-panel h2 { margin: 0 0 14px; font-size: 1.25em; }
.sla-cc-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.1); }
.sla-cc-row:first-of-type { border-top: 0; }
.sla-cc-row h3 { margin: 0 0 3px; font-size: 1em; }
.sla-cc-row p  { margin: 0; font-size: .88em; color: #b7c0d0; }
.sla-cc-panel-actions { margin-top: 20px; display: flex; justify-content: flex-end; gap: 10px; }

/* toggle */
.sla-cc-switch { position: relative; flex: 0 0 auto; width: 46px; height: 26px; }
.sla-cc-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.sla-cc-track { position: absolute; inset: 0; background: #3a3f4c; border-radius: 999px; transition: background .15s; }
.sla-cc-track::before { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; background: #fff; border-radius: 50%; transition: transform .15s; }
.sla-cc-switch input:checked + .sla-cc-track { background: #2f6bff; }
.sla-cc-switch input:checked + .sla-cc-track::before { transform: translateX(20px); }
.sla-cc-switch input:disabled + .sla-cc-track { background: #2f6bff; opacity: .55; }

/* floating re-open link (footer / "Cookie settings") uses this hook */
.sla-cc-reopen { cursor: pointer; }

/* ---- RTL (Hebrew) ---- */
.sla-cc[dir="rtl"] .sla-cc-text a { }
.sla-cc[dir="rtl"] .sla-cc-switch input:checked + .sla-cc-track::before { transform: translateX(-20px); }
.sla-cc[dir="rtl"] .sla-cc-panel-actions { justify-content: flex-start; }

@media (max-width: 640px) {
  .sla-cc-banner { flex-direction: column; align-items: stretch; }
  .sla-cc-actions { justify-content: stretch; }
  .sla-cc-btn { flex: 1 1 auto; }
}
