/*
Theme Name: RODH Wholesale
Theme URI: https://rodh-it.com/
Author: RODH-IT Smart Solution
Author URI: https://rodh-it.com/
Description: A professional B2B wholesale IT storefront theme for WooCommerce. Includes wholesale tier pricing, minimum order quantity (MOQ), a Buy Now popup with WhatsApp and email ordering, admin-managed offline payment gateways (bKash, Nagad, bank transfer and custom methods), a one-click setup wizard and demo importer.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rodh-wholesale
Tags: e-commerce, wholesale, b2b, woocommerce, custom-colors, custom-logo, custom-menu, featured-images, translation-ready, threaded-comments, right-sidebar
WC requires at least: 7.0
WC tested up to: 9.1
*/

/* ============================================================
   1. DESIGN TOKENS
   ============================================================ */
:root{
  --purple-900:#241049;
  --purple-800:#33195C;
  --purple-700:#582D8D;
  --purple-600:#6E3EA8;
  --purple-500:#8B5CC7;
  --purple-200:#D9C9F0;
  --purple-100:#F1EBFB;
  --blue-600:#3A50A8;
  --paper:#FBFAFF;
  --card:#FFFFFF;
  --ink:#1E1533;
  --muted:#6B6480;
  --line:#E5DEF4;
  --amber:#F5A524;
  --amber-ink:#7A4B00;
  --green:#178A5B;
  --green-bg:#E5F6EE;
  --red:#D64545;
  --radius:14px;
  --radius-sm:8px;
  --shadow:0 6px 24px -8px rgba(36,16,73,0.18);
  --shadow-sm:0 2px 10px -4px rgba(36,16,73,0.14);
  --wrap:1240px;
  --section-pad:64px;
}

/* ============================================================
   2. RESET & BASE
   ============================================================ */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,"Segoe UI",sans-serif;
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  font-size:15px;
  line-height:1.6;
}
h1,h2,h3,h4,h5{font-family:'Sora','Inter',sans-serif;margin:0 0 .4em;line-height:1.15;letter-spacing:-.01em;color:var(--ink);}
p{margin:0 0 1em;color:var(--muted);line-height:1.65;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
button{font-family:inherit;cursor:pointer;}
ul,ol{margin:0 0 1em;padding-left:1.2em;}
table{border-collapse:collapse;width:100%;}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;}
.rw-wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.skip-link:focus{position:fixed;top:10px;left:10px;z-index:200;background:#fff;padding:10px 16px;border-radius:8px;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2.5px solid var(--purple-600);outline-offset:2px;border-radius:4px;}
@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important;}}

.rw-icon{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.rw-icon-sm{width:16px;height:16px;}
.rw-icon-lg{width:30px;height:30px;}

/* ============================================================
   3. BUTTONS
   ============================================================ */
.rw-btn,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border-radius:999px;border:1px solid transparent;
  font-weight:600;font-size:14.5px;font-family:'Inter',sans-serif;line-height:1.2;
  transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease;
  white-space:nowrap;background:var(--purple-700);color:#fff;text-decoration:none;
}
.rw-btn:active{transform:scale(.97);}
.rw-btn-primary,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce #respond input#submit{background:var(--purple-700);color:#fff;}
.rw-btn-primary:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--purple-800);color:#fff;}
.rw-btn-amber{background:var(--amber);color:#3D2400;}
.rw-btn-amber:hover{background:#e6941a;color:#3D2400;}
.rw-btn-outline{background:transparent;border-color:var(--purple-700);color:var(--purple-700);}
.rw-btn-outline:hover{background:var(--purple-100);}
.rw-btn-ghost,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--purple-100);color:var(--purple-800);}
.rw-btn-ghost:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--purple-200);color:var(--purple-800);}
.rw-btn-white{background:#fff;color:var(--purple-800);}
.rw-btn-block{width:100%;}
.rw-btn-sm{padding:8px 14px;font-size:13px;}
.rw-btn:disabled,.rw-btn.disabled{opacity:.5;cursor:not-allowed;}

/* ============================================================
   4. TOPBAR / HEADER / NAV
   ============================================================ */
.rw-topbar{background:var(--purple-900);color:#E9E1FA;font-size:13px;}
.rw-topbar .rw-wrap{display:flex;align-items:center;justify-content:space-between;padding:8px 24px;gap:12px;flex-wrap:wrap;}
.rw-topbar-group{display:flex;gap:18px;flex-wrap:wrap;align-items:center;}
.rw-topbar a{opacity:.9;}
.rw-topbar a:hover{opacity:1;text-decoration:underline;}
.rw-topbar-item{display:flex;align-items:center;gap:6px;}

.rw-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);}
body.admin-bar .rw-header{top:32px;}
@media screen and (max-width:782px){body.admin-bar .rw-header{top:46px;}}
.rw-header-main{display:flex;align-items:center;gap:22px;padding:16px 24px;}
.rw-logo{display:flex;align-items:center;gap:10px;flex:none;}
.rw-logo img,.custom-logo{height:38px;width:auto;}
.custom-logo-link{display:block;flex:none;}
.rw-logo .rw-logo-text{font-family:'Sora',sans-serif;font-weight:800;font-size:20px;color:var(--purple-800);}
.rw-wholesale-tag{font-weight:800;font-size:10px;letter-spacing:.14em;color:var(--purple-700);background:var(--purple-100);border:1px solid var(--purple-200);padding:3px 8px;border-radius:6px;white-space:nowrap;}

.rw-search{flex:1;display:flex;align-items:center;background:var(--purple-100);border:1.5px solid transparent;border-radius:999px;padding:4px 4px 4px 18px;max-width:640px;transition:border-color .15s,background .15s;}
.rw-search:focus-within{border-color:var(--purple-500);background:#fff;}
.rw-search input[type="search"],.rw-search input[type="text"]{border:0;background:transparent;flex:1;font-size:14.5px;padding:8px 6px;font-family:inherit;color:var(--ink);min-width:0;}
.rw-search input:focus{outline:none;}
.rw-search button{background:var(--purple-700);color:#fff;border:0;border-radius:999px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex:none;}
.rw-search button:hover{background:var(--purple-800);}

.rw-header-actions{display:flex;align-items:center;gap:8px;flex:none;}
.rw-icon-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 12px;border-radius:10px;color:var(--ink);min-width:60px;background:none;border:0;}
.rw-icon-btn:hover{background:var(--purple-100);}
.rw-icon-btn span.rw-icon-label{font-size:11px;color:var(--muted);font-weight:600;}
.rw-count{position:absolute;top:2px;right:6px;background:var(--amber);color:#3D2400;font-size:10.5px;font-weight:800;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px;}
.rw-burger{display:none;background:none;border:0;color:var(--ink);padding:6px;}

.rw-catbar{background:var(--purple-800);color:#fff;}
/* The category row used to overflow and clip the last item on the right.
   It now scrolls horizontally instead of being cut off. */
.rw-catbar .rw-wrap{
  overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;max-width:100%;
}
.rw-catbar .rw-wrap::-webkit-scrollbar{display:none;}
.rw-catbar ul,.rw-catbar nav>div{flex-wrap:nowrap;}
.rw-catbar a{white-space:nowrap;}
.rw-catbar .rw-wrap{display:flex;align-items:center;gap:2px;padding:0 24px;overflow-x:auto;scrollbar-width:none;}
.rw-catbar .rw-wrap::-webkit-scrollbar{display:none;}
.rw-catbar-all{display:flex;align-items:center;gap:8px;padding:12px 16px;font-weight:700;font-size:13.5px;background:var(--purple-700);flex:none;white-space:nowrap;color:#fff;}
.rw-catbar ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;}
.rw-catbar a{padding:12px 14px;font-size:13.5px;font-weight:500;white-space:nowrap;opacity:.88;border-bottom:2.5px solid transparent;display:block;color:#fff;}
.rw-catbar a:hover,.rw-catbar li.current-menu-item>a,.rw-catbar a.rw-active{opacity:1;border-color:var(--amber);background:rgba(255,255,255,.05);}
.rw-catbar-highlight a{color:var(--amber)!important;font-weight:700;}

.rw-promo-strip{background:linear-gradient(90deg,var(--amber),#FBC55C);color:#4a2c00;font-weight:600;font-size:13px;text-align:center;padding:9px 16px;}
.rw-promo-strip b{font-weight:800;}

/* ============================================================
   5. HERO
   ============================================================ */
.rw-hero{background:radial-gradient(circle at 85% 20%,var(--purple-600),var(--purple-900) 70%);color:#fff;overflow:hidden;}
.rw-hero .rw-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:64px 24px;}
.rw-hero h1,.rw-hero h2{color:#fff;}
.rw-eyebrow-chip{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:600;letter-spacing:.03em;margin-bottom:18px;}
.rw-hero h1{font-size:44px;font-weight:800;max-width:16ch;}
.rw-hero h1 em{font-style:normal;color:var(--amber);}
.rw-hero .rw-lead{color:#D9CFF0;font-size:16.5px;max-width:46ch;}
.rw-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
.rw-hero-stats{display:flex;gap:26px;margin-top:38px;flex-wrap:wrap;}
.rw-hero-stats div b{display:block;font-family:'Sora',sans-serif;font-size:22px;font-weight:800;color:#fff;}
.rw-hero-stats div span{font-size:12.5px;color:#C9BCE8;}
.rw-ladder-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px);border-radius:18px;padding:22px;}
.rw-ladder-card h4{color:#fff;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.rw-ladder-card .rw-tag{background:var(--amber);color:#3D2400;font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:6px;}
.rw-ladder-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.12);}
.rw-ladder-row .rw-qty{width:82px;font-size:12.5px;color:#C9BCE8;font-family:'JetBrains Mono',monospace;}
.rw-ladder-row .rw-bar{flex:1;height:9px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;}
.rw-ladder-row .rw-bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--purple-500),var(--amber));border-radius:999px;}
.rw-ladder-row .rw-price{width:80px;text-align:right;font-family:'JetBrains Mono',monospace;font-weight:700;color:#fff;font-size:13.5px;}

/* ============================================================
   6. SECTIONS  (alignment corrected — headings sit lower & even)
   ============================================================ */
.rw-section{padding:var(--section-pad) 0;}
.rw-section-alt{background:var(--purple-100);}
.rw-section-dark{background:var(--purple-900);color:#fff;}
.rw-section-dark h2,.rw-section-dark h3{color:#fff;}
.rw-section-dark p{color:#C9BCE8;}

/* Every section heading block now uses the same top offset and a consistent
   baseline, so "Shop by category", "Bestsellers", "Why businesses order here",
   "Brands we stock" and "Client feedback" all line up correctly. */
.rw-section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding-top:14px;              /* pushes the heading block slightly lower */
  margin-bottom:34px;            /* even gap before the content grid */
  min-height:78px;               /* keeps every heading block the same height */
  border-top:1px solid var(--line);
}
.rw-section-alt .rw-section-head{border-top-color:var(--purple-200);}
.rw-section-dark .rw-section-head{border-top-color:rgba(255,255,255,.15);}
.rw-section-head-text{flex:1 1 380px;min-width:0;}
.rw-section-head .rw-eyebrow{display:block;color:var(--purple-700);font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;}
.rw-section-dark .rw-section-head .rw-eyebrow{color:var(--amber);}
.rw-section-head h2{font-size:28px;margin:0;}
.rw-section-head p{margin:8px 0 0;max-width:56ch;}
.rw-section-head .rw-section-action{flex:none;align-self:flex-end;padding-bottom:2px;}
@media (max-width:640px){
  .rw-section-head{min-height:0;padding-top:12px;margin-bottom:24px;}
  .rw-section-head .rw-section-action{align-self:flex-start;}
}

/* ============================================================
   7. TRUST STRIP / FEATURES / CATEGORIES / BRANDS
   ============================================================ */
.rw-trust{background:#fff;border-bottom:1px solid var(--line);}
.rw-trust .rw-wrap{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 24px;}
.rw-trust-item{display:flex;align-items:center;gap:12px;padding:0 18px;border-left:1px solid var(--line);}
.rw-trust-item:first-child{border-left:0;padding-left:0;}
.rw-icon-wrap{width:40px;height:40px;border-radius:10px;background:var(--purple-100);color:var(--purple-700);display:flex;align-items:center;justify-content:center;flex:none;}
.rw-trust-item b{display:block;font-family:'Sora',sans-serif;font-size:15px;}
.rw-trust-item span{font-size:12.5px;color:var(--muted);}

.rw-cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.rw-cat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 16px;text-align:center;transition:transform .15s,box-shadow .15s,border-color .15s;}
.rw-cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--purple-200);}
.rw-cat-card .rw-cat-thumb{width:56px;height:56px;border-radius:14px;background:var(--purple-100);color:var(--purple-700);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;overflow:hidden;}
.rw-cat-card .rw-cat-thumb img{width:100%;height:100%;object-fit:cover;}
.rw-cat-card b{display:block;font-family:'Sora',sans-serif;font-size:14.5px;margin-bottom:2px;}
.rw-cat-card span{font-size:12px;color:var(--muted);}

.rw-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.rw-feature-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.rw-feature-card .rw-icon-wrap{width:46px;height:46px;border-radius:12px;margin-bottom:14px;}
.rw-feature-card h4{font-size:15.5px;}
.rw-feature-card p{font-size:13.5px;margin:0;}

.rw-brand-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.rw-brand-chip{text-align:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 10px;font-family:'Sora',sans-serif;font-weight:700;color:var(--purple-800);font-size:14px;display:flex;align-items:center;justify-content:center;min-height:64px;transition:border-color .15s,transform .15s;}
.rw-brand-chip:hover{border-color:var(--purple-500);transform:translateY(-2px);}
.rw-brand-chip img{max-height:34px;width:auto;object-fit:contain;}

.rw-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.rw-testi-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;}
.rw-testi-card p{color:var(--ink);font-size:14px;margin:10px 0 16px;}
.rw-testi-who{display:flex;align-items:center;gap:10px;}
.rw-testi-avatar{width:38px;height:38px;border-radius:999px;background:var(--purple-700);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:700;font-size:13px;flex:none;}
.rw-testi-who b{display:block;font-size:13px;}
.rw-testi-who span{font-size:12px;color:var(--muted);}

.rw-cta-banner{background:linear-gradient(120deg,var(--purple-700),var(--purple-900));color:#fff;border-radius:20px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.rw-cta-banner h2{color:#fff;font-size:26px;max-width:22ch;}
.rw-cta-banner p{color:#D9CFF0;max-width:46ch;margin:0;}

.rw-newsletter{background:var(--purple-900);color:#fff;padding:44px 0;}
.rw-newsletter .rw-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.rw-newsletter h3{color:#fff;font-size:20px;margin-bottom:4px;}
.rw-newsletter p{color:#C9BCE8;margin:0;}
.rw-newsletter form{display:flex;gap:8px;flex-wrap:wrap;}
.rw-newsletter input[type="email"]{padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;min-width:240px;}
.rw-newsletter input::placeholder{color:#C9BCE8;}

/* wholesale tier explainer */
.rw-explain-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;}
.rw-tier-table{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);}
.rw-tier-table th,.rw-tier-table td{padding:14px 16px;text-align:left;font-size:13.5px;border:0;}
.rw-tier-table thead th{background:var(--purple-800);color:#fff;font-family:'Sora',sans-serif;font-weight:600;font-size:12.5px;}
.rw-tier-table tbody tr{border-bottom:1px solid var(--line);}
.rw-tier-table tbody tr:last-child{border-bottom:0;}
.rw-tier-table tbody tr:nth-child(odd){background:var(--purple-100);}
.rw-tier-table td.rw-q,.rw-tier-table td.rw-p{font-family:'JetBrains Mono',monospace;font-weight:700;}
.rw-tier-table td.rw-save{color:var(--green);font-weight:700;}
.rw-step-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;}
.rw-step-list li{display:flex;gap:14px;}
.rw-step-list .rw-num{width:34px;height:34px;border-radius:10px;background:var(--purple-700);color:#fff;font-family:'Sora',sans-serif;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none;font-size:14px;}
.rw-step-list h4{font-size:15px;margin-bottom:2px;}
.rw-step-list p{margin:0;font-size:13.5px;}

/* ============================================================
   8. PRODUCT CARDS (WooCommerce loop)
   ============================================================ */
.woocommerce ul.products,
ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:20px;margin:0;padding:0;list-style:none;}
/* [products columns="4"] and the shop's own column setting both add a
   columns-N class — honour it instead of auto-filling an extra column. */
ul.products.columns-1{grid-template-columns:minmax(0,1fr);}
ul.products.columns-2{grid-template-columns:repeat(2,minmax(0,1fr));}
ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr));}
ul.products.columns-4{grid-template-columns:repeat(4,minmax(0,1fr));}
ul.products.columns-5{grid-template-columns:repeat(5,minmax(0,1fr));}
ul.products.columns-6{grid-template-columns:repeat(6,minmax(0,1fr));}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none;}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*=columns-] li.product,
ul.products li.product{
  width:auto!important;margin:0!important;float:none!important;clear:none!important;min-width:0;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  display:flex;flex-direction:column;position:relative;transition:box-shadow .15s,transform .15s;
}
ul.products li.product:hover{box-shadow:var(--shadow);transform:translateY(-3px);}
.rw-card-thumb{position:relative;aspect-ratio:4/3;background:var(--purple-100);overflow:hidden;display:block;}
.rw-card-thumb img{width:100%;height:100%;object-fit:cover;margin:0;}
.rw-badge{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:800;padding:4px 9px;border-radius:6px;letter-spacing:.02em;z-index:2;}
.rw-badge-sale{background:var(--red);color:#fff;}
.rw-badge-new{background:var(--purple-700);color:#fff;}
.rw-badge-hot{background:var(--amber);color:#3D2400;}
.rw-badge-out{background:var(--muted);color:#fff;}
.rw-quick-actions{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateX(6px);transition:opacity .15s,transform .15s;z-index:3;}
li.product:hover .rw-quick-actions{opacity:1;transform:translateX(0);}
.rw-qa-btn{width:32px;height:32px;border-radius:999px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--purple-700);padding:0;}
.rw-qa-btn:hover{background:var(--purple-700);color:#fff;}
.rw-qa-btn.rw-active{background:var(--red);color:#fff;border-color:var(--red);}
.rw-card-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1;}
.rw-card-brand{font-size:11px;color:var(--purple-700);font-weight:700;letter-spacing:.05em;text-transform:uppercase;}
.woocommerce ul.products li.product .rw-card-title,
.rw-card-title{font-size:15px;font-family:'Sora',sans-serif;font-weight:600;line-height:1.35;margin:0;padding:0;min-height:2.7em;}
.rw-card-title a:hover{color:var(--purple-700);}
.rw-stars{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);}
.rw-stars svg{width:13px;height:13px;stroke:none;}
.rw-price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.rw-price-now{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:18px;color:var(--purple-800);}
.rw-price-old{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--muted);text-decoration:line-through;}
.rw-moq-tag{font-size:11px;color:var(--muted);}
.rw-mini-ladder{display:flex;gap:4px;}
.rw-mini-ladder div{flex:1;background:var(--purple-100);border-radius:6px;padding:5px 4px;text-align:center;}
.rw-mini-ladder div b{display:block;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--purple-800);}
.rw-mini-ladder div span{font-size:9.5px;color:var(--muted);}
.rw-card-actions{display:flex;gap:8px;margin-top:auto;padding-top:6px;}
.rw-card-actions .rw-btn{flex:1;}
.rw-card-actions .rw-btn-buy{flex:none;width:42px;padding:0;}
.woocommerce ul.products li.product .price{color:inherit;font-size:inherit;margin:0;}
.woocommerce ul.products li.product a img{margin:0;box-shadow:none;}
.woocommerce span.onsale{display:none;}

/* ============================================================
   9. SHOP / ARCHIVE LAYOUT
   ============================================================ */
.rw-breadcrumb,.woocommerce .woocommerce-breadcrumb{font-size:13px;color:var(--muted);padding:18px 0 6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0;}
.rw-breadcrumb a:hover,.woocommerce .woocommerce-breadcrumb a:hover{color:var(--purple-700);text-decoration:underline;}
.rw-page-head{padding:8px 0 30px;}
.rw-page-head h1{font-size:30px;}
.rw-page-head p{max-width:62ch;}
.rw-page-head-text{min-width:0;}
.rw-page-head-count{font-size:13px;color:var(--muted);margin-top:6px;}
.rw-term-desc{max-width:70ch;color:var(--muted);}
.rw-term-desc p:last-child{margin-bottom:0;}
.rw-page-head-media{display:grid;grid-template-columns:1fr 200px;gap:28px;align-items:center;}
.rw-page-head-img{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#fff;aspect-ratio:4/3;}
.rw-page-head-img img{width:100%;height:100%;object-fit:cover;display:block;}

/* Subcategory tiles (own row, never inside the product grid) */
.rw-subcat-row{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:12px;margin:0 0 26px;
}
.rw-subcat-tile{
  display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius-sm);
  color:var(--ink);text-decoration:none;transition:.18s;min-width:0;
}
.rw-subcat-tile:hover{border-color:var(--purple-500);box-shadow:var(--shadow-sm);transform:translateY(-2px);}
.rw-subcat-thumb{
  width:44px;height:44px;flex:none;border-radius:8px;background:var(--purple-100);
  display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--purple-700);
}
.rw-subcat-thumb img{width:100%;height:100%;object-fit:cover;}
.rw-subcat-name{font-weight:600;font-size:13.5px;line-height:1.3;min-width:0;overflow-wrap:anywhere;}
.rw-subcat-count{margin-left:auto;font-size:11.5px;color:var(--muted);white-space:nowrap;flex:none;}
.rw-shop-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:flex-start;padding-bottom:60px;}
/* Sidebar switched off in admin — the grid must collapse to one column,
   otherwise an empty 270px track pushes the products across. */
.rw-shop-layout-full{grid-template-columns:minmax(0,1fr);}
/* min-width:0 lets the grid track shrink properly; without it a long product
   title can blow the track out and squeeze the cards. */
.rw-shop-main{min-width:0;}
.rw-shop-main ul.products{width:100%;}
.rw-sidebar{position:sticky;top:110px;min-width:0;}
.rw-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px;}
.rw-empty{text-align:center;padding:60px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);}
.rw-empty h2{font-size:20px;margin:14px 0 8px;}
.rw-empty p{color:var(--muted);max-width:46ch;margin:0 auto 18px;font-size:14px;}
.rw-empty .rw-icon-lg{color:var(--purple-500);width:40px;height:40px;}
.rw-widget{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px;}
.rw-widget h4,.rw-widget .widget-title,.rw-widget h2{font-size:13.5px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;color:var(--purple-800);}
.rw-widget ul{list-style:none;margin:0;padding:0;}
.rw-widget li{padding:7px 0;font-size:13.5px;border-bottom:1px solid var(--line);}
.rw-widget li:last-child{border-bottom:0;}
.rw-widget li a{display:flex;justify-content:space-between;gap:8px;}
.rw-widget li a:hover{color:var(--purple-700);}
.rw-widget .count{color:var(--muted);font-size:12px;}
.rw-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap;}
.woocommerce .woocommerce-result-count{margin:0;font-size:13.5px;color:var(--muted);float:none;}
.woocommerce .woocommerce-ordering{margin:0;float:none;}
.woocommerce .woocommerce-ordering select,.rw-shop-toolbar select{padding:9px 12px;border-radius:8px;border:1px solid var(--line);font-size:13.5px;background:#fff;font-family:inherit;}
.woocommerce nav.woocommerce-pagination{margin:36px 0;}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:6px;justify-content:center;}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  border-radius:8px;padding:10px 15px;background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:13.5px;
}
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--purple-700);color:#fff;border-color:var(--purple-700);}
.rw-empty{text-align:center;padding:60px 20px;background:#fff;border-radius:var(--radius);border:1px dashed var(--line);}
.rw-empty .rw-icon-wrap{width:60px;height:60px;border-radius:999px;margin:0 auto 16px;}

/* ============================================================
   10. SINGLE PRODUCT
   ============================================================ */
/* Gallery and summary side by side. WooCommerce's own layout stylesheet used
   to float these; the theme replaces that with a grid so nothing depends on
   floats (and the summary can no longer drop underneath the gallery). */
.woocommerce div.product{
  padding-bottom:40px;
  display:grid;grid-template-columns:44% minmax(0,1fr);
  gap:0 4%;align-items:start;
}
.woocommerce div.product div.images{width:auto!important;float:none!important;margin:0!important;grid-column:1;}
.woocommerce div.product div.summary{width:auto!important;float:none!important;margin-bottom:0!important;grid-column:2;}
/* Everything below the two columns spans the full width. */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells,
.woocommerce div.product .rw-ad,
.woocommerce div.product .woocommerce-product-gallery__wrapper ~ *{grid-column:1/-1;}
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells{width:100%;}
.woocommerce div.product div.images img{border-radius:var(--radius);background:var(--purple-100);}
.woocommerce div.product .product_title{font-size:26px;margin:6px 0 10px;font-family:'Sora',sans-serif;}
.rw-pd-brand{color:var(--purple-700);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;}
.rw-pd-meta{display:flex;gap:16px;align-items:center;font-size:13px;color:var(--muted);flex-wrap:wrap;margin-bottom:14px;}
.rw-stock-chip{display:inline-flex;align-items:center;gap:6px;background:var(--green-bg);color:var(--green);font-weight:700;font-size:12.5px;padding:4px 10px;border-radius:999px;}
.rw-stock-chip.rw-out{background:#FDECEC;color:var(--red);}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--purple-800);font-family:'JetBrains Mono',monospace;font-weight:700;font-size:26px;}
.woocommerce div.product p.price del{color:var(--muted);font-size:16px;font-weight:400;}
.rw-pd-price-box{background:var(--purple-100);border-radius:var(--radius);padding:18px 20px;margin:14px 0;}
.rw-pd-price-box .rw-unit-note{font-size:12.5px;color:var(--muted);margin-top:2px;}
.rw-tier-mini{width:auto;font-size:12.5px;}
.rw-tier-mini td{padding:3px 0;}
.rw-tier-mini td:first-child{padding-right:14px;color:var(--muted);font-family:'JetBrains Mono',monospace;}
.rw-tier-mini td:last-child{font-weight:700;color:var(--purple-800);font-family:'JetBrains Mono',monospace;}
.rw-tier-mini tr.rw-tier-active td{background:#fff;}
.woocommerce div.product form.cart{margin:18px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.woocommerce div.product form.cart div.quantity{margin:0;float:none;}
.quantity input.qty,.woocommerce .quantity input.qty{
  width:72px;height:44px;text-align:center;border:1px solid var(--line);border-radius:10px;
  font-family:'JetBrains Mono',monospace;font-weight:700;font-size:14px;background:#fff;color:var(--ink);
}
.woocommerce div.product form.cart .button{height:44px;}
.rw-pd-features{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0;padding:0;list-style:none;}
.rw-pd-features li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--muted);}
.rw-pd-features svg{color:var(--purple-700);flex:none;margin-top:2px;}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 -1px;border-bottom:1px solid var(--line);display:flex;gap:6px;overflow-x:auto;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0;padding:0;box-shadow:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:14px 18px;font-weight:600;font-size:14px;color:var(--muted);border-bottom:2.5px solid transparent;display:block;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--purple-800);border-color:var(--purple-700);}
.woocommerce div.product .woocommerce-tabs .panel{padding:28px 0;margin:0;border:0;box-shadow:none;background:none;}
.woocommerce table.shop_attributes{border:0;}
.woocommerce table.shop_attributes tr{border-bottom:1px solid var(--line);}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border:0;padding:11px 6px;font-size:13.5px;font-style:normal;background:none!important;}
.woocommerce table.shop_attributes th{color:var(--muted);font-weight:400;width:220px;}
.woocommerce .related > h2,.woocommerce .up-sells > h2,.woocommerce .cross-sells > h2{font-size:22px;margin-bottom:22px;}

/* ============================================================
   11. CART / CHECKOUT / ACCOUNT
   ============================================================ */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:var(--radius);border-collapse:separate;overflow:hidden;background:#fff;}
.woocommerce table.shop_table th{background:var(--purple-100);color:var(--purple-800);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:14px 16px;border:0;}
.woocommerce table.shop_table td{padding:16px;border-top:1px solid var(--line);vertical-align:middle;}
.woocommerce table.shop_table img{width:64px;border-radius:10px;}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-cart .cart-collaterals{width:100%;float:none;}
.woocommerce .cart-collaterals .cart_totals > h2,.woocommerce-checkout h3{font-size:17px;}
.woocommerce-cart-form{margin-bottom:24px;}
/* Cart: two columns on desktop using WooCommerce's own markup.
   (There is no custom .rw-cart-layout wrapper — cart.php is stock.) */
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper{grid-column:1/-1;}
@media (min-width:981px){
  .woocommerce-cart .woocommerce{
    display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start;
  }
  .woocommerce-cart .woocommerce-cart-form{grid-column:1;margin-bottom:0;}
  .woocommerce-cart .cart-collaterals{grid-column:2;}
  .woocommerce-cart .cart-collaterals .cart_totals{
    position:sticky;top:110px;background:#fff;border:1px solid var(--line);
    border-radius:var(--radius);padding:22px 24px;
  }
}
.woocommerce #respond input#submit.alt,.woocommerce button.button.alt.checkout-button{width:100%;}
.woocommerce form .form-row{padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:6px;}
.woocommerce form .form-row label{font-size:13px;font-weight:600;color:var(--ink);}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.select2-container .select2-selection--single{
  padding:11px 14px;border:1px solid var(--line);border-radius:10px;font-size:14px;font-family:inherit;background:#fff;color:var(--ink);height:auto;line-height:1.4;
}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{outline:none;border-color:var(--purple-600);box-shadow:0 0 0 3px var(--purple-100);}
.woocommerce-checkout #payment{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:8px;}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--line);padding:12px;}
.woocommerce-checkout #payment ul.payment_methods li{margin-bottom:10px;border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;list-style:none;transition:border-color .15s,background .15s;}
.woocommerce-checkout #payment ul.payment_methods li:hover{border-color:var(--purple-500);}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:8px;}
.woocommerce-checkout #payment ul.payment_methods li img{max-height:28px;margin-left:6px;}
.woocommerce-checkout #payment div.payment_box{background:var(--purple-100);color:var(--ink);font-size:13px;border-radius:10px;margin-top:10px;}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--purple-100);}
.woocommerce-checkout #payment div.form-row.place-order{padding:16px 12px;}
.woocommerce .woocommerce-info,.woocommerce .woocommerce-message,.woocommerce .woocommerce-error{
  border-top:0;border-left:4px solid var(--purple-700);background:var(--purple-100);color:var(--ink);border-radius:10px;padding:14px 18px;font-size:14px;
}
.woocommerce .woocommerce-message{border-left-color:var(--green);background:var(--green-bg);}
.woocommerce .woocommerce-error{border-left-color:var(--red);background:#FDECEC;}
.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-error::before{display:none;}
.woocommerce-order-received .woocommerce-order{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
.woocommerce ul.order_details{display:flex;flex-wrap:wrap;gap:20px;padding:0;margin:0 0 24px;}
.woocommerce ul.order_details li{border:0;margin:0;padding:0 20px 0 0;list-style:none;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);}
.woocommerce ul.order_details li strong{font-size:15px;font-family:'JetBrains Mono',monospace;color:var(--purple-800);display:block;margin-top:4px;text-transform:none;}
.woocommerce-account .woocommerce-MyAccount-navigation{width:24%;}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line);}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:13px 18px;font-weight:600;font-size:14px;}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--purple-100);color:var(--purple-800);}
.woocommerce-account .woocommerce-MyAccount-content{width:72%;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;}

/* ============================================================
   12. BUY NOW MODAL / DRAWER / FLOATING UI
   ============================================================ */
.rw-modal-overlay{position:fixed;inset:0;background:rgba(20,10,40,.55);backdrop-filter:blur(3px);z-index:100;display:none;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .2s;}
.rw-modal-overlay.rw-show{display:flex;opacity:1;}
.rw-modal-box{background:#fff;border-radius:20px;max-width:520px;width:100%;max-height:88vh;overflow:auto;position:relative;box-shadow:0 30px 60px -12px rgba(20,10,40,.4);transform:translateY(14px) scale(.98);transition:transform .2s;}
.rw-modal-overlay.rw-show .rw-modal-box{transform:none;}
.rw-modal-box.rw-wide{max-width:780px;}
.rw-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:999px;background:var(--purple-100);color:var(--purple-800);display:flex;align-items:center;justify-content:center;border:0;z-index:2;}
.rw-modal-close:hover{background:var(--purple-200);}
.rw-modal-head{padding:26px 26px 4px;}
.rw-modal-head .rw-eyebrow{color:var(--purple-700);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.rw-modal-head h3{font-size:19px;margin:6px 60px 4px 0;}
.rw-modal-body{padding:18px 26px 26px;}
.rw-order-mini{background:var(--purple-100);border-radius:12px;padding:14px 16px;display:flex;gap:14px;align-items:center;margin-bottom:18px;}
.rw-order-mini img{width:56px;height:56px;border-radius:10px;object-fit:cover;background:#fff;flex:none;}
.rw-order-mini b{display:block;font-size:13.5px;}
.rw-order-mini span{font-size:12px;color:var(--muted);}
.rw-order-mini .rw-amt{margin-left:auto;text-align:right;}
.rw-order-mini .rw-amt b{font-family:'JetBrains Mono',monospace;color:var(--purple-800);font-size:16px;}
.rw-order-channel{display:flex;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:12px;transition:border-color .15s,background .15s;}
.rw-order-channel:hover{border-color:var(--purple-500);background:var(--purple-100);}
.rw-order-channel .rw-ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none;color:#fff;}
.rw-order-channel.rw-wa .rw-ic{background:#25D366;}
.rw-order-channel.rw-mail .rw-ic{background:var(--purple-700);}
.rw-order-channel.rw-call .rw-ic{background:var(--blue-600);}
.rw-order-channel b{display:block;font-size:14.5px;}
.rw-order-channel span{font-size:12.5px;color:var(--muted);}
.rw-order-channel .rw-go{margin-left:auto;color:var(--purple-700);}
.rw-modal-divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:var(--muted);font-size:12px;}
.rw-modal-divider::before,.rw-modal-divider::after{content:"";flex:1;height:1px;background:var(--line);}
.rw-order-note{font-size:12px;color:var(--muted);background:var(--paper);border:1px dashed var(--line);border-radius:10px;padding:10px 12px;margin:14px 0 0;}
.rw-qv-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.rw-qv-img{border-radius:14px;overflow:hidden;background:var(--purple-100);aspect-ratio:1/1;}
.rw-qv-img img{width:100%;height:100%;object-fit:cover;}
.rw-modal-loading{padding:50px;text-align:center;color:var(--muted);font-size:14px;}

.rw-drawer-overlay{position:fixed;inset:0;background:rgba(20,10,40,.5);z-index:98;display:none;}
.rw-drawer-overlay.rw-show{display:block;}
.rw-drawer{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:84vw;background:#fff;z-index:99;transform:translateX(-100%);transition:transform .25s;overflow:auto;padding:20px;}
.rw-drawer.rw-show{transform:none;}
.rw-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px;}
.rw-drawer-head img{height:28px;width:auto;}
.rw-drawer nav ul{list-style:none;margin:0;padding:0;}
.rw-drawer nav a{display:flex;align-items:center;justify-content:space-between;padding:13px 6px;border-bottom:1px solid var(--line);font-weight:600;font-size:14.5px;color:var(--ink);}
.rw-drawer-section{margin-top:18px;}
.rw-drawer-section h5{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.rw-drawer-contact{display:flex;flex-direction:column;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);}
.rw-drawer-contact div{display:flex;align-items:center;gap:8px;}

.rw-float-wa{position:fixed;right:20px;bottom:20px;z-index:60;width:56px;height:56px;border-radius:999px;background:#25D366;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.25);}
.rw-back-top{position:fixed;right:20px;bottom:88px;z-index:59;width:44px;height:44px;border-radius:999px;background:var(--purple-800);color:#fff;display:none;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.2);border:0;}
.rw-back-top.rw-show{display:flex;}
.rw-toast{position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-160%);z-index:120;background:var(--ink);color:#fff;padding:13px 22px;border-radius:12px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:10px;transition:transform .3s;box-shadow:var(--shadow);}
.rw-toast.rw-show{transform:translateX(-50%);}
.rw-toast svg{color:var(--amber);}
.rw-mobile-buybar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:10px 14px;display:none;gap:10px;z-index:55;box-shadow:0 -6px 20px rgba(20,10,40,.08);}
.rw-mobile-buybar .rw-btn{flex:1;}

/* ============================================================
   13. CONTENT PAGES / POSTS / COMMENTS
   ============================================================ */
.rw-content{padding:20px 0 60px;}
.rw-entry{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px;}
.rw-entry img{border-radius:10px;}
.rw-entry h1,.rw-entry h2,.rw-entry h3{margin-top:1.4em;}
.rw-entry h1:first-child,.rw-entry h2:first-child{margin-top:0;}
.rw-entry blockquote{border-left:4px solid var(--purple-700);background:var(--purple-100);margin:1.5em 0;padding:16px 22px;border-radius:0 10px 10px 0;}
.rw-entry blockquote p:last-child{margin-bottom:0;}
.rw-entry table th,.rw-entry table td{border:1px solid var(--line);padding:10px 12px;font-size:14px;}
.rw-entry table th{background:var(--purple-100);}
.rw-entry pre{background:var(--purple-900);color:#E9E1FA;padding:18px;border-radius:10px;overflow:auto;font-family:'JetBrains Mono',monospace;font-size:13px;}
.rw-entry code{background:var(--purple-100);padding:2px 6px;border-radius:4px;font-family:'JetBrains Mono',monospace;font-size:.9em;}
.rw-post-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:22px;}
.rw-post-card .rw-post-body{padding:24px;}
.rw-post-meta{font-size:12.5px;color:var(--muted);margin-bottom:8px;}
.rw-comments{margin-top:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
.rw-comments ol.comment-list{list-style:none;padding:0;}
.rw-comments .comment-body{border-bottom:1px solid var(--line);padding:16px 0;}
.rw-comments .comment-respond input[type="text"],.rw-comments .comment-respond input[type="email"],.rw-comments textarea{
  width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:14px;
}
.rw-pagination{display:flex;gap:6px;justify-content:center;margin:30px 0;flex-wrap:wrap;}
.rw-pagination .page-numbers{padding:10px 15px;border-radius:8px;background:#fff;border:1px solid var(--line);font-weight:600;font-size:13.5px;}
.rw-pagination .page-numbers.current,.rw-pagination .page-numbers:hover{background:var(--purple-700);color:#fff;border-color:var(--purple-700);}

/* ============================================================
   14. FOOTER
   ============================================================ */
.rw-footer{background:var(--purple-900);color:#C9BCE8;font-size:13.5px;margin-top:auto;}
.rw-footer-top{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px;padding:56px 24px 32px;}
.rw-footer h5,.rw-footer .widget-title{color:#fff;font-family:'Sora',sans-serif;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;}
.rw-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.rw-footer a:hover{color:#fff;text-decoration:underline;}
.rw-footer-logo{display:inline-flex;align-items:center;background:rgba(255,255,255,.08);border-radius:12px;padding:10px 16px;margin-bottom:14px;}
.rw-footer-logo img{height:30px;width:auto;}
.rw-footer-about p{color:#B7A9DD;font-size:13px;}
.rw-footer-social{display:flex;gap:10px;margin-top:16px;}
.rw-footer-social a{width:36px;height:36px;border-radius:999px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#fff;}
.rw-footer-social a:hover{background:var(--purple-700);}
.rw-footer-contact li{display:flex;gap:10px;align-items:flex-start;color:#B7A9DD;}
.rw-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:#9C8FC4;}
.rw-pay-icons{display:flex;gap:8px;flex-wrap:wrap;}
.rw-pay-icons span{background:rgba(255,255,255,.08);padding:4px 9px;border-radius:6px;font-size:11px;font-weight:700;color:#E9E1FA;}
.rw-pay-icons img{max-height:22px;}

/* ============================================================
   14b. ADS & SPONSORED PLACEMENTS
   ============================================================ */
.rw-ad-section{padding:26px 0;}
.rw-ad-wrap{padding:26px 24px;}
.rw-ad{
  position:relative;display:block;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink);
  transition:.2s;margin-bottom:18px;
}
a.rw-ad:hover{border-color:var(--purple-500);box-shadow:var(--shadow);transform:translateY(-2px);}
.rw-ad:last-child{margin-bottom:0;}
.rw-ad-inner{display:flex;align-items:stretch;min-width:0;}
.rw-ad-media{flex:none;background:var(--purple-100);overflow:hidden;}
.rw-ad-media img{width:100%;height:100%;object-fit:cover;display:block;}
.rw-ad-body{padding:20px 24px;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0;}
.rw-ad-company{
  font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--purple-700);
}
.rw-ad-headline{font-family:'Sora',sans-serif;font-size:19px;margin:0;line-height:1.25;overflow-wrap:anywhere;}
.rw-ad-text{font-size:13.5px;color:var(--muted);margin:0;max-width:60ch;}
.rw-ad-cta{align-self:flex-start;margin-top:8px;pointer-events:none;}
.rw-ad-label{
  position:absolute;top:10px;right:10px;z-index:2;
  background:rgba(30,21,51,.72);color:#fff;font-size:10px;font-weight:600;
  letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;border-radius:20px;
  backdrop-filter:blur(4px);
}

/* Wide banner — image left, text right */
.rw-ad-banner .rw-ad-media{width:38%;max-width:440px;aspect-ratio:16/6;}
.rw-ad-banner .rw-ad-media:only-child{width:100%;max-width:none;aspect-ratio:1200/220;}

/* Half bar */
.rw-ad-halfbar .rw-ad-media{width:44%;max-width:340px;aspect-ratio:4/3;}
.rw-ad-halfbar .rw-ad-headline{font-size:17px;}
.rw-ad-halfbar .rw-ad-media:only-child{width:100%;max-width:none;aspect-ratio:800/260;}

/* Card — stacked, for sidebar and in-grid */
.rw-ad-card .rw-ad-inner,.rw-ad-skyline .rw-ad-inner{flex-direction:column;}
.rw-ad-card .rw-ad-media{width:100%;aspect-ratio:1/1;}
.rw-ad-card .rw-ad-body,.rw-ad-skyline .rw-ad-body{padding:16px 18px;}
.rw-ad-card .rw-ad-headline,.rw-ad-skyline .rw-ad-headline{font-size:16px;}
.rw-ad-card .rw-ad-text,.rw-ad-skyline .rw-ad-text{font-size:13px;}

/* Tall sidebar */
.rw-ad-skyline .rw-ad-media{width:100%;aspect-ratio:3/5;}

/* Ad sitting inside the product grid */
li.product.rw-ad-slot{
  list-style:none;padding:0;border:0;background:transparent;box-shadow:none;
  display:flex;
}
li.product.rw-ad-slot:hover{transform:none;box-shadow:none;}
li.product.rw-ad-slot .rw-ad{margin:0;width:100%;display:flex;flex-direction:column;}
li.product.rw-ad-slot .rw-ad-inner{flex-direction:column;height:100%;}
li.product.rw-ad-slot .rw-ad-media{width:100%;aspect-ratio:1/1;}

/* Sidebar ads */
.rw-sidebar .rw-ad{margin-bottom:20px;}
.rw-sidebar .rw-ad-inner{flex-direction:column;}
.rw-sidebar .rw-ad-media{width:100%;aspect-ratio:1/1;}
.rw-sidebar .rw-ad-body{padding:14px 16px;}
.rw-sidebar .rw-ad-headline{font-size:15px;}

/* ============================================================
   14c. VENDOR AREA
   ============================================================ */
.rw-vendor-page{padding-bottom:60px;}
.rw-vendor-wrap{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:24px;padding-bottom:60px;align-items:start;
}
.rw-vendor-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:30px;box-shadow:var(--shadow-sm);
}
.rw-vendor-card-alt{background:var(--purple-100);border-color:var(--purple-200);}
.rw-vendor-card h2{font-size:22px;margin:6px 0 10px;}
.rw-vendor-intro{font-size:13.5px;color:var(--muted);margin-bottom:20px;}
.rw-vendor-form{display:flex;flex-direction:column;gap:4px;}
.rw-vendor-form label{font-size:13px;font-weight:600;margin-top:12px;}
.rw-vendor-form input[type=text],
.rw-vendor-form input[type=email],
.rw-vendor-form input[type=password]{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-sm);
  font-family:inherit;font-size:14px;background:#fff;color:var(--ink);
}
.rw-vendor-form input:focus{outline:2px solid var(--purple-500);outline-offset:1px;border-color:var(--purple-500);}
.rw-vendor-form .rw-check{
  display:flex;align-items:center;gap:8px;font-weight:400;font-size:13px;margin-top:14px;
}
.rw-vendor-form .rw-check input{width:auto;margin:0;}
.rw-vendor-form .rw-btn{margin-top:18px;}
.rw-vendor-forgot{
  display:block;text-align:center;margin-top:14px;font-size:13px;color:var(--purple-700);
}

/* Alerts */
.rw-alert{
  padding:13px 18px;border-radius:var(--radius-sm);font-size:13.5px;margin-bottom:20px;
  border:1px solid transparent;
}
.rw-alert-error{background:#FDECEC;border-color:#F3C6C6;color:#8C2A2A;}
.rw-alert-ok{background:var(--green-bg);border-color:#B7E3CE;color:#0F6B45;}
.rw-notice{
  background:var(--purple-100);border:1px solid var(--purple-200);
  padding:20px;border-radius:var(--radius);font-size:14px;
}

/* Vendor dashboard */
.rw-vendor-dash{padding-bottom:60px;}
.rw-vendor-dash-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 30px;margin-bottom:22px;
}
.rw-vendor-dash-head h2{font-size:24px;margin:6px 0 8px;}
.rw-vendor-status{font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:7px;margin:0;}
.rw-vendor-status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;}
.rw-status-approved{color:var(--green);}
.rw-status-pending{color:var(--amber-ink);}
.rw-status-suspended{color:var(--red);}
.rw-vendor-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;}
.rw-vendor-panel{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;
}
.rw-vendor-panel h3{font-size:16px;margin:0 0 12px;}
.rw-vendor-panel p{font-size:13.5px;color:var(--muted);margin-bottom:16px;}
.rw-vendor-panel .rw-btn{margin-right:8px;margin-bottom:8px;}
.rw-vendor-meta{list-style:none;margin:0 0 18px;padding:0;}
.rw-vendor-meta li{
  display:flex;justify-content:space-between;gap:16px;padding:9px 0;
  border-bottom:1px solid var(--line);font-size:13.5px;
}
.rw-vendor-meta li:last-child{border-bottom:0;}
.rw-vendor-meta span{color:var(--muted);flex:none;}
.rw-vendor-meta b{text-align:right;overflow-wrap:anywhere;min-width:0;}
.rw-vendor-note{
  margin-top:22px;background:var(--purple-100);border:1px solid var(--purple-200);
  border-radius:var(--radius);padding:20px 24px;font-size:13.5px;
}
.rw-vendor-note p:last-child{margin-bottom:0;}
.rw-vendor-intro-block{margin-bottom:26px;}
.rw-vendor-link .rw-icon-label{white-space:nowrap;}

/* ============================================================
   14d. MOBILE BOTTOM NAV + WHATSAPP ORDER PANEL
   ============================================================ */
.rw-bottom-nav{display:none;}
@media (max-width:900px){
  .rw-bottom-nav{
    position:fixed;left:0;right:0;bottom:0;z-index:70;
    display:flex;align-items:stretch;background:#fff;
    border-top:1px solid var(--line);
    box-shadow:0 -4px 20px -8px rgba(36,16,73,.25);
    padding-bottom:env(safe-area-inset-bottom);
  }
  .rw-bn-item{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:3px;padding:8px 4px;min-height:56px;background:none;border:0;
    color:var(--muted);font-size:10.5px;font-weight:600;text-decoration:none;
    font-family:inherit;cursor:pointer;
  }
  .rw-bn-item .rw-icon{width:21px;height:21px;}
  .rw-bn-item.rw-active{color:var(--purple-700);}
  .rw-bn-order{color:var(--green);}
  .rw-bn-cart{position:relative;display:block;}
  .rw-bn-cart .rw-count{top:-6px;right:-9px;}
  /* Keep the bottom bar from covering page content */
  body{padding-bottom:60px;}
  .rw-footer{padding-bottom:70px;}
  .rw-float-wa{bottom:74px;}
  .rw-back-top{bottom:140px;}
  body.rw-has-buybar .rw-bottom-nav{display:none;}
}

/* WhatsApp order panel on cart / checkout */
.rw-wa-order{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:#E9F8F0;border:1px solid #B7E3CE;border-radius:var(--radius);
  padding:18px 22px;margin:0 0 24px;
}
.rw-wa-order-icon{
  width:46px;height:46px;flex:none;border-radius:12px;background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.rw-wa-order-icon .rw-icon{stroke:none;fill:currentColor;width:26px;height:26px;}
.rw-wa-order-text{flex:1;min-width:180px;display:flex;flex-direction:column;gap:3px;}
.rw-wa-order-text strong{font-size:15px;}
.rw-wa-order-text span{font-size:13px;color:#0F6B45;}
.rw-btn-wa{background:#25D366;color:#fff;border-color:#25D366;}
.rw-btn-wa:hover{background:#1FB855;color:#fff;}
.rw-checkout-count{font-size:13px;color:var(--muted);margin:0 0 10px;}
@media (max-width:640px){
  .rw-wa-order{padding:16px;gap:12px;}
  .rw-wa-order .rw-btn{width:100%;justify-content:center;}
}

/* Bank transfer details on the thank-you page */
.rw-bank-details{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 24px;margin:22px 0;
}
.rw-bank-details h3{font-size:16px;margin:0 0 14px;}
.rw-bank-table{width:100%;border-collapse:collapse;}
.rw-bank-table th,.rw-bank-table td{
  text-align:left;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;
}
.rw-bank-table th{color:var(--muted);font-weight:600;width:40%;}
.rw-bank-table td{font-family:'JetBrains Mono',monospace;overflow-wrap:anywhere;}
.rw-bank-table tr:last-child th,.rw-bank-table tr:last-child td{border-bottom:0;}
.rw-bank-note{
  margin:14px 0 0;padding:12px 14px;background:var(--purple-100);
  border-radius:var(--radius-sm);font-size:13px;
}
@media (max-width:520px){
  .rw-bank-table th,.rw-bank-table td{display:block;width:100%;padding:4px 0;border:0;}
  .rw-bank-table tr{display:block;padding:8px 0;border-bottom:1px solid var(--line);}
}

/* Footer legal / registration strip */
.rw-footer-legal{
  display:flex;flex-wrap:wrap;gap:14px 40px;
  padding:22px 24px;border-top:1px solid rgba(255,255,255,.12);
}
.rw-legal-item{display:flex;flex-direction:column;gap:3px;min-width:0;}
.rw-legal-label{
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.55);font-weight:600;
}
.rw-legal-value{
  font-family:'JetBrains Mono',monospace;font-size:13.5px;
  color:#fff;overflow-wrap:anywhere;
}
@media (max-width:640px){
  .rw-footer-legal{gap:14px 24px;padding:18px 16px;}
  .rw-legal-item{flex:1 1 45%;}
}

/* ============================================================
   14e. MARKETPLACE REFINEMENTS
   ------------------------------------------------------------
   A cleaner, lighter treatment applied across every page: softer
   surfaces, calmer borders, pill buttons and roomier sections.
   Colours come from the preset, so this works with either palette.
   ============================================================ */
:root{
  --radius:16px;
  --radius-sm:10px;
  --shadow:0 10px 30px -14px rgba(24,16,8,.22);
  --shadow-sm:0 2px 12px -6px rgba(24,16,8,.16);
  --paper:#FAF8F5;
  --line:#EDE7DF;
  --ink:#241A12;
  --muted:#7A6E62;
}

body{background:var(--paper);}

/* Section rhythm */
.rw-section{padding:var(--section-pad) 0;}
.rw-section-alt{background:#fff;}
.rw-section-head{margin-bottom:28px;}
.rw-section-head h2{letter-spacing:-.015em;}

/* Cards: lighter border, deeper lift on hover */
.woocommerce ul.products li.product,
ul.products li.product{
  border-color:var(--line);box-shadow:var(--shadow-sm);
}
ul.products li.product:hover{
  box-shadow:var(--shadow);transform:translateY(-4px);
  border-color:color-mix(in srgb, var(--purple-700) 35%, var(--line));
}
.rw-card-thumb{background:#fff;}
.rw-card-title{letter-spacing:-.01em;}

/* Buttons become pills, which reads friendlier on a shop */
.rw-btn,
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  border-radius:999px;font-weight:600;letter-spacing:.01em;
}
.rw-btn-primary{box-shadow:0 6px 18px -8px var(--purple-700);}
.rw-btn-amber{color:#3A2408;}

/* Category tiles: rounder, softer */
.rw-cat-card{border-radius:var(--radius);border-color:var(--line);}
.rw-cat-card:hover{box-shadow:var(--shadow);}
.rw-cat-thumb{border-radius:var(--radius-sm);}

/* Brand strip */
.rw-brand-strip a{
  border-radius:var(--radius-sm);border-color:var(--line);background:#fff;
}

/* Inputs */
input[type=text],input[type=search],input[type=email],input[type=tel],
input[type=password],input[type=number],select,textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  border-radius:var(--radius-sm);border-color:var(--line);
}

/* Header sits on white, category bar carries the colour */
.rw-header{background:#fff;}
.rw-catbar{background:var(--purple-700);}
.rw-catbar a:hover{background:rgba(255,255,255,.14);}

/* Footer */
.rw-footer{background:var(--purple-900);}

/* Collection rows alternate cleanly */
.rw-collection .rw-section-head{border-top:0;padding-top:0;}
.rw-collection + .rw-collection{border-top:1px solid var(--line);}

/* Tables */
.woocommerce table.shop_table{border-color:var(--line);border-radius:var(--radius);}
.rw-tier-table{box-shadow:var(--shadow-sm);}

/* ============================================================
   14f. MARKETPLACE LAYOUT
   ------------------------------------------------------------
   Header, nav bar, centred section headings and the category
   carousel, matching the reference marketplace layout.
   ============================================================ */
:root{
  --paper:#FBF8F3;
  --nav:#12211C;              /* near-black nav bar */
  --nav-hover:rgba(255,255,255,.10);
}

/* ---- Header: logo | wide pill search | stacked icon buttons ---- */
.rw-header-main{
  display:flex;align-items:center;gap:28px;padding:14px 24px;
}
.rw-logo-wrap{flex:0 0 auto;}
.rw-search{
  flex:1 1 auto;max-width:560px;margin:0 auto;
  background:#F4F1EC;border:1px solid transparent;border-radius:999px;
  padding:4px 4px 4px 20px;
}
.rw-search:focus-within{border-color:var(--purple-700);background:#fff;}
.rw-search input[type=search]{
  background:transparent;border:0;padding:11px 0;font-size:14.5px;width:100%;
}
.rw-search button{
  width:40px;height:40px;border-radius:50%;flex:none;
  background:var(--purple-700);color:#fff;border:0;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.rw-header-actions{flex:0 0 auto;display:flex;align-items:flex-start;gap:6px;}
/* Icon above, label beneath — the reference header stacks them. */
.rw-icon-btn{
  flex-direction:column;gap:4px;min-width:64px;height:auto;
  padding:6px 8px;border-radius:12px;background:none;border:0;
  color:var(--ink);font-size:12px;font-weight:500;
}
.rw-icon-btn:hover{background:var(--purple-100);}
.rw-icon-btn .rw-icon{width:22px;height:22px;}
.rw-icon-label{display:block;white-space:nowrap;}
.rw-count{top:0;right:12px;}

/* ---- Category nav bar: dark, full width ---- */
.rw-catbar{background:var(--nav);border:0;}
.rw-catbar a{
  color:#fff;font-size:14px;font-weight:500;padding:15px 16px;
  border-radius:0;
}
.rw-catbar a:hover,.rw-catbar a:focus{background:var(--nav-hover);color:#fff;}
.rw-catbar .rw-current{background:var(--nav-hover);}

/* ---- Section headings: centred, no eyebrow rule ---- */
.rw-section-head{
  display:block;text-align:center;border-top:0;padding-top:0;
  min-height:0;margin-bottom:30px;
}
.rw-section-head-text{margin:0 auto;}
.rw-section-head .rw-eyebrow{display:none;}
.rw-section-head h2{font-size:30px;margin:0 0 8px;letter-spacing:-.015em;}
.rw-section-head p{margin:0 auto;max-width:60ch;}
.rw-section-action{margin-top:16px;display:flex;justify-content:center;}

/* ---- Hero: two banners side by side ---- */
.rw-hero{background:none;padding:26px 0 0;color:inherit;}
.rw-hero .rw-wrap{
  display:grid;grid-template-columns:2fr 1fr;gap:20px;padding:0 24px;
}
.rw-hero-visual,.rw-hero-copy{
  border-radius:var(--radius);overflow:hidden;min-height:300px;
}
.rw-hero-copy{
  background:linear-gradient(135deg,var(--purple-100),#fff);
  color:var(--ink);padding:38px 34px;display:flex;flex-direction:column;justify-content:center;
}
.rw-hero-copy h1{color:var(--ink);font-size:32px;}
.rw-hero-copy p{color:var(--muted);}

/* ---- Featured categories carousel ---- */
.rw-cat-carousel{position:relative;padding:0 6px;}
.rw-cat-track{
  display:flex;gap:18px;overflow-x:auto;scroll-behavior:smooth;
  scroll-snap-type:x mandatory;padding:4px 2px 10px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.rw-cat-track::-webkit-scrollbar{display:none;}
.rw-cat-card{
  flex:0 0 auto;width:150px;scroll-snap-align:start;
  display:flex;flex-direction:column;align-items:center;gap:12px;
  background:none;border:0;padding:0;text-decoration:none;color:var(--ink);
  box-shadow:none;
}
.rw-cat-thumb{
  width:150px;height:150px;border-radius:var(--radius);background:#fff;
  border:1px solid var(--line);box-shadow:var(--shadow-sm);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  transition:box-shadow .18s,transform .18s;
}
.rw-cat-card:hover .rw-cat-thumb{box-shadow:var(--shadow);transform:translateY(-3px);}
.rw-cat-thumb img{width:100%;height:100%;object-fit:cover;}
.rw-cat-thumb .rw-icon-lg{width:52px;height:52px;color:var(--purple-700);}
.rw-cat-name{
  font-size:15px;font-weight:500;text-align:center;line-height:1.3;
}
/* Round orange arrows sitting over the row */
.rw-cat-nav{
  position:absolute;top:70px;z-index:2;
  width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;
  background:var(--purple-700);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-sm);transition:background .15s;
}
.rw-cat-nav:hover{background:var(--purple-800);}
.rw-cat-prev{left:-14px;}
.rw-cat-next{right:-14px;}
.rw-cat-nav .rw-icon{width:20px;height:20px;}

@media (max-width:900px){
  .rw-hero .rw-wrap{grid-template-columns:1fr;}
  .rw-hero-visual{min-height:200px;}
  .rw-cat-nav{display:none;}
  .rw-cat-card,.rw-cat-thumb{width:120px;}
  .rw-cat-thumb{height:120px;}
  .rw-section-head h2{font-size:24px;}
}
@media (max-width:520px){
  .rw-cat-card,.rw-cat-thumb{width:104px;}
  .rw-cat-thumb{height:104px;}
  .rw-cat-name{font-size:13px;}
}

/* ============================================================
   14g. HERO SLIDER + PRODUCT CONTACT BUTTONS
   ============================================================ */
.rw-hero-banners{padding:26px 0 0;}
.rw-hero-banners .rw-wrap{
  display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:stretch;
}
.rw-hero-banners .rw-wrap:has(.rw-slider:only-child){grid-template-columns:1fr;}

.rw-slider{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--purple-100);}
.rw-slider-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);}
.rw-slide{
  flex:0 0 100%;position:relative;display:block;text-decoration:none;color:inherit;
  aspect-ratio:1000/400;background:var(--purple-100);
}
.rw-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.rw-slide-caption{
  position:absolute;left:0;bottom:0;right:0;padding:28px 32px;
  background:linear-gradient(to top,rgba(20,12,4,.72),transparent);color:#fff;
}
.rw-slide-caption h2{color:#fff;font-size:26px;margin:0 0 6px;}
.rw-slide-caption p{color:rgba(255,255,255,.9);margin:0 0 12px;max-width:52ch;}

.rw-slider-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.92);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-sm);opacity:0;transition:opacity .2s,background .15s;
}
.rw-slider:hover .rw-slider-nav{opacity:1;}
.rw-slider-nav:hover{background:#fff;}
.rw-slider-prev{left:14px;}
.rw-slider-next{right:14px;}

.rw-slider-dots{
  position:absolute;left:0;right:0;bottom:14px;z-index:3;
  display:flex;justify-content:center;gap:8px;
}
.rw-slider-dot{
  width:9px;height:9px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:rgba(255,255,255,.55);transition:width .2s,background .2s;
}
.rw-slider-dot.rw-active{background:#fff;width:24px;border-radius:999px;}

.rw-hero-side{border-radius:var(--radius);overflow:hidden;}
.rw-hero-side .rw-slide{aspect-ratio:auto;height:100%;min-height:100%;}
.rw-hero-side .rw-slide img{height:100%;}

/* Product page contact buttons */
.rw-single-contact{
  display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 4px;
}
.rw-single-contact .rw-btn{flex:1 1 190px;justify-content:center;}
.rw-single-contact .rw-btn-wa{background:#25D366;border-color:#25D366;color:#fff;}
.rw-single-contact .rw-btn-wa:hover{background:#1FB855;color:#fff;}
.rw-single-contact .rw-icon{stroke:none;fill:currentColor;}
.rw-single-contact .rw-btn-outline .rw-icon{stroke:currentColor;fill:none;}

@media (max-width:900px){
  .rw-hero-banners .rw-wrap{grid-template-columns:1fr;}
  .rw-hero-side{display:none;}
  .rw-slider-nav{opacity:1;width:34px;height:34px;}
  .rw-slide-caption{padding:18px 20px;}
  .rw-slide-caption h2{font-size:19px;}
  .rw-slide-caption p{display:none;}
}
@media (max-width:520px){
  .rw-slide{aspect-ratio:16/10;}
  .rw-single-contact .rw-btn{flex:1 1 100%;}
}

/* ============================================================
   15. RESPONSIVE
   ------------------------------------------------------------
   Breakpoints: 1280 / 1100 / 980 / 860 / 720 / 640 / 520 / 400
   The product grid is driven by the rw-cols-N body class, so the
   admin "products per row" setting is the desktop maximum and the
   grid steps down from there on smaller screens.
   ============================================================ */

/* Never let anything push the page sideways. */
html,body{max-width:100%;overflow-x:hidden;}
img,svg,video,canvas{max-width:100%;height:auto;}
table{max-width:100%;}

/* Admin-controlled desktop columns */
body.rw-cols-2 ul.products{grid-template-columns:repeat(2,minmax(0,1fr));}
body.rw-cols-3 ul.products{grid-template-columns:repeat(3,minmax(0,1fr));}
body.rw-cols-4 ul.products{grid-template-columns:repeat(4,minmax(0,1fr));}
body.rw-cols-5 ul.products{grid-template-columns:repeat(5,minmax(0,1fr));}

/* With the sidebar the main column is ~270px narrower, so drop one. */
@media (max-width:1280px){
  body.rw-has-shop-sidebar.rw-cols-5 ul.products{grid-template-columns:repeat(4,1fr);}
  body.rw-has-shop-sidebar.rw-cols-4 ul.products{grid-template-columns:repeat(3,1fr);}
}

@media (max-width:1100px){
  .rw-wrap{padding-left:20px;padding-right:20px;}
  body.rw-cols-5 ul.products,
  body.rw-cols-4 ul.products,
  .woocommerce ul.products,ul.products,ul.products[class*=columns-]{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.rw-has-shop-sidebar ul.products,
  body.rw-has-shop-sidebar ul.products[class*=columns-]{grid-template-columns:repeat(2,minmax(0,1fr));}
  .rw-cat-grid{grid-template-columns:repeat(4,1fr);}
  .rw-brand-strip{grid-template-columns:repeat(4,1fr);}
  .rw-shop-layout{grid-template-columns:240px 1fr;gap:22px;}
}

@media (max-width:980px){
  :root{--section-pad:48px;}
  .rw-hero .rw-wrap{grid-template-columns:1fr;padding:44px 24px;}
  .rw-hero h1{font-size:34px;}
  .rw-trust .rw-wrap{grid-template-columns:repeat(2,1fr);gap:18px;}
  .rw-trust-item{border-left:0;padding:0;}
  .rw-cat-grid{grid-template-columns:repeat(3,1fr);}
  body.rw-cols-5 ul.products,
  body.rw-cols-4 ul.products,
  body.rw-cols-3 ul.products,
  body.rw-has-shop-sidebar ul.products,
  .woocommerce ul.products,ul.products,ul.products[class*=columns-]{grid-template-columns:repeat(2,minmax(0,1fr));}
  .rw-feature-grid{grid-template-columns:repeat(2,1fr);}
  .rw-explain-grid{grid-template-columns:1fr;gap:30px;}
  .rw-testi-grid{grid-template-columns:1fr;}
  /* Sidebar moves above the grid */
  .rw-shop-layout{grid-template-columns:1fr;}
  .rw-sidebar{position:static;}
  .rw-footer-top{grid-template-columns:1fr 1fr;}
  .woocommerce div.product{grid-template-columns:minmax(0,1fr);gap:24px 0;}
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary{grid-column:1;}
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{width:100%;float:none;margin-bottom:16px;}
  .rw-qv-grid{grid-template-columns:1fr;}
  .rw-page-head-media{grid-template-columns:1fr 150px;gap:20px;}
  /* Sidebar ads go side-by-side once the sidebar is full width */
  .rw-sidebar .rw-ad-inner{flex-direction:row;}
  .rw-sidebar .rw-ad-media{width:200px;flex:none;aspect-ratio:4/3;}
}

@media (max-width:860px){
  .rw-ad-banner .rw-ad-media,
  .rw-ad-halfbar .rw-ad-media{width:34%;min-width:140px;}
  .rw-ad-headline{font-size:17px;}
  .rw-ad-body{padding:16px 18px;}
  .rw-vendor-dash-head{padding:22px;}
}

@media (max-width:900px){
  /* ---- COMPACT MOBILE HEADER ----------------------------------
     One row, ~58px tall. The top contact bar and the purple category
     bar are both hidden here — on a phone they were eating roughly a
     third of the first screen before any product was visible. Their
     content lives in the slide-out drawer instead. */
  .rw-topbar{display:none;}
  .rw-catbar{display:none;}
  .rw-header-main{
    display:flex;flex-wrap:nowrap;align-items:center;
    gap:6px;padding:8px 14px;min-height:58px;
  }
  .rw-burger{display:flex;align-items:center;justify-content:center;flex:none;
    width:42px;height:42px;margin-left:-6px;border-radius:10px;}
  .rw-logo-wrap{flex:1 1 auto;min-width:0;gap:6px!important;}
  .rw-logo img,.custom-logo{height:30px;}
  .rw-wholesale-tag{display:none;}
  .rw-header-actions{flex:none;display:flex;align-items:center;gap:2px;margin-left:auto;}
  .rw-icon-btn{min-width:42px;width:42px;height:42px;padding:0;gap:0;}
  .rw-icon-btn .rw-icon{width:21px;height:21px;}
  /* Search collapses into an icon; tapping it slides the field open */
  .rw-search{
    position:absolute;left:0;right:0;top:100%;max-width:none;margin:0;
    border-radius:0;padding:10px 14px;background:#fff;
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    display:none;box-shadow:var(--shadow-sm);z-index:60;
  }
  .rw-header-main{position:relative;}
  body.rw-search-open .rw-search{display:flex;}
  .rw-search input[type=search]{background:var(--purple-100);border-radius:999px;padding:11px 16px;width:100%;}
  .rw-search-toggle{display:flex!important;}
  /* Vendor link is a drawer item on mobile, not a header icon */
  .rw-vendor-link{display:none;}
  .rw-count{top:2px;right:2px;}
}

/* The search toggle only exists on small screens. */
.rw-search-toggle{display:none;}

@media (max-width:720px){
  :root{--section-pad:40px;}
  .rw-mobile-buybar.rw-show{display:flex;}
  body.rw-has-buybar .rw-float-wa{bottom:84px;}
  body.rw-has-buybar .rw-back-top{bottom:150px;}
  body.rw-has-buybar .rw-footer{padding-bottom:70px;}
  .rw-page-head-media{grid-template-columns:1fr;}
  .rw-page-head-img{max-width:220px;aspect-ratio:16/9;}
  .rw-page-head h1{font-size:25px;}
  /* Ads stack */
  .rw-ad-inner,
  .rw-sidebar .rw-ad-inner{flex-direction:column;}
  .rw-ad-banner .rw-ad-media,
  .rw-ad-halfbar .rw-ad-media,
  .rw-sidebar .rw-ad-media{width:100%;max-width:none;aspect-ratio:16/7;}
  .rw-ad-section,.rw-ad-wrap{padding-top:18px;padding-bottom:18px;}
  /* Wide cart tables scroll instead of overflowing. */
  .woocommerce table.shop_table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  /* The tier table has only three short columns and fits fine, so it stays a
     real table and fills its card instead of leaving a blank strip. */
  .rw-tier-table{display:table;width:100%;white-space:normal;}
  .rw-tier-table th,.rw-tier-table td{padding:11px 10px;font-size:13px;}
  .rw-subcat-row{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;}
}

@media (max-width:640px){
  .rw-wrap{padding-left:16px;padding-right:16px;}
  /* Icon labels go first */
  .rw-icon-label{display:none;}
  .rw-cat-grid{grid-template-columns:repeat(2,1fr);}
  .rw-feature-grid{grid-template-columns:1fr;}
  .rw-brand-strip{grid-template-columns:repeat(3,1fr);}
  .rw-footer-top{grid-template-columns:1fr;padding:40px 20px 20px;}
  .rw-cta-banner{padding:32px 22px;}
  .rw-hero h1{font-size:28px;}
  .rw-hero-stats{gap:18px;}
  .rw-card-title{min-height:0;}
  .rw-entry{padding:20px;}
  .rw-modal-head{padding:22px 20px 4px;}
  .rw-modal-body{padding:16px 20px 22px;}
  .rw-vendor-card{padding:24px 20px;}
  .rw-vendor-dash-head{flex-direction:column;align-items:stretch;}
  .rw-vendor-panel{padding:20px;}
  .rw-section-head h2{font-size:23px;}
  /* Checkout / cart go single column */
  .woocommerce form.checkout_coupon,
  .woocommerce .col2-set .col-1,
  .woocommerce .col2-set .col-2{width:100%;float:none;}
}

/* Buy button shows only the bolt icon on desktop; label appears on mobile. */
.rw-btn-buy-text{display:none;}

@media (max-width:640px){
  /* ---- MOBILE PRODUCT CARD -----------------------------------
     Below 640px the card turns into a horizontal row: image on the
     left, everything a buyer needs on the right. It fits roughly
     three products per screen instead of one, so scanning a category
     stops being an endless scroll. */
  /* One row-card per line from here down. */
  body.rw-cols-2 ul.products,
  body.rw-cols-3 ul.products,
  body.rw-cols-4 ul.products,
  body.rw-cols-5 ul.products,
  body.rw-has-shop-sidebar ul.products,
  .woocommerce ul.products,ul.products,ul.products[class*=columns-]{grid-template-columns:minmax(0,1fr);gap:12px;}
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .woocommerce ul.products[class*=columns-] li.product,
  ul.products li.product{
    display:grid!important;grid-template-columns:118px minmax(0,1fr)!important;
    gap:0;align-items:stretch;overflow:hidden;
    width:auto!important;float:none!important;clear:none!important;margin:0!important;
  }
  ul.products li.product .rw-card-thumb{
    aspect-ratio:auto;height:100%;min-height:118px;border-radius:0;
    border-right:1px solid var(--line);
  }
  ul.products li.product .rw-card-thumb img{
    width:100%;height:100%;object-fit:cover;
  }
  ul.products li.product .rw-card-body{
    padding:12px 14px;display:flex;flex-direction:column;gap:5px;min-width:0;
  }
  ul.products li.product .rw-card-title{
    font-size:14px;line-height:1.35;margin:0;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
    overflow:hidden;
  }
  ul.products li.product .rw-card-brand{font-size:10.5px;}
  ul.products li.product .rw-price-now{font-size:16px;}
  ul.products li.product .rw-price-row{flex-wrap:wrap;gap:4px 8px;}
  ul.products li.product .rw-moq-tag{font-size:11px;}
  /* Show the same information as desktop — the price ladder and rating
     are exactly what a wholesale buyer needs before ordering. */
  ul.products li.product .rw-stars{display:flex;}
  ul.products li.product .rw-mini-ladder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;}
  ul.products li.product .rw-mini-ladder div{padding:4px 3px;}
  ul.products li.product .rw-mini-ladder div b{font-size:10.5px;}
  ul.products li.product .rw-mini-ladder div span{font-size:9px;}
  /* Quick actions move below the image. Overlaid on the thumbnail they
     covered the badge and made it unreadable on a phone. */
  .woocommerce ul.products li.product,
  ul.products li.product{grid-template-rows:1fr auto;}
  ul.products li.product .rw-card-thumb{grid-column:1;grid-row:1;}
  ul.products li.product .rw-quick-actions{
    position:static;opacity:1;transform:none;
    flex-direction:row;justify-content:center;gap:10px;
    grid-column:1;grid-row:2;align-self:end;
    padding:8px 6px;background:#fff;border-right:1px solid var(--line);
  }
  ul.products li.product .rw-card-body{grid-column:2;grid-row:1/span 2;}
  ul.products li.product .rw-qa-btn{
    width:32px;height:32px;background:#fff;border:1px solid var(--line);
  }
  /* Image sits in row 1, the buttons underneath it in row 2. */
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .woocommerce ul.products[class*=columns-] li.product,
  ul.products li.product{grid-template-rows:1fr auto;}
  ul.products li.product .rw-card-thumb{grid-column:1;grid-row:1;}
  ul.products li.product .rw-card-body{grid-column:2;grid-row:1/-1;}
  /* Buttons: Add + Buy side by side, View is redundant (tap the card) */
  .rw-card-actions{display:flex;gap:8px;margin-top:auto;padding-top:8px;}
  .rw-card-actions .rw-btn{flex:1;justify-content:center;padding:9px 8px;font-size:12.5px;}
  .rw-card-actions .rw-btn-view{display:none;}
  .rw-btn-buy-text{display:inline;}
  .rw-btn-buy{flex:1.2;}
}

@media (max-width:520px){
  /* One product per row — the cards carry a price ladder and three
     buttons, so two columns stop being readable here. */
  body.rw-cols-2 ul.products,
  body.rw-cols-3 ul.products,
  body.rw-cols-4 ul.products,
  body.rw-cols-5 ul.products,
  body.rw-has-shop-sidebar ul.products,
  .woocommerce ul.products,ul.products{grid-template-columns:1fr;}
  .rw-cat-grid{grid-template-columns:repeat(2,1fr);}
  .rw-brand-strip{grid-template-columns:repeat(2,1fr);}
  .rw-trust .rw-wrap{grid-template-columns:1fr;}
  .rw-subcat-row{grid-template-columns:1fr;}
  .rw-vendor-meta li{flex-direction:column;gap:2px;}
  .rw-vendor-meta b{text-align:left;}
  .rw-hero h1{font-size:25px;}
  .rw-hero-ctas{flex-direction:column;align-items:stretch;}
  .rw-hero-ctas .rw-btn{width:100%;justify-content:center;}
}

@media (max-width:400px){
  .rw-wrap{padding-left:14px;padding-right:14px;}
  .woocommerce ul.products li.product,
  ul.products li.product{grid-template-columns:96px 1fr;}
  ul.products li.product .rw-card-body{padding:10px 12px;}
  .rw-hero h1{font-size:23px;}
  .rw-page-head h1{font-size:22px;}
  .rw-brand-strip{grid-template-columns:repeat(2,1fr);}
  .rw-ad-headline{font-size:16px;}
  .rw-mobile-buybar{padding:10px 12px;gap:8px;}
  .rw-mobile-buybar .rw-btn{padding-left:10px;padding-right:10px;font-size:13px;}
}

/* Touch targets: make every control comfortably tappable. */
@media (hover:none) and (pointer:coarse){
  .rw-btn,.rw-icon-btn,.rw-qa-btn{min-height:44px;}
  .woocommerce div.product .woocommerce-tabs ul.tabs li a{min-height:44px;display:flex;align-items:center;}
  .rw-icon-btn{min-width:44px;}
  .rw-quick-actions{opacity:1;transform:none;}
}

/* ============================================================
   16. PRINT
   ============================================================ */
@media print{
  .rw-header,.rw-topbar,.rw-catbar,.rw-footer,.rw-float-wa,.rw-back-top,.rw-mobile-buybar,.rw-promo-strip{display:none!important;}
  body{background:#fff;}
}
