/* ============================================================
   Creone KeyBox Konfigurator — Stilmall
   NOCAB Säkerhet | nocabsakerhet.se
   ============================================================ */

/* ── Reset & bas ─────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{background:#f5f5f7;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:#1d1d1f}

/* ── Sidhuvud ────────────────────────────────────────────── */
.ck-header{width:100%;max-width:1080px;margin:0 auto;padding:1.5rem 4vw 0;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ck-header-logo img{height:32px;width:auto;display:block}
.ck-header-text{text-align:center;flex:1}
.ck-header-text h1{font-size:28px;font-weight:700;color:#1d1d1f;letter-spacing:-.02em}
.ck-header-text p{font-size:13px;color:#888;margin-top:4px;line-height:1.4}

@media(max-width:780px){
  .ck-header{flex-direction:column;align-items:center;text-align:center;padding:1.25rem 1rem 0}
  .ck-header-text{text-align:center}
}

/* ── Sidlayout ───────────────────────────────────────────── */
.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:1rem 0 2rem}
.ck{display:flex;width:100%;max-width:1080px;gap:2rem;align-items:flex-start;padding:1.5rem 4vw 0}

/* ── VÄNSTER — sticky panel ──────────────────────────────── */
.ck-left{flex:0 0 30%;width:30%;position:sticky;top:2rem;display:flex;flex-direction:column;gap:0.85rem;background:transparent;padding:0;padding-top:2.35rem;height:auto;overflow:visible}

/* Produktbild */
.ck-img-wrap{width:100%;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #e5e5ea;position:relative}
.ck-img-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transition:opacity .3s ease;background:#fff}

/* Bildkarusell nav-knappar */
.ck-img-prev,.ck-img-next{display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(255,255,255,.85);border:none;border-radius:50%;width:36px;height:36px;align-items:center;justify-content:center;cursor:pointer;font-size:22px;color:#1d1d1f;line-height:1;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:background .15s}
.ck-img-prev{left:8px}
.ck-img-next{right:8px}
.ck-img-prev:hover,.ck-img-next:hover{background:#fff}
.ck-img-dots{display:none;position:absolute;bottom:8px;left:50%;transform:translateX(-50%);gap:5px;flex-direction:row}
.ck-img-dot{width:7px;height:7px;border-radius:50%;background:rgba(0,0,0,.2);transition:background .2s}
.ck-img-dot.active{background:#A01E1E}

/* Mobil bottenplatta — dold på desktop */
.ck-mob-bar{display:none}
.ck-mob-backdrop{display:none}

/* Sammanfattning */
.ck-summary{width:100%;background:#fff;border:1px solid #e5e5ea;border-radius:16px;padding:1.1rem 1.25rem;flex-shrink:0;height:auto;overflow:visible}
.ck-summary p{font-size:11px;color:#888;line-height:1}
.ck-summary .val{color:#1d1d1f;font-weight:600}

/* Summary — label/value rader (matchar design-utkast) */
.sum-grid{display:flex;flex-direction:column;gap:0.6rem}
.sum-title{font-size:11px;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.06em;margin-bottom:0.1rem;display:block}
.sum-row{display:flex;justify-content:space-between;align-items:baseline;gap:0.5rem}
.sum-label{font-size:12px;color:#888;white-space:nowrap}
.sum-val{font-size:12px;color:#1d1d1f;font-weight:500;text-align:right}

/* Prisbox */
.ck-price-box{width:100%;background:#fff;border:1px solid #e5e5ea;border-radius:16px;padding:1.1rem 1.25rem;text-align:left;flex-shrink:0}
.ck-price-label{font-size:10px;color:#aaa;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.ck-price-value{font-size:28px;font-weight:700;color:#1d1d1f;margin-top:4px;line-height:1;letter-spacing:-.03em}
.ck-price-sub{font-size:11px;color:#aaa;margin-top:4px}

/* ── HÖGER — scrollande konfiguration ───────────────────── */
.ck-right{flex:1;min-width:0;background:transparent;border-left:none;overflow-y:visible}

/* ── Stegkort ────────────────────────────────────────────── */
.ck-section{background:#fff;border-radius:16px;border:1px solid #e5e5ea;padding:1.75rem;margin-bottom:1rem}
.ck-section:last-child{margin-bottom:0;border-bottom:1px solid #e5e5ea}
.ck-section-header{display:flex;align-items:center;gap:8px;margin-bottom:1.1rem}
.ck-step-num{font-size:11px;font-weight:700;color:#fff;background:#A01E1E;border-radius:6px;padding:2px 8px;letter-spacing:.04em;flex-shrink:0}
.ck-section-title{font-size:16px;font-weight:700;color:#1d1d1f;letter-spacing:-.02em}
.ck-sub-label{font-size:11px;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.05em;margin-bottom:0.4rem;display:block}
.ck-subsection{margin-top:0.9rem}

/* ── Steg 01: beskrivningstext ────────────────────────────── */
.ck-step-desc{font-size:12px;color:#888;line-height:1.55;margin-bottom:1.1rem}

/* ── Steg 02 & 04: radioknappar ──────────────────────────── */
.ck-options-radio .ck-option{gap:0.9rem;align-items:center;padding:0.85rem 1rem}
.ck-options-radio .ck-opt-icon-wrap,
.ck-options-radio .ck-opt-icon-svg{display:none}
/* Radioknapp-element */
.ck-radio-dot{width:18px;height:18px;min-width:18px;border-radius:50%;border:2px solid #ddd;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color .15s}
.ck-option.is-selected .ck-radio-dot{border-color:#A01E1E}
.ck-radio-dot::after{content:'';width:8px;height:8px;border-radius:50%;background:#A01E1E;opacity:0;transition:opacity .15s}
.ck-option.is-selected .ck-radio-dot::after{opacity:1}

/* ── Alternativkort ──────────────────────────────────────── */
.ck-options{display:flex;flex-direction:column;gap:8px}
/* Steg 01: rutnät — auto-fill precis som design-utkastet, wrappas automatiskt */
.ck-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0.75rem}
.ck-options-grid .ck-option{flex-direction:column;align-items:flex-start;padding:1rem;position:relative;gap:0.4rem;min-height:130px;min-width:0}
.ck-options-grid .ck-info-btn{position:absolute;top:0.7rem;right:0.7rem}
.ck-options-grid .ck-opt-icon-wrap{width:36px;height:36px;min-width:36px;border-radius:8px;font-size:11px;font-weight:700;color:#888;margin-bottom:0.2rem}
.ck-options-grid .ck-opt-text{display:contents}
.ck-options-grid .ck-opt-name{font-size:13px;font-weight:600;color:#1d1d1f}
.ck-options-grid .ck-opt-desc{font-size:11px;color:#888;line-height:1.4}
.ck-options-grid .ck-opt-price{margin-top:auto;padding-top:0.5rem;font-size:12px;font-weight:500}
.ck-option{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1.5px solid #e5e5ea;background:#fff;cursor:pointer;width:100%;transition:border-color .15s,background .15s;user-select:none}
.ck-option:hover{border-color:#c0c0c8;background:#fafafa}
.ck-option.is-selected{border-color:#A01E1E;background:#fdf4f4}
.ck-option.is-selected .ck-opt-name{color:#A01E1E}
.ck-opt-icon-wrap{width:36px;height:36px;min-width:36px;border-radius:8px;background:#f5f5f7;display:flex;align-items:center;justify-content:center;flex-shrink:0;pointer-events:none;font-size:12px;font-weight:800;color:#555}
.ck-option.is-selected .ck-opt-icon-wrap{background:#FBE8E8;color:#A01E1E}
.ck-opt-icon-svg{width:36px;height:36px;min-width:36px;border-radius:8px;background:#f5f5f7;display:flex;align-items:center;justify-content:center;flex-shrink:0;pointer-events:none}
.ck-option.is-selected .ck-opt-icon-svg{background:#FBE8E8}
.ck-option.is-selected .ck-opt-icon-svg svg{stroke:#A01E1E}
.ck-opt-text{flex:1;min-width:0;pointer-events:none}
.ck-opt-name{font-size:13px;color:#1d1d1f;font-weight:600;display:block;line-height:1.3}
.ck-opt-desc{font-size:12px;color:#888;margin-top:2px;line-height:1.4;display:block}
.ck-opt-price{font-size:12px;color:#A01E1E;margin-top:4px;font-weight:500;display:block}
.ck-opt-badge{display:inline-block;font-size:9px;font-weight:700;padding:1px 6px;border-radius:10px;margin-left:5px;vertical-align:middle}
.badge-rec{background:#E8F5E9;color:#2E7D32}

/* ── Info-knapp ──────────────────────────────────────────── */
.ck-info-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;border-radius:50%;border:1px solid #e5e5ea;background:none;cursor:pointer;font-size:11px;font-weight:700;color:#aaa;flex-shrink:0;padding:0;transition:background .12s,border-color .12s,color .12s;-webkit-appearance:none}
.ck-info-btn:hover{background:#f5f5f7;border-color:#aaa;color:#555}

/* ── Divider ─────────────────────────────────────────────── */
.ck-divider{height:1px;background:#f0f0f5;margin:0.65rem 0}

/* ── Lister-väljare ──────────────────────────────────────── */
.ck-lister-picker{margin-top:0.85rem;padding:1rem;background:#f5f5f7;border-radius:12px}
.ck-lister-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.4rem}
.ck-lister-label{font-size:12px;font-weight:600;color:#1d1d1f}
.ck-lister-count{font-size:13px;font-weight:700;color:#A01E1E}
.ck-lister-slots{font-size:11px;color:#888;margin-bottom:0.65rem}
.ck-lister-slots span{font-weight:600;color:#1d1d1f}
.ck-slider-wrap{display:flex;align-items:center;gap:8px}
.ck-slider-min,.ck-slider-max{font-size:10px;color:#aaa;min-width:16px;text-align:center}
input[type=range].ck-slider{flex:1;-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;background:#e5e5ea;outline:none;cursor:pointer}
input[type=range].ck-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#A01E1E;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.2);cursor:pointer}
input[type=range].ck-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#A01E1E;border:2px solid #fff;cursor:pointer}

/* ── Gravering ───────────────────────────────────────────── */
.ck-gravering-wrap{margin-top:0.6rem;display:none}
.ck-gravering-wrap.visible{display:block}
.ck-gravering-label{font-size:11px;color:#555;font-weight:600;margin-bottom:4px;display:block}
.ck-gravering-input-wrap{position:relative}
.ck-gravering-input{width:100%;padding:8px 42px 8px 10px;border:1.5px solid #e5e5ea;border-radius:8px;font-size:12px;color:#1d1d1f;background:#fff;font-family:inherit;outline:none;transition:border-color .15s}
.ck-gravering-input:focus{border-color:#A01E1E}
.ck-gravering-count{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:10px;color:#aaa;pointer-events:none}

/* ── Plus-brickor extra ──────────────────────────────────── */
.ck-plus-extra{margin-top:0;padding:0.75rem 1rem;background:#f5f5f7;border-radius:0 0 12px 12px;border:1.5px solid #e5e5ea;border-top:none;display:none}
.ck-plus-extra.visible{display:block}
.ck-bricka-colors-label{font-size:11px;font-weight:600;color:#555;margin-bottom:0.4rem;display:block}
.ck-bricka-colors{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:0.35rem}
.ck-bricka-color{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .15s,transform .1s;flex-shrink:0}
.ck-bricka-color:hover{transform:scale(1.1)}
.ck-bricka-color.is-selected{border-color:#A01E1E;box-shadow:0 0 0 2px #fff,0 0 0 4px #A01E1E}
.ck-bricka-selected-label{font-size:10px;color:#777}

/* ── Vajrar ──────────────────────────────────────────────── */
.ck-vajer-section{margin-top:0.75rem}
.ck-vajer-rows{display:flex;flex-direction:column;gap:5px;margin-top:0.4rem}
.ck-vajer-row{display:flex;align-items:center;gap:7px}
.ck-vajer-dot{width:16px;height:16px;min-width:16px;border-radius:50%;border:1px solid rgba(0,0,0,.12);flex-shrink:0}
.ck-vajer-color-name{font-size:11px;color:#555;font-weight:500;min-width:36px}
.ck-vajer-qty-wrap{display:flex;align-items:center;gap:4px;margin-left:auto}
.ck-vajer-btn{width:22px;height:22px;border-radius:50%;border:1px solid #e5e5ea;background:#fff;cursor:pointer;font-size:14px;font-weight:700;color:#555;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-appearance:none;transition:background .1s}
.ck-vajer-btn:hover{background:#f5f5f7}
.ck-vajer-qty-input{width:38px;text-align:center;border:1.5px solid #e5e5ea;border-radius:6px;font-size:12px;font-weight:600;color:#1d1d1f;padding:3px;font-family:inherit;outline:none;-webkit-appearance:none}
.ck-vajer-qty-input:focus{border-color:#A01E1E}
.ck-vajer-status{font-size:10px;margin-top:5px;padding:4px 8px;border-radius:6px;background:#FFF3E0;color:#E65100}
.ck-vajer-status.is-full{background:#E8F5E9;color:#2E7D32}
.ck-vajer-sum{font-size:11px;color:#A01E1E;margin-top:4px;font-weight:500}

/* ── Toggle-rader ────────────────────────────────────────── */
.ck-toggles{display:flex;flex-direction:column;gap:8px}
.ck-toggle-row{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1.5px solid #e5e5ea;background:#fff;width:100%;transition:border-color .15s}
.ck-toggle-text{flex:1;min-width:0}
.ck-toggle-name{font-size:13px;color:#1d1d1f;font-weight:600;display:block}
.ck-toggle-price{font-size:12px;color:#A01E1E;margin-top:2px;display:block;font-weight:500}
.ck-toggle-switch{position:relative;width:36px;height:22px;min-width:36px;flex-shrink:0;cursor:pointer}
.ck-toggle-switch input{opacity:0;width:0;height:0;position:absolute}
.ck-toggle-slider{position:absolute;inset:0;background:#ddd;border-radius:22px;transition:background .2s}
.ck-toggle-slider::before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:white;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.ck-toggle-switch input:checked+.ck-toggle-slider{background:#A01E1E}
.ck-toggle-switch input:checked+.ck-toggle-slider::before{transform:translateX(14px)}
.ck-toggle-switch input:disabled+.ck-toggle-slider{opacity:.4;cursor:not-allowed}

/* ── CTA ─────────────────────────────────────────────────── */
.ck-cta{display:flex;flex-direction:column;gap:8px;padding:0;margin-top:0}
.ck-submit-btn{width:100%;padding:14px 16px;border-radius:12px;border:none;background:#A01E1E;color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s;font-family:inherit;-webkit-appearance:none;letter-spacing:-.01em}
.ck-submit-btn:hover{background:#6B1212}
.ck-submit-btn:active{transform:scale(.99)}

/* ── Lightbox ────────────────────────────────────────────── */
.ck-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99999;align-items:center;justify-content:center;padding:1rem}
.ck-lightbox.is-open{display:flex}
.ck-lightbox-inner{background:#fff;border-radius:14px;max-width:420px;width:100%;border:1px solid #e5e5ea;box-shadow:0 12px 48px rgba(0,0,0,.18);overflow:hidden;position:relative}
.ck-lb-img-wrap{width:100%;overflow:hidden;max-height:0;transition:max-height .25s ease}
.ck-lb-img-wrap.has-img{max-height:220px}
.ck-lb-img-wrap img{display:block;width:100%;height:220px;object-fit:cover;object-position:center;background:#fff}
.ck-lb-body-wrap{padding:1.25rem 1.5rem 1.5rem}
.ck-lightbox-title{font-size:15px;font-weight:700;color:#1d1d1f;margin-bottom:.5rem;padding-right:2rem}
.ck-lightbox-body{font-size:13px;color:#666;line-height:1.65}
.ck-lightbox-close{position:absolute;top:.9rem;right:.9rem;width:28px;height:28px;border-radius:50%;border:1px solid #e5e5ea;background:rgba(255,255,255,.9);cursor:pointer;font-size:18px;color:#888;display:flex;align-items:center;justify-content:center;z-index:2;-webkit-appearance:none;font-family:inherit;transition:background .12s}
.ck-lightbox-close:hover{background:#f5f5f7}

/* ── Offertformulär ──────────────────────────────────────── */
.ck-form-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99999;align-items:center;justify-content:center;padding:1rem}
.ck-form-overlay.is-open{display:flex}
.ck-form-modal{background:#fff;border-radius:16px;padding:1.75rem;max-width:440px;width:100%;border:1px solid #e5e5ea;box-shadow:0 12px 48px rgba(0,0,0,.18);max-height:90vh;overflow-y:auto}
.ck-form-title{font-size:17px;font-weight:700;color:#1d1d1f;margin-bottom:.2rem;letter-spacing:-.02em}
.ck-form-subtitle{font-size:12px;color:#888;margin-bottom:1.25rem;line-height:1.5}
.ck-config-summary{background:#f5f5f7;border-radius:10px;padding:.75rem 1rem;margin-bottom:1.25rem;font-size:11px;color:#777;line-height:2}
.ck-config-summary .val{color:#1d1d1f;font-weight:600}
.ck-field{margin-bottom:.75rem}
.ck-field label{display:block;font-size:11px;font-weight:700;color:#888;margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}
.ck-field input,.ck-field textarea{width:100%;padding:9px 11px;border:1.5px solid #e5e5ea;border-radius:8px;font-size:13px;color:#1d1d1f;background:#fff;font-family:inherit;outline:none;transition:border-color .15s;-webkit-appearance:none}
.ck-field input:focus,.ck-field textarea:focus{border-color:#A01E1E}
.ck-field textarea{resize:vertical;min-height:72px}
.ck-form-actions{display:flex;gap:8px;margin-top:1rem}
.ck-form-cancel{flex:1;padding:10px;border:1.5px solid #e5e5ea;border-radius:8px;background:none;font-size:13px;color:#888;cursor:pointer;font-family:inherit;-webkit-appearance:none;transition:background .12s}
.ck-form-cancel:hover{background:#f5f5f7}
.ck-form-send{flex:2;padding:10px;border:none;border-radius:8px;background:#A01E1E;color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;-webkit-appearance:none;transition:background .15s}
.ck-form-send:hover{background:#6B1212}
.ck-form-success{display:none;text-align:center;padding:1.5rem 0}
.ck-form-success-icon{font-size:40px;margin-bottom:.75rem;color:#A01E1E}
.ck-form-success h3{font-size:16px;font-weight:700;color:#1d1d1f;margin-bottom:.4rem}
.ck-form-success p{font-size:13px;color:#888;line-height:1.5}

/* ============================================================
   VERSIONSLOGIK
   body.is-nopris  → kundversion utan priser
   body.is-intern  → intern version med priser + kalkyl
   ============================================================ */

/* Nopris: dölj alla priselement */
body.is-nopris .ck-opt-price,
body.is-nopris .ck-toggle-price,
body.is-nopris .ck-price-box,
body.is-nopris .ck-vajer-sum,
body.is-nopris .sum-price,
body.is-nopris #pris-plus,
body.is-nopris #pris-premium { display: none !important; }

/* Intern: badge */
.ck-intern-badge { display: none; }
body.is-intern .ck-intern-badge {
  display: inline-block;
  background: #A01E1E;
  color: white;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  padding: 4px 10px;
  border-radius: 20px;
  align-self: flex-start;
}

/* Intern: kalkylpanel */
.ck-intern-panel { display: none; }
body.is-intern .ck-intern-panel {
  display: block;
  width: 100%;
  background: #fff;
  border: 1px solid #e5e5ea;
  border-radius: 16px;
  padding: 1rem 1.25rem;
  flex-shrink: 0;
}
.ck-intern-title {
  font-size: 10px;
  font-weight: 700;
  color: #A01E1E;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 0.5rem;
  display: block;
}
.ck-intern-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}
.ck-intern-label { font-size: 11px; color: #555; font-weight: 500; white-space: nowrap; }
.ck-intern-val   { font-size: 12px; font-weight: 700; color: #1d1d1f; text-align: right; }
.ck-intern-val.green { color: #2E7D32; }
.ck-intern-val.red   { color: #A01E1E; }
.ck-margin-wrap  { display: flex; align-items: center; gap: 6px; }
.ck-margin-input {
  width: 52px;
  text-align: center;
  border: 1.5px solid #e5e5ea;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #1d1d1f;
  padding: 3px 6px;
  font-family: inherit;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.ck-margin-input:focus { border-color: #A01E1E; }
.ck-margin-pct   { font-size: 13px; color: #555; font-weight: 600; }
.ck-intern-divider { height: 1px; background: #f0f0f5; margin: 6px 0; }

/* Intern: PDF-knappar */
.ck-intern-pdf-btn { display: none; }
.ck-kalkyl-btn    { display: none; }
body.is-intern .ck-intern-pdf-btn { display: flex; }
body.is-intern .ck-kalkyl-btn     { display: flex; }

/* Intern: dölj guide-knapp, offert-popup och ta bort sticky */
body.is-intern .ck-guide-bar      { display: none; }
body.is-intern .ck-form-overlay   { display: none !important; }
body.is-intern .ck-left           { position: static; }
body.is-intern .ck-offert-btn     { display: none; }

/* ── Responsiv ───────────────────────────────────────────── */

/* Steg 01 grid: sida-vid-sida men höger-panel 444–596px → 3 kolumner med auto-fill → tvinga 2 */
@media(min-width:781px) and (max-width:1010px){
  .ck-options-grid{grid-template-columns:repeat(2,1fr)}
}

/* ── Mobil layout ≤ 780px ─────────────────────────────────── */
@media(max-width:780px){
  .page{padding:0;min-height:100vh;align-items:flex-start}
  .ck{flex-direction:column;gap:0;width:100%;max-width:100%}

  /* Höger: tar full bredd, paddas nedifrån så inget döljs av baren */
  .ck-right{width:100%;padding:1rem 1rem 90px}

  /* Vänster: fast positionerad bottenplatta */
  .ck-left{
    position:fixed;bottom:0;left:0;right:0;width:100%;
    z-index:500;
    background:#fff;
    border-radius:20px 20px 0 0;
    box-shadow:0 -4px 24px rgba(0,0,0,.12);
    transform:translateY(calc(100% - 90px));
    transition:transform .4s cubic-bezier(.4,0,.2,1);
    max-height:88vh;
    overflow-y:auto;
    padding:0 0 env(safe-area-inset-bottom,0);
    /* Ingen sticky på mobil */
    top:auto;
  }
  .ck-left.mob-open{transform:translateY(0)}
  body.is-intern .ck-left{position:fixed}

  /* Mobil bar — alltid synlig */
  .ck-mob-bar{
    display:block;
    position:sticky;top:0;z-index:1;
    background:#fff;
    border-radius:20px 20px 0 0;
    cursor:pointer;
    padding:8px 16px 16px;
    flex-shrink:0;
    min-height:90px;
  }
  .ck-mob-pill{
    width:36px;height:4px;border-radius:2px;
    background:#d1d1d6;margin:0 auto 10px;
  }
  .ck-mob-bar-row{display:flex;align-items:center;gap:12px}
  .ck-mob-thumb{
    width:52px;height:52px;border-radius:10px;
    object-fit:cover;background:#f5f5f7;flex-shrink:0;
    border:1px solid #e5e5ea;
  }
  .ck-mob-bar-info{flex:1;min-width:0}
  .ck-mob-model{display:block;font-size:13px;font-weight:700;color:#1d1d1f}
  .ck-mob-price{display:none}
  .ck-mob-chevron{
    color:#888;flex-shrink:0;
    transition:transform .3s ease;
  }
  .ck-left.mob-open .ck-mob-chevron{transform:rotate(180deg)}

  /* Backdrop */
  .ck-mob-backdrop{
    display:block;
    position:fixed;inset:0;z-index:499;
    background:rgba(0,0,0,.4);
    opacity:0;pointer-events:none;
    transition:opacity .3s ease;
  }
  .ck-mob-backdrop.is-visible{opacity:1;pointer-events:auto}

  /* Inre content på mobil */
  .ck-left .ck-intern-badge,
  .ck-left .ck-img-wrap{padding:0 16px;margin-bottom:0}
  .ck-left .ck-summary,
  .ck-left .ck-intern-panel,
  .ck-left .ck-price-box,
  .ck-left .ck-cta{margin:0 16px}
  .ck-left > *:not(.ck-mob-bar){margin-top:12px}
  .ck-left .ck-cta{margin-bottom:16px}

  .ck-price-value{font-size:22px}
}

/* Steg 01 grid: stackad men smal telefon — höger-panel 444–596px igen → tvinga 2 */
@media(max-width:620px){
  .ck-options-grid{grid-template-columns:repeat(2,1fr)}
}

/* ── Guide-knapp ──────────────────────────────────────────── */
.ck-guide-bar{padding:0 0 0.75rem;display:flex;justify-content:flex-end}
.ck-guide-btn{background:#FBE8E8;border:1px solid #E8B4B4;border-radius:20px;padding:0.3rem 0.9rem;font-size:11px;font-weight:600;color:#A01E1E;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s}
.ck-guide-btn:hover{background:#f5d0d0;border-color:#c97070}

/* ── Guide-modal ──────────────────────────────────────────── */
.ck-guide-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99999;align-items:center;justify-content:center;padding:1rem}
.ck-guide-overlay.is-open{display:flex}
.ck-guide-modal{background:#fff;border-radius:16px;max-width:800px;width:100%;border:1px solid #e5e5ea;box-shadow:0 12px 48px rgba(0,0,0,.18);position:relative;max-height:90vh;overflow-y:auto;padding:1.75rem}
.ck-guide-title{font-size:16px;font-weight:700;color:#1d1d1f;margin:0 0 0.3rem;padding-right:2rem;letter-spacing:-.02em}
.ck-guide-intro{font-size:12px;color:#888;margin:0 0 1.2rem}
.ck-guide-steps{margin:0 0 1.2rem;padding:0;list-style:none;counter-reset:guide-step;display:flex;flex-direction:column;gap:1.5em}
.ck-guide-steps li{display:grid;grid-template-columns:28px 1fr;gap:0 0.75rem;align-items:start;counter-increment:guide-step}
.ck-guide-steps li::before{content:counter(guide-step);background:#A01E1E;color:#fff;font-size:11px;font-weight:700;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px;flex-shrink:0}
.ck-guide-step-title{display:flex;align-items:center;gap:0.45rem;font-size:13px;font-weight:600;color:#1d1d1f;margin-bottom:0.2rem;grid-column:2}
.ck-guide-step-title svg{flex-shrink:0}
.ck-guide-step-desc{display:block;font-size:12px;color:#666;line-height:1.55;grid-column:2}
.ck-guide-optional{font-size:10px;font-weight:400;color:#A01E1E;background:#FBE8E8;border-radius:10px;padding:1px 7px;margin-left:5px;vertical-align:middle}
.ck-guide-footer{border-top:1px solid #f0f0f5;margin-top:0.5rem;padding-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.ck-guide-footer-text{font-size:12px;color:#666;flex:1}
.ck-guide-close-btn{background:#A01E1E;color:#fff;border:none;border-radius:8px;padding:0.5rem 1.2rem;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s}
.ck-guide-close-btn:hover{background:#6B1212}
