/* ============================================================
   Rivaj Fabrics — main stylesheet
   Brand: deep maroon #7A1020 · gold #C9A227 · ivory #FBF7EE
   ============================================================ */
:root{
  --rf-maroon:#7A1020;
  --rf-maroon-dark:#5A0B17;
  --rf-maroon-deep:#3E0710;
  --rf-gold:#C9A227;
  --rf-gold-light:#E8CE7A;
  --rf-ivory:#FBF7EE;
  --rf-cream:#F5EDDD;
  --rf-ink:#2B2320;
  --rf-muted:#7A6F66;
  --rf-line:#E9DFC9;
  --rf-white:#FFFFFF;
  --rf-green:#1FA855;
  --rf-font-head:'Marcellus','Playfair Display',Georgia,'Times New Roman',serif;
  --rf-font-body:'Jost','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
  --rf-radius:14px;
  --rf-shadow:0 10px 30px rgba(90,11,23,.10);
  --rf-container:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--rf-font-body);
  color:var(--rf-ink);
  background:var(--rf-ivory);
  line-height:1.7;
  font-size:16px;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--rf-maroon);text-decoration:none}
a:hover{color:var(--rf-maroon-dark)}
h1,h2,h3,h4,h5{font-family:var(--rf-font-head);font-weight:400;line-height:1.3;margin:0 0 .6em;color:var(--rf-maroon-deep)}
p{margin:0 0 1em}
.rf-container{max-width:var(--rf-container);margin:0 auto;padding:0 20px}
.rf-section{padding:64px 0}
.rf-section-title{text-align:center;margin-bottom:12px;font-size:2rem}
.rf-section-sub{text-align:center;color:var(--rf-muted);max-width:640px;margin:0 auto 40px}
.rf-divider{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 40px}
.rf-divider::before,.rf-divider::after{content:"";height:1px;width:70px;background:var(--rf-gold)}
.rf-divider span{color:var(--rf-gold);font-size:1.2rem}
/* v2.4.16: divider design options (Customizer > Colors & Typography). */
.rf-div-line .rf-divider span{display:none}
.rf-div-line .rf-divider::before,.rf-div-line .rf-divider::after{width:130px}
.rf-div-double .rf-divider::before,.rf-div-double .rf-divider::after{height:4px;border-top:1px solid var(--rf-gold);border-bottom:1px solid var(--rf-gold);background:none}
.rf-div-double .rf-divider span{display:none}
.rf-div-maroon .rf-divider::before,.rf-div-maroon .rf-divider::after{background:var(--rf-maroon)}
.rf-div-maroon .rf-divider span{color:var(--rf-maroon)}
.rf-div-none .rf-divider{display:none}

/* ---------- Buttons ---------- */
.rf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--rf-maroon);color:#fff;border:2px solid var(--rf-maroon);
  padding:12px 28px;border-radius:999px;font-family:var(--rf-font-body);
  font-size:1rem;letter-spacing:.4px;cursor:pointer;transition:.25s}
.rf-btn:hover{background:var(--rf-maroon-dark);border-color:var(--rf-maroon-dark);color:#fff;transform:translateY(-2px);box-shadow:var(--rf-shadow)}
.rf-btn svg{width:20px;height:20px;flex:0 0 auto;fill:currentColor} /* v2.4.9: constrain button icons (location WhatsApp SVG was unconstrained) */
.rf-btn-gold{background:var(--rf-gold);border-color:var(--rf-gold);color:var(--rf-maroon-deep)}
.rf-btn-gold:hover{background:var(--rf-gold-light);border-color:var(--rf-gold-light);color:var(--rf-maroon-deep)}
.rf-btn-outline{background:transparent;color:var(--rf-maroon)}
.rf-btn-outline:hover{color:#fff}
.rf-btn-wa{background:var(--rf-green);border-color:var(--rf-green)}
.rf-btn-wa:hover{background:#178545;border-color:#178545;color:#fff}

/* ---------- Announcement bar ---------- */
.rf-announce{background:var(--rf-maroon-deep);color:var(--rf-gold-light);
  text-align:center;font-size:.92rem;padding:9px 16px;letter-spacing:.3px}
.rf-announce strong{color:#fff}

/* ---------- Header ---------- */
.rf-header{position:sticky;top:0;z-index:900;background:rgba(251,247,238,.97);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--rf-line);transition:box-shadow .25s}
.rf-header.scrolled{box-shadow:0 6px 24px rgba(90,11,23,.12)}
.rf-header-inner{display:flex;align-items:center;gap:24px;padding:14px 0}
.rf-logo{display:flex;align-items:center;gap:12px;margin-inline-end:auto}
.rf-logo img{max-height:58px;width:auto}
.rf-logo-text{font-family:var(--rf-font-head);font-size:1.5rem;color:var(--rf-maroon);line-height:1.1}
.rf-logo-text small{display:block;font-family:var(--rf-font-body);font-size:.72rem;letter-spacing:3px;color:var(--rf-gold);text-transform:uppercase}

/* v2.4.16: logo stays perfectly still (owner request — no float, no sheen) */
/* v2.4.13: logo alignment "right" option */
.rf-header-inner.rf-logo-right .rf-logo{order:3;margin-inline-end:0;margin-inline-start:auto}
.rf-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.rf-nav a{color:var(--rf-ink);font-weight:500;font-size:1rem;letter-spacing:.3px;position:relative;padding:4px 0}
.rf-nav a::after{content:"";position:absolute;inset-inline-start:0;bottom:-2px;height:2px;width:0;background:var(--rf-gold);transition:.25s}
.rf-nav a:hover::after,.rf-nav .current-menu-item a::after{width:100%}
.rf-header-actions{display:flex;align-items:center;gap:14px}
.rf-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;border:1px solid var(--rf-line);color:var(--rf-maroon);background:#fff;transition:.25s}
.rf-icon-btn:hover{background:var(--rf-maroon);color:#fff;border-color:var(--rf-maroon)}
.rf-icon-btn svg{width:20px;height:20px}
.rf-cart-count{position:absolute;top:-6px;inset-inline-end:-6px;background:var(--rf-gold);color:var(--rf-maroon-deep);
  font-size:.72rem;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 5px}
.rf-search-wrap{display:none;position:absolute;top:100%;inset-inline:0;background:#fff;border-bottom:1px solid var(--rf-line);padding:16px;box-shadow:var(--rf-shadow)}
.rf-search-wrap.open{display:block}
.rf-search-wrap form{display:flex;max-width:640px;margin:0 auto}
.rf-search-wrap input{flex:1;padding:12px 16px;border:1px solid var(--rf-line);border-radius:999px 0 0 999px;font-size:1rem}
.rf-search-wrap button{border-radius:0 999px 999px 0;border:0}
.rf-hamburger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.rf-hamburger span{display:block;width:26px;height:2px;background:var(--rf-maroon);margin:6px 0;transition:.25s}
.rf-mobile-nav{display:none;background:#fff;border-bottom:1px solid var(--rf-line)}
.rf-mobile-nav.open{display:block}
.rf-mobile-nav ul{list-style:none;margin:0;padding:10px 20px}
.rf-mobile-nav a{display:block;padding:12px 4px;border-bottom:1px solid var(--rf-cream);color:var(--rf-ink);font-weight:500}

/* ---------- Hero slider ---------- */
.rf-hero{position:relative;overflow:hidden;background:var(--rf-maroon-deep)}
.rf-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.rf-slide.active{opacity:1;pointer-events:auto;position:relative}
.rf-slide-bg{position:absolute;inset:0}
.rf-slide-bg img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.rf-slide-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(62,7,16,.82) 0%,rgba(62,7,16,.45) 45%,rgba(62,7,16,.05) 75%)}
.rf-slide-inner{position:relative;z-index:2;min-height:520px;display:flex;flex-direction:column;justify-content:center;
  max-width:var(--rf-container);margin:0 auto;padding:60px 20px;color:#fff}
.rf-slide-kicker{color:var(--rf-gold-light);letter-spacing:4px;text-transform:uppercase;font-size:.85rem;margin-bottom:14px}
.rf-slide-inner h1{color:#fff;font-size:3rem;max-width:560px;margin-bottom:14px}
.rf-slide-inner p{max-width:520px;color:#F3E9D2;font-size:1.1rem;margin-bottom:26px}
.rf-slide-cta{display:flex;gap:14px;flex-wrap:wrap}
.rf-dots{position:absolute;bottom:22px;inset-inline-start:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:3}
.rf-dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;cursor:pointer;padding:0;transition:.25s}
.rf-dot.active{background:var(--rf-gold);border-color:var(--rf-gold)}
.rf-hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);
  color:#fff;width:46px;height:46px;border-radius:50%;cursor:pointer;font-size:1.2rem;transition:.25s}
.rf-hero-arrow:hover{background:var(--rf-gold);border-color:var(--rf-gold);color:var(--rf-maroon-deep)}
.rf-hero-prev{inset-inline-start:18px}.rf-hero-next{inset-inline-end:18px}

/* ---------- Category tiles ---------- */
.rf-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rf-cat{position:relative;border-radius:var(--rf-radius);overflow:hidden;min-height:300px;display:flex;align-items:flex-end;box-shadow:var(--rf-shadow)}
.rf-cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.rf-cat:hover img{transform:scale(1.06)}
.rf-cat::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(62,7,16,.85),transparent 60%)}
.rf-cat-body{position:relative;z-index:2;padding:24px;color:#fff;width:100%}
.rf-cat-body h3{color:#fff;margin-bottom:4px;font-size:1.4rem}
.rf-cat-body p{color:var(--rf-gold-light);margin:0 0 10px;font-size:.92rem}
.rf-cat-link{color:#fff;font-weight:600;letter-spacing:1px;font-size:.9rem;text-transform:uppercase;border-bottom:2px solid var(--rf-gold);padding-bottom:2px}

/* ---------- Product cards ---------- */
.rf-products{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.rf-card{background:#fff;border:1px solid var(--rf-line);border-radius:var(--rf-radius);overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.rf-card:hover{transform:translateY(-6px);box-shadow:var(--rf-shadow);border-color:var(--rf-gold)}
.rf-card-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--rf-cream)}
.rf-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rf-card:hover .rf-card-media img{transform:scale(1.05)}
.rf-badge{position:absolute;top:12px;inset-inline-start:12px;background:var(--rf-maroon);color:#fff;font-size:.8rem;font-weight:700;
  padding:7px 16px;border-radius:999px;letter-spacing:1px;text-transform:uppercase;z-index:3;box-shadow:0 4px 14px rgba(0,0,0,.25)}
/* v2.18.1: badges brought to front — prominent, not hidden in corner. */
.rf-badge.rf-badge-new{background:#1FA855;font-size:.85rem;padding:8px 18px}
.rf-badge.sale{background:var(--rf-gold);color:var(--rf-maroon-deep);font-size:.9rem;padding:8px 18px;font-weight:800}
.rf-card-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.rf-card-cat{font-size:.78rem;letter-spacing:2px;text-transform:uppercase;color:var(--rf-gold)}
.rf-card-title{font-family:var(--rf-font-head);font-size:1.05rem;color:var(--rf-maroon-deep);margin:0}
.rf-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em} /* v2.4.9: uniform card heights */
.rf-card-title a{color:inherit}
.rf-card-price{font-weight:700;font-size:1.1rem;color:var(--rf-maroon);margin-top:auto}
.rf-card-price del{color:var(--rf-muted);font-weight:400;font-size:.9rem;margin-inline-end:8px}
.rf-card-foot{display:flex;gap:10px;padding:0 16px 16px;margin-top:4px}
.rf-card-foot .rf-btn{flex:1 1 0;min-height:46px;padding:11px 6px;font-size:.86rem;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;letter-spacing:.3px;
  transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s,background .25s}
.rf-card-foot .rf-btn:hover{transform:translateY(-2px)}
.rf-card-foot .rf-btn-cart{background:var(--rf-maroon);border:2px solid var(--rf-maroon);color:#fff;
  box-shadow:0 3px 12px rgba(122,16,32,.28)}
.rf-card-foot .rf-btn-cart:hover{background:var(--rf-maroon-dark);border-color:var(--rf-maroon-dark);color:#fff;
  box-shadow:0 7px 20px rgba(122,16,32,.35)}
.rf-card-foot .rf-btn-buy{background:var(--rf-gold);border:2px solid var(--rf-gold);color:var(--rf-maroon-deep);
  box-shadow:0 3px 12px rgba(201,162,39,.32)}
.rf-card-foot .rf-btn-buy:hover{background:#b8941f;border-color:#b8941f;color:#fff;
  box-shadow:0 7px 20px rgba(201,162,39,.42)}
.rf-card-foot .rf-btn-wa{background:#25D366;border:2px solid #25D366;color:#fff;
  box-shadow:0 3px 12px rgba(37,211,102,.32)}
.rf-card-foot .rf-btn-wa:hover{background:#1DA851;border-color:#1DA851;color:#fff;
  box-shadow:0 7px 20px rgba(37,211,102,.42)}
.rf-card-foot .rf-btn-wa svg{width:20px;height:20px;fill:#fff;flex:0 0 auto}
/* Compact cards (related / upsell sections): tighter, shorter */
.rf-compact .rf-card-media{aspect-ratio:1/1}
.rf-compact .rf-card-body{padding:12px;gap:6px}
.rf-compact .rf-card-title{font-size:.95rem}
.rf-compact .rf-card-price{font-size:1rem}
.rf-compact .rf-card-foot{padding:0 12px 12px;gap:8px}
.rf-compact .rf-card-foot .rf-btn{min-height:42px;font-size:.8rem;padding:9px 4px}

/* ---------- Why us strip ---------- */
.rf-why{background:var(--rf-maroon);color:#fff;border-radius:20px;padding:48px 40px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;overflow:hidden}
.rf-why::before{content:"";position:absolute;top:-60px;inset-inline-end:-60px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,162,39,.35),transparent 70%)}
.rf-why-item{text-align:center;position:relative;z-index:1}
.rf-why-icon{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:rgba(201,162,39,.15);
  border:1px solid var(--rf-gold);display:flex;align-items:center;justify-content:center}
.rf-why-icon svg{width:28px;height:28px;stroke:var(--rf-gold-light);fill:none;stroke-width:1.6}
.rf-why-item h3{color:var(--rf-gold-light);font-size:1.15rem;margin-bottom:6px}
.rf-why-item p{color:#EADFC8;font-size:.92rem;margin:0}

/* ---------- Testimonials ---------- */
.rf-testis{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rf-testi{background:#fff;border:1px solid var(--rf-line);border-radius:var(--rf-radius);padding:28px;position:relative}
.rf-testi::before{content:"\201C";position:absolute;top:6px;inset-inline-start:18px;font-family:var(--rf-font-head);
  font-size:4rem;color:var(--rf-gold);opacity:.35;line-height:1}
.rf-testi p{font-style:italic;color:var(--rf-ink);margin:18px 0 16px}
.rf-testi-who{display:flex;align-items:center;gap:12px}
.rf-testi-ava{width:46px;height:46px;border-radius:50%;background:var(--rf-maroon);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:var(--rf-font-head);font-size:1.2rem}
.rf-testi-who strong{display:block;color:var(--rf-maroon-deep)}
.rf-testi-who small{color:var(--rf-muted)}
.rf-stars{color:var(--rf-gold);letter-spacing:2px}

/* ---------- Owner ---------- */
.rf-owner{display:grid;grid-template-columns:380px 1fr;gap:48px;align-items:center;background:#fff;
  border:1px solid var(--rf-line);border-radius:20px;padding:48px;box-shadow:var(--rf-shadow)}
.rf-owner-photo{position:relative}
.rf-owner-photo img{border-radius:16px;box-shadow:var(--rf-shadow)}
.rf-owner-photo::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:2px solid var(--rf-gold);border-radius:16px;z-index:-1}
.rf-owner h2{font-size:2rem;margin-bottom:6px}
.rf-owner .rf-role{color:var(--rf-gold);letter-spacing:3px;text-transform:uppercase;font-size:.85rem;margin-bottom:18px;display:block}
.rf-owner p{color:#4d453e}

/* ---------- Social strip ---------- */
.rf-social{background:var(--rf-cream);border-top:1px solid var(--rf-line);border-bottom:1px solid var(--rf-line);text-align:center;padding:44px 20px}
.rf-social h2{font-size:1.6rem;margin-bottom:8px}
.rf-social p{color:var(--rf-muted);margin-bottom:20px}
.rf-social-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.rf-soc{display:inline-flex;align-items:center;gap:10px;padding:12px 26px;border-radius:999px;font-weight:600;transition:.25s;border:2px solid transparent}
.rf-soc svg{width:20px;height:20px;fill:currentColor}
.rf-soc-fb{background:#1877F2;color:#fff}
.rf-soc-ig{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF);color:#fff}
.rf-soc-tt{background:#111;color:#fff}
.rf-soc:hover{transform:translateY(-2px);box-shadow:var(--rf-shadow);color:#fff}

/* ---------- Footer ---------- */
.rf-footer{background:var(--rf-maroon-deep);color:#D9CBB2;padding:60px 0 0}
.rf-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:44px}
.rf-footer h3{color:var(--rf-gold-light);font-size:1.2rem;margin-bottom:18px}
.rf-footer ul{list-style:none;margin:0;padding:0}
.rf-footer li{margin-bottom:10px}
.rf-footer a{color:#D9CBB2}
.rf-footer a:hover{color:var(--rf-gold-light)}
.rf-footer-about p{font-size:.95rem}
.rf-contact-li{display:flex;gap:10px;align-items:flex-start}
.rf-contact-li svg{width:18px;height:18px;flex:0 0 18px;stroke:var(--rf-gold);fill:none;stroke-width:1.8;margin-top:4px}
.rf-footer-bottom{border-top:1px solid rgba(201,162,39,.25);padding:18px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.88rem;color:#A99577}

/* ---------- Floating WhatsApp ---------- */
.rf-wa-float{position:fixed;bottom:24px;inset-inline-end:24px;z-index:950;width:60px;height:60px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(37,211,102,.45);transition:.25s}
.rf-wa-float:hover{transform:scale(1.1)}
.rf-wa-float svg{width:32px;height:32px;fill:#fff}
.rf-wa-float::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #25D366;opacity:.6;animation:rf-pulse 2s infinite}
@keyframes rf-pulse{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.25);opacity:0}}

/* ---------- Page / blog ---------- */
.rf-page-head{background:var(--rf-maroon);color:#fff;padding:52px 0;text-align:center;position:relative;overflow:hidden}
.rf-page-head::after{content:"";position:absolute;bottom:0;inset-inline:0;height:4px;background:linear-gradient(90deg,transparent,var(--rf-gold),transparent)}
.rf-page-head h1{color:#fff;font-size:2.4rem;margin:0}
.rf-page-head p{color:var(--rf-gold-light);margin:8px 0 0}
.rf-content{padding:56px 0}
.rf-content .rf-container-narrow{max-width:820px;margin:0 auto}
.rf-post-card{background:#fff;border:1px solid var(--rf-line);border-radius:var(--rf-radius);overflow:hidden;margin-bottom:28px}
.rf-post-card .rf-post-media{aspect-ratio:16/9;overflow:hidden}
.rf-post-card .rf-post-media img{width:100%;height:100%;object-fit:cover}
.rf-post-card-body{padding:28px}
.rf-post-meta{font-size:.85rem;color:var(--rf-muted);margin-bottom:10px}
.rf-pagination{display:flex;gap:8px;justify-content:center;margin-top:36px}
.rf-pagination .page-numbers{padding:8px 16px;border:1px solid var(--rf-line);border-radius:8px;background:#fff;color:var(--rf-maroon)}
.rf-pagination .page-numbers.current{background:var(--rf-maroon);color:#fff;border-color:var(--rf-maroon)}

/* ---------- WooCommerce overrides (Woo default CSS disabled) ---------- */
.woocommerce .rf-woo-wrap,.rf-woo-wrap{padding:48px 0}
.woocommerce ul.products,.rf-products{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;list-style:none;margin:0;padding:0}
.woocommerce ul.products li.product{background:#fff;border:1px solid var(--rf-line);border-radius:var(--rf-radius);overflow:hidden;
  display:flex;flex-direction:column;transition:.3s;margin:0!important;width:auto!important;float:none!important}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:var(--rf-shadow);border-color:var(--rf-gold)}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:4/5;object-fit:cover;margin:0;box-shadow:none}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--rf-font-head);font-size:1.02rem;color:var(--rf-maroon-deep);padding:12px 16px 0;margin:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em} /* v2.4.9: uniform card heights */
.woocommerce ul.products li.product .price{color:var(--rf-maroon);font-weight:700;font-size:1.05rem;padding:4px 16px;margin:0}
.woocommerce ul.products li.product .price del{color:var(--rf-muted);font-weight:400}
.woocommerce ul.products li.product .price ins{background:none;text-decoration:none}
.woocommerce ul.products li.product .button{margin:12px 16px 16px;background:var(--rf-maroon);color:#fff;border-radius:999px;text-align:center;
  padding:11px;font-weight:600;transition:.25s}
.woocommerce ul.products li.product .button:hover{background:var(--rf-maroon-dark);color:#fff}
.woocommerce ul.products li.product .rf-btn-buy{display:block;margin:0 16px 16px;background:var(--rf-gold);color:var(--rf-maroon-deep);
  border-radius:999px;text-align:center;padding:11px;font-weight:700;transition:.25s;text-decoration:none}
.woocommerce ul.products li.product .rf-btn-buy:hover{background:#b8941f;color:#fff}
.woocommerce ul.products li.product .rf-wa-mini-loop{display:block;text-align:center;margin:0 16px 16px;padding:10px;
  border:2px solid var(--rf-green);color:#14663A;border-radius:999px;font-weight:600;font-size:.9rem;transition:.25s}
.woocommerce ul.products li.product .rf-wa-mini-loop:hover{background:var(--rf-green);color:#fff}
.woocommerce span.onsale{background:var(--rf-gold);color:var(--rf-maroon-deep);min-height:0;line-height:1;padding:8px 14px;border-radius:999px;
  font-weight:700;top:12px;inset-inline-start:12px;inset-inline-end:auto}
.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:48px;background:#fff;border:1px solid var(--rf-line);
  border-radius:20px;padding:40px;margin-bottom:40px}
.woocommerce div.product div.images{margin:0;float:none;width:100%}
.woocommerce div.product div.images img{border-radius:var(--rf-radius)}
.woocommerce div.product div.summary{float:none;width:100%;margin:0}
.woocommerce div.product .product_title{font-size:2rem;color:var(--rf-maroon-deep)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--rf-maroon);font-size:1.6rem;font-weight:700}
.woocommerce div.product p.price del,.woocommerce div.product span.price del{color:var(--rf-muted);font-size:1.1rem}
.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{background:none;text-decoration:none}
.woocommerce div.product form.cart{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
.woocommerce .quantity .qty{padding:11px;width:70px;border:1px solid var(--rf-line);border-radius:10px;font-size:1rem;text-align:center}
.woocommerce div.product form.cart .button,.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,
.woocommerce button.button.alt{background:var(--rf-maroon);color:#fff;border-radius:999px;padding:13px 30px;font-size:1rem;transition:.25s}
.woocommerce div.product form.cart .button:hover,.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{background:var(--rf-maroon-dark);color:#fff}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--rf-maroon);color:#fff;border-radius:999px;padding:12px 26px}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--rf-maroon-dark);color:#fff}
/* COD badge + WhatsApp order button on single product */
.rf-cod-badge{display:inline-flex;align-items:center;gap:10px;background:#EAF9F0;border:2px dashed var(--rf-green);
  color:#14663A;font-weight:700;padding:10px 18px;border-radius:12px;margin:6px 0 4px;font-size:1rem}
.rf-cod-badge svg{width:24px;height:24px}
.rf-wa-order{display:flex;align-items:center;justify-content:center;gap:10px;background:#25D366;color:#fff;font-weight:700;
  padding:14px 20px;border-radius:999px;margin:14px 0;font-size:1.05rem;transition:.25s;border:2px solid #25D366;width:100%}
.rf-wa-order:hover{background:#1DA851;border-color:#1DA851;color:#fff;transform:translateY(-2px)}
.rf-wa-order svg{width:24px;height:24px;fill:#fff}
.rf-wa-note{text-align:center;color:var(--rf-muted);font-size:.9rem}
/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top:3px solid var(--rf-gold);background:#fff;border-radius:0 12px 12px 0;
  box-shadow:var(--rf-shadow);padding:14px 18px}
.woocommerce-message{border-top-color:var(--rf-green)}
.woocommerce-error{border-top-color:#C0392B}
/* Cart & checkout */
.woocommerce table.shop_table{background:#fff;border:1px solid var(--rf-line);border-radius:var(--rf-radius);overflow:hidden}
.woocommerce table.shop_table th{background:var(--rf-cream);color:var(--rf-maroon-deep)}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout .col2-set{background:#fff;border:1px solid var(--rf-line);border-radius:var(--rf-radius);padding:28px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{
  border:1px solid var(--rf-line);border-radius:10px;padding:12px 14px;font-size:1rem;background:#fff}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:var(--rf-gold);outline:none;box-shadow:0 0 0 3px rgba(201,162,39,.18)}
#add_payment_method #payment,.woocommerce-cart #payment,.woocommerce-checkout #payment{background:#fff;border:1px solid var(--rf-line);border-radius:var(--rf-radius)}
.woocommerce-breadcrumb{color:var(--rf-muted);margin-bottom:24px;font-size:.92rem}
.woocommerce-breadcrumb a{color:var(--rf-maroon)}
.woocommerce-result-count,.woocommerce-ordering{margin-bottom:24px}
.woocommerce-ordering select{border:1px solid var(--rf-line);border-radius:10px;padding:10px 14px;background:#fff}
nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center}
nav.woocommerce-pagination ul li{border:0}
nav.woocommerce-pagination ul li a,nav.woocommerce-pagination ul li span{background:#fff;border:1px solid var(--rf-line);border-radius:8px;
  padding:10px 16px;color:var(--rf-maroon);min-width:0}
nav.woocommerce-pagination ul li span.current{background:var(--rf-maroon);color:#fff;border-color:var(--rf-maroon)}
/* Star rating */
.woocommerce .star-rating{color:var(--rf-gold)}
/* Tabs */
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;display:flex;gap:6px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:var(--rf-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:1px solid var(--rf-line);background:var(--rf-cream);border-radius:10px 10px 0 0;margin:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff;border-bottom-color:#fff}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--rf-maroon-deep);font-weight:600}
/* Related products */
.woocommerce .related.products h2,.woocommerce .upsells.products h2{font-size:1.6rem;margin-bottom:24px}

/* ---------- Widgets / sidebar ---------- */
.rf-sidebar .widget{background:#fff;border:1px solid var(--rf-line);border-radius:var(--rf-radius);padding:24px;margin-bottom:24px}
.rf-sidebar .widget-title{font-size:1.2rem;border-bottom:2px solid var(--rf-gold);padding-bottom:10px;margin-bottom:16px}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{margin-bottom:8px}

/* ---------- 404 ---------- */
.rf-404{text-align:center;padding:90px 20px}
.rf-404 h1{font-size:6rem;color:var(--rf-maroon);margin:0}
.rf-404 p{color:var(--rf-muted);font-size:1.15rem;margin-bottom:28px}

/* ---------- Back to top ---------- */
.rf-top{position:fixed;bottom:100px;inset-inline-end:30px;z-index:940;width:48px;height:48px;border-radius:50%;
  background:var(--rf-maroon);color:#fff;border:0;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:var(--rf-shadow)}
.rf-top.show{display:flex}
.rf-top svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2}

/* ---------- Blog ---------- */
.rf-post-layout{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start}
.rf-blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rf-blog-grid-3{grid-template-columns:repeat(3,1fr)}
.rf-post-featured{grid-column:1/-1}
.rf-post-featured .rf-post-media{aspect-ratio:21/9}
.rf-post-featured h2{font-size:1.8rem}
.rf-post-card h2,.rf-post-card h3{font-size:1.35rem;margin:0 0 .5em}
.rf-post-card h2 a,.rf-post-card h3 a,.rf-post-card h4 a{color:var(--rf-maroon-deep)}
.rf-post-card h2 a:hover,.rf-post-card h3 a:hover{color:var(--rf-maroon)}
.rf-post-tags{margin:26px 0;display:flex;gap:8px;flex-wrap:wrap}
.rf-post-tags a{background:var(--rf-cream);border:1px solid var(--rf-line);color:var(--rf-maroon);
  padding:6px 14px;border-radius:999px;font-size:.88rem}
.rf-post-tags a:hover{background:var(--rf-maroon);color:#fff;border-color:var(--rf-maroon)}
.rf-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:26px 0;padding:18px 22px;
  background:#fff;border:1px solid var(--rf-line);border-radius:var(--rf-radius)}
.rf-share span{font-weight:600;color:var(--rf-maroon-deep)}
.rf-share-btn{padding:8px 20px;border-radius:999px;color:#fff;font-size:.9rem;font-weight:600;transition:.25s}
.rf-share-btn:hover{transform:translateY(-2px);color:#fff}
.rf-share-wa{background:#25D366}.rf-share-fb{background:#1877F2}
.rf-author-box{display:flex;gap:20px;background:#fff;border:1px solid var(--rf-line);border-radius:var(--rf-radius);
  padding:26px;margin:30px 0;align-items:center;border-top:4px solid var(--rf-gold)}
.rf-author-ava img{border-radius:50%;border:3px solid var(--rf-gold)}
.rf-author-name{font-family:var(--rf-font-head);font-size:1.25rem;color:var(--rf-maroon-deep)}
.rf-author-box p{margin:6px 0 0;color:var(--rf-muted)}
.rf-related{margin:36px 0}
.rf-related h3{font-size:1.5rem;margin-bottom:20px}
.rf-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rf-related-grid h4{font-size:1.05rem;margin:0}
/* Comments */
.rf-comments{margin-top:40px;background:#fff;border:1px solid var(--rf-line);border-radius:var(--rf-radius);padding:32px}
.rf-comments-title{font-size:1.5rem;margin-bottom:24px}
.rf-comment-list{list-style:none;margin:0 0 30px;padding:0}
.rf-comment-list .children{list-style:none;margin:18px 0 0;padding-inline-start:40px}
.rf-comment{margin-bottom:20px}
.rf-comment-body{display:flex;gap:16px;background:var(--rf-ivory);border:1px solid var(--rf-line);border-radius:12px;padding:18px}
.rf-comment-ava img{border-radius:50%}
.rf-comment-head{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px}
.rf-comment-author{color:var(--rf-maroon-deep)}
.rf-comment-date{font-size:.82rem;color:var(--rf-muted)}
.rf-comment-moderation{color:#B7791F;font-size:.9rem}
.rf-comment-text p{margin:0 0 .6em}
.rf-comment-reply a{font-size:.88rem;font-weight:600;color:var(--rf-maroon)}
.rf-comments-closed{color:var(--rf-muted);font-style:italic}
.comment-respond .comment-form{display:grid;gap:14px}
.comment-respond label{display:block;font-weight:600;color:var(--rf-maroon-deep);margin-bottom:6px}
.comment-respond input[type=text],.comment-respond input[type=email],.comment-respond input[type=url],.comment-respond textarea{
  width:100%;border:1px solid var(--rf-line);border-radius:10px;padding:12px 14px;font-size:1rem;background:var(--rf-ivory);font-family:inherit}
.comment-respond input:focus,.comment-respond textarea:focus{border-color:var(--rf-gold);outline:none;box-shadow:0 0 0 3px rgba(201,162,39,.18)}
.comment-respond .comment-form-cookies-consent{display:flex;gap:8px;align-items:center;font-size:.9rem;color:var(--rf-muted)}
.comment-respond .comment-form-cookies-consent input{width:auto}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .rf-products,.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}
  .rf-why{grid-template-columns:repeat(2,1fr)}
  .rf-footer-grid{grid-template-columns:1fr 1fr}
  .woocommerce div.product{grid-template-columns:1fr;gap:28px}
  .rf-post-layout{grid-template-columns:1fr!important}
}
@media (max-width:768px){
  .rf-nav{display:none}
  .rf-hamburger{display:block}
  .rf-slide-inner{min-height:440px}
  .rf-slide-inner h1{font-size:2.1rem}
  .rf-cats{grid-template-columns:1fr}
  .rf-products,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
  .rf-testis{grid-template-columns:1fr}
  .rf-blog-grid,.rf-blog-grid-3,.rf-related-grid{grid-template-columns:1fr}
  .rf-author-box{flex-direction:column;text-align:center}
  .rf-owner{grid-template-columns:1fr;padding:32px;gap:28px}
  .rf-hero-arrow{display:none}
  .rf-section{padding:48px 0}
}
@media (max-width:520px){
  .rf-products,.woocommerce ul.products{grid-template-columns:1fr 1fr;gap:12px}
  /* v2.4.9: loop buttons stacked full-width on phones (no more cramped side-by-side) */
  .woocommerce ul.products li.product .button{margin:10px 12px 0;width:calc(100% - 24px);box-sizing:border-box;white-space:nowrap}
  .woocommerce ul.products li.product .rf-wa-mini-loop{margin:8px 12px 12px}
  /* 2.4.7: stack card buttons full-width on phones — no more cramped/wrapped labels */
  .rf-card-foot{flex-direction:column;gap:8px}
  .rf-card-foot .rf-btn{width:100%;flex:none;white-space:nowrap;font-size:.82rem;min-height:44px}
  .rf-why{grid-template-columns:1fr;padding:36px 24px}
  .rf-footer-grid{grid-template-columns:1fr}
  .rf-slide-inner h1{font-size:1.7rem}
}

/* ============================================================
   Rivaj Fabrics 2.0 — new sections & upgrades
   ============================================================ */

/* Screen reader text (used by theme forms) */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto!important;clip-path:none!important;height:auto;width:auto;position:fixed;top:12px;inset-inline-start:12px;z-index:2000;background:var(--rf-maroon);color:#fff;padding:12px 20px;border-radius:10px;font-weight:700;text-decoration:none;box-shadow:var(--rf-shadow)}

/* Accessible focus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--rf-gold);outline-offset:2px}

/* Sticky header is now optional (Customizer) */
.rf-header{position:relative}
.rf-header.rf-sticky{position:sticky;top:0;z-index:900}

/* Dropdown menus (desktop) */
.rf-nav ul ul{display:none;position:absolute;top:100%;inset-inline-start:0;min-width:220px;background:#fff;border:1px solid var(--rf-line);
  border-radius:12px;box-shadow:var(--rf-shadow);padding:10px;z-index:950;flex-direction:column;gap:0}
.rf-nav li{position:relative}
.rf-nav li:hover > ul,.rf-nav li:focus-within > ul{display:flex}
.rf-nav ul ul a{display:block;padding:10px 14px;border-radius:8px;font-size:.95rem}
.rf-nav ul ul a:hover{background:var(--rf-cream)}
.rf-nav ul ul a::after{display:none}
/* Mobile submenu toggles */
.rf-sub-toggle{background:none;border:0;color:var(--rf-maroon);font-size:1.1rem;cursor:pointer;padding:12px;float:inline-end}
.rf-mobile-nav ul ul{display:none;padding-inline-start:16px}
.rf-mobile-nav li.sub-open > ul{display:block}

/* Header WhatsApp shortcut */
.rf-wa-head{background:#E7F6EC;border-color:var(--rf-green);color:var(--rf-green)}
.rf-wa-head:hover{background:var(--rf-green);border-color:var(--rf-green);color:#fff}
.rf-wa-head svg{width:22px;height:22px}
/* v2.15.0: header social buttons (Facebook + TikTok) — brand colors. */
.rf-social-head svg{width:20px;height:20px}
.rf-social-fb{background:#E8F0FE;border-color:#1877F2;color:#1877F2}
.rf-social-fb:hover{background:#1877F2;border-color:#1877F2;color:#fff}
.rf-social-tt{background:#F0F0F0;border-color:#111;color:#111}
.rf-social-tt:hover{background:#111;border-color:#111;color:#fff}

/* Product grid column variants */
.rf-products.rf-cols-2{grid-template-columns:repeat(2,1fr)}
.rf-products.rf-cols-3{grid-template-columns:repeat(3,1fr)}
.rf-products.rf-cols-5{grid-template-columns:repeat(5,1fr)}
.rf-badge-out{background:#5a5a5a;inset-inline-start:auto;inset-inline-end:12px}

/* Promo banners */
.rf-banners{display:grid;gap:22px;grid-template-columns:repeat(2,1fr)}
.rf-banners-1{grid-template-columns:1fr}
.rf-banners-3{grid-template-columns:repeat(3,1fr)}
.rf-banners-4{grid-template-columns:repeat(4,1fr)}
.rf-banner{position:relative;border-radius:var(--rf-radius);overflow:hidden;min-height:240px;display:flex;align-items:flex-end;box-shadow:var(--rf-shadow)}
.rf-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.rf-banner:hover img{transform:scale(1.05)}
.rf-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(62,7,16,.8),transparent 65%)}
.rf-banner-body{position:relative;z-index:2;padding:24px;color:#fff}
.rf-banner-body h3{color:#fff;margin:0;font-size:1.35rem}
.rf-banner-sub{color:var(--rf-gold-light);letter-spacing:2px;text-transform:uppercase;font-size:.78rem}

/* Collection banner */
.rf-collection{position:relative;border-radius:20px;overflow:hidden;min-height:380px;display:flex;align-items:center;box-shadow:var(--rf-shadow)}
.rf-collection img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rf-collection::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(62,7,16,.88) 0%,rgba(62,7,16,.5) 55%,rgba(62,7,16,.08) 85%)}
.rf-collection-body{position:relative;z-index:2;padding:56px;color:#fff;max-width:560px}
.rf-collection-kicker{color:var(--rf-gold-light);letter-spacing:4px;text-transform:uppercase;font-size:.82rem}
.rf-collection-body h2{color:#fff;font-size:2.4rem;margin:10px 0 12px}
.rf-collection-body p{color:#F3E9D2;margin-bottom:24px}

/* Brands strip */
.rf-brands{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center}
.rf-brand{font-family:var(--rf-font-head);font-size:1.35rem;color:var(--rf-maroon);border:1px solid var(--rf-line);
  background:#fff;padding:16px 34px;border-radius:12px;transition:.25s;letter-spacing:1px}
a.rf-brand:hover{border-color:var(--rf-gold);color:var(--rf-maroon-dark);transform:translateY(-3px);box-shadow:var(--rf-shadow)}

/* Newsletter */
.rf-newsletter{background:var(--rf-maroon);border-radius:20px;padding:56px 40px;text-align:center;color:#fff;position:relative;overflow:hidden}
.rf-newsletter::before{content:"";position:absolute;top:-70px;inset-inline-start:-70px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,162,39,.35),transparent 70%)}
.rf-newsletter h2{color:#fff;font-size:2rem;margin-bottom:10px;position:relative;z-index:1}
.rf-newsletter p{color:#EADFC8;max-width:560px;margin:0 auto 26px;position:relative;z-index:1}
.rf-news-form{display:flex;gap:10px;max-width:520px;margin:0 auto;position:relative;z-index:1}
.rf-news-form input{flex:1;padding:13px 20px;border:0;border-radius:999px;font-size:1rem;font-family:inherit}
.rf-news-form input:focus{outline:3px solid var(--rf-gold)}
.rf-news-done{color:var(--rf-gold-light);font-weight:600;margin-top:16px}

/* Sample tag (testimonials) */
.rf-sample-tag{display:inline-block;background:var(--rf-cream);border:1px dashed var(--rf-gold);color:#8a6d1c;
  font-size:.72rem;letter-spacing:1px;text-transform:uppercase;padding:4px 12px;border-radius:999px;margin-bottom:10px}

/* Single product extras */
.rf-pd-extras{margin:26px 0 8px;text-align:center;border-top:1px solid var(--rf-line);padding-top:20px}
.rf-pd-badges{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;
  justify-content:center;align-items:center}
.rf-pd-badges li{display:inline-flex;align-items:center;gap:10px;font-size:.98rem;font-weight:600;color:var(--rf-maroon-deep);
  background:#fff;border:1px solid var(--rf-line);border-radius:999px;padding:10px 20px;box-shadow:var(--rf-shadow)}
.rf-pd-badges .rf-pd-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border-radius:50%;background:var(--rf-green);color:#fff;font-size:.85rem;font-weight:700;flex:0 0 auto}
.rf-pd-share{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;margin-top:6px}
.rf-pd-ico{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;
  background:#EAF9F0;color:var(--rf-green);font-weight:700;font-size:.85rem}
.rf-pd-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.92rem}
.rf-pd-share span{font-weight:600;color:var(--rf-maroon-deep)}
.rf-pd-share a{border:1px solid var(--rf-line);border-radius:999px;padding:6px 16px;font-size:.85rem;color:var(--rf-maroon)}
.rf-pd-share a:hover{background:var(--rf-maroon);color:#fff;border-color:var(--rf-maroon)}
.rf-recently-viewed{margin-top:48px}
.rf-recently-viewed h2{font-size:1.6rem;margin-bottom:24px}

/* Footer social */
.rf-footer-social{display:flex;gap:10px;margin-top:18px}
.rf-footer-social a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:36px;padding:0 12px;
  border:1px solid rgba(201,162,39,.5);border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:1px;color:var(--rf-gold-light)}
.rf-footer-social a:hover{background:var(--rf-gold);color:var(--rf-maroon-deep);border-color:var(--rf-gold)}

/* Shop layout with sidebar */
.rf-woo-main{min-width:0}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rf-slide{transition:none}
  .rf-wa-float::before{animation:none;display:none}
}

/* Responsive for new sections */
@media (max-width:1024px){
  .rf-products.rf-cols-5{grid-template-columns:repeat(3,1fr)}
  .rf-banners-4{grid-template-columns:repeat(2,1fr)}
  .rf-banners-3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  .rf-products.rf-cols-3,.rf-products.rf-cols-4,.rf-products.rf-cols-5{grid-template-columns:repeat(2,1fr)}
  .rf-banners,.rf-banners-3,.rf-banners-4{grid-template-columns:1fr}
  .rf-collection-body{padding:40px 28px}
  .rf-collection-body h2{font-size:1.8rem}
  .rf-news-form{flex-direction:column}
  .rf-newsletter{padding:40px 24px}
}
@media (max-width:520px){
  .rf-products.rf-cols-2{grid-template-columns:1fr 1fr}
}

/* v2.3.1 — Buy Now MUST be solid gold (beats .button.alt maroon at any cascade order) */
.woocommerce div.product form.cart button.button.alt.rf-buy-now-btn,
.woocommerce div.product form.cart button.button.rf-buy-now-btn{margin-top:10px;width:100%;background:var(--rf-gold);
  border:2px solid var(--rf-gold);color:var(--rf-maroon-deep);font-weight:700}
.woocommerce div.product form.cart button.button.alt.rf-buy-now-btn:hover,
.woocommerce div.product form.cart button.button.alt.rf-buy-now-btn:focus-visible,
.woocommerce div.product form.cart button.button.rf-buy-now-btn:hover,
.woocommerce div.product form.cart button.button.rf-buy-now-btn:focus-visible{background:var(--rf-gold-light);
  border-color:var(--rf-gold-light);color:var(--rf-maroon-deep);transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(201,162,39,.4)}
/* v2.1.0 — WhatsApp cart/order assistance box */
.rf-cart-wa{margin:28px 0;padding:22px;border:2px dashed var(--rf-green);border-radius:12px;background:#F4FBF7;text-align:center}
.rf-cart-wa .rf-wa-order{max-width:440px;margin:0 auto}
.rf-cart-wa .rf-wa-note{margin:10px 0 0}

/* ============================================================
   Rivaj Fabrics 2.2 — premium design upgrade
   ============================================================ */

/* ---------- 2.2: Centered logo layout (Customizer → Header → Logo alignment) ---------- */
.rf-header-inner.rf-logo-center{display:grid;grid-template-columns:1fr auto 1fr;
  grid-template-areas:"spacer logo actions" "nav nav nav";row-gap:10px;align-items:center}
.rf-logo-center::before{content:"";grid-area:spacer}
.rf-logo-center .rf-logo{grid-area:logo;justify-self:center;margin:0;text-align:center}
.rf-logo-center .rf-header-actions{grid-area:actions;justify-self:end}
.rf-logo-center .rf-nav{grid-area:nav;justify-self:center}
.rf-logo-center .rf-nav ul{justify-content:center;flex-wrap:wrap}
@media (max-width:768px){
  .rf-header-inner.rf-logo-center{grid-template-areas:"spacer logo actions";row-gap:0}
}

/* ---------- 2.2: Premium button system ---------- */
.rf-btn{border-radius:12px;padding:14px 30px;min-height:48px;font-weight:600;letter-spacing:.5px;font-size:.95rem;
  box-shadow:0 2px 10px rgba(90,11,23,.14);transition:all .25s cubic-bezier(.22,.61,.36,1)}
.rf-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(90,11,23,.22)}
.rf-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(90,11,23,.12)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce div.product form.cart .button,.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt{
  border-radius:12px;min-height:48px;font-weight:600;letter-spacing:.4px;
  box-shadow:0 2px 10px rgba(90,11,23,.14);transition:all .25s cubic-bezier(.22,.61,.36,1)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce div.product form.cart .button:hover,.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  transform:translateY(-2px);box-shadow:0 8px 22px rgba(90,11,23,.22)}

/* ---------- 2.2: Product card — lift + zoom on hover (buttons always visible below) ---------- */
.rf-card{transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s,border-color .35s}
.rf-card:hover{transform:translateY(-8px);box-shadow:0 18px 44px rgba(90,11,23,.16)}
.rf-card-media .rf-badge{z-index:4}
/* WooCommerce loop cards: zoom + lift */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img{transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.woocommerce ul.products li.product:hover a.woocommerce-LoopProduct-link img{transform:scale(1.06)}
.woocommerce ul.products li.product{transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s,border-color .35s}
.woocommerce ul.products li.product:hover{transform:translateY(-8px);box-shadow:0 18px 44px rgba(90,11,23,.16)}

/* ---------- 2.2: Related / upsell sections ---------- */
.rf-related-products{margin:60px 0 12px}
.rf-related-title{text-align:center;font-size:1.9rem;margin-bottom:8px}
.rf-related-products .rf-divider{margin-bottom:34px}

/* ---------- 2.2: Scroll reveals (JS adds .rf-js + .rf-reveal) ---------- */
.rf-js .rf-reveal{opacity:0;transform:translateY(28px);
  transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)}
.rf-js .rf-reveal.in{opacity:1;transform:translateY(0)}

/* ---------- 2.2: Hero Ken Burns (subtle) ---------- */
.rf-slide .rf-slide-bg img{transform:scale(1.06)}
.rf-slide.active .rf-slide-bg img{animation:rf-kenburns 7s ease-out forwards}
@keyframes rf-kenburns{from{transform:scale(1.12)}to{transform:scale(1.02)}}

/* ---------- 2.2: Smooth dropdowns ---------- */
.rf-nav ul ul{display:flex;opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .28s ease,transform .28s cubic-bezier(.22,.61,.36,1),visibility .28s}
.rf-nav li:hover > ul,.rf-nav li:focus-within > ul{opacity:1;visibility:visible;transform:translateY(0)}

/* ---------- 2.2: Single product polish ---------- */
.woocommerce div.product{padding:48px}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.woocommerce div.product div.images .flex-control-thumbs li{float:none;width:100%;margin:0}
.woocommerce div.product div.images .flex-control-thumbs li img{border:2px solid transparent;border-radius:10px;opacity:.72;transition:.25s}
.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(--rf-gold);opacity:1}
.woocommerce div.product .product_title{font-size:2.1rem;letter-spacing:.3px}
.woocommerce div.product p.price,.woocommerce div.product span.price{margin:14px 0 6px}
.woocommerce div.product .woocommerce-product-rating{margin-bottom:10px}
.product_meta{font-size:.92rem;color:var(--rf-muted);border-top:1px solid var(--rf-line);
  border-bottom:1px solid var(--rf-line);padding:12px 0;margin:16px 0}
.product_meta .sku,.product_meta a{color:var(--rf-maroon-deep);font-weight:600}
.stock{font-weight:700}
.stock.in-stock{color:var(--rf-green)}
.stock.out-of-stock{color:#C0392B}
.woocommerce div.product form.cart{align-items:stretch}
.woocommerce div.product form.cart .variations{margin-bottom:18px}
.woocommerce div.product form.cart .variations td.label{padding-inline-end:14px}
.woocommerce div.product form.cart .variations td.label label{font-weight:600;color:var(--rf-maroon-deep)}
.woocommerce div.product form.cart .variations select{border:1px solid var(--rf-line);border-radius:10px;
  padding:11px 14px;min-width:200px;font-size:1rem;background:#fff;font-family:inherit;cursor:pointer}
.woocommerce div.product form.cart .variations select:focus{border-color:var(--rf-gold);outline:none;box-shadow:0 0 0 3px rgba(201,162,39,.18)}
a.reset_variations{font-size:.85rem;display:inline-block;margin-top:8px}
.woocommerce div.product form.cart .button.single_add_to_cart_button{flex:1;min-height:54px;font-size:1.05rem;border-radius:12px}
.woocommerce .quantity .qty{min-height:54px;border-radius:12px}
/* WhatsApp order button — premium, crisp logo */
.rf-wa-order{min-height:54px;border-radius:14px;font-size:1.05rem;letter-spacing:.3px;
  box-shadow:0 4px 16px rgba(37,211,102,.35)}
.rf-wa-order:hover{box-shadow:0 8px 24px rgba(37,211,102,.45)}
.rf-wa-order svg{width:26px;height:26px;fill:#fff;flex:0 0 auto}
/* Reviews */
.woocommerce #reviews #comments ol.commentlist li{background:#fff;border:1px solid var(--rf-line);
  border-radius:12px;padding:22px;margin:0 0 16px}
.woocommerce #reviews #comments ol.commentlist li img.avatar{border-radius:50%;border:2px solid var(--rf-gold);width:52px}
.woocommerce #reviews #comments ol.commentlist li .comment-text{margin-inline-start:66px;border:0;padding:0}
/* Tabs refinement */
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 22px}

/* ---------- 2.2: Reduced motion — disable new animation ---------- */
@media (prefers-reduced-motion:reduce){
  .rf-slide .rf-slide-bg img,.rf-slide.active .rf-slide-bg img{animation:none;transform:none}
  .rf-js .rf-reveal{opacity:1!important;transform:none!important;transition:none!important}
}

/* ---------- 2.2: Responsive refinements ---------- */
@media (max-width:768px){
  .rf-wa-order{min-height:52px;font-size:1rem}
  .woocommerce div.product{padding:28px 20px}
  .woocommerce div.product .product_title{font-size:1.6rem}
  .rf-related-title{font-size:1.5rem}
}

/* ============================================================
   Rivaj Fabrics 2.3 — always-visible card buttons, marquee,
   centered trust badges, My Account styling
   ============================================================ */

/* ---------- 2.3: Categories marquee (infinite slow strip) ---------- */
.rf-marquee-sec{overflow:hidden}
.rf-marquee{overflow:hidden;padding:14px 0 6px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.rf-marquee-track{display:flex;width:max-content;animation:rf-marquee 45s linear infinite}
.rf-marquee:hover .rf-marquee-track{animation-play-state:paused}
.rf-marquee-group{display:flex;gap:20px;padding-inline-end:20px}
@keyframes rf-marquee{to{transform:translateX(-50%)}}
.rf-marquee-item{flex:0 0 auto;display:flex;align-items:center;gap:14px;background:#fff;
  border:1px solid var(--rf-line);border-radius:999px;padding:10px 26px 10px 12px;
  transform:perspective(700px) rotateY(-7deg);transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s,border-color .35s;
  box-shadow:0 3px 12px rgba(90,11,23,.08)}
.rf-marquee-item:hover{transform:perspective(700px) rotateY(0deg) translateY(-3px);
  border-color:var(--rf-gold);box-shadow:0 10px 26px rgba(90,11,23,.16)}
.rf-marquee-img{width:56px;height:56px;border-radius:50%;overflow:hidden;flex:0 0 auto;border:2px solid var(--rf-gold)}
.rf-marquee-img img{width:100%;height:100%;object-fit:cover}
.rf-marquee-name{font-family:var(--rf-font-head);font-size:1.05rem;color:var(--rf-maroon-deep);white-space:nowrap}
@media (prefers-reduced-motion:reduce){
  .rf-marquee-track{animation:none;width:auto;flex-wrap:wrap}
  .rf-marquee-item{transform:none}
}

/* ---------- 2.3: Native shop-loop WhatsApp button (matches card foot) ---------- */
.woocommerce ul.products li.product .rf-wa-mini-loop{display:flex;align-items:center;justify-content:center;gap:8px;
  margin:0 14px 16px;padding:11px 10px;background:#25D366;border:2px solid #25D366;border-radius:10px;color:#fff;
  font-weight:700;font-size:.88rem;letter-spacing:.3px;box-shadow:0 3px 12px rgba(37,211,102,.3);
  transition:transform .25s,box-shadow .25s,background .25s}
.woocommerce ul.products li.product .rf-wa-mini-loop:hover{background:#1DA851;border-color:#1DA851;color:#fff;
  transform:translateY(-2px);box-shadow:0 7px 20px rgba(37,211,102,.42)}

/* ---------- 2.3: My Account — styled orders, status badges, order view ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation{background:#fff;border:1px solid var(--rf-line);
  border-radius:var(--rf-radius);overflow:hidden;box-shadow:var(--rf-shadow)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:8px}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:11px 16px;border-radius:10px;
  color:var(--rf-maroon-deep);font-weight:600;text-decoration:none;transition:.2s}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--rf-cream)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--rf-maroon);color:#fff}
.woocommerce-account .woocommerce-MyAccount-content{background:#fff;border:1px solid var(--rf-line);
  border-radius:var(--rf-radius);padding:28px;box-shadow:var(--rf-shadow)}
.woocommerce-account table.woocommerce-orders-table{border:0}
.woocommerce-account table.woocommerce-orders-table th{background:var(--rf-maroon);color:#fff;font-size:.85rem;
  text-transform:uppercase;letter-spacing:1px}
.woocommerce-account table.woocommerce-orders-table td{vertical-align:middle}
/* Status pill — rendered by the rf_order_status_pill() column hook below (no template override) */
.woocommerce-account table.woocommerce-orders-table .rf-status{
  display:inline-block;background:rgba(201,162,39,.16);border:1px solid var(--rf-gold);color:var(--rf-maroon-deep);
  font-weight:700;font-size:.82rem;letter-spacing:.6px;text-transform:uppercase;border-radius:999px;padding:6px 14px;white-space:nowrap}
.woocommerce-account table.woocommerce-orders-table .rf-status-completed{background:rgba(37,211,102,.14);border-color:#25D366;color:#14663A}
.woocommerce-account table.woocommerce-orders-table .rf-status-processing{background:rgba(201,162,39,.16);border-color:var(--rf-gold);color:var(--rf-maroon-deep)}
.woocommerce-account table.woocommerce-orders-table .rf-status-on-hold{background:rgba(230,126,34,.14);border-color:#E67E22;color:#9C5B12}
.woocommerce-account table.woocommerce-orders-table .rf-status-cancelled,
.woocommerce-account table.woocommerce-orders-table .rf-status-failed{background:rgba(192,57,43,.1);border-color:#C0392B;color:#922B21}
.woocommerce-account table.woocommerce-orders-table .rf-status-refunded{background:rgba(90,90,90,.1);border-color:#888;color:#555}
/* Single order view */
.woocommerce-order-details,.woocommerce-customer-details{background:#fff;border:1px solid var(--rf-line);
  border-radius:var(--rf-radius);padding:26px;margin-bottom:26px;box-shadow:var(--rf-shadow)}
.woocommerce-order-details h2,.woocommerce-customer-details h2{font-size:1.35rem;margin:0 0 16px;color:var(--rf-maroon-deep)}
.woocommerce .order_details li{border-inline-end:1px dashed var(--rf-line)}
mark.order-number,mark.order-date,mark.order-status{background:rgba(201,162,39,.16);color:var(--rf-maroon-deep);
  border-radius:6px;padding:2px 8px;font-weight:700}

/* ---------- 2.3: polish — consistent gold dividers, refined spacing ---------- */
.rf-section{padding:56px 0}
.rf-section-title{letter-spacing:.4px}
.rf-divider span{color:var(--rf-gold)}
@media (max-width:768px){
  .rf-card-foot{padding:0 12px 12px;gap:8px}
  .rf-card-foot .rf-btn{min-height:44px;font-size:.8rem}
  .rf-pd-badges{gap:8px}
  .rf-pd-badges li{font-size:.85rem;padding:8px 14px}
  .rf-marquee-item{padding:8px 20px 8px 10px}
  .rf-marquee-img{width:46px;height:46px}
  .woocommerce-account .woocommerce-MyAccount-content{padding:18px}
}

/* ============================================================
   Rivaj Fabrics 2.3.1 — visual-fix patch
   ============================================================ */

/* ---------- 2.3.1: after-summary sections span the full product grid width ----------
   div.product is a 2-column grid and woocommerce_after_single_product_summary
   fires INSIDE it, so the trust badges, tabs, upsell, related and recently-
   viewed blocks must each span both columns: badges as a centered full-width
   row, related/upsell sections stacked below at full width. */
.woocommerce div.product > .rf-pd-extras,
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > section.rf-related-products,
.woocommerce div.product > section.rf-recently-viewed{grid-column:1 / -1}

/* Header tagline (Customizer toggle) */
.rf-tagline{display:block;text-align:center;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#8a6d1c;margin-top:4px}

/* ============================================================
   Rivaj Fabrics 2.4.0 — hero premium orbs + title shimmer,
   owners cards, location, account forms
   ============================================================ */

/* ---------- 2.4: Hero premium — floating fabric-glow orbs ----------
   NOTE: drift animates the CSS `translate` property (not `transform`)
   so the mouse-parallax in main.js can set inline `transform` without
   fighting the drift animation. */
.rf-hero-orbs{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.rf-hero-orbs span{position:absolute;display:block;border-radius:50%;filter:blur(42px);
  opacity:.55;will-change:transform;transform:translate3d(0,0,0)}
.rf-hero-orbs span:nth-child(1){width:440px;height:440px;top:-130px;left:-110px;
  background:radial-gradient(circle,rgba(201,162,39,.60) 0%,rgba(201,162,39,0) 70%);
  animation:rf-orb-drift-1 26s ease-in-out infinite}
.rf-hero-orbs span:nth-child(2){width:340px;height:340px;bottom:-110px;right:-90px;
  background:radial-gradient(circle,rgba(150,22,40,.65) 0%,rgba(150,22,40,0) 70%);
  animation:rf-orb-drift-2 22s ease-in-out -6s infinite}
.rf-hero-orbs span:nth-child(3){width:260px;height:260px;top:34%;left:56%;
  background:radial-gradient(circle,rgba(232,206,122,.5) 0%,rgba(232,206,122,0) 70%);
  animation:rf-orb-drift-3 30s ease-in-out -12s infinite}
@keyframes rf-orb-drift-1{0%,100%{translate:0 0}50%{translate:90px 60px}}
@keyframes rf-orb-drift-2{0%,100%{translate:0 0}50%{translate:-70px -80px}}
@keyframes rf-orb-drift-3{0%,100%{translate:0 0}50%{translate:-60px 70px}}

/* ---------- 2.4: Hero premium — animated gold shimmer on title ---------- */
.rf-hero-title,.rf-slide-inner h1.rf-hero-title{
  background:linear-gradient(100deg,#ffffff 18%,var(--rf-gold-light) 42%,#ffffff 66%);
  background-size:230% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:rf-title-shimmer 9s linear infinite}
@keyframes rf-title-shimmer{to{background-position:230% center}}

/* ---------- 2.4: Owners — 3-col premium cards ---------- */
.rf-owners{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.rf-owner-card{background:#fff;border:1px solid var(--rf-line);border-radius:var(--rf-radius);
  padding:36px 26px 32px;text-align:center;box-shadow:var(--rf-shadow);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.rf-owner-card:hover{transform:translateY(-8px);border-color:var(--rf-gold);
  box-shadow:0 22px 44px rgba(90,11,23,.14)}
.rf-owner-photo{width:132px;height:132px;margin:0 auto 20px;position:relative}
.rf-owner-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;
  border:4px solid var(--rf-gold);box-shadow:0 0 0 6px rgba(201,162,39,.16)}
.rf-owner-mono{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:var(--rf-font-head);font-size:3rem;line-height:1;color:#fff;
  background:radial-gradient(circle at 30% 28%,var(--rf-gold-light),var(--rf-gold) 52%,#8f741c 100%);
  border:4px solid var(--rf-gold-light);box-shadow:0 0 0 6px rgba(201,162,39,.16)}
.rf-owner-body h3{font-size:1.35rem;margin-bottom:4px;color:var(--rf-maroon-deep)}
.rf-owner-role{display:block;color:var(--rf-gold);font-variant:small-caps;letter-spacing:2.5px;
  font-size:.85rem;font-weight:600;margin-bottom:14px}
.rf-owner-body p{color:var(--rf-muted);font-size:.95rem;margin:0}

/* ---------- 2.4: Location — map + info card ---------- */
.rf-location{display:grid;grid-template-columns:1.7fr 1fr;align-items:stretch}
.rf-location-map{position:relative;overflow:hidden;min-height:380px;
  border-start-start-radius:var(--rf-radius);border-end-start-radius:var(--rf-radius);
  border:1px solid var(--rf-line);border-inline-end:0;aspect-ratio:16/9}
.rf-location-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.rf-location-card{background:var(--rf-maroon-deep);color:#F3E9D2;
  border-start-end-radius:var(--rf-radius);border-end-end-radius:var(--rf-radius);
  border:1px solid var(--rf-line);padding:44px 38px;
  display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;
  margin-inline-start:-56px;box-shadow:0 18px 44px rgba(62,7,16,.35)}
.rf-location-card h3{color:#fff;font-size:1.6rem;margin-bottom:10px}
.rf-location-logo{width:74px;height:74px;border-radius:50%;object-fit:cover;
  border:3px solid var(--rf-gold);margin-bottom:18px;background:rgba(255,255,255,.06)}
.rf-location-addr{color:#E9D9BE;margin-bottom:20px;line-height:1.8}
.rf-location-card .rf-divider{justify-content:flex-start;margin:0 0 20px}
.rf-location-btns{display:flex;gap:12px;flex-wrap:wrap}
.rf-location-card .rf-btn-wa{color:#fff}

/* ---------- 2.4: Account forms — login / register / lost password ---------- */
.woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password{
  background:#fff;border:1px solid var(--rf-line);border-radius:var(--rf-radius);
  padding:32px;box-shadow:var(--rf-shadow);max-width:540px;margin:0 auto}
.woocommerce form.login h2,.woocommerce form.register h2,.woocommerce form.lost_reset_password p:first-child{color:var(--rf-maroon-deep)}
.woocommerce form.login .form-row input.input-text,
.woocommerce form.register .form-row input.input-text,
.woocommerce form.lost_reset_password .form-row input.input-text{
  border:1px solid var(--rf-line);border-radius:10px;padding:13px 15px;font-size:1rem;
  font-family:var(--rf-font-body);background:#fff;color:var(--rf-ink);transition:border-color .2s,box-shadow .2s}
.woocommerce form.login .form-row input.input-text:focus,
.woocommerce form.register .form-row input.input-text:focus,
.woocommerce form.lost_reset_password .form-row input.input-text:focus{
  border-color:var(--rf-gold);outline:none;box-shadow:0 0 0 3px rgba(201,162,39,.22)}
.woocommerce form.login .button,
.woocommerce form.register .button,
.woocommerce form.lost_reset_password .button{
  background:var(--rf-maroon);color:#fff;border:2px solid var(--rf-maroon);
  border-radius:999px;padding:13px 34px;font-size:1rem;letter-spacing:.4px;
  font-family:var(--rf-font-body);cursor:pointer;transition:.25s;width:100%}
.woocommerce form.login .button:hover,
.woocommerce form.register .button:hover,
.woocommerce form.lost_reset_password .button:hover{
  background:var(--rf-maroon-dark);border-color:var(--rf-maroon-dark);color:#fff;
  transform:translateY(-2px);box-shadow:var(--rf-shadow)}
.woocommerce form.login .lost_password a{color:var(--rf-maroon);font-weight:600}
.woocommerce form.login .lost_password a:hover{color:var(--rf-maroon-dark)}

/* ---------- 2.4: Responsive ---------- */
@media (max-width:900px){
  .rf-owners{grid-template-columns:1fr;max-width:440px;margin:0 auto}
  .rf-location{grid-template-columns:1fr}
  .rf-location-map{border-radius:var(--rf-radius) var(--rf-radius) 0 0;
    border-inline-end:1px solid var(--rf-line);border-bottom:0;min-height:0}
  .rf-location-card{border-radius:0 0 var(--rf-radius) var(--rf-radius);
    margin-inline-start:0;padding:34px 28px}
}

/* ---------- 2.4: Reduced motion — disable new animations ---------- */
@media (prefers-reduced-motion:reduce){
  .rf-hero-orbs span{animation:none}
  .rf-hero-title,.rf-slide-inner h1.rf-hero-title{animation:none;
    background:none;-webkit-text-fill-color:#fff;color:#fff}
}

/* ============================================================
   Rivaj Fabrics 2.4.2 — original brand artwork, circle removed
   (2.4.1 introduced the wide-lockup sizing; artwork corrected in 2.4.2)
   2.4.3: FINAL artwork (core logo only, no ornaments, 1920x1280) —
   the width-based sizing above suits it; verified, no change needed.
   ============================================================ */

/* ---------- 2.4.2: Brand artwork in the header (larger, centered) ---------- */
.rf-logo img.custom-logo{max-height:none;height:auto;width:min(340px,64vw)}
.rf-header-inner.rf-logo-center .rf-logo img.custom-logo{width:min(380px,76vw)}
@media (max-width:768px){
  .rf-logo img.custom-logo{width:min(260px,64vw)}
}

/* ---------- 2.4.1: Location card — wide logo, no circular crop ---------- */
.rf-location-logo{width:200px;max-width:75%;height:auto;border-radius:12px;
  object-fit:contain;border:3px solid var(--rf-gold);margin-bottom:18px;
  background:#FBF7EE;padding:8px}

/* ============================================================
   Rivaj Fabrics 2.4.4
   - Compact header: modest logo (~200px) driven by the Customizer
     "Logo size" slider via --rf-logo-w; slim header padding.
   - Owners: bigger premium cards, rounded-SQUARE photos, no circular
     crop, no box-behind-box offset frames.
   - Footer: 4-column e-commerce layout, SVG social icons.
   ============================================================ */

/* ---------- 2.4.4: Compact header ---------- */
.rf-header-inner{padding:8px 0}
.rf-logo img.custom-logo{max-height:none;height:auto;width:min(var(--rf-logo-w,200px),58vw)}
.rf-header-inner.rf-logo-center .rf-logo img.custom-logo{width:min(var(--rf-logo-w,200px),64vw)}
@media (max-width:768px){
  .rf-logo img.custom-logo{width:min(calc(var(--rf-logo-w,200px)*.8),52vw)}
}

/* ---------- 2.4.4: Owners — rounded-square photos, no frames ---------- */
.rf-owner-photo::after{content:none!important}
.rf-owners{gap:32px}
.rf-owner-card{padding:30px 28px 38px}
.rf-owner-photo{width:100%;max-width:300px;aspect-ratio:4/5;height:auto;margin:0 auto 26px;position:relative}
.rf-owner-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;border-radius:22px;border:0;
  box-shadow:0 14px 30px rgba(90,11,23,.16)}
.rf-owner-mono{width:100%;height:100%;border-radius:22px;display:flex;align-items:center;justify-content:center;
  font-family:var(--rf-font-head);font-size:4.5rem;line-height:1;color:#fff;border:0;
  background:radial-gradient(circle at 30% 28%,var(--rf-gold-light),var(--rf-gold) 52%,#8f741c 100%);
  box-shadow:0 14px 30px rgba(90,11,23,.16)}
.rf-owner-body h3{font-size:1.5rem}
@media (max-width:900px){
  .rf-owner-photo{max-width:280px}
}

/* ---------- 2.4.4: Footer — brand logo + SVG social icons ---------- */
.rf-footer-logo{margin-bottom:16px}
.rf-footer-logo img{width:190px;max-width:70%;height:auto;border-radius:10px;background:#FBF7EE;padding:6px}
.rf-footer-social a svg{width:20px;height:20px;fill:currentColor}
.rf-footer-menu-col ul{list-style:none;margin:0;padding:0}
.rf-footer-menu-col li{margin-bottom:10px}
.rf-footer-menu-col a{color:#CDBFA4;text-decoration:none;transition:color .2s}
.rf-footer-menu-col a:hover{color:var(--rf-gold)}
.rf-contact-email{color:#CDBFA4}
/* Share row: icon + label links (WhatsApp / Facebook / TikTok) */
.rf-pd-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rf-pd-share>a{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;
  border:1px solid var(--rf-line);color:var(--rf-maroon);text-decoration:none;font-size:.9rem;transition:.25s}
.rf-pd-share>a:hover{border-color:var(--rf-gold);transform:translateY(-2px)}
.rf-pd-share>a svg{width:18px;height:18px;fill:currentColor}

/* ============================================================
   Rivaj Fabrics 2.4.8 — mobile polish (visual-audit fixes)
   ============================================================ */
@media (max-width:520px){
  /* Smaller floating buttons that stop swallowing page content */
  .rf-wa-float{width:48px;height:48px;bottom:16px;inset-inline-end:16px}
  .rf-wa-float svg{width:25px;height:25px}
  .rf-top{width:42px;height:42px;bottom:74px;inset-inline-end:19px}
  /* Footer: stacked bottom bar + breathing room above the fixed buttons */
  .rf-footer-bottom{flex-direction:column;align-items:center;text-align:center;padding-bottom:72px}
  .rf-footer-bottom,.rf-footer-grid{overflow-wrap:anywhere}
  /* WooCommerce tabs: fit neatly on phones */
  .woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:6px}
  .woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0}
  .woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:10px 14px;font-size:.88rem}
  /* Cart table: scroll sideways instead of clipping totals */
  .woocommerce-cart table.shop_table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* Location card: never clip heading/address */
  .rf-location-card{overflow-wrap:anywhere}
  /* Checkout: back-to-top can never cover the Place Order button */
  body.woocommerce-checkout .rf-top{display:none!important}
}

/* v2.4.8 — order-status hint on the thank-you page (account holders only) */
.rf-track-hint{background:#FBF6E9;border:1px solid #E7D9A8;border-inline-start:4px solid #C9A227;
  border-radius:8px;padding:12px 16px;margin:18px 0;font-size:15px}
.rf-track-hint a{color:#7A1020;font-weight:600}

/* ============================================================
   Rivaj Fabrics 2.6.0 — premium polish and accessibility
   Additive overrides: preserves the existing templates/settings.
   ============================================================ */
.rf-section-title{letter-spacing:-.025em}
.rf-card,.rf-cat,.rf-testi{border:1px solid var(--rf-line);border-radius:18px;overflow:hidden}
.rf-card{background:var(--rf-white);box-shadow:0 5px 22px rgba(62,7,16,.07);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.rf-card:hover{transform:translateY(-5px);border-color:rgba(201,162,39,.7);box-shadow:0 16px 36px rgba(62,7,16,.13)}
.rf-card-media{overflow:hidden}
.rf-card-media img{transition:transform .45s ease}
.rf-card:hover .rf-card-media img{transform:scale(1.035)}
.rf-card-body{padding:18px 18px 14px}
.rf-card-foot{padding:0 18px 18px;gap:9px}
.rf-card-foot .rf-btn{min-width:0;flex:1;padding:11px 12px;font-size:.9rem}
.rf-cat{box-shadow:0 6px 20px rgba(62,7,16,.06);transition:transform .25s ease,box-shadow .25s ease}
.rf-cat:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(62,7,16,.14)}
.rf-testi{background:var(--rf-white);padding:24px;box-shadow:0 5px 22px rgba(62,7,16,.05)}
.rf-hero .rf-slide-inner{text-wrap:pretty}
.rf-hero-title{text-shadow:0 2px 18px rgba(0,0,0,.17)}
.rf-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{border-radius:999px;background:var(--rf-maroon);color:#fff;padding:12px 22px;font-weight:600}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{background:var(--rf-maroon-dark);color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px rgba(90,11,23,.16)}
.woocommerce ul.products li.product{padding:12px;background:#fff;border:1px solid var(--rf-line);border-radius:18px;overflow:hidden;box-shadow:0 5px 22px rgba(62,7,16,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);border-color:rgba(201,162,39,.7);box-shadow:0 14px 30px rgba(62,7,16,.11)}
.woocommerce ul.products li.product a img{border-radius:12px;transition:transform .35s ease}
.woocommerce ul.products li.product:hover a img{transform:scale(1.02)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border-color:var(--rf-line);background:var(--rf-cream);border-radius:9px 9px 0 0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff;border-bottom-color:#fff}
.woocommerce div.product .woocommerce-tabs .panel,.woocommerce div.product form.cart{border-radius:14px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-page form .form-row input.input-text{border:1px solid #d8cbb6;border-radius:10px;padding:12px 14px;min-height:46px;background:#fff;max-width:100%}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{border-color:var(--rf-gold);box-shadow:0 0 0 3px rgba(201,162,39,.16);outline:0}
.woocommerce table.shop_table{border-color:var(--rf-line);border-radius:12px;overflow:hidden}
.woocommerce-info,.woocommerce-message{border-top-color:var(--rf-gold);background:#fffaf0}
.woocommerce-info::before,.woocommerce-message::before{color:var(--rf-maroon)}
.rf-footer{border-top:3px solid var(--rf-gold)}
.rf-footer a:focus-visible,.rf-footer button:focus-visible{outline-color:var(--rf-gold-light)}
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--rf-gold);outline-offset:3px}
img{height:auto}
@media(max-width:767px){
  .rf-section{padding:46px 0}
  .rf-section-title{font-size:clamp(1.55rem,6vw,2rem)}
  .rf-card-foot{flex-direction:column}
  .rf-card-foot .rf-btn{width:100%}
  .rf-testi{padding:20px}
  .woocommerce ul.products li.product{padding:8px;border-radius:14px}
  .woocommerce ul.products li.product .button{font-size:.84rem;padding:10px 12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}


/* ==========================================================================
   v2.7.0 — Shop features: countdowns, quick view, sticky cart, slider, tracking
   ========================================================================== */

/* --- Sale countdown --- */
.rf-countdown{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.rf-countdown-label{font-weight:700;color:#7A1020;font-size:.95rem}
.rf-countdown-units{display:flex;gap:6px}
.rf-cd-unit{display:flex;flex-direction:column;align-items:center;background:#7A1020;color:#fff;border-radius:8px;min-width:54px;padding:6px 4px}
.rf-cd-unit b{font-size:1.05rem;line-height:1.2;font-variant-numeric:tabular-nums}
.rf-cd-unit i{font-style:normal;font-size:.62rem;letter-spacing:.04em;opacity:.85}
.rf-countdown-card{margin:8px 0 2px;gap:8px}
.rf-countdown-card .rf-countdown-label{font-size:.8rem}
.rf-countdown-card .rf-cd-unit{min-width:42px;padding:4px 2px;border-radius:6px}
.rf-countdown-card .rf-cd-unit b{font-size:.85rem}
.rf-countdown-card .rf-cd-unit i{font-size:.55rem}

/* --- Global promo countdown banner --- */
.rf-countdown-global{background:#7A1020;color:#FBF6E9;padding:9px 0;font-size:.92rem}
.rf-countdown-global-inner{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;text-align:center}
.rf-countdown-global .rf-countdown{margin:0;gap:8px}
.rf-countdown-global .rf-countdown-label{color:#F5D67B}
.rf-countdown-global .rf-cd-unit{background:rgba(255,255,255,.12);border:1px solid rgba(245,214,123,.55);min-width:48px}
.rf-countdown-link{color:#F5D67B;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

/* --- Quick view modal --- */
.rf-qv{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px}
.rf-qv[hidden]{display:none}
.rf-qv-backdrop{position:absolute;inset:0;background:rgba(24,10,12,.62)}
.rf-qv-box{position:relative;background:#FFFDF8;border-radius:16px;max-width:880px;width:100%;max-height:90vh;overflow:auto;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.rf-qv-close{position:absolute;top:10px;inset-inline-end:14px;width:38px;height:38px;border:0;border-radius:50%;background:#7A1020;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer}
.rf-qv-body{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.rf-qv-media{position:relative}
.rf-qv-media img{width:100%;height:auto;border-radius:12px;display:block}
.rf-qv-media .rf-badge{position:absolute;top:10px;inset-inline-start:10px}
.rf-qv-title{margin:0 0 8px;font-size:1.35rem}
.rf-qv-rating{margin-bottom:8px}
.rf-qv-price{font-size:1.25rem;font-weight:700;color:#7A1020;margin-bottom:12px}
.rf-qv-excerpt{font-size:.93rem;color:#5a4a3a;margin-bottom:16px}
.rf-qv-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.rf-qv-full{font-weight:600;color:#7A1020}
.rf-qv-loading{text-align:center;padding:40px 0;color:#7A1020}
@media(max-width:640px){.rf-qv-body{grid-template-columns:1fr}.rf-qv-box{padding:18px}}

/* --- Sticky add-to-cart bar --- */
.rf-sticky-cart{position:fixed;left:0;right:0;bottom:0;z-index:1100;background:#FFFDF8;border-top:1px solid #E7D9A8;box-shadow:0 -8px 28px rgba(0,0,0,.14);display:flex;align-items:center;gap:12px;padding:10px 16px;transform:translateY(110%);visibility:hidden;transition:transform .28s ease,visibility .28s}
.rf-sticky-cart.show{transform:none;visibility:visible}
.rf-sticky-cart-img{width:48px;height:48px;object-fit:cover;border-radius:10px;flex:none}
.rf-sticky-cart-info{display:flex;flex-direction:column;min-width:0;flex:1}
.rf-sticky-cart-name{font-weight:600;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rf-sticky-cart-price{color:#7A1020;font-weight:700;font-size:.92rem}
.rf-sticky-cart-btn{flex:none}
/* When the sticky bar is up, lift the floating buttons so they never cover it. */
body.rf-has-sticky .rf-wa-float{bottom:96px}
body.rf-has-sticky .rf-top{bottom:96px}
@media(min-width:769px){
  .rf-sticky-cart{display:none}
  body.rf-sticky-desktop .rf-sticky-cart{display:flex}
  body.rf-sticky-desktop.rf-has-sticky .rf-wa-float{bottom:96px}
  body.rf-sticky-desktop.rf-has-sticky .rf-top{bottom:96px}
}
@media(prefers-reduced-motion:reduce){.rf-sticky-cart{transition:none}}

/* --- Related products slider --- */
.rf-slider-wrap{position:relative}
.rf-slider-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 12px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.rf-slider-track .rf-card{flex:0 0 250px;scroll-snap-align:start}
.rf-slider-arrow{position:absolute;top:38%;z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid #E7D9A8;background:#FFFDF8;color:#7A1020;font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center}
.rf-slider-prev{inset-inline-start:-8px}
.rf-slider-next{inset-inline-end:-8px}
.rf-slider-arrow:hover{background:#7A1020;color:#fff;border-color:#7A1020}
@media(max-width:640px){.rf-slider-track .rf-card{flex-basis:200px}.rf-slider-arrow{display:none}}

/* --- Order tracking --- */
.rf-track{max-width:660px;margin:0 auto}
.rf-track-title{margin-bottom:6px}
.rf-track-help{color:#5a4a3a;margin-bottom:18px}
.rf-track-error{background:#FDECEA;border:1px solid #F5C6C0;border-radius:8px;padding:12px 16px;margin-bottom:18px;color:#8a1f1a}
.rf-track-form{background:#FFFDF8;border:1px solid #EDE3C8;border-radius:12px;padding:20px;margin-bottom:20px}
.rf-track-form p{margin:0 0 14px}
.rf-track-form p:last-child{margin-bottom:0}
.rf-track-form label{display:block;font-weight:600;margin-bottom:6px}
.rf-track-form input[type=text],.rf-track-form input[type=email]{width:100%;padding:10px 12px;border:1px solid #D9CBA4;border-radius:8px;font-size:1rem}
.rf-track-steps{list-style:none;display:flex;gap:4px;margin:0 0 16px;padding:0}
.rf-track-steps li{flex:1;text-align:center;font-size:.82rem;color:#8a7a5f;position:relative;padding-top:34px}
.rf-track-steps li::before{content:"";position:absolute;top:14px;inset-inline-start:0;inset-inline-end:0;height:2px;background:#EDE3C8}
.rf-track-steps li:first-child::before{inset-inline-start:50%}
.rf-track-steps li:last-child::before{inset-inline-end:50%}
.rf-track-dot{position:absolute;top:4px;inset-inline-start:50%;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;background:#EDE3C8;color:#8a7a5f;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}
[dir="rtl"] .rf-track-dot{transform:translateX(50%)}
.rf-track-steps li.done{color:#7A1020}
.rf-track-steps li.done::before{background:#C9A227}
.rf-track-steps li.done .rf-track-dot{background:#C9A227;color:#fff}
.rf-track-steps li.current .rf-track-dot{background:#7A1020;color:#fff}
.rf-track-status,.rf-track-total{margin:6px 0}

/* ============================================================
   Rivaj Fabrics 2.8.0 — bundled look + shop extras
   ============================================================ */
/* Badge stack (replaces scattered single badges). */
.rf-badges{position:absolute;top:12px;inset-inline-start:12px;display:flex;flex-direction:column;gap:6px;z-index:4}
.rf-badges .rf-badge{position:static}
.rf-badge-best{background:#1d7a3a;color:#fff}
.rf-badge-new{background:var(--rf-gold);color:var(--rf-maroon-deep)}
/* Wishlist heart on cards. */
.rf-card-media{position:relative}
.rf-wish-btn{position:absolute;top:10px;inset-inline-end:10px;z-index:5;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--rf-line);background:rgba(255,255,255,.94);color:var(--rf-maroon);
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background .2s ease}
.rf-wish-btn svg{width:18px;height:18px}
.rf-wish-btn:hover{transform:scale(1.1)}
.rf-wish-btn.is-active{background:var(--rf-maroon);border-color:var(--rf-maroon);color:#fff}
.rf-wish-btn.is-active svg{fill:currentColor}
/* Header wishlist count. */
.rf-wishlist-count{position:absolute;top:-6px;inset-inline-end:-6px;min-width:18px;height:18px;border-radius:999px;
  background:var(--rf-gold);color:var(--rf-maroon-deep);font-size:.68rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;padding:0 5px}
.rf-icon-btn{position:relative}
/* Wishlist page. */
.rf-wishlist-page{max-width:1100px;margin:0 auto;padding:24px 16px}
.rf-wishlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin-top:18px}
.rf-wish-card{border:1px solid var(--rf-line);border-radius:14px;overflow:hidden;background:#fff}
.rf-wish-card img{width:100%;height:220px;object-fit:cover;display:block}
.rf-wish-card-body{padding:12px 14px}
.rf-wish-card-title{font-size:.95rem;margin:0 0 6px}
.rf-wish-card-title a{color:inherit;text-decoration:none}
.rf-wish-card-price{font-weight:700;color:var(--rf-maroon);margin-bottom:10px}
.rf-wish-remove{background:none;border:none;color:#999;cursor:pointer;font-size:.8rem;padding:0;text-decoration:underline}
/* Low-stock urgency. */
.rf-stock-urgency{color:#b3261e;font-weight:600;font-size:.88rem;margin:6px 0;display:flex;align-items:center;gap:6px}
.rf-stock-urgency::before{content:"";width:8px;height:8px;border-radius:50%;background:#b3261e;animation:rf-pulse 1.6s infinite}
@keyframes rf-pulse{0%,100%{opacity:1}50%{opacity:.35}}
/* Sale filter chip. */
.rf-salefilter{margin:0 0 14px}
.rf-chip{display:inline-block;padding:8px 18px;border-radius:999px;border:1px solid var(--rf-line);
  background:#fff;color:var(--rf-maroon);font-weight:600;font-size:.88rem;text-decoration:none;transition:all .2s ease}
.rf-chip:hover{border-color:var(--rf-gold)}
.rf-chip.is-active{background:var(--rf-maroon);border-color:var(--rf-maroon);color:#fff}
/* Bundled logo fallback. */
.rf-logo-img{display:inline-block}
.woocommerce ul.products li.product{position:relative}
.woocommerce ul.products li.product .rf-wish-btn{top:8px;inset-inline-end:8px}

/* ============================================================
   Rivaj Fabrics 2.9.0 — premium UX: mini-cart drawer, mobile tab
   bar, live search, preloader, cookie bar.
   Mobile-first. Logical properties for RTL.
   ============================================================ */

/* --- Mini-cart drawer --- */
.rf-mc-backdrop{position:fixed;inset:0;background:rgba(43,35,32,.55);z-index:9990;opacity:0;transition:opacity .25s ease}
.rf-mc-backdrop.open{opacity:1}
.rf-mc-drawer{position:fixed;top:0;bottom:0;inset-inline-end:0;width:min(400px,92vw);background:var(--rf-white);z-index:9991;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(62,7,16,.18);transform:translateX(105%);transition:transform .3s cubic-bezier(.32,.72,.28,1)}
[dir="rtl"] .rf-mc-drawer{transform:translateX(-105%)}
.rf-mc-drawer.open{transform:none}
.rf-mc-drawer[hidden],.rf-mc-backdrop[hidden]{display:none!important}
.rf-mc-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--rf-line)}
.rf-mc-head h2{font-family:var(--rf-font-head);font-size:1.15rem;margin:0;display:flex;align-items:center;gap:8px}
.rf-mc-head-count{background:var(--rf-maroon);color:#fff;font-size:.75rem;font-family:var(--rf-font-body);min-width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px}
.rf-mc-x{background:none;border:0;font-size:1.7rem;line-height:1;color:var(--rf-muted);cursor:pointer;padding:4px 8px}
.rf-mc-x:hover{color:var(--rf-maroon)}
.rf-mc-body{flex:1;overflow-y:auto;padding:12px 18px;display:flex;flex-direction:column;gap:14px}
.rf-mc-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:start;padding-bottom:14px;border-bottom:1px solid var(--rf-line)}
.rf-mc-item:last-child{border-bottom:0}
.rf-mc-thumb img{width:64px;height:76px;object-fit:cover;border-radius:10px;border:1px solid var(--rf-line)}
.rf-mc-name{font-weight:600;font-size:.92rem;color:var(--rf-ink);text-decoration:none;line-height:1.35}
.rf-mc-name:hover{color:var(--rf-maroon)}
.rf-mc-meta{font-size:.78rem;color:var(--rf-muted)}
.rf-mc-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.rf-mc-qty{display:inline-flex;align-items:center;border:1px solid var(--rf-line);border-radius:999px;overflow:hidden}
.rf-mc-qty button{width:28px;height:28px;border:0;background:var(--rf-ivory);font-size:1rem;cursor:pointer;color:var(--rf-maroon)}
.rf-mc-qty button:hover{background:var(--rf-cream)}
.rf-mc-qty span{min-width:28px;text-align:center;font-weight:600;font-size:.9rem}
.rf-mc-price{font-weight:700;color:var(--rf-maroon)}
.rf-mc-remove{background:none;border:0;color:var(--rf-muted);font-size:1.4rem;cursor:pointer;line-height:1;padding:2px 6px}
.rf-mc-remove:hover{color:#b3261e}
.rf-mc-empty{padding:30px 18px;text-align:center;color:var(--rf-muted)}
.rf-mc-empty p{margin:0 0 14px}
.rf-mc-foot{border-top:1px solid var(--rf-line);padding:14px 18px 18px;background:var(--rf-ivory)}
.rf-mc-subtotal{display:flex;justify-content:space-between;align-items:center;font-size:1.05rem}
.rf-mc-subtotal strong{color:var(--rf-maroon);font-size:1.2rem}
.rf-mc-note{font-size:.78rem;color:var(--rf-muted);margin:6px 0 12px}
.rf-mc-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rf-mc-actions .rf-btn{text-align:center}

/* --- Mobile bottom tab bar --- */
.rf-tabbar{display:none}
@media (max-width:768px){
  .rf-tabbar{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:9980;background:var(--rf-white);border-top:1px solid var(--rf-line);box-shadow:0 -6px 24px rgba(62,7,16,.08);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .rf-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:0;color:var(--rf-muted);font-size:.66rem;font-family:var(--rf-font-body);padding:4px 2px;cursor:pointer;text-decoration:none;position:relative}
  .rf-tab svg{width:23px;height:23px}
  .rf-tab:active,.rf-tab:hover{color:var(--rf-maroon)}
  .rf-tab-badge{position:absolute;top:0;inset-inline-end:calc(50% - 22px);background:var(--rf-maroon);color:#fff;font-size:.62rem;min-width:17px;height:17px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}
  body.rf-has-tabbar{padding-bottom:64px}
  body.rf-has-tabbar .rf-cookiebar{bottom:70px}
  body.rf-has-tabbar .rf-wa-float{bottom:78px}
}

/* --- Live search suggestions --- */
.rf-search-wrap{position:relative}
.rf-search-suggest{position:absolute;top:calc(100% + 6px);inset-inline:0;background:var(--rf-white);border:1px solid var(--rf-line);border-radius:12px;box-shadow:0 18px 44px rgba(62,7,16,.16);z-index:9970;overflow:hidden;max-height:340px;overflow-y:auto}
.rf-sug-item{display:flex;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;color:var(--rf-ink);border-bottom:1px solid var(--rf-line)}
.rf-sug-item:last-child{border-bottom:0}
.rf-sug-item:hover,.rf-sug-item.active{background:var(--rf-ivory)}
.rf-sug-item img{width:44px;height:52px;object-fit:cover;border-radius:8px;border:1px solid var(--rf-line);flex:none}
.rf-sug-name{font-weight:600;font-size:.9rem;line-height:1.3}
.rf-sug-price{font-size:.82rem;color:var(--rf-maroon);font-weight:600}
.rf-sug-all{display:block;padding:11px 14px;text-align:center;font-weight:600;color:var(--rf-maroon);text-decoration:none;background:var(--rf-cream)}
.rf-sug-none{padding:14px;text-align:center;color:var(--rf-muted);font-size:.9rem}

/* --- Shared modal --- */
.rf-modal-backdrop{position:fixed;inset:0;background:rgba(43,35,32,.55);z-index:9990}
.rf-modal{position:fixed;z-index:9991;top:50%;inset-inline-start:50%;transform:translate(-50%,-50%);width:min(560px,92vw);max-height:86vh;display:flex;flex-direction:column;background:var(--rf-white);border-radius:18px;box-shadow:0 24px 70px rgba(62,7,16,.28);overflow:hidden}
[dir="rtl"] .rf-modal{transform:translate(50%,-50%)}
.rf-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--rf-line)}
.rf-modal-head h2{font-family:var(--rf-font-head);font-size:1.2rem;margin:0}
.rf-modal-x{background:none;border:0;font-size:1.7rem;line-height:1;color:var(--rf-muted);cursor:pointer;padding:2px 8px}
.rf-modal-x:hover{color:var(--rf-maroon)}
.rf-modal-body{padding:18px 20px;overflow-y:auto}


/* --- Preloader --- */
.rf-preloader{position:fixed;inset:0;z-index:10000;background:var(--rf-ivory);display:flex;align-items:center;justify-content:center;transition:opacity .45s ease,visibility .45s}
.rf-preloader.done{opacity:0;visibility:hidden;pointer-events:none}
.rf-preloader-inner{text-align:center}
.rf-preloader-logo img{max-width:190px;max-height:96px;object-fit:contain;animation:rf-pre-pulse 1.4s ease-in-out infinite}
.rf-preloader-bar{width:170px;height:3px;background:var(--rf-line);border-radius:999px;margin:18px auto 0;overflow:hidden}
.rf-preloader-bar span{display:block;height:100%;width:40%;background:linear-gradient(90deg,var(--rf-gold),var(--rf-maroon));border-radius:999px;animation:rf-pre-slide 1.1s ease-in-out infinite}
@keyframes rf-pre-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.96);opacity:.85}}
@keyframes rf-pre-slide{0%{margin-inline-start:-40%}100%{margin-inline-start:100%}}
@media (prefers-reduced-motion:reduce){.rf-preloader-logo img,.rf-preloader-bar span{animation:none}}

/* --- Cookie bar --- */
.rf-cookiebar{position:fixed;bottom:14px;inset-inline:14px;z-index:9960;background:var(--rf-maroon-deep);color:#fff;border-radius:14px;padding:13px 16px;display:flex;align-items:center;gap:14px;justify-content:space-between;box-shadow:0 14px 36px rgba(62,7,16,.3);max-width:720px;margin-inline:auto}
.rf-cookiebar p{margin:0;font-size:.86rem;line-height:1.45;opacity:.94}
.rf-cookiebar .rf-btn{flex:none;background:var(--rf-gold);color:var(--rf-maroon-deep);border:0}
.rf-cookiebar[hidden]{display:none!important}
@media (max-width:640px){.rf-cookiebar{flex-direction:column;align-items:stretch;text-align:center}}

/* ============================================================
   Rivaj Fabrics 2.10.0 — future-proof features
   ============================================================ */

/* --- Product video thumbnail + lightbox --- */
.rf-pvideo-thumb{display:flex;align-items:center;gap:10px;cursor:pointer;border:1px dashed var(--rf-line);border-radius:12px;padding:10px 14px;margin-top:10px;background:#fff;transition:border-color .2s ease}
.rf-pvideo-thumb:hover,.rf-pvideo-thumb:focus-visible{border-color:var(--rf-gold);outline:none}
.rf-pvideo-play{width:38px;height:38px;flex:none;border-radius:50%;background:var(--rf-maroon);display:flex;align-items:center;justify-content:center}
.rf-pvideo-play svg{width:20px;height:20px;fill:#fff;margin-inline-start:2px}
.rf-pvideo-text{font-weight:600;font-size:.92rem}
.rf-modal{position:fixed;inset:0;z-index:9990;display:flex;align-items:center;justify-content:center;padding:18px}
.rf-modal[hidden]{display:none}
.rf-modal-backdrop{position:absolute;inset:0;background:rgba(20,4,8,.72)}
.rf-modal-box{position:relative;background:#111;border-radius:16px;max-width:860px;width:100%;overflow:hidden}
.rf-modal-close{position:absolute;top:8px;inset-inline-end:12px;z-index:2;background:rgba(0,0,0,.55);color:#fff;border:0;border-radius:50%;width:36px;height:36px;font-size:1.4rem;cursor:pointer;line-height:1}
.rf-video-frame{aspect-ratio:16/9;background:#000}
.rf-video-frame iframe,.rf-video-frame video{width:100%;height:100%;border:0;display:block}

/* --- FAQ accordion --- */
.rf-faq{max-width:820px;margin-inline:auto;display:flex;flex-direction:column;gap:10px}
.rf-faq-item{border:1px solid var(--rf-line);border-radius:12px;background:#fff;overflow:hidden}
.rf-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;border:0;padding:15px 18px;font-weight:600;font-size:1rem;cursor:pointer;text-align:start;color:inherit}
.rf-faq-icon{flex:none;font-size:1.3rem;color:var(--rf-gold);transition:transform .25s ease}
.rf-faq-q[aria-expanded="true"] .rf-faq-icon{transform:rotate(45deg)}
.rf-faq-a{padding:0 18px 16px;line-height:1.65;color:#4a4a4a}
.rf-faq-a[hidden]{display:none}

/* --- Flash deals --- */
.rf-flashdeals-timer{display:flex;justify-content:center;margin-bottom:18px}
.rf-flashdeals-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:900px){.rf-flashdeals-grid{grid-template-columns:repeat(2,1fr)}}
/* v2.19.0: flash-deal badges sit proudly on the card, not tucked in the corner. */
.rf-flashdeals-grid .rf-badges{top:10px;inset-inline-start:10px}
.rf-flashdeals-grid .rf-badge{font-size:.85rem;padding:8px 16px;box-shadow:0 4px 16px rgba(0,0,0,.3)}

/* --- Social proof cards --- */
.rf-socproof-sub{text-align:center;opacity:.75;margin:-6px 0 22px}
.rf-socproof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:900px){.rf-socproof-grid{grid-template-columns:repeat(2,1fr)}}
.rf-socproof-card{display:flex;flex-direction:column;gap:6px;align-items:flex-start;border:1px solid var(--rf-line);border-radius:16px;padding:20px;background:#fff;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease}
.rf-socproof-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(62,7,16,.12)}
.rf-socproof-name{font-weight:700;font-size:1.05rem}
.rf-socproof-handle{font-size:.85rem;opacity:.65}
.rf-socproof-cta{margin-top:8px;font-size:.85rem;font-weight:700;color:var(--rf-maroon)}

/* --- Back-in-stock --- */
.rf-bis{border:1px dashed var(--rf-line);border-radius:12px;padding:16px;margin-top:14px;background:#fffdf6}
.rf-bis-text{margin:0 0 10px;font-size:.92rem}
.rf-bis-form{display:flex;gap:10px;flex-wrap:wrap}
.rf-bis-form input[type="email"]{flex:1;min-width:200px;padding:11px 14px;border:1px solid var(--rf-line);border-radius:999px;font-size:.92rem}
.rf-bis-ok{margin:0;color:#2e7d32;font-weight:600}

/* --- Frequently bought together --- */
.rf-fbt{border:1px solid var(--rf-line);border-radius:16px;padding:22px;margin-top:28px;background:#fff}
.rf-fbt-title{margin:0 0 14px;font-size:1.15rem}
.rf-fbt-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:10px}
.rf-fbt-item label{display:flex;align-items:center;gap:12px;cursor:pointer}
.rf-fbt-item img{width:56px;height:56px;object-fit:cover;border-radius:10px;flex:none}
.rf-fbt-name{flex:1;font-size:.92rem}
.rf-fbt-price{font-weight:700;white-space:nowrap}
.rf-fbt-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px dashed var(--rf-line);padding-top:14px}
.rf-fbt-total strong{font-size:1.2rem;color:var(--rf-maroon)}

/* ============================================================
   Rivaj Fabrics 2.11.0 — final feature round
   Additive styles: gift wrap, fabric care, promo popup, delivery
   estimator, empty-cart recs, thank-you upsells, order bump, lookbook.
   ============================================================ */

/* --- Gift wrap --- */
.rf-giftwrap{border:1px dashed var(--rf-line);border-radius:12px;padding:16px;margin:18px 0;background:#fffdf6}
.rf-giftwrap-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-weight:600}
.rf-giftwrap-check input{margin-top:4px;accent-color:var(--rf-maroon)}
.rf-giftwrap-msg{display:block;margin-top:12px}
.rf-giftwrap-msg span{display:block;margin-bottom:6px;font-weight:600;font-size:.9rem}
.rf-giftwrap-msg textarea{width:100%;padding:10px 12px;border:1px solid var(--rf-line);border-radius:10px;font:inherit;resize:vertical}

/* --- Fabric care tab --- */
.rf-fabriccare{line-height:1.7}
.rf-fabriccare p{margin:0 0 10px}

/* --- Promo popup --- */
.rf-popup{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;padding:20px}
.rf-popup[hidden]{display:none}
.rf-popup-backdrop{position:absolute;inset:0;background:rgba(20,5,10,.55)}
.rf-popup-box{position:relative;background:#fff;border-radius:20px;padding:34px 30px;max-width:420px;width:100%;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.25);animation:rf-popup-in .35s ease}
@keyframes rf-popup-in{from{transform:translateY(24px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.rf-popup-x{position:absolute;top:10px;inset-inline-end:14px;border:0;background:none;font-size:1.6rem;line-height:1;cursor:pointer;color:#999}
.rf-popup-title{margin:0 0 10px;font-size:1.35rem;color:var(--rf-maroon)}
.rf-popup-text{margin:0 0 18px;color:#555}

/* --- Delivery estimator --- */
.rf-delest{border:1px solid var(--rf-line);border-radius:12px;padding:14px 16px;margin-top:16px;background:#fff}
.rf-delest-title{margin:0 0 8px;font-weight:700}
.rf-delest-row select{width:100%;padding:10px 12px;border:1px solid var(--rf-line);border-radius:10px;font:inherit}
.rf-delest-out{margin:10px 0 0;font-weight:600;color:var(--rf-maroon)}
.rf-delest-cod{margin:8px 0 0;font-size:.85rem;color:#2e7d32}

/* --- Empty cart / thank-you grids --- */
.rf-emptycart,.rf-thankyou{margin:34px 0}
.rf-emptycart-title,.rf-thankyou-title{margin:0 0 16px;font-size:1.25rem}
.rf-emptycart-grid,.rf-thankyou-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.rf-emptycart-card,.rf-thankyou-card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--rf-line);border-radius:14px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}
.rf-emptycart-card:hover,.rf-thankyou-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(62,7,16,.12)}
.rf-emptycart-media img,.rf-thankyou-media img{width:100%;height:auto;display:block;aspect-ratio:1;object-fit:cover}
.rf-emptycart-name,.rf-thankyou-name{font-size:.88rem;padding:0 10px}
.rf-emptycart-price,.rf-thankyou-price{font-weight:700;color:var(--rf-maroon);padding:0 10px 12px;font-size:.9rem}

/* --- Order bump --- */
.rf-bump{border:2px dashed var(--rf-gold,#c9a227);border-radius:14px;padding:16px;margin:18px 0;background:#fffdf4}
.rf-bump-check{display:flex;align-items:center;gap:14px;cursor:pointer}
.rf-bump-check input{width:20px;height:20px;flex:none;accent-color:var(--rf-maroon)}
.rf-bump-media img{width:64px;height:64px;object-fit:cover;border-radius:10px;flex:none}
.rf-bump-info{display:flex;flex-direction:column;gap:2px}
.rf-bump-info strong{color:var(--rf-maroon)}
.rf-bump-info span{font-size:.88rem;color:#555}
.rf-bump-info em{font-style:normal;font-size:.88rem}

/* --- Lookbook --- */
.rf-lookbook-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:640px){.rf-lookbook-grid{grid-template-columns:repeat(2,1fr)}}
.rf-lookbook-item{border:0;padding:0;background:none;cursor:zoom-in;border-radius:14px;overflow:hidden}
.rf-lookbook-item img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform .4s ease}
.rf-lookbook-item:hover img{transform:scale(1.04)}
.rf-lookbook-more{text-align:center;margin-top:20px}
.rf-lookbook-lightbox{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;padding:24px}
.rf-lookbook-lightbox[hidden]{display:none}
.rf-lookbook-backdrop{position:absolute;inset:0;background:rgba(10,4,8,.85)}
.rf-lookbook-x{position:absolute;top:16px;inset-inline-end:20px;z-index:2;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:2rem;line-height:1;width:44px;height:44px;border-radius:50%;cursor:pointer}
.rf-lookbook-full{position:relative;z-index:1;max-width:min(92vw,900px);max-height:88vh;border-radius:12px;object-fit:contain}

/* ============================================================
   Rivaj Fabrics 2.12.0 — compare, mega menu, shop hero, chips
   ============================================================ */

/* --- Compare button --- */
.rf-btn-compare{background:transparent;border:1px solid var(--rf-line);color:inherit}
.rf-btn-compare svg{width:16px;height:16px;vertical-align:-3px;margin-inline-end:6px}
.rf-btn-compare[aria-pressed="true"]{background:var(--rf-maroon);border-color:var(--rf-maroon);color:#fff}
.rf-compare-single{margin:14px 0}

/* --- Compare tray --- */
.rf-compare-tray{position:fixed;inset-inline:0;bottom:0;z-index:99940;background:#fff;border-top:1px solid var(--rf-line);box-shadow:0 -8px 30px rgba(62,7,16,.12);padding:10px 0}
.rf-compare-tray[hidden]{display:none}
.rf-compare-tray-inner{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rf-compare-tray-title{font-size:.95rem}
.rf-compare-tray-items{display:flex;gap:8px;flex:1;flex-wrap:wrap}
.rf-compare-tray-item{display:flex;align-items:center;gap:6px;font-size:.85rem;background:#f7f4ee;border-radius:999px;padding:4px 10px 4px 4px}
.rf-compare-tray-item img{width:32px;height:32px;object-fit:cover;border-radius:50%}
.rf-compare-tray-item button{border:0;background:none;cursor:pointer;font-size:.9rem;line-height:1}
.rf-compare-tray-clear{border:0;background:none;font-size:1.2rem;cursor:pointer;color:#999}

/* --- Compare table --- */
.rf-compare-scroll{overflow-x:auto}
.rf-compare-table{width:100%;border-collapse:collapse;min-width:560px}
.rf-compare-table th,.rf-compare-table td{border:1px solid var(--rf-line);padding:12px;vertical-align:top;text-align:start}
.rf-compare-table th{background:#faf7f0;width:130px;font-size:.9rem}
.rf-compare-table td img{max-width:140px;height:auto;border-radius:8px}
.rf-compare-remove{border:0;background:#f3ecec;border-radius:50%;width:26px;height:26px;cursor:pointer;float:inline-end}

/* --- Mega menu --- */
.rf-nav .rf-mega-parent{position:static}
.rf-mega-panel{position:absolute;inset-inline:0;top:100%;background:#fff;border-top:3px solid var(--rf-gold);box-shadow:0 24px 50px rgba(62,7,16,.16);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease,visibility .22s;z-index:999}
.rf-mega-parent:hover>.rf-mega-panel,.rf-mega-parent:focus-within>.rf-mega-panel{opacity:1;visibility:visible;transform:none}
.rf-mega-inner{display:flex;gap:28px;padding:26px 0}
.rf-mega-cols{flex:1;display:grid;grid-template-columns:repeat(var(--rf-mega-cols,3),1fr);gap:18px;list-style:none;margin:0;padding:0}
.rf-mega-cols>li>a{font-weight:700;color:var(--rf-maroon);text-decoration:none}
.rf-mega-cols .sub-menu{list-style:none;margin:8px 0 0;padding:0}
.rf-mega-cols .sub-menu a{color:inherit;text-decoration:none;font-size:.92rem;display:block;padding:4px 0}
.rf-mega-cols .sub-menu a:hover{color:var(--rf-maroon)}
.rf-mega-promo{flex:0 0 240px;background:var(--rf-maroon);color:#fff;border-radius:12px;padding:20px;align-self:start}
.rf-mega-promo-title{display:block;font-size:1.05rem;margin-bottom:8px}
.rf-mega-promo p{font-size:.88rem;opacity:.92}
.rf-mega-promo .rf-btn{background:var(--rf-gold);color:var(--rf-maroon);margin-top:10px}
@media(max-width:900px){.rf-mega-panel{display:none}}

/* --- Shop hero --- */
.rf-shop-hero{background:var(--rf-maroon);color:#fff;background-size:cover;background-position:center;padding:56px 0;margin-bottom:26px;position:relative}
.rf-shop-hero::before{content:"";position:absolute;inset:0;background:rgba(40,4,10,.45)}
.rf-shop-hero-inner{position:relative;text-align:center}
.rf-shop-hero-title{font-size:2.2rem;margin:0 0 8px;color:#fff}
.rf-shop-hero-sub{font-size:1.05rem;opacity:.94;max-width:640px;margin:0 auto 16px}

/* --- Fabric filter chips --- */
.rf-fcatchips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.rf-fcatchips-label{font-weight:700;margin-inline-end:4px}

/* --- Announcement rotation --- */
.rf-announce-msg{display:inline-block}

/* ---------- v2.25.0: Premium Rate Our Shop ---------- */
.rf-rate-premium{background:linear-gradient(135deg,#2b0a12 0%,#4a1520 45%,#2b0a12 100%);position:relative;overflow:hidden}
.rf-rate-premium::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 10%,rgba(212,175,55,.12),transparent 55%),radial-gradient(ellipse at 85% 90%,rgba(212,175,55,.08),transparent 50%);pointer-events:none}
.rf-rate-premium .rf-container{position:relative;z-index:1}
.rf-rate-head{text-align:center;max-width:640px;margin:0 auto 44px}
.rf-rate-kicker{display:inline-block;font-size:.78rem;letter-spacing:4px;text-transform:uppercase;color:var(--rf-gold);border:1px solid rgba(212,175,55,.45);border-radius:999px;padding:7px 20px;margin-bottom:16px}
.rf-rate-title{font-family:var(--rf-font-head);font-size:2.4rem;color:#fff;margin:0 0 10px}
.rf-rate-sub{color:rgba(255,255,255,.72);font-size:1.02rem;margin:0}
.rf-rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
@media(max-width:860px){.rf-rate-grid{grid-template-columns:1fr}}
.rf-rate-showcase{background:rgba(255,255,255,.045);border:1px solid rgba(212,175,55,.28);border-radius:20px;padding:36px;backdrop-filter:blur(6px)}
.rf-rate-score{display:flex;align-items:center;gap:20px;margin-bottom:8px}
.rf-rate-number{font-family:var(--rf-font-head);font-size:4.2rem;line-height:1;color:#fff}
.rf-rate-bigstars .rf-bstar{font-size:1.7rem;color:rgba(255,255,255,.22);margin-right:3px}
.rf-rate-bigstars .rf-bstar.on{color:var(--rf-gold);text-shadow:0 0 14px rgba(212,175,55,.65)}
.rf-rate-count{display:block;color:rgba(255,255,255,.65);font-size:.9rem;margin-top:6px}
.rf-rate-reviews{display:grid;gap:14px;margin:20px 0}
.rf-rate-review{margin:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:18px 20px}
.rf-rate-review-stars{margin-bottom:8px}
.rf-rate-review-stars .rf-bstar{font-size:1rem;color:rgba(255,255,255,.22);margin-right:2px}
.rf-rate-review-stars .rf-bstar.on{color:var(--rf-gold)}
.rf-rate-review blockquote{margin:0 0 10px;color:rgba(255,255,255,.88);font-style:italic;line-height:1.6;font-size:.96rem}
.rf-rate-review figcaption{font-size:.83rem;color:rgba(255,255,255,.55)}
.rf-rate-review figcaption strong{color:var(--rf-gold);font-weight:600}
.rf-rate-review .rf-via{opacity:.7}
.rf-rate-google-btn{margin-top:6px}
.rf-rate-form-card{background:#fffdf8;border:1px solid rgba(212,175,55,.4);border-radius:20px;padding:38px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.rf-rate-form-card h3{font-family:var(--rf-font-head);font-size:1.45rem;color:var(--rf-maroon-deep);margin:0 0 20px;text-align:center}
.rf-rate-form-card .rf-shopreview-form{display:grid;gap:14px}
.rf-stars-premium{justify-content:center;margin-bottom:4px}
.rf-stars-premium .rf-star{background:none;border:none;cursor:pointer;padding:4px}
.rf-stars-premium .rf-star svg{width:40px;height:40px;fill:#D9C69A;stroke:#B8945A;stroke-width:.6;transition:.22s;filter:drop-shadow(0 2px 3px rgba(0,0,0,.14))}
.rf-stars-premium .rf-star.on svg,.rf-stars-premium .rf-star:hover svg{fill:#F5A623;stroke:#D4890A;filter:drop-shadow(0 0 10px rgba(245,166,35,.7));transform:scale(1.1)}
.rf-rate-form-card .rf-shopreview-input{border:1.5px solid #e8ddc8;border-radius:12px;padding:13px 16px;font-size:.95rem;background:#fff;transition:.2s;width:100%}
.rf-rate-form-card .rf-shopreview-input:focus{outline:none;border-color:var(--rf-gold);box-shadow:0 0 0 3px rgba(212,175,55,.18)}
.rf-rate-submit{width:100%;padding:14px;font-size:1rem;letter-spacing:.5px}

/* ---------- v2.27.0: Free shipping progress bar ---------- */
.rf-freeship{margin:0 0 14px;padding:14px 16px;background:linear-gradient(135deg,#fdf8ef,#fbf3e2);border:1px solid rgba(201,162,39,.4);border-radius:14px}
.rf-freeship-msg{margin:0 0 10px;font-size:.88rem;font-weight:600;color:var(--rf-maroon-deep);text-align:center}
.rf-freeship-track{height:10px;background:#e9dfc9;border-radius:999px;overflow:hidden}
.rf-freeship-fill{display:block;height:100%;background:linear-gradient(90deg,var(--rf-gold-light),var(--rf-gold));border-radius:999px;transition:width .5s ease}

/* ---------- v2.27.0: Promo code chip ---------- */
.rf-promo-chip{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px dashed rgba(255,255,255,.55);color:#fff;border-radius:999px;padding:5px 6px 5px 12px;font-size:.8rem;cursor:pointer;transition:.2s;font-family:inherit}
.rf-promo-chip:hover{background:rgba(255,255,255,.24);transform:translateY(-1px)}
.rf-promo-chip .rf-promo-code{font-family:ui-monospace,monospace;font-weight:700;letter-spacing:1px;background:var(--rf-gold);color:#3a2410;border-radius:6px;padding:3px 9px}
.rf-promo-chip svg{opacity:.85}
.rf-promo-chip--bar{margin-inline-start:14px;vertical-align:middle}
.rf-promo-chip--product{margin:14px 0 0;background:#fdf8ef;border:1px dashed var(--rf-gold);color:var(--rf-maroon-deep)}
.rf-promo-chip--product:hover{background:#fbf0da}
.rf-promo-chip--product .rf-promo-code{background:var(--rf-maroon);color:#fff}
/* Copied toast */
.rf-toast{position:fixed;bottom:28px;inset-inline:0;margin:0 auto;width:max-content;max-width:90vw;background:#2b0a12;color:#fff;border:1px solid var(--rf-gold);border-radius:999px;padding:11px 26px;font-size:.92rem;font-weight:600;z-index:10001;opacity:0;transform:translateY(12px);transition:.3s;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.rf-toast.show{opacity:1;transform:translateY(0)}
