/* ==========================================================================
   Dwyer Rugs — WooCommerce
   ========================================================================== */

.woocommerce-breadcrumb{font-size:.78rem;color:var(--muted);margin-bottom:16px;letter-spacing:.02em}
.woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce-breadcrumb a:hover{color:var(--clay)}

/* shop layout */
.dwyer-shop-wrap{padding:clamp(30px,4vw,52px) 0 clamp(60px,8vw,100px)}
.shop-head{margin-bottom:26px}
.shop-head .eyebrow{margin-bottom:10px}
.shop-head h1{font-size:clamp(2rem,4vw,3rem)}
.shop-head p{color:var(--ink2);margin-top:10px;max-width:640px}

.shop-layout{display:grid;grid-template-columns:262px 1fr;gap:clamp(28px,4vw,52px);align-items:start}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:18px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.woocommerce-result-count{margin:0;font-size:.82rem;color:var(--muted)}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select,.shop-toolbar select{padding:9px 34px 9px 14px;border:1px solid var(--line);background:var(--paper);font-family:var(--sans);font-size:.8rem;color:var(--ink);cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%238b8272' stroke-width='2' d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}

/* filter sidebar */
.shop-filters{position:sticky;top:92px}
.filter-group{border-bottom:1px solid var(--line);padding:18px 0}
.filter-group:first-child{padding-top:0}
.filter-group>.widget-title,.filter-group .filter-title{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.filter-title svg{width:14px;height:14px;color:var(--muted);transition:.3s}
.filter-group.collapsed .filter-title svg{transform:rotate(-90deg)}
.filter-group.collapsed .filter-body{display:none}
.filter-body{display:flex;flex-direction:column;gap:2px}
.filter-opt{display:flex;align-items:center;gap:9px;font-size:.86rem;color:var(--ink2);padding:5px 0;cursor:pointer;transition:.2s}
.filter-opt:hover{color:var(--clay)}
.filter-opt input{width:15px;height:15px;accent-color:var(--clay);flex-shrink:0}
.filter-opt .cnt{margin-left:auto;font-size:.72rem;color:var(--muted)}
.filter-opt.is-active{color:var(--clay);font-weight:600}
.filter-swatches{display:flex;flex-wrap:wrap;gap:8px}
.filter-swatch{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);cursor:pointer;position:relative;transition:.2s}
.filter-swatch.is-active{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--clay)}
.filter-swatch input{position:absolute;opacity:0;inset:0;cursor:pointer}
.price-filter{display:flex;flex-direction:column;gap:12px}
.price-filter .prow{display:flex;gap:10px}
.price-filter input{width:100%;padding:9px 11px;border:1px solid var(--line);background:var(--paper);font-family:var(--sans);font-size:.84rem}
.filter-actions{display:flex;gap:10px;margin-top:6px}
.filter-clear{display:inline-block;margin-top:14px;font-size:.78rem;color:var(--muted);border-bottom:1px solid transparent}
.filter-clear:hover{color:var(--clay);border-color:var(--clay)}

.active-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.active-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 8px 6px 12px;background:var(--panel);border:1px solid var(--line);font-size:.76rem;color:var(--ink2)}
.active-chip button{background:none;border:none;cursor:pointer;color:var(--muted);display:inline-flex;padding:0}
.active-chip button svg{width:12px;height:12px}
.active-chip button:hover{color:var(--clay)}

/* mobile filter trigger */
.filter-trigger{display:none;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--line);background:var(--paper);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.filter-trigger svg{width:16px;height:16px}

/* product grid.
   ul.products (shop, category, related) is FLEX so an incomplete last row
   centres itself instead of leaving an empty cell hanging on the right —
   works for any product count. .dwyer-products (homepage featured, count I
   control) stays a clean grid. */
.dwyer-products{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);margin:0}
ul.products{--pg-gap:clamp(16px,2vw,26px);--pg-cols:3;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--pg-gap)}
/* WooCommerce adds clearfix ::before/::after that become phantom flex items and
   break wrapping (orphan jumps to the top row). Remove them in flex context. */
ul.products::before,ul.products::after{content:none!important;display:none!important}
ul.products>li.product{flex:0 1 calc((100% - (var(--pg-cols) - 1) * var(--pg-gap)) / var(--pg-cols) - 0.5px);max-width:calc((100% - (var(--pg-cols) - 1) * var(--pg-gap)) / var(--pg-cols) - 0.5px);margin:0;position:relative}
.dwyer-products li.product,.rug-card{margin:0;position:relative}
.rug-card-link{display:block;position:relative}
.rug-card-media{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--panel)}
.rug-card-media img{width:100%;height:100%;object-fit:cover;transition:1.1s var(--ease)}
.rug-card-link:hover .rug-card-media img{transform:scale(1.06)}
.rug-card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(30,28,24,.55),transparent 50%);opacity:0;transition:.4s}
.rug-card-link:hover .rug-card-media::after{opacity:1}
.rug-flag{position:absolute;top:12px;left:12px;z-index:2;background:var(--bone);color:var(--ink);font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px}
.rug-flag--sale{background:var(--clay);color:#fff}
.rug-card-view{position:absolute;left:0;right:0;bottom:16px;z-index:2;text-align:center;color:var(--bone);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:.4s var(--ease)}
.rug-card-link:hover .rug-card-view{opacity:1;transform:none}
.rug-card-body{padding:16px 2px 4px}
.rug-card-title{font-size:1.12rem;line-height:1.25;font-weight:500}
.rug-card-meta{font-size:.76rem;color:var(--muted);margin-top:5px;letter-spacing:.02em}
.rug-card-price{margin-top:9px;font-family:var(--disp);font-size:1.15rem;color:var(--clay)}
.rug-card-price del{color:var(--muted);font-size:.9rem;margin-right:8px}
.rug-card-price ins{text-decoration:none}
.rug-card-price .price--request{font-style:italic;font-size:1rem;color:var(--sage)}

/* pagination */
.woocommerce-pagination{margin-top:48px;text-align:center}
.woocommerce-pagination ul{display:inline-flex;list-style:none;gap:6px}
.woocommerce-pagination a,.woocommerce-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 8px;border:1px solid var(--line);font-size:.86rem;color:var(--ink2);transition:.3s}
.woocommerce-pagination a:hover{border-color:var(--ink);background:var(--ink);color:var(--bone)}
.woocommerce-pagination .current{background:var(--clay);border-color:var(--clay);color:#fff}

/* no products */
.woocommerce-info,.woocommerce-no-products-found{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--clay);padding:18px 22px;font-size:.94rem;color:var(--ink2);margin-bottom:20px}

/* ==========================================================================
   Single product
   ========================================================================== */
.single-product .dwyer-shop-wrap{padding-top:clamp(24px,3vw,40px)}
.product-top{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,64px);align-items:start}
.woocommerce-product-gallery{position:relative}
.woocommerce-product-gallery__wrapper{border:1px solid var(--line);background:var(--paper);padding:12px}
.woocommerce-product-gallery__image img{width:100%}
.flex-control-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;list-style:none;padding:0}
.flex-control-thumbs li{width:78px}
.flex-control-thumbs img{border:1px solid var(--line);cursor:pointer;opacity:.65;transition:.3s}
.flex-control-thumbs img:hover,.flex-control-thumbs .flex-active{opacity:1;border-color:var(--clay)}
.woocommerce-product-gallery__trigger{position:absolute;top:20px;right:20px;z-index:5;width:40px;height:40px;background:var(--bone);border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--line)}

.product_title{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:400;line-height:1.1;margin-bottom:14px}
.summary .rug-eyebrow{display:block;margin-bottom:8px}
.single-product div.product p.price,.single-product div.product span.price{font-family:var(--disp);font-size:1.9rem;color:var(--clay);margin:0 0 18px}
.single-product .price del{color:var(--muted);font-size:1.2rem;margin-right:10px}
.single-product .price ins{text-decoration:none}
.single-product .price .price--request{font-style:italic;color:var(--sage)}
.woocommerce-product-details__short-description{font-size:1.02rem;color:var(--ink2);margin-bottom:22px;line-height:1.65}
.stock{font-size:.82rem;letter-spacing:.04em;margin-bottom:16px}
.stock.in-stock{color:var(--ok)}
.stock.out-of-stock{color:var(--err)}

/* add to cart */
.single_variation_wrap,form.cart{margin:22px 0}
form.cart .quantity{display:inline-flex;align-items:center;border:1px solid var(--line);margin-right:12px}
form.cart .quantity input.qty{width:56px;height:52px;border:none;text-align:center;font-family:var(--sans);font-size:1rem;background:transparent;-moz-appearance:textfield}
form.cart .quantity input::-webkit-outer-spin-button,form.cart .quantity input::-webkit-inner-spin-button{-webkit-appearance:none}
.woocommerce div.product form.cart .button,
.woocommerce .single_add_to_cart_button,
button.single_add_to_cart_button.alt{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--sans);font-weight:500;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:1.15em 2.4em;cursor:pointer;background:var(--clay)!important;border:1px solid var(--clay)!important;color:#fff!important;border-radius:0!important;transition:.35s var(--ease)}
.woocommerce div.product form.cart .button:hover,
.woocommerce .single_add_to_cart_button:hover,
button.single_add_to_cart_button.alt:hover{background:var(--clay-dk)!important;border-color:var(--clay-dk)!important}

/* generic WooCommerce buttons -> theme style */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--ink);border-radius:0;color:var(--bone);font-family:var(--sans);font-weight:500;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;padding:.9em 1.6em;transition:.3s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{background:var(--ink2);color:var(--bone)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--clay);border-color:var(--clay);color:#fff}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:var(--clay-dk)}
.woocommerce .added_to_cart{margin-left:10px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);align-self:center}
.woocommerce-variation-add-to-cart{display:flex;align-items:center;flex-wrap:wrap;gap:12px}

/* specs */
.rug-specs{margin:26px 0;padding:24px;background:var(--paper);border:1px solid var(--line)}
.rug-specs-title{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);font-family:var(--sans);font-weight:600;margin-bottom:14px}
.rug-specs dl{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;row-gap:0}
.rug-spec{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:.88rem}
.rug-spec dt{color:var(--muted)}
.rug-spec dd{color:var(--ink);font-weight:500;text-align:right}
.rug-condition-notes{margin-top:14px;font-size:.9rem;color:var(--ink2);line-height:1.6}

/* assurance */
.rug-assurance{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;margin:20px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rug-assurance li{display:flex;align-items:center;gap:9px;font-size:.82rem;color:var(--ink2)}
.rug-assurance svg{width:20px;height:20px;color:var(--sage)}

/* enquiry (single) */
.rug-enquiry{margin-top:24px;border:1px solid var(--line);background:var(--panel);padding:22px 24px}
.rug-enquiry h3{font-size:1.3rem;margin-bottom:4px}
.rug-enquiry .sub{font-size:.86rem;color:var(--muted);margin-bottom:16px}
.rug-enquiry .field label{color:var(--ink2)}
.rug-enquiry .field input,.rug-enquiry .field textarea{background:var(--paper)}
.rug-enquiry .btn{margin-top:4px}
.rug-enquiry-toggle{margin-top:22px;width:100%;display:flex;align-items:center;justify-content:center;gap:.5em;padding:1.05em 1.6em;border:1px solid var(--ink);background:transparent;font-family:var(--sans);font-weight:500;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:.3s}
.rug-enquiry-toggle:hover{background:var(--ink);color:var(--bone)}

/* tabs */
.woocommerce-tabs{margin-top:clamp(48px,6vw,80px)}
.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:28px;flex-wrap:wrap}
.woocommerce-tabs ul.tabs li{margin:0}
.woocommerce-tabs ul.tabs li a{display:inline-block;padding:14px 24px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:.3s}
.woocommerce-tabs ul.tabs li.active a,.woocommerce-tabs ul.tabs li a:hover{color:var(--clay);border-color:var(--clay)}
.woocommerce-Tabs-panel h2{font-size:1.6rem;margin-bottom:16px}
.woocommerce-Tabs-panel{font-size:1rem;color:var(--ink2);line-height:1.7;max-width:820px}
.woocommerce-Tabs-panel p{margin-bottom:1em}
.shop_attributes{width:100%;border-collapse:collapse;margin-top:8px}
.shop_attributes th{text-align:left;padding:11px 16px 11px 0;font-weight:600;color:var(--ink);width:220px;border-bottom:1px solid var(--line-2);font-size:.9rem}
.shop_attributes td{padding:11px 0;color:var(--ink2);border-bottom:1px solid var(--line-2);font-size:.9rem}

/* related */
.related.products,.upsells.products{margin-top:clamp(56px,7vw,96px);border-top:1px solid var(--line);padding-top:clamp(40px,5vw,64px)}
.related.products>h2,.upsells.products>h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:28px;font-weight:400}

/* ==========================================================================
   Cart
   ========================================================================== */
.woocommerce-cart .dwyer-shop-wrap,.woocommerce-checkout .dwyer-shop-wrap,.woocommerce-account .dwyer-shop-wrap{padding-top:clamp(30px,4vw,52px)}
.cart-columns{display:grid;grid-template-columns:1fr 360px;gap:clamp(28px,4vw,52px);align-items:start}
.woocommerce-cart table.cart{width:100%;border-collapse:collapse}
.woocommerce-cart table.cart th{text-align:left;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0 0 14px;border-bottom:1px solid var(--line)}
.woocommerce-cart table.cart td{padding:20px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.woocommerce-cart .product-thumbnail img{width:88px;border:1px solid var(--line)}
.woocommerce-cart .product-name a{font-family:var(--disp);font-size:1.15rem;color:var(--ink)}
.woocommerce-cart .product-name a:hover{color:var(--clay)}
.woocommerce-cart td.product-price,.woocommerce-cart td.product-subtotal{font-family:var(--disp);color:var(--ink)}
.product-remove a{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--panel);color:var(--muted)!important;font-size:1rem;line-height:1;text-decoration:none}
.product-remove a:hover{background:var(--clay);color:#fff!important}
.woocommerce-cart .quantity input.qty{width:60px;height:44px;text-align:center;border:1px solid var(--line);background:var(--paper)}
.actions{padding-top:22px!important;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-bottom:none!important}
.coupon{display:flex;gap:10px}
.coupon input{padding:12px 14px;border:1px solid var(--line);background:var(--paper);font-size:.88rem}
.cart_totals{background:var(--paper);border:1px solid var(--line);padding:28px}
.cart_totals h2{font-size:1.4rem;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.cart_totals table{width:100%;border-collapse:collapse}
.cart_totals th{text-align:left;padding:12px 0;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;vertical-align:top}
.cart_totals td{text-align:right;padding:12px 0;font-family:var(--disp);color:var(--ink)}
.cart_totals tr.order-total td{font-size:1.4rem;color:var(--clay)}
.cart_totals tr{border-bottom:1px solid var(--line-2)}
.wc-proceed-to-checkout{margin-top:20px}
.checkout-button{display:flex!important;align-items:center;justify-content:center;width:100%;padding:1.15em!important;background:var(--clay)!important;border:1px solid var(--clay)!important;color:#fff!important;font-family:var(--sans);font-weight:500;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;transition:.35s}
.checkout-button:hover{background:var(--clay-dk)!important}
button[name="update_cart"]{background:transparent;border:1px solid var(--ink);color:var(--ink);padding:12px 20px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:.3s}
button[name="update_cart"]:hover{background:var(--ink);color:var(--bone)}
button[name="update_cart"]:disabled{opacity:.4}
.coupon button,.button[name="apply_coupon"]{background:var(--sage);border:1px solid var(--sage);color:#fff;padding:12px 18px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;cursor:pointer}

/* ==========================================================================
   Checkout
   ========================================================================== */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.2fr 1fr;column-gap:clamp(28px,4vw,52px);align-items:start}
.woocommerce-checkout form.checkout #customer_details{grid-column:1;grid-row:1 / span 2}
.woocommerce-checkout form.checkout #order_review_heading{grid-column:2;grid-row:1;margin-top:0}
.woocommerce-checkout form.checkout #order_review{grid-column:2;grid-row:2}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%;float:none}
.woocommerce-checkout h3{font-size:1.4rem;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.woocommerce-checkout .form-row{margin-bottom:14px}
.woocommerce-checkout label{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);font-weight:600;margin-bottom:6px}
.woocommerce-checkout .input-text,.woocommerce-checkout select,.select2-selection{width:100%;padding:12px 14px!important;border:1px solid var(--line)!important;background:var(--paper)!important;font-family:var(--sans);font-size:.92rem;border-radius:0!important}
.woocommerce-checkout textarea.input-text{min-height:90px}
#order_review{background:var(--paper);border:1px solid var(--line);padding:28px;position:sticky;top:92px}
.woocommerce-checkout #order_review table{width:100%;border-collapse:collapse}
.woocommerce-checkout #order_review th,.woocommerce-checkout #order_review td{padding:12px 0;border-bottom:1px solid var(--line-2);font-size:.9rem;text-align:left}
.woocommerce-checkout #order_review td{text-align:right;font-family:var(--disp)}
.woocommerce-checkout .order-total .amount{color:var(--clay);font-size:1.3rem}
#payment{background:transparent}
#payment ul.payment_methods{list-style:none;padding:0;border:1px solid var(--line);margin-bottom:18px}
#payment ul.payment_methods li{padding:14px 16px;border-bottom:1px solid var(--line-2)}
#payment div.payment_box{background:var(--panel);padding:14px;font-size:.86rem;margin-top:8px}
#place_order{width:100%;padding:1.15em!important;background:var(--clay)!important;border:1px solid var(--clay)!important;color:#fff!important;font-family:var(--sans);font-weight:500;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:.35s}
#place_order:hover{background:var(--clay-dk)!important}

/* ==========================================================================
   Account / notices / messages
   ========================================================================== */
.woocommerce-message,.woocommerce-error,.woocommerce-info{border-radius:0;font-size:.9rem}
.woocommerce-message{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--ok);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.woocommerce-error{list-style:none;background:#fbf1ef;border:1px solid rgba(168,64,47,.3);border-left:3px solid var(--err);padding:16px 20px;color:var(--err);margin-bottom:20px}
.woocommerce-message .button,.woocommerce-error .button,.woocommerce-info .button{background:var(--ink);color:var(--bone);padding:9px 16px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:230px 1fr;gap:40px;align-items:start}
.woocommerce-MyAccount-navigation ul{list-style:none}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
.woocommerce-MyAccount-navigation li a{display:block;padding:12px 0;font-size:.9rem;color:var(--ink2)}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--clay);font-weight:600}
.woocommerce form.login,.woocommerce form.register{border:1px solid var(--line);background:var(--paper);padding:28px}

/* related / upsell: 4 across (flex, so 3 orphans still centre) */
.related ul.products,.upsells ul.products{--pg-cols:4}

/* responsive */
@media(max-width:1000px){
  .shop-layout{grid-template-columns:1fr}
  .shop-filters{position:fixed;inset:0;z-index:120;background:var(--bone);padding:22px;overflow-y:auto;transform:translateX(-100%);transition:transform .4s var(--ease);top:0}
  .shop-filters.open{transform:none}
  .filter-trigger{display:inline-flex}
  .product-top{grid-template-columns:1fr}
  .cart-columns{grid-template-columns:1fr}
  .woocommerce-checkout form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout form.checkout #customer_details,
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review{grid-column:1;grid-row:auto}
  #order_review{position:static}
  .related ul.products,.upsells ul.products{--pg-cols:2}
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
}
@media(max-width:640px){
  ul.products{--pg-cols:2;--pg-gap:12px}
  .dwyer-products{grid-template-columns:1fr 1fr;gap:12px}
  .rug-card-title{font-size:.98rem}
  .rug-specs dl{grid-template-columns:1fr}
  .woocommerce-cart table.cart thead{display:none}
  .woocommerce-cart table.cart tr{display:grid;grid-template-columns:88px 1fr;gap:6px 14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}
  .woocommerce-cart table.cart td{padding:2px 0;border:none}
  .woocommerce-cart td.product-remove{grid-column:2;justify-self:start}
  .woocommerce-cart td.product-thumbnail{grid-row:1/span 4}
  .related ul.products,.upsells ul.products{--pg-cols:2}
  .woocommerce-tabs ul.tabs{gap:0}
  .woocommerce-tabs ul.tabs li a{padding:12px 14px;font-size:.72rem}
}
