/* ==========================================================
   REDYEZ - Core Theme Stylesheet
   Design tokens read from config/theme.php on the PHP side;
   mirrored here as CSS variables so JS/CSS never hardcode colors.
   ========================================================== */

:root {
    --redyez-primary: #111111;
    --redyez-secondary: #f5f5f5;
    --redyez-accent: #d4af37;
    --redyez-radius: 16px;
    --redyez-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    --redyez-transition: 200ms ease;
}

[data-theme="dark"] {
    --redyez-primary: #f5f5f5;
    --redyez-secondary: #1a1a1a;
    --redyez-bg: #0d0d0d;
    --redyez-text: #f5f5f5;
}

body {
    background: var(--redyez-bg, #ffffff);
    color: var(--redyez-text, #111111);
    font-family: -apple-system, "Helvetica Neue", Arial, sans-serif;
}

/* ---------------- Header ---------------- */
.redyez-header {
    position: sticky;
    top: 0;
    z-index: 1030;
}

.redyez-navbar {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    transition: background var(--redyez-transition);
}

.redyez-header-icons .btn-icon {
    position: relative;
    background: transparent;
    border: none;
}

.badge-count {
    position: absolute;
    top: -4px;
    right: -6px;
    background: var(--redyez-primary);
    color: #fff;
    font-size: 10px;
    border-radius: 999px;
    padding: 1px 6px;
}

.live-search-panel {
    background: #fff;
    box-shadow: var(--redyez-shadow);
}

/* ---------------- Product Card ---------------- */
.product-card {
    border-radius: var(--redyez-radius);
    box-shadow: var(--redyez-shadow);
    overflow: hidden;
    background: #fff;
    transition: transform var(--redyez-transition);
}

.product-card:hover {
    transform: translateY(-4px);
}

.product-card-media {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
}

.product-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-card-actions {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    opacity: 0;
    transition: opacity var(--redyez-transition);
}

.product-card:hover .product-card-actions {
    opacity: 1;
}

.product-card-actions button {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: #fff;
    box-shadow: var(--redyez-shadow);
}

.product-card-body {
    padding: 12px;
}

.product-card-brand {
    font-size: 12px;
    text-transform: uppercase;
    color: #888;
}

.product-card-name {
    display: block;
    font-weight: 600;
    color: inherit;
    text-decoration: none;
}

.price-original {
    text-decoration: line-through;
    color: #999;
    margin-left: 6px;
    font-size: 13px;
}

/* ---------------- Skeleton Loading ---------------- */
.skeleton {
    background: linear-gradient(90deg, #eee 25%, #f5f5f5 37%, #eee 63%);
    background-size: 400% 100%;
    animation: skeleton-loading 1.4s ease infinite;
    border-radius: var(--redyez-radius);
}

@keyframes skeleton-loading {
    0% { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
}

/* ---------------- Toasts ---------------- */
.toast-container .toast {
    border-radius: 12px;
    box-shadow: var(--redyez-shadow);
}

/* ---------------- Quick View Modal ---------------- */
.quick-view-modal .modal-content {
    border-radius: var(--redyez-radius);
    border: none;
}

.section-title {
    font-weight: 700;
    margin-bottom: 24px;
}

/* ==========================================================
   Product detail page (PDP)
   ========================================================== */
.pdp { padding-top: 1rem; padding-bottom: 5rem; --pdp-line: rgba(128,128,128,.28); --pdp-ok: #1a7f4b; --pdp-warn: #b45309; --pdp-bad: #c0392b; }
.pdp-crumbs { display:flex; flex-wrap:wrap; gap:.4rem; margin: .5rem 0 1.25rem; color: #777; }
.pdp-crumbs a { color: inherit; text-decoration: none; }
.pdp-crumbs a:hover { text-decoration: underline; }

.pdp-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 3rem; align-items: start; }
@media (max-width: 991.98px) { .pdp-grid { grid-template-columns: 1fr; gap: 1.5rem; } }

/* gallery: thumb rail on the left (desktop), strip under the image on mobile */
.pdp-gallery { display: grid; grid-template-columns: 84px minmax(0,1fr); gap: 14px; position: sticky; top: 92px; }
.pdp-thumbs { display:flex; flex-direction:column; gap:10px; max-height: 640px; overflow:auto; scrollbar-width: none; }
.pdp-thumbs::-webkit-scrollbar { display:none; }
.pdp-thumb { border:2px solid transparent; padding:0; border-radius: 10px; overflow:hidden; background:none; cursor:pointer; opacity:.65; transition: var(--redyez-transition); flex: 0 0 auto; }
.pdp-thumb { position:relative; }
.pdp-thumb-tag { position:absolute; left:4px; bottom:4px; background:rgba(0,0,0,.7); color:#fff; font-size:10px; line-height:1; padding:3px 5px; border-radius:4px; pointer-events:none; }
.pdp-thumb img { display:block; width:100%; aspect-ratio: 3/4; object-fit:cover; }
.pdp-thumb:hover { opacity:1; }
.pdp-thumb.active { border-color: var(--redyez-primary); opacity:1; }
.pdp-stage { position:relative; overflow:hidden; border-radius: var(--redyez-radius); background: var(--redyez-secondary); aspect-ratio: 3/4; cursor: zoom-in; }
.pdp-stage img { width:100%; height:100%; object-fit:cover; display:block; transition: opacity 120ms ease, transform 260ms ease; user-select:none; }
.pdp-stage img.is-swapping { opacity:0; }
.pdp-stage img.is-zoomed { transform: scale(1.7); }
.pdp-badge-off { position:absolute; top:14px; left:14px; background: var(--redyez-primary); color: var(--redyez-bg, #fff); font-size:.75rem; font-weight:700; letter-spacing:.04em; padding:.35rem .65rem; border-radius: 999px; z-index:2; }
.pdp-nav { position:absolute; top:50%; transform: translateY(-50%); width:40px; height:40px; border-radius:50%; border:0; background: rgba(255,255,255,.88); color:#111; display:grid; place-items:center; box-shadow: var(--redyez-shadow); opacity:0; transition: var(--redyez-transition); z-index:2; }
.pdp-stage:hover .pdp-nav, .pdp-nav:focus-visible { opacity:1; }
.pdp-prev { left:12px; } .pdp-next { right:12px; }
.pdp-counter { position:absolute; bottom:14px; right:14px; background: rgba(0,0,0,.55); color:#fff; font-size:.75rem; padding:.2rem .6rem; border-radius:999px; z-index:2; }
@media (max-width: 991.98px) {
    .pdp-gallery { grid-template-columns: 1fr; position: static; }
    .pdp-thumbs { order: 2; flex-direction: row; max-height:none; overflow-x:auto; }
    .pdp-thumb { width: 64px; }
    .pdp-nav { opacity:1; width:34px; height:34px; }
    .pdp-stage { cursor: default; }
}

/* buy box */
.pdp-buy { position: relative; }
.pdp-eyebrow { display:flex; justify-content:space-between; align-items:center; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; color:#777; }
.pdp-icon-btn { border:1px solid var(--pdp-line); background:transparent; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; color: inherit; transition: var(--redyez-transition); }
.pdp-icon-btn:hover { border-color: var(--redyez-primary); }
.pdp-title { font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight:700; line-height:1.2; margin:.35rem 0 .5rem; }
.pdp-rating { display:inline-flex; gap:.15rem; align-items:center; color:#e0a800; text-decoration:none; font-size:.9rem; margin-bottom:.5rem; }
.pdp-rating span { color:#666; margin-left:.4rem; font-size:.82rem; }
.pdp-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:.6rem; margin-top:.25rem; }
.pdp-price-now { font-size:1.9rem; font-weight:800; letter-spacing:-.01em; }
.pdp-price-was { color:#888; text-decoration: line-through; }
.pdp-price-save { color: var(--pdp-ok); background: rgba(26,127,75,.1); font-size:.78rem; font-weight:700; padding:.2rem .55rem; border-radius:6px; }
.pdp-taxnote { font-size:.78rem; color:#888; margin-bottom: .75rem; }
.pdp-short { color:#666; margin-bottom:1rem; }

.pdp-field { margin: 1.15rem 0; }
.pdp-label { display:flex; justify-content:space-between; align-items:center; font-size:.85rem; margin-bottom:.55rem; }
.pdp-label span { text-transform:uppercase; letter-spacing:.08em; color:#777; font-size:.75rem; }
.pdp-link { background:none; border:0; padding:0; font-size:.82rem; color: inherit; text-decoration: underline; text-underline-offset: 3px; cursor:pointer; }

.pdp-swatches { display:flex; flex-wrap:wrap; gap:.65rem; }
.pdp-swatch { width:36px; height:36px; border-radius:50%; padding:3px; background:transparent; border:2px solid transparent; position:relative; transition: var(--redyez-transition); }
.pdp-swatch span { display:block; width:100%; height:100%; border-radius:50%; background: var(--sw); box-shadow: inset 0 0 0 1px rgba(0,0,0,.18); }
.pdp-swatch:hover { border-color: var(--pdp-line); }
.pdp-swatch.active { border-color: var(--redyez-primary); }
.pdp-swatch.is-out { opacity:.4; }
.pdp-swatch.is-out::after { content:""; position:absolute; inset:6px; background: linear-gradient(to top right, transparent calc(50% - 1px), #888 50%, transparent calc(50% + 1px)); }

.pdp-sizes { display:flex; flex-wrap:wrap; gap:.5rem; }
.pdp-size { min-width:52px; padding:.6rem .9rem; border:1px solid var(--pdp-line); background:transparent; border-radius:10px; font-weight:600; font-size:.9rem; color: inherit; transition: var(--redyez-transition); }
.pdp-size:hover:not(.is-out) { border-color: var(--redyez-primary); }
.pdp-size.active { background: var(--redyez-primary); color: var(--redyez-bg, #fff); border-color: var(--redyez-primary); }
.pdp-size.is-out { color:#aaa; text-decoration: line-through; border-style: dashed; cursor:not-allowed; }
.pdp-stock { margin-top:.6rem; font-size:.82rem; }
.pdp-stock .is-ok { color: var(--pdp-ok); } .pdp-stock .is-low { color: var(--pdp-warn); font-weight:600; } .pdp-stock .is-out { color: var(--pdp-bad); }

/* buy more, save more */
.pdp-ladder { border:1px solid var(--pdp-line); border-radius: 14px; padding:.9rem; margin: 1.25rem 0; background: linear-gradient(180deg, rgba(212,175,55,.09), transparent); }
.pdp-ladder-head { font-weight:700; font-size:.92rem; display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.pdp-ladder-head i { color: var(--redyez-accent); }
.pdp-ladder-head small { font-weight:400; color:#888; margin-left:auto; font-size:.72rem; }
.pdp-ladder-steps { display:grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap:.55rem; margin:.7rem 0 .6rem; }
.pdp-step { position:relative; text-align:center; padding:.7rem .4rem .55rem; border:1.5px solid var(--pdp-line); border-radius:12px; background: var(--redyez-bg, #fff); color: inherit; display:flex; flex-direction:column; gap:.1rem; transition: var(--redyez-transition); }
.pdp-step b { font-size:.9rem; } .pdp-step span { font-size:.74rem; color:#777; }
.pdp-step em { position:absolute; top:-9px; left:50%; transform:translateX(-50%); font-style:normal; font-size:.62rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; background: var(--redyez-accent); color:#111; padding:.1rem .5rem; border-radius:999px; white-space:nowrap; }
.pdp-step:hover { border-color: var(--redyez-primary); }
.pdp-step.active { border-color: var(--redyez-primary); box-shadow: 0 0 0 1px var(--redyez-primary) inset; }
.pdp-step.active span { color: var(--pdp-ok); font-weight:700; }
.pdp-ladder-msg { font-size:.83rem; min-height:1.2rem; }
.pdp-ladder-msg i { color: var(--redyez-accent); }

/* actions */
.pdp-actions { display:flex; gap:.7rem; margin-top:1.1rem; }
.pdp-qty { display:inline-flex; align-items:center; border:1px solid var(--pdp-line); border-radius:12px; overflow:hidden; }
.pdp-qty button { width:40px; height:50px; border:0; background:transparent; font-size:1.2rem; color: inherit; }
.pdp-qty button:hover { background: var(--redyez-secondary); }
.pdp-qty input { width:44px; text-align:center; border:0; background:transparent; font-weight:700; color: inherit; -moz-appearance:textfield; }
.pdp-qty input::-webkit-outer-spin-button, .pdp-qty input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.pdp-btn-primary { flex:1; background: var(--redyez-primary); color: var(--redyez-bg, #fff); border:0; border-radius:12px; height:50px; font-weight:700; letter-spacing:.02em; }
.pdp-btn-primary:hover { opacity:.9; color: var(--redyez-bg, #fff); }
.pdp-btn-primary:disabled { opacity:.4; }
.pdp-btn-secondary { width:100%; margin-top:.6rem; height:50px; border-radius:12px; border:1.5px solid var(--redyez-primary); background:transparent; font-weight:700; color: inherit; }
.pdp-btn-secondary:hover { background: var(--redyez-primary); color: var(--redyez-bg, #fff); }

.pdp-total { margin-top:.9rem; font-size:.9rem; }
.pdp-total-row { display:flex; justify-content:space-between; }
.pdp-total-save { color: var(--pdp-ok); font-weight:600; margin-top:.2rem; }
.pdp-total-save small { font-weight:400; color:#777; }

/* payment options */
.pdp-pay { display:grid; gap:.6rem; margin-top:1.1rem; }
.pdp-pay-card { display:flex; gap:.8rem; padding:.85rem 1rem; border:1px solid var(--pdp-line); border-radius:12px; font-size:.84rem; }
.pdp-pay-card > i { font-size:1.35rem; line-height:1.2; }
.pdp-pay-card b { display:block; font-size:.88rem; margin-bottom:.1rem; }
.pdp-pay-card b em { font-style:normal; font-weight:600; color: var(--pdp-warn); }
.pdp-pay-card span { display:block; color:#666; }
.pdp-pay-online { border-color: rgba(26,127,75,.4); background: rgba(26,127,75,.05); }
.pdp-pay-online > i { color: var(--pdp-ok); }
.pdp-pay-cod > i { color: var(--pdp-warn); }
.pdp-noreturn { color: var(--pdp-bad) !important; font-weight:600; margin-top:.3rem; }

.pdp-trust { list-style:none; display:grid; grid-template-columns: repeat(3,1fr); gap:.5rem; padding:0; margin:1.1rem 0; text-align:center; font-size:.76rem; color:#666; }
.pdp-trust i { display:block; font-size:1.3rem; margin-bottom:.15rem; color: var(--redyez-primary); }

.pdp-accordion .accordion-item { border-left:0; border-right:0; background:transparent; }
.pdp-accordion .accordion-button { background:transparent; box-shadow:none; font-weight:700; padding-left:0; padding-right:0; color: inherit; }
.pdp-accordion .accordion-body { padding-left:0; padding-right:0; }

.pdp-section { margin-top: 4rem; }
.pdp-h2 { font-size:1.4rem; font-weight:800; margin-bottom:1.25rem; }
.pdp-review { border:1px solid var(--pdp-line); border-radius:14px; padding:1rem 1.1rem; height:100%; }
.pdp-review p { margin:.35rem 0; } .pdp-review small { color:#888; }
.pdp-stars { color:#e0a800; }

/* mobile sticky buy bar */
.pdp-sticky { position:fixed; left:0; right:0; bottom:0; z-index:1030; display:none; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom)); background: var(--redyez-bg, #fff); border-top:1px solid var(--pdp-line); box-shadow: 0 -6px 20px rgba(0,0,0,.08); transform: translateY(110%); transition: transform 220ms ease; }
.pdp-sticky b { display:block; font-size:1.05rem; } .pdp-sticky small { color:#777; font-size:.74rem; }
.pdp-sticky .pdp-btn-primary { flex: 0 0 auto; padding: 0 1.6rem; }
@media (max-width: 991.98px) { .pdp-sticky { display:flex; } .pdp-sticky.show { transform: translateY(0); } }

/* ---- Notifications: marquee, banner, popup ---- */
.rz-marquee{overflow:hidden;white-space:nowrap;color:#fff;font-size:.85rem;padding:7px 0}
.rz-marquee-track{display:inline-flex;animation:rz-scroll 30s linear infinite}
.rz-marquee:hover .rz-marquee-track{animation-play-state:paused}
.rz-marquee-group{display:inline-flex;align-items:center;justify-content:space-around;flex-shrink:0;min-width:100vw}
.rz-marquee-item{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;padding:0 14px}
.rz-marquee-item img{width:22px;height:22px;object-fit:cover;border-radius:4px}
.rz-marquee a.rz-marquee-item:hover{text-decoration:underline}
.rz-marquee-dot{opacity:.5;color:#fff}
@keyframes rz-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.rz-marquee-track{animation:none}}
.rz-banner{padding:10px 0;font-size:.92rem;position:relative}
.rz-banner-img{height:34px;width:auto;border-radius:4px}
.rz-banner-close{background:none;border:0;font-size:1.4rem;line-height:1;opacity:.6;cursor:pointer;color:inherit}
.rz-banner-close:hover{opacity:1}
.rz-popup .rz-popup-x{position:absolute;right:12px;top:12px;z-index:3;background-color:rgba(255,255,255,.85);border-radius:50%;padding:8px}

/* ---- Product groups (linked products) ---- */
.pdp-group-opts{display:flex;flex-wrap:wrap;gap:.6rem}
a.pdp-swatch,a.pdp-size{text-decoration:none;color:inherit;display:inline-flex;align-items:center;justify-content:center}
a.pdp-size{padding:.45rem 1rem}
.pdp-group-opt.is-out{opacity:.45}
.pdp-group-opt.is-out.pdp-size{text-decoration:line-through}
.pdp-group-img{display:flex;flex-direction:column;align-items:center;width:64px;border:2px solid transparent;border-radius:8px;padding:2px;text-decoration:none;color:inherit}
.pdp-group-img img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:6px}
.pdp-group-img small{font-size:.7rem;margin-top:2px;text-align:center;line-height:1.1}
.pdp-group-img.active{border-color:var(--redyez-primary,#111)}
a.pdp-size.active{background:#111;color:#fff;border-color:#111}

/* ==========================================================
   REDYEZ brand theme (logo: black + red + white)
   ========================================================== */
:root {
    --rz-red: #e10000;
    --rz-red-dark: #b30000;
    --rz-ink: #0b0b0b;
    --redyez-accent: #e10000;
    --redyez-radius: 14px;
}
body { font-family: "Inter", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, .section-title { font-weight: 800; letter-spacing: -.015em; }
main a:not([class]) { color: var(--rz-red); }
main a:not([class]):hover { color: var(--rz-red-dark); }

/* buttons */
.btn-dark { --bs-btn-bg: var(--rz-red); --bs-btn-border-color: var(--rz-red); --bs-btn-hover-bg: var(--rz-red-dark); --bs-btn-hover-border-color: var(--rz-red-dark);
            --bs-btn-active-bg: #990000; --bs-btn-active-border-color: #990000; --bs-btn-disabled-bg: var(--rz-red); --bs-btn-disabled-border-color: var(--rz-red);
            font-weight: 600; letter-spacing: .01em; }
.btn-outline-dark { --bs-btn-color: var(--rz-ink); --bs-btn-border-color: var(--rz-ink); --bs-btn-hover-bg: var(--rz-ink); --bs-btn-hover-border-color: var(--rz-ink);
                    --bs-btn-active-bg: var(--rz-ink); --bs-btn-active-border-color: var(--rz-ink); font-weight: 600; }
.btn, .form-control, .form-select { border-radius: 10px; }
.form-control:focus, .form-select:focus { border-color: var(--rz-red); box-shadow: 0 0 0 .2rem rgba(225, 0, 0, .15); }
.form-check-input:checked { background-color: var(--rz-red); border-color: var(--rz-red); }
.pdp-btn-primary { background: var(--rz-red); }
.pdp-btn-primary:hover { background: var(--rz-red-dark); opacity: 1; }
.pdp-badge-off { background: var(--rz-red); color: #fff; }
.badge-count { background: var(--rz-red); }

/* header */
.redyez-navbar { background: rgba(255, 255, 255, .96); border-bottom: 1px solid #ececec; padding-top: .35rem; padding-bottom: .35rem; }
.redyez-navbar .navbar-brand { padding: 0; margin-right: 2rem; }
.rz-logo { height: 40px; width: auto; display: block; border-radius: 4px; }
.redyez-navbar .nav-link { font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rz-ink); position: relative; padding: .6rem .9rem; }
.redyez-navbar .nav-link::after { content: ""; position: absolute; left: .9rem; right: .9rem; bottom: .25rem; height: 2px; background: var(--rz-red); transform: scaleX(0); transform-origin: left; transition: transform var(--redyez-transition); }
.redyez-navbar .nav-link:hover, .redyez-navbar .nav-link.show { color: var(--rz-red); }
.redyez-navbar .nav-link:hover::after { transform: scaleX(1); }
.redyez-navbar .dropdown-toggle::after { border: 0; }
.redyez-navbar .dropdown-menu { border: 0; border-top: 3px solid var(--rz-red); border-radius: 0 0 12px 12px; box-shadow: 0 16px 40px rgba(0, 0, 0, .12); padding: .5rem 0; min-width: 240px; }
.redyez-navbar .dropdown-item:hover { background: #fff1f1; color: var(--rz-red); }
.rz-marquee { border-bottom: 2px solid var(--rz-red); }

/* sections / cards */
.section-title { position: relative; padding-bottom: 12px; }
.section-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 48px; height: 4px; background: var(--rz-red); border-radius: 2px; }
.product-card { border: 1px solid #f0f0f0; border-radius: 14px; overflow: hidden; transition: transform var(--redyez-transition), box-shadow var(--redyez-transition); }
.product-card:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(0, 0, 0, .1); }
.product-card-name:hover { color: var(--rz-red); }
.price-current { font-weight: 800; }
.category-card { transition: transform var(--redyez-transition); }
.category-card:hover { transform: translateY(-3px); }

/* footer */
.redyez-footer { background: var(--rz-ink); color: #cfcfcf; margin-top: 4rem; border-top: 4px solid var(--rz-red); }
.redyez-footer h6 { color: #fff; letter-spacing: .08em; text-transform: uppercase; font-size: .8rem; margin-bottom: 1rem; }
.redyez-footer .text-muted { color: #a9a9a9 !important; }
.redyez-footer a.text-muted:hover { color: #fff !important; }
.redyez-footer li { margin-bottom: .45rem; }
.redyez-footer hr { border-color: #2a2a2a; opacity: 1; }
.rz-footer-logo { height: 46px; width: auto; border-radius: 4px; margin-bottom: 1rem; }
.rz-trust { display: flex; flex-wrap: wrap; gap: 1.25rem; font-size: .8rem; color: #a9a9a9; }
.rz-trust i { color: var(--rz-red); margin-right: .35rem; }

/* admin */
.admin-sidebar { background: var(--rz-ink); border-right: 3px solid var(--rz-red); }
.admin-logo img { width: 100%; max-width: 180px; height: auto; border-radius: 4px; display: block; }
.admin-sidebar .nav-link.active, .admin-sidebar .nav-link:hover { border-left: 3px solid var(--rz-red); padding-left: 17px; }
@media (max-width: 575px) { .rz-logo { height: 32px; } }

/* ---- Blog + preview ---- */
.rz-preview-bar { background: #fff3cd; color: #664d03; border-bottom: 2px solid #e10000; padding: .55rem 1rem; text-align: center; font-size: .85rem; }
.blog-card { display: block; border: 1px solid #eee; border-radius: 12px; overflow: hidden; color: inherit; height: 100%; transition: box-shadow .2s, transform .2s; }
.blog-card:hover { box-shadow: 0 10px 28px rgba(0,0,0,.1); transform: translateY(-2px); }
.blog-card img { width: 100%; aspect-ratio: 16/9; object-fit: contain; background: #f3f3f3; }
.blog-card-body { padding: 1rem 1.1rem 1.2rem; }
.blog-card-body h5 { font-weight: 700; color: #0b0b0b; margin: .3rem 0 .4rem; }
.blog-content { font-size: 1.05rem; line-height: 1.8; }
.blog-content h2 { font-weight: 700; margin: 2rem 0 .8rem; }
.blog-content img { max-width: 100%; height: auto; }
.blog-product { display: flex; gap: 1rem; align-items: center; border: 1px solid #eee; border-left: 4px solid #e10000; border-radius: 12px; padding: .8rem; margin: 1.5rem 0; background: #fafafa; }
.blog-product-img img { width: 96px; height: 120px; object-fit: cover; border-radius: 8px; display: block; }
.blog-product-body { flex: 1; }

/* ---- Support bar, social, share ---- */
.rz-topbar { background: #0b0b0b; color: #fff; font-size: .8rem; padding: .35rem 0; }
.rz-topbar a { color: #fff; text-decoration: none; }
.rz-support-label { color: #bbb; }
.rz-pill { display: inline-flex; align-items: center; gap: .35rem; padding: .18rem .7rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.3); font-weight: 600; }
.rz-pill.rz-call:not(.is-closed) { background: #e10000; border-color: #e10000; }
.rz-pill.rz-wa { background: #25d366; border-color: #25d366; color: #052e16 !important; }
.rz-pill.is-closed { opacity: .65; cursor: not-allowed; }
.rz-hours { color: #bbb; }
.rz-social a { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; transition: background .2s, color .2s; }
.rz-topbar .rz-social a:hover { background: #e10000; }
.rz-social-footer a { background: #1d1d1d; color: #fff; width: 36px; height: 36px; }
.rz-social-footer a:hover { background: #e10000; color: #fff; }
.rz-wa-float { position: fixed; right: 18px; bottom: 18px; z-index: 1040; width: 54px; height: 54px; border-radius: 50%; background: #25d366; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.7rem; box-shadow: 0 6px 18px rgba(0,0,0,.3); text-decoration: none; }
.rz-wa-float:hover { color: #fff; transform: scale(1.06); }
.rz-share { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin: .6rem 0 1rem; font-size: .85rem; color: #666; }
.rz-share a, .rz-share button { width: 34px; height: 34px; border-radius: 50%; border: 1px solid #ddd; background: #fff; color: #0b0b0b; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; transition: all .2s; }
.rz-share a:hover, .rz-share button:hover { background: #0b0b0b; color: #fff; border-color: #0b0b0b; }
.rz-share .rz-share-wa:hover { background: #25d366; border-color: #25d366; }

/* ---- Product details (Myntra-style) ---- */
.pdp-details .pdp-hl { list-style: none; padding: 0; margin: 0 0 1rem; line-height: 1.7; }
.pdp-details .pdp-dh { font-size: .95rem; font-weight: 700; margin: 1.1rem 0 .35rem; color: #0b0b0b; }
.pdp-details .pdp-dp { margin: 0; color: #333; }
.pdp-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
.pdp-spec { padding: .55rem 0; border-bottom: 1px solid #ececec; display: flex; flex-direction: column; }
.pdp-spec span { font-size: .75rem; color: #777; }
.pdp-spec strong { font-weight: 500; font-size: .92rem; }
@media (max-width: 575px) { .pdp-specs { grid-template-columns: 1fr; } }

/* ---- Blog news layout ---- */
.blog-h1 { line-height: 1.2; }
.blog-cover-frame { width: 100%; max-width: 720px; aspect-ratio: 16/9; border-radius: 14px; overflow: hidden; background: #f0f0f0; }
.blog-cover-frame.cover-small { max-width: 420px; }
.blog-cover-frame.cover-large { max-width: 960px; }
.blog-cover-frame.cover-full { max-width: none; aspect-ratio: 21/9; }
.blog-cover-frame { position: relative; }
.blog-cover-bg { position: absolute; inset: -20px; width: calc(100% + 40px); height: calc(100% + 40px); object-fit: cover; filter: blur(18px) brightness(.9); }
.blog-cover { position: relative; width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
@media (max-width: 575px) { .blog-cover-frame.cover-full { aspect-ratio: 16/9; } }
.blog-hero { position: relative; display: block; border-radius: 16px; overflow: hidden; color: #fff; background: #0b0b0b; }
.blog-hero img { width: 100%; height: auto; max-height: 560px; object-fit: contain; background: #0b0b0b; opacity: .6; display: block; }
.blog-hero-body { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.5rem 2rem; background: linear-gradient(transparent, rgba(0,0,0,.85)); }
.blog-hero-body h2 { font-weight: 800; margin: .4rem 0; }
.blog-hero-body p { margin: 0 0 .4rem; color: #ddd; max-width: 700px; }
.blog-tag { background: #e10000; color: #fff; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .2rem .6rem; border-radius: 4px; }
.blog-side { position: sticky; top: 90px; }
.blog-recent { display: flex; gap: .8rem; padding: .7rem 0; border-bottom: 1px solid #eee; color: inherit; }
.blog-recent img { width: 76px; height: 56px; object-fit: cover; border-radius: 8px; flex: none; }
.blog-recent-t { font-weight: 600; font-size: .92rem; line-height: 1.3; color: #0b0b0b; }
.blog-recent:hover .blog-recent-t { color: #e10000; }
.rz-share-post { margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid #eee; }
@media (max-width: 767px) { .blog-hero img { max-height: 300px; } .blog-hero-body { padding: 1rem; } .blog-hero-body p { display: none; } }

/* single-image gallery: stage must take the full width (thumbs column is hidden) */
.pdp-gallery.pdp-single { grid-template-columns: minmax(0, 1fr); }
.quick-view-modal .modal-content { position: relative; overflow: hidden; border-radius: 16px; }
.qv-img { position: relative; background: #f4f4f4; min-height: 320px; }
.qv-img img { width: 100%; height: 100%; object-fit: cover; display: block; position: absolute; inset: 0; }
@media (max-width: 767px) { .qv-img { min-height: 0; aspect-ratio: 3/4; } }

/* ---- Combo offers ---- */
.pdp-combo { border: 1px dashed #e10000; border-radius: 12px; padding: .9rem 1rem; margin: 1rem 0; background: #fff7f7; }
.pdp-combo-h { font-weight: 700; color: #b30000; margin-bottom: .4rem; }
.pdp-combo-items { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin: .4rem 0; }
.pdp-combo-item { display: flex; flex-direction: column; align-items: center; width: 82px; text-align: center; font-size: .7rem; text-decoration: none; color: #333; }
.pdp-combo-item img { width: 70px; height: 88px; object-fit: cover; border-radius: 8px; }
.pdp-combo-plus { font-weight: 800; font-size: 1.2rem; }
.pdp-combo-p { margin: .2rem 0; }

/* ---- Frequently bought together ---- */
.pdp-fbt .fbt-row { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.fbt-item { width:190px; border:1px solid var(--pdp-line); border-radius:10px; padding:.6rem; position:relative; transition:opacity .15s; }
.fbt-item.off { opacity:.45; }
.fbt-check { position:absolute; top:.5rem; left:.5rem; z-index:2; margin:0; }
.fbt-img { display:block; aspect-ratio:4/5; background:#f3f3f3; border-radius:6px; overflow:hidden; }
.fbt-img img { width:100%; height:100%; object-fit:cover; }
.fbt-name { font-size:.8rem; margin:.5rem 0; line-height:1.3; min-height:2.1em; }
.fbt-name a { color:inherit; text-decoration:none; }
.fbt-var { font-size:.75rem; }
.fbt-price { font-weight:700; margin-top:.4rem; }
.fbt-plus { font-size:1.6rem; color:#888; }
.fbt-buy { margin-left:.75rem; min-width:190px; }
.fbt-total { font-size:1.4rem; font-weight:800; margin-bottom:.5rem; }
@media (max-width:575px) { .fbt-item { width:calc(50% - 1.2rem); } .fbt-buy { width:100%; margin:0; } }

/* ---- Ads: side rails + popup ---- */
.rz-pr-rail { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; max-width:1320px; margin:1.5rem auto; padding:0 1rem; }
.rz-pr-rail .rz-pr-card { width:min(240px, 46%); }
.rz-pr-rail .rz-pr-label { width:100%; }
@media (min-width:1640px) {
    .rz-pr-rail { display:flex; flex-direction:column; flex-wrap:nowrap; justify-content:flex-start; max-width:none; margin:0; padding:0; gap:1rem; position:fixed; top:140px; z-index:5; width:min(200px, calc((100vw - 1320px) / 2 - 40px)); }
    .rz-pr-rail .rz-pr-card { width:auto; }
    .rz-pr-left  { left:12px; }
    .rz-pr-right { right:28px; }
}
.rz-pr-card { display:block; border:1px solid rgba(128,128,128,.25); border-radius:10px; overflow:hidden; background:#fff; color:inherit; text-decoration:none; box-shadow:0 2px 10px rgba(0,0,0,.05); }
.rz-pr-card img { width:100%; display:block; }
.rz-pr-body { padding:.6rem .7rem .8rem; }
.rz-pr-name { font-size:.82rem; font-weight:600; line-height:1.3; }
.rz-pr-price { font-weight:800; margin:.25rem 0 .5rem; }
.rz-pr-btn { display:inline-block; background:#111; color:#fff; font-size:.75rem; padding:.3rem .8rem; border-radius:20px; }
.rz-pr-label { font-size:.6rem; color:#999; text-align:right; letter-spacing:.08em; text-transform:uppercase; }
.rz-prpop { position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:1080; display:flex; align-items:center; justify-content:center; padding:1rem; }
.rz-prpop[hidden] { display:none; }
.rz-prpop-box { position:relative; background:#fff; border-radius:12px; overflow:hidden; max-width:520px; width:100%; max-height:90vh; overflow-y:auto; }
.rz-prpop-box img { width:100%; display:block; }
.rz-prpop-box a { color:inherit; text-decoration:none; display:block; }
.rz-prpop-x { position:absolute; top:.4rem; right:.6rem; z-index:2; border:0; background:rgba(0,0,0,.6); color:#fff; width:30px; height:30px; border-radius:50%; font-size:1.2rem; line-height:1; }

/* admin inline form panels (replaces popup modals) */
.rz-inline-form { background:#fff; border:1px solid rgba(128,128,128,.25); border-radius:12px; margin-bottom:1.25rem; box-shadow:0 4px 18px rgba(0,0,0,.06); }
.rz-inline-form .modal-dialog { margin:0; max-width:none; height:auto; pointer-events:auto; }
.rz-inline-form .modal-content { border:0; box-shadow:none; max-height:none; }
.rz-inline-form .modal-body { overflow:visible; }

/* offers / deals pages */
.offer-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1rem; }
.offer-card { display:flex; gap:.9rem; border:1px dashed #d33; background:#fff7f7; border-radius:12px; padding:.8rem; align-items:center; transition:transform .15s, box-shadow .15s; }
.offer-card:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(0,0,0,.08); }
.offer-thumbs { display:flex; flex:0 0 auto; }
.offer-thumbs img { width:52px; height:68px; object-fit:cover; border-radius:6px; border:2px solid #fff; margin-left:-14px; box-shadow:0 1px 4px rgba(0,0,0,.2); }
.offer-thumbs img:first-child { margin-left:0; }
.offer-box { border:1px solid rgba(128,128,128,.25); border-radius:12px; padding:1rem 1.1rem; height:100%; background:#fff; }
.offer-box h5 { font-size:1rem; font-weight:700; }
.coupon-code { border:2px dashed #111; padding:.1rem .6rem; font-weight:800; letter-spacing:.08em; border-radius:4px; }

/* customizable badges */
.rz-cz-banner{display:flex;align-items:center;gap:12px;margin:10px 0 12px;padding:10px 14px;border-radius:12px;text-decoration:none;color:#fff;background:linear-gradient(110deg,#111 0%,#c1121f 45%,#ff7a18 70%,#111 100%);background-size:250% 100%;animation:rzCzShift 4s linear infinite;box-shadow:0 4px 16px rgba(193,18,31,.35);position:relative;overflow:hidden}
.rz-cz-banner:hover{color:#fff;transform:translateY(-1px)}
.rz-cz-ico{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:18px;animation:rzCzPulse 1.6s ease-in-out infinite;flex:0 0 auto}
.rz-cz-txt{display:flex;flex-direction:column;line-height:1.2;flex:1}.rz-cz-txt b{font-size:15px}.rz-cz-txt small{font-size:11.5px;opacity:.9}
.rz-cz-go{font-size:12px;font-weight:700;white-space:nowrap;background:#fff;color:#111;border-radius:20px;padding:5px 10px}
@keyframes rzCzShift{0%{background-position:0 0}100%{background-position:250% 0}}
@keyframes rzCzPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,255,255,.5)}50%{transform:scale(1.1);box-shadow:0 0 0 8px rgba(255,255,255,0)}}
.rz-cz-chip{position:absolute;left:8px;bottom:8px;z-index:3;background:#111;color:#fff;font-size:11px;font-weight:600;padding:4px 9px;border-radius:20px;text-decoration:none;animation:rzCzPulse 2s ease-in-out infinite}
.rz-cz-chip:hover{color:#fff;background:#c1121f}
.rz-cz-nav em{font-style:normal;font-size:9px;background:#c1121f;color:#fff;border-radius:8px;padding:1px 5px;margin-left:3px;vertical-align:super;animation:rzCzPulse 1.6s infinite}
@media(max-width:575px){.rz-cz-go{display:none}}

.pdp-video-box{position:relative;aspect-ratio:16/9;max-width:720px;border-radius:12px;overflow:hidden;background:#000;cursor:pointer}
.pdp-video-box img,.pdp-video-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.pdp-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(225,0,0,.92);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 4px 18px rgba(0,0,0,.35)}
.pdp-video-box.on .pdp-video-play{display:none}

/* ---- Blog: multi-product grid + own promo blocks ---- */
.blog-pgrid-wrap { margin: 1.6rem 0; }
.blog-pgrid-title { font-weight: 800; font-size: 1.15rem; margin-bottom: .7rem; }
.blog-pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .9rem; }
.blog-pcard { display: flex; flex-direction: column; gap: .35rem; border: 1px solid #eee; border-radius: 12px; padding: .6rem; text-decoration: none; color: inherit; background: #fff; transition: box-shadow .2s, transform .2s; }
.blog-pcard:hover { box-shadow: 0 8px 22px rgba(0,0,0,.1); transform: translateY(-2px); color: inherit; }
.blog-pcard-img { display: block; aspect-ratio: 4/5; background: #f4f4f4; border-radius: 8px; overflow: hidden; }
.blog-pcard-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-pcard-name { font-weight: 600; font-size: .9rem; line-height: 1.25; }
.blog-pcard-price { font-size: .9rem; }
.blog-promo { display: flex; flex-direction: column; border: 1px solid #eee; border-radius: 14px; overflow: hidden; margin: 1.6rem 0; background: #fafafa; position: relative; }
.blog-promo::before { content: 'Promo'; position: absolute; top: 8px; left: 8px; z-index: 2; font-size: .65rem; letter-spacing: .06em; text-transform: uppercase; background: rgba(0,0,0,.65); color: #fff; padding: 2px 8px; border-radius: 20px; }
.blog-promo-img img { width: 100%; height: auto; display: block; }
.blog-promo-body { padding: 1rem 1.2rem 1.2rem; }
.blog-promo-t { font-weight: 800; font-size: 1.15rem; margin-bottom: .3rem; }
.blog-promo-body p { margin: 0 0 .7rem; color: #555; }

/* ---- Blog placements for Ads & Popups (own promos) ---- */
.blog-pr { position: relative; margin: 1.2rem 0; border: 1px solid #eee; border-radius: 14px; overflow: hidden; background: #fafafa; }
.blog-pr-tag { position: absolute; top: 8px; left: 8px; z-index: 2; font-size: .65rem; letter-spacing: .06em; text-transform: uppercase; background: rgba(0,0,0,.65); color: #fff; padding: 2px 8px; border-radius: 20px; }
.blog-pr-link { display: block; color: inherit; text-decoration: none; }
.blog-pr img { width: 100%; height: auto; display: block; }
.blog-pr-product .blog-pr-link { display: flex; gap: 1rem; align-items: center; padding: .8rem; }
.blog-pr-product img { width: 110px; height: 130px; object-fit: cover; border-radius: 8px; flex: none; }
.blog-pr-name { font-weight: 700; margin-bottom: .2rem; }
.blog-pr-price { margin-bottom: .5rem; }

/* buy-more: per-piece colour / size picker (admin chooses the mode) */
.pdp-mix { border:1px solid var(--pdp-line, #ddd); border-radius:12px; margin:0 0 1rem; background:#fff; }
.pdp-mix[hidden] { display:none; }
.pdp-mix-toggle { display:flex; align-items:center; justify-content:space-between; gap:.5rem; width:100%; background:none; border:0; padding:.7rem .9rem; font-weight:600; font-size:.88rem; text-align:left; cursor:pointer; }
.pdp-mix-toggle small { display:block; font-weight:400; color:#777; font-size:.75rem; margin-top:2px; }
.pdp-mix-toggle i { transition: transform .15s; }
.pdp-mix.open .pdp-mix-toggle i { transform: rotate(180deg); }
.pdp-mix-body { padding:0 .9rem .8rem; display:grid; gap:.5rem; }
.pdp-mix-body[hidden] { display:none; }
.pdp-mix-row { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.pdp-mix-row > span:first-child { min-width:58px; font-size:.8rem; color:#666; }
.pdp-mix-row em { font-style:normal; font-size:.85rem; }
.pdp-mix-row select { flex:1 1 110px; min-width:0; }
.pdp-mix-qty { display:inline-flex; align-items:center; gap:.4rem; border:1px solid #ddd; border-radius:8px; padding:0 .3rem; }
.pdp-mix-qty button, .pdp-mix-x { background:none; border:0; font-size:1.1rem; line-height:1; padding:.25rem .35rem; cursor:pointer; }
.pdp-mix-x { color:#c00; }

/* combo builder */
.combo-builder { border:1px solid var(--pdp-line, #ddd); border-radius:14px; background:#fff; }
.combo-builder-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; background:none; border:0; padding:.9rem 1rem; font-weight:700; cursor:pointer; text-align:left; }
.combo-builder-toggle small { font-weight:400; color:#777; margin-left:.4rem; }
.combo-builder-toggle > i { transition: transform .15s; }
.combo-builder-toggle.open > i { transform: rotate(180deg); }
.combo-builder-body { padding:0 1rem 1rem; display:grid; gap:.55rem; }
.combo-builder-body[hidden] { display:none; }
.combo-row { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
.combo-row select { flex:1 1 150px; min-width:0; }
.combo-n, .combo-x { font-size:.82rem; color:#666; min-width:58px; }
.combo-foot { display:flex; justify-content:space-between; align-items:center; gap:.75rem; flex-wrap:wrap; margin-top:.3rem; }
.pdp-mix-warn { font-size:.8rem; color:#b45309; background:#fff7ed; border-radius:8px; padding:.4rem .6rem; }
.cart-nudge { display:flex; align-items:center; justify-content:space-between; gap:.5rem; flex-wrap:wrap; margin-top:.5rem; font-size:.82rem; background:#f0fdf4; border:1px dashed #86efac; color:#166534; border-radius:8px; padding:.4rem .65rem; }
.cart-nudge a { color:inherit; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.cart-group { border:1px solid #e5e7eb; border-radius:12px; padding:.2rem .9rem .5rem; margin:.9rem 0; background:#fcfcfc; }
.cart-group-head { padding:.6rem 0 .1rem; font-size:.88rem; color:#444; }
.cart-group .cart-line-item:last-child { border-bottom:0 !important; }

/* "Add N more" nudges: gentle pulse (admin can switch off: Settings > Offers) */
@keyframes rzNudgeGlow { 0%,100% { box-shadow:0 0 0 0 rgba(34,197,94,.45); background:#f0fdf4; } 50% { box-shadow:0 0 0 7px rgba(34,197,94,0); background:#dcfce7; } }
@keyframes rzNudgeBolt { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.35; transform:scale(1.25); } }
@keyframes rzNudgeLink { 0%,100% { transform:scale(1); } 50% { transform:scale(1.08); } }
.cart-nudge-anim { animation: rzNudgeGlow 1.8s ease-in-out infinite; }
.cart-nudge-anim .bi-lightning-charge-fill { display:inline-block; animation: rzNudgeBolt 1s ease-in-out infinite; }
.cart-nudge-anim a { display:inline-block; animation: rzNudgeLink 1.4s ease-in-out infinite; }
.pdp-nudge-anim .pdp-link { display:inline-block; font-weight:700; animation: rzNudgeLink 1.4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .cart-nudge-anim, .cart-nudge-anim *, .pdp-nudge-anim .pdp-link { animation:none !important; } }

/* ladder: dark = what you are adding now, green tick = offer level reached */
.pdp-step.picked { background:#111; border-color:#111; color:#fff; box-shadow:none; }
.pdp-step.picked span { color:#9fe3b4; }
.pdp-step.active:not(.picked) { border-color:#16a34a; background:#f0fdf4; box-shadow:none; }
.pdp-step.active::before { content:"\2713"; position:absolute; top:5px; right:8px; font-size:.72rem; font-weight:700; color:#16a34a; }
.pdp-step.picked.active::before { color:#9fe3b4; }

.pdp-mix select.need { border-color:#f59e0b; background-color:#fffbeb; }
.pdp-mix-same { font-size:.74rem; white-space:nowrap; color:#555; }
.pdp-mix-warn .bi-hand-index { margin-right:.2rem; }
/* ladder message: same pulse as the cart nudge (admin switch: Settings > Offers) */
.pdp-ladder-msg.pdp-nudge-anim { animation: rzNudgeGlow 1.8s ease-in-out infinite; border-radius:8px; padding:.4rem .6rem; }
.pdp-ladder-msg.pdp-nudge-anim .bi-lightning-charge-fill { display:inline-block; animation: rzNudgeBolt 1s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .pdp-ladder-msg.pdp-nudge-anim { animation:none !important; } }
.pdp-mix-row select { flex:1 1 112px; padding-left:.5rem; padding-right:1.6rem; }
.pdp-mix-row { flex-wrap:nowrap; } @media (max-width:520px) { .pdp-mix-row { flex-wrap:wrap; } }

/* Bundle & Save radio cards (admin: Settings > Offers > pick mode = Bundle cards) */
.pdp-bundle { display:grid; gap:.55rem; margin:.7rem 0 .6rem; }
.pdp-bcard { border:1.5px solid var(--pdp-line, #ddd); border-radius:12px; background:#fff; transition:border-color .15s, background .15s; }
.pdp-bcard.sel { border-color:#111; background:#fafafa; }
.pdp-bhead { display:flex; align-items:center; gap:.65rem; padding:.7rem .8rem; cursor:pointer; }
.pdp-bdot { width:18px; height:18px; border-radius:50%; border:2px solid #bbb; flex:0 0 18px; position:relative; }
.pdp-bcard.sel .pdp-bdot { border-color:#111; } .pdp-bcard.sel .pdp-bdot::after { content:""; position:absolute; inset:3px; background:#111; border-radius:50%; }
.pdp-btitle { flex:1; font-weight:700; font-size:.9rem; display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.pdp-btitle em { font-style:normal; font-size:.62rem; letter-spacing:.05em; text-transform:uppercase; background:var(--redyez-accent, #e10600); color:#111; padding:.1rem .45rem; border-radius:999px; }
.pdp-bbadge { font-size:.68rem; font-weight:700; color:#166534; background:#dcfce7; padding:.1rem .4rem; border-radius:999px; }
.pdp-bprice { text-align:right; display:flex; flex-direction:column; line-height:1.15; } .pdp-bprice s { font-size:.72rem; color:#888; }
.pdp-bbody { padding:0 .8rem .8rem 2.35rem; display:grid; gap:.5rem; }
.pdp-bthumb { width:34px; height:40px; object-fit:cover; border-radius:6px; }
