/* PizzaArriva Layout A · warm, hell und bestellorientiert · 2026-09-19 */

body.layout-a-home,
body.order-page {
  --pa-cream:#fff7ea;
  --pa-cream-2:#f6efe4;
  --pa-paper:#ffffff;
  --pa-ink:#202020;
  --pa-muted:#6f675e;
  --pa-red:#e52421;
  --pa-red-dark:#b91c1c;
  --pa-orange:#f3a72b;
  --pa-green:#21853b;
  --pa-gold:#d5ab58;
  --pa-line:#eadfce;
  --pa-shadow:0 20px 55px rgba(73,47,22,.13);
  --bg:var(--pa-cream);
  --surface:var(--pa-paper);
  --surface-2:var(--pa-cream-2);
  --card:var(--pa-paper);
  --text:var(--pa-ink);
  --muted:var(--pa-muted);
  --soft:#8b8177;
  --accent:var(--pa-red);
  --accent-dark:var(--pa-red-dark);
  --accent-2:var(--pa-orange);
  --cream:var(--pa-cream);
  --green:var(--pa-green);
  --line:var(--pa-line);
  --shadow:var(--pa-shadow);
  color:var(--pa-ink);
  background:
    radial-gradient(circle at 6% 3%, rgba(229,36,33,.07), transparent 24rem),
    radial-gradient(circle at 92% 12%, rgba(243,167,43,.10), transparent 25rem),
    var(--pa-cream);
}

body.layout-a-home button,
body.order-page button { font-family:inherit; }

body.layout-a-home .topbar,
body.order-page .topbar {
  min-height:84px;
  padding:9px clamp(14px,2.5vw,40px);
  background:rgba(27,27,27,.96);
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:0 12px 34px rgba(0,0,0,.18);
  backdrop-filter:blur(18px);
}

body.layout-a-home .brand,
body.order-page .brand { flex:0 0 auto; gap:11px; }

body.layout-a-home .brand-logo,
body.order-page .brand-logo {
  width:clamp(210px,18vw,300px);
  height:auto;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.28));
  display:block;
}

body.layout-a-home .topnav { gap:clamp(11px,1.35vw,22px); color:#f5eee5; }
body.layout-a-home .topnav a { position:relative; white-space:nowrap; }
body.layout-a-home .topnav a::after {
  content:""; position:absolute; left:0; right:100%; bottom:-8px; height:3px;
  border-radius:99px; background:var(--pa-red); transition:right .2s ease;
}
body.layout-a-home .topnav a:hover::after { right:0; }

.nav-alcastello {
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  border:1px solid rgba(213,171,88,.56); color:#f7d997;
  border-radius:999px; padding:10px 14px; font-size:12px; font-weight:900;
  white-space:nowrap; background:rgba(213,171,88,.08);
}
.nav-alcastello:hover { background:rgba(213,171,88,.17); }

body.layout-a-home .nav-order,
body.order-page .nav-order {
  border:0; background:linear-gradient(135deg,var(--pa-red),#f3352f); color:#fff;
  border-radius:14px; padding:13px 18px; font-weight:950; white-space:nowrap;
  box-shadow:0 12px 28px rgba(229,36,33,.30);
}

body.layout-a-home .lang-switch { border-color:rgba(255,255,255,.16); }

/* Startbereich */
body.layout-a-home .home-hero {
  min-height:650px;
  display:block;
  background:linear-gradient(115deg,#fffaf2 0%,#fff4e3 48%,#f7ead6 100%);
  overflow:hidden;
}
body.layout-a-home .home-hero::after,
body.layout-a-home .home-bg { display:none; }
body.layout-a-home .home-hero-inner {
  width:min(1440px,calc(100% - 54px));
  min-height:650px;
  margin:0 auto;
  padding:48px 0 76px;
  display:grid;
  grid-template-columns:minmax(430px,.85fr) minmax(520px,1.15fr);
  align-items:center;
  gap:48px;
}
body.layout-a-home .hero-copy { position:relative; z-index:2; }
body.layout-a-home .eyebrow,
body.layout-a-home .section-label,
body.order-page .section-label {
  color:var(--pa-red);
  letter-spacing:.13em;
  font-weight:950;
}
body.layout-a-home .home-hero h1 {
  margin:0;
  color:var(--pa-ink);
  /* Passt sich automatisch an die linke Textspalte an und bleibt vor dem Bild. */
  font-size:clamp(64px,8vw,124px);
  line-height:.86;
  letter-spacing:-.065em;
  white-space:nowrap;
  max-width:100%;
  overflow:hidden;
  text-shadow:none;
}
body.layout-a-home .hero-subline {
  max-width:660px;
  margin:26px 0 0;
  color:#514a43;
  font-size:clamp(18px,1.7vw,24px);
}
body.layout-a-home .hero-actions { justify-content:flex-start; margin-top:31px; }
body.layout-a-home .primary-cta {
  border:0; background:linear-gradient(135deg,var(--pa-red),#f43832); color:#fff;
  box-shadow:0 16px 38px rgba(229,36,33,.28);
}
body.layout-a-home .primary-cta:hover { transform:translateY(-1px); filter:brightness(1.03); }
body.layout-a-home .secondary-cta {
  border:1px solid #d8cbbb; color:var(--pa-ink); background:rgba(255,255,255,.76);
}
body.layout-a-home .trust-row { justify-content:flex-start; }
body.layout-a-home .trust-row span {
  border:1px solid #e2d5c4; background:rgba(255,255,255,.76); color:#50483f;
  box-shadow:0 8px 22px rgba(86,57,25,.06);
}
.hero-food-media {
  position:relative;
  min-height:520px;
  border-radius:42px;
  overflow:hidden;
  background-color:#c7481d;
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.02),rgba(0,0,0,.16)),
    url('https://images.unsplash.com/photo-1574071318508-1cdbab80d002?auto=format&fit=crop&w=1600&q=88');
  background-size:cover;
  background-position:center;
  box-shadow:0 34px 70px rgba(85,44,18,.23);
}
.hero-food-media::after {
  content:""; position:absolute; inset:0;
  border:1px solid rgba(255,255,255,.46); border-radius:inherit;
  box-shadow:inset 0 -100px 110px rgba(0,0,0,.16);
}
.hero-food-note {
  position:absolute; right:25px; top:24px; z-index:2;
  padding:11px 15px; border-radius:999px;
  background:rgba(255,255,255,.90); color:#26211d;
  font-size:18px; font-weight:950; transform:rotate(-3deg);
  box-shadow:0 12px 32px rgba(0,0,0,.14);
}

/* Standortwahl auf der Startseite */
.home-order-panel {
  position:relative; z-index:6;
  width:min(1440px,calc(100% - 44px)); margin:-44px auto 0;
  padding:24px;
  display:grid;
  grid-template-columns:minmax(250px,.86fr) minmax(560px,2fr) minmax(235px,.78fr);
  gap:16px; align-items:stretch;
  border:1px solid var(--pa-line); border-radius:28px;
  background:rgba(255,255,255,.96); box-shadow:var(--pa-shadow);
}
.home-order-heading { display:flex; align-items:flex-start; gap:13px; padding:9px 6px; }
.home-order-heading h2 { font-size:clamp(29px,3vw,43px); }
.home-order-heading p:not(.section-label) { margin:8px 0 0; color:var(--pa-muted); line-height:1.45; }
.home-order-pin {
  flex:0 0 auto; width:38px; height:38px; display:grid; place-items:center;
  border-radius:50% 50% 50% 10%; transform:rotate(-45deg);
  background:var(--pa-red); color:#fff; font-size:13px;
}
.home-order-pin::first-letter { transform:rotate(45deg); }
.home-store-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.home-store-card {
  border:1px solid #eadfce; border-radius:19px; padding:10px 12px;
  display:grid; grid-template-columns:86px minmax(0,1fr) 28px; align-items:center; gap:12px;
  min-height:106px; text-align:left; background:#fff; color:var(--pa-ink);
  box-shadow:0 12px 28px rgba(68,42,15,.07); cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.home-store-card:hover { transform:translateY(-3px); border-color:#efb8b5; box-shadow:0 18px 34px rgba(68,42,15,.12); }
.home-store-card-image {
  width:86px; height:68px; object-fit:cover; border-radius:11px; display:block;
  background:#f4efe8; border:1px solid #eee3d4;
}
.home-store-card-image-empty { background:linear-gradient(145deg,#f7f2eb,#eee5d8); }
.home-store-card-copy { min-width:0; display:flex; flex-direction:column; gap:3px; }
.home-store-card-copy strong { font-size:19px; line-height:1.15; color:var(--pa-ink); }
.home-store-card-copy > span { color:var(--pa-muted); font-size:12px; line-height:1.25; }
.home-store-card small { display:flex; align-items:center; gap:6px; color:var(--pa-green); font-size:12px; font-weight:900; line-height:1.2; }
.home-store-card small.closed { color:var(--pa-red); }
.home-store-card small::before { content:""; width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:currentColor; }
.home-store-card-arrow { color:var(--pa-ink)!important; font-size:28px!important; line-height:1; text-align:center; }
.home-store-loading { grid-column:1/-1; display:grid; place-items:center; color:var(--pa-muted); }
.home-address-order {
  border:1px solid #eadfce; border-radius:19px; padding:16px;
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:11px;
  background:linear-gradient(145deg,#fff8ec,#f9ead2); color:var(--pa-ink); text-align:left;
}
.home-address-order > span:first-child { font-size:28px; color:var(--pa-red); }
.home-address-order strong,.home-address-order small { display:block; }
.home-address-order small { margin-top:4px; color:var(--pa-muted); line-height:1.3; }
.home-address-order > span:last-child { color:var(--pa-red); font-size:23px; }

/* Speisekarten-Vorschau */
.home-category-preview {
  width:min(1320px,calc(100% - 44px)); margin:68px auto 0;
}
.layout-a-section-head { max-width:760px; }
.layout-a-section-head > p:not(.section-label) { color:var(--pa-muted); line-height:1.6; }
.home-category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:17px; margin-top:25px; }
.home-category-card {
  position:relative; isolation:isolate; overflow:hidden; min-height:245px;
  border:0; border-radius:25px; padding:22px;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end;
  color:#fff; text-align:left; background-size:cover; background-position:center;
  box-shadow:0 20px 48px rgba(65,39,13,.16); transition:transform .2s ease;
}
.home-category-card::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.03) 25%,rgba(0,0,0,.82) 100%);
}
.home-category-card:hover { transform:translateY(-4px); }
.home-category-card span { font-size:32px; line-height:1; font-weight:950; text-shadow:0 4px 20px rgba(0,0,0,.5); }
.home-category-card small { margin-top:8px; font-size:14px; font-weight:800; color:rgba(255,255,255,.90); }
.home-category-card.pizza { background-image:url('https://images.unsplash.com/photo-1574071318508-1cdbab80d002?auto=format&fit=crop&w=900&q=82'); }
.home-category-card.panini { background-image:url('https://images.unsplash.com/photo-1528735602780-2552fd46c7af?auto=format&fit=crop&w=900&q=82'); }
.home-category-card.burger { background-image:url('https://images.unsplash.com/photo-1568901346375-23c9450c58cd?auto=format&fit=crop&w=900&q=82'); }
.home-category-card.salate { background-image:url('https://images.unsplash.com/photo-1540420773420-3366772f4999?auto=format&fit=crop&w=900&q=82'); }

/* Bestehende Homepage-Bereiche in der hellen Designsprache */
body.layout-a-home .info-band { margin-top:44px; }
body.layout-a-home .info-card,
body.layout-a-home .gallery-section,
body.layout-a-home .site-footer {
  border-color:var(--pa-line); background:#fff; color:var(--pa-ink); box-shadow:var(--pa-shadow);
}
body.layout-a-home .muted { color:var(--pa-muted); }
body.layout-a-home .badge-soft { background:#fff1cf; color:#9a6411; }
body.layout-a-home .gallery-section { margin-top:28px; }
body.layout-a-home .pa-gallery-panel {
  border-color:#e9dece!important; background:#fbf7f1!important; box-shadow:0 18px 46px rgba(67,43,20,.10)!important;
}
body.layout-a-home .pa-gallery-title { color:var(--pa-ink); }
body.layout-a-home .pa-gallery-title small { color:var(--pa-muted); }
body.layout-a-home .homepage-feature-grid { margin-top:34px!important; }
body.layout-a-home .homepage-feature-card { box-shadow:0 22px 56px rgba(55,34,15,.18)!important; }
body.layout-a-home .home-card-btn {
  border:0; border-radius:999px; padding:12px 17px; background:#fff; color:#222; font-weight:950;
}

.alcastello-spotlight {
  width:min(1260px,calc(100% - 40px)); margin:38px auto;
  min-height:420px; display:grid; grid-template-columns:1.08fr .92fr;
  overflow:hidden; border-radius:30px; border:1px solid rgba(213,171,88,.38);
  background:#17130f; color:#fff; box-shadow:0 28px 75px rgba(54,35,16,.24);
}
.alcastello-spotlight-media {
  min-height:420px;
  background:
    linear-gradient(90deg,rgba(23,19,15,.05),rgba(23,19,15,.54)),
    url('/uploads/schloss-hirschhorn1-1784406602221.jpg') center/cover no-repeat;
}
.alcastello-spotlight-content { padding:38px clamp(28px,4vw,58px); display:flex; flex-direction:column; justify-content:center; }
.alcastello-spotlight-content img { width:min(150px,45%); max-height:130px; object-fit:contain; margin-bottom:15px; filter:drop-shadow(0 12px 30px rgba(0,0,0,.35)); }
.alcastello-spotlight-content .section-label { color:#e1bd70; }
.alcastello-spotlight-content h2 { color:#fff; }
.alcastello-spotlight-content > p:not(.section-label) { color:#e8ded1; line-height:1.65; }
.alcastello-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:19px; }
.alcastello-primary,.alcastello-secondary { border-radius:999px; padding:13px 18px; font-weight:950; }
.alcastello-primary { background:#d7ae5b; color:#19130d; }
.alcastello-secondary { border:1px solid rgba(255,255,255,.25); color:#fff; }

body.layout-a-home .site-footer {
  margin-top:28px; background:#1b1b1b; color:#fff; border-color:#303030; box-shadow:none;
}
body.layout-a-home .site-footer p,
body.layout-a-home .legal-strip { color:#d6cec4; }
body.layout-a-home .legal-strip a { border-color:#3d3d3d; background:#252525; }

/* Bestellstart-Dialog */
.home-order-modal {
  position:fixed; inset:0; z-index:400; padding:22px;
  display:grid; place-items:center; overflow:auto;
  background:rgba(20,16,12,.72); backdrop-filter:blur(8px);
}
.home-order-modal.hidden,.home-pickup-panel.hidden,.home-delivery-form.hidden { display:none!important; }
.home-order-dialog {
  position:relative; width:min(760px,100%); max-height:calc(100vh - 44px); overflow:auto;
  padding:32px; border-radius:28px; background:#fffdf8; color:var(--pa-ink);
  border:1px solid #eadfce; box-shadow:0 38px 100px rgba(0,0,0,.30);
}
.home-order-close {
  position:absolute; right:17px; top:16px; width:40px; height:40px;
  border:1px solid #ded3c5; border-radius:50%; background:#fff; color:#222; font-size:25px;
}
.home-order-dialog h2 { padding-right:42px; }
.home-order-dialog-intro { color:var(--pa-muted); line-height:1.55; }
.home-order-type {
  display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:6px; margin:22px 0;
  border-radius:17px; background:#f2eadf;
}
.home-order-type button { border:0; border-radius:13px; padding:14px; background:transparent; color:#645d55; font-weight:950; }
.home-order-type button.active { background:var(--pa-red); color:#fff; box-shadow:0 9px 22px rgba(229,36,33,.22); }
.home-delivery-form { display:grid; gap:14px; }
.home-address-grid { display:grid; gap:12px; }
.home-address-grid.street { grid-template-columns:1fr 145px; }
.home-address-grid.city { grid-template-columns:155px 1fr; }
.home-address-grid label { display:grid; gap:7px; color:#504a43; font-size:13px; font-weight:900; }
.home-address-grid input {
  width:100%; border:1px solid #dcd0c1; background:#fff; color:#222;
  border-radius:13px; padding:13px 14px; outline:none;
}
.home-address-grid input:focus { border-color:#e7625e; box-shadow:0 0 0 4px rgba(229,36,33,.09); }
.home-order-form-actions { display:flex; justify-content:space-between; align-items:center; gap:11px; flex-wrap:wrap; }
.home-location-button { border:1px solid #d9cebf; border-radius:13px; padding:13px 15px; background:#fff; color:#333; font-weight:900; }
.home-order-form-actions .primary-cta { padding:14px 18px; border-radius:13px; }
.home-order-privacy { margin:0; color:#81776d; font-size:12px; line-height:1.45; }
.home-pickup-panel > p { color:var(--pa-muted); }
.home-customer-form { display:grid; gap:12px; margin-bottom:18px; }
.home-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.home-customer-form label { display:grid; gap:7px; color:#504a43; font-size:13px; font-weight:900; }
.home-customer-form input {
  width:100%; border:1px solid #dcd0c1; background:#fff; color:#222;
  border-radius:13px; padding:13px 14px; outline:none;
}
.home-customer-form input:focus { border-color:#e7625e; box-shadow:0 0 0 4px rgba(229,36,33,.09); }
.home-pickup-stores { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.home-pickup-store {
  border:1px solid #e3d8c9; border-radius:16px; padding:16px; background:#fff; color:#222; text-align:left;
}
.home-pickup-store strong,.home-pickup-store span { display:block; }
.home-pickup-store span { margin-top:5px; color:var(--pa-muted); font-size:12px; }
.home-order-result { margin-top:15px; }
.home-order-result:not(:empty) { border:1px solid #e2d8ca; border-radius:16px; padding:15px; background:#fff8ee; }
.home-order-result.success { border-color:#a9d7b6; background:#effaf2; }
.home-order-result.error { border-color:#f0b5b2; background:#fff1f0; color:#941e1b; }
.home-order-result p { margin:0; line-height:1.45; }
.home-order-result button { margin-top:11px; border:0; border-radius:12px; padding:12px 15px; background:var(--pa-red); color:#fff; font-weight:950; }

/* Standortauswahl und Shop */
body.order-page { min-height:100vh; }
body.order-page .order-app-main { padding-top:34px; }
body.order-page .back-home {
  border-color:rgba(255,255,255,.18); color:#fff; background:rgba(255,255,255,.07);
}
body.order-page .brand-stack { display:grid; color:#fff; }
body.order-page .brand-stack .brand-text { color:#fff; font-size:12px; }
body.order-page .brand-stack strong { color:#f8c664; }
body.order-page .order-entry { align-items:center; gap:28px; }
body.order-page .order-intro { color:var(--pa-ink); }
body.order-page .order-intro h2 { color:var(--pa-ink); }
body.order-page .muted { color:var(--pa-muted); }
body.order-page .address-finder,
body.order-page .card,
body.order-page .menu-shell,
body.order-page .checkout-card {
  border-color:var(--pa-line); background:#fff; color:var(--pa-ink); box-shadow:var(--pa-shadow);
}
body.order-page input,
body.order-page textarea,
body.order-page select {
  border-color:#dcd1c2; background:#fff; color:#222;
}
body.order-page input::placeholder,
body.order-page textarea::placeholder { color:#8c8278; }
body.order-page .address-row button { background:var(--pa-red); }
body.order-page .location-select-card { border-radius:27px; }
body.order-page .store-grid { gap:15px; }
body.order-page .store-tile {
  border:1px solid #e4d9ca; background:#fff; color:#222; box-shadow:0 13px 32px rgba(68,42,15,.08);
}
body.order-page .store-tile.is-open { border-color:#a8d8b5; }
body.order-page .store-tile.is-closed { border-color:#efc0bd; background:#fffafa; }

body.order-page.shop-page { background:var(--pa-cream); }
body.order-page .shop-main { padding-bottom:80px; }
body.order-page .compact-store-head {
  max-width:1260px; min-height:190px; margin:25px auto 0; padding:30px;
  border:1px solid var(--pa-line); border-radius:25px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 52%,rgba(255,247,234,.48) 100%),
    url('https://images.unsplash.com/photo-1574071318508-1cdbab80d002?auto=format&fit=crop&w=1500&q=82') center/cover;
  box-shadow:var(--pa-shadow);
}
body.order-page .compact-store-head h1 { color:var(--pa-ink); font-size:clamp(36px,5vw,66px); line-height:1; text-shadow:none; }
body.order-page .shop-store-logo { background:#fff; border:1px solid #ece2d4; }
body.order-page .layout { align-items:start; }
body.order-page .menu-head h2,
body.order-page .checkout-card h2,
body.order-page .customer-form h3 { color:var(--pa-ink); }
body.order-page .cat-tab {
  border-color:#e1d6c7; background:#fff; color:#2c2926; box-shadow:0 8px 18px rgba(70,44,17,.06);
}
body.order-page .cat-tab.active { border-color:var(--pa-red); background:var(--pa-red); color:#fff; box-shadow:0 10px 24px rgba(229,36,33,.20); }
body.order-page .cat-tab-image img { border-color:#fff; }
body.order-page .shop-product-card {
  border-color:#e5dbcd; background:#fff; color:var(--pa-ink); box-shadow:0 13px 34px rgba(67,43,20,.10);
}
body.order-page .shop-product-card .product-card-body {
  background:#fff!important; border-color:#eadfce!important; color:var(--pa-ink)!important;
  box-shadow:0 9px 24px rgba(69,43,17,.14)!important;
}
body.order-page .product-desc { color:var(--pa-muted); }
body.order-page .product-price-center > span:not(.price-dual) { color:var(--pa-red); }
body.order-page .product-price-center .price-dual { background:#fff7ea; border-color:#edc8a2; }
body.order-page .product-price-center .price-dual strong { color:var(--pa-red); }
body.order-page .product-price-center .price-dual s { color:#8b8178; }
body.order-page .checkout-card { top:102px; }
body.order-page .fulfillment-toggle { background:#f1e9de; border-color:#e0d5c6; }
body.order-page .fulfillment-toggle button { color:#5f574f; }
body.order-page .fulfillment-toggle button.active { background:var(--pa-red); color:#fff; }
body.order-page .ghost { border-color:#ddd2c3; color:#4b4641; }
body.order-page .totals { border-color:#e2d7c8; background:#fff8ee; }
body.order-page .totals div { color:#635d56; }
body.order-page .totals strong,
body.order-page .total-line { color:var(--pa-ink)!important; }
body.order-page .cart-row { border-color:#ece2d5; }
body.order-page .cart-row small { color:var(--pa-muted); }
body.order-page .qty button { background:#282522; }
body.order-page .delivery-info-box { border-color:#edc687; background:#fff7e4; color:#38332e; }
body.order-page .delivery-info-box.ok { border-color:#abd8b7; background:#effaf2; }
body.order-page .delivery-info-box b { color:#a75e0b; }
body.order-page .delivery-info-box.ok b { color:#14753a; }
body.order-page .delivery-info-box span { color:#665e55; }
body.order-page .preorder-box { border-color:#e4d9cb; background:#fffaf3; }
body.order-page .mini-help,
body.order-page .privacy-check { color:var(--pa-muted); }
body.order-page .checkout-payment-box { border-color:#e4d9cb; background:#fffaf3; }
body.order-page .payment-method-grid button { color:var(--pa-ink); }
body.order-page .modal-card { background:#fffdf8; color:var(--pa-ink); border-color:#e4d9cb; }
body.order-page .modal-head,
body.order-page .modal-foot { background:#fffdf8; border-color:#e4d9cb; }
body.order-page .customizer-section { border-color:#e6dacb; background:#fffaf3; }
body.order-page .allergen-box { background:#fff6e8; border-color:#eadcc8; }
body.order-page .size-choice { background:#fff; border-color:#e2d6c6; color:#222; }
body.order-page .size-choice.active { background:#fff1df; border-color:var(--pa-red); }
body.order-page .extra-row { background:#fff; border-color:#e3d8ca; color:#222; }
body.order-page .step-btn { background:#272421; color:#fff; }
body.order-page .customizer-total-wrap strong { color:var(--pa-red); }
body.order-page .orderBtn { background:linear-gradient(135deg,var(--pa-red),var(--pa-red-dark)); }

@media (max-width:1280px) {
  body.layout-a-home .topnav { display:none; }
  body.layout-a-home .lang-switch { display:none; }
  .home-order-panel { grid-template-columns:1fr 2fr; }
  .home-address-order { grid-column:1/-1; }
}

@media (max-width:1020px) {
  body.layout-a-home .home-hero-inner { grid-template-columns:1fr; gap:28px; padding-top:45px; }
  body.layout-a-home .hero-copy { text-align:center; }
  body.layout-a-home .hero-subline { margin-left:auto; margin-right:auto; }
  body.layout-a-home .hero-actions,
  body.layout-a-home .trust-row { justify-content:center; }
  .hero-food-media { min-height:390px; }
  .home-order-panel { margin-top:-30px; grid-template-columns:1fr; }
  .home-store-cards { grid-template-columns:repeat(3,1fr); }
  .home-category-grid { grid-template-columns:repeat(2,1fr); }
  .alcastello-spotlight { grid-template-columns:1fr; }
  .alcastello-spotlight-media { min-height:330px; }
  body.order-page .nav-alcastello { display:none; }
}

@media (max-width:760px) {
  body.layout-a-home .topbar,
  body.order-page .topbar { min-height:82px; padding:6px 10px; }
  body.layout-a-home .brand,
  body.order-page .brand { min-width:0; flex:1 1 auto; overflow:hidden; }
  body.layout-a-home .brand-logo,
  body.order-page .brand-logo {
    width:min(190px,58vw);
    height:auto;
    max-width:100%;
    padding:0;
    object-fit:contain;
    object-position:left center;
    background:transparent;
    border-radius:0;
    box-shadow:none;
    display:block;
  }
  body.layout-a-home .nav-alcastello { display:none; }
  body.layout-a-home .nav-order { padding:11px 13px; font-size:13px; }
  body.layout-a-home .home-hero-inner {
    width:100%; max-width:720px; min-height:auto; padding:36px 14px 62px;
    box-sizing:border-box; gap:24px;
  }
  body.layout-a-home .hero-copy { min-width:0; width:100%; max-width:100%; overflow:hidden; }
  body.layout-a-home .home-hero h1 {
    width:100%; max-width:100%; font-size:clamp(46px,17vw,72px);
    line-height:.9; letter-spacing:-.055em; white-space:nowrap; overflow:hidden;
  }
  body.layout-a-home .hero-subline { font-size:17px; }
  body.layout-a-home .hero-actions { display:grid; width:100%; }
  body.layout-a-home .primary-cta.big-cta { width:100%; max-width:none; }
  .hero-food-media { min-height:290px; border-radius:26px; }
  .hero-food-note { right:14px; top:14px; font-size:14px; }
  .home-order-panel { width:calc(100% - 24px); padding:17px; border-radius:22px; }
  .home-store-cards { grid-template-columns:1fr; }
  .home-store-card { min-height:96px; grid-template-columns:78px minmax(0,1fr) 26px; padding:9px 10px; }
  .home-store-card-image { width:78px; height:62px; }
  .home-store-card-copy strong { font-size:18px; }
  .home-category-preview { width:calc(100% - 24px); margin-top:50px; }
  .home-category-grid { grid-template-columns:1fr 1fr; gap:11px; }
  .home-category-card { min-height:175px; padding:16px; border-radius:19px; }
  .home-category-card span { font-size:25px; }
  .home-category-card small { font-size:12px; }
  body.layout-a-home .info-band { margin-top:32px; }
  .alcastello-spotlight { width:calc(100% - 24px); border-radius:24px; }
  .alcastello-spotlight-media { min-height:245px; }
  .alcastello-spotlight-content { padding:27px 22px 31px; }
  .home-order-modal { padding:10px; align-items:end; }
  .home-order-dialog { padding:25px 17px 22px; border-radius:24px 24px 16px 16px; max-height:94vh; }
  .home-address-grid.street,
  .home-address-grid.city { grid-template-columns:1fr; }
  .home-order-form-actions { display:grid; grid-template-columns:1fr; }
  .home-order-form-actions button { width:100%; justify-content:center; }
  .home-contact-grid { grid-template-columns:1fr; }
  .home-pickup-stores { grid-template-columns:1fr; }
  body.order-page .order-entry { gap:14px; }
  body.order-page .compact-store-head { margin:14px 12px 0; padding:21px; min-height:150px; border-radius:20px; }
  body.order-page .layout { padding-left:12px; padding-right:12px; }
}

/* Smartphone-Stabilisierung: verhindert horizontales Abschneiden */
@media (max-width:760px) {
  html { width:100%; max-width:100%; overflow-x:hidden; }
  body.layout-a-home,
  body.order-page { width:100%; max-width:100%; overflow-x:hidden; }
  body.layout-a-home *,
  body.order-page * { box-sizing:border-box; min-width:0; }
  body.layout-a-home img,
  body.order-page img { max-width:100%; height:auto; }
  body.layout-a-home .topbar,
  body.order-page .topbar {
    width:100%; max-width:100%; display:flex; align-items:center;
    justify-content:space-between; gap:8px; overflow:hidden;
  }
  body.layout-a-home main,
  body.layout-a-home section,
  body.order-page main,
  body.order-page section { max-width:100%; }
  body.layout-a-home .home-hero { width:100%; max-width:100%; overflow:hidden; }
  body.layout-a-home .hero-food-media { width:100%; max-width:100%; min-width:0; }
  .home-order-panel,
  .home-category-preview,
  .alcastello-spotlight { max-width:calc(100% - 24px); }
  .home-store-cards,
  .home-store-card,
  .home-address-order { width:100%; max-width:100%; min-width:0; }
  .home-address-order { grid-template-columns:auto minmax(0,1fr) auto; }
  .home-address-order strong,
  .home-address-order small { overflow-wrap:anywhere; }
}

@media (max-width:460px) {
  .home-category-grid { grid-template-columns:1fr; }
  .home-category-card { min-height:190px; }
  body.layout-a-home .nav-order { font-size:0; width:44px; height:44px; border-radius:50%; padding:0; }
  body.layout-a-home .nav-order::after { content:"🛒"; font-size:18px; }
  body.order-page .brand-stack { display:none; }
}

/* Warenkorb und Kundendaten scrollen gemeinsam mit der Seite. */
body.order-page #checkout .checkout-card { position:static; top:auto; height:auto; max-height:none; overflow:visible; }
