/* Runtime UI helpers (Back-to-top, cookie notice, sticky CTA, lightbox) */

.ilb-fab,
.ilb-btt{
  position:fixed;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 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);
  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));
  cursor:pointer;
  user-select:none;
  font-family:var(--ilb-font-body, system-ui);
  font-weight:900;
}
.ilb-fab:hover,
.ilb-btt:hover{ transform:translateY(calc(var(--ilb-lift, 6px) * -1)); box-shadow:0 18px 50px rgba(2,6,23,0.18); }
.ilb-btt{ width:44px; height:44px; padding:0; }
.ilb-btt svg{ width:18px; height:18px; }

.ilb-fab--br{ right:18px; bottom:18px; }
.ilb-fab--bl{ left:18px; bottom:18px; }
.ilb-fab--bc{ left:50%; bottom:18px; transform:translateX(-50%); }

.ilb-scroll-progress{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:transparent;
  z-index:99999;
}
.ilb-scroll-progress > i{
  display:block;
  height:100%;
  width:0;
  background:var(--ilb-opt-layout_progress_color, var(--ilb-primary, #2563EB));
}

.ilb-cookie{
  position:fixed;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:99999;
  padding:14px 14px;
  border-radius:18px;
  border:1px solid var(--ilb-border, rgba(15,23,42,0.10));
  background:var(--ilb-surface, #fff);
  box-shadow:0 18px 50px rgba(2,6,23,0.18);
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
}
.ilb-cookie p{ margin:0; color:var(--ilb-muted, rgba(11,18,32,0.66)); font-weight:800; }
.ilb-cookie button{
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--ilb-primary-border, rgba(37,99,235,0.16));
  background:var(--ilb-primary, #2563EB);
  color:var(--ilb-opt-colors_btn_text, #fff);
  font-weight:900;
  cursor:pointer;
}

.ilb-preloader{
  position:fixed;
  inset:0;
  z-index:100000;
  background:var(--ilb-bg, #F6F8FC);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:1;
  visibility:visible;
  transition:opacity .22s ease,visibility .22s ease;
}
.ilb-preloader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.ilb-preloader .ilb-preloader__spinner{
  width:56px;
  height:56px;
  border-radius:999px;
  border:4px solid rgba(2,6,23,0.12);
  border-top-color:var(--ilb-primary, #2563EB);
  animation:ilbSpin 1s linear infinite;
}
@keyframes ilbSpin{ to{ transform:rotate(360deg);} }

/* Woo sticky buybar */
.ilb-wc-buybar{
  position:fixed;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:99998;
  padding:12px 12px;
  border-radius:18px;
  border:1px solid var(--ilb-border, rgba(15,23,42,0.10));
  background:var(--ilb-surface, #fff);
  box-shadow:0 18px 50px rgba(2,6,23,0.18);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.ilb-wc-buybar strong{ font-weight:1000; }
.ilb-wc-buybar .ilb-wc-price{ color:var(--ilb-muted, rgba(11,18,32,0.66)); font-weight:900; }
.ilb-wc-buybar .ilb-wc-cta{
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--ilb-primary-border, rgba(37,99,235,0.16));
  background:var(--ilb-primary, #2563EB);
  color:var(--ilb-opt-colors_btn_text, #fff);
  font-weight:1000;
}

/* Lightbox */
.ilb-lightbox{
  position:fixed;
  inset:0;
  z-index:100001;
  background:rgba(2,6,23,0.72);
  display:none;
  align-items:center;
  justify-content:center;
}
.ilb-lightbox.is-on{ display:flex; }
.ilb-lightbox .ilb-lb-inner,
.ilb-lightbox .ilb-lightbox__inner{
  position:relative;
  width:min(1080px, calc(100vw - 40px));
  height:min(720px, calc(100vh - 60px));
  border-radius:18px;
  overflow:hidden;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.14);
}
.ilb-lightbox img,
.ilb-lightbox .ilb-lightbox__img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:transparent;
}
.ilb-lightbox .ilb-lb-x,
.ilb-lightbox .ilb-lb-prev,
.ilb-lightbox .ilb-lb-next,
.ilb-lightbox .ilb-lightbox__close,
.ilb-lightbox .ilb-lightbox__prev,
.ilb-lightbox .ilb-lightbox__next{
  position:absolute;
  top:16px;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.18);
  background:rgba(2,6,23,0.45);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  user-select:none;
}
.ilb-lightbox .ilb-lb-x,
.ilb-lightbox .ilb-lightbox__close{ right:16px; }
.ilb-lightbox .ilb-lb-prev,
.ilb-lightbox .ilb-lightbox__prev{ left:16px; top:50%; transform:translateY(-50%); }
.ilb-lightbox .ilb-lb-next,
.ilb-lightbox .ilb-lightbox__next{ right:16px; top:50%; transform:translateY(-50%); }
.ilb-lightbox .ilb-lb-x svg,
.ilb-lightbox .ilb-lb-prev svg,
.ilb-lightbox .ilb-lb-next svg{ width:18px; height:18px; }

/* Hide prev/next when only one image */
.ilb-lightbox.is-single .ilb-lb-prev,
.ilb-lightbox.is-single .ilb-lb-next,
.ilb-lightbox.is-single .ilb-lightbox__prev,
.ilb-lightbox.is-single .ilb-lightbox__next{ display:none; }

/* Woo single product: keep price box width consistent with the cards below */
body.single-product .summary p.price,
body.single-product .summary .price{
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
body.single-product .summary p.price > *,
body.single-product .summary .price > *{ max-width:100%; }
body.single-product .summary .ilb-w{ width:100%; box-sizing:border-box; }

/* Focus ring */
body.ilb-focus-ring-on :focus-visible{
  outline:3px solid var(--ilb-primary-soft, rgba(37,99,235,0.18));
  outline-offset:2px;
}


/* Instant Download Info Card (custom seller/info box under buybox trust badge) */
.ilb-instant-card{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  border:1px solid var(--ilb-ic-border, rgba(255,255,255,0.10));
  background: var(--ilb-ic-bg, rgba(255,255,255,0.03));
  box-sizing:border-box;
}

/* When the Instant Card is enabled inside the trust box, it replaces the default badge */
.ilb-wc-trust.has-instant-card .ilb-instant-card{ margin-top:0; }
.ilb-wc-trust.has-instant-card .ilb-badge{ display:none !important; }
.ilb-instant-card__head{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
}
.ilb-instant-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:12px;
  background: rgba(255,255,255,0.06);
  font-size:16px;
  line-height:1;
  flex:0 0 auto;
}
.ilb-instant-card__icon--img{
  background: transparent;
  width:auto;
  height:auto;
  border-radius:0;
}
.ilb-instant-card__title{
  font-weight:800;
  letter-spacing:0.2px;
  font-size:14px;
  opacity:0.96;
}
.ilb-instant-card__items{
  display:grid;
  gap:8px;
}
.ilb-instant-card--grid .ilb-instant-card__items{
  grid-template-columns: 1fr 1fr;
  gap:10px;
}
.ilb-instant-card__row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border-radius:14px;
  background: rgba(255,255,255,0.04);
}
.ilb-instant-card__row.is-highlight{
  outline:1px solid var(--ilb-ic-accent, rgba(139,92,246,0.65));
  background: rgba(255,255,255,0.06);
}
.ilb-instant-card__left{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.ilb-instant-card__mini{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:10px;
  background: rgba(255,255,255,0.06);
  font-size:14px;
  line-height:1;
  flex:0 0 auto;
}
.ilb-instant-card__mini--img{
  background: transparent;
  width:auto;
  height:auto;
  border-radius:0;
}
.ilb-instant-card__label{
  opacity:0.86;
  font-weight:600;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ilb-instant-card__right{
  opacity:0.96;
  font-weight:800;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:right;
}
.ilb-instant-card__link{
  color: var(--ilb-ic-accent, #8b5cf6);
  text-decoration:none;
}
.ilb-instant-card__link:hover{ text-decoration:underline; }

@media (max-width: 640px){
  .ilb-instant-card--grid .ilb-instant-card__items{ grid-template-columns:1fr; }
  .ilb-instant-card__row{ flex-direction:column; }
  .ilb-instant-card__right{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    text-align:left;
  }
}

/* Buybox highlight pairs (License / Updates / Support etc.) */
.ilb-trust-pairs{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:10px;
}
.ilb-trust-pair{
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.04);
  border-radius:14px;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ilb-trust-pair__k{
  font-weight:800;
  font-size:12px;
  letter-spacing:0.2px;
}
.ilb-trust-pair__v{
  font-size:12px;
  opacity:0.86;
  line-height:1.4;
}
body.rtl .ilb-trust-pair__k,
body.rtl .ilb-trust-pair__v{
  text-align:right;
}
@media (max-width: 768px){
  .ilb-trust-pairs{ grid-template-columns:1fr; }
}

/* v11.0.7 — seller card brand image */
.ilb-instant-card__brand{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;overflow:hidden;flex:0 0 auto;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}
.ilb-instant-card__brand-img{display:block;width:100%;height:100%;object-fit:cover}
