/* ============================================================
   Red River Traders — WooCommerce Stylesheet
   Overrides default WooCommerce styles to match brand.
   ============================================================ */

/* ── Global WC resets ─────────────────────────────────────── */
.woocommerce,
.woocommerce-page { color: var(--rrt-ink); }

/* ── Buttons ──────────────────────────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: var(--rrt-red) !important;
    color: #fff !important;
    border-radius: 4px !important;
    font-family: var(--rrt-font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 13px 28px !important;
    border: none !important;
    transition: background .2s, transform .2s !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #payment #place_order:hover {
    background: var(--rrt-red2) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt { background: var(--rrt-ink) !important; }
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: #000 !important; }
.woocommerce a.button.outlined { background: transparent !important; color: var(--rrt-red) !important; border: 2px solid var(--rrt-red) !important; }

/* Add to cart on loop */
.woocommerce ul.products li.product .button {
    width: 100%; justify-content: center; margin-top: 8px;
}

/* ── Price styling ────────────────────────────────────────── */
.woocommerce .price { font-size: 20px; font-weight: 700; color: var(--rrt-ink); }
.woocommerce .price del { color: #aaa; font-weight: 400; font-size: 14px; }
.woocommerce .price ins { text-decoration: none; }
.woocommerce .price .woocommerce-Price-currencySymbol { font-size: .85em; }

/* ── Sale badge ───────────────────────────────────────────── */
.woocommerce span.onsale {
    background: var(--rrt-red); color: #fff; border-radius: 2px;
    font-size: 10px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;
    padding: 4px 12px; min-height: auto; line-height: 1.8; top: 12px; left: 12px;
}

/* ── Single product ───────────────────────────────────────── */
.woocommerce div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    max-width: var(--rrt-content-w);
    margin: 40px auto;
    padding: 0 5%;
    align-items: start;
}
.woocommerce div.product .woocommerce-product-gallery { grid-column: 1; }
.woocommerce div.product .summary { grid-column: 2; }
.woocommerce div.product h1.product_title {
    font-family: var(--rrt-font-head);
    font-size: clamp(30px, 3.5vw, 46px);
    line-height: 1.05; margin-bottom: 8px;
}
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 18px; }
.woocommerce div.product p.price { font-size: 36px; font-weight: 700; margin-bottom: 20px; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 15px; color: var(--rrt-mid); line-height: 1.85; margin-bottom: 24px; }

/* Add to cart form */
.woocommerce div.product form.cart { margin-bottom: 20px; }
.woocommerce div.product form.cart .qty {
    border: 1.5px solid var(--rrt-border); border-radius: 8px;
    font-size: 15px; font-weight: 600; padding: 10px 14px; width: 70px;
    text-align: center; outline: none; transition: border .2s;
}
.woocommerce div.product form.cart .qty:focus { border-color: var(--rrt-red); }

/* Product gallery */
.woocommerce div.product div.images { border-radius: 16px; overflow: hidden; }
.woocommerce div.product div.images img { border-radius: 14px; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 8px; border: 2px solid transparent; transition: border-color .2s; cursor: pointer; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover { border-color: var(--rrt-red); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 2px solid var(--rrt-border); padding: 0; margin: 40px 0 0;
    display: flex; gap: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none; background: none; border-radius: 0; margin: 0;
    border-bottom: 3px solid transparent; margin-bottom: -2px;
    transition: border-color .2s, color .2s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-size: 14px; font-weight: 700; color: var(--rrt-mid); padding: 14px 24px; display: block;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover { border-bottom-color: var(--rrt-red); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a { color: var(--rrt-red); }
.woocommerce div.product .woocommerce-tabs .panel { padding-top: 28px; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 28px; margin-bottom: 16px; }
.woocommerce div.product .woocommerce-tabs .panel p { font-size: 15px; color: var(--rrt-mid); line-height: 1.9; }

/* Related products */
.woocommerce div.product .related.products { grid-column: 1 / -1; margin-top: 20px; }
.woocommerce div.product .related.products h2 { font-size: 36px; margin-bottom: 28px; }
.woocommerce div.product .related ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

/* Product loop */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce .related ul.products::before,
.woocommerce .related ul.products::after { display: none !important; content: none !important; }
.woocommerce ul.products li.product {
    background: var(--rrt-cream); border-radius: 14px; overflow: hidden;
    width: auto !important; margin: 0 !important; float: none !important;
    transition: transform .25s, box-shadow .25s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,.12); }
.woocommerce ul.products li.product a img { aspect-ratio: 1; object-fit: contain; padding: 16px; background: #111; transition: transform .4s; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.05); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--rrt-font-head); font-size: 20px; line-height: 1.1; margin-bottom: 8px; padding: 16px 18px 0;
}
.woocommerce ul.products li.product .price { padding: 0 18px; }
.woocommerce ul.products li.product .button { margin: 12px 18px 18px; display: block; text-align: center; }

/* columns overrides */
.woocommerce-page .columns-2 ul.products { grid-template-columns: repeat(2, 1fr); }
.woocommerce-page .columns-4 ul.products { grid-template-columns: repeat(4, 1fr); }

/* ── Cart page ────────────────────────────────────────────── */
.rrt-cart-page .woocommerce {
    max-width: var(--rrt-content-w); margin: 40px auto; padding: 0 5%;
}
.woocommerce table.shop_table { border-collapse: collapse; width: 100%; }
.woocommerce table.shop_table th { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--rrt-mid); padding: 14px 12px; border-bottom: 2px solid var(--rrt-border); }
.woocommerce table.shop_table td { padding: 18px 12px; border-bottom: 1px solid var(--rrt-border); vertical-align: middle; font-size: 14px; }
.woocommerce table.shop_table .product-thumbnail img { width: 80px; height: 80px; object-fit: contain; border-radius: 10px; background: #111; padding: 6px; }

/* Cart totals */
.woocommerce .cart-collaterals .cart_totals {
    background: var(--rrt-cream); border-radius: 16px; padding: 30px;
}
.woocommerce .cart-collaterals .cart_totals h2 { font-size: 28px; margin-bottom: 20px; }
.woocommerce .cart-collaterals .cart_totals table { border: none; }
.woocommerce .cart-collaterals .cart_totals table tr td,
.woocommerce .cart-collaterals .cart_totals table tr th { border: none; border-bottom: 1px solid var(--rrt-border); padding: 12px 0; font-size: 14px; }
.woocommerce .cart-collaterals .cart_totals .order-total th,
.woocommerce .cart-collaterals .cart_totals .order-total td { font-size: 18px; font-weight: 700; border-bottom: none; }

/* Coupon */
.woocommerce .coupon { display: flex; gap: 10px; margin-bottom: 16px; }
.woocommerce .coupon input.input-text {
    flex: 1; padding: 11px 14px; border: 1.5px solid var(--rrt-border); border-radius: 8px;
    font-size: 14px; background: #fff; outline: none;
}
.woocommerce .coupon input.input-text:focus { border-color: var(--rrt-red); }

/* ── Checkout page ────────────────────────────────────────── */
.rrt-checkout-page .woocommerce { max-width: var(--rrt-content-w); margin: 40px auto; padding: 0 5%; }
.woocommerce form .form-row { margin-bottom: 18px; }
.woocommerce form .form-row label { display: block; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--rrt-mid); margin-bottom: 8px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select {
    width: 100%; padding: 13px 16px; border: 1.5px solid var(--rrt-border);
    border-radius: 8px; font-size: 15px; background: var(--rrt-cream); color: var(--rrt-ink);
    outline: none; transition: border .2s, box-shadow .2s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus { border-color: var(--rrt-red); box-shadow: 0 0 0 3px rgba(139,26,40,.1); }

#order_review { background: var(--rrt-cream); border-radius: 16px; padding: 28px; }
#order_review h3 { font-size: 24px; margin-bottom: 18px; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td { padding: 12px 0; font-size: 14px; }

/* Payment methods */
#payment { background: var(--rrt-cream); border-radius: 12px; margin-top: 20px; }
#payment ul.payment_methods { padding: 20px; border-bottom: 1px solid var(--rrt-border); }
#payment ul.payment_methods li label { font-size: 14px; font-weight: 600; cursor: pointer; }
#payment div.payment_box { background: var(--rrt-sand); border-radius: 8px; margin: 10px 0; padding: 14px; font-size: 14px; color: var(--rrt-mid); }

/* Notices */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
    border-radius: 10px; padding: 16px 20px; margin-bottom: 20px; font-size: 14px;
    display: flex; align-items: center; gap: 12px;
}
.woocommerce-notices-wrapper .woocommerce-message { background: #f0fdf4; border-left: 4px solid #16a34a; color: #166534; }
.woocommerce-notices-wrapper .woocommerce-error   { background: var(--rrt-red-lt); border-left: 4px solid var(--rrt-red); color: var(--rrt-red2); }
.woocommerce-notices-wrapper .woocommerce-info    { background: #eff6ff; border-left: 4px solid #2563eb; color: #1e40af; }

/* My account */
.rrt-wc-page.woocommerce-account .woocommerce {
    max-width: var(--rrt-content-w); margin: 40px auto; padding: 0 5%;
    display: grid; grid-template-columns: 240px 1fr; gap: 48px;
}
.woocommerce-MyAccount-navigation { background: var(--rrt-cream); border-radius: 14px; padding: 20px; align-self: start; }
.woocommerce-MyAccount-navigation ul { list-style: none; }
.woocommerce-MyAccount-navigation ul li a { display: block; padding: 10px 14px; font-size: 14px; font-weight: 500; border-radius: 8px; transition: background .2s, color .2s; }
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a { background: var(--rrt-red-lt); color: var(--rrt-red); }

/* ── Stars / ratings ──────────────────────────────────────── */
.woocommerce .star-rating { color: #F5C518; }
.woocommerce .star-rating::before { color: var(--rrt-border); }

/* ── Stock status ─────────────────────────────────────────── */
.woocommerce div.product .stock { font-weight: 600; font-size: 13px; }
.woocommerce div.product p.in-stock    { color: #16a34a; }
.woocommerce div.product p.out-of-stock{ color: var(--rrt-red); }

/* ── Responsive WC ────────────────────────────────────────── */
@media (max-width: 1024px) {
    .woocommerce div.product { grid-template-columns: 1fr; }
    .woocommerce div.product .woocommerce-product-gallery,
    .woocommerce div.product .summary { grid-column: 1; }
    .woocommerce div.product .related ul.products { grid-template-columns: repeat(2, 1fr); }
    .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
    .rrt-wc-page.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .woocommerce ul.products { grid-template-columns: 1fr 1fr; }
    .woocommerce div.product .related ul.products { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .woocommerce ul.products { grid-template-columns: 1fr; }
}


/* ============================================================
   SHOP LAYOUT — Complete rewrite matching HTML design
   ============================================================ */

/* Remove ALL default WP widget rendering in shop sidebar */
.rrt-shop-page .widget_search,
.rrt-shop-page .widget_recent_entries,
.rrt-shop-page .widget_recent_comments,
.rrt-shop-page .widget_archives,
.rrt-shop-page .widget_categories,
.rrt-shop-page .widget_meta { display: none !important; }

/* Breadcrumb bar */
.rrt-bc-bar { background: var(--rrt-cream); padding: 14px 5%; border-bottom: 1px solid var(--rrt-border); }
.rrt-bc-inner { max-width: var(--rrt-max-w); margin: 0 auto; display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--rrt-mid); }
.rrt-bc-inner a { color: var(--rrt-mid); transition: color .2s; }
.rrt-bc-inner a:hover { color: var(--rrt-red); }
.rrt-bc-sep { color: var(--rrt-border); }

/* ── Main shop grid ──────────────────────────────────────── */
.rrt-sl {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 40px;
    max-width: var(--rrt-max-w);
    margin: 0 auto;
    padding: 48px 5% 88px;
    align-items: start;
}
.rrt-sl__sidebar { position: sticky; top: calc(var(--rrt-header-h) + 16px); }
.rrt-sl__main { min-width: 0; }

/* ── Sidebar filter blocks ───────────────────────────────── */
.rrt-sf { margin-bottom: 26px; padding-bottom: 24px; border-bottom: 1px solid var(--rrt-border); }
.rrt-sf:last-child,.rrt-sf--actions { border-bottom: none; }
.rrt-sf__title {
    font-size: 11px; font-weight: 700; letter-spacing: 2px;
    text-transform: uppercase; color: var(--rrt-mid); margin-bottom: 14px;
    font-family: var(--rrt-font-body);
}
.rrt-sf__list { list-style: none; display: flex; flex-direction: column; gap: 2px; }

/* Category links */
.rrt-sf__cat {
    display: flex; align-items: center; justify-content: space-between;
    padding: 9px 12px; border-radius: 8px; font-size: 14px; font-weight: 500;
    color: var(--rrt-ink); transition: background .15s, color .15s;
    text-decoration: none; cursor: pointer;
}
.rrt-sf__cat:hover { background: var(--rrt-cream); color: var(--rrt-red); }
.rrt-sf__cat.is-active { background: var(--rrt-red-lt); color: var(--rrt-red); font-weight: 600; }
.rrt-sf__count {
    font-size: 11px; color: var(--rrt-mid); font-weight: 400;
    background: var(--rrt-sand); border-radius: 50px; padding: 2px 9px;
    min-width: 22px; text-align: center;
}
.rrt-sf__cat.is-active .rrt-sf__count { background: var(--rrt-red); color: #fff; }

/* Price range */
.rrt-sf__price-form {}
.rrt-sf__price-slider-wrap { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.rrt-price-range {
    width: 100%; height: 4px; -webkit-appearance: none; appearance: none;
    background: linear-gradient(var(--rrt-red), var(--rrt-red)) 0/50% no-repeat var(--rrt-sand);
    border-radius: 2px; outline: none; cursor: pointer;
}
.rrt-price-range::-webkit-slider-thumb {
    -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%;
    background: var(--rrt-red); border: 3px solid #fff;
    box-shadow: 0 2px 6px rgba(139,26,40,.35); cursor: grab;
}
.rrt-price-range::-moz-range-thumb {
    width: 18px; height: 18px; border-radius: 50%;
    background: var(--rrt-red); border: 3px solid #fff;
    box-shadow: 0 2px 6px rgba(139,26,40,.35); cursor: grab; border: none;
}
.rrt-sf__price-display { display: flex; justify-content: space-between; font-size: 13px; color: var(--rrt-mid); margin-bottom: 12px; }
.rrt-sf__price-btn {
    width: 100%; background: var(--rrt-ink); color: #fff;
    border: none; border-radius: 8px; padding: 10px; font-size: 13px;
    font-weight: 700; cursor: pointer; transition: background .2s; font-family: var(--rrt-font-body);
}
.rrt-sf__price-btn:hover { background: var(--rrt-red); }

/* Checkbox rows (features & rating) */
.rrt-sf__check { cursor: pointer; display: block; }
.rrt-sf__check-inner, .rrt-sf__rating {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 12px; border-radius: 8px; font-size: 14px;
    color: var(--rrt-ink); transition: background .15s; text-decoration: none; cursor: pointer;
}
.rrt-sf__check-inner:hover, .rrt-sf__rating:hover { background: var(--rrt-cream); }
.rrt-sf__check-inner.is-checked, .rrt-sf__rating.is-active { background: var(--rrt-red-lt); color: var(--rrt-red); }
.rrt-sf__checkbox {
    width: 16px; height: 16px; border: 1.5px solid var(--rrt-border); border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 800; flex-shrink: 0; color: var(--rrt-red);
    background: #fff; transition: all .15s;
}
.is-checked .rrt-sf__checkbox { background: var(--rrt-red); border-color: var(--rrt-red); color: #fff; }
.rrt-sf__stars { display: flex; gap: 2px; }
.rrt-sf__rating { display: flex; align-items: center; gap: 8px; }

/* ── Toolbar ─────────────────────────────────────────────── */
.rrt-toolbar {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 18px; flex-wrap: wrap; gap: 12px;
}
.rrt-toolbar__left { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.woocommerce-result-count { margin: 0; font-size: 14px; color: var(--rrt-mid); }
.woocommerce-ordering select {
    padding: 9px 14px; border: 1.5px solid var(--rrt-border); border-radius: 8px;
    font-size: 14px; background: #fff; outline: none; cursor: pointer;
    font-family: var(--rrt-font-body); transition: border .2s;
}
.woocommerce-ordering select:focus { border-color: var(--rrt-red); }

/* Active filter tags strip */
.rrt-active-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.rrt-active-tag {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--rrt-red-lt); color: var(--rrt-red); border-radius: 50px;
    padding: 5px 14px; font-size: 12px; font-weight: 600; text-decoration: none;
    transition: background .15s, color .15s;
}
.rrt-active-tag:hover { background: var(--rrt-red); color: #fff; }

/* ── Product grid ────────────────────────────────────────── */
.rrt-products-loop {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: both;
    width: 100% !important;
}
.rrt-products-loop.columns-2 { grid-template-columns: repeat(2, 1fr) !important; }
.rrt-products-loop.columns-4 { grid-template-columns: repeat(4, 1fr) !important; }
.rrt-products-loop > li.rrt-product-card {
    width: auto !important; margin: 0 !important;
    float: none !important; clear: none !important;
}

/* ── No products ─────────────────────────────────────────── */
.rrt-no-products {
    text-align: center; padding: 60px 20px;
    background: var(--rrt-cream); border-radius: 16px;
}
.rrt-no-products h3 { font-size: 28px; margin-bottom: 10px; }
.rrt-no-products p  { font-size: 15px; color: var(--rrt-mid); }

/* ── Pagination ──────────────────────────────────────────── */
.woocommerce-pagination { margin-top: 40px; }
.woocommerce-pagination ul.page-numbers {
    display: flex !important; gap: 8px; list-style: none !important;
    justify-content: center; flex-wrap: wrap; padding: 0 !important; margin: 0 !important;
}
.woocommerce-pagination ul li .page-numbers {
    width: 40px; height: 40px; border-radius: 8px;
    border: 1.5px solid var(--rrt-border); background: transparent;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; font-weight: 600; transition: all .2s; color: var(--rrt-ink);
    text-decoration: none;
}
.woocommerce-pagination ul li .page-numbers:hover,
.woocommerce-pagination ul li .page-numbers.current {
    background: var(--rrt-red); color: #fff; border-color: var(--rrt-red);
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1024px) {
    .rrt-sl { grid-template-columns: 220px 1fr; gap: 28px; }
}
@media (max-width: 900px) {
    .rrt-sl { grid-template-columns: 1fr; }
    .rrt-sl__sidebar { display: none; position: static; }
    .rrt-products-loop { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 500px) {
    .rrt-products-loop { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
    .rrt-sl { padding: 28px 4% 60px; }
}
@media (max-width: 380px) {
    .rrt-products-loop { grid-template-columns: 1fr !important; }
}

/* ── Cart / Checkout / Account — mobile ───────────────────── */
@media (max-width: 768px) {
    /* Cart table → stacked cards */
    .woocommerce-cart table.cart thead { display: none; }
    .woocommerce-cart table.cart tbody tr {
        display: block; margin-bottom: 16px; border: 1px solid var(--rrt-border);
        border-radius: 12px; padding: 6px 10px; background: #fff;
    }
    .woocommerce-cart table.cart td {
        display: flex; justify-content: space-between; align-items: center;
        text-align: right; padding: 10px 4px; width: auto !important; border: none;
        border-bottom: 1px solid var(--rrt-sand);
    }
    .woocommerce-cart table.cart tr td:last-child { border-bottom: none; }
    .woocommerce-cart table.cart td::before {
        content: attr(data-title); font-weight: 700; text-transform: uppercase;
        font-size: 11px; letter-spacing: 1px; color: var(--rrt-mid); margin-right: 12px;
    }
    .woocommerce-cart table.cart td.product-thumbnail { justify-content: center; }
    .woocommerce-cart table.cart td.product-thumbnail::before { display: none; }
    .woocommerce-cart table.cart td.product-thumbnail img { width: 90px; }
    .woocommerce-cart table.cart td.actions { display: block; }
    .woocommerce-cart table.cart td.actions::before { display: none; }
    .woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 8px; margin-bottom: 12px; }
    .woocommerce-cart table.cart td.actions .coupon input { flex: 1; min-width: 0; }
    .woocommerce .cart-collaterals,
    .woocommerce .cart-collaterals .cart_totals,
    .woocommerce-page .cart-collaterals .cart_totals { width: 100% !important; float: none !important; }

    /* Checkout → single column */
    .woocommerce .col2-set, .woocommerce-page .col2-set,
    .woocommerce #customer_details .col-1,
    .woocommerce #customer_details .col-2 { width: 100% !important; float: none !important; }
    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last { width: 100%; float: none; margin-right: 0; }
    .woocommerce-checkout #order_review,
    .woocommerce-checkout #order_review_heading { width: 100% !important; float: none !important; }
    .woocommerce-checkout #payment { width: 100%; }
    .woocommerce table.shop_table { font-size: 14px; }

    /* My Account → stacked */
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; margin: 0 0 20px; }
    .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; }
    .woocommerce-MyAccount-navigation ul li { margin: 0; }

    /* Any wide WooCommerce table can scroll instead of overflowing */
    .woocommerce table.shop_table_responsive { display: table; }
}

/* ════════════════════════════════════════════════════════════════════════
   AJAX CART DRAWER
   ════════════════════════════════════════════════════════════════════════ */
.rrt-cart-drawer__overlay{position:fixed;inset:0;background:rgba(15,13,13,.5);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:1100}
.rrt-cart-drawer__overlay.is-open{opacity:1;visibility:visible}
.rrt-cart-drawer{position:fixed;top:0;right:0;height:100%;width:420px;max-width:92vw;background:#fff;z-index:1101;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 40px rgba(0,0,0,.18)}
.rrt-cart-drawer.is-open{transform:translateX(0)}
.rrt-cart-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--rrt-border)}
.rrt-cart-drawer__title{font-family:var(--rrt-font-head);font-size:26px;letter-spacing:.5px;margin:0;color:var(--rrt-ink)}
.rrt-cart-drawer__close{background:var(--rrt-cream);border:none;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--rrt-ink);transition:background .2s}
.rrt-cart-drawer__close:hover{background:var(--rrt-sand)}
.rrt-cart-drawer__body{flex:1;display:flex;flex-direction:column;min-height:0}

/* Items list */
.rrt-cart-drawer__items{list-style:none;margin:0;padding:8px 0;overflow-y:auto;flex:1}
.rrt-cart-item{display:grid;grid-template-columns:72px 1fr 24px;gap:14px;padding:18px 24px;border-bottom:1px solid var(--rrt-border);position:relative;transition:opacity .2s}
.rrt-cart-item.is-removing{opacity:.4;pointer-events:none}
.rrt-cart-item__img{display:block;border-radius:10px;overflow:hidden;background:var(--rrt-cream);aspect-ratio:1}
.rrt-cart-item__img img{width:100%;height:100%;object-fit:cover}
.rrt-cart-item__name{font-weight:600;font-size:14px;line-height:1.3;color:var(--rrt-ink);display:block;margin-bottom:4px}
.rrt-cart-item__name:hover{color:var(--rrt-red)}
.rrt-cart-item__meta{font-size:12px;color:var(--rrt-mid);margin-bottom:8px}
.rrt-cart-item__meta p{margin:0}
.rrt-cart-item__row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.rrt-cart-item__qty{display:inline-flex;align-items:center;border:1.5px solid var(--rrt-border);border-radius:8px;overflow:hidden}
.rrt-cart-item__qty.is-loading{opacity:.5;pointer-events:none}
.rrt-qstep{width:30px;height:30px;background:var(--rrt-cream);border:none;font-size:16px;font-weight:700;cursor:pointer;color:var(--rrt-ink);transition:background .15s;line-height:1}
.rrt-qstep:hover{background:var(--rrt-sand)}
.rrt-qval{min-width:34px;text-align:center;font-size:14px;font-weight:600}
.rrt-cart-item__line{font-size:14px;font-weight:700;color:var(--rrt-ink)}
.rrt-cart-item__remove{background:none;border:none;color:var(--rrt-mid);cursor:pointer;padding:2px;align-self:start;transition:color .2s}
.rrt-cart-item__remove:hover{color:var(--rrt-red)}

/* Footer / totals */
.rrt-cart-drawer__foot{border-top:1px solid var(--rrt-border);padding:20px 24px;background:#fff}
.rrt-cart-drawer__ship{font-size:13px;color:var(--rrt-mid);margin-bottom:14px}
.rrt-cart-drawer__ship strong{color:var(--rrt-ink)}
.rrt-cart-drawer__ship-bar{height:6px;background:var(--rrt-sand);border-radius:4px;overflow:hidden;margin-top:8px}
.rrt-cart-drawer__ship-bar span{display:block;height:100%;background:var(--rrt-teal);border-radius:4px;transition:width .4s ease}
.rrt-cart-drawer__ship--free{color:var(--rrt-teal);font-weight:600}
.rrt-cart-drawer__subtotal{display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:700;color:var(--rrt-ink);margin-bottom:4px}
.rrt-cart-drawer__subtotal-amt{font-size:20px}
.rrt-cart-drawer__note{font-size:12px;color:var(--rrt-mid);margin:0 0 16px}
.rrt-cart-drawer__checkout{display:block;text-align:center;background:var(--rrt-red);color:#fff;padding:15px;border-radius:8px;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;transition:all .2s;margin-bottom:10px}
.rrt-cart-drawer__checkout:hover{background:var(--rrt-red2);color:#fff;transform:translateY(-1px)}
.rrt-cart-drawer__viewcart{display:block;text-align:center;color:var(--rrt-ink);padding:12px;border-radius:8px;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-decoration:none;border:1.5px solid var(--rrt-border);transition:all .2s}
.rrt-cart-drawer__viewcart:hover{border-color:var(--rrt-ink);background:var(--rrt-ink);color:#fff}

/* Empty state */
.rrt-cart-drawer__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;color:var(--rrt-mid)}
.rrt-cart-drawer__empty svg{color:var(--rrt-border);margin-bottom:18px}
.rrt-cart-drawer__empty-title{font-family:var(--rrt-font-head);font-size:24px;color:var(--rrt-ink);margin:0 0 6px}
.rrt-cart-drawer__empty-sub{font-size:14px;margin:0 0 22px}
.rrt-cart-drawer__shop-btn{background:var(--rrt-red);color:#fff;padding:13px 30px;border-radius:8px;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;transition:background .2s}
.rrt-cart-drawer__shop-btn:hover{background:var(--rrt-red2);color:#fff}

/* Loading state on add-to-cart buttons */
.single_add_to_cart_button.is-loading,.add_to_cart_button.is-loading{opacity:.7;pointer-events:none;position:relative}
.rrt-cart-count.is-empty{opacity:.55}

@media(max-width:480px){
.rrt-cart-drawer{width:100%;max-width:100%}
.rrt-cart-item{grid-template-columns:60px 1fr 22px;gap:10px;padding:16px}
.rrt-cart-drawer__header,.rrt-cart-drawer__foot{padding-left:16px;padding-right:16px}
}

/* Hide the redundant native "View cart" link on product cards (drawer replaces it) */
.rrt-product-card .added_to_cart,
.rrt-product-card__info .added_to_cart,
.products .added_to_cart.wc-forward{display:none!important}

/* ════════════════════════════════════════════════════════════════════════
   QUICK VIEW MODAL
   ════════════════════════════════════════════════════════════════════════ */
.rrt-qv-overlay{position:fixed;inset:0;background:rgba(15,13,13,.55);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:1200;backdrop-filter:blur(2px)}
.rrt-qv-overlay.is-open{opacity:1;visibility:visible}
.rrt-qv-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);width:900px;max-width:94vw;max-height:90vh;overflow-y:auto;background:#fff;border-radius:18px;z-index:1201;opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s ease,visibility .3s ease;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.rrt-qv-modal.is-open{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
.rrt-qv-close{position:absolute;top:14px;right:16px;z-index:3;background:var(--rrt-cream);border:none;width:38px;height:38px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer;color:var(--rrt-ink);display:flex;align-items:center;justify-content:center}
.rrt-qv-close:hover{background:var(--rrt-sand)}
.rrt-qv-loading{padding:90px 20px;text-align:center;color:var(--rrt-mid);font-size:15px}
.rrt-qv-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:34px}
.rrt-qv-mainwrap{border-radius:12px;overflow:hidden;background:#111;aspect-ratio:1}
.rrt-qv-media #rrt-qv-mainimg{width:100%;height:100%;object-fit:contain;padding:18px}
.rrt-qv-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}
.rrt-qv-thumb{flex:0 0 62px;width:62px;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#111;border:2px solid transparent;cursor:pointer}
.rrt-qv-thumb.active,.rrt-qv-thumb:hover{border-color:var(--rrt-red)}
.rrt-qv-thumb img{width:100%;height:100%;object-fit:contain;padding:6px}
.rrt-qv-cat{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--rrt-teal);margin-bottom:6px}
.rrt-qv-title{font-family:var(--rrt-font-head);font-size:30px;line-height:1.05;color:var(--rrt-ink);margin-bottom:8px}
.rrt-qv-rating{display:flex;align-items:center;margin-bottom:10px}
.rrt-qv-price{font-size:26px;font-weight:700;color:var(--rrt-ink);margin-bottom:14px}
.rrt-qv-price del{font-size:18px;color:#bbb;font-weight:400;margin-left:6px}
.rrt-qv-price ins{text-decoration:none}
.rrt-qv-desc{font-size:14px;color:var(--rrt-mid);line-height:1.7;margin-bottom:18px}
.rrt-qv-desc p{margin:0}
.rrt-qv-info .rrt-buy{margin-bottom:14px}
.rrt-qv-info form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0}
.rrt-qv-info form.cart .quantity{display:flex;border:1.5px solid var(--rrt-border);border-radius:8px;overflow:hidden}
.rrt-qv-info form.cart .quantity input.qty{width:58px;height:46px;text-align:center;border:none;outline:none;font-size:15px;font-weight:600;-moz-appearance:textfield}
.rrt-qv-info form.cart .quantity input.qty::-webkit-outer-spin-button,.rrt-qv-info form.cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rrt-qv-info form.cart button.single_add_to_cart_button{flex:1;min-width:150px;background:var(--rrt-red);color:#fff;border:none;border-radius:8px;padding:15px;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:background .2s}
.rrt-qv-info form.cart button.single_add_to_cart_button:hover{background:var(--rrt-red2)}
.rrt-qv-info table.variations{width:100%;margin:0 0 12px;border-collapse:collapse}
.rrt-qv-info table.variations td{padding:5px 0;vertical-align:middle}
.rrt-qv-info table.variations select{padding:10px 12px;border:1.5px solid var(--rrt-border);border-radius:8px;font-size:14px;min-width:150px;background:#fff}
.rrt-qv-info .woocommerce-variation-add-to-cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap;width:100%}
.rrt-qv-info .woocommerce-variation-price{margin-bottom:10px;font-weight:700;color:var(--rrt-ink)}
.rrt-qv-info .reset_variations{font-size:12px;color:var(--rrt-mid);margin-left:6px}
.rrt-qv-fulllink{display:inline-block;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--rrt-red)}
.rrt-qv-fulllink:hover{color:var(--rrt-red2)}
@media(max-width:720px){.rrt-qv-grid{grid-template-columns:1fr;gap:20px;padding:24px}.rrt-qv-modal{max-height:92vh}.rrt-qv-title{font-size:26px}}
