/* ===== Acetek WooCommerce — Signal Bay ===== */
/* Full-width shop: defeat GeneratePress + WooCommerce archive boxing */
.post-type-archive-product #page.grid-container,.tax-product_cat #page.grid-container,
.page-id-23 #page.grid-container,.woocommerce-shop #page.grid-container{max-width:100%!important;padding:0!important}
.post-type-archive-product .site-content,.page-id-23 .site-content{padding:0!important}
.post-type-archive-product .content-area,.page-id-23 .content-area{max-width:100%!important;width:100%!important}
.post-type-archive-product .inside-article,.page-id-23 .inside-article{padding:0!important;border:0!important;box-shadow:none!important}
.post-type-archive-product .entry-content,.page-id-23 .entry-content{margin:0!important}
/* hide WooCommerce's duplicate shop title + breadcrumb (our shortcode has its own header) */
.page-id-23 .woocommerce-products-header__title,.woocommerce-shop .woocommerce-products-header__title,.post-type-archive-product .woocommerce-products-header__title,.woocommerce-breadcrumb{display:none!important}

/* ===== Cart + Checkout shared shell ===== */
.woocommerce-cart .entry-content,.woocommerce-checkout .entry-content{max-width:1180px;margin:0 auto!important;padding:48px clamp(18px,4vw,48px) 90px;font-family:"IBM Plex Sans",sans-serif;color:#0D131C}
.woocommerce-cart #page.grid-container,.woocommerce-checkout #page.grid-container{max-width:100%!important}
.woocommerce-cart .inside-article,.woocommerce-checkout .inside-article{padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.woocommerce-cart .woocommerce-products-header,.woocommerce-checkout .woocommerce-products-header,.woocommerce-cart .entry-header,.woocommerce-checkout .entry-header{display:none!important}
/* page title we inject via ::before */
.woocommerce-cart .woocommerce::before{content:"Your cart";display:block;font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(28px,4vw,44px);text-transform:uppercase;letter-spacing:-1px;margin:0 0 6px}
.woocommerce-checkout .woocommerce::before{content:"Checkout";display:block;font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(28px,4vw,44px);text-transform:uppercase;letter-spacing:-1px;margin:0 0 24px}

/* Tables (cart + order review) */
.woocommerce table.shop_table{border:1px solid #CDD3DA;border-radius:4px;border-collapse:separate;background:#fff;overflow:hidden}
.woocommerce table.shop_table thead th{background:#0B2237;color:#fff;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:14px 18px;border:0}
.woocommerce table.shop_table td{padding:18px;border-top:1px solid #E8EAED;font-size:15px;vertical-align:middle}
.woocommerce table.shop_table td.product-name a{color:#0D131C;font-weight:600;text-decoration:none}
.woocommerce table.shop_table td.product-name a:hover{color:#C6350C}
.woocommerce .cart_item .product-price,.woocommerce .cart_item .product-subtotal{font-family:"IBM Plex Mono",monospace;font-weight:600}
.woocommerce .product-remove a.remove{color:#C6350C!important;border:1px solid #CDD3DA;background:#fff!important;width:26px;height:26px;line-height:24px;border-radius:4px;font-size:16px}
.woocommerce .product-remove a.remove:hover{background:#FF4A17!important;color:#fff!important;border-color:#FF4A17}
.woocommerce img.attachment-woocommerce_thumbnail{border-radius:4px;border:1px solid #E8EAED;mix-blend-mode:multiply}

/* Quantity input */
.woocommerce .quantity .qty{border:1px solid #CDD3DA;border-radius:4px;padding:9px;font-family:"IBM Plex Mono",monospace;min-height:44px;width:70px}

/* Coupon + update buttons row */
.woocommerce .cart .actions{padding:18px 0}
.woocommerce .cart .actions .coupon input{border:1px solid #CDD3DA;border-radius:4px;padding:12px;font-family:"IBM Plex Mono",monospace;min-height:46px}

/* Buttons — Signal Bay */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce .button.alt,.woocommerce #place_order{
  background:#FF4A17!important;color:#fff!important;border:0!important;border-radius:4px!important;
  font-family:"IBM Plex Mono",monospace!important;font-size:13px!important;font-weight:600!important;
  letter-spacing:1px!important;text-transform:uppercase!important;padding:15px 26px!important;min-height:50px;
  transition:background .18s,transform .18s,box-shadow .18s!important;cursor:pointer}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce .button.alt:hover,.woocommerce #place_order:hover{
  background:#E63F0F!important;transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(255,74,23,.7)}
/* secondary buttons (update cart, apply coupon) */
.woocommerce .cart .actions .button,.woocommerce .coupon .button{background:#0B2237!important}
.woocommerce .cart .actions .button:hover,.woocommerce .coupon .button:hover{background:#0D131C!important;box-shadow:none}
.woocommerce .button[disabled]{opacity:.4}

/* Cart totals + checkout review panel */
.woocommerce .cart_totals,.woocommerce-checkout #order_review{background:#fff;border:1px solid #CDD3DA;border-radius:4px;padding:8px 24px 24px}
.woocommerce .cart_totals h2,.woocommerce-checkout #order_review_heading{font-family:"Archivo",sans-serif;font-weight:800;font-size:18px;text-transform:uppercase;letter-spacing:-.3px;padding-top:20px}
.woocommerce .cart-collaterals .cart_totals tr td,.woocommerce .cart-collaterals .cart_totals tr th{border-top:1px solid #E8EAED;padding:14px 0}
.woocommerce .order-total .amount{font-family:"Archivo",sans-serif;font-weight:800;font-size:20px;color:#0D131C}
.woocommerce .wc-proceed-to-checkout{padding:20px 0 4px}
.woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;text-align:center;font-size:14px!important}

/* Checkout form fields */
.woocommerce-checkout h3{font-family:"Archivo",sans-serif;font-weight:700;text-transform:uppercase;font-size:16px;letter-spacing:-.2px;border-bottom:2px solid #FF4A17;padding-bottom:8px;display:inline-block;margin-bottom:18px}
.woocommerce form .form-row label{font-family:"IBM Plex Mono",monospace;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#3D4855;margin-bottom:6px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-checkout .select2-selection{
  border:1px solid #CDD3DA!important;border-radius:4px!important;padding:13px!important;min-height:48px;font-family:"IBM Plex Sans",sans-serif;font-size:15px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:#FF4A17!important;outline:none;box-shadow:0 0 0 3px rgba(255,74,23,.12)}
.woocommerce .col2-set{display:grid;gap:30px}
@media(min-width:900px){.woocommerce-checkout .col2-set{grid-template-columns:1fr 1fr}}

/* checkout two-column layout: form + order review side by side */
@media(min-width:1000px){
  .woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.3fr .9fr;gap:38px;align-items:start}
  .woocommerce-checkout #customer_details{grid-column:1}
  .woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:2;grid-row:1/3}
  .woocommerce-checkout #order_review{position:sticky;top:100px}
}

/* payment box */
.woocommerce-checkout #payment{background:#F4F5F7!important;border-radius:4px}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid #CDD3DA}
.woocommerce-checkout #payment div.payment_box{background:#fff!important;border:1px solid #CDD3DA}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff!important}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:#FF4A17!important;border-radius:4px;font-family:"IBM Plex Sans",sans-serif}
.woocommerce-message::before,.woocommerce-info::before{color:#FF4A17!important}

/* empty cart */
.cart-empty.woocommerce-info{font-family:"IBM Plex Mono",monospace;background:#F4F5F7;border-radius:4px}
.return-to-shop .button{display:inline-block;margin-top:14px}
/* shop archive: real body classes are woocommerce-shop / post-type-archive-product */
.woocommerce-shop #page.grid-container,.post-type-archive-product #page.grid-container{max-width:100%!important;padding:0!important}
.woocommerce-shop .site-content,.post-type-archive-product .site-content{padding:0!important;display:block!important}
.woocommerce-shop .content-area,.post-type-archive-product .content-area{width:100%!important;max-width:100%!important;float:none!important;margin:0!important}
.woocommerce-shop #right-sidebar,.woocommerce-shop #left-sidebar,.post-type-archive-product #right-sidebar,.post-type-archive-product #left-sidebar{display:none!important}
.woocommerce-shop .inside-article,.post-type-archive-product .inside-article{padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.woocommerce-shop .entry-content,.post-type-archive-product .entry-content{margin:0!important}
.woocommerce-shop .woocommerce-products-header__title,.post-type-archive-product .woocommerce-products-header__title,.woocommerce-shop .woocommerce-breadcrumb,.post-type-archive-product .woocommerce-breadcrumb{display:none!important}
.woocommerce-shop .woocommerce-products-header,.post-type-archive-product .woocommerce-products-header{display:block!important;margin:0!important;padding:0!important}
.woocommerce-shop .page-description,.post-type-archive-product .page-description{margin:0!important}
.woocommerce-shop .woocommerce-archive-wrapper,.post-type-archive-product .woocommerce-archive-wrapper{max-width:100%!important;padding:0!important}

/* ===== Single product — Signal Bay datasheet ===== */
.single-product #page.grid-container{max-width:100%!important;padding:0!important}
.single-product .inside-article{padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.single-product #right-sidebar,.single-product #left-sidebar{display:none!important}
.single-product .content-area{width:100%!important;max-width:100%!important;float:none!important;margin:0!important}
.single-product div.product.type-product{max-width:1280px;margin:0 auto;padding:44px clamp(16px,4vw,48px) 80px;font-family:"IBM Plex Sans",sans-serif;color:#0D131C}
.single-product .woocommerce-breadcrumb{max-width:1280px;margin:0 auto;padding:22px clamp(16px,4vw,48px) 0;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8B95A1;display:block!important}
.single-product .woocommerce-breadcrumb a{color:#8B95A1;text-decoration:none}
.single-product .woocommerce-breadcrumb a:hover{color:#C6350C}

@media(min-width:900px){
  .single-product div.product.type-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:start}
  .single-product div.product.type-product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important;position:sticky;top:96px}
  .single-product div.product.type-product .summary{width:100%!important;float:none!important;margin:0!important}
}

/* gallery */
.woocommerce-product-gallery{background:#fff;border:1px solid #CDD3DA;border-radius:4px;padding:26px}
.woocommerce-product-gallery img{mix-blend-mode:multiply}
.woocommerce-product-gallery__trigger{border-radius:4px}

/* summary */
.single-product .product_title{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(26px,3.4vw,40px);line-height:1.02;letter-spacing:-1px;text-transform:uppercase;margin:0 0 14px}
.single-product .summary .price{font-family:"Archivo",sans-serif!important;font-weight:800!important;font-size:32px!important;color:#0D131C!important;margin:0 0 4px!important;display:block}
.single-product .summary .price del{opacity:.45;font-size:19px;font-weight:600}
.single-product .summary .price ins{text-decoration:none}
.ap-cash{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#C6350C;margin:0 0 22px}

/* datasheet rail */
.ap-rail{border-top:1px solid #CDD3DA;margin:0 0 18px}
.ap-rail__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px dashed #CDD3DA;font-family:"IBM Plex Mono",monospace;font-size:13px}
.ap-rail__row span{color:#8B95A1;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.ap-rail__row b{font-weight:600;text-align:right}

/* stock */
.ap-stock{display:flex;align-items:center;gap:8px;font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#0E8C63;margin:0 0 22px}
.ap-stock i{width:8px;height:8px;border-radius:50%;background:#0E8C63}
.ap-stock.low{color:#C6350C}.ap-stock.low i{background:#FF4A17}
.ap-stock.out{color:#8B95A1}.ap-stock.out i{background:#8B95A1}
.single-product .stock{display:none}

/* cart form */
.single-product form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:0 0 24px!important}
.single-product form.cart .quantity .qty{height:52px;width:78px;border:1px solid #CDD3DA;border-radius:4px;font-family:"IBM Plex Mono",monospace;font-size:15px;text-align:center}
.single-product .single_add_to_cart_button{flex:1;min-width:190px;min-height:52px}
.ap-wa{flex:1;min-width:190px;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 20px;border:1.5px solid #0D131C;border-radius:4px;background:none;color:#0D131C;font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;text-decoration:none;transition:.18s}
.ap-wa:hover{background:#0D131C;color:#E8EAED}

/* meta */
.single-product .product_meta{border-top:1px solid #CDD3DA;padding-top:16px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#8B95A1}
.single-product .product_meta a{color:#0D131C;text-decoration:none}
.single-product .product_meta a:hover{color:#C6350C}

/* tabs */
.woocommerce-tabs{margin-top:56px!important;border-top:1px solid #CDD3DA;padding-top:8px}
.woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 22px!important}
.woocommerce-tabs ul.tabs::before{display:none!important}
.woocommerce-tabs ul.tabs li{background:none!important;border:0!important;border-radius:0!important;margin:0 22px 0 0!important;padding:0!important}
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce-tabs ul.tabs li a{padding:12px 0!important;font-family:"IBM Plex Mono",monospace!important;font-size:12px!important;font-weight:600!important;letter-spacing:.12em;text-transform:uppercase;color:#8B95A1!important;border-bottom:2px solid transparent}
.woocommerce-tabs ul.tabs li.active a{color:#0D131C!important;border-bottom-color:#FF4A17}
.woocommerce-Tabs-panel h2{font-family:"Archivo",sans-serif;font-weight:800;text-transform:uppercase;font-size:18px;letter-spacing:-.3px}
.woocommerce-Tabs-panel{font-size:15px;line-height:1.65;color:#3D4855;max-width:70ch}
@media(min-width:640px){.related.products ul.products,.up-sells ul.products{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.related.products ul.products,.up-sells ul.products{grid-template-columns:repeat(4,1fr)}}
/* single product: stop GeneratePress flex container squeezing siblings */
.single-product .site-content{display:block!important;padding:0!important}
.single-product .content-area{flex:none!important}
/* keep Elementor header/footer containers full-bleed on product pages */
.single-product #ace-header-wrap,.single-product #ace-header-wrap>.e-con-inner{width:100%!important;max-width:100%!important}

/* ===== Product page sections (related / recently viewed) =====
   Rendered with Acetek's own card component, so no WooCommerce
   loop CSS is involved. Grid lives on .asec__grid only. */
.asec{max-width:1280px;margin:0 auto;padding:56px clamp(16px,4vw,48px) 0;border-top:1px solid #CDD3DA}
.asec__eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#C6350C;margin:26px 0 8px;display:flex;align-items:center;gap:9px}
.asec__eyebrow::before{content:'';width:22px;height:2px;background:#FF4A17}
.asec__title{font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(20px,2.6vw,28px);line-height:1;letter-spacing:-.7px;text-transform:uppercase;margin:0 0 24px}
.asec__grid{display:grid;gap:18px}
@media(min-width:560px){.asec__grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.asec__grid{grid-template-columns:repeat(4,1fr)}}
/* the product-page two-column grid must never cascade into these */
.single-product .asec,.single-product .asec__grid{grid-column:1/-1}
