/* =========================================================
   NTO Product Builder v2 (Zen Cart 2.1.0 / Bootstrap26 family)
   - Middle column widened
   - Sticky stepper nav
   - CSS-only Help Flyout (wow factor)
   - Premium motion + hover affordances
   ========================================================= */

body.product_info .nto-product-builder-page { padding-top: 6px; }
body.product_info .nto-builder { row-gap: 14px; }

/* HERO */
body.product_info .nto-hero .nto-title{
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.12;
  margin: 0 0 10px;
}

body.product_info .nto-subtitle{ display:flex; flex-wrap:wrap; gap:8px; }
body.product_info .nto-pill{
  display:inline-flex;
  align-items:center;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: .85rem;
  background: rgba(0,0,0,.02);
}
body.product_info .nto-pill-wow{
  position: relative;
  overflow: hidden;
}
body.product_info .nto-pill-wow:after{
  content:"";
  position:absolute;
  top:-40%;
  left:-60%;
  width:40%;
  height:180%;
  background: rgba(255,255,255,.7);
  transform: rotate(20deg);
  animation: ntoShine 4.5s ease-in-out infinite;
}
@keyframes ntoShine{
  0%{ left:-60%; opacity:0; }
  10%{ opacity:.65; }
  30%{ left:120%; opacity:0; }
  100%{ left:120%; opacity:0; }
}

/* CARDS */
body.product_info .nto-card{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
  transition: transform .18s ease, box-shadow .18s ease;
}
body.product_info .nto-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(0,0,0,.10);
}

body.product_info .nto-card .nto-card-header{
  padding: 12px 14px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
body.product_info .nto-card .nto-card-body{ padding: 14px; }

/* PREVIEW */
body.product_info .nto-preview{ padding: 14px; }
body.product_info .productMainImage{
  border-radius: 16px;
  padding: 12px;
  background: rgba(0,0,0,.02);
}
body.product_info .productMainImage img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
  transition: transform .25s ease;
}
body.product_info .productMainImage img:hover{ transform: scale(1.02); }

body.product_info .nto-microtrust{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  font-size:.86rem;
  color: rgba(0,0,0,.65);
}
body.product_info .nto-microtrust-item{
  padding: 6px 10px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 999px;
  background: rgba(0,0,0,.015);
}


/* QUIET PROGRESS INDICATOR (non-clickable) */
body.product_info .nto-progress{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  margin: 0;
  font-size: .9rem;
}
body.product_info .nto-progress-step{
  font-weight: 700;
  color: rgba(0,0,0,.55);
}
body.product_info .nto-progress-step.is-active{
  font-weight: 900;
  color: rgba(0,0,0,.92);
}
body.product_info .nto-progress-arrow{
  color: rgba(0,0,0,.35);
}
/* HELP FLYOUT (wow) */
body.product_info .nto-help{ position: relative; }
body.product_info .nto-help-toggle{ position:absolute; left:-9999px; }
body.product_info .nto-help-button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight: 800;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.02);
  cursor: pointer;
  user-select: none;
}
body.product_info .nto-help-button:before{
  content:"✦";
  display:inline-block;
  animation: ntoPulse 2.8s ease-in-out infinite;
}
@keyframes ntoPulse{
  0%{ transform: scale(1); opacity:.8;}
  50%{ transform: scale(1.18); opacity:1;}
  100%{ transform: scale(1); opacity:.8;}
}

body.product_info .nto-help-panel{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: min(360px, 92vw);
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.98);
  box-shadow: 0 22px 60px rgba(0,0,0,.18);
  transform: translateY(16px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 9999;
}
body.product_info .nto-help-panel-header{
  display:flex;
  justify-content: space-between;
  align-items:center;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
body.product_info .nto-help-panel-body{ padding: 12px 14px; }
body.product_info .nto-help-close{
  width: 30px; height: 30px;
  border-radius: 999px;
  display:flex; align-items:center; justify-content:center;
  border: 1px solid rgba(0,0,0,.12);
  cursor:pointer;
  background: rgba(0,0,0,.02);
  font-weight: 900;
}

body.product_info .nto-help-toggle:checked ~ .nto-help-panel{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* STEP BLOCKS */
body.product_info .nto-step-block{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  background: rgba(0,0,0,.02);
  margin: 14px 0 12px;
  overflow: hidden;
}
body.product_info .nto-step-title{
  display:flex;
  align-items:center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.60);
}
body.product_info .nto-step-num{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  border: 1px solid rgba(0,0,0,.14);
  background: #fff;
}
body.product_info .nto-step-hint{
  font-size: .86rem;
  color: rgba(0,0,0,.62);
}
body.product_info .nto-step-body{ padding: 10px 12px; }

/* ORDER BOX */
body.product_info .nto-order .nto-card-body{ padding: 14px; }
body.product_info .nto-price{ font-size: 1.45rem; font-weight: 950; }
body.product_info .nto-trust{ font-size: .92rem; color: rgba(0,0,0,.70); }

body.product_info .nto-wow-line{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding: 10px 12px;
  border: 1px dashed rgba(0,0,0,.18);
  border-radius: 14px;
  background: rgba(0,0,0,.02);
}
body.product_info .nto-wow-dot{
  width:10px;height:10px;border-radius:999px;
  margin-top: 6px;
  background: rgba(0,0,0,.55);
  animation: ntoDot 2.5s ease-in-out infinite;
}
@keyframes ntoDot{
  0%{ transform: scale(1); opacity:.6; }
  50%{ transform: scale(1.6); opacity:1; }
  100%{ transform: scale(1); opacity:.6; }
}

body.product_info .nto-addtocart img{ max-width: 100%; height: auto; }

/* SPECS */
body.product_info .nto-specs .list-group-item{
  display:flex;
  justify-content: space-between;
  gap: 10px;
}
body.product_info .nto-specs .nto-k{ font-weight: 800; color: rgba(0,0,0,.75); }
body.product_info .nto-specs .nto-v{ font-weight: 800; }

/* Inputs */
body.product_info select,
body.product_info input[type="text"],
body.product_info input[type="file"],
body.product_info textarea{
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.16);
  padding: 10px 12px;
}
body.product_info textarea{ min-height: 110px; }

/* Sticky friendliness on mobile */
@media (max-width: 991.98px){
  body.product_info .sticky-top{ position: static; }
  
  body.product_info .nto-help-panel{ right: 10px; bottom: 10px; }
}


/* Build intro card under description (left column) */
body.product_info .nto-build-intro .nto-card-body{ padding: 12px 14px; }
