/* ======================================================
   IDOL KONFIGURÁTOR v2  —  dark luxury
   ====================================================== */
:root{
  --ik-dark:#141416; --ik-dark2:#1c1c1f; --ik-dark3:#222226;
  --ik-gold:#c8961f; --ik-gold2:rgba(200,150,31,.18);
  --ik-text:#f0ede8; --ik-muted:#b8b4ac; --ik-border:rgba(255,255,255,.10);
  --ik-r:0px;
}

/* WRAP */
.ik2{
  background:var(--ik-dark);
  font-family:'Jost',sans-serif;
  font-weight:300;
  color:var(--ik-text);
  max-width:1440px;
  margin:0 auto;
  position:relative;
}

/* ── MODAL OVERLAY ── */
.ik2-overlay{
  position:fixed; inset:0; z-index:99990;
  background:rgba(5,5,5,.95);
  backdrop-filter:blur(6px);
  overflow-y:auto;
  display:flex; align-items:flex-start; justify-content:center;
  padding:40px 24px 80px;
}
.ik2-overlay[hidden]{ display:none; }
.ik2-overlay .ik2{
  max-width:1400px; width:100%;
  box-shadow:0 40px 120px rgba(0,0,0,.8);
  border:1px solid rgba(200,150,31,.12);
}
.ik2__close{
  position:absolute; top:16px; right:20px; z-index:10;
  background:transparent; border:none;
  color:var(--ik-muted); font-size:20px; cursor:pointer;
  width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  transition:color .2s;
}
.ik2__close:hover{ color:var(--ik-gold); }

/* ── PREVIEW ── */
.ik2-preview{
  display:grid;
  grid-template-columns:420px 1fr;
  min-height:340px;
  border-bottom:1px solid var(--ik-border);
}
.ik2-preview__photo-wrap{
  background:#000;
  position:relative;
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.ik2-preview__photo{
  width:100%; height:100%;
  object-fit:contain;
  transition:opacity .4s ease, transform .5s ease;
}
.ik2-preview__photo[hidden]{ display:block !important; opacity:0; }
.ik2-preview__ph-icon{
  position:absolute; inset:0;
  display:flex; flex-direction:column; gap:14px; align-items:center; justify-content:center;
  opacity:.5; transition:opacity .4s;
}
.ik2-preview__ph-icon svg{ width:88px; height:88px; }
.ik2-preview__ph-text{
  font-family:'Jost',sans-serif; font-size:13px; letter-spacing:2px;
  text-transform:uppercase; color:#c8961f; text-align:center; line-height:1.6;
}
.ik2-preview--has-model .ik2-preview__ph-icon{ opacity:0; pointer-events:none; }
.ik2-preview--has-model .ik2-preview__photo{ opacity:1; }

.ik2-preview__info{
  padding:36px 40px;
  display:flex; flex-direction:column; gap:10px;
  border-left:1px solid var(--ik-border);
}
.ik2-preview__eyebrow{
  font-size:13px; letter-spacing:3px; color:var(--ik-gold);
  text-transform:uppercase; margin-bottom:4px;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.ik2-preview__madebadge{
  font-size:13px; letter-spacing:1.5px; color:var(--ik-gold);
  border:1px solid rgba(200,150,31,.4); background:rgba(200,150,31,.08);
  padding:3px 9px; border-radius:3px;
}
.ik2-preview__madenote{
  font-size:13px; color:#9a9484; line-height:1.5; margin:2px 0 6px; max-width:46ch;
}
.ik2-preview__name{
  font-family:'Cormorant Garamond',serif;
  font-size:48px; font-weight:300; line-height:1.05;
  color:var(--ik-text);
}
.ik2-preview__price{
  color:var(--ik-gold); font-size:24px;
  font-family:'Cormorant Garamond',serif; font-weight:300;
  min-height:30px;
}
.ik2-preview__chips{
  display:flex; flex-wrap:wrap; gap:8px; min-height:28px;
}
.ik2-preview__chip{
  font-size:13px; letter-spacing:1.5px; text-transform:uppercase;
  background:var(--ik-gold2); border:1px solid rgba(200,150,31,.3);
  color:var(--ik-gold); padding:4px 12px; white-space:nowrap;
}
.ik2-preview__cta{
  display:flex; gap:10px; margin-top:auto; flex-wrap:wrap;
}
.ik2-cta-inquiry, .ik2-cta-cart{
  flex:1; min-width:140px;
  padding:12px 20px; font-family:'Jost',sans-serif;
  font-size:13px; text-transform:uppercase; letter-spacing:2px;
  cursor:pointer; transition:all .25s; border-radius:var(--ik-r);
  white-space:nowrap;
}
.ik2-cta-inquiry{
  background:var(--ik-gold); color:var(--ik-dark); border:1px solid var(--ik-gold);
}
.ik2-cta-inquiry:hover{ opacity:.85; }
.ik2-cta-cart{
  background:transparent; color:var(--ik-gold); border:1px solid rgba(200,150,31,.4);
}
.ik2-cta-cart:not(:disabled):hover{ border-color:var(--ik-gold); background:var(--ik-gold2); }
.ik2-cta-cart:disabled{ opacity:.3; cursor:not-allowed; }

/* ── ACCORDION STEPS ── */
.ik2-steps{
  border-bottom:1px solid var(--ik-border);
}
.ik2-step{
  border-bottom:1px solid var(--ik-border);
}
.ik2-step:last-child{ border-bottom:none; }

/* step header */
.ik2-step__hd{
  width:100%; display:flex; align-items:center; gap:20px;
  padding:24px 40px;
  background:transparent; border:none; color:var(--ik-text);
  cursor:pointer; text-align:left;
  transition:background .2s;
}
.ik2-step__hd:hover{ background:rgba(255,255,255,.025); }
.ik2-step.is-open .ik2-step__hd{ background:rgba(200,150,31,.04); }

.ik2-step__num{
  width:52px; height:52px; border-radius:50%; flex-shrink:0;
  border:2px solid rgba(200,150,31,.55);
  display:flex; align-items:center; justify-content:center;
  font-size:20px; font-weight:500; letter-spacing:.5px; color:var(--ik-gold);
  transition:all .25s; font-family:'Jost',sans-serif;
}
.ik2-step.is-done .ik2-step__num{
  background:var(--ik-gold); color:var(--ik-dark); border-color:var(--ik-gold);
  font-size:22px;
}
/* override text with checkmark when done */
.ik2-step.is-done .ik2-step__num::after{ content:'✓'; }
.ik2-step.is-done .ik2-step__num{ font-size:0; } /* hide number */
.ik2-step.is-done .ik2-step__num::after{ font-size:22px; }

.ik2-step__title{
  flex:1; font-size:19px; text-transform:uppercase; letter-spacing:2px;
  font-weight:500; color:var(--ik-text); transition:color .2s;
}
.ik2-step.is-open  .ik2-step__title{ color:var(--ik-text); }
.ik2-step.is-done  .ik2-step__title{ color:var(--ik-gold); }

.ik2-step__sel{
  font-size:13px; color:rgba(200,150,31,.7); letter-spacing:.5px;
  max-width:240px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.ik2-step__arrow{
  width:18px; height:18px; color:var(--ik-muted); flex-shrink:0;
  transition:transform .3s ease;
}
.ik2-step.is-open .ik2-step__arrow{ transform:rotate(180deg); color:var(--ik-gold); }

/* step body */
.ik2-step__body{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .35s ease;
  overflow:hidden;
}
.ik2-step.is-open .ik2-step__body{ grid-template-rows:1fr; }
.ik2-step__body > .ik2-step__desc,
.ik2-step__body > .ik2-swatches,
.ik2-step__body > .ik2-grid,
.ik2-step__body > .ik2-empty,
.ik2-step__body > .ik2-step__foot{
  /* these are direct children — need wrapper for grid trick */
}
/* Use inner wrapper for overflow */
.ik2-step__body-inner{
  overflow:hidden;
  padding:0 32px 0;
}
/* Wrap all body content in inner div */

.ik2-step__desc{
  font-size:13px; color:var(--ik-muted); margin:20px 0 20px 48px;
  letter-spacing:.3px; line-height:1.5;
}

/* GRID (products) */
.ik2-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:20px;
  padding:0 40px 32px 56px;
}
.ik2-grid--cards{
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
}
.ik2-grid--multi{
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
}

.ik2-card{
  background:var(--ik-dark2);
  border:1px solid var(--ik-border);
  cursor:pointer;
  transition:border-color .2s, transform .2s, box-shadow .2s;
  position:relative;
  overflow:hidden;
}
.ik2-card:hover{
  border-color:rgba(200,150,31,.35);
  transform:translateY(-2px);
}
.ik2-card.is-sel{
  border-color:var(--ik-gold);
  box-shadow:0 0 0 1px var(--ik-gold),0 6px 24px rgba(200,150,31,.1);
}
.ik2-card__img{
  background:#000; height:200px;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.ik2-card__img img{
  width:100%; height:100%; object-fit:contain;
  transition:transform .4s ease;
}
.ik2-card:hover .ik2-card__img img{ transform:scale(1.06); }
.ik2-card__body{ padding:14px 16px 16px; }
.ik2-card__name{
  font-family:'Cormorant Garamond',serif;
  font-size:17px; font-weight:400; color:var(--ik-text);
  line-height:1.2; margin-bottom:4px;
}
.ik2-card__exc{
  font-size:13px; color:var(--ik-muted); line-height:1.4; margin-bottom:6px;
}
.ik2-card__price{ color:var(--ik-gold); font-size:13px; }
.ik2-card__chk{
  position:absolute; top:10px; right:10px;
  width:24px; height:24px; border-radius:50%;
  background:var(--ik-gold); color:var(--ik-dark);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; opacity:0; transition:opacity .2s;
}
.ik2-card.is-sel .ik2-card__chk{ opacity:1; }

/* SWATCHES */
.ik2-swatches{
  display:flex; flex-wrap:wrap; gap:12px;
  padding:4px 32px 24px 48px;
}
.ik2-swatch{
  width:56px; height:56px; border-radius:50%;
  border:2px solid transparent;
  background-size:cover; background-position:center;
  cursor:pointer; position:relative;
  transition:border-color .2s, transform .2s, box-shadow .2s;
  overflow:visible;
  flex-shrink:0;
}
.ik2-swatch:hover{ transform:scale(1.1); border-color:rgba(200,150,31,.5); }
.ik2-swatch.is-sel{
  border-color:var(--ik-gold);
  box-shadow:0 0 0 2px var(--ik-dark), 0 0 0 4px var(--ik-gold);
}
.ik2-swatch__chk{
  position:absolute; inset:0; border-radius:50%;
  background:rgba(200,150,31,.85); color:var(--ik-dark);
  display:flex; align-items:center; justify-content:center;
  font-size:18px; opacity:0; transition:opacity .2s;
}
.ik2-swatch.is-sel .ik2-swatch__chk{ opacity:1; }
/* Tooltip */
.ik2-swatch__tip{
  position:absolute; bottom:calc(100% + 8px); left:50%;
  transform:translateX(-50%);
  background:var(--ik-dark3); border:1px solid var(--ik-gold2);
  color:var(--ik-text); font-size:13px; white-space:nowrap;
  padding:5px 10px; pointer-events:none;
  opacity:0; transition:opacity .2s;
  letter-spacing:.5px;
}
.ik2-swatch__tip small{ color:var(--ik-gold); }
.ik2-swatch:hover .ik2-swatch__tip{ opacity:1; }

/* EMPTY */
.ik2-empty{
  margin:0 32px 24px 48px;
  padding:24px; border:1px dashed rgba(200,150,31,.15);
  color:var(--ik-muted); font-size:13px; line-height:1.6;
}
.ik2-empty code{ color:var(--ik-gold); background:rgba(200,150,31,.07); padding:1px 6px; }

/* STEP FOOTER */
.ik2-step__foot{
  display:flex; align-items:center; gap:20px;
  padding:16px 32px 24px 48px;
  border-top:1px solid var(--ik-border);
  margin-top:8px;
}
.ik2-btn-next{
  margin-left:auto;
  background:var(--ik-gold); color:var(--ik-dark); border:none;
  padding:13px 36px; font-family:'Jost',sans-serif;
  font-size:13px; text-transform:uppercase; letter-spacing:2.5px;
  cursor:pointer; transition:opacity .2s;
}
.ik2-btn-next:disabled{ opacity:.35; cursor:not-allowed; }
.ik2-btn-next:not(:disabled):hover{ opacity:.85; }
.ik2-btn-skip{
  background:transparent; border:none;
  color:var(--ik-muted); font-size:13px; letter-spacing:1.5px;
  text-transform:uppercase; cursor:pointer; text-decoration:underline;
  font-family:'Jost',sans-serif;
}
.ik2-btn-skip:hover{ color:var(--ik-text); }

/* ── INQUIRY ── */
.ik2-inquiry{
  padding:48px 40px;
  border-top:1px solid rgba(200,150,31,.15);
}
.ik2-inq__summary{ margin-bottom:24px; }
.ik2-inq__item{
  display:flex; align-items:center; gap:16px;
  padding:14px 0; border-bottom:1px solid var(--ik-border);
}
.ik2-inq__item img{
  width:64px; height:48px; object-fit:contain; background:#000; flex-shrink:0;
}
.ik2-inq__item-info{ flex:1; }
.ik2-inq__item-step{ font-size:13px; letter-spacing:2.5px; text-transform:uppercase; color:var(--ik-muted); margin-bottom:3px; }
.ik2-inq__item-name{ font-family:'Cormorant Garamond',serif; font-size:19px; }
.ik2-inq__item-price{ color:var(--ik-gold); font-size:13px; white-space:nowrap; }

.ik2-inq__total{
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 0; border-top:1px solid rgba(200,150,31,.2);
  margin-bottom:40px;
  font-size:13px; letter-spacing:2px; text-transform:uppercase; color:var(--ik-muted);
}
.ik2-inq__total-val{
  color:var(--ik-gold);
  font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:300;
}

.ik2-inq__split{
  display:grid; grid-template-columns:1fr 60px 1fr; gap:0; align-items:start;
}
.ik2-inq__head{
  font-family:'Cormorant Garamond',serif !important;
  font-size:26px !important; font-weight:300 !important;
  color:var(--ik-text) !important; margin:0 0 22px !important;
}
.ik2-inq__or{
  display:flex; align-items:center; justify-content:center;
  padding-top:60px;
}
.ik2-inq__or span{
  font-size:13px; letter-spacing:2px; text-transform:uppercase;
  color:#444; writing-mode:vertical-lr; text-orientation:mixed;
}
.ik2-inq__col--cart{
  padding-left:40px; border-left:1px solid var(--ik-border);
}
.ik2-inq__cart-note{
  color:var(--ik-muted); font-size:13px; line-height:1.6; margin-bottom:24px;
}
.ik2-cart-btn{
  background:transparent; border:1px solid rgba(200,150,31,.4);
  color:var(--ik-gold); padding:14px 28px;
  font-family:'Jost',sans-serif; font-size:13px;
  text-transform:uppercase; letter-spacing:2px; cursor:pointer;
  transition:all .25s; width:100%;
}
.ik2-cart-btn:hover{ background:var(--ik-gold2); border-color:var(--ik-gold); }

/* FORM */
.ik2-form__row{
  display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px;
}
.ik2-form input, .ik2-form textarea{
  background:var(--ik-dark2) !important; border:1px solid rgba(200,150,31,.15) !important;
  color:var(--ik-text) !important; padding:13px 16px !important;
  font-family:'Jost',sans-serif !important; font-size:13px !important;
  width:100%; box-sizing:border-box; border-radius:0 !important;
  transition:border-color .2s; appearance:none;
}
.ik2-form input:focus, .ik2-form textarea:focus{
  outline:none !important; border-color:var(--ik-gold) !important;
}
.ik2-form textarea{ margin-bottom:10px; resize:vertical; }
.ik2-form__gdpr{
  display:flex; gap:10px; align-items:flex-start;
  color:var(--ik-muted); font-size:13px; margin:12px 0 20px; cursor:pointer;
}
.ik2-form__gdpr a{ color:var(--ik-gold); }
.ik2-form__gdpr input{ width:auto !important; flex-shrink:0; margin-top:2px; }
.ik2-form__submit{
  width:100%; background:var(--ik-gold); color:var(--ik-dark); border:none;
  padding:15px; font-family:'Jost',sans-serif; font-size:13px;
  text-transform:uppercase; letter-spacing:2.5px; cursor:pointer; transition:opacity .2s;
}
.ik2-form__submit:hover{ opacity:.85; }
.ik2-form__submit:disabled{ opacity:.4; cursor:not-allowed; }
.ik2-form__status{ margin-top:12px; font-size:13px; text-align:center; }
.ik2-form__status.ok{ color:#72c472; }
.ik2-form__status.err{ color:#e06060; }

/* ── PRODUCT PAGE BUTTON ── */
.ik2-product-btn-wrap{ margin:16px 0; }
.ik2-product-btn{
  background:transparent;
  border:1px solid var(--ik-gold);
  color:var(--ik-gold);
  padding:14px 36px;
  font-family:'Jost',sans-serif; font-size:13px;
  text-transform:uppercase; letter-spacing:2.5px; cursor:pointer;
  transition:all .25s; width:100%;
}
.ik2-product-btn:hover{ background:var(--ik-gold); color:var(--ik-dark); }

/* ── RESPONSIVE ── */
@media(max-width:800px){
  .ik2-preview{ grid-template-columns:1fr; }
  .ik2-preview__photo-wrap{ height:220px; }
  .ik2-preview__info{ border-left:none; border-top:1px solid var(--ik-border); padding:24px; }
  .ik2-preview__name{ font-size:28px; }
  .ik2-step__hd{ padding:16px 20px; }
  .ik2-step__desc,.ik2-swatches,.ik2-grid,.ik2-empty,.ik2-step__foot{
    padding-left:20px !important;
  }
  .ik2-grid{ padding-right:20px; }
  .ik2-inquiry{ padding:32px 20px; }
  .ik2-inq__split{ grid-template-columns:1fr; }
  .ik2-inq__or{ display:none; }
  .ik2-inq__col--cart{ padding-left:0; border-left:none; border-top:1px solid var(--ik-border); padding-top:32px; margin-top:32px; }
  .ik2-form__row{ grid-template-columns:1fr; }
}
@media(max-width:520px){
  .ik2-grid{ grid-template-columns:1fr 1fr; }
  .ik2-preview__cta{ flex-direction:column; }
}
