/* ============================================================
   כלים שלובים — platform layer
   Login gate · admin toolbar · edit affordances · modals · banners
   Uses brand tokens from styles.css (loaded first)
   ============================================================ */

/* ---------- LOGIN GATE ---------- */
.ks-gate{position:fixed;inset:0;z-index:1000;background:var(--night,#1B1822);display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto;}
.ks-gate .confetti{opacity:.14;}
.ks-gate-card{position:relative;width:100%;max-width:452px;background:#fff;border-radius:26px;padding:44px 40px 34px;box-shadow:0 40px 100px -30px rgba(0,0,0,.6);text-align:center;}
.ks-gate-badge{width:96px;height:96px;border-radius:99px;margin:0 auto 22px;overflow:hidden;box-shadow:0 18px 44px -18px rgba(159,86,216,.6);}
.ks-gate-badge img{width:100%;height:100%;object-fit:cover;}
.ks-gate-card h2{font-family:var(--fz-display);font-weight:700;font-size:38px;color:var(--ink);letter-spacing:-.02em;line-height:1;}
.ks-gate-card .sub{font-family:var(--fz-body);font-size:16px;color:var(--ink-soft);margin-top:12px;line-height:1.5;}
.ks-gate-form{margin-top:26px;display:flex;flex-direction:column;gap:12px;text-align:right;}
.ks-google{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-pill);padding:14px 20px;font-family:var(--fz-body);font-weight:600;font-size:16px;color:var(--ink);transition:.18s var(--ease);cursor:pointer;}
.ks-google:hover{border-color:var(--ink);background:var(--paper);}
.ks-google svg{width:20px;height:20px;flex:none;}
.ks-or{display:flex;align-items:center;gap:12px;color:#A8A29A;font-family:var(--fz-body);font-size:13px;margin:4px 0;}
.ks-or::before,.ks-or::after{content:"";flex:1;height:1px;background:var(--line);}
.ks-field{display:flex;flex-direction:column;gap:7px;}
.ks-field label{font-family:var(--fz-body);font-weight:600;font-size:13.5px;color:var(--ink);}
.ks-input{width:100%;font-family:var(--fz-body);font-size:16px;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:14px;padding:13px 16px;outline:none;transition:.18s var(--ease);}
.ks-input:focus{border-color:var(--purple-deep);background:#fff;}
.ks-input::placeholder{color:#A8A29A;}
.ks-gate-form .btn{justify-content:center;margin-top:4px;}
.ks-gate-err{font-family:var(--fz-body);font-size:13.5px;color:#c0392b;background:rgba(192,57,43,.08);border-radius:10px;padding:9px 13px;display:none;}
.ks-gate-err.show{display:block;}
.ks-gate-fine{font-family:var(--fz-body);font-size:12.5px;color:#A8A29A;margin-top:20px;line-height:1.5;}
.ks-gate-back{background:none;border:none;color:var(--purple-deep);font-family:var(--fz-body);font-weight:600;font-size:14px;cursor:pointer;margin-top:6px;}

/* ---------- ADMIN TOOLBAR ---------- */
.ks-adminbar{position:fixed;bottom:0;left:0;right:0;z-index:400;background:var(--ink);color:#fff;display:flex;align-items:center;gap:14px;padding:12px 22px;box-shadow:0 -10px 40px -18px rgba(0,0,0,.5);transform:translateY(100%);transition:transform .35s var(--ease);}
.ks-adminbar.show{transform:translateY(0);}
.ks-adminbar .badge{display:flex;align-items:center;gap:9px;font-family:var(--fz-body);font-weight:600;font-size:14.5px;}
.ks-adminbar .badge .d{width:9px;height:9px;border-radius:99px;background:var(--green);box-shadow:0 0 0 4px rgba(73,223,35,.25);}
.ks-adminbar .who{font-family:var(--fz-body);font-size:13px;color:rgba(255,255,255,.55);}
.ks-adminbar .grow{flex:1;}
.ks-adminbar .ab-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--fz-body);font-weight:600;font-size:14px;padding:9px 16px;border-radius:var(--r-pill);border:1.5px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;transition:.16s var(--ease);white-space:nowrap;}
.ks-adminbar .ab-btn:hover{background:rgba(255,255,255,.15);}
.ks-adminbar .ab-btn svg{width:16px;height:16px;}
.ks-adminbar .ab-btn--primary{background:var(--orange);color:var(--ink);border-color:var(--orange);}
.ks-adminbar .ab-btn--primary:hover{background:var(--orange-hover);}
.ks-adminbar .ab-btn--on{background:var(--green);color:var(--ink);border-color:var(--green);}
.ks-adminbar .ab-btn--publish{background:var(--green);color:var(--ink);border-color:var(--green);}
.ks-adminbar .ab-btn--publish:hover{filter:brightness(.96);}
@media (max-width:820px){
  .ks-adminbar{flex-wrap:wrap;gap:8px;padding:10px 14px;}
  .ks-adminbar .who{display:none;}
  .ks-adminbar .grow{display:none;}
  .ks-adminbar .ab-btn{font-size:13px;padding:8px 12px;flex:1;justify-content:center;}
}

/* edit-mode affordances */
body.ks-editing{--edit-accent:var(--purple-deep);}
.ks-editable{position:relative;}
body.ks-editing .ks-editable{outline:2px dashed rgba(159,86,216,.55);outline-offset:6px;border-radius:8px;}
.ks-edit-tag{position:absolute;top:10px;left:10px;z-index:30;display:none;align-items:center;gap:7px;background:var(--purple-deep);color:#fff;font-family:var(--fz-body);font-weight:600;font-size:13px;padding:8px 14px;border-radius:var(--r-pill);cursor:pointer;box-shadow:0 8px 22px -8px rgba(0,0,0,.5);border:none;}
.ks-edit-tag svg{width:14px;height:14px;}
.ks-edit-tag:hover{background:var(--purple);}
body.ks-editing .ks-edit-tag{display:inline-flex;}
body.ks-editing .ks-hidden-when-live{display:flex;}

/* ---------- CUSTOM ADMIN BANNERS ---------- */
.ks-banners-sec{background:#fff;padding:0;}
.ks-banners-sec:not(:empty){padding:64px 0 0;}
.ks-banners-wrap{max-width:var(--content);margin:0 auto;padding:0 var(--gutter);display:flex;flex-direction:column;gap:20px;}
.ks-banner{position:relative;border-radius:var(--r-xl);padding:42px 48px;display:flex;align-items:center;gap:34px;overflow:hidden;}
.ks-banner--feature{padding:46px 52px;min-height:196px;box-shadow:0 32px 70px -34px rgba(0,0,0,.42);}
.ks-banner-badge{display:inline-flex;align-items:center;font-family:var(--fz-body);font-weight:700;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;background:rgba(255,255,255,.5);color:rgba(22,20,15,.72);padding:6px 13px;border-radius:99px;margin-bottom:15px;}
.ks-banner-img{position:relative;z-index:2;width:190px;flex:none;align-self:center;}
.ks-banner-img img{width:100%;max-height:180px;object-fit:cover;border-radius:16px;display:block;box-shadow:0 14px 34px -14px rgba(0,0,0,.4);}
.ks-banner .confetti{opacity:.16;}
.ks-banner-main{position:relative;z-index:2;flex:1;}
.ks-banner-main h3{font-family:var(--fz-display);font-weight:700;font-size:42px;line-height:1.0;letter-spacing:-.02em;text-shadow:4px 4px 0 rgba(255,255,255,.32);}
.ks-banner-main p{font-family:var(--fz-body);font-size:17.5px;margin-top:12px;line-height:1.5;max-width:640px;}
.ks-banner .act{position:relative;z-index:2;flex:none;}
.ks-banner--orange{background:var(--orange);}
.ks-banner--orange h3{color:var(--ink);}
.ks-banner--orange p{color:#6b4a14;}
.ks-banner--purple{background:var(--purple);}
.ks-banner--purple h3{color:var(--ink);}
.ks-banner--purple p{color:#4b2c73;}
.ks-banner--green{background:var(--green);}
.ks-banner--green h3{color:var(--ink);}
.ks-banner--green p{color:#1f5e12;}
.ks-banner-ctrls{position:absolute;top:12px;left:12px;z-index:20;display:none;gap:8px;}
body.ks-editing .ks-banner-ctrls{display:flex;}
.ks-banner-ctrls button{width:38px;height:38px;border-radius:99px;border:none;background:rgba(22,20,15,.82);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.16s var(--ease);}
.ks-banner-ctrls button:hover{background:var(--ink);}
.ks-banner-ctrls button svg{width:16px;height:16px;}
@media (max-width:760px){
  .ks-banner{flex-direction:column;align-items:flex-start;padding:30px 26px;}
  .ks-banner-main h3{font-size:30px;}
  .ks-banner-img{width:100%;}
  .ks-banner-img img{max-height:200px;width:100%;}
  .ks-banner .act .btn{width:100%;justify-content:center;}
}

/* hero edit button */
.ks-hero-edit{position:absolute;top:96px;left:var(--gutter,24px);z-index:40;display:none;}
body.ks-editing .ks-hero-edit{display:inline-flex;}

/* ---------- MODAL ---------- */
.ks-modal{position:fixed;inset:0;z-index:1100;display:none;align-items:center;justify-content:center;padding:24px;}
.ks-modal.open{display:flex;}
.ks-modal-scrim{position:absolute;inset:0;background:rgba(20,18,20,.62);backdrop-filter:blur(3px);}
.ks-modal-card{position:relative;width:100%;max-width:560px;max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:34px 34px 30px;box-shadow:0 40px 100px -30px rgba(0,0,0,.6);}
.ks-modal-card h3{font-family:var(--fz-display);font-weight:700;font-size:30px;color:var(--ink);letter-spacing:-.01em;padding-left:40px;}
.ks-modal-card .ks-modal-sub{font-family:var(--fz-body);font-size:14.5px;color:var(--ink-soft);margin-top:6px;}
.ks-modal-close{position:absolute;top:26px;left:26px;width:42px;height:42px;border-radius:99px;border:1.5px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);transition:.16s var(--ease);}
.ks-modal-close:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.ks-modal-close svg{width:18px;height:18px;}
.ks-form{margin-top:22px;display:flex;flex-direction:column;gap:16px;}
.ks-form .ks-field label{margin-bottom:0;}
.ks-form textarea.ks-input{resize:vertical;min-height:96px;line-height:1.5;font-family:var(--fz-body);}
.ks-color-pick{display:flex;gap:12px;}
.ks-swatch{flex:1;height:52px;border-radius:14px;border:3px solid transparent;cursor:pointer;position:relative;transition:.16s var(--ease);font-family:var(--fz-body);font-weight:600;font-size:13px;color:var(--ink);display:flex;align-items:center;justify-content:center;}
.ks-swatch[data-c="orange"]{background:var(--orange);}
.ks-swatch[data-c="purple"]{background:var(--purple);}
.ks-swatch[data-c="green"]{background:var(--green);}
.ks-swatch.sel{border-color:var(--ink);}
.ks-swatch.sel::after{content:"✓";position:absolute;top:4px;right:8px;font-size:14px;}
.ks-form-actions{display:flex;gap:12px;margin-top:8px;}
.ks-form-actions .btn{justify-content:center;flex:1;}
.ks-form-actions .btn--ghost{flex:0 0 auto;}
.ks-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--paper);border-radius:14px;padding:12px 16px;}
.ks-toggle-row span{font-family:var(--fz-body);font-weight:600;font-size:14.5px;color:var(--ink);}
.ks-switch{position:relative;width:48px;height:28px;border-radius:99px;background:var(--gray-400,#B0B0B0);cursor:pointer;transition:.18s var(--ease);flex:none;border:none;}
.ks-switch.on{background:var(--green);}
.ks-switch::after{content:"";position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:99px;background:#fff;transition:.18s var(--ease);}
.ks-switch.on::after{right:23px;}
.ks-filepick{display:flex;align-items:center;gap:12px;background:var(--paper);border:1.5px dashed var(--line);border-radius:14px;padding:16px;cursor:pointer;transition:.16s var(--ease);}
.ks-filepick:hover{border-color:var(--purple-deep);}
.ks-filepick .ic{width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--purple-deep);flex:none;}
.ks-filepick .t{font-family:var(--fz-body);font-size:14px;color:var(--ink);}
.ks-filepick .t b{display:block;font-weight:600;font-size:15px;}
.ks-filepick .t span{color:var(--ink-soft);font-size:13px;}
.ks-preview-media{margin-top:12px;border-radius:14px;overflow:hidden;max-height:180px;background:#000;display:none;}
.ks-preview-media.show{display:block;}
.ks-preview-media img,.ks-preview-media video{width:100%;height:auto;display:block;max-height:180px;object-fit:cover;}
.ks-img-clear{position:absolute;top:8px;left:8px;background:rgba(20,18,20,.82);color:#fff;border:none;border-radius:99px;font-family:var(--fz-body);font-weight:600;font-size:12px;padding:6px 12px;cursor:pointer;}
.ks-img-clear:hover{background:var(--ink);}
.ks-preview-media{position:relative;}

/* toast */
.ks-toast{position:fixed;bottom:84px;left:50%;transform:translateX(-50%) translateY(20px);z-index:1300;background:var(--ink);color:#fff;font-family:var(--fz-body);font-weight:600;font-size:14.5px;padding:13px 22px;border-radius:var(--r-pill);opacity:0;transition:opacity .25s var(--ease),transform .25s var(--ease);pointer-events:none;display:flex;align-items:center;gap:9px;box-shadow:0 20px 50px -18px rgba(0,0,0,.5);}
body.ks-editing .msg-card-wrap{cursor:grab;}
body.ks-editing .msg-card-wrap.msg-dragging{opacity:.45;cursor:grabbing;}
body.ks-editing .msg-card-wrap.msg-drop-before{box-shadow:inset 4px 0 0 0 var(--purple-deep,#6b3fa0);border-radius:14px;}
body.ks-editing .msg-card-wrap.msg-drop-after{box-shadow:inset -4px 0 0 0 var(--purple-deep,#6b3fa0);border-radius:14px;}
body.ks-editing .msg-card-wrap::after{content:"⇕ גררו לשינוי סדר";position:absolute;top:8px;right:8px;z-index:5;font-family:var(--fz-body);font-weight:600;font-size:11px;color:#fff;background:rgba(20,18,20,.72);padding:4px 9px;border-radius:99px;pointer-events:none;}
body.ks-editing .msg-card-wrap{position:relative;}
.ks-toast .d{width:8px;height:8px;border-radius:99px;background:var(--green);}
.ks-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* small manager link */
.ks-admin-link{background:none;border:none;cursor:pointer;font-family:var(--fz-body);font-size:13px;color:rgba(255,255,255,.5);display:inline-flex;align-items:center;gap:6px;transition:.16s var(--ease);text-decoration:none;}
.ks-admin-link:hover{color:#fff;}
.ks-admin-link svg{width:13px;height:13px;}
