/* CONTESSINA — shared responsive footer rules */
footer.footer {
  width:100% !important; max-width:none !important; box-sizing:border-box !important;
  padding:0 clamp(12px, 2.2vw, 28px) 22px !important;
  margin:0 auto !important; text-align:center !important;
}
footer.footer .footer-fans {
  display:flex !important; flex-flow:row nowrap !important; align-items:center !important;
  justify-content:space-between !important; gap:0 !important;
  width:calc(100% + clamp(24px, 4.4vw, 56px)) !important;
  margin:0 calc(-1 * clamp(12px, 2.2vw, 28px)) 0 !important;
  padding:12px 0 16px !important; box-sizing:border-box !important; overflow:hidden !important;
}
footer.footer .footer-fans img {
  display:block !important; width:clamp(8px, 1.55vw, 20px) !important;
  max-width:20px !important; min-width:0 !important; height:auto !important;
  flex:0 1 auto !important; margin:0 !important; opacity:.92 !important;
}
footer.footer .footer-fans img:nth-child(even) { transform:rotate(180deg) !important; }
footer.footer .footer-hours-grid {
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:start !important; gap:clamp(5px, 2vw, 24px) !important;
  width:100% !important; margin:0 auto 8px !important; box-sizing:border-box !important;
}
footer.footer .footer-hours-grid .footer-hours-column { min-width:0 !important; }
footer.footer .footer-hours-grid .footer-service-title,
footer.footer .footer-hours-grid .footer-cuisine-title,
footer.footer .footer-hours-grid .footer-sunday-service {
  font-size:clamp(9px, 1.05vw, 12.5px) !important; line-height:1.35 !important;
  white-space:normal !important; overflow-wrap:anywhere !important;
}
footer.footer .footer-hours-grid .footer-day,
footer.footer .footer-hours-grid strong {
  font-size:clamp(10px, 1.2vw, 15px) !important; line-height:1.5 !important;
  white-space:normal !important; overflow-wrap:anywhere !important;
}
footer.footer .footer-bottom-row {
  display:flex !important; flex-flow:row nowrap !important; justify-content:space-between !important;
  align-items:center !important; gap:clamp(8px, 2vw, 24px) !important;
  width:100% !important; max-width:none !important; margin:0 auto !important;
  padding:0 !important; box-sizing:border-box !important;
}
footer.footer .footer-bottom-row .footer-contact-centered {
  display:flex !important; flex:1 1 auto !important; justify-content:flex-start !important;
  align-items:center !important; width:auto !important; max-width:calc(100% - 100px) !important;
  min-width:0 !important; margin:0 !important; padding:0 !important; text-align:left !important;
}
footer.footer .footer-bottom-row .footer-contact-centered>div {
  display:flex !important; flex-flow:row wrap !important; justify-content:flex-start !important;
  align-items:baseline !important; column-gap:4px !important; row-gap:2px !important;
  min-width:0 !important; text-align:left !important;
}
footer.footer .footer-bottom-row .footer-address,
footer.footer .footer-bottom-row .footer-phone,
footer.footer .footer-bottom-row .footer-contact-separator {
  font-size:clamp(8px, .9vw, 12px) !important; line-height:1.5 !important;
  letter-spacing:.015em !important; white-space:normal !important; overflow-wrap:anywhere !important;
}
footer.footer .footer-bottom-row .footer-socials-centered {
  display:flex !important; flex:0 0 auto !important; justify-content:flex-end !important;
  align-items:center !important; width:auto !important; margin:0 !important; padding:0 !important;
}
footer.footer .footer-bottom-row .social-links {
  display:flex !important; flex-flow:row nowrap !important; justify-content:flex-end !important;
  align-items:center !important; gap:clamp(8px, 1.3vw, 16px) !important; margin:0 !important; padding:0 !important;
}
footer.footer .footer-bottom-row .social-links a { width:clamp(22px, 2vw, 28px) !important; height:clamp(22px, 2vw, 28px) !important; }
footer.footer .footer-bottom-row .social-links svg { width:clamp(16px, 1.4vw, 19px) !important; height:clamp(16px, 1.4vw, 19px) !important; }
@media (max-width:600px) {
  footer.footer { padding-left:10px !important; padding-right:10px !important; padding-bottom:18px !important; }
  footer.footer .footer-fans { width:calc(100% + 20px) !important; margin-left:-10px !important; margin-right:-10px !important; padding:9px 0 12px !important; }
  footer.footer .footer-fans img { width:clamp(6px, 1.7vw, 10px) !important; }
  footer.footer .footer-hours-grid { gap:3px !important; margin-bottom:8px !important; }
  footer.footer .footer-hours-grid .footer-service-title,
  footer.footer .footer-hours-grid .footer-cuisine-title,
  footer.footer .footer-hours-grid .footer-sunday-service { font-size:clamp(7px, 2.15vw, 10px) !important; letter-spacing:0 !important; }
  footer.footer .footer-hours-grid .footer-day,
  footer.footer .footer-hours-grid strong { font-size:clamp(8px, 2.4vw, 11px) !important; letter-spacing:0 !important; }
  footer.footer .footer-bottom-row { gap:7px !important; }
  footer.footer .footer-bottom-row .footer-contact-centered { max-width:calc(100% - 76px) !important; }
  footer.footer .footer-bottom-row .footer-address,
  footer.footer .footer-bottom-row .footer-phone,
  footer.footer .footer-bottom-row .footer-contact-separator { font-size:clamp(7px, 2.05vw, 9.5px) !important; letter-spacing:0 !important; }
  footer.footer .footer-bottom-row .social-links { gap:7px !important; }
  footer.footer .footer-bottom-row .social-links a { width:21px !important; height:21px !important; }
  footer.footer .footer-bottom-row .social-links svg { width:16px !important; height:16px !important; }
}
@media (max-width:360px) {
  footer.footer .footer-bottom-row { align-items:flex-start !important; }
  footer.footer .footer-bottom-row .footer-contact-centered { max-width:calc(100% - 70px) !important; }
  footer.footer .footer-bottom-row .footer-address,
  footer.footer .footer-bottom-row .footer-phone { font-size:7px !important; }
}
/* Align Executive Chef with the left edge of the cheese-and-charcuterie item. */
.menu-executive-chef { width:min(900px, calc(100% - 44px)) !important; margin:26px auto 0 !important; padding:0 !important; text-align:left !important; box-sizing:border-box !important; }

/* Final footer fan treatment: exactly three centered emblems on every page */
footer.footer .footer-fan-rule{display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(22px,4vw,54px)!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0 auto 14px!important;padding:12px 0 8px!important;overflow:visible!important;background:none!important;border:0!important;}
footer.footer .footer-fan-rule::before,footer.footer .footer-fan-rule::after{content:none!important;display:none!important;}
footer.footer .footer-fans{display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(22px,4vw,54px)!important;width:100%!important;max-width:100%!important;margin:0 auto 14px!important;padding:12px 0 8px!important;box-sizing:border-box!important;overflow:visible!important;}
footer.footer .footer-fans img{display:none!important;}
footer.footer .footer-fans img:nth-child(1),footer.footer .footer-fans img:nth-child(2),footer.footer .footer-fans img:nth-child(3){display:block!important;width:clamp(24px,3vw,38px)!important;max-width:38px!important;flex:0 0 auto!important;height:auto!important;margin:0!important;}
@media(max-width:700px){footer.footer .footer-fan-rule{gap:22px!important;}footer.footer .footer-fans{gap:22px!important;}footer.footer .footer-fans img:nth-child(-n+3){width:clamp(20px,5vw,28px)!important;}}


/* Final unified footer: full-width rule, three centered fans, rule, hours, rule, contact left/social right. */
footer.footer { padding-left:0!important; padding-right:0!important; width:100%!important; overflow:visible!important; }
footer.footer .footer-full-separator,
footer.footer .footer-hours-separator {
  display:block!important; position:relative!important; left:50%!important; transform:translateX(-50%)!important;
  width:100vw!important; max-width:none!important; height:1px!important; min-height:1px!important;
  padding:0!important; margin:0!important; background:#DCC8BE!important; border:0!important; box-sizing:border-box!important;
}
footer.footer .footer-fan-rule { display:flex!important; align-items:center!important; justify-content:center!important; gap:clamp(24px,4vw,54px)!important; width:100%!important; max-width:100%!important; box-sizing:border-box!important; margin:0 auto!important; padding:22px 0!important; overflow:visible!important; background:none!important; border:0!important; }
footer.footer .footer-fan-rule img { display:block!important; width:clamp(24px,3vw,38px)!important; max-width:38px!important; height:auto!important; flex:0 0 auto!important; margin:0!important; opacity:.95!important; }
footer.footer .footer-fan-rule img:nth-child(even) { transform:rotate(180deg)!important; }
footer.footer .footer-new-content { width:100%!important; max-width:none!important; margin:0 auto!important; padding:0 0 22px!important; box-sizing:border-box!important; }
footer.footer .footer-hours-grid { width:min(900px,calc(100% - 40px))!important; max-width:900px!important; margin:0 auto!important; padding:20px 0 22px!important; }
footer.footer .footer-bottom-row { display:flex!important; align-items:center!important; justify-content:space-between!important; gap:24px!important; width:min(1200px,calc(100% - 48px))!important; max-width:1200px!important; margin:0 auto!important; padding:22px 0 0!important; box-sizing:border-box!important; }
footer.footer .footer-contact-centered { flex:1 1 auto!important; text-align:left!important; min-width:0!important; }
footer.footer .footer-contact-centered>div { text-align:left!important; }
footer.footer .footer-socials-centered { flex:0 0 auto!important; text-align:right!important; }
footer.footer .footer-socials-centered .social-links { display:flex!important; align-items:center!important; justify-content:flex-end!important; gap:12px!important; }
footer.footer .footer-socials-centered .social-links a { display:inline-flex!important; align-items:center!important; justify-content:center!important; width:24px!important; height:24px!important; }
footer.footer .footer-socials-centered .social-links svg { width:20px!important; height:20px!important; }
footer.footer .footer-hours-separator { margin:0!important; }
@media(max-width:700px) {
 footer.footer .footer-fan-rule { gap:22px!important; padding:18px 0!important; }
 footer.footer .footer-fan-rule img { width:clamp(20px,5vw,28px)!important; }
 footer.footer .footer-hours-grid { width:calc(100% - 20px)!important; padding:16px 0 18px!important; }
 footer.footer .footer-bottom-row { width:calc(100% - 28px)!important; gap:12px!important; padding-top:18px!important; }
 footer.footer .footer-contact-centered, footer.footer .footer-contact-centered>div { text-align:left!important; }
 footer.footer .footer-address, footer.footer .footer-phone { font-size:9px!important; letter-spacing:.02em!important; }
 footer.footer .footer-contact-separator { display:none!important; }
 footer.footer .footer-phone { display:block!important; margin-top:5px!important; }
 footer.footer .footer-socials-centered .social-links { gap:9px!important; }
 footer.footer .footer-socials-centered .social-links a { width:21px!important; height:21px!important; }
}


/* FINAL FOOTER: top and bottom fan separators must be visually identical */
footer.footer .footer-fan-separator-top,
footer.footer .footer-fan-separator-bottom {
  display:block!important;
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:100vw!important;
  max-width:none!important;
  height:1px!important;
  min-height:1px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:#DCC8BE!important;
  box-shadow:none!important;
  opacity:1!important;
}


/* FINAL APPROVED FOOTER — same thin full-width separators on all screen sizes */
footer.footer{position:relative!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;overflow:visible!important;background-image:none!important;}
footer.footer .footer-fan-separator-top,
footer.footer .footer-fan-separator-bottom{
 display:block!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important;
 width:100vw!important;max-width:none!important;height:1px!important;min-height:1px!important;
 margin:0!important;padding:0!important;border:0!important;border-top:0!important;border-bottom:0!important;
 background:#DCC8BE!important;background-color:#DCC8BE!important;background-image:none!important;
 box-shadow:none!important;opacity:1!important;outline:0!important;
}
footer.footer .footer-fan-separator-top::before,
footer.footer .footer-fan-separator-top::after,
footer.footer .footer-fan-separator-bottom::before,
footer.footer .footer-fan-separator-bottom::after{content:none!important;display:none!important;border:0!important;box-shadow:none!important;background:none!important;}
footer.footer .footer-fans.footer-fan-rule{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:center!important;gap:clamp(22px,4vw,54px)!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0 auto!important;padding:12px 0 8px!important;overflow:visible!important;background:none!important;border:0!important;box-shadow:none!important;}
footer.footer .footer-fans.footer-fan-rule img{display:block!important;flex:0 0 auto!important;width:clamp(24px,3vw,38px)!important;max-width:38px!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;opacity:1!important;transform:none!important;}
footer.footer .footer-fans.footer-fan-rule img:nth-child(even){transform:none!important;}
footer.footer .footer-hours-separator{display:block!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important;width:100vw!important;max-width:none!important;height:1px!important;min-height:1px!important;margin:0!important;padding:0!important;border:0!important;background:#DCC8BE!important;background-image:none!important;box-shadow:none!important;}
@media(max-width:700px){footer.footer .footer-fans.footer-fan-rule{gap:22px!important;padding:10px 0 8px!important;}footer.footer .footer-fans.footer-fan-rule img{width:clamp(20px,5vw,28px)!important;max-width:28px!important;}footer.footer .footer-fan-separator-top,footer.footer .footer-fan-separator-bottom,footer.footer .footer-hours-separator{height:1px!important;min-height:1px!important;}}
