:root {
    --rx-ink: #111318;
    --rx-muted: #68707d;
    --rx-line: rgba(17, 19, 24, .10);
    --rx-canvas: #f6f4ef;
    --rx-paper: #fffdfa;
    --rx-paper-strong: #ffffff;
    --rx-accent: #f88005;
    --rx-navy: #032356;
    --rx-green: #1dc487;
    --rx-purple: #64058a;
    --rx-blue: #0161af;
    --rx-radius: 24px;
    --rx-radius-sm: 16px;
    --rx-shadow: 0 24px 70px rgba(23, 24, 28, .10);
    --rx-shadow-soft: 0 12px 35px rgba(23, 24, 28, .07);
}

html { background: var(--rx-canvas); }
body.rx-commerce-body,
body { background: var(--rx-canvas); color: var(--rx-ink); }

.rx-shell { width: min(1380px, calc(100% - 32px)); margin-inline: auto; }
.rx-page-spacer { height: 108px; }
.rx-section { padding: 38px 0 70px; }
.rx-section + .rx-section { padding-top: 20px; }
.rx-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--rx-muted); }
.rx-display { font-family: 'Manrope', sans-serif; letter-spacing: -.045em; }
.rx-muted { color: var(--rx-muted); }
.rx-surface { background: color-mix(in srgb, var(--rx-paper) 91%, transparent); border: 1px solid var(--rx-line); border-radius: var(--rx-radius); box-shadow: var(--rx-shadow-soft); }
.rx-glass { background: rgba(255,255,255,.79); border: 1px solid rgba(255,255,255,.55); box-shadow: 0 14px 40px rgba(0,0,0,.08); backdrop-filter: blur(22px) saturate(150%); -webkit-backdrop-filter: blur(22px) saturate(150%); }

/* Header */
.rx-site-header { position: fixed; z-index: 90; inset: 0 0 auto 0; }
.rx-utility { height: 30px; background: #15171b; color: #f7f7f5; font-size: 10px; letter-spacing: .04em; }
.rx-utility-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.rx-utility-points { display: flex; align-items: center; gap: 18px; white-space: nowrap; overflow: hidden; }
.rx-main-nav { height: 74px; background: rgba(255,253,250,.88); border-bottom: 1px solid rgba(17,19,24,.08); backdrop-filter: blur(24px) saturate(145%); -webkit-backdrop-filter: blur(24px) saturate(145%); }
.rx-main-nav-inner { height: 100%; display: grid; grid-template-columns: minmax(190px, 1fr) auto minmax(220px, 1fr); align-items: center; gap: 24px; }
.rx-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--rx-ink); }
.rx-brand img { width: 38px; height: 38px; object-fit: contain; }
.rx-brand-wordmark { display: flex; align-items: baseline; gap: 8px; }
.rx-brand-wordmark strong { font-family: 'Manrope', sans-serif; font-size: 19px; letter-spacing: -.035em; }
.rx-brand-wordmark span { color: var(--rx-muted); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.rx-nav-links { display: flex; align-items: center; gap: 26px; }
.rx-nav-links a { color: #343941; font-size: 12px; font-weight: 700; transition: .2s ease; }
.rx-nav-links a:hover { color: var(--rx-accent); }
.rx-nav-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.rx-search { width: min(250px, 26vw); position: relative; }
.rx-search input { width: 100%; border: 1px solid var(--rx-line); background: rgba(255,255,255,.76); color: var(--rx-ink); border-radius: 999px; padding: 10px 38px 10px 15px; font-size: 12px; outline: none; transition: .2s ease; }
.rx-search input:focus { border-color: rgba(17,19,24,.34); background: #fff; box-shadow: 0 0 0 4px rgba(17,19,24,.04); }
.rx-search button { position: absolute; inset: 0 10px 0 auto; color: #343941; }
.rx-icon-btn { position: relative; width: 40px; height: 40px; display: inline-grid; place-items: center; border: 1px solid transparent; border-radius: 999px; color: #282c33; transition: .2s ease; }
.rx-icon-btn:hover { background: #fff; border-color: var(--rx-line); box-shadow: var(--rx-shadow-soft); }
.rx-cart-badge { position: absolute; right: -1px; top: -1px; min-width: 17px; height: 17px; padding: 0 4px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: #111318; color: #fff; font-size: 9px; font-weight: 800; border: 2px solid #fffdfa; }

/* Hero */
.rx-home-hero { padding: 24px 0 20px; }
.rx-hero-card { min-height: 550px; border-radius: 30px; overflow: hidden; position: relative; background: #1a1b1f; box-shadow: var(--rx-shadow); }
.rx-hero-grid { position: absolute; inset: 0; display: grid; grid-template-columns: 1.1fr .9fr .9fr; grid-template-rows: 1fr 1fr; }
.rx-hero-grid figure { margin: 0; position: relative; overflow: hidden; }
.rx-hero-grid figure:first-child { grid-row: 1 / 3; }
.rx-hero-grid img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) contrast(1.02); }
.rx-hero-grid figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.14)); }
.rx-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,8,10,.86) 0%, rgba(7,8,10,.58) 35%, rgba(7,8,10,.08) 70%); z-index: 2; }
.rx-hero-content { position: relative; z-index: 3; min-height: 550px; width: min(680px, 62%); padding: 76px 60px; display: flex; flex-direction: column; justify-content: flex-end; color: white; }
.rx-hero-kicker { display: inline-flex; width: max-content; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.09); border-radius: 999px; padding: 8px 12px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; backdrop-filter: blur(12px); }
.rx-hero-content h1 { font-family: 'Manrope', sans-serif; font-weight: 800; letter-spacing: -.055em; font-size: clamp(45px, 6vw, 78px); line-height: .98; margin: 24px 0 18px; max-width: 760px; }
.rx-hero-content p { font-size: clamp(14px, 1.6vw, 18px); max-width: 570px; color: rgba(255,255,255,.82); line-height: 1.65; }
.rx-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.rx-btn { min-height: 46px; border-radius: 999px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-size: 12px; font-weight: 800; transition: .22s ease; }
.rx-btn-primary { background: #fff; color: #15171b; }
.rx-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(255,255,255,.18); }
.rx-btn-ghost { border: 1px solid rgba(255,255,255,.34); color: #fff; background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.rx-btn-ghost:hover { background: rgba(255,255,255,.16); }

/* Category gateway */
.rx-category-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; }
.rx-category-tile { min-height: 250px; position: relative; overflow: hidden; border-radius: 24px; background: #111; box-shadow: var(--rx-shadow-soft); }
.rx-category-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.rx-category-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.02) 30%, rgba(0,0,0,.78) 100%); }
.rx-category-tile:hover img { transform: scale(1.045); }
.rx-category-copy { position: absolute; z-index: 2; inset: auto 20px 20px; color: white; }
.rx-category-copy h3 { font-size: 20px; font-weight: 800; letter-spacing: -.035em; margin-bottom: 5px; }
.rx-category-copy p { font-size: 11px; color: rgba(255,255,255,.78); margin-bottom: 13px; }
.rx-category-copy span { font-size: 11px; font-weight: 800; }

/* Section headings */
.rx-section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.rx-section-title h2 { font-size: clamp(28px, 3vw, 42px); font-weight: 800; letter-spacing: -.045em; color: var(--rx-ink); }
.rx-section-title p { margin-top: 6px; color: var(--rx-muted); font-size: 13px; }
.rx-text-link { color: var(--rx-ink); font-weight: 800; font-size: 12px; display: inline-flex; align-items: center; gap: 8px; }
.rx-text-link:hover { color: var(--rx-accent); }

/* Product cards */
.rx-product-card { background: var(--rx-paper-strong); border: 1px solid var(--rx-line); border-radius: 22px; overflow: hidden; min-height: 100%; display: flex; flex-direction: column; cursor: pointer; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.rx-product-card:hover { transform: translateY(-4px); box-shadow: var(--rx-shadow); border-color: rgba(17,19,24,.17); }
.rx-product-media { aspect-ratio: 1 / .82; position: relative; overflow: hidden; background: #eeece7; }
.rx-product-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.rx-product-card:hover .rx-product-media img { transform: scale(1.035); }
.rx-product-chip { position: absolute; top: 12px; left: 12px; z-index: 2; padding: 6px 9px; border-radius: 999px; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; font-weight: 800; background: rgba(255,255,255,.88); color: #181a1f; border: 1px solid rgba(255,255,255,.6); backdrop-filter: blur(12px); }
.rx-product-actions { position: absolute; right: 12px; bottom: 12px; z-index: 3; display: flex; gap: 7px; transform: translateY(8px); opacity: 0; transition: .25s ease; }
.rx-product-card:hover .rx-product-actions { transform: none; opacity: 1; }
.rx-product-action { border: 1px solid rgba(17,19,24,.08); background: rgba(255,255,255,.92); color: #15171b; min-width: 38px; height: 38px; padding: 0 12px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; font-size: 10px; font-weight: 800; box-shadow: 0 10px 28px rgba(0,0,0,.12); }
.rx-product-body { padding: 16px 16px 17px; display: flex; flex: 1; flex-direction: column; }
.rx-product-type { color: var(--rx-muted); text-transform: uppercase; font-size: 9px; letter-spacing: .13em; font-weight: 800; margin-bottom: 6px; }
.rx-product-name { color: var(--rx-ink); font-size: 14px; font-weight: 800; letter-spacing: -.02em; line-height: 1.35; min-height: 38px; }
.rx-rating { margin-top: 8px; display: flex; gap: 5px; align-items: center; font-size: 10px; color: var(--rx-muted); }
.rx-rating-stars { color: #e99d15; letter-spacing: 1px; }
.rx-product-description { margin-top: 8px; color: var(--rx-muted); font-size: 11px; line-height: 1.5; }
.rx-price-row { margin-top: auto; padding-top: 14px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.rx-price { font-size: 16px; font-weight: 850; letter-spacing: -.025em; color: var(--rx-ink); }
.rx-regular-price { color: #8c929b; font-size: 10px; text-decoration: line-through; }
.rx-saving { color: #11865f; font-size: 9px; font-weight: 800; }
.rx-sold-out { position: absolute; inset: 0; z-index: 4; display: grid; place-items: center; background: rgba(246,244,239,.78); backdrop-filter: blur(5px); }
.rx-sold-out span { background: #16181c; color: #fff; border-radius: 999px; padding: 8px 12px; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

/* Catalog */
.rx-catalog-hero { margin: 24px auto 0; min-height: 260px; border-radius: 28px; overflow: hidden; position: relative; display: flex; align-items: end; background: #16181c; color: #fff; }
.rx-catalog-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .64; }
.rx-catalog-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,9,11,.82), rgba(8,9,11,.18)); }
.rx-catalog-copy { position: relative; z-index: 2; padding: 34px; max-width: 720px; }
.rx-catalog-copy h1 { font-size: clamp(36px, 5vw, 58px); font-weight: 800; letter-spacing: -.05em; line-height: 1; }
.rx-catalog-copy p { margin-top: 12px; font-size: 14px; color: rgba(255,255,255,.8); max-width: 620px; }
.rx-filterbar { margin-top: 16px; background: rgba(255,255,255,.76); border: 1px solid var(--rx-line); border-radius: 20px; padding: 14px; box-shadow: var(--rx-shadow-soft); backdrop-filter: blur(20px); }
.rx-filterbar label { font-size: 9px; text-transform: uppercase; letter-spacing: .11em; color: var(--rx-muted); font-weight: 800; }
.rx-filterbar input, .rx-filterbar select { border-radius: 12px !important; border-color: var(--rx-line) !important; background: #fff !important; min-height: 42px; }

/* Detail pages */
.rx-detail-shell { width: min(1220px, calc(100% - 32px)); margin: 0 auto; padding: 32px 0 74px; }
.rx-detail-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(330px,.8fr); gap: 28px; align-items: start; }
.rx-detail-media { border-radius: 28px; overflow: hidden; border: 1px solid var(--rx-line); background: #ece9e2; box-shadow: var(--rx-shadow-soft); }
.rx-detail-media img { width: 100%; height: 100%; object-fit: cover; }
.rx-detail-panel { background: var(--rx-paper-strong); border: 1px solid var(--rx-line); border-radius: 28px; padding: 28px; box-shadow: var(--rx-shadow-soft); }
.rx-sticky { position: sticky; top: 126px; }
.rx-detail-panel h1 { font-family: 'Manrope', sans-serif; color: var(--rx-ink); font-size: clamp(30px,4vw,44px); font-weight: 800; letter-spacing: -.05em; line-height: 1.04; }
.rx-detail-price { color: var(--rx-ink); font-size: 28px; font-weight: 850; letter-spacing: -.035em; }
.rx-form-field { background: #fff; border: 1px solid var(--rx-line); border-radius: 14px; }
.rx-total-box { background: #f4f2ec; border: 1px solid var(--rx-line); border-radius: 16px; }

/* Cart */
.rx-cart-panel { background: var(--rx-paper-strong); color: var(--rx-ink); }
.rx-cart-item { display: grid; grid-template-columns: 68px 1fr auto; gap: 12px; border-bottom: 1px solid var(--rx-line); padding: 16px 0; }
.rx-cart-item img { width: 68px; height: 68px; border-radius: 14px; object-fit: cover; background: #efede8; }
.rx-cart-type { color: var(--rx-muted); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.rx-cart-name { font-size: 12px; font-weight: 800; line-height: 1.4; color: var(--rx-ink); }
.rx-cart-price { font-size: 11px; color: var(--rx-muted); margin-top: 4px; }
.rx-qty { margin-top: 8px; display: inline-flex; align-items: center; gap: 8px; padding: 4px; background: #f1efe9; border-radius: 999px; }
.rx-qty button { width: 24px; height: 24px; border-radius: 999px; background: #fff; font-size: 11px; border: 1px solid var(--rx-line); }
.rx-cart-remove { color: #969ba3; padding: 3px; }
.rx-cart-remove:hover { color: #cf3f3f; }

/* Legal/general content cleanup */
.rx-legal { width: min(980px, calc(100% - 32px)); margin: 0 auto; padding: 38px 0 80px; }
.rx-legal article, .rx-content-card { background: var(--rx-paper-strong); border: 1px solid var(--rx-line); border-radius: 28px; box-shadow: var(--rx-shadow-soft); }

/* Dark mode is restrained; product photography stays natural. */
html[data-theme='dark'] { --rx-ink:#f5f2eb; --rx-muted:#a9adb6; --rx-line:rgba(255,255,255,.11); --rx-canvas:#101114; --rx-paper:#17191d; --rx-paper-strong:#17191d; --rx-shadow:0 24px 70px rgba(0,0,0,.34); --rx-shadow-soft:0 12px 35px rgba(0,0,0,.24); background:#101114; }
html[data-theme='dark'] body { background:#101114; color:#f5f2eb; }
html[data-theme='dark'] .rx-main-nav { background:rgba(20,21,24,.86); border-color:rgba(255,255,255,.09); }
html[data-theme='dark'] .rx-brand, html[data-theme='dark'] .rx-nav-links a, html[data-theme='dark'] .rx-icon-btn { color:#f5f2eb; }
html[data-theme='dark'] .rx-search input { background:rgba(255,255,255,.06); color:#fff; border-color:rgba(255,255,255,.1); }
html[data-theme='dark'] .rx-search button { color:#ddd; }
html[data-theme='dark'] .rx-cart-badge { border-color:#17191d; background:#f5f2eb; color:#111; }
html[data-theme='dark'] .rx-product-media, html[data-theme='dark'] .rx-cart-item img { background:#22252b; }
html[data-theme='dark'] .rx-filterbar { background:rgba(24,26,30,.8); }
html[data-theme='dark'] .rx-filterbar input, html[data-theme='dark'] .rx-filterbar select, html[data-theme='dark'] .rx-form-field { background:#202329 !important; color:#fff !important; }
html[data-theme='dark'] .rx-total-box { background:#202329; }
html[data-theme='dark'] .bg-white { background-color:#17191d !important; }
html[data-theme='dark'] .bg-gray-50, html[data-theme='dark'] .bg-gray-100 { background-color:#202329 !important; }
html[data-theme='dark'] .text-gray-900, html[data-theme='dark'] .text-gray-800, html[data-theme='dark'] .text-rexius-dark { color:#f5f2eb !important; }
html[data-theme='dark'] .text-gray-700, html[data-theme='dark'] .text-gray-600 { color:#a9adb6 !important; }
html[data-theme='dark'] .border-gray-200, html[data-theme='dark'] .border-gray-300 { border-color:rgba(255,255,255,.11) !important; }

@media (max-width: 1100px) {
    .rx-main-nav-inner { grid-template-columns: 1fr auto; }
    .rx-nav-links { display: none; }
    .rx-search { width: min(280px, 35vw); }
    .rx-category-grid { grid-template-columns: repeat(3,1fr); }
    .rx-category-tile:nth-child(4), .rx-category-tile:nth-child(5) { min-height: 220px; }
}
@media (max-width: 760px) {
    .rx-shell, .rx-detail-shell { width: min(100% - 20px, 1380px); }
    .rx-page-spacer { height: 98px; }
    .rx-utility { height: 26px; }
    .rx-utility-inner { justify-content: center; }
    .rx-utility-points span:nth-child(n+2) { display:none; }
    .rx-main-nav { height: 68px; }
    .rx-main-nav-inner { grid-template-columns: 1fr auto; gap: 8px; }
    .rx-brand-wordmark span { display:none; }
    .rx-brand-wordmark strong { font-size:17px; }
    .rx-brand img { width:34px; height:34px; }
    .rx-search { display:none; }
    .rx-icon-btn.rx-track-btn, .rx-icon-btn.rx-theme-btn { display:none; }
    .rx-home-hero { padding-top: 10px; }
    .rx-hero-card, .rx-hero-content { min-height: 520px; }
    .rx-hero-grid { grid-template-columns: 1fr 1fr; }
    .rx-hero-grid figure:first-child { grid-column:1 / 3; grid-row:1; }
    .rx-hero-grid figure:nth-child(4) { display:none; }
    .rx-hero-shade { background: linear-gradient(180deg, rgba(7,8,10,.12), rgba(7,8,10,.88) 68%); }
    .rx-hero-content { width:100%; padding:30px 24px; justify-content:flex-end; }
    .rx-hero-content h1 { font-size:46px; }
    .rx-category-grid { grid-template-columns: 1fr 1fr; }
    .rx-category-tile { min-height: 220px; }
    .rx-category-tile:last-child { grid-column:1 / 3; }
    .rx-section { padding:28px 0 48px; }
    .rx-section-head { align-items:flex-start; }
    .rx-section-title h2 { font-size:30px; }
    .rx-product-actions { opacity:1; transform:none; }
    .rx-product-action span { display:none; }
    .rx-detail-layout { grid-template-columns:1fr; }
    .rx-sticky { position:static; }
    .rx-detail-panel { padding:22px; }
    .rx-catalog-hero { min-height:230px; }
    .rx-catalog-copy { padding:26px 22px; }
}

/* ========================================================================== 
   REXIUS COMMERCE 2026 — PREMIUM STOREFRONT PASS
   This layer intentionally overrides the earlier phase-one presentation while
   retaining its component contracts and all commerce/payment IDs.
   ========================================================================== */

:root {
    --rx-canvas: #f4f2ed;
    --rx-paper: #fbfaf7;
    --rx-paper-strong: #ffffff;
    --rx-ink: #101216;
    --rx-muted: #69707a;
    --rx-line: rgba(16,18,22,.10);
    --rx-soft: #efede7;
    --rx-shadow: 0 28px 80px rgba(14,16,20,.13);
    --rx-shadow-soft: 0 14px 38px rgba(14,16,20,.075);
}

/* The final visual direction uses one calm premium navigation bar. Trust copy
   moved into the hero instead of consuming a second header row. */
.rx-utility { display: none !important; }
.rx-page-spacer { height: 82px; }
.rx-main-nav { height: 82px; background: rgba(250,249,246,.90); box-shadow: 0 1px 0 rgba(14,16,20,.05); }
.rx-main-nav-inner { grid-template-columns: minmax(210px,1fr) auto minmax(315px,1fr); }
.rx-brand { gap: 11px; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.rx-brand img { width: 36px; height: 36px; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; }
.rx-brand-wordmark strong { font-size: 22px; font-weight: 800; }
.rx-brand-wordmark span { font-size: 10px; letter-spacing: .19em; }
.rx-nav-links { gap: 30px; }
.rx-nav-links a { font-size: 13px; color: var(--rx-ink); }
.rx-search { width: min(310px, 29vw); }
.rx-search input { min-height: 44px; background: rgba(16,18,22,.045); border-color: transparent; }
.rx-search input:focus { background: var(--rx-paper-strong); border-color: rgba(16,18,22,.15); }

/* Robust live hero */
.rx-home-hero-robust { padding: 18px 0 10px; }
.rx-hero-stage { min-height: 590px; isolation: isolate; background: #121418; }
.rx-hero-stage-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: opacity .32s ease, transform 1.2s ease; transform: scale(1.015); }
.rx-hero-stage[data-changing="true"] .rx-hero-stage-image { opacity:.3; transform:scale(1.04); }
.rx-hero-stage-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(4,6,8,.88) 0%,rgba(5,7,10,.72) 32%,rgba(5,7,10,.28) 60%,rgba(5,7,10,.56) 100%); }
.rx-hero-primary-copy { position:absolute; z-index:3; left:42px; top:54px; width:min(600px,45%); color:#fff; }
.rx-hero-overline { font-size:11px; text-transform:uppercase; letter-spacing:.27em; font-weight:800; color:rgba(255,255,255,.72); }
.rx-hero-primary-copy h1 { font:800 clamp(46px,5.4vw,76px)/.94 'Manrope',sans-serif; letter-spacing:-.06em; max-width:670px; margin:18px 0 18px; }
.rx-hero-primary-copy > p:not(.rx-hero-overline) { max-width:560px; font-size:17px; line-height:1.55; color:rgba(255,255,255,.82); }
.rx-hero-live-products { position:absolute; z-index:4; right:28px; bottom:68px; width:min(735px,54%); }
.rx-hero-live-track { display:grid; grid-auto-flow:column; grid-auto-columns:156px; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:4px 2px 8px; scroll-behavior:smooth; }
.rx-hero-live-track::-webkit-scrollbar { display:none; }
.rx-hero-live-card { position:relative; height:232px; border-radius:18px; overflow:hidden; scroll-snap-align:start; color:#fff; border:1px solid rgba(255,255,255,.24); background:#1a1d22; box-shadow:0 14px 35px rgba(0,0,0,.2); transition:transform .25s ease,border-color .25s ease; }
.rx-hero-live-card:hover,.rx-hero-live-card.is-active { transform:translateY(-4px); border-color:rgba(255,255,255,.7); }
.rx-hero-live-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rx-hero-live-card-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.02) 35%,rgba(3,4,6,.84) 100%); }
.rx-hero-live-card-copy { position:absolute; z-index:2; left:13px; right:12px; bottom:14px; display:flex; flex-direction:column; gap:3px; }
.rx-hero-live-card-copy span { font-size:9px; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.72); font-weight:800; }
.rx-hero-live-card-copy strong { font-size:12px; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rx-hero-live-card-copy small { font-size:10px; color:rgba(255,255,255,.82); }
.rx-hero-live-card > i { position:absolute; z-index:3; right:10px; top:10px; width:28px; height:28px; border-radius:999px; display:grid; place-items:center; background:rgba(0,0,0,.36); border:1px solid rgba(255,255,255,.38); font-size:10px; backdrop-filter:blur(8px); }
.rx-hero-carousel-controls { margin-top:7px; display:flex; align-items:center; justify-content:space-between; }
.rx-hero-dots { display:flex; gap:6px; }
.rx-hero-dots button { width:7px; height:7px; border-radius:999px; background:rgba(255,255,255,.32); transition:.2s ease; }
.rx-hero-dots button.is-active { width:20px; background:#fff; }
.rx-hero-arrow { width:34px; height:34px; border-radius:999px; color:#fff; border:1px solid rgba(255,255,255,.22); background:rgba(0,0,0,.22); backdrop-filter:blur(10px); }
.rx-hero-trust-row { position:absolute; z-index:4; left:42px; right:42px; bottom:23px; display:flex; gap:28px; color:rgba(255,255,255,.82); font-size:10px; }
.rx-hero-trust-row span { display:flex; align-items:center; gap:8px; }
.rx-hero-trust-row i { font-size:15px; }

.rx-category-section { padding-bottom:18px; }
.rx-category-grid-compact { gap:14px; }
.rx-category-grid-compact .rx-category-tile { min-height:178px; border-radius:20px; }
.rx-category-grid-compact .rx-category-copy { inset:auto 18px 17px; padding-right:46px; }
.rx-category-grid-compact .rx-category-copy h3 { font-size:22px; margin:0; }
.rx-category-grid-compact .rx-category-copy p { margin:2px 0 0; font-size:11px; }
.rx-category-arrow { position:absolute; right:0; bottom:0; width:36px; height:36px; border-radius:999px; border:1px solid rgba(255,255,255,.48); display:grid; place-items:center; }
.rx-home-product-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.rx-home-empty { grid-column:1/-1; }

/* Cards now match the simpler luxury-retail direction. */
.rx-product-card { border-radius:18px; box-shadow:none; background:var(--rx-paper-strong); }
.rx-product-card:hover { transform:translateY(-3px); box-shadow:0 18px 42px rgba(12,14,18,.11); }
.rx-product-media { aspect-ratio:1/.88; background:#f0eee9; }
.rx-product-body { padding:13px 13px 15px; }
.rx-product-description { display:none; }
.rx-product-name { min-height:0; font-size:12px; }
.rx-product-type { font-size:8px; margin-bottom:4px; }
.rx-price-row { padding-top:9px; }
.rx-price { font-size:14px; }
.rx-rating { margin-top:6px; }

/* Breadcrumbs */
.rx-breadcrumbs { display:flex; align-items:center; gap:9px; min-height:28px; color:var(--rx-muted); font-size:10px; margin-bottom:14px; }
.rx-breadcrumbs a:hover { color:var(--rx-ink); }
.rx-breadcrumbs i { font-size:7px; opacity:.6; }
.rx-breadcrumbs span { color:var(--rx-ink); font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rx-catalog-breadcrumbs { margin-top:18px; }

/* Catalog + sticky sidebar */
.rx-catalog-hero-premium { min-height:310px; margin-top:0; }
.rx-catalog-hero-premium img { opacity:.8; }
.rx-catalog-hero-premium::after { background:linear-gradient(90deg,rgba(5,7,10,.88),rgba(5,7,10,.56) 42%,rgba(5,7,10,.08) 82%); }
.rx-catalog-hero-premium .rx-catalog-copy { padding:42px; max-width:640px; }
.rx-catalog-hero-actions { display:flex; gap:10px; margin-top:20px; }
.rx-catalog-toolbar { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; margin-bottom:16px; }
.rx-catalog-toolbar > div h2 { font-size:28px; font-weight:800; letter-spacing:-.04em; }
.rx-catalog-toolbar > div p { font-size:11px; color:var(--rx-muted); margin-top:2px; }
.rx-sort-form { display:flex; align-items:center; gap:8px; font-size:10px; font-weight:700; color:var(--rx-muted); }
.rx-sort-form select { min-width:165px; height:40px; border:1px solid var(--rx-line); border-radius:12px; background:var(--rx-paper-strong); color:var(--rx-ink); padding:0 12px; outline:none; }
.rx-catalog-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:20px; align-items:start; }
.rx-filter-sidebar { position:sticky; top:102px; border:1px solid var(--rx-line); border-radius:20px; background:var(--rx-paper-strong); overflow:hidden; box-shadow:var(--rx-shadow-soft); }
.rx-filter-sidebar-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px; border-bottom:1px solid var(--rx-line); font-size:12px; }
.rx-filter-sidebar-head strong { font-size:14px; }
.rx-filter-sidebar-head a { color:var(--rx-muted); font-size:9px; font-weight:700; }
.rx-filter-sidebar-head button { display:none; }
.rx-filter-group { padding:16px; border-bottom:1px solid var(--rx-line); }
.rx-filter-title { display:block; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:11px; color:var(--rx-ink); }
.rx-filter-search { position:relative; }
.rx-filter-search input { width:100%; height:39px; border-radius:11px; border:1px solid var(--rx-line); background:var(--rx-canvas); color:var(--rx-ink); padding:0 31px 0 10px; font-size:11px; outline:none; }
.rx-filter-search i { position:absolute; right:11px; top:13px; color:var(--rx-muted); font-size:11px; }
.rx-filter-link,.rx-filter-check { min-height:29px; display:flex; align-items:center; gap:8px; font-size:10px; color:var(--rx-muted); cursor:pointer; }
.rx-filter-link span,.rx-filter-check span { flex:1; }
.rx-filter-link.is-active { color:var(--rx-ink); font-weight:800; }
.rx-filter-check input { width:13px; height:13px; accent-color:#111318; }
.rx-filter-check small { font-size:8px; color:#9aa0aa; }
.rx-filter-clear { display:inline-block; margin-top:8px; font-size:9px; text-decoration:underline; color:var(--rx-muted); }
.rx-price-inputs { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:6px; }
.rx-price-inputs input { min-width:0; height:36px; border:1px solid var(--rx-line); border-radius:10px; background:var(--rx-canvas); color:var(--rx-ink); padding:0 8px; font-size:10px; }
.rx-filter-apply { margin:14px 16px 16px; width:calc(100% - 32px); background:#111318; color:#fff; border-radius:12px; }
.rx-catalog-results { min-width:0; }
.rx-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.rx-catalog-empty { grid-column:1/-1; }
.rx-active-filters { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:12px; }
.rx-active-filters a { display:inline-flex; align-items:center; gap:7px; padding:6px 9px; border-radius:999px; background:var(--rx-paper-strong); border:1px solid var(--rx-line); font-size:9px; font-weight:700; }
.rx-pagination { display:flex; justify-content:center; gap:7px; margin-top:28px; }
.rx-pagination a { width:36px; height:36px; border-radius:999px; display:grid; place-items:center; border:1px solid var(--rx-line); background:var(--rx-paper-strong); font-size:10px; font-weight:800; }
.rx-pagination a.is-active { background:var(--rx-ink); color:var(--rx-canvas); }
.rx-mobile-filter-button { display:none; }

/* Physical product detail page */
.rx-product-detail-page { min-height:70vh; }
.rx-pdp-grid { display:grid; grid-template-columns:minmax(0,1.32fr) minmax(370px,.68fr); gap:28px; align-items:start; }
.rx-pdp-gallery { display:grid; grid-template-columns:78px minmax(0,1fr); gap:12px; min-width:0; }
.rx-pdp-thumbs { display:flex; flex-direction:column; gap:10px; max-height:690px; overflow:auto; scrollbar-width:thin; }
.rx-pdp-thumb { width:76px; aspect-ratio:1; overflow:hidden; border-radius:14px; border:1px solid transparent; background:var(--rx-paper-strong); opacity:.7; transition:.18s ease; }
.rx-pdp-thumb img { width:100%; height:100%; object-fit:cover; }
.rx-pdp-thumb.is-active,.rx-pdp-thumb:hover { opacity:1; border-color:var(--rx-ink); }
.rx-pdp-main-media { min-height:640px; position:relative; overflow:hidden; border-radius:24px; border:1px solid var(--rx-line); background:#ece9e2; }
.rx-pdp-main-media > img { width:100%; height:100%; min-height:640px; object-fit:cover; transition:opacity .18s ease,transform .22s ease; }
.rx-pdp-main-media > img.is-changing { opacity:.45; transform:scale(.99); }
.rx-pdp-info { position:sticky; top:102px; padding:12px 2px 0; }
.rx-pdp-info h1 { font:800 clamp(32px,3vw,48px)/1 'Manrope',sans-serif; letter-spacing:-.055em; margin:8px 0 12px; }
.rx-pdp-rating { display:flex; align-items:center; gap:7px; color:var(--rx-muted); font-size:11px; }
.rx-pdp-rating strong { color:var(--rx-ink); }
.rx-pdp-price-line { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin:17px 0 15px; }
.rx-pdp-price-line > strong { font-size:25px; letter-spacing:-.03em; }
.rx-pdp-price-line del { color:#979ca4; font-size:13px; }
.rx-pdp-lead { color:var(--rx-muted); font-size:13px; line-height:1.65; margin-bottom:22px; }
.rx-pdp-option-block { padding:16px 0; border-top:1px solid var(--rx-line); }
.rx-pdp-option-block label { font-size:11px; font-weight:800; }
.rx-pdp-select { width:100%; margin-top:10px; height:46px; border:1px solid var(--rx-line); border-radius:12px; background:var(--rx-paper-strong); color:var(--rx-ink); padding:0 12px; font-size:12px; outline:none; }
.rx-field-attention { box-shadow:0 0 0 4px rgba(248,128,5,.15); border-color:#f88005 !important; }
.rx-pdp-actions { display:grid; grid-template-columns:1fr 48px; gap:8px; margin:14px 0 18px; }
.rx-pdp-primary { background:#111318; color:#fff; border-radius:12px; }
.rx-pdp-wish { width:48px; height:48px; border-radius:12px; border:1px solid var(--rx-line); background:var(--rx-paper-strong); }
.rx-pdp-assurances { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:16px 0; border-top:1px solid var(--rx-line); border-bottom:1px solid var(--rx-line); }
.rx-pdp-assurances > div { display:flex; flex-direction:column; gap:7px; min-width:0; }
.rx-pdp-assurances i { font-size:15px; }
.rx-pdp-assurances span { display:flex; flex-direction:column; }
.rx-pdp-assurances strong { font-size:9px; line-height:1.35; }
.rx-pdp-assurances small { font-size:8px; color:var(--rx-muted); margin-top:2px; }
.rx-accordion-list details { border-bottom:1px solid var(--rx-line); }
.rx-accordion-list summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; min-height:50px; font-size:11px; font-weight:800; }
.rx-accordion-list summary::-webkit-details-marker { display:none; }
.rx-accordion-list details[open] summary i { transform:rotate(45deg); }
.rx-accordion-list details > div { padding:0 0 18px; color:var(--rx-muted); font-size:11px; line-height:1.7; }
.rx-pdp-section { margin-top:56px; }
.rx-review-card { background:var(--rx-paper-strong); border:1px solid var(--rx-line); border-radius:18px; padding:18px; }
.rx-review-card p { font-size:12px; line-height:1.6; margin:10px 0 14px; }
.rx-review-card small { color:var(--rx-muted); font-size:9px; }

/* Checkout — presentation only; IDs/field names are intentionally stable. */
.rx-checkout-page { min-height:calc(100vh - 82px); padding:24px 0 72px; background:var(--rx-canvas); }
.rx-checkout-shell { width:min(1220px,calc(100% - 28px)); margin:0 auto; }
.rx-checkout-progress { max-width:620px; margin:0 auto 24px; display:flex; align-items:center; justify-content:center; gap:10px; color:var(--rx-muted); font-size:9px; font-weight:700; }
.rx-checkout-progress span { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.rx-checkout-progress b { width:22px; height:22px; border-radius:999px; border:1px solid var(--rx-line); display:grid; place-items:center; background:var(--rx-paper-strong); }
.rx-checkout-progress span.is-active { color:var(--rx-ink); }
.rx-checkout-progress span.is-active b { background:var(--rx-ink); color:var(--rx-canvas); }
.rx-checkout-progress i { width:54px; height:1px; background:var(--rx-line); }
.rx-checkout-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr); gap:22px; align-items:start; }
.rx-checkout-heading { margin:0 0 18px; }
.rx-checkout-heading h1 { font:800 clamp(34px,4vw,52px)/1 'Manrope',sans-serif; letter-spacing:-.055em; margin:6px 0 8px; }
.rx-checkout-heading > p:last-child { max-width:650px; color:var(--rx-muted); font-size:12px; line-height:1.6; }
.rx-checkout-form { display:flex; flex-direction:column; gap:14px; }
.rx-checkout-card,.rx-checkout-action-card,.rx-checkout-summary-card,.rx-checkout-help { background:var(--rx-paper-strong); border:1px solid var(--rx-line); border-radius:20px; box-shadow:var(--rx-shadow-soft); }
.rx-checkout-card { padding:20px; }
.rx-checkout-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:18px; }
.rx-checkout-card-head > div:first-child { display:flex; gap:11px; align-items:flex-start; }
.rx-step-number { width:30px; height:30px; border-radius:999px; background:var(--rx-ink); color:var(--rx-canvas); display:grid; place-items:center; flex:none; font-size:10px; font-weight:800; }
.rx-checkout-card-head h2 { font-size:17px; font-weight:800; letter-spacing:-.025em; }
.rx-checkout-card-head p { color:var(--rx-muted); font-size:10px; margin-top:2px; }
.rx-checkout-card-head > i { color:var(--rx-muted); }
.rx-checkout-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rx-checkout-fields label,.rx-payment-subpanel { display:block; }
.rx-checkout-fields label > span { display:block; font-size:9px; text-transform:uppercase; letter-spacing:.09em; font-weight:800; color:var(--rx-muted); margin:0 0 6px 2px; }
.rx-checkout-fields input,.rx-loyalty-fields input,.rx-payment-subpanel input { width:100%; height:44px; border:1px solid var(--rx-line); border-radius:11px; background:var(--rx-canvas); color:var(--rx-ink); padding:0 12px; font-size:11px; outline:none; }
.rx-checkout-fields input:focus,.rx-loyalty-fields input:focus,.rx-payment-subpanel input:focus { background:var(--rx-paper-strong); border-color:rgba(16,18,22,.35); box-shadow:0 0 0 3px rgba(16,18,22,.04); }
.rx-whatsapp-optin { margin-top:12px; display:flex; align-items:flex-start; gap:10px; border:1px solid var(--rx-line); border-radius:13px; padding:11px; cursor:pointer; }
.rx-whatsapp-optin input { margin-top:2px; accent-color:#1ca652; }
.rx-whatsapp-optin span { display:flex; flex-direction:column; }
.rx-whatsapp-optin strong { font-size:10px; }
.rx-whatsapp-optin small { color:var(--rx-muted); font-size:9px; margin-top:2px; line-height:1.5; }
.rx-payment-methods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.rx-payment-choice { cursor:pointer; min-width:0; }
.rx-payment-choice .payment-card { position:relative; min-height:126px; padding:13px; border:1px solid var(--rx-line); border-radius:15px; background:var(--rx-canvas); display:grid; grid-template-columns:36px 1fr 16px; grid-template-rows:auto auto; gap:8px 9px; align-items:center; transition:.2s ease; overflow:hidden; }
.rx-payment-choice input:checked + .payment-card { background:var(--rx-paper-strong); border-color:var(--rx-ink); box-shadow:0 8px 24px rgba(16,18,22,.09); transform:translateY(-1px); }
.rx-payment-choice-icon { width:34px; height:34px; border-radius:10px; background:var(--rx-paper-strong); border:1px solid var(--rx-line); display:grid; place-items:center; }
.rx-payment-choice .payment-copy { display:flex; flex-direction:column; min-width:0; }
.rx-payment-choice .payment-copy strong { font-size:10px; }
.rx-payment-choice .payment-copy small { font-size:8px; color:var(--rx-muted); margin-top:2px; }
.rx-payment-choice .dot-outer { width:15px; height:15px; border-radius:999px; border:1px solid #a9adb5; display:grid; place-items:center; }
.rx-payment-choice input:checked + .payment-card .dot-outer { border-color:var(--rx-ink); background:var(--rx-ink); }
.rx-payment-choice .dot-inner { width:5px; height:5px; border-radius:999px; background:#fff; }
.rx-payment-choice .payment-card > img { grid-column:1/4; height:22px; max-width:96px; object-fit:contain; object-position:left center; }
.rx-payment-brand-text { grid-column:1/4; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--rx-muted); }
.rx-payment-subpanel { margin-top:12px; padding:13px; border:1px solid var(--rx-line); border-radius:14px; background:var(--rx-canvas); }
.rx-payment-subpanel h3 { font-size:11px; font-weight:800; }
.rx-payment-subpanel p { font-size:9px; color:var(--rx-muted); margin:3px 0 9px; }
.rx-loyalty-card { background:linear-gradient(145deg,var(--rx-paper-strong),color-mix(in srgb,#f88005 4%,var(--rx-paper-strong))); }
.rx-small-action { border:1px solid var(--rx-line); border-radius:999px; padding:8px 11px; font-size:9px; font-weight:800; white-space:nowrap; }
.rx-loyalty-fields { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px; }
.rx-checkout-action-card { padding:18px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:14px; }
.rx-checkout-action-card > div:first-child { display:flex; align-items:center; gap:10px; }
.rx-checkout-action-card > div:first-child > i { width:33px; height:33px; border-radius:999px; display:grid; place-items:center; background:var(--rx-canvas); }
.rx-checkout-action-card > div:first-child span { display:flex; flex-direction:column; }
.rx-checkout-action-card > div:first-child strong { font-size:10px; }
.rx-checkout-action-card > div:first-child small { color:var(--rx-muted); font-size:8px; margin-top:2px; }
.rx-pay-button { min-width:250px; background:#111318; color:#fff; border-radius:12px; }
.rx-payment-status-actions { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.rx-checkout-secondary { width:100%; border:1px solid var(--rx-line); background:var(--rx-paper-strong); color:var(--rx-ink); border-radius:11px; }
.rx-checkout-payment-logos { grid-column:1/-1; display:flex; align-items:center; justify-content:center; gap:13px; padding-top:10px; border-top:1px solid var(--rx-line); }
.rx-checkout-payment-logos img { height:23px; width:auto; max-width:105px; object-fit:contain; }
.rx-checkout-payment-logos > span { width:1px; height:18px; background:var(--rx-line); }
.rx-checkout-payment-logos small { color:var(--rx-muted); font-size:8px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.rx-checkout-summary { position:sticky; top:102px; display:flex; flex-direction:column; gap:12px; }
.rx-checkout-summary-card { overflow:hidden; }
.rx-checkout-summary-head { padding:18px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--rx-line); }
.rx-checkout-summary-head h2 { font-size:18px; font-weight:800; letter-spacing:-.03em; margin-top:2px; }
.rx-checkout-summary-head > span { width:36px; height:36px; border-radius:999px; background:var(--rx-canvas); display:grid; place-items:center; }
.rx-checkout-items { padding:10px 18px; max-height:420px; overflow:auto; }
.rx-checkout-items > .flex { border-bottom:1px solid var(--rx-line); }
.rx-checkout-items img { width:54px !important; height:54px !important; border-radius:12px !important; }
.rx-checkout-totals { padding:16px 18px 18px; border-top:1px solid var(--rx-line); }
.rx-checkout-totals > div { display:flex; align-items:center; justify-content:space-between; font-size:10px; color:var(--rx-muted); margin-bottom:7px; }
.rx-checkout-totals > div strong { color:var(--rx-ink); }
.rx-checkout-grand-total { padding-top:12px; margin-top:10px; border-top:1px solid var(--rx-line); }
.rx-checkout-grand-total span { color:var(--rx-ink); font-size:13px; font-weight:800; }
.rx-checkout-grand-total strong { font-size:22px; letter-spacing:-.03em; }
.rx-checkout-totals > p { color:var(--rx-muted); font-size:8px; line-height:1.5; }
.rx-checkout-help { padding:14px; display:flex; gap:10px; }
.rx-checkout-help > i { margin-top:2px; }
.rx-checkout-help strong { font-size:10px; }
.rx-checkout-help p { color:var(--rx-muted); font-size:9px; line-height:1.5; margin-top:3px; }
.rx-payment-modal { width:min(520px,100%); max-height:92vh; background:var(--rx-paper-strong); border:1px solid rgba(255,255,255,.2); border-radius:22px; overflow:hidden; box-shadow:0 28px 90px rgba(0,0,0,.36); color:var(--rx-ink); display:flex; flex-direction:column; }
.rx-pesapal-modal { height:min(800px,92vh); }
.rx-payment-modal-head { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid var(--rx-line); }
.rx-payment-modal-head > div { display:flex; flex-direction:column; }
.rx-payment-modal-head strong { font-size:13px; }
.rx-payment-modal-head small { color:var(--rx-muted); font-size:9px; margin-top:2px; }
.rx-payment-modal-head button { width:36px; height:36px; border-radius:999px; border:1px solid var(--rx-line); }
.rx-qr-body { padding:22px; text-align:center; }
.rx-qr-image-wrap { width:min(300px,100%); aspect-ratio:1; margin:0 auto 12px; background:#fff; border:1px solid #dfe3e7; border-radius:18px; padding:11px; }
.rx-qr-image-wrap img { width:100%; height:100%; object-fit:contain; }
.rx-qr-body > p { font-size:10px; color:var(--rx-muted); margin-top:4px; }
.rx-checkout-notice { margin:13px 0; border-radius:12px; padding:10px; background:#effaf4; border:1px solid #cbead8; text-align:left; font-size:9px; color:#306b4d; }
.rx-status-line { font-weight:800; color:#16834e !important; }

/* Better dark-mode contrast; photography is never inverted or dimmed globally. */
html[data-theme='dark'] {
    --rx-canvas:#0d0f12; --rx-paper:#14171b; --rx-paper-strong:#171a1f; --rx-soft:#20242a;
    --rx-ink:#f6f4ef; --rx-muted:#a8aeb8; --rx-line:rgba(255,255,255,.105);
    --rx-shadow:0 28px 80px rgba(0,0,0,.38); --rx-shadow-soft:0 14px 38px rgba(0,0,0,.24);
}
html[data-theme='dark'] .rx-main-nav { background:rgba(13,15,18,.90); }
html[data-theme='dark'] .rx-search input { background:rgba(255,255,255,.07); }
html[data-theme='dark'] .rx-search input:focus { background:#1b1f24; }
html[data-theme='dark'] .rx-product-media,html[data-theme='dark'] .rx-pdp-main-media { background:#1c2025; }
html[data-theme='dark'] .rx-pagination a.is-active,html[data-theme='dark'] .rx-step-number { background:#f6f4ef; color:#101216; }
html[data-theme='dark'] .rx-filter-check input { accent-color:#f6f4ef; }
html[data-theme='dark'] .rx-pdp-primary,html[data-theme='dark'] .rx-filter-apply,html[data-theme='dark'] .rx-pay-button { background:#f6f4ef; color:#101216; }
html[data-theme='dark'] .rx-payment-choice input:checked + .payment-card { border-color:#f6f4ef; }
html[data-theme='dark'] .rx-payment-choice input:checked + .payment-card .dot-outer { border-color:#f6f4ef; background:#f6f4ef; }
html[data-theme='dark'] .rx-payment-choice .dot-inner { background:#101216; }
html[data-theme='dark'] .rx-checkout-notice { background:#12251c; border-color:#245238; color:#91d7ad; }
html[data-theme='dark'] .rx-loyalty-card { background:linear-gradient(145deg,var(--rx-paper-strong),rgba(248,128,5,.05)); }

@media (max-width: 1250px) {
    .rx-home-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .rx-hero-primary-copy { width:48%; }
    .rx-hero-live-products { width:51%; }
    .rx-pdp-grid { grid-template-columns:minmax(0,1.1fr) minmax(340px,.75fr); }
}
@media (max-width: 1100px) {
    .rx-main-nav-inner { grid-template-columns:1fr auto; }
    .rx-hero-stage { min-height:650px; }
    .rx-hero-primary-copy { width:58%; }
    .rx-hero-live-products { width:63%; }
    .rx-category-grid-compact { grid-template-columns:repeat(3,1fr); }
    .rx-home-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .rx-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rx-checkout-grid { grid-template-columns:1fr 330px; }
    .rx-payment-methods { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 860px) {
    .rx-catalog-layout { grid-template-columns:1fr; }
    .rx-mobile-filter-button { display:inline-flex; align-items:center; gap:7px; width:max-content; height:40px; border:1px solid var(--rx-line); border-radius:12px; padding:0 12px; font-size:10px; font-weight:800; background:var(--rx-paper-strong); }
    .rx-catalog-toolbar { grid-template-columns:auto 1fr auto; }
    .rx-filter-sidebar { position:fixed; z-index:130; inset:0 auto 0 0; width:min(330px,90vw); border-radius:0 24px 24px 0; transform:translateX(-105%); transition:transform .25s ease; overflow:auto; top:0; }
    .rx-filter-sidebar.is-open { transform:none; }
    .rx-filter-sidebar-head { position:sticky; top:0; z-index:2; background:var(--rx-paper-strong); }
    .rx-filter-sidebar-head button { display:grid; place-items:center; width:32px; height:32px; border-radius:999px; }
    .rx-pdp-grid { grid-template-columns:1fr; }
    .rx-pdp-info { position:static; }
    .rx-pdp-main-media,.rx-pdp-main-media > img { min-height:540px; }
    .rx-checkout-grid { grid-template-columns:1fr; }
    .rx-checkout-summary { position:static; order:-1; }
    .rx-checkout-summary-card { display:grid; grid-template-columns:1fr; }
}
@media (max-width: 760px) {
    .rx-page-spacer { height:68px; }
    .rx-main-nav { height:68px; }
    .rx-brand img { width:31px; height:31px; }
    .rx-brand-wordmark strong { font-size:18px; }
    .rx-home-hero-robust { padding-top:10px; }
    .rx-hero-stage { min-height:700px; border-radius:22px; }
    .rx-hero-primary-copy { left:22px; right:22px; top:34px; width:auto; }
    .rx-hero-primary-copy h1 { font-size:47px; }
    .rx-hero-primary-copy > p:not(.rx-hero-overline) { font-size:14px; }
    .rx-hero-live-products { left:20px; right:20px; bottom:92px; width:auto; }
    .rx-hero-live-track { grid-auto-columns:142px; }
    .rx-hero-live-card { height:205px; }
    .rx-hero-trust-row { left:22px; right:22px; bottom:26px; gap:12px; overflow:hidden; white-space:nowrap; }
    .rx-hero-trust-row span:nth-child(n+3) { display:none; }
    .rx-category-grid-compact { grid-template-columns:1fr 1fr; }
    .rx-category-grid-compact .rx-category-tile { min-height:160px; }
    .rx-category-grid-compact .rx-category-tile:last-child { grid-column:1/3; }
    .rx-home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rx-catalog-hero-premium { min-height:280px; }
    .rx-catalog-hero-premium .rx-catalog-copy { padding:26px 22px; }
    .rx-catalog-toolbar { grid-template-columns:auto 1fr; }
    .rx-sort-form { grid-column:1/-1; justify-content:flex-end; }
    .rx-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .rx-pdp-gallery { grid-template-columns:1fr; }
    .rx-pdp-thumbs { order:2; flex-direction:row; max-height:none; overflow-x:auto; }
    .rx-pdp-thumb { flex:0 0 66px; width:66px; }
    .rx-pdp-main-media,.rx-pdp-main-media > img { min-height:430px; }
    .rx-pdp-assurances { grid-template-columns:1fr; }
    .rx-pdp-assurances > div { flex-direction:row; align-items:center; }
    .rx-checkout-page { padding-top:14px; }
    .rx-checkout-progress i { width:24px; }
    .rx-checkout-progress span { font-size:8px; }
    .rx-checkout-fields { grid-template-columns:1fr; }
    .rx-payment-methods { grid-template-columns:1fr 1fr; }
    .rx-loyalty-fields { grid-template-columns:1fr; }
    .rx-checkout-action-card { grid-template-columns:1fr; }
    .rx-pay-button { width:100%; min-width:0; }
}
@media (max-width: 470px) {
    .rx-hero-stage { min-height:730px; }
    .rx-hero-primary-copy h1 { font-size:41px; }
    .rx-hero-actions .rx-btn { flex:1; padding-inline:12px; }
    .rx-hero-live-track { grid-auto-columns:135px; }
    .rx-catalog-grid { grid-template-columns:1fr 1fr; }
    .rx-product-name { font-size:11px; }
    .rx-price { font-size:12px; }
    .rx-payment-methods { grid-template-columns:1fr; }
    .rx-checkout-progress span { font-size:0; }
    .rx-checkout-progress span b { font-size:9px; }
}

/* --------------------------------------------------------------------------
   Event / ticket detail
   -------------------------------------------------------------------------- */
.rx-event-page{padding:22px 0 72px;background:var(--rx-page,#f5f5f2);min-height:100vh}
.rx-event-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:24px;align-items:start}
.rx-event-main{min-width:0;display:grid;gap:22px}
.rx-event-hero{position:relative;overflow:hidden;border-radius:30px;min-height:520px;background:#090b0d;box-shadow:0 26px 70px rgba(8,12,18,.14)}
.rx-event-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.rx-event-hero:hover>img{transform:scale(1.025)}
.rx-event-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,8,12,.06) 10%,rgba(4,8,12,.22) 50%,rgba(4,8,12,.88) 100%)}
.rx-event-hero-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(26px,4vw,52px);color:#fff}
.rx-event-hero-copy>p{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:12px;opacity:.8;margin-bottom:12px}
.rx-event-hero-copy h1{font-size:clamp(36px,5vw,68px);line-height:.98;letter-spacing:-.045em;font-weight:900;max-width:850px;margin:0}
.rx-event-hero-copy>div{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:24px;font-size:14px;font-weight:650}
.rx-event-hero-copy>div span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(8,12,16,.28);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.rx-event-content{padding:clamp(24px,3.5vw,42px);border-radius:28px}
.rx-event-content h2,.rx-event-ticket-panel h2{font-size:clamp(24px,3vw,34px);font-weight:850;letter-spacing:-.035em}
.rx-event-description{margin-top:14px;color:var(--rx-muted,#62666c);line-height:1.75;font-size:15px}
.rx-event-description p+p{margin-top:12px}
.rx-event-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:28px;padding-top:24px;border-top:1px solid var(--rx-border,rgba(15,23,42,.1))}
.rx-event-facts>div{min-width:0;padding:15px;border-radius:18px;background:var(--rx-soft,#f7f7f5)}
.rx-event-facts span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800;color:var(--rx-muted,#6b7280);margin-bottom:5px}
.rx-event-facts strong{display:block;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.rx-event-ticket-panel{position:sticky;top:100px;padding:26px;border-radius:28px;box-shadow:0 24px 70px rgba(8,12,18,.1)}
.rx-event-ticket-options{display:grid;gap:10px;margin-top:22px}
.rx-event-ticket-options label{display:block;cursor:pointer}
.rx-event-ticket-options input{position:absolute;opacity:0;pointer-events:none}
.rx-event-ticket-options label>span{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 16px;border:1px solid var(--rx-border,rgba(15,23,42,.12));border-radius:17px;background:var(--rx-card,#fff);transition:.2s ease}
.rx-event-ticket-options label>span>span{display:grid;gap:3px}
.rx-event-ticket-options strong{font-size:13px}
.rx-event-ticket-options small{color:var(--rx-muted,#73777e);font-size:11px}
.rx-event-ticket-options b{font-size:13px;white-space:nowrap}
.rx-event-ticket-options input:checked+span{border-color:#111;background:#111;color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.15)}
.rx-event-ticket-options input:checked+span small{color:rgba(255,255,255,.68)}
.rx-event-qty{display:flex;align-items:center;justify-content:space-between;margin:22px 0;padding:14px 0;border-top:1px solid var(--rx-border,rgba(15,23,42,.1));border-bottom:1px solid var(--rx-border,rgba(15,23,42,.1));font-size:13px;font-weight:750}
.rx-event-qty>div{display:flex;align-items:center;overflow:hidden;border:1px solid var(--rx-border,rgba(15,23,42,.14));border-radius:999px;background:var(--rx-card,#fff)}
.rx-event-qty button{width:38px;height:38px;border:0;background:transparent;font-size:19px;cursor:pointer;color:inherit}
.rx-event-qty strong{min-width:34px;text-align:center;font-size:13px}
.rx-event-buy{width:100%;min-height:54px;justify-content:center;background:#101215!important;color:#fff!important;border-color:#101215!important;border-radius:16px!important}
.rx-event-secure{display:flex;gap:11px;align-items:flex-start;margin-top:18px;color:var(--rx-muted,#6b7280)}
.rx-event-secure>i{margin-top:2px;color:#15803d}
.rx-event-secure span{display:grid;gap:2px}
.rx-event-secure strong{font-size:11px;color:var(--rx-text,#15171a)}
.rx-event-secure small{font-size:10px;line-height:1.45}

[data-rx-theme="dark"] .rx-event-page{background:#0d0f12}
[data-rx-theme="dark"] .rx-event-ticket-options input:checked+span{background:#f4f4f2;color:#0d0f12;border-color:#f4f4f2}
[data-rx-theme="dark"] .rx-event-ticket-options input:checked+span small{color:rgba(13,15,18,.62)}
[data-rx-theme="dark"] .rx-event-buy{background:#f5f5f2!important;color:#0c0e10!important;border-color:#f5f5f2!important}

@media (max-width:980px){
  .rx-event-layout{grid-template-columns:1fr}
  .rx-event-ticket-panel{position:relative;top:auto}
  .rx-event-hero{min-height:480px}
}
@media (max-width:680px){
  .rx-event-page{padding-top:10px}
  .rx-event-hero{min-height:430px;border-radius:22px}
  .rx-event-hero-copy{padding:24px 20px}
  .rx-event-hero-copy>div{display:grid;gap:8px}
  .rx-event-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rx-event-content,.rx-event-ticket-panel{border-radius:22px;padding:20px}
}

/* ========================================================================== 
   LIVE HOTFIX 2026-09-17.3
   Keeps the premium phase-two UI coherent even when catalogue imagery has
   mixed aspect ratios. These rules intentionally sit last in the stylesheet.
   ========================================================================== */

/* Desktop catalogue should visually match the approved mockup: persistent
   filter rail + four balanced cards, not a stretched horizontal filter bar. */
@media (min-width: 1261px) {
    .rx-catalog-layout { grid-template-columns: 238px minmax(0,1fr); gap: 22px; }
    .rx-catalog-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
}
@media (min-width: 1101px) and (max-width: 1260px) {
    .rx-catalog-layout { grid-template-columns: 224px minmax(0,1fr); gap: 18px; }
    .rx-catalog-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (min-width: 861px) and (max-width: 1100px) {
    .rx-catalog-layout { grid-template-columns: 210px minmax(0,1fr); gap: 16px; }
    .rx-catalog-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* Consistent retail cards. */
.rx-product-card {
    min-width: 0;
    height: 100%;
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.rx-product-media {
    width: 100%;
    min-height: 0;
    aspect-ratio: 1 / .90;
    background: #f2f0eb;
}
.rx-product-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-position: center;
}
/* Devices should never be cropped like fashion photography. */
.rx-product-card--tech .rx-product-media {
    background: #f7f7f5;
}
.rx-product-card--tech .rx-product-media img {
    object-fit: contain;
    padding: clamp(10px, 1.2vw, 18px);
}
/* Image-led categories deliberately fill the media canvas. */
.rx-product-card--fashion .rx-product-media img,
.rx-product-card--travel .rx-product-media img,
.rx-product-card--tickets .rx-product-media img,
.rx-product-card--consulting .rx-product-media img {
    object-fit: cover;
}
.rx-product-body {
    flex: 1;
    min-height: 128px;
}
.rx-product-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.32;
    min-height: 2.64em;
}
.rx-price-row { margin-top: auto; }
.rx-regular-price { white-space: nowrap; }
.rx-saving { width: 100%; margin-top: 2px; }

/* Keep commerce actions discoverable. Nothing important should only exist on
   hover, especially on touch laptops/tablets. */
.rx-product-actions {
    opacity: 1;
    transform: none;
}
.rx-product-action {
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Home cards stay compact; catalogue cards carry the fuller retail treatment. */
.rx-product-card--context-home .rx-product-body { min-height: 114px; }
.rx-product-card--context-related .rx-product-body { min-height: 114px; }

/* Make hero product rail resilient when product names/images vary wildly. */
.rx-hero-live-products { max-width: calc(100% - 48px); }
.rx-hero-live-card { isolation: isolate; }
.rx-hero-live-card img { object-position: center; }
.rx-hero-live-card-copy { text-shadow: 0 1px 12px rgba(0,0,0,.45); }

/* Logo is intentionally naked: no circle, border or pseudo-card. */
.rx-brand,
.rx-brand::before,
.rx-brand::after,
.rx-brand img {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

@media (max-width: 760px) {
    .rx-product-media { aspect-ratio: 1 / .95; }
    .rx-product-card--tech .rx-product-media img { padding: 9px; }
    .rx-product-body { min-height: 118px; padding: 11px 11px 13px; }
    .rx-product-name { font-size: 11px; }
    .rx-price { font-size: 13px; }
    .rx-product-action { min-width: 34px; height: 34px; padding: 0 10px; }
}

/* ========================================================================== 
   REXIUS COMMERCE — RE-IMAGINED V4 / BRAND SYSTEM
   Hero line: “Shop. Escape. Experience.”
   The palette is sampled from the Rexius logo and exposed as variables so
   seasonal skins can replace accents later without touching commerce logic.
   ========================================================================== */
:root {
    --rx-brand-blue: #075f93;
    --rx-brand-navy: #16306c;
    --rx-brand-green: #53b96a;
    --rx-brand-gold: #e6c36c;
    --rx-brand-orange: #d87722;
    --rx-brand-coral: #cc5a1b;
    --rx-brand-ruby: #a31240;
    --rx-brand-cream: #fbf8f0;
    --rx-brand-ink: #112036;

    --rx-season-primary: var(--rx-brand-blue);
    --rx-season-secondary: var(--rx-brand-gold);
    --rx-season-highlight: var(--rx-brand-orange);
    --rx-season-deep: var(--rx-brand-navy);

    --rx-ink: var(--rx-brand-ink);
    --rx-muted: #687487;
    --rx-line: rgba(22,48,108,.13);
    --rx-canvas: #f7f4ec;
    --rx-paper: #fffdf8;
    --rx-paper-strong: #ffffff;
    --rx-soft: #f0ecdf;
    --rx-accent: var(--rx-season-primary);
    --rx-navy: var(--rx-brand-navy);
    --rx-green: var(--rx-brand-green);
    --rx-blue: var(--rx-brand-blue);
    --rx-shadow: 0 28px 78px rgba(20,38,71,.13);
    --rx-shadow-soft: 0 13px 34px rgba(20,38,71,.08);
}

/* Future seasonal skin: activate with document.documentElement.dataset.season
   = 'christmas'. It is intentionally dormant for now. */
html[data-season='christmas'] {
    --rx-season-primary: #9e1838;
    --rx-season-secondary: #d6b967;
    --rx-season-highlight: #b7352d;
    --rx-season-deep: #173a31;
}

html,
body.rx-commerce-body,
body {
    background:
        radial-gradient(circle at 8% 0%, rgba(230,195,108,.13), transparent 27rem),
        radial-gradient(circle at 94% 13%, rgba(7,95,147,.08), transparent 32rem),
        var(--rx-canvas);
}

.rx-eyebrow { color: var(--rx-brand-blue); }
.rx-text-link:hover { color: var(--rx-brand-orange); }

/* Brand-led navigation: still calm, but no longer generic black/white. */
.rx-main-nav {
    position: relative;
    background: rgba(255,253,248,.92);
    border-bottom-color: rgba(22,48,108,.09);
    box-shadow: 0 8px 30px rgba(22,48,108,.045);
}
.rx-main-nav::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    opacity: .76;
    background: linear-gradient(90deg,
        var(--rx-brand-ruby) 0 14%,
        var(--rx-brand-orange) 14% 31%,
        var(--rx-brand-gold) 31% 49%,
        var(--rx-brand-green) 49% 67%,
        var(--rx-brand-blue) 67% 84%,
        var(--rx-brand-navy) 84% 100%);
}
.rx-brand-wordmark strong { color: var(--rx-brand-ink); }
.rx-brand-wordmark span { color: var(--rx-brand-blue); }
.rx-nav-links a { color: #273954; }
.rx-nav-links a:hover { color: var(--rx-brand-blue); }
.rx-search input { background: rgba(7,95,147,.055); border-color: rgba(7,95,147,.08); }
.rx-search input:focus { border-color: rgba(7,95,147,.34); box-shadow: 0 0 0 4px rgba(7,95,147,.08); }
.rx-search button { color: var(--rx-brand-blue); }
.rx-icon-btn { color: #243958; }
.rx-icon-btn:hover { color: var(--rx-brand-blue); border-color: rgba(7,95,147,.18); }
.rx-cart-badge { background: var(--rx-brand-ruby); border-color: #fffdf8; }

/* --------------------------------------------------------------------------
   Hero V4: fewer words, bigger live-product cards, no trust-strip attachment.
   -------------------------------------------------------------------------- */
.rx-home-hero-v4 { padding: 20px 0 18px; }
.rx-hero-stage-v4 {
    min-height: 650px;
    border-radius: 32px;
    background: var(--rx-brand-navy);
    border: 1px solid rgba(22,48,108,.14);
    box-shadow: 0 36px 100px rgba(22,48,108,.20);
}
.rx-hero-stage-v4 .rx-hero-stage-image {
    filter: saturate(.93) contrast(1.035);
}
.rx-hero-stage-v4 .rx-hero-stage-shade {
    background:
        linear-gradient(90deg, rgba(8,22,45,.92) 0%, rgba(9,28,53,.77) 30%, rgba(7,26,44,.24) 58%, rgba(7,20,34,.58) 100%),
        linear-gradient(180deg, rgba(4,18,35,.04), rgba(5,16,28,.42));
}
.rx-hero-brand-aura {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
        radial-gradient(circle at 66% 22%, rgba(83,185,106,.18), transparent 23rem),
        radial-gradient(circle at 87% 18%, rgba(230,195,108,.18), transparent 20rem),
        radial-gradient(circle at 40% 100%, rgba(204,90,27,.14), transparent 26rem),
        radial-gradient(circle at 100% 78%, rgba(163,18,64,.12), transparent 23rem);
    mix-blend-mode: screen;
}
.rx-hero-stage-v4 .rx-hero-primary-copy {
    left: 52px;
    top: 62px;
    width: min(520px, 37%);
}
.rx-hero-stage-v4 .rx-hero-overline {
    color: rgba(255,255,255,.78);
    letter-spacing: .24em;
}
.rx-hero-stage-v4 .rx-hero-primary-copy h1 {
    margin: 18px 0 15px;
    max-width: 540px;
    font-size: clamp(52px, 5.6vw, 82px);
    line-height: .91;
    letter-spacing: -.065em;
    text-wrap: balance;
}
.rx-hero-stage-v4 .rx-hero-kicker {
    display: block;
    width: auto;
    padding: 0;
    border: 0;
    background: transparent;
    backdrop-filter: none;
    color: rgba(255,255,255,.77);
    font-size: 15px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: -.01em;
}
.rx-hero-stage-v4 .rx-hero-actions { margin-top: 24px; }
.rx-hero-stage-v4 .rx-btn-primary {
    background: linear-gradient(135deg, #fffdf7, #f4e9c8);
    color: var(--rx-brand-navy);
    box-shadow: 0 12px 34px rgba(0,0,0,.16);
}
.rx-hero-stage-v4 .rx-btn-primary:hover { box-shadow: 0 16px 38px rgba(230,195,108,.22); }
.rx-hero-stage-v4 .rx-btn-ghost {
    border-color: rgba(255,255,255,.30);
    background: rgba(7,95,147,.18);
}

.rx-hero-stage-v4 .rx-hero-live-products {
    right: 34px;
    bottom: 42px;
    width: min(860px, 57%);
    max-width: none;
}
.rx-hero-rail-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 3px 9px;
    color: rgba(255,255,255,.86);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .13em;
}
.rx-hero-live-indicator {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255,255,255,.66);
}
.rx-hero-live-indicator i {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--rx-brand-green);
    box-shadow: 0 0 0 5px rgba(83,185,106,.12);
}
.rx-hero-stage-v4 .rx-hero-live-track {
    grid-auto-columns: 205px;
    gap: 13px;
    padding: 5px 4px 12px;
    scroll-padding-inline: 4px;
}
.rx-hero-stage-v4 .rx-hero-live-card {
    height: 305px;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.28);
    box-shadow: 0 22px 48px rgba(2,16,30,.25);
}
.rx-hero-stage-v4 .rx-hero-live-card:hover,
.rx-hero-stage-v4 .rx-hero-live-card.is-active {
    transform: translateY(-6px) scale(1.015);
    border-color: rgba(255,255,255,.76);
    box-shadow: 0 28px 58px rgba(2,16,30,.34);
}
.rx-hero-stage-v4 .rx-hero-live-card::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.rx-hero-stage-v4 .rx-hero-live-card-shade {
    background: linear-gradient(180deg, rgba(2,7,14,.02) 31%, rgba(4,13,24,.25) 56%, rgba(4,11,20,.91) 100%);
}
.rx-hero-stage-v4 .rx-hero-live-card-copy {
    left: 16px;
    right: 15px;
    bottom: 17px;
    gap: 5px;
}
.rx-hero-stage-v4 .rx-hero-live-card-copy span { font-size: 9px; color: rgba(255,255,255,.75); }
.rx-hero-stage-v4 .rx-hero-live-card-copy strong { font-size: 14px; line-height: 1.22; }
.rx-hero-stage-v4 .rx-hero-live-card-copy small { font-size: 11px; }
.rx-hero-stage-v4 .rx-hero-live-card > i {
    top: 13px;
    right: 13px;
    width: 34px;
    height: 34px;
    background: rgba(5,21,37,.48);
}
.rx-hero-stage-v4 .rx-hero-carousel-controls { margin-top: 8px; }
.rx-hero-stage-v4 .rx-hero-dots button { background: rgba(255,255,255,.31); }
.rx-hero-stage-v4 .rx-hero-dots button.is-active { background: var(--rx-brand-gold); width: 24px; }
.rx-hero-arrow-group { display: flex; gap: 8px; }
.rx-hero-stage-v4 .rx-hero-arrow {
    width: 40px;
    height: 40px;
    background: rgba(5,21,37,.46);
    border-color: rgba(255,255,255,.26);
}
.rx-hero-stage-v4 .rx-hero-arrow:hover { background: rgba(7,95,147,.58); }
.rx-hero-brand-ribbon {
    position: absolute;
    z-index: 6;
    left: 0;
    right: 0;
    bottom: 0;
    height: 5px;
    display: grid;
    grid-template-columns: repeat(5,1fr);
}
.rx-hero-brand-ribbon span:nth-child(1) { background: var(--rx-brand-ruby); }
.rx-hero-brand-ribbon span:nth-child(2) { background: var(--rx-brand-orange); }
.rx-hero-brand-ribbon span:nth-child(3) { background: var(--rx-brand-gold); }
.rx-hero-brand-ribbon span:nth-child(4) { background: var(--rx-brand-green); }
.rx-hero-brand-ribbon span:nth-child(5) { background: var(--rx-brand-blue); }

/* --------------------------------------------------------------------------
   Category gateway: moved out of the hero and given enough scale to feel like
   real navigation rather than a row of small attached buttons.
   -------------------------------------------------------------------------- */
.rx-category-nav-section { padding: 18px 0 30px; }
.rx-category-nav-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}
.rx-category-nav-head h2 {
    margin-top: 3px;
    font-size: clamp(27px, 3vw, 38px);
    font-weight: 800;
    letter-spacing: -.045em;
    color: var(--rx-ink);
}
.rx-category-grid-v4 { gap: 14px; }
.rx-category-grid-v4 .rx-category-tile {
    --tile-accent: var(--rx-brand-blue);
    min-height: 225px;
    border-radius: 26px;
    border: 1px solid rgba(22,48,108,.10);
    box-shadow: 0 16px 36px rgba(22,48,108,.10);
}
.rx-category-grid-v4 .rx-category-tile::before {
    content: '';
    position: absolute;
    z-index: 4;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--tile-accent);
}
.rx-category-grid-v4 .rx-category-tile::after {
    background: linear-gradient(180deg, rgba(5,13,24,.02) 30%, rgba(5,16,30,.84) 100%);
}
.rx-category-grid-v4 .rx-category-copy {
    inset: auto 20px 20px;
    padding-right: 46px;
}
.rx-category-grid-v4 .rx-category-kicker {
    display: block;
    margin-bottom: 4px;
    color: rgba(255,255,255,.72);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .13em;
}
.rx-category-grid-v4 .rx-category-copy h3 {
    margin: 0;
    font-size: 22px;
    line-height: 1.04;
}
.rx-category-grid-v4 .rx-category-arrow {
    right: 0;
    bottom: 0;
    width: 38px;
    height: 38px;
    color: #fff;
    background: color-mix(in srgb, var(--tile-accent) 74%, transparent);
    border-color: rgba(255,255,255,.34);
}
.rx-category-fashion { --tile-accent: var(--rx-brand-ruby) !important; }
.rx-category-tech { --tile-accent: var(--rx-brand-blue) !important; }
.rx-category-travel { --tile-accent: var(--rx-brand-green) !important; }
.rx-category-tickets { --tile-accent: var(--rx-brand-orange) !important; }
.rx-category-business { --tile-accent: var(--rx-brand-gold) !important; }

/* Product/system accents inherit the Rexius palette without turning every
   surface into a rainbow. */
.rx-product-card { border-color: rgba(22,48,108,.10); }
.rx-product-card:hover { border-color: rgba(7,95,147,.24); box-shadow: 0 20px 45px rgba(22,48,108,.12); }
.rx-product-chip { color: var(--rx-brand-navy); border-color: rgba(230,195,108,.34); }
.rx-rating-stars { color: var(--rx-brand-orange); }
.rx-saving { color: #2d8a51; }
.rx-pagination a.is-active { background: var(--rx-brand-blue); color: #fff; }
.rx-filter-check input:checked { accent-color: var(--rx-brand-blue); }

/* Dark mode now uses deep Rexius navy instead of flat black. */
html[data-theme='dark'] {
    --rx-ink: #f7f3e8;
    --rx-muted: #aebbd0;
    --rx-line: rgba(230,195,108,.13);
    --rx-canvas: #071626;
    --rx-paper: #0c2138;
    --rx-paper-strong: #0d243d;
    --rx-soft: #102c49;
    --rx-shadow: 0 28px 76px rgba(0,0,0,.35);
    --rx-shadow-soft: 0 14px 36px rgba(0,0,0,.25);
    background: #071626;
}
html[data-theme='dark'] body,
html[data-theme='dark'] body.rx-commerce-body {
    background:
        radial-gradient(circle at 8% 0%, rgba(163,18,64,.10), transparent 25rem),
        radial-gradient(circle at 91% 8%, rgba(7,95,147,.18), transparent 32rem),
        #071626;
    color: var(--rx-ink);
}
html[data-theme='dark'] .rx-main-nav {
    background: rgba(7,22,38,.91);
    border-color: rgba(230,195,108,.10);
}
html[data-theme='dark'] .rx-brand-wordmark strong,
html[data-theme='dark'] .rx-nav-links a,
html[data-theme='dark'] .rx-icon-btn { color: #f7f3e8; }
html[data-theme='dark'] .rx-brand-wordmark span { color: #9fcce3; }
html[data-theme='dark'] .rx-search input { background: rgba(255,255,255,.07); border-color: rgba(230,195,108,.10); color:#fff; }
html[data-theme='dark'] .rx-search button { color: #c4dff0; }
html[data-theme='dark'] .rx-cart-badge { background: var(--rx-brand-ruby); border-color: #071626; }
html[data-theme='dark'] .rx-product-card { background: #0d243d; }
html[data-theme='dark'] .rx-product-card--tech .rx-product-media { background: #f2f3f3; }
html[data-theme='dark'] .rx-category-nav-head h2 { color: #f7f3e8; }

/* Responsive hero treatment. */
@media (min-width: 1500px) {
    .rx-hero-stage-v4 .rx-hero-live-products { width: min(970px, 60%); }
    .rx-hero-stage-v4 .rx-hero-live-track { grid-auto-columns: 220px; }
    .rx-hero-stage-v4 .rx-hero-live-card { height: 320px; }
}
@media (max-width: 1180px) {
    .rx-hero-stage-v4 { min-height: 650px; }
    .rx-hero-stage-v4 .rx-hero-primary-copy { width: 42%; left: 38px; top: 48px; }
    .rx-hero-stage-v4 .rx-hero-primary-copy h1 { font-size: clamp(48px,6.2vw,70px); }
    .rx-hero-stage-v4 .rx-hero-live-products { right: 24px; width: 59%; }
    .rx-hero-stage-v4 .rx-hero-live-track { grid-auto-columns: 190px; }
    .rx-hero-stage-v4 .rx-hero-live-card { height: 286px; }
}
@media (max-width: 900px) {
    .rx-hero-stage-v4 { min-height: 760px; }
    .rx-hero-stage-v4 .rx-hero-stage-shade {
        background: linear-gradient(180deg, rgba(7,22,38,.78) 0%, rgba(7,22,38,.55) 38%, rgba(7,22,38,.78) 100%);
    }
    .rx-hero-stage-v4 .rx-hero-primary-copy {
        left: 28px;
        right: 28px;
        top: 38px;
        width: auto;
    }
    .rx-hero-stage-v4 .rx-hero-primary-copy h1 { max-width: 600px; font-size: clamp(50px,10vw,72px); }
    .rx-hero-stage-v4 .rx-hero-live-products {
        left: 28px;
        right: 28px;
        bottom: 34px;
        width: auto;
    }
    .rx-hero-stage-v4 .rx-hero-live-track { grid-auto-columns: 190px; }
    .rx-category-grid-v4 { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .rx-category-grid-v4 .rx-category-tile:nth-child(4),
    .rx-category-grid-v4 .rx-category-tile:nth-child(5) { min-height: 205px; }
}
@media (max-width: 640px) {
    .rx-home-hero-v4 { padding-top: 10px; }
    .rx-hero-stage-v4 { min-height: 700px; border-radius: 25px; }
    .rx-hero-stage-v4 .rx-hero-primary-copy { left: 21px; right: 21px; top: 29px; }
    .rx-hero-stage-v4 .rx-hero-primary-copy h1 { font-size: clamp(45px,14vw,62px); margin-top: 14px; }
    .rx-hero-stage-v4 .rx-hero-kicker { font-size: 13px; }
    .rx-hero-stage-v4 .rx-hero-actions { gap: 8px; margin-top: 18px; }
    .rx-hero-stage-v4 .rx-btn { min-height: 43px; padding-inline: 16px; }
    .rx-hero-stage-v4 .rx-hero-live-products { left: 18px; right: 18px; bottom: 26px; }
    .rx-hero-stage-v4 .rx-hero-live-track { grid-auto-columns: 172px; gap: 10px; }
    .rx-hero-stage-v4 .rx-hero-live-card { height: 258px; border-radius: 20px; }
    .rx-hero-rail-head { margin-bottom: 7px; }
    .rx-category-nav-section { padding-top: 10px; }
    .rx-category-nav-head { align-items: center; }
    .rx-category-nav-head h2 { font-size: 27px; }
    .rx-category-grid-v4 { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .rx-category-grid-v4 .rx-category-tile { min-height: 190px !important; border-radius: 21px; }
    .rx-category-grid-v4 .rx-category-tile:last-child { grid-column: 1 / -1; min-height: 210px !important; }
    .rx-category-grid-v4 .rx-category-copy { inset: auto 15px 15px; }
    .rx-category-grid-v4 .rx-category-copy h3 { font-size: 19px; }
}


/* ========================================================================== 
   REXIUS COMMERCE — RE-IMAGINED V5 / BRAND APPLICATION
   Restores the utility bar, removes the hero rail label, and makes the Rexius
   logo palette visible in working UI states rather than only design tokens.
   ========================================================================== */

/* Utility strip — intentionally restored above the primary header. */
.rx-utility {
    display: block !important;
    height: 32px;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(163,18,64,.18), transparent 22%, transparent 78%, rgba(83,185,106,.12)),
        linear-gradient(90deg, #102a59 0%, var(--rx-brand-navy) 38%, var(--rx-brand-blue) 70%, #0b416b 100%);
    color: #fffaf0;
    border: 0;
    font-size: 9.5px;
    letter-spacing: .025em;
    box-shadow: inset 0 -1px rgba(255,255,255,.08);
}
.rx-utility::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 2px;
    background: linear-gradient(90deg,
        var(--rx-brand-ruby) 0 15%,
        var(--rx-brand-orange) 15% 32%,
        var(--rx-brand-gold) 32% 49%,
        var(--rx-brand-green) 49% 67%,
        var(--rx-brand-blue) 67% 84%,
        #78b9dc 84% 100%);
}
.rx-utility-inner { height: 32px; }
.rx-utility-points { gap: 10px; opacity: .96; }
.rx-utility-points a { color: inherit; transition: opacity .18s ease; }
.rx-utility-points a:hover { opacity: .72; }
.rx-utility-separator { opacity: .38; }
.rx-market-label { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font-weight: 600; }
.rx-market-label svg { width: 7px; opacity: .7; }
.rx-page-spacer { height: 114px; }

/* Main navigation now uses warm Rexius cream with brand-colour active states. */
.rx-main-nav {
    background: rgba(255,253,248,.94);
    box-shadow: 0 9px 28px rgba(22,48,108,.065);
}
.rx-main-nav::after { height: 3px; opacity: .92; }
.rx-nav-links a { position: relative; }
.rx-nav-links a::after {
    content: '';
    position: absolute;
    left: 50%; right: 50%; bottom: -13px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--rx-brand-orange), var(--rx-brand-gold), var(--rx-brand-blue));
    transition: left .2s ease, right .2s ease;
}
.rx-nav-links a:hover::after { left: 0; right: 0; }

/* Brand-led actions. */
.rx-btn-primary,
.rx-filter-apply,
.rx-product-action--primary,
.rx-checkout-primary-action {
    background: linear-gradient(135deg, var(--rx-brand-orange) 0%, #ef9b32 46%, var(--rx-brand-gold) 100%) !important;
    color: #142d56 !important;
    border-color: rgba(216,119,34,.22) !important;
}
.rx-btn-primary:hover,
.rx-filter-apply:hover {
    box-shadow: 0 14px 36px rgba(216,119,34,.22) !important;
}
.rx-text-link { color: var(--rx-brand-blue); }
.rx-text-link:hover { color: var(--rx-brand-orange); }
.rx-product-action:hover { border-color: rgba(7,95,147,.30); color: var(--rx-brand-blue); }
.rx-product-card:hover { border-color: rgba(7,95,147,.30); }

/* Hero — products are the feature; no extra “Featured now / Live shop” label. */
.rx-hero-stage-v4 .rx-hero-live-products { padding-top: 0; }
.rx-hero-stage-v4 .rx-hero-live-track { padding-top: 2px; }
.rx-hero-stage-v4 .rx-hero-live-card { --card-accent: var(--rx-brand-blue); }
.rx-hero-stage-v4 .rx-hero-live-card::after {
    content: '';
    position: absolute;
    z-index: 4;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: var(--card-accent);
    opacity: .9;
}
.rx-hero-stage-v4 .rx-hero-live-card-copy span {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    align-items: center;
    min-height: 21px;
    padding: 4px 8px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: color-mix(in srgb, var(--card-accent) 66%, rgba(6,17,30,.58));
    color: #fff;
    font-size: 8px;
    letter-spacing: .10em;
    text-transform: uppercase;
}
.rx-hero-live-card--fashion { --card-accent: var(--rx-brand-ruby) !important; }
.rx-hero-live-card--tech { --card-accent: var(--rx-brand-blue) !important; }
.rx-hero-live-card--travel { --card-accent: var(--rx-brand-green) !important; }
.rx-hero-live-card--tickets { --card-accent: var(--rx-brand-orange) !important; }
.rx-hero-live-card--consulting { --card-accent: var(--rx-brand-gold) !important; }
.rx-hero-stage-v4 .rx-hero-live-card.is-active { border-color: color-mix(in srgb, var(--card-accent) 72%, #fff); }
.rx-hero-stage-v4 .rx-hero-arrow:hover { background: linear-gradient(135deg, var(--rx-brand-blue), var(--rx-brand-navy)); }

/* Stronger brand expression through category and catalogue controls. */
.rx-category-nav-section {
    background: linear-gradient(180deg, transparent, rgba(230,195,108,.055) 45%, transparent);
}
.rx-category-nav-head h2 { color: var(--rx-brand-navy); }
.rx-filter-sidebar-head strong,
.rx-catalog-toolbar h2 { color: var(--rx-brand-navy); }
.rx-filter-link.is-active { color: var(--rx-brand-blue); }
.rx-filter-search input:focus,
.rx-sort-form select:focus,
.rx-price-inputs input:focus {
    border-color: rgba(7,95,147,.36);
    box-shadow: 0 0 0 3px rgba(7,95,147,.07);
    outline: none;
}
.rx-pagination a.is-active { background: linear-gradient(135deg, var(--rx-brand-blue), var(--rx-brand-navy)); }

/* Dark mode retains the same brand — it is navy, not generic black. */
html[data-theme='dark'] .rx-utility {
    background:
        linear-gradient(90deg, rgba(163,18,64,.15), transparent 25%, rgba(7,95,147,.12)),
        #041a31;
}
html[data-theme='dark'] .rx-main-nav { background: rgba(7,22,38,.94); }
html[data-theme='dark'] .rx-category-nav-head h2,
html[data-theme='dark'] .rx-filter-sidebar-head strong,
html[data-theme='dark'] .rx-catalog-toolbar h2 { color: #f7f3e8; }
html[data-theme='dark'] .rx-btn-primary,
html[data-theme='dark'] .rx-filter-apply { color: #0b2346 !important; }

@media (max-width: 900px) {
    .rx-page-spacer { height: 108px; }
    .rx-utility { height: 28px; }
    .rx-utility-inner { height: 28px; }
    .rx-main-nav { height: 80px; }
    .rx-utility-points { width: 100%; overflow-x: auto; scrollbar-width: none; justify-content: flex-start; }
    .rx-utility-points::-webkit-scrollbar { display: none; }
    .rx-market-label { display: none; }
}
@media (max-width: 640px) {
    .rx-page-spacer { height: 102px; }
    .rx-utility { font-size: 8.5px; }
    .rx-utility-points { gap: 8px; }
    .rx-utility-points span:nth-of-type(3) { display: inline !important; }
    .rx-hero-stage-v4 .rx-hero-live-products { bottom: 24px; }
}

/* ========================================================================== 
   REXIUS COMMERCE — RE-IMAGINED V6 / HOMEPAGE EDITORIAL SYSTEM
   Homepage-only: background hero slider, longer commerce gateways, alternating
   category feature stories. Catalogue/detail/checkout layouts are untouched.
   ========================================================================== */

.rx-home-shell-wide {
    width: min(1660px, calc(100% - 48px));
    margin-inline: auto;
}

/* Hero: products now play as full background slides, never foreground cards. */
.rx-home-hero-v6 { padding: 18px 0 20px; }
.rx-hero-stage-v6 {
    min-height: 660px;
    border-radius: 34px;
    isolation: isolate;
    background: var(--rx-brand-navy);
    border: 1px solid rgba(7,95,147,.20);
    box-shadow: 0 34px 90px rgba(22,48,108,.20);
}
.rx-hero-bg-stack,
.rx-hero-bg-slide {
    position: absolute;
    inset: 0;
    border-radius: inherit;
}
.rx-hero-bg-stack { overflow: hidden; z-index: 0; }
.rx-hero-bg-slide {
    background-position: center;
    background-size: cover;
    opacity: 0;
    transform: scale(1.025);
    transition: opacity .85s ease, transform 6.5s ease;
    will-change: opacity, transform;
}
.rx-hero-bg-slide.is-active { opacity: 1; transform: scale(1.075); }
.rx-hero-stage-v6 .rx-hero-stage-shade {
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(4,19,40,.93) 0%, rgba(5,23,46,.78) 28%, rgba(6,27,49,.39) 49%, rgba(3,16,31,.16) 72%, rgba(3,13,26,.32) 100%),
        linear-gradient(180deg, rgba(3,12,24,.08), rgba(3,13,25,.48));
}
.rx-hero-stage-v6 .rx-hero-brand-aura { z-index: 2; opacity: .65; }
.rx-hero-stage-v6 .rx-hero-primary-copy {
    position: absolute;
    z-index: 4;
    left: clamp(34px, 5vw, 78px);
    top: 50%;
    transform: translateY(-50%);
    width: min(660px, 46%);
    color: #fff;
}
.rx-hero-stage-v6 .rx-hero-overline {
    color: rgba(255,255,255,.78);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .25em;
    text-transform: uppercase;
}
.rx-hero-stage-v6 .rx-hero-primary-copy h1 {
    margin: 20px 0 18px;
    max-width: 670px;
    font-family: 'Manrope', sans-serif;
    font-size: clamp(62px, 6.4vw, 100px);
    font-weight: 850;
    line-height: .90;
    letter-spacing: -.072em;
    text-wrap: balance;
}
.rx-hero-stage-v6 .rx-hero-kicker {
    color: rgba(255,255,255,.80);
    font-size: clamp(14px,1.2vw,18px);
    font-weight: 620;
    letter-spacing: -.015em;
}
.rx-hero-stage-v6 .rx-hero-actions { margin-top: 27px; }
.rx-hero-stage-v6 .rx-btn-primary {
    background: linear-gradient(135deg,#fffdf7,#f4e9c8) !important;
    color: var(--rx-brand-navy) !important;
}
.rx-hero-stage-v6 .rx-btn-ghost {
    border-color: rgba(255,255,255,.32);
    background: rgba(7,95,147,.18);
    color: #fff;
}
.rx-hero-bg-controls {
    position: absolute;
    z-index: 5;
    right: 30px;
    bottom: 28px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 8px 10px 8px 14px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(4,20,37,.32);
    box-shadow: 0 14px 38px rgba(0,0,0,.18);
    backdrop-filter: blur(14px) saturate(145%);
    -webkit-backdrop-filter: blur(14px) saturate(145%);
}
.rx-hero-stage-v6 .rx-hero-dots { display:flex; align-items:center; gap:7px; }
.rx-hero-stage-v6 .rx-hero-dots button {
    width: 7px;
    height: 7px;
    padding: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.40);
    transition: width .22s ease, background .22s ease;
}
.rx-hero-stage-v6 .rx-hero-dots button.is-active {
    width: 26px;
    background: var(--rx-brand-gold);
}
.rx-hero-stage-v6 .rx-hero-arrow {
    width: 38px;
    height: 38px;
    display:grid;
    place-items:center;
    border-radius:999px;
    color:#fff;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(5,21,37,.46);
    transition:.2s ease;
}
.rx-hero-stage-v6 .rx-hero-arrow:hover {
    transform: translateY(-1px);
    background: linear-gradient(135deg,var(--rx-brand-blue),var(--rx-brand-navy));
}

/* Longer category gateways, kept as a distinct navigation section. */
.rx-category-nav-section-v6 { padding: 26px 0 52px; }
.rx-category-nav-section-v6 .rx-category-nav-head { margin-bottom: 19px; }
.rx-category-grid-v6 {
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 16px;
}
.rx-category-grid-v6 .rx-category-tile {
    min-height: 300px;
    border-radius: 30px;
}
.rx-category-grid-v6 .rx-category-tile img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.rx-category-grid-v6 .rx-category-tile:hover img { transform: scale(1.065); }
.rx-category-grid-v6 .rx-category-copy { inset: auto 23px 23px; }
.rx-category-grid-v6 .rx-category-copy h3 { font-size: clamp(21px,1.55vw,29px); }
.rx-category-grid-v6 .rx-category-arrow { width:44px; height:44px; }

/* Alternating category stories. One large product/experience is the feature,
   smaller live catalogue items beside it become its slide controls. */
.rx-home-showcases { padding-bottom: 42px; }
.rx-home-showcase-section {
    --showcase-accent: var(--rx-brand-blue);
    padding: 48px 0 64px;
    position: relative;
}
.rx-home-showcase-section + .rx-home-showcase-section { border-top: 1px solid rgba(22,48,108,.08); }
.rx-home-showcase-section .rx-shell { width: min(1580px, calc(100% - 48px)); }
.rx-home-showcase-section.is-fashion { --showcase-accent: var(--rx-brand-ruby); }
.rx-home-showcase-section.is-tech { --showcase-accent: var(--rx-brand-blue); }
.rx-home-showcase-section.is-travel { --showcase-accent: var(--rx-brand-green); }
.rx-home-showcase-section.is-tickets { --showcase-accent: var(--rx-brand-orange); }
.rx-home-showcase-section.is-business { --showcase-accent: var(--rx-brand-gold); }
.rx-showcase-heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
}
.rx-showcase-heading h2 {
    margin-top:3px;
    color:var(--rx-brand-navy);
    font-size:clamp(32px,3.2vw,48px);
    font-weight:850;
    letter-spacing:-.052em;
    line-height:.98;
}
.rx-showcase-heading p:not(.rx-eyebrow) { margin-top:8px; color:var(--rx-muted); font-size:13px; }
.rx-category-showcase {
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(410px,.78fr);
    gap:18px;
    align-items:stretch;
}
.rx-category-showcase.is-reversed { grid-template-columns:minmax(410px,.78fr) minmax(0,1.55fr); }
.rx-category-showcase.is-reversed .rx-showcase-feature { order:2; }
.rx-category-showcase.is-reversed .rx-showcase-rail { order:1; }
.rx-showcase-feature {
    position:relative;
    min-height:540px;
    border-radius:32px;
    overflow:hidden;
    isolation:isolate;
    background:var(--rx-brand-navy);
    box-shadow:0 26px 70px rgba(22,48,108,.16);
    border:1px solid rgba(22,48,108,.11);
}
.rx-showcase-feature::before {
    content:'';
    position:absolute;
    z-index:5;
    top:0; left:0; right:0;
    height:5px;
    background:var(--showcase-accent);
}
.rx-showcase-feature > img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition: opacity .28s ease, transform .85s cubic-bezier(.2,.7,.2,1);
}
.rx-showcase-feature:hover > img { transform:scale(1.025); }
.rx-showcase-feature.is-changing > img { opacity:.64; }
.rx-showcase-feature-shade {
    position:absolute;
    z-index:1;
    inset:0;
    background:linear-gradient(180deg,rgba(3,13,25,.02) 25%,rgba(3,14,28,.24) 54%,rgba(3,14,28,.91) 100%);
}
.rx-showcase-feature-copy {
    position:absolute;
    z-index:3;
    left:clamp(24px,3.2vw,46px);
    right:clamp(24px,3.2vw,46px);
    bottom:clamp(28px,3.4vw,48px);
    color:#fff;
}
.rx-showcase-feature-copy > span {
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:5px 10px;
    border-radius:999px;
    background:color-mix(in srgb,var(--showcase-accent) 76%,rgba(4,18,34,.7));
    border:1px solid rgba(255,255,255,.24);
    font-size:9px;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.rx-showcase-feature-copy h3 {
    max-width:800px;
    margin:12px 0 8px;
    font-size:clamp(35px,4.1vw,64px);
    line-height:.96;
    font-weight:850;
    letter-spacing:-.058em;
    text-wrap:balance;
}
.rx-showcase-feature-copy p { color:rgba(255,255,255,.82); font-size:15px; font-weight:700; }
.rx-showcase-cta {
    margin-top:20px;
    min-height:44px;
    width:max-content;
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:0 17px;
    border-radius:999px;
    color:var(--rx-brand-navy);
    background:#fffdf7;
    font-size:11px;
    font-weight:850;
    transition:.2s ease;
}
.rx-showcase-cta:hover { transform:translateY(-2px); background:color-mix(in srgb,var(--showcase-accent) 13%,#fffdf7); }
.rx-showcase-feature-controls {
    position:absolute;
    z-index:4;
    right:24px;
    top:24px;
    display:flex;
    gap:8px;
}
.rx-showcase-feature-controls button {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.30);
    border-radius:999px;
    background:rgba(4,18,33,.42);
    color:#fff;
    backdrop-filter:blur(12px);
    transition:.2s ease;
}
.rx-showcase-feature-controls button:hover { background:var(--showcase-accent); transform:translateY(-1px); }
.rx-showcase-rail {
    height:540px;
    display:grid;
    grid-auto-flow:column;
    grid-template-rows:repeat(2,minmax(0,1fr));
    grid-auto-columns:calc(50% - 7px);
    gap:14px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    padding:1px 2px 5px;
}
.rx-showcase-rail::-webkit-scrollbar { display:none; }
.rx-showcase-item {
    position:relative;
    min-width:0;
    min-height:0;
    overflow:hidden;
    border-radius:24px;
    border:1px solid rgba(22,48,108,.10);
    background:#e9e7df;
    box-shadow:0 12px 30px rgba(22,48,108,.08);
    scroll-snap-align:start;
    text-align:left;
    transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.rx-showcase-item::before {
    content:'';
    position:absolute;
    z-index:4;
    top:0; left:0; bottom:0;
    width:4px;
    background:var(--showcase-accent);
    opacity:0;
    transition:.2s ease;
}
.rx-showcase-item:hover,
.rx-showcase-item.is-active {
    transform:translateY(-2px);
    border-color:color-mix(in srgb,var(--showcase-accent) 45%,rgba(22,48,108,.12));
    box-shadow:0 18px 36px rgba(22,48,108,.13);
}
.rx-showcase-item.is-active::before { opacity:1; }
.rx-showcase-item img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.rx-showcase-item:hover img { transform:scale(1.045); }
.rx-showcase-item-shade { position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(3,12,23,.02) 35%,rgba(3,13,25,.85) 100%); }
.rx-showcase-item-copy {
    position:absolute;
    z-index:3;
    left:16px;
    right:16px;
    bottom:15px;
    color:#fff;
    display:grid;
    gap:5px;
}
.rx-showcase-item-copy strong { font-size:13px; line-height:1.2; font-weight:820; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rx-showcase-item-copy small { color:rgba(255,255,255,.76); font-size:10px; font-weight:700; }

html[data-theme='dark'] .rx-showcase-heading h2 { color:#f7f3e8; }
html[data-theme='dark'] .rx-home-showcase-section + .rx-home-showcase-section { border-top-color:rgba(255,255,255,.08); }

@media (max-width: 1180px) {
    .rx-home-shell-wide { width:min(100% - 32px, 1480px); }
    .rx-hero-stage-v6 { min-height:610px; }
    .rx-hero-stage-v6 .rx-hero-primary-copy { width:min(620px,58%); }
    .rx-category-grid-v6 { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .rx-category-grid-v6 .rx-category-tile { min-height:265px; }
    .rx-category-grid-v6 .rx-category-tile:nth-child(4),
    .rx-category-grid-v6 .rx-category-tile:nth-child(5) { min-height:250px; }
    .rx-category-showcase,
    .rx-category-showcase.is-reversed { grid-template-columns:minmax(0,1.35fr) minmax(340px,.8fr); }
    .rx-category-showcase.is-reversed .rx-showcase-feature { order:2; }
    .rx-category-showcase.is-reversed .rx-showcase-rail { order:1; }
    .rx-showcase-feature,
    .rx-showcase-rail { height:500px; min-height:500px; }
}

@media (max-width: 900px) {
    .rx-home-hero-v6 { padding-top:12px; }
    .rx-hero-stage-v6 { min-height:620px; border-radius:28px; }
    .rx-hero-stage-v6 .rx-hero-primary-copy {
        left:30px; right:30px; top:44%; transform:translateY(-50%); width:auto;
    }
    .rx-hero-stage-v6 .rx-hero-primary-copy h1 { font-size:clamp(54px,11vw,76px); max-width:650px; }
    .rx-hero-stage-v6 .rx-hero-stage-shade { background:linear-gradient(180deg,rgba(4,18,35,.72) 0%,rgba(4,18,35,.48) 46%,rgba(4,18,35,.72) 100%); }
    .rx-hero-bg-controls { right:20px; bottom:20px; }
    .rx-category-grid-v6 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rx-category-grid-v6 .rx-category-tile { min-height:260px !important; }
    .rx-category-grid-v6 .rx-category-tile:last-child { grid-column:1/-1; min-height:280px !important; }
    .rx-home-showcase-section .rx-shell { width:min(100% - 32px, 1580px); }
    .rx-category-showcase,
    .rx-category-showcase.is-reversed { grid-template-columns:1fr; }
    .rx-category-showcase.is-reversed .rx-showcase-feature,
    .rx-category-showcase.is-reversed .rx-showcase-rail { order:initial; }
    .rx-showcase-feature { min-height:500px; height:500px; }
    .rx-showcase-rail {
        height:230px;
        grid-template-rows:1fr;
        grid-auto-columns:min(240px,72vw);
    }
}

@media (max-width: 640px) {
    .rx-home-shell-wide { width:calc(100% - 20px); }
    .rx-hero-stage-v6 { min-height:590px; border-radius:24px; }
    .rx-hero-stage-v6 .rx-hero-primary-copy { left:22px; right:22px; top:42%; }
    .rx-hero-stage-v6 .rx-hero-primary-copy h1 { font-size:clamp(47px,15vw,65px); margin-top:14px; }
    .rx-hero-stage-v6 .rx-hero-kicker { font-size:13px; }
    .rx-hero-stage-v6 .rx-hero-actions { gap:8px; margin-top:19px; }
    .rx-hero-stage-v6 .rx-btn { min-height:43px; padding-inline:15px; }
    .rx-hero-bg-controls { left:18px; right:auto; bottom:18px; gap:12px; }
    .rx-hero-stage-v6 .rx-hero-arrow { width:35px; height:35px; }
    .rx-category-nav-section-v6 { padding-top:16px; }
    .rx-category-nav-section-v6 .rx-category-nav-head { align-items:center; }
    .rx-category-grid-v6 { grid-template-columns:1fr; gap:11px; }
    .rx-category-grid-v6 .rx-category-tile,
    .rx-category-grid-v6 .rx-category-tile:last-child { grid-column:auto; min-height:240px !important; border-radius:24px; }
    .rx-home-showcase-section { padding:34px 0 44px; }
    .rx-home-showcase-section .rx-shell { width:calc(100% - 20px); }
    .rx-showcase-heading { align-items:center; }
    .rx-showcase-heading h2 { font-size:34px; }
    .rx-showcase-heading p:not(.rx-eyebrow) { display:none; }
    .rx-showcase-feature { min-height:430px; height:430px; border-radius:26px; }
    .rx-showcase-feature-copy { left:22px; right:22px; bottom:24px; }
    .rx-showcase-feature-copy h3 { font-size:clamp(32px,11vw,47px); }
    .rx-showcase-feature-controls { top:17px; right:17px; }
    .rx-showcase-feature-controls button { width:38px; height:38px; }
    .rx-showcase-rail { height:205px; grid-auto-columns:min(210px,75vw); gap:10px; }
    .rx-showcase-item { border-radius:20px; }
}

@media (prefers-reduced-motion: reduce) {
    .rx-hero-bg-slide,
    .rx-showcase-feature > img,
    .rx-showcase-item,
    .rx-showcase-item img { transition:none !important; }
}

/* ========================================================================== 
   REXIUS COMMERCE V6 — CHECKOUT WORKFLOW
   Presentation only: payment/provider logic remains in checkout.php unchanged.
   ========================================================================== */
.rx-checkout-workflow-page { min-height: calc(100vh - 90px); }
.rx-checkout-heading-compact { margin-bottom: 14px; }
.rx-checkout-heading-compact h1 { font-size: clamp(34px,3.3vw,48px); }
.rx-checkout-workflow-progress { max-width: 560px; margin-bottom: 18px; position: sticky; top: 78px; z-index: 30; padding: 9px 14px; border: 1px solid var(--rx-line); border-radius: 999px; background: color-mix(in srgb,var(--rx-paper-strong) 88%,transparent); backdrop-filter: blur(16px) saturate(140%); box-shadow: 0 12px 34px rgba(22,48,108,.08); }
.rx-checkout-workflow-progress button { display:flex; align-items:center; gap:7px; min-width:0; color:var(--rx-muted); font-size:9px; font-weight:820; transition:.2s ease; }
.rx-checkout-workflow-progress button b { width:24px; height:24px; border-radius:999px; border:1px solid var(--rx-line); display:grid; place-items:center; background:var(--rx-paper-strong); color:var(--rx-muted); }
.rx-checkout-workflow-progress button.is-active { color:var(--rx-brand-navy); }
.rx-checkout-workflow-progress button.is-active b { color:#fff; border-color:transparent; background:linear-gradient(135deg,var(--rx-brand-blue),var(--rx-brand-navy)); box-shadow:0 7px 17px rgba(7,95,147,.22); }
.rx-checkout-workflow-progress button.is-complete b { color:#fff; border-color:transparent; background:linear-gradient(135deg,var(--rx-brand-green),#16844c); }
.rx-checkout-workflow-progress button:disabled { cursor:not-allowed; opacity:.58; }
.rx-checkout-workflow-progress i { flex:1; min-width:28px; max-width:58px; }
.rx-checkout-step-panel { animation:rxWorkflowIn .28s ease both; }
.rx-checkout-step-panel[hidden] { display:none !important; }
@keyframes rxWorkflowIn { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
.rx-workflow-card { min-height: 0; }
.rx-workflow-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:13px; }
.rx-workflow-nav-end { justify-content:flex-end; }
.rx-workflow-nav-start { justify-content:flex-start; }
.rx-workflow-next { min-width:210px; color:#fff; background:linear-gradient(135deg,var(--rx-brand-orange),var(--rx-brand-gold)); box-shadow:0 12px 30px rgba(238,128,28,.18); }
.rx-workflow-next:hover { transform:translateY(-1px); box-shadow:0 17px 34px rgba(238,128,28,.24); }
.rx-workflow-back { color:var(--rx-brand-navy); background:var(--rx-paper-strong); border:1px solid var(--rx-line); }
.rx-payment-methods-workflow { grid-template-columns:repeat(3,minmax(0,1fr)); }
.rx-loyalty-inline { margin-top:13px; padding:15px; border:1px solid color-mix(in srgb,var(--rx-brand-gold) 30%,var(--rx-line)); border-radius:16px; background:linear-gradient(145deg,var(--rx-paper-strong),color-mix(in srgb,var(--rx-brand-gold) 7%,var(--rx-paper-strong))); transition:.2s ease; }
.rx-loyalty-inline.is-context-hidden { display:none; }
.rx-loyalty-inline-head { margin-bottom:8px; }
.rx-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.rx-review-block { min-width:0; min-height:150px; padding:15px; border:1px solid var(--rx-line); border-radius:16px; background:var(--rx-canvas); display:flex; flex-direction:column; align-items:flex-start; }
.rx-review-block > span { color:var(--rx-muted); font-size:8px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.rx-review-block strong { margin-top:11px; color:var(--rx-brand-navy); font-size:13px; line-height:1.3; overflow-wrap:anywhere; }
.rx-review-block small { margin-top:5px; color:var(--rx-muted); font-size:9px; line-height:1.45; overflow-wrap:anywhere; }
.rx-review-block button { margin-top:auto; padding-top:12px; color:var(--rx-brand-blue); font-size:9px; font-weight:850; }
.rx-review-total-strip { margin-top:12px; padding:14px 16px; border-radius:15px; display:flex; align-items:center; justify-content:space-between; background:linear-gradient(110deg,color-mix(in srgb,var(--rx-brand-blue) 8%,var(--rx-paper-strong)),color-mix(in srgb,var(--rx-brand-gold) 10%,var(--rx-paper-strong))); border:1px solid color-mix(in srgb,var(--rx-brand-blue) 16%,var(--rx-line)); }
.rx-review-total-strip span { font-size:10px; font-weight:800; color:var(--rx-muted); }
.rx-review-total-strip strong { color:var(--rx-brand-navy); font-size:22px; letter-spacing:-.035em; }
.rx-workflow-pay-card { margin-top:13px; }
.rx-summary-toggle { width:100%; text-align:left; cursor:default; background:transparent; color:inherit; }
.rx-summary-collapsible { overflow:hidden; transition:max-height .28s ease,opacity .2s ease; max-height:680px; opacity:1; }
.rx-summary-collapsible.is-collapsed { max-height:0; opacity:0; }
html[data-theme='dark'] .rx-checkout-workflow-progress button.is-active { color:#fff; }
html[data-theme='dark'] .rx-review-block strong,
html[data-theme='dark'] .rx-review-total-strip strong { color:#f8f3e8; }

/* V6 homepage refinements: longer category gateways. */
.rx-home-shell-wide { width:min(1760px,calc(100% - 36px)); }
.rx-category-grid-v6 { gap:18px; }
.rx-category-grid-v6 .rx-category-tile { min-height:280px; aspect-ratio:1.22/1; }

@media (max-width: 980px) {
    .rx-checkout-workflow-progress { top:72px; }
    .rx-review-grid { grid-template-columns:1fr 1fr; }
    .rx-review-block:last-child { grid-column:1/-1; min-height:128px; }
}
@media (max-width: 760px) {
    .rx-checkout-workflow-progress { position:static; max-width:100%; padding:8px 10px; margin-bottom:14px; }
    .rx-checkout-workflow-progress button span { display:none; }
    .rx-checkout-workflow-progress button b { width:26px; height:26px; }
    .rx-checkout-heading-compact { margin-bottom:11px; }
    .rx-checkout-heading-compact h1 { font-size:34px; }
    .rx-payment-methods-workflow { grid-template-columns:1fr 1fr; }
    .rx-review-grid { grid-template-columns:1fr; }
    .rx-review-block:last-child { grid-column:auto; }
    .rx-review-block { min-height:118px; }
    .rx-workflow-nav { position:sticky; bottom:8px; z-index:22; padding:8px; border-radius:16px; background:color-mix(in srgb,var(--rx-paper-strong) 92%,transparent); border:1px solid var(--rx-line); backdrop-filter:blur(14px); }
    .rx-workflow-next { min-width:0; flex:1; }
    .rx-workflow-back { flex:0 0 auto; }
    .rx-summary-toggle { cursor:pointer; }
    .rx-checkout-summary { order:0; }
    .rx-checkout-help { display:none; }
}
@media (max-width: 520px) {
    .rx-payment-methods-workflow { grid-template-columns:1fr; }
    .rx-loyalty-fields { grid-template-columns:1fr; }
    .rx-checkout-action-card.rx-workflow-pay-card { grid-template-columns:1fr; }
    .rx-pay-button { width:100%; min-width:0; }
}

/* ========================================================================== 
   REXIUS COMMERCE — RE-IMAGINED V7 / FINAL POLISH
   Header centering, cleaner hero photography, stable editorial homepage,
   theme-aware mobile navigation and a lighter branded footer.
   ========================================================================== */

/* Keep brand colour in the UI, not as decorative racing stripes. */
.rx-utility::after,
.rx-main-nav::after,
.rx-hero-brand-ribbon { display:none !important; }

/* Utility bar: the three store promises are truly centred. */
.rx-utility {
    background: linear-gradient(90deg, #0b2b4b 0%, var(--rx-brand-navy) 52%, #0a4166 100%);
    color:#fffdf7;
    border:0;
}
.rx-utility-inner {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:12px;
}
.rx-utility-points {
    grid-column:2;
    justify-self:center;
    justify-content:center;
    gap:12px;
    overflow:visible;
    text-align:center;
}
.rx-market-label { grid-column:3; justify-self:end; opacity:.78; }
.rx-main-nav { border-bottom:1px solid rgba(22,48,108,.08); box-shadow:0 10px 28px rgba(22,48,108,.045); }

/* Hero: photography first. Text remains legible without hiding the image. */
.rx-home-main { width:100%; overflow:clip; }
.rx-home-hero-v6 { padding:16px 0 22px; }
.rx-hero-stage-v6 {
    min-height:560px;
    border:0;
    border-radius:32px;
    box-shadow:0 28px 72px rgba(22,48,108,.16);
}
.rx-hero-bg-slide { background:none !important; }
.rx-hero-bg-slide img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    filter:saturate(1.03) contrast(1.015);
}
.rx-hero-bg-fashion img { object-position:62% center; }
.rx-hero-bg-tech img { object-position:60% center; }
.rx-hero-bg-travel img { object-position:center center; }
.rx-hero-bg-tickets img { object-position:center center; }
.rx-hero-bg-consulting img { object-position:58% center; }
.rx-hero-stage-v6 .rx-hero-stage-shade {
    background:
        linear-gradient(90deg, rgba(4,18,38,.79) 0%, rgba(4,20,42,.61) 29%, rgba(4,20,39,.24) 50%, rgba(3,15,29,.06) 72%, rgba(3,13,26,.11) 100%),
        linear-gradient(180deg, rgba(3,12,24,.03), rgba(3,13,25,.20));
}
.rx-hero-stage-v6 .rx-hero-brand-aura { opacity:.30; }
.rx-hero-stage-v6 .rx-hero-primary-copy { width:min(560px,45%); }
.rx-hero-stage-v6 .rx-hero-primary-copy h1 {
    max-width:560px;
    margin:16px 0 14px;
    font-size:clamp(48px,4.65vw,76px);
    line-height:.95;
    letter-spacing:-.062em;
}
.rx-hero-stage-v6 .rx-hero-kicker {
    display:block !important;
    width:auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:none !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    color:rgba(255,255,255,.86);
    font-size:14px;
    font-weight:650;
    letter-spacing:0 !important;
    text-transform:none !important;
}
.rx-hero-stage-v6 .rx-hero-actions { margin-top:22px; }
.rx-hero-bg-controls { right:24px; bottom:22px; }

/* Category gateways stay broad on desktop and become a swipeable row on phones. */
.rx-category-nav-section-v6 { padding:26px 0 46px; }
.rx-category-grid-v6 { gap:14px; }
.rx-category-grid-v6 .rx-category-tile {
    min-height:248px;
    aspect-ratio:1.38/1;
    border-radius:27px;
}
.rx-category-grid-v6 .rx-category-copy { inset:auto 21px 20px; }
.rx-category-grid-v6 .rx-category-copy h3 { font-size:clamp(20px,1.38vw,26px); }

/* Stabilise the alternating feature rows below the category gateway. */
.rx-home-showcases { position:relative; isolation:isolate; padding:0 0 34px; }
.rx-home-showcase-section { width:100%; padding:42px 0 54px; overflow:hidden; }
.rx-home-showcase-section:nth-child(even) { background:rgba(7,95,147,.025); }
.rx-category-showcase,
.rx-category-showcase.is-reversed { min-width:0; }
.rx-showcase-feature,
.rx-showcase-rail { min-width:0; height:460px; min-height:460px; }
.rx-showcase-feature { border-radius:28px; }
.rx-showcase-rail { grid-auto-columns:calc(50% - 7px); }
.rx-showcase-heading h2 { font-size:clamp(31px,2.75vw,43px); }
.rx-showcase-feature-copy h3 { font-size:clamp(32px,3.35vw,54px); }

/* Theme-aware mobile menu: no cream panel with white-on-white text in dark mode. */
.rx-mobile-menu {
    color:var(--rx-brand-navy);
    background:
        radial-gradient(circle at 12% 5%, rgba(230,195,108,.19), transparent 20rem),
        radial-gradient(circle at 92% 11%, rgba(7,95,147,.13), transparent 24rem),
        rgba(250,248,241,.97);
}
.rx-mobile-menu .rx-brand,
.rx-mobile-menu .rx-brand-wordmark strong,
.rx-mobile-menu .rx-mobile-menu-links a { color:var(--rx-brand-navy) !important; }
.rx-mobile-menu .rx-brand-wordmark span { color:var(--rx-brand-blue) !important; }
.rx-mobile-menu .rx-mobile-menu-links a { transition:color .18s ease, transform .18s ease; }
.rx-mobile-menu .rx-mobile-menu-links a:hover { color:var(--rx-brand-blue) !important; transform:translateX(4px); }
.rx-mobile-menu .rx-icon-btn { color:var(--rx-brand-navy) !important; border-color:rgba(22,48,108,.10); background:rgba(255,255,255,.58); }
.rx-mobile-menu .rx-search input { background:rgba(255,255,255,.75); color:var(--rx-brand-ink); border-color:rgba(7,95,147,.15); }
.rx-mobile-track { color:#fff !important; background:linear-gradient(135deg,var(--rx-brand-blue),var(--rx-brand-navy)); }
.rx-mobile-appearance { color:var(--rx-brand-navy) !important; background:rgba(255,255,255,.72); border:1px solid rgba(22,48,108,.14); }
html[data-theme='dark'] .rx-mobile-menu {
    color:#f8f3e8;
    background:
        radial-gradient(circle at 12% 5%, rgba(163,18,64,.16), transparent 20rem),
        radial-gradient(circle at 92% 11%, rgba(7,95,147,.22), transparent 24rem),
        rgba(7,22,38,.985);
}
html[data-theme='dark'] .rx-mobile-menu .rx-brand,
html[data-theme='dark'] .rx-mobile-menu .rx-brand-wordmark strong,
html[data-theme='dark'] .rx-mobile-menu .rx-mobile-menu-links a,
html[data-theme='dark'] .rx-mobile-menu .rx-icon-btn { color:#f8f3e8 !important; }
html[data-theme='dark'] .rx-mobile-menu .rx-brand-wordmark span { color:#9fd2e8 !important; }
html[data-theme='dark'] .rx-mobile-menu .rx-search input { background:rgba(255,255,255,.07); color:#fff; border-color:rgba(230,195,108,.15); }
html[data-theme='dark'] .rx-mobile-appearance { color:#f8f3e8 !important; background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14); }

/* Footer: light and branded in light mode; navy rather than black in dark mode. */
.rx-site-footer {
    border-top:1px solid rgba(22,48,108,.10);
    background:
        radial-gradient(circle at 8% 12%, rgba(230,195,108,.17), transparent 23rem),
        radial-gradient(circle at 92% 8%, rgba(7,95,147,.10), transparent 29rem),
        linear-gradient(135deg,#f4f7f7 0%,#f9f5ea 100%);
    color:var(--rx-brand-navy);
}
.rx-footer-logo { width:44px; height:44px; display:grid; place-items:center; }
.rx-footer-brand { color:var(--rx-brand-navy); }
.rx-footer-brand > span:last-child > span { color:var(--rx-brand-blue); }
.rx-footer-copy { color:#617084; }
.rx-footer-label { color:var(--rx-brand-blue); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.16em; }
.rx-footer-links { color:#43536b; }
.rx-footer-links a { transition:color .18s ease; }
.rx-footer-links a:hover { color:var(--rx-brand-orange); }
.rx-footer-social { width:40px; height:40px; display:grid; place-items:center; border-radius:999px; color:var(--rx-brand-navy); border:1px solid rgba(22,48,108,.12); background:rgba(255,255,255,.58); transition:.2s ease; }
.rx-footer-social:hover { color:#fff; background:linear-gradient(135deg,var(--rx-brand-blue),var(--rx-brand-navy)); border-color:transparent; transform:translateY(-1px); }
.rx-footer-newsletter { border:1px solid rgba(22,48,108,.12); background:rgba(255,255,255,.58); }
.rx-footer-newsletter input { color:var(--rx-brand-ink); }
.rx-footer-newsletter input::placeholder { color:#8a94a3; }
.rx-footer-subscribe { color:#fff; background:linear-gradient(135deg,var(--rx-brand-orange),var(--rx-brand-gold)); }
.rx-footer-payments { color:#718096; }
.rx-footer-bottom { color:#768498; border-top:1px solid rgba(22,48,108,.10); }
.rx-footer-bottom button:hover { color:var(--rx-brand-blue); }
.rx-mobile-bottom-nav { color:var(--rx-brand-navy); background:rgba(250,248,241,.94); border-top:1px solid rgba(22,48,108,.11); box-shadow:0 -14px 38px rgba(22,48,108,.08); backdrop-filter:blur(20px) saturate(145%); }
.rx-mobile-bottom-nav a:nth-child(1) i { color:var(--rx-brand-ruby); }
.rx-mobile-bottom-nav a:nth-child(2) i { color:var(--rx-brand-blue); }
.rx-mobile-bottom-nav a:nth-child(3) i { color:var(--rx-brand-green); }
.rx-mobile-bottom-nav a:nth-child(4) i { color:var(--rx-brand-orange); }
.rx-mobile-bottom-nav a:nth-child(5) i { color:#b58e31; }
html[data-theme='dark'] .rx-site-footer {
    color:#f8f3e8;
    border-top-color:rgba(230,195,108,.10);
    background:
        radial-gradient(circle at 8% 12%, rgba(163,18,64,.10), transparent 23rem),
        radial-gradient(circle at 92% 8%, rgba(7,95,147,.19), transparent 29rem),
        linear-gradient(135deg,#0a2741 0%,#103654 100%);
}
html[data-theme='dark'] .rx-footer-brand { color:#f8f3e8; }
html[data-theme='dark'] .rx-footer-copy,
html[data-theme='dark'] .rx-footer-links { color:#bdc9d8; }
html[data-theme='dark'] .rx-footer-label { color:#9fd2e8; }
html[data-theme='dark'] .rx-footer-social { color:#f8f3e8; border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.05); }
html[data-theme='dark'] .rx-footer-newsletter { border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.05); }
html[data-theme='dark'] .rx-footer-newsletter input { color:#fff; }
html[data-theme='dark'] .rx-footer-payments,
html[data-theme='dark'] .rx-footer-bottom { color:#9eb0c4; }
html[data-theme='dark'] .rx-footer-bottom { border-top-color:rgba(255,255,255,.09); }
html[data-theme='dark'] .rx-mobile-bottom-nav { color:#f8f3e8; background:rgba(8,31,51,.95); border-top-color:rgba(255,255,255,.10); }

@media (max-width:900px) {
    .rx-utility-inner { grid-template-columns:1fr; }
    .rx-utility-points { grid-column:1; justify-self:center; width:auto; max-width:100%; overflow:visible; justify-content:center; }
    .rx-market-label { display:none; }
    .rx-hero-stage-v6 { min-height:500px; }
    .rx-hero-stage-v6 .rx-hero-primary-copy { top:46%; width:min(500px,72%); }
    .rx-hero-stage-v6 .rx-hero-primary-copy h1 { font-size:clamp(42px,8.5vw,60px); max-width:500px; }
    .rx-hero-stage-v6 .rx-hero-stage-shade { background:linear-gradient(90deg,rgba(4,18,38,.76),rgba(4,18,38,.45) 52%,rgba(4,18,38,.12)),linear-gradient(180deg,rgba(4,18,38,.10),rgba(4,18,38,.24)); }
    .rx-category-grid-v6 .rx-category-tile { aspect-ratio:auto; }
    .rx-showcase-feature,.rx-showcase-rail { height:430px; min-height:430px; }
}

@media (max-width:640px) {
    .rx-page-spacer { height:100px; }
    .rx-utility { height:27px; font-size:7.5px; letter-spacing:0; }
    .rx-utility-inner { width:100%; padding-inline:6px; }
    .rx-utility-points { gap:5px; white-space:nowrap; }
    .rx-utility-separator { opacity:.40; }
    .rx-main-nav { height:73px; }
    .rx-main-nav-inner { width:calc(100% - 18px); }
    .rx-brand img { width:32px; height:32px; }
    .rx-brand-wordmark strong { font-size:17px; }
    .rx-brand-wordmark span { font-size:8px; }

    .rx-home-shell-wide { width:calc(100% - 18px); }
    .rx-home-hero-v6 { padding-top:10px; }
    .rx-hero-stage-v6 { min-height:465px; border-radius:23px; }
    .rx-hero-stage-v6 .rx-hero-primary-copy { left:21px; right:21px; top:44%; width:auto; }
    .rx-hero-stage-v6 .rx-hero-primary-copy h1 { font-size:clamp(38px,11vw,48px); line-height:.96; margin:12px 0 11px; max-width:360px; }
    .rx-hero-stage-v6 .rx-hero-overline { font-size:9px; letter-spacing:.20em; }
    .rx-hero-stage-v6 .rx-hero-kicker { font-size:12px; }
    .rx-hero-stage-v6 .rx-hero-actions { margin-top:17px; }
    .rx-hero-stage-v6 .rx-btn { min-height:41px; padding-inline:14px; font-size:11px; }
    .rx-hero-bg-controls { left:auto; right:15px; bottom:14px; padding:6px 8px 6px 10px; }
    .rx-hero-stage-v6 .rx-hero-arrow { width:32px; height:32px; }
    .rx-hero-bg-fashion img,.rx-hero-bg-tech img,.rx-hero-bg-consulting img { object-position:64% center; }

    .rx-category-nav-section-v6 { padding:18px 0 32px; }
    .rx-category-nav-section-v6 .rx-category-nav-head { margin-bottom:14px; }
    .rx-category-nav-section-v6 .rx-category-nav-head h2 { font-size:28px; }
    .rx-category-grid-v6 {
        display:grid;
        grid-template-columns:none !important;
        grid-auto-flow:column;
        grid-auto-columns:min(78vw,330px);
        gap:11px;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        padding:1px 1px 8px;
    }
    .rx-category-grid-v6::-webkit-scrollbar { display:none; }
    .rx-category-grid-v6 .rx-category-tile,
    .rx-category-grid-v6 .rx-category-tile:last-child { grid-column:auto !important; min-height:215px !important; border-radius:22px; scroll-snap-align:start; }

    .rx-home-showcase-section { padding:30px 0 38px; }
    .rx-home-showcase-section .rx-shell { width:calc(100% - 18px); }
    .rx-showcase-heading { margin-bottom:14px; gap:12px; }
    .rx-showcase-heading h2 { font-size:30px; }
    .rx-category-showcase,.rx-category-showcase.is-reversed { gap:11px; }
    .rx-showcase-feature { height:380px; min-height:380px; border-radius:23px; }
    .rx-showcase-feature-copy { left:20px; right:20px; bottom:22px; }
    .rx-showcase-feature-copy h3 { font-size:clamp(29px,9vw,40px); }
    .rx-showcase-rail { height:188px; min-height:188px; grid-template-rows:1fr; grid-auto-columns:min(205px,72vw); }
    .rx-showcase-item { border-radius:18px; }

    .rx-mobile-menu .rx-mobile-menu-links { font-size:28px; line-height:1.5; }
    .rx-mobile-menu-actions { flex-wrap:wrap; }
    .rx-mobile-menu-actions .rx-btn { min-height:44px; }
}

/* ========================================================================== 
   V8 HOMEPAGE TYPOGRAPHY + CATEGORY GATEWAY FIX
   Scope: index-page visual rhythm only. Prevents gateway text collisions and
   reduces oversized display type across the homepage.
   ========================================================================== */
.rx-home-main .rx-hero-stage-v6 .rx-hero-primary-copy h1 {
    font-size: clamp(42px, 4vw, 64px);
    line-height: .98;
    letter-spacing: -.052em;
    max-width: 520px;
}

.rx-category-nav-section-v6 .rx-category-nav-head {
    align-items: end;
    gap: 20px;
    margin-bottom: 18px;
}
.rx-category-nav-section-v6 .rx-category-nav-head > div { min-width: 0; }
.rx-category-nav-section-v6 .rx-category-nav-head h2 {
    margin: 2px 0 0;
    font-size: clamp(26px, 2.15vw, 34px);
    line-height: 1.05;
    letter-spacing: -.035em;
    text-wrap: balance;
}
.rx-category-nav-section-v6 .rx-category-nav-head .rx-eyebrow {
    font-size: 9px;
    letter-spacing: .17em;
}
.rx-category-nav-section-v6 .rx-text-link {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 11px;
}

/* Five across only when there is genuinely enough room. At mid-sized desktop
   widths we use a 3 + 2 composition so the cards stay long and readable. */
.rx-category-grid-v6 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}
.rx-category-grid-v6 .rx-category-tile {
    min-width: 0;
    min-height: 238px;
    aspect-ratio: 1.34 / 1;
    border-radius: 25px;
}
.rx-category-grid-v6 .rx-category-copy {
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding-right: 54px;
    min-width: 0;
}
.rx-category-grid-v6 .rx-category-kicker {
    margin-bottom: 5px;
    font-size: 8px;
    letter-spacing: .12em;
}
.rx-category-grid-v6 .rx-category-copy h3 {
    margin: 0;
    max-width: 100%;
    font-size: clamp(17px, 1.1vw, 22px);
    line-height: 1.08;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}
.rx-category-grid-v6 .rx-category-arrow {
    width: 38px;
    height: 38px;
}

/* Editorial rows: still premium, but no billboard-sized type. */
.rx-showcase-heading h2 {
    font-size: clamp(27px, 2.35vw, 37px);
    line-height: 1.02;
    letter-spacing: -.04em;
}
.rx-showcase-heading p:not(.rx-eyebrow) { font-size: 12px; }
.rx-showcase-feature-copy h3 {
    max-width: 720px;
    font-size: clamp(29px, 2.9vw, 46px);
    line-height: 1;
    letter-spacing: -.045em;
}
.rx-showcase-feature-copy p { font-size: 13px; }

@media (max-width: 1450px) and (min-width: 901px) {
    .rx-category-grid-v6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 14px;
    }
    .rx-category-grid-v6 .rx-category-tile { grid-column: span 2; min-height: 225px; aspect-ratio: 1.55 / 1; }
    .rx-category-grid-v6 .rx-category-tile:nth-child(4),
    .rx-category-grid-v6 .rx-category-tile:nth-child(5) { grid-column: span 3; }
    .rx-category-grid-v6 .rx-category-copy h3 { font-size: clamp(17px, 1.55vw, 21px); }
}

@media (max-width: 900px) {
    .rx-home-main .rx-hero-stage-v6 .rx-hero-primary-copy h1 {
        font-size: clamp(38px, 7.5vw, 52px);
        max-width: 450px;
    }
    .rx-category-nav-section-v6 .rx-category-nav-head h2 { font-size: 28px; }
    .rx-category-grid-v6 .rx-category-copy h3 { font-size: 20px; }
    .rx-showcase-heading h2 { font-size: 30px; }
    .rx-showcase-feature-copy h3 { font-size: clamp(28px, 6vw, 40px); }
}

@media (max-width: 640px) {
    .rx-home-main .rx-hero-stage-v6 .rx-hero-primary-copy h1 {
        font-size: clamp(34px, 9.5vw, 42px);
        line-height: 1;
        max-width: 320px;
    }
    .rx-category-nav-section-v6 .rx-category-nav-head {
        align-items: center;
        gap: 10px;
    }
    .rx-category-nav-section-v6 .rx-category-nav-head h2 { font-size: 24px; }
    .rx-category-nav-section-v6 .rx-text-link { font-size: 10px; }
    .rx-category-grid-v6 { grid-auto-columns: min(82vw, 318px); }
    .rx-category-grid-v6 .rx-category-tile,
    .rx-category-grid-v6 .rx-category-tile:last-child {
        min-height: 205px !important;
        aspect-ratio: 1.48 / 1;
    }
    .rx-category-grid-v6 .rx-category-copy { left: 16px; right: 16px; bottom: 16px; padding-right: 48px; }
    .rx-category-grid-v6 .rx-category-copy h3 { font-size: 19px; }
    .rx-category-grid-v6 .rx-category-arrow { width: 35px; height: 35px; }
    .rx-showcase-heading h2 { font-size: 26px; }
    .rx-showcase-feature-copy h3 { font-size: clamp(26px, 8vw, 34px); }
}

/* ========================================================================== 
   REXIUS COMMERCE — ECOSYSTEM ALIGNMENT V8 / 2026-10-10
   Shared Rexius language:
     Main site  : navy / blue / orange
     MHPSS      : deep green / mint / orange
     Commerce   : shared core palette with a DISTINCT aubergine footer
   The footer deliberately does not reuse the corporate navy footer so each
   Rexius property remains visually identifiable while still feeling related.
   ========================================================================== */
:root {
    --rx-brand-navy: #032356;
    --rx-brand-navy-deep: #02183D;
    --rx-brand-blue: #0161AF;
    --rx-brand-orange: #F88005;
    --rx-brand-orange-dark: #C85F00;
    --rx-brand-gold: #FABF32;
    --rx-brand-green: #1DC487;
    --rx-brand-teal: #1DC487;
    --rx-brand-teal-dark: #12946A;
    --rx-brand-purple: #64058A;
    --rx-brand-ruby: #8E1E52;
    --rx-brand-ink: #1F2937;
    --rx-brand-cream: #F7FAFD;

    --rx-ink: #1F2937;
    --rx-muted: #64748B;
    --rx-line: rgba(3,35,86,.11);
    --rx-canvas: #F5F8FC;
    --rx-paper: #FFFFFF;
    --rx-paper-strong: #FFFFFF;
    --rx-soft: #EEF4FB;
    --rx-accent: var(--rx-brand-orange);
    --rx-navy: var(--rx-brand-navy);
    --rx-green: var(--rx-brand-green);
    --rx-blue: var(--rx-brand-blue);
    --rx-shadow: 0 24px 68px rgba(3,35,86,.12);
    --rx-shadow-soft: 0 12px 32px rgba(3,35,86,.075);

    /* Commerce-only footer identity. Deliberately separate from main navy. */
    --rx-shop-footer-1: #2A103B;
    --rx-shop-footer-2: #3B1652;
    --rx-shop-footer-3: #191126;
    --rx-shop-footer-copy: #D8CCE3;
    --rx-shop-footer-muted: #AC9AB9;
    --rx-shop-footer-line: rgba(250,191,50,.16);
}

html,
body.rx-commerce-body,
body {
    background:
        radial-gradient(circle at 7% 0%, rgba(248,128,5,.065), transparent 25rem),
        radial-gradient(circle at 94% 9%, rgba(1,97,175,.065), transparent 31rem),
        linear-gradient(180deg,#FBFCFF 0%,var(--rx-canvas) 55%,#EEF4FB 100%);
    color: var(--rx-ink);
    font-family: Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.rx-commerce-body h1,
body.rx-commerce-body h2,
body.rx-commerce-body h3,
body.rx-commerce-body h4,
body.rx-commerce-body .font-display,
.rx-display { font-family: Manrope,Inter,system-ui,sans-serif; letter-spacing:-.03em; }
*:focus-visible { outline:2px solid var(--rx-brand-blue); outline-offset:3px; }
::selection { background:var(--rx-brand-orange); color:#fff; }

/* Header now speaks the same visual language as rexiuslited.co.ke. */
.rx-utility {
    background:linear-gradient(90deg,var(--rx-brand-navy-deep) 0%,var(--rx-brand-navy) 54%,var(--rx-brand-blue) 100%);
    color:#fff;
}
.rx-main-nav {
    background:rgba(255,255,255,.93);
    border-bottom:1px solid rgba(3,35,86,.08);
    box-shadow:0 10px 30px rgba(3,35,86,.045);
    backdrop-filter:blur(18px) saturate(145%);
    -webkit-backdrop-filter:blur(18px) saturate(145%);
}
.rx-brand-wordmark strong { color:var(--rx-brand-navy); }
.rx-brand-wordmark span { color:var(--rx-brand-orange); }
.rx-nav-links a { color:#526075; }
.rx-nav-links a:hover { color:var(--rx-brand-navy); }
.rx-search input {
    background:#F7FAFD;
    border-color:rgba(3,35,86,.11);
    color:var(--rx-ink);
}
.rx-search input:focus { background:#fff; border-color:rgba(1,97,175,.34); box-shadow:0 0 0 4px rgba(1,97,175,.09); }
.rx-search button,.rx-icon-btn:hover { color:var(--rx-brand-blue); }
.rx-icon-btn { color:var(--rx-brand-navy); }
.rx-cart-badge { background:var(--rx-brand-orange); border-color:#fff; }

/* Shared Rexius surface treatment across catalogue, detail and checkout pages. */
.rx-surface,
.rx-detail-panel,
.rx-checkout-panel,
.rx-checkout-card,
.rx-product-card,
.rx-filter-panel,
.rx-modal-card {
    border-color:rgba(3,35,86,.10);
    box-shadow:var(--rx-shadow-soft);
}
.rx-surface,
.rx-detail-panel,
.rx-checkout-panel,
.rx-checkout-card,
.rx-filter-panel { background:rgba(255,255,255,.96); }
.rx-eyebrow { color:var(--rx-brand-orange); font-weight:850; }
.rx-text-link { color:var(--rx-brand-blue); }
.rx-text-link:hover { color:var(--rx-brand-orange); }
.rx-rating-stars { color:var(--rx-brand-gold); }
.rx-price,.rx-detail-price { color:var(--rx-brand-navy); }
.rx-form-field,
.rx-checkout-form input,
.rx-checkout-form select,
.rx-checkout-form textarea {
    border-color:rgba(3,35,86,.13);
    background:#fff;
    color:var(--rx-ink);
}
.rx-form-field:focus,
.rx-checkout-form input:focus,
.rx-checkout-form select:focus,
.rx-checkout-form textarea:focus { border-color:var(--rx-brand-blue); box-shadow:0 0 0 4px rgba(1,97,175,.09); }
.rx-total-box { background:linear-gradient(135deg,rgba(1,97,175,.06),rgba(248,128,5,.06)); border-color:rgba(3,35,86,.09); }

/* Standardise primary actions to the same orange used on the main site. */
.rx-btn.bg-black,
.rx-product-action--primary,
.rx-workflow-next,
.rx-pay-button,
button.bg-black,
a.bg-black {
    background:linear-gradient(135deg,var(--rx-brand-orange),var(--rx-brand-orange-dark)) !important;
    color:#fff !important;
    border-color:transparent !important;
    box-shadow:0 12px 28px rgba(248,128,5,.18);
}
.rx-btn.bg-black:hover,
.rx-product-action--primary:hover,
.rx-workflow-next:hover,
.rx-pay-button:hover { transform:translateY(-1px); box-shadow:0 16px 32px rgba(248,128,5,.24); }

/* Category identity is deliberate but uses the same Rexius core palette. */
.rx-category-fashion { --tile-accent:var(--rx-brand-purple) !important; }
.rx-category-tech { --tile-accent:var(--rx-brand-blue) !important; }
.rx-category-travel { --tile-accent:var(--rx-brand-teal) !important; }
.rx-category-tickets { --tile-accent:var(--rx-brand-orange) !important; }
.rx-category-business { --tile-accent:var(--rx-brand-gold) !important; }
.rx-home-showcase-section.is-fashion { --showcase-accent:var(--rx-brand-purple); }
.rx-home-showcase-section.is-tech { --showcase-accent:var(--rx-brand-blue); }
.rx-home-showcase-section.is-travel { --showcase-accent:var(--rx-brand-teal); }
.rx-home-showcase-section.is-tickets { --showcase-accent:var(--rx-brand-orange); }
.rx-home-showcase-section.is-business { --showcase-accent:var(--rx-brand-gold); }

/* Product/catalogue cards: slightly brighter and more corporate than the old
   cream boutique skin, without losing the editorial commerce character. */
.rx-product-card { background:#fff; }
.rx-product-card:hover { border-color:rgba(1,97,175,.19); box-shadow:0 20px 48px rgba(3,35,86,.12); }
.rx-product-chip { color:var(--rx-brand-navy); border-color:rgba(250,191,50,.32); background:#FFF9E9; }
.rx-pagination a.is-active { background:linear-gradient(135deg,var(--rx-brand-blue),var(--rx-brand-navy)); }
.rx-filter-link.is-active { color:var(--rx-brand-blue); }

/* Mobile menu follows the corporate light-panel language. */
.rx-mobile-menu {
    color:var(--rx-brand-navy);
    background:
        radial-gradient(circle at 12% 5%, rgba(248,128,5,.09), transparent 20rem),
        radial-gradient(circle at 92% 11%, rgba(1,97,175,.11), transparent 24rem),
        rgba(255,255,255,.985);
}
.rx-mobile-menu .rx-brand,
.rx-mobile-menu .rx-brand-wordmark strong,
.rx-mobile-menu .rx-mobile-menu-links a { color:var(--rx-brand-navy)!important; }
.rx-mobile-menu .rx-brand-wordmark span { color:var(--rx-brand-orange)!important; }
.rx-mobile-track { background:linear-gradient(135deg,var(--rx-brand-blue),var(--rx-brand-navy)); }

/* --------------------------------------------------------------------------
   COMMERCE FOOTER — DISTINCT FROM THE MAIN WEBSITE
   Main footer = corporate deep navy (#02183D)
   MHPSS footer = wellbeing forest (#071611)
   Shop footer = commerce aubergine/plum (#2A103B → #3B1652)
   -------------------------------------------------------------------------- */
.rx-site-footer.rx-shop-footer {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border-top:0;
    color:#fff;
    background:
        radial-gradient(circle at 7% 8%, rgba(248,128,5,.18), transparent 24rem),
        radial-gradient(circle at 88% 4%, rgba(100,5,138,.28), transparent 30rem),
        radial-gradient(circle at 65% 110%, rgba(1,97,175,.15), transparent 27rem),
        linear-gradient(135deg,var(--rx-shop-footer-1) 0%,var(--rx-shop-footer-2) 53%,var(--rx-shop-footer-3) 100%);
}
.rx-shop-footer::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    opacity:.16;
    background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
    background-size:38px 38px;
    mask-image:linear-gradient(to bottom,black,transparent 72%);
}
.rx-shop-footer-accent {
    position:absolute;
    inset:0 0 auto;
    height:5px;
    background:linear-gradient(90deg,var(--rx-brand-orange),var(--rx-brand-gold),var(--rx-brand-purple),var(--rx-brand-blue));
}
.rx-shop-footer-intro {
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(300px,.7fr);
    gap:3rem;
    align-items:end;
    padding-bottom:2rem;
    border-bottom:1px solid var(--rx-shop-footer-line);
}
.rx-shop-footer-kicker {
    margin:0 0 .65rem;
    color:var(--rx-brand-gold);
    font-size:.66rem;
    font-weight:900;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.rx-shop-footer-intro h2 {
    margin:0;
    max-width:760px;
    color:#fff;
    font-size:clamp(2rem,3.2vw,3.35rem);
    line-height:1.02;
}
.rx-shop-footer-intro>p { margin:0; max-width:510px; color:var(--rx-shop-footer-copy); font-size:.88rem; line-height:1.75; }
.rx-shop-footer .rx-footer-logo {
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:#fff;
    box-shadow:0 12px 28px rgba(0,0,0,.20);
}
.rx-shop-footer .rx-footer-brand { color:#fff; }
.rx-shop-footer .rx-footer-brand > span:last-child > span { color:var(--rx-brand-gold); }
.rx-shop-footer .rx-footer-copy { color:var(--rx-shop-footer-copy); }
.rx-shop-footer .rx-footer-label { color:#FFB66A; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.16em; }
.rx-shop-footer .rx-footer-links { color:#DDD0E8; }
.rx-shop-footer .rx-footer-links a { color:inherit; transition:color .18s ease,transform .18s ease; }
.rx-shop-footer .rx-footer-links a:hover { color:#fff; transform:translateX(2px); }
.rx-shop-footer .rx-footer-social {
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:999px;
    color:#fff;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.07);
    transition:.2s ease;
}
.rx-shop-footer .rx-footer-social:hover { color:var(--rx-shop-footer-1); background:var(--rx-brand-gold); border-color:transparent; transform:translateY(-2px); }
.rx-shop-footer .rx-footer-newsletter {
    display:grid;
    gap:.55rem;
    padding:0;
    border:0;
    background:transparent;
}
.rx-shop-footer .rx-footer-newsletter input[type="text"],
.rx-shop-footer .rx-footer-newsletter input[type="email"] {
    width:100%;
    min-width:0;
    border:1px solid rgba(255,255,255,.15);
    border-radius:13px;
    background:rgba(255,255,255,.08);
    color:#fff;
    padding:.8rem .9rem;
    font-size:.76rem;
    outline:none;
}
.rx-shop-footer .rx-footer-newsletter input::placeholder { color:#BBAAC7; }
.rx-shop-footer .rx-footer-newsletter input:focus { border-color:rgba(250,191,50,.62); box-shadow:0 0 0 4px rgba(250,191,50,.08); }
.rx-shop-footer .rx-footer-subscribe {
    min-height:43px;
    border:0;
    border-radius:13px;
    padding:.78rem 1rem;
    color:#fff;
    background:linear-gradient(135deg,var(--rx-brand-orange),var(--rx-brand-orange-dark));
    font-size:.72rem;
    font-weight:900;
    cursor:pointer;
    transition:.2s ease;
}
.rx-shop-footer .rx-footer-subscribe:hover { transform:translateY(-1px); box-shadow:0 12px 28px rgba(248,128,5,.25); }
.rx-shop-footer .rx-footer-subscribe:disabled { opacity:.7; cursor:wait; }
.rx-shop-footer .rx-footer-payments { color:#C2B2CE; }
.rx-shop-footer .rx-footer-payments span { padding:.36rem .55rem; border:1px solid rgba(255,255,255,.10); border-radius:999px; background:rgba(255,255,255,.045); }
.rx-shop-footer .rx-footer-bottom { color:var(--rx-shop-footer-muted); border-top:1px solid var(--rx-shop-footer-line); }
.rx-shop-footer .rx-footer-bottom button:hover { color:#fff; }
.rx-footer-privacy-note { margin:.7rem 0 0; color:#9D8AAC; font-size:.62rem; line-height:1.55; }
.rx-form-honeypot { position:absolute!important; left:-10000px!important; top:auto!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.rx-shop-turnstile { margin-top:.15rem; max-width:100%; overflow:hidden; }

/* Keep mobile commerce navigation light so the aubergine footer remains a
   deliberate destination rather than blending into a second dark navigation. */
.rx-mobile-bottom-nav {
    color:var(--rx-brand-navy);
    background:rgba(255,255,255,.96);
    border-top:1px solid rgba(3,35,86,.10);
    box-shadow:0 -14px 38px rgba(3,35,86,.09);
    backdrop-filter:blur(20px) saturate(145%);
}
.rx-mobile-bottom-nav a:nth-child(1) i { color:var(--rx-brand-purple); }
.rx-mobile-bottom-nav a:nth-child(2) i { color:var(--rx-brand-blue); }
.rx-mobile-bottom-nav a:nth-child(3) i { color:var(--rx-brand-teal); }
.rx-mobile-bottom-nav a:nth-child(4) i { color:var(--rx-brand-orange); }
.rx-mobile-bottom-nav a:nth-child(5) i { color:#A87900; }

/* Dark-mode content stays Rexius navy/blue. The commerce footer deliberately
   remains aubergine in both modes to preserve cross-site recognition. */
html[data-theme='dark'] {
    --rx-ink:#E7EDF5;
    --rx-muted:#AEBBCB;
    --rx-line:rgba(255,255,255,.10);
    --rx-canvas:#071729;
    --rx-paper:#0D2239;
    --rx-paper-strong:#102A45;
    --rx-soft:#0A1D31;
}
html[data-theme='dark'],
html[data-theme='dark'] body.rx-commerce-body,
html[data-theme='dark'] body {
    background:
        radial-gradient(circle at 8% 0%,rgba(248,128,5,.08),transparent 26rem),
        radial-gradient(circle at 94% 11%,rgba(1,97,175,.16),transparent 32rem),
        #071729;
    color:var(--rx-ink);
}
html[data-theme='dark'] .rx-main-nav { background:rgba(7,23,41,.94); border-bottom-color:rgba(255,255,255,.08); }
html[data-theme='dark'] .rx-brand-wordmark strong { color:#fff; }
html[data-theme='dark'] .rx-brand-wordmark span { color:#FFAA52; }
html[data-theme='dark'] .rx-nav-links a,
html[data-theme='dark'] .rx-icon-btn { color:#D3DDEA; }
html[data-theme='dark'] .rx-search input { background:rgba(255,255,255,.065); border-color:rgba(255,255,255,.09); color:#fff; }
html[data-theme='dark'] .rx-surface,
html[data-theme='dark'] .rx-detail-panel,
html[data-theme='dark'] .rx-checkout-panel,
html[data-theme='dark'] .rx-checkout-card,
html[data-theme='dark'] .rx-filter-panel,
html[data-theme='dark'] .rx-product-card { background:#0D2239; border-color:rgba(255,255,255,.09); }
html[data-theme='dark'] .rx-price,
html[data-theme='dark'] .rx-detail-price { color:#fff; }
html[data-theme='dark'] .rx-form-field,
html[data-theme='dark'] .rx-checkout-form input,
html[data-theme='dark'] .rx-checkout-form select,
html[data-theme='dark'] .rx-checkout-form textarea { background:#102A45; border-color:rgba(255,255,255,.11); color:#fff; }
html[data-theme='dark'] .rx-mobile-bottom-nav { color:#F1F5F9; background:rgba(7,23,41,.96); border-top-color:rgba(255,255,255,.09); }
html[data-theme='dark'] .rx-site-footer.rx-shop-footer { color:#fff; background:
    radial-gradient(circle at 7% 8%,rgba(248,128,5,.18),transparent 24rem),
    radial-gradient(circle at 88% 4%,rgba(100,5,138,.30),transparent 30rem),
    linear-gradient(135deg,#241033 0%,#341447 53%,#140E20 100%); }

@media (max-width:900px) {
    .rx-shop-footer-intro { grid-template-columns:1fr; gap:1rem; }
    .rx-shop-footer-intro>p { max-width:680px; }
}
@media (max-width:640px) {
    .rx-shop-footer-intro h2 { font-size:2.15rem; }
    .rx-shop-footer .rx-footer-logo { width:44px; height:44px; border-radius:13px; }
}
