/* Gasthaus Belfort — warm Croatian coast theme
   Visual layer only: the existing Firebase, cart, forms, IDs and links remain intact. */

:root {
  --belfort-navy: #0b3552;
  --belfort-navy-dark: #06263d;
  --belfort-navy-soft: #164c6d;
  --belfort-red: #d71938;
  --belfort-red-dark: #ae102a;
  --belfort-cream: #f8f1e7;
  --belfort-paper: #fffaf3;
  --belfort-sand: #e9dccb;
  --belfort-ink: #17364c;
  --belfort-muted: #61717c;
  --belfort-copper: #a66d4b;
  --belfort-line: rgba(11, 53, 82, 0.14);
  --primary-gold: var(--belfort-red);
}

html { background: var(--belfort-cream); }

body {
  color: var(--belfort-ink) !important;
  background: radial-gradient(circle at 8% 14%, rgba(215,25,56,.035), transparent 28rem), linear-gradient(180deg,#fffaf3 0%,var(--belfort-cream) 100%) !important;
}

body:has(> .promo-ticker) { padding-top: 132px !important; }
::selection { color:#fff; background:var(--belfort-red); }
:focus-visible { outline:3px solid rgba(215,25,56,.72); outline-offset:3px; }

.bg-black,.bg-background-light,.bg-background-dark,.bg-belfort-black { background-color:var(--belfort-cream) !important; }
.bg-belfort-gray { background-color:#f0e6d8 !important; }
.text-white { color:var(--belfort-ink) !important; }
.text-gray-300,.text-gray-400,.text-gray-500,.text-gray-600 { color:var(--belfort-muted) !important; }
.text-brand-gold,.text-belfort-gold,.text-primary,.gold-text,.brand-gold,[class~="text-[#f1c937]"] { color:var(--belfort-red) !important; }
.bg-brand-gold,.bg-belfort-gold,.bg-primary,.gold-bg,[class~="bg-[#f1c937]"] { color:#fff !important; background-color:var(--belfort-red) !important; }
.border-brand-gold,.border-belfort-gold,.border-primary,.gold-border { border-color:var(--belfort-red) !important; }

/* Promotion strip */
.promo-ticker {
  position:fixed !important; top:0; left:0; z-index:70 !important; width:100%; height:42px !important;
  display:flex; align-items:center; overflow:hidden; color:#fff !important;
  background:linear-gradient(90deg,#bd102b,var(--belfort-red),#bd102b) !important; border:0 !important; box-shadow:none !important;
}
.promo-ticker-track { width:100% !important; min-width:0 !important; height:100%; display:flex; align-items:center; justify-content:center; animation:none !important; transform:none !important; }
.promo-ticker-track span { padding:0 1rem !important; color:#fff !important; font-size:.76rem !important; font-weight:800 !important; letter-spacing:.055em !important; text-align:center; text-transform:none !important; }
.promo-ticker-track span:nth-child(n + 2) { display:none !important; }

/* Navigation */
#header-placeholder nav[data-purpose="main-navigation"],body > nav.fixed {
  top:42px !important; height:90px; color:#fff; background:rgba(7,42,66,.98) !important; border:0 !important;
  box-shadow:0 12px 36px rgba(7,42,66,.18) !important; backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px);
}
body:not(:has(> .promo-ticker)) #header-placeholder nav[data-purpose="main-navigation"],body > nav.fixed { top:0 !important; }
#header-placeholder nav[data-purpose="main-navigation"] .h-24 { height:90px !important; }
#header-placeholder nav a,#header-placeholder nav label,body > nav.fixed a,body > nav.fixed label { color:rgba(255,255,255,.9) !important; }
#header-placeholder nav a:not(.nav-order-button):hover,body > nav.fixed a:not([href="bestellung.html"]):hover { color:#fff !important; }

.belfort-brand { display:inline-flex; align-items:center; gap:.8rem; text-decoration:none; }
.belfort-checker {
  width:42px; height:42px; flex:none;
  background:linear-gradient(90deg,var(--belfort-red) 50%,transparent 50%) 0 0/21px 21px,linear-gradient(var(--belfort-red) 50%,transparent 50%) 0 0/21px 21px;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.16));
}
.belfort-brand-copy { min-width:158px; display:grid; line-height:1; text-align:center; text-transform:uppercase; }
.belfort-brand-copy small { color:#fff; font-family:Montserrat,sans-serif; font-size:.52rem; letter-spacing:.44em; }
.belfort-brand-copy strong { margin:.2rem 0; color:#fff; font-family:"Playfair Display",serif; font-size:1.7rem; font-weight:500; letter-spacing:.15em; }
.belfort-brand-copy em { color:#e8a25f; font-family:Montserrat,sans-serif; font-size:.45rem; font-style:normal; letter-spacing:.36em; }
.nav-order-button {
  min-width:164px; display:inline-flex !important; align-items:center; justify-content:center; gap:.55rem; padding:.82rem 1.2rem !important;
  color:#fff !important; background:var(--belfort-red) !important; border:1px solid rgba(255,255,255,.26); border-radius:12px !important;
  box-shadow:0 10px 24px rgba(174,16,42,.28);
}
.nav-order-button .material-symbols-outlined { font-size:1rem; }
.nav-order-button:hover { color:var(--belfort-red) !important; background:#fff !important; transform:translateY(-1px); }

#mobile-menu { color:#fff; background:radial-gradient(circle at 50% 0,rgba(35,92,124,.9),transparent 34rem),var(--belfort-navy-dark) !important; }
#mobile-menu .text-white,#mobile-menu .text-gray-300,#mobile-menu .text-gray-400,#mobile-menu .text-gray-500,#mobile-menu .text-brand-gold,#mobile-menu a { color:#fff !important; }
#mobile-menu::after { position:absolute; right:0; bottom:0; left:0; height:8px; content:""; background:repeating-linear-gradient(90deg,var(--belfort-red) 0 12px,#fff 12px 24px); }

/* Homepage hero */
.promo-ticker + section {
  min-height:650px !important; height:min(74vh,690px) !important; max-height:none !important; display:flex; align-items:center; justify-content:center;
  padding-bottom:124px; text-align:left !important; background:#d9e8ee;
}
.promo-ticker + section > .absolute.inset-0 img { opacity:1 !important; filter:saturate(1.04) contrast(.98); object-position:center center !important; border-radius:0 !important; }
.promo-ticker + section > .absolute.inset-0 > div {
  background:linear-gradient(90deg,rgba(249,244,235,.97) 0%,rgba(249,244,235,.82) 30%,rgba(249,244,235,.12) 62%,transparent 78%),linear-gradient(180deg,rgba(255,255,255,.06),transparent 66%,rgba(7,42,66,.12)) !important;
}
.promo-ticker + section > .relative.z-10 { width:min(1180px,calc(100% - 3rem)); max-width:none !important; margin:0 auto; padding:1rem 0 3rem !important; text-align:left; }
.promo-ticker + section h1 {
  width:min(660px,58vw); margin-bottom:1.15rem !important; color:var(--belfort-navy) !important; font-size:clamp(3rem,5.2vw,5.35rem) !important;
  line-height:.96 !important; letter-spacing:-.035em; text-shadow:0 2px 20px rgba(255,255,255,.48);
}
.promo-ticker + section h1::before {
  display:block; margin-bottom:1.1rem; color:var(--belfort-navy); content:"KROATISCHE SPEZIALITÄTEN AUS KAUFBEUREN";
  font-family:Montserrat,sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.29em;
}
.promo-ticker + section h1 span { margin-top:.35rem !important; color:var(--belfort-red) !important; font-size:clamp(1.6rem,2.7vw,2.65rem) !important; line-height:1.1; }
.promo-ticker + section p { width:min(510px,52vw); margin:0 0 1.7rem !important; color:#304b5c !important; font-family:Montserrat,sans-serif; font-size:clamp(.98rem,1.6vw,1.18rem) !important; line-height:1.55; letter-spacing:0 !important; }
.promo-ticker + section .flex.flex-col.sm\:flex-row { justify-content:flex-start !important; align-items:center !important; gap:.75rem !important; }
.promo-ticker + section .flex.flex-col.sm\:flex-row a {
  width:auto !important; min-width:160px; padding:.9rem 1.35rem !important; color:var(--belfort-navy) !important; background:rgba(255,250,243,.9) !important;
  border:1px solid rgba(11,53,82,.32) !important; border-radius:9px !important; box-shadow:0 8px 22px rgba(11,53,82,.08);
}
.promo-ticker + section .flex.flex-col.sm\:flex-row a[href="bestellung.html"] { order:-1; min-width:240px; color:#fff !important; background:var(--belfort-red) !important; border-color:var(--belfort-red) !important; box-shadow:0 12px 28px rgba(174,16,42,.26); }
.promo-ticker + section .flex.flex-col.sm\:flex-row a:hover { color:#fff !important; background:var(--belfort-navy) !important; border-color:var(--belfort-navy) !important; }

.hero-offer-band {
  position:absolute; right:5%; bottom:0; left:5%; z-index:15; min-height:138px; display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,320px) auto; align-items:center; gap:1.5rem;
  padding:1rem 2rem 1.1rem; overflow:hidden; color:#fff; background:linear-gradient(110deg,#06263d,#0b3552 70%,#123e5a);
  border:1px solid rgba(255,255,255,.2); border-bottom:0; border-radius:22px 22px 0 0; box-shadow:0 -12px 35px rgba(7,42,66,.22);
}
.offer-message { min-width:0; line-height:1.1; }
.offer-eyebrow { display:block; margin-bottom:.3rem; color:#ffb5bd; font-family:Montserrat,sans-serif; font-size:.65rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.offer-message strong { display:block; color:#fff; font-family:"Playfair Display",serif; font-size:clamp(1.9rem,3vw,2.7rem); line-height:1.05; }
.offer-subline { display:block; margin-top:.15rem; color:#fff; font-family:Montserrat,sans-serif; font-size:.83rem; }
.offer-home-benefit { min-width:0; min-height:82px; display:flex; align-items:center; gap:.9rem; padding:.65rem .9rem; color:#fff; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.18); border-radius:14px; }
.offer-home-icon { flex:none; width:54px; height:54px; display:grid; place-items:center; color:#ffd9ad; background:rgba(255,217,173,.12); border-radius:50%; }
.offer-home-icon svg { width:33px; height:33px; }
.offer-home-copy { min-width:0; display:grid; gap:.3rem; }
.offer-home-copy strong { color:#fff; font-family:Montserrat,sans-serif; font-size:.9rem; font-weight:800; line-height:1.15; }
.offer-home-copy small { color:#e6eef2; font-family:Montserrat,sans-serif; font-size:.69rem; line-height:1.3; }
.hero-offer-band > .offer-cta { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:.6rem; padding:.85rem 1.2rem; color:#fff; font-family:Montserrat,sans-serif; font-size:.7rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; background:var(--belfort-red); border-radius:9px; white-space:nowrap; transition:background-color .2s,transform .2s; }
.hero-offer-band > .offer-cta:hover { color:#fff; background:var(--belfort-red-dark); transform:translateY(-2px); }

/* Category navigation */
.home-category-strip { width:min(1240px,calc(100% - 2.5rem)); margin:1.25rem auto 0; display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:.4rem; }
.home-category-strip a { min-height:78px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.35rem; color:#fff; font-family:Montserrat,sans-serif; font-size:.68rem; font-weight:600; text-align:center; background:var(--belfort-navy); border:1px solid rgba(255,255,255,.1); border-radius:8px; transition:transform 180ms ease,background-color 180ms ease; }
.home-category-strip a.is-active,.home-category-strip a:hover { background:var(--belfort-red); transform:translateY(-2px); }
.home-category-strip .material-symbols-outlined { font-size:1.6rem; }

/* Popular dishes */
.home-specialties { padding:3.4rem max(1.5rem,calc((100% - 1180px)/2)) 4rem; }
.specialties-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.35rem; }
.specialties-heading span:first-child { color:var(--belfort-navy); font-family:Montserrat,sans-serif; font-size:.67rem; font-weight:800; letter-spacing:.25em; text-transform:uppercase; }
.specialties-heading h2 { margin-top:.25rem; color:var(--belfort-navy); font-family:"Playfair Display",serif; font-size:clamp(2.2rem,4vw,3.5rem); line-height:1; }
.specialties-heading > a { padding-bottom:.3rem; color:var(--belfort-navy); font-size:.78rem; font-weight:700; border-bottom:1px solid var(--belfort-navy); }
.specialty-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.specialty-card { overflow:hidden; background:rgba(255,250,243,.96); border:1px solid rgba(11,53,82,.11); border-radius:9px; box-shadow:0 14px 32px rgba(11,53,82,.08); transition:transform 180ms ease,box-shadow 180ms ease; }
.specialty-card:hover { transform:translateY(-4px); box-shadow:0 20px 40px rgba(11,53,82,.13); }
.specialty-card > img { width:100%; height:220px; object-fit:cover; border-radius:0 !important; }
.specialty-card > div { min-height:248px; display:flex; flex-direction:column; padding:1rem 1.15rem 1.15rem; }
.specialty-card h3 { color:var(--belfort-navy); font-family:"Playfair Display",serif; font-size:1.55rem; font-weight:700; }
.specialty-card p { margin:.45rem 0 .6rem; color:#51646f; font-size:.84rem; line-height:1.55; }
.specialty-card strong { margin-top:auto; color:var(--belfort-navy); font-family:"Playfair Display",serif; font-size:1.35rem; }
.specialty-card a { align-self:flex-end; min-width:190px; margin-top:-1.8rem; padding:.8rem 1rem; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; color:#fff; font-size:.72rem; font-weight:800; background:var(--belfort-red); border-radius:9px; }
.specialty-card a:hover { background:var(--belfort-red-dark); }

/* Benefit line */
.home-values { width:min(1180px,calc(100% - 3rem)); margin:0 auto 3rem; padding:1.4rem 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--belfort-line); border-bottom:1px solid var(--belfort-line); }
.home-values > div { padding:0 1.4rem; display:flex; align-items:center; gap:.8rem; border-right:1px solid var(--belfort-line); }
.home-values > div:last-child { border-right:0; }
.home-values .material-symbols-outlined { color:var(--belfort-copper); font-size:2.3rem; }
.home-values p { display:grid; }
.home-values strong { color:var(--belfort-navy); font-family:"Playfair Display",serif; font-size:.94rem; }
.home-values small { margin-top:.18rem; color:var(--belfort-muted); font-size:.64rem; }

/* Existing homepage sections */
section.bg-background-light,section.bg-background-dark,section.bg-black,main.bg-black { color:var(--belfort-ink); background:transparent !important; }
body > section.py-28,#reservation,#reviews,#menu {
  position:relative; width:min(1180px,calc(100% - 3rem)); margin:0 auto 2rem; padding:3.5rem 3rem !important;
  background:rgba(255,250,243,.86) !important; border:1px solid rgba(11,53,82,.1) !important; border-radius:18px; box-shadow:0 18px 46px rgba(11,53,82,.07);
}
body > section.py-28 h2,#reservation h2,#reviews h2,#menu h2,#menu h3 { color:var(--belfort-navy) !important; }
body > section.py-28 p,#reservation p,#reviews p,#menu p,#menu span:not(.material-symbols-outlined) { color:#536873 !important; }
body > section.py-28 img,#reservation img { border-radius:12px; filter:none !important; }
body > section.py-28 .border-l-2 { border-color:var(--belfort-red) !important; }
#menu .gold-text,#menu .group-hover\:text-primary:hover,#menu .font-medium { color:var(--belfort-navy) !important; }

#form-container,#review-form-container,.glass-card,[class~="bg-white/[0.03]"] {
  color:var(--belfort-ink); background:rgba(255,255,255,.88) !important; border:1px solid rgba(11,53,82,.12) !important;
  border-radius:14px !important; box-shadow:0 14px 36px rgba(11,53,82,.08) !important;
}
#form-container,#review-form-container,[class~="bg-white/[0.03]"] { border-top:4px solid var(--belfort-red) !important; }
input:not([type="checkbox"]):not([type="radio"]),select,textarea,.form-input-validated { color:var(--belfort-ink) !important; background:#fff !important; border:1px solid rgba(11,53,82,.22) !important; border-radius:8px !important; }
input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus,.form-input-validated:focus { background:#fff !important; border-color:var(--belfort-red) !important; box-shadow:0 0 0 3px rgba(215,25,56,.12) !important; }
input::placeholder,textarea::placeholder { color:#8b969b !important; }
button[class*="bg-brand-gold"],button[class*="bg-belfort-gold"],button[class*="bg-[#f1c937]"],#submitBtn,#submitReviewBtn,#submit-order-btn { color:#fff !important; background:var(--belfort-red) !important; border-radius:9px !important; box-shadow:0 10px 24px rgba(174,16,42,.18); }
button[class*="bg-brand-gold"]:hover,button[class*="bg-belfort-gold"]:hover,button[class*="bg-[#f1c937]"]:hover,#submitBtn:hover,#submitReviewBtn:hover,#submit-order-btn:hover { background:var(--belfort-red-dark) !important; }

/* Ordering page */
#bestellen { width:min(1320px,calc(100% - 2rem)); margin:0 auto; padding-top:2rem !important; background:transparent !important; }
.croatia-order-benefits,.checkout-benefit-banner { margin-bottom:1.4rem; padding:.85rem 1rem; display:grid; grid-template-columns:1fr 1fr; gap:0; color:#fff; background:var(--belfort-red); border-radius:10px; box-shadow:0 12px 30px rgba(174,16,42,.16); }
.croatia-order-benefits > span,.checkout-benefit-banner > span { min-height:42px; display:flex; align-items:center; justify-content:center; gap:.55rem; font-size:.72rem; font-weight:800; letter-spacing:.07em; text-align:center; text-transform:uppercase; }
.croatia-order-benefits > span + span,.checkout-benefit-banner > span + span { border-left:1px solid rgba(255,255,255,.35); }
#bestellen aside.glass-card { position:sticky; border-top:4px solid var(--belfort-red) !important; }
#bestellen aside h3,#bestellen h1,#bestellen h2,#bestellen .product-card-title,#bestellen .text-white,#bestellen .text-brand-gold { color:var(--belfort-navy) !important; }
#bestellen .text-gray-300,#bestellen .text-gray-400,#bestellen .text-gray-500 { color:var(--belfort-muted) !important; }
#bestellen .category-scroll { color:#fff; background:var(--belfort-navy) !important; border:0 !important; border-radius:9px; }
#bestellen .category-scroll .text-gray-300,#bestellen .category-scroll .text-brand-gold,#bestellen .category-scroll button { color:#fff !important; }
#bestellen .group.glass-card { overflow:hidden; transition:transform 180ms ease,box-shadow 180ms ease; }
#bestellen .group.glass-card:hover { transform:translateY(-4px); box-shadow:0 20px 42px rgba(11,53,82,.13) !important; }
#bestellen .group.glass-card img { border-radius:0 !important; }
#bestellen .group.glass-card button { color:#fff !important; background:var(--belfort-red) !important; border:0 !important; border-radius:8px; }
#bestellen .group.glass-card button:hover { background:var(--belfort-red-dark) !important; }
#bestellen .h-0\.5.bg-brand-gold { background:var(--belfort-red) !important; }

/* Cart overlays */
[x-show="isCartOpen"] > .absolute.right-0,.mobile-cart-sheet,.mobile-cart-panel,[x-show="isCartOpen"] .bg-black { color:#fff !important; background:var(--belfort-navy-dark) !important; }
[x-show="isCartOpen"] .text-white,[x-show="isCartOpen"] .text-brand-gold,[x-show="isCartOpen"] .text-gray-400,[x-show="isCartOpen"] .text-gray-500,.mobile-cart-sheet .text-white,.mobile-cart-sheet .text-brand-gold,.mobile-cart-sheet .text-gray-400 { color:#fff !important; }

/* Checkout, thank-you and legal pages */
body > main.max-w-7xl,body > main.pt-24 { color:var(--belfort-ink); }
body > main.max-w-7xl h1,body > main.max-w-7xl h2,body > main.max-w-7xl h3,body > main.pt-24 h1,body > main.pt-24 h2,body > main.pt-24 h3 { color:var(--belfort-navy) !important; }
body > main.max-w-7xl .text-white,body > main.max-w-7xl .text-gray-300,body > main.max-w-7xl .text-gray-400,body > main.max-w-7xl .text-gray-500,body > main.pt-24 .text-white,body > main.pt-24 .text-white\/70,body > main.pt-24 .text-white\/35 { color:var(--belfort-muted) !important; }
[data-purpose="checkout-form-section"] .glass-card,[data-purpose="order-summary-sidebar"] .glass-card,.print-card { background:#fff !important; border-top:4px solid var(--belfort-red) !important; }
[data-purpose="toggle-order-type"] { padding:.3rem !important; background:#efe4d7 !important; border:0 !important; border-radius:10px !important; }
[data-purpose="toggle-order-type"] button { border-radius:7px !important; }
[data-purpose="checkout-form-section"] label,[data-purpose="checkout-form-section"] .text-white,[data-purpose="order-summary-sidebar"] .text-white,[data-purpose="order-summary-sidebar"] .text-belfort-gold { color:var(--belfort-navy) !important; }
#delivery-row:not(.hidden) { margin:.35rem -.4rem; padding:.55rem .4rem; color:#23724e !important; background:#e7f4ec; border-radius:7px; }

/* Signature coastal band */
.home-coast-signoff {
  position:relative; min-height:310px; display:grid; place-items:center; overflow:hidden; color:#fff;
  background:linear-gradient(90deg,rgba(7,42,66,.22),rgba(7,42,66,.62)),url("../images/croatia-coast-hero.png") center 43%/cover no-repeat;
  border:0 !important;
}
.home-coast-signoff::before { position:absolute; top:-58px; right:-5%; left:-5%; height:100px; content:""; background:var(--belfort-cream); border-radius:0 0 50% 50%; }
.home-coast-signoff > div { max-width:620px; padding:2rem; text-align:center; text-shadow:0 2px 14px rgba(0,0,0,.4); }
.home-coast-signoff p { color:#fff !important; font-family:"Playfair Display",serif; font-size:clamp(1.7rem,3.2vw,2.7rem); font-style:italic; line-height:1.25; }
.home-coast-signoff span { display:block; margin-top:.8rem; color:#fff; font-size:1.5rem; }

/* Footer */
#footer-placeholder > footer,body > footer { position:relative; color:#fff; background:radial-gradient(circle at 82% 0,rgba(35,92,124,.58),transparent 32rem),var(--belfort-navy-dark) !important; border:0 !important; }
#footer-placeholder > footer::before,body > footer::before { position:absolute; top:0; right:0; left:0; height:6px; content:""; background:repeating-linear-gradient(90deg,var(--belfort-red) 0 12px,#fff 12px 24px); }
#footer-placeholder footer h4,#footer-placeholder footer p,#footer-placeholder footer span,#footer-placeholder footer address,#footer-placeholder footer a,body > footer h4,body > footer p,body > footer span,body > footer address,body > footer a { color:rgba(255,255,255,.78) !important; }
#footer-placeholder footer h4,body > footer h4 { color:#fff !important; }
.footer-brand { display:flex; align-items:center; gap:.8rem; }
.footer-brand .belfort-brand-copy { min-width:145px; }
.footer-brand .belfort-brand-copy strong { font-size:1.5rem; }

/* Cookies and utilities */
#cookie-banner,#cookie-settings-modal,#cookie-settings-modal > div { color:#fff !important; background:rgba(7,42,66,.98) !important; }
#cookie-banner .text-white,#cookie-settings-modal .text-white,#cookie-settings-modal .text-gray-400,#cookie-settings-modal .text-gray-500 { color:#fff !important; }
#backToTop { color:#fff !important; background:var(--belfort-red) !important; border-color:rgba(255,255,255,.3) !important; }

@media (max-width:1024px) {
  .home-category-strip { grid-template-columns:repeat(4,1fr); }
  .hero-offer-band { right:2.5%; left:2.5%; }
  .hero-offer-band { grid-template-columns:minmax(0,1fr) minmax(220px,280px) auto; gap:.8rem; }
  .hero-offer-band > .offer-cta { padding:.8rem .9rem; }
  .home-values { grid-template-columns:repeat(2,1fr); row-gap:1.25rem; }
  .home-values > div:nth-child(2) { border-right:0; }
}

@media (max-width:768px) {
  body:has(> .promo-ticker) { padding-top:112px !important; }
  .promo-ticker { height:36px !important; }
  .promo-ticker-track span { overflow:hidden; padding:0 .55rem !important; font-size:.61rem !important; letter-spacing:.015em !important; text-overflow:ellipsis; white-space:nowrap; }
  #header-placeholder nav[data-purpose="main-navigation"] { top:36px !important; height:76px; }
  body:not(:has(> .promo-ticker)) #header-placeholder nav[data-purpose="main-navigation"] { top:0 !important; }
  #header-placeholder nav[data-purpose="main-navigation"] .h-24 { height:76px !important; }
  .belfort-checker { width:32px; height:32px; background-size:16px 16px; }
  .belfort-brand-copy { min-width:125px; }
  .belfort-brand-copy strong { font-size:1.3rem; }
  .belfort-brand-copy small,.belfort-brand-copy em { font-size:.38rem; }
  .promo-ticker + section { min-height:750px !important; height:auto !important; padding-bottom:230px; align-items:flex-start; }
  .promo-ticker + section > .absolute.inset-0 img { object-position:64% center !important; }
  .promo-ticker + section > .absolute.inset-0 > div { background:linear-gradient(180deg,rgba(249,244,235,.92) 0%,rgba(249,244,235,.75) 49%,rgba(249,244,235,.05) 76%),linear-gradient(90deg,rgba(249,244,235,.76),transparent 80%) !important; }
  .promo-ticker + section > .relative.z-10 { width:calc(100% - 2rem); padding-top:2.4rem !important; }
  .promo-ticker + section h1 { width:100%; font-size:clamp(2.45rem,12vw,3.6rem) !important; }
  .promo-ticker + section h1::before { font-size:.56rem; letter-spacing:.19em; }
  .promo-ticker + section h1 span { font-size:1.35rem !important; }
  .promo-ticker + section p { width:100%; max-width:450px; font-size:.9rem !important; }
  .promo-ticker + section .flex.flex-col.sm\:flex-row { width:min(100%,330px); align-items:stretch !important; }
  .promo-ticker + section .flex.flex-col.sm\:flex-row a,.promo-ticker + section .flex.flex-col.sm\:flex-row a[href="bestellung.html"] { width:100% !important; min-width:0; }
  .promo-ticker + section .flex.flex-col.sm\:flex-row a:not([href="bestellung.html"]) { display:none; }
  .hero-offer-band { right:.75rem; left:.75rem; min-height:224px; grid-template-columns:1fr; gap:.65rem; padding:1rem .85rem .8rem; border-radius:15px 15px 0 0; }
  .offer-eyebrow { font-size:.48rem; letter-spacing:.09em; }
  .offer-message strong { font-size:1.7rem; }
  .offer-subline { font-size:.7rem; }
  .offer-home-benefit { min-height:57px; gap:.65rem; padding:.4rem .65rem; }
  .offer-home-icon { width:42px; height:42px; }
  .offer-home-icon svg { width:25px; height:25px; }
  .offer-home-copy strong { font-size:.78rem; }
  .offer-home-copy small { font-size:.62rem; }
  .hero-offer-band > .offer-cta { width:100%; min-height:42px; font-size:.68rem; }
  .home-category-strip { width:calc(100% - 1rem); grid-template-columns:repeat(4,1fr); gap:.3rem; }
  .home-category-strip a { min-height:68px; padding:.45rem .2rem; font-size:.56rem; }
  .home-specialties { padding:2.8rem 1rem 3rem; }
  .specialties-heading { align-items:flex-start; flex-direction:column; }
  .specialty-grid { grid-template-columns:1fr; }
  .specialty-card > img { height:230px; }
  .home-values { width:calc(100% - 2rem); grid-template-columns:1fr 1fr; gap:1rem 0; }
  .home-values > div { padding:0 .7rem; }
  .home-values .material-symbols-outlined { font-size:1.7rem; }
  .home-values strong { font-size:.78rem; }
  .home-values small { font-size:.56rem; }
  body > section.py-28,#reservation,#reviews,#menu { width:calc(100% - 1rem); padding:2.4rem 1.1rem !important; border-radius:13px; }
  .croatia-order-benefits,.checkout-benefit-banner { padding:.55rem; }
  .croatia-order-benefits > span,.checkout-benefit-banner > span { gap:.35rem; font-size:.59rem; letter-spacing:.035em; }
  .home-coast-signoff { min-height:250px; }
}

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

@media print {
  html,body { color:#000 !important; background:#fff !important; }
  .promo-ticker,.home-category-strip,.home-values,.home-coast-signoff,.croatia-order-benefits,.checkout-benefit-banner { display:none !important; }
}
