/* Company 51 Single Product v0.5.16 — dark industrial product detail. */

.c51-product-page{background:#050505;color:#f2f2f2;overflow:hidden}
.c51-product-container{width:min(calc(100% - 3rem),96rem);margin-inline:auto}
.c51-product-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;padding-top:.9rem;color:#777;font-size:.58rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.c51-product-breadcrumbs a{color:#999;text-decoration:none}
.c51-product-breadcrumbs a:hover,.c51-product-breadcrumbs a:focus-visible{color:#cdf580}
.c51-product-breadcrumbs__sep{color:#cdf580}
.c51-product-back{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.25rem;color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.11em;text-decoration:none;text-transform:uppercase}
.c51-product-back:hover,.c51-product-back:focus-visible{color:#cdf580}
.c51-product-back span{color:#cdf580}

.c51-product-main{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(29rem,.95fr);gap:2.8rem;padding-block:1.15rem 3.75rem;align-items:start}
.c51-product-media{min-width:0}
.c51-product-gallery__main{position:relative;aspect-ratio:1/1;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.09),transparent 62%),linear-gradient(145deg,#171717,#080808);border:1px solid #2a2a2a;overflow:hidden;display:grid;place-items:center}
.c51-product-gallery__main:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 72%,rgba(205,245,128,.08) 72.2% 72.8%,transparent 73%);pointer-events:none}
.c51-product-gallery__main-image{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;padding:1rem;filter:drop-shadow(0 1.5rem 2rem rgba(0,0,0,.45))}
.c51-product-gallery__mark{position:absolute;right:-.5rem;bottom:-4rem;z-index:0;font-family:var(--c51-font-display);font-size:18rem;font-weight:900;line-height:1;color:rgba(205,245,128,.04);letter-spacing:-.1em}
.c51-product-gallery__label{position:absolute;left:1.15rem;top:1.15rem;z-index:3;padding:.45rem .55rem;border-left:2px solid #cdf580;color:#cdf580;font-size:.52rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.c51-product-gallery__thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-top:.75rem}
.c51-product-gallery__thumb{aspect-ratio:1/1;overflow:hidden;padding:0;border:1px solid #292929;background:#101010;cursor:pointer}
.c51-product-gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:.6;transition:opacity .18s ease,transform .18s ease}
.c51-product-gallery__thumb:hover img,.c51-product-gallery__thumb:focus-visible img,.c51-product-gallery__thumb.is-active img{opacity:1}
.c51-product-gallery__thumb.is-active{border-color:#cdf580;box-shadow:inset 0 0 0 1px #cdf580}
.c51-product-gallery__thumb:hover img{transform:scale(1.03)}
.c51-product-gallery__empty{aspect-ratio:1/1;display:grid;place-items:center;border:1px solid #292929;background:#0d0d0d;color:rgba(205,245,128,.12);font-family:var(--c51-font-display);font-size:14rem;font-weight:900}

.c51-product-purchase{min-width:0;position:sticky;top:1.25rem}
.c51-product-eyebrow{display:inline-flex;align-items:center;color:#cdf580;font-size:.64rem;font-weight:900;letter-spacing:.16em;line-height:1;text-transform:uppercase}
.c51-product-purchase h1{margin:.6rem 0 .9rem;font-family:var(--c51-font-display);font-size:clamp(2.9rem,4.2vw,4.35rem);font-weight:900;letter-spacing:.02em;line-height:.9;text-transform:uppercase;color:#fff}
.c51-product-intro{max-width:40rem;color:#c7c7c7;font-size:.95rem;line-height:1.72}
.c51-product-intro p{margin:0}
.c51-product-price-block{margin-top:1.25rem}
.c51-product-price{font-family:var(--c51-font-display);font-size:clamp(2.15rem,4vw,3.25rem);font-weight:900;line-height:1;color:#fff}
.c51-product-price del{opacity:.48}
.c51-product-price ins{text-decoration:none;color:#fff}
.c51-product-price__member{display:flex;align-items:baseline;gap:.7rem;margin-top:.6rem;color:#cdf580}
.c51-product-price__lock{display:grid;place-items:center;width:1.55rem;height:1.55rem;border:1px solid #cdf580;font-size:.52rem;font-weight:900;line-height:1}
.c51-product-price__member-value{font-family:var(--c51-font-display);font-size:1.65rem;font-weight:900;line-height:1}
.c51-product-price__member-label{font-size:.55rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.c51-product-purchase-divider{height:1px;margin:1.15rem 0 1.15rem;background:#303030}
.c51-product-control-label{display:block;margin-bottom:.65rem;color:#989898;font-size:.58rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.c51-product-stock{margin:.55rem 0;color:#7f7f7f;font-size:.55rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.c51-product-stock.is-in-stock{color:#cdf580}
.c51-product-purchase-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:end}
.c51-product-quantity__control{display:flex;flex-wrap:nowrap;width:8.9rem;min-height:3.1rem}
.c51-product-quantity__button,.c51-product-quantity__control input{flex:0 0 2.7rem;border:1px solid #303030;background:#101010;color:#fff}
.c51-product-quantity__button{font-size:1.15rem;cursor:pointer}
.c51-product-quantity__button:hover,.c51-product-quantity__button:focus-visible{border-color:#cdf580;color:#cdf580}
.c51-product-quantity__control input{flex:0 0 3.5rem;width:3.5rem;border-inline:none;text-align:center;font-size:.8rem;font-weight:900;-moz-appearance:textfield}
.c51-product-quantity__control input::-webkit-inner-spin-button,.c51-product-quantity__control input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
.c51-product-add-form__button{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:3.1rem;width:100%;border:1px solid #cdf580;background:#cdf580;color:#050505;font-size:.67rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.c51-product-add-form__button:hover,.c51-product-add-form__button:focus-visible{border-color:#fff;background:#fff}
.c51-product-add-form .quantity{display:none}

.c51-product-purchase .variations_form{margin-top:.5rem}
.c51-product-purchase .variations{width:100%;border-collapse:collapse}
.c51-product-purchase .variations td{padding:.45rem 0}
.c51-product-purchase .variations label{color:#bbb;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.c51-product-purchase .variations select{width:100%;padding:.78rem .8rem;border:1px solid #303030;background:#101010;color:#fff;font-size:.78rem}
.c51-product-purchase .single_variation_wrap{margin-top:1rem}
.c51-product-purchase .woocommerce-variation-price{color:#fff;font-family:var(--c51-font-display);font-size:1.6rem;font-weight:900}
.c51-product-purchase .woocommerce-variation-add-to-cart{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}
.c51-product-purchase .single_add_to_cart_button{width:100%;min-height:3.1rem;border:1px solid #cdf580;background:#cdf580;color:#050505;font-size:.67rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.c51-product-purchase .single_add_to_cart_button:hover,.c51-product-purchase .single_add_to_cart_button:focus-visible{border-color:#fff;background:#fff}
.c51-product-purchase .reset_variations{display:inline-block;margin-top:.35rem;color:#999;font-size:.6rem}
.c51-product-purchase .woocommerce-variation-description{color:#aaa;font-size:.75rem;line-height:1.5}
.c51-product-purchase .quantity .qty{min-height:3.1rem;width:5rem;background:#101010;border:1px solid #303030;color:#fff;text-align:center}

.c51-product-member-callout{display:flex;gap:.85rem;margin-top:1.15rem;padding:1rem 1.05rem;border:1px solid #303030;background:linear-gradient(135deg,rgba(205,245,128,.06),rgba(255,255,255,.015));}
.c51-product-member-callout__icon{flex:0 0 auto;display:grid;place-items:center;width:2.2rem;height:2.2rem;border:1px solid #cdf580;color:#cdf580;font-size:.62rem;font-weight:900}
.c51-product-member-callout h2{margin:0 0 .28rem;color:#cdf580;font-family:var(--c51-font-display);font-size:.76rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.c51-product-member-callout p{margin:0;color:#aaa;font-size:.67rem;line-height:1.5}
.c51-product-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:1.45rem;border-top:1px solid #292929;border-bottom:1px solid #292929}
.c51-product-service-grid>div{display:grid;grid-template-columns:2rem 1fr;column-gap:.5rem;align-items:start;padding:.9rem .7rem;border-right:1px solid #292929}
.c51-product-service-grid>div:last-child{border-right:0}
.c51-product-service-grid span{grid-row:span 2;display:grid;place-items:center;color:#cdf580;font-size:.95rem}.c51-product-service-grid svg{width:1.4rem;height:1.4rem;display:block}
.c51-product-service-grid strong{font-family:var(--c51-font-display);font-size:.58rem;font-weight:900;letter-spacing:.07em;line-height:1.1;text-transform:uppercase}
.c51-product-service-grid small{color:#777;font-size:.51rem;line-height:1.4}

.c51-product-details{border-top:1px solid #252525;border-bottom:1px solid #252525;padding-block:0 3rem}
.c51-product-tabs{display:flex;gap:2rem;border-bottom:1px solid #242424}
.c51-product-tabs button{position:relative;padding:1.3rem 0;border:0;background:none;color:#777;font-size:.62rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.c51-product-tabs button:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#cdf580;transform:scaleX(0);transform-origin:left}
.c51-product-tabs button:hover,.c51-product-tabs button:focus-visible,.c51-product-tabs button.is-active{color:#fff}
.c51-product-tabs button.is-active:after{transform:scaleX(1)}
.c51-product-tab-panel{padding-top:2rem}
.c51-product-description{max-width:none;color:#bbb;font-size:.9rem;line-height:1.7}
.c51-product-description h2,.c51-product-tab-content h2{margin:0 0 1rem;color:#fff;font-family:var(--c51-font-display);font-size:2.2rem;font-weight:900;letter-spacing:.02em;line-height:1;text-transform:uppercase}
.c51-product-description p{margin:0 0 1rem}
.c51-product-detail-highlights{display:grid;grid-template-columns:1fr;gap:0;margin-top:0}
.c51-product-detail-highlights>div{display:flex;gap:.8rem;padding:1rem 0;border-top:1px solid #303030}
.c51-product-detail-highlights span{color:#cdf580;font-size:.9rem;font-weight:900}
.c51-product-detail-highlights strong{display:block;color:#fff;font-family:var(--c51-font-display);font-size:.61rem;font-weight:900;letter-spacing:.07em;line-height:1.2;text-transform:uppercase}
.c51-product-detail-highlights p{margin:.3rem 0 0;color:#777;font-size:.58rem;line-height:1.45}
.c51-product-tab-panel#c51-product-panel-description{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(19rem,.75fr);gap:3rem;align-items:start}

.c51-product-specs{display:grid;max-width:54rem;margin:0;padding:0;border-top:1px solid #303030}
.c51-product-specs>div{display:grid;grid-template-columns:14rem 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid #242424}
.c51-product-specs dt{color:#888;font-size:.61rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.c51-product-specs dd{margin:0;color:#eee;font-size:.75rem}
.c51-product-empty-note{color:#777;font-size:.8rem}
.c51-product-shipping-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:68rem}
.c51-product-shipping-grid>div{padding:1.25rem;border:1px solid #303030;background:#0b0b0b}
.c51-product-shipping-grid strong{color:#cdf580;font-family:var(--c51-font-display);font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.c51-product-shipping-grid p{margin:.55rem 0 0;color:#aaa;font-size:.72rem;line-height:1.6}
.c51-product-shipping-grid a{display:inline-block;margin-top:.75rem;color:#cdf580;font-size:.61rem;font-weight:900;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}

.c51-product-related{padding-block:3.75rem 4rem}
.c51-product-related__head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem}
.c51-product-related__head h2{margin:.55rem 0 0;color:#fff;font-family:var(--c51-font-display);font-size:clamp(2.1rem,4vw,3.5rem);font-weight:900;letter-spacing:.02em;line-height:.95;text-transform:uppercase}
.c51-product-related__head h2 span{display:inline-block;width:3rem;height:2px;margin-left:.75rem;vertical-align:middle;background:#cdf580}
.c51-product-related__head>a{color:#cdf580;font-size:.63rem;font-weight:900;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.c51-product-related__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}

.c51-product-benefits{border-top:1px solid #252525;background:#0a0a0a;padding:0 0 0}
.c51-product-benefits__inner{width:min(calc(100% - 3rem),96rem);margin-inline:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid #262626}
.c51-product-benefits__inner>div{min-height:7.2rem;display:grid;grid-template-columns:2.5rem 1fr;column-gap:.7rem;align-content:center;padding:1rem 1.25rem;border-right:1px solid #262626}
.c51-product-benefits__inner span{grid-row:span 2;display:grid;place-items:center;color:#cdf580}
.c51-product-benefits__inner svg{width:1.7rem;height:1.7rem}
.c51-product-benefits__inner strong{font-family:var(--c51-font-display);font-size:.67rem;font-weight:900;letter-spacing:.08em;line-height:1.1;text-transform:uppercase}
.c51-product-benefits__inner small{color:#777;font-size:.57rem;line-height:1.45}

.c51-product-message{width:min(calc(100% - 3rem),60rem);margin:0 auto;padding:7rem 0;color:#fff}
.c51-product-message h1{margin:0 0 1rem;font-family:var(--c51-font-display);font-size:4rem;text-transform:uppercase}
.c51-product-message p{color:#888}

@media (max-width:1100px){
  .c51-product-main{grid-template-columns:minmax(0,1fr) minmax(26rem,.9fr);gap:2.5rem}
  .c51-product-tab-panel#c51-product-panel-description{grid-template-columns:1fr;gap:2rem}
  .c51-product-detail-highlights{grid-template-columns:1fr;gap:0}
  .c51-product-detail-highlights>div{padding-top:1rem;border-top:1px solid #303030}
  .c51-product-related__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:800px){
  .c51-product-benefits__inner{width:min(calc(100% - 2rem),48rem);grid-template-columns:repeat(2,minmax(0,1fr))}
  .c51-product-benefits__inner>div{min-height:6.3rem;padding:.85rem 1rem}

  .c51-product-container{width:min(calc(100% - 2rem),48rem)}
  .c51-product-main{grid-template-columns:1fr;gap:2rem;padding-bottom:3rem}
  .c51-product-purchase{position:static}
  .c51-product-purchase h1{font-size:clamp(2.75rem,12vw,4.5rem)}
  .c51-product-service-grid{grid-template-columns:1fr}
  .c51-product-service-grid>div{border-right:0;border-bottom:1px solid #292929}
  .c51-product-service-grid>div:last-child{border-bottom:0}
  .c51-product-shipping-grid{grid-template-columns:1fr}
  .c51-product-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .c51-product-benefits__inner{grid-template-columns:1fr}
  .c51-product-benefits__inner>div{border-bottom:1px solid #262626}
  .c51-product-benefits__inner>div:last-child{border-bottom:0}

  .c51-product-breadcrumbs{padding-top:.75rem}
  .c51-product-back{margin-top:1.25rem}
  .c51-product-main{padding-top:1.25rem}
  .c51-product-gallery__main-image{padding:1rem}
  .c51-product-gallery__thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}
  .c51-product-purchase-row{grid-template-columns:1fr}
  .c51-product-quantity__control{width:100%;grid-template-columns:3rem minmax(0,1fr) 3rem}
  .c51-product-tabs{gap:1rem;overflow-x:auto}
  .c51-product-tabs button{white-space:nowrap}
  .c51-product-detail-highlights{grid-template-columns:1fr}
  .c51-product-specs>div{grid-template-columns:1fr;gap:.25rem}
  .c51-product-related__head{align-items:start;flex-direction:column}
  .c51-product-related__grid{grid-template-columns:1fr}
}

/* Company 51 Single Product v0.5.19 — verified mockup alignment pass. */

/* Product-page refinement values carried forward from the approved v0.5.16 structure. */
.c51-product-breadcrumbs{gap:.7rem;font-size:.62rem}
.c51-product-back{margin-top:1.1rem;font-size:.71rem;line-height:1.2}
.c51-product-main{gap:3rem;padding-block:1.35rem 3.4rem}
.c51-product-purchase{top:1rem}
.c51-product-eyebrow{font-size:.68rem}
.c51-product-purchase h1{margin:.7rem 0 1rem;font-size:clamp(2.9rem,4vw,4.15rem);line-height:.94}
.c51-product-intro{font-size:.98rem;line-height:1.68}
.c51-product-price-block{margin-top:1.35rem}
.c51-product-price{font-size:clamp(2.3rem,3.8vw,3.25rem)}
.c51-product-price__member{gap:.75rem;margin-top:.65rem;align-items:center}
.c51-product-price__lock{width:1.7rem;height:1.7rem;font-size:.56rem}
.c51-product-price__member-value{font-size:1.8rem}
.c51-product-price__member-label{font-size:.58rem;letter-spacing:.11em}
.c51-product-purchase-divider{margin:1.3rem 0 1.25rem}
.c51-product-control-label{margin-bottom:.7rem;font-size:.62rem}
.c51-product-stock{margin:.45rem 0 .7rem;font-size:.59rem}
.c51-product-purchase-row{gap:1.1rem}
.c51-product-quantity__control{width:9.1rem;min-height:3.2rem}
.c51-product-quantity__button{font-size:1.2rem}
.c51-product-add-form__button{min-height:3.2rem;font-size:.7rem}
.c51-product-member-callout{gap:1rem;margin-top:1.2rem;padding:1.15rem 1.2rem}
.c51-product-member-callout__icon{width:2.5rem;height:2.5rem;font-size:.67rem}
.c51-product-member-callout h2{margin-bottom:.35rem;font-size:.8rem}
.c51-product-member-callout p{font-size:.7rem;line-height:1.55}

/* Purchase-panel service benefits: the approved mockup uses centered stacks. */
.c51-product-service-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:1.6rem;
  border-top:1px solid #292929;
  border-bottom:1px solid #292929;
}
.c51-product-service-grid>div{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:6.4rem;
  padding:.8rem .65rem;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.18);
}
.c51-product-service-grid>div:last-child{border-right:0}
.c51-product-service-grid span{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:2.3rem;
  height:2.3rem;
  margin-bottom:.38rem;
  color:#fff;
}
.c51-product-service-grid svg{width:2rem;height:2rem;display:block}
.c51-product-service-grid strong{
  color:#fff;
  font-family:var(--c51-font-display);
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}
.c51-product-service-grid small{
  display:block;
  max-width:10rem;
  margin-top:.2rem;
  color:#c0c0c0;
  font-size:.58rem;
  line-height:1.45;
}

/* Product details: align the feature column to the mockup's vertical rule. */
.c51-product-details{padding-bottom:3.4rem}
.c51-product-tabs{gap:2.5rem}
.c51-product-tabs button{padding:1.4rem 0;font-size:.66rem}
.c51-product-tab-panel{padding-top:2.35rem}
.c51-product-description{font-size:.94rem;line-height:1.78}
.c51-product-description h2,.c51-product-tab-content h2{margin-bottom:1.15rem;font-size:2.35rem}
.c51-product-tab-panel#c51-product-panel-description{
  grid-template-columns:minmax(0,1.08fr) minmax(21rem,.92fr);
  gap:2.75rem;
}
.c51-product-detail-highlights{
  display:grid;
  grid-template-columns:1fr;
  gap:.1rem;
  margin:0;
  padding-left:1.7rem;
  border-left:1px solid #303030;
}
.c51-product-detail-highlights>div{
  display:grid;
  grid-template-columns:2.35rem minmax(0,1fr);
  column-gap:.9rem;
  align-items:start;
  padding:.62rem 0;
  border-top:0;
}
.c51-product-detail-highlights span{
  display:grid;
  place-items:center;
  width:2.15rem;
  height:2.15rem;
  color:#cdf580;
  font-size:1.6rem;
  font-weight:900;
  line-height:1;
  text-align:center;
}
.c51-product-detail-highlights strong{
  display:block;
  color:#fff;
  font-family:var(--c51-font-display);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.075em;
  line-height:1.2;
  text-transform:uppercase;
}
.c51-product-detail-highlights p{
  margin:.28rem 0 0;
  color:#c4c4c4;
  font-size:.66rem;
  line-height:1.48;
}

.c51-product-related{padding-block:4rem 4.25rem}
.c51-product-related__head{margin-bottom:1.7rem}
.c51-product-related__head h2{font-size:clamp(2.2rem,4vw,3.65rem)}
.c51-product-related__head>a{font-size:.66rem}

/* Full-width store benefits: centered four-column composition from the approved mockup. */
.c51-product-benefits{
  border-top:1px solid #252525;
  border-bottom:1px solid #252525;
  background:#0a0a0a;
}
.c51-product-benefits__inner{
  width:min(calc(100% - 3rem),96rem);
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-left:0;
}
.c51-product-benefits__inner>div{
  min-height:7.6rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.42rem;
  padding:1rem 1.2rem;
  text-align:center;
  border-right:1px solid rgba(205,245,128,.48);
}
.c51-product-benefits__inner>div:last-child{border-right:0}
.c51-product-benefits__inner span{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:3rem;
  height:3rem;
  color:#fff;
}
.c51-product-benefits__inner svg{width:2.45rem;height:2.45rem;display:block}
.c51-product-benefits__inner strong{
  color:#fff;
  font-family:var(--c51-font-display);
  font-size:.84rem;
  font-weight:900;
  letter-spacing:.085em;
  line-height:1.2;
  text-transform:uppercase;
}
.c51-product-benefits__inner small{
  display:block;
  margin:0;
  color:#d0d0d0;
  font-size:.66rem;
  line-height:1.45;
}

@media (max-width:1100px){
  .c51-product-main{gap:2.5rem}
  .c51-product-tab-panel#c51-product-panel-description{grid-template-columns:minmax(0,1fr) minmax(19rem,.82fr);gap:2.25rem}
  .c51-product-benefits__inner>div{padding-inline:.9rem}
}
@media (max-width:800px){
  .c51-product-main{gap:2.25rem}
  .c51-product-purchase h1{font-size:clamp(2.75rem,11vw,4.25rem)}
  .c51-product-service-grid{grid-template-columns:1fr}
  .c51-product-service-grid>div{min-height:6.2rem;padding:1rem}
  .c51-product-service-grid>div:not(:last-child){border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .c51-product-tab-panel#c51-product-panel-description{grid-template-columns:1fr;gap:2rem}
  .c51-product-detail-highlights{padding-left:0;border-left:0;border-top:1px solid #303030;padding-top:.35rem}
  .c51-product-benefits__inner{width:min(calc(100% - 2rem),48rem);grid-template-columns:repeat(2,minmax(0,1fr))}
  .c51-product-benefits__inner>div{min-height:7.1rem;padding:.9rem .75rem}
  .c51-product-benefits__inner span{width:2.6rem;height:2.6rem}
  .c51-product-benefits__inner svg{width:2.1rem;height:2.1rem}
  .c51-product-benefits__inner strong{font-size:.74rem}
  .c51-product-benefits__inner small{font-size:.61rem}
}
@media (max-width:560px){
  .c51-product-benefits__inner{grid-template-columns:1fr}
  .c51-product-benefits__inner>div{min-height:6.8rem;border-right:0;border-bottom:1px solid rgba(205,245,128,.28)}
  .c51-product-benefits__inner>div:last-child{border-bottom:0}
}

/* Approved mockup detail: the member-benefit emblem is a line icon, not a text badge. */
.c51-product-member-callout__icon svg{width:1.35rem;height:1.35rem;display:block}
@media (max-width:800px){.c51-product-member-callout__icon svg{width:1.3rem;height:1.3rem}}

/* Company 51 Single Product v0.5.21 — feature rail width/alignment refinement. */
.c51-product-tab-panel[hidden]{display:none !important;}
.c51-product-tab-panel.is-active{display:grid;}
.c51-product-tab-panel:not(#c51-product-panel-description).is-active{display:block;}

/* WooCommerce owns the description. The theme only controls presentation. */
.c51-product-description{min-width:0;max-width:none;color:#c4c4c4;font-size:.92rem;line-height:1.76}
.c51-product-description h1,.c51-product-description h2,.c51-product-description h3,.c51-product-description h4{color:#fff}
.c51-product-description h2{margin:0 0 1.15rem;font-family:var(--c51-font-display);font-size:clamp(2rem,3vw,2.45rem);font-weight:900;line-height:1.02;text-transform:uppercase}
.c51-product-description p{margin:0 0 1.1rem}
.c51-product-description p:last-child{margin-bottom:0}

/* Approved mockup: wide description column + dedicated feature rail. */
.c51-product-tab-panel#c51-product-panel-description{
  grid-template-columns:minmax(0,1.15fr) minmax(22rem,.85fr);
  gap:4rem;
  align-items:start;
}
.c51-product-detail-highlights{
  width:100%;
  min-width:0;
  margin:0;
  padding:0 0 0 1.9rem;
  border-left:1px solid #303030;
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
.c51-product-detail-highlights>div{
  display:grid;
  grid-template-columns:2.9rem minmax(0,1fr);
  gap:1rem;
  align-items:start;
  min-width:0;
  padding:1rem 0 1.15rem;
  border-top:1px solid #303030;
}
.c51-product-detail-highlights>div:first-child{border-top:0;padding-top:.05rem}
.c51-product-detail-highlights span{
  display:grid;
  place-items:center;
  width:2.55rem;
  height:2.55rem;
  color:#cdf580;
  font-size:1.8rem;
  line-height:1;
}
.c51-product-detail-highlights svg{width:2rem;height:2rem;display:block}
.c51-product-detail-highlights strong{
  display:block;
  color:#fff;
  font-family:var(--c51-font-display);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.075em;
  line-height:1.15;
  text-transform:uppercase;
}
.c51-product-detail-highlights p{
  margin:.35rem 0 0;
  color:#a7a7a7;
  font-size:.68rem;
  line-height:1.5;
}

/* Tabs remain usable even when a JS optimizer delays the product script. */
.c51-product-tabs button{z-index:1}

@media (max-width:1100px){
  .c51-product-tab-panel#c51-product-panel-description{grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);gap:3rem}
}
@media (max-width:800px){
  .c51-product-tab-panel#c51-product-panel-description{grid-template-columns:1fr;gap:2.25rem}
  .c51-product-detail-highlights{padding-left:0;border-left:0;border-top:1px solid #303030;padding-top:1rem}
  .c51-product-detail-highlights>div:first-child{padding-top:1rem}
}


/* v0.5.21: make the product-highlight rail consume its full grid track.
 * The approved mockup uses a wide secondary column with a fixed icon lane
 * and a fluid text lane. Flexbox prevents the text lane from collapsing to
 * min-content width and causing one-word-per-line wrapping. */
.c51-product-tab-panel#c51-product-panel-description{
  grid-template-columns:minmax(0,1.08fr) minmax(30rem,.92fr);
  gap:3rem;
}
.c51-product-detail-highlights{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  margin:0;
  padding:0 0 0 2rem;
  border-left:1px solid #303030;
  display:flex;
  flex-direction:column;
}
.c51-product-detail-highlights>div{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  display:flex;
  align-items:flex-start;
  gap:1.15rem;
  padding:1.05rem 0 1.15rem;
  border-top:1px solid #303030;
}
.c51-product-detail-highlights>div:first-child{
  border-top:0;
  padding-top:.1rem;
}
.c51-product-detail-highlights>div>span{
  flex:0 0 2.7rem;
  width:2.7rem;
  height:2.7rem;
  display:grid;
  place-items:center;
}
.c51-product-detail-highlights>div>div{
  flex:1 1 auto;
  min-width:0;
  width:auto;
}
.c51-product-detail-highlights strong{
  font-size:.82rem;
  line-height:1.16;
}
.c51-product-detail-highlights p{
  max-width:none;
  margin:.38rem 0 0;
  font-size:.69rem;
  line-height:1.5;
}
@media (max-width:1100px){
  .c51-product-tab-panel#c51-product-panel-description{
    grid-template-columns:minmax(0,1fr) minmax(26rem,.9fr);
    gap:2.5rem;
  }
}
@media (max-width:800px){
  .c51-product-tab-panel#c51-product-panel-description{grid-template-columns:1fr;gap:2.25rem}
  .c51-product-detail-highlights{padding-left:0;border-left:0;border-top:1px solid #303030;padding-top:1rem}
}

/* Company 51 Single Product v0.5.22 — dividers meet their section boundaries exactly. */
.c51-product-service-grid{position:relative;align-items:stretch;}
.c51-product-service-grid>div{position:relative;align-self:stretch;height:auto;border-right:0;}
.c51-product-service-grid>div:not(:last-child)::after{content:"";position:absolute;top:-1px;bottom:-1px;right:0;width:1px;background:rgba(255,255,255,.18);pointer-events:none;}

.c51-product-benefits__inner{align-items:stretch;}
.c51-product-benefits__inner>div{position:relative;align-self:stretch;height:auto;border-right:0;}
.c51-product-benefits__inner>div:not(:last-child)::after{content:"";position:absolute;top:-1px;bottom:-1px;right:0;width:1px;background:rgba(205,245,128,.48);pointer-events:none;}

@media (max-width:800px){
  .c51-product-service-grid>div:not(:last-child)::after{display:none;}
  .c51-product-service-grid>div:not(:last-child){border-bottom:1px solid rgba(255,255,255,.14);}
}
@media (max-width:560px){
  .c51-product-benefits__inner>div:not(:last-child)::after{display:none;}
  .c51-product-benefits__inner>div:not(:last-child){border-bottom:1px solid rgba(205,245,128,.28);}
}


/* Company 51 Single Product v0.5.23 — divider geometry correction.
 * The previous divider pass positioned the rules correctly, but the grid
 * cells were still content-box sized. Their vertical padding made the
 * parent border taller than the cells, leaving visible gaps at the bottom.
 * Use border-box sizing so each cell owns the full row height. */
.c51-product-service-grid > div,
.c51-product-benefits__inner > div{
  box-sizing:border-box;
}
.c51-product-service-grid > div{
  min-height:7.6rem;
}
.c51-product-benefits__inner{
  min-height:7.6rem;
}
.c51-product-benefits__inner > div{
  min-height:7.6rem;
}
.c51-product-service-grid > div:not(:last-child)::after,
.c51-product-benefits__inner > div:not(:last-child)::after{
  top:0;
  bottom:0;
}
@media (max-width:800px){
  .c51-product-service-grid > div{min-height:6.2rem;}
}
@media (max-width:560px){
  .c51-product-benefits__inner{min-height:0;}
  .c51-product-benefits__inner > div{min-height:6.8rem;}
}

/* Company 51 Single Product v0.5.24 — divider span correction.
 * The v0.5.23 rules attached the divider to the grid cells themselves.
 * The cells can be shorter than the bordered section because the section
 * may include additional track/flow height. Draw the internal rules on the
 * section wrapper instead so they span the exact bordered height. */
@media (min-width:801px){
  .c51-product-service-grid{
    background-image:
      linear-gradient(to bottom, rgba(255,255,255,.18), rgba(255,255,255,.18)),
      linear-gradient(to bottom, rgba(255,255,255,.18), rgba(255,255,255,.18));
    background-repeat:no-repeat;
    background-size:1px 100%,1px 100%;
    background-position:33.333333% 0,66.666667% 0;
  }
  .c51-product-service-grid>div:not(:last-child)::after{display:none;}

  .c51-product-benefits__inner{
    background-image:
      linear-gradient(to bottom, rgba(205,245,128,.48), rgba(205,245,128,.48)),
      linear-gradient(to bottom, rgba(205,245,128,.48), rgba(205,245,128,.48)),
      linear-gradient(to bottom, rgba(205,245,128,.48), rgba(205,245,128,.48));
    background-repeat:no-repeat;
    background-size:1px 100%,1px 100%,1px 100%;
    background-position:25% 0,50% 0,75% 0;
  }
  .c51-product-benefits__inner>div:not(:last-child)::after{display:none;}
}

@media (min-width:561px) and (max-width:800px){
  .c51-product-benefits__inner{
    background-image:linear-gradient(to bottom, rgba(205,245,128,.48), rgba(205,245,128,.48));
    background-repeat:no-repeat;
    background-size:1px 100%;
    background-position:50% 0;
  }
  .c51-product-benefits__inner>div:not(:last-child)::after{display:none;}
}

@media (max-width:800px){
  .c51-product-service-grid{
    background-image:none;
  }
}

@media (max-width:560px){
  .c51-product-benefits__inner{
    background-image:none;
  }
}

/* Company 51 Single Product v0.5.25 — final service-benefit refinement.
 * Match the approved product mockup: larger white line icons, stronger
 * condensed headings, readable supporting copy, and balanced vertical rhythm. */
@media (min-width:801px){
  .c51-product-service-grid{
    min-height:7.25rem;
  }
  .c51-product-service-grid>div{
    padding:1.05rem .9rem .95rem;
  }
  .c51-product-service-grid span{
    width:2.8rem;
    height:2.8rem;
    margin-bottom:.48rem;
  }
  .c51-product-service-grid svg{
    width:2.45rem;
    height:2.45rem;
  }
  .c51-product-service-grid strong{
    font-size:.78rem;
    letter-spacing:.075em;
    line-height:1.15;
  }
  .c51-product-service-grid small{
    max-width:15rem;
    margin-top:.28rem;
    color:#d0d0d0;
    font-size:.64rem;
    line-height:1.4;
  }
}

@media (min-width:801px) and (max-width:1100px){
  .c51-product-service-grid span{width:2.55rem;height:2.55rem}
  .c51-product-service-grid svg{width:2.25rem;height:2.25rem}
  .c51-product-service-grid strong{font-size:.72rem}
  .c51-product-service-grid small{font-size:.6rem}
}

/* Company 51 Single Product v0.5.26 — description-driven feature rail height.
 * Let the WooCommerce description determine the full height of the tab panel,
 * then stretch the Product Highlights rail to that exact height and divide the
 * available vertical space evenly across the four highlights. Also suppress the
 * empty paragraph WordPress can emit between the shortcode product shell and
 * the footer template part. */
@media (min-width:801px){
  /* The description content defines the tab panel's natural height.
   * Stretch the highlight rail to that same row height and divide the
   * available space evenly across its four feature rows. */
  .c51-product-tab-panel#c51-product-panel-description{
    align-items:stretch;
  }

  .c51-product-detail-highlights{
    align-self:stretch;
    height:auto;
    min-height:100%;
    display:flex;
    flex-direction:column;
  }

  .c51-product-detail-highlights>div{
    flex:1 1 0;
    min-height:0;
    height:auto;
    align-self:stretch;
    box-sizing:border-box;
    display:flex;
    align-items:center;
  }

  .c51-product-detail-highlights>div>span{
    flex:0 0 2.9rem;
  }

  .c51-product-detail-highlights>div>div{
    flex:1 1 auto;
    min-width:0;
  }
}

/* Remove the empty paragraph that can appear between the shortcode-driven
 * product shell and the footer template part. The selector covers both
 * direct siblings and a shortcode wrapper, without affecting real content. */
body.single-product .c51-product-page + p:empty,
body.single-product main.c51-product-page ~ p:empty,
body.single-product .wp-block-shortcode p:empty{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  height:0 !important;
  min-height:0 !important;
  line-height:0 !important;
  border:0 !important;
}


/* Company 51 Single Product v0.5.28 — remove the obsolete shortcode-wrapper
 * spacer now that the product template renders through a native dynamic block.
 * Keep the selector as a harmless compatibility guard for old cached markup. */
@media (min-width:801px){
  body.single-product .wp-site-blocks > .wp-block-shortcode:has(.c51-product-page){
    margin:0 !important;
    padding:0 !important;
  }
}

body.single-product .wp-site-blocks > p:has(+ footer.c51-site-footer),
body.single-product .wp-site-blocks > .wp-block-shortcode:has(+ p:has(+ footer.c51-site-footer)){
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  height:0 !important;
  min-height:0 !important;
  line-height:0 !important;
}

/* v0.5.79: make magazine detail content specific and keep recommendations swipeable on phones. */
.c51-product-detail-highlights>div>span.c51-product-detail-highlights__number{
  flex:0 0 2.9rem;
  color:#cdf580;
  font-family:var(--c51-font-display);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.08em;
}
@media(max-width:560px){
  .c51-product-related__grid{
    grid-template-columns:none;
    grid-auto-columns:minmax(82%,1fr);
    grid-auto-flow:column;
    gap:.8rem;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    padding:0 .05rem .75rem;
    scroll-snap-type:x mandatory;
    scrollbar-color:#555 #111;
  }
  .c51-product-related__grid>.c51-shop-card{
    width:auto;
    min-width:0;
    scroll-snap-align:start;
  }
}
