/* Opt-in footer based on the licensed theme artwork. Layout remains native HTML.
   Scoped separately so Home's cream footer rules and theme demo rules cannot bleed in. */
.fc-site .fc-footer.fc-heritage-footer {
  position:relative; isolation:isolate; margin:0; border:0; padding:clamp(7rem,10.4vw,12.5rem) 0 0;
  background:#190400; color:#fff; font:300 1rem/1.75 "Nunito","Nunito",system-ui,sans-serif;
}
.fc-heritage-footer .fc-hf-art { position:absolute; inset:0; overflow:hidden; z-index:-1; pointer-events:none; }
.fc-heritage-footer .fc-hf-art img { position:absolute; max-width:none; user-select:none; }
.fc-heritage-footer .fc-hf-background { inset:0; width:100%; height:100%; object-fit:cover; object-position:70% top; }
.fc-heritage-footer .fc-hf-edge { top:-1px; left:0; width:100%; height:clamp(2rem,6.35vw,7.6rem); }
.fc-heritage-footer .fc-hf-chili { left:0; top:20.83vw; width:10.31%; }
.fc-heritage-footer .fc-hf-tomato { right:0; top:12.5%; width:13.8%; }
.fc-heritage-footer .fc-hf-dish { right:0; bottom:3.5rem; width:7.7%; }
.fc-heritage-footer .fc-hf-sketch-left { left:0; top:16%; width:12.34%; }
.fc-heritage-footer .fc-hf-sketch-right { right:0; top:45%; width:6%; }
.fc-heritage-footer .fc-hf-leaf { left:50%; top:12.5%; width:15.26%; }
.fc-heritage-footer .fc-hf-container { width:calc(100% - 3rem); max-width:82.125rem; margin-inline:auto; }
.fc-heritage-footer .fc-hf-top { display:grid; grid-template-columns:200px 486fr 470fr; gap:clamp(2rem,4vw,5rem); align-items:start; }
.fc-heritage-footer .fc-hf-top>* { min-width:0; }
.fc-site .fc-heritage-footer a { font-size:inherit; }
.fc-site .fc-heritage-footer h2 { margin:0; color:#fff; font:300 1.75rem/1.2 "Signika","Signika",system-ui,sans-serif; letter-spacing:0; }
.fc-site .fc-heritage-footer .fc-hf-logo { display:block; width:200px; max-width:100%; align-self:start; margin-top:12px; min-height:0; }
.fc-heritage-footer .fc-hf-logo img { width:100%; height:auto; }
.fc-heritage-footer .fc-hf-form { margin-top:1.8rem; }
.fc-heritage-footer .fc-hf-email-row { display:flex; align-items:center; gap:.75rem; border-bottom:1px solid #a88e84; padding-bottom:4px; }
.fc-heritage-footer .fc-hf-email-row input { min-width:0; width:100%; min-height:56px; padding:10px 0; border:0; border-radius:0; background:transparent; color:#fff; }
.fc-heritage-footer .fc-hf-email-row input:focus { color:#fff; }
.fc-heritage-footer .fc-hf-email-row input::placeholder { color:#fff; opacity:1; }
.fc-heritage-footer .fc-hf-email-row button { flex:none; min-height:56px; padding:.75rem 2rem; border:0; border-radius:8px; background:var(--brand-yellow,#ffc222); color:#21120c; }
.fc-heritage-footer .fc-hf-email-row button:hover { background:#ffdc70; }
.fc-site .fc-heritage-footer .fc-hf-consent { font:400 .72rem/1.5 "Nunito","Nunito",system-ui,sans-serif; color:#d7c7c2; margin:.6rem 0 0; }
.fc-site .fc-heritage-footer .fc-hf-consent a { display:inline; min-height:0; text-decoration:underline; text-underline-offset:3px; }
.fc-site .fc-heritage-footer .fc-hf-app>p { color:#d7c7c2; margin:.2rem 0 .45rem; font-size:1rem; line-height:1.75; }
.fc-heritage-footer .fc-hf-app-actions { display:flex; gap:18px; flex-wrap:wrap; }
.fc-site .fc-heritage-footer .fc-hf-app-button { display:inline-flex; align-items:center; gap:12px; min-height:56px; min-width:196px; padding:8px 18px; background:#fff; color:#302c30; border:1px solid #ddd; border-radius:10px; text-align:left; line-height:1.15; }
.fc-heritage-footer .fc-hf-app-button i,.fc-heritage-footer .fc-hf-app-button svg { color:var(--brand-red); width:28px; height:28px; font-size:25px; flex:none; }
.fc-heritage-footer .fc-hf-app-button small { display:block; text-transform:uppercase; font-size:11px; color:#6c6864; letter-spacing:.025em; margin-bottom:2px; }
.fc-site .fc-heritage-footer .fc-hf-app-button:hover { background:#ffe095; color:#21120c; }
.fc-heritage-footer .fc-hf-columns { display:grid; grid-template-columns:1.12fr .86fr 1.12fr 1fr; gap:4rem; padding:5.5rem 0 4.5rem; }
.fc-heritage-footer .fc-hf-columns>section { min-width:0; }
.fc-site .fc-heritage-footer .fc-hf-columns h2 { margin-bottom:2rem; }
.fc-heritage-footer .fc-hf-columns h2::after { content:""; display:block; width:64px; margin-top:16px; border-bottom:4px dashed var(--brand-yellow,#ffc222); }
.fc-heritage-footer ul { list-style:none; margin:0; padding:0; }
.fc-heritage-footer .opening-hours-list li { margin:0 0 1rem; }
.fc-heritage-footer .opening-hours-list span { color:var(--brand-yellow,#ffc222); }
.fc-heritage-footer .dsf-follow { display:block; color:var(--brand-yellow,#ffc222); font-size:.85rem; text-transform:uppercase; margin-top:2rem; }
.fc-heritage-footer .social-icon { gap:10px; flex-wrap:wrap; margin-top:10px; }
.fc-site .fc-heritage-footer .social-icon a { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-height:44px; border-radius:50%; background:#921f15; color:var(--brand-yellow,#ffc222); }
.fc-site .fc-heritage-footer .social-icon a:hover { background:var(--brand-yellow); color:#42100a; }
.fc-site .fc-heritage-footer .fc-hf-products a { display:flex; gap:6px; min-height:40px; align-items:center; }
.fc-heritage-footer .fc-hf-products a>span { font:300 1.6rem/1 "Nunito",system-ui,sans-serif; }
.fc-site .fc-heritage-footer .fc-hf-columns a:hover { color:var(--brand-yellow,#ffc222); }
.fc-heritage-footer .fc-hf-post { display:grid; grid-template-columns:69px minmax(0,1fr); gap:18px; margin-bottom:16px; align-items:start; }
.fc-site .fc-heritage-footer .fc-hf-post>a { display:block; min-height:0; }
.fc-heritage-footer .fc-hf-post img { width:69px; height:69px; object-fit:cover; border-radius:4px; }
.fc-heritage-footer .fc-hf-post [data-post="date"] { display:block; font-size:14px; color:var(--brand-yellow,#ffc222); }
.fc-site .fc-heritage-footer .fc-hf-post [data-post="title"] { display:block; min-height:44px; font-size:15px; line-height:1.65; }
.fc-site .fc-heritage-footer .fc-hf-contact>p { margin:0 0 1.4rem; font-size:1rem; line-height:1.75; }
.fc-heritage-footer address { font:inherit; margin:0; }
.fc-site .fc-heritage-footer .fc-hf-contact address a { display:flex; align-items:flex-start; gap:14px; min-height:36px; font-size:1rem; }
.fc-heritage-footer .fc-hf-contact address span { min-width:0; overflow-wrap:anywhere; }
.fc-heritage-footer address .fc-icon { color:var(--brand-yellow,#ffc222); width:17px; height:22px; margin-top:3px; }
.fc-site .fc-heritage-footer .fc-hf-contact .fc-hf-address { margin-top:1.4rem; }
.fc-heritage-footer .fc-hf-bottom { border-top:1px solid #ffffff45; background-color:var(--brand-red-deep); background-image:var(--brand-paint-tile),var(--brand-footer-paint,var(--brand-paint)); background-size:180px 180px,auto; }
.fc-heritage-footer .fc-hf-bottom>.fc-hf-container { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:56px; padding-block:8px; }
.fc-site .fc-heritage-footer .fc-hf-bottom p { font-size:14px; margin:0; }
.fc-heritage-footer .fc-hf-bottom nav .dsf-policy-links { gap:12px; }
.fc-site .fc-heritage-footer .fc-hf-bottom a { font-size:14px; min-height:40px; display:inline-flex; align-items:center; }
.fc-heritage-footer .fc-hf-payments { width:200px; height:auto; object-fit:contain; }
/* Home's footer links also use flex. Center explicitly on both axes rather than
   relying on grid-only justify-items from place-items. */
.fc-site .fc-heritage-footer .fc-hf-to-top { position:absolute; bottom:30px; right:30px; display:flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:12px; background:var(--brand-yellow,#ffc222); color:#21120c; }
.fc-hf-to-top svg { transform:rotate(-90deg); }
@media (max-width:1599px) {
  .fc-heritage-footer .fc-hf-container { max-width:70rem; }
  .fc-heritage-footer .fc-hf-top { grid-template-columns:180px 1fr 1fr; gap:2rem; }
  .fc-heritage-footer .fc-hf-columns { gap:2rem; }
  .fc-heritage-footer .fc-hf-art img:not(.fc-hf-background):not(.fc-hf-edge):not(.fc-hf-leaf) { opacity:.32; }
  .fc-heritage-footer .fc-hf-bottom>.fc-hf-container { flex-wrap:wrap; }
  .fc-heritage-footer .fc-hf-to-top { bottom:110px; right:14px; }
}
@media (max-width:1199px) {
  .fc-heritage-footer .fc-hf-top { grid-template-columns:1fr 1fr; }
  .fc-site .fc-heritage-footer .fc-hf-logo { grid-column:1/-1; margin:0; width:180px; }
  .fc-heritage-footer .fc-hf-columns { grid-template-columns:1fr 1fr; gap:3rem; padding:4rem 0; }
  .fc-heritage-footer .fc-hf-art img:not(.fc-hf-background):not(.fc-hf-edge) { display:none; }
  .fc-heritage-footer .fc-hf-app-actions { gap:10px; }
  .fc-site .fc-heritage-footer .fc-hf-app-button { min-width:0; flex:1 0 145px; }
}
@media (max-width:767px) {
  .fc-site .fc-footer.fc-heritage-footer { padding-top:5rem; }
  .fc-heritage-footer .fc-hf-container { width:calc(100% - 2.5rem); }
  .fc-heritage-footer .fc-hf-top { grid-template-columns:1fr; gap:2.5rem; }
  .fc-site .fc-heritage-footer .fc-hf-logo { width:170px; }
  .fc-site .fc-heritage-footer h2 { font-size:1.5rem; }
  .fc-heritage-footer .fc-hf-form { margin-top:1.4rem; }
  .fc-heritage-footer .fc-hf-email-row button { padding:.7rem 1rem; min-height:48px; }
  .fc-heritage-footer .fc-hf-email-row input { min-height:48px; }
  .fc-heritage-footer .fc-hf-columns { grid-template-columns:1fr 1fr; gap:2.5rem 1.5rem; padding:3rem 0; }
  .fc-heritage-footer .fc-hf-hours,.fc-heritage-footer .fc-hf-contact,.fc-heritage-footer .fc-hf-posts { grid-column:1/-1; }
  .fc-heritage-footer .fc-hf-products { grid-column:1/-1; }
  .fc-heritage-footer .fc-hf-products ul { display:grid; grid-template-columns:1fr 1fr; gap:0 .75rem; }
  .fc-site .fc-heritage-footer .fc-hf-columns h2 { margin-bottom:1.25rem; }
  .fc-heritage-footer .dsf-follow { margin-top:1.25rem; }
  .fc-site .fc-heritage-footer .fc-hf-products a,.fc-site .fc-heritage-footer .fc-hf-contact address a { min-height:44px; }
  .fc-heritage-footer .fc-hf-post { gap:14px; }
  .fc-heritage-footer .fc-hf-bottom>.fc-hf-container { flex-direction:column; align-items:flex-start; padding-block:1.2rem; gap:.6rem; }
  .fc-heritage-footer .fc-hf-bottom nav .dsf-policy-links { gap:0 1rem; }
  .fc-site .fc-heritage-footer .fc-hf-bottom a { min-height:44px; }
  .fc-heritage-footer .fc-hf-payments { width:170px; }
  .fc-site .fc-heritage-footer .fc-hf-to-top { right:20px; bottom:18px; width:44px; height:44px; }
}
@media print { .fc-site .fc-heritage-footer { display:none; } }
