/* Shared contact settings power the desktop shortcuts and mobile disclosure. */
.header-messengers{display:flex;align-items:center;gap:6px;flex:none}
.header-messenger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:36px;min-height:46px;color:#526783;text-decoration:none}
.header-messenger>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#299bd5}
.header-messenger .icon{width:20px;height:20px;filter:brightness(0) invert(1)}
.header-messenger-max>span{background:#4169e8}
.header-messenger:hover{color:var(--accent)}
.header-messenger:hover>span{box-shadow:0 0 0 3px #e6edf8}
.contact-widget{display:none}
@media(min-width:768px) and (max-width:1399px){.site-header .brand-caption{display:none}.site-header .header-actions{gap:10px}.header-messengers{gap:4px}.header-messenger{min-width:32px}}
@media(min-width:768px) and (max-width:899px){.site-header .header-inner{gap:10px}.site-header .main-nav{gap:12px}.site-header .header-actions{gap:6px}.site-header .header-booking{padding-inline:12px;min-width:100px}.header-messenger{min-width:29px}.header-messenger>span{width:25px;height:25px}.header-messenger .icon{width:18px;height:18px}}
@media(max-width:767px){
  .header-messengers{display:none}
  .js .contact-widget{position:fixed;right:16px;right:calc(16px + env(safe-area-inset-right,0px));bottom:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:35;display:flex;flex-direction:column;align-items:flex-end;max-width:calc(100vw - 32px)}
  .contact-widget-toggle{display:grid;place-items:center;width:56px;height:56px;flex:none;padding:0;border:1px solid #ffffff75;border-radius:50%;background:var(--accent,#e60000);color:white;box-shadow:0 5px 20px #7e171733;cursor:pointer;touch-action:manipulation;transition:background .16s,box-shadow .16s}
  .contact-widget-toggle:hover{background:var(--accent-hover,#c90000);box-shadow:0 7px 24px #7e171744}
  .contact-widget-toggle>.contact-widget-open-icon,.contact-widget-toggle>.contact-widget-close-icon{display:flex;align-items:center;justify-content:center;grid-column:1;grid-row:1}
  .contact-widget-toggle .icon{width:27px;height:27px;filter:brightness(0) invert(1)}
  .contact-widget-toggle>.contact-widget-close-icon{display:none}
  .contact-widget.is-open .contact-widget-open-icon{display:none}
  .contact-widget.is-open .contact-widget-close-icon{display:flex}
  .contact-widget-links{display:flex;flex-direction:column;align-items:flex-end;gap:10px;margin-bottom:13px;padding:10px 1px 4px 15px;max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
  .contact-widget-links[hidden]{display:none}
  .contact-widget-link{display:flex;align-items:center;justify-content:flex-end;gap:11px;min-height:47px;color:#1a2d47;text-decoration:none;border-radius:30px}
  .contact-widget-icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border:1px solid #ffffff75;border-radius:50%;background:#299bd5;box-shadow:0 4px 14px #17202a25}
  .contact-widget-icon .icon{width:24px;height:24px;filter:brightness(0) invert(1)}
  .contact-widget-call .contact-widget-icon{background:#e60000}
  .contact-widget-max .contact-widget-icon{background:#4169e8}
  .contact-widget-link:focus-visible{outline:3px solid #233d60;outline-offset:5px}
  .contact-widget-toggle:focus-visible{outline:3px solid #233d60;outline-offset:4px}
  .contact-widget.is-open .contact-widget-links{animation:contact-widget-reveal .16s ease-out}
  @keyframes contact-widget-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
  .js.has-contact-widget .site-footer{padding-bottom:78px;padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.contact-widget-toggle,.header-messenger>span{transition:none}.contact-widget.is-open .contact-widget-links{animation:none}}
.footer-legal{font-size:0.75rem;line-height:1.75;color:#65758b;margin:0;padding:10px 0 18px;max-width:1200px}
@media(min-width:768px) and (max-width:1599px){.site-header .brand-caption{display:none}.site-header .main-nav{gap:20px}.site-header .header-actions{gap:10px}}
@media(min-width:768px) and (max-width:899px){.site-header .header-inner{gap:12px}.site-header .header-actions{gap:8px}.site-header .main-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 16px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #1323350a}.site-header .main-nav.is-open{display:flex}.site-header .main-nav a{min-height:44px;padding:9px 12px;font-size:0.875rem}.site-header .menu-toggle{display:inline-flex}}
@media(max-width:767px){.footer-legal{font-size:0.75rem;padding-top:8px;padding-bottom:19px}}

/* Keep search attached to navigation, independently of the contact actions. */
.header-navigation{display:flex;align-items:center;gap:20px;min-width:0}
.header-navigation>.search-toggle{flex:none}
.site-header .header-phone{grid-template-columns:auto;column-gap:0}
.site-header .header-phone>a,.site-header .header-phone .header-phone-hours{grid-column:1}
@media(max-width:899px){.header-navigation{gap:16px}}
@media(max-width:767px){.header-navigation{gap:0;flex:none}.header-navigation>.search-toggle{width:44px;height:44px}}
/* Public contact links keep text numbers and icon-only messenger shortcuts. */
.messenger-links .messenger-link{flex-direction:row;gap:0;min-width:44px;min-height:44px}
.booking-dialog .dialog-content>.booking-hours{padding-left:0}
@media(max-width:767px){.compact-contact-messengers{padding-left:0}.contact-widget-call{min-height:46px}}

/* Iteration G: one compact contact footer and an official badge at every width. */
.header-rating-frame{display:block;width:150px;height:50px;flex:none;overflow:hidden}.site-header .header-rating{display:block;border:0;width:150px;height:50px}.site-header .header-booking-icon{display:none}.compact-site-footer,.page-home .compact-site-footer{border-top:1px solid var(--line);background:#f2f6fa;padding-top:0}.footer-summary{display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(150px,1fr) minmax(180px,1fr) auto 150px;grid-template-areas:"address hours phones messengers rating";align-items:center;gap:20px;padding-block:20px}.footer-summary-address{grid-area:address}.footer-summary-hours{grid-area:hours}.footer-summary-address,.footer-summary-hours{display:flex;align-items:center;gap:12px;min-width:0;font-size:0.8125rem;line-height:1.6;color:#4e6078}.footer-summary-address>.icon,.footer-summary-hours>.icon{width:24px;height:24px;flex:none}.footer-summary-phones{grid-area:phones;min-width:0;gap:5px}.footer-summary-phones .phone-link{font-size:1.0625rem;font-weight:750;line-height:1.5;color:var(--ink);white-space:normal;overflow-wrap:anywhere}.footer-summary-messengers{grid-area:messengers;display:flex;gap:5px;flex-wrap:wrap;align-items:center;justify-content:flex-start}.footer-summary-messengers .messenger-link{min-width:36px;min-height:44px}.footer-summary-messengers .messenger-icon{width:30px;height:30px}.footer-summary-messengers .messenger-icon>.icon{width:22px;height:22px}.footer-rating{grid-area:rating;width:150px;height:50px;border:0;display:block}.compact-site-footer .footer-bottom,.page-home .compact-site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;min-height:40px;padding-block:11px;border-top:1px solid #dce4ee;font-size:0.6875rem;color:#65758b}.compact-site-footer .footer-legal{font-size:0.75rem;line-height:1.7;padding-top:4px;padding-bottom:17px;margin:0;max-width:none}.compact-site-footer .footer-bottom a:hover{color:var(--ink)}
@media(min-width:768px) and (max-width:1099px){.footer-summary{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 150px;grid-template-areas:"address address phones" "hours messengers rating";gap:14px 24px;padding-block:18px}.footer-summary-phones .phone-link{font-size:1rem}.site-header .header-brand-group{gap:12px}}
@media(max-width:767px){.site-header .header-inner{min-height:58px;gap:4px}.site-header .header-brand-group{gap:6px;min-width:0;flex:none}.site-header .brand-caption{display:none}.site-header .brand img{width:76px;height:36px}.site-header .header-rating-frame{width:90px;height:30px}.site-header .header-rating{width:150px;height:50px;transform:scale(.6);transform-origin:top left}.site-header .header-navigation{margin-left:auto;flex:none}.site-header .header-navigation>.search-toggle{width:44px;height:44px;padding:11px}.site-header .header-actions{gap:2px;margin-left:0;flex:none}.site-header .header-booking{width:44px;min-width:44px;height:44px;min-height:44px;padding:11px;border-radius:5px}.site-header .header-booking>span{display:none}.site-header .header-booking .header-booking-icon{display:block;width:22px;height:22px;filter:brightness(0) invert(1)}.site-header .menu-toggle{width:44px;height:44px;padding:11px}.footer-summary{grid-template-columns:minmax(0,1fr) 150px;grid-template-areas:"address address" "hours hours" "phones phones" "messengers rating";gap:12px 10px;padding-block:18px}.footer-summary-address,.footer-summary-hours{font-size:0.75rem;gap:10px}.footer-summary-address>.icon,.footer-summary-hours>.icon{width:21px;height:21px}.footer-summary-phones{display:flex;flex-direction:row;flex-wrap:wrap;column-gap:22px;row-gap:5px}.footer-summary-phones .phone-link{font-size:1.0625rem}.footer-summary-messengers{gap:0}.footer-summary-messengers .messenger-link{min-width:44px;min-height:44px}.footer-summary-messengers .messenger-icon{width:30px;height:30px}.compact-site-footer .footer-bottom,.page-home .compact-site-footer .footer-bottom{font-size:0.625rem;line-height:1.6;padding-block:10px}.compact-site-footer .footer-legal{font-size:0.75rem;line-height:1.6;padding-bottom:14px}}
@media(max-width:349px){.site-header .brand img{width:66px;height:32px}.site-header .header-rating-frame{width:78px;height:26px}.site-header .header-rating{transform:scale(.52)}.footer-summary-phones .phone-link{font-size:1rem}}
