/* ================================================================
   ELVES Konfigurátor — dark theme skin pre konfigurator.elvesbike.sk
   Aktivuje sa cez body.elves (host detekcia v index.php).
   Zdieľa DOM/JS s roadbikes konfigurátorom — mení len vzhľad + layout.
   ================================================================ */

body.elves{
  --accent:#5b9dff; --accent-light:#16233b; --accent-bg:#121a2b;
  --green:#2ecc71; --orange:#e69138; --red:#ff5b5b;
  --gray-100:#0e1116; --gray-200:#242a35; --gray-300:#333a47;
  --gray-500:#8b919d; --gray-700:#c4c9d3; --gray-900:#eceef2;
  --shadow:0 2px 10px rgba(0,0,0,.45);
  background:#0e1116; color:#eceef2;
}

/* Header ostáva čierny, len zvýraznenie */
body.elves .header{background:#000;border-bottom:1px solid #1c1f27}
body.elves .header h1 span{color:var(--accent);opacity:1}

/* Sekcie */
body.elves .section{border-bottom:1px solid #1c212b;margin:18px 12px;padding-bottom:18px}
body.elves .section-header h2{color:#fff;font-weight:700;letter-spacing:.2px}
body.elves .group-label{color:var(--gray-500);font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin:8px 0 6px}

/* Dlaždicový grid kariet */
body.elves .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
body.elves .card{
  position:relative;
  background:#171b23;border:1px solid #2a303c;border-radius:14px;padding:12px 12px 10px;
  color:#eceef2;box-shadow:none;transition:transform .12s,border-color .12s,background .12s;cursor:pointer
}
body.elves .card:hover{border-color:#3d4756;transform:translateY(-2px)}

/* Admin Nastavenia panel — dark (predtým svetlý box na tmavej téme) */
body.elves .settings{background:#171b23;border:1px solid #2a303c;box-shadow:none}
body.elves .settings summary{color:var(--accent)}
body.elves .settings-grid label,
body.elves .setting-row label,
body.elves .margin-grid label{color:var(--gray-700)}
body.elves .setting-row input,
body.elves .setting-row select,
body.elves .tier-row input{background:#0f131b;border-color:#333a47;color:#eceef2}
body.elves .setting-row select{background:#0f131b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238b919d'/%3E%3C/svg%3E") no-repeat right 8px center}
body.elves .setting-row .unit,
body.elves .tier-row span,
body.elves .fx-info{color:var(--gray-500)}
body.elves .settings .group-label,
body.elves .margin-grid + *,
body.elves .settings [style*="font-weight:600"]{color:var(--gray-700)}
body.elves .fx-refresh{color:var(--accent)}
body.elves .detail-section-label{color:var(--gray-500)}
/* „+ Pridať kód" má inline background:#fff → prebiť */
body.elves .settings button[onclick*="addPromoRow"]{background:#0f131b !important;border-color:#333a47 !important;color:var(--gray-700)}
body.elves .card.selected{border-color:var(--accent);background:#16233b;box-shadow:inset 0 0 0 2px var(--accent)}
body.elves .card.selected:hover{border-color:var(--accent)}
body.elves .card.selected::after{content:"\2713";position:absolute;top:7px;right:9px;color:var(--accent);font-weight:800;font-size:13px;line-height:1}
body.elves .card.out-of-stock{opacity:.4}
body.elves .card-bike-img{border-radius:9px;background:#0f131b;margin-bottom:10px}
body.elves .card-name{font-weight:600;font-size:14px;color:#fff}
body.elves .card-type{font-size:12px;color:var(--gray-500);margin-top:2px}
body.elves .card-note{font-size:11px;color:var(--orange);margin-top:4px}
body.elves .card-prices{margin-top:8px}
body.elves .card-eur{font-weight:700;color:var(--accent)}
body.elves .card-usd{color:var(--gray-500)}

/* Spec panely — presunuté pod svoju sekciu (elves-ui.js) → seamless */
body.elves .spec-section{
  background:#12161e;border:1px solid #232935;border-radius:14px;
  margin:12px 0 4px;padding:16px 16px 18px
}
body.elves .spec-section h2,body.elves .spec-section h3{color:#fff}
body.elves .spec-section h3{font-size:14px;margin-bottom:8px;color:var(--gray-700)}
body.elves .spec-row label{color:var(--gray-700);font-size:13px}
body.elves .spec-input,
body.elves select,
body.elves input[type=text],
body.elves input[type=number],
body.elves input[type=email],
body.elves input[type=tel],
body.elves textarea{
  background:#0e131c;color:#eceef2;border:1px solid #333a47;border-radius:8px
}
body.elves .spec-input:focus,body.elves select:focus,body.elves input:focus,body.elves textarea:focus{
  border-color:var(--accent);outline:none
}
body.elves .palette-btn{background:#1b2130;border:1px solid #333a47;border-radius:8px}
body.elves .card-selects{border-top-color:#2a303c}
body.elves .card-sel select{background:#0e131c;color:#eceef2;border-color:#333844}
body.elves .watt-opt{border-color:#2a303c}
body.elves .watt-opt b{color:var(--accent)}
/* Farebný modal (paleta) — dark */
body.elves .color-modal{background:#161b24;color:#eceef2}
body.elves .color-modal h3{color:#fff}
body.elves .color-modal-close button{background:#1b2130;color:#fff}
body.elves .color-group-label{color:#eceef2}
body.elves .design-gallery{background:#0e131c;border:1px solid #232935;border-radius:10px;padding:10px}
body.elves .paint-link{color:var(--accent)}

/* Summary bar dole */
body.elves .summary-bar{background:#0b0e13;border-top:1px solid #232935}
body.elves .detail-panel{background:#12161e;border-top:1px solid #232935;color:#eceef2}
body.elves .detail-calc{background:#0f131b;border:1px solid #232935;color:#eceef2}
body.elves .detail-table td{border-bottom-color:#232935}
body.elves .detail-item{border-bottom-color:#232935}
body.elves .detail-item-name{color:#fff}
body.elves .detail-calc-row.total,body.elves .detail-calc-row.selling{color:#fff}
body.elves .summary-selling{color:#fff;font-weight:800}
body.elves .summary-label,body.elves .summary-total-label{color:var(--gray-500)}

/* CTA */
body.elves .cta-section{padding:16px 12px}
body.elves .cta-btn{
  background:var(--accent);color:#06101f;font-weight:800;border:none;border-radius:12px;
  padding:14px 20px;font-size:16px;width:100%;cursor:pointer
}
body.elves .cta-btn:disabled{background:#2a303c;color:#6b7280;cursor:not-allowed}
/* v sticky lište CTA NIE je full-width (inak prekrýva cenu) */
body.elves .summary-bar .cta-btn{width:auto!important;flex:0 0 auto;max-width:45%;padding:13px 20px;font-size:15px;white-space:nowrap}
body.elves .cta-hint{color:var(--gray-500);text-align:center;margin-top:8px;font-size:13px}

/* Objednávkové extras: počet ks + súhlas */
body.elves .elves-order-extras{
  background:#12161e;border:1px solid #232935;border-radius:14px;padding:14px 16px;margin-bottom:14px
}
body.elves .qty-row{display:flex;align-items:center;justify-content:space-between}
body.elves .qty-row>label{font-weight:600;color:#fff}
body.elves .qty-ctrl{display:flex;align-items:center;gap:0;border:1px solid #333a47;border-radius:10px;overflow:hidden}
body.elves .qty-ctrl button{background:#1b2130;color:#fff;border:none;width:40px;height:40px;font-size:20px;cursor:pointer}
body.elves .qty-ctrl button:hover{background:var(--accent);color:#06101f}
body.elves .qty-ctrl input{width:56px;height:40px;text-align:center;background:#0e131c;color:#fff;border:none;border-left:1px solid #333a47;border-right:1px solid #333a47;font-size:16px;font-weight:700}
body.elves .qty-total{margin-top:10px;font-weight:700;color:var(--accent);font-size:15px;display:none}
body.elves .terms-row{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;color:var(--gray-700)}
body.elves .terms-row a{color:var(--accent)}
body.elves .terms-row input{width:18px;height:18px;accent-color:var(--accent)}
body.elves .terms-row.terms-error{color:var(--red)}
body.elves .terms-row.terms-error a{color:var(--red)}

/* Modály */
body.elves .modal-box{background:#161b24;color:#eceef2}
body.elves .order-modal-header{border-bottom-color:#232935;background:#161b24}
body.elves .order-billing-note{border-top-color:#232935}
body.elves .order-promo input{background:#0e131c;color:#eceef2;border-color:#333844}

/* ─ Admin objednávky (zoznam + detail) — dark ─ */
body.elves .order-detail-box{background:#12161e;border:1px solid #232935;color:#eceef2}
body.elves .order-actions button{background:#171b23;color:#eceef2;border-color:#333a47}
body.elves .order-actions button:hover{background:#232935}
body.elves .order-stat.profit{background:#12301f}
body.elves .order-stat.status{background:#2e2210}
body.elves .modal-box h2{color:#fff}
body.elves .contact-form label{color:var(--gray-700)}
body.elves .contact-form .btn-primary{background:var(--green);color:#04150a}
body.elves .contact-success{color:var(--green)}

/* Frame lock — po deep-linku sa rám nedá meniť */
body.elves.frame-locked #section-frame .card[data-section="frame"]:not(.selected){display:none}
body.elves.frame-locked #section-frame .card[data-section="frame"]{pointer-events:none}
body.elves.frame-locked #section-frame .clear-btn{display:none!important}
/* pri frame-locku zobraz len vybraný rám — skry nadpisy skupín (Cestné/TT/MTB), inak trčia prázdne */
body.elves.frame-locked #section-frame .group-label{display:none!important}
/* jediný vybraný rám zobraz väčší a vycentrovaný (nie malú dlaždicu) */
body.elves.frame-locked #section-frame .cards{display:block}
body.elves.frame-locked #section-frame .card.selected{max-width:480px;margin:0 auto;padding:16px}
body.elves.frame-locked #section-frame .card.selected .card-name{font-size:18px}
