@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/heebo-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/heebo-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/heebo-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/heebo-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/heebo-4.ttf) format('truetype');
}


/* Gentle display-only correction; original pesto photo remains unchanged. */
img[src*="oct-pesto-special.jpeg"] { filter: brightness(1.13) contrast(1.03) saturate(1.06); }


/* Keep the whole focaccia photograph visible inside menu cards. */
img.photo[src*="house-focaccia"], img.photo[src*="oct-focaccia"] { object-fit: contain; background: #f4eee4; }

/* Compact order flow shared by desktop and mobile. */
.choice-step[hidden],.choice-back[hidden],.delivery-panel[hidden]{display:none!important}
.choice-progress{position:sticky;top:-30px;z-index:3;background:#faf6ee;padding:14px 0;margin:0;color:#75182e;font-weight:700}
.choice-step h3{font-size:22px;color:#75182e;margin:12px 0}
.choice-dock{position:sticky;bottom:-30px;background:#faf6ee;border-top:1px solid #d8c9b7;padding:12px 0 20px;z-index:3;box-shadow:0 -8px 14px #faf6ee}
.choice-dock .cart-total{margin:4px 0 10px;font-size:23px}
.choice-dock .cart-error:empty{display:none}
.choice-back{display:block;background:transparent;border:1px solid #c5b29a;border-radius:22px;padding:10px 20px;margin:10px auto 0;min-height:44px;color:#503b2e}
.cart-controls{flex-wrap:wrap}
.cart-controls [data-cart-edit]{flex-basis:100%;min-height:44px;color:#75182e;font-weight:700}
.checkout-summary{padding:20px;background:#f0e5d5;border-radius:16px;font-weight:700;line-height:1.8;color:#503b2e}
.order-message{white-space:pre-wrap;font:inherit;line-height:1.8;overflow-wrap:anywhere;background:white;padding:14px;border-radius:12px}
.whatsapp-ready{display:block;text-align:center;text-decoration:none}
.order-action:disabled{opacity:1;background:#e4ded4;color:#51473c;cursor:not-allowed}
.note,.order-path small{color:#62564a}
@media(max-width:650px){.delivery-fields{grid-template-columns:1fr}.choice-dock{padding-bottom:14px}.choice-progress{font-size:15px}.choice-step select{min-height:48px}}
#add-cart-form [hidden]{display:none!important}
dialog:has(.choice-progress){overflow-y:auto;overscroll-behavior:contain}
dialog:has(.choice-progress) #detail-body{height:auto;display:block;min-height:0}
dialog:has(.choice-progress) #detail-body>h2{flex:none;margin:10px 0}
form:has(.choice-progress){display:block;min-height:0;overflow:visible}
form:has(.choice-progress) .choice-progress{position:static;flex:none;padding:10px 0}
form:has(.choice-progress) .choice-step{overflow:visible;min-height:0;padding:0 2px}
form:has(.choice-progress) .choice-dock{position:static;padding:16px 0 0;margin-top:20px;box-shadow:none}
form:has(.choice-progress) .choice-back{margin-top:6px;padding:6px 18px}
