
:root{
  --isp-card-bg: rgba(255,255,255,.04);
  --isp-card-border: rgba(0,0,0,.08);
  --isp-label: inherit;
  --isp-help: rgba(0,0,0,.6);
  --isp-input-bg: rgba(255,255,255,1);
  --isp-input-border: rgba(0,0,0,.18);

  --isp-summary-bg: rgba(255,255,255,.04);
  --isp-summary-border: rgba(0,0,0,.10);
  --isp-summary-title: inherit;
  --isp-summary-price: inherit;

  --isp-btn-bg: #1f2cff;
  --isp-btn-color: #fff;
  --isp-btn-border: #1f2cff;
}

.ironlock-isp-note{
  padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:rgba(0,0,0,.03)
}

.ironlock-isp-config-wrap{
  border:1px solid var(--isp-card-border);
  background:var(--isp-card-bg);
  border-radius:16px;
  padding:16px;
}

.ironlock-isp-ui-content{margin-bottom:14px}

.ironlock-isp-config{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.ironlock-isp-config.ironlock-isp-two-col{
  grid-template-columns:1fr 1fr;
}

@media (max-width: 1024px){
  .ironlock-isp-config.ironlock-isp-two-col{grid-template-columns:1fr}
}

.ironlock-isp-field label{
  display:block;
  font-weight:700;
  color:var(--isp-label);
  margin:0 0 8px;
  text-align:start;
}

.ironlock-isp-req{color:#ff3b3b}

.ironlock-isp-input{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--isp-input-border);
  background:var(--isp-input-bg);
  outline:none;
}

.ironlock-isp-help{
  margin-top:6px;
  font-size:12px;
  opacity:.9;
  color:var(--isp-help);
  text-align:start;
}

/* switch */
.ironlock-isp-switch{position:relative;display:inline-block;width:52px;height:30px}
.ironlock-isp-switch input{opacity:0;width:0;height:0}
.ironlock-isp-slider{position:absolute;cursor:pointer;inset:0;background:rgba(0,0,0,.18);transition:.2s;border-radius:999px}
.ironlock-isp-slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;top:4px;background:white;transition:.2s;border-radius:999px}
.ironlock-isp-switch input:checked + .ironlock-isp-slider{background:rgba(31,44,255,.75)}
.ironlock-isp-switch input:checked + .ironlock-isp-slider:before{transform:translateX(22px)}

/* summary */
.ironlock-isp-summary-wrap{
  border:1px solid var(--isp-summary-border);
  background:var(--isp-summary-bg);
  border-radius:16px;
  padding:16px;
}
.ironlock-isp-summary-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ironlock-isp-summary-title{font-weight:800;color:var(--isp-summary-title)}
.ironlock-isp-summary-price{font-weight:900;font-size:22px;color:var(--isp-summary-price)}
.ironlock-isp-breakdown{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.ironlock-isp-break-row{display:flex;justify-content:space-between;gap:10px;border-top:1px dashed rgba(0,0,0,.12);padding-top:8px}
.ironlock-isp-summary-status{margin-top:10px;font-size:12px;opacity:.8}

/* cart */
.ironlock-isp-cart-wrap{display:flex;flex-direction:column;gap:10px}
.ironlock-isp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid var(--isp-btn-border);
  background:var(--isp-btn-bg);
  color:var(--isp-btn-color);
  cursor:pointer;
  font-weight:800;
}
.ironlock-isp-cart-msg{font-size:12px;opacity:.85}



/* ILCO presets (applied via widget wrappers) */
.ilco-block{--ilco-bg:rgba(255,255,255,.04);--ilco-border:rgba(255,255,255,.10);--ilco-text:inherit;--ilco-radius:16px;border:1px solid var(--ilco-border);background:var(--ilco-bg);border-radius:var(--ilco-radius);color:var(--ilco-text)}
.ilco-preset-glass{backdrop-filter: blur(10px)}
.ilco-preset-neon{box-shadow:0 0 0 1px rgba(120,150,255,.22), 0 10px 26px rgba(0,0,0,.25)}
.ilco-preset-solid{--ilco-bg:rgba(15,22,48,.85)}
.ilco-preset-minimal{border-color:rgba(255,255,255,.08)}
.ilco-preset-dark{--ilco-bg:rgba(6,10,20,.85);--ilco-border:rgba(140,160,255,.20)}

/* Wizard */
.ilco-stepper{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.ilco-stepper-btn{padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(12,16,32,.45);cursor:pointer}
.ilco-stepper-btn.is-active{border-color:rgba(140,160,255,.45);background:rgba(40,60,255,.18)}
.ilco-stepper-controls{display:flex;gap:10px;margin:8px 0 0}
.ilco-stepper-prev,.ilco-stepper-next{padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(12,16,32,.45);cursor:pointer}
.ilco-stepper-prev:disabled,.ilco-stepper-next:disabled{opacity:.5;cursor:not-allowed}

.ilco-progress{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.ilco-progress-bar{height:100%;width:0;background:rgba(140,160,255,.6)}

/* Choice cards */
.ironlock-isp-radio-group,.ironlock-isp-check-group{display:grid;gap:10px}
.ironlock-isp-choice{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(12,16,32,.35);cursor:pointer}
.ironlock-isp-choice input{margin:0}
.ironlock-isp-choice-ui{flex:1}

/* Image choice */
.ironlock-isp-image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.ironlock-isp-image-choice{border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(12,16,32,.35);overflow:hidden;cursor:pointer;display:block}
.ironlock-isp-image-choice input{position:absolute;opacity:0;pointer-events:none}
.ironlock-isp-image-choice-ui{display:flex;flex-direction:column;gap:8px;padding:12px}
.ironlock-isp-image-choice img{width:100%;height:120px;object-fit:cover;border-radius:12px}
.ironlock-isp-image-choice-title{font-weight:700}
.ironlock-isp-image-choice:has(input:checked){border-color:rgba(140,160,255,.55);box-shadow:0 0 0 2px rgba(140,160,255,.18)}

/* Content blocks */
.ironlock-isp-content{padding:12px 0}
.ironlock-isp-content-image img{max-width:100%;height:auto;border-radius:14px;border:1px solid rgba(255,255,255,.10)}

/* Breakdown */
.ilco-breakdown{margin-top:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(12,16,32,.25)}
.ilco-breakdown-title{font-weight:800;margin-bottom:8px}
.ilco-breakdown-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.ilco-breakdown-list li{display:flex;justify-content:space-between;gap:10px}
