/* Eclipse Branding — single product bundle
 * Generated from the former storm-home.css during the 8.2.0 performance split.
 * Rules remain in their original cascade order; unrelated page sections are excluded.
 */


/* Eclipse Branding - Storm-inspired homepage sections */

.storm-home{
  background: #0b0f17;
}

/* Consistent width wrapper */
.storm-wrap{
  max-width: var(--storm-wrap);
  margin: 0 auto;
  padding: 0 18px;
}

/* ---------- Buttons ---------- */
.storm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  border-radius: var(--storm-pill);
  padding: 10px 16px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 11px;
  text-decoration:none;
  border: 1px solid rgba(255,255,255,.22);
  cursor: pointer;
}

.storm-btn--outline{
  color: #fff;
  background: rgba(0,0,0,.28);
}

.storm-btn--ghost{
  color: #fff;
  background: rgba(255,255,255,.06);
}

.storm-btn--light{
  border-color: rgba(255,255,255,.26);
}

.storm-btn--dark{
  background: rgba(0,0,0,.92);
  border-color: rgba(0,0,0,.92);
  color: #fff;
}

.storm-btn--wide{
  width: 100%;
  margin-top: 18px;
}

.storm-linkbtn{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: var(--storm-pill);
  background: rgba(255,255,255,.1);
  color: #fff;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration:none;
  font-size: 11px;
}
.storm-linkbtn span{ opacity: .85; }
.storm-linkbtn--light{ background: rgba(0,0,0,.4); }

/* ---------- Hero ---------- */
.storm-hero{
  position: relative;
  background-image: var(--hero-bg);
  background-size: cover;
  background-position: right center;
  min-height: 560px;
  display:flex;
  align-items:center;
  overflow:hidden;
}


.storm-hero .storm-wrap{ width: 100%; }
.storm-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.68) 42%, rgba(0,0,0,.18) 78%, rgba(0,0,0,.55) 100%),
    linear-gradient(to bottom, rgba(0,0,0,.48), rgba(0,0,0,.78));
}

.storm-hero__grid{
  position: relative;
  z-index: 1;
  display:grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items:center;
  /*
    IMPORTANT:
    This element also carries .storm-wrap.
    Do NOT wipe horizontal padding, otherwise the hero copy will
    slam into the left edge on some viewports.
  */
  padding-block: 72px 52px;
  /* Match Storm-style hero inset */
  padding-inline: clamp(24px, 7vw, 140px);
}


.storm-hero__copy{
  max-width: 640px;
  text-align: left;
}

.storm-eyebrow{
  color: rgba(255,255,255,.66);
  font-weight: 900;
  font-size: 11px;
  letter-spacing: .24em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.storm-h1{
  color:#fff;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.02;
  margin: 0 0 14px;
  font-weight: 900;
}

.storm-lead{
  color: rgba(255,255,255,.76);
  max-width: 58ch;
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.55;
}

.storm-cta-row{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.storm-hero__micro{
  color: rgba(255,255,255,.62);
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 9px;
}


/* ---------- Trust strip ---------- */
.storm-truststrip{
  background: var(--storm-teal);
  color: #001117;
  position: relative;
  overflow: hidden;
}

/* subtle hex pattern like Storm */
.storm-truststrip::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: url("../img/hex-pattern.svg");
  background-size: 84px 72px;
  background-repeat: repeat;
  opacity: .22;
  pointer-events:none;
}
.storm-truststrip::after{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(900px 240px at 18% 50%, rgba(255,255,255,.18), transparent 65%);
  opacity: .85;
  pointer-events:none;
}

.storm-truststrip__grid{
  position: relative;
  max-width: var(--storm-wrap);
  margin: 0 auto;
  padding: 22px 18px;
  display:grid;
  grid-template-columns: auto minmax(190px, 260px) minmax(260px, 360px) minmax(240px, 380px);
  grid-template-areas: "logos trust video how";
  align-items:center;
  gap: clamp(16px, 2.8vw, 34px);
}

.storm-truststrip__logos{ grid-area: logos; display:block; }
.storm-truststrip__trust{ grid-area: trust; display:flex; flex-direction:column; gap: 12px; }
.storm-truststrip__video{ grid-area: video; }
.storm-truststrip__image{ grid-area: video; }
.storm-truststrip__how{ grid-area: how; }

.storm-circle-logo{
  width: clamp(78px, 6vw, 112px);
  height: clamp(78px, 6vw, 112px);
  border-radius: 999px;
  background: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  box-shadow: 0 10px 26px rgba(0,0,0,.16);
}
.storm-circle-logo img{
  width: 74%;
  height: 74%;
  object-fit: contain;
}

.storm-truststrip__title-small{
  font-weight: 700;
  font-size: 18px;
  line-height: 1.1;
}
.storm-truststrip__title-big{
  font-weight: 900;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.06;
}

.storm-truststrip__learn{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  width: fit-content;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  color:#001117;
  text-decoration:none;
  padding-bottom: 3px;
  border-bottom: 2px solid rgba(0,0,0,.55);
}
.storm-truststrip__learn:hover{ border-bottom-color: rgba(0,0,0,.85); }
.storm-truststrip__learn-icon{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 2px solid rgba(0,0,0,.55);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height: 1;
  font-size: 14px;
}

.storm-truststrip__video,
.storm-truststrip__image{
  position: relative;
  width: min(360px, 100%);
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  overflow:hidden;
  background: rgba(0,0,0,.1);
  box-shadow: 0 16px 34px rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.35);
}
.storm-truststrip__video img,
.storm-truststrip__image img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

.storm-truststrip__how h3{
  margin: 0 0 6px;
  font-weight: 900;
  font-size: clamp(18px, 2vw, 28px);
  line-height: 1.05;
}
.storm-truststrip__how p{
  margin: 0;
  max-width: 36ch;
  font-weight: 600;
  line-height: 1.35;
  color: rgba(0,0,0,.85);
}

/* Responsive: match Storm’s compression without looking cramped */
@media (max-width: 1100px){
  .storm-truststrip__grid{
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "logos trust"
      "video how";
    align-items: start;
  }
  .storm-truststrip__video{ width: 100%; }
}
@media (max-width: 760px){
  .storm-truststrip__grid{
    grid-template-columns: 1fr;
    grid-template-areas:
      "logos"
      "trust"
      "video"
      "how";
    padding: 20px 16px;
  }
  .storm-truststrip__logos{ width: 100%; }
  .eclipse-why-points{ grid-template-columns: 1fr; }
  .storm-truststrip__how p{ max-width: 48ch; }
}

/* ---------- Modal (Trade Enquiries) ---------- */
.storm-modal{
  position: fixed;
  inset: 0;
  z-index: 999999;
  display:none;
}
.storm-modal.is-open{ display:block; }

.storm-modal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
}

.storm-modal__panel{
  position:absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: min(560px, 92vw);
  background: #0b0f17;
  color: #fff;
  padding: 22px;
  overflow:auto;
  box-shadow: -30px 0 80px rgba(0,0,0,.65);
}

.storm-modal__close{
  background: transparent;
  border: 0;
  color: rgba(255,255,255,.9);
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 11px;
  padding: 10px 0;
  cursor:pointer;
}

.storm-modal__content h2{
  font-size: 22px;
  margin: 18px 0 8px;
}
.storm-modal__content p{
  color: rgba(255,255,255,.72);
  line-height: 1.65;
  margin: 0 0 12px;
}

.storm-modal__logos{
  display:flex;
  gap: 14px;
  margin-top: 18px;
  flex-wrap: wrap;
}
.storm-modal__logo{
  width: 72px;
  height: 42px;
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:center;
}
.storm-modal__logo img{
  width: 80%;
  height: 80%;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: .9;
}

/* ---------- Trusted-by statement ---------- */
.storm-trustedby{
  background: #0b0f17;
  color: rgba(255,255,255,.9);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.storm-trustedby__inner{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 0;
  flex-wrap: wrap;
}
.storm-trustedby__logos{
  display:flex;
  gap: 14px;
  align-items:center;
}
.storm-trustedby__logos img{
  /* Make this readable too (this row is meant to be recognisable logos, not tiny marks) */
  height: clamp(28px, 2.2vw, 36px);
  width: auto;
  filter: grayscale(100%);
  opacity: .8;
}
.storm-trustedby__text{
  font-weight: 800;
  opacity: .9;
}
.storm-trustedby .storm-linkbtn{
  background: rgba(255,255,255,.08);
}

/* ---------- How it works ---------- */
.storm-how{
  background: #f3f4f6;
  color: #111;
  padding: 44px 0 54px;
}
.storm-how__head h2{
  margin: 0 0 8px;
  font-size: 28px;
}
.storm-how__head p{
  margin: 0;
  color: rgba(0,0,0,.65);
}
.storm-how__gallery{
  margin-top: 18px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.storm-how__img{
  position: relative;
  border-radius: var(--storm-radius-lg);
  overflow: hidden;
}
.storm-how__img img{
  width:100%;
  height: 320px;
  object-fit: cover;
  border-radius: 0;
  display:block;
}

/* Text overlay (subtle, Storm-like) */
.storm-how__img::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(to top, rgba(0,0,0,.62) 0%, rgba(0,0,0,0) 55%);
  pointer-events:none;
}
.storm-how__caption{
  position:absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  z-index: 2;
  color: #fff;
}
.storm-how__kicker{
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  opacity: .9;
  margin-bottom: 6px;
}
.storm-how__title{
  font-weight: 800;
  letter-spacing: -.01em;
  font-size: 20px;
  line-height: 1.1;
}

/* ---------- Logo wall row ---------- */
.storm-logo-wall{
  background: #f3f4f6;
  padding: 22px 0 34px;
}
.storm-logo-wall__inner{
  /* Fewer logos, larger marks */
  display:flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 18px 54px;
}
.storm-logo-wall__item{
  height: 88px;
  padding: 6px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.storm-logo-wall__item img{
  height: clamp(46px, 4.2vw, 78px);
  width: auto;
  max-width: 240px;
  object-fit: contain;
  filter: none;
  opacity: 1;
}


/* ---------- Split section (Global Sports Brands) ---------- */
.storm-split{
  background: #dbe6eb;
  padding: 56px 0;
}
.storm-split__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: stretch;
}
.storm-split__media img{
  width:100%;
  height: 420px;
  object-fit: cover;
  border-radius: var(--storm-radius-lg);
  display:block;
  box-shadow: 0 18px 60px rgba(0,0,0,.16);
}
.storm-split__panel{
  background: #dbe6eb;
  border-radius: var(--storm-radius-lg);
  padding: 32px 28px;
}
.storm-kicker{
  font-weight: 900;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-size: 11px;
  color: rgba(0,0,0,.62);
}
.storm-split__panel h2{
  font-size: 42px;
  margin: 10px 0 12px;
  line-height: 1.02;
}
.storm-split__panel p{
  margin: 0 0 18px;
  color: rgba(0,0,0,.68);
  line-height: 1.6;
}
.storm-pill-logos{
  margin-top: 18px;
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}
.storm-pill-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.6);
  border: 1px solid rgba(0,0,0,.08);
}
.storm-pill-logo img{
  height: 18px;
  width:auto;
  filter: grayscale(100%);
  opacity: .8;
}

/* ---------- Collections ---------- */
.storm-collections{
  position: relative;
  background-image: var(--collections-bg);
  background-size: cover;
  background-position: right center;
  padding: 70px 0;
  color: #fff;
}
.storm-collections::before{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(1000px 700px at 20% 30%, rgba(0,0,0,.35), rgba(0,0,0,.82));
}
.storm-collections__grid{
  position: relative;
  z-index: 1;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: center;
}
.storm-collections__left{
  max-width: 520px;
}
.storm-collections__left h2{
  font-size: 44px;
  margin: 10px 0 12px;
  line-height: 1.02;
}
.storm-collections__left p{
  margin: 0 0 14px;
  color: rgba(255,255,255,.78);
  line-height: 1.6;
}

/* Ensure kicker & headings are readable on dark collection background */
.storm-collections .storm-kicker{
  color: rgba(255,255,255,.78);
}
.storm-collections__left h2{
  color: #fff;
  text-shadow: 0 10px 28px rgba(0,0,0,.55);
}

.storm-collections__links{
  margin-top: 18px;
  display:flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}
.storm-collections__links a{
  color: rgba(255,255,255,.92);
  text-decoration:none;
  font-weight: 800;
}
.storm-mosaic{
  display:grid;
  grid-template-rows: 1fr 1fr;
  gap: 14px;
}
.storm-mosaic a{
  display:block;
  border-radius: var(--storm-radius-lg);
  overflow:hidden;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
}
.storm-mosaic img{
  width:100%;
  height: 240px;
  object-fit: cover;
  display:block;
}
.storm-mosaic__big img{ height: 300px; }

/* ---------- Different ---------- */
.storm-different{
  background: #f3efe8;
  padding: 56px 0;
  color: #111;
}
.storm-different__head h2{
  margin: 0 0 18px;
  font-size: 32px;
}
.storm-different__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.storm-diffcard{
  border-radius: var(--storm-radius-lg);
  overflow:hidden;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(0,0,0,.06);
}
.storm-diffcard__img img{
  width:100%;
  height: 200px;
  object-fit: cover;
  display:block;
}
.storm-diffcard__body{
  padding: 16px 16px 18px;
}
.storm-diffcard__body h3{
  margin: 0 0 8px;
  font-size: 16px;
}
.storm-diffcard__body p{
  margin: 0;
  color: rgba(0,0,0,.68);
  line-height: 1.55;
}

/* ---------- Product collection ---------- */
.storm-product{
  background: #0b0f17;
  color: #fff;
  padding: 70px 0;
}
.storm-product__inner h2{
  text-align:center;
  font-size: 36px;
  margin: 0 0 18px;
}
.storm-product__img{
  display:flex;
  justify-content:center;
  margin: 18px 0 18px;
}
.storm-product__img img{
  width: min(880px, 100%);
  height: auto;
  display:block;
}
.storm-product__links{
  margin: 10px auto 0;
  max-width: 900px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px 16px;
  text-align:left;
}
.storm-product__links a{
  color: rgba(255,255,255,.86);
  text-decoration:none;
  font-weight: 800;
}
.storm-product__note{
  max-width: 900px;
  margin: 22px auto 0;
  color: rgba(255,255,255,.68);
  line-height: 1.65;
}

/* ---------- Teal slab ---------- */
.storm-slab{
  /* Storm-like teal transition, but with content (not blank) */
  background: radial-gradient(900px 380px at 55% 45%, rgba(255,255,255,.18), rgba(255,255,255,0)),
              linear-gradient(to bottom, #47d8e2, #6ee3ea);
  color: #001117;
  padding: 64px 0;
}

.storm-slab__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 26px;
}

.storm-slab__copy{ max-width: 760px; }

.storm-slab__kicker{
  font-weight: 900;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-size: 11px;
  opacity: .75;
}

.storm-slab__copy h2{
  margin: 10px 0 12px;
  font-size: 38px;
  line-height: 1.05;
}

.storm-slab__copy p{
  margin: 0;
  max-width: 62ch;
  color: rgba(0,0,0,.68);
  line-height: 1.6;
}

.storm-slab__cta{ flex: 0 0 auto; }

@media (max-width: 860px){
  .storm-slab__inner{ flex-direction: column; align-items:flex-start; }
  .storm-slab__copy h2{ font-size: 32px; }
}

/* ---------- Grass CTA ---------- */
.storm-grass{
  position: relative;
  background-image: var(--grass-bg);
  background-size: cover;
  background-position: right center;
  padding: 110px 0;
  color: #fff;
}
.storm-grass::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(to bottom, rgba(0,0,0,.72), rgba(0,0,0,.72));
}
.storm-grass__inner{
  position: relative;
  z-index: 1;
  text-align:center;
}
.storm-grass__inner h2{
  font-size: 36px;
  margin: 0 0 12px;
}
.storm-grass__inner p{
  margin: 0 0 18px;
  color: rgba(255,255,255,.72);
}

/* ---------- News grid ---------- */
.storm-news{
  background: #f3f4f6;
  padding: 56px 0 70px;
  color: #111;
}
.storm-news__head{
  margin-bottom: 18px;
}
.storm-news__head h2{
  font-size: 34px;
  margin: 10px 0 0;
}
.storm-news__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.storm-news__tile{
  position: relative;
  border-radius: var(--storm-radius-lg);
  overflow:hidden;
  min-height: 210px;
  background-image: var(--tile-bg);
  background-size: cover;
  background-position: right center;
  display:block;
  text-decoration:none;
  color: #fff;
}
.storm-news__overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,.14));
}
.storm-news__content{
  position:absolute;
  inset:0;
  padding: 18px;
  display:flex;
  flex-direction: column;
  justify-content: space-between;
}
.storm-news__label{
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 13px;
}

.storm-news__top{
  display:flex;
  flex-direction: column;
  gap: 8px;
  max-width: 32ch;
}
.storm-news__title{
  font-weight: 900;
  font-size: 22px;
  line-height: 1.08;
  letter-spacing: -0.01em;
  margin: 0;
  text-wrap: balance;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.storm-news__cta{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 11px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 9px 12px;
  width: fit-content;
}

/* ---------- Footer ---------- */
.storm-footer{
  margin-top: 0;
}

.storm-footer__top{
  background: var(--storm-teal);
  color: #001117;
  padding: 46px 0;
}

.storm-footer__wrap{
  max-width: var(--storm-wrap);
  margin: 0 auto;
  padding: 0 18px;
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}

/* Allow grid columns to shrink properly (prevents newsletter form overflow) */
.storm-footer__col{
  min-width: 0;
}

.storm-footer__kicker{
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 11px;
  margin-bottom: 12px;
  opacity: .8;
}

.storm-footer__small{
  margin-top: 12px;
  color: rgba(0,0,0,.72);
  line-height: 1.6;
}

.storm-footer__social{
  display:flex;
  gap: 10px;
  align-items:center;
}

.storm-social--footer{
  background: rgba(0,0,0,.16);
  color:#001117;
}

.storm-footer__newsletter{
  display:flex;
  gap: 10px;
  align-items: center;
  width: 100%;
}
.storm-footer__newsletter input{
  flex: 1 1 auto;
  min-width: 0;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.2);
  padding: 10px 14px;
  height: 42px;
}
.storm-footer__newsletter button{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.2);
  background: rgba(0,0,0,.88);
  color: #fff;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 9px 14px;
  height: 42px;
  font-size: 12px;
  white-space: nowrap;
  cursor:pointer;
}

@media (max-width: 1100px){
  .eclipse-mini-product-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 980px){
  .storm-footer__newsletter{
    flex-direction: column;
    align-items: stretch;
  }
  .storm-footer__newsletter button{
    width: 100%;
  }
}

.storm-footer__hint{
  margin-top: 10px;
  font-size: 12px;
  color: rgba(0,0,0,.62);
}

.storm-footer__links{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction: column;
  gap: 8px;
}
.storm-footer__links a{
  color: rgba(0,0,0,.86);
  text-decoration:none;
  font-weight: 800;
}

.storm-footer__bottom{
  background: #0b0f17;
  color: rgba(255,255,255,.72);
  padding: 16px 0;
}
.storm-footer__bottomwrap{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.storm-footer__policy{
  display:flex;
  gap: 14px;
  flex-wrap: wrap;
}
.storm-footer__policy a{
  color: rgba(255,255,255,.72);
  text-decoration:none;
  font-weight: 800;
}

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .storm-hero__grid{ grid-template-columns: 1fr; padding: 54px 18px 38px; }
  .storm-how__gallery{ grid-template-columns: 1fr; }
  .storm-logo-wall__inner{ grid-template-columns: repeat(5, minmax(0,1fr)); }
  .storm-split__grid{ grid-template-columns: 1fr; }
  .storm-split__media img{ height: 320px; }
  .storm-collections__grid{ grid-template-columns: 1fr; }
  .storm-different__grid{ grid-template-columns: 1fr; }
  .storm-product__links{ grid-template-columns: 1fr 1fr; }
  .storm-news__grid{ grid-template-columns: 1fr; }
  .storm-footer__wrap{ grid-template-columns: 1fr; }
}

/* ---------- Eclipse Branding customer brief pages ---------- */
.eclipse-hero .storm-h1{ max-width: 780px; }
.eclipse-hero .storm-lead{ font-size: 16px; max-width: 680px; }

.eclipse-why__grid{
  grid-template-columns: minmax(280px, 1fr) minmax(220px, 320px) minmax(260px, 360px) minmax(240px, 380px);
}
.eclipse-why-points{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
  width: 100%;
}
.eclipse-why-card{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  min-height: 180px;
  background: rgba(255,255,255,.18);
  box-shadow: 0 16px 34px rgba(0,0,0,.16);
  border: 1px solid rgba(255,255,255,.34);
}
.eclipse-why-card img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.eclipse-home-products .storm-different__head p{
  color: rgba(0,0,0,.68);
  margin: 8px auto 0;
  max-width: 760px;
  line-height: 1.65;
}
.eclipse-section-heading p{
  color: rgba(255,255,255,.68);
  margin: 8px auto 0;
  max-width: 760px;
  line-height: 1.65;
}

.eclipse-mini-product-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 20px;
  padding-bottom: 70px;
}
.eclipse-mini-product{
  border-radius: var(--storm-radius-md);
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  color: #111;
  text-decoration:none;
  overflow: hidden;
  display:flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
}
.eclipse-mini-product:hover{
  transform: translateY(-3px);
  border-color: rgba(82,219,230,.45);
  box-shadow: 0 18px 36px rgba(0,0,0,.12);
}
.eclipse-mini-product__image{
  display:block;
  aspect-ratio: 4 / 3;
  overflow:hidden;
  background: #dfe5e8;
}
.eclipse-mini-product__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}
.eclipse-mini-product__content{
  display:flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 18px 18px;
}
.eclipse-mini-product__content strong{ font-size: 22px; font-weight: 900; line-height: 1.1; }
.eclipse-mini-product__content em{ font-style: normal; font-size: 11px; text-transform: uppercase; letter-spacing: .14em; color: rgba(0,0,0,.62); font-weight: 900; }

.storm-logo-wall--belt{
  overflow:hidden;
  padding-top: 68px;
}
.eclipse-section-heading{
  text-align:center;
  padding-bottom: 28px;
}
.eclipse-section-heading h2{
  color: #fff;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.08;
  margin: 8px 0 0;
}
.eclipse-logo-belt{
  width: max-content;
  min-width: 100%;
  display:flex;
  grid-template-columns: none;
  gap: 16px;
  animation: eclipse-logo-belt 34s linear infinite;
  padding-inline: 18px;
}
.eclipse-logo-belt .storm-logo-wall__item{
  width: 160px;
  flex: 0 0 160px;
}
@keyframes eclipse-logo-belt{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

.eclipse-service-strip .storm-slab__copy p,
.eclipse-home-final .storm-product__note{
  max-width: 720px;
}
.eclipse-centre-cta{
  justify-content:center;
  margin-top: 20px;
}

.eclipse-page{
  background:#0b0f17;
  color:#fff;
}
.eclipse-page-hero{
  background:
    radial-gradient(900px 260px at 20% 0%, rgba(82,219,230,.18), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  padding: clamp(72px, 8vw, 120px) 0 clamp(46px, 6vw, 80px);
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.eclipse-page-hero__inner{
  max-width: 980px;
  text-align:center;
}
.eclipse-page-hero h1{
  font-size: clamp(34px, 5vw, 58px);
  line-height:1.02;
  margin: 10px 0 14px;
  font-weight: 950;
}
.eclipse-page-hero p{
  max-width: 760px;
  margin: 0 auto 22px;
  color: rgba(255,255,255,.72);
  line-height:1.7;
  font-size: 16px;
}

.eclipse-products-list,
.eclipse-services-list,
.eclipse-gallery-section,
.eclipse-quote-section{
  padding: 68px 0;
}
.eclipse-products-list__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
.eclipse-product-card{
  display:grid;
  grid-template-columns: minmax(260px, 420px) 1fr;
  overflow:hidden;
  border-radius: var(--storm-radius-lg);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
}
.eclipse-product-card__media img{
  width:100%;
  height:100%;
  min-height: 340px;
  object-fit:cover;
  display:block;
}
.eclipse-product-card__body{
  padding: clamp(24px, 4vw, 46px);
}
.eclipse-product-card__body h2,
.eclipse-service-card h2,
.eclipse-quote-copy h2{
  font-size: clamp(26px, 3vw, 38px);
  line-height:1.08;
  margin:0 0 12px;
  font-weight:950;
}
.eclipse-product-card__body p,
.eclipse-service-card p,
.eclipse-quote-copy p{
  color: rgba(255,255,255,.72);
  line-height:1.7;
}
.eclipse-product-specs{
  margin: 22px 0;
  padding:0;
  list-style:none;
  display:grid;
  gap: 10px;
}
.eclipse-product-specs li{
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(0,0,0,.24);
  color: rgba(255,255,255,.82);
}
.eclipse-product-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap: 12px;
}

.eclipse-process-strip{
  background: var(--storm-teal);
  color:#001117;
  padding: 58px 0;
}
.eclipse-process-strip__inner{
  display:grid;
  grid-template-columns: minmax(240px, 360px) 1fr;
  gap: 32px;
  align-items:start;
}
.eclipse-process-strip h2{
  font-size: clamp(28px, 3vw, 42px);
  line-height:1.08;
  margin: 8px 0 0;
}
.eclipse-process-steps{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.eclipse-process-steps div{
  background:#fff;
  border-radius: var(--storm-radius-md);
  padding: 18px;
  box-shadow: 0 12px 26px rgba(0,0,0,.12);
}
.eclipse-process-steps span{
  width: 34px;
  height: 34px;
  border-radius:999px;
  background:#001117;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  margin-bottom: 12px;
}
.eclipse-process-steps strong{ display:block; font-size: 16px; }
.eclipse-process-steps p{ color: rgba(0,17,23,.72); line-height:1.55; margin: 8px 0 0; }

.eclipse-services-list__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 20px;
}
.eclipse-service-card{
  border-radius: var(--storm-radius-lg);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  padding: clamp(24px, 3vw, 38px);
}
.eclipse-service-card__row{
  margin: 18px 0;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.12);
}
.eclipse-service-card__row strong{
  display:block;
  color: var(--storm-teal);
  text-transform: uppercase;
  letter-spacing:.12em;
  font-size: 11px;
  margin-bottom: 6px;
}

.eclipse-gallery-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}
.eclipse-gallery-card{
  position:relative;
  overflow:hidden;
  border-radius: var(--storm-radius-lg);
  background: rgba(255,255,255,.06);
  min-height: 320px;
}
.eclipse-gallery-card img{
  width:100%;
  height:100%;
  min-height: 320px;
  object-fit:cover;
  display:block;
  transition: transform .25s ease;
}
.eclipse-gallery-card:hover img{ transform: scale(1.04); }
.eclipse-gallery-card::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(to top, rgba(0,0,0,.74), transparent 58%);
}
.eclipse-gallery-card__caption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:1;
  color:#fff;
}
.eclipse-gallery-card__caption span{
  display:block;
  color: var(--storm-teal);
  font-size: 11px;
  font-weight:900;
  text-transform: uppercase;
  letter-spacing:.14em;
  margin-bottom:6px;
}
.eclipse-gallery-card__caption strong{ font-size: 22px; }

.eclipse-quote-grid{
  display:grid;
  grid-template-columns: minmax(260px, 420px) 1fr;
  gap: 28px;
  align-items:start;
}
.eclipse-quote-copy{
  border-radius: var(--storm-radius-lg);
  background: rgba(82,219,230,.12);
  border: 1px solid rgba(82,219,230,.24);
  padding: clamp(24px, 3vw, 38px);
}
.eclipse-quote-copy ul{
  margin: 22px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap: 10px;
}
.eclipse-quote-copy li{
  padding-left: 24px;
  position:relative;
  color: rgba(255,255,255,.84);
  font-weight:800;
}
.eclipse-quote-copy li::before{
  content:"✓";
  position:absolute;
  left:0;
  color: var(--storm-teal);
}
.eclipse-quote-form{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  border-radius: var(--storm-radius-lg);
  background:#fff;
  color:#001117;
  padding: clamp(22px, 4vw, 42px);
}
.eclipse-quote-form label{ display:flex; flex-direction:column; gap: 8px; font-weight:900; }
.eclipse-quote-form span{ font-size: 12px; letter-spacing:.12em; text-transform:uppercase; }
.eclipse-quote-form input,
.eclipse-quote-form select,
.eclipse-quote-form textarea{
  width:100%;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 14px;
  padding: 13px 14px;
  font: inherit;
  background:#fff;
}
.eclipse-quote-form__full{ grid-column: 1 / -1; }
.eclipse-form-message{
  grid-column: 1 / -1;
  border-radius: 14px;
  padding: 14px 16px;
  font-weight:800;
}
.eclipse-form-message--success{ background: rgba(32,180,102,.12); color: #07592c; }
.eclipse-form-message--error{ background: rgba(200,30,30,.12); color:#8a1515; }

.storm-footer__plain li{
  color: rgba(0,0,0,.78);
  font-weight: 800;
}

@media (max-width: 1120px){
  .eclipse-mini-product-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .eclipse-why__grid{ grid-template-columns: 1fr; grid-template-areas: none; }
  .eclipse-why__grid > *{ grid-area:auto; }
}
@media (max-width: 980px){
  .eclipse-product-card,
  .eclipse-process-strip__inner,
  .eclipse-quote-grid{ grid-template-columns: 1fr; }
  .eclipse-process-steps,
  .eclipse-services-list__grid,
  .eclipse-gallery-grid{ grid-template-columns: 1fr; }
  .eclipse-product-card__media img{ min-height: 260px; }
}
@media (max-width: 620px){
  .eclipse-mini-product-grid{ grid-template-columns: 1fr; }
  .eclipse-quote-form{ grid-template-columns: 1fr; }
  .eclipse-logo-belt .storm-logo-wall__item{ width: 136px; flex-basis: 136px; }
}



/* ---------- Full template premium refresh ---------- */
:root{
  --eclipse-ink: #08131c;
  --eclipse-ink-soft: #324350;
  --eclipse-cream: #f5f1ea;
  --eclipse-card: #ffffff;
  --eclipse-line: rgba(8,19,28,.09);
  --eclipse-shadow: 0 28px 70px rgba(8,19,28,.12);
}
body.eclipse-branding{ background: #f7f5f0; }
body.eclipse-branding .site-content{ background: transparent; }

.storm-btn--ghost-dark{
  background: rgba(255,255,255,.72);
  color: var(--eclipse-ink);
  border-color: rgba(8,19,28,.12);
}
.storm-btn--ghost-dark:hover{ background:#fff; }

.storm-topbar{
  background: linear-gradient(90deg, #63d8e2 0%, #5dd3de 100%);
  border-bottom: 1px solid rgba(0,0,0,.05);
}
.storm-topbar__inner,
.storm-header__inner{ max-width: 1360px; }
.storm-header{
  background: rgba(3,8,14,.96);
  backdrop-filter: blur(8px);
  box-shadow: 0 14px 38px rgba(0,0,0,.16);
}
.storm-logo img{ height: 18px; }
.storm-menu a{
  letter-spacing: .18em;
}
.storm-menu__quote a,
.storm-mobile-menu .storm-menu__quote a{
  box-shadow: 0 10px 24px rgba(99,216,226,.24);
}
.storm-search__panel,
.storm-mobile-panel{
  background: linear-gradient(180deg, #09131b 0%, #0d1822 100%);
}

.storm-footer__top{
  background: linear-gradient(180deg, #6adce5 0%, #59cfda 100%);
  position: relative;
  overflow: hidden;
}
.storm-footer__top::before{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(circle at top left, rgba(255,255,255,.18), transparent 35%);
}
.storm-footer__wrap{ position: relative; z-index: 1; }
.storm-footer__col{
  padding: 18px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 24px;
  box-shadow: 0 16px 38px rgba(8,19,28,.10);
}
.storm-footer__newsletter input{
  background: rgba(255,255,255,.88);
}
.storm-footer__newsletter button{
  border-radius: 999px;
}
.storm-footer__bottom{
  background: #08131c;
}

.eclipse-page{
  background: linear-gradient(180deg, #f6f2eb 0%, #ffffff 36%, #f4f8f8 100%);
  color: var(--eclipse-ink);
}
.eclipse-page-hero--premium{
  padding: 82px 0 58px;
  background: radial-gradient(circle at top left, rgba(98,217,227,.20), transparent 28%), linear-gradient(180deg, #f7f3ed 0%, #eef5f6 100%);
  border-bottom: 1px solid rgba(8,19,28,.06);
}
.eclipse-page-hero--premium .eclipse-page-hero__inner{
  max-width: 960px;
}
.eclipse-page-hero--premium h1{
  font-size: clamp(40px, 5vw, 68px);
  line-height: .96;
  letter-spacing: -.04em;
  margin-bottom: 18px;
}
.eclipse-page-hero--premium p{
  font-size: 18px;
  line-height: 1.75;
  color: var(--eclipse-ink-soft);
  max-width: 60ch;
}
.eclipse-hero-actions,
.eclipse-page-cta-band__actions{
  display:flex;
  flex-wrap:wrap;
  gap: 12px;
  margin-top: 22px;
}
.eclipse-stat-row,
.eclipse-anchor-nav{
  display:flex;
  flex-wrap:wrap;
  gap: 12px;
}
.eclipse-stat-row{ margin-top: 24px; }
.eclipse-stat-row span,
.eclipse-anchor-nav a,
.eclipse-anchor-nav span{
  display:inline-flex;
  align-items:center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(8,19,28,.08);
  box-shadow: 0 10px 24px rgba(8,19,28,.06);
  text-decoration:none;
  font-weight: 800;
  color: var(--eclipse-ink);
}
.eclipse-anchor-nav-wrap{
  padding: 20px 0 0;
}

.eclipse-section-heading{
  margin-bottom: 28px;
}
.eclipse-section-heading h2{
  margin: 10px 0 12px;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1;
}
.eclipse-section-heading p{
  max-width: 70ch;
  color: var(--eclipse-ink-soft);
  line-height: 1.7;
}
.eclipse-card-kicker{
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(8,19,28,.48);
  margin-bottom: 10px;
}

.eclipse-products-list--premium,
.eclipse-services-list--premium,
.eclipse-gallery-section--premium,
.eclipse-quote-section--premium{
  padding: 38px 0 88px;
}
.eclipse-products-list__grid,
.eclipse-services-list__grid--premium{
  display:grid;
  gap: 26px;
}
.eclipse-product-card--premium,
.eclipse-service-card--premium{
  display:grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 0;
  background: var(--eclipse-card);
  border: 1px solid var(--eclipse-line);
  border-radius: 30px;
  overflow: hidden;
  box-shadow: var(--eclipse-shadow);
}
.eclipse-product-card--premium .eclipse-product-card__media,
.eclipse-service-card__media{
  position: relative;
  min-height: 100%;
}
.eclipse-product-card--premium .eclipse-product-card__media img,
.eclipse-service-card__media img{
  width: 100%;
  height: 100%;
  min-height: 380px;
  object-fit: cover;
  display:block;
}
.eclipse-product-card--premium .eclipse-product-card__body,
.eclipse-service-card__content{
  padding: 30px;
}
.eclipse-product-card__body h2,
.eclipse-service-card--premium h2,
.eclipse-quote-copy--premium h2{
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  margin-bottom: 14px;
}
.eclipse-product-card__body p,
.eclipse-service-card--premium p,
.eclipse-quote-copy--premium p{
  color: var(--eclipse-ink-soft);
  line-height: 1.75;
}
.eclipse-product-badges{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin: 18px 0;
}
.eclipse-product-badges span{
  background: #eef5f6;
  border: 1px solid rgba(98,217,227,.26);
  color: var(--eclipse-ink);
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 800;
}
.eclipse-product-specs{
  padding-left: 18px;
  margin: 0 0 24px;
}
.eclipse-product-specs li{ margin-bottom: 10px; color: var(--eclipse-ink-soft); }
.eclipse-product-card__actions{ display:flex; flex-wrap:wrap; gap: 12px; }

.eclipse-process-strip--premium{
  padding: 44px 0 88px;
}
.eclipse-process-strip--premium .eclipse-process-strip__inner{
  padding: 34px;
  border-radius: 30px;
  background: linear-gradient(135deg, #0b1620 0%, #102231 100%);
  color: #fff;
  box-shadow: 0 30px 70px rgba(8,19,28,.22);
}
.eclipse-process-strip--premium h2{
  font-size: clamp(30px, 3.5vw, 50px);
  line-height: 1;
  margin: 10px 0 12px;
  color: #fff;
}
.eclipse-process-strip--premium p{ color: rgba(255,255,255,.76); }
.eclipse-process-strip--premium .storm-kicker{ color: rgba(255,255,255,.7); }
.eclipse-process-steps{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
}
.eclipse-process-steps > div{
  padding: 20px;
  border-radius: 24px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
}
.eclipse-process-steps span{
  display:inline-flex;
  width: 38px;
  height: 38px;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  background: #62d9e3;
  color: #08131c;
  font-weight: 900;
  margin-bottom: 14px;
}
.eclipse-process-steps strong{ display:block; margin-bottom: 10px; }
.eclipse-process-steps p{ font-size: 14px; line-height: 1.65; margin: 0; }

.eclipse-page-cta-band{ padding: 0 0 88px; }
.eclipse-page-cta-band__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 24px;
  padding: 28px 30px;
  background: #eef5f6;
  border: 1px solid rgba(8,19,28,.06);
  border-radius: 28px;
  box-shadow: 0 18px 44px rgba(8,19,28,.08);
}
.eclipse-page-cta-band__inner h2{
  margin: 10px 0 12px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
}
.eclipse-page-cta-band__inner p{
  margin: 0;
  color: var(--eclipse-ink-soft);
  line-height: 1.7;
  max-width: 68ch;
}
.eclipse-page-cta-band--teal .eclipse-page-cta-band__inner{
  background: linear-gradient(135deg, #62d9e3 0%, #53ccd8 100%);
}

.eclipse-services-list__grid--premium{ grid-template-columns: 1fr; }
.eclipse-service-card--premium .eclipse-service-card__content{ display:flex; flex-direction:column; }
.eclipse-service-card--premium .eclipse-service-card__row{
  margin-bottom: 14px;
  padding: 16px 18px;
  background: #f8f6f1;
  border-radius: 18px;
  border: 1px solid rgba(8,19,28,.05);
}
.eclipse-service-card--premium .eclipse-service-card__row strong{
  display:block;
  margin-bottom: 8px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .16em;
}

.eclipse-gallery-grid--premium{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
}
.eclipse-gallery-card--premium{
  border-radius: 28px;
  overflow: hidden;
  box-shadow: var(--eclipse-shadow);
  border: 1px solid var(--eclipse-line);
}
.eclipse-gallery-card--premium img{
  width:100%;
  height: 400px;
  object-fit: cover;
  display:block;
}
.eclipse-gallery-card--premium .eclipse-gallery-card__caption{
  padding: 20px;
  background: linear-gradient(180deg, rgba(8,19,28,.0) 0%, rgba(8,19,28,.84) 100%);
}
.eclipse-home-final--compact{ padding-top: 0; }

.eclipse-quote-grid--premium{
  display:grid;
  grid-template-columns: minmax(320px, .95fr) minmax(0, 1.15fr);
  gap: 28px;
  align-items:start;
}
.eclipse-quote-copy--premium,
.eclipse-quote-form--premium{
  background: #fff;
  border: 1px solid var(--eclipse-line);
  border-radius: 30px;
  box-shadow: var(--eclipse-shadow);
}
.eclipse-quote-copy--premium{ padding: 30px; }
.eclipse-quote-copy--premium ul{ margin: 0 0 20px; padding: 0; list-style:none; }
.eclipse-quote-copy--premium li{
  position: relative;
  padding-left: 26px;
  margin-bottom: 12px;
  color: var(--eclipse-ink);
  font-weight: 800;
}
.eclipse-quote-copy--premium li::before{
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: #55ced9;
  font-size: 26px;
  line-height: 1;
}
.eclipse-quote-steps{
  display:grid;
  gap: 12px;
}
.eclipse-quote-steps > div{
  padding: 14px 16px;
  border-radius: 16px;
  background: #f5f8f8;
  border: 1px solid rgba(8,19,28,.06);
}
.eclipse-quote-form--premium{
  padding: 30px;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
}
.eclipse-quote-form--premium input,
.eclipse-quote-form--premium select,
.eclipse-quote-form--premium textarea{
  border-radius: 16px;
  border: 1px solid rgba(8,19,28,.10);
  background: #f8fafb;
  min-height: 52px;
}
.eclipse-quote-form--premium textarea{ min-height: 160px; }
.eclipse-form-message{
  grid-column: 1 / -1;
  padding: 14px 16px;
  border-radius: 16px;
}
.eclipse-form-message--success{ background:#e8f8ed; color:#0d6a2a; }
.eclipse-form-message--error{ background:#fdecec; color:#8a1d1d; }

@media (max-width: 1100px){
  .eclipse-product-card--premium,
  .eclipse-service-card--premium,
  .eclipse-quote-grid--premium{
    grid-template-columns: 1fr;
  }
  .eclipse-page-cta-band__inner,
  .eclipse-process-strip--premium .eclipse-process-strip__inner{
    flex-direction: column;
    align-items: flex-start;
  }
  .eclipse-process-steps{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .eclipse-gallery-grid--premium{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767px){
  .eclipse-page-hero--premium{ padding: 62px 0 40px; }
  .eclipse-product-card--premium .eclipse-product-card__body,
  .eclipse-service-card__content,
  .eclipse-quote-copy--premium,
  .eclipse-quote-form--premium,
  .eclipse-page-cta-band__inner,
  .eclipse-process-strip--premium .eclipse-process-strip__inner{ padding: 22px; }
  .eclipse-products-list--premium,
  .eclipse-services-list--premium,
  .eclipse-gallery-section--premium,
  .eclipse-quote-section--premium{ padding-bottom: 64px; }
  .eclipse-process-steps,
  .eclipse-gallery-grid--premium,
  .eclipse-quote-form--premium{ grid-template-columns: 1fr; }
}



/* ---------- Premium header rebuild v7.0.7 ---------- */
.storm-topbar{
  height: 32px;
}
.storm-topbar__inner{
  max-width: 1440px;
  justify-content: center;
}
.storm-topbar__left{
  position:absolute;
  left: 18px;
}
.storm-topbar__right{
  justify-content:center;
}
.storm-topbar__message{
  font-size: 11px;
  letter-spacing: .20em;
  font-weight: 900;
}
.storm-topbar__cta,
.storm-topbar__link{
  display:none !important;
}

.storm-header{
  top: 32px;
  background: rgba(7,13,19,.98);
}
.storm-header__inner.storm-header__inner--premium{
  max-width: 1440px;
  height: 76px;
  display:grid;
  grid-template-columns: 230px minmax(0, 1fr) 210px;
  align-items:center;
  gap: 28px;
  padding: 0 32px;
}
.storm-header__inner--premium .storm-logo{
  justify-self:start;
  min-width: 0;
}
.storm-header__inner--premium .storm-wordmark{
  display:inline-flex;
  align-items:center;
}
.storm-header__inner--premium .storm-logo img,
.storm-header__inner--premium .storm-wordmark img{
  height: 34px !important;
  width: auto !important;
  max-width: 210px !important;
  display:block;
}
.storm-header__inner--premium .storm-nav{
  justify-self:center;
  min-width: 0;
}
.storm-header__inner--premium .storm-menu{
  gap: 28px;
}
.storm-header__inner--premium .storm-menu > li + li::before{
  display:none;
}
.storm-header__inner--premium .storm-menu a{
  font-size: 12px;
  letter-spacing: .12em;
  white-space: nowrap;
  line-height: 1;
}
.storm-header__inner--premium .storm-actions{
  justify-self:end;
  display:flex;
  align-items:center;
  gap: 12px;
}
.storm-header-quote{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 44px;
  padding: 0 22px;
  border-radius: 999px;
  background: #5bd5df;
  color: #071019;
  text-decoration:none;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(91,213,223,.22);
  white-space: nowrap;
}
.storm-header-quote:hover{
  background:#72e1e9;
  color:#071019;
}
.storm-actions--premium .storm-action{
  width: 36px;
  height: 36px;
  opacity: .92;
}
.storm-actions--premium .storm-action:not(.storm-search-toggle),
.storm-actions--premium .storm-cart{
  display:none !important;
}

/* Keep mobile useful: logo left, burger right, full quote still in mobile menu */
@media (max-width: 1120px){
  .storm-header__inner.storm-header__inner--premium{
    grid-template-columns: 190px 1fr auto;
    height: 68px;
    padding: 0 20px;
    gap: 16px;
  }
  .storm-header__inner--premium .storm-logo img,
  .storm-header__inner--premium .storm-wordmark img{
    height: 30px !important;
    max-width: 185px !important;
  }
  .storm-header__inner--premium .storm-menu{
    gap: 18px;
  }
  .storm-header__inner--premium .storm-menu a{
    font-size: 11px;
    letter-spacing: .09em;
  }
  .storm-header-quote{
    min-height: 40px;
    padding: 0 16px;
    font-size: 10px;
  }
}

@media (max-width: 860px){
  .storm-topbar__left{
    display:none;
  }
  .storm-header__inner.storm-header__inner--premium{
    grid-template-columns: 1fr auto;
    grid-template-areas: "logo nav";
    height: 64px;
  }
  .storm-header__inner--premium .storm-logo{
    grid-area: logo;
  }
  .storm-header__inner--premium .storm-nav{
    grid-area: nav;
    justify-self:end;
  }
  .storm-header__inner--premium .storm-actions{
    display:none;
  }
  .storm-header__inner--premium .storm-menu{
    display:none;
  }
  .storm-header__inner--premium .storm-burger{
    display:inline-flex;
  }
}

@media (max-width: 520px){
  .storm-topbar__message{
    font-size: 9px;
    letter-spacing: .10em;
  }
  .storm-header__inner--premium .storm-logo img,
  .storm-header__inner--premium .storm-wordmark img{
    height: 26px !important;
    max-width: 170px !important;
  }
}


/* ---------- Basket restore and product intro v7.1.2 ---------- */
.storm-actions--premium .storm-cart{
  display:inline-flex !important;
}
.storm-actions--premium .storm-action:not(.storm-search-toggle):not(.storm-cart){
  display:none !important;
}
.storm-actions--premium .storm-cart__count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:absolute;
  top:-7px;
  right:-7px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#5bd5df;
  color:#071019;
  font-size:11px;
  font-weight:900;
  line-height:1;
}
.eclipse-product-intro-copy{
  max-width: 900px;
}
.eclipse-product-intro-copy p{
  margin: 0;
  color: rgba(8,19,28,.70);
  line-height: 1.76;
  font-size: 16px;
}
.eclipse-product-intro-copy p + p{
  margin-top: 12px;
}


/* ---------- Force basket visible in premium header v7.1.3 ---------- */
.storm-actions--premium .storm-cart,
.storm-actions--premium .storm-cart--always,
.storm-header__inner--premium .storm-cart,
.storm-header__inner--premium .storm-cart--always{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative;
}
.storm-header__inner--premium .storm-cart svg,
.storm-actions--premium .storm-cart svg{
  display:block !important;
  width:18px;
  height:18px;
}
.storm-actions--premium .storm-action:not(.storm-search-toggle):not(.storm-cart):not(.storm-cart--always){
  display:none !important;
}
.storm-header__inner--premium .storm-actions--premium{
  min-width: 210px;
}
@media (max-width: 860px){
  .storm-header__inner--premium .storm-actions{
    display:none;
  }
}


/* ---------- Final header basket + logo fix v7.1.4 ---------- */
/* The earlier rule was hiding every premium header action except search. Force the basket back on. */
.storm-actions--premium .storm-cart,
.storm-actions--premium .storm-cart--always,
.storm-actions--premium a.storm-action.storm-cart,
.storm-actions--premium a.storm-action.storm-cart--always{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
}
.storm-actions--premium .storm-search-toggle{
  display: inline-flex !important;
}
.storm-actions--premium .storm-action:not(.storm-search-toggle):not(.storm-cart):not(.storm-cart--always){
  display: none !important;
}
.storm-actions--premium .storm-cart svg,
.storm-actions--premium .storm-cart--always svg{
  width: 18px !important;
  height: 18px !important;
  display: block !important;
}
.storm-actions--premium .storm-cart__count{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  top: -6px !important;
  right: -6px !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  background: #5bd5df !important;
  color: #071019 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

/* Make the logo more prominent. */
.storm-header__inner.storm-header__inner--premium{
  grid-template-columns: 280px minmax(0, 1fr) 230px !important;
  gap: 26px !important;
}
.storm-header__inner--premium .storm-logo img,
.storm-header__inner--premium .storm-wordmark img,
.storm-logo img{
  height: 42px !important;
  width: auto !important;
  max-width: 250px !important;
}

@media (max-width: 1120px){
  .storm-header__inner.storm-header__inner--premium{
    grid-template-columns: 220px 1fr 180px !important;
  }
  .storm-header__inner--premium .storm-logo img,
  .storm-header__inner--premium .storm-wordmark img,
  .storm-logo img{
    height: 36px !important;
    max-width: 210px !important;
  }
}
@media (max-width: 860px){
  .storm-header__inner--premium .storm-actions{
    display: none !important;
  }
  .storm-header__inner--premium .storm-logo img,
  .storm-header__inner--premium .storm-wordmark img,
  .storm-logo img{
    height: 30px !important;
    max-width: 190px !important;
  }
}



/* ---------- Premium Single Product Page v7.2.3 ---------- */
body.eclipse-woocommerce-single{
  background: #f6f2eb;
}

body.eclipse-woocommerce-single .site-content{
  background: linear-gradient(180deg, #f6f2eb 0%, #ffffff 48%, #f4f8f8 100%) !important;
  color: #08131c;
}

body.eclipse-woocommerce-single .woocommerce{
  max-width: 1440px;
  margin: 0 auto;
  padding: 54px 18px 88px;
}

body.eclipse-woocommerce-single div.product{
  position: relative;
}

/* Main product hero area */
body.eclipse-woocommerce-single div.product .product_title{
  font-size: clamp(34px, 4vw, 58px);
  line-height: .98;
  letter-spacing: -.04em;
  margin: 0 0 14px;
  color: #08131c;
}

body.eclipse-woocommerce-single div.product .summary,
body.eclipse-woocommerce-single div.product .woocommerce-product-gallery{
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(8,19,28,.08);
  box-shadow: 0 24px 62px rgba(8,19,28,.08);
}

body.eclipse-woocommerce-single div.product .woocommerce-product-gallery{
  padding: 26px;
  border-radius: 34px;
}

body.eclipse-woocommerce-single div.product .summary{
  padding: 34px;
  border-radius: 34px;
}

body.eclipse-woocommerce-single #commercegurus-pdp-gallery .cg-thumb-swiper img,
body.eclipse-woocommerce-single div.product div.images .woocommerce-product-gallery__wrapper img,
body.eclipse-woocommerce-single div.product div.images .flex-control-thumbs img{
  border-radius: 22px;
  background: #fff;
}

body.eclipse-woocommerce-single div.product div.images .flex-control-thumbs{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
  margin-top: 14px;
}

body.eclipse-woocommerce-single div.product div.images .flex-control-thumbs li{
  width: auto !important;
  margin: 0 !important;
}

body.eclipse-woocommerce-single div.product div.images .flex-control-thumbs img{
  border: 1px solid rgba(8,19,28,.08);
  padding: 6px;
  border-radius: 14px;
  background: #f8f8f6;
  opacity: .72;
}

body.eclipse-woocommerce-single div.product div.images .flex-control-thumbs img.flex-active,
body.eclipse-woocommerce-single div.product div.images .flex-control-thumbs img:hover{
  opacity: 1;
  border-color: #5bd5df;
}

/* Category/meta and price */
body.eclipse-woocommerce-single div.product .product_meta,
body.eclipse-woocommerce-single div.product .posted_in,
body.eclipse-woocommerce-single div.product .tagged_as{
  color: rgba(8,19,28,.58);
  font-weight: 800;
}

body.eclipse-woocommerce-single div.product .product_meta a,
body.eclipse-woocommerce-single div.product .posted_in a,
body.eclipse-woocommerce-single div.product .tagged_as a{
  color: #08131c;
  text-decoration: none;
}

body.eclipse-woocommerce-single div.product p.price,
body.eclipse-woocommerce-single div.product span.price{
  color: #08131c !important;
  font-size: 20px !important;
  font-weight: 900;
  margin: 0 0 18px;
}

body.eclipse-woocommerce-single div.product .woocommerce-product-details__short-description{
  color: rgba(8,19,28,.72);
  line-height: 1.72;
  font-size: 15px;
  margin-bottom: 20px;
}

/* Options and form */
body.eclipse-woocommerce-single div.product form.cart,
body.eclipse-woocommerce-single div.product form.variations_form{
  padding: 22px;
  border-radius: 24px;
  background: #f6fafb;
  border: 1px solid rgba(8,19,28,.07);
  margin-bottom: 18px;
}

body.eclipse-woocommerce-single div.product table.variations{
  margin-bottom: 16px;
}

body.eclipse-woocommerce-single div.product table.variations th,
body.eclipse-woocommerce-single div.product table.variations td{
  display:block;
  width: 100%;
  padding: 0 0 10px;
  text-align:left;
}

body.eclipse-woocommerce-single div.product table.variations label,
body.eclipse-woocommerce-single div.product form.cart label{
  display:block;
  margin-bottom: 8px;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(8,19,28,.62);
  font-weight: 900;
}

body.eclipse-woocommerce-single div.product table.variations select,
body.eclipse-woocommerce-single div.product .quantity input.qty{
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid rgba(8,19,28,.12);
  background: #fff;
  color: #08131c;
  font-weight: 800;
}

body.eclipse-woocommerce-single div.product .single_add_to_cart_button,
body.eclipse-woocommerce-single div.product button.single_add_to_cart_button{
  min-height: 50px;
  border-radius: 999px !important;
  background: #07131d !important;
  color: #fff !important;
  border: 0 !important;
  padding: 0 30px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .13em;
  text-transform: uppercase;
  box-shadow: 0 14px 32px rgba(8,19,28,.16);
}

body.eclipse-woocommerce-single div.product .single_add_to_cart_button:hover{
  background: #5bd5df !important;
  color: #07131d !important;
}

/* Premium support badges */
.eclipse-single-support-panel{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 18px 0 0;
}

.eclipse-single-support-panel__item{
  padding: 14px 16px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(8,19,28,.07);
}

.eclipse-single-support-panel__item strong{
  display:block;
  color:#08131c;
  font-size: 14px;
  margin-bottom: 4px;
}

.eclipse-single-support-panel__item span{
  display:block;
  color: rgba(8,19,28,.62);
  line-height: 1.5;
  font-size: 13px;
}

/* Tabs and description content */
body.eclipse-woocommerce-single .woocommerce-tabs{
  max-width: 1120px;
  margin: 74px auto 0;
  padding: 0 18px;
}

body.eclipse-woocommerce-single .woocommerce-tabs ul.tabs{
  display:flex;
  justify-content:center;
  gap: 10px;
  border: 0;
  margin: 0 0 28px !important;
  padding: 0 !important;
}

body.eclipse-woocommerce-single .woocommerce-tabs ul.tabs::before{
  display:none !important;
}

body.eclipse-woocommerce-single .woocommerce-tabs ul.tabs li{
  border: 0 !important;
  background: #fff !important;
  border-radius: 999px !important;
  padding: 0 !important;
  box-shadow: 0 10px 24px rgba(8,19,28,.06);
}

body.eclipse-woocommerce-single .woocommerce-tabs ul.tabs li::before,
body.eclipse-woocommerce-single .woocommerce-tabs ul.tabs li::after{
  display:none !important;
}

body.eclipse-woocommerce-single .woocommerce-tabs ul.tabs li a{
  display:inline-flex !important;
  align-items:center;
  min-height: 42px;
  padding: 0 18px !important;
  color: #08131c !important;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.eclipse-woocommerce-single .woocommerce-tabs ul.tabs li.active{
  background: #07131d !important;
}

body.eclipse-woocommerce-single .woocommerce-tabs ul.tabs li.active a{
  color:#fff !important;
}

body.eclipse-woocommerce-single .woocommerce-Tabs-panel{
  padding: 38px !important;
  border-radius: 34px;
  background: #fff;
  border: 1px solid rgba(8,19,28,.08);
  box-shadow: 0 24px 62px rgba(8,19,28,.08);
}

body.eclipse-woocommerce-single .woocommerce-Tabs-panel h2,
body.eclipse-woocommerce-single .woocommerce-Tabs-panel h3{
  margin: 0 0 16px;
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1;
  letter-spacing: -.035em;
  color: #08131c;
}

body.eclipse-woocommerce-single .woocommerce-Tabs-panel p,
body.eclipse-woocommerce-single .woocommerce-Tabs-panel li{
  color: rgba(8,19,28,.72);
  line-height: 1.72;
  font-size: 15px;
}

body.eclipse-woocommerce-single .woocommerce-Tabs-panel ul,
body.eclipse-woocommerce-single .woocommerce-Tabs-panel ol{
  padding-left: 22px;
  margin-bottom: 26px;
}

/* How process panel */
.eclipse-single-process-panel{
  max-width: 1120px;
  margin: 34px auto 0;
  padding: 0 18px;
}

.eclipse-single-process-panel__inner{
  padding: 38px;
  border-radius: 34px;
  background: linear-gradient(135deg, #07131d 0%, #102230 100%);
  color: #fff;
  box-shadow: 0 28px 70px rgba(8,19,28,.20);
}

.eclipse-single-process-panel__inner .storm-kicker{
  color: rgba(255,255,255,.66);
}

.eclipse-single-process-panel__inner h2{
  margin: 10px 0 12px;
  font-size: clamp(30px, 4vw, 50px);
  line-height: .98;
  letter-spacing: -.04em;
  color:#fff;
}

.eclipse-single-process-panel__inner > div > p{
  margin: 0 0 26px;
  max-width: 760px;
  color: rgba(255,255,255,.74);
  line-height: 1.7;
}

.eclipse-single-process-steps{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}

.eclipse-single-process-steps > div{
  padding: 20px;
  border-radius: 22px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.09);
}

.eclipse-single-process-steps span{
  display:inline-flex;
  width: 40px;
  height: 40px;
  align-items:center;
  justify-content:center;
  margin-bottom: 14px;
  border-radius: 999px;
  background: #5bd5df;
  color: #07131d;
  font-weight: 900;
}

.eclipse-single-process-steps strong{
  display:block;
  margin-bottom: 8px;
  color:#fff;
}

.eclipse-single-process-steps p{
  margin:0;
  color: rgba(255,255,255,.72);
  line-height: 1.6;
}

/* Related products */
body.eclipse-woocommerce-single .related.products,
body.eclipse-woocommerce-single .upsells.products{
  max-width: 1120px;
  margin: 72px auto 0;
  padding: 0 18px;
}

body.eclipse-woocommerce-single .related.products > h2,
body.eclipse-woocommerce-single .upsells.products > h2{
  margin: 0 0 24px;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1;
  letter-spacing: -.035em;
}

body.eclipse-woocommerce-single .related.products ul.products,
body.eclipse-woocommerce-single .upsells.products ul.products{
  display:grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px !important;
}

body.eclipse-woocommerce-single .related.products ul.products li.product,
body.eclipse-woocommerce-single .upsells.products ul.products li.product{
  width:auto !important;
  margin:0 !important;
  float:none !important;
  border-radius: 26px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(8,19,28,.08);
  box-shadow:0 18px 44px rgba(8,19,28,.08);
}

body.eclipse-woocommerce-single .related.products ul.products li.product img,
body.eclipse-woocommerce-single .upsells.products ul.products li.product img{
  aspect-ratio: 4 / 3;
  object-fit: contain;
  padding: 18px;
  background:#f7f7f5;
}

/* Keep plugin/payment panels tidy if present. */
body.eclipse-woocommerce-single .summary img{
  max-width:100%;
}

@media (max-width: 980px){
  body.eclipse-woocommerce-single .woocommerce{
    padding-top: 36px;
  }

  body.eclipse-woocommerce-single div.product .summary,
  body.eclipse-woocommerce-single div.product .woocommerce-product-gallery{
    padding: 22px;
    border-radius: 26px;
  }

  .eclipse-single-process-steps,
  body.eclipse-woocommerce-single .related.products ul.products,
  body.eclipse-woocommerce-single .upsells.products ul.products{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px){
  body.eclipse-woocommerce-single .woocommerce-Tabs-panel,
  .eclipse-single-process-panel__inner{
    padding: 24px !important;
    border-radius: 26px;
  }

  body.eclipse-woocommerce-single .woocommerce-tabs ul.tabs{
    justify-content:flex-start;
    overflow-x:auto;
    padding-bottom: 6px !important;
  }
}


/* ---------- Single Product tidy-up v7.2.4 ---------- */
/* Rebuild the top product area into a cleaner premium grid. */
body.eclipse-woocommerce-single .woocommerce div.product{
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
  gap: 30px;
  align-items: start;
}

body.eclipse-woocommerce-single .woocommerce div.product::before,
body.eclipse-woocommerce-single .woocommerce div.product::after{
  display: none !important;
}

body.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery,
body.eclipse-woocommerce-single .woocommerce div.product .summary{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

body.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery{
  position: sticky;
  top: 126px;
}

body.eclipse-woocommerce-single .woocommerce div.product .summary{
  min-width: 0;
}

body.eclipse-woocommerce-single .woocommerce div.product .product_title{
  font-size: clamp(28px, 2.9vw, 46px) !important;
  line-height: 1.02;
  letter-spacing: -.035em;
  max-width: 12ch;
  margin-bottom: 16px;
  overflow-wrap: anywhere;
}

body.eclipse-woocommerce-single .woocommerce div.product p.price,
body.eclipse-woocommerce-single .woocommerce div.product span.price{
  font-size: 18px !important;
  margin-bottom: 14px;
}

body.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-details__short-description{
  font-size: 14px;
  line-height: 1.72;
  margin-bottom: 18px;
}

body.eclipse-woocommerce-single .woocommerce div.product form.cart,
body.eclipse-woocommerce-single .woocommerce div.product form.variations_form{
  padding: 20px;
  border-radius: 22px;
}

body.eclipse-woocommerce-single .woocommerce div.product table.variations td.value{
  padding-bottom: 12px;
}

body.eclipse-woocommerce-single .woocommerce div.product .variations_button,
body.eclipse-woocommerce-single .woocommerce div.product .single_variation_wrap{
  display: grid;
  gap: 12px;
}

body.eclipse-woocommerce-single .woocommerce div.product .quantity{
  margin: 0 !important;
}

body.eclipse-woocommerce-single .woocommerce div.product .quantity input.qty{
  width: 84px;
  text-align: center;
}

body.eclipse-woocommerce-single .woocommerce div.product .single_add_to_cart_button{
  width: 100%;
  justify-content: center;
}

body.eclipse-woocommerce-single .woocommerce div.product .product_meta{
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(8,19,28,.08);
  font-size: 13px;
  line-height: 1.7;
}

body.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery{
  padding: 22px;
}

body.eclipse-woocommerce-single .woocommerce div.product div.images#commercegurus-pdp-gallery-wrapper .cg-thumb-swiper img,
body.eclipse-woocommerce-single .woocommerce div.product div.images .woocommerce-product-gallery__wrapper img,
body.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs img{
  border-radius: 18px;
}

body.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs{
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 10px;
}

/* Support panel should feel part of the summary card. */
body.eclipse-woocommerce-single .eclipse-single-support-panel{
  margin-top: 16px;
}

body.eclipse-woocommerce-single .eclipse-single-support-panel__item{
  background: #f6fafb;
  border-radius: 16px;
}

/* Keep follow-on sections aligned to the same premium rhythm. */
body.eclipse-woocommerce-single .eclipse-single-process-panel{
  max-width: 1280px;
  margin-top: 42px;
}

body.eclipse-woocommerce-single .woocommerce-tabs{
  max-width: 1280px;
  margin-top: 42px;
}

body.eclipse-woocommerce-single .woocommerce-Tabs-panel{
  padding: 34px !important;
  margin-bottom: 34px;
}

body.eclipse-woocommerce-single .woocommerce-Tabs-panel h2,
body.eclipse-woocommerce-single .woocommerce-Tabs-panel h3{
  font-size: clamp(24px, 2.6vw, 34px);
}

body.eclipse-woocommerce-single .related.products,
body.eclipse-woocommerce-single .upsells.products{
  max-width: 1280px;
  margin-top: 52px;
}

body.eclipse-woocommerce-single .related.products ul.products,
body.eclipse-woocommerce-single .upsells.products ul.products{
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px !important;
}

body.eclipse-woocommerce-single .related.products ul.products li.product .woocommerce-loop-product__title,
body.eclipse-woocommerce-single .upsells.products ul.products li.product .woocommerce-loop-product__title{
  font-size: 18px !important;
  line-height: 1.18 !important;
  min-height: 0;
}

/* Tidy the product summary card internals if extra third-party content is present. */
body.eclipse-woocommerce-single .summary > *{
  max-width: 100%;
}

body.eclipse-woocommerce-single .summary .stock,
body.eclipse-woocommerce-single .summary .woocommerce-variation-price,
body.eclipse-woocommerce-single .summary .woocommerce-variation-description{
  margin-bottom: 10px;
}

body.eclipse-woocommerce-single .summary .woocommerce-variation-add-to-cart{
  display: grid;
  gap: 12px;
}

body.eclipse-woocommerce-single .summary .woocommerce-variation-add-to-cart .quantity{
  margin-bottom: 0 !important;
}

body.eclipse-woocommerce-single .summary .woocommerce-product-rating{
  margin-bottom: 10px;
}

/* If there is an intrusive side floating helper/button, soften it on product pages. */
body.eclipse-woocommerce-single .call-back-button,
body.eclipse-woocommerce-single .callback-btn,
body.eclipse-woocommerce-single .sticky-callback,
body.eclipse-woocommerce-single .side-button,
body.eclipse-woocommerce-single .floating-button-right{
  transform: scale(.92);
}

/* Tablet/mobile cleanup */
@media (max-width: 1180px){
  body.eclipse-woocommerce-single .woocommerce div.product{
    grid-template-columns: 1fr;
  }

  body.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery{
    position: static;
  }

  body.eclipse-woocommerce-single .woocommerce div.product .product_title{
    max-width: none;
  }
}

@media (max-width: 767px){
  body.eclipse-woocommerce-single .woocommerce{
    padding-left: 14px;
    padding-right: 14px;
  }

  body.eclipse-woocommerce-single .woocommerce div.product{
    gap: 18px;
  }

  body.eclipse-woocommerce-single .woocommerce div.product .summary,
  body.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery,
  body.eclipse-woocommerce-single .woocommerce-Tabs-panel,
  body.eclipse-woocommerce-single .eclipse-single-process-panel__inner{
    padding: 22px !important;
    border-radius: 24px;
  }

  body.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs{
    grid-template-columns: repeat(4, minmax(0,1fr));
  }

  body.eclipse-woocommerce-single .related.products ul.products,
  body.eclipse-woocommerce-single .upsells.products ul.products{
    grid-template-columns: 1fr;
  }
}


/* ---------- Single Product heading correction v7.2.5 ---------- */
/* The previous product title was still too large and constrained. */
body.eclipse-woocommerce-single .woocommerce div.product .summary .product_title,
body.eclipse-woocommerce-single div.product .summary .product_title,
body.single-product .summary .product_title{
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  max-width: none !important;
  width: 100% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  margin-bottom: 14px !important;
}

/* Give the summary column more usable room and stop it feeling squeezed. */
body.eclipse-woocommerce-single .woocommerce div.product{
  grid-template-columns: minmax(420px, 620px) minmax(420px, 500px) !important;
  justify-content: center;
  column-gap: 34px !important;
}

body.eclipse-woocommerce-single .woocommerce div.product .summary{
  max-width: 500px !important;
  width: 100% !important;
  padding: 30px !important;
}

/* Reduce some inner spacing so the right card reads cleaner after the heading shrink. */
body.eclipse-woocommerce-single .woocommerce div.product .summary p.price,
body.eclipse-woocommerce-single .woocommerce div.product .summary span.price{
  font-size: 16px !important;
  margin-bottom: 12px !important;
}

body.eclipse-woocommerce-single .woocommerce div.product .summary .woocommerce-product-details__short-description{
  font-size: 13px !important;
  line-height: 1.65 !important;
}

body.eclipse-woocommerce-single .woocommerce div.product form.cart,
body.eclipse-woocommerce-single .woocommerce div.product form.variations_form{
  padding: 18px !important;
}

@media (max-width: 1180px){
  body.eclipse-woocommerce-single .woocommerce div.product{
    grid-template-columns: 1fr !important;
  }

  body.eclipse-woocommerce-single .woocommerce div.product .summary{
    max-width: none !important;
  }

  body.eclipse-woocommerce-single .woocommerce div.product .summary .product_title,
  body.eclipse-woocommerce-single div.product .summary .product_title,
  body.single-product .summary .product_title{
    font-size: clamp(24px, 4vw, 36px) !important;
  }
}

@media (max-width: 767px){
  body.eclipse-woocommerce-single .woocommerce div.product .summary .product_title,
  body.eclipse-woocommerce-single div.product .summary .product_title,
  body.single-product .summary .product_title{
    font-size: 24px !important;
    line-height: 1.15 !important;
  }
}


/* ---------- Single Product title-above layout v7.2.6 ---------- */
/* Full-width product masthead above the gallery and purchase panel. */
body.eclipse-woocommerce-single .woocommerce div.product{
  grid-template-columns: minmax(460px, 660px) minmax(420px, 520px) !important;
  justify-content: center;
  gap: 30px 36px !important;
}

.eclipse-single-product-masthead{
  grid-column: 1 / -1;
  width: 100%;
  margin: 0 0 2px;
}

.eclipse-single-product-masthead__inner{
  padding: 30px 36px;
  border-radius: 34px;
  background:
    radial-gradient(circle at top left, rgba(91,213,223,.16), transparent 32%),
    rgba(255,255,255,.88);
  border: 1px solid rgba(8,19,28,.08);
  box-shadow: 0 24px 62px rgba(8,19,28,.08);
}

.eclipse-single-product-masthead .storm-kicker{
  margin-bottom: 10px;
}

.eclipse-single-product-masthead h1{
  margin: 0;
  max-width: 1120px;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1;
  letter-spacing: -.045em;
  color: #08131c;
}

.eclipse-single-product-masthead__summary{
  max-width: 840px;
  margin-top: 14px;
  color: rgba(8,19,28,.72);
  line-height: 1.7;
  font-size: 15px;
}

/* The original WooCommerce title is removed via hook, but this keeps the layout safe if any plugin re-adds it. */
body.eclipse-woocommerce-single .woocommerce div.product .summary .product_title{
  display: none !important;
}

/* With the title moved out, the buy box can breathe and focus on price/options. */
body.eclipse-woocommerce-single .woocommerce div.product .summary{
  max-width: 520px !important;
  padding: 30px !important;
}

body.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery{
  max-width: 660px;
  width: 100% !important;
}

body.eclipse-woocommerce-single .woocommerce div.product p.price,
body.eclipse-woocommerce-single .woocommerce div.product span.price{
  font-size: 20px !important;
  margin-bottom: 16px !important;
}

/* Short description remains in the buy box but should be supportive, not dominant. */
body.eclipse-woocommerce-single .woocommerce div.product .summary .woocommerce-product-details__short-description{
  font-size: 14px !important;
  line-height: 1.68 !important;
  margin-bottom: 18px !important;
}

/* Improve add-to-basket area now the heading has moved. */
body.eclipse-woocommerce-single .woocommerce div.product form.cart,
body.eclipse-woocommerce-single .woocommerce div.product form.variations_form{
  padding: 20px !important;
  border-radius: 24px !important;
}

body.eclipse-woocommerce-single .woocommerce div.product .single_add_to_cart_button{
  min-height: 52px !important;
}

@media (max-width: 1180px){
  body.eclipse-woocommerce-single .woocommerce div.product{
    grid-template-columns: 1fr !important;
  }

  .eclipse-single-product-masthead__inner{
    padding: 26px;
    border-radius: 28px;
  }

  .eclipse-single-product-masthead h1{
    font-size: clamp(30px, 5vw, 46px);
  }

  body.eclipse-woocommerce-single .woocommerce div.product .summary,
  body.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery{
    max-width: none !important;
  }
}

@media (max-width: 767px){
  .eclipse-single-product-masthead__inner{
    padding: 22px;
    border-radius: 24px;
  }

  .eclipse-single-product-masthead h1{
    font-size: 28px;
    line-height: 1.08;
  }

  .eclipse-single-product-masthead__summary{
    font-size: 14px;
  }
}


/* ---------- Compact single product title strip retained v7.2.8 ---------- */
.eclipse-single-product-masthead{margin:0 0 18px!important}
.eclipse-single-product-masthead__inner{max-width:1220px;margin:0 auto;padding:16px 22px!important;border-radius:20px!important;background:rgba(255,255,255,.84)!important;border:1px solid rgba(8,19,28,.07)!important;box-shadow:0 10px 26px rgba(8,19,28,.05)!important}
.eclipse-single-product-masthead .storm-kicker{margin-bottom:6px!important;font-size:10px!important;letter-spacing:.16em!important;opacity:.72}
.eclipse-single-product-masthead h1{max-width:980px!important;margin:0!important;font-size:clamp(24px,2.25vw,34px)!important;line-height:1.1!important;letter-spacing:-.025em!important;color:#08131c!important}
.eclipse-single-product-masthead__summary{display:none!important}
body.eclipse-woocommerce-single .woocommerce div.product{gap:22px 30px!important}
body.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery,body.eclipse-woocommerce-single .woocommerce div.product .summary{border-radius:28px!important}
body.eclipse-woocommerce-single .woocommerce div.product .summary{padding:26px!important}
@media (max-width:1180px){.eclipse-single-product-masthead__inner{padding:14px 18px!important;border-radius:18px!important}.eclipse-single-product-masthead h1{font-size:clamp(24px,4vw,30px)!important}}
@media (max-width:767px){.eclipse-single-product-masthead{margin-bottom:14px!important}.eclipse-single-product-masthead__inner{padding:14px 16px!important;border-radius:16px!important}.eclipse-single-product-masthead h1{font-size:24px!important;line-height:1.14!important}}


/* ---------- Clean restored product design + CommerceKit-safe shell v7.4.5 ---------- */
/*
   Built from the last clean pre-debug design (v7.3.3), not from the later CSS patches.
   Parent Shoptimizer header/footer stay loaded for CommerceKit, but are visually hidden.
   No custom positioning is applied to CommerceKit sticky add-to-cart elements.
*/
body.single-product.eclipse-product-visual-shell-active header.site-header,
body.single-product.eclipse-product-visual-shell-active .site-header,
body.single-product.eclipse-product-visual-shell-active .shoptimizer-primary-navigation,
body.single-product.eclipse-product-visual-shell-active .top-bar,
body.single-product.eclipse-product-visual-shell-active .header-widget-region,
body.single-product.eclipse-product-visual-shell-active footer.site-footer,
body.single-product.eclipse-product-visual-shell-active .site-footer:not(.storm-footer){
  display: none !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-header,
body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-footer{
  display: block !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-header{
  position: relative;
  z-index: 50;
}

body.single-product.eclipse-product-visual-shell-active .site-content{
  background: linear-gradient(180deg, #f6f2eb 0%, #ffffff 48%, #eef7f8 100%) !important;
}

/* Breadcrumb: small, neat and directly above the product title strip */
body.single-product.eclipse-product-visual-shell-active .woocommerce-breadcrumb{
  max-width: 1280px !important;
  margin: 24px auto 12px !important;
  padding: 0 18px !important;
  color: rgba(8,19,28,.52) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  letter-spacing: .02em !important;
}
body.single-product.eclipse-product-visual-shell-active .woocommerce-breadcrumb a{
  color: rgba(8,19,28,.72) !important;
  text-decoration: none !important;
}
body.single-product.eclipse-product-visual-shell-active .woocommerce-breadcrumb a:hover{color:#07131d !important;}
body.single-product.eclipse-product-visual-shell-active .woocommerce-breadcrumb::before{display:none !important;}

/* Keep the old product design layout, but ensure the title/gallery/buy box order is correct. */
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce{
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 18px 82px !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product{
  display: grid !important;
  grid-template-columns: minmax(500px, 660px) minmax(380px, 520px) !important;
  gap: 26px 34px !important;
  justify-content: center !important;
  align-items: start !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  overflow: visible !important;
}
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product::before,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product::after{display:none !important;}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead{
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  margin: 0 0 2px !important;
}
body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead__inner{
  max-width: none !important;
  margin: 0 !important;
  padding: 16px 22px !important;
  border-radius: 20px !important;
}
body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead h1{
  max-width: 1170px !important;
  font-size: clamp(24px, 2.25vw, 34px) !important;
  line-height: 1.1 !important;
}

/* Product image left */
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery{
  grid-column: 1 !important;
  grid-row: 2 !important;
  float: none !important;
  width: 100% !important;
  max-width: 660px !important;
  margin: 0 !important;
  position: sticky !important;
  top: 116px !important;
}

/* Buy box right, directly next to the gallery */
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .summary{
  grid-column: 2 !important;
  grid-row: 2 !important;
  float: none !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 !important;
}

/* Prevent the Woo title duplicating inside the buy box; the masthead is the visible title. */
body.single-product.eclipse-product-visual-shell-active .summary .product_title{display:none !important;}

/* Hide CommerceKit's in-page sticky panel if it is injected into the product grid.
   The real fixed sticky bar remains controlled by CommerceKit CSS/JS. */
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product > [id*="commercekit-sticky-atc"],
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product > [id*="cgkit-mobile-commercekit-sticky-atc"],
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product > [class*="commercekit-sticky-atc"],
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product > [class*="cgkit-mobile-atc"],
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product > [class*="sticky-atc"]{
  display: none !important;
}

/* Process/details/related sections below both columns */
body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel{
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  max-width: 1080px !important;
  width: 100% !important;
  margin: 36px auto 0 !important;
  padding: 0 !important;
}
body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs{
  grid-column: 1 / -1 !important;
  grid-row: 4 !important;
  max-width: 1080px !important;
  width: 100% !important;
  margin: 30px auto 0 !important;
  padding: 0 !important;
}
body.single-product.eclipse-product-visual-shell-active .related.products,
body.single-product.eclipse-product-visual-shell-active .upsells.products{
  grid-column: 1 / -1 !important;
  max-width: 1080px !important;
  width: 100% !important;
  margin: 54px auto 0 !important;
  padding: 0 !important;
}

/* Keep CommerceKit fixed/drawer layers above the visual shell without changing their positioning. */
body.single-product.eclipse-product-visual-shell-active .commercekit-sticky-add-to-cart,
body.single-product.eclipse-product-visual-shell-active .commercekit-sticky-atc,
body.single-product.eclipse-product-visual-shell-active .commercekit-sticky-cart,
body.single-product.eclipse-product-visual-shell-active .ckit-sticky-add-to-cart,
body.single-product.eclipse-product-visual-shell-active .ckit-sticky-atc,
body.single-product.eclipse-product-visual-shell-active #commercekit-sticky-atc,
body.single-product.eclipse-product-visual-shell-active #cgkit-mobile-commercekit-sticky-atc{
  z-index: 99990 !important;
}
body.single-product.eclipse-product-visual-shell-active .shoptimizer-mini-cart-wrap,
body.single-product.eclipse-product-visual-shell-active .site-header-cart-side,
body.single-product.eclipse-product-visual-shell-active .cart-drawer,
body.single-product.eclipse-product-visual-shell-active .mini-cart-drawer,
body.single-product.eclipse-product-visual-shell-active .woocommerce-mini-cart-drawer,
body.single-product.eclipse-product-visual-shell-active .commercekit-drawer,
body.single-product.eclipse-product-visual-shell-active .commercekit-side-cart,
body.single-product.eclipse-product-visual-shell-active .ckit-drawer,
body.single-product.eclipse-product-visual-shell-active .ckit-side-cart,
body.single-product.eclipse-product-visual-shell-active .off-canvas-cart,
body.single-product.eclipse-product-visual-shell-active .drawer-cart,
body.single-product.eclipse-product-visual-shell-active .side-cart{z-index:99980 !important;}
body.single-product.eclipse-product-visual-shell-active .site-overlay,
body.single-product.eclipse-product-visual-shell-active .shoptimizer-site-overlay,
body.single-product.eclipse-product-visual-shell-active .shoptimizer-cart-overlay,
body.single-product.eclipse-product-visual-shell-active .cart-drawer-overlay,
body.single-product.eclipse-product-visual-shell-active .mini-cart-overlay,
body.single-product.eclipse-product-visual-shell-active .commercekit-overlay,
body.single-product.eclipse-product-visual-shell-active .ckit-overlay,
body.single-product.eclipse-product-visual-shell-active .off-canvas-overlay,
body.single-product.eclipse-product-visual-shell-active .drawer-overlay{z-index:99970 !important;}

@media (max-width: 1100px){
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product{
    grid-template-columns: 1fr !important;
    max-width: 860px !important;
  }
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery,
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .summary,
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel,
  body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs,
  body.single-product.eclipse-product-visual-shell-active .related.products,
  body.single-product.eclipse-product-visual-shell-active .upsells.products{
    grid-column: 1 !important;
    grid-row: auto !important;
    max-width: none !important;
    width: 100% !important;
  }
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery{position:static !important;}
}
@media (max-width: 767px){
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce{padding:0 14px 62px !important;}
  body.single-product.eclipse-product-visual-shell-active .woocommerce-breadcrumb{margin-top:18px !important;padding:0 14px !important;}
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead__inner{padding:14px 16px !important;border-radius:16px !important;}
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead h1{font-size:24px !important;line-height:1.14 !important;}
}


/* ---------- Precise single product layout correction v7.4.6 ---------- */
/*
  Fixes from screenshot:
  1. remove spacing from empty .woocommerce wrappers,
  2. keep title card directly under breadcrumb and not full-screen width,
  3. reduce gallery column so add-to-cart sits inline beside the image,
  4. suppress in-page CommerceKit/sticky clone without touching fixed sticky/drawer.
*/

body.single-product.eclipse-product-visual-shell-active .woocommerce:empty{
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* Tighten breadcrumb to title spacing */
body.single-product.eclipse-product-visual-shell-active .woocommerce-breadcrumb{
  max-width: 1170px !important;
  margin: 16px auto 10px !important;
  padding: 0 18px !important;
  color: rgba(8,19,28,.55) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-breadcrumb a{
  color: rgba(8,19,28,.76) !important;
  text-decoration: none !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-breadcrumb::before{
  display: none !important;
}

/* Main WooCommerce product wrapper */
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce{
  max-width: 1170px !important;
  margin: 0 auto !important;
  padding: 0 18px 76px !important;
}

/* Product title card: directly under breadcrumb, constrained to product width */
body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead{
  max-width: 1170px !important;
  margin: 0 auto 22px !important;
  padding: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead__inner{
  max-width: 100% !important;
  width: 100% !important;
  padding: 16px 20px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(8,19,28,.07) !important;
  box-shadow: 0 10px 28px rgba(8,19,28,.05) !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead .storm-kicker{
  margin-bottom: 6px !important;
  font-size: 10px !important;
  letter-spacing: .16em !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead h1{
  /* max-width: 920px !important; */
  margin: 0 !important;
  font-size: clamp(24px, 2.15vw, 32px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.026em !important;
}
  .single-product .site-content .col-full {
    background-color: transparent !important;
  }
  .product ul li.swiper-slide {
  border-radius: 18px !important;
}
/* Build the visible top product row only. */
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product{
  display: grid !important;
  grid-template-columns: minmax(0, 570px) minmax(330px, 410px) !important;
  justify-content: center !important;
  align-items: start !important;
  gap: 28px !important;
  max-width: 1170px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product::before,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product::after{
  display: none !important;
}

/* Gallery left, reduced width */
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery{
  grid-column: 1 !important;
  grid-row: 1 !important;
  float: none !important;
  width: 100% !important;
  max-width: 570px !important;
  margin: 0 !important;
  position: static !important;
  padding: 24px !important;
  border-radius: 28px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(8,19,28,.08) !important;
  box-shadow: 0 22px 58px rgba(8,19,28,.08) !important;
}

/* Ensure the main product image does not overgrow the column. */
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery__image,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery__wrapper{
  max-width: 100% !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery img{
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Buy box right, inline with gallery */
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .summary{
  grid-column: 2 !important;
  grid-row: 1 !important;
  float: none !important;
  width: 100% !important;
  max-width: 410px !important;
  margin: 0 !important;
  align-self: start !important;
  padding: 26px !important;
  border-radius: 28px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(8,19,28,.08) !important;
  box-shadow: 0 22px 58px rgba(8,19,28,.10) !important;
}

/* The masthead is the title; don't repeat the title inside the buy box. */
body.single-product.eclipse-product-visual-shell-active .summary .product_title{
  display: none !important;
}

/* Prevent CommerceKit's in-page cloned sticky form from appearing as a second add-to-cart section.
   The real sticky bar/drawer is fixed/off-canvas and remains available. */
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product .summary ~ .summary,
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product > .commercekit-sticky-add-to-cart,
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product > .commercekit-sticky-atc,
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product > .commercekit-sticky-cart,
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product > .ckit-sticky-add-to-cart,
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product > .ckit-sticky-atc,
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product > .sticky-add-to-cart,
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product > .sticky-atc,
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product .summary .commercekit-sticky-add-to-cart,
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product .summary .commercekit-sticky-atc,
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product .summary .ckit-sticky-add-to-cart,
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product .summary .sticky-add-to-cart,
body.single-product.eclipse-product-visual-shell-active .woocommerce div.product .summary .sticky-atc{
  display: none !important;
}

/* Process panel below top row */
body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel{
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  max-width: 1170px !important;
  width: 100% !important;
  margin: 34px auto 34px auto !important;
  padding: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__inner{
  border-radius: 28px !important;
}

/* Tabs and details below process */
body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs{
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  max-width: 920px !important;
  width: 100% !important;
  margin: 30px auto 0 !important;
  padding: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active .related.products,
body.single-product.eclipse-product-visual-shell-active .upsells.products{
  grid-column: 1 / -1 !important;
  max-width: 920px !important;
  width: 100% !important;
  margin: 52px auto 0 !important;
  padding: 0 !important;
}

/* Keep actual fixed CommerceKit sticky bar/drawer above the visual shell. */
body.single-product.eclipse-product-visual-shell-active body > .commercekit-sticky-add-to-cart,
body.single-product.eclipse-product-visual-shell-active body > .commercekit-sticky-atc,
body.single-product.eclipse-product-visual-shell-active body > .commercekit-sticky-cart,
body.single-product.eclipse-product-visual-shell-active .commercekit-sticky-add-to-cart[style*="position: fixed"],
body.single-product.eclipse-product-visual-shell-active .commercekit-sticky-atc[style*="position: fixed"],
body.single-product.eclipse-product-visual-shell-active .ckit-sticky-add-to-cart[style*="position: fixed"],
body.single-product.eclipse-product-visual-shell-active .sticky-add-to-cart[style*="position: fixed"],
body.single-product.eclipse-product-visual-shell-active .sticky-atc[style*="position: fixed"],
body.single-product.eclipse-product-visual-shell-active .shoptimizer-sticky-add-to-cart{
  z-index: 99990 !important;
}

/* Responsive: stack cleanly */
@media (max-width: 1050px){
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product{
    grid-template-columns: 1fr !important;
    max-width: 720px !important;
  }

  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery,
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .summary,
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel,
  body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs,
  body.single-product.eclipse-product-visual-shell-active .related.products,
  body.single-product.eclipse-product-visual-shell-active .upsells.products{
    grid-column: 1 !important;
    grid-row: auto !important;
    max-width: none !important;
    width: 100% !important;
  }
}

@media (max-width: 767px){
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce{
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .woocommerce-breadcrumb{
    margin-top: 14px !important;
    margin-bottom: 8px !important;
    padding: 0 14px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead{
    margin-bottom: 18px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead__inner{
    padding: 14px 16px !important;
    border-radius: 16px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead h1{
    font-size: 23px !important;
  }
}


/* ---------- Single product guided landing page polish v7.5.3 ---------- */
body.single-product.eclipse-product-visual-shell-active .site-content{
  background:
    radial-gradient(circle at 10% 8%, rgba(91,213,223,.18), transparent 28%),
    linear-gradient(180deg, #f6f2eb 0%, #fffaf4 34%, #eef7f8 100%) !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-breadcrumb{
  max-width: 1380px !important;
  margin: 22px auto 12px !important;
  padding: 0 28px !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce{
  max-width: 1380px !important;
  padding: 0 28px 92px !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead{
  max-width: 1380px !important;
  margin: 0 auto 24px !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead__inner{
  display:grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items:end !important;
  gap: 24px !important;
  padding: 22px 26px !important;
  border-radius: 28px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(8,19,28,.07) !important;
  box-shadow: 0 18px 44px rgba(8,19,28,.07) !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead .storm-kicker{
  color: rgba(8,19,28,.58) !important;
  margin-bottom: 8px !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead h1{
  max-width: 820px !important;
  margin: 0 !important;
  font-size: clamp(30px, 3.2vw, 54px) !important;
  line-height: .98 !important;
  letter-spacing: -.052em !important;
  color: #08131c !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead__summary{
  display:block !important;
  max-width: 820px !important;
  margin: 14px 0 0 !important;
  color: rgba(8,19,28,.68) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.eclipse-single-product-masthead__badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap: 10px;
  max-width: 420px;
}

.eclipse-single-product-masthead__badges span{
  display:inline-flex;
  align-items:center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: #f7fafb;
  border: 1px solid rgba(8,19,28,.08);
  color: #08131c;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product{
  display:grid !important;
  grid-template-columns: minmax(0, 780px) minmax(380px, 470px) !important;
  gap: 34px !important;
  justify-content:center !important;
  align-items:start !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery{
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  max-width: 780px !important;
  float: none !important;
  margin: 0 !important;
  padding: 30px !important;
  border-radius: 34px !important;
  background: rgba(255,255,255,.97) !important;
  border: 1px solid rgba(8,19,28,.08) !important;
  box-shadow: 0 28px 72px rgba(8,19,28,.09) !important;
  position: sticky !important;
  top: 118px !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery__wrapper,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery__image{
  background: #fff !important;
  border-radius: 24px !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery img{
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 22px !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs{
  display:grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs li{
  width: auto !important;
  margin: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs img{
  padding: 7px !important;
  border-radius: 16px !important;
  background: #f7f7f5 !important;
  border: 1px solid rgba(8,19,28,.08) !important;
  opacity: .72 !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs img.flex-active,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs img:hover{
  opacity: 1 !important;
  border-color: #5bd5df !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .summary{
  grid-column: 2 !important;
  grid-row: 2 !important;
  width: 100% !important;
  max-width: 470px !important;
  float: none !important;
  margin: 0 !important;
  padding: 30px !important;
  border-radius: 34px !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(8,19,28,.08) !important;
  box-shadow: 0 28px 72px rgba(8,19,28,.11) !important;
  position: sticky !important;
  top: 118px !important;
}

.eclipse-single-configure-intro{
  margin: 0 0 16px;
}

.eclipse-single-configure-intro .storm-kicker{
  color: rgba(8,19,28,.58);
  margin-bottom: 8px;
}

.eclipse-single-configure-intro h2{
  margin: 0 0 8px !important;
  color: #08131c !important;
  font-size: clamp(24px, 2vw, 32px) !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
}

.eclipse-single-configure-intro p{
  margin: 0 !important;
  color: rgba(8,19,28,.66) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

body.single-product.eclipse-product-visual-shell-active .summary .price,
body.single-product.eclipse-product-visual-shell-active .summary p.price,
body.single-product.eclipse-product-visual-shell-active .summary span.price{
  display:block !important;
  margin: 0 0 16px !important;
  padding: 16px 18px !important;
  border-radius: 20px !important;
  background: #07131d !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

body.single-product.eclipse-product-visual-shell-active .summary .price::before,
body.single-product.eclipse-product-visual-shell-active .summary p.price::before,
body.single-product.eclipse-product-visual-shell-active .summary span.price::before{
  content: "From";
  display:block;
  margin-bottom: 4px;
  color: rgba(255,255,255,.62);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

body.single-product.eclipse-product-visual-shell-active .summary .price del,
body.single-product.eclipse-product-visual-shell-active .summary p.price del,
body.single-product.eclipse-product-visual-shell-active .summary span.price del{
  color: rgba(255,255,255,.52) !important;
}

body.single-product.eclipse-product-visual-shell-active .summary .price ins,
body.single-product.eclipse-product-visual-shell-active .summary p.price ins,
body.single-product.eclipse-product-visual-shell-active .summary span.price ins{
  color: #fff !important;
  text-decoration: none !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-support-panel{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-support-panel__item{
  padding: 13px 14px !important;
  border-radius: 18px !important;
  background: #f6fafb !important;
  border: 1px solid rgba(8,19,28,.07) !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-support-panel__item strong{
  display:block !important;
  margin: 0 0 4px !important;
  color: #08131c !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-support-panel__item span{
  display:block !important;
  color: rgba(8,19,28,.60) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-product-details__short-description{
  margin: 0 0 18px !important;
  padding: 16px 18px !important;
  border-radius: 20px !important;
  background: #fffaf4 !important;
  border: 1px solid rgba(8,19,28,.07) !important;
  color: rgba(8,19,28,.70) !important;
  line-height: 1.68 !important;
  font-size: 14px !important;
}

body.single-product.eclipse-product-visual-shell-active div.product form.cart,
body.single-product.eclipse-product-visual-shell-active div.product form.variations_form{
  padding: 20px !important;
  border-radius: 24px !important;
  background: #f6fafb !important;
  border: 1px solid rgba(8,19,28,.08) !important;
  margin: 0 0 16px !important;
}

body.single-product.eclipse-product-visual-shell-active div.product table.variations label,
body.single-product.eclipse-product-visual-shell-active div.product form.cart label{
  font-size: 11px !important;
  letter-spacing: .15em !important;
  color: rgba(8,19,28,.60) !important;
}

body.single-product.eclipse-product-visual-shell-active div.product table.variations select,
body.single-product.eclipse-product-visual-shell-active div.product .quantity input.qty{
  min-height: 48px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(8,19,28,.12) !important;
  background: #fff !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .single_add_to_cart_button,
body.single-product.eclipse-product-visual-shell-active div.product button.single_add_to_cart_button{
  min-height: 54px !important;
  border-radius: 999px !important;
  background: #07131d !important;
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(8,19,28,.18) !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .single_add_to_cart_button:hover,
body.single-product.eclipse-product-visual-shell-active div.product button.single_add_to_cart_button:hover{
  background: #5bd5df !important;
  color: #07131d !important;
}

.eclipse-single-help-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  margin: 0 0 16px;
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(135deg, #07131d 0%, #102230 100%);
  color: #fff;
}

.eclipse-single-help-card strong{
  display:block;
  margin-bottom: 5px;
  color: #fff;
  font-size: 15px;
}

.eclipse-single-help-card p{
  margin:0;
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.55;
}

.eclipse-single-help-card a{
  flex: 0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 38px;
  padding: 0 15px;
  border-radius: 999px;
  background: #5bd5df;
  color: #07131d !important;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration:none !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .product_meta{
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(8,19,28,.08) !important;
  color: rgba(8,19,28,.58) !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel{
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  max-width: 1380px !important;
  width: 100% !important;
  margin: 42px auto 0 !important;
  padding: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__inner{
  display:grid !important;
  grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr) !important;
  gap: 26px !important;
  align-items:start !important;
  padding: 36px !important;
  border-radius: 34px !important;
  background: linear-gradient(135deg, #07131d 0%, #102230 100%) !important;
  color: #fff !important;
  box-shadow: 0 32px 78px rgba(8,19,28,.22) !important;
}

.eclipse-single-process-panel__copy h2{
  margin: 10px 0 12px !important;
  color: #fff !important;
  font-size: clamp(30px, 3.6vw, 50px) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

.eclipse-single-process-panel__copy p{
  margin: 0 !important;
  color: rgba(255,255,255,.76) !important;
  line-height: 1.7 !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps{
  display:grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps > div{
  padding: 18px !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs{
  grid-column: 1 / -1 !important;
  grid-row: 4 !important;
  max-width: 1120px !important;
  width: 100% !important;
  margin: 46px auto 0 !important;
  padding: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs ul.tabs{
  display:flex !important;
  justify-content:center !important;
  gap: 10px !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs ul.tabs li{
  border: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(8,19,28,.06) !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs ul.tabs li.active{
  background: #07131d !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs ul.tabs li a{
  min-height: 42px !important;
  padding: 0 18px !important;
  color: #08131c !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs ul.tabs li.active a{
  color: #fff !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel{
  padding: clamp(26px, 4vw, 46px) !important;
  border-radius: 34px !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(8,19,28,.08) !important;
  box-shadow: 0 26px 68px rgba(8,19,28,.08) !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel h2,
body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel h3{
  color: #08131c !important;
  font-size: clamp(24px, 3vw, 38px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel--description h2:not(:first-child),
body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel--description h3{
  margin-top: 34px !important;
  padding-top: 26px !important;
  border-top: 1px solid rgba(8,19,28,.08) !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel--description p{
  max-width: 860px !important;
  color: rgba(8,19,28,.74) !important;
  line-height: 1.75 !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel--description ul{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 14px !important;
  padding-left: 0 !important;
  margin: 18px 0 28px !important;
  list-style:none !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel--description li{
  position:relative !important;
  margin: 0 !important;
  padding: 12px 14px 12px 38px !important;
  border-radius: 16px !important;
  background: #f6fafb !important;
  border: 1px solid rgba(8,19,28,.06) !important;
  color: rgba(8,19,28,.74) !important;
  line-height: 1.55 !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel--description li::before{
  content: "";
  position:absolute;
  left: 14px;
  top: 18px;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #5bd5df;
  box-shadow: 0 0 0 4px rgba(91,213,223,.16);
}

body.single-product.eclipse-product-visual-shell-active table.woocommerce-product-attributes{
  display: block !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active table.woocommerce-product-attributes tbody{
  display: grid !important;
  gap: 14px !important;
  width: 100% !important;
}

body.single-product.eclipse-product-visual-shell-active table.woocommerce-product-attributes tr{
  display:grid !important;
  grid-template-columns: minmax(160px, 240px) minmax(0, 1fr) !important;
  overflow:hidden !important;
  border-radius: 16px !important;
  background: #f6fafb !important;
  border: 1px solid rgba(8,19,28,.06) !important;
  margin: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active table.woocommerce-product-attributes th,
body.single-product.eclipse-product-visual-shell-active table.woocommerce-product-attributes td{
  display:block !important;
  padding: 14px 16px !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(8,19,28,.72) !important;
  line-height: 1.55 !important;
}

body.single-product.eclipse-product-visual-shell-active table.woocommerce-product-attributes th{
  color: #08131c !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-Reviews,
body.single-product.eclipse-product-visual-shell-active #reviews{
  max-width: 860px !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-Reviews #review_form_wrapper,
body.single-product.eclipse-product-visual-shell-active #reviews #review_form_wrapper{
  padding: 22px !important;
  border-radius: 22px !important;
  background: #f6fafb !important;
  border: 1px solid rgba(8,19,28,.06) !important;
}

body.single-product.eclipse-product-visual-shell-active .related.products,
body.single-product.eclipse-product-visual-shell-active .upsells.products{
  grid-column: 1 / -1 !important;
  max-width: 1120px !important;
  width: 100% !important;
  margin: 58px auto 0 !important;
  padding: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active .related.products > h2,
body.single-product.eclipse-product-visual-shell-active .upsells.products > h2{
  margin: 0 0 22px !important;
  color: #08131c !important;
  font-size: clamp(30px, 3.4vw, 46px) !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
}

body.single-product.eclipse-product-visual-shell-active .related.products ul.products,
body.single-product.eclipse-product-visual-shell-active .upsells.products ul.products{
  display:grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

body.single-product.eclipse-product-visual-shell-active .related.products ul.products li.product,
body.single-product.eclipse-product-visual-shell-active .upsells.products ul.products li.product{
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  border-radius: 28px !important;
  overflow:hidden !important;
  background: #fff !important;
  border: 1px solid rgba(8,19,28,.08) !important;
  box-shadow: 0 20px 50px rgba(8,19,28,.09) !important;
}

.eclipse-single-final-cta{
  grid-column: 1 / -1 !important;
  max-width: 1120px;
  width: 100%;
  margin: 58px auto 0;
  padding: 0;
}

.eclipse-single-final-cta__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 28px;
  padding: 32px 36px;
  border-radius: 32px;
  background: linear-gradient(135deg, #5bd5df 0%, #60d1d9 100%);
  color: #07131d;
  box-shadow: 0 26px 68px rgba(8,19,28,.12);
}

.eclipse-single-final-cta .storm-kicker{
  color: rgba(8,19,28,.68);
}

.eclipse-single-final-cta h2{
  margin: 8px 0 10px;
  color: #07131d;
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: .98;
  letter-spacing: -.045em;
}

.eclipse-single-final-cta p{
  max-width: 720px;
  margin: 0;
  color: rgba(8,19,28,.72);
  line-height: 1.65;
}

.eclipse-single-final-cta__actions{
  display:flex;
  gap: 12px;
  flex-wrap:wrap;
  justify-content:flex-end;
  flex: 0 0 auto;
}

.eclipse-single-final-cta__primary,
.eclipse-single-final-cta__secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration:none !important;
}

.eclipse-single-final-cta__primary{
  background: #07131d;
  color: #fff !important;
}

.eclipse-single-final-cta__secondary{
  background: rgba(255,255,255,.28);
  color: #07131d !important;
  border: 1px solid rgba(8,19,28,.14);
}

@media (max-width: 1180px){
  body.single-product.eclipse-product-visual-shell-active .woocommerce-breadcrumb,
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce{
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product{
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 860px !important;
  }

  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery,
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .summary,
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel,
  body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs,
  body.single-product.eclipse-product-visual-shell-active .related.products,
  body.single-product.eclipse-product-visual-shell-active .upsells.products,
  .eclipse-single-final-cta{
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery,
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .summary{
    position: static !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead__inner,
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__inner{
    grid-template-columns: 1fr !important;
  }

  .eclipse-single-product-masthead__badges{
    justify-content:flex-start;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px){
  body.single-product.eclipse-product-visual-shell-active .woocommerce-breadcrumb,
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce{
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead__inner,
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery,
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .summary,
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__inner,
  body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel,
  .eclipse-single-final-cta__inner{
    padding: 22px !important;
    border-radius: 24px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead h1{
    font-size: 30px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-support-panel,
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps,
  body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel--description ul,
  body.single-product.eclipse-product-visual-shell-active .related.products ul.products,
  body.single-product.eclipse-product-visual-shell-active .upsells.products ul.products{
    grid-template-columns: 1fr !important;
  }

  body.single-product.eclipse-product-visual-shell-active table.woocommerce-product-attributes tr{
    grid-template-columns: 1fr !important;
  }

  .eclipse-single-help-card,
  .eclipse-single-final-cta__inner{
    align-items:flex-start;
    flex-direction:column;
  }

  .eclipse-single-help-card a,
  .eclipse-single-final-cta__actions,
  .eclipse-single-final-cta__primary,
  .eclipse-single-final-cta__secondary{
    width: 100%;
  }

  body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs ul.tabs{
    justify-content:flex-start !important;
    overflow-x:auto !important;
    padding-bottom: 8px !important;
  }
}

/* ---------- Single product description card grouping v7.5.3 ---------- */
body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel.eclipse-description-enhanced{
  display: grid !important;
  gap: 20px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-description-enhanced .eclipse-product-info-card{
  padding: clamp(24px, 4vw, 40px) !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(8,19,28,.08) !important;
  box-shadow: 0 22px 56px rgba(8,19,28,.075) !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-description-enhanced .eclipse-product-info-card h2,
body.single-product.eclipse-product-visual-shell-active .eclipse-description-enhanced .eclipse-product-info-card h3{
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-description-enhanced .eclipse-product-info-card > :last-child{
  margin-bottom: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-description-enhanced .eclipse-product-info-card--intro{
  background: linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(246,250,251,.98) 100%) !important;
}

@media (max-width: 767px){
  body.single-product.eclipse-product-visual-shell-active .eclipse-description-enhanced .eclipse-product-info-card{
    padding: 22px !important;
    border-radius: 24px !important;
  }
}


/* ---------- Single product safe two-column balance v7.5.5 ---------- */
@media (min-width: 1181px){
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product{
    grid-template-columns: minmax(0, 780px) minmax(360px, 450px) !important;
    grid-auto-rows: auto !important;
    gap: 28px 34px !important;
    align-items: start !important;
  }

  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery{
    grid-column: 1 !important;
    grid-row: 2 !important;
    max-width: 780px !important;
    align-self: start !important;
    position: relative !important;
    top: auto !important;
  }

  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .summary{
    grid-column: 2 !important;
    grid-row: 2 / span 2 !important;
    max-width: 450px !important;
    align-self: start !important;
    padding: 26px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel{
    grid-column: 1 !important;
    grid-row: 3 !important;
    max-width: 780px !important;
    width: 100% !important;
    margin: 0 !important;
    align-self: start !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__inner{
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 30px !important;
    border-radius: 32px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__copy h2{
    max-width: 620px !important;
    font-size: clamp(30px, 3.1vw, 42px) !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__copy p{
    max-width: 640px !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps > div{
    padding: 15px !important;
    border-radius: 18px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps span{
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    font-size: 12px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps strong{
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps p{
    font-size: 11px !important;
    line-height: 1.42 !important;
  }

  body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs{
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    margin-top: 34px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .related.products,
  body.single-product.eclipse-product-visual-shell-active .upsells.products,
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta{
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-support-panel{
    gap: 8px !important;
    margin-bottom: 14px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-support-panel__item{
    padding: 11px 12px !important;
    border-radius: 16px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-support-panel__item strong,
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-support-panel__item span{
    font-size: 11px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .woocommerce-product-details__short-description{
    margin-bottom: 14px !important;
    padding: 14px 16px !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  body.single-product.eclipse-product-visual-shell-active div.product form.cart,
  body.single-product.eclipse-product-visual-shell-active div.product form.variations_form{
    padding: 16px !important;
    margin-bottom: 14px !important;
    border-radius: 20px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .summary .price,
  body.single-product.eclipse-product-visual-shell-active .summary p.price,
  body.single-product.eclipse-product-visual-shell-active .summary span.price{
    margin-bottom: 14px !important;
    padding: 14px 16px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-help-card{
    margin-bottom: 14px !important;
    padding: 16px !important;
    border-radius: 20px !important;
  }

  body.single-product.eclipse-product-visual-shell-active div.product .product_meta{
    margin-top: 12px !important;
    padding-top: 12px !important;
    font-size: 12px !important;
  }
}


/* ---------- Single product finishing pass v7.5.6 ---------- */
/* Remove Shoptimizer's duplicate below-content/footer strips on the custom single-product shell. */
body.single-product.eclipse-product-visual-shell-active .below-content,
body.single-product.eclipse-product-visual-shell-active footer.site-footer,
body.single-product.eclipse-product-visual-shell-active footer.copyright,
body.single-product.eclipse-product-visual-shell-active .site-footer:not(.eclipse-product-visual-footer){
  display: none !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-footer{
  display: block !important;
}

/* Move the quote/help prompt out of the purchase card and place it beneath the gallery. */
@media (min-width: 1181px){
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product{
    grid-template-columns: minmax(0, 780px) minmax(360px, 450px) !important;
    gap: 24px 34px !important;
    align-items: start !important;
  }

  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery{
    grid-column: 1 !important;
    grid-row: 2 !important;
    max-width: 780px !important;
    position: relative !important;
    top: auto !important;
  }

  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .summary{
    grid-column: 2 !important;
    grid-row: 2 / span 2 !important;
    max-width: 450px !important;
    align-self: start !important;
    padding: 26px !important;
  }

  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product > .eclipse-single-help-card{
    grid-column: 1 !important;
    grid-row: 3 !important;
    width: 100% !important;
    max-width: 780px !important;
    margin: 0 !important;
    align-self: start !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel{
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    width: 100% !important;
    max-width: 1080px !important;
    margin: 36px auto 0 !important;
    justify-self: center !important;
  }

  body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs{
    grid-column: 1 / -1 !important;
    grid-row: 5 !important;
  }
}

/* Centre the production-details panel so it feels intentional rather than attached to the left column. */
body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__inner{
  grid-template-columns: 1fr !important;
  text-align: center !important;
  justify-items: center !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__copy{
  max-width: 760px !important;
  margin: 0 auto !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__copy h2,
body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__copy p,
body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__copy .storm-kicker{
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps{
  width: 100% !important;
  max-width: 940px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

/* Make every gallery thumbnail a consistent square tile. */
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs{
  align-items: stretch !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs li,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li{
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #f7f7f5 !important;
  border: 1px solid rgba(8,19,28,.08) !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs img,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  padding: 7px !important;
  object-fit: contain !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs li:has(img.flex-active),
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active),
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs li:hover,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li:hover{
  border-color: #5bd5df !important;
}

@media (max-width: 1180px){
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product > .eclipse-single-help-card{
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 24px !important;
  }
}

@media (max-width: 767px){
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps{
    text-align: left !important;
  }
}

/* ---------- Single product gallery/helper placement v7.5.7 ---------- */
/* Shoptimizer wraps the gallery, injected help card and summary in .product-details-wrapper.
   Use that wrapper as the reliable desktop grid so the help prompt sits below the gallery. */
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product{
  display: block !important;
  max-width: 1380px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper{
  display: grid !important;
  grid-template-columns: minmax(0, 780px) minmax(360px, 450px) !important;
  grid-template-areas:
    "gallery summary"
    "help    summary" !important;
  gap: 18px 34px !important;
  align-items: start !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  clear: both !important;
  box-sizing: border-box !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper::before,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper::after{
  display: none !important;
  content: none !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .woocommerce-product-gallery{
  grid-area: gallery !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  max-width: 780px !important;
  float: none !important;
  margin: 0 !important;
  position: relative !important;
  top: auto !important;
  align-self: start !important;
  justify-self: stretch !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .eclipse-single-help-card{
  grid-area: help !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  max-width: 780px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  align-self: start !important;
  justify-self: stretch !important;
  position: static !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .summary{
  grid-area: summary !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  max-width: 450px !important;
  float: none !important;
  margin: 0 !important;
  align-self: start !important;
  justify-self: stretch !important;
  position: sticky !important;
  top: 118px !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .commercekit-sticky-add-to-cart,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .commercekit-sticky-atc,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .commercekit-sticky-cart,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .ckit-sticky-add-to-cart,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .ckit-sticky-atc,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .sticky-add-to-cart,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .sticky-atc{
  display: none !important;
}

/* Keep following product sections centred below the top product layout. */
body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel{
  display: block !important;
  max-width: 1080px !important;
  width: 100% !important;
  margin: 36px auto 0 !important;
  padding: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs{
  display: block !important;
  max-width: 920px !important;
  width: 100% !important;
  margin: 34px auto 0 !important;
  padding: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active .related.products,
body.single-product.eclipse-product-visual-shell-active .upsells.products,
body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta{
  display: block !important;
  max-width: 1120px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Square, consistent product-gallery thumbnails. Use fixed square tiles so mixed image ratios cannot change the thumbnail size. */
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery ul.flex-control-nav.flex-control-thumbs,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs > li,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery ul.flex-control-nav.flex-control-thumbs > li,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs > li,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs > li{
  flex: 0 0 68px !important;
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  aspect-ratio: 1 / 1 !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #f7f7f5 !important;
  border: 1px solid rgba(8,19,28,.08) !important;
  box-sizing: border-box !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs > li > img,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery ul.flex-control-nav.flex-control-thumbs > li > img,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs > li > img,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs > li > img{
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  padding: 6px !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs > li:has(img.flex-active),
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs > li:hover,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs > li:has(img.flex-active),
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs > li:hover{
  border-color: #5bd5df !important;
}

@media (max-width: 1180px){
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper{
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "gallery"
      "help"
      "summary" !important;
    max-width: 860px !important;
    gap: 22px !important;
  }

  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .woocommerce-product-gallery,
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .eclipse-single-help-card,
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .summary{
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: none !important;
    position: static !important;
    top: auto !important;
  }
}

@media (max-width: 767px){
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs > li,
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images .flex-control-thumbs > li{
    flex-basis: 56px !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }
}



/* ---------- Single product hard fix v7.5.8 ---------- */
/* JS moves the help prompt into the gallery after Flexslider thumbnails. Hide only the old sibling position. */
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper{
  display: grid !important;
  grid-template-columns: minmax(0, 780px) minmax(360px, 450px) !important;
  grid-template-areas: "gallery summary" !important;
  gap: 34px !important;
  align-items: start !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .woocommerce-product-gallery{
  grid-area: gallery !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .summary{
  grid-area: summary !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper > .eclipse-single-help-card,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product > .eclipse-single-help-card{
  display: none !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .eclipse-single-help-card,
body.single-product .woocommerce-product-gallery .eclipse-single-help-card--inside-gallery{
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  margin: 18px 0 0 !important;
  box-sizing: border-box !important;
  position: static !important;
  transform: none !important;
  clear: both !important;
}

body.single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs,
body.single-product .woocommerce-product-gallery ul.flex-control-nav.flex-control-thumbs,
body.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs,
body.single-product .woocommerce-product-gallery .flex-control-thumbs,
body.single-product div.product div.images .flex-control-thumbs{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

body.single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs > li,
body.single-product .woocommerce-product-gallery ul.flex-control-nav.flex-control-thumbs > li,
body.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs > li,
body.single-product .woocommerce-product-gallery .flex-control-thumbs > li,
body.single-product div.product div.images .flex-control-thumbs > li{
  display: block !important;
  float: none !important;
  flex: 0 0 68px !important;
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #f7f7f5 !important;
  border: 1px solid rgba(8,19,28,.08) !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs > li > img,
body.single-product .woocommerce-product-gallery ul.flex-control-nav.flex-control-thumbs > li > img,
body.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs > li > img,
body.single-product .woocommerce-product-gallery .flex-control-thumbs > li > img,
body.single-product div.product div.images .flex-control-thumbs > li > img{
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  padding: 6px !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

@media (max-width: 1180px){
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper{
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "gallery"
      "summary" !important;
    gap: 22px !important;
    max-width: 860px !important;
  }
}

@media (max-width: 767px){
  body.single-product .woocommerce-product-gallery .flex-control-thumbs > li,
  body.single-product div.product div.images .flex-control-thumbs > li{
    flex-basis: 56px !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }

  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .woocommerce-product-gallery .eclipse-single-help-card{
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}


/* ---------- Single product fixed help + thumbnail hard override v7.5.9 ---------- */
/* The help prompt is now rendered in wp_footer as a fixed bottom bar.
   Hide any legacy product-area copy so cached DOM placement cannot leave it above the options panel. */
body.single-product .woocommerce div.product .eclipse-single-help-card:not(.eclipse-floating-help-card),
body.single-product div.product .product-details-wrapper .eclipse-single-help-card:not(.eclipse-floating-help-card),
body.single-product .woocommerce-product-gallery .eclipse-single-help-card:not(.eclipse-floating-help-card){
  display: none !important;
}

body.single-product .eclipse-floating-help-card{
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: calc(22px + var(--eclipse-sticky-atc-offset, 0px)) !important;
  transform: translateX(-50%) !important;
  z-index: 99960 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  width: min(520px, calc(100vw - 36px)) !important;
  max-width: 520px !important;
  margin: 0 !important;
  padding: 18px 20px !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, #07131d 0%, #102230 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 24px 70px rgba(7,19,29,.32) !important;
  box-sizing: border-box !important;
  pointer-events: auto !important;
  transition: bottom .22s ease, opacity .22s ease, transform .22s ease !important;
}

body.single-product .eclipse-floating-help-card strong{
  display: block !important;
  margin: 0 0 5px !important;
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
}

body.single-product .eclipse-floating-help-card p{
  margin: 0 !important;
  max-width: 330px !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body.single-product .eclipse-floating-help-card a{
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  background: #5bd5df !important;
  color: #07131d !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.single-product .eclipse-floating-help-card a:hover{
  background: #fff !important;
  color: #07131d !important;
}

body.single-product{
  padding-bottom: 108px !important;
}

/* Final thumbnail override: target both Woo/Flexslider li thumbnails and plugin variants with direct image children. */
body.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs,
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs,
body.single-product .woocommerce-product-gallery ul.flex-control-thumbs,
body.single-product .woocommerce-product-gallery .flex-control-thumbs,
body.single-product div.product div.images .flex-control-thumbs{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs > li,
body.single-product .woocommerce-product-gallery .flex-control-thumbs > a,
body.single-product .woocommerce-product-gallery .flex-control-thumbs > img,
body.single-product div.product div.images .flex-control-thumbs > li,
body.single-product div.product div.images .flex-control-thumbs > a,
body.single-product div.product div.images .flex-control-thumbs > img{
  display: block !important;
  float: none !important;
  flex: 0 0 68px !important;
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #f7f7f5 !important;
  border: 1px solid rgba(8,19,28,.08) !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs > li img,
body.single-product .woocommerce-product-gallery .flex-control-thumbs > a img,
body.single-product .woocommerce-product-gallery .flex-control-thumbs > img,
body.single-product div.product div.images .flex-control-thumbs > li img,
body.single-product div.product div.images .flex-control-thumbs > a img,
body.single-product div.product div.images .flex-control-thumbs > img{
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  padding: 6px !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs > li:hover,
body.single-product .woocommerce-product-gallery .flex-control-thumbs > li:has(img.flex-active),
body.single-product div.product div.images .flex-control-thumbs > li:hover,
body.single-product div.product div.images .flex-control-thumbs > li:has(img.flex-active){
  border-color: #5bd5df !important;
}

@media (max-width: 767px){
  body.single-product .eclipse-floating-help-card{
    bottom: calc(12px + var(--eclipse-sticky-atc-offset, 0px)) !important;
    width: calc(100vw - 24px) !important;
    max-width: none !important;
    padding: 14px 15px !important;
    border-radius: 20px !important;
    gap: 12px !important;
  }

  body.single-product .eclipse-floating-help-card strong{
    font-size: 14px !important;
  }

  body.single-product .eclipse-floating-help-card p{
    display: none !important;
  }

  body.single-product .eclipse-floating-help-card a{
    min-height: 36px !important;
    padding: 0 12px !important;
    font-size: 10px !important;
  }

  body.single-product{
    padding-bottom: 88px !important;
  }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs > li,
  body.single-product .woocommerce-product-gallery .flex-control-thumbs > a,
  body.single-product .woocommerce-product-gallery .flex-control-thumbs > img,
  body.single-product div.product div.images .flex-control-thumbs > li,
  body.single-product div.product div.images .flex-control-thumbs > a,
  body.single-product div.product div.images .flex-control-thumbs > img{
    flex-basis: 56px !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }
}

/* ---------- Single product fixed help close + gallery image height v7.6.0 ---------- */
body.single-product .eclipse-floating-help-card{
  padding-right: 48px !important;
}

body.single-product .eclipse-floating-help-card__copy{
  min-width: 0 !important;
}

body.single-product .eclipse-floating-help-card__close{
  position: absolute !important;
  top: 9px !important;
  right: 10px !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-family: Arial, sans-serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

body.single-product .eclipse-floating-help-card__close:hover,
body.single-product .eclipse-floating-help-card__close:focus{
  background: #5bd5df !important;
  border-color: #5bd5df !important;
  color: #07131d !important;
  outline: none !important;
}

body.single-product .eclipse-floating-help-card__close:focus-visible{
  outline: 3px solid #5bd5df !important;
  outline-offset: 3px !important;
}

body.single-product .eclipse-floating-help-card.is-dismissed{
  display: none !important;
}

@media (max-width: 767px){
  body.single-product .eclipse-floating-help-card{
    padding-right: 44px !important;
  }

  body.single-product .eclipse-floating-help-card__close{
    top: 8px !important;
    right: 8px !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    font-size: 18px !important;
  }
}

/* ---------- Single product CommerceGurus thumbnails only v7.6.4 ---------- */
/*
   Do not size or restyle .cg-main-swiper, .cg-psp-gallery, .cg-main-swiper .swiper-slide,
   or the main gallery images here. CommerceGurus/Swiper must control the main gallery
   to keep next/previous navigation working.
*/
body.eclipse-woocommerce-single #commercegurus-pdp-gallery .cg-thumb-swiper{
  margin-top: 16px !important;
  overflow: hidden !important;
}

body.eclipse-woocommerce-single #commercegurus-pdp-gallery .cg-thumb-swiper > .swiper-wrapper,
body.eclipse-woocommerce-single #commercegurus-pdp-gallery .cg-thumb-swiper ul.swiper-wrapper{
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.eclipse-woocommerce-single #commercegurus-pdp-gallery .cg-thumb-swiper .swiper-slide{
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #f7f7f5 !important;
  border: 1px solid rgba(8,19,28,.08) !important;
  box-sizing: border-box !important;
}

body.eclipse-woocommerce-single #commercegurus-pdp-gallery .cg-thumb-swiper .swiper-slide img,
body.eclipse-woocommerce-single #commercegurus-pdp-gallery .cg-thumb-swiper .swiper-slide img.wp-post-image{
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  padding: 6px !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* Fallback for the standard WooCommerce/Flexslider gallery only, not CommerceGurus. */
body.eclipse-woocommerce-single div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs > li,
body.eclipse-woocommerce-single div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs > a{
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}

body.eclipse-woocommerce-single div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs > li img,
body.eclipse-woocommerce-single div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs > a img,
body.eclipse-woocommerce-single div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs > img{
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

@media (max-width: 767px){
  body.eclipse-woocommerce-single #commercegurus-pdp-gallery .cg-thumb-swiper .swiper-slide,
  body.eclipse-woocommerce-single div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs > li,
  body.eclipse-woocommerce-single div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs > a{
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }
}

/* ---------- Single product production-details spacing v7.6.6 ---------- */
/* Add breathing room between the production-details panel and the WooCommerce tabs below. */
body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel{
  margin: 36px auto 56px !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs{
  margin-top: 0 !important;
}

@media (max-width: 767px){
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel{
    margin-bottom: 34px !important;
  }
}

/* ---------- Single product specifications row spacing v7.6.8 ---------- */
/* The specifications table is restyled as card-like rows. Use a flex tbody with
   a real gap so each row gets consistent bottom space in Chrome, Safari and Firefox. */
body.single-product.eclipse-product-visual-shell-active table.woocommerce-product-attributes,
body.single-product.eclipse-product-visual-shell-active table.shop_attributes{
  display: block !important;
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active table.woocommerce-product-attributes tbody,
body.single-product.eclipse-product-visual-shell-active table.shop_attributes tbody{
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  width: 100% !important;
}

body.single-product.eclipse-product-visual-shell-active table.woocommerce-product-attributes tr,
body.single-product.eclipse-product-visual-shell-active table.shop_attributes tr{
  display: grid !important;
  grid-template-columns: minmax(160px, 240px) minmax(0, 1fr) !important;
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px){
  body.single-product.eclipse-product-visual-shell-active table.woocommerce-product-attributes tbody,
  body.single-product.eclipse-product-visual-shell-active table.shop_attributes tbody{
    gap: 10px !important;
  }

  body.single-product.eclipse-product-visual-shell-active table.woocommerce-product-attributes tr,
  body.single-product.eclipse-product-visual-shell-active table.shop_attributes tr{
    grid-template-columns: 1fr !important;
  }
}



/* ---------- Single product related-products polish v7.6.9 ---------- */
/* Replace the default WooCommerce related-card look with a compact Eclipse
   recommendation section: product card(s) plus a custom-project quote card. */
body.single-product.eclipse-product-visual-shell-active .related.products{
  display: none !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced{
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 1080px !important;
  margin: 64px auto 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced__head{
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 0 0 22px !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced__head .storm-kicker{
  margin-bottom: 8px !important;
  color: rgba(8,19,28,.48) !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced__head h2{
  margin: 0 !important;
  color: #08131c !important;
  font-size: clamp(30px, 3.5vw, 46px) !important;
  line-height: .98 !important;
  letter-spacing: -.04em !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced__grid{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card,
body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card{
  min-width: 0 !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 60px rgba(8,19,28,.10) !important;
  box-sizing: border-box !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card{
  display: flex !important;
  flex-direction: column !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(8,19,28,.08) !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card__image-link{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  aspect-ratio: 4 / 3 !important;
  padding: 24px !important;
  background: #f7f7f5 !important;
  text-decoration: none !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card__image-link img,
body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card__image{
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
  object-fit: contain !important;
  border-radius: 18px !important;
  margin: 0 auto !important;
  box-shadow: none !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card__body{
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  padding: 24px !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card__kicker,
body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card__kicker{
  margin: 0 0 10px !important;
  color: #27b9c5 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card h3,
body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card h3{
  margin: 0 0 10px !important;
  color: #08131c !important;
  font-size: clamp(20px, 2vw, 26px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.025em !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card h3 a{
  color: inherit !important;
  text-decoration: none !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card__price{
  margin: 0 0 12px !important;
  color: #08131c !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card__body p{
  margin: 0 0 20px !important;
  color: rgba(8,19,28,.66) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card__button,
body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  margin-top: auto !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card__button{
  width: 100% !important;
  background: #07131d !important;
  color: #fff !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card__button:hover,
body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card__button:focus{
  background: #5bd5df !important;
  color: #07131d !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card{
  display: flex !important;
  flex-direction: column !important;
  padding: 28px !important;
  background: linear-gradient(135deg, #07131d 0%, #102230 100%) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: #fff !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card h3{
  color: #fff !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card p{
  margin: 0 0 18px !important;
  color: rgba(255,255,255,.74) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card ul{
  display: grid !important;
  gap: 8px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card li{
  position: relative !important;
  padding-left: 20px !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card li::before{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: .42em !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #5bd5df !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card a{
  align-self: flex-start !important;
  background: #5bd5df !important;
  color: #07131d !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card a:hover,
body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card a:focus{
  background: #fff !important;
  color: #07131d !important;
}

@media (max-width: 1180px){
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced{
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 767px){
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced{
    margin-top: 44px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced__grid{
    grid-template-columns: 1fr !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card__body,
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card{
    padding: 22px !important;
  }
}


/* ---------- Single product final CTA / footer handoff v7.7.2 ----------
   Previous versions used a pseudo spacer under the CTA. That could escape the
   intended flow and leave the WooCommerce bottom padding exposing background.
   This version keeps the white gap inside the CTA section itself and removes
   the trailing WooCommerce/body padding so nothing can appear after the footer. */
body.single-product.eclipse-product-visual-shell-active{
  padding-bottom: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce{
  padding-bottom: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta{
  position: relative !important;
  display: block !important;
  max-width: 1120px !important;
  width: 100% !important;
  margin: 58px auto 0 !important;
  padding: 0 0 72px !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 100vmax #ffffff !important;
  clip-path: inset(-80px -100vmax 0 -100vmax) !important;
  isolation: auto !important;
  box-sizing: border-box !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta::before,
body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta::after{
  content: none !important;
  display: none !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta__inner{
  position: relative !important;
  z-index: 1 !important;
  max-width: 1120px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-footer{
  position: relative !important;
  z-index: 2 !important;
  margin-top: 0 !important;
}

@media (max-width: 1180px){
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta{
    width: calc(100% - 44px) !important;
    max-width: 860px !important;
  }
}

@media (max-width: 767px){
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce{
    padding-bottom: 0 !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta{
    width: calc(100% - 28px) !important;
    margin-top: 42px !important;
    padding-bottom: 48px !important;
    clip-path: inset(-60px -100vmax 0 -100vmax) !important;
  }
}

/* ---------- Mobile/tablet header actions restore v7.7.3 ----------
   storm-home loads after storm-base on branded and WooCommerce pages, so this
   final override repeats the mobile action rules after all older hide rules. */
@media (max-width: 860px){
  body.eclipse-branding .storm-header__inner.storm-header__inner--premium{
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    grid-template-areas: "logo actions nav" !important;
    align-items: center !important;
    gap: 10px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.eclipse-branding .storm-header__inner--premium .storm-logo{
    grid-area: logo !important;
    min-width: 0 !important;
    justify-self: start !important;
  }

  body.eclipse-branding .storm-header__inner--premium .storm-nav{
    grid-area: nav !important;
    min-width: 0 !important;
    justify-self: end !important;
  }

  body.eclipse-branding .storm-header__inner--premium .storm-actions,
  body.eclipse-branding .storm-header__inner--premium .storm-actions--premium{
    grid-area: actions !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    justify-self: end !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.eclipse-branding .storm-header__inner--premium .storm-header-quote{
    display: none !important;
  }

  body.eclipse-branding .storm-header__inner--premium .storm-actions .storm-search-toggle,
  body.eclipse-branding .storm-header__inner--premium .storm-actions .storm-cart,
  body.eclipse-branding .storm-header__inner--premium .storm-actions .storm-cart--always,
  body.eclipse-branding .storm-header__inner--premium .storm-actions button.storm-action.storm-search-toggle,
  body.eclipse-branding .storm-header__inner--premium .storm-actions a.storm-action.storm-cart,
  body.eclipse-branding .storm-header__inner--premium .storm-actions a.storm-action.storm-cart--always{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border-radius: 999px !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
  }

  body.eclipse-branding .storm-header__inner--premium .storm-actions .storm-search-toggle svg,
  body.eclipse-branding .storm-header__inner--premium .storm-actions .storm-cart svg,
  body.eclipse-branding .storm-header__inner--premium .storm-actions .storm-cart--always svg{
    display: block !important;
    width: 17px !important;
    height: 17px !important;
  }

  body.eclipse-branding .storm-header__inner--premium .storm-actions .storm-cart__count{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    top: -5px !important;
    right: -5px !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 4px !important;
    font-size: 9px !important;
  }
}

@media (max-width: 420px){
  body.eclipse-branding .storm-header__inner.storm-header__inner--premium{
    gap: 7px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.eclipse-branding .storm-header__inner--premium .storm-actions,
  body.eclipse-branding .storm-header__inner--premium .storm-actions--premium{
    gap: 6px !important;
  }

  body.eclipse-branding .storm-header__inner--premium .storm-actions .storm-search-toggle,
  body.eclipse-branding .storm-header__inner--premium .storm-actions .storm-cart,
  body.eclipse-branding .storm-header__inner--premium .storm-actions .storm-cart--always{
    flex-basis: 32px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
  }
}




/* ---------- Compact additional-image strip v8.4.6 ---------- */
/* Keep large product galleries tidy: a single compact row that can scroll horizontally. */
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:8px !important;
  width:100% !important;
  max-width:100% !important;
  margin:14px 0 0 !important;
  padding:2px 2px 8px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  list-style:none !important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scroll-snap-type:x proximity;
}
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs > li,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs > a{
  flex:0 0 68px !important;
  width:68px !important;
  min-width:68px !important;
  max-width:68px !important;
  height:68px !important;
  min-height:68px !important;
  max-height:68px !important;
  scroll-snap-align:start;
  border-radius:12px !important;
  border:1px solid rgba(8,19,28,.10) !important;
  background:#fff !important;
  box-sizing:border-box !important;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs > li:hover,
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs > a:hover{
  border-color:#5bd5df !important;
  transform:translateY(-1px);
}
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs img.flex-active{
  box-shadow:inset 0 0 0 2px #5bd5df !important;
  border-radius:10px !important;
}
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single #commercegurus-pdp-gallery .cg-thumb-swiper .swiper-slide{
  height:68px !important;
  min-height:68px !important;
  max-height:68px !important;
  border-radius:12px !important;
}
body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single #commercegurus-pdp-gallery .cg-thumb-swiper .swiper-slide-thumb-active{
  border-color:#5bd5df !important;
  box-shadow:0 0 0 2px rgba(91,213,223,.18) !important;
}
@media (max-width:767px){
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs > li,
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product div.images:not(#commercegurus-pdp-gallery-wrapper) .flex-control-thumbs > a{
    flex-basis:56px !important;
    width:56px !important;
    min-width:56px !important;
    max-width:56px !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
  }
  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single #commercegurus-pdp-gallery .cg-thumb-swiper .swiper-slide{
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
  }
}

/* ---------- Single product visual polish v8.4.7 ----------
   CSS-only refinement. No product, gallery or WooCommerce behaviour changes. */

/* Give the lower product sections a steadier vertical rhythm. */
body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel{
  margin-top: 40px !important;
  margin-bottom: 50px !important;
}

body.single-product.eclipse-product-visual-shell-active .woocommerce-tabs{
  margin-top: 0 !important;
}

body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced{
  margin-top: 56px !important;
}

/* Keep feature / benefit / specification pills easy to scan. */
body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel--description li{
  min-height: 52px !important;
  padding-top: 13px !important;
  padding-bottom: 13px !important;
  line-height: 1.6 !important;
}

/* Tablet: avoid squeezing the recommendation cards and CTA. */
@media (max-width: 860px){
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced{
    width: 100% !important;
    margin-top: 48px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced__grid{
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta__inner{
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 22px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta__actions{
    width: 100% !important;
    justify-content: flex-start !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta__primary,
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta__secondary{
    flex: 1 1 180px !important;
  }

  /* Two compact footer columns on tablet instead of one very tall stack. */
  body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-footer .storm-footer__wrap{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-footer .storm-footer__col{
    padding: 16px !important;
    border-radius: 20px !important;
  }
}

@media (max-width: 767px){
  /* More deliberate spacing through the title/gallery/options stack. */
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-product-masthead{
    margin-bottom: 16px !important;
  }

  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .product-details-wrapper{
    gap: 18px !important;
  }

  body.single-product.eclipse-product-visual-shell-active.eclipse-woocommerce-single .woocommerce div.product .summary{
    margin-top: 0 !important;
  }

  /* Production details: 2x2 where there is room, with consistent cards. */
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel{
    margin-top: 32px !important;
    margin-bottom: 38px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__inner{
    gap: 20px !important;
    padding: 22px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__copy h2{
    font-size: 30px !important;
    line-height: 1.02 !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__copy p{
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps > div{
    min-height: 132px !important;
    padding: 16px !important;
    border-radius: 18px !important;
  }

  /* Long content cards and pills: slightly more air without making the page longer than necessary. */
  body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel{
    padding: 20px !important;
    border-radius: 22px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel--description li{
    min-height: 0 !important;
    padding: 13px 14px 13px 38px !important;
    border-radius: 14px !important;
    line-height: 1.58 !important;
  }

  body.single-product.eclipse-product-visual-shell-active .woocommerce-Tabs-panel--description li::before{
    top: 18px !important;
  }

  body.single-product.eclipse-product-visual-shell-active table.woocommerce-product-attributes tbody,
  body.single-product.eclipse-product-visual-shell-active table.shop_attributes tbody{
    gap: 10px !important;
  }

  /* Related section: full-width cards with consistent padding. */
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced{
    margin-top: 42px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced__head{
    margin-bottom: 16px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced__head h2{
    font-size: 30px !important;
    line-height: 1.02 !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card,
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card{
    border-radius: 22px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-card__body,
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-quote-card{
    padding: 20px !important;
  }

  /* CTA: clearer text-to-action hierarchy. */
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta{
    margin-top: 38px !important;
    padding-bottom: 42px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta__inner{
    gap: 20px !important;
    padding: 22px !important;
    border-radius: 24px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta h2{
    font-size: 30px !important;
    line-height: 1.02 !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta p{
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta__actions{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta__primary,
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta__secondary{
    width: 100% !important;
    min-height: 44px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Footer: less padding and a calmer hand-off from the CTA. */
  body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-footer .storm-footer__top{
    padding: 30px 0 !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-footer .storm-footer__wrap{
    gap: 12px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-footer .storm-footer__small{
    margin-top: 10px !important;
    line-height: 1.5 !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-footer .storm-footer__links{
    gap: 6px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-footer .storm-footer__bottom{
    padding: 12px 0 !important;
  }
}

@media (max-width: 480px){
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps{
    grid-template-columns: 1fr !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps > div{
    min-height: 0 !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-final-cta__actions{
    grid-template-columns: 1fr !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-footer .storm-footer__wrap{
    grid-template-columns: 1fr !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-product-visual-footer .storm-footer__col{
    padding: 14px !important;
  }
}


/* ---------- Single product final alignment pass v8.4.8 ----------
   Visual-only refinements on top of the stable v8.4.7 product page.
   Keep the gallery, purchase card, WooCommerce behaviour and sticky logic untouched. */
@media (min-width: 768px){
  /* Match the production panel to the 920px editorial content column below. */
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel{
    max-width: 920px !important;
    margin-top: 28px !important;
    margin-bottom: 46px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel__inner{
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-steps{
    max-width: 860px !important;
  }

  /* A slightly cleaner hand-off from the information stack to recommendations. */
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced{
    margin-top: 52px !important;
  }
}

@media (max-width: 767px){
  body.single-product.eclipse-product-visual-shell-active .eclipse-single-process-panel{
    margin-top: 28px !important;
    margin-bottom: 32px !important;
  }

  body.single-product.eclipse-product-visual-shell-active .eclipse-single-related-enhanced{
    margin-top: 36px !important;
  }
}

/* ---------- Sticky purchase bar / help-card collision fallback v8.5.9 ---------- */
/*
 * The legacy purchase bar exposes an explicit .visible state and the site uses
 * the bottom-sticky body class. Keep a CSS fallback as well as the JS-measured
 * offset so the help card can never cover the purchase bar while it is visible.
 */
@supports selector(body:has(.shoptimizer-sticky-add-to-cart.visible)) {
  body.single-product.sticky-b:has(.shoptimizer-sticky-add-to-cart.visible) .eclipse-floating-help-card{
    bottom: max(96px, calc(22px + var(--eclipse-sticky-atc-offset, 0px))) !important;
  }

  @media (max-width: 767px){
    body.single-product.sticky-b:has(.shoptimizer-sticky-add-to-cart.visible) .eclipse-floating-help-card{
      bottom: max(88px, calc(12px + var(--eclipse-sticky-atc-offset, 0px))) !important;
    }
  }
}


/* ==========================================================
   v8.6.0 — Product purchase controls polish
   Keep WooCommerce quantity behaviour; present it as one
   compact Eclipse-style horizontal stepper.
   ========================================================== */
body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity,
body.single-product.eclipse-product-visual-shell-active div.product .woocommerce-variation-add-to-cart .quantity{
  position: relative !important;
  display: block !important;
  width: 136px !important;
  min-width: 136px !important;
  height: 52px !important;
  margin: 0 !important;
  border: 1px solid rgba(8,19,28,.10) !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 8px 20px rgba(8,19,28,.07) !important;
  overflow: hidden !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity input.qty,
body.single-product.eclipse-product-visual-shell-active div.product .woocommerce-variation-add-to-cart .quantity input.qty{
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 44px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #07131d !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 50px !important;
  text-align: center !important;
  -moz-appearance: textfield !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity input.qty::-webkit-inner-spin-button,
body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity input.qty::-webkit-outer-spin-button{
  margin: 0 !important;
  -webkit-appearance: none !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity .quantity-nav,
body.single-product.eclipse-product-visual-shell-active div.product .woocommerce-variation-add-to-cart .quantity .quantity-nav{
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity .quantity-button,
body.single-product.eclipse-product-visual-shell-active div.product .woocommerce-variation-add-to-cart .quantity .quantity-button{
  position: absolute !important;
  top: 5px !important;
  bottom: 5px !important;
  width: 40px !important;
  height: 40px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #eef7f8 !important;
  color: #07131d !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  transition: background-color .18s ease, color .18s ease, transform .18s ease !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity .quantity-button.quantity-down,
body.single-product.eclipse-product-visual-shell-active div.product .woocommerce-variation-add-to-cart .quantity .quantity-button.quantity-down{
  left: 5px !important;
  right: auto !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity .quantity-button.quantity-up,
body.single-product.eclipse-product-visual-shell-active div.product .woocommerce-variation-add-to-cart .quantity .quantity-button.quantity-up{
  right: 5px !important;
  left: auto !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity .quantity-button::before,
body.single-product.eclipse-product-visual-shell-active div.product .woocommerce-variation-add-to-cart .quantity .quantity-button::before{
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: auto !important;
  height: auto !important;
  transform: translate(-50%,-52%) !important;
  background: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  color: currentColor !important;
  font-family: inherit !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity .quantity-button.quantity-down::before,
body.single-product.eclipse-product-visual-shell-active div.product .woocommerce-variation-add-to-cart .quantity .quantity-button.quantity-down::before{
  content: "−" !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity .quantity-button.quantity-up::before,
body.single-product.eclipse-product-visual-shell-active div.product .woocommerce-variation-add-to-cart .quantity .quantity-button.quantity-up::before{
  content: "+" !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity .quantity-button:hover,
body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity .quantity-button:focus-visible{
  background: #5bd5df !important;
  color: #07131d !important;
  transform: scale(1.04) !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity .quantity-button:focus-visible{
  outline: 2px solid #07131d !important;
  outline-offset: 1px !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .woocommerce-variation-add-to-cart,
body.single-product.eclipse-product-visual-shell-active div.product .summary form.cart:not(.variations_form){
  gap: 12px !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .single_add_to_cart_button,
body.single-product.eclipse-product-visual-shell-active div.product .summary button.single_add_to_cart_button{
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 28px rgba(8,19,28,.16) !important;
  letter-spacing: .12em !important;
  transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

body.single-product.eclipse-product-visual-shell-active div.product .summary .single_add_to_cart_button:hover,
body.single-product.eclipse-product-visual-shell-active div.product .summary button.single_add_to_cart_button:hover{
  transform: translateY(-1px) !important;
  box-shadow: 0 16px 32px rgba(8,19,28,.20) !important;
}

@media (max-width: 600px){
  body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity,
  body.single-product.eclipse-product-visual-shell-active div.product .woocommerce-variation-add-to-cart .quantity{
    width: 128px !important;
    min-width: 128px !important;
    height: 50px !important;
  }

  body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity input.qty,
  body.single-product.eclipse-product-visual-shell-active div.product .woocommerce-variation-add-to-cart .quantity input.qty{
    height: 48px !important;
    min-height: 48px !important;
    line-height: 48px !important;
  }

  body.single-product.eclipse-product-visual-shell-active div.product .summary .quantity .quantity-button,
  body.single-product.eclipse-product-visual-shell-active div.product .woocommerce-variation-add-to-cart .quantity .quantity-button{
    top: 5px !important;
    bottom: 5px !important;
    width: 38px !important;
    height: 38px !important;
  }
}
