:root {
  --brand: #8a3b12; --accent: #f5a623; --surface-brand: #fff8f2; --brand-ink: #fff; --accent-ink: #251406;
  --ink: #1d1916; --muted: #6f655f; --line: #e8ded7; --paper: #fff; --soft: #f7f3ef;
  --success: #196c4b; --danger: #a32b2b; --shadow: 0 1.2rem 3rem rgb(62 35 19 / 10%);
  --radius: 1.35rem;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: color-mix(in srgb, var(--surface-brand) 20%, white); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; margin: 0; }
body.font-serif { font-family: Georgia, "Times New Roman", serif; }
body.font-rounded { font-family: "Trebuchet MS", ui-rounded, system-ui, sans-serif; }
a { color: var(--brand); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { text-decoration-thickness: .14em; }
button, input, select, textarea { font: inherit; }
button, .button { touch-action: manipulation; }
:focus-visible { outline: .2rem solid #0969da; outline-offset: .2rem; }
.skip-link { background: var(--ink); color: #fff; left: 1rem; padding: .7rem 1rem; position: fixed; top: -5rem; z-index: 20; }
.skip-link:focus { top: 1rem; }
.shell, .nav-shell, main { margin-inline: auto; max-width: 76rem; padding-inline: clamp(1rem, 4vw, 2rem); }
.site-header { background: color-mix(in srgb, var(--brand) 94%, #000); color: var(--brand-ink); position: sticky; top: 0; z-index: 10; }
.nav-shell { align-items: center; display: flex; justify-content: space-between; min-height: 4.75rem; }
.wordmark { align-items: center; color: inherit; display: inline-flex; font-size: 1.05rem; font-weight: 850; gap: .7rem; min-width: 0; overflow-wrap: anywhere; text-decoration: none; }
.wordmark > span:last-child { max-width: min(55vw, 28rem); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wordmark-mark { align-items: center; background: var(--accent); border-radius: .8rem; color: var(--accent-ink); display: inline-flex; font-size: 1.2rem; height: 2.35rem; justify-content: center; transform: rotate(-4deg); width: 2.35rem; }
.nav-actions { align-items: center; display: flex; gap: .55rem; }
.nav-link { color: inherit; font-weight: 700; padding: .6rem .75rem; text-decoration: none; }
main { padding-block: clamp(1.5rem, 5vw, 4rem) 5rem; }
.hero { align-items: center; display: grid; gap: 2rem; grid-template-columns: minmax(0, 1.45fr) minmax(17rem, .7fr); padding-block: clamp(1rem, 5vw, 4rem); }
.hero-compact { display: block; max-width: 52rem; padding-block: .5rem 1.25rem; }
.hero-compact h1 { font-size: clamp(2.35rem, 6vw, 4.4rem); max-width: 15ch; }
.hero-compact .lead { margin: .65rem 0 1rem; }
.hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem 1rem; }
.text-link { font-weight: 800; }
.eyebrow { color: var(--brand); font-size: .78rem; font-weight: 850; letter-spacing: .14em; margin: 0 0 .8rem; text-transform: uppercase; }
h1, h2, h3, h4, h5 { letter-spacing: -.025em; line-height: 1.13; }
h1 { font-size: clamp(2.6rem, 8vw, 5.7rem); margin: 0; max-width: 13ch; }
h2 { font-size: clamp(1.9rem, 5vw, 3.15rem); margin: 0; }
h3 { font-size: 1.35rem; }
.lead { color: var(--muted); font-size: clamp(1.05rem, 2.5vw, 1.3rem); max-width: 42rem; }
.hero-panel { background: var(--brand); border-radius: 2rem; box-shadow: var(--shadow); color: var(--brand-ink); overflow: hidden; padding: clamp(1.4rem, 4vw, 2.2rem); position: relative; }
.hero-panel::after { background: var(--accent); border-radius: 50%; content: ""; height: 9rem; opacity: .9; position: absolute; right: -3.5rem; top: -4rem; width: 9rem; }
.hero-panel strong { display: block; font-size: 1.3rem; margin-bottom: .55rem; position: relative; z-index: 1; }
.hero-panel p { margin-bottom: 0; opacity: .88; position: relative; z-index: 1; }
.section { margin-top: clamp(2.5rem, 5vw, 4rem); }
.storefront-menu-section { margin-top: 0; }
.menu-page-title { font-size: clamp(2.1rem, 5vw, 3.4rem); max-width: none; }
.section-heading { align-items: end; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1.4rem; }
.section-heading p { color: var(--muted); margin: .45rem 0 0; max-width: 38rem; }
.location-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); }
.product-grid { align-items: start; display: grid; gap: .85rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.5rem), 1fr)); }
.card { background: var(--paper); border: .0625rem solid var(--line); border-radius: var(--radius); box-shadow: 0 .5rem 2rem rgb(62 35 19 / 5%); padding: clamp(1.15rem, 3vw, 1.6rem); }
.location-card h3 { font-size: 1.35rem; margin: 0 0 .45rem; }
.product-card h5 { font-size: 1.08rem; margin: 0 0 .35rem; }
.location-card address, .muted { color: var(--muted); font-style: normal; }
.contact-hero { max-width: 54rem; padding-block: .5rem 1rem; }
.contact-hero h1 { font-size: clamp(2.35rem, 6vw, 4.6rem); max-width: 16ch; }
.contact-methods { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.25rem; }
.contact-methods a, .location-contact a { background: var(--soft); border: .0625rem solid var(--line); border-radius: 999px; color: var(--ink); font-weight: 760; padding: .55rem .8rem; text-decoration: none; }
.contact-location-grid { display: grid; gap: 1rem; }
.contact-location-card { display: grid; gap: 1.25rem; grid-template-columns: minmax(16rem, .8fr) minmax(20rem, 1.2fr); padding: 1rem; }
.contact-location-info { padding: .45rem; }
.contact-location-info h3 { margin: 0 0 .45rem; }
.contact-location-info h4 { font-size: 1rem; margin: 1.35rem 0 .5rem; }
.contact-location-info address { color: var(--muted); font-style: normal; }
.location-contact { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .85rem; }
.location-contact a { font-size: .85rem; padding: .4rem .65rem; }
.hours-exceptions .hours-list { border-top: 0; margin-top: 0; padding-top: 0; }
.location-map { min-height: 22rem; overflow: hidden; position: relative; }
.location-map iframe { border: 0; border-radius: 1rem; display: block; height: 20rem; width: 100%; }
.location-map > a { display: inline-block; font-weight: 780; margin-top: .55rem; }
.promotion-hero { align-items: center; background: var(--brand); border-radius: 1.8rem; color: var(--brand-ink); display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr) auto; overflow: hidden; padding: clamp(1.5rem, 5vw, 3.25rem); position: relative; }
.promotion-hero::after { background: var(--accent); border-radius: 50%; content: ""; height: 17rem; opacity: .18; position: absolute; right: -5rem; top: -7rem; width: 17rem; }
.promotion-hero .eyebrow { color: var(--accent); }
.promotion-hero h1 { font-size: clamp(2.5rem, 6vw, 4.8rem); max-width: 13ch; position: relative; z-index: 1; }
.promotion-hero .lead { color: inherit; margin-bottom: 0; opacity: .86; position: relative; z-index: 1; }
.promotion-stamp { align-items: center; aspect-ratio: 1; background: var(--accent); border-radius: 50%; color: var(--accent-ink); display: flex; flex-direction: column; justify-content: center; min-width: 10rem; padding: 1rem; position: relative; text-align: center; transform: rotate(6deg); z-index: 1; }
.promotion-stamp span { font-size: .72rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.promotion-stamp strong { font-size: 1.5rem; line-height: 1; margin-top: .35rem; }
.promotion-section { margin-top: 1.5rem; }
.promotion-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.promotion-card { background: var(--paper); border: .0625rem solid var(--line); border-radius: 1.4rem; box-shadow: var(--shadow); display: grid; grid-template-columns: minmax(10rem, .85fr) minmax(0, 1.15fr); overflow: hidden; }
.promotion-card-featured { grid-column: 1 / -1; grid-template-columns: minmax(18rem, 1.1fr) minmax(0, .9fr); }
.promotion-collage { background: var(--brand); display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; min-height: 18rem; overflow: hidden; }
.promotion-collage img { height: 100%; min-width: 0; object-fit: cover; width: 100%; }
.promotion-collage span { align-items: center; color: var(--brand-ink); display: flex; font-size: 1.4rem; font-weight: 850; justify-content: center; padding: 2rem; text-align: center; }
.promotion-card-copy { align-items: start; display: flex; flex-direction: column; padding: clamp(1.2rem, 3vw, 2rem); }
.promotion-badge { background: var(--accent); border-radius: 999px; color: var(--accent-ink); display: inline-flex; font-size: .72rem; font-weight: 900; letter-spacing: .08em; padding: .42rem .68rem; text-transform: uppercase; width: fit-content; }
.promotion-card h2 { font-size: clamp(1.65rem, 3vw, 2.55rem); margin: .8rem 0 .6rem; }
.promotion-card h2 a { color: var(--ink); text-decoration: none; }
.promotion-card-copy > p { color: var(--muted); margin-top: 0; }
.promotion-product-names { font-size: .8rem; font-weight: 760; }
.promotion-card-copy .button { margin-top: auto; }
.promotion-empty { grid-column: 1 / -1; }
.promotion-back { font-weight: 800; margin: 0 0 1rem; }
.promotion-flyer { background: var(--paper); border: .0625rem solid var(--line); border-radius: 1.6rem; box-shadow: var(--shadow); overflow: hidden; }
.promotion-flyer-head { background: radial-gradient(circle at 90% 15%, color-mix(in srgb, var(--accent) 75%, transparent), transparent 15rem), var(--brand); color: var(--brand-ink); padding: clamp(1.5rem, 6vw, 4rem); }
.promotion-flyer-head h1 { font-size: clamp(2.65rem, 7vw, 5.5rem); margin-top: 1rem; max-width: 14ch; }
.promotion-flyer-head .lead { color: inherit; margin-bottom: .7rem; opacity: .88; }
.promotion-validity { font-size: .85rem; font-weight: 760; margin: 1.2rem 0 0; opacity: .78; }
.promotion-story { font-size: clamp(1.05rem, 2vw, 1.2rem); max-width: 54rem; padding: clamp(1.5rem, 5vw, 3.5rem); }
.promotion-story p { margin-top: 0; }
.promotion-combination { background: var(--soft); border-top: .0625rem solid var(--line); padding: clamp(1.5rem, 5vw, 3.5rem); }
.promotion-product-grid { display: grid; gap: .9rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); margin-block: 1.25rem; }
.promotion-product-card { background: var(--paper); border: .0625rem solid var(--line); border-radius: 1rem; overflow: hidden; }
.promotion-product-card > img { aspect-ratio: 4 / 3; display: block; object-fit: cover; width: 100%; }
.promotion-product-card > div { padding: 1rem; }
.promotion-product-card h3 { margin: 0 0 .4rem; }
.promotion-product-card p { color: var(--muted); font-size: .88rem; }
.promotion-product-card a { display: inline-block; font-weight: 820; margin-top: .7rem; }
.promotion-prices { border-top: .0625rem solid var(--line); display: grid; font-size: .82rem; gap: .25rem; padding-top: .65rem; }
.promotion-prices span { display: flex; gap: .5rem; justify-content: space-between; }
.news-hero { border-bottom: .0625rem solid var(--line); max-width: 58rem; padding-block: .5rem 2rem; }
.news-hero h1 { font-size: clamp(2.5rem, 7vw, 5rem); max-width: 14ch; }
.news-section { margin-top: 1.5rem; }
.news-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.news-card { background: var(--paper); border: .0625rem solid var(--line); border-radius: 1.25rem; box-shadow: 0 .7rem 2rem rgb(62 35 19 / 7%); display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.news-card-featured { grid-column: span 2; }
.news-cover { align-items: center; aspect-ratio: 16 / 9; background: radial-gradient(circle at 80% 15%, color-mix(in srgb, var(--accent) 75%, transparent), transparent 8rem), var(--brand); color: var(--brand-ink); display: flex; font-size: 1.35rem; font-weight: 900; justify-content: center; overflow: hidden; text-decoration: none; }
.news-cover img { height: 100%; object-fit: cover; transition: transform .25s ease; width: 100%; }
.news-card:hover .news-cover img { transform: scale(1.025); }
.news-card-copy { align-items: flex-start; display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.news-meta { align-items: center; color: var(--muted); display: flex; font-size: .75rem; font-weight: 760; gap: .65rem; margin: 0; }
.news-meta span { color: var(--brand); letter-spacing: .06em; text-transform: uppercase; }
.news-card h2 { font-size: clamp(1.35rem, 2.5vw, 2rem); margin: .65rem 0 .5rem; }
.news-card h2 a { color: var(--ink); text-decoration: none; }
.news-card-copy > p:not(.news-meta) { color: var(--muted); margin: 0 0 1rem; }
.news-read-more { font-weight: 850; margin-top: auto; text-decoration: none; }
.news-empty { grid-column: 1 / -1; }
.news-article { background: var(--paper); border: .0625rem solid var(--line); border-radius: 1.5rem; box-shadow: var(--shadow); margin-inline: auto; max-width: 62rem; overflow: hidden; }
.news-article-header { padding: clamp(1.5rem, 6vw, 4rem); }
.news-article-header h1 { font-size: clamp(2.5rem, 7vw, 5rem); margin-top: .8rem; max-width: 15ch; }
.news-article-header .lead { margin-bottom: 0; }
.news-article-cover { aspect-ratio: 16 / 8; display: block; object-fit: cover; width: 100%; }
.news-article-body { font-size: clamp(1.05rem, 2vw, 1.18rem); line-height: 1.8; max-width: 48rem; padding: clamp(1.5rem, 6vw, 4rem); }
.news-article-body p { margin: 0 0 1.25rem; }
.about-hero { align-items: center; display: grid; gap: clamp(1.5rem, 5vw, 4rem); grid-template-columns: minmax(0, 1fr) minmax(20rem, .9fr); padding-block: .5rem 2rem; }
.about-hero-copy h1 { font-size: clamp(2.7rem, 7vw, 5.3rem); max-width: 13ch; }
.about-photo-grid { background: var(--brand); border-radius: 1.6rem; box-shadow: var(--shadow); display: grid; gap: .35rem; grid-template-columns: 1.2fr .8fr; grid-template-rows: repeat(2, minmax(8rem, 1fr)); min-height: 25rem; overflow: hidden; padding: .35rem; transform: rotate(1deg); }
.about-photo-grid img { height: 100%; object-fit: cover; width: 100%; }
.about-photo-grid img:first-child { grid-row: 1 / -1; }
.about-photo-placeholder { align-items: center; color: var(--brand-ink); display: flex; font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 900; grid-column: 1 / -1; grid-row: 1 / -1; justify-content: center; line-height: 1; text-align: center; }
.about-story-grid { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr); }
.about-story-copy, .about-values { background: var(--paper); border: .0625rem solid var(--line); border-radius: 1.35rem; padding: clamp(1.3rem, 4vw, 2.5rem); }
.about-story-copy h2, .about-values h2 { font-size: clamp(1.8rem, 4vw, 2.8rem); }
.about-prose { color: var(--muted); font-size: 1.05rem; line-height: 1.8; margin-top: 1.2rem; }
.about-prose p { margin: 0 0 1.1rem; }
.about-values { background: var(--soft); }
.about-values ul { display: grid; gap: .8rem; list-style: none; margin: 1.2rem 0 0; padding: 0; }
.about-values li { align-items: start; display: grid; font-weight: 780; gap: .65rem; grid-template-columns: 1.7rem minmax(0, 1fr); }
.about-values li span { align-items: center; background: var(--accent); border-radius: 50%; color: var(--accent-ink); display: inline-flex; height: 1.7rem; justify-content: center; width: 1.7rem; }
.about-cta { align-items: center; background: var(--brand); border-radius: 1.5rem; color: var(--brand-ink); display: flex; gap: 2rem; justify-content: space-between; margin-top: clamp(2.5rem, 6vw, 5rem); padding: clamp(1.4rem, 5vw, 3rem); }
.about-cta .eyebrow { color: var(--accent); }
.about-cta h2 { font-size: clamp(1.8rem, 4vw, 3rem); }
.about-cta p:not(.eyebrow) { margin-bottom: 0; opacity: .84; }
.about-cta .hero-actions { flex: 0 0 auto; }
.hours-list, .option-list, .cart-list, .order-list { list-style: none; margin: 0; padding: 0; }
.hours-list { border-top: .0625rem solid var(--line); margin-top: 1rem; padding-top: .8rem; }
.hours-list li { display: flex; font-size: .92rem; justify-content: space-between; padding-block: .22rem; }
.menu-jump-nav { display: flex; gap: .45rem; margin: 0 0 1.5rem; overflow-x: auto; padding: .2rem 0 .65rem; scrollbar-width: thin; }
.menu-jump-nav a { background: var(--soft); border: .0625rem solid var(--line); border-radius: 999px; color: var(--ink); flex: none; font-size: .85rem; font-weight: 760; padding: .5rem .75rem; text-decoration: none; }
.menu-jump-nav a:hover { background: var(--paper); border-color: var(--brand); }
.menu-block { margin-top: 2rem; }
.category-title { border-bottom: .0625rem solid var(--line); margin: 2rem 0 .7rem; padding-bottom: .5rem; }
.product-card { align-self: start; display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.product-image { background: var(--soft); display: block; height: clamp(9.5rem, 18vw, 11rem); object-fit: cover; width: 100%; }
.product-card-body { display: flex; flex: 1; flex-direction: column; padding: 1rem; }
.product-copy { color: var(--muted); font-size: .9rem; line-height: 1.45; margin: 0 0 .7rem; }
.allergens { background: var(--soft); border-radius: .7rem; color: var(--muted); display: inline-flex; font-size: .7rem; line-height: 1.4; margin-bottom: .7rem; padding: .3rem .5rem; width: fit-content; }
.product-price-list { border-top: .0625rem solid var(--line); display: grid; font-size: .82rem; gap: .25rem; margin-top: auto; padding-top: .65rem; }
.product-price-list > span { align-items: baseline; display: flex; gap: .5rem; justify-content: space-between; }
.product-config { margin-top: .7rem; }
.product-config summary { align-items: center; background: var(--brand); border-radius: .7rem; color: var(--brand-ink); cursor: pointer; display: flex; font-size: .88rem; font-weight: 820; justify-content: space-between; min-height: 2.65rem; padding: .65rem .8rem; }
.product-config summary::-webkit-details-marker { display: none; }
.product-config[open] summary { border-radius: .7rem .7rem 0 0; }
.product-config[open] summary [aria-hidden="true"] { transform: rotate(45deg); }
.product-config-content { border: .0625rem solid var(--line); border-radius: 0 0 .7rem .7rem; border-top: 0; padding: 0 .75rem .75rem; }
.variant-form { border-top: .0625rem solid var(--line); margin-top: .75rem; padding-top: .75rem; }
.variant-head { align-items: baseline; display: flex; gap: .75rem; justify-content: space-between; }
.price { font-variant-numeric: tabular-nums; white-space: nowrap; }
.choice-group { background: var(--soft); border: 0; border-radius: .85rem; margin: .8rem 0; padding: .8rem; }
.choice-group legend { font-size: .88rem; font-weight: 800; padding-inline: .25rem; }
.choice { align-items: center; display: flex; gap: .55rem; justify-content: space-between; min-height: 2.75rem; padding-block: .35rem; }
.choice label { flex: 1; padding-block: .55rem; }
.choice input { height: 1.1rem; width: 1.1rem; }
.form-row { display: grid; gap: .75rem; grid-template-columns: 1fr auto; margin-top: .8rem; }
label { font-weight: 720; }
input, select, textarea { background: #fff; border: .075rem solid #cfc3bb; border-radius: .75rem; color: var(--ink); max-width: 100%; padding: .72rem .8rem; width: 100%; }
input[type="checkbox"] { width: auto; }
textarea { resize: vertical; }
.button, button { align-items: center; background: var(--brand); border: 0; border-radius: .78rem; color: var(--brand-ink); cursor: pointer; display: inline-flex; font-weight: 820; justify-content: center; min-height: 2.8rem; padding: .72rem 1.05rem; text-decoration: none; }
.button:hover, button:hover { filter: brightness(.94); text-decoration: none; }
.button-light { background: #fff; color: var(--brand); }
.button-small { min-height: 2.55rem; padding: .58rem .9rem; }
.button-secondary { background: var(--soft); color: var(--ink); }
.button-wide { margin-top: .6rem; width: 100%; }
.notice { background: #fff7d8; border: .0625rem solid #e8cf70; border-radius: 1rem; color: #5f4810; margin-bottom: 1rem; padding: 1rem; }
.notice-error { background: #fff0ef; border-color: #e4aaa6; color: var(--danger); }
.empty-state { background: var(--paper); border: .1rem dashed #cfc3bb; border-radius: var(--radius); padding: clamp(2rem, 8vw, 5rem) 1.5rem; text-align: center; }
.empty-state h1 { font-size: clamp(2rem, 6vw, 3.4rem); margin-inline: auto; }
.cart-layout, .checkout-layout { align-items: start; display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1.45fr) minmax(17rem, .7fr); }
.cart-list { display: grid; gap: .8rem; }
.cart-item { align-items: center; border-bottom: .0625rem solid var(--line); display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; padding-block: 1rem; }
.cart-item:last-child { border-bottom: 0; }
.cart-item h2 { font-size: 1.15rem; margin: 0 0 .25rem; }
.cart-item .option-list { color: var(--muted); font-size: .88rem; }
.quantity-form { align-items: end; display: grid; gap: .45rem; grid-template-columns: 5rem auto; }
.quantity-form label { font-size: .8rem; grid-column: 1 / -1; }
.summary { position: sticky; top: 6rem; }
.summary-row { display: flex; gap: 1rem; justify-content: space-between; padding-block: .45rem; }
.summary-total { border-top: .1rem solid var(--ink); font-size: 1.15rem; margin-top: .5rem; padding-top: .85rem; }
.form-card p, .form-card .field { margin: 0 0 1rem; }
.form-card ul.errorlist { color: var(--danger); font-weight: 700; margin: .25rem 0; padding-left: 1.2rem; }
.progress { display: flex; gap: .5rem; list-style: none; margin: 0 0 1.5rem; padding: 0; }
.progress li { background: var(--soft); border-radius: 999px; color: var(--muted); font-size: .82rem; font-weight: 750; padding: .42rem .7rem; }
.progress .active { background: var(--brand); color: var(--brand-ink); }
.order-hero { text-align: center; }
.order-hero h1 { font-size: clamp(2.2rem, 7vw, 4.5rem); margin-inline: auto; }
.status-badge { background: #eaf8f1; border-radius: 999px; color: var(--success); display: inline-flex; font-weight: 820; padding: .5rem .85rem; }
.order-number { font-family: ui-monospace, monospace; letter-spacing: .08em; }
.site-footer { background: var(--ink); color: #fff; padding-block: 2.5rem; }
.site-footer a { color: #fff; }
.footer-grid { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.footer-grid p { color: #c9c0ba; margin: .3rem 0 0; }
.footer-links { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; }
.legal-page { max-width: 58rem; }
.legal-page-header { margin-bottom: 1.25rem; }
.legal-page-header h1 { font-size: clamp(2.2rem, 6vw, 4.5rem); }
.legal-document { line-height: 1.75; }
.legal-document p { margin: 0 0 1.15rem; white-space: pre-line; }
.legal-review-note { margin-top: 1.25rem; }
.checkout-legal-note { color: var(--muted); font-size: .9rem; line-height: 1.55; }
@media (max-width: 48rem) {
  .hero, .cart-layout, .checkout-layout { grid-template-columns: 1fr; }
  .contact-location-card { grid-template-columns: 1fr; }
  .about-hero, .about-story-grid { grid-template-columns: 1fr; }
  .about-photo-grid { min-height: 21rem; transform: none; }
  .about-cta { align-items: flex-start; flex-direction: column; }
  .promotion-card, .promotion-card-featured { grid-column: auto; grid-template-columns: 1fr; }
  .promotion-grid { grid-template-columns: 1fr; }
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .news-card-featured { grid-column: auto; }
  .checkout-layout > .summary { order: -1; }
  .hero-panel { order: -1; }
  .summary { position: static; }
  .section-heading, .footer-grid { align-items: flex-start; flex-direction: column; }
  .nav-link-menu { display: none; }
}
@media (max-width: 32rem) {
  .nav-shell { min-height: 4.2rem; }
  .wordmark-mark { height: 2rem; width: 2rem; }
  .wordmark > span:last-child { display: none; }
  .promotion-hero { grid-template-columns: 1fr; }
  .promotion-stamp { display: none; }
  .promotion-collage { min-height: 13rem; }
  .news-grid { grid-template-columns: 1fr; }
  .cart-item { align-items: stretch; grid-template-columns: 1fr; }
  .quantity-form { grid-template-columns: 1fr auto; }
  .form-row { grid-template-columns: 1fr; }
  .nav-actions { gap: .2rem; }
  .nav-link-contact { display: none; }
  .nav-link-about, .nav-link-news, .nav-link-promotion { font-size: .82rem; padding-inline: .35rem; }
  .button-small { padding-inline: .72rem; }
  .location-map { min-height: 17rem; }
  .location-map iframe { height: 15rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .news-cover img { transition: none; } }
#nabidka, [id^="category-"] { scroll-margin-top: 6rem; }
