/* WooCommerce owns its markup; prototype styles never size commerce elements. */
.autoflux-content,.home #shop{width:100%;min-width:0}
.woocommerce .woocommerce-breadcrumb{font-size:13px;margin:0 0 20px;color:var(--muted)}
.woocommerce .woocommerce-result-count{float:left;margin:0 0 24px;line-height:46px}
.woocommerce .woocommerce-ordering{float:right;margin:0 0 24px;max-width:100%}
.woocommerce .woocommerce-ordering select{width:280px;max-width:100%;margin:0;font-size:14px;padding:12px}
.woocommerce ul.products,.woocommerce-page ul.products{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;
  width:100%;margin:0 0 36px;padding:0;list-style:none;clear:both;
}
.woocommerce ul.products::before,.woocommerce ul.products::after,
.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{display:none;content:none}
body .woocommerce ul.products li.product,body.woocommerce-page ul.products li.product{
  float:none!important;width:auto!important;max-width:none;min-width:0;margin:0!important;clear:none!important;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px;
  box-shadow:0 4px 16px #20232905;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;min-width:0}
.woocommerce ul.products li.product a img{display:block;width:100%;height:220px;object-fit:contain;margin:0 0 18px;background:#fafbfc;border-radius:8px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0;padding:0;margin:0 0 12px;overflow-wrap:anywhere}
.woocommerce ul.products li.product .price{position:static;display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;color:var(--ink);font-size:22px;font-weight:700;margin:auto 0 16px;line-height:1.4}
.woocommerce ul.products li.product .price small{font-size:12px;font-weight:400;color:var(--muted)}
.woocommerce ul.products li.product .price del{font-size:15px}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .button{display:block;float:none;width:100%;text-align:center;padding:12px 14px;margin:0;border-radius:8px;white-space:normal}
.woocommerce ul.products li.product .added_to_cart{display:block;text-align:center;font-size:13px;padding-top:10px}
.woocommerce ul.products li.product .star-rating{margin:0 0 12px}
.woocommerce ul.products li.product .onsale{z-index:2;margin:10px;top:0;right:0;left:auto}
.woocommerce span.onsale{background:var(--yellow);color:var(--ink);font-size:12px}

/* Product details: gallery and buying area, followed by full width tabs. */
body.single-product .woocommerce-notices-wrapper{grid-column:1/-1}
body.single-product div.product.type-product{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;
  width:100%;min-width:0;position:relative;overflow:visible;background:transparent;border:0;box-shadow:none;padding:0;
}
body.single-product div.product.type-product::before,body.single-product div.product.type-product::after{display:none;content:none}
body.single-product div.product .woocommerce-product-gallery{
  float:none;width:100%!important;min-width:0;margin:0;align-self:start;
  background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
}
body.single-product div.product .woocommerce-product-gallery__wrapper{margin:0}
body.single-product div.product .woocommerce-product-gallery__image img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain}
body.single-product div.product .woocommerce-product-gallery__image--placeholder img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#fafbfc}
body.single-product div.product div.summary{
  float:none;width:auto;min-width:0;margin:0;padding:28px;
  background:#fff;border:1px solid var(--line);border-radius:14px;
}
body.single-product .summary .product_title{font-size:30px;line-height:1.25;font-weight:700;letter-spacing:-.6px;margin:0 0 18px;overflow-wrap:anywhere}
body.single-product .summary p.price{position:static;margin:0 0 20px;font-size:30px;font-weight:700;color:var(--ink);line-height:1.4}
body.single-product .summary .price small{font-size:14px;font-weight:400;color:var(--muted)}
body.single-product .summary .price del{font-size:20px;color:var(--muted)}
body.single-product .summary .price ins{text-decoration:none}
body.single-product .summary .woocommerce-product-details__short-description p{font-size:15px;line-height:1.65;color:#59616d}
body.single-product .summary p.stock{position:static;display:inline-block;margin:18px 0;padding:6px 12px;font-size:13px;font-weight:600;color:#176d42;background:#edf8f1;border:1px solid #c7e8d3;border-radius:20px}
body.single-product .summary p.out-of-stock{color:#9c3535;background:#fff0f0;border-color:#edc8c8}
body.single-product .summary form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px;width:100%;margin:0 0 24px;padding:0;background:transparent;border:0;border-radius:0;float:none}
body.single-product .summary form.cart .quantity{float:none;margin:0}
body.single-product .summary form.cart .qty{width:76px;min-height:46px;padding:10px;border:1px solid #cfd4db;border-radius:8px;background:#fff;color:var(--ink)}
body.single-product .summary form.cart .single_add_to_cart_button{float:none;flex:1;min-height:46px;margin:0;padding:12px 18px;font-size:16px}
body.single-product .summary .product_meta{border-top:1px solid var(--line);padding-top:16px;font-size:13px;color:var(--muted)}
body.single-product .summary .product_meta>span{display:block;margin:6px 0;overflow-wrap:anywhere}
body.single-product div.product .woocommerce-tabs,body.single-product div.product .related,body.single-product div.product .upsells{grid-column:1/-1;width:100%;min-width:0;float:none;clear:both;margin:0}
body.single-product div.product .woocommerce-tabs{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}
body.single-product div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 24px;overflow:visible}
body.single-product div.product .woocommerce-tabs ul.tabs::before{display:none}
body.single-product div.product .woocommerce-tabs ul.tabs li{border:0;border-radius:7px;background:#f0f2f5;padding:0 16px;margin:0}
body.single-product div.product .woocommerce-tabs ul.tabs li::before,body.single-product div.product .woocommerce-tabs ul.tabs li::after{display:none}
body.single-product div.product .woocommerce-tabs ul.tabs li.active{background:var(--yellow)}
body.single-product div.product .woocommerce-tabs ul.tabs li a{font-size:14px;padding:10px 0;color:var(--ink)}
body.single-product div.product .woocommerce-tabs .panel{margin:0;box-shadow:none;min-width:0}
body.single-product div.product .woocommerce-tabs .panel h2{font-size:22px;margin:0 0 16px}
.woocommerce table.shop_attributes{font-size:14px;margin:0 0 18px;border:1px solid var(--line);border-collapse:collapse}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{padding:10px 14px;border-bottom:1px solid var(--line);font-style:normal;text-align:left}
.woocommerce table.shop_attributes th{width:34%;min-width:0}
.woocommerce table.shop_attributes td p{padding:0;margin:0}
.woocommerce-message,.woocommerce-info,.woocommerce-error{grid-column:1/-1;font-size:14px}
.woocommerce .related h2,.woocommerce .upsells h2{font-size:24px;margin:0 0 22px}

@media(max-width:1000px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  body.single-product div.product.type-product{gap:22px}
  body.single-product div.product div.summary{padding:22px}
  body.single-product .summary .product_title{font-size:26px}
}
@media(max-width:760px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  body.single-product div.product.type-product{grid-template-columns:minmax(0,1fr);gap:20px}
  body.single-product div.product .woocommerce-product-gallery{max-width:520px;justify-self:center}
  .woocommerce .woocommerce-result-count{float:none;margin-bottom:10px;line-height:1.5}
  .woocommerce .woocommerce-ordering{float:none;width:100%;margin-bottom:22px}
  .woocommerce .woocommerce-ordering select{width:100%}
  .woocommerce ul.products li.product a img{height:190px}
}
@media(max-width:480px){
  body .woocommerce ul.products li.product,body.woocommerce-page ul.products li.product{padding:12px}
  .woocommerce ul.products,.woocommerce-page ul.products{gap:12px}
  .woocommerce ul.products li.product a img{height:145px;margin-bottom:12px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px}
  .woocommerce ul.products li.product .price{font-size:19px}
  .woocommerce ul.products li.product .button{font-size:13px;padding:11px 8px}
  body.single-product div.product div.summary,body.single-product div.product .woocommerce-tabs{padding:18px}
  body.single-product .summary .product_title{font-size:24px}
  .topbar{height:auto;min-height:65px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
  .topbar .cart{padding:8px 10px}
}

/* Keep the header readable alongside the catalog search on narrow screens. */
.topbar .wordmark,.topbar .af-garage-header-link,.topbar .cart{white-space:nowrap;flex-shrink:0}
@media(max-width:900px){.topbar{height:auto;min-height:65px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.topbar .toplabel{display:none}}
