/* Ruby Diamond Store — white / black theme with ruby red accent */
.rd-main, .rd-ticker, .rd-header, .rd-footer { font-family: 'Poppins', system-ui, sans-serif; color: #111; }
.rd-main { max-width: 1200px; margin: 0 auto; padding: 20px 16px 60px; }

/* Ticker (scrolling tagline, news style) */
.rd-ticker { background: #000; color: #fff; overflow: hidden; white-space: nowrap; padding: 8px 0; font-size: 13px; font-weight: 500; letter-spacing: .3px; }
.rd-ticker-track { display: inline-flex; animation: rd-marquee 28s linear infinite; }
.rd-ticker-track span { padding-right: 60px; }
@keyframes rd-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Sticky header */
.rd-header { position: sticky; top: 0; z-index: 999; background: #fff; border-bottom: 1px solid #eee; box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.rd-header-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; gap: 24px; padding: 10px 16px; }
.rd-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: #000; }
.rd-logo img { height: 52px; width: auto; object-fit: contain; }
.rd-logo-text { font-size: 20px; font-weight: 800; letter-spacing: 1px; line-height: 1; }
.rd-logo-text b { color: #c8102e; }
.rd-nav { display: flex; gap: 18px; margin-left: auto; flex-wrap: wrap; }
.rd-nav a { color: #111; text-decoration: none; font-weight: 500; font-size: 14px; padding: 6px 2px; border-bottom: 2px solid transparent; }
.rd-nav a:hover { color: #c8102e; border-color: #c8102e; }
.rd-header-actions { display: flex; align-items: center; gap: 10px; }
.rd-cart-btn { background: #000; color: #fff !important; text-decoration: none; padding: 9px 16px; border-radius: 30px; font-size: 14px; font-weight: 600; }
.rd-cart-count { background: #c8102e; color: #fff; border-radius: 50%; padding: 1px 7px; font-size: 12px; margin-left: 4px; }
.rd-burger { display: none; background: none; border: 1px solid #ddd; border-radius: 8px; font-size: 20px; padding: 4px 10px; cursor: pointer; }

/* Hero slider */
.rd-hero { position: relative; overflow: hidden; border-radius: 18px; background: #000; margin: 10px 0 30px; }
.rd-hero-track { position: relative; height: 420px; }
.rd-slide { position: absolute; inset: 0; display: flex; align-items: center; gap: 30px; padding: 40px 60px; opacity: 0; pointer-events: none; transition: opacity .7s ease; background: radial-gradient(ellipse at right, #c8102e33, transparent 60%), #0a0a0a; color: #fff; }
.rd-slide.active { opacity: 1; pointer-events: auto; }
.rd-slide-text { flex: 1; }
.rd-slide-tag { display: inline-block; background: #c8102e; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: 2px; padding: 6px 14px; border-radius: 20px; margin-bottom: 16px; }
.rd-slide-text h2 { font-size: 42px; line-height: 1.15; margin: 0 0 12px; font-weight: 800; }
.rd-slide.active .rd-slide-text h2, .rd-slide.active .rd-slide-text p, .rd-slide.active .rd-btn { animation: rd-fade-up .7s ease both; }
.rd-slide.active .rd-slide-text p { animation-delay: .15s; }
.rd-slide.active .rd-btn { animation-delay: .3s; }
.rd-slide-text p { color: #ddd; font-size: 16px; }
.rd-slide-img { flex: 0 0 340px; }
.rd-slide-img img { width: 100%; border-radius: 16px; box-shadow: 0 20px 40px rgba(0,0,0,.4); }
.rd-btn { display: inline-block; background: #c8102e; color: #fff !important; text-decoration: none; padding: 13px 26px; border-radius: 30px; font-weight: 700; font-size: 15px; border: none; cursor: pointer; transition: transform .2s, background .2s; }
.rd-btn:hover { background: #a50d26; transform: translateY(-2px); }
.rd-btn-dark { background: #000; }
.rd-hero-prev, .rd-hero-next { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.9); border: none; width: 44px; height: 44px; border-radius: 50%; font-size: 26px; cursor: pointer; z-index: 2; }
.rd-hero-prev { left: 14px; } .rd-hero-next { right: 14px; }
.rd-hero-dots { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 2; }
.rd-hero-dots button { width: 10px; height: 10px; border-radius: 50%; border: none; background: rgba(255,255,255,.5); cursor: pointer; }
.rd-hero-dots button.on { background: #c8102e; width: 26px; border-radius: 6px; }

/* Sections & grids */
.rd-section { margin: 40px 0; }
.rd-sec-title { font-size: 26px; font-weight: 800; margin: 0 0 4px; }
.rd-sec-sub { color: #666; margin: 0 0 20px; }
.rd-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.rd-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rd-cat-tile { background: #fff; border: 1px solid #eee; border-radius: 16px; padding: 24px 12px; text-align: center; text-decoration: none; color: #111; transition: transform .25s, box-shadow .25s; display: block; }
.rd-cat-tile:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.1); }
.rd-cat-icon { font-size: 36px; display: block; margin-bottom: 8px; }
.rd-cat-name { display: block; font-weight: 700; }
.rd-cat-count { font-size: 12px; color: #888; }

/* Product cards */
.rd-card { background: #fff; border: 1px solid #eee; border-radius: 16px; overflow: hidden; transition: transform .25s, box-shadow .25s; }
.rd-card:hover { transform: translateY(-5px); box-shadow: 0 16px 32px rgba(0,0,0,.12); }
.rd-card-img { position: relative; overflow: hidden; aspect-ratio: 1; background: #fafafa; }
.rd-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.rd-card:hover .rd-card-img img { transform: scale(1.07); }
.rd-badge { position: absolute; top: 10px; left: 10px; background: #c8102e; color: #fff; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 20px; letter-spacing: .5px; }
.rd-card-body { padding: 14px 16px 18px; }
.rd-card-cat { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #888; }
.rd-card-title { font-size: 15px; margin: 6px 0; font-weight: 600; line-height: 1.4; min-height: 42px; }
.rd-card-price { font-size: 17px; font-weight: 800; }
.rd-card-price del { color: #999; font-weight: 400; font-size: 13px; margin-left: 6px; }
.rd-card-stars { margin: 6px 0 12px; }
.rd-stars { font-size: 15px; letter-spacing: 2px; }
.rd-star { color: #ddd; }
.rd-star.on { color: #f5a623; }
.rd-star.half { color: #f5a623; }
.rd-add-cart { width: 100%; background: #000; color: #fff; border: none; padding: 11px; border-radius: 10px; font-weight: 600; cursor: pointer; transition: background .2s; font-size: 14px; }
.rd-add-cart:hover { background: #c8102e; }
.rd-add-cart.added { background: #1a9e4b; }

/* Scroll-in animation */
.rd-animate { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.rd-animate.visible { opacity: 1; transform: none; }

/* Features strip */
.rd-features { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; background: #000; color: #fff; border-radius: 16px; padding: 24px; }
.rd-feature { text-align: center; font-size: 26px; }
.rd-feature b, .rd-feature span { display: block; font-size: 14px; }
.rd-feature b { margin-top: 6px; }
.rd-feature span { color: #bbb; font-size: 12px; }

/* Filters */
.rd-filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 22px; }
.rd-filters a { padding: 8px 18px; border: 1px solid #ddd; border-radius: 30px; text-decoration: none; color: #111; font-size: 14px; font-weight: 500; }
.rd-filters a.on, .rd-filters a:hover { background: #000; color: #fff; border-color: #000; }

/* Cart */
.rd-cart-table { width: 100%; border-collapse: collapse; }
.rd-cart-table th, .rd-cart-table td { padding: 12px; border-bottom: 1px solid #eee; text-align: left; font-size: 14px; }
.rd-cart-prod { display: flex; align-items: center; gap: 12px; }
.rd-cart-prod img { width: 60px; height: 60px; object-fit: cover; border-radius: 10px; }
.rd-qty, .rd-remove { border: 1px solid #ddd; background: #fff; border-radius: 8px; padding: 4px 10px; cursor: pointer; font-size: 15px; }
.rd-qty-n { margin: 0 8px; font-weight: 600; }
.rd-cart-summary { max-width: 360px; margin: 20px 0 0 auto; background: #fafafa; border: 1px solid #eee; border-radius: 14px; padding: 20px; }
.rd-cart-summary p { display: flex; justify-content: space-between; }
.rd-grand { font-size: 18px; border-top: 1px solid #ddd; padding-top: 12px; }
.rd-empty-cart { text-align: center; padding: 60px 0; }

/* Checkout (Shopify style) */
.rd-checkout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 28px; align-items: start; }
.rd-co-form, .rd-co-summary { background: #fff; border: 1px solid #eee; border-radius: 16px; padding: 24px; }
.rd-co-form label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 14px; }
.rd-co-form input[type=text], .rd-co-form input[type=tel], .rd-co-form textarea { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 10px; margin-top: 6px; font-size: 14px; box-sizing: border-box; }
.rd-radio { background: #fafafa; border: 1px solid #eee; border-radius: 10px; padding: 12px; }
.rd-co-summary ul { list-style: none; padding: 0; margin: 0 0 16px; }
.rd-co-summary li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #f0f0f0; font-size: 14px; }
.rd-co-summary li img { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; }
.rd-co-summary li b { margin-left: auto; }
.rd-co-summary p { display: flex; justify-content: space-between; }
.rd-place-order { width: 100%; padding: 15px; font-size: 16px; }
.rd-thanks { text-align: center; padding: 50px 20px; background: #f7fff8; border: 1px solid #d8f0dd; border-radius: 16px; }
.rd-thanks-check { display: inline-block; width: 64px; height: 64px; line-height: 64px; border-radius: 50%; background: #1a9e4b; color: #fff; font-size: 32px; margin-bottom: 14px; }
.rd-wa-btn { background: #25d366 !important; margin-right: 8px; }

/* Footer */
.rd-footer { background: #000; color: #ccc; margin-top: 20px; }
.rd-footer-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 30px; padding: 48px 16px 30px; }
.rd-foot-logo { height: 60px; width: auto; margin-bottom: 12px; }
.rd-foot-col h4 { color: #fff; margin: 0 0 14px; font-size: 16px; }
.rd-foot-col a { color: #ccc; text-decoration: none; display: block; margin-bottom: 8px; transition: color .2s, padding-left .2s; }
.rd-foot-col a:hover { color: #fff; padding-left: 6px; }
.rd-foot-col p { font-size: 14px; line-height: 1.7; }
.rd-newsletter { display: flex; gap: 0; }
.rd-newsletter input { flex: 1; padding: 11px; border: none; border-radius: 10px 0 0 10px; font-size: 14px; min-width: 0; }
.rd-newsletter button { background: #c8102e; color: #fff; border: none; padding: 11px 16px; border-radius: 0 10px 10px 0; cursor: pointer; font-weight: 600; }
.rd-foot-bottom { border-top: 1px solid #222; text-align: center; padding: 16px; font-size: 13px; color: #888; }

@keyframes rd-fade-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* Mobile responsive */
@media (max-width: 900px) {
  .rd-grid, .rd-cats, .rd-features { grid-template-columns: repeat(2, 1fr); }
  .rd-hero-track { height: 520px; }
  .rd-slide { flex-direction: column; padding: 30px 20px; text-align: center; }
  .rd-slide-text h2 { font-size: 28px; }
  .rd-slide-img { flex: none; width: 220px; }
  .rd-checkout { grid-template-columns: 1fr; }
  .rd-footer-grid { grid-template-columns: 1fr 1fr; }
  .rd-burger { display: block; }
  .rd-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; flex-direction: column; padding: 14px 20px; border-bottom: 1px solid #eee; box-shadow: 0 10px 20px rgba(0,0,0,.08); }
  .rd-nav.open { display: flex; }
  .rd-header-inner { position: relative; }
}
@media (max-width: 520px) {
  .rd-grid, .rd-cats, .rd-features, .rd-footer-grid { grid-template-columns: 1fr; }
  .rd-logo-text { font-size: 16px; }
  .rd-cart-table { font-size: 12px; }
}

/* ---- v1.1 premium upgrades ---- */

/* Header search + nav row (Shopify style) */
.rd-search { flex: 1; max-width: 480px; display: flex; margin: 0 auto; }
.rd-search input { flex: 1; padding: 11px 16px; border: 1.5px solid #e5e5e5; border-right: none; border-radius: 30px 0 0 30px; font-size: 14px; outline: none; min-width: 0; }
.rd-search input:focus { border-color: #c8102e; }
.rd-search button { background: #c8102e; color: #fff; border: none; padding: 0 18px; border-radius: 0 30px 30px 0; cursor: pointer; font-size: 16px; }
.rd-nav { max-width: 1200px; margin: 0 auto; display: flex; gap: 26px; padding: 10px 16px 12px; justify-content: center; flex-wrap: wrap; border-top: 1px solid #f0f0f0; }
.rd-nav a { color: #111; text-decoration: none; font-weight: 600; font-size: 14px; padding: 4px 2px; border-bottom: 2px solid transparent; }
.rd-nav a:hover { color: #c8102e; border-color: #c8102e; }

/* Button shine sweep */
.rd-btn { position: relative; overflow: hidden; }
.rd-btn::after { content: ''; position: absolute; top: 0; left: -80%; width: 50%; height: 100%; background: linear-gradient(120deg, transparent, rgba(255,255,255,.45), transparent); transform: skewX(-20deg); transition: left .5s ease; }
.rd-btn:hover::after { left: 130%; }

/* Quick add on image hover (Shopify style) */
.rd-quick-add { position: absolute; left: 12px; right: 12px; bottom: 12px; background: #000; color: #fff; border: none; padding: 11px; border-radius: 10px; font-weight: 600; cursor: pointer; transform: translateY(130%); opacity: 0; transition: transform .3s ease, opacity .3s ease, background .2s; font-size: 14px; z-index: 2; }
.rd-card:hover .rd-quick-add { transform: translateY(0); opacity: 1; }
.rd-quick-add:hover { background: #c8102e; }
.rd-card-title a { color: #111; text-decoration: none; }
.rd-card-title a:hover { color: #c8102e; }
.rd-card { border-color: #ececec; }
.rd-card:hover { border-color: #ddd; }

/* Section titles, premium centered */
.rd-sec-title { text-align: center; font-size: 28px; }
.rd-sec-title::after { content: ''; display: block; width: 56px; height: 3px; background: #c8102e; margin: 10px auto 0; border-radius: 3px; }
.rd-sec-sub { text-align: center; }

/* Hero logo banner */
.rd-hero-logo { height: 64px; width: auto; border-radius: 12px; margin-bottom: 14px; display: block; }

/* Product page */
.rd-crumb { font-size: 13px; color: #888; margin-bottom: 20px; }
.rd-crumb a { color: #888; text-decoration: none; }
.rd-crumb a:hover { color: #c8102e; }
.rd-crumb span { color: #111; }
.rd-pdp { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: start; }
.rd-pdp-gallery { position: relative; background: #fafafa; border: 1px solid #eee; border-radius: 20px; overflow: hidden; }
.rd-pdp-gallery img { width: 100%; display: block; aspect-ratio: 1; object-fit: cover; }
.rd-pdp-gallery .rd-badge { top: 16px; left: 16px; font-size: 12px; padding: 6px 14px; }
.rd-pdp-title { font-size: 30px; line-height: 1.25; margin: 8px 0; font-weight: 800; }
.rd-pdp-stars { margin-bottom: 14px; }
.rd-pdp-rating-text { font-size: 13px; color: #888; margin-left: 6px; }
.rd-pdp-price { font-size: 30px; font-weight: 800; margin-bottom: 16px; }
.rd-pdp-price del { color: #999; font-size: 19px; font-weight: 400; margin-left: 10px; }
.rd-save { background: #fdecec; color: #c8102e; font-size: 13px; font-weight: 700; padding: 5px 12px; border-radius: 20px; margin-left: 10px; vertical-align: middle; }
.rd-pdp-desc { color: #555; line-height: 1.8; margin-bottom: 22px; }
.rd-pdp-buy { display: flex; gap: 12px; flex-wrap: wrap; align-items: stretch; margin-bottom: 22px; }
.rd-pdp-qty { display: flex; align-items: center; border: 1.5px solid #ddd; border-radius: 30px; overflow: hidden; }
.rd-pdp-qty button { background: #fff; border: none; width: 42px; height: 100%; font-size: 20px; cursor: pointer; }
.rd-pdp-qty span { min-width: 34px; text-align: center; font-weight: 700; }
.rd-pdp-buy .rd-btn { flex: 1; min-width: 150px; }
.rd-buy-now { background: #c8102e !important; }
.rd-pdp-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 20px; }
.rd-pdp-trust > div { background: #fafafa; border: 1px solid #eee; border-radius: 12px; padding: 14px 10px; text-align: center; font-size: 24px; }
.rd-pdp-trust b, .rd-pdp-trust span { display: block; font-size: 12px; }
.rd-pdp-trust b { margin-top: 4px; }
.rd-pdp-trust span { color: #888; }
.rd-pdp-meta { font-size: 14px; color: #555; border-top: 1px solid #eee; padding-top: 14px; }
.rd-pdp-meta a { color: #c8102e; text-decoration: none; font-weight: 600; }

/* Checkout steps + discount */
.rd-co-steps { display: flex; gap: 8px; align-items: center; font-size: 13px; font-weight: 600; color: #999; margin-bottom: 18px; }
.rd-co-steps .on { color: #c8102e; }
.rd-discount-row { display: flex; gap: 0; margin-bottom: 8px; }
.rd-discount-row input { flex: 1; padding: 11px; border: 1.5px solid #ddd; border-right: none; border-radius: 10px 0 0 10px; font-size: 14px; min-width: 0; }
.rd-discount-row button { background: #000; color: #fff; border: none; padding: 0 18px; border-radius: 0 10px 10px 0; cursor: pointer; font-weight: 600; }
.rd-disc-msg { font-size: 13px; min-height: 18px; }
.rd-disc-msg.ok { color: #1a9e4b; }
.rd-disc-msg.bad { color: #c8102e; }

/* Mobile updates for new header */
@media (max-width: 900px) {
  .rd-header-inner { flex-wrap: wrap; }
  .rd-search { order: 3; max-width: none; width: 100%; }
  .rd-nav { display: none; flex-direction: column; align-items: flex-start; gap: 4px; position: static; box-shadow: none; border-bottom: none; }
  .rd-nav.open { display: flex; }
  .rd-burger { display: block; }
  .rd-pdp { grid-template-columns: 1fr; gap: 24px; }
  .rd-hero-logo { height: 52px; }
}

/* ---- v1.2: premium header, full-width animated hero, new sections, chatbot, preloader ---- */

/* Wider, bigger-website layout */
.rd-main, .rd-header-inner, .rd-nav, .rd-footer-grid { max-width: 1280px; }

/* Logo: transparent diamond + stylish fonts */
.rd-logo img { height: 56px; }
.rd-logo-text { font-family: 'Cinzel', serif; font-size: 24px; letter-spacing: 1.5px; line-height: 1.1; }
.rd-logo-text b { color: #c8102e; }
.rd-logo-text small { display: block; font-family: 'Great Vibes', cursive; font-size: 21px; letter-spacing: 0; color: #888; font-weight: 400; margin-top: 2px; }
.rd-foot-logo { background: transparent; }
.rd-search button { display: flex; align-items: center; justify-content: center; }
.rd-cart-btn { display: inline-flex; align-items: center; gap: 6px; }

/* Full-width hero, taller, animated */
.rd-hero { width: 100vw; margin-left: calc(-50vw + 50%); border-radius: 0; }
.rd-hero-track { height: 540px; }
.rd-slide-img img { animation: rdHeroZoom 8s ease-out forwards; }
@keyframes rdHeroZoom { from { transform: scale(1.12); } to { transform: scale(1); } }
.rd-slide.active .rd-slide-tag { animation: rdFadeUp .6s ease both; }
.rd-slide.active .rd-slide-text h2 { animation: rdFadeUp .6s .12s ease both; }
.rd-slide.active .rd-slide-text p { animation: rdFadeUp .6s .24s ease both; }
.rd-slide.active .rd-slide-text .rd-btn { animation: rdFadeUp .6s .36s ease both; }
.rd-slide.active .rd-hero-logo { animation: rdFadeUp .6s ease both; }
@keyframes rdFadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
.rd-slide-text h2 { font-size: 46px; }
.rd-hero-logo { height: 80px; background: transparent; }

/* Why choose us */
.rd-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rd-why { background: #fff; border: 1px solid #eee; border-radius: 16px; padding: 26px 22px; text-align: center; transition: transform .3s ease, box-shadow .3s ease; }
.rd-why:hover { transform: translateY(-6px); box-shadow: 0 16px 30px rgba(0,0,0,.09); }
.rd-why-ic { font-size: 34px; display: block; margin-bottom: 10px; }
.rd-why b { font-size: 16px; display: block; margin-bottom: 6px; }
.rd-why p { color: #666; font-size: 14px; line-height: 1.7; margin: 0; }

/* Testimonials */
.rd-testimonials { background: #faf7f7; border-radius: 24px; padding: 40px 24px; }
.rd-testi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rd-testi { background: #fff; border: 1px solid #eee; border-radius: 16px; padding: 24px; }
.rd-testi .rd-stars { color: #f5a623; letter-spacing: 2px; margin-bottom: 10px; }
.rd-testi p { color: #444; line-height: 1.8; font-size: 14px; }
.rd-testi b { display: block; margin-top: 12px; }
.rd-testi span { color: #999; font-size: 13px; }

/* FAQ accordion */
.rd-faq { max-width: 820px; margin: 0 auto; }
.rd-faq-item { border: 1px solid #eee; border-radius: 14px; margin-bottom: 12px; overflow: hidden; background: #fff; }
.rd-faq-q { width: 100%; background: #fff; border: none; padding: 18px 20px; font-size: 15px; font-weight: 600; text-align: left; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-family: inherit; }
.rd-faq-q span { color: #c8102e; font-size: 22px; transition: transform .3s; flex-shrink: 0; margin-left: 12px; }
.rd-faq-item.open .rd-faq-q span { transform: rotate(45deg); }
.rd-faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.rd-faq-item.open .rd-faq-a { max-height: 300px; }
.rd-faq-a p { padding: 0 20px 18px; color: #555; line-height: 1.8; font-size: 14px; margin: 0; }

/* Payments strip */
.rd-payments { background: #111; border-radius: 24px; padding: 40px 24px; }
.rd-payments .rd-sec-title { color: #fff; }
.rd-payments .rd-sec-sub { color: #aaa; }
.rd-pay-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: 900px; margin: 0 auto; }
.rd-pay { background: #1e1e1e; border: 1px solid #333; border-radius: 14px; padding: 22px 14px; text-align: center; color: #fff; font-size: 30px; }
.rd-pay b, .rd-pay span { display: block; font-size: 13px; }
.rd-pay b { margin-top: 8px; }
.rd-pay span { color: #aaa; }
.rd-pay-note { text-align: center; color: #aaa; font-size: 13px; margin: 18px 0 0; }

/* Preloader */
#rdPreloader { position: fixed; inset: 0; background: #fff; z-index: 99999; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; transition: opacity .5s ease; }
#rdPreloader img { height: 90px; width: auto; animation: rdPulse 1.2s ease-in-out infinite; }
#rdPreloader.done { opacity: 0; pointer-events: none; }
@keyframes rdPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }
.rd-loader-ring { width: 40px; height: 40px; border: 3px solid #f0d7db; border-top-color: #c8102e; border-radius: 50%; animation: rdSpin 1s linear infinite; }
@keyframes rdSpin { to { transform: rotate(360deg); } }

/* Chatbot */
.rd-chat { position: fixed; bottom: 22px; right: 22px; z-index: 9999; font-family: 'Poppins', sans-serif; }
.rd-chat-btn { width: 60px; height: 60px; border-radius: 50%; background: #c8102e; color: #fff; border: none; cursor: pointer; box-shadow: 0 8px 24px rgba(200,16,46,.45); display: flex; align-items: center; justify-content: center; position: relative; transition: transform .2s; }
.rd-chat-btn:hover { transform: scale(1.08); }
.rd-chat-dot { position: absolute; top: 6px; right: 6px; width: 12px; height: 12px; background: #22c55e; border: 2px solid #fff; border-radius: 50%; }
.rd-chat-panel { display: none; position: absolute; bottom: 74px; right: 0; width: 360px; max-width: calc(100vw - 40px); height: 520px; max-height: calc(100vh - 110px); background: #fff; border-radius: 18px; box-shadow: 0 20px 50px rgba(0,0,0,.22); overflow: hidden; flex-direction: column; }
.rd-chat.open .rd-chat-panel { display: flex; }
.rd-chat-head { background: #111; color: #fff; padding: 14px; display: flex; align-items: center; gap: 10px; }
.rd-chat-head img { height: 38px; width: auto; border-radius: 8px; background: #fff; padding: 2px; }
.rd-chat-head b { display: block; font-size: 14px; }
.rd-chat-head span { font-size: 11px; color: #aaa; }
.rd-chat-head span i { display: inline-block; width: 7px; height: 7px; background: #22c55e; border-radius: 50%; margin-right: 4px; }
.rd-chat-head button { margin-left: auto; background: none; border: none; color: #fff; font-size: 18px; cursor: pointer; }
.rd-chat-msgs { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; background: #fafafa; }
.rd-msg { max-width: 85%; padding: 10px 14px; border-radius: 16px; font-size: 13.5px; line-height: 1.6; }
.rd-msg.bot { background: #fff; border: 1px solid #eee; align-self: flex-start; border-bottom-left-radius: 4px; }
.rd-msg.user { background: #c8102e; color: #fff; align-self: flex-end; border-bottom-right-radius: 4px; }
.rd-msg a { color: #c8102e; font-weight: 600; text-decoration: none; }
.rd-msg .rd-bot-prod { display: flex; gap: 10px; align-items: center; margin-top: 8px; padding: 8px; background: #fafafa; border-radius: 10px; }
.rd-msg .rd-bot-prod img { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; }
.rd-msg .rd-bot-prod b { display: block; font-size: 13px; }
.rd-msg .rd-bot-prod span { color: #c8102e; font-weight: 700; font-size: 13px; }
.rd-chat-chips { display: flex; gap: 8px; padding: 10px; overflow-x: auto; border-top: 1px solid #eee; background: #fff; }
.rd-chat-chips button { white-space: nowrap; background: #fdf2f4; border: 1px solid #f0d7db; color: #c8102e; border-radius: 20px; padding: 7px 13px; font-size: 12px; cursor: pointer; font-family: inherit; }
.rd-chat-form { display: flex; border-top: 1px solid #eee; padding: 10px; gap: 8px; background: #fff; }
.rd-chat-form input { flex: 1; border: 1.5px solid #eee; border-radius: 24px; padding: 11px 14px; font-size: 13.5px; outline: none; min-width: 0; }
.rd-chat-form input:focus { border-color: #c8102e; }
.rd-chat-form button { background: #c8102e; color: #fff; border: none; width: 44px; height: 44px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rd-chat-wa { display: block; text-align: center; padding: 10px; font-size: 13px; font-weight: 600; color: #1a9e4b; text-decoration: none; border-top: 1px solid #eee; background: #fff; }

/* Mobile */
@media (max-width: 900px) {
  .rd-hero-track { height: 440px; }
  .rd-slide-text h2 { font-size: 30px; }
  .rd-why-grid, .rd-testi-grid { grid-template-columns: 1fr; }
  .rd-pay-grid { grid-template-columns: repeat(2, 1fr); }
  .rd-logo-text { font-size: 19px; }
  .rd-logo-text small { font-size: 18px; }
  .rd-testimonials, .rd-payments { padding: 28px 16px; }
}

/* ---- v1.3: Shopify-style header icons, image hero, blue categories, black FAQ, VIP footer ---- */

/* Sticky header fix: never cut by the WP admin bar; shadow on scroll */
.rd-header { overflow: visible; }
body.admin-bar .rd-header { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .rd-header { top: 46px; }
}
.rd-header.scrolled { box-shadow: 0 6px 24px rgba(0,0,0,.12); }

/* Header icon buttons (no background, animated) */
.rd-icon-btn { background: none; border: none; color: #111; cursor: pointer; padding: 8px; border-radius: 50%; position: relative; display: inline-flex; align-items: center; justify-content: center; transition: transform .25s cubic-bezier(.22,1,.36,1), color .25s, background .25s; text-decoration: none; }
.rd-icon-btn:hover { transform: scale(1.15); color: #c8102e; background: #fdf2f4; }
.rd-cart-count, .rd-wish-count { position: absolute; top: 0; right: 0; background: #c8102e; color: #fff; font-size: 11px; font-weight: 700; min-width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0 4px; animation: rdPop .3s cubic-bezier(.22,1,.36,1); }
@keyframes rdPop { from { transform: scale(.4); } to { transform: scale(1); } }
.rd-cart-link .rd-cart-count { position: absolute; }

/* Header dropdowns (account + mini-cart on hover) */
.rd-hdrop { position: relative; }
.rd-hdrop-menu { display: none; position: absolute; right: 0; top: calc(100% + 8px); background: #fff; border: 1px solid #eee; border-radius: 14px; box-shadow: 0 16px 40px rgba(0,0,0,.14); min-width: 220px; padding: 8px; z-index: 1000; }
.rd-hdrop:hover .rd-hdrop-menu, .rd-hdrop.open .rd-hdrop-menu { display: block; animation: rdFadeUp .25s ease both; }
.rd-hdrop-menu a { display: block; padding: 11px 14px; color: #111; text-decoration: none; font-size: 14px; border-radius: 8px; }
.rd-hdrop-menu a:hover { background: #fdf2f4; color: #c8102e; }

/* Mini-cart preview */
.rd-mini-cart { display: none; position: absolute; right: 0; top: calc(100% + 8px); width: 340px; background: #fff; border: 1px solid #eee; border-radius: 16px; box-shadow: 0 16px 40px rgba(0,0,0,.14); padding: 16px; z-index: 1000; }
.rd-cart-wrap:hover .rd-mini-cart { display: block; animation: rdFadeUp .25s ease both; }
.rd-mini-items { list-style: none; margin: 0 0 12px; padding: 0; max-height: 260px; overflow-y: auto; }
.rd-mini-items li { display: flex; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid #f3f3f3; }
.rd-mini-items img { width: 52px; height: 52px; object-fit: cover; border-radius: 10px; }
.rd-mini-items a { color: #111; text-decoration: none; font-size: 13.5px; font-weight: 600; display: block; }
.rd-mini-items small { color: #888; font-size: 12px; }
.rd-mini-sub { text-align: right; margin: 0 0 12px; font-size: 14px; }
.rd-mini-empty { text-align: center; color: #888; font-size: 14px; margin: 10px 0 14px; }

/* Wishlist */
.rd-wish-btn { position: absolute; top: 12px; right: 12px; z-index: 3; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.95); border: none; color: #111; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(0,0,0,.12); transition: transform .25s cubic-bezier(.22,1,.36,1), color .25s; }
.rd-wish-btn:hover { transform: scale(1.12); }
.rd-wish-btn.active { color: #c8102e; }
.rd-wish-btn.active svg { fill: #c8102e; }
.rd-wish-pdp { position: static; width: 48px; height: 48px; border: 1.5px solid #ddd; box-shadow: none; }
.rd-drawer-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 10001; }
.rd-drawer-overlay.show { display: block; }
.rd-drawer { position: fixed; top: 0; right: 0; height: 100%; width: 380px; max-width: 92vw; background: #fff; z-index: 10002; transform: translateX(105%); transition: transform .45s cubic-bezier(.22,1,.36,1); box-shadow: -10px 0 40px rgba(0,0,0,.2); display: flex; flex-direction: column; }
.rd-drawer.open { transform: translateX(0); }
.rd-drawer-head { display: flex; justify-content: space-between; align-items: center; padding: 18px; border-bottom: 1px solid #eee; font-size: 17px; }
.rd-drawer-head button { background: none; border: none; font-size: 20px; cursor: pointer; }
.rd-drawer-body { padding: 16px; overflow-y: auto; flex: 1; }
.rd-wish-item { display: flex; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid #f3f3f3; }
.rd-wish-item img { width: 56px; height: 56px; object-fit: cover; border-radius: 10px; }
.rd-wish-item span { flex: 1; min-width: 0; }
.rd-wish-item a { color: #111; text-decoration: none; font-size: 13.5px; font-weight: 600; display: block; }
.rd-wish-item b { color: #c8102e; font-size: 13px; }
.rd-wish-item .rd-add-cart { padding: 8px 12px; font-size: 12px; }
.rd-wish-remove { background: none; border: none; color: #999; cursor: pointer; font-size: 16px; }

/* Image-only hero (designer banners, no text overlay) */
.rd-slide-img-only { display: block; position: absolute; inset: 0; opacity: 0; transition: opacity .8s ease; }
.rd-slide-img-only.active { opacity: 1; }
.rd-slide-img-only img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rd-hero-track { height: 560px; }
.rd-hero-prev, .rd-hero-next { background: rgba(255,255,255,.92); color: #111; border: none; width: 44px; height: 44px; border-radius: 50%; font-size: 26px; cursor: pointer; box-shadow: 0 4px 16px rgba(0,0,0,.2); transition: transform .25s; }
.rd-hero-prev:hover, .rd-hero-next:hover { transform: scale(1.1); }
.rd-hero-dots button { background: rgba(255,255,255,.7); }
.rd-hero-dots button.on { background: #c8102e; }

/* Category tiles: image + blue gradient, gentle hover */
.rd-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.rd-cat-tile { position: relative; overflow: hidden; border-radius: 18px; padding: 0; border: none; height: 280px; display: block; box-shadow: 0 6px 20px rgba(0,0,0,.08); transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s cubic-bezier(.22,1,.36,1); }
.rd-cat-tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.22,1,.36,1); }
.rd-cat-tile:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(13,71,161,.25); }
.rd-cat-tile:hover img { transform: scale(1.04); }
.rd-cat-overlay { position: absolute; inset: auto 0 0 0; padding: 44px 18px 18px; background: linear-gradient(transparent, rgba(13,71,161,.92)); color: #fff; text-align: left; }
.rd-cat-overlay .rd-cat-name { font-size: 20px; font-weight: 700; display: block; }
.rd-cat-overlay .rd-cat-count { font-size: 13px; opacity: .9; }

/* FAQ: black section, dark cards */
.rd-faq-section { background: #111; border-radius: 24px; padding: 44px 24px; }
.rd-faq-section .rd-sec-title { color: #fff; }
.rd-faq-section .rd-sec-sub { color: #aaa; }
.rd-faq-section .rd-faq-item { background: #1e1e1e; border-color: #333; }
.rd-faq-section .rd-faq-q { background: #1e1e1e; color: #fff; }
.rd-faq-section .rd-faq-a p { color: #bbb; }

/* VIP footer: animated gradient border, sliding links */
.rd-footer { position: relative; overflow: hidden; }
.rd-footer::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #c8102e, #f5c542, #0d47a1, #c8102e); background-size: 300% 100%; animation: rdGradMove 6s linear infinite; }
@keyframes rdGradMove { to { background-position: 300% 0; } }
.rd-foot-logo { height: 64px; width: auto; background: transparent; }
.rd-foot-col a { transition: transform .3s cubic-bezier(.22,1,.36,1), color .3s; display: inline-block; }
.rd-foot-col a:hover { transform: translateX(5px); }
.rd-foot-col p svg { vertical-align: -3px; color: #c8102e; margin-right: 6px; }
.rd-foot-pay { margin-top: 14px; font-size: 13px; color: #aaa; }
.rd-foot-pay span { display: inline-block; border: 1px solid #444; border-radius: 6px; padding: 4px 10px; margin: 3px 3px 0 0; color: #fff; font-size: 12px; }

/* Premium icon styling (no cartoons) */
.rd-feature svg, .rd-why-ic svg { color: #c8102e; display: block; margin: 0 auto 10px; }
.rd-pdp-trust svg { color: #c8102e; display: block; margin: 0 auto 8px; }
.rd-pdp-meta svg { vertical-align: -3px; color: #c8102e; margin-right: 4px; }
.rd-pay svg { color: #fff; display: block; margin: 0 auto 8px; }

/* VIP reveal easing + softer card hover */
.rd-animate { transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1); }
.rd-card:hover { transform: translateY(-4px); }

/* Chat button shows the logo */
.rd-chat-btn { background: #fff; padding: 7px; overflow: hidden; }
.rd-chat-btn img { width: 100%; height: 100%; object-fit: contain; }

/* Contact form */
.rd-contact-form { max-width: 640px; margin: 0 auto; background: #fff; border: 1px solid #eee; border-radius: 18px; padding: 28px; }
.rd-contact-form label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 14px; }
.rd-contact-form input, .rd-contact-form textarea { width: 100%; margin-top: 6px; padding: 13px 14px; border: 1.5px solid #ddd; border-radius: 12px; font-size: 14px; font-family: inherit; box-sizing: border-box; }
.rd-contact-form textarea { min-height: 130px; resize: vertical; }
.rd-contact-form input:focus, .rd-contact-form textarea:focus { border-color: #c8102e; outline: none; }

/* Mobile */
@media (max-width: 900px) {
  .rd-hero-track { height: 280px; }
  .rd-cats { grid-template-columns: repeat(2, 1fr); }
  .rd-cat-tile { height: 200px; }
  .rd-mini-cart { display: none !important; }
  .rd-search { order: 3; }
}

/* ---- v1.4: slide effect, pill dots, red categories, white FAQ, B&W footer, mobile header ---- */

/* Hero: true slide effect */
.rd-hero-track { display: flex; height: 560px; transition: transform .7s cubic-bezier(.22,1,.36,1); }
.rd-slide-img-only { position: relative; flex: 0 0 100%; height: 100%; opacity: 1; }
.rd-slide-img-only img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rd-hero-dots { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; z-index: 3; }
.rd-hero-dots button { width: 18px; height: 4px; border-radius: 4px; border: none; background: rgba(255,255,255,.65); cursor: pointer; padding: 0; transition: width .3s, background .3s; }
.rd-hero-dots button.on { width: 30px; background: #c8102e; }

/* Mobile hero: portrait banner, full image, never cropped */
.rd-hero-mobile { display: none; }
.rd-hero-mobile img { width: 100%; height: auto; display: block; border-radius: 18px; }

/* Categories: red (not blue), white text */
.rd-cat-overlay { background: linear-gradient(transparent, rgba(200,16,46,.94)); }
.rd-cat-tile:hover { box-shadow: 0 14px 30px rgba(200,16,46,.28); }

/* Wishlist: moved off the product image into the card body */
.rd-card-actions { display: flex; gap: 8px; align-items: stretch; }
.rd-card-actions .rd-add-cart { flex: 1; }
.rd-wish-inline { position: static; width: 46px; height: auto; min-height: 44px; border-radius: 12px; border: 1.5px solid #e5e5e5; background: #fff; box-shadow: none; flex-shrink: 0; }
.rd-wish-pdp { border-radius: 12px; }

/* Why Choose Us: improved premium cards */
.rd-why-ic { background: #fdf2f4; border-radius: 14px; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; color: #c8102e; transition: background .3s, color .3s; }
.rd-why-ic svg { margin: 0; }
.rd-why { transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s cubic-bezier(.22,1,.36,1), border-color .4s; }
.rd-why:hover { transform: translateY(-4px); box-shadow: 0 16px 30px rgba(0,0,0,.09); border-color: #f0d7db; }
.rd-why:hover .rd-why-ic { background: #c8102e; color: #fff; }

/* Testimonials centered */
.rd-testi { text-align: center; }
.rd-testi .rd-stars { letter-spacing: 3px; }

/* FAQ: white background, black text, animated */
.rd-faq-section { background: #fff; border: 1px solid #eee; border-radius: 24px; padding: 44px 24px; }
.rd-faq-section .rd-sec-title { color: #111; }
.rd-faq-section .rd-sec-sub { color: #777; }
.rd-faq-section .rd-faq-item { background: #fff; border-color: #eee; transition: box-shadow .3s, border-color .3s; }
.rd-faq-section .rd-faq-item.open { border-color: #f0d7db; box-shadow: 0 10px 26px rgba(200,16,46,.08); }
.rd-faq-section .rd-faq-q { background: #fff; color: #111; }
.rd-faq-section .rd-faq-q:hover { color: #c8102e; }
.rd-faq-section .rd-faq-a p { color: #555; }

/* Footer: pure black & white, no red, straight */
.rd-footer { background: #000; }
.rd-footer::before { display: none; }
.rd-footer { border-top: 1px solid #333; }
.rd-foot-col h4 { color: #fff; }
.rd-foot-col p { color: #bbb; }
.rd-foot-col a { color: #bbb; }
.rd-foot-col a:hover { color: #fff; }
.rd-foot-col p svg { color: #fff; }
.rd-foot-bottom { background: #000; border-top: 1px solid #222; color: #999; }
.rd-newsletter button { background: #fff; color: #000; }
.rd-newsletter button:hover { background: #eee; }

/* Fonts: premium serif section titles to match banner headlines */
.rd-sec-title { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; letter-spacing: .2px; }

/* Chat send button icon */
.rd-chat-form button svg { display: block; }
.rd-chat-wa svg { vertical-align: -2px; margin-right: 4px; }

/* Mobile header: logo centered, search one side, cart other side */
@media (max-width: 900px) {
  .rd-header-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
  .rd-search { order: 1; flex: 0 0 auto; margin: 0; width: auto; max-width: none; }
  .rd-search input { display: none; }
  .rd-search button { background: none; color: #111; }
  .rd-search.open { order: 4; flex: 1 1 100%; }
  .rd-search.open input { display: block; flex: 1; }
  .rd-search.open button { background: #c8102e; color: #fff; }
  .rd-logo { order: 2; margin: 0 auto; }
  .rd-header-actions { order: 3; margin-left: 0; }
  .rd-header-actions .rd-hdrop:first-child { display: none; }
  .rd-hero { display: none; }
  .rd-hero-mobile { display: block; margin: 10px 0 30px; }
  .rd-hero-mobile img { border-radius: 16px; }
  .rd-main { padding: 12px 12px 40px; }
  .rd-sec-title { font-size: 24px; }
  .rd-sec-sub { font-size: 13px; }
  .rd-footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
}

/* Mobile typography + 2-per-row products, refined and slim */
@media (max-width: 520px) {
  .rd-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .rd-card-body { padding: 12px 10px; }
  .rd-card-title { font-size: 13.5px; line-height: 1.4; }
  .rd-card-price { font-size: 14px; }
  .rd-card-price del { font-size: 12px; }
  .rd-add-cart { font-size: 12.5px; padding: 10px 6px; }
  .rd-card-stars { font-size: 12px; }
  .rd-wish-inline { width: 40px; min-height: 40px; }
  .rd-sec-title { font-size: 22px; }
  .rd-why-grid, .rd-testi-grid { grid-template-columns: 1fr; }
  .rd-why, .rd-testi { text-align: center; }
  .rd-faq-section { padding: 28px 14px; }
  .rd-faq-q { font-size: 14px; padding: 15px 16px; }
  .rd-footer-grid { grid-template-columns: 1fr; text-align: center; }
  .rd-foot-col p svg { margin-right: 4px; }
  .rd-logo-text { font-size: 17px; }
  .rd-logo-text small { font-size: 16px; }
  .rd-logo img { height: 44px; }
}

/* ---- v1.5: Elementor header/footer template wrappers ---- */
.rd-header-wrap { position: sticky; top: 0; z-index: 999; background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.06); }
body.admin-bar .rd-header-wrap { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .rd-header-wrap { top: 46px; }
}
.rd-header-wrap .rd-search { margin: 0 auto; }
.rd-header-wrap .rd-nav { border-top: 1px solid #f0f0f0; }
.rd-footer-el { margin-top: 0; }

/* v1.6 — Ruby collection: consistent storefront and responsive components. */
body.rd-storefront { margin:0; background:#fff; color:#171417; font-family:Poppins,system-ui,sans-serif; }
.rd-storefront *, .rd-header-wrap *, .rd-footer-el * { box-sizing:border-box; }
.rd-storefront button, .rd-storefront input, .rd-storefront textarea { font-family:inherit; }
.rd-storefront button:focus-visible, .rd-storefront a:focus-visible { outline:3px solid #ac1635; outline-offset:4px; }
.rd-main { max-width:1280px; padding-top:0; }
.rd-main .rd-sec-title, .rd-main .elementor-heading-title { font-family:Poppins,system-ui,sans-serif; color:#111; font-weight:700; letter-spacing:-.6px; }
.rd-sec-title { font-size:clamp(24px,3vw,36px); line-height:1.25; }
.rd-section { margin:56px 0; }
.rd-sec-sub { line-height:1.8; }
.rd-ticker { background:#8d1831; font-size:12px; }
.rd-header-wrap, .rd-header { border-bottom:1px solid #f0e6e8; }
.rd-logo img { object-fit:contain; max-width:150px; height:65px; }
.rd-main .elementor-widget-rd_hero { margin:0; }
.rd-hero { display:block; width:100vw; max-width:none; margin:0 0 44px; margin-left:calc(50% - 50vw); border-radius:0; background:#fff; }
.rd-hero-track { display:flex; height:auto; align-items:stretch; }
.rd-slide.rd-slide-img-only { flex:0 0 100%; min-width:0; position:relative; inset:auto; padding:0; margin:0; opacity:1; pointer-events:auto; background:#fff; height:auto; display:block; }
.rd-slide picture { display:block; width:100%; height:100%; }
.rd-slide.rd-slide-img-only img { width:100%; height:auto; aspect-ratio: 2.45; object-fit:contain; background:#fff; display:block; }
.rd-hero-mobile { display:none!important; }
.rd-hero-pause { position:absolute; right:18px; bottom:12px; border:1px solid #ead7dc; background:#fff; color:#7c1730; border-radius:20px; padding:6px 12px; font-size:11px; }
.rd-hero-dots button { min-height:8px; background:#d8b5bf; }
.rd-hero-prev, .rd-hero-next { background:#fff; color:#851a33; }
.rd-category-carousel { position:relative; padding:10px 0; }
.rd-cat-controls { display:flex; gap:8px; justify-content:flex-end; margin:0 0 14px; }
.rd-cat-controls button { width:40px; height:40px; border:1px solid #ebced5; border-radius:50%; background:#fff; color:#8d1831; cursor:pointer; font-size:20px; padding:0; }
.rd-cats { display:flex; gap:30px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#dab7c1 transparent; padding:8px 8px 20px; }
.rd-cat-tile { flex:0 0 calc((100% - 90px)/4); height:auto; border:0; box-shadow:none; overflow:visible; padding:0; background:transparent; scroll-snap-align:start; }
.rd-cat-tile:hover { box-shadow:none; transform:translateY(-4px); }
.rd-cat-circle { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1; border-radius:50%; overflow:hidden; background:#981e3b; padding:18px; border:8px solid #faedf1; box-shadow:0 0 0 1px #f0d9df; }
.rd-cat-tile .rd-cat-circle img { width:100%; height:100%; object-fit:contain; border-radius:50%; }
.rd-cat-overlay { display:block; position:static; inset:auto; background:none; color:#111; padding:18px 2px 0; text-align:center; }
.rd-cat-overlay .rd-cat-name { color:#111; font-size:17px; line-height:1.4; }
.rd-cat-overlay .rd-cat-count { display:block; color:#70636a; font-size:11px; margin-top:6px; }
.rd-card { border:1px solid #f0e7ea; border-radius:18px; box-shadow:none; }
.rd-card-img { background:#faf4f5; }
.rd-card-img img { object-fit:contain; }
.rd-card-title a { color:#171417; }
.rd-card-actions .rd-add-cart { width:100%; border-radius:9px; background:#981e3b; }
.rd-card-stars, .rd-pdp-stars { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.rd-review-label { color:#81737a; font-size:11px; font-weight:400; letter-spacing:0; }
.rd-stars { color:#be8b30; }
.rd-pdp-info { min-width:0; }
.rd-pdp-buy { display:grid; grid-template-columns:1fr; gap:12px; }
.rd-pdp-buy .rd-btn { width:100%; margin:0; min-height:52px; border-radius:9px; }
.rd-pdp-qty { display:flex; align-items:center; justify-content:space-between; width:144px; border:1px solid #d9cbd0; border-radius:8px; overflow:hidden; }
.rd-pdp-qty button { width:44px; height:44px; border:0; margin:0; padding:0; background:#faf2f5; color:#75172f; font-size:24px; line-height:1; }
.rd-pdp-qty span { min-width:36px; text-align:center; color:#171417; }
.rd-pdp-desc, .rd-product-details { color:#64545c; line-height:1.85; }
.rd-product-details { border-top:1px solid #eee; padding-top:32px; }
.rd-why { border:1px solid #f0dde3; border-radius:24px; background:#fff9fb; box-shadow:0 5px 0 #f5e5ea; }
.rd-about { padding:clamp(24px,5vw,64px); background:#fff6f8; border-radius:30px; border:1px solid #f1dfe4; line-height:1.9; }
.rd-eyebrow { color:#961d3b; letter-spacing:2px; font-size:12px; font-weight:600; }
.rd-footer, .rd-footer-el { background:#fff7f9; color:#20181c; border-top:1px solid #eddce2; padding:44px 20px 0; font-family:Poppins,system-ui,sans-serif; }
.rd-footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr 1.1fr; gap:32px; max-width:1280px; margin:auto; }
.rd-footer-grid>.rd-foot-col:last-child { grid-column:1/-1; padding:20px 0; border-top:1px solid #ead9df; }
.rd-footer-el>.elementor { max-width:1280px; margin:auto; }
.rd-foot-col h4 { color:#261a20; font:600 16px Poppins, sans-serif; margin:0 0 16px; }
.rd-foot-col p, .rd-foot-col a { color:#65545d; font-size:13px; line-height:1.9; }
.rd-foot-col a { width:auto; }
.rd-foot-col>a:not(.rd-btn) { display:inline-block; margin:0 16px 10px 0; white-space:nowrap; }
.rd-foot-col a:hover { color:#981e3b; }
.rd-foot-col p svg { color:#981e3b; width:17px; height:17px; vertical-align:middle; flex-shrink:0; }
.rd-foot-logo { width:150px!important; max-height:90px; height:auto!important; object-fit:contain; background:#fff; padding:8px; border-radius:12px; }
.rd-foot-pay span { color:#752039; border:1px solid #d9b9c5; background:#fff; }
.rd-foot-bottom { margin-top:28px; background:transparent; color:#78616c; border-top:1px solid #ead9df; padding:20px 0; text-align:center; }
.rd-checkout { align-items:start; gap:32px; }
.rd-co-form, .rd-co-summary { border:1px solid #ecdce2; border-radius:18px; padding:28px; background:#fff; }
.rd-co-summary { background:#fff7f9; }
.rd-co-form label { line-height:1.6; }
.rd-co-form input:not([type=radio]), .rd-co-form textarea { min-height:48px; border:1px solid #d9cbd0; border-radius:8px; background:#fff; }
.rd-co-form input:focus, .rd-co-form textarea:focus, .rd-contact-form input:focus, .rd-contact-form textarea:focus { border-color:#981e3b; outline:2px solid #f1d5df; }
.rd-co-form input[type=radio] { accent-color:#981e3b; }
.rd-chat-head, .rd-msg.user, .rd-chat-form button { background:#981e3b; color:#fff; }
.rd-chat-head span { color:#f3d8e2; }
.rd-chat-form button { width:auto; min-width:62px; border-radius:12px; padding:0 12px; font-size:13px; }
.rd-chat-wa { color:#981e3b; }
.rd-chat-chips button:hover { background:#981e3b; color:#fff; }
.rd-chat .rd-bot-prod a { color:#851a33; }
.rd-contact-form { background:#fff7f9; border:1px solid #f0dce4; border-radius:24px; padding:26px; }
.rd-animate { opacity:1; transform:none; }
@media(max-width:900px){
 .rd-hero { margin-bottom:30px; }
 .rd-footer-grid { grid-template-columns:1fr 1fr; text-align:left; }
 .rd-cat-tile { flex-basis:calc((100% - 40px)/3); }
 .rd-cats { gap:20px; }
 .rd-pdp { gap:24px; }
 .rd-co-form,.rd-co-summary { padding:20px; }
}
@media(max-width:600px){
 .rd-section { margin:36px 0; }
 .rd-hero .rd-slide img { aspect-ratio:9/12; object-fit:contain; }
 .rd-hero-prev,.rd-hero-next { width:32px; height:32px; font-size:22px; }
 .rd-hero-prev { left:8px; } .rd-hero-next { right:8px; }
 .rd-cat-tile { flex-basis:43%; }
 .rd-cat-circle { padding:10px; border-width:5px; }
 .rd-cat-overlay .rd-cat-name { font-size:14px; }
 .rd-footer-grid { grid-template-columns:1fr; }
 .rd-footer, .rd-footer-el { padding:30px 16px 0; }
 .rd-footer-el .elementor-column { width:100%!important; }
 .rd-cart-wrap { overflow-x:auto; }
 .rd-chat { bottom:16px; right:16px; }
 .rd-chat-panel { max-width:calc(100vw - 32px); }
 .rd-pdp-title { font-size:26px; }
}
@media(prefers-reduced-motion:reduce){
 .rd-storefront *, .rd-storefront *::before { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
.rd-cats .rd-cat-tile { flex-basis:26%; }
.rd-header-wrap .elementor-top-section:nth-child(2)>.elementor-container { align-items:center; }
.rd-header-wrap .elementor-widget-wrap { align-content:center; }
@media(max-width:900px){
 .rd-header-wrap .elementor-top-section:nth-child(2)>.elementor-container { flex-wrap:nowrap; padding:8px 12px; }
 .rd-header-wrap .elementor-top-section:nth-child(2)>.elementor-container>.elementor-column:nth-child(1) { width:44%; }
 .rd-header-wrap .elementor-top-section:nth-child(2)>.elementor-container>.elementor-column:nth-child(2) { width:16%; }
 .rd-header-wrap .elementor-top-section:nth-child(2)>.elementor-container>.elementor-column:nth-child(3) { width:40%; }
 .rd-header-wrap .rd-logo-text { display:none; }
 .rd-header-wrap .rd-header-actions { justify-content:flex-end; gap:6px; }
 .rd-header-wrap .rd-search.open { position:absolute; right:0; top:46px; width:min(85vw,420px); padding:8px; background:#fff; border:1px solid #eedbe1; z-index:5; }
 .rd-cats .rd-cat-tile { flex-basis:36%; }
}
@media(max-width:600px){ .rd-cats .rd-cat-tile { flex-basis:43%; } }
.rd-wish-image { position:absolute; top:12px; right:12px; width:36px; height:36px; padding:0; border:1px solid #eadde1; background:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#981e3b; }
body.rd-storefront { overflow-x:clip; }
@media(max-width:600px){ .rd-hero .rd-slide img { aspect-ratio:9/16; } }

/* 1.6.1: one responsive header row, independent of Elementor column breakpoints. */
.rd-brandbar { display:grid; grid-template-columns:minmax(240px,1fr) minmax(220px,1.4fr) auto; align-items:center; gap:24px; max-width:1280px; margin:auto; padding:14px 20px; width:100%; }
.rd-brandbar>* { min-width:0; }
.rd-brandbar .rd-logo { margin:0; order:initial; gap:10px; }
.rd-brandbar .rd-logo img { width:64px; height:64px; max-width:100px; object-fit:contain; flex-shrink:0; }
.rd-brandbar .rd-logo-text { display:block; font:700 17px/1.25 Poppins,system-ui,sans-serif; letter-spacing:.4px; }
.rd-brandbar .rd-logo-text small { display:block; font:400 10px/1.6 Poppins,system-ui,sans-serif; letter-spacing:0; color:#776871; }
.rd-brandbar .rd-search, .rd-brandbar .rd-search.open { display:flex; position:static; width:100%; max-width:none; margin:0; order:initial; padding:0; border:1px solid #e5d7dc; border-radius:9px; background:#fff; overflow:hidden; }
.rd-brandbar .rd-search input { display:block; flex:1; width:100%; min-width:0; border:0; padding:12px; font-size:13px; background:#fff; }
.rd-brandbar .rd-search button { display:flex; align-items:center; justify-content:center; flex:0 0 44px; background:#981e3b; color:#fff; border:0; margin:0; padding:10px; }
.rd-brandbar .rd-header-actions { display:flex; justify-content:flex-end; order:initial; margin:0; gap:8px; }
.rd-brandbar .rd-cart-wrap { overflow:visible; }
.rd-header-bar-section>.elementor-container>.elementor-column { width:100%!important; }
.rd-header-bar-section>.elementor-container { max-width:none!important; padding:0!important; }
.rd-header-bar-section .elementor-widget-wrap { padding:0!important; }
.rd-header .rd-nav, .rd-header-wrap .rd-nav { justify-content:center; margin:0; padding:10px 18px; gap:22px; }
.rd-header-wrap .rd-burger, .rd-header>.rd-burger { color:#981e3b; margin:8px 16px; }
.rd-header-wrap .elementor-widget-rd_nav { text-align:left; }
/* Remove the earlier positional column rules in favour of a named header row. */
.rd-header-wrap .rd-header-bar-section>.elementor-container>.elementor-column:nth-child(n) { width:100%!important; }
.rd-header-wrap .rd-brandbar .rd-logo-text { display:block; }
.rd-hero-prev, .rd-hero-next { display:none!important; }
/* Same uncropped media box on every product card and product detail page. */
.rd-main .rd-card-img { aspect-ratio:1/1; background:#fff; }
.rd-main .rd-card-img>a { width:100%; height:100%; display:flex; align-items:center; justify-content:center; padding:12px; }
.rd-main .rd-card-img>a>img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; aspect-ratio:1; object-fit:contain; object-position:center; transform:none!important; border-radius:0; }
.rd-main .rd-pdp-gallery { align-self:start; aspect-ratio:1; background:#fff; padding:20px; }
.rd-main .rd-pdp-gallery>img { width:100%; height:100%; aspect-ratio:1; object-fit:contain; object-position:center; transform:none!important; }
.rd-cat-circle { padding:18%; background:#981e3b; }
.rd-cat-tile .rd-cat-circle img { width:100%; height:100%; object-fit:contain; border-radius:0; transform:none!important; background:#fff; }
.rd-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:28px; }
.rd-process-grid article { background:#fff8fa; border:1px solid #efdee4; border-radius:18px; padding:24px; }
.rd-process-grid article>span { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:#981e3b; color:#fff; font-weight:600; }
.rd-process-grid h3, .rd-payment-guide h3 { font:600 18px/1.5 Poppins,system-ui,sans-serif; color:#21161a; margin:18px 0 10px; }
.rd-process-grid p, .rd-payment-guide p { color:#6b5962; font-size:13px; line-height:1.85; }
.rd-payment-guide { display:grid; grid-template-columns:1fr 1fr; gap:36px; padding:30px; border:1px solid #efdee4; border-radius:18px; margin-top:22px; }
.rd-footer-columns>.elementor-container { gap:24px; }
.rd-footer-columns>.elementor-container>.elementor-column { min-width:0; }
.rd-footer-columns .elementor-widget-wrap { padding:0!important; }
.rd-footer-columns .rd-foot-col>a:not(.rd-btn) { display:block; white-space:normal; margin:0 0 8px; }
.rd-footer-columns .elementor-widget-image img { object-fit:contain; max-height:90px; width:auto; }
@media(max-width:900px){
 .rd-brandbar { grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:12px 16px; }
 .rd-brandbar .rd-logo { grid-column:1; grid-row:1; }
 .rd-brandbar .rd-header-actions { grid-column:2; grid-row:1; }
 .rd-brandbar .rd-search, .rd-brandbar .rd-search.open { grid-column:1/-1; grid-row:2; }
 .rd-brandbar .rd-logo img { height:48px; width:48px; }
 .rd-brandbar .rd-logo-text { font-size:15px; }
 .rd-header .rd-nav, .rd-header-wrap .rd-nav { display:none; flex-direction:column; align-items:stretch; padding:8px 16px 18px; gap:4px; }
 .rd-header .rd-nav.open, .rd-header-wrap .rd-nav.open { display:flex; }
 .rd-header .rd-burger, .rd-header-wrap .rd-burger { display:inline-flex; align-items:center; padding:7px 12px; min-height:38px; }
 .rd-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rd-footer-columns>.elementor-container { flex-wrap:wrap; gap:24px 0; }
 .rd-footer-el .rd-footer-columns>.elementor-container>.elementor-column { width:50%!important; padding-right:18px; }
}
@media(max-width:520px){
 .rd-brandbar { padding:10px 12px; gap:10px; }
 .rd-brandbar .rd-logo img { height:40px; width:40px; }
 .rd-brandbar .rd-logo-text { font-size:12px; }
 .rd-brandbar .rd-logo-text small { font-size:8px; }
 .rd-brandbar .rd-header-actions { gap:4px; }
 .rd-brandbar .rd-icon-btn { width:34px; height:36px; padding:5px; }
 .rd-process-grid, .rd-payment-guide { grid-template-columns:1fr; }
 .rd-process-grid article, .rd-payment-guide { padding:22px; }
 .rd-footer-el .rd-footer-columns>.elementor-container>.elementor-column { width:100%!important; padding-right:0; }
 .rd-main .rd-card-img>a { padding:8px; }
 .rd-main .rd-pdp-gallery { padding:14px; }
}
/* Explicit footer grid prevents column percentages plus gaps from overflowing. */
.rd-footer-el .rd-footer-columns>.elementor-container { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.3fr; gap:28px; }
.rd-footer-el .rd-footer-columns>.elementor-container>.elementor-column { width:100%!important; }
@media(max-width:900px){ .rd-footer-el .rd-footer-columns>.elementor-container { grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .rd-footer-el .rd-footer-columns>.elementor-container { grid-template-columns:1fr; } }
/* 1.6.2: complete image-only brand lockup and geometrically centred desktop search. */
.rd-brandbar { grid-template-columns:minmax(0,1fr) minmax(260px,460px) minmax(0,1fr); }
.rd-brandbar .rd-logo { justify-self:start; width:100%; }
.rd-brandbar .rd-logo img { width:300px; max-width:100%; height:auto; max-height:none; object-fit:contain; }
.rd-brandbar .rd-header-actions { justify-self:end; }
.rd-foot-logo { width:300px!important; max-width:100%; max-height:none; padding:0; }
.rd-footer-columns .elementor-widget-image img { max-height:none; width:300px; max-width:100%; height:auto; }
@media(max-width:900px){
 .rd-brandbar { grid-template-columns:minmax(0,1fr) auto; }
 .rd-brandbar .rd-logo img { width:260px!important; height:auto; max-width:100%; }
}
@media(max-width:520px){ .rd-brandbar .rd-logo img { width:245px!important; height:auto; } }
/* 1.6.3: mobile menu | centred compact logo | wishlist/cart; search below. */
.rd-brandbar>.rd-mobile-menu { display:none; }
.rd-foot-logo { width:100px!important; }
.rd-footer-columns .elementor-widget-image img { width:100px; }
@media(max-width:900px){
 .rd-brandbar { grid-template-columns:68px minmax(0,1fr) 68px; gap:8px 6px; padding:10px 12px; }
 .rd-header-wrap .rd-brandbar>.rd-mobile-menu, .rd-header .rd-brandbar>.rd-mobile-menu { display:flex; align-items:center; justify-content:center; grid-column:1; grid-row:1; justify-self:start; margin:0; width:36px; height:36px; min-height:36px; padding:6px; border:0; border-radius:6px; background:transparent; color:#24161c; }
 .rd-brandbar .rd-logo { grid-column:2; grid-row:1; justify-self:center; justify-content:center; width:100%; margin:0; }
 .rd-brandbar .rd-logo img { width:190px!important; max-width:100%; height:auto!important; }
 .rd-brandbar .rd-header-actions { grid-column:3; grid-row:1; justify-self:end; justify-content:flex-end; width:68px; gap:4px; }
 .rd-brandbar .rd-header-actions>.rd-hdrop:first-child { display:none; }
 .rd-brandbar .rd-header-actions .rd-icon-btn { width:32px; height:36px; padding:4px; }
 .rd-brandbar .rd-search, .rd-brandbar .rd-search.open { grid-column:1/-1; grid-row:2; }
 .rd-header-wrap .elementor-top-section:has(.elementor-widget-rd_nav):not(:has(.rd-nav.open)) { display:none; }
 .rd-header-wrap .rd-nav.open, .rd-header .rd-nav.open { margin:0; padding:8px 16px 16px; }
}
/* 1.6.4: desktop placements are explicit and cannot inherit mobile positions. */
@media(min-width:901px){
 .rd-header-wrap .rd-brandbar, .rd-header .rd-brandbar { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(260px,460px) minmax(0,1fr)!important; grid-template-rows:auto!important; align-items:center!important; gap:24px; width:100%; max-width:1280px; margin:0 auto; padding:14px 20px; }
 .rd-header-wrap .rd-brandbar>.rd-mobile-menu, .rd-header .rd-brandbar>.rd-mobile-menu { display:none!important; }
 .rd-header-wrap .rd-brandbar>.rd-logo, .rd-header .rd-brandbar>.rd-logo { grid-column:1!important; grid-row:1!important; order:0!important; justify-self:start!important; justify-content:flex-start!important; width:100%; margin:0!important; }
 .rd-header-wrap .rd-brandbar>.rd-search, .rd-header .rd-brandbar>.rd-search { grid-column:2!important; grid-row:1!important; order:0!important; justify-self:center!important; position:static!important; width:100%!important; margin:0!important; display:flex!important; }
 .rd-header-wrap .rd-brandbar>.rd-header-actions, .rd-header .rd-brandbar>.rd-header-actions { grid-column:3!important; grid-row:1!important; order:0!important; display:flex!important; justify-self:end!important; align-items:center; justify-content:flex-end; flex-wrap:nowrap; width:auto!important; gap:10px; margin:0!important; }
 .rd-brandbar .rd-header-actions>#rdWishBtn { order:1; }
 .rd-brandbar .rd-header-actions>.rd-cart-wrap { order:2; }
 .rd-brandbar .rd-header-actions>.rd-hdrop:first-child { display:block!important; order:3; }
 .rd-header-wrap .rd-nav, .rd-header .rd-nav { display:flex!important; position:static!important; width:100%; flex-direction:row!important; align-items:center; justify-content:center; flex-wrap:wrap; gap:20px; margin:0!important; padding:12px 18px; }
 .rd-header-wrap .elementor-top-section:has(.elementor-widget-rd_nav) { display:block!important; }
}
/* Keep the PNG mark visible even when theme button/image rules are present. */
.rd-chat #rdChatBtn { display:flex!important; align-items:center; justify-content:center; width:60px; height:60px; padding:8px!important; background:#fff!important; border:1px solid #efdce2; overflow:hidden; }
.rd-chat #rdChatBtn>img { display:block!important; visibility:visible!important; opacity:1!important; width:44px!important; height:44px!important; max-width:none!important; object-fit:contain!important; border-radius:0!important; }
.rd-chat .rd-chat-head>img { width:38px!important; height:38px!important; object-fit:contain!important; }

/* Payment method details (bank / EasyPaisa / JazzCash) */
.rd-radio { cursor: pointer; margin-bottom: 10px; }
.rd-radio .rd-pay-box { display: none; margin-top: 10px; font-weight: 400; }
.rd-radio input:checked ~ .rd-pay-box { display: block; }
.rd-pay-details { list-style: none; margin: 8px 0; padding: 12px; background: #fff; border: 1px dashed #c9a24a; border-radius: 10px; text-align: left; }
.rd-pay-details li { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: 13px; flex-wrap: wrap; }
.rd-pay-details li b { word-break: break-all; }
.rd-pay-box em { display: block; font-size: 12px; color: #666; font-style: normal; }
.rd-thanks .rd-pay-details { max-width: 420px; margin: 10px auto; }
