/* ===== KEY CONFIGURATOR v2 ===== */
:root {
  --kc-dark:   #1C1C1A;
  --kc-gold:   #B8975A;
  --kc-gold-l: #D4B47A;
  --kc-cream:  #FAF8F4;
  --kc-light:  #F0EDE6;
  --kc-white:  #FFFFFF;
  --kc-mid:    #5C5852;
  --kc-border: #E8E4DB;
}

.kc-wrap { font-family: 'Jost', sans-serif; color: var(--kc-dark); }
.kc-step { display: none; }

/* Хлібні крихти */
.kc-breadcrumb { display:flex; align-items:center; gap:5px; flex-wrap:wrap; margin-bottom:1.5rem; font-size:12px; }
.kc-bc-act  { color: var(--kc-gold); font-weight:500; }
.kc-bc-dim  { color: var(--kc-border); }
.kc-bc-sep  { color: var(--kc-border); }
.kc-bc-btn  { background:none; border:none; padding:0; cursor:pointer; color:var(--kc-mid); font-size:12px; font-family:inherit; transition:color .2s; }
.kc-bc-btn:hover { color: var(--kc-gold); }

/* Заголовок */
.kc-title { font-family:'Cormorant Garamond',Georgia,serif; font-size:32px; font-weight:400; margin-bottom:1.5rem; }

/* Пошук */
.kc-search-wrap { margin-bottom:1.5rem; }
.kc-search { width:100%; max-width:360px; padding:10px 16px; font-size:14px; border:1px solid var(--kc-border); background:var(--kc-white); color:var(--kc-dark); outline:none; font-family:inherit; transition:border-color .2s; }
.kc-search:focus { border-color: var(--kc-gold); }

/* ── Сітка марок ── */
.kc-brands-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:10px; }

.kc-brand-btn { display:flex; flex-direction:column; align-items:center; gap:8px; padding:14px 8px; background:var(--kc-white); border:1px solid var(--kc-border); cursor:pointer; transition:transform .2s, box-shadow .2s, border-color .2s; font-family:inherit; }
.kc-brand-btn:hover { transform:translateY(-3px); box-shadow:0 8px 20px rgba(0,0,0,.08); border-color:var(--kc-gold); }

.kc-brand-logo-wrap { width:64px; height:44px; display:flex; align-items:center; justify-content:center; }
.kc-brand-logo-wrap img { max-width:64px; max-height:44px; object-fit:contain; }
.kc-brand-init { width:64px; height:44px; display:flex; align-items:center; justify-content:center; font-size:26px; font-weight:600; color:var(--kc-gold); font-family:'Cormorant Garamond',Georgia,serif; }
.kc-brand-name { font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--kc-mid); text-align:center; line-height:1.3; }

/* ── Сітка моделей ── */
.kc-models-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:14px; }

.kc-model-btn { display:flex; flex-direction:column; align-items:center; gap:10px; padding:0; background:var(--kc-white); border:1px solid var(--kc-border); cursor:pointer; overflow:hidden; transition:transform .2s, box-shadow .2s, border-color .2s; font-family:inherit; }
.kc-model-btn:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,.1); border-color:var(--kc-gold); }

.kc-model-img-wrap { width:100%; height:110px; overflow:hidden; background:var(--kc-light); }
.kc-model-img-wrap img { width:100%; height:110px; object-fit:cover; transition:transform .3s; }
.kc-model-btn:hover .kc-model-img-wrap img { transform:scale(1.04); }
.kc-model-name { font-size:12px; letter-spacing:.04em; color:var(--kc-dark); padding:0 8px 12px; text-align:center; font-weight:500; }

/* ── Список років ── */
.kc-list { display:flex; flex-wrap:wrap; gap:10px; }
.kc-list-btn { padding:10px 22px; font-size:14px; background:var(--kc-white); border:1px solid var(--kc-border); cursor:pointer; font-family:inherit; color:var(--kc-dark); transition:background .2s, border-color .2s, color .2s; }
.kc-list-btn:hover { background:var(--kc-gold); border-color:var(--kc-gold); color:#fff; }

/* ── Картка результату ── */
.kc-card { border:1px solid var(--kc-border); margin-bottom:14px; background:var(--kc-white); overflow:hidden; }
.kc-card-head { display:flex; align-items:center; gap:14px; background:var(--kc-dark); color:#fff; padding:14px 20px; }
.kc-card-num { font-size:24px; font-weight:300; color:var(--kc-gold); font-family:'Cormorant Garamond',Georgia,serif; min-width:34px; }
.kc-card-title { font-size:15px; font-weight:500; letter-spacing:.03em; }

.kc-table { width:100%; border-collapse:collapse; }
.kc-table tr { border-bottom:1px solid var(--kc-border); }
.kc-table tr:last-child { border-bottom:none; }
.kc-rl { padding:10px 20px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--kc-mid); width:42%; background:var(--kc-cream); }
.kc-rv { padding:10px 20px; font-size:14px; }

/* ── Кнопка замовити ── */
.kc-order-wrap { margin-top:22px; }
.kc-btn-order { display:inline-block; background:var(--kc-gold); color:#fff; text-decoration:none; padding:14px 36px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-family:'Jost',sans-serif; font-weight:500; transition:background .2s; }
.kc-btn-order:hover { background:var(--kc-gold-l); color:#fff; }

/* ── Допоміжні ── */
.kc-loading { padding:2rem; color:var(--kc-mid); font-size:14px; text-align:center; }
.kc-no-result, .kc-no-data p { color:var(--kc-mid); font-size:14px; padding:.5rem 0; }
.kc-no-data { padding:1rem 0; }

/* ── Адаптив ── */
@media(max-width:640px){
  .kc-brands-grid  { grid-template-columns:repeat(auto-fill,minmax(100px,1fr)); gap:8px; }
  .kc-models-grid  { grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:10px; }
  .kc-title        { font-size:24px; }
  .kc-rl, .kc-rv   { padding:8px 12px; }
  .kc-card-head    { padding:12px; }
}
