/*
  Ironlock Bento Core - Widgets Styles
  Uses runtime CSS variables from includes/runtime.php
*/

.ilb{
  font-family:var(--ilb-font-body, system-ui);
  color:var(--ilb-text, #0B1220);
}

.ilb .ilb-wrap{ width:100%; }

/* Card */
.ilb-card{
  background:var(--ilb-surface, #fff);
  border:calc(var(--ilb-opt-gen_border_width, 1) * 1px) solid var(--ilb-border, rgba(15,23,42,0.10));
  border-radius:var(--ilb-card-radius, 20px);
  box-shadow:0 calc(var(--ilb-opt-gen_shadow_y, 12) * 1px) calc(var(--ilb-opt-gen_shadow_blur, 28) * 1px) var(--ilb-opt-gen_shadow_color, rgba(2,6,23,0.12));
  padding:calc(var(--ilb-opt-layout_card_padding, 22) * 1px);
}
.ilb-card--tight{ padding:calc(var(--ilb-opt-layout_card_padding, 22) * 0.75px); }

.ilb-card:hover{
  transform:translateY(calc(var(--ilb-lift, 6px) * -1));
  box-shadow:0 18px 50px rgba(2,6,23,0.18);
}

/* Grid */
.ilb-grid{ display:grid; gap:calc(var(--ilb-opt-layout_grid_gap, 18) * 1px); }
.ilb-grid--2{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.ilb-grid--3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.ilb-grid--4{ grid-template-columns:repeat(4, minmax(0,1fr)); }
@media (max-width: 980px){
  .ilb-grid--4{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .ilb-grid--3{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .ilb-grid--4,
  .ilb-grid--3,
  .ilb-grid--2{ grid-template-columns:1fr; }
}

/* Headings */
.ilb h1,.ilb h2,.ilb h3,.ilb h4,.ilb h5,.ilb h6{ font-family:var(--ilb-font-heading, var(--ilb-font-body, system-ui)); margin:0 0 10px; }
.ilb .ilb-kicker{ font-weight:900; letter-spacing:0.08em; text-transform:uppercase; font-size:12px; color:var(--ilb-opt-colors_primary, var(--ilb-primary, #2563EB)); }
.ilb .ilb-muted{ color:var(--ilb-muted, rgba(11,18,32,0.66)); }

/* Buttons */
.ilb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius:var(--ilb-btn-radius, 16px);
  border:1px solid var(--ilb-border, rgba(15,23,42,0.10));
  background:var(--ilb-surface, #fff);
  color:var(--ilb-text, #0B1220);
  text-decoration:none;
  font-weight:900;
}
.ilb-btn:hover{ transform:translateY(calc(var(--ilb-lift, 6px) * -1)); }

.ilb-btn--primary{
  background:var(--ilb-primary, #2563EB);
  border-color:var(--ilb-primary-border, rgba(37,99,235,0.16));
  color:var(--ilb-opt-colors_btn_text, #fff);
}
.ilb-btn--primary:hover{ box-shadow:0 18px 60px var(--ilb-primary-soft, rgba(37,99,235,0.12)); }

.ilb-btn--ghost{
  background:transparent;
  border-color:var(--ilb-primary-border, rgba(37,99,235,0.16));
  color:var(--ilb-primary, #2563EB);
}

/* Badges */
.ilb-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--ilb-primary-soft, rgba(37,99,235,0.12));
  color:var(--ilb-primary, #2563EB);
  font-weight:900;
  font-size:12px;
}

/* Pills (tabs etc) */
.ilb-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--ilb-border, rgba(15,23,42,0.10));
  background:var(--ilb-surface, #fff);
  color:var(--ilb-text, #0B1220);
  text-decoration:none;
  font-weight:900;
}
.ilb-pill.is-active{ background:var(--ilb-primary, #2563EB); border-color:var(--ilb-primary, #2563EB); color:var(--ilb-opt-colors_btn_text, #fff); }

/* Price */
.ilb-price{ font-size:32px; font-weight:1000; letter-spacing:-0.02em; }

/* Simple icon bubble */
.ilb-ico{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:var(--ilb-primary-soft, rgba(37,99,235,0.12));
  color:var(--ilb-primary, #2563EB);
}

/* Inputs */
.ilb-input{
  width:100%;
  padding:12px 14px;
  border-radius:calc(var(--ilb-opt-layout_input_radius, 16) * 1px);
  border:1px solid var(--ilb-border, rgba(15,23,42,0.10));
  background:var(--ilb-surface, #fff);
  color:var(--ilb-text, #0B1220);
  outline:none;
}
.ilb-input:focus{ border-color:var(--ilb-primary, #2563EB); box-shadow:0 0 0 4px var(--ilb-primary-soft, rgba(37,99,235,0.12)); }

/* Utility */
.ilb-row{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.ilb-between{ display:flex; justify-content:space-between; align-items:center; gap:16px; }
.ilb-stack{ display:flex; flex-direction:column; gap:12px; }

/* Respect reduce motion */
@media (prefers-reduced-motion: reduce){
  .ilb-card:hover,
  .ilb-btn:hover{ transform:none !important; }
}

/* Logos List (Pro) */
.ilb-logos .ilb-logo img{ transition: filter .2s ease, opacity .2s ease; }
.ilb-logos .ilb-logo:hover img{ filter: grayscale(0%); opacity: 1; }

/* Bundle Builder */
.ilb-bundle-builder [data-ilb-item]{ transition: transform .15s ease; }
.ilb-bundle-builder [data-ilb-item]:hover{ transform: translateY(-1px); }
