.coffee-store {
    color-scheme:light; --background:#fff; --surface:#f7f3ed; --ink:#262527; --muted:#6d6863;
    --accent:#a87550; --line:#eee6db; --coffee:#4c2918; background:#fff; color:var(--ink);
}
.coffee-store [hidden] { display:none !important; }
.store-container { width:min(calc(100% - 56px),1420px); margin-inline:auto; }
.store-header { position:sticky; top:0; z-index:12; background:#c9c7c7; border-bottom:1px solid var(--line); }
.store-cart-icon { position:relative; }
.store-cart-count {
    position:absolute; inset-block-start:-5px; inset-inline-end:-6px; min-width:18px; height:18px;
    display:grid; place-items:center; padding-inline:4px; border-radius:20px;
    background:var(--coffee); color:#fff; font-size:11px; line-height:1;
}
.store-cart-flight {
    position:fixed; z-index:9999; pointer-events:none; object-fit:cover; border-radius:14px;
    box-shadow:0 8px 24px #23150e40;
    animation:store-cart-flight 1.55s cubic-bezier(.3,.1,.35,1) both;
}
@keyframes store-cart-flight {
    0%, 14% { transform:translate(0,0) scale(1); opacity:1; }
    65% { transform:translate(var(--cart-mid-x),var(--cart-mid-y)) scale(.76); opacity:1; }
    100% { transform:translate(var(--cart-x),var(--cart-y)) scale(.16); opacity:.25; }
}
@media (prefers-reduced-motion:reduce) { .store-cart-flight { animation:none; } }
.store-cart-arrival { animation:store-cart-arrival .25s ease; }
@keyframes store-cart-arrival { 50% { transform:scale(1.22); } }
.store-commerce-status {
    position:fixed; z-index:25; inset-block-start:84px; inset-inline-end:16px;
    max-width:calc(100% - 32px); padding:9px 14px; border-radius:10px;
    background:#fff; color:var(--coffee); border:1px solid var(--line); box-shadow:0 5px 20px #21160e24;
}
.store-account-dialog {
    position:fixed; inset:0; margin:auto; width:min(420px,calc(100% - 32px)); max-height:calc(100% - 32px);
    padding:22px; border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--coffee);
}
.store-account-dialog::backdrop { background:#22150c80; }
.store-account-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.store-account-heading h2 { font-size:1.3rem; }
.store-account-heading button { background:none; border:0; font-size:1.6rem; color:inherit; cursor:pointer; }
.store-account-dialog form,.store-account-dialog label { display:grid; gap:6px; }
.store-account-dialog form { gap:12px; }
.store-account-dialog input { width:100%; min-height:42px; padding:6px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; color:inherit; font:inherit; }
.store-edit-email { justify-self:start; background:none; border:0; color:inherit; text-decoration:underline; font:inherit; font-size:.85rem; cursor:pointer; }
.store-account-dialog button:disabled { opacity:.6; cursor:default; }
.store-header-row { min-height:78px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; }
.store-wordmark { justify-self:start; font:400 38px/1 "Instrument Serif", "IBM Plex Sans Arabic", serif; color:var(--coffee); }
.store-wordmark span { color:var(--accent); }
.store-wordmark img { width:auto; height:48px; max-width:140px; object-fit:contain; }
.store-nav,.store-header-actions { display:flex; align-items:center; gap:24px; }
.store-nav { font-size:14px; font-weight:600; }
.store-nav a:hover { color:var(--accent); }
.store-header-actions { justify-self:end; gap:8px; }
.store-icon { display:grid; place-items:center; width:36px; height:36px; border:1px solid transparent; border-radius:50%; background:none; color:var(--coffee); cursor:pointer; }
.store-icon:hover { background:var(--surface); border-color:var(--line); }
.store-account { position:relative; }
.store-account-menu {
    position:absolute; inset-block-start:calc(100% + 8px); inset-inline-end:-36px;
    width:min(208px,calc(100vw - 32px)); padding:6px; border:1px solid var(--line);
    border-radius:12px; background:#fff; color:var(--coffee); box-shadow:0 10px 26px #23150e24;
}
.store-account-menu a,.store-account-menu button {
    display:block; width:100%; padding:10px 12px; border:0; border-radius:7px;
    text-align:start; font:inherit; color:inherit; background:none; cursor:pointer;
}
.store-account-menu :is(a,button):is(:hover,:focus-visible) { background:var(--surface); }
.store-account-menu form { margin-block-start:4px; padding-block-start:4px; border-block-start:1px solid var(--line); }
.store-icon svg,.store-whatsapp svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.coffee-store button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }

.store-hero { position:relative; isolation:isolate; overflow:hidden; aspect-ratio:2550 / 960; background:#f2e8d8; }
.store-slide { position:absolute; inset:0; visibility:hidden; }
.store-slide.is-current,.store-slide.is-leaving { visibility:visible; }
.store-slide.is-current { z-index:1; }
.store-slide.is-entering { animation:store-slide-in 1.15s ease-in-out both; }
.store-slide.is-leaving { animation:store-slide-out 1.15s ease-in-out both; }
@keyframes store-slide-in { from { transform:translateX(-100%); } to { transform:translateX(0); } }
@keyframes store-slide-out { from { transform:translateX(0); } to { transform:translateX(100%); } }
.store-slide img,.store-feature > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.store-slide-inner { position:relative; height:100%; display:flex; direction:ltr; align-items:center; }
.store-slide-copy { max-width:47%; padding:20px 0; color:var(--coffee); text-align:center; }
.store-slide-copy h1,.store-slide-copy h2 { font-size:clamp(32px,5vw,102px); font-weight:700; line-height:1.1; }
.store-slide-copy p:not(.store-hero-brand) { margin-block:12px 20px; font-size:clamp(13px,1.6vw,32px); color:#614331; }
.store-hero-brand { font:400 clamp(24px,4vw,78px)/1 "Instrument Serif","IBM Plex Sans Arabic",serif; margin-block-end:10px; }
.store-cta { display:inline-flex; align-items:center; justify-content:center; gap:18px; border:0; border-radius:999px; background:var(--coffee); color:white; padding:9px 23px; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.store-cta:hover { background:#673b24; }
.store-slider-controls { position:absolute; z-index:2; inset-inline:0; bottom:12px; display:flex; justify-content:center; align-items:center; gap:6px; }
.store-slider-controls button { width:14px; height:22px; padding:0; display:grid; place-items:center; border:0; background:none; color:var(--coffee); cursor:pointer; }
.store-slider-controls button:not(.store-pause)::before { content:""; width:7px; height:7px; border-radius:9px; background:#9b7758; opacity:.55; }
.store-slider-controls button[aria-pressed="true"]::before { width:13px; opacity:1; }
.store-slider-controls .store-pause { margin-inline-start:4px; }

.store-section { padding-block:clamp(32px,4vw,68px) 0; }
.store-section-heading { margin-block-end:24px; text-align:center; }
.store-section-heading h2 { font-size:clamp(24px,2.4vw,36px); line-height:1.35; font-weight:700; }
.store-section-heading p,.store-section-heading small { margin-block-start:4px; color:var(--muted); font-size:14px; }
.store-section-heading small { display:block; font-size:11px; }
.store-section-heading::after { display:block; content:""; width:86px; height:1px; background:#d3ad8c; margin:11px auto 0; }
.store-category-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr)); gap:14px; }
.store-category { min-width:0; border-radius:9px; overflow:hidden; background:#f5efe7; border:1px solid var(--line); }
.store-category img { width:100%; aspect-ratio:1.26; display:block; object-fit:cover; background:#f2e4d2; }
.store-category-caption { display:flex; justify-content:space-between; align-items:center; gap:5px; padding:9px 11px; font-size:14px; overflow-wrap:anywhere; }
.store-category-caption span { flex:none; display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:var(--coffee); color:#fff; }
.store-filters { display:flex; justify-content:center; gap:6px; flex-wrap:wrap; margin:0 0 20px; }
.store-filters button { border:1px solid var(--line); background:#f8f5ef; padding:5px 12px; border-radius:999px; color:var(--ink); font:inherit; font-size:13px; cursor:pointer; }
.store-filters [aria-pressed="true"] { color:white; background:var(--coffee); border-color:var(--coffee); }
.store-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 18px; }
.store-product-card { min-width:0; text-align:center; }
.store-product-image { display:grid; place-items:center; overflow:hidden; aspect-ratio:1; border-radius:8px; background:#f4eee6; color:#9d7e62; font-size:36px; }
.store-product-image img { width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.store-product-card a:hover img { transform:scale(1.04); }
.store-product-card h3 { margin-block:8px 3px; font-size:clamp(13px,1.2vw,17px); overflow-wrap:anywhere; }
.store-price { font-size:14px; color:var(--coffee); }
.store-price del { color:var(--muted); font-size:12px; margin-inline-end:6px; }
.store-empty { padding:22px; text-align:center; color:var(--muted); background:var(--surface); border-radius:8px; }

.store-feature { position:relative; isolation:isolate; display:flex; direction:ltr; align-items:center; overflow:hidden; aspect-ratio:1420 / 530; margin-block-start:clamp(36px,6vw,100px); border-radius:8px; background:#f2e8d8; }
.store-feature-copy { position:relative; width:47%; padding:clamp(15px,4vw,52px); color:var(--coffee); }
.store-feature h2 { font-size:clamp(23px,3vw,50px); line-height:1.2; }
.store-feature p { font-size:clamp(12px,1.2vw,18px); margin-block:8px 14px; }
.store-banner-link { position:absolute; inset:0; z-index:2; }
.store-banner-image-only::after { display:none; }
.store-review-window { overflow:hidden; }
.store-review-track { --per-page:3; display:flex; transition:transform .5s ease; }
.store-review { flex:0 0 calc(100% / var(--per-page)); min-width:0; display:grid; align-content:space-between; gap:16px; margin:0; border:1px solid var(--line); border-inline-end:0; padding:18px; background:#fff; }
.store-review:last-child { border-inline-end:1px solid var(--line); }
.store-review blockquote { margin:0; color:var(--muted); font-size:14px; line-height:1.8; }
.store-review figcaption { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px; }
.store-review figcaption span { color:#95601e; letter-spacing:2px; }
.store-review-controls { display:flex; justify-content:center; gap:6px; margin-block:12px 20px; }
.store-footer { background:#c9c7c7; border-top:1px solid var(--line); margin-block-start:35px; }
.store-footer > div { display:flex; justify-content:space-between; gap:12px; padding-block:23px; color:var(--muted); font-size:13px; }
.store-whatsapp { display:grid; place-items:center; position:fixed; z-index:5; left:20px; bottom:20px; width:48px; height:48px; border-radius:50%; color:white; background:#07575c; box-shadow:0 3px 12px #0002; }
.store-whatsapp svg { width:28px; height:28px; }
.store-dialog { width:min(100% - 32px,420px); padding:22px; border:1px solid var(--line); border-radius:12px; background:white; color:var(--ink); }
.store-dialog::backdrop { background:#241a14a0; }
.store-dialog p { margin:12px 0 20px; color:var(--muted); }

@media (max-width:800px) {
    .store-container { width:calc(100% - 32px); }
    .store-header-row { min-height:64px; }
    .store-nav { gap:12px; font-size:12px; }
    .store-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .store-review-track { --per-page:2; }
}
@media (max-width:560px) {
    .store-header-row { grid-template-columns:1fr auto; gap:6px; padding-block:10px 7px; }
    .store-nav { grid-row:2; grid-column:1 / -1; justify-content:center; }
    .store-hero { aspect-ratio:auto; min-height:400px; }
    .store-slide img,.store-feature img { object-position:67% center; }
    .store-slide-inner { align-items:end; padding-block-end:43px; }
    .store-slide::after,.store-feature::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#f8eeddfc,#f8eeddc9 37%,transparent 68%); pointer-events:none; }
    .store-slide-inner,.store-feature-copy { z-index:1; }
    .store-slide-copy { width:100%; max-width:none; padding:0; }
    .store-slide-copy p:not(.store-hero-brand) { margin-block:7px 12px; }
    .store-hero-brand { margin-block-end:4px; }
    .store-category-grid,.store-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .store-feature { aspect-ratio:auto; min-height:240px; align-items:end; }
    .store-feature-copy { width:100%; text-align:center; }
    .store-review-track { --per-page:1; }
}
@media (prefers-reduced-motion:reduce) {
    .store-slide.is-entering,.store-slide.is-leaving { animation-duration:.5s; }
    .store-review-track { transition:none; }
}

.catalog-store { --catalog-sand:#d2b192; --catalog-line:#e9e6e2; --ink:#202532; }
.catalog-store .store-header-row,.catalog-container,.catalog-store .store-footer > div { width:min(calc(100% - 48px),1240px); }
.catalog-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:5px 10px; padding-block:23px 17px; font-size:13px; color:#555b66; overflow-wrap:anywhere; }
.catalog-breadcrumb a:hover { color:var(--coffee); text-decoration:underline; }
.product-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"media summary" "media buy"; gap:18px 30px; align-items:start; }
.product-media { grid-area:media; }
@media (min-width:681px) {
    .product-layout .product-media { position:sticky; top:20px; }
    .product-media .product-main-image { max-height:calc(100dvh - 104px); }
    .product-media .product-main-image img { max-height:min(840px, calc(100dvh - 104px)); }
}
.product-main-image { min-width:0; display:grid; place-items:center; background:#faf7f2; }
.product-main-image img { display:block; width:100%; max-height:840px; object-fit:contain; }
.product-main-image:has(svg) { aspect-ratio:1; }
.product-main-image > svg { width:64px; color:#a89481; }
.product-thumbnails { display:flex; gap:8px; padding-block-start:10px; overflow:auto; }
.product-thumbnails button { flex:0 0 60px; height:60px; padding:2px; border:1px solid var(--catalog-line); background:white; cursor:pointer; }
.product-thumbnails button[aria-pressed="true"] { border-color:#a87550; }
.product-thumbnails img { width:100%; height:100%; object-fit:cover; }
.product-summary { grid-area:summary; min-width:0; display:flex; flex-direction:column; align-self:stretch; overflow-wrap:anywhere; }
.product-actions { display:flex; justify-content:flex-end; align-items:center; gap:7px; margin-block:0 15px; }
.product-actions small { order:-1; color:var(--muted); font-size:12px; }
.product-actions button[aria-pressed="true"] svg { fill:#a34d49; stroke:#a34d49; }
.product-summary h1 { color:var(--theme-product_title_color, inherit); font-size:var(--theme-product_title_size, clamp(22px,2.3vw,34px)); line-height:1.45; }
.product-subtitle,.product-promo { color:var(--muted); font-size:14px; }
.product-detail-price { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-block:5px; font-size:20px; }
.product-detail-price del { color:var(--muted); font-size:14px; }
.product-stock { color:#8c3d39; font-size:14px; }
.product-stock.is-available { color:#28744d; }
.product-description { min-width:0; padding-block:24px; font-size:15px; line-height:1.9; }
.product-description :is(h2,h3,p,ul,ol) { margin-block:0 .65em; }
.product-description :is(ul,ol) { padding-inline-start:1.4em; }
.product-description ul { list-style:disc; }
.product-description ol { list-style:decimal; }
.product-description a { text-decoration:underline; color:#804822; }
.product-description :is(img,iframe) { max-width:100%; }
.product-description iframe { width:100%; height:auto; aspect-ratio:16/9; }
.product-total,.product-quantity-row { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:15px; }
.product-total { padding-block-start:24px; margin-block-start:auto; }
.product-total strong { font-size:18px; }
.product-buy { grid-area:buy; display:grid; gap:12px; }
.product-option { display:grid; gap:4px; }
.product-option select { width:100%; min-height:38px; padding:4px 10px; border:1px solid var(--catalog-line); background:#fff; color:var(--ink); font:inherit; }
.product-stepper { display:flex; direction:ltr; border:1px solid var(--catalog-line); }
.product-stepper :is(input,button) { width:42px; min-height:37px; padding:0; border:0; background:white; text-align:center; color:var(--ink); font:inherit; }
.product-stepper input { appearance:textfield; border-inline:1px solid var(--catalog-line); }
.product-stepper input::-webkit-inner-spin-button,.product-stepper input::-webkit-outer-spin-button { appearance:none; }
.product-stepper button { font-size:20px; cursor:pointer; }
.product-buy-buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.product-buy-buttons button { min-height:42px; padding:6px 12px; border:1px solid var(--catalog-sand); background:var(--catalog-sand); color:#392316; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.product-buy-buttons button + button { background:white; }
.product-buy button:disabled { opacity:.6; cursor:default; }
.product-ratings { text-align:center; margin-block:45px 70px; }
.product-ratings h2 { display:inline-block; color:#8a5d3b; border-bottom:2px solid var(--catalog-sand); padding:0 18px 9px; font-size:17px; }
.product-ratings p { border-top:1px solid var(--catalog-line); padding:22px 12px; font-size:14px; color:var(--muted); }
.catalog-category-heading { text-align:center; padding:30px 12px; background:#faf7f2; margin-block-end:26px; }
.catalog-category-heading h1 { font-size:clamp(24px,3vw,40px); overflow-wrap:anywhere; }
.catalog-category-heading p { color:var(--muted); }
.catalog-subheading { margin-block-end:14px; font-size:20px; }
.catalog-category-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr)); }
.catalog-category-products { margin-block:32px 56px; }
.catalog-categories { min-height:55vh; }
@media (max-width:680px) {
    .catalog-store .store-header-row,.catalog-container,.catalog-store .store-footer > div { width:calc(100% - 28px); }
    .catalog-breadcrumb { padding-block:14px; font-size:12px; }
    .product-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:"media" "summary" "buy"; gap:17px; }
    .product-media { margin-inline:-14px; }
    .product-thumbnails { padding-inline:14px; }
    .product-main-image img { max-height:none; }
    .product-actions { margin-block:0 8px; }
    .product-summary h1 { font-size:var(--theme-product_title_size, 21px); }
    .product-buy { position:fixed; z-index:6; bottom:0; inset-inline:0; gap:7px; padding:8px 14px max(8px,env(safe-area-inset-bottom)); background:white; box-shadow:0 -3px 16px #0001; border-top:1px solid var(--catalog-line); }
    .product-buy-with-options { position:static; padding:0; box-shadow:none; border:0; }
    .product-page { padding-bottom:116px; }
    .product-page .store-whatsapp { bottom:121px; }
    .product-ratings { margin-block:26px 34px; }
    .catalog-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}


.store-product-media { position:relative; }
.store-quick-add {
    position:absolute; inset-inline:10px; inset-block-end:10px; min-height:40px; padding:6px;
    border:1px solid #fff9; border-radius:6px; background:#fffceee0; color:#392316;
    font:inherit; font-size:14px; font-weight:600; cursor:pointer; transition:opacity .18s ease;
}
.store-quick-add:hover { background:#fff9ef; }
@media (hover:hover) and (pointer:fine) {
    .store-quick-add { opacity:0; pointer-events:none; }
    .store-product-media:hover .store-quick-add,.store-product-card:focus-within .store-quick-add { opacity:1; pointer-events:auto; }
}
.store-card-cart .store-sign-add { display:block; width:calc(100% - 28px); }
.store-quick-add:is(a) { display:grid; place-items:center; }

.store-sign-card { display:flex; flex-direction:column; text-align:start; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff; }
.store-sign-card .store-product-image { border-radius:0; aspect-ratio:27 / 28; }
.store-sign-card h3,.store-sign-card .store-price,.store-sign-description { margin-inline:14px; }
.store-sign-card h3 { margin-block:12px 6px; }
.store-sign-description { color:#5f5952; font-size:.875rem; margin-block:0 10px; }
.store-sign-card .store-price { margin-block:auto 10px; }
.store-sign-discount { position:absolute; inset-block-start:10px; inset-inline-start:10px; padding:4px 9px; border-radius:20px; background:#4b2d20; color:#fff; font-size:.75rem; }
.store-sign-add { margin:0 14px 14px; border:0; border-radius:7px; padding:8px; background:#4b2d20; color:#fff; font:inherit; cursor:pointer; }
.store-sign-add:disabled { background:#ede8e3; color:#675d53; cursor:default; }
.store-sign-promo { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:end; gap:.4rem; min-height:180px; padding:16px; border-radius:12px; overflow:hidden; color:#fff; background:#4b2d20; }
.store-sign-promo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.store-sign-promo::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(transparent,#26160ee6); }

.store-reference-grid { align-items:stretch; }
.store-sign-info { display:flex; flex:1; flex-direction:column; min-width:0; }
.store-layout-big { grid-template-columns:repeat(4,minmax(0,282px)); justify-content:center; }
.store-layout-small { grid-template-columns:repeat(auto-fill,minmax(min(100%,185px),220px)); gap:16px; }
.store-layout-small h3 { font-size:var(--theme-product_title_size, 14px); }
.store-layout-small .store-product-image { aspect-ratio:1; }
.store-layout-carousel { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 0 12px; scrollbar-width:none; }
.store-layout-carousel::-webkit-scrollbar { display:none; }
.store-carousel-controls { display:flex; justify-content:flex-end; gap:8px; margin-block:0 10px; }
.store-carousel-controls button {
    display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--line);
    border-radius:50%; color:var(--coffee); background:#fff; font-size:21px; cursor:pointer;
}
.store-carousel-controls button:hover:not(:disabled) { color:#fff; background:var(--coffee); }
.store-carousel-controls button:disabled { opacity:.35; cursor:default; }
.store-layout-carousel > * { flex:0 0 min(250px,78vw); scroll-snap-align:start; }
.store-layout-carousel .store-sign-promo { order:1; }
.store-layout-featured_pair { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.store-layout-featured_pair .store-sign-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.store-layout-featured_pair .store-product-media { position:relative; min-height:145px; }
.store-layout-featured_pair .store-product-image { position:absolute; inset:0; height:100%; aspect-ratio:auto; }
.store-layout-featured_pair h3 { margin-block:9px 4px; line-height:1.3; }
.store-layout-featured_pair .store-sign-description,
.store-layout-featured_pair h3 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.store-layout-featured_pair .store-sign-description { margin-block-end:4px; }
.store-layout-featured_pair .store-price { margin-block:0 5px; }
.store-layout-featured_pair .store-sign-add { margin-block:0 8px; padding-block:5px; align-self:stretch; }
.store-layout-mosaic { grid-auto-rows:278px; }
.store-layout-mosaic .store-sign-card { min-height:0; }
.store-layout-mosaic .store-product-media { flex:0 0 52%; min-height:0; }
.store-layout-mosaic .store-product-image { height:100%; aspect-ratio:auto; }
.store-layout-mosaic .store-sign-card:first-of-type { grid-column:span 2; grid-row:span 2; }
.store-layout-mosaic .store-sign-card:first-of-type .store-product-media { flex-basis:75%; }
.store-layout-mosaic .store-sign-info h3,
.store-layout-mosaic .store-sign-description {
    display:-webkit-box;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.store-layout-mosaic .store-sign-info h3 { -webkit-line-clamp:2; line-height:1.3; margin-block:8px 4px; }
.store-layout-mosaic .store-sign-description { -webkit-line-clamp:1; margin-block-end:4px; }
.store-layout-mosaic .store-price { margin-block-end:6px; }
.store-layout-mosaic .store-sign-add { margin-block-end:8px; padding-block:5px; }
.store-layout-cards_3d { grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),250px)); gap:24px; perspective:1200px; padding-block:8px 20px; }
.store-layout-cards_3d .store-sign-card { box-shadow:0 12px 0 -6px #d0b6a4,0 17px 24px #3f24141f; transition:transform .25s,box-shadow .25s; }
.store-layout-cards_3d .store-sign-card:hover { transform:translateY(-5px) rotateX(2deg); box-shadow:0 16px 0 -6px #cfad95,0 23px 30px #3f24142c; }
.store-layout-sign .store-sign-card { border-color:transparent; border-radius:17px; }
.store-layout-sign .store-product-image { border-radius:13px; }
.store-layout-sign .store-sign-discount { inset:0 0 auto auto; border-radius:0 0 0 18px; }
@media (max-width:980px) {
    .store-layout-big,.store-layout-mosaic { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:720px) {
    .store-layout-big,.store-layout-mosaic,.store-layout-small,.store-layout-cards_3d { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .store-layout-featured_pair { grid-template-columns:minmax(0,1fr); }
    .store-layout-mosaic .store-sign-card:first-of-type { grid-row:auto; }
    .store-layout-mosaic { grid-auto-rows:260px; }
    .store-layout-mosaic .store-sign-card:first-of-type .store-product-media { flex-basis:55%; }
}
@media (max-width:380px) {
    .store-layout-featured_pair .store-sign-card { grid-template-columns:minmax(0,2fr) minmax(0,3fr); }
}
@media (prefers-reduced-motion:reduce) {
    .store-layout-cards_3d .store-sign-card { transition:none; }
    .store-layout-cards_3d .store-sign-card:hover { transform:none; }
}

.coffee-store {
    --background:var(--theme-background_color, #fff);
    --ink:var(--theme-text_color, #262527);
    background-color:var(--background);
    background-image:var(--theme-background_image, none);
    background-position:center;
    background-size:cover;
    background-attachment:fixed;
    color:var(--theme-text_color, var(--ink));
}
.catalog-store { --ink:var(--theme-text_color, #202532); }
.store-header { background-color:var(--theme-header_color, #c9c7c7); }
.store-footer { background-color:var(--theme-footer_color, #c9c7c7); }
.store-footer > div { color:var(--theme-text_color, var(--muted)); }
.store-product-card h3 { color:var(--theme-product_title_color, inherit); }
.store-product-card h3 { font-size:var(--theme-product_title_size, clamp(13px,1.2vw,17px)); }
.store-product-card .store-sign-description {
    color:var(--theme-product_description_color, #5f5952);
    font-size:var(--theme-product_description_size, .875rem);
}
.store-theme-extra-description { display:var(--theme-description_display, none); }
.store-sign-add:not(:disabled) {
    background-color:var(--theme-cart_background_color, #4b2d20);
    color:var(--theme-cart_text_color, #fff);
    font-size:var(--theme-cart_text_size, inherit);
}
.store-quick-add:not(:disabled) {
    background-color:var(--theme-cart_background_color, #fffceee0);
    color:var(--theme-cart_text_color, #392316);
    font-size:var(--theme-cart_text_size, 14px);
}
.store-quick-add:not(:disabled):hover { background-color:var(--theme-cart_background_color, #fff9ef); }

.store-footer .store-footer-main {
    display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);
    gap:24px 36px; align-items:start; padding-block:32px;
}
.store-footer-brand { display:grid; gap:8px; }
.store-footer-name { font-size:23px; font-weight:700; color:var(--ink); }
.store-footer-brand p { max-width:45ch; white-space:pre-line; overflow-wrap:anywhere; line-height:1.8; }
.store-footer-links { display:flex; flex-wrap:wrap; gap:9px 16px; padding-block-start:6px; overflow-wrap:anywhere; }
.store-footer-links a:hover,.store-footer-links a:focus-visible { text-decoration:underline; text-underline-offset:4px; }
.store-footer-social { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.store-footer-social a {
    display:grid; place-items:center; width:40px; height:40px; border:1px solid #30251c2b;
    border-radius:50%; color:var(--ink); background:#ffffff5e; transition:background-color .15s,color .15s;
}
.store-footer-social a:is(:hover,:focus-visible) { background:var(--coffee); color:#fff; }
.store-footer-social svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.store-footer .store-footer-bottom { border-top:1px solid #30251c2b; padding-block:14px; }

.blog-journal { max-width:1120px; min-height:56vh; padding-block:clamp(36px,7vw,82px); }
.blog-masthead { padding-block-end:16px; margin-block-end:28px; border-bottom:1px solid var(--line); }
.blog-masthead h1 { font-size:clamp(32px,5vw,58px); line-height:1.15; font-weight:700; }
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 24px; }
.blog-card { min-width:0; border-bottom:1px solid var(--line); padding-block-end:20px; }
.blog-featured { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:center; gap:clamp(18px,4vw,48px); padding-block-end:28px; }
.blog-cover { display:block; overflow:hidden; border-radius:5px; background:var(--surface); aspect-ratio:4/3; }
.blog-featured .blog-cover { aspect-ratio:16/10; }
.blog-cover img { width:100%; height:100%; object-fit:cover; }
.blog-card-copy { display:grid; justify-items:start; gap:8px; padding-block-start:13px; }
.blog-featured .blog-card-copy { padding:0; gap:12px; }
.blog-card time,.editorial-heading time { color:var(--theme-text_color,var(--muted)); font-size:13px; font-variant-numeric:tabular-nums; }
.blog-card h2 { font-size:clamp(18px,2.1vw,24px); font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
.blog-featured h2 { font-size:clamp(25px,3.6vw,43px); }
.blog-card p { color:var(--theme-text_color,var(--muted)); line-height:1.75; overflow-wrap:anywhere; }
.blog-read { display:inline-flex; gap:8px; align-items:center; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.blog-empty { color:var(--theme-text_color,var(--muted)); padding-block:12px; }
.editorial-entry { max-width:820px; min-height:52vh; padding-block:clamp(28px,6vw,64px); }
.editorial-heading { display:grid; justify-items:start; gap:12px; margin-block-end:24px; }
.editorial-heading h1 { font-size:clamp(29px,5vw,50px); line-height:1.3; font-weight:700; overflow-wrap:anywhere; }
.editorial-cover { width:100%; max-height:480px; object-fit:cover; border-radius:5px; }
.editorial-body { margin-block-start:24px; line-height:1.9; overflow-wrap:anywhere; }
.editorial-body :is(p,ul,ol,h2,h3,blockquote) { margin-block:12px; }
.editorial-body :is(ul,ol) { padding-inline-start:24px; }
.editorial-body ul { list-style:disc; }
.editorial-body ol { list-style:decimal; }
.editorial-body a { text-decoration:underline; }
.editorial-body iframe { width:100%; max-width:100%; aspect-ratio:16/9; }
@media (max-width:850px) {
    .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .store-footer .store-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
    .store-footer-brand { grid-column:1/-1; }
}
@media (max-width:560px) {
    .blog-grid,.blog-featured,.store-footer .store-footer-main { grid-template-columns:minmax(0,1fr); }
    .store-footer-social { justify-content:flex-start; }
}

.article-products { margin-block-start:40px; border-block-start:1px solid var(--line); padding-block-start:22px; }
.article-products h2 { font-size:22px; font-weight:700; margin-block-end:14px; }
.article-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.article-product { display:grid; align-content:start; gap:6px; border:1px solid var(--line); border-radius:10px; padding:10px; overflow-wrap:anywhere; }
.article-product:hover,.article-product:focus-visible { border-color:var(--accent); }
.article-product img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:5px; }
@media(max-width:560px) { .article-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.product-share-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-block-end:12px; }
.product-share-options a { padding:10px; border:1px solid var(--line); border-radius:8px; text-align:center; }
.product-share-options a:is(:hover,:focus-visible) { background:var(--surface); }
.product-share-copy { display:flex; flex-wrap:wrap; gap:8px; }
.product-share-copy input { flex:1 1 130px; min-width:0; }
.product-share-copy button { white-space:nowrap; }
.wishlist-remove { border:0; background:none; color:#a34d49; cursor:pointer; font:inherit; text-decoration:underline; }
