/* ==========================================================================
   Nashixwa Investment — WooCommerce reskin
   Targets WooCommerce's own default markup/classes (no template overrides,
   so this stays compatible across WooCommerce updates).
   ========================================================================== */

/* ---------------- Header cart icon ---------------- */
.cart-link{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  color:var(--paper-dim);margin-right:4px;transition:color .2s var(--ease);
}
.cart-link:hover{color:var(--signal-bright);}
.cart-link .cart-count{
  position:absolute;top:-8px;right:-10px;
  background:var(--signal);color:var(--void);
  font-family:var(--mono);font-size:10px;font-weight:700;
  min-width:16px;height:16px;border-radius:100px;
  display:flex;align-items:center;justify-content:center;padding:0 3px;
}

/* ---------------- Notices ---------------- */
.woocommerce-message,.woocommerce-error,.woocommerce-info,.woocommerce-noreviews{
  font-family:var(--mono);font-size:12.5px;padding:16px 20px;border-radius:2px;margin-bottom:24px;list-style:none;
  background:rgba(47,190,110,0.12);border:1px solid var(--signal-dim);color:var(--signal-bright);
}
.woocommerce-error{background:rgba(190,47,47,0.1);border-color:#7a1f1f;color:#ef8b8b;}
.woocommerce-message a.button,.woocommerce-error a.button{margin-left:14px;}

/* ---------------- Buttons everywhere ---------------- */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  font-family:var(--mono);font-size:12.5px;letter-spacing:0.05em;text-transform:uppercase;
  padding:13px 24px;border-radius:2px;background:var(--signal);color:var(--void);
  border:1px solid var(--signal);font-weight:700;transition:all .25s var(--ease);cursor:pointer;
}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{
  background:var(--signal-bright);border-color:var(--signal-bright);color:var(--void);
}
.woocommerce .button.alt{background:var(--signal);}
.woocommerce a.remove{color:#ef8b8b !important;}

/* ---------------- Product loop grid (Shop / category archives) ---------------- */
.woocommerce ul.products{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;list-style:none;
  background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden;margin:0;padding:0;
}
.woocommerce ul.products li.product{
  background:var(--panel);padding:0;list-style:none;transition:background .3s var(--ease);position:relative;
}
.woocommerce ul.products li.product:hover{background:var(--panel-2);}
.woocommerce ul.products li.product a{text-decoration:none;color:inherit;display:block;}
.woocommerce ul.products li.product img{
  aspect-ratio:16/12;object-fit:cover;width:100%;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--body);text-transform:none;letter-spacing:0;font-weight:700;font-size:17px;
  color:var(--paper);padding:20px 20px 4px;
}
.woocommerce ul.products li.product .price{
  padding:0 20px 16px;font-family:var(--mono);font-size:15px;color:var(--signal-bright);
}
.woocommerce ul.products li.product .price del{color:var(--paper-faint);opacity:0.7;margin-right:8px;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce ul.products li.product .button{
  margin:0 20px 20px;width:calc(100% - 40px);text-align:center;justify-content:center;display:block;
}
.woocommerce ul.products li.product .star-rating{margin:0 20px 8px;}
.woocommerce span.onsale{
  position:absolute;top:14px;left:14px;z-index:2;
  background:var(--signal);color:var(--void);font-family:var(--mono);font-size:10.5px;font-weight:700;
  padding:5px 10px;border-radius:100px;text-transform:uppercase;letter-spacing:0.05em;
}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{
  font-family:var(--mono);font-size:12.5px;color:var(--paper-faint);margin-bottom:24px;
}
.woocommerce .woocommerce-ordering select{
  background:var(--panel);border:1px solid var(--line);color:var(--paper);padding:8px 12px;border-radius:2px;font-family:var(--mono);font-size:12px;
}

/* ---------------- Single product page ---------------- */
.woocommerce div.product{max-width:1100px;}
.woocommerce div.product .woocommerce-product-gallery{background:var(--panel);border:1px solid var(--line);border-radius:4px;overflow:hidden;}
.woocommerce div.product .woocommerce-product-gallery__image img{width:100%;}
.woocommerce div.product .flex-control-thumbs{display:flex;gap:8px;padding:10px;margin:0;}
.woocommerce div.product .flex-control-thumbs li{list-style:none;width:70px;}
.woocommerce div.product .flex-control-thumbs img{border-radius:2px;border:1px solid var(--line);opacity:0.6;transition:opacity .2s var(--ease);}
.woocommerce div.product .flex-control-thumbs img.flex-active,
.woocommerce div.product .flex-control-thumbs img:hover{opacity:1;border-color:var(--signal);}

.woocommerce div.product .summary{padding-top:8px;}
.woocommerce div.product .product_title{font-family:var(--display);text-transform:uppercase;font-size:clamp(28px,4vw,44px);color:var(--paper);margin-bottom:14px;}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  font-family:var(--mono);font-size:24px;color:var(--signal-bright);margin-bottom:20px;display:block;
}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--paper-dim);margin-bottom:24px;}
.woocommerce div.product form.cart{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:30px;}
.woocommerce div.product .quantity{display:inline-block;}
.woocommerce div.product .quantity .qty{
  width:70px;background:var(--panel);border:1px solid var(--line);color:var(--paper);padding:13px 12px;border-radius:2px;font-family:var(--mono);
}
.woocommerce div.product .product_meta{font-family:var(--mono);font-size:12.5px;color:var(--paper-faint);padding-top:20px;border-top:1px solid var(--line);}
.woocommerce div.product .product_meta a{color:var(--sage);}
.woocommerce .woocommerce-variation-price .price{font-size:20px;}

.woocommerce .woocommerce-tabs{margin-top:60px;border-top:1px solid var(--line);padding-top:30px;}
.woocommerce .woocommerce-tabs ul.tabs{display:flex;gap:10px;list-style:none;margin:0 0 30px;padding:0;}
.woocommerce .woocommerce-tabs ul.tabs li{list-style:none;}
.woocommerce .woocommerce-tabs ul.tabs li a{
  font-family:var(--mono);font-size:12px;letter-spacing:0.05em;text-transform:uppercase;
  padding:10px 18px;border:1px solid var(--line);border-radius:100px;color:var(--paper-dim);display:block;
}
.woocommerce .woocommerce-tabs ul.tabs li.active a{background:var(--signal);border-color:var(--signal);color:var(--void);font-weight:700;}
.woocommerce .woocommerce-tabs .panel{color:var(--paper-dim);max-width:760px;}

.woocommerce .related.products{margin-top:80px;border-top:1px solid var(--line);padding-top:50px;}
.woocommerce .related.products > h2{font-family:var(--display);text-transform:uppercase;font-size:28px;margin-bottom:30px;color:var(--paper);}

/* ---------------- Cart page ---------------- */
.woocommerce table.shop_table{
  width:100%;border-collapse:collapse;font-family:var(--body);margin-bottom:30px;
  border:1px solid var(--line);border-radius:4px;overflow:hidden;
}
.woocommerce table.shop_table th{
  font-family:var(--mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--paper-faint);
  text-align:left;padding:16px 18px;background:var(--panel-2);border-bottom:1px solid var(--line);
}
.woocommerce table.shop_table td{padding:18px;border-bottom:1px solid var(--line);color:var(--paper-dim);background:var(--panel);}
.woocommerce table.shop_table td.product-name a{color:var(--paper);font-weight:600;}
.woocommerce table.shop_table td.product-thumbnail img{width:64px;border-radius:2px;}
.woocommerce table.shop_table .product-remove a{color:#ef8b8b;font-size:20px;}
.woocommerce table.shop_table .quantity .qty{
  width:60px;background:var(--void);border:1px solid var(--line);color:var(--paper);padding:8px;border-radius:2px;
}
.woocommerce-cart-form .coupon{display:flex;gap:10px;align-items:center;}
.woocommerce-cart-form #coupon_code{
  background:var(--panel);border:1px solid var(--line);color:var(--paper);padding:12px 14px;border-radius:2px;font-family:var(--mono);
}
.woocommerce .cart-collaterals .cart_totals{
  background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:30px;max-width:420px;margin-left:auto;
}
.woocommerce .cart_totals h2{font-family:var(--display);text-transform:uppercase;font-size:22px;margin-bottom:20px;color:var(--paper);}
.woocommerce .cart_totals table{border:none;}
.woocommerce .cart_totals table th,.woocommerce .cart_totals table td{background:transparent;border-bottom:1px solid var(--line);}
.woocommerce .cart_totals .order-total .amount{color:var(--signal-bright);font-size:20px;font-family:var(--mono);}
.woocommerce .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;margin-top:20px;}

/* ---------------- Checkout page ---------------- */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
.woocommerce form .form-row label{
  display:block;font-family:var(--mono);font-size:11px;letter-spacing:0.05em;text-transform:uppercase;
  color:var(--paper-faint);margin-bottom:8px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-additional-fields textarea{
  width:100%;background:var(--panel);border:1px solid var(--line);color:var(--paper);padding:13px 14px;
  border-radius:2px;font-family:var(--body);font-size:15px;
}
.woocommerce form .form-row input:focus,.woocommerce form .form-row textarea:focus{outline:none;border-color:var(--signal);}
.woocommerce-checkout #order_review{
  background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:30px;margin-top:20px;
}
.woocommerce-checkout #order_review_heading{font-family:var(--display);text-transform:uppercase;font-size:24px;margin-bottom:20px;color:var(--paper);}
.woocommerce-checkout table.shop_table{background:transparent;}

/* Payment methods list */
.woocommerce ul.payment_methods{list-style:none;margin:0 0 20px;padding:0;border:1px solid var(--line);border-radius:4px;overflow:hidden;}
.woocommerce ul.payment_methods li{
  list-style:none;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--panel);font-size:15px;color:var(--paper);
}
.woocommerce ul.payment_methods li:last-child{border-bottom:none;}
.woocommerce ul.payment_methods li label{font-weight:600;}
.woocommerce ul.payment_methods li img{height:20px;vertical-align:middle;margin-left:8px;}
.woocommerce ul.payment_methods .payment_box{
  margin-top:14px;padding:16px;background:var(--panel-2);border-radius:2px;font-size:13.5px;color:var(--paper-dim);
}
.woocommerce ul.payment_methods .payment_box p{margin-bottom:12px;}
.woocommerce ul.payment_methods .payment_box input[type="file"]{
  display:block;margin-top:8px;color:var(--paper-dim);font-family:var(--mono);font-size:12.5px;
}

.woocommerce-terms-and-conditions-wrapper{margin:20px 0;color:var(--paper-dim);font-size:13.5px;}
.woocommerce #place_order{width:100%;padding:17px;font-size:13.5px;}

/* ---------------- My Account ---------------- */
.woocommerce-account .woocommerce-MyAccount-navigation{
  border:1px solid var(--line);border-radius:4px;overflow:hidden;margin-bottom:40px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line);background:var(--panel);}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:none;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;padding:14px 20px;font-family:var(--mono);font-size:12.5px;letter-spacing:0.04em;text-transform:uppercase;color:var(--paper-dim);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--signal-bright);background:var(--panel-2);}
.woocommerce-MyAccount-content{color:var(--paper-dim);}
.woocommerce-MyAccount-content table.shop_table{margin-top:20px;}

/* Downloadable products list (My Account → Downloads) */
.woocommerce-order-downloads{margin-top:16px;}
.woocommerce-order-downloads table.shop_table th,
.woocommerce-order-downloads table.shop_table td{background:var(--panel);}
.woocommerce-MyAccount-downloads-file a,
.woocommerce table.my_account_orders .button{
  font-family:var(--mono);font-size:11.5px;
}
.woocommerce-MyAccount-downloads-file a::before{content:'⬇ ';}

/* Order-received / thank-you page */
.woocommerce-order{max-width:760px;}
.woocommerce-order-overview{
  list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:4px;overflow:hidden;margin:0 0 40px;padding:0;
}
.woocommerce-order-overview li{list-style:none;background:var(--panel);padding:18px;font-family:var(--mono);font-size:12px;color:var(--paper-faint);}
.woocommerce-order-overview li strong{display:block;color:var(--paper);font-size:15px;margin-top:6px;font-family:var(--body);}
.woocommerce-thankyou-order-received{
  font-family:var(--display);text-transform:uppercase;font-size:26px;color:var(--signal-bright);margin-bottom:24px;
}

/* On-hold order status note (used by the Proof of Payment plugin) */
.woocommerce-order .woocommerce-notice--on-hold,
.woocommerce-info{
  background:rgba(47,190,110,0.1);border:1px solid var(--signal-dim);color:var(--paper);
}

@media (max-width:980px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);}
  .woocommerce-checkout .col2-set{grid-template-columns:1fr;}
  .woocommerce-order-overview{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:720px){
  .woocommerce ul.products{grid-template-columns:1fr;}
  .woocommerce-order-overview{grid-template-columns:1fr;}
}

/* ---------------- Commercial service catalogue ---------------- */
.shop-commercial-intro{margin-bottom:64px;}
.shop-commercial-intro .section-head{margin-bottom:34px;}
.shop-quote-strip{
  margin:34px 0 48px;padding:22px 24px;border:1px solid var(--line);background:var(--panel);
  display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:4px;
}
.shop-quote-strip strong{display:block;color:var(--paper);font-family:var(--display);font-size:21px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px;}
.shop-quote-strip span{display:block;color:var(--paper-dim);font-size:13.5px;max-width:720px;}

.commercial-category-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:4px;overflow:hidden;
}
.commercial-category-card{
  display:flex;flex-direction:column;min-height:230px;padding:28px 26px;background:var(--panel);color:inherit;
  transition:background .25s var(--ease),transform .25s var(--ease);
}
.commercial-category-card:hover{background:var(--panel-2);}
.commercial-category-card .category-kicker{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--signal);
}
.commercial-category-card h3{font-family:var(--display);font-size:25px;text-transform:uppercase;color:var(--paper);margin:15px 0 10px;letter-spacing:.01em;}
.commercial-category-card p{color:var(--paper-dim);font-size:13.5px;line-height:1.6;margin:0 0 18px;}
.commercial-category-card .category-arrow{margin-top:auto;font-family:var(--mono);font-size:11.5px;color:var(--sage);}

@media (max-width:980px){
  .commercial-category-grid{grid-template-columns:repeat(2,1fr);}
  .shop-quote-strip{align-items:flex-start;flex-direction:column;}
}
@media (max-width:720px){
  .commercial-category-grid{grid-template-columns:1fr;}
  .commercial-category-card{min-height:0;}
}


/* ---------------- Homepage product/service cards ----------------
   Dedicated markup for the front page. Unlike WooCommerce archive cards,
   these do not depend on the body having the .woocommerce class. */
.home-product-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:8px;
}
.home-product-card{
  min-width:0;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);
  border-radius:5px;overflow:hidden;transition:transform .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease);
}
.home-product-card:hover{transform:translateY(-3px);background:var(--panel-2);border-color:var(--signal-dim);}
.home-product-card__visual{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--panel-2);}
.home-product-card__visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease);}
.home-product-card:hover .home-product-card__visual img{transform:scale(1.025);}
.home-product-card__placeholder{
  width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  padding:24px;text-align:center;background:
    radial-gradient(circle at 50% 20%,rgba(47,190,110,.14),transparent 45%),
    linear-gradient(135deg,var(--panel-2),var(--panel));
}
.home-product-card__mark{
  width:58px;height:58px;border:1px solid var(--signal-dim);border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:25px;font-weight:900;letter-spacing:.04em;color:var(--signal-bright);
}
.home-product-card__placeholder-text{font-family:var(--mono);font-size:10px;line-height:1.45;letter-spacing:.09em;text-transform:uppercase;color:var(--paper-faint);}
.home-product-card__body{display:flex;flex:1;flex-direction:column;padding:21px 20px 20px;}
.home-product-card__category{align-self:flex-start;font-family:var(--mono);font-size:9.5px;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;color:var(--signal-bright);text-decoration:none;margin-bottom:10px;}
.home-product-card__category:hover{color:var(--sage);}
.home-product-card__title{font-family:var(--body);font-size:17px;line-height:1.3;font-weight:700;text-transform:none;letter-spacing:0;margin:0 0 10px;}
.home-product-card__title a{color:var(--paper);text-decoration:none;}
.home-product-card__title a:hover{color:var(--signal-bright);}
.home-product-card__excerpt{font-size:12.8px;line-height:1.6;color:var(--paper-dim);margin:0 0 18px;}
.home-product-card__footer{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);}
.home-product-card__price{font-family:var(--mono);font-size:16px;font-weight:700;color:var(--signal-bright);}
.home-product-card__price del{color:var(--paper-faint);opacity:.75;margin-right:6px;font-size:12px;}
.home-product-card__price ins{text-decoration:none;}
.home-product-card__button{
  display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:11px 14px;border-radius:2px;
  border:1px solid var(--signal);background:var(--signal);color:var(--void);font-family:var(--mono);font-size:10.5px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:background .2s var(--ease),border-color .2s var(--ease);
}
.home-product-card__button:hover{background:var(--signal-bright);border-color:var(--signal-bright);color:var(--void);}
@media (max-width:1100px){.home-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:860px){.home-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}}
@media (max-width:560px){
  .home-product-grid{grid-template-columns:1fr;}
  .home-product-card{display:grid;grid-template-columns:112px minmax(0,1fr);}
  .home-product-card__visual{aspect-ratio:auto;height:100%;min-height:190px;}
  .home-product-card__placeholder{padding:12px;}
  .home-product-card__mark{width:46px;height:46px;font-size:20px;}
  .home-product-card__placeholder-text{font-size:8.5px;}
  .home-product-card__body{padding:17px 16px;}
}
@media (max-width:390px){
  .home-product-card{display:flex;}
  .home-product-card__visual{aspect-ratio:16/9;min-height:0;}
}


/* ---------------- Shop header automatic imagery (v1.4.2) ---------------- */
.shop-page-header{
  background-size:cover;background-position:center 42%;background-repeat:no-repeat;
  min-height:430px;display:flex;align-items:flex-end;
}
.shop-page-header > .bg-overlay{
  background:linear-gradient(90deg,rgba(5,11,7,.92) 0%,rgba(5,11,7,.78) 48%,rgba(5,11,7,.48) 100%);
}
.shop-page-header .page-header-inner{padding-bottom:4px;}
.shop-page-header .page-header-inner h1{text-shadow:0 3px 28px rgba(0,0,0,.28);}
html[data-theme="light"] .shop-page-header > .bg-overlay{
  background:linear-gradient(90deg,rgba(245,248,245,.94) 0%,rgba(245,248,245,.84) 50%,rgba(245,248,245,.58) 100%);
}

/* ---------------- Stable related products (v1.4.2) ---------------- */
.nashixwa-related-products{
  clear:both;width:100%;max-width:none;margin:76px 0 0;padding:48px 0 0;border-top:1px solid var(--line);
}
.nashixwa-related-heading{margin-bottom:28px;max-width:760px;}
.nashixwa-related-heading .eyebrow{margin-bottom:12px;}
.nashixwa-related-heading h2{
  font-family:var(--display);font-size:clamp(28px,4vw,40px);line-height:1;text-transform:uppercase;color:var(--paper);margin:0;
}
.nashixwa-related-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;
}
.nashixwa-related-grid .home-product-card{width:100%;margin:0;float:none;clear:none;}
.home-product-card__auto-art{display:block;width:100%;height:100%;object-fit:cover;}

/* Defensive reset in case WooCommerce/plugin CSS still adds archive sizing. */
.woocommerce .nashixwa-related-grid > *{float:none!important;width:auto!important;margin-left:0!important;margin-right:0!important;}
.woocommerce .nashixwa-related-grid .home-product-card__button{display:inline-flex!important;}

@media (max-width:1100px){
  .nashixwa-related-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:860px){
  .shop-page-header{min-height:370px;background-position:center;}
  .nashixwa-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
}
@media (max-width:560px){
  .shop-page-header{min-height:330px;}
  .nashixwa-related-products{margin-top:56px;padding-top:36px;}
  .nashixwa-related-grid{grid-template-columns:1fr;}
  .nashixwa-related-grid .home-product-card{display:grid;grid-template-columns:112px minmax(0,1fr);}
  .nashixwa-related-grid .home-product-card__visual{aspect-ratio:auto;min-height:190px;height:100%;}
}
@media (max-width:390px){
  .nashixwa-related-grid .home-product-card{display:flex;}
  .nashixwa-related-grid .home-product-card__visual{aspect-ratio:16/9;min-height:0;}
}
