/* One header on every route. Shared geometry wins over page-specific hero CSS.
   The Home curve and the five-tab app bar keep their own established artwork. */
.fc-site .fc-utility { background:#201719; color:#fff9f1; }
.fc-site .fc-utility-inner { min-height:2.4rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.fc-site .fc-utility p { margin:0; color:inherit; font-size:.76rem; }
.fc-site .fc-utility nav { display:flex; align-items:center; gap:1.4rem; }
.fc-site .fc-account-access { display:flex; align-items:center; gap:.8rem; }
.fc-site .fc-account-access [hidden] { display:none!important; }
.fc-site .fc-account-access a { min-width:44px; justify-content:center; }
.fc-site .fc-account-access a[aria-current] { color:var(--brand-yellow); }
.fc-site .fc-utility a { display:inline-flex; align-items:center; gap:.4rem; color:inherit; font-size:.74rem; white-space:nowrap; min-height:2.4rem; }
.fc-site .fc-utility a:not(:first-child) { text-transform:uppercase; letter-spacing:.06em; }
.fc-site .fc-utility .fc-icon { width:1rem; height:1rem; }
.fc-site .fc-utility nav>a:first-child .fc-icon { color:var(--brand-yellow); }
.fc-site .fc-header { position:sticky; top:0; border:0; background:var(--fc-header-bg,var(--fc-paper)); z-index:100; padding-top:0; }
.fc-site .fc-header-inner { display:flex; align-items:center; width:calc(100% - 3rem); max-width:var(--fc-max); margin:auto; min-height:5.5rem; height:auto; gap:1.7rem; padding:.5rem 0; }
.fc-site .fc-header .fc-logo { width:10.5rem; align-self:center; padding:0; }
.fc-site .fc-header .fc-logo img { max-height:4.5rem; }
.fc-site .fc-navigation { display:flex; flex:1; justify-content:center; gap:clamp(.8rem,1.7vw,1.8rem); }
.fc-site .fc-navigation>ul { display:flex; flex-wrap:nowrap; gap:inherit; }
.fc-site .fc-navigation a { font-size:.95rem; font-weight:600; padding:.8rem 0; }
.fc-site .fc-navigation a[aria-current] { position:relative; box-shadow:none; }
.fc-site .fc-navigation a[aria-current]::after { content:""; position:absolute; left:0; right:0; bottom:.1rem; height:3px; border-radius:3px; background:var(--brand-red); }
.fc-site .fc-header-actions { display:flex; align-items:center; gap:.5rem; margin-left:auto; }
.fc-site .fc-account-link { display:none; }
.fc-site .fc-header .fc-cart-link { width:2.75rem; height:2.75rem; color:#231413; background:var(--brand-yellow); }
.fc-site .fc-cart-link .fc-icon { width:1.5rem; height:1.5rem; }
.fc-site .fc-header-catering { display:inline-flex; justify-content:center; align-items:center; min-height:2.8rem; padding:.7rem 1.2rem; margin-left:.7rem; color:white; border-radius:3rem; font-size:.76rem; text-transform:uppercase; letter-spacing:.025em; white-space:nowrap; background-color:var(--brand-red-deep); background-image:var(--brand-paint-tile),var(--brand-paint); background-size:12rem,100%; }
.fc-site .fc-header-catering:hover { color:var(--brand-yellow); }
/* Installation stays available from the shared footer without covering content. */
.fc-site .app-install { display:none!important; }
.fc-site .fc-snapshot-notice { margin:1rem 0; padding:1rem; background:#fff1c4; border:1px solid #e3c876; border-radius:.8rem; font-size:.9rem; color:#4b350b; }
.fc-site .fc-snapshot-notice .fc-button { margin:.6rem .6rem 0 0; }
.fc-site [data-published-product] .fc-button { font-size:.8rem; }
.fc-site .fc-published-detail { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.fc-site .fc-published-detail img { width:100%; border-radius:1.25rem; }
@media (max-width:1199px) and (min-width:1024px) {
  .fc-site .fc-header-inner { gap:1rem; }
  .fc-site .fc-header .fc-logo { width:8rem; }
  .fc-site .fc-navigation { gap:.8rem; }
  .fc-site .fc-navigation a { font-size:.84rem; }
  .fc-site .fc-header .fc-search-link { display:none; }
  .fc-site .fc-header-catering { padding:.65rem .8rem; margin-left:.3rem; }
}
@media (max-width:1023px) {
  .fc-site .fc-utility-inner { justify-content:center; }
  .fc-site .fc-utility p { display:none; }
  .fc-site .fc-utility nav { justify-content:space-between; width:100%; max-width:36rem; gap:.5rem; }
  .fc-site .fc-utility .fc-utility-orders { display:none; } /* Orders remains in the app tab bar. */
  .fc-site .fc-utility a { min-height:2.75rem; font-size:.7rem; }
  .fc-site .fc-utility a { min-width:0; }
  .fc-site .fc-utility a:first-child { flex-shrink:0; }
  .fc-site .fc-utility a span { min-width:0; overflow:hidden; text-overflow:ellipsis; }
  .fc-site .fc-utility a .fc-icon,.fc-site .fc-utility a i { flex:none; }
  .fc-site .fc-header-inner { display:grid; grid-template-columns:1fr auto 1fr; width:100%; padding:.45rem 3.3%; min-height:4rem; gap:0; }
  .fc-site .fc-header>.fc-header-inner>.fc-logo { position:static; transform:none; width:clamp(8rem,25vw,11rem); }
  .fc-site .fc-header .fc-nav-toggle { display:inline-flex; }
  .fc-site .fc-nav-toggle .fc-icon { width:1.75rem; height:1.75rem; }
  .fc-site .fc-header .fc-search-link,.fc-site .fc-header-catering { display:none; }
  .fc-site .fc-header-actions { justify-self:end; }
  .fc-site .fc-header .fc-cart-link { background:transparent; }
  .fc-site .fc-header .fc-cart-link .fc-icon { width:1.8rem; height:1.8rem; }
  .fc-site .fc-navigation { display:none; position:absolute; inset:100% 0 auto; background:var(--fc-header-bg,var(--fc-paper)); padding:1rem; max-height:calc(100dvh - 12rem); overflow:auto; box-shadow:0 .7rem 1rem #2f140d22; }
  .fc-site .fc-navigation.is-open { display:block; }
  .fc-site .fc-navigation>ul { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
  .fc-site .fc-navigation a { padding:.8rem; font-size:1rem; border:1px solid var(--fc-line); border-radius:.65rem; }
  .fc-site .fc-navigation a[aria-current] { background:#fff0c7; color:var(--brand-red); }
  .fc-site .fc-navigation a[aria-current]::after { display:none; }
  .fc-site .fc-published-detail { grid-template-columns:1fr; }
}
@media (max-width:359px) {
  .fc-site .fc-utility a { font-size:.64rem; gap:.3rem; }
}
/* The inherited story uses the original photos and CMS copy slots, not mockup
   portraits. Neutralize theme animation-only visibility in the responsive shell. */
.fc-page-about .fc-legacy-content .section-padding { padding-block:3.5rem; }
.fc-page-about .fc-legacy-content .section-title h2 { font-family:"Signika","Signika",system-ui,sans-serif; font-size:clamp(2rem,3.8vw,3.5rem); line-height:1.12; }
.fc-page-about .fc-legacy-content .breadcrumb-wrapper { background:var(--brand-red-deep); }
.fc-page-about .fc-legacy-content .breadcrumb-wrapper>div:not(.container):not(.fc-cover-media) { display:none!important; }
.fc-page-about .fc-legacy-content .why-choose-us-section-4>.left-shape,
.fc-page-about .fc-legacy-content .why-choose-us-section-4>.right-shape { display:none; }
.fc-page-about .fc-legacy-content .float-bob-y { animation:none; }
.fc-page-about .fc-legacy-content .breadcrumb-sub-title { text-align:left; }
.fc-page-about .fc-legacy-content .breadcrumb-title { margin-inline:0; }
@media (min-width:1024px) {
  .fc-page-about .fc-legacy-content .breadcrumb-sub-title { justify-content:flex-start; }
}
/* Swiper is intentionally not required by the responsive shell. The same
   gallery photographs remain visible as a native grid instead of a dead slider. */
.fc-page-about .galler-slider { max-width:var(--fc-max); width:calc(100% - 3rem); margin:2rem auto; }
.fc-page-about .gallery-titming { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; transform:none; }
.fc-page-about .gallery-titming .swiper-slide { width:auto; min-width:0; }
.fc-page-about .gallery-block-one { padding:0; transform:none; border-radius:1rem; overflow:hidden; }
.fc-page-about .gallery-block-one img { width:100%; aspect-ratio:1.2; object-fit:cover; }
.fc-page-about .gallery-area>[class*="shape"] { display:none; }
.fc-page-about .testimonial-section-3:has([data-until-filled][hidden]) { display:none; }
.fc-page-about .instagram-section { display:none; } /* repeated decorative marquee; gallery above retains the food photography */
@media (max-width:767px) {
  .fc-site .fc-utility-inner { width:calc(100% - 1.5rem); }
  .fc-page-about .fc-legacy-content .section-padding { padding-block:2rem; }
  .fc-page-about .fc-legacy-content .breadcrumb-wrapper { padding:2rem 1rem; }
  .fc-page-about .gallery-titming { grid-template-columns:1fr; }
}
@media print { .fc-site .fc-utility { display:none; } }

/* Saved dishes use the existing product cards; only the heart is overlaid. */
.fc-site .fc-product,.fc-site .fc-detail-image { position:relative; }
.fc-site .fc-favorite { position:absolute; top:.65rem; right:.65rem; z-index:2; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #eaded6; border-radius:50%; background:#fffdf9; color:var(--brand-red); box-shadow:0 2px 10px #27130d18; }
.fc-site .fc-favorite .fc-icon { width:23px; height:23px; pointer-events:none; }
.fc-site .fc-favorite[aria-pressed="true"] .fc-icon { fill:currentColor; }
.fc-site .fc-favorite:focus-visible { outline:3px solid var(--brand-yellow); outline-offset:3px; }
.fc-site [data-favorite-status]:empty { display:none; }
@media (max-width:767px) {
  .fc-site .fc-favorites-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
  .fc-site .fc-favorites-grid .fc-product { display:flex; flex-direction:column; }
  .fc-site .fc-favorites-grid .fc-product-image { min-height:0; aspect-ratio:1.3; }
  .fc-site .fc-favorites-grid .fc-product-image img { height:100%; }
  .fc-site .fc-favorites-grid .fc-product-description { display:none; }
  .fc-site .fc-favorites-grid .fc-product-bottom { flex-wrap:wrap; }
}
@media (max-width:359px) { .fc-site .fc-favorites-grid { grid-template-columns:1fr; } }
