.fiona-consent[hidden] {
display: none !important;
}
.fiona-consent__banner {
position: fixed;
inset-inline: 0;
bottom: 0;
z-index: 100000;
background: #111;
color: #f5f5f5;
border-top: 1px solid rgba(255, 255, 255, 0.12);
box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.35);
}
.fiona-consent__banner[hidden],
.fiona-consent__modal[hidden] {
display: none !important;
}
.fiona-consent__banner-inner {
max-width: 1100px;
margin: 0 auto;
padding: 1rem 1.25rem 1.15rem;
display: grid;
gap: 1rem;
}
@media (min-width: 768px) {
.fiona-consent__banner-inner {
grid-template-columns: 1fr auto;
align-items: center;
}
}
.fiona-consent__title {
margin: 0 0 0.35rem;
font-size: 1.05rem;
font-weight: 700;
}
.fiona-consent__text {
margin: 0;
font-size: 0.92rem;
line-height: 1.45;
color: rgba(245, 245, 245, 0.88);
}
.fiona-consent__actions {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
.fiona-consent__actions--modal {
justify-content: flex-end;
margin-top: 1rem;
}
.fiona-consent__btn {
appearance: none;
border: 1px solid rgba(255, 255, 255, 0.28);
background: transparent;
color: inherit;
padding: 0.65rem 0.9rem;
font: inherit;
font-size: 0.9rem;
cursor: pointer;
border-radius: 2px;
min-height: 44px;
}
.fiona-consent__btn:focus-visible {
outline: 2px solid #fff;
outline-offset: 2px;
}
.fiona-consent__btn--primary {
background: #c8102e;
border-color: #c8102e;
color: #fff;
}
.fiona-consent__btn--ghost {
background: transparent;
}
.fiona-consent__modal {
position: fixed;
inset: 0;
z-index: 100001;
background: rgba(0, 0, 0, 0.55);
display: grid;
place-items: end center;
padding: 1rem;
}
@media (min-width: 768px) {
.fiona-consent__modal {
place-items: center;
}
}
.fiona-consent__dialog {
width: min(640px, 100%);
max-height: min(90vh, 760px);
overflow: auto;
background: #161616;
color: #f5f5f5;
border: 1px solid rgba(255, 255, 255, 0.12);
padding: 1rem 1.1rem 1.2rem;
}
.fiona-consent__dialog-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
margin-bottom: 0.75rem;
}
.fiona-consent__icon-btn {
appearance: none;
border: 0;
background: transparent;
color: inherit;
font-size: 1.6rem;
line-height: 1;
cursor: pointer;
min-width: 44px;
min-height: 44px;
}
.fiona-consent__cat {
display: grid;
grid-template-columns: 1fr auto;
gap: 0.75rem;
align-items: start;
padding: 0.75rem 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.fiona-consent__cat strong {
display: block;
margin-bottom: 0.2rem;
}
.fiona-consent__cat small {
display: block;
color: rgba(245, 245, 245, 0.72);
line-height: 1.4;
}
.fiona-consent__cat input {
width: 1.15rem;
height: 1.15rem;
margin-top: 0.15rem;
}
.fiona-consent__badge {
grid-column: 2;
font-size: 0.75rem;
color: rgba(245, 245, 245, 0.65);
}
.fiona-consent__details {
margin-top: 0.75rem;
}
.fiona-consent__details summary {
cursor: pointer;
margin-bottom: 0.5rem;
}
.fiona-consent__table-wrap {
overflow: auto;
}
.fiona-consent__table-wrap table {
width: 100%;
border-collapse: collapse;
font-size: 0.8rem;
}
.fiona-consent__table-wrap th,
.fiona-consent__table-wrap td {
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
padding: 0.4rem 0.35rem;
text-align: left;
vertical-align: top;
}
.fiona-gdpr-check {
display: flex;
gap: 0.6rem;
align-items: flex-start;
margin: 0.75rem 0;
font-size: 0.95rem;
line-height: 1.4;
}
.fiona-gdpr-check a {
text-decoration: underline;
}:root {
--fiona-radius: 0.25rem;
--fiona-radius-sm: calc(var(--fiona-radius) - 2px);
--fiona-radius-lg: calc(var(--fiona-radius) + 2px);
--fiona-bg: oklch(9% 0 0);
--fiona-fg: oklch(95% 0.012 70);
--fiona-card: oklch(15% 0.002 20);
--fiona-card-fg: oklch(95% 0.012 70);
--fiona-elevated: oklch(19% 0.003 20);
--fiona-popover: oklch(13% 0.002 20);
--fiona-popover-fg: oklch(95% 0.012 70);
--fiona-primary: oklch(57.7% 0.238 27.6);
--fiona-primary-fg: oklch(98% 0.01 70);
--fiona-secondary: oklch(22% 0.003 20);
--fiona-secondary-fg: oklch(95% 0.012 70);
--fiona-muted: oklch(20% 0.002 20);
--fiona-muted-fg: oklch(74% 0.012 60);
--fiona-accent: oklch(26% 0.02 27);
--fiona-accent-fg: oklch(95% 0.012 70);
--fiona-destructive: oklch(62% 0.21 25);
--fiona-destructive-fg: oklch(98% 0.01 70);
--fiona-success: oklch(68% 0.16 150);
--fiona-success-fg: oklch(12% 0 0);
--fiona-warning: oklch(78% 0.15 75);
--fiona-warning-fg: oklch(12% 0 0);
--fiona-border: oklch(26% 0.003 20);
--fiona-input: oklch(24% 0.003 20);
--fiona-ring: oklch(57.7% 0.238 27.6);
--fiona-gradient-red: linear-gradient(135deg, oklch(57.7% 0.238 27.6), oklch(45% 0.19 25));
--fiona-gradient-fade: linear-gradient(
180deg,
color-mix(in oklab, oklch(9% 0 0) 0%, transparent),
oklch(9% 0 0) 92%
);
--fiona-shadow-red: 0 12px 40px -12px color-mix(in oklab, oklch(57.7% 0.238 27.6) 60%, transparent);
--fiona-shadow-hard: 0 18px 40px -20px oklch(0% 0 0 / 90%);
--fiona-font-sans: "Barlow", system-ui, sans-serif;
--fiona-font-display: "Bebas Neue", "Barlow Condensed", sans-serif; --fiona-text-xs: 0.8125rem;
--fiona-text-sm: 0.9375rem;
--fiona-text-base: 1rem;
--fiona-text-md: 1.0625rem;
--fiona-text-lg: 1.125rem;
--fiona-text-xl: 1.25rem;
--fiona-text-2xl: 1.5rem;
--fiona-text-price: 1.625rem;
--fiona-leading-tight: 1.25;
--fiona-leading-normal: 1.55;
--fiona-leading-relaxed: 1.65;
--fiona-container: 1440px;
--fiona-header-h: 80px;
--fiona-announce-h: 40px;
--fiona-space-1: 0.25rem;
--fiona-space-2: 0.5rem;
--fiona-space-3: 0.75rem;
--fiona-space-4: 1rem;
--fiona-space-6: 1.5rem;
--fiona-space-8: 2rem;
--fiona-space-12: 3rem;
--fiona-space-16: 4rem; --background: var(--fiona-bg);
--foreground: var(--fiona-fg);
--fiona-background: var(--fiona-bg);
--fiona-foreground: var(--fiona-fg);
--card: var(--fiona-card);
--primary: var(--fiona-primary);
--primary-foreground: var(--fiona-primary-fg);
--border: var(--fiona-border);
--muted-foreground: var(--fiona-muted-fg);
}
@media (min-width: 640px) {
:root {
--fiona-header-h: 80px;
}
}
@media (min-width: 1024px) {
:root {
--fiona-header-h: 88px;
}
}body {
font-family: var(--fiona-font-sans);
font-weight: 400;
}
h1,
h2,
h3,
h4,
.display,
.font-display,
.site-footer__title {
font-family: var(--fiona-font-display);
font-weight: 400;
letter-spacing: 0.02em;
line-height: 0.95;
text-transform: uppercase;
} .site-nav__link,
.service-mode__btn,
.announcement-bar__inner,
.btn,
.site-footer__text,
.site-footer__list,
.site-footer__payments span {
font-family: var(--fiona-font-sans);
text-transform: none;
line-height: inherit;
letter-spacing: normal;
}
.site-nav__link,
.service-mode__btn,
.mobile-nav__list .site-nav__link {
text-transform: uppercase;
letter-spacing: 0.04em;
}
.announcement-bar__inner {
text-transform: uppercase;
letter-spacing: 0.15em;
line-height: 1.4;
}
::selection {
background: var(--fiona-primary);
color: var(--fiona-primary-fg);
}
:focus-visible {
outline: 2px solid var(--fiona-ring);
outline-offset: 2px;
}.rice-texture {
background-image: radial-gradient(
color-mix(in oklab, var(--fiona-fg) 8%, transparent) 1px,
transparent 1px
);
background-size: 14px 14px;
}
.dojo-lines {
background-image: repeating-linear-gradient(
115deg,
transparent 0 22px,
color-mix(in oklab, var(--fiona-fg) 4%, transparent) 22px 23px
);
}
.red-sun {
background: radial-gradient(
circle at center,
color-mix(in oklab, var(--fiona-primary) 85%, transparent) 0 58%,
transparent 60%
);
filter: blur(0.3px);
}
.diagonal-cut {
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 28px), 0 100%);
}
.hide-scrollbar {
scrollbar-width: none;
}
.hide-scrollbar::-webkit-scrollbar {
display: none;
}
.skip-link {
position: absolute;
top: 0.5rem;
left: 0.5rem;
z-index: 100000;
padding: 0.5rem 0.875rem;
background: var(--fiona-primary);
color: var(--fiona-primary-fg);
font-size: 0.875rem;
font-weight: 700;
text-decoration: none;
transform: translateY(-200%);
transition: transform 0.2s ease;
}
.skip-link:focus {
transform: translateY(0);
outline: 2px solid var(--fiona-ring);
outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
.skip-link {
transition: none;
}
}*,
*::before,
*::after {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
font-family: var(--fiona-font-sans);
font-size: var(--fiona-text-base);
background: var(--fiona-bg);
color: var(--fiona-fg);
line-height: var(--fiona-leading-normal);
-webkit-font-smoothing: antialiased;
}
img {
max-width: 100%;
height: auto;
display: block;
}
a {
color: inherit;
text-decoration: none;
}
button,
input,
textarea,
select {
font: inherit;
}
.container {
width: min(100% - 2rem, var(--fiona-container));
margin-inline: auto;
}
@media (min-width: 1024px) {
.container {
width: min(100% - 4rem, var(--fiona-container));
}
}
.section {
padding-block: var(--fiona-space-12);
}
.section__header {
display: flex;
align-items: end;
justify-content: space-between;
gap: var(--fiona-space-4);
margin-bottom: var(--fiona-space-8);
}
.section__eyebrow {
color: var(--fiona-primary);
font-size: var(--fiona-text-sm);
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.section__title {
margin: 0.25rem 0 0;
font-size: clamp(1.75rem, 4vw, 2.5rem);
line-height: 1.1;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
min-height: 2.75rem;
padding: 0 1.25rem;
border: 0;
border-radius: var(--fiona-radius-sm);
background: var(--fiona-gradient-red);
color: var(--fiona-primary-fg);
font-family: var(--fiona-font-sans);
font-size: var(--fiona-text-sm);
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
cursor: pointer;
box-shadow: var(--fiona-shadow-red);
transition: transform 0.15s ease, filter 0.15s ease;
}
.btn:hover,
.btn:focus-visible {
filter: brightness(1.1);
}
.btn:active {
transform: scale(0.98);
}
.btn:disabled {
pointer-events: none;
opacity: 0.4;
}
.btn--secondary {
background: var(--fiona-secondary);
color: var(--fiona-fg);
box-shadow: none;
border: 1px solid var(--fiona-border);
}
.btn--ghost {
background: transparent;
box-shadow: none;
border: 1px solid var(--fiona-border);
}
.btn--elevated {
background: var(--fiona-elevated);
color: var(--fiona-fg);
box-shadow: none;
border: 0;
}
.btn--elevated:hover,
.btn--elevated:focus-visible {
background: var(--fiona-secondary);
filter: none;
}
.btn--outline {
background: transparent;
color: var(--fiona-fg);
box-shadow: none;
border: 1px solid var(--fiona-border);
}
.btn--outline:hover,
.btn--outline:focus-visible {
border-color: var(--fiona-primary);
color: var(--fiona-primary);
filter: none;
}
.badge {
display: inline-flex;
align-items: center;
padding: 0.2rem 0.55rem;
border-radius: 999px;
font-size: var(--fiona-text-xs);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.03em;
}
.badge--hit {
background: var(--fiona-warning);
color: var(--fiona-bg);
}
.badge--promo {
background: var(--fiona-success);
color: var(--fiona-bg);
}
.badge--new {
background: var(--fiona-primary);
color: var(--fiona-primary-fg);
}
.badge--soldout {
background: var(--fiona-muted);
color: var(--fiona-muted-fg);
}
.product-card {
position: relative;
display: flex;
flex-direction: column;
background: var(--fiona-card);
border: 1px solid var(--fiona-border);
border-radius: var(--fiona-radius-sm);
overflow: hidden;
transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.product-card:hover,
.product-card:focus-within {
border-color: color-mix(in oklab, var(--fiona-primary) 60%, var(--fiona-border));
box-shadow: var(--fiona-shadow-hard);
}
.product-card__link {
display: flex;
flex-direction: column;
flex: 1 1 auto;
color: inherit;
text-decoration: none;
}
.product-card__media {
position: relative;
aspect-ratio: 4 / 3;
overflow: hidden;
background: var(--fiona-muted);
}
.product-card__media img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.product-card:hover .product-card__media img,
.product-card:focus-within .product-card__media img {
transform: scale(1.05);
}
.product-card__badges {
position: absolute;
top: 0.5rem;
left: 0.5rem;
z-index: 2;
display: flex;
flex-wrap: wrap;
gap: 0.25rem;
}
.product-card__wishlist {
position: absolute;
top: 0.5rem;
right: 0.5rem;
z-index: 2;
display: grid;
place-items: center;
width: 2.75rem;
height: 2.75rem;
padding: 0;
border: 0;
border-radius: var(--fiona-radius-sm);
background: color-mix(in oklab, var(--fiona-bg) 70%, transparent);
color: var(--fiona-fg);
cursor: pointer;
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
transition: color 0.15s ease;
}
.product-card__wishlist:hover,
.product-card__wishlist:focus-visible {
color: var(--fiona-primary);
}
.product-card__body {
display: flex;
flex-direction: column;
gap: 0.625rem;
padding: 1.125rem 1.125rem 0;
flex: 1;
}
.product-card__head {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 0.5rem;
}
.product-card__title {
margin: 0;
font-family: var(--fiona-font-display);
font-size: var(--fiona-text-xl);
font-weight: 400;
line-height: var(--fiona-leading-tight);
letter-spacing: 0.02em;
text-transform: uppercase;
}
.product-card__rating {
display: inline-flex;
align-items: center;
gap: 0.25rem;
flex-shrink: 0;
font-family: var(--fiona-font-sans);
font-size: var(--fiona-text-sm);
color: var(--fiona-muted-fg);
}
.product-card__rating .fiona-icon {
color: var(--fiona-warning);
fill: var(--fiona-warning);
}
.product-card__short {
margin: 0;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
font-size: var(--fiona-text-md);
line-height: var(--fiona-leading-normal);
color: var(--fiona-muted-fg);
}
.product-card__meta-row {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.35rem 0.625rem;
font-size: var(--fiona-text-sm);
font-weight: 500;
letter-spacing: normal;
text-transform: none;
color: var(--fiona-muted-fg);
}
.product-card__meta-dot {
color: var(--fiona-border);
}
.product-card__tag {
display: inline-flex;
align-items: center;
gap: 0.25rem;
}
.product-card__tag--spicy {
color: var(--fiona-primary);
}
.product-card__tag--vegan {
color: var(--fiona-success);
}
.product-card__allergens {
margin: 0;
font-size: var(--fiona-text-sm);
line-height: var(--fiona-leading-normal);
color: var(--fiona-muted-fg);
}
.product-card__footer {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 0.75rem;
margin-top: auto;
padding: 0.5rem 1.125rem 1.125rem;
}
@media (max-width: 639px) {
.product-card__body {
gap: 0.4rem;
padding: 0.75rem 0.7rem 0;
}
.product-card__title {
font-size: 1rem;
}
.product-card__short,
.product-card__allergens {
display: none;
}
.product-card__meta-row {
font-size: 0.75rem;
}
.product-card__wishlist {
width: 2.25rem;
height: 2.25rem;
}
.product-card__footer {
flex-wrap: wrap;
gap: 0.4rem;
padding: 0.45rem 0.7rem 0.7rem;
}
.product-card__price-wrap .price {
font-size: 1.125rem;
}
.platform-btns--card .platform-btns__row {
gap: 0.3rem;
}
}
.product-card__price-wrap {
min-width: 0;
}
.product-card__price-wrap a {
color: inherit;
text-decoration: none;
}
.product-card__price-wrap .price {
display: block;
margin: 0;
font-family: var(--fiona-font-sans);
font-size: var(--fiona-text-price);
font-weight: 700;
line-height: var(--fiona-leading-tight);
letter-spacing: normal;
color: var(--fiona-fg);
}
.product-card__price-wrap .price del {
display: block;
font-family: var(--fiona-font-sans);
font-size: var(--fiona-text-sm);
font-weight: 500;
color: var(--fiona-muted-fg);
text-decoration: line-through;
}
.product-card__price-wrap .price ins {
text-decoration: none;
}
.product-card__add {
display: inline-flex;
align-items: center;
gap: 0.5rem;
min-height: 2.75rem;
min-width: 2.75rem;
padding: 0 1rem;
border: none;
border-radius: var(--fiona-radius-sm);
background: var(--fiona-primary);
color: var(--fiona-primary-fg);
font-size: var(--fiona-text-sm);
font-weight: 700;
letter-spacing: 0.03em;
text-transform: uppercase;
cursor: pointer;
}
.product-card__add-label {
display: none;
}
@media (min-width: 640px) {
.product-card__add-label {
display: inline;
}
}
.product-card__add--disabled {
background: var(--fiona-muted);
color: var(--fiona-muted-fg);
}
.platform-btns {
display: grid;
gap: 0.4rem;
min-width: 0;
}
.platform-btns__note {
display: none;
margin: 0;
font-size: 0.7rem;
line-height: 1.3;
color: var(--fiona-muted-fg);
}
.platform-btns--pdp .platform-btns__note {
display: block;
margin-bottom: 0.25rem;
}
.platform-btns__row {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
.platform-btn {
display: inline-flex;
align-items: center;
justify-content: space-between;
gap: 0.45rem;
min-height: 2.75rem;
padding: 0.4rem 0.75rem;
border-radius: var(--fiona-radius-sm);
text-decoration: none;
transition: transform 0.15s ease, opacity 0.15s ease;
}
.platform-btn:hover {
transform: translateY(-1px);
opacity: 0.95;
}
.platform-btn__name {
font-family: var(--fiona-font-sans);
font-size: 1.0625rem;
font-weight: 800;
letter-spacing: 0.01em;
line-height: 1;
white-space: nowrap;
}
.platform-btn__arrow {
flex-shrink: 0;
width: 20px;
height: 20px;
transition: transform 0.15s ease;
}
.platform-btn:hover .platform-btn__arrow {
transform: translateX(2px);
}
.platform-btn--glovo {
background: #ffc244;
color: #1a1a1a;
}
.platform-btn--bolt {
background: #34d186;
color: #0b1f17;
}
.platform-btn--wolt {
background: #00c2e8;
color: #003348;
}
.platform-btns--card {
justify-items: stretch;
}
.product-card__footer:has(.platform-btns) {
flex-wrap: wrap;
}
.product-card__footer .platform-btns {
flex: 1 1 100%;
}
.platform-btns--card .platform-btns__row {
width: 100%;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.platform-btns--card .platform-btn {
flex: 1 1 auto;
min-width: 0;
min-height: 2.5rem;
padding: 0.35rem 0.55rem;
}
.platform-btns--card .platform-btn__name {
font-size: 0.9rem;
}
.platform-btns--card .platform-btn__arrow {
width: 16px;
height: 16px;
}
.platform-btns--pdp {
width: 100%;
}
.platform-btns--pdp .platform-btns__row {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.platform-btns--pdp .platform-btn {
min-height: 3.25rem;
padding: 0.55rem 1.1rem;
}
.platform-btns--pdp .platform-btn__name {
font-size: 1.25rem;
}
.platform-btns--pdp .platform-btn__arrow {
width: 22px;
height: 22px;
}
.pdp__sticky-row {
display: flex;
align-items: center;
gap: 0.75rem;
}
.pdp__sticky--with-platforms {
display: grid;
gap: 0.5rem;
}
.pdp__sticky--with-platforms .platform-btns__row {
width: 100%;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pdp__sticky--with-platforms .platform-btn {
flex: 1;
min-height: 2.75rem;
}
.product-card.is-sold-out .product-card__media img {
filter: grayscale(1);
opacity: 0.5;
}
.icon-btn {
width: 44px;
height: 44px;
display: inline-flex;
align-items: center;
justify-content: center;
border: 1px solid var(--fiona-border);
border-radius: var(--fiona-radius);
background: var(--fiona-secondary);
color: var(--fiona-fg);
cursor: pointer;
}
.icon-btn.is-active {
color: var(--fiona-primary);
border-color: var(--fiona-primary);
}
.product-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.75rem;
}
@media (min-width: 640px) {
.product-grid {
gap: 1rem;
}
}
@media (min-width: 1024px) {
.product-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (min-width: 1280px) {
.product-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
}.announcement-bar {
border-bottom: 1px solid color-mix(in oklab, var(--fiona-primary) 40%, transparent);
background: var(--fiona-gradient-red);
color: var(--fiona-primary-fg);
}
.announcement-bar__inner {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.25rem 1.5rem;
max-width: var(--fiona-container);
margin-inline: auto;
padding: 0.5rem 1rem;
font-size: 0.6875rem;
font-weight: 700;
letter-spacing: 0.15em;
text-transform: uppercase;
}
@media (min-width: 640px) {
.announcement-bar__inner {
font-size: 0.75rem;
}
}
@media (min-width: 1024px) {
.announcement-bar__inner {
padding-inline: 2rem;
}
}
.announcement-bar__item {
display: inline-flex;
align-items: center;
gap: 0.375rem;
}
.announcement-bar__item .fiona-icon {
width: 14px;
height: 14px;
flex-shrink: 0;
}
.announcement-bar__item--hours {
display: none;
}
@media (min-width: 640px) {
.announcement-bar__item--hours {
display: inline-flex;
}
}
.announcement-bar a {
color: inherit;
}
.announcement-bar a:hover {
text-decoration: underline;
} .site-header {
position: sticky;
top: 0;
z-index: 50;
border-bottom: 1px solid var(--fiona-border);
background: color-mix(in oklab, var(--fiona-bg) 95%, transparent);
-webkit-backdrop-filter: blur(12px);
backdrop-filter: blur(12px);
}
.site-header__inner {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: center;
gap: 0.75rem;
max-width: var(--fiona-container);
margin-inline: auto;
padding: 0.75rem 1rem;
}
@media (min-width: 1024px) {
.site-header__inner {
padding-inline: 2rem;
}
}
.site-header__brand {
display: flex;
min-width: 0;
align-items: center;
}
.site-header__logo {
display: block;
height: 3.5rem;
width: auto;
}
@media (min-width: 640px) {
.site-header__logo {
height: 4rem;
}
}
@media (min-width: 1024px) {
.site-header__logo {
height: 5rem;
}
} .site-nav {
display: none;
align-items: center;
justify-content: center;
gap: 0.25rem;
min-width: 0;
}
@media (min-width: 1024px) {
.site-nav {
display: flex;
}
}
.site-nav__link {
padding: 0.5rem 1rem;
font-size: 0.875rem;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--fiona-muted-fg);
transition: color 0.15s ease;
white-space: nowrap;
}
.site-nav__link:hover,
.site-nav__link:focus-visible {
color: var(--fiona-fg);
}
.site-nav__link.is-active {
color: var(--fiona-primary);
} .site-header__actions {
display: flex;
shrink: 0;
align-items: center;
gap: 0.25rem;
} .service-mode {
display: none;
align-items: center;
margin-right: 0.5rem;
padding: 2px;
border: 1px solid var(--fiona-border);
border-radius: var(--fiona-radius);
}
@media (min-width: 768px) {
.service-mode {
display: flex;
}
}
.service-mode__btn {
display: inline-flex;
align-items: center;
gap: 0.375rem;
min-height: 2.25rem;
padding: 0 0.75rem;
border: 0;
border-radius: calc(var(--fiona-radius) - 2px);
background: transparent;
color: var(--fiona-muted-fg);
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
cursor: pointer;
transition: background 0.15s ease, color 0.15s ease;
}
.service-mode__btn .fiona-icon {
width: 14px;
height: 14px;
}
.service-mode__btn.is-active {
background: var(--fiona-primary);
color: var(--fiona-primary-fg);
}
.service-mode__btn:disabled,
.service-mode__btn.is-disabled {
opacity: 0.4;
cursor: not-allowed;
}
.service-mode__btn:hover:not(.is-active) {
color: var(--fiona-fg);
} .icon-btn {
position: relative;
display: grid;
place-items: center;
width: 2.75rem;
height: 2.75rem;
border: 0;
background: transparent;
color: var(--fiona-fg);
cursor: pointer;
transition: color 0.15s ease;
}
.icon-btn:hover,
.icon-btn:focus-visible {
color: var(--fiona-primary);
}
.icon-btn .fiona-icon {
width: 20px;
height: 20px;
}
.cart-count {
position: absolute;
top: 0.25rem;
right: 0.25rem;
display: grid;
place-items: center;
min-width: 1.25rem;
height: 1.25rem;
padding: 0 0.25rem;
border-radius: 999px;
background: var(--fiona-primary);
color: var(--fiona-primary-fg);
font-family: var(--fiona-font-sans);
font-size: 0.625rem;
font-weight: 700;
line-height: 1;
}
.mobile-nav-toggle {
display: grid;
}
@media (min-width: 1024px) {
.mobile-nav-toggle {
display: none;
}
} .mobile-nav {
display: none;
border-top: 1px solid var(--fiona-border);
background: var(--fiona-card);
}
.mobile-nav.is-open {
display: block;
}
.mobile-nav__list {
display: flex;
flex-direction: column;
padding: 0.5rem;
}
.mobile-nav__list .site-nav__link {
min-height: 3rem;
padding: 0.75rem 1rem;
font-size: 0.875rem;
font-weight: 700;
letter-spacing: 0.04em;
}
.mobile-nav__list .site-nav__link + .site-nav__link {
border-top: 1px solid var(--fiona-border);
}.search-results {
position: absolute;
top: calc(100% + 0.35rem);
left: 0;
right: 0;
z-index: 40;
display: grid;
padding: 0.35rem;
border: 1px solid var(--fiona-border);
border-radius: var(--fiona-radius-sm);
background: var(--fiona-popover);
color: var(--fiona-popover-fg);
box-shadow: 0 16px 40px -18px rgba(0, 0, 0, 0.7);
text-align: left;
}
.search-results[hidden] {
display: none;
}
.search-results__item,
.search-results__all {
display: flex;
align-items: center;
gap: 0.75rem;
min-height: 3.25rem;
padding: 0.5rem 0.65rem;
border-radius: var(--fiona-radius-sm);
color: inherit;
text-decoration: none;
}
.search-results__item:hover,
.search-results__item.is-active,
.search-results__all:hover {
background: color-mix(in oklab, var(--fiona-primary) 12%, transparent);
}
.search-results__image {
width: 3rem;
height: 3rem;
object-fit: cover;
border-radius: var(--fiona-radius-sm);
background: var(--fiona-muted);
flex-shrink: 0;
}
.search-results__body {
display: grid;
gap: 0.15rem;
min-width: 0;
}
.search-results__name {
font-size: var(--fiona-text-md);
font-weight: 600;
line-height: var(--fiona-leading-tight);
}
.search-results__meta {
overflow: hidden;
font-size: var(--fiona-text-sm);
line-height: var(--fiona-leading-normal);
color: var(--fiona-muted-fg);
text-overflow: ellipsis;
white-space: nowrap;
}
.search-results__all {
justify-content: center;
margin-top: 0.15rem;
border-top: 1px solid var(--fiona-border);
font-size: 0.8125rem;
font-weight: 600;
color: var(--fiona-primary);
}
.search-results__empty {
margin: 0;
padding: 0.85rem 0.75rem;
font-size: 0.875rem;
color: var(--fiona-muted-fg);
}.site-footer {
margin-top: 5rem;
border-top: 1px solid var(--fiona-border);
background-color: var(--fiona-card);
}
.site-footer__inner {
display: grid;
gap: 2.5rem;
max-width: var(--fiona-container);
margin-inline: auto;
padding: 3.5rem 1rem;
}
@media (min-width: 640px) {
.site-footer__inner {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (min-width: 1024px) {
.site-footer__inner {
grid-template-columns: repeat(4, minmax(0, 1fr));
padding-inline: 2rem;
}
}
.site-footer__logo {
display: block;
height: 5rem;
width: auto;
margin-bottom: 1rem;
}
@media (min-width: 640px) {
.site-footer__logo {
height: 6rem;
}
}
.site-footer__text {
margin: 0;
font-size: 0.875rem;
line-height: 1.5;
color: var(--fiona-muted-fg);
}
.site-footer__social {
display: flex;
gap: 0.5rem;
margin-top: 1rem;
}
.site-footer__social-link {
display: grid;
place-items: center;
width: 2.75rem;
height: 2.75rem;
border: 1px solid var(--fiona-border);
color: var(--fiona-fg);
transition: border-color 0.15s ease, color 0.15s ease;
}
.site-footer__social-link:hover,
.site-footer__social-link:focus-visible {
border-color: var(--fiona-primary);
color: var(--fiona-primary);
}
.site-footer__social-link .fiona-icon {
width: 16px;
height: 16px;
}
.site-footer__title {
margin: 0 0 1rem;
font-size: 1.25rem;
line-height: 0.95;
}
.site-footer__list {
list-style: none;
margin: 0;
padding: 0;
}
.site-footer__list li + li {
margin-top: 0.5rem;
}
.site-footer__list li {
font-size: 0.875rem;
color: var(--fiona-muted-fg);
}
.site-footer__list li.is-icon-row {
display: flex;
align-items: flex-start;
gap: 0.5rem;
}
.site-footer__list .fiona-icon {
width: 16px;
height: 16px;
flex-shrink: 0;
margin-top: 0.125rem;
color: var(--fiona-primary);
}
.site-footer__list a {
color: inherit;
transition: color 0.15s ease;
}
.site-footer__list a:hover,
.site-footer__list a:focus-visible {
color: var(--fiona-primary);
}
.site-footer__payments {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
margin-top: 1.25rem;
}
.site-footer__payments span {
border: 1px solid var(--fiona-border);
padding: 0.25rem 0.5rem;
font-size: 0.6875rem;
font-weight: 500;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--fiona-muted-fg);
}
.site-footer__copyright {
border-top: 1px solid var(--fiona-border);
padding: 1.25rem 1rem;
text-align: center;
font-size: 0.75rem;
color: var(--fiona-muted-fg);
}
.site-footer__legal {
list-style: none;
margin: 0 0 0.75rem;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.35rem 1rem;
}
.site-footer__legal a {
color: inherit;
text-decoration: underline;
text-underline-offset: 2px;
}
.site-footer__legal-entity {
display: inline-block;
margin-left: 0.35rem;
}
.site-footer__copyright p {
margin: 0;
}.hero {
position: relative;
isolation: isolate;
overflow: visible;
border-bottom: 1px solid var(--fiona-border);
}
.hero__bg {
position: absolute;
inset: 0;
z-index: -10;
overflow: hidden;
pointer-events: none;
}
.hero__sun {
position: absolute;
left: 50%;
top: 50%;
width: 520px;
height: 520px;
border-radius: 9999px;
transform: translate(-50%, -50%);
opacity: 0.2; }
.hero__rice {
position: absolute;
inset: 0;
opacity: 0.4;
}
.hero__float {
position: absolute;
transition: transform 500ms ease-out;
will-change: transform;
}
.hero__float--left {
left: -4rem;
top: 0.5rem;
width: 340px;
}
.hero__float--right {
right: -4rem;
bottom: 0;
width: 340px;
}
@media (min-width: 768px) {
.hero__float--left {
width: 420px;
}
.hero__float--right {
width: 440px;
}
}
@media (min-width: 1024px) {
.hero__float--left {
left: -2rem;
}
.hero__float--right {
right: -1.5rem;
}
}
.hero__float img {
width: 100%;
height: auto;
opacity: 0.8;
filter: drop-shadow(0 30px 60px rgba(0, 0, 0, 0.7));
}
.hero__float-center {
position: absolute;
left: 50%;
top: 0;
display: none;
width: 300px;
transform: translateX(-50%);
opacity: 0.25;
filter: blur(1px);
}
@media (min-width: 1280px) {
.hero__float-center {
display: block;
}
}
.hero__fade {
position: absolute;
inset: 0;
background: var(--fiona-gradient-fade);
}
.hero__content {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
align-items: center;
max-width: var(--fiona-container);
margin-inline: auto;
padding: 5rem 1rem;
text-align: center;
}
@media (min-width: 1024px) {
.hero__content {
padding: 7rem 2rem;
}
}
.hero__location {
margin: 0;
font-family: var(--fiona-font-sans);
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.4em;
text-transform: uppercase;
color: var(--fiona-primary);
}
.hero__title {
margin: 1rem 0 0;
font-family: var(--fiona-font-display);
font-size: 3.75rem; font-weight: 400;
line-height: 1; letter-spacing: 0.02em;
text-transform: uppercase;
}
@media (min-width: 640px) {
.hero__title {
font-size: 4.5rem; }
}
@media (min-width: 1024px) {
.hero__title {
font-size: 6rem; }
}
.hero__title-accent {
color: var(--fiona-primary);
}
.hero__text {
margin: 1rem 0 0;
max-width: 36rem; font-family: var(--fiona-font-sans);
font-size: 0.875rem;
font-weight: 400;
line-height: 1.5;
color: var(--fiona-muted-fg);
}
@media (min-width: 640px) {
.hero__text {
font-size: 1rem;
}
}
.hero__search {
position: relative;
width: 100%;
max-width: 28rem;
margin-top: 2rem;
z-index: 5;
}
.hero__search-input {
display: block;
width: 100%;
min-height: 2.75rem;
padding: 0 3rem 0 0.75rem;
border: 1px solid var(--fiona-input);
border-radius: var(--fiona-radius-sm);
background-color: var(--fiona-card);
color: var(--fiona-fg);
font-family: var(--fiona-font-sans);
font-size: 0.875rem;
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
outline: none;
transition: border-color 0.15s ease;
}
.hero__search-input::placeholder {
color: var(--fiona-muted-fg);
}
.hero__search-input:focus {
border-color: var(--fiona-primary);
}
.hero__search-btn {
position: absolute;
right: 0.25rem;
top: 0.25rem;
display: grid;
place-items: center;
width: 2.25rem;
height: 2.25rem;
padding: 0;
border: 0;
border-radius: var(--fiona-radius-sm);
background: var(--fiona-primary);
color: var(--fiona-primary-fg);
cursor: pointer;
transition: filter 0.15s ease, transform 0.15s ease;
}
.hero__search-btn:hover,
.hero__search-btn:focus-visible {
filter: brightness(1.1);
}
.hero__search-btn:active {
transform: scale(0.95);
}
.hero__search-btn .fiona-icon {
width: 16px;
height: 16px;
} @keyframes hero-float-a {
0%,
100% {
transform: translate3d(0, 0, 0) rotate(6deg) scale(1);
}
50% {
transform: translate3d(18px, -26px, 0) rotate(10deg) scale(1.03);
}
}
@keyframes hero-float-b {
0%,
100% {
transform: translate3d(0, 0, 0) rotate(-6deg) scale(1);
}
50% {
transform: translate3d(-20px, -22px, 0) rotate(-11deg) scale(1.04);
}
}
@keyframes hero-float-c {
0%,
100% {
transform: translate3d(-50%, 0, 0) rotate(0deg);
}
50% {
transform: translate3d(-50%, 18px, 0) rotate(4deg);
}
}
.hero-float-a {
animation: hero-float-a 7s ease-in-out infinite;
will-change: transform;
}
.hero-float-b {
animation: hero-float-b 8.5s ease-in-out infinite;
will-change: transform;
}
.hero-float-c {
animation: hero-float-c 11s ease-in-out infinite;
will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
.hero-float-a,
.hero-float-b,
.hero-float-c {
animation: none;
}
.hero__float {
transition: none;
}
}.categories {
position: relative;
z-index: 10;
max-width: var(--fiona-container);
margin-inline: auto;
padding: 1.5rem 1rem;
}
@media (min-width: 1024px) {
.categories {
padding-inline: 2rem;
}
}
.categories__rail-wrap {
position: relative;
}
.categories__nav {
position: absolute;
top: 50%;
z-index: 20;
display: none;
place-items: center;
width: 2.5rem;
height: 2.5rem;
padding: 0;
border: 1px solid var(--fiona-border);
background: color-mix(in oklab, var(--fiona-card) 90%, transparent);
color: var(--fiona-fg);
cursor: pointer;
transform: translateY(-50%);
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
transition: border-color 0.15s ease, color 0.15s ease;
}
.categories__nav:hover,
.categories__nav:focus-visible {
border-color: var(--fiona-primary);
color: var(--fiona-primary);
}
.categories__nav--prev {
left: -0.75rem;
}
.categories__nav--next {
right: -0.75rem;
}
@media (min-width: 768px) {
.categories__nav {
display: grid;
}
}
.categories__nav .fiona-icon {
width: 20px;
height: 20px;
}
.categories__rail {
display: flex;
gap: 0.75rem;
overflow-x: auto;
scroll-snap-type: x mandatory;
scroll-behavior: smooth;
padding-bottom: 0.5rem;
-webkit-overflow-scrolling: touch;
}
.categories__card {
position: relative;
flex: 0 0 auto;
width: 46%;
aspect-ratio: 1;
overflow: hidden;
border: 1px solid var(--fiona-border);
scroll-snap-align: start;
color: var(--fiona-fg);
transition: border-color 0.15s ease;
}
@media (min-width: 640px) {
.categories__card {
width: 210px;
}
}
.categories__card:hover,
.categories__card:focus-visible {
border-color: var(--fiona-primary);
}
.categories__card img {
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0.6;
transition: transform 0.5s ease, opacity 0.5s ease;
}
.categories__card:hover img,
.categories__card:focus-visible img {
transform: scale(1.1);
opacity: 0.85;
}
.categories__label {
position: absolute;
inset-inline: 0;
bottom: 0;
padding: 0.75rem;
background: linear-gradient(to top, var(--fiona-bg), transparent);
text-align: center;
font-family: var(--fiona-font-sans);
font-size: 0.875rem;
font-weight: 700;
letter-spacing: 0.025em;
text-transform: uppercase;
line-height: 1.25;
}.section-title {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: end;
gap: 1rem;
margin-bottom: 1.5rem;
}
.section-title__eyebrow {
margin: 0 0 0.25rem;
font-family: var(--fiona-font-sans);
font-size: var(--fiona-text-sm);
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--fiona-primary);
}
.section-title__heading {
margin: 0;
font-family: var(--fiona-font-display);
font-size: 1.875rem;
font-weight: 400;
line-height: 0.95;
letter-spacing: 0.02em;
text-transform: uppercase;
}
@media (min-width: 640px) {
.section-title__heading {
font-size: 2.25rem;
}
} .popular-products {
padding-block: 2rem;
}
.popular-products__inner {
max-width: var(--fiona-container);
margin-inline: auto;
padding-inline: 1rem;
}
@media (min-width: 1024px) {
.popular-products__inner {
padding-inline: 2rem;
}
}
.popular-products__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.75rem;
}
@media (min-width: 640px) {
.popular-products__grid {
gap: 1rem;
}
}
@media (min-width: 1024px) {
.popular-products__grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
}
.popular-products__cta {
display: flex;
justify-content: center;
margin-top: 2rem;
}.promo-banners {
display: grid;
gap: 1rem;
max-width: var(--fiona-container);
margin-inline: auto;
padding: 4rem 1rem;
}
@media (min-width: 768px) {
.promo-banners {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (min-width: 1024px) {
.promo-banners {
padding-inline: 2rem;
}
}
.promo-banners__card {
position: relative;
overflow: hidden;
padding: 2rem;
border: 1px solid var(--fiona-border);
}
.promo-banners__card--promo { background: var(--fiona-gradient-red);
color: var(--fiona-primary-fg);
}
.promo-banners__card--wheel {
background-color: var(--fiona-card);
color: var(--fiona-fg);
}
.promo-banners__icon {
display: inline-flex;
margin-bottom: 1rem;
color: var(--fiona-primary-fg);
}
.promo-banners__icon--primary {
color: var(--fiona-primary);
}
.promo-banners__icon .fiona-icon {
width: 32px;
height: 32px;
}
.promo-banners__title {
margin: 0;
font-family: var(--fiona-font-display);
font-size: 2.25rem; font-weight: 400;
line-height: 0.95;
letter-spacing: 0.02em;
text-transform: uppercase;
}
.promo-banners__card--promo .promo-banners__title {
color: var(--fiona-primary-fg);
}
.promo-banners__text {
margin: 0.5rem 0 0;
max-width: 24rem;
font-family: var(--fiona-font-sans);
font-size: 0.875rem;
line-height: 1.5;
color: color-mix(in oklab, var(--fiona-primary-fg) 80%, transparent);
}
.promo-banners__text--muted {
color: var(--fiona-muted-fg);
}
.promo-banners__card .btn {
margin-top: 1.5rem;
}.how-it-works {
border-block: 1px solid var(--fiona-border);
background-color: var(--fiona-card);
}
.how-it-works__inner {
max-width: var(--fiona-container);
margin-inline: auto;
padding: 4rem 1rem;
}
@media (min-width: 1024px) {
.how-it-works__inner {
padding-inline: 2rem;
}
}
.how-it-works__grid {
display: grid;
gap: 1.5rem;
}
@media (min-width: 768px) {
.how-it-works__grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
.how-it-works__card {
padding: 1.5rem;
border: 1px solid var(--fiona-border);
background: var(--fiona-bg);
}
.how-it-works__num {
display: block;
font-family: var(--fiona-font-display);
font-size: 3.75rem; font-weight: 400;
line-height: 0.95;
letter-spacing: 0.02em;
color: var(--fiona-primary);
}
.how-it-works__title {
margin: 0.75rem 0 0;
font-family: var(--fiona-font-display);
font-size: 1.5rem; font-weight: 400;
line-height: 0.95;
letter-spacing: 0.02em;
text-transform: uppercase;
}
.how-it-works__text {
margin: 0.5rem 0 0;
font-family: var(--fiona-font-sans);
font-size: 0.875rem;
line-height: 1.5;
color: var(--fiona-muted-fg);
}.loyalty {
max-width: var(--fiona-container);
margin-inline: auto;
padding: 4rem 1rem;
}
@media (min-width: 1024px) {
.loyalty {
padding-inline: 2rem;
}
}
.loyalty__panel {
display: grid;
gap: 2rem;
align-items: center;
padding: 2rem;
border: 1px solid var(--fiona-border);
background: var(--fiona-card);
}
@media (min-width: 1024px) {
.loyalty__panel {
grid-template-columns: repeat(2, minmax(0, 1fr));
padding: 3rem;
}
}
.loyalty__eyebrow {
margin: 0 0 0.5rem;
font-family: var(--fiona-font-sans);
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.3em;
text-transform: uppercase;
color: var(--fiona-primary);
}
.loyalty__title {
margin: 0;
font-family: var(--fiona-font-display);
font-size: 2.25rem; font-weight: 400;
line-height: 0.95;
letter-spacing: 0.02em;
text-transform: uppercase;
}
@media (min-width: 640px) {
.loyalty__title {
font-size: 3rem; }
}
.loyalty__text {
margin: 1rem 0 0;
max-width: 28rem;
font-family: var(--fiona-font-sans);
font-size: 0.875rem;
line-height: 1.5;
color: var(--fiona-muted-fg);
}
.loyalty__copy .btn {
margin-top: 1.5rem;
}
.loyalty__tiers {
display: grid;
gap: 0.75rem;
}
@media (min-width: 640px) {
.loyalty__tiers {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
.loyalty__tier {
padding: 1.25rem;
border: 1px solid var(--fiona-border);
background: var(--fiona-bg);
text-align: center;
}
.loyalty__trophy {
display: flex;
justify-content: center;
color: var(--fiona-muted-fg);
}
.loyalty__trophy.is-highlight {
color: var(--fiona-primary);
}
.loyalty__trophy .fiona-icon {
width: 28px;
height: 28px;
}
.loyalty__tier-name {
margin: 0.75rem 0 0;
font-family: var(--fiona-font-display);
font-size: 1.25rem; font-weight: 400;
line-height: 0.95;
letter-spacing: 0.02em;
text-transform: uppercase;
}
.loyalty__tier-need {
margin: 0.25rem 0 0;
font-family: var(--fiona-font-sans);
font-size: 0.75rem;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--fiona-muted-fg);
}.google-reviews {
max-width: var(--fiona-container);
margin-inline: auto;
padding: 0 1rem 4rem;
}
@media (min-width: 1024px) {
.google-reviews {
padding-inline: 2rem;
}
}
.google-reviews__panel {
display: flex;
flex-direction: column;
align-items: center;
gap: 1rem;
padding: 2.5rem;
border: 1px solid var(--fiona-border);
background-color: var(--fiona-card);
text-align: center;
}
.google-reviews__stars {
display: flex;
gap: 0.25rem;
}
.google-reviews__star {
width: 20px;
height: 20px;
color: var(--fiona-warning);
fill: var(--fiona-warning);
}
.google-reviews__title {
margin: 0;
font-family: var(--fiona-font-display);
font-size: 1.875rem; font-weight: 400;
line-height: 0.95;
letter-spacing: 0.02em;
text-transform: uppercase;
}
.google-reviews__text {
margin: 0;
max-width: 32rem;
font-family: var(--fiona-font-sans);
font-size: 0.875rem;
line-height: 1.5;
color: var(--fiona-muted-fg);
}
.google-reviews__qr {
display: block;
margin: 0.5rem 0 0;
padding: 0.75rem;
background: #fff;
border: 1px solid var(--fiona-border);
line-height: 0;
}
.google-reviews__qr img {
display: block;
width: min(180px, 48vw);
height: auto;
}
.google-reviews__qr-hint {
margin: 0;
font-size: 0.75rem;
color: var(--fiona-muted-fg);
}
.google-reviews__list {
display: grid;
gap: 0.75rem;
width: 100%;
margin-top: 0.5rem;
text-align: left;
}
@media (min-width: 768px) {
.google-reviews__list {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (min-width: 1100px) {
.google-reviews__list {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
.google-review {
display: flex;
flex-direction: column;
gap: 0.6rem;
min-height: 100%;
padding: 1rem;
border: 1px solid var(--fiona-border);
background: color-mix(in oklab, var(--fiona-bg) 70%, transparent);
}
.google-review__head {
display: flex;
align-items: center;
gap: 0.75rem;
}
.google-review__avatar {
display: grid;
place-items: center;
width: 2.25rem;
height: 2.25rem;
flex-shrink: 0;
border-radius: 999px;
background: var(--fiona-primary);
color: var(--fiona-primary-fg);
font-size: 0.85rem;
font-weight: 700;
}
.google-review__name {
margin: 0;
font-size: 0.9rem;
font-weight: 700;
}
.google-review__sub {
margin: 0.15rem 0 0;
font-size: 0.75rem;
color: var(--fiona-warning);
}
.google-review__text {
margin: 0;
font-size: 0.875rem;
line-height: 1.5;
color: var(--fiona-muted-fg);
display: -webkit-box;
-webkit-line-clamp: 5;
line-clamp: 5;
-webkit-box-orient: vertical;
overflow: hidden;
}
.google-reviews__actions {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.75rem;
margin-top: 0.5rem;
}
.google-reviews__actions .btn {
min-width: 14rem;
}.split-cards {
display: grid;
gap: 1rem;
}
@media (min-width: 768px) {
.split-cards {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
.woocommerce-main {
padding-block: var(--fiona-space-8);
}
body:not(.fiona-can-order) [data-shop-add],
body:not(.fiona-can-order) [data-pdp-submit],
body:not(.fiona-can-order) [data-pdp-sticky-submit] {
display: none !important;
}
body.fiona-delivery-open [data-platform-btns] {
display: none !important;
}.cart-drawer[hidden] {
display: none;
}
.cart-drawer {
position: fixed;
inset: 0;
z-index: 100;
display: flex;
justify-content: flex-end;
}
.cart-drawer__overlay {
position: absolute;
inset: 0;
background-color: color-mix(in oklab, var(--fiona-bg) 80%, transparent);
backdrop-filter: blur(4px);
}
.cart-drawer__panel {
position: relative;
display: flex;
flex-direction: column;
width: 100%;
max-width: 28rem;
height: 100%;
border-left: 1px solid var(--fiona-border);
background-color: var(--fiona-card);
box-shadow: var(--fiona-shadow-hard);
}
.cart-drawer__head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
padding: 1rem;
border-bottom: 1px solid var(--fiona-border);
}
.cart-drawer__title {
margin: 0;
font-family: var(--fiona-font-display);
font-size: 1.5rem;
font-weight: 400;
letter-spacing: 0.02em;
text-transform: uppercase;
}
.cart-drawer__close {
width: 2.75rem;
height: 2.75rem;
}
.cart-drawer__body {
flex: 1;
overflow-y: auto;
padding: 1rem;
}
.cart-drawer__foot {
display: grid;
gap: 0.75rem;
padding: 1rem;
border-top: 1px solid var(--fiona-border);
}
.cart-drawer__foot[hidden] {
display: none;
}
.cart-drawer__items {
display: grid;
gap: 0.75rem;
margin: 0;
padding: 0;
list-style: none;
}
.cart-drawer__item {
display: flex;
gap: 0.75rem;
padding: 0.75rem;
border: 1px solid var(--fiona-border);
background-color: var(--fiona-bg);
}
.cart-drawer__item-media {
width: 5rem;
height: 5rem;
flex-shrink: 0;
object-fit: cover;
}
.cart-drawer__item-main {
min-width: 0;
flex: 1;
}
.cart-drawer__item-head {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 0.5rem;
}
.cart-drawer__item-name {
margin: 0;
font-family: var(--fiona-font-display);
font-size: var(--fiona-text-lg);
font-weight: 400;
line-height: var(--fiona-leading-tight);
letter-spacing: 0.02em;
text-transform: uppercase;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.cart-drawer__item-remove {
display: grid;
place-items: center;
border: 0;
background: transparent;
color: var(--fiona-muted-fg);
cursor: pointer;
transition: color 0.15s ease;
}
.cart-drawer__item-remove:hover,
.cart-drawer__item-remove:focus-visible {
color: var(--fiona-primary);
}
.cart-drawer__item-meta {
margin: 0.25rem 0 0;
font-size: var(--fiona-text-sm);
line-height: var(--fiona-leading-normal);
color: var(--fiona-muted-fg);
}
.cart-drawer__item-note {
font-style: italic;
}
.cart-drawer__item-foot {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.75rem;
margin-top: 0.5rem;
}
.cart-drawer__qty {
display: flex;
align-items: center;
border: 1px solid var(--fiona-border);
}
.cart-drawer__qty-btn {
display: grid;
place-items: center;
width: 2.25rem;
height: 2.25rem;
border: 0;
background: transparent;
color: inherit;
cursor: pointer;
transition: color 0.15s ease;
}
.cart-drawer__qty-btn:hover,
.cart-drawer__qty-btn:focus-visible {
color: var(--fiona-primary);
}
.cart-drawer__qty-value {
width: 2rem;
text-align: center;
font-size: var(--fiona-text-md);
font-weight: 700;
}
.cart-drawer__item-price {
font-family: var(--fiona-font-sans);
font-size: var(--fiona-text-lg);
font-weight: 700;
letter-spacing: normal;
}
.cart-drawer__row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
font-size: var(--fiona-text-md);
color: var(--fiona-muted-fg);
}
.cart-drawer__row--total {
font-size: var(--fiona-text-lg);
font-weight: 700;
color: var(--fiona-fg);
}
.cart-drawer__row--total .cart-drawer__row-value {
font-family: var(--fiona-font-sans);
font-size: var(--fiona-text-price);
font-weight: 700;
color: var(--fiona-fg);
}
.cart-drawer__note,
.cart-page__delivery-note {
margin: 0.25rem 0 0.75rem;
font-size: var(--fiona-text-sm);
line-height: var(--fiona-leading-normal);
color: var(--fiona-muted-fg);
}
.cart-drawer__row--discount[hidden],
.cart-page__row[hidden] {
display: none !important;
}
.cart-page__qty.is-syncing,
.cart-drawer__qty.is-syncing {
opacity: 0.65;
}
.cart-page__item.is-removing,
.cart-drawer__item.is-removing {
opacity: 0.45;
pointer-events: none;
transition: opacity 0.15s ease;
}
.cart-empty {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 0.75rem;
padding: 4rem 1.5rem;
border: 1px dashed var(--fiona-border);
background-color: color-mix(in oklab, var(--fiona-card) 50%, transparent);
text-align: center;
}
.cart-empty .fiona-icon {
width: 2.5rem;
height: 2.5rem;
color: var(--fiona-muted-fg);
}
.cart-empty__title {
margin: 0;
font-family: var(--fiona-font-display);
font-size: 1.5rem;
font-weight: 400;
letter-spacing: 0.02em;
text-transform: uppercase;
}
.cart-empty__text {
margin: 0;
max-width: 20rem;
font-size: 0.875rem;
line-height: 1.5;
color: var(--fiona-muted-fg);
}
.cart-notice {
padding: 1rem;
border-left: 4px solid var(--fiona-warning);
background-color: var(--fiona-card);
}
.cart-notice__head {
display: flex;
align-items: center;
gap: 0.5rem;
}
.cart-notice__head .fiona-icon {
color: var(--fiona-warning);
}
.cart-notice__title {
margin: 0;
font-size: 0.875rem;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.cart-notice__text {
margin: 0.5rem 0 0;
font-size: 0.875rem;
color: var(--fiona-muted-fg);
}
body.cart-drawer-open {
overflow: hidden;
} .sticky-cart-bar {
position: fixed;
inset-inline: 0;
bottom: 0;
z-index: 39;
padding: 0.75rem;
border-top: 1px solid var(--fiona-border);
background-color: color-mix(in oklab, var(--fiona-card) 95%, transparent);
backdrop-filter: blur(12px);
}
.sticky-cart-bar[hidden] {
display: none;
}
@media (min-width: 768px) {
.sticky-cart-bar {
display: none !important;
}
}
.sticky-cart-bar--above-pdp {
bottom: 4.5rem;
}
.sticky-cart-bar__btn {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.75rem;
width: 100%;
min-height: 3rem;
padding: 0 1rem;
border: 0;
background: var(--fiona-gradient-red);
color: var(--fiona-primary-fg);
cursor: pointer;
box-shadow: var(--fiona-shadow-red);
}
.sticky-cart-bar__label {
display: inline-flex;
align-items: center;
gap: 0.5rem;
font-size: 0.875rem;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.sticky-cart-bar__total {
font-size: 1.25rem;
line-height: 1;
}
.btn.is-disabled {
pointer-events: none;
opacity: 0.4;
} .cart-page {
background-color: var(--fiona-bg);
}
.cart-page__inner {
max-width: var(--fiona-container);
margin-inline: auto;
padding: 2rem 1rem 4rem;
}
.cart-page__inner--narrow {
max-width: 48rem;
padding-block: 5rem;
}
@media (min-width: 1024px) {
.cart-page__inner {
padding-inline: 2rem;
}
}
.cart-page__title {
margin: 0 0 1.5rem;
font-family: var(--fiona-font-display);
font-size: 3rem;
font-weight: 400;
line-height: 0.95;
letter-spacing: 0.02em;
text-transform: uppercase;
}
.cart-page__grid {
display: grid;
gap: 1.5rem;
}
@media (min-width: 1024px) {
.cart-page__grid {
grid-template-columns: minmax(0, 1fr) 380px;
align-items: start;
}
}
.cart-page__main {
display: grid;
gap: 0.75rem;
}
.cart-page__item {
display: flex;
gap: 1rem;
padding: 1rem;
border: 1px solid var(--fiona-border);
background-color: var(--fiona-card);
}
.cart-page__item-media {
width: 6rem;
height: 6rem;
flex-shrink: 0;
object-fit: cover;
}
.cart-page__item-body {
min-width: 0;
flex: 1;
}
.cart-page__item-head {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 0.75rem;
}
.cart-page__item-name {
display: block;
font-family: var(--fiona-font-display);
font-size: 1.25rem;
font-weight: 400;
letter-spacing: 0.02em;
text-transform: uppercase;
color: inherit;
text-decoration: none;
transition: color 0.15s ease;
}
.cart-page__item-name:hover,
.cart-page__item-name:focus-visible {
color: var(--fiona-primary);
}
.cart-page__item-meta,
.cart-page__item-extra {
margin: 0.25rem 0 0;
font-size: var(--fiona-text-sm);
line-height: var(--fiona-leading-normal);
color: var(--fiona-muted-fg);
}
.cart-page__item-extra--note {
font-style: italic;
}
.cart-page__item-remove {
display: grid;
place-items: center;
width: 2.75rem;
height: 2.75rem;
border: 0;
background: transparent;
color: var(--fiona-muted-fg);
cursor: pointer;
transition: color 0.15s ease;
}
.cart-page__item-remove:hover,
.cart-page__item-remove:focus-visible {
color: var(--fiona-primary);
}
.cart-page__item-foot {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
margin-top: 0.75rem;
}
.cart-page__qty {
display: flex;
align-items: center;
border: 1px solid var(--fiona-border);
}
.cart-page__qty-btn {
display: grid;
place-items: center;
width: 2.75rem;
height: 2.75rem;
border: 0;
background: transparent;
color: inherit;
cursor: pointer;
transition: color 0.15s ease;
}
.cart-page__qty-btn:hover,
.cart-page__qty-btn:focus-visible {
color: var(--fiona-primary);
}
.cart-page__qty-value {
width: 2.5rem;
text-align: center;
font-weight: 700;
}
.cart-page__item-price {
font-family: var(--fiona-font-sans);
font-size: var(--fiona-text-price);
font-weight: 700;
line-height: var(--fiona-leading-tight);
}
.cart-page__suggestions {
padding-top: 1.5rem;
}
.cart-page__section-title {
margin: 0 0 1rem;
font-family: var(--fiona-font-display);
font-size: 1.5rem;
font-weight: 400;
letter-spacing: 0.02em;
text-transform: uppercase;
}
.cart-page__suggestions-grid {
display: grid;
gap: 1rem;
}
@media (min-width: 640px) {
.cart-page__suggestions-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (min-width: 1280px) {
.cart-page__suggestions-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
}
.cart-page__aside {
display: grid;
gap: 1rem;
}
@media (min-width: 1024px) {
.cart-page__aside {
position: sticky;
top: calc(var(--fiona-header-h) + var(--fiona-announce-h) + 1.5rem);
}
}
.cart-page__panel {
padding: 1.25rem;
border: 1px solid var(--fiona-border);
background-color: var(--fiona-card);
}
.cart-page__label {
display: block;
margin-bottom: 0.375rem;
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--fiona-muted-fg);
}
.cart-page__promo-row {
display: flex;
gap: 0.5rem;
}
.cart-page__input {
flex: 1;
min-height: 2.75rem;
padding: 0 0.875rem;
border: 1px solid var(--fiona-border);
border-radius: var(--fiona-radius-sm);
background-color: var(--fiona-input);
color: var(--fiona-fg);
font-family: var(--fiona-font-sans);
font-size: 0.875rem;
text-transform: uppercase;
}
.cart-page__promo-error {
margin: 0.5rem 0 0;
font-size: 0.75rem;
color: var(--fiona-primary);
}
.cart-page__promo-error[hidden] {
display: none;
}
.cart-page__promo-active {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.75rem;
margin: 0.5rem 0 0;
font-size: 0.75rem;
color: var(--fiona-success);
}
.cart-page__promo-active[hidden] {
display: none;
}
.cart-page__promo-clear {
border: 0;
background: transparent;
color: var(--fiona-muted-fg);
text-decoration: underline;
cursor: pointer;
}
.cart-page__panel--points {
display: flex;
align-items: center;
gap: 0.75rem;
}
.cart-page__panel--points .fiona-icon {
color: var(--fiona-primary);
flex-shrink: 0;
}
.cart-page__points-title {
margin: 0;
font-size: 0.875rem;
font-weight: 700;
text-transform: uppercase;
}
.cart-page__points-meta {
margin: 0.15rem 0 0;
font-size: 0.875rem;
color: var(--fiona-muted-fg);
}
.cart-page__panel--summary {
display: grid;
gap: 0.5rem;
}
.cart-page__row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
font-size: 0.875rem;
}
.cart-page__row > span:first-child {
color: var(--fiona-muted-fg);
}
.cart-page__row--discount {
color: var(--fiona-success);
}
.cart-page__row--discount[hidden] {
display: none;
}
.cart-page__row--total {
margin-top: 0.75rem;
padding-top: 0.75rem;
border-top: 1px solid var(--fiona-border);
font-size: 1.125rem;
font-weight: 700;
}
.cart-page__row--total > span:first-child {
color: var(--fiona-fg);
text-transform: uppercase;
}
.cart-page__row--total .display {
font-size: 1.875rem;
color: var(--fiona-primary);
}
.cart-page__checkout {
width: 100%;
margin-top: 0.75rem;
}
.cart-page__note {
margin: 0.5rem 0 0;
text-align: center;
font-size: 0.75rem;
color: var(--fiona-muted-fg);
}
[data-cart-min-notice][hidden] {
display: none;
}
.woocommerce-cart .woocommerce-notices-wrapper {
display: none;
}.promo-page {
width: min(100% - 2rem, 90rem);
margin-inline: auto;
padding: 2.5rem 0 4rem;
}
.promo-page__title {
margin: 0;
font-family: var(--fiona-font-display);
font-size: clamp(3rem, 8vw, 3.75rem);
font-weight: 400;
letter-spacing: 0.02em;
text-transform: uppercase;
}
.promo-page__codes {
display: grid;
gap: 1rem;
margin-top: 1.5rem;
}
@media (min-width: 48rem) {
.promo-page__codes {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
.promo-page__code {
padding: 2rem;
border: 1px solid var(--fiona-border);
background: var(--fiona-gradient-red);
color: var(--fiona-primary-fg);
}
.promo-page__code .fiona-icon {
margin-bottom: 0.75rem;
}
.promo-page__code-title {
margin: 0;
font-family: var(--fiona-font-display);
font-size: clamp(2rem, 5vw, 2.25rem);
font-weight: 400;
text-transform: uppercase;
line-height: 1;
}
.promo-page__code-desc {
margin: 0.35rem 0 0;
font-size: 0.875rem;
color: color-mix(in oklab, var(--fiona-primary-fg) 80%, transparent);
}
.promo-page__code-badge {
display: inline-block;
margin: 1rem 0 0;
padding: 0.35rem 0.75rem;
border: 1px solid color-mix(in oklab, var(--fiona-primary-fg) 40%, transparent);
font-size: 0.875rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.promo-page__section {
margin-top: 3rem;
}
.promo-page__section-title {
margin: 0 0 1rem;
font-family: var(--fiona-font-display);
font-size: 1.875rem;
font-weight: 400;
text-transform: uppercase;
}
.promo-page__empty {
margin: 0;
color: var(--fiona-muted-fg);
}
.promo-page__grid {
display: grid;
gap: 1rem;
grid-template-columns: 1fr;
}
@media (min-width: 40rem) {
.promo-page__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (min-width: 64rem) {
.promo-page__grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
}
.promo-page__cta {
margin-top: 2.5rem;
text-align: center;
}