/* ═══════════════════════════════════════════════
 * Trade Discount Shop — woocommerce.css
 * Polished WooCommerce overrides.
 * ═══════════════════════════════════════════════ */

/* ─── Rivmedia Product Filter: match brand colour ─── */
.rivmedia-pf-wrapper{--rivmedia-pf-primary:var(--tds-brand-500)}

/* ═══ SHOP ARCHIVE HERO ═══ */
.tds-shop-hero{position:relative;background:linear-gradient(135deg,var(--tds-brand-900) 0%,var(--tds-brand-700) 100%);overflow:hidden}
.tds-shop-hero__blueprint{position:absolute;inset:0;opacity:.05}
.tds-shop-hero__gradient{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,34,61,.6),transparent 80%)}
.tds-shop-hero__inner{position:relative;padding:2rem 0}
.tds-shop-hero__title{font-size:2rem;font-weight:800;color:#fff;margin:0;line-height:1.2}
.tds-shop-hero__desc{font-size:.9375rem;color:rgba(198,223,247,.8);margin-top:.5rem;max-width:36rem;line-height:1.5}
.tds-shop-hero__count{display:inline-block;margin-top:.625rem;font-size:.75rem;font-weight:600;color:var(--tds-brand-200);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:.25rem .75rem;border-radius:9999px}

/* Breadcrumbs inside hero — flush left, no extra padding */
.tds-shop-hero .tds-breadcrumb{background:none;border:none;padding:0;margin-bottom:.75rem;font-size:.8125rem;color:var(--tds-brand-300)}
.tds-shop-hero .tds-breadcrumb a{color:var(--tds-brand-200);text-decoration:none}
.tds-shop-hero .tds-breadcrumb a:hover{color:#fff}
.tds-shop-hero .woocommerce-breadcrumb{background:none;border:none;padding:0;margin-bottom:.75rem;font-size:.8125rem;color:var(--tds-brand-300)}
.tds-shop-hero .woocommerce-breadcrumb a{color:var(--tds-brand-200);text-decoration:none}
.tds-shop-hero .woocommerce-breadcrumb a:hover{color:#fff}
.tds-shop-hero .tds-breadcrumb__sep{color:var(--tds-brand-400);vertical-align:middle}

@media(min-width:768px){
    .tds-shop-hero__inner{padding:2.5rem 0}
    .tds-shop-hero__title{font-size:2.5rem}
}

/* ═══ SINGLE PRODUCT HEADER STRIP ═══ */
.tds-product-strip{background:#f9fafb;border-bottom:1px solid #e5e7eb;border-top:3px solid var(--tds-brand-500)}
.tds-product-strip .tds-breadcrumb{padding:.75rem 0;font-size:.8125rem;color:#6b7280;background:none;border:none}
.tds-product-strip .tds-breadcrumb a{color:var(--tds-brand-500);text-decoration:none}
.tds-product-strip .tds-breadcrumb a:hover{color:var(--tds-brand-700)}
.tds-product-strip .woocommerce-breadcrumb{padding:.75rem 0;font-size:.8125rem;color:#6b7280;background:none;border:none}
.tds-product-strip .woocommerce-breadcrumb a{color:var(--tds-brand-500);text-decoration:none}
.tds-product-strip .woocommerce-breadcrumb a:hover{color:var(--tds-brand-700)}
.tds-product-strip .tds-breadcrumb__sep{color:#9ca3af;vertical-align:middle}

/* ─── Wrapper ─── */
.tds-wc-wrap{padding:2.5rem 0}

/* ═══ SHOP LAYOUT (sidebar + content) ═══ */
.tds-shop-layout{display:grid;grid-template-columns:1fr;gap:2rem}
.tds-shop-sidebar{order:2}
.tds-shop-content{order:1}
@media(min-width:768px){
    .tds-shop-layout{grid-template-columns:260px 1fr}
    .tds-shop-sidebar{order:1}
    .tds-shop-content{order:2}
}
@media(min-width:1024px){
    .tds-shop-layout{grid-template-columns:280px 1fr;gap:2.5rem}
}

/* Sidebar widgets */
.tds-sidebar-widget{margin-bottom:1.5rem}
.tds-sidebar-widget__title{font-size:.9375rem;font-weight:700;color:#111;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--tds-brand-500)}

/* ─── Shop page title (hidden - rendered in hero instead) ─── */
.page-title{display:none}

/* ─── Result count + ordering row ─── */
.woocommerce-result-count{font-size:.8125rem;color:#6b7280;margin-bottom:1rem}
.woocommerce-ordering{margin-bottom:1.5rem;display:flex;justify-content:flex-end}
.woocommerce-ordering select.orderby{padding:.5rem 2rem .5rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.8125rem;background:#fff;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;transition:border-color .2s}
.woocommerce-ordering select.orderby:hover{border-color:var(--tds-brand-400)}
.woocommerce-ordering select.orderby:focus{outline:none;border-color:var(--tds-brand-500);box-shadow:0 0 0 3px rgba(0,102,184,.1)}

/* ═══ PRODUCT LOOP GRID ═══ */
ul.products,
ul.products[class*="columns-"]{list-style:none !important;padding:0 !important;margin:0 !important;display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:1.25rem !important}
ul.products::before,ul.products::after{display:none !important;content:none !important}
ul.products li.product{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden;transition:all .3s cubic-bezier(.22,1,.36,1);display:flex !important;flex-direction:column;margin:0 !important;padding:0 !important;width:auto !important;float:none !important;clear:none !important;box-shadow:0 1px 3px rgba(0,0,0,.04)}
ul.products li.product:hover{transform:translateY(-6px);box-shadow:0 12px 28px rgba(0,0,0,.12);border-color:var(--tds-brand-200)}

/* Product thumbnail */
ul.products li.product a img,
ul.products li.product .attachment-woocommerce_thumbnail,
ul.products li.product .wp-post-image{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;padding:1.25rem;background:#f9fafb;border-bottom:1px solid #f3f4f6;transition:transform .4s ease}
ul.products li.product:hover a img{transform:scale(1.03)}

/* Link wrapper */
ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;text-decoration:none;position:relative;flex:1;overflow:hidden}

/* Product info area — consistent padding */
ul.products li.product .price,
ul.products li.product .tds-product-card__brand,
ul.products li.product .tds-product-card__title,
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2,
ul.products li.product h3{padding-left:1rem !important;padding-right:1rem !important}

ul.products li.product .tds-product-card__brand{margin-top:.875rem;font-size:.6875rem;color:var(--tds-brand-500);font-weight:600;text-transform:uppercase;letter-spacing:.05em}

ul.products li.product .tds-product-card__title,
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2:not(.woocommerce-loop-product__title){margin-top:.75rem;margin-bottom:.375rem;font-size:.875rem !important;font-weight:700;color:#111;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

ul.products li.product .price{padding-top:.25rem !important;padding-bottom:.875rem !important;margin-top:0 !important;margin-bottom:0 !important;font-size:.875rem !important}

/* Star rating in cards — high specificity to override WooCommerce */
ul.products li.product .star-rating,
ul.products li.product a .star-rating,
.woocommerce ul.products li.product .star-rating{padding-left:1rem !important;padding-right:1rem !important;margin:.375rem 0 .125rem !important;font-size:.75rem !important;color:#f59e0b;width:auto !important}

/* Sale badge */
ul.products span.onsale,
.woocommerce span.onsale,
span.onsale{position:absolute;top:.75rem;left:.75rem;z-index:3;background:#ef4444;color:#fff;font-size:.625rem;font-weight:800;padding:.25rem .625rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.08em;min-width:auto;min-height:auto;line-height:1.4;box-shadow:0 2px 6px rgba(239,68,68,.3)}

/* Quick View overlay */
ul.products .tds-product-card__qv{position:absolute;left:0;right:0;bottom:0;background:var(--tds-brand-500);color:#fff;text-align:center;padding:.625rem;font-size:.75rem;font-weight:700;transform:translateY(100%);transition:transform .25s cubic-bezier(.22,1,.36,1);pointer-events:none;z-index:2;letter-spacing:.03em}
ul.products li.product:hover .tds-product-card__qv{transform:translateY(0)}

/* Stock badge */
ul.products .tds-badge{position:absolute;top:.75rem;right:.75rem;font-size:.625rem;font-weight:700;padding:.1875rem .5rem;border-radius:9999px;z-index:2;letter-spacing:.02em}
ul.products .tds-badge--in-stock{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}
ul.products .tds-badge--out-of-stock{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}

/* Add to cart button */
ul.products li.product>.button,
ul.products li.product>a.add_to_cart_button,
ul.products li.product>a.product_type_simple{display:block;width:calc(100% - 2rem);margin:.25rem auto 1rem;padding:.625rem 1rem;background:var(--tds-brand-500);color:#fff;font-weight:700;font-size:.8125rem;border:none;border-radius:.5rem;text-align:center;cursor:pointer;transition:all .2s;text-decoration:none;box-shadow:0 2px 4px rgba(0,102,184,.15)}
ul.products li.product>.button:hover,
ul.products li.product>a.add_to_cart_button:hover{background:var(--tds-brand-600);box-shadow:0 4px 12px rgba(0,102,184,.25);transform:translateY(-1px)}
ul.products li.product>.button:active{transform:translateY(0)}

/* ─── Product Grid responsive ─── */
@media(min-width:640px){
    ul.products,ul.products[class*="columns-"]{grid-template-columns:repeat(3,1fr) !important}
}
@media(min-width:768px){
    ul.products,ul.products[class*="columns-"]{grid-template-columns:repeat(3,1fr) !important}
}
@media(min-width:1024px){
    ul.products,ul.products[class*="columns-"]{grid-template-columns:repeat(4,1fr) !important}
    ul.products.tds-product-grid--5{grid-template-columns:repeat(5,1fr) !important}
}

/* ═══ SINGLE PRODUCT ═══ */
div.product{display:grid !important;grid-template-columns:1fr;gap:2.5rem;padding:2rem 0}
div.product div.images,
div.product .woocommerce-product-gallery{position:relative;float:none !important;width:100% !important;clear:none !important;z-index:1}
div.product div.images img,
div.product .woocommerce-product-gallery img{width:100%;border-radius:.75rem;border:1px solid #e5e7eb;background:#f9fafb;transition:transform .3s ease}
div.product div.images .woocommerce-product-gallery__trigger{position:absolute;top:1rem;right:1rem;z-index:1;background:#fff;border:1px solid #e5e7eb;border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .2s}
div.product div.images .woocommerce-product-gallery__trigger:hover{background:var(--tds-brand-50);border-color:var(--tds-brand-300)}

div.product div.summary,
div.product .summary.entry-summary{padding:0;float:none !important;width:100% !important;clear:none !important}
div.product .product_title,
div.product h1.entry-title{font-size:1.875rem;font-weight:800;color:#111;margin-bottom:.75rem;line-height:1.2}

/* Single product price */
div.product .summary .price{font-size:1.25rem;margin-bottom:.75rem;padding:1rem 1.25rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem}
div.product .summary .price .tds-price__ex{font-size:1.75rem}
div.product .summary .price .tds-price__was{font-size:1rem}
div.product .summary .price .tds-price__inc{margin-top:.25rem}

/* Stock status */
div.product .summary .stock{font-size:.8125rem;font-weight:600;margin-bottom:1rem;display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:9999px}
div.product .summary .stock.in-stock{background:#dcfce7;color:#15803d}
div.product .summary .stock.out-of-stock{background:#fef2f2;color:#dc2626}
div.product .summary .stock.available-on-backorder{background:#fff7ed;color:#c2410c}

div.product .summary .woocommerce-product-details__short-description{margin-bottom:1.5rem;color:#4b5563;line-height:1.7;font-size:.9375rem}
div.product .product_meta{font-size:.8125rem;color:#6b7280;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}
div.product .product_meta a{color:var(--tds-brand-500);font-weight:500}
div.product .product_meta a:hover{color:var(--tds-brand-700)}
div.product .product_meta span{display:block;margin-bottom:.375rem}

@media(min-width:768px){
    div.product{grid-template-columns:1fr 1fr !important}
}

/* ─── Quantity + Add to Cart ─── */
.quantity .qty{width:4.5rem;padding:.625rem;border:1px solid #d1d5db;border-radius:.5rem;text-align:center;font-size:1rem;font-weight:600;transition:border-color .2s}
.quantity .qty:focus{outline:none;border-color:var(--tds-brand-500);box-shadow:0 0 0 3px rgba(0,102,184,.1)}

div.product form.cart{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
div.product form.cart .single_add_to_cart_button{flex:1;padding:1rem 1.5rem;background:var(--tds-brand-500);color:#fff;font-weight:700;font-size:1rem;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(0,102,184,.2)}
div.product form.cart .single_add_to_cart_button:hover{background:var(--tds-brand-600);box-shadow:0 4px 16px rgba(0,102,184,.3);transform:translateY(-1px)}
div.product form.cart .single_add_to_cart_button:active{transform:translateY(0)}

/* ─── Related Products + Upsells — full-width grey band ─── */
section.related.products,
section.upsells.products,
.upsells.products{grid-column:1/-1;position:relative;margin:2rem 0 0;padding:2.5rem 0;background:#f9fafb;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}
section.related.products::before,
section.upsells.products::before,
.upsells.products::before{content:'';position:absolute;top:-1px;bottom:-1px;left:50%;width:100vw;transform:translateX(-50%);background:#f9fafb;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;z-index:-1}
section.related.products h2,
section.upsells.products h2,
.upsells.products h2{font-size:1.5rem;font-weight:800;color:#111;margin-bottom:1.5rem}

/* ═══ TABS ═══ */
div.product .woocommerce-tabs{grid-column:1/-1;margin-top:1rem}
.woocommerce-tabs ul.tabs,
.woocommerce-tabs ul.wc-tabs{list-style:none !important;display:flex !important;gap:0 !important;margin:0 !important;padding:0 !important;border-bottom:none !important;background:#f3f4f6 !important;border-radius:.75rem .75rem 0 0 !important;overflow:hidden}
.woocommerce-tabs ul.tabs li,
.woocommerce-tabs ul.wc-tabs li{margin:0 !important;background:none !important;border:none !important;padding:0 !important;border-radius:0 !important;flex:1}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after,
.woocommerce-tabs ul.wc-tabs li::before,
.woocommerce-tabs ul.wc-tabs li::after{display:none !important}
.woocommerce-tabs ul.tabs li a,
.woocommerce-tabs ul.wc-tabs li a{display:block !important;padding:.875rem 1.25rem !important;color:#6b7280 !important;font-weight:600 !important;font-size:.875rem !important;transition:all .2s !important;text-decoration:none !important;text-align:center;border-bottom:3px solid transparent !important;background:none !important}
.woocommerce-tabs ul.tabs li a:hover,
.woocommerce-tabs ul.wc-tabs li a:hover{color:#111 !important;background:rgba(0,0,0,.04) !important}
.woocommerce-tabs ul.tabs li.active,
.woocommerce-tabs ul.wc-tabs li.active{background:none !important}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.wc-tabs li.active a{color:var(--tds-brand-500) !important;background:#fff !important;border-bottom-color:var(--tds-brand-500) !important;font-weight:700 !important}
.woocommerce-tabs .panel{padding:1.25rem !important;color:#374151;line-height:1.7;background:#fff;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 .75rem .75rem}
.woocommerce-tabs .panel h2{font-size:1.25rem;font-weight:700;margin-bottom:1rem;color:#111}

/* ═══ CART PAGE ═══ */
.woocommerce-cart table.shop_table{width:100%;border-collapse:collapse;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden}
.woocommerce-cart table.shop_table th{background:#f9fafb;padding:.875rem 1rem;font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid #e5e7eb}
.woocommerce-cart table.shop_table td{padding:.875rem 1rem;border-bottom:1px solid #f3f4f6;vertical-align:middle;font-size:.875rem;color:#374151}
.woocommerce-cart table.shop_table img{width:64px;height:64px;object-fit:contain;border-radius:.375rem;border:1px solid #e5e7eb}

/* Cart Totals */
.woocommerce-cart .cart_totals{max-width:28rem;margin-left:auto}
.woocommerce-cart .cart_totals h2{font-size:1.25rem;font-weight:700;color:#111;margin-bottom:1rem}
.woocommerce-cart .cart_totals table{width:100%;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden}
.woocommerce-cart .cart_totals table th,.woocommerce-cart .cart_totals table td{padding:.875rem 1rem;font-size:.875rem}
.woocommerce-cart .cart_totals .order-total th,.woocommerce-cart .cart_totals .order-total td{font-weight:800;font-size:1.125rem;color:#111;background:#f9fafb}

/* ═══ CHECKOUT ═══ */
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label{font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.25rem;display:block}
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout textarea,
.woocommerce-checkout select{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus{outline:none;border-color:var(--tds-brand-500);box-shadow:0 0 0 3px rgba(0,102,184,.1)}

/* ═══ NOTICES ═══ */
.woocommerce-message,.woocommerce-info,.woocommerce-error{padding:1rem 1.25rem;border-radius:.75rem;margin-bottom:1.5rem;font-size:.875rem;line-height:1.5;border:1px solid}
.woocommerce-message{background:#f0fdf4;color:#166534;border-color:#bbf7d0}
.woocommerce-info{background:var(--tds-brand-50);color:var(--tds-brand-800);border-color:var(--tds-brand-200)}
.woocommerce-error{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.woocommerce-message a,.woocommerce-info a{color:inherit;font-weight:700}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}

/* ═══ PAGINATION ═══ */
nav.woocommerce-pagination{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}
nav.woocommerce-pagination ul{display:flex !important;justify-content:center !important;gap:.375rem !important;list-style:none !important;padding:0 !important;margin:0 !important;border:none !important}
nav.woocommerce-pagination ul li{border:none !important;background:none !important;padding:0 !important;margin:0 !important;overflow:visible !important}
nav.woocommerce-pagination ul li a,
nav.woocommerce-pagination ul li span{display:flex !important;align-items:center !important;justify-content:center !important;width:2.5rem !important;height:2.5rem !important;border-radius:.5rem !important;font-size:.875rem !important;font-weight:600 !important;border:1px solid #e5e7eb !important;color:#374151 !important;text-decoration:none !important;transition:all .2s !important;background:#fff !important;padding:0 !important}
nav.woocommerce-pagination ul li a:hover{background:var(--tds-brand-50) !important;border-color:var(--tds-brand-300) !important;color:var(--tds-brand-700) !important}
nav.woocommerce-pagination ul li span.current{background:var(--tds-brand-500) !important;color:#fff !important;border-color:var(--tds-brand-500) !important;box-shadow:0 2px 4px rgba(0,102,184,.2)}

/* ═══ MINI CART (drawer) ═══ */
.widget_shopping_cart .cart_list{list-style:none;padding:0;margin:0}
.widget_shopping_cart .cart_list li{display:flex;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #f3f4f6;align-items:center}
.widget_shopping_cart .cart_list li img{width:56px;height:56px;object-fit:contain;border-radius:.5rem;border:1px solid #e5e7eb;flex-shrink:0}
.widget_shopping_cart .cart_list li a:not(.remove){color:#111;font-weight:600;font-size:.8125rem;text-decoration:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.widget_shopping_cart .cart_list li a.remove{color:#ef4444;font-size:1.25rem;line-height:1;text-decoration:none;flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}
.widget_shopping_cart .cart_list li a.remove:hover{background:#fef2f2}
.widget_shopping_cart .cart_list li .quantity{font-size:.75rem;color:#6b7280}
.widget_shopping_cart .total{padding:.75rem 0;font-weight:700;border-top:1px solid #e5e7eb;font-size:.9375rem}

/* ═══ PRICE DISPLAY ═══ */
.tds-price{display:block}
.tds-price__ex{font-weight:800;font-size:1.125rem;color:#111}
.tds-price__label{font-size:.75rem;color:#6b7280;font-weight:400}
.tds-price__inc{display:block;font-size:.75rem;color:#6b7280;margin-top:.125rem}
.tds-price__was{font-size:.875rem;color:#9ca3af;font-weight:400}
.tds-price--sale .tds-price__ex{color:#dc2626}

/* ═══ RIVMEDIA FILTER — SIDEBAR POLISH ═══ */
.tds-shop-sidebar .rivmedia-pf-wrapper{--rivmedia-pf-primary:var(--tds-brand-500)}
.tds-shop-sidebar .rivmedia-pf-form{border:none;padding:0;box-shadow:none;background:transparent}

/* Filter section headers */
.tds-shop-sidebar .rivmedia-pf-filter-label{font-size:.8125rem;font-weight:700;color:#111;text-transform:uppercase;letter-spacing:.03em}

/* Category list items — clear hover feedback */
.tds-shop-sidebar .rivmedia-pf-details{border-color:#f3f4f6;transition:background .15s ease}
.tds-shop-sidebar .rivmedia-pf-details--leaf:hover{background:var(--tds-brand-50)}
.tds-shop-sidebar .rivmedia-pf-filter-header{padding:.5rem 0;transition:all .15s ease}
.tds-shop-sidebar .rivmedia-pf-details--leaf .rivmedia-pf-filter-header:hover .rivmedia-pf-filter-label{color:var(--tds-brand-500)}
.tds-shop-sidebar .rivmedia-pf-header-link{transition:color .15s ease,padding-left .15s ease}
.tds-shop-sidebar .rivmedia-pf-header-link:hover{color:var(--tds-brand-500) !important;padding-left:.25rem}

/* Count badges */
.tds-shop-sidebar .rivmedia-pf-option-count{background:#f3f4f6;border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem;min-width:1.75rem;text-align:center;font-weight:600;color:#6b7280;transition:all .15s ease}
.tds-shop-sidebar .rivmedia-pf-details--leaf:hover .rivmedia-pf-option-count{background:var(--tds-brand-100);color:var(--tds-brand-700)}

/* Category sub-links */
.tds-shop-sidebar .rivmedia-pf-cat-link{padding:.375rem .5rem;border-radius:.375rem;transition:all .15s ease}
.tds-shop-sidebar .rivmedia-pf-cat-link:hover{background:var(--tds-brand-50);color:var(--tds-brand-600);padding-left:.75rem}

/* Price filter */
.tds-shop-sidebar .rivmedia-pf-price-display{font-weight:700;color:#111}

/* Brand/attribute checkboxes */
.tds-shop-sidebar .rivmedia-pf-checkbox-label{padding:.375rem .5rem;border-radius:.375rem;transition:background .15s ease}
.tds-shop-sidebar .rivmedia-pf-checkbox-label:hover{background:var(--tds-brand-50)}

/* Sort by select */
.tds-shop-sidebar .rivmedia-pf-select{padding:.5rem 2rem .5rem .625rem;border-radius:.5rem;font-size:.8125rem;transition:border-color .15s ease}
.tds-shop-sidebar .rivmedia-pf-select:hover{border-color:var(--tds-brand-400)}
.tds-shop-sidebar .rivmedia-pf-select:focus{border-color:var(--tds-brand-500);box-shadow:0 0 0 3px rgba(0,102,184,.1)}

/* Sidebar heading (widget title) */
.tds-shop-sidebar .tds-sidebar-widget__title{font-size:.9375rem;font-weight:800;color:#111;margin-bottom:.75rem;padding-bottom:.625rem;border-bottom:3px solid var(--tds-brand-500);text-transform:uppercase;letter-spacing:.03em}

/* ═══ DRAWER MINI-CART — hide WooCommerce's default buttons ═══ */
.tds-drawer .widget_shopping_cart_content .buttons,
.tds-drawer .woocommerce-mini-cart__buttons{display:none !important}
/* Style the mini-cart total inside the drawer */
.tds-drawer .widget_shopping_cart_content .total,
.tds-drawer .woocommerce-mini-cart__total{display:none !important}
/* Product items in mini-cart — actual WooCommerce structure:
   li > a.remove + a(img + "title text") + span.quantity */
.tds-drawer .woocommerce-mini-cart{list-style:none !important;padding:0 !important;margin:0 !important}
.tds-drawer .woocommerce-mini-cart-item,
.tds-drawer .mini_cart_item{display:flex !important;flex-wrap:wrap;gap:.5rem;padding:1rem 0;border-bottom:1px solid #f3f4f6;align-items:center;position:relative}
/* Remove button — small circle, top-right */
.tds-drawer .woocommerce-mini-cart-item>a.remove,
.tds-drawer .mini_cart_item>a.remove{position:absolute !important;top:.75rem;right:0;color:#ef4444 !important;font-size:.75rem;text-decoration:none;display:flex !important;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;border:1px solid #fecaca;background:#fef2f2;transition:all .15s;line-height:1;order:0}
.tds-drawer .mini_cart_item>a.remove:hover{background:#ef4444;color:#fff !important;border-color:#ef4444}
/* Product link (contains image + title) */
.tds-drawer .woocommerce-mini-cart-item>a:not(.remove),
.tds-drawer .mini_cart_item>a:not(.remove){display:flex !important;align-items:center;gap:.75rem;color:#111 !important;font-weight:600;font-size:.8125rem;text-decoration:none !important;line-height:1.3;flex:1;min-width:0;padding-right:1.5rem}
/* Image inside the product link */
.tds-drawer .woocommerce-mini-cart-item img,
.tds-drawer .mini_cart_item img{width:56px !important;height:56px !important;min-width:56px;object-fit:contain;border-radius:.375rem;border:1px solid #e5e7eb;flex-shrink:0;margin:0 !important;float:none !important}
/* Quantity + price */
.tds-drawer .woocommerce-mini-cart-item>.quantity,
.tds-drawer .mini_cart_item>.quantity{font-size:.75rem;color:#6b7280;width:100%;padding-left:calc(56px + .75rem);margin-top:-.25rem}
/* Empty cart message */
.tds-drawer .woocommerce-mini-cart__empty-message{padding:2rem 0;text-align:center;color:#6b7280;font-size:.875rem}

/* ═══ CART PAGE — POLISHED ═══ */
.woocommerce-cart .woocommerce>h1,.woocommerce-cart .entry-title{display:none}
.woocommerce-cart table.shop_table{width:100%;border-collapse:collapse;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden;margin-bottom:2rem}
.woocommerce-cart table.shop_table th{background:#f9fafb;padding:.875rem 1rem;font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:2px solid #e5e7eb}
.woocommerce-cart table.shop_table td{padding:.875rem 1rem;border-bottom:1px solid #f3f4f6;vertical-align:middle;font-size:.875rem;color:#374151}
.woocommerce-cart table.shop_table td.product-thumbnail img{width:64px;height:64px;object-fit:contain;border-radius:.375rem;border:1px solid #e5e7eb}
.woocommerce-cart table.shop_table td.product-name a{color:#111;font-weight:600;text-decoration:none}
.woocommerce-cart table.shop_table td.product-name a:hover{color:var(--tds-brand-500)}
.woocommerce-cart table.shop_table td.product-remove a{color:#ef4444;font-size:1.25rem;text-decoration:none}
.woocommerce-cart table.shop_table .actions{padding:1rem;background:#f9fafb}
.woocommerce-cart table.shop_table .actions .coupon{display:flex;gap:.5rem;align-items:center}
.woocommerce-cart table.shop_table .actions .coupon input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.8125rem;max-width:10rem}
.woocommerce-cart table.shop_table .actions .coupon button,
.woocommerce-cart table.shop_table .actions .coupon input[type="submit"]{padding:.5rem 1rem;background:var(--tds-brand-500);color:#fff;border:none;border-radius:.375rem;font-weight:600;font-size:.8125rem;cursor:pointer;transition:background .2s}
.woocommerce-cart table.shop_table .actions .coupon button:hover{background:var(--tds-brand-600)}
.woocommerce-cart table.shop_table .actions>button,
.woocommerce-cart table.shop_table .actions>input[type="submit"]{padding:.5rem 1.25rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:.375rem;font-weight:600;font-size:.8125rem;cursor:pointer;transition:all .2s;float:right}
.woocommerce-cart table.shop_table .actions>button:hover{border-color:var(--tds-brand-400);color:var(--tds-brand-700)}

/* Cart totals */
.woocommerce-cart .cart_totals{max-width:28rem;margin-left:auto}
.woocommerce-cart .cart_totals h2{font-size:1.375rem;font-weight:800;color:#111;margin-bottom:1rem}
.woocommerce-cart .cart_totals table{width:100%;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden}
.woocommerce-cart .cart_totals table th{background:#f9fafb;font-weight:700;font-size:.8125rem;color:#6b7280;text-transform:uppercase;letter-spacing:.03em;padding:.875rem 1rem}
.woocommerce-cart .cart_totals table td{padding:.875rem 1rem;font-size:.875rem;color:#374151}
.woocommerce-cart .cart_totals .order-total th,.woocommerce-cart .cart_totals .order-total td{font-weight:800;font-size:1.25rem;color:#111;background:#f9fafb;border-top:2px solid #e5e7eb}
/* Proceed to checkout button */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a,
.wc-proceed-to-checkout a.checkout-button{display:block;width:100%;padding:1rem;background:var(--tds-brand-500);color:#fff !important;font-weight:700;font-size:1rem;border:none;border-radius:.5rem;text-align:center;text-decoration:none;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(0,102,184,.2);margin-top:1rem}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a:hover,
.wc-proceed-to-checkout a.checkout-button:hover{background:var(--tds-brand-600);box-shadow:0 4px 16px rgba(0,102,184,.3);transform:translateY(-1px)}

/* ═══ CHECKOUT PAGE — POLISHED ═══ */
.woocommerce-checkout .tds-wc-wrap h3,
.woocommerce-checkout .tds-main h3#ship-to-different-address{font-size:1.25rem;font-weight:800;color:#111;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label,
.woocommerce-checkout .woocommerce-additional-fields label{font-size:.8125rem;font-weight:600;color:#374151;margin-bottom:.25rem;display:block}
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout textarea,
.woocommerce-checkout select,.woocommerce-checkout .select2-selection{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus{outline:none;border-color:var(--tds-brand-500);box-shadow:0 0 0 3px rgba(0,102,184,.1)}
/* Order table */
.woocommerce-checkout .woocommerce-checkout-review-order-table{width:100%;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden;margin-bottom:1.5rem}
.woocommerce-checkout .woocommerce-checkout-review-order-table th{background:#f9fafb;padding:.75rem 1rem;font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase;border-bottom:1px solid #e5e7eb}
.woocommerce-checkout .woocommerce-checkout-review-order-table td{padding:.75rem 1rem;font-size:.875rem;color:#374151;border-bottom:1px solid #f3f4f6}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td{font-weight:800;font-size:1.125rem;color:#111;background:#f9fafb;border-top:2px solid #e5e7eb}
/* Payment methods */
.woocommerce-checkout #payment{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem;margin-top:1.5rem}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;padding:0;margin:0 0 1rem}
.woocommerce-checkout #payment ul.payment_methods li{padding:.625rem 0;border-bottom:1px solid #e5e7eb}
.woocommerce-checkout #payment ul.payment_methods li:last-child{border-bottom:none}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:600;font-size:.875rem;color:#111;cursor:pointer}
/* Place order button */
.woocommerce-checkout #place_order{display:block;width:100%;padding:1rem;background:var(--tds-brand-500);color:#fff;font-weight:700;font-size:1rem;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(0,102,184,.2)}
.woocommerce-checkout #place_order:hover{background:var(--tds-brand-600);box-shadow:0 4px 16px rgba(0,102,184,.3);transform:translateY(-1px)}

/* ─── Stripe payment form polish ─── */
.woocommerce-checkout .wc-stripe-elements-field,
.woocommerce-checkout .wc-stripe-iban-element-field{background:#fff !important;border:1px solid #d1d5db !important;border-radius:.5rem !important;padding:.75rem 1rem !important;transition:border-color .2s,box-shadow .2s !important;min-height:2.75rem}
.woocommerce-checkout .wc-stripe-elements-field:focus-within,
.woocommerce-checkout .wc-stripe-iban-element-field:focus-within{border-color:var(--tds-brand-500) !important;box-shadow:0 0 0 3px rgba(0,102,184,.1) !important}
/* Remove double-boxing — flatten the Stripe container */
.woocommerce-checkout .payment_method_stripe .wc_payment_method_inner,
.woocommerce-checkout .payment_method_stripe .stripe-source-form,
.woocommerce-checkout .payment_method_stripe .wc-payment-form,
.woocommerce-checkout .wc-stripe-payment-element{background:transparent !important;border:none !important;border-radius:0 !important;padding:.75rem 0 0 !important;margin-top:0 !important}
/* Stripe card field row layout */
.woocommerce-checkout .payment_method_stripe .form-row,
.woocommerce-checkout .wc-stripe-payment-element .form-row{margin-bottom:.75rem}
/* Stripe inline card labels */
.woocommerce-checkout .payment_method_stripe label:not([for]),
.woocommerce-checkout .wc-stripe-payment-element label{font-size:.8125rem !important;font-weight:600 !important;color:#374151 !important;margin-bottom:.375rem !important;display:block !important}
/* Stripe error messages */
.woocommerce-checkout .wc-stripe-error,.woocommerce-checkout .stripe-source-errors{color:#dc2626;font-size:.8125rem;margin-top:.5rem;padding:.5rem .75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem}

/* ─── Stripe Elements styling ─── */
.woocommerce-checkout .wc-stripe-elements-field,
.woocommerce-checkout .wc-stripe-upe-element,
.woocommerce-checkout #wc-stripe-card-element,
.woocommerce-checkout .StripeElement{background:#fff !important;border:1px solid #d1d5db !important;border-radius:.5rem !important;padding:.75rem 1rem !important;transition:border-color .2s,box-shadow .2s !important}
.woocommerce-checkout .wc-stripe-elements-field:focus-within,
.woocommerce-checkout .StripeElement--focus{border-color:var(--tds-brand-500) !important;box-shadow:0 0 0 3px rgba(0,102,184,.1) !important}
.woocommerce-checkout .StripeElement--invalid{border-color:#ef4444 !important;box-shadow:0 0 0 3px rgba(239,68,68,.1) !important}
/* Stripe card form wrapper */
.woocommerce-checkout .wc-stripe-card-group,
.woocommerce-checkout .payment_method_stripe .payment_box{background:#f9fafb !important;border:1px solid #e5e7eb !important;border-radius:.75rem !important;padding:1.25rem !important;margin-top:.75rem}
.woocommerce-checkout .wc-stripe-card-group label,
.woocommerce-checkout .payment_method_stripe .payment_box label{font-size:.8125rem;font-weight:600;color:#374151;margin-bottom:.375rem;display:block}
/* Stripe inline card form (single-line) */
.woocommerce-checkout .wc-stripe-upe-element{margin-top:.5rem}
/* Stripe fieldset */
.woocommerce-checkout fieldset#wc-stripe-cc-form{border:none !important;padding:0 !important;margin:0 !important}
.woocommerce-checkout #wc-stripe-cc-form .form-row{margin-bottom:.75rem}
/* Stripe test mode banner */
.woocommerce-checkout .wc-stripe-test-mode-notice{background:#fefce8;border:1px solid #fde68a;border-radius:.5rem;padding:.5rem .75rem;font-size:.75rem;color:#92400e;margin-bottom:.75rem}
/* Coupon notice */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{background:var(--tds-brand-50);border-color:var(--tds-brand-200);border-radius:.75rem;padding:.875rem 1.25rem}

/* ═══ ORDER RECEIVED / THANK YOU ═══ */
.woocommerce-order-received .woocommerce-thankyou-order-received{font-size:1.25rem;font-weight:700;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.75rem;padding:1.25rem;margin-bottom:1.5rem;text-align:center}
.woocommerce-order-received .woocommerce-order-details{margin-bottom:2rem}
.woocommerce-order-received table{width:100%;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden}
.woocommerce-order-received table th{background:#f9fafb;padding:.75rem 1rem;font-size:.75rem;font-weight:700;color:#6b7280;text-transform:uppercase;border-bottom:1px solid #e5e7eb;text-align:left}
.woocommerce-order-received table td{padding:.75rem 1rem;font-size:.875rem;color:#374151;border-bottom:1px solid #f3f4f6}

/* ═══ MY ACCOUNT PAGE ═══ */
body.woocommerce-account .tds-article__body{width:100% !important;max-width:100% !important}
body.woocommerce-account .tds-article__body>.woocommerce{display:grid !important;grid-template-columns:1fr !important;gap:2rem !important;width:100% !important}
body.woocommerce-account .tds-article__body>.woocommerce::before,
body.woocommerce-account .tds-article__body>.woocommerce::after{display:none !important;content:none !important}
body.woocommerce-account .woocommerce-MyAccount-navigation{margin-bottom:0;width:100% !important;float:none !important}
body.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none !important;padding:.5rem !important;margin:0 !important;display:flex !important;flex-direction:column !important;gap:.25rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li{margin:0 !important;display:block !important}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a{display:block;padding:.75rem 1rem;font-size:.875rem;font-weight:600;color:#6b7280;text-decoration:none;border-radius:.5rem;transition:all .2s;border-left:3px solid transparent}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{color:#111;background:#fff;border-left-color:var(--tds-brand-300)}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{color:var(--tds-brand-500);background:#fff;border-left-color:var(--tds-brand-500);box-shadow:0 1px 3px rgba(0,0,0,.06)}
body.woocommerce-account .woocommerce-MyAccount-content{padding:0;min-width:0;width:100% !important;float:none !important}
@media(min-width:768px){
    body.woocommerce-account .tds-article__body>.woocommerce:has(.woocommerce-MyAccount-navigation){grid-template-columns:240px 1fr !important}
}
/* Login/register form — full width when logged out */
body.woocommerce-account .u-columns{display:grid !important;grid-template-columns:1fr !important;gap:2rem;width:100%}
body.woocommerce-account .u-columns::before,
body.woocommerce-account .u-columns::after{display:none !important;content:none !important}
@media(min-width:768px){
    body.woocommerce-account .u-columns{grid-template-columns:1fr 1fr !important}
}
body.woocommerce-account .u-columns .u-column1,
body.woocommerce-account .u-columns .u-column2{width:100% !important;float:none !important;padding:0}
body.woocommerce-account .u-columns h2{font-size:1.5rem;font-weight:800;color:#111;margin-bottom:1.25rem}
body.woocommerce-account .u-columns .woocommerce-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem}
body.woocommerce-account .u-columns .woocommerce-form label{font-size:.875rem;font-weight:600;color:#374151;display:block;margin-bottom:.25rem}
body.woocommerce-account .u-columns .woocommerce-form input[type="text"],
body.woocommerce-account .u-columns .woocommerce-form input[type="email"],
body.woocommerce-account .u-columns .woocommerce-form input[type="password"]{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}
body.woocommerce-account .u-columns .woocommerce-form input:focus{outline:none;border-color:var(--tds-brand-500);box-shadow:0 0 0 3px rgba(0,102,184,.1)}
body.woocommerce-account .u-columns .woocommerce-form .woocommerce-button,
body.woocommerce-account .u-columns .woocommerce-form button[type="submit"]{padding:.75rem 1.5rem;background:var(--tds-brand-500);color:#fff;font-weight:700;font-size:.875rem;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s}
body.woocommerce-account .u-columns .woocommerce-form .woocommerce-button:hover,
body.woocommerce-account .u-columns .woocommerce-form button[type="submit"]:hover{background:var(--tds-brand-600)}
