/*
 * Roopers Retail storefront — isolated retail shell.
 * This stylesheet intentionally owns the complete ordering-page layout so the
 * active theme cannot squeeze it into a sidebar or reintroduce its mobile menu.
 */

:root {
    --rr-red: #cf2731;
    --rr-red-dark: #9f1821;
    --rr-ink: #222222;
    --rr-charcoal: #303030;
    --rr-muted: #68645f;
    --rr-line: #dedbd5;
    --rr-paper: #ffffff;
    --rr-soft: #f5f3ef;
    --rr-warm: #eee8df;
    --rr-cream: #fffaf3;
    --rr-green: #2f6547;
    --rr-shadow-sm: 0 8px 22px rgba(35, 31, 27, .08);
    --rr-shadow-lg: 0 22px 56px rgba(35, 31, 27, .13);
    --rr-radius-sm: 9px;
    --rr-radius: 15px;
    --rr-radius-lg: 22px;
    --rr-page: 1380px;
}

html { scroll-behavior: smooth; }
body.rr-storefront-shell {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: var(--rr-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.45;
    overflow-x: hidden;
}
body.rr-storefront-shell.rr-cart-open { overflow: hidden; }
body.rr-storefront-shell *,
body.rr-storefront-shell *::before,
body.rr-storefront-shell *::after { box-sizing: border-box; }
body.rr-storefront-shell img { max-width: 100%; height: auto; }
body.rr-storefront-shell button,
body.rr-storefront-shell input,
body.rr-storefront-shell select { font: inherit; }
body.rr-storefront-shell button { cursor: pointer; }
body.rr-storefront-shell button:disabled { cursor: not-allowed; opacity: .56; }
body.rr-storefront-shell a { color: inherit; }
body.rr-storefront-shell [hidden] { display: none !important; }

/* Defensive isolation in case a theme/plugin injects its navigation by hook. */
body.rr-storefront-shell .site-header,
body.rr-storefront-shell #site-header,
body.rr-storefront-shell .widget-area,
body.rr-storefront-shell #secondary,
body.rr-storefront-shell .mobile-menu,
body.rr-storefront-shell .mobile-navigation,
body.rr-storefront-shell .offcanvas-menu,
body.rr-storefront-shell .slideout-navigation { display: none !important; }

.rr-shell-app { min-height: 100vh; background: #fff; }
.rr-shell-main { width: 100%; min-height: 60vh; }
.rr-shell-main > p:empty { display: none; }

.screen-reader-text,
.rr-storefront .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.rr-shell-skip-link {
    position: fixed;
    z-index: 100000;
    left: 16px;
    top: -100px;
    padding: 10px 15px;
    border-radius: 0 0 7px 7px;
    background: #000;
    color: #fff;
    font-weight: 800;
}
.rr-shell-skip-link:focus { top: 0; }

/* -------------------------------------------------------------------------
   Dedicated storefront header
   ------------------------------------------------------------------------- */
.rr-shell-header {
    position: sticky;
    z-index: 1000;
    top: 0;
    width: 100%;
    border-bottom: 1px solid var(--rr-line);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 4px 18px rgba(30, 30, 30, .04);
    backdrop-filter: blur(12px);
}
body.admin-bar .rr-shell-header { top: 32px; }

.rr-shell-header-main {
    display: grid;
    grid-template-columns: 190px minmax(175px, .55fr) minmax(300px, 1.5fr) auto;
    gap: 24px;
    align-items: center;
    width: min(var(--rr-page), calc(100% - 40px));
    min-height: 92px;
    margin: 0 auto;
}

.rr-shell-logo {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    text-decoration: none;
}
.rr-shell-logo-image { display: block; width: auto; max-width: 150px; max-height: 58px; object-fit: contain; }
.rr-shell-logo-text { color: var(--rr-red); font-family: Georgia, serif; font-size: 35px; font-style: italic; font-weight: 800; letter-spacing: -.05em; }

.rr-shell-location { min-width: 0; padding-left: 20px; border-left: 1px solid var(--rr-line); }
.rr-shell-location > span { display: block; margin-bottom: 3px; color: var(--rr-muted); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.rr-shell-location strong { display: block; overflow: hidden; color: var(--rr-ink); font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.rr-shell-location select { max-width: 210px; min-height: 38px; padding: 5px 30px 5px 9px; border: 1px solid var(--rr-line); border-radius: 7px; background: #fff; color: var(--rr-ink); font-weight: 750; }

.rr-shell-search {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d7d4ce;
    border-radius: 999px;
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.rr-shell-search:focus-within { border-color: var(--rr-red); box-shadow: 0 0 0 4px rgba(207, 39, 49, .12); }
.rr-shell-search input {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 9px 14px 9px 47px;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: var(--rr-ink) !important;
    box-shadow: none !important;
}
.rr-shell-search input::placeholder { color: #8a8782; }
.rr-shell-search button {
    min-width: 82px;
    padding: 9px 18px;
    border: 0;
    background: var(--rr-red);
    color: #fff;
    font-weight: 850;
}
.rr-shell-search button:hover { background: var(--rr-red-dark); }
.rr-shell-search-icon,
.rr-sf-search-icon {
    position: absolute;
    z-index: 1;
    left: 18px;
    top: 50%;
    width: 17px;
    height: 17px;
    border: 2px solid #6c6963;
    border-radius: 50%;
    pointer-events: none;
    transform: translateY(-55%);
}
.rr-shell-search-icon::after,
.rr-sf-search-icon::after {
    content: "";
    position: absolute;
    right: -6px;
    bottom: -4px;
    width: 7px;
    height: 2px;
    border-radius: 2px;
    background: #6c6963;
    transform: rotate(45deg);
}

.rr-shell-actions { display: flex; gap: 12px; align-items: center; justify-content: flex-end; }
.rr-shell-account,
.rr-shell-cart {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    min-height: 42px;
    padding: 8px 10px;
    border: 0;
    background: transparent;
    color: var(--rr-ink);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}
.rr-shell-account:hover,
.rr-shell-cart:hover { color: var(--rr-red); }
.rr-shell-account-icon {
    position: relative;
    width: 21px;
    height: 21px;
    border: 2px solid currentColor;
    border-radius: 50%;
}
.rr-shell-account-icon::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 4px;
    width: 5px;
    height: 5px;
    border: 1.7px solid currentColor;
    border-radius: 50%;
    transform: translateX(-50%);
}
.rr-shell-account-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 3px;
    width: 10px;
    height: 5px;
    border: 1.7px solid currentColor;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    transform: translateX(-50%);
}
.rr-shell-cart-icon {
    position: relative;
    width: 22px;
    height: 15px;
    border: 2px solid currentColor;
    border-top: 0;
    transform: skew(-7deg);
}
.rr-shell-cart-icon::before {
    content: "";
    position: absolute;
    left: -5px;
    top: -6px;
    width: 7px;
    height: 6px;
    border-top: 2px solid currentColor;
}
.rr-shell-cart-icon::after {
    content: "••";
    position: absolute;
    left: 1px;
    bottom: -12px;
    letter-spacing: 7px;
    font-size: 12px;
    line-height: 1;
}

.rr-shell-nav {
    display: flex;
    gap: 3px;
    align-items: center;
    justify-content: center;
    min-height: 47px;
    padding: 0 max(20px, calc((100vw - var(--rr-page)) / 2));
    overflow-x: auto;
    border-top: 1px solid #eeeae5;
    scrollbar-width: none;
}
.rr-shell-nav::-webkit-scrollbar { display: none; }
.rr-shell-nav button,
.rr-shell-nav a {
    flex: 0 0 auto;
    min-height: 47px;
    padding: 0 16px;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: var(--rr-ink);
    font-size: 13px;
    font-weight: 850;
    line-height: 44px;
    text-decoration: none;
    white-space: nowrap;
}
.rr-shell-nav button:hover,
.rr-shell-nav button.is-current,
.rr-shell-nav a:hover { border-bottom-color: var(--rr-red); color: var(--rr-red); }

/* -------------------------------------------------------------------------
   Main storefront canvas
   ------------------------------------------------------------------------- */
.rr-storefront {
    width: min(var(--rr-page), calc(100% - 40px));
    max-width: none !important;
    margin: 0 auto;
    padding: 28px 0 80px;
    color: var(--rr-ink);
    font-family: inherit;
    line-height: 1.45;
}
.rr-storefront *,
.rr-storefront *::before,
.rr-storefront *::after { box-sizing: border-box; }
.rr-storefront [hidden] { display: none !important; }
.rr-storefront button,
.rr-storefront input,
.rr-storefront select { font: inherit; }
.rr-storefront button:focus-visible,
.rr-storefront a:focus-visible,
.rr-storefront input:focus-visible,
.rr-storefront select:focus-visible,
.rr-shell-header button:focus-visible,
.rr-shell-header a:focus-visible,
.rr-shell-header input:focus-visible,
.rr-shell-header select:focus-visible {
    outline: 3px solid rgba(207, 39, 49, .25);
    outline-offset: 3px;
}

.rr-sf-admin-preview-note,
.rr-storefront-unavailable,
.rr-sf-admin-catalog-note {
    margin: 0 auto 18px;
    padding: 14px 17px;
    border: 1px solid #d7a61c;
    border-radius: 9px;
    background: #fff8d8;
    color: #5a4510;
}
.rr-sf-admin-preview-note,
.rr-sf-admin-catalog-note strong { font-weight: 850; }
.rr-sf-admin-catalog-note strong { display: block; margin-bottom: 4px; }
.rr-sf-admin-catalog-note a { display: inline-block; margin-left: 6px; font-weight: 850; }
.rr-storefront-unavailable { width: min(780px, calc(100% - 32px)); margin-top: 50px; }

/* Promotional image system */
.rr-sf-single-banner {
    display: block;
    width: 100%;
    aspect-ratio: 8 / 3;
    max-height: 470px;
    overflow: hidden;
    border-radius: var(--rr-radius-lg);
    background: var(--rr-soft);
    box-shadow: var(--rr-shadow-sm);
}
.rr-sf-single-banner picture,
.rr-sf-single-banner img { display: block; width: 100%; height: 100%; }
.rr-sf-single-banner img { object-fit: cover; transition: transform .35s ease; }
a.rr-sf-single-banner:hover img { transform: scale(1.012); }
.rr-sf-compact-intro {
    display: flex;
    gap: 28px;
    align-items: center;
    justify-content: space-between;
    min-height: 230px;
    padding: clamp(30px, 4vw, 58px);
    border-radius: var(--rr-radius-lg);
    background: linear-gradient(118deg,#232323 0%,#292827 68%,#4a2023 100%);
    color: #fff;
    box-shadow: var(--rr-shadow-sm);
}
.rr-sf-compact-intro h1 { max-width: 760px; margin: 0; color: #fff; font-size: clamp(34px,4vw,56px); line-height: 1; letter-spacing: -.045em; }
.rr-sf-compact-intro div>p:last-child { max-width: 660px; margin: 15px 0 0; color: #e8e4de; font-size: clamp(15px,1.6vw,19px); }
.rr-sf-compact-intro .rr-sf-primary-link { flex: 0 0 auto; margin-top: 0; }
.rr-sf-campaign-layout {
    display: block;
    min-height: 0;
}
.rr-sf-main-campaign,
.rr-sf-promo-tile-stack { min-width: 0; }
.rr-sf-promo-tile-stack {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 16px;
}
.rr-promo {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: var(--rr-radius-lg);
    background: var(--rr-soft);
    box-shadow: var(--rr-shadow-sm);
    text-decoration: none;
}
.rr-promo picture,
.rr-promo img { display: block; width: 100%; height: 100%; }
.rr-promo img { object-fit: cover; transition: transform .35s ease; }
a.rr-promo:hover img { transform: scale(1.018); }
.rr-promo-hero { min-height: 460px; aspect-ratio: 8 / 3; }
.rr-promo-tile { min-height: 225px; aspect-ratio: 3 / 1; }
.rr-promo-inline { min-height: 235px; max-height: 360px; }

.rr-sf-fallback-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr);
    align-items: stretch;
    min-height: 460px;
    aspect-ratio: 8 / 3;
    overflow: hidden;
    border-radius: var(--rr-radius-lg);
    background: linear-gradient(120deg, #242424 0%, #2d2c2a 62%, #4b2023 100%);
    color: #fff;
    box-shadow: var(--rr-shadow-sm);
}
.rr-sf-fallback-copy {
    position: relative;
    z-index: 2;
    align-self: center;
    padding: clamp(36px, 5.5vw, 78px);
}
.rr-sf-eyebrow,
.rr-sf-section-kicker,
.rr-sf-cart-header p {
    margin: 0 0 9px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.rr-sf-eyebrow { color: #e7c8ca; }
.rr-sf-fallback-copy h1 {
    max-width: 720px;
    margin: 0;
    color: #fff;
    font-size: clamp(38px, 4.8vw, 68px);
    font-weight: 720;
    line-height: .99;
    letter-spacing: -.047em;
}
.rr-sf-fallback-copy > p:not(.rr-sf-eyebrow) {
    max-width: 620px;
    margin: 23px 0 0;
    color: #e8e4de;
    font-size: clamp(17px, 1.8vw, 22px);
}
.rr-sf-primary-link {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    margin-top: 29px;
    padding: 11px 22px;
    border-radius: 999px;
    background: var(--rr-red);
    color: #fff !important;
    font-weight: 900;
    text-decoration: none;
}
.rr-sf-primary-link:hover { background: #e23640; }
.rr-sf-fallback-art { position: relative; min-height: 100%; overflow: hidden; }
.rr-sf-art-disc { position: absolute; border: 56px solid rgba(255,255,255,.055); border-radius: 50%; }
.rr-sf-art-disc-one { width: 360px; height: 360px; right: -115px; top: -120px; }
.rr-sf-art-disc-two { width: 270px; height: 270px; left: -50px; bottom: -120px; border-width: 42px; }
.rr-sf-art-card {
    position: absolute;
    z-index: 2;
    right: clamp(24px, 4vw, 60px);
    top: 50%;
    width: min(310px, calc(100% - 48px));
    padding: 27px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 16px;
    background: rgba(255,255,255,.1);
    box-shadow: 0 18px 50px rgba(0,0,0,.2);
    backdrop-filter: blur(8px);
    transform: translateY(-50%) rotate(1.5deg);
}
.rr-sf-art-card small { display: block; margin-bottom: 23px; color: #e9dadd; font-size: 11px; font-weight: 900; letter-spacing: .17em; }
.rr-sf-art-card strong { display: block; color: #fff; font-size: clamp(25px, 2.4vw, 38px); line-height: .98; letter-spacing: -.04em; }
.rr-sf-art-card span { display: block; margin-top: 25px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.17); color: #eee8e3; font-size: 13px; font-weight: 700; }

.rr-sf-default-promo-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 234px;
    overflow: hidden;
    padding: 28px;
    border-radius: var(--rr-radius-lg);
    box-shadow: var(--rr-shadow-sm);
    text-decoration: none;
}
.rr-sf-default-promo-tile::before,
.rr-sf-default-promo-tile::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.rr-sf-default-promo-tile::before { width: 220px; height: 220px; right: -80px; top: -95px; border: 34px solid rgba(255,255,255,.12); }
.rr-sf-default-promo-tile::after { width: 80px; height: 80px; right: 35px; top: 45px; background: rgba(255,255,255,.1); }
.rr-sf-default-promo-tile span,
.rr-sf-default-promo-tile strong,
.rr-sf-default-promo-tile em { position: relative; z-index: 1; }
.rr-sf-default-promo-tile span { margin-bottom: 8px; font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.rr-sf-default-promo-tile strong { max-width: 330px; font-size: clamp(21px, 2vw, 30px); line-height: 1.04; letter-spacing: -.035em; }
.rr-sf-default-promo-tile em { margin-top: 19px; font-size: 13px; font-style: normal; font-weight: 900; }
.rr-sf-default-promo-tile em b { margin-left: 4px; font-size: 18px; }
.rr-sf-default-tile-pickup { background: var(--rr-red); color: #fff; }
.rr-sf-default-tile-new { background: #eee8de; color: #2b2824; }
.rr-sf-default-tile-new::before { border-color: rgba(40,35,30,.07); }
.rr-sf-default-tile-new::after { background: rgba(40,35,30,.06); }

.rr-sf-test-banner {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 16px;
    padding: 13px 16px;
    border: 1px solid #d48b91;
    border-radius: 9px;
    background: #fff0f1;
    color: #71151d;
}
.rr-sf-test-banner strong {
    flex: 0 0 auto;
    padding: 3px 8px;
    border-radius: 4px;
    background: var(--rr-red);
    color: #fff;
    font-size: 10px;
    letter-spacing: .09em;
}

/* Pickup information beneath visual banners */
.rr-sf-service-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 16px;
    overflow: hidden;
    border: 1px solid var(--rr-line);
    border-radius: var(--rr-radius);
    background: #fff;
}
.rr-sf-service-strip > div { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 13px; align-items: center; min-height: 104px; padding: 20px 24px; }
.rr-sf-service-strip > div + div { border-left: 1px solid var(--rr-line); }
.rr-sf-service-strip p { min-width: 0; margin: 0; }
.rr-sf-service-strip strong { display: block; margin-bottom: 4px; font-size: 14px; }
.rr-sf-service-strip p span { display: block; color: var(--rr-muted); font-size: 12px; line-height: 1.42; }
.rr-sf-service-icon { position: relative; display: block; width: 38px; height: 38px; border-radius: 50%; background: #f8e7e8; color: var(--rr-red); }
.rr-sf-service-bag::before { content: ""; position: absolute; left: 10px; top: 12px; width: 18px; height: 16px; border: 2px solid currentColor; border-radius: 3px; }
.rr-sf-service-bag::after { content: ""; position: absolute; left: 14px; top: 8px; width: 10px; height: 8px; border: 2px solid currentColor; border-bottom: 0; border-radius: 7px 7px 0 0; }
.rr-sf-service-id::before { content: "21+"; position: absolute; inset: 0; display: grid; place-items: center; font-size: 11px; font-weight: 950; }
.rr-sf-service-check::before { content: ""; position: absolute; left: 10px; top: 9px; width: 17px; height: 10px; border-left: 3px solid currentColor; border-bottom: 3px solid currentColor; transform: rotate(-45deg); }

.rr-sf-store-details {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
    padding: 14px 3px 0;
    color: var(--rr-muted);
    font-size: 12px;
}
.rr-sf-store-details > div > span { margin-right: 6px; text-transform: uppercase; letter-spacing: .08em; }
.rr-sf-store-details > div > strong { color: var(--rr-ink); }
.rr-sf-store-details p { display: inline; margin: 0 0 0 8px; }
.rr-sf-store-details a { margin-left: 8px; color: var(--rr-red); font-weight: 800; }
.rr-sf-store-details details { position: relative; }
.rr-sf-store-details summary { cursor: pointer; color: var(--rr-ink); font-weight: 850; }
.rr-sf-store-details details div { position: absolute; z-index: 5; right: 0; top: calc(100% + 8px); min-width: 230px; padding: 15px; border: 1px solid var(--rr-line); border-radius: 9px; background: #fff; box-shadow: var(--rr-shadow-sm); color: var(--rr-muted); line-height: 1.65; }

/* Section system */
.rr-sf-departments,
.rr-sf-featured,
.rr-sf-shop { scroll-margin-top: 155px; padding-top: clamp(46px, 6vw, 82px); }
.rr-sf-inline-promotion { margin-top: clamp(48px, 6vw, 82px); }
.rr-sf-section-heading,
.rr-sf-shop-heading {
    display: flex;
    gap: 24px;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 22px;
}
.rr-sf-section-kicker { color: var(--rr-red); }
.rr-sf-section-heading h2,
.rr-sf-shop-heading h2 { margin: 0; color: var(--rr-ink); font-size: clamp(30px, 3.5vw, 45px); line-height: 1.05; letter-spacing: -.04em; }
.rr-sf-text-button {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    min-height: 42px;
    padding: 7px 0;
    border: 0;
    border-bottom: 2px solid var(--rr-ink);
    background: transparent;
    color: var(--rr-ink);
    font-size: 13px;
    font-weight: 900;
}
.rr-sf-text-button:hover { border-color: var(--rr-red); color: var(--rr-red); }
.rr-sf-text-button span { font-size: 19px; }

/* Department visual tiles */
.rr-sf-department-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.rr-sf-department-card {
    position: relative;
    display: grid;
    grid-template-rows: 180px auto;
    min-width: 0;
    min-height: 285px;
    overflow: hidden;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--rr-radius);
    background: var(--rr-soft);
    color: var(--rr-ink);
    text-align: left;
    box-shadow: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.rr-sf-department-card:hover { border-color: #d6d0c7; box-shadow: var(--rr-shadow-sm); transform: translateY(-3px); }
.rr-sf-department-media { position: relative; display: block; overflow: hidden; }
.rr-sf-department-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .28s ease; }
.rr-sf-department-card:hover img { transform: scale(1.035); }
.rr-sf-department-shape,
.rr-sf-department-shape::before,
.rr-sf-department-shape::after { position: absolute; content: ""; border-radius: 50%; }
.rr-sf-department-shape { inset: 0; border-radius: 0; background: linear-gradient(135deg, rgba(255,255,255,.48), rgba(255,255,255,.02)); }
.rr-sf-department-shape::before { width: 170px; height: 170px; right: -35px; top: -55px; border: 28px solid rgba(255,255,255,.28); }
.rr-sf-department-shape::after { width: 80px; height: 150px; left: 50%; top: 32px; border-radius: 40px 40px 13px 13px; background: rgba(255,255,255,.52); box-shadow: -74px 32px 0 -15px rgba(255,255,255,.32), 74px 23px 0 -20px rgba(255,255,255,.35); transform: translateX(-50%) rotate(5deg); }
.rr-sf-department-tone-1 .rr-sf-department-media { background: #bd2630; }
.rr-sf-department-tone-2 .rr-sf-department-media { background: #d8a245; }
.rr-sf-department-tone-3 .rr-sf-department-media { background: #496a76; }
.rr-sf-department-tone-4 .rr-sf-department-media { background: #766152; }
.rr-sf-department-tone-5 .rr-sf-department-media { background: #5c7052; }
.rr-sf-department-tone-6 .rr-sf-department-media { background: #6b596d; }
.rr-sf-department-copy { display: flex; flex-direction: column; padding: 18px 19px 20px; }
.rr-sf-department-copy small { color: var(--rr-red); font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.rr-sf-department-copy strong { margin-top: 4px; overflow-wrap: anywhere; font-size: 22px; line-height: 1.06; letter-spacing: -.025em; }
.rr-sf-department-copy em { margin-top: auto; padding-top: 10px; color: var(--rr-muted); font-size: 11px; font-style: normal; }

/* Catalog toolbar */
.rr-sf-cart-button {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    min-height: 44px;
    padding: 9px 11px 9px 16px;
    border: 1px solid var(--rr-ink);
    border-radius: 999px;
    background: #fff;
    color: var(--rr-ink);
    font-weight: 850;
}
.rr-sf-cart-button:hover { background: var(--rr-ink); color: #fff; }
.rr-sf-cart-count {
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--rr-red);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.rr-sf-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: stretch;
    padding: 13px;
    border: 1px solid var(--rr-line);
    border-radius: 13px;
    background: var(--rr-soft);
}
.rr-sf-search-label { position: relative; display: flex; align-items: center; min-width: 0; }
.rr-sf-search-label input {
    width: 100%;
    min-height: 50px;
    padding: 10px 46px 10px 48px;
    border: 1px solid #c8c4bc !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--rr-ink) !important;
    outline: 0;
    box-shadow: none !important;
}
.rr-sf-search-label:focus-within input { border-color: var(--rr-red) !important; box-shadow: 0 0 0 3px rgba(207,39,49,.1) !important; }
.rr-sf-search-icon { left: 18px; }
.rr-sf-search-clear { position: absolute; right: 8px; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #5d5a55; font-size: 24px; line-height: 1; }
.rr-sf-search-clear:hover { background: var(--rr-soft); }
.rr-sf-sort-label { display: grid; grid-template-columns: auto auto; gap: 9px; align-items: center; color: var(--rr-muted); font-size: 12px; font-weight: 850; }
.rr-sf-sort-label select { min-height: 50px; padding: 9px 38px 9px 13px; border: 1px solid #c8c4bc; border-radius: 8px; background: #fff; color: var(--rr-ink); }

.rr-sf-categories { display: flex; gap: 8px; overflow-x: auto; padding: 16px 1px 8px; scrollbar-width: thin; }
.rr-sf-category { flex: 0 0 auto; display: inline-flex; gap: 8px; align-items: center; min-height: 39px; padding: 8px 13px; border: 1px solid var(--rr-line); border-radius: 999px; background: #fff; color: var(--rr-ink); font-size: 12px; font-weight: 850; }
.rr-sf-category span { color: var(--rr-muted); font-size: 10px; }
.rr-sf-category:hover { border-color: #a8a39a; }
.rr-sf-category.is-active { border-color: var(--rr-ink); background: var(--rr-ink); color: #fff; }
.rr-sf-category.is-active span { color: #ded9d0; }
.rr-sf-results-head { display: flex; justify-content: space-between; align-items: center; min-height: 42px; margin: 6px 0 12px; }
.rr-sf-results-count { margin: 0; color: var(--rr-muted); font-size: 13px; font-weight: 750; }
.rr-sf-loading { display: inline-flex; gap: 7px; align-items: center; color: var(--rr-muted); font-size: 12px; }
.rr-sf-loading span { width: 15px; height: 15px; border: 2px solid #c9c5be; border-top-color: var(--rr-red); border-radius: 50%; animation: rr-spin .7s linear infinite; }
@keyframes rr-spin { to { transform: rotate(360deg); } }

/* Product cards */
.rr-sf-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; transition: opacity .18s ease; }
.rr-sf-product-grid.is-loading { opacity: .48; }
.rr-sf-featured-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rr-sf-product-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #e2dfda; border-radius: var(--rr-radius); background: #fff; box-shadow: 0 2px 4px rgba(30,30,30,.02); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.rr-sf-product-card:hover { border-color: #cbc5bd; box-shadow: var(--rr-shadow-sm); transform: translateY(-3px); }
.rr-sf-product-media { position: relative; display: grid; place-items: center; aspect-ratio: 1 / .88; overflow: hidden; background: #f8f7f4; }
.rr-sf-product-media > img, .rr-sf-product-image-link > img { display: block; width: 100%; height: 100%; padding: 16px; object-fit: contain; mix-blend-mode: multiply; }
.rr-sf-product-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; padding: 18px; background: linear-gradient(145deg, #f1eee8, #e3ddd3); text-align: center; }
.rr-sf-product-placeholder::before { content: ""; position: absolute; width: 160px; height: 160px; right: -55px; top: -70px; border: 25px solid rgba(255,255,255,.46); border-radius: 50%; }
.rr-sf-product-placeholder::after { content: ""; width: 58px; height: 116px; margin-bottom: 18px; border-radius: 26px 26px 10px 10px; background: rgba(255,255,255,.67); box-shadow: -54px 19px 0 -10px rgba(255,255,255,.40), 54px 14px 0 -14px rgba(255,255,255,.5); transform: rotate(3deg); }
.rr-sf-product-placeholder span,
.rr-sf-product-placeholder strong { position: relative; z-index: 1; }
.rr-sf-product-placeholder span { max-width: 90%; color: #615d57; font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.rr-sf-product-placeholder strong { margin-top: 4px; color: var(--rr-red); font-size: 13px; letter-spacing: .06em; }
.rr-sf-card-test-badge { position: absolute; z-index: 2; left: 10px; top: 10px; padding: 5px 8px; border-radius: 4px; background: var(--rr-red); color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.rr-sf-product-body { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 17px; }
.rr-sf-product-department { margin: 0 0 6px; overflow: hidden; color: var(--rr-red); font-size: 9px; font-weight: 900; letter-spacing: .11em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.rr-sf-product-body h3 { margin: 0; color: var(--rr-ink); font-size: 16px; line-height: 1.22; letter-spacing: -.015em; overflow-wrap: anywhere; }
.rr-sf-product-body h3 a { color: inherit; text-decoration: none; }
.rr-sf-product-body h3 a:hover { color: var(--rr-red); }
.rr-sf-product-price { min-height: 31px; margin-top: 12px; color: var(--rr-ink); font-size: 20px; font-weight: 900; }
.rr-sf-product-price del { margin-right: 5px; color: #88847e; font-size: 13px; font-weight: 500; }
.rr-sf-product-price ins { color: var(--rr-red); text-decoration: none; }
.rr-sf-price-pending { color: var(--rr-muted); font-size: 13px; font-weight: 750; }
.rr-sf-availability { margin: 4px 0 13px; color: var(--rr-muted); font-size: 10px; line-height: 1.35; }
.rr-sf-card-actions { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; align-items: stretch; margin-top: auto; }
.rr-sf-quantity { display: grid; grid-template-columns: 31px 34px 31px; min-height: 43px; overflow: hidden; border: 1px solid #cfcac3; border-radius: 8px; background: #fff; }
.rr-sf-quantity button { padding: 0; border: 0; background: #fff; color: var(--rr-ink); font-size: 18px; font-weight: 800; }
.rr-sf-quantity button:hover { background: var(--rr-soft); }
.rr-sf-quantity input { width: 34px; padding: 0; border: 0 !important; border-right: 1px solid #e2ded8 !important; border-left: 1px solid #e2ded8 !important; border-radius: 0 !important; background: #fff !important; color: var(--rr-ink) !important; font-size: 12px; font-weight: 850; text-align: center; appearance: textfield; box-shadow: none !important; }
.rr-sf-quantity input::-webkit-inner-spin-button,
.rr-sf-quantity input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.rr-sf-add-button,
.rr-sf-options-button { display: inline-grid; place-items: center; min-height: 43px; padding: 9px 12px; border: 1px solid var(--rr-red); border-radius: 8px; background: var(--rr-red); color: #fff !important; font-size: 12px; font-weight: 900; line-height: 1.1; text-align: center; text-decoration: none; }
.rr-sf-add-button:hover,
.rr-sf-options-button:hover { border-color: var(--rr-red-dark); background: var(--rr-red-dark); }
.rr-sf-add-button.is-loading { opacity: .72; }

.rr-sf-empty { padding: 50px 20px; border: 1px dashed #ccc7bf; border-radius: 12px; background: var(--rr-soft); text-align: center; }
.rr-sf-empty h3 { margin: 0 0 7px; font-size: 24px; }
.rr-sf-empty p { margin: 0; color: var(--rr-muted); }
.rr-sf-load-more-wrap { display: grid; place-items: center; padding-top: 28px; }
.rr-sf-load-more { min-height: 46px; padding: 10px 23px; border: 1px solid var(--rr-ink); border-radius: 999px; background: #fff; color: var(--rr-ink); font-weight: 900; }
.rr-sf-load-more:hover { background: var(--rr-ink); color: #fff; }

/* Cart drawer */
.rr-sf-cart-overlay { position: fixed; z-index: 9998; inset: 0; background: rgba(17,17,17,.48); backdrop-filter: blur(2px); }
.rr-sf-cart-drawer { position: fixed; z-index: 9999; top: 0; right: 0; display: flex; flex-direction: column; width: min(455px, 100%); height: 100vh; overflow: hidden; background: #fff; box-shadow: -15px 0 45px rgba(0,0,0,.17); transform: translateX(105%); transition: transform .25s ease; }
body.admin-bar .rr-sf-cart-drawer { top: 32px; height: calc(100vh - 32px); }
.rr-sf-cart-drawer.is-open { transform: translateX(0); }
.rr-sf-cart-header { display: flex; justify-content: space-between; align-items: flex-start; padding: 24px; border-bottom: 1px solid var(--rr-line); }
.rr-sf-cart-header p { color: var(--rr-red); }
.rr-sf-cart-header h2 { margin: 0; font-size: 31px; letter-spacing: -.04em; }
.rr-sf-cart-close { width: 40px; height: 40px; padding: 0; border: 1px solid var(--rr-line); border-radius: 50%; background: #fff; color: var(--rr-ink); font-size: 27px; line-height: 1; }
.rr-sf-cart-close:hover { background: var(--rr-soft); }
.rr-sf-cart-content { display: flex; flex: 1; flex-direction: column; min-height: 0; overflow-y: auto; }
.rr-sf-cart-lines { padding: 10px 24px 0; }
.rr-sf-cart-line { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 13px; padding: 16px 0; border-bottom: 1px solid var(--rr-line); }
.rr-sf-cart-line-image { display: grid; place-items: center; width: 74px; height: 74px; overflow: hidden; border-radius: 9px; background: var(--rr-soft); }
.rr-sf-cart-line-image img { width: 100%; height: 100%; padding: 5px; object-fit: contain; }
.rr-sf-cart-line-main { min-width: 0; }
.rr-sf-cart-line-main h3 { margin: 0; font-size: 14px; line-height: 1.25; }
.rr-sf-cart-line-main h3 span { display: inline-block; margin-left: 4px; padding: 2px 4px; border-radius: 3px; background: #ffe5e7; color: var(--rr-red-dark); font-size: 8px; letter-spacing: .07em; }
.rr-sf-cart-line-bottom { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-top: 9px; }
.rr-sf-cart-line-bottom input { width: 60px; min-height: 34px; padding: 4px 6px; border: 1px solid #cbc7c1; border-radius: 6px; }
.rr-sf-cart-line-bottom strong { font-size: 15px; }
.rr-sf-cart-remove { margin-top: 7px; padding: 0; border: 0; background: transparent; color: var(--rr-muted); font-size: 11px; text-decoration: underline; }
.rr-sf-cart-remove:hover { color: var(--rr-red); }
.rr-sf-cart-summary { margin-top: auto; padding: 22px 24px 28px; border-top: 1px solid var(--rr-line); background: #fff; }
.rr-sf-cart-test-warning { margin-bottom: 14px; padding: 11px; border: 1px solid #d9959b; border-radius: 7px; background: #fff0f1; color: #71151d; font-size: 11px; }
.rr-sf-cart-test-warning strong { font-weight: 950; }
.rr-sf-cart-subtotal-row { display: flex; justify-content: space-between; align-items: center; font-size: 18px; }
.rr-sf-cart-summary > p { margin: 11px 0 16px; color: var(--rr-muted); font-size: 11px; }
.rr-sf-checkout-button { display: grid; place-items: center; min-height: 49px; border-radius: 8px; background: var(--rr-red); color: #fff !important; font-weight: 900; text-decoration: none; }
.rr-sf-checkout-button:hover { background: var(--rr-red-dark); }
.rr-sf-view-cart-link { display: block; margin-top: 12px; color: var(--rr-ink); font-size: 12px; font-weight: 850; text-align: center; }
.rr-sf-cart-empty { display: grid; flex: 1; place-content: center; padding: 45px 26px; text-align: center; }
.rr-sf-cart-empty h3 { margin: 15px 0 6px; font-size: 25px; }
.rr-sf-cart-empty p { margin: 0; color: var(--rr-muted); }
.rr-sf-empty-bag { position: relative; width: 65px; height: 57px; margin: 0 auto; border: 2px solid #8e8982; border-radius: 8px; }
.rr-sf-empty-bag::before { content: ""; position: absolute; left: 16px; top: -15px; width: 29px; height: 25px; border: 2px solid #8e8982; border-bottom: 0; border-radius: 18px 18px 0 0; }
.rr-sf-continue-shopping { min-height: 43px; margin-top: 19px; padding: 9px 17px; border: 1px solid var(--rr-ink); border-radius: 999px; background: #fff; font-weight: 850; }
.rr-sf-floating-cart { display: none; }
.rr-sf-toast { position: fixed; z-index: 10010; left: 50%; bottom: 28px; max-width: min(500px, calc(100% - 32px)); padding: 13px 18px; border-radius: 999px; background: #242424; color: #fff; box-shadow: var(--rr-shadow-lg); font-size: 13px; font-weight: 750; transform: translateX(-50%); }
.rr-sf-toast.is-error { background: #8e1820; }

/* Footer */
.rr-shell-footer {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
    min-height: 120px;
    padding: 28px max(20px, calc((100vw - var(--rr-page)) / 2));
    border-top: 1px solid var(--rr-line);
    background: #282828;
    color: #e9e5df;
}
.rr-shell-footer > div { display: flex; flex-wrap: wrap; gap: 7px 16px; align-items: baseline; }
.rr-shell-footer strong { color: #fff; font-size: 17px; }
.rr-shell-footer span,
.rr-shell-footer a { color: #d7d2ca; font-size: 12px; }
.rr-shell-footer p { max-width: 560px; margin: 0; color: #c7c1b8; font-size: 11px; text-align: right; }

/* -------------------------------------------------------------------------
   Responsive layout
   ------------------------------------------------------------------------- */
@media (max-width: 1180px) {
    .rr-shell-header-main { grid-template-columns: 155px minmax(150px, .52fr) minmax(260px, 1fr) auto; gap: 17px; }
    .rr-shell-logo-image { max-width: 125px; }
    .rr-shell-account span:last-child { display: none; }
    .rr-promo-hero,
    .rr-sf-fallback-hero { min-height: 420px; }
    .rr-promo-tile,
    .rr-sf-default-promo-tile { min-height: 205px; }
    .rr-sf-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .rr-sf-featured-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
    .rr-shell-header-main { grid-template-columns: 145px minmax(160px, .55fr) minmax(0, 1fr) auto; min-height: 78px; }
    .rr-shell-actions { gap: 4px; }
    .rr-shell-cart-label { display: none; }
    .rr-shell-search button { min-width: 64px; padding-inline: 12px; font-size: 11px; }
    .rr-sf-main-campaign { min-height: 0; }
    .rr-sf-promo-tile-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rr-promo-tile,
    .rr-sf-default-promo-tile { min-height: 235px; }
    .rr-sf-service-strip { grid-template-columns: 1fr; }
    .rr-sf-service-strip > div { min-height: 88px; }
    .rr-sf-service-strip > div + div { border-top: 1px solid var(--rr-line); border-left: 0; }
    .rr-sf-department-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rr-sf-featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 782px) {
    body.admin-bar .rr-shell-header { top: 46px; }
    body.admin-bar .rr-sf-cart-drawer { top: 46px; height: calc(100vh - 46px); }
}

@media (max-width: 760px) {
    .rr-shell-header-main {
        grid-template-columns: minmax(110px, 1fr) auto auto;
        grid-template-areas:
            "logo location actions"
            "search search search";
        gap: 10px 14px;
        width: min(100% - 28px, var(--rr-page));
        min-height: 0;
        padding: 11px 0 12px;
    }
    .rr-shell-logo { grid-area: logo; }
    .rr-shell-logo-image { max-width: 108px; max-height: 42px; }
    .rr-shell-logo-text { font-size: 29px; }
    .rr-shell-location { grid-area: location; padding-left: 12px; }
    .rr-shell-location > span { font-size: 8px; }
    .rr-shell-location strong { max-width: 130px; font-size: 12px; }
    .rr-shell-location select { max-width: 145px; min-height: 34px; font-size: 11px; }
    .rr-shell-search { grid-area: search; }
    .rr-shell-search input { min-height: 43px; font-size: 14px; }
    .rr-shell-search button { min-width: 68px; }
    .rr-shell-actions { grid-area: actions; }
    .rr-shell-account { display: none; }
    .rr-shell-cart { padding-inline: 4px; }
    .rr-shell-nav { justify-content: flex-start; min-height: 42px; padding-inline: 14px; }
    .rr-shell-nav button,
    .rr-shell-nav a { min-height: 42px; padding-inline: 12px; font-size: 11px; line-height: 39px; }

    .rr-storefront { width: min(100% - 28px, var(--rr-page)); padding-top: 16px; }
    .rr-sf-single-banner { aspect-ratio: 4 / 3; max-height: none; }
    .rr-sf-compact-intro { align-items: flex-start; flex-direction: column; min-height: 0; padding: 29px 24px; }
    .rr-sf-compact-intro h1 { font-size: 38px; }
    .rr-sf-compact-intro .rr-sf-primary-link { margin-top: 2px; }
    .rr-sf-main-campaign { min-height: 0; }
    .rr-sf-fallback-hero { grid-template-columns: 1fr; min-height: 485px; aspect-ratio: auto; }
    .rr-sf-fallback-copy { align-self: start; padding: 34px 28px 20px; }
    .rr-sf-fallback-copy h1 { font-size: clamp(37px, 11vw, 54px); }
    .rr-sf-fallback-art { min-height: 190px; }
    .rr-sf-art-card { right: 24px; top: 44%; width: min(285px, calc(100% - 48px)); padding: 20px; }
    .rr-sf-art-card small { margin-bottom: 13px; }
    .rr-sf-art-card strong { font-size: 28px; }
    .rr-sf-art-card span { margin-top: 14px; padding-top: 12px; }
    .rr-promo-hero { min-height: 430px; aspect-ratio: auto; }
    .rr-sf-promo-tile-stack { grid-template-columns: 1fr; }
    .rr-promo-tile,
    .rr-sf-default-promo-tile { min-height: 225px; aspect-ratio: auto; }
    .rr-sf-test-banner { align-items: flex-start; font-size: 12px; }
    .rr-sf-service-strip > div { padding: 17px; }
    .rr-sf-store-details { display: block; line-height: 1.7; }
    .rr-sf-store-details p,
    .rr-sf-store-details a { display: block; margin-left: 0; }
    .rr-sf-store-details details { margin-top: 7px; }
    .rr-sf-store-details details div { right: auto; left: 0; }
    .rr-sf-departments,
    .rr-sf-featured,
    .rr-sf-shop { scroll-margin-top: 165px; padding-top: 51px; }
    .rr-sf-section-heading,
    .rr-sf-shop-heading { align-items: flex-start; }
    .rr-sf-section-heading h2,
    .rr-sf-shop-heading h2 { font-size: 31px; }
    .rr-sf-text-button { font-size: 11px; }
    .rr-sf-department-card { grid-template-rows: 140px auto; min-height: 235px; }
    .rr-sf-department-copy strong { font-size: 19px; }
    .rr-sf-toolbar { grid-template-columns: 1fr; }
    .rr-sf-sort-label { grid-template-columns: 42px minmax(0, 1fr); }
    .rr-sf-sort-label select { width: 100%; }
    .rr-sf-cart-button-top { display: none; }
    .rr-sf-product-grid,
    .rr-sf-featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .rr-sf-product-body { padding: 13px; }
    .rr-sf-product-body h3 { font-size: 14px; }
    .rr-sf-product-price { font-size: 18px; }
    .rr-sf-card-actions { grid-template-columns: 1fr; }
    .rr-sf-quantity { grid-template-columns: 1fr 42px 1fr; }
    .rr-sf-quantity input { width: 42px; }
    .rr-sf-floating-cart { position: fixed; z-index: 900; right: 14px; bottom: 14px; display: inline-flex; gap: 10px; align-items: center; min-height: 50px; padding: 8px 9px 8px 17px; border: 0; border-radius: 999px; background: var(--rr-ink); color: #fff; box-shadow: 0 10px 32px rgba(0,0,0,.27); font-size: 12px; font-weight: 850; }
    .rr-sf-floating-cart-label { display: none; }
    .rr-shell-footer { display: block; padding-block: 31px 90px; }
    .rr-shell-footer p { margin-top: 17px; text-align: left; }
}

@media (max-width: 470px) {
    .rr-shell-location { display: none; }
    .rr-shell-header-main {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "logo actions"
            "search search";
    }
    .rr-sf-campaign-layout { gap: 12px; }
    .rr-sf-fallback-hero { min-height: 455px; }
    .rr-sf-fallback-copy { padding-inline: 24px; }
    .rr-sf-primary-link { min-height: 45px; }
    .rr-sf-department-grid { gap: 10px; }
    .rr-sf-department-card { grid-template-rows: 118px auto; min-height: 218px; }
    .rr-sf-department-copy { padding: 14px; }
    .rr-sf-department-copy strong { font-size: 17px; }
    .rr-sf-department-copy em { font-size: 9px; }
    .rr-sf-product-media { aspect-ratio: 1 / .94; }
    .rr-sf-product-placeholder::after { width: 45px; height: 87px; box-shadow: -42px 17px 0 -10px rgba(255,255,255,.4), 42px 12px 0 -13px rgba(255,255,255,.5); }
    .rr-sf-product-body { padding: 11px; }
    .rr-sf-availability { display: none; }
    .rr-sf-product-price { min-height: 26px; margin-top: 8px; }
    .rr-sf-cart-drawer { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .rr-promo img,
    .rr-sf-product-card,
    .rr-sf-department-card,
    .rr-sf-cart-drawer,
    .rr-sf-product-grid { transition: none !important; }
}

/* -------------------------------------------------------------------------
   v0.5 discovery, favorites, carousels, and intentional no-photo cards
   ------------------------------------------------------------------------- */
.rr-shell-favorites{position:relative;display:inline-flex;gap:6px;align-items:center;min-height:42px;padding:8px 7px;border:0;background:transparent;color:var(--rr-ink);font-size:13px;font-weight:800;white-space:nowrap}.rr-shell-favorites:hover,.rr-shell-favorites.is-current{color:var(--rr-red)}.rr-shell-heart-icon{font-size:25px;line-height:1}.rr-shell-favorites.is-current .rr-shell-heart-icon{font-weight:900}.rr-shell-favorites-count{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#f1eee9;color:#4d4944;font-size:9px}.rr-shell-favorites.is-current .rr-shell-favorites-count{background:var(--rr-red);color:#fff}
.rr-sf-subcategory-wrap{padding:4px 0 8px}.rr-sf-subcategories{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:9px 0;scrollbar-width:thin}.rr-sf-subcategories>span{flex:0 0 auto;color:var(--rr-muted);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.rr-sf-subcategories button{flex:0 0 auto;min-height:36px;padding:7px 12px;border:1px solid #d9d5cf;border-radius:9px;background:#f8f6f2;color:var(--rr-ink);font-size:11px;font-weight:850}.rr-sf-subcategories button:hover,.rr-sf-subcategories button.is-current{border-color:var(--rr-red);background:#fff1f2;color:var(--rr-red)}.rr-sf-subcategories small{margin-left:4px;color:var(--rr-muted);font-size:9px}.rr-sf-favorites-filter>span:first-child{font-size:17px;color:var(--rr-red)}
.rr-sf-product-carousel-section{scroll-margin-top:155px;padding-top:clamp(42px,5vw,68px)}.rr-sf-carousel-heading{margin-bottom:16px}.rr-sf-carousel-shell{position:relative}.rr-sf-product-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,270px);gap:12px;overflow-x:auto;padding:4px 4px 12px;scroll-snap-type:x proximity;scrollbar-width:thin;scroll-behavior:smooth}.rr-sf-product-carousel .rr-sf-product-card{scroll-snap-align:start}.rr-sf-carousel-arrow{position:absolute;z-index:4;top:42%;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #d7d2cb;border-radius:50%;background:rgba(255,255,255,.94);color:#413d38;box-shadow:0 7px 20px rgba(0,0,0,.1);font-size:31px;line-height:1;transform:translateY(-50%)}.rr-sf-carousel-arrow:hover{border-color:var(--rr-red);color:var(--rr-red)}.rr-sf-carousel-prev{left:-12px}.rr-sf-carousel-next{right:-12px}
.rr-sf-product-media{overflow:visible}.rr-sf-product-card{overflow:hidden}.rr-sf-favorite-button{position:absolute;z-index:5;right:9px;top:9px;display:grid;place-items:center;width:37px;height:37px;padding:0;border:1px solid rgba(80,75,68,.13);border-radius:50%;background:rgba(255,255,255,.92);color:#38342f;box-shadow:0 3px 10px rgba(0,0,0,.05);font-size:25px;line-height:1}.rr-sf-favorite-button:hover{color:var(--rr-red);transform:scale(1.04)}.rr-sf-favorite-button.is-favorite{border-color:#e6b7bb;background:#fff0f1;color:var(--rr-red)}.rr-sf-card-test-badge{right:auto;left:10px}
.rr-sf-product-placeholder{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:#f7f5f1}.rr-sf-product-placeholder::before{content:"";position:absolute;width:150px;height:150px;right:-55px;top:-65px;border:24px solid rgba(255,255,255,.65);border-radius:50%}.rr-sf-product-placeholder::after{display:none!important;content:none!important}.rr-sf-placeholder-object{position:relative;z-index:1;display:block;background:#d9d4cc;box-shadow:inset 0 0 0 2px rgba(255,255,255,.45),0 8px 18px rgba(55,50,45,.08)}.rr-sf-placeholder-can .rr-sf-placeholder-object{width:62px;height:118px;border-radius:8px}.rr-sf-placeholder-can .rr-sf-placeholder-object::before,.rr-sf-placeholder-can .rr-sf-placeholder-object::after{content:"";position:absolute;left:4px;right:4px;height:5px;border-radius:50%;background:#c2bdb5}.rr-sf-placeholder-can .rr-sf-placeholder-object::before{top:5px}.rr-sf-placeholder-can .rr-sf-placeholder-object::after{bottom:5px}.rr-sf-placeholder-bottle .rr-sf-placeholder-object{width:58px;height:128px;border-radius:26px 26px 10px 10px}.rr-sf-placeholder-bottle .rr-sf-placeholder-object::before{content:"";position:absolute;left:20px;top:-30px;width:18px;height:38px;border-radius:5px 5px 2px 2px;background:#c8c2ba}.rr-sf-placeholder-bottle .rr-sf-placeholder-object::after{content:"";position:absolute;left:8px;right:8px;top:49px;height:36px;border-radius:4px;background:#ebe7e0}.rr-sf-placeholder-wine .rr-sf-placeholder-object{width:50px;height:134px;border-radius:18px 18px 12px 12px;background:#d7d1c9}.rr-sf-placeholder-wine .rr-sf-placeholder-object::before{content:"";position:absolute;left:17px;top:-43px;width:16px;height:49px;border-radius:4px 4px 2px 2px;background:#c6c0b8;box-shadow:0 -5px 0 -1px #b8b1a8}.rr-sf-placeholder-wine .rr-sf-placeholder-object::after{content:"";position:absolute;left:7px;right:7px;top:53px;height:40px;border-radius:3px;background:#f0ece5;box-shadow:inset 0 0 0 1px rgba(130,120,110,.08)}.rr-sf-placeholder-box .rr-sf-placeholder-object{width:112px;height:83px;border-radius:6px;transform:perspective(300px) rotateY(-5deg)}.rr-sf-placeholder-box .rr-sf-placeholder-object::after{content:"";position:absolute;left:12px;right:12px;top:19px;height:31px;border-radius:3px;background:#ece8e1}.rr-sf-placeholder-bag .rr-sf-placeholder-object{width:86px;height:113px;border-radius:10px 10px 16px 16px;clip-path:polygon(8% 0,92% 0,100% 10%,92% 100%,8% 100%,0 10%)}.rr-sf-placeholder-bag .rr-sf-placeholder-object::after{content:"";position:absolute;left:13px;right:13px;top:35px;height:36px;border-radius:5px;background:#ece8e1}
@media(max-width:960px){.rr-shell-favorites-label{display:none}.rr-sf-product-carousel{grid-auto-columns:minmax(205px,250px)}}
@media(max-width:760px){.rr-shell-favorites{padding-inline:3px}.rr-shell-favorites-count{position:absolute;right:-2px;top:3px}.rr-sf-product-carousel-section{scroll-margin-top:165px;padding-top:45px}.rr-sf-product-carousel{grid-auto-columns:minmax(180px,72vw);gap:10px;padding-inline:1px}.rr-sf-carousel-arrow{display:none}.rr-sf-favorite-button{width:34px;height:34px;font-size:22px}.rr-sf-placeholder-can .rr-sf-placeholder-object{width:50px;height:96px}.rr-sf-placeholder-bottle .rr-sf-placeholder-object{width:48px;height:100px}.rr-sf-placeholder-bottle .rr-sf-placeholder-object::before{left:16px;width:16px;height:30px;top:-24px}.rr-sf-placeholder-wine .rr-sf-placeholder-object{width:42px;height:104px}.rr-sf-placeholder-wine .rr-sf-placeholder-object::before{left:14px;width:14px;height:38px;top:-33px}.rr-sf-placeholder-box .rr-sf-placeholder-object{width:90px;height:66px}.rr-sf-placeholder-bag .rr-sf-placeholder-object{width:70px;height:92px}}

/* -------------------------------------------------------------------------
   v0.7 Retail Storefront Refresh
   ------------------------------------------------------------------------- */

/* Retail mega navigation */
.rr-shell-retail-nav{overflow:visible;position:relative}.rr-shell-retail-nav>.rr-shell-nav-item{position:relative;flex:0 0 auto;height:47px}.rr-shell-retail-nav>.rr-shell-nav-item>.rr-shell-nav-department{height:47px}.rr-shell-nav-chevron{display:inline-block;margin-left:7px;color:#77716b;font-size:14px;transition:transform .18s ease}.rr-shell-nav-item:hover .rr-shell-nav-chevron,.rr-shell-nav-item:focus-within .rr-shell-nav-chevron{transform:rotate(180deg)}
.rr-shell-mega{position:absolute;z-index:1200;left:50%;top:calc(100% - 1px);display:grid;grid-template-columns:minmax(290px,1.5fr) minmax(190px,.8fr);gap:34px;width:min(650px,88vw);padding:26px 28px;border:1px solid #e4e0da;border-radius:0 0 18px 18px;background:#fff;box-shadow:0 22px 45px rgba(31,27,23,.14);opacity:0;pointer-events:none;transform:translate(-50%,-7px);transition:opacity .16s ease,transform .16s ease}.rr-shell-nav-item:hover>.rr-shell-mega,.rr-shell-nav-item:focus-within>.rr-shell-mega{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.rr-shell-mega-column>span{display:block;margin-bottom:13px;color:#67625c;font-size:10px;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.rr-shell-mega-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 17px}.rr-shell-mega button,.rr-shell-mega a{display:block;width:100%;min-height:0;padding:8px 0;border:0;border-bottom:0;background:transparent;color:#332f2a;font-size:14px;font-weight:650;line-height:1.25;text-align:left;text-decoration:none}.rr-shell-mega button:hover,.rr-shell-mega a:hover{color:var(--rr-red);text-decoration:underline;text-underline-offset:3px}.rr-shell-mega-explore{padding-left:26px;border-left:1px solid #ece8e2}.rr-shell-nav-item.is-preview-empty>.rr-shell-nav-department{opacity:.62}

/* Flexible promotion layouts: CTA remains outside finished vendor artwork. */
.rr-promo.rr-promo-layout-vendor,.rr-promo.rr-promo-layout-roopers,.rr-promo.rr-promo-layout-split,.rr-promo.rr-promo-layout-simple{height:auto;aspect-ratio:auto}.rr-promo-layout-vendor picture,.rr-promo-layout-vendor img,.rr-promo-layout-roopers picture,.rr-promo-layout-roopers img,.rr-promo-layout-split picture,.rr-promo-layout-split img{height:100%}
.rr-promo-layout-vendor.rr-promo-hero{display:grid;grid-template-rows:minmax(320px,auto) auto;min-height:0;background:#fff}.rr-promo-vendor-image{display:block;min-height:320px;aspect-ratio:8/3;overflow:hidden;background:#f4f1ec}.rr-promo-vendor-image picture,.rr-promo-vendor-image img{display:block;width:100%;height:100%}.rr-promo-vendor-image img{object-fit:cover}.rr-promo-vendor-action{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:18px 22px;border-top:1px solid var(--rr-line);background:#fff}.rr-promo-vendor-action span{display:block;color:var(--rr-red);font-size:9px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.rr-promo-vendor-action strong{display:block;margin-top:2px;font-size:20px;line-height:1.08}.rr-promo-button{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:46px;padding:10px 19px;border-radius:999px;background:var(--rr-red);color:#fff!important;font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap}.rr-promo-button:hover{background:var(--rr-red-dark)}
.rr-promo-layout-roopers.rr-promo-hero,.rr-promo-layout-split.rr-promo-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);min-height:440px;overflow:hidden}.rr-promo-layout-roopers{background:linear-gradient(118deg,#232323 0%,#292827 58%,#4a2023 100%);color:#fff}.rr-promo-layout-split{border:1px solid #e4e0d9;background:#f4efe6;color:#27231f}.rr-promo-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(34px,5vw,72px)}.rr-promo-copy>span{margin-bottom:12px;color:var(--rr-red);font-size:10px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.rr-promo-layout-roopers .rr-promo-copy>span{color:#efc7ca}.rr-promo-copy>strong{display:block;max-width:690px;font-size:clamp(37px,4.2vw,64px);font-weight:760;line-height:.98;letter-spacing:-.05em}.rr-promo-copy>p{max-width:600px;margin:20px 0 0;color:#625c55;font-size:clamp(16px,1.5vw,20px)}.rr-promo-layout-roopers .rr-promo-copy>p{color:#e7e0d8}.rr-promo-copy>.rr-promo-button{margin-top:27px}.rr-promo-art{position:relative;min-height:100%;overflow:hidden}.rr-promo-art picture,.rr-promo-art img{display:block;width:100%;height:100%}.rr-promo-art img{object-fit:cover}.rr-promo-built-in-art{position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(207,39,49,.22))}.rr-promo-built-in-art i{position:absolute;border:45px solid rgba(255,255,255,.07);border-radius:50%}.rr-promo-built-in-art i:first-child{width:310px;height:310px;right:-90px;top:-95px}.rr-promo-built-in-art i:nth-child(2){width:240px;height:240px;left:2%;bottom:-115px}.rr-promo-built-in-art b{position:absolute;right:13%;top:50%;color:rgba(255,255,255,.11);font-family:Georgia,serif;font-size:220px;font-style:italic;line-height:1;transform:translateY(-50%)}
.rr-promo-layout-simple{min-height:235px;background:linear-gradient(120deg,#d62631,#b91f2a);color:#fff}.rr-promo-layout-simple .rr-promo-copy{min-height:235px;padding:30px}.rr-promo-layout-simple .rr-promo-copy>span{color:#ffd7da}.rr-promo-layout-simple .rr-promo-copy>strong{font-size:clamp(27px,3vw,42px)}.rr-promo-layout-simple .rr-promo-copy>p{color:#fff;opacity:.9}.rr-promo-tile.rr-promo-layout-roopers,.rr-promo-tile.rr-promo-layout-split{grid-template-columns:minmax(0,1fr) minmax(150px,.7fr);min-height:230px}.rr-promo-tile .rr-promo-copy{padding:28px}.rr-promo-tile .rr-promo-copy>strong{font-size:clamp(23px,2.4vw,34px)}.rr-promo-tile .rr-promo-copy>p{margin-top:10px;font-size:14px}.rr-promo-tile .rr-promo-copy>.rr-promo-button{margin-top:18px;min-height:39px;padding:8px 14px;font-size:11px}.rr-promo-layout-vendor.rr-promo-tile{min-height:225px}.rr-promo-layout-vendor.rr-promo-tile .rr-promo-vendor-image{height:100%;min-height:225px;aspect-ratio:3/1}

/* Department and subcategory illustrations */
.rr-sf-department-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px}.rr-sf-department-card{grid-template-rows:190px auto;background:#faf8f5;border-color:#eee9e2}.rr-sf-department-media.rr-category-art-wrap{display:grid;place-items:center;background:#f3efe9;color:#9d342f}.rr-sf-department-media .rr-category-art-svg{width:100%;height:100%;padding:12px;transition:transform .25s ease}.rr-sf-department-card:hover .rr-category-art-svg{transform:scale(1.035)}
.rr-category-art-beer,.rr-category-art-ipa,.rr-category-art-lager,.rr-category-art-ale,.rr-category-art-pilsner,.rr-category-art-stout-porter,.rr-category-art-wheat,.rr-category-art-sour,.rr-category-art-cider,.rr-category-art-non-alcoholic-beer,.rr-category-art-kegs{color:#a86824!important;background:linear-gradient(145deg,#fbf4e5,#f0e4cf)!important}.rr-category-art-wine,.rr-category-art-red-wine,.rr-category-art-white-wine,.rr-category-art-rose,.rr-category-art-sparkling-wine,.rr-category-art-champagne,.rr-category-art-box-wine,.rr-category-art-canned-wine,.rr-category-art-dessert-fortified-wine,.rr-category-art-non-alcoholic-wine{color:#873a49!important;background:linear-gradient(145deg,#f7ecee,#eadde0)!important}.rr-category-art-spirits,.rr-category-art-bourbon,.rr-category-art-brandy-cognac,.rr-category-art-gin,.rr-category-art-rum,.rr-category-art-scotch,.rr-category-art-tequila,.rr-category-art-vodka,.rr-category-art-whiskey,.rr-category-art-cordials,.rr-category-art-sake,.rr-category-art-pre-mix-cocktails,.rr-category-art-ready-to-drink-canned-cocktails,.rr-category-art-non-alcohol-spirits{color:#70503b!important;background:linear-gradient(145deg,#f3ede8,#e8ddd4)!important}.rr-category-art-energy-drinks{color:#c72a34!important;background:linear-gradient(145deg,#f9e8e9,#f1d7d9)!important}.rr-category-art-thc{color:#56644a!important;background:linear-gradient(145deg,#edf1e8,#dfe7d8)!important}.rr-sf-department-card.is-preview-empty{opacity:.72}.rr-sf-department-card.is-preview-empty:hover{opacity:1}

.rr-sf-subcategory-explorer{scroll-margin-top:155px;padding-top:clamp(42px,5vw,70px)}.rr-sf-subcategory-explorer-heading{margin-bottom:15px}.rr-sf-explorer-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 0 15px;scrollbar-width:none}.rr-sf-explorer-tabs::-webkit-scrollbar{display:none}.rr-sf-explorer-tabs button{flex:0 0 auto;min-height:40px;padding:8px 15px;border:1px solid #ded9d2;border-radius:999px;background:#fff;color:#37322d;font-size:12px;font-weight:900}.rr-sf-explorer-tabs button:hover,.rr-sf-explorer-tabs button.is-active{border-color:var(--rr-red);background:#fff0f1;color:var(--rr-red)}.rr-sf-explorer-panel{position:relative}.rr-sf-subcategory-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,185px);gap:10px;overflow-x:auto;padding:3px 2px 12px;scroll-snap-type:x proximity;scrollbar-width:thin}.rr-sf-subcategory-card{display:grid;grid-template-rows:118px auto auto;min-width:0;overflow:hidden;padding:0 0 13px;border:1px solid #e4e0da;border-radius:14px;background:#fff;color:#2d2925;text-align:center;scroll-snap-align:start;box-shadow:0 3px 10px rgba(35,31,27,.04);transition:transform .18s ease,box-shadow .18s ease}.rr-sf-subcategory-card:hover{box-shadow:var(--rr-shadow-sm);transform:translateY(-2px)}.rr-sf-subcategory-art{display:grid;place-items:center;overflow:hidden;color:#7d4937;background:#f4efe9}.rr-sf-subcategory-art .rr-category-art-svg{width:100%;height:100%;padding:8px}.rr-sf-subcategory-card>strong{padding:11px 10px 0;font-size:14px;line-height:1.1}.rr-sf-subcategory-card>small{padding:4px 10px 0;color:#7d7770;font-size:10px}.rr-sf-subcategory-card.is-preview-empty>small:empty::after{content:"Coming soon"}.rr-sf-subcategory-card.is-preview-empty{opacity:.7}

/* More retail-like product discovery rows. */
.rr-sf-product-carousel-section{padding-top:clamp(40px,5vw,66px)}.rr-sf-carousel-heading h2{font-size:clamp(25px,2.5vw,34px)}.rr-sf-product-carousel{grid-auto-columns:minmax(215px,245px);gap:10px;padding:5px 3px 14px}.rr-sf-product-carousel .rr-sf-product-card{border-radius:13px;box-shadow:0 3px 11px rgba(30,27,24,.05)}.rr-sf-product-carousel .rr-sf-product-media{aspect-ratio:1/.98;background:#faf9f7}.rr-sf-product-carousel .rr-sf-product-body{padding:13px 14px 14px}.rr-sf-product-carousel .rr-sf-product-body h3{font-size:14px;line-height:1.25}.rr-sf-product-carousel .rr-sf-product-price{min-height:27px;margin-top:8px;font-size:17px}.rr-sf-product-carousel .rr-sf-availability{display:none}.rr-sf-product-carousel .rr-sf-quantity{display:none}.rr-sf-product-carousel .rr-sf-card-actions{grid-template-columns:1fr;margin-top:11px}.rr-sf-product-carousel .rr-sf-add-button{border-radius:999px}.rr-sf-product-carousel .rr-sf-product-department{margin-bottom:4px}.rr-sf-carousel-arrow{top:44%}

/* Full catalog keeps detailed quantity controls; cards get a cleaner retail rhythm. */
.rr-sf-product-grid{gap:14px}.rr-sf-product-card{border-color:#e6e2dc}.rr-sf-product-card:hover{transform:translateY(-2px)}.rr-sf-product-media{background:#faf9f7}.rr-sf-product-placeholder{background:linear-gradient(145deg,#f8f6f2,#eeeae3)}

@media(max-width:980px){.rr-shell-retail-nav{overflow-x:auto;overflow-y:hidden}.rr-shell-mega{display:none}.rr-shell-nav-chevron{display:none}.rr-promo-layout-roopers.rr-promo-hero,.rr-promo-layout-split.rr-promo-hero{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}.rr-promo-copy{padding:38px}.rr-sf-department-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.rr-promo-layout-vendor.rr-promo-hero{grid-template-rows:auto auto}.rr-promo-vendor-image{min-height:0;aspect-ratio:4/3}.rr-promo-vendor-action{align-items:flex-start;padding:14px 15px}.rr-promo-vendor-action strong{font-size:16px}.rr-promo-button{min-height:40px;padding:8px 13px;font-size:11px}.rr-promo-layout-roopers.rr-promo-hero,.rr-promo-layout-split.rr-promo-hero{grid-template-columns:1fr;min-height:0}.rr-promo-copy{padding:31px 24px}.rr-promo-copy>strong{font-size:38px}.rr-promo-art{min-height:220px}.rr-promo-tile.rr-promo-layout-roopers,.rr-promo-tile.rr-promo-layout-split{grid-template-columns:1fr}.rr-promo-tile .rr-promo-art{display:none}.rr-sf-department-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rr-sf-department-card{grid-template-rows:125px auto;min-height:220px}.rr-sf-department-media .rr-category-art-svg{padding:4px}.rr-sf-subcategory-explorer{padding-top:42px}.rr-sf-subcategory-track{grid-auto-columns:minmax(138px,44vw)}.rr-sf-subcategory-card{grid-template-rows:102px auto auto}.rr-sf-product-carousel{grid-auto-columns:minmax(178px,70vw)}.rr-sf-toolbar{position:sticky;z-index:50;top:150px;box-shadow:0 6px 18px rgba(30,27,24,.08)}}
@media(max-width:520px){.rr-sf-department-grid{grid-template-columns:1fr 1fr}.rr-sf-department-copy{padding:13px}.rr-sf-department-copy strong{font-size:17px}.rr-sf-department-copy em{font-size:9px}.rr-promo-vendor-action>div{min-width:0}.rr-promo-vendor-action strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rr-sf-toolbar{top:139px}}


/* v0.7.1 — photo-style category visuals and improved product placeholders */
.rr-sf-department-media.rr-category-art-wrap,.rr-sf-subcategory-art{background:#f5f1eb!important;color:inherit!important}
.rr-sf-department-media .rr-category-photo,.rr-sf-subcategory-art .rr-category-photo{width:100%;height:100%;display:block}
.rr-category-photo{position:relative;overflow:hidden;border-radius:0;isolation:isolate}
.rr-category-photo__wash,.rr-category-photo__glow,.rr-category-photo__surface,.rr-category-photo__object,.rr-category-photo__caption{position:absolute;display:block}
.rr-category-photo__wash{inset:0;background:linear-gradient(145deg,#efe7dc,#ddd2c1)}
.rr-category-photo__glow{width:66%;height:78%;right:-10%;top:-16%;background:radial-gradient(circle at center,rgba(255,255,255,.95),rgba(255,255,255,0) 66%);opacity:.85}
.rr-category-photo__surface{left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,rgba(114,94,74,0) 0%,rgba(114,94,74,.06) 30%,rgba(114,94,74,.16) 100%)}
.rr-category-photo__surface::before{content:"";position:absolute;left:0;right:0;top:48%;height:1px;background:rgba(70,55,43,.08)}
.rr-category-photo__caption{left:14px;bottom:12px;z-index:3;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 8px 20px rgba(41,32,26,.08);color:#47372f;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.rr-category-photo__object{bottom:18%;z-index:2;background:linear-gradient(180deg,#ffffff,#e6ddd2);box-shadow:0 14px 28px rgba(39,30,22,.15),inset 0 0 0 1px rgba(255,255,255,.72)}
.rr-category-photo__object::before,.rr-category-photo__object::after{content:"";position:absolute;display:block}

/* Family palettes */
.rr-category-photo--beer .rr-category-photo__wash{background:linear-gradient(145deg,#f7eedf,#ead8b9)}
.rr-category-photo--beer .rr-category-photo__surface{background:linear-gradient(180deg,rgba(160,119,55,0) 0%,rgba(160,119,55,.08) 32%,rgba(160,119,55,.22) 100%)}
.rr-category-photo--wine .rr-category-photo__wash{background:linear-gradient(145deg,#f4e8ea,#e8d5d9)}
.rr-category-photo--wine .rr-category-photo__surface{background:linear-gradient(180deg,rgba(116,48,70,0) 0%,rgba(116,48,70,.07) 32%,rgba(116,48,70,.20) 100%)}
.rr-category-photo--spirits .rr-category-photo__wash{background:linear-gradient(145deg,#f0e8de,#e5d6c8)}
.rr-category-photo--spirits .rr-category-photo__surface{background:linear-gradient(180deg,rgba(98,70,44,0) 0%,rgba(98,70,44,.08) 32%,rgba(98,70,44,.20) 100%)}
.rr-category-photo--energy .rr-category-photo__wash{background:linear-gradient(145deg,#f7e9eb,#eed5d9)}
.rr-category-photo--energy .rr-category-photo__surface{background:linear-gradient(180deg,rgba(169,38,55,0) 0%,rgba(169,38,55,.08) 32%,rgba(169,38,55,.22) 100%)}
.rr-category-photo--thc .rr-category-photo__wash{background:linear-gradient(145deg,#eef2ea,#dfe8d7)}
.rr-category-photo--thc .rr-category-photo__surface{background:linear-gradient(180deg,rgba(76,98,63,0) 0%,rgba(76,98,63,.08) 32%,rgba(76,98,63,.20) 100%)}
.rr-category-photo--package .rr-category-photo__wash{background:linear-gradient(145deg,#f4f0ea,#e7ddd2)}

/* Beer / energy: can lineup */
.rr-category-photo--beer .rr-category-photo__object,.rr-category-photo--energy .rr-category-photo__object{width:18%;height:52%;border-radius:12px;bottom:22%}
.rr-category-photo--beer .rr-category-photo__object::before,.rr-category-photo--energy .rr-category-photo__object::before{left:8%;right:8%;top:7%;height:6px;border-radius:999px;background:rgba(145,130,114,.30)}
.rr-category-photo--beer .rr-category-photo__object::after,.rr-category-photo--energy .rr-category-photo__object::after{left:14%;right:14%;top:34%;height:20%;border-radius:8px;background:rgba(255,255,255,.68)}
.rr-category-photo--beer .rr-category-photo__object--a,.rr-category-photo--energy .rr-category-photo__object--a{left:18%;transform:rotate(-5deg)}
.rr-category-photo--beer .rr-category-photo__object--b,.rr-category-photo--energy .rr-category-photo__object--b{left:38%;z-index:3;height:58%}
.rr-category-photo--beer .rr-category-photo__object--c,.rr-category-photo--energy .rr-category-photo__object--c{left:58%;transform:rotate(5deg)}
.rr-category-photo--beer .rr-category-photo__object--d,.rr-category-photo--energy .rr-category-photo__object--d{display:none}
.rr-category-photo--style-dark-pour .rr-category-photo__object::after{background:rgba(73,40,27,.42)}
.rr-category-photo--style-beer-glass .rr-category-photo__object{border-radius:16px 16px 20px 20px}
.rr-category-photo--style-beer-glass .rr-category-photo__object::after{background:rgba(215,164,76,.52)}
.rr-category-photo--style-cider .rr-category-photo__object::after{background:rgba(160,96,54,.24)}
.rr-category-photo--style-keg .rr-category-photo__object--a,.rr-category-photo--style-keg .rr-category-photo__object--b,.rr-category-photo--style-keg .rr-category-photo__object--c,.rr-category-photo--style-keg .rr-category-photo__object--d{width:18%;height:40%;border-radius:20px;bottom:28%}
.rr-category-photo--style-keg .rr-category-photo__object--a{left:18%}.rr-category-photo--style-keg .rr-category-photo__object--b{left:39%}.rr-category-photo--style-keg .rr-category-photo__object--c{left:60%}.rr-category-photo--style-keg .rr-category-photo__object--d{display:none}
.rr-category-photo--style-keg .rr-category-photo__object::before{left:8%;right:8%;top:30%;height:6px;background:rgba(145,130,114,.24)}
.rr-category-photo--style-keg .rr-category-photo__object::after{left:8%;right:8%;bottom:20%;height:6px;background:rgba(145,130,114,.24)}

/* Wine */
.rr-category-photo--wine .rr-category-photo__object{width:18%;border-radius:18px 18px 14px 14px;height:54%;bottom:21%}
.rr-category-photo--wine .rr-category-photo__object::before{left:32%;top:-22%;width:36%;height:26%;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,#d9cbbf,#bca998)}
.rr-category-photo--wine .rr-category-photo__object::after{left:14%;right:14%;top:37%;height:22%;border-radius:5px;background:rgba(255,255,255,.65)}
.rr-category-photo--wine .rr-category-photo__object--a{left:18%;transform:rotate(-6deg)}
.rr-category-photo--wine .rr-category-photo__object--b{left:40%;width:20%;height:62%;z-index:3}
.rr-category-photo--wine .rr-category-photo__object--c{left:64%;width:12%;height:32%;border-radius:0 0 18px 18px;background:linear-gradient(180deg,#ffffff,#eee2d9)}
.rr-category-photo--wine .rr-category-photo__object--c::before{left:47%;top:-58%;width:6%;height:60%;background:#e7ddd2;border-radius:999px}
.rr-category-photo--wine .rr-category-photo__object--c::after{left:-12%;right:-12%;top:-16%;height:32%;border-radius:50%;background:rgba(255,255,255,.85);box-shadow:inset 0 0 0 1px rgba(140,120,108,.10)}
.rr-category-photo--wine .rr-category-photo__object--d{display:none}
.rr-category-photo--style-wine-white .rr-category-photo__object::after{background:rgba(241,225,154,.55)}
.rr-category-photo--style-wine-rose .rr-category-photo__object::after{background:rgba(225,143,156,.42)}
.rr-category-photo--style-sparkling .rr-category-photo__object--a,.rr-category-photo--style-sparkling .rr-category-photo__object--b{border-radius:10px 10px 18px 18px}
.rr-category-photo--style-wine-box .rr-category-photo__object--a{left:23%;width:34%;height:46%;border-radius:10px;transform:none}
.rr-category-photo--style-wine-box .rr-category-photo__object--a::before{display:none}.rr-category-photo--style-wine-box .rr-category-photo__object--a::after{left:15%;right:15%;top:22%;height:32%;border-radius:6px}
.rr-category-photo--style-wine-box .rr-category-photo__object--b{left:61%;width:10%;height:18%;bottom:34%;border-radius:6px}.rr-category-photo--style-wine-box .rr-category-photo__object--b::before,.rr-category-photo--style-wine-box .rr-category-photo__object--b::after{display:none}.rr-category-photo--style-wine-box .rr-category-photo__object--c,.rr-category-photo--style-wine-box .rr-category-photo__object--d{display:none}
.rr-category-photo--style-wine-can .rr-category-photo__object{width:18%;height:52%;border-radius:12px}.rr-category-photo--style-wine-can .rr-category-photo__object::before{left:8%;right:8%;top:7%;height:6px;border-radius:999px;background:rgba(145,130,114,.30)}.rr-category-photo--style-wine-can .rr-category-photo__object::after{left:14%;right:14%;top:34%;height:20%;border-radius:8px;background:rgba(255,255,255,.68)}

/* Spirits */
.rr-category-photo--spirits .rr-category-photo__object--a,.rr-category-photo--spirits .rr-category-photo__object--b{bottom:20%;background:linear-gradient(180deg,#ffffff,#e9dfd3)}
.rr-category-photo--spirits .rr-category-photo__object--a{left:20%;width:22%;height:58%;border-radius:20px 20px 14px 14px;transform:rotate(-3deg)}
.rr-category-photo--spirits .rr-category-photo__object--a::before{left:34%;top:-22%;width:32%;height:25%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#d9cbbf,#bca998)}
.rr-category-photo--spirits .rr-category-photo__object--a::after{left:12%;right:12%;top:34%;height:20%;border-radius:6px;background:rgba(255,255,255,.65)}
.rr-category-photo--spirits .rr-category-photo__object--b{left:54%;width:15%;height:28%;border-radius:0 0 18px 18px}
.rr-category-photo--spirits .rr-category-photo__object--b::before{left:47%;top:-60%;width:7%;height:62%;background:#eadfce;border-radius:999px}
.rr-category-photo--spirits .rr-category-photo__object--b::after{left:-10%;right:-10%;top:-20%;height:36%;border-radius:50%;background:rgba(255,255,255,.9)}
.rr-category-photo--spirits .rr-category-photo__object--c,.rr-category-photo--spirits .rr-category-photo__object--d{display:none}
.rr-category-photo--style-bourbon .rr-category-photo__object--a::after,.rr-category-photo--style-rum .rr-category-photo__object--a::after,.rr-category-photo--style-brandy .rr-category-photo__object--a::after{background:rgba(177,108,40,.42)}
.rr-category-photo--style-clear-spirit .rr-category-photo__object--a::after,.rr-category-photo--style-tequila .rr-category-photo__object--a::after{background:rgba(227,230,220,.76)}
.rr-category-photo--style-cordial .rr-category-photo__object--a::after{background:rgba(165,80,95,.40)}
.rr-category-photo--style-sake .rr-category-photo__object--a{width:24%;height:48%;border-radius:26px}.rr-category-photo--style-sake .rr-category-photo__object--a::before{left:30%;width:40%;height:20%;top:-16%}
.rr-category-photo--style-cocktail .rr-category-photo__object--a{width:20%;height:20%;left:26%;bottom:34%;clip-path:polygon(0 0,100% 0,62% 100%,38% 100%);background:linear-gradient(180deg,#ffffff,#f1e7db)}.rr-category-photo--style-cocktail .rr-category-photo__object--a::before{left:48%;top:96%;width:4%;height:55%;background:#eadfce;border-radius:999px}.rr-category-photo--style-cocktail .rr-category-photo__object--a::after{display:none}.rr-category-photo--style-cocktail .rr-category-photo__object--b{left:56%;width:18%;height:50%;border-radius:12px}
.rr-category-photo--style-cocktail-can .rr-category-photo__object--a{left:28%;width:18%;height:52%;border-radius:12px}.rr-category-photo--style-cocktail-can .rr-category-photo__object--a::before{left:8%;right:8%;top:7%;height:6px;border-radius:999px;background:rgba(145,130,114,.30)}.rr-category-photo--style-cocktail-can .rr-category-photo__object--a::after{left:14%;right:14%;top:34%;height:20%;border-radius:8px;background:rgba(255,255,255,.68)}.rr-category-photo--style-cocktail-can .rr-category-photo__object--b{left:56%;width:15%;height:28%;border-radius:0 0 18px 18px}

/* THC / package */
.rr-category-photo--thc .rr-category-photo__object--a,.rr-category-photo--package .rr-category-photo__object--a{left:24%;width:26%;height:50%;border-radius:12px;background:linear-gradient(180deg,#fbfbfb,#eae1d7)}
.rr-category-photo--thc .rr-category-photo__object--a::after,.rr-category-photo--package .rr-category-photo__object--a::after{left:14%;right:14%;top:22%;height:22%;border-radius:6px;background:rgba(124,151,104,.24)}
.rr-category-photo--thc .rr-category-photo__object--b,.rr-category-photo--package .rr-category-photo__object--b{left:57%;width:14%;height:58%;border-radius:12px 12px 18px 18px;background:linear-gradient(180deg,#ffffff,#e8ddd1)}
.rr-category-photo--thc .rr-category-photo__object--b::after,.rr-category-photo--package .rr-category-photo__object--b::after{left:18%;right:18%;top:30%;height:18%;border-radius:6px;background:rgba(255,255,255,.66)}
.rr-category-photo--thc .rr-category-photo__object--c,.rr-category-photo--thc .rr-category-photo__object--d,.rr-category-photo--package .rr-category-photo__object--c,.rr-category-photo--package .rr-category-photo__object--d{display:none}

/* Product placeholders now use the same more-retail visual language */
.rr-sf-product-placeholder{position:absolute;inset:0;display:block;overflow:hidden;background:linear-gradient(145deg,#f8f5f0,#eee7dc)!important}
.rr-sf-product-placeholder::before{content:"";position:absolute;width:130px;height:130px;right:-34px;top:-42px;border-radius:50%;background:radial-gradient(circle at center,rgba(255,255,255,.95),rgba(255,255,255,0) 70%);border:none!important}
.rr-sf-product-placeholder::after{display:none!important;content:none!important}
.rr-sf-placeholder-object{position:absolute;bottom:22%;display:block;background:linear-gradient(180deg,#ffffff,#e7ded3);box-shadow:0 10px 20px rgba(42,33,27,.13),inset 0 0 0 1px rgba(255,255,255,.72)}
.rr-sf-placeholder-object::before,.rr-sf-placeholder-object::after{content:"";position:absolute;display:block}
.rr-sf-placeholder-object-secondary{opacity:.82;filter:saturate(.95)}
.rr-sf-placeholder-caption{position:absolute;left:11px;bottom:10px;z-index:3;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 8px 16px rgba(45,35,28,.08);color:#5d4940;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.rr-sf-placeholder-can .rr-sf-placeholder-object{width:28%;height:56%;left:24%;border-radius:12px}.rr-sf-placeholder-can .rr-sf-placeholder-object::before{left:8%;right:8%;top:7%;height:5px;border-radius:999px;background:rgba(145,130,114,.30)}.rr-sf-placeholder-can .rr-sf-placeholder-object::after{left:14%;right:14%;top:34%;height:18%;border-radius:8px;background:rgba(255,255,255,.68)}.rr-sf-placeholder-can .rr-sf-placeholder-object-secondary{left:50%;width:22%;height:48%;transform:rotate(4deg)}
.rr-sf-placeholder-bottle .rr-sf-placeholder-object{left:26%;width:24%;height:62%;border-radius:20px 20px 14px 14px}.rr-sf-placeholder-bottle .rr-sf-placeholder-object::before{left:35%;top:-22%;width:30%;height:25%;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#d8cabc,#b9a693)}.rr-sf-placeholder-bottle .rr-sf-placeholder-object::after{left:14%;right:14%;top:36%;height:20%;border-radius:6px;background:rgba(255,255,255,.66)}.rr-sf-placeholder-bottle .rr-sf-placeholder-object-secondary{left:56%;width:15%;height:28%;border-radius:0 0 18px 18px}.rr-sf-placeholder-bottle .rr-sf-placeholder-object-secondary::before{left:47%;top:-60%;width:7%;height:62%;background:#eadfce;border-radius:999px}.rr-sf-placeholder-bottle .rr-sf-placeholder-object-secondary::after{left:-10%;right:-10%;top:-20%;height:36%;border-radius:50%;background:rgba(255,255,255,.9)}
.rr-sf-placeholder-wine .rr-sf-placeholder-object{left:25%;width:22%;height:62%;border-radius:18px 18px 14px 14px}.rr-sf-placeholder-wine .rr-sf-placeholder-object::before{left:34%;top:-24%;width:30%;height:27%;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#d8cabc,#b9a693)}.rr-sf-placeholder-wine .rr-sf-placeholder-object::after{left:14%;right:14%;top:37%;height:20%;border-radius:6px;background:rgba(255,255,255,.68)}.rr-sf-placeholder-wine .rr-sf-placeholder-object-secondary{left:56%;width:13%;height:32%;border-radius:0 0 18px 18px}.rr-sf-placeholder-wine .rr-sf-placeholder-object-secondary::before{left:47%;top:-58%;width:7%;height:60%;background:#eadfce;border-radius:999px}.rr-sf-placeholder-wine .rr-sf-placeholder-object-secondary::after{left:-12%;right:-12%;top:-18%;height:34%;border-radius:50%;background:rgba(255,255,255,.88)}
.rr-sf-placeholder-box .rr-sf-placeholder-object{left:23%;width:32%;height:48%;border-radius:10px}.rr-sf-placeholder-box .rr-sf-placeholder-object::after{left:15%;right:15%;top:24%;height:24%;border-radius:6px;background:rgba(255,255,255,.66)}.rr-sf-placeholder-box .rr-sf-placeholder-object-secondary{left:59%;width:13%;height:58%;border-radius:12px 12px 18px 18px}.rr-sf-placeholder-box .rr-sf-placeholder-object-secondary::after{left:18%;right:18%;top:30%;height:18%;border-radius:6px;background:rgba(255,255,255,.66)}
.rr-sf-placeholder-bag .rr-sf-placeholder-object{left:28%;width:28%;height:56%;border-radius:10px 10px 16px 16px;clip-path:polygon(8% 0,92% 0,100% 10%,92% 100%,8% 100%,0 10%)}.rr-sf-placeholder-bag .rr-sf-placeholder-object::after{left:15%;right:15%;top:34%;height:20%;border-radius:6px;background:rgba(255,255,255,.66)}.rr-sf-placeholder-bag .rr-sf-placeholder-object-secondary{display:none}
@media(max-width:760px){.rr-category-photo__caption{left:10px;bottom:9px;padding:5px 8px;font-size:9px}.rr-sf-placeholder-caption{font-size:8px}.rr-sf-placeholder-can .rr-sf-placeholder-object{width:30%;height:52%}.rr-sf-placeholder-bottle .rr-sf-placeholder-object{height:58%}.rr-sf-placeholder-wine .rr-sf-placeholder-object{height:58%}.rr-sf-placeholder-box .rr-sf-placeholder-object{height:44%}}


/* v0.7.2 — image-based category visuals and cleaner product placeholders */
.rr-sf-department-media.rr-category-art-wrap,.rr-sf-subcategory-art{background:#f5f1eb!important}
.rr-category-photo-image{display:block;width:100%;height:100%}
.rr-category-photo-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s ease;filter:saturate(1.02) contrast(1.01)}
.rr-sf-department-card:hover .rr-category-photo-image img,.rr-sf-subcategory-card:hover .rr-category-photo-image img{transform:scale(1.03)}
.rr-sf-product-placeholder{position:absolute;inset:0;display:block;overflow:hidden;background:linear-gradient(145deg,#f7f3ed,#ece5db)!important}
.rr-sf-product-placeholder::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 16%,rgba(255,255,255,.86),rgba(255,255,255,0) 32%);z-index:0}
.rr-sf-product-placeholder::after{display:none!important;content:none!important}
.rr-sf-product-placeholder img{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;padding:10px;object-fit:contain;mix-blend-mode:multiply}
.rr-sf-placeholder-caption{position:absolute;left:10px;bottom:9px;z-index:3;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 8px 18px rgba(48,39,32,.08);color:#645247;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:760px){.rr-sf-product-placeholder img{padding:8px}.rr-sf-placeholder-caption{font-size:8px}}

/* v0.9.1 automatic product-driven promotions */
.rr-auto-product-promo{position:relative;overflow:hidden;border:1px solid #e4e0d9;background:linear-gradient(135deg,#f5efe4,#fff);color:#27231f}.rr-auto-product-promo-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);min-height:440px}.rr-auto-product-promo-tile{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(140px,.9fr);min-height:225px}.rr-auto-product-promo-inline{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);min-height:270px}.rr-auto-product-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(28px,4vw,58px);min-width:0}.rr-auto-product-copy>span{margin-bottom:10px;color:var(--rr-red);font-size:10px;font-weight:950;letter-spacing:.15em}.rr-auto-product-copy>strong{display:block;max-width:680px;font-size:clamp(28px,3.5vw,54px);line-height:1;letter-spacing:-.04em}.rr-auto-product-promo-tile .rr-auto-product-copy{padding:26px}.rr-auto-product-promo-tile .rr-auto-product-copy>strong{font-size:clamp(22px,2.2vw,31px)}.rr-auto-product-price{margin-top:13px;font-size:clamp(19px,2vw,27px);font-weight:900}.rr-auto-product-copy .rr-promo-button{margin-top:22px}.rr-auto-product-art{display:flex;align-items:center;justify-content:center;min-height:100%;padding:28px;background:radial-gradient(circle at center,#fff 0,#f1ece4 70%,#e9e2d7 100%)}.rr-auto-product-art img{display:block;max-width:100%;max-height:360px;width:auto;height:auto;object-fit:contain}.rr-auto-product-promo-tile .rr-auto-product-art{padding:18px}.rr-auto-product-promo-tile .rr-auto-product-art img{max-height:195px}.rr-auto-product-promo-inline .rr-auto-product-art img{max-height:235px}@media(max-width:760px){.rr-auto-product-promo-hero,.rr-auto-product-promo-inline{grid-template-columns:1fr}.rr-auto-product-promo-hero .rr-auto-product-art,.rr-auto-product-promo-inline .rr-auto-product-art{min-height:220px}.rr-auto-product-promo-tile{grid-template-columns:minmax(0,1fr) 120px}.rr-auto-product-copy{padding:30px 24px}.rr-auto-product-copy>strong{font-size:36px}.rr-auto-product-promo-tile .rr-auto-product-copy>strong{font-size:22px}}

/* v0.10.2 Brandfetch / Roopers fallback product visuals */
.rr-brand-logo-tile,.rr-roopers-logo-tile{position:relative;z-index:1;display:flex;width:100%;height:100%;min-height:120px;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;background:linear-gradient(145deg,#fbfaf8,#f0ece6);text-align:center}.rr-brand-logo-tile img{display:block!important;width:auto!important;height:auto!important;max-width:78%!important;max-height:58%!important;padding:0!important;object-fit:contain!important;mix-blend-mode:normal!important}.rr-brand-logo-tile small,.rr-roopers-logo-tile small{color:#777;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.rr-roopers-logo-tile .rr-product-fallback-logo{display:block!important;width:auto!important;height:auto!important;max-width:72%!important;max-height:74px!important;padding:0!important;object-fit:contain!important;mix-blend-mode:normal!important}.rr-auto-product-art .rr-brand-logo-tile,.rr-auto-product-art .rr-roopers-logo-tile{min-height:100%;background:transparent}.rr-auto-product-art .rr-brand-logo-tile img{max-width:75%!important;max-height:180px!important}.rr-auto-product-art .rr-roopers-logo-tile .rr-product-fallback-logo{max-width:70%!important;max-height:110px!important}.rr-sf-product-media>.rr-brand-logo-tile,.rr-sf-product-media>.rr-roopers-logo-tile,.rr-sf-product-image-link>.rr-brand-logo-tile,.rr-sf-product-image-link>.rr-roopers-logo-tile{position:absolute;inset:0}
/* Product details share the store shell, pickup context, favorites, and cart. */
.rr-sf-product-image-link{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:inherit}
.rr-sf-detail-section{margin:0 0 32px;scroll-margin-top:220px}.rr-sf-back-link{display:inline-block;margin:0 0 18px;color:inherit;font-weight:800}
.rr-storefront .rr-sf-product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden;width:100%;max-width:none}
.rr-sf-product-detail .rr-sf-product-media{min-height:380px;height:auto;aspect-ratio:auto;padding:30px}
.rr-sf-product-detail .rr-sf-product-media>img{max-height:480px;object-fit:contain}.rr-sf-product-detail .rr-sf-product-body{padding:32px}
.rr-sf-product-detail h1{font-size:clamp(26px,3.5vw,44px);line-height:1.12;margin:10px 0 20px;letter-spacing:-.025em}.rr-sf-product-detail .rr-sf-product-price{font-size:28px}
.rr-sf-product-detail .rr-sf-card-actions{display:flex;flex-wrap:wrap;margin-top:12px}.rr-sf-product-detail .rr-sf-add-button{flex:1}.rr-sf-product-description{margin-top:24px;line-height:1.65}.rr-sf-product-description a{text-decoration:underline}
.rr-sf-detail-gallery{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.rr-sf-detail-gallery img{width:84px;height:100px;object-fit:contain;border:1px solid #ddd;border-radius:8px}
.rr-sf-product-options{width:100%}.rr-sf-product-options form.cart{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.rr-sf-product-options .variations{width:100%;margin-bottom:12px}.rr-sf-product-options select{max-width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;background:#fff}.rr-sf-product-options .quantity input{width:70px;padding:10px}.rr-sf-product-options .single_add_to_cart_button{padding:12px 20px;border:0;border-radius:24px;background:#ef233c;color:#fff;font-weight:800;cursor:pointer}.rr-sf-product-options .single_add_to_cart_button.disabled{opacity:.5}
@media(max-width:700px){.rr-storefront .rr-sf-product-detail{grid-template-columns:1fr}.rr-sf-product-detail .rr-sf-product-media{min-height:240px;max-height:320px;padding:20px}.rr-sf-product-detail .rr-sf-product-body{padding:22px}.rr-sf-detail-section{scroll-margin-top:30px}}

.rr-sf-product-detail .rr-sf-quantity{flex:0 0 122px;grid-template-columns:40px 40px 40px}

.rr-pack-choice{display:flex;flex-direction:column;gap:6px;margin:12px 0;font-weight:600}.rr-pack-choice select{width:100%;max-width:100%;padding:10px;border:1px solid #d8d4cf;border-radius:8px;background:#fff;font:inherit;font-size:14px}.rr-sf-cart-line-main dl.variation{margin:6px 0;font-size:13px}.rr-sf-cart-line-main dl.variation p{margin:0}

/* Keep expanded department catalogs inside the viewport. */
@media (min-width:981px) {
    .rr-shell-nav.rr-shell-retail-nav { flex-wrap:wrap; justify-content:flex-start; }
    .rr-shell-retail-nav .rr-shell-mega { left:0; margin-left:var(--rr-menu-shift,0px); transform:translateY(-7px); }
    .rr-shell-retail-nav .rr-shell-nav-item:hover > .rr-shell-mega,
    .rr-shell-retail-nav .rr-shell-nav-item:focus-within > .rr-shell-mega { transform:translateY(0); }
}
@media (max-width:980px) {
    .rr-shell-nav.rr-shell-retail-nav { flex-wrap:nowrap; justify-content:flex-start; }
}

/* Three primary department toppers; subcategories use text only. */
.rr-sf-department-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rr-sf-subcategory-card { min-height: 90px; padding: 20px; }
.rr-sf-subcategory-card strong { margin-top: 0; }
.rr-sf-sale-badge { display: inline-block; background: #da2a35; color: white; border-radius: 4px; padding: 3px 9px; font-size: 13px; font-weight: 700; }
.rr-sf-wine-offer { margin: 16px 0; padding: 16px 20px; border-left: 4px solid #da2a35; background: #fff; }
@media (max-width: 600px) { .rr-sf-department-grid { grid-template-columns: 1fr; } }
