@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&family=Marcellus&display=swap');

:root {
    --oasis-jade: #315e5b;
    --oasis-jade-deep: #214542;
    --oasis-mist: #779b96;
    --oasis-rose: #b98383;
    --oasis-ivory: #faf9f5;
    --oasis-stone: #e7ded2;
    --oasis-ink: #13201f;
    --oasis-muted: #5e6b69;
    --oasis-line: rgba(19, 32, 31, .13);
    --oasis-shadow: 0 18px 60px rgba(19, 32, 31, .09);
    --oasis-radius: 1.35rem;
    --oasis-font: 'IBM Plex Sans Arabic', 'Tahoma', sans-serif;
}

body.storefront {
    --primary: var(--oasis-jade);
    --primary-hover: var(--oasis-jade-deep);
    --secondary: var(--oasis-rose);
    --secondary-hover: #9f6d6d;
    --bg: var(--oasis-ivory);
    --bg-light: var(--oasis-ivory);
    --white: #fffefa;
    --text-dark: var(--oasis-ink);
    --text-body: #43504e;
    --text-muted: var(--oasis-muted);
    --border: var(--oasis-line);
    --font-body: var(--oasis-font);
    --font-heading: var(--oasis-font);
    background: var(--oasis-ivory);
    color: var(--oasis-ink);
    font-family: var(--oasis-font);
    line-height: 1.85;
}

.storefront *, .storefront *::before, .storefront *::after { box-sizing: border-box; }
.storefront a { text-decoration: none; }
.storefront button, .storefront input, .storefront select, .storefront textarea { font: inherit; }
.storefront :focus-visible { outline: 3px solid var(--oasis-rose); outline-offset: 4px; }
.storefront .container { max-width: 1240px; padding-inline: 1.5rem; }
.storefront .btn {
    min-height: 48px;
    border-radius: 999px;
    font-size: .86rem;
    letter-spacing: 0;
    padding: .75rem 1.4rem;
    transition: transform .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
}
.storefront .btn:hover { transform: translateY(-2px); }
.storefront .btn-primary { background: var(--oasis-jade); border-color: var(--oasis-jade); }
.storefront .btn-primary:hover { background: var(--oasis-jade-deep); border-color: var(--oasis-jade-deep); color: #fff; }
.storefront .btn-outline { border-color: var(--oasis-jade); color: var(--oasis-jade); }
.storefront .btn-outline:hover { background: var(--oasis-jade); color: #fff; }

.store-announcement {
    align-items: center;
    background: var(--oasis-jade);
    color: rgba(255, 254, 250, .9);
    display: flex;
    font-size: .73rem;
    justify-content: center;
    letter-spacing: .02em;
    min-height: 34px;
    padding: .35rem 1rem;
}

.store-header {
    backdrop-filter: blur(18px);
    background: rgba(250, 249, 245, .94);
    border-bottom: 1px solid transparent;
    position: sticky;
    top: 0;
    transition: border-color .2s ease, box-shadow .2s ease;
    z-index: 100;
}
.store-header.scrolled { border-color: var(--oasis-line); box-shadow: 0 10px 25px rgba(19, 32, 31, .05); }
.store-header__inner {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(170px, 1fr) auto minmax(170px, 1fr);
    min-height: 82px;
}
.store-mark { align-items: center; color: var(--oasis-ink); display: inline-flex; gap: .55rem; justify-self: start; }
.store-mark__image { height: 46px; object-fit: contain; width: 38px; }
.store-mark__name { font-size: 1rem; font-weight: 700; line-height: 1.25; }
.store-mark__descriptor { color: var(--oasis-muted); display: block; font-size: .62rem; font-weight: 500; margin-top: .1rem; }
.store-nav { align-items: center; display: flex; gap: .25rem; justify-content: center; }
.store-nav a { border-radius: 999px; color: var(--oasis-muted); font-size: .78rem; font-weight: 600; padding: .55rem .82rem; transition: background-color .2s ease, color .2s ease; }
.store-nav a:hover, .store-nav a[aria-current='page'] { background: rgba(119, 155, 150, .15); color: var(--oasis-jade-deep); }
.store-actions { align-items: center; display: flex; gap: .25rem; justify-content: end; }
.store-icon-action { align-items: center; border: 0; border-radius: 50%; color: var(--oasis-ink); display: inline-flex; height: 44px; justify-content: center; position: relative; width: 44px; }
a.store-icon-action { background: transparent; }
a.store-icon-action:hover, .store-icon-action:hover { background: rgba(119, 155, 150, .14); color: var(--oasis-jade); }
.store-cart-count { align-items: center; background: var(--oasis-rose); border: 2px solid var(--oasis-ivory); border-radius: 999px; color: #fff; display: flex; font-size: .63rem; font-weight: 700; height: 19px; justify-content: center; left: 0; line-height: 1; position: absolute; top: 0; width: 19px; }
.store-account { position: relative; }
.store-account summary { cursor: pointer; list-style: none; }
.store-account summary::-webkit-details-marker { display: none; }
.store-account__menu { background: #fffefa; border: 1px solid var(--oasis-line); border-radius: 1rem; box-shadow: var(--oasis-shadow); left: 0; min-width: 180px; padding: .4rem; position: absolute; top: calc(100% + .35rem); }
.store-account__menu a, .store-account__menu button { background: transparent; border: 0; border-radius: .65rem; color: var(--oasis-ink); cursor: pointer; display: block; font-size: .78rem; padding: .62rem .75rem; text-align: right; width: 100%; }
.store-account__menu a:hover, .store-account__menu button:hover { background: rgba(119, 155, 150, .13); }

.mobile-menu-btn { background: transparent; display: none; position: relative; z-index: 160; }
.mobile-nav-backdrop { background: rgba(19, 32, 31, .46); border: 0; display: none; inset: 0; opacity: 0; padding: 0; position: fixed; transition: opacity .22s ease; z-index: 140; }
.mobile-nav-backdrop.open { opacity: 1; }
.mobile-nav { display: none; }
.mobile-nav__close { display: none; }

.store-toast { background: var(--oasis-ink); border: 1px solid rgba(255, 254, 250, .16); border-radius: 999px; box-shadow: 0 18px 48px rgba(19, 32, 31, .22); color: #fffefa; font-size: .8rem; left: 50%; max-width: calc(100vw - 2rem); padding: .75rem 1.2rem; position: fixed; text-align: center; top: 1rem; transform: translateX(-50%); z-index: 250; }
.store-toast--error { background: #7e4242; }
.storefront [data-cart-form] [type='submit']:disabled { cursor: wait; opacity: .72; }

.store-alerts { padding-top: 1rem; }
.storefront .alert { border-radius: 1rem; border-right-width: 4px; box-shadow: 0 8px 20px rgba(19, 32, 31, .04); }
.store-main { min-height: 55vh; }

.store-footer { background: linear-gradient(135deg, #183735, #315e5b 56%, #214542); color: rgba(255, 254, 250, .72); margin-top: 4rem; padding: 3.5rem 0 1.4rem; }
.store-footer__grid { display: grid; gap: 2rem; grid-template-columns: 1.6fr repeat(3, 1fr); padding-bottom: 2.6rem; }
.store-footer__brand { max-width: 310px; }
.store-footer .store-mark { color: #fffefa; margin-bottom: .85rem; }
.store-footer .store-mark__descriptor { color: rgba(255, 254, 250, .53); }
.store-footer p { color: rgba(255, 254, 250, .62); font-size: .79rem; }
.store-footer h2 { color: #fffefa; font-size: .82rem; font-weight: 700; margin: 0 0 .8rem; }
.store-footer ul { display: grid; gap: .45rem; list-style: none; margin: 0; padding: 0; }
.store-footer li, .store-footer a { color: rgba(255, 254, 250, .62); font-size: .78rem; }
.store-footer a:hover { color: #fffefa; }
.store-footer__bottom { border-top: 1px solid rgba(255, 254, 250, .13); color: rgba(255, 254, 250, .45); font-size: .7rem; padding-top: 1.2rem; }

.store-hero { background: var(--oasis-jade-deep); color: #fffefa; min-height: min(720px, calc(100vh - 116px)); overflow: hidden; position: relative; }
.store-hero__media { inset: 0; position: absolute; }
.store-hero__media img { height: 100%; object-fit: cover; opacity: .54; width: 100%; }
.store-hero__fallback { background: radial-gradient(circle at 73% 34%, rgba(185, 131, 131, .48), transparent 18%), radial-gradient(circle at 20% 85%, rgba(119, 155, 150, .5), transparent 32%), linear-gradient(135deg, #183735, #315e5b 56%, #214542); height: 100%; overflow: hidden; position: relative; }
.store-hero__fallback::after { border: 1px solid rgba(255, 254, 250, .22); border-radius: 50%; content: ''; height: 65vw; left: -13vw; position: absolute; top: -21vw; width: 65vw; }
.store-hero::after { background: linear-gradient(90deg, rgba(19, 32, 31, .82), rgba(19, 32, 31, .32) 70%, rgba(19, 32, 31, .1)); content: ''; inset: 0; position: absolute; }
.store-hero__content { align-items: center; display: flex; min-height: inherit; padding: 5rem 1.5rem; position: relative; z-index: 1; }
.store-hero__copy { max-width: 570px; }
.store-eyebrow { align-items: center; color: var(--oasis-rose); display: flex; font-size: .75rem; font-weight: 700; gap: .65rem; letter-spacing: .04em; margin-bottom: 1.1rem; }
.store-eyebrow::before { background: currentColor; content: ''; height: 1px; width: 32px; }
.store-hero h1 { color: #fffefa; font-size: clamp(2.25rem, 5vw, 4.8rem); font-weight: 600; letter-spacing: -.04em; line-height: 1.28; margin: 0; max-width: 600px; }
.store-hero p { color: rgba(255, 254, 250, .8); font-size: 1rem; margin: 1.35rem 0 2rem; max-width: 475px; }
.store-hero .btn { background: #fffefa; border-color: #fffefa; color: var(--oasis-jade-deep); }
.store-hero .btn:hover { background: var(--oasis-rose); border-color: var(--oasis-rose); color: #fff; }

.editorial-section { padding: clamp(4rem, 8vw, 7.5rem) 0; }
.editorial-section--stone { background: var(--oasis-stone); }
.editorial-section--jade { background: var(--oasis-jade); color: #fffefa; }
.section-heading { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 2.2rem; }
.section-heading__copy { max-width: 600px; }
.section-heading h2 { color: var(--oasis-ink); font-size: clamp(1.65rem, 3vw, 2.6rem); letter-spacing: -.035em; margin: 0; }
.section-heading p { color: var(--oasis-muted); font-size: .87rem; margin: .65rem 0 0; }
.section-heading__link { border-bottom: 1px solid currentColor; color: var(--oasis-jade); font-size: .79rem; font-weight: 700; padding-bottom: .2rem; white-space: nowrap; }
.section-heading__link:hover { color: var(--oasis-rose); }

.scent-discovery { background: #fffefa; }
.scent-chip-grid { display: flex; flex-wrap: wrap; gap: .75rem; }
.scent-chip { align-items: center; background: var(--oasis-ivory); border: 1px solid transparent; border-radius: 999px; color: var(--oasis-ink); display: inline-flex; font-size: .83rem; font-weight: 600; gap: .55rem; min-height: 48px; padding: .45rem 1.1rem .45rem 1.25rem; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
.scent-chip::after { color: var(--oasis-rose); content: '←'; font-size: 1rem; line-height: 1; }
.scent-chip:hover { background: #fffefa; border-color: var(--oasis-mist); transform: translateY(-2px); }
.scent-chip--all { background: var(--oasis-jade); color: #fff; }
.scent-chip--all::after { color: #fff; }
.scent-chip--all:hover { background: var(--oasis-jade-deep); }

.store-product-grid { display: grid; gap: 1.35rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.storefront .product-card { background: transparent; box-shadow: none; display: flex; flex-direction: column; overflow: visible; }
.storefront .product-card:hover { box-shadow: none; }
.storefront .product-card__image { background: var(--oasis-stone); border-radius: var(--oasis-radius); overflow: hidden; position: relative; }
.storefront .product-card__image::after { background: linear-gradient(0deg, rgba(19, 32, 31, .14), transparent 42%); content: ''; inset: 0; opacity: 0; position: absolute; transition: opacity .25s ease; }
.storefront .product-card:hover .product-card__image::after { opacity: 1; }
.storefront .product-card__image img { transition: transform .5s ease; }
.storefront .product-card:hover .product-card__image img { transform: scale(1.035); }
.storefront .product-card__body { padding: 1rem .35rem .65rem; text-align: right; }
.storefront .product-card__brand { color: var(--oasis-jade); font-size: .7rem; letter-spacing: .02em; margin-bottom: .15rem; text-transform: none; }
.storefront .product-card__name { font-size: 1rem; font-weight: 700; margin: 0 0 .35rem; }
.storefront .product-card__pricing { justify-content: flex-start; }
.storefront .product-card__price { color: var(--oasis-ink); font-family: var(--oasis-font); font-size: .9rem; font-weight: 700; }
.storefront .product-card__compare { margin-right: 0; }
.storefront .product-card__badge { right: .7rem; top: .7rem; }
.storefront .product-card__badge .badge { background: rgba(19, 32, 31, .82); border-radius: 999px; font-size: .64rem; }
.storefront .product-card form { margin-top: auto; padding: 0 .35rem; }
.storefront .product-card__cart-btn { background: transparent; border: 1px solid var(--oasis-line); border-radius: 999px; color: var(--oasis-jade); cursor: pointer; font-size: .75rem; font-weight: 700; min-height: 44px; padding: .55rem 1rem; position: static; transform: none; transition: background-color .2s ease, color .2s ease; width: 100%; opacity: 1; }
.storefront .product-card__cart-btn:hover { background: var(--oasis-jade); color: #fff; }

.category-tiles { display: grid; gap: 1rem; grid-template-columns: 1.3fr .85fr .85fr; }
.category-tile { background: var(--oasis-jade); border-radius: var(--oasis-radius); color: #fffefa; min-height: 230px; overflow: hidden; position: relative; }
.category-tile:first-child { grid-row: span 2; min-height: 480px; }
.category-tile__image { height: 100%; inset: 0; position: absolute; width: 100%; }
.category-tile__image img { height: 100%; object-fit: cover; opacity: .67; transition: transform .5s ease; width: 100%; }
.category-tile:hover .category-tile__image img { transform: scale(1.045); }
.category-tile::after { background: linear-gradient(0deg, rgba(19, 32, 31, .75), transparent 65%); content: ''; inset: 0; position: absolute; }
.category-tile__label { bottom: 0; padding: 1.35rem; position: absolute; right: 0; z-index: 1; }
.category-tile__label span { color: rgba(255, 254, 250, .7); font-size: .7rem; }
.category-tile__label h3 { color: #fffefa; font-size: 1.25rem; margin: .1rem 0 0; }

.store-banner { background: var(--oasis-jade-deep); border-radius: var(--oasis-radius); color: #fffefa; display: grid; min-height: 270px; overflow: hidden; position: relative; }
.store-banner__image { inset: 0; position: absolute; }
.store-banner__image img { height: 100%; object-fit: cover; opacity: .45; width: 100%; }
.store-banner::after { background: linear-gradient(90deg, rgba(19, 32, 31, .86), rgba(19, 32, 31, .2)); content: ''; inset: 0; position: absolute; }
.store-banner__content { align-self: center; max-width: 480px; padding: 2rem; position: relative; z-index: 1; }
.store-banner h2 { color: #fffefa; font-size: clamp(1.4rem, 3vw, 2.1rem); margin: 0; }
.store-banner p { color: rgba(255, 254, 250, .76); font-size: .84rem; margin: .5rem 0 1.2rem; }
.store-banner .btn { background: #fffefa; border-color: #fffefa; color: var(--oasis-jade-deep); }

.brand-rail { display: grid; gap: 1rem; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.brand-rail__item { align-items: center; background: #fffefa; border: 1px solid rgba(19, 32, 31, .07); border-radius: 1rem; display: flex; flex-direction: column; gap: .55rem; justify-content: center; min-height: 130px; padding: 1rem; text-align: center; transition: border-color .2s ease, transform .2s ease; }
.brand-rail__item:hover { border-color: var(--oasis-mist); transform: translateY(-3px); }
.brand-rail__image { align-items: center; display: flex; height: 54px; justify-content: center; width: 76px; }
.brand-rail__image img { max-height: 54px; object-fit: contain; }
.brand-rail__name { color: var(--oasis-ink); font-size: .75rem; font-weight: 700; }
.brand-rail__initial { align-items: center; background: var(--oasis-stone); border-radius: 50%; color: var(--oasis-jade); display: flex; font-size: 1rem; font-weight: 700; height: 48px; justify-content: center; width: 48px; }

.store-story { align-items: center; display: grid; gap: clamp(2rem, 6vw, 5rem); grid-template-columns: .8fr 1fr; }
.store-story__mark { align-items: center; aspect-ratio: 1; background: linear-gradient(145deg, var(--oasis-stone), #f5f1eb); border-radius: 50% 50% 38% 50%; display: flex; justify-content: center; overflow: hidden; padding: 15%; }
.store-story__mark img { filter: drop-shadow(0 18px 18px rgba(19, 32, 31, .15)); height: 100%; object-fit: contain; width: 100%; }
.store-story h2 { color: var(--oasis-ink); font-size: clamp(1.7rem, 3.2vw, 2.8rem); margin: 0; }
.store-story p { color: var(--oasis-muted); font-size: .9rem; margin: 1rem 0 1.45rem; max-width: 570px; }
.store-promise { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }
.store-promise__item { border-right: 1px solid var(--oasis-line); padding-right: 1rem; }
.store-promise__item:first-child { border-right: 0; padding-right: 0; }
.store-promise strong { color: var(--oasis-ink); display: block; font-size: .84rem; }
.store-promise span { color: var(--oasis-muted); font-size: .72rem; }

.storefront .lux-page-header, .storefront .plp-header { background: linear-gradient(125deg, #f1ece3, var(--oasis-ivory)); padding: 4rem 0 2.8rem; text-align: right; }
.storefront .lux-page-header h1, .storefront .plp-header__title { font-size: clamp(1.8rem, 4vw, 3rem); margin: 0; }
.storefront .lux-page-header p, .storefront .plp-header__count { color: var(--oasis-muted); font-size: .84rem; margin-top: .5rem; }
.storefront .plp-layout { align-items: start; display: grid; gap: 2.2rem; grid-template-columns: 270px minmax(0, 1fr); }
.storefront .plp-filters { background: #fffefa; border: 1px solid var(--oasis-line); border-radius: 1.1rem; padding: 1.1rem 1.2rem; position: sticky; top: 105px; }
.storefront .plp-filters__header { align-items: center; display: flex; gap: .6rem; justify-content: space-between; }
.storefront .plp-filters__title { color: var(--oasis-ink); font-size: .9rem; font-weight: 700; }
.storefront .plp-filters__clear { color: var(--oasis-rose); font-size: .72rem; font-weight: 700; }
.storefront .plp-filter-close { display: none; }
.storefront .plp-filter-backdrop { display: none; }
.storefront .plp-active-filters { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.storefront .plp-active-filters__label { color: var(--oasis-muted); font-size: .7rem; }
.storefront .plp-filter-chip { background: rgba(119, 155, 150, .14); border-radius: 999px; color: var(--oasis-jade-deep); font-size: .7rem; padding: .3rem .6rem; }
.storefront .plp-filter-group__title { color: var(--oasis-ink); font-size: .77rem; letter-spacing: 0; text-transform: none; }
.storefront .plp-filter-group__hint { color: var(--oasis-muted); font-size: .68rem; line-height: 1.65; margin: -.1rem 0 .1rem; }
.storefront .plp-filter-opt { font-size: .8rem; }
.storefront .form-control { border-radius: .75rem; border-color: var(--oasis-line); min-height: 44px; }
.storefront .sr-only { clip: rect(0, 0, 0, 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.storefront .plp-filter-group { border: 0; border-bottom: 1px solid var(--oasis-line); display: grid; gap: .45rem; margin: 0; padding: 1rem 0; }
.storefront .plp-filter-opt { align-items: center; border-radius: .7rem; cursor: pointer; display: flex; gap: .55rem; line-height: 1.45; margin: 0; min-height: 36px; padding: .38rem .5rem; transition: background-color .18s ease, color .18s ease; width: 100%; }
.storefront .plp-filter-opt:hover { background: rgba(119, 155, 150, .11); color: var(--oasis-jade-deep); }
.storefront .plp-filter-opt input { accent-color: var(--oasis-jade); flex: 0 0 auto; height: 16px; margin: 0; width: 16px; }
.storefront .plp-filter-opt input:checked + span { color: var(--oasis-jade-deep); font-weight: 700; }
.storefront .plp-note-options { display: grid; gap: .35rem; grid-template-columns: 1fr 1fr; }
.storefront .plp-filter-opt--check { background: var(--oasis-ivory); border: 1px solid transparent; font-size: .72rem; min-height: 34px; padding: .3rem .45rem; }
.storefront .plp-filter-opt--check:has(input:checked) { background: rgba(119, 155, 150, .14); border-color: rgba(47, 101, 97, .28); }
.storefront .plp-price-range { display: grid; grid-template-columns: 1fr auto 1fr; }
.storefront .plp-price-range input { min-width: 0; width: 100%; }
.storefront .plp-main { min-width: 0; }
.storefront .plp-toolbar { align-items: center; border-bottom: 1px solid var(--oasis-line); display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1.4rem; padding-bottom: 1rem; }
.storefront .plp-toolbar__intro { color: var(--oasis-muted); font-size: .78rem; }
.storefront .plp-toolbar__intro strong { color: var(--oasis-ink); font-size: .88rem; }
.storefront .plp-toolbar__actions { align-items: center; display: flex; gap: .65rem; }
.storefront .plp-sort select { min-width: 165px; width: auto; }
.storefront .plp-filter-toggle { display: none; }
.storefront .plp-empty { background: #fffefa; border: 1px solid var(--oasis-line); border-radius: var(--oasis-radius); padding: 4rem 1.5rem; text-align: center; }
.storefront .plp-empty h2 { font-size: 1.35rem; }
.storefront .plp-empty p { color: var(--oasis-muted); font-size: .85rem; margin: .5rem 0 1.2rem; }

.storefront .pdp-breadcrumb { color: var(--oasis-muted); display: flex; font-size: .73rem; gap: .45rem; padding: 1.35rem 0 0; }
.storefront .pdp-breadcrumb a:hover { color: var(--oasis-jade); }
.storefront .pdp { padding-block: 2rem 4.8rem; }
.storefront .pdp__grid { align-items: start; display: grid; gap: clamp(2rem, 6vw, 5.5rem); grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); }
.storefront .pdp__main-image { background: var(--oasis-stone); border-radius: var(--oasis-radius); overflow: hidden; }
.storefront .pdp__main-image img { aspect-ratio: 1 / 1.12; object-fit: cover; width: 100%; }
.storefront .pdp__thumbs { display: flex; gap: .6rem; margin-top: .8rem; overflow-x: auto; padding-bottom: .2rem; }
.storefront .pdp__thumb { background: var(--oasis-stone); border: 2px solid transparent; border-radius: .65rem; cursor: pointer; flex: 0 0 64px; height: 76px; overflow: hidden; padding: 0; }
.storefront .pdp__thumb.active { border-color: var(--oasis-rose); }
.storefront .pdp__thumb img { height: 100%; object-fit: cover; width: 100%; }
.storefront .pdp__brand { color: var(--oasis-jade); display: inline-block; font-size: .78rem; font-weight: 700; margin-bottom: .65rem; }
.storefront .pdp__brand:hover { color: var(--oasis-rose); }
.storefront .pdp__name { color: var(--oasis-ink); font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.04em; margin: 0; }
.storefront .pdp__price-row { align-items: center; display: flex; flex-wrap: wrap; gap: .7rem; margin: 1rem 0; }
.storefront .pdp__price { color: var(--oasis-ink); font-size: 1.25rem; font-weight: 700; }
.storefront .pdp__compare-price { color: var(--oasis-muted); font-size: .88rem; text-decoration: line-through; }
.storefront .pdp__price-row .badge { border-radius: 999px; font-size: .63rem; }
.storefront .pdp__desc { color: var(--oasis-muted); font-size: .88rem; margin: 0 0 1.35rem; }
.storefront .pdp-scent-signature { background: linear-gradient(135deg, #f7f2ea, #fffefa); border: 1px solid var(--oasis-line); border-radius: 1rem; display: grid; gap: .65rem; margin: 0 0 1.1rem; padding: .9rem 1rem; }
.storefront .pdp-scent-signature__label { color: var(--oasis-rose); font-size: .67rem; font-weight: 700; letter-spacing: .04em; }
.storefront .pdp-scent-signature__notes { display: flex; flex-wrap: wrap; gap: .4rem; }
.storefront .pdp-scent-signature__notes a { background: rgba(255, 254, 250, .72); border: 1px solid rgba(47, 101, 97, .2); border-radius: 999px; color: var(--oasis-jade); font-size: .72rem; font-weight: 700; padding: .35rem .65rem; }
.storefront .pdp-scent-signature__notes a:hover { background: var(--oasis-jade); color: #fff; }
.storefront .pdp-scent-signature__link { color: var(--oasis-ink); font-size: .72rem; font-weight: 700; width: fit-content; }
.storefront .pdp-scent-signature__link:hover { color: var(--oasis-rose); }
.storefront .pdp__facts { border-block: 1px solid var(--oasis-line); display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: .95rem 0; }
.storefront .pdp__facts div { padding: .4rem .75rem; }
.storefront .pdp__facts dt { color: var(--oasis-muted); font-size: .68rem; }
.storefront .pdp__facts dd { color: var(--oasis-ink); font-size: .82rem; font-weight: 700; margin: .1rem 0 0; }
.storefront .pdp__availability { color: #226e50; font-size: .82rem; font-weight: 700; margin: 1.2rem 0 .8rem; }
.storefront .pdp__availability span { color: var(--oasis-muted); font-size: .72rem; font-weight: 400; }
.storefront .pdp__availability--out { color: #994444; }
.storefront .pdp__cart-form { align-items: center; display: flex; gap: .75rem; }
.storefront .pdp__qty { align-items: center; border: 1px solid var(--oasis-line); border-radius: 999px; display: flex; min-height: 48px; }
.storefront .pdp__qty button { background: transparent; border: 0; color: var(--oasis-jade); cursor: pointer; font-size: 1.1rem; height: 46px; width: 38px; }
.storefront .pdp__qty input { appearance: textfield; background: transparent; border: 0; color: var(--oasis-ink); font-size: .83rem; font-weight: 700; text-align: center; width: 34px; }
.storefront .pdp__qty input::-webkit-outer-spin-button, .storefront .pdp__qty input::-webkit-inner-spin-button { appearance: none; margin: 0; }
.storefront .pdp__add-btn { flex: 1; }
.storefront .pdp__delivery { border-top: 1px solid var(--oasis-line); color: var(--oasis-muted); display: flex; flex-wrap: wrap; font-size: .73rem; gap: 1rem; margin-top: 1.25rem; padding-top: 1rem; }
.storefront .pdp__delivery span::before { color: var(--oasis-rose); content: '•'; margin-left: .35rem; }
.storefront .pdp__reading { max-width: 780px; text-align: center; }
.storefront .pdp__reading .store-eyebrow { justify-content: center; }
.storefront .pdp__reading h2 { font-size: clamp(1.6rem, 3vw, 2.35rem); margin: 0; }
.storefront .pdp__reading p { color: var(--oasis-muted); font-size: .94rem; line-height: 2.1; margin: 1rem auto 0; }
.storefront .pdp-notes { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }
.storefront .pdp-notes__tier { background: #fffefa; border: 1px solid var(--oasis-line); border-radius: var(--oasis-radius); min-height: 210px; padding: 1.4rem; text-align: center; }
.storefront .pdp-notes__tier:nth-child(2) { background: var(--oasis-ivory); transform: translateY(1rem); }
.storefront .pdp-notes__tier-label { color: var(--oasis-rose); font-size: .7rem; }
.storefront .pdp-notes__tier h3 { font-size: 1.15rem; margin: .15rem 0 1rem; }
.storefront .pdp-notes__items { display: flex; flex-wrap: wrap; gap: .9rem; justify-content: center; }
.storefront .pdp-note { align-items: center; color: var(--oasis-ink); display: flex; flex-direction: column; font-size: .75rem; font-weight: 700; gap: .35rem; }
.storefront .pdp-note img, .storefront .pdp-note__placeholder { background: var(--oasis-stone); border-radius: 50%; height: 50px; object-fit: cover; width: 50px; }
.storefront .pdp-note__placeholder { align-items: center; color: var(--oasis-jade); display: flex; font-size: 1rem; justify-content: center; }

.storefront .journey-empty { background: #fffefa; border: 1px solid var(--oasis-line); border-radius: var(--oasis-radius); margin: 0 auto; max-width: 580px; padding: 4rem 1.5rem; text-align: center; }
.storefront .journey-empty h2 { font-size: 1.55rem; }
.storefront .journey-empty p { color: var(--oasis-muted); font-size: .85rem; margin: .55rem 0 1.25rem; }
.storefront .cart-grid, .storefront .checkout-grid { align-items: start; display: grid; gap: 2.5rem; grid-template-columns: minmax(0, 1fr) 345px; }
.storefront .cart-items-panel, .storefront .cart-summary, .storefront .checkout-section, .storefront .checkout-summary { background: #fffefa; border: 1px solid var(--oasis-line); border-radius: var(--oasis-radius); }
.storefront .cart-items-panel { padding: 0 1.4rem; }
.storefront .cart-header { align-items: center; border-bottom: 1px solid var(--oasis-line); color: var(--oasis-muted); display: flex; font-size: .78rem; justify-content: space-between; padding: 1rem 0; }
.storefront .cart-item { align-items: center; border-bottom: 1px solid var(--oasis-line); display: flex; gap: 1rem; padding: 1rem 0; }
.storefront .cart-item:last-child { border-bottom: 0; }
.storefront .cart-item__img-wrap { background: var(--oasis-stone); border-radius: .85rem; flex: 0 0 76px; height: 94px; overflow: hidden; }
.storefront .cart-item__img-wrap img { height: 100%; object-fit: cover; width: 100%; }
.storefront .cart-item__info { flex: 1; min-width: 0; }
.storefront .cart-item__name { color: var(--oasis-ink); display: block; font-size: .92rem; font-weight: 700; }
.storefront .cart-item__name:hover { color: var(--oasis-jade); }
.storefront .cart-item__unit-price { color: var(--oasis-muted); font-size: .73rem; margin-top: .25rem; }
.storefront .cart-item__controls { align-items: center; display: flex; gap: 1rem; }
.storefront .cart-qty { align-items: center; border: 1px solid var(--oasis-line); border-radius: 999px; display: flex; }
.storefront .cart-qty button { background: transparent; border: 0; color: var(--oasis-jade); cursor: pointer; font-size: 1rem; height: 34px; width: 28px; }
.storefront .cart-qty input { appearance: textfield; border: 0; color: var(--oasis-ink); font-size: .76rem; font-weight: 700; text-align: center; width: 28px; }
.storefront .cart-qty input::-webkit-inner-spin-button, .storefront .cart-qty input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.storefront .cart-item__total { font-size: .8rem; min-width: 78px; }
.storefront .cart-item__remove { background: transparent; border: 0; color: var(--oasis-muted); cursor: pointer; font-size: .7rem; padding: .35rem; text-decoration: underline; text-underline-offset: .2rem; }
.storefront .cart-item__remove:hover { color: var(--oasis-rose); }
.storefront .cart-summary, .storefront .checkout-summary { padding: 1.4rem; position: sticky; top: 100px; }
.storefront .cart-summary h2, .storefront .checkout-summary h2 { font-size: 1.1rem; margin: 0 0 1.1rem; }
.storefront .cart-summary__rows, .storefront .checkout-summary__rows { display: grid; gap: .7rem; margin: 0 0 1.2rem; }
.storefront .cart-summary__rows div, .storefront .checkout-summary__rows div { color: var(--oasis-muted); display: flex; font-size: .8rem; justify-content: space-between; }
.storefront .cart-summary__rows dt, .storefront .cart-summary__rows dd, .storefront .checkout-summary__rows dt, .storefront .checkout-summary__rows dd { margin: 0; }
.storefront .cart-summary__free { color: #216c50 !important; font-weight: 700; }
.storefront .cart-summary__row--total, .storefront .checkout-summary__total { border-top: 1px solid var(--oasis-line); color: var(--oasis-ink) !important; font-size: .94rem !important; font-weight: 700; margin-top: .2rem; padding-top: .85rem; }
.storefront .cart-summary__continue { color: var(--oasis-jade); display: block; font-size: .76rem; font-weight: 700; margin-top: 1rem; text-align: center; }
.storefront .cart-summary__continue:hover { color: var(--oasis-rose); }
.storefront .cart-summary__note { color: var(--oasis-muted); font-size: .68rem; line-height: 1.75; margin: 1rem 0 0; text-align: center; }
.storefront .checkout-forms { display: grid; gap: 1rem; }
.storefront .checkout-section { padding: 1.5rem; }
.storefront .checkout-section h2 { font-size: 1.15rem; margin: 0 0 1.2rem; }
.storefront .checkout-form-grid { display: grid; gap: .95rem; grid-template-columns: 1fr 1fr; }
.storefront .checkout-form-grid__full { grid-column: span 2; }
.storefront .checkout-section .form-group { margin: 0; }
.storefront .checkout-section .form-label { color: var(--oasis-ink); font-size: .76rem; letter-spacing: 0; text-transform: none; }
.storefront .checkout-section .form-label span { color: var(--oasis-rose); }
.storefront .checkout-payment-option { align-items: center; background: var(--oasis-ivory); border: 1px solid var(--oasis-mist); border-radius: .85rem; cursor: pointer; display: flex; gap: .75rem; padding: 1rem; }
.storefront .checkout-payment-option input { accent-color: var(--oasis-jade); height: 18px; width: 18px; }
.storefront .checkout-payment-option strong, .storefront .checkout-payment-option small { display: block; }
.storefront .checkout-payment-option strong { color: var(--oasis-ink); font-size: .84rem; }
.storefront .checkout-payment-option small { color: var(--oasis-muted); font-size: .71rem; margin-top: .15rem; }
.storefront .checkout-summary__items { border-bottom: 1px solid var(--oasis-line); display: grid; gap: .8rem; margin-bottom: 1rem; max-height: 290px; overflow-y: auto; padding-bottom: 1rem; }
.storefront .checkout-summary__item { align-items: center; display: grid; gap: .55rem; grid-template-columns: 45px minmax(0, 1fr) auto; }
.storefront .checkout-summary__item img { background: var(--oasis-stone); border-radius: .55rem; height: 55px; object-fit: cover; width: 45px; }
.storefront .checkout-summary__item-info { min-width: 0; }
.storefront .checkout-summary__item-info strong, .storefront .checkout-summary__item-info small { display: block; }
.storefront .checkout-summary__item-info strong { color: var(--oasis-ink); font-size: .75rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.storefront .checkout-summary__item-info small { color: var(--oasis-muted); font-size: .65rem; margin-top: .15rem; }
.storefront .checkout-summary__item > strong { color: var(--oasis-ink); font-size: .72rem; }

@media (max-width: 980px) {
    .store-header__inner { grid-template-columns: 1fr auto 1fr; min-height: 72px; }
    .store-nav { display: none; }
    .mobile-menu-btn { display: inline-flex; }
    .mobile-nav-backdrop { display: block; pointer-events: none; }
    .mobile-nav-backdrop.open { pointer-events: auto; }
    .mobile-nav { background: var(--oasis-jade-deep); bottom: 0; display: block; max-width: 390px; opacity: 0; overflow-y: auto; padding: 1rem 1.25rem 2rem; pointer-events: none; position: fixed; right: 0; top: 0; transform: translateX(105%); transition: opacity .22s ease, transform .26s ease; visibility: hidden; width: min(88vw, 390px); z-index: 150; }
    .mobile-nav.open { opacity: 1; pointer-events: auto; transform: translateX(0); visibility: visible; }
    .mobile-nav__inner { display: grid; gap: .35rem; margin: 1.5rem auto 0; max-width: 480px; }
    .mobile-nav__close { align-items: center; background: transparent; border: 0; color: rgba(255, 254, 250, .75); cursor: pointer; display: flex; font-size: .78rem; justify-content: space-between; padding: .6rem .8rem; width: 100%; }
    .mobile-nav__close span { font-size: 1.5rem; font-weight: 300; line-height: 1; }
    .mobile-nav__inner a, .mobile-nav__inner button { background: transparent; border: 0; color: #fffefa; display: block; font-size: 1.1rem; padding: .8rem; text-align: right; width: 100%; }
    .mobile-nav__inner a:hover, .mobile-nav__inner button:hover { color: var(--oasis-rose); }
    .mobile-nav__divider { background: rgba(255, 254, 250, .25); height: 1px; margin: .8rem 0; width: 100%; }
    .store-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .store-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
    .store-footer__grid > :last-child { display: none; }
    .brand-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .storefront .plp-layout { display: block; }
    .storefront .plp-filter-backdrop { background: rgba(19, 32, 31, .42); border: 0; display: block; inset: 0; opacity: 0; pointer-events: none; position: fixed; transition: opacity .2s ease; z-index: 140; }
    .storefront .plp-filter-backdrop.open { opacity: 1; pointer-events: auto; }
    .storefront .plp-filters { border-radius: 1.15rem 0 0 1.15rem; bottom: 0; display: block; max-width: 390px; overflow-y: auto; padding: 1.25rem; pointer-events: none; position: fixed; right: 0; top: 0; transform: translateX(105%); transition: transform .25s ease; visibility: hidden; width: min(90vw, 390px); z-index: 150; }
    .storefront .plp-filters.open { pointer-events: auto; transform: translateX(0); visibility: visible; }
    .storefront .plp-filter-close { align-items: center; background: transparent; border: 0; color: var(--oasis-jade); cursor: pointer; display: inline-flex; font-size: .75rem; font-weight: 700; gap: .4rem; }
    .storefront .plp-filter-toggle { display: inline-flex; }
    .storefront .pdp__grid { grid-template-columns: 1fr; max-width: 720px; }
    .storefront .pdp-notes__tier:nth-child(2) { transform: none; }
    .storefront .cart-grid, .storefront .checkout-grid { grid-template-columns: 1fr; }
    .storefront .cart-summary, .storefront .checkout-summary { position: static; }
}

@media (max-width: 680px) {
    .storefront .container { padding-inline: 1rem; }
    .store-header__inner { gap: .3rem; grid-template-columns: 1fr auto 1fr; }
    .store-mark__name, .store-mark__descriptor { display: none; }
    .store-mark__image { height: 44px; width: 36px; }
    .store-actions { gap: 0; }
    .store-icon-action { height: 42px; width: 42px; }
    .store-hero { min-height: 590px; }
    .store-hero::after { background: linear-gradient(0deg, rgba(19, 32, 31, .76), rgba(19, 32, 31, .42)); }
    .store-hero__content { align-items: end; padding-bottom: 4.2rem; }
    .store-hero h1 { font-size: 2.35rem; }
    .store-hero p { font-size: .9rem; }
    .section-heading { align-items: start; flex-direction: column; gap: .65rem; }
    .store-product-grid { gap: 1.1rem .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .storefront .product-card__body { padding-inline: .05rem; }
    .storefront .product-card__name { font-size: .88rem; }
    .storefront .product-card form { padding: 0; }
    .category-tiles { grid-template-columns: 1fr 1fr; }
    .category-tile { min-height: 190px; }
    .category-tile:first-child { grid-column: span 2; grid-row: auto; min-height: 310px; }
    .brand-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .store-story { grid-template-columns: 1fr; }
    .store-story__mark { max-width: 320px; }
    .store-promise { grid-template-columns: 1fr; }
    .store-promise__item, .store-promise__item:first-child { border-right: 0; border-top: 1px solid var(--oasis-line); padding: .75rem 0 0; }
    .store-promise__item:first-child { border-top: 0; padding-top: 0; }
    .store-footer__grid { grid-template-columns: 1fr 1fr; }
    .store-footer__brand { grid-column: span 2; }
    .store-footer__grid > :last-child { display: block; }
    .storefront .pdp { padding-block: 1.3rem 3.5rem; }
    .storefront .pdp__facts { grid-template-columns: 1fr 1fr; }
    .storefront .pdp-notes { grid-template-columns: 1fr; }
    .storefront .cart-items-panel { padding-inline: 1rem; }
    .storefront .cart-item { align-items: flex-start; flex-wrap: wrap; }
    .storefront .cart-item__controls { margin-right: 86px; width: calc(100% - 86px); }
    .storefront .cart-item__total { margin-inline-start: auto; }
    .storefront .checkout-form-grid { grid-template-columns: 1fr; }
    .storefront .checkout-form-grid__full { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .storefront *, .storefront *::before, .storefront *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
