/* ===== WordPress / WooCommerce extras ===== */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.menu ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.menu li{list-style:none}
.menu .current-menu-item>a{color:var(--blue)}
.logo img{max-height:44px;width:auto}
.nav-toggle{display:none;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);background:#fff;cursor:pointer;align-items:center;justify-content:center}
.lang-wrap .trp-language-switcher{width:auto}
.lang-wrap .trp-ls-shortcode-current-language{border-radius:999px!important}
.prod .thumb a{display:block;width:100%;height:100%}
.add{text-decoration:none;line-height:1}
.add.added{background:#3d8b0a}
.added_to_cart{display:none!important}
.empty-shop{padding:40px;border:2px dashed var(--line);border-radius:var(--r);text-align:center;color:var(--muted);background:#fff}
.ok.show{display:block}
.err{grid-column:1/-1;background:#fdecec;color:#9b1c1c;border-radius:12px;padding:14px;font-weight:600;font-size:14px}
.hp{position:absolute;left:-9999px}
/* inner pages */
.page-hero{background:var(--navy);color:#fff;padding:64px 0 56px}
.page-hero h1{font-size:clamp(32px,4.4vw,52px);font-weight:800;color:#fff}
.page-body{padding:64px 0 96px}
.page-body .entry{max-width:820px}
.page-body .entry.wide{max-width:none}
.entry h2{font-size:28px;margin:36px 0 12px}
.entry h3{font-size:21px;margin:28px 0 10px}
.entry p,.entry ul,.entry ol{margin-bottom:16px}
.entry ul,.entry ol{padding-left:22px}
.entry a{color:var(--blue);text-decoration:underline}
.entry img{max-width:100%;height:auto;border-radius:12px}
/* WooCommerce */
.woocommerce .wrap{padding-top:48px;padding-bottom:96px}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:20px;margin:0!important}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;padding:0 0 18px!important;transition:.2s}
.woocommerce ul.products li.product:hover{box-shadow:0 20px 40px -24px rgba(10,21,81,.45)}
.woocommerce ul.products li.product img{margin:0 0 14px!important;aspect-ratio:4/3;object-fit:cover;background:var(--ice)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:inherit;font-size:16px!important;font-weight:700;padding:0 18px!important;color:var(--navy)}
.woocommerce ul.products li.product .price{display:block;padding:0 18px;color:var(--navy)!important;font-size:20px!important;font-weight:800}
.woocommerce ul.products li.product .button{margin:12px 18px 0!important}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--blue)!important;color:#fff!important;border-radius:999px!important;padding:12px 22px!important;font-weight:700!important;font-family:inherit}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--navy)!important}
.woocommerce span.onsale{background:var(--accent)!important;color:var(--navy)!important;font-weight:800;border-radius:999px;min-height:auto;line-height:1;padding:7px 12px}
.woocommerce div.product .product_title{font-size:clamp(28px,3.4vw,40px);font-weight:800}
.woocommerce div.product p.price{color:var(--navy)!important;font-size:28px!important;font-weight:800}
.woocommerce div.product div.images img{border-radius:var(--r)}
.woocommerce .quantity .qty{padding:10px;border-radius:10px;border:1.5px solid var(--line)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{padding:12px 14px;border:1.5px solid var(--line);border-radius:12px}
.woocommerce-message,.woocommerce-info{border-top-color:var(--blue)!important}
.woocommerce-breadcrumb{font-size:13px;color:var(--muted)}
.woocommerce-products-header__title{font-size:clamp(30px,4vw,44px);font-weight:800;margin-bottom:24px}
@media (max-width:980px){
  .nav-toggle{display:inline-flex}
  .menu.open{display:block;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:16px 24px}
  .menu.open ul{flex-direction:column;gap:14px}
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:12px}}

/* ===== v1.1 — Brand refresh: light hero, NEXA blues, logo ===== */
.logo{gap:10px;color:var(--blue)}
.logo .logo-mark{width:46px;height:36px;flex:none}
.logo .wordmark{font-weight:800;letter-spacing:.06em;color:var(--blue)}
footer .logo .wordmark{color:#fff}
.topbar{background:var(--blue);color:#dce9ff}
/* light hero */
.hero{background:linear-gradient(180deg,#EEF5FF 0%,#DCEBFF 100%);color:var(--ink)}
.hero:before{background:
  radial-gradient(640px 420px at 92% 8%,rgba(92,163,255,.45),transparent 65%),
  radial-gradient(520px 380px at -5% 105%,rgba(92,163,255,.30),transparent 60%)}
.hero .stripes{opacity:.35;background:repeating-linear-gradient(-55deg,rgba(92,163,255,.35) 0 2px,transparent 2px 46px)}
.hero .eyebrow{color:var(--blue)}
.hero h1{color:var(--ink)}
.hero h1 em{background:linear-gradient(90deg,var(--blue),var(--sky));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .sub{color:var(--muted)}
.hero .btn-primary{background:var(--blue);color:#fff}
.hero .btn-primary:hover{background:var(--navy);color:#fff}
.hero .btn-ghost{background:#fff;color:var(--blue);border-color:#bcd6fb}
.hero .btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.hero .cta{margin-bottom:8px}
.ph{background:linear-gradient(135deg,var(--sky),var(--blue));border-color:#fff;box-shadow:0 30px 60px -28px rgba(0,74,173,.45)}
.badge{background:#fff;color:var(--blue);box-shadow:0 14px 30px -12px rgba(0,74,173,.45)}
.marquee{background:var(--blue);color:#fff}
.marquee span:nth-child(even){color:var(--sky)}
.thumb .tag{background:var(--blue);color:#fff}
.stars{color:var(--sky)}
.step:before{color:var(--ice);-webkit-text-stroke:1.5px var(--blue)}
.bulk,.order-side{background:var(--blue)}
.bulk:after,.order-side:after{background:radial-gradient(circle,var(--sky),transparent 70%)}
.bulk p,.order-side p{color:#dce9ff}
.btn-light{color:var(--blue)}
footer{background:var(--navy);color:#bcd0f0}
.legal{border-top-color:rgba(255,255,255,.12)}
.legal a{color:#fff}
.page-hero{background:linear-gradient(180deg,#EEF5FF,#DCEBFF);color:var(--ink)}
.page-hero h1{color:var(--ink)}
.ig-av div{background:#fff}
.ig-av .logo-mark{width:34px;height:26px}
/* terms */
.terms{max-width:820px}
.terms-intro{font-size:17px;color:var(--muted);margin-bottom:24px}
.terms h2{font-size:22px!important;margin:40px 0 12px!important;padding-top:20px;border-top:1px solid var(--line);color:var(--blue)}
.terms h2:first-of-type{border-top:0;padding-top:0}
.terms ul{padding-left:20px}
.terms li{margin-bottom:10px}
.terms .note-box{background:var(--ice);border-radius:12px;padding:14px 16px}

/* ===== v1.2 — footer map ===== */
html{scroll-padding-top:80px}
.fmap{display:grid;grid-template-columns:1.6fr 1fr;gap:0;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.06);margin-bottom:56px}
.fmap iframe{width:100%;height:300px;border:0;display:block;filter:saturate(.85)}
.fmap-info{padding:32px;display:flex;flex-direction:column;gap:10px;justify-content:center}
.fmap-info h4{margin:0;font-size:18px}
.fmap-info p{margin:0;color:#dce9ff}
.fmap-info .fmap-note{font-size:13px;color:#9fb9e6}
.fmap-info .btn{align-self:flex-start;margin-top:8px}
@media (max-width:760px){.fmap{grid-template-columns:1fr}.fmap iframe{height:240px}}

/* ===== v1.3 — Google reviews ===== */
.rv-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.greviews{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.btn-ghost-blue{border:1.5px solid #bcd6fb;color:var(--blue);background:#fff}
.btn-ghost-blue:hover{border-color:var(--blue)}

/* ===== v1.4 — single product: add to cart + quote note ===== */
.woocommerce div.product form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:28px 0 24px}
.woocommerce div.product form.cart div.quantity{float:none;margin:0}
.woocommerce div.product form.cart .quantity .qty{width:88px;height:56px;font-size:18px;font-weight:700;text-align:center;border:1.5px solid var(--line);border-radius:999px;color:var(--ink)}
.woocommerce div.product form.cart .button.single_add_to_cart_button{float:none;height:56px;padding:0 36px!important;font-size:16px!important;line-height:1;border-radius:999px!important;white-space:nowrap;border:0!important}
.quote-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:18px 0;padding:16px 18px;background:var(--ice);border-radius:14px;font-size:15px;line-height:1.4}
.quote-note a{font-weight:700;color:var(--blue);white-space:nowrap;text-decoration:none}
.quote-note a:hover{text-decoration:underline}
.logo img{max-height:40px;width:auto}

/* ===== v1.5 — quantity stepper ===== */
.woocommerce .quantity{display:inline-flex!important;align-items:center;border:1.5px solid var(--line);border-radius:999px;background:#fff;height:56px;overflow:hidden}
.woocommerce .quantity .qty{border:0!important;width:52px!important;height:100%!important;padding:0!important;font-size:18px;font-weight:700;text-align:center;-moz-appearance:textfield;appearance:textfield;background:transparent;border-radius:0!important}
.woocommerce .quantity .qty::-webkit-outer-spin-button,.woocommerce .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-btn{width:46px;height:100%;border:0;background:transparent;color:var(--blue);font-size:22px;font-weight:700;cursor:pointer;line-height:1;transition:.15s;font-family:inherit}
.qty-btn:hover{background:var(--ice)}
.woocommerce-cart .quantity{height:44px}
.woocommerce-cart .qty-btn{width:38px;font-size:18px}

/* ===== v1.6 — product configurator ===== */
.woocommerce div.product form.cart.variations_form{display:block}
.woocommerce div.product form.cart .variations{border:0;margin:0 0 8px;width:100%}
.woocommerce div.product form.cart .variations tr{display:block;margin-bottom:18px}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block;padding:0;text-align:left;border:0;line-height:1.3}
.woocommerce div.product form.cart .variations th label{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:block}
.woocommerce div.product form.cart .reset_variations{display:none!important}
.nx-pills{display:flex;flex-wrap:wrap;gap:10px}
.nx-pill{min-width:84px;padding:12px 20px;border-radius:14px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:.15s}
.nx-pill:hover{border-color:var(--sky)}
.nx-pill.on{border-color:var(--blue);background:var(--ice);color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.nx-pill:disabled{opacity:.35;cursor:not-allowed}
.woocommerce div.product .woocommerce-variation-price{display:none}
.woocommerce-variation-availability p{font-size:14px;color:#9b1c1c}
.single_variation_wrap .woocommerce-variation-add-to-cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
/* design box */
.nx-design{flex-basis:100%;width:100%;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px;margin:8px 0 18px;display:grid;gap:12px}
.nx-design-head{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.nx-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.nx-seg label{display:block;cursor:pointer}
.nx-seg input{position:absolute;opacity:0;pointer-events:none}
.nx-seg span{display:block;text-align:center;padding:12px 10px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:14px}
.nx-seg label.on span{border-color:var(--blue);background:var(--ice);color:var(--blue)}
.nx-drop{padding:18px;background:#fff}
.nx-drop b{font-size:15px;margin-top:6px}
.nx-drop-svc{display:none!important}
.nx-design.svc .nx-drop-up{display:none!important}
.nx-design.svc .nx-drop-svc{display:block!important}
.nx-design textarea{font:inherit;font-size:15px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;width:100%;resize:vertical}
.nx-design textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px var(--ice)}
.nx-proof{margin:0;font-size:13px;color:var(--muted)}
.woocommerce div.product form.cart:not(.variations_form) .nx-design{margin-top:0}
@media (max-width:560px){.nx-seg{grid-template-columns:1fr}.nx-pill{min-width:72px;padding:11px 16px}}
.price .from{font-size:.6em;font-weight:700;color:var(--muted);margin-right:4px}

/* ===== v1.7 — gallery spacing + option thumbnails ===== */
.woocommerce div.product div.images{margin-bottom:32px}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,.woocommerce div.product div.images .flex-viewport{border-radius:var(--r);overflow:hidden}
.woocommerce div.product div.images .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 0!important;padding:0}
.woocommerce div.product div.images .flex-control-thumbs:before,.woocommerce div.product div.images .flex-control-thumbs:after{display:none}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product div.images .flex-control-thumbs li img{border-radius:12px;aspect-ratio:1;object-fit:cover;opacity:.55;transition:.2s;border:2px solid transparent}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,.woocommerce div.product div.images .flex-control-thumbs li img:hover{opacity:1;border-color:var(--sky)}
.nx-pill.has-img{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px}
.nx-pill img{width:44px;height:44px;border-radius:10px;object-fit:cover;flex:none}

/* ===== v1.8 — Color Core swatches ===== */
.nx-colors{flex-basis:100%;width:100%;margin:0 0 6px}
.nx-colors[hidden]{display:none!important}
.nx-swatches{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.nx-sw{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border:1.5px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;font-weight:700;font-size:14px;transition:.15s}
.nx-sw input{position:absolute;opacity:0;pointer-events:none}
.nx-sw i{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.nx-sw.on{border-color:var(--blue);background:var(--ice);color:var(--blue)}
.nx-sw:hover{border-color:var(--sky)}
.nx-sw-text{padding:10px 18px}
.nx-colors .nx-proof{margin-top:8px}
.woocommerce-Tabs-panel--description p{margin-bottom:12px}
.woocommerce-variation-description p{margin:0 0 14px;padding:12px 16px;border-radius:12px;background:#FFF6E0;border:1px solid #F5D58A;color:#6B4B00;font-size:14px;font-weight:600}

/* ===== v2.1 — Promo ===== */
.promo-wrap{padding:56px 0 0}
.promo{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:44px 52px;border-radius:28px;color:#fff;overflow:hidden;
  background:radial-gradient(520px 320px at 100% 0%,rgba(92,163,255,.75),transparent 60%),linear-gradient(120deg,#004AAD 0%,#0B5FD0 55%,#2E7FF0 100%);
  box-shadow:0 30px 60px -30px rgba(0,74,173,.6);transition:transform .25s}
.promo:hover{transform:translateY(-3px)}
.promo:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-55deg,rgba(255,255,255,.08) 0 2px,transparent 2px 38px);pointer-events:none}
.promo.has-img{grid-template-columns:1fr auto 260px}
.promo-copy{position:relative;z-index:1}
.promo-tag,.nx-promo-tag{display:inline-block;background:#fff;color:var(--blue);font-weight:900;letter-spacing:.14em;font-size:13px;padding:7px 14px;border-radius:999px;animation:nxpulse 2.2s ease-in-out infinite}
.promo h2{color:#fff;font-size:clamp(30px,4.2vw,48px);margin:14px 0 8px}
.promo p{color:#dce9ff;font-size:17px;margin:0}
.promo-btn{display:inline-block;margin-top:22px;background:#fff;color:var(--blue);font-weight:800;padding:14px 26px;border-radius:999px}
.promo-price{position:relative;z-index:1;text-align:center;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.5);border-radius:24px;padding:22px 34px;backdrop-filter:blur(4px)}
.promo-price small{display:block;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#cfe2ff}
.promo-price b{display:block;font-size:clamp(56px,7vw,88px);line-height:1;font-weight:900;letter-spacing:-.03em}
.promo-img{position:relative;z-index:1;border-radius:18px;overflow:hidden;aspect-ratio:1;border:4px solid #fff;transform:rotate(3deg)}
.promo-img img{width:100%;height:100%;object-fit:cover}
@keyframes nxpulse{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.6)}50%{box-shadow:0 0 0 8px rgba(255,255,255,0)}}
@media (max-width:860px){.promo,.promo.has-img{grid-template-columns:1fr;padding:32px 24px;text-align:left}.promo-img{display:none}.promo-price{justify-self:start}}
/* product page */
.nx-promo-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 18px;padding:12px 16px;border-radius:14px;background:linear-gradient(90deg,var(--blue),#2E7FF0);color:#fff;font-weight:700}
.nx-promo-strip .nx-promo-tag{animation:none;padding:5px 10px;font-size:11px}
.nx-pill.is-promo{position:relative;border-color:var(--blue)}
.nx-pill.is-promo:after{content:"PROMO";position:absolute;top:-10px;right:-8px;background:var(--blue);color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;padding:3px 7px;border-radius:999px}

/* ===== v2.1.1 — pills hardening (WooCommerce button styles were inflating them) ===== */
.woocommerce div.product form.cart .variations td.value{overflow:visible}
.nx-pills{align-items:flex-start;padding-top:8px}
.woocommerce div.product form.cart .nx-pill,.nx-pill{height:auto!important;min-height:0!important;width:auto!important;flex:0 0 auto!important;line-height:1.2!important;padding:12px 20px!important;margin:0!important;overflow:visible!important;font-size:16px!important;border-radius:14px!important;box-sizing:border-box}
.woocommerce div.product form.cart .nx-pill.has-img,.nx-pill.has-img{padding:6px 16px 6px 6px!important}
.nx-pill.is-promo:after{top:-11px;right:-10px;z-index:2;line-height:1.2}

/* ===== v2.1.2 — WooCommerce blocks (cart, checkout, empty cart, product grids) ===== */
.wp-element-button,.wp-block-button__link,.wc-block-components-button:not(.is-link),.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{
  background:var(--blue)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:13px 26px!important;
  font-family:inherit!important;font-weight:700!important;font-size:15px!important;text-decoration:none!important;line-height:1.2!important;
  display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:0!important;box-shadow:none!important;transition:background .2s}
.wp-element-button:hover,.wp-block-button__link:hover,.wc-block-components-button:not(.is-link):hover,.wc-block-cart__submit-button:hover,.wc-block-components-checkout-place-order-button:hover{background:var(--navy)!important;color:#fff!important}
.wp-element-button *,.wp-block-button__link *,.wc-block-components-button:not(.is-link) *{color:#fff!important;text-decoration:none!important}
/* product cards inside blocks ("New in store", cross-sells) */
.wc-block-grid__product,.wc-block-components-product-name,.wp-block-woocommerce-product-template li{text-align:center}
.wc-block-grid__product-title,.wc-block-components-product-name,.wp-block-post-title a,.wc-block-grid__product-link{color:var(--ink)!important;text-decoration:none!important;font-weight:700}
.wc-block-grid__product-title:hover,.wp-block-post-title a:hover{color:var(--blue)!important}
.wc-block-grid__product-image img,.wc-block-components-product-image img,.wp-block-woocommerce-product-image img{border-radius:18px}
.wp-block-woocommerce-empty-cart-block .wp-block-separator{border:0;opacity:.3}
/* cart & checkout layout */
.wc-block-cart,.wc-block-checkout{font-family:inherit}
.wc-block-components-totals-wrapper,.wc-block-components-sidebar .wc-block-components-panel{border-color:var(--line)!important}
.wc-block-components-text-input input,.wc-block-components-combobox .components-combobox-control__input,.wc-block-components-select select,.wc-block-components-textarea{border-radius:12px!important;border-color:var(--line)!important}
.wc-block-components-quantity-selector{border-radius:999px!important;overflow:hidden;border-color:var(--line)!important}
.wc-block-components-product-metadata,.wc-block-components-product-details{font-size:13px;color:var(--muted)}
a.wc-block-components-product-name{font-size:16px}

/* ===== v2.2 — thickness note + description spacing ===== */
.nx-thick-cap{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;font-size:13px;line-height:1.5;color:#7a869c;flex-basis:100%}
.nx-thick-cap svg{flex:none;margin-top:2px;opacity:.7}
.nx-thick-cap b{color:#56647F;font-weight:700}
table.variations + .nx-thick-cap{margin:-4px 0 16px}
/* description / tabs */
.woocommerce div.product .woocommerce-tabs{clear:both;margin-top:56px;padding-top:8px}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:8px;padding:0!important;margin:0 0 24px!important;border:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;border:1.5px solid var(--line)!important;border-radius:999px!important;background:#fff!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:10px 20px!important;font-weight:700!important;color:var(--muted)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--ice)!important;border-color:var(--blue)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--blue)!important}
.woocommerce div.product .woocommerce-tabs .panel{max-width:760px;margin:0 0 48px;padding:28px 32px;background:var(--paper);border:1px solid var(--line);border-radius:20px;font-size:16px;line-height:1.75;color:var(--ink)}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:22px;margin:0 0 14px}
.woocommerce div.product .woocommerce-tabs .panel p{margin:0 0 16px}
.woocommerce div.product .woocommerce-tabs .panel p:last-child{margin-bottom:0}
.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes{border:0;margin:0}
.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes th,.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes td{padding:12px 0;border-bottom:1px solid var(--line);background:transparent!important;font-style:normal}
.woocommerce div.product .woocommerce-product-details__short-description{margin:6px 0 4px;color:var(--muted);line-height:1.6}
.related.products,.upsells.products{margin-top:24px}
.related.products>h2,.upsells.products>h2{font-size:28px;margin-bottom:20px}
@media (max-width:560px){.woocommerce div.product .woocommerce-tabs .panel{padding:22px 20px}}
.qty-note{font-size:13px;font-weight:600;color:var(--muted);flex-basis:100%;order:3;margin-top:-2px}

/* ===== v2.4 — promotions grid ===== */
.promo-wrap{padding:72px 0 0}
.promo-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:20px}
.promo-card{position:relative;display:flex;flex-direction:column;border-radius:24px;overflow:hidden;color:#fff;isolation:isolate;min-height:360px;
  background:linear-gradient(150deg,#004AAD 0%,#1565D8 60%,#3A8BF2 100%);box-shadow:0 26px 50px -30px rgba(0,74,173,.6);transition:transform .25s,box-shadow .25s}
.promo-card:hover{transform:translateY(-4px);box-shadow:0 34px 60px -30px rgba(0,74,173,.7)}
.promo-card:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(-55deg,rgba(255,255,255,.07) 0 2px,transparent 2px 36px)}
.promo-card:not(.featured){background:#fff;color:var(--ink);border:1.5px solid #cfe0fb;box-shadow:0 20px 40px -32px rgba(0,74,173,.5)}
.promo-card:not(.featured):before{display:none}
.pc-img{aspect-ratio:16/9;overflow:hidden;background:var(--ice)}
.promo-card.featured .pc-img{aspect-ratio:16/8}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.promo-card:hover .pc-img img{transform:scale(1.04)}
.pc-body{display:flex;flex-direction:column;gap:8px;padding:22px 24px 24px;flex:1}
.promo-card .promo-tag{align-self:flex-start;animation:none}
.promo-card:not(.featured) .promo-tag{background:var(--blue);color:#fff}
.promo-card.featured .promo-tag{animation:nxpulse 2.2s ease-in-out infinite}
.promo-card h3{font-size:24px;line-height:1.15;margin:4px 0 0}
.promo-card.featured h3{font-size:clamp(26px,3vw,34px)}
.promo-card p{margin:0;font-size:14px;opacity:.85}
.pc-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px}
.pc-price{font-size:40px;font-weight:900;letter-spacing:-.02em;line-height:1}
.promo-card.featured .pc-price{font-size:56px}
.promo-card:not(.featured) .pc-price{color:var(--blue)}
.pc-btn{font-weight:800;font-size:14px;padding:11px 18px;border-radius:999px;background:#fff;color:var(--blue);white-space:nowrap}
.promo-card:not(.featured) .pc-btn{background:var(--blue);color:#fff}
@media (max-width:980px){.promo-grid{grid-template-columns:1fr 1fr}.promo-card.featured{grid-column:1/-1}}
@media (max-width:560px){.promo-grid{grid-template-columns:1fr}.promo-card{min-height:0}.pc-price{font-size:34px}.promo-card.featured .pc-price{font-size:44px}}
.thumb .tag{white-space:nowrap}

/* ===== v2.5.1 — promos in one row (any count) ===== */
.promo-grid.n1{grid-template-columns:1fr}
.promo-grid.n2{grid-template-columns:1.3fr 1fr}
.promo-grid.n4{grid-template-columns:1.25fr 1fr 1fr 1fr;gap:16px}
.promo-grid.n4 .promo-card{min-height:340px}
.promo-grid.n4 .pc-body{padding:18px 18px 20px}
.promo-grid.n4 .promo-card h3{font-size:20px}
.promo-grid.n4 .promo-card.featured h3{font-size:clamp(22px,2.4vw,28px)}
.promo-grid.n4 .pc-price{font-size:34px}
.promo-grid.n4 .promo-card.featured .pc-price{font-size:46px}
.promo-grid.n4 .pc-foot{flex-wrap:wrap;gap:10px}
.promo-grid.n4 .pc-btn{padding:10px 14px;font-size:13px}
@media (max-width:1100px){.promo-grid.n4{grid-template-columns:repeat(2,1fr)}.promo-grid.n4 .promo-card.featured{grid-column:auto}}
@media (max-width:560px){.promo-grid.n4{grid-template-columns:1fr}}
.promo-grid.n4 .promo-card:not(.featured) .pc-foot{flex-direction:column;align-items:flex-start;gap:12px}
.nx-shirt input{font:inherit;font-size:15px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;width:100%;max-width:360px;margin-top:10px;display:block}
.nx-shirt input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px var(--ice)}
.nx-shirt label.nx-design-head{display:block}
