/* Unified contact details in the same fixed header, on all public pages */
.ag-header{position:fixed!important;top:0;left:0;right:0;z-index:1000!important}
.ag-header-inner{position:relative; padding-top:30px!important;}
.ag-header-contacts{position:absolute;top:5px;right:24px;display:flex;align-items:center;justify-content:flex-end;gap:17px;z-index:2;font-family:Montserrat,Arial,sans-serif}
.ag-header-phone{display:inline-flex;align-items:center;gap:5px;text-decoration:none!important;color:#762f20!important;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.3}
.ag-header-phone svg{width:15px;height:15px;flex-shrink:0}
.ag-header-whatsapp svg{color:#238a4b}
.ag-unified-footer{max-width:1400px;margin:18px auto 0;padding:18px 12px 6px;text-align:center;border-top:1px solid rgba(255,255,255,.28);color:#fff;font-family:Montserrat,Arial,sans-serif}
.ag-footer-social{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.ag-footer-social a{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:#f9f4ea;color:#813a28!important;border-radius:7px;text-decoration:none;font:bold 21px Arial,sans-serif;box-shadow:0 2px 3px #0002}
.ag-footer-social a:hover{background:#fff;transform:translateY(-2px)}
.ag-footer-legal{font-size:13px;line-height:1.75;letter-spacing:.1px}
footer:has(.ag-unified-footer){background:#963b20;color:#fff}
@media(max-width:900px){.ag-header-inner{padding-top:34px!important}.ag-header-contacts{top:5px;right:14px;gap:9px}.ag-header-phone{font-size:11px}}
@media(max-width:540px){.ag-header-contacts{right:8px;gap:7px}.ag-header-phone{font-size:10px}.ag-header-phone svg{width:13px;height:13px}.ag-header-inner{padding-top:34px!important}}


/* V45 — Mobile header compact and booking form fully visible.
   Desktop rules remain unchanged. */
@media (max-width:780px) {
 html{scroll-padding-top:104px!important}
 body.ag-home,body:has(> .ag-header){padding-top:96px!important}
 .ag-header{width:100%!important;max-width:100vw!important;min-width:0!important;box-sizing:border-box!important}
 .ag-header .ag-header-inner{
  width:100%!important;max-width:100%!important;min-width:0!important;
  min-height:96px!important;height:96px!important;
  padding:35px 12px 6px!important;gap:6px!important;
  flex-wrap:nowrap!important;box-sizing:border-box!important;
 }
 .ag-header .ag-brand{flex:1 1 auto!important;min-width:0!important;gap:7px!important;overflow:hidden!important}
 .ag-header .ag-brand img{width:53px!important;height:50px!important;flex:0 0 53px!important}
 .ag-header .ag-brand-text{min-width:0!important}
 .ag-header .ag-brand-text strong{font-size:clamp(16px,4.6vw,21px)!important;line-height:1.1!important;white-space:nowrap!important}
 .ag-header .ag-brand-text small{font-size:8px!important;letter-spacing:1px!important;margin-top:2px!important}
 .ag-header .ag-brand-text i{font-size:10px!important;line-height:1!important}
 .ag-header .ag-menu-toggle{display:block!important;flex:0 0 40px!important;
  width:40px!important;height:42px!important;padding:0!important;margin:0 0 0 auto!important;
  font-size:27px!important;line-height:1!important}
 .ag-header>.ag-header-topbar{
  position:absolute!important;top:3px!important;left:9px!important;right:9px!important;
  width:auto!important;min-height:27px!important;max-width:none!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  flex-wrap:nowrap!important;gap:5px!important;z-index:1002!important;
 }
 .ag-header .ag-header-topbar>.ag-language-switch{display:flex!important;gap:3px!important;flex:0 0 auto!important}
 .ag-header .ag-header-topbar>.ag-language-switch a{min-width:25px!important;min-height:24px!important;padding:3px 4px!important;font-size:10px!important}
 .ag-header .ag-header-topbar>.ag-header-contacts{display:flex!important;flex-wrap:nowrap!important;
  min-width:0!important;gap:7px!important;margin-left:auto!important}
 .ag-header .ag-header-topbar>.ag-header-contacts a{font-size:10px!important;gap:3px!important;white-space:nowrap!important}
 .ag-header .ag-header-topbar>.ag-header-contacts svg{width:12px!important;height:12px!important}
 .ag-header .ag-nav{position:absolute!important;top:100%!important;left:0!important;right:0!important;
  width:100%!important;max-height:calc(100dvh - 96px)!important;overflow-y:auto!important;
  background:#fff8ec!important;box-shadow:0 8px 12px #0002!important;
  padding:8px 14px!important;box-sizing:border-box!important}
 .ag-header .ag-nav:not(.open){display:none!important}
 .ag-header .ag-nav.open{display:flex!important;flex-direction:column!important;align-items:stretch!important}
 .ag-booking-global{position:relative!important;z-index:1!important;clear:both!important}
 .ag-booking-global .ag-booking{width:100%!important;max-width:100%!important}
 .ag-booking-global .ag-booking label{min-width:0!important;box-sizing:border-box!important}
 .ag-booking-global .ag-date-field{min-width:0!important;max-width:100%!important}
}
@media(max-width:390px){
 .ag-header .ag-header-inner{padding-left:8px!important;padding-right:8px!important}
 .ag-header .ag-brand img{width:44px!important;height:45px!important;flex-basis:44px!important}
 .ag-header .ag-brand-text strong{font-size:16px!important}
 .ag-header .ag-header-topbar>.ag-header-contacts{gap:4px!important}
 .ag-header .ag-header-topbar>.ag-header-contacts a{font-size:9px!important}
}


/* V46: FIX reale struttura DOM. lingue.js sposta .ag-header-topbar
   come figlio DIRETTO di header sui cellulari; non di .ag-header-inner. */
@media (max-width:780px) {
 html {scroll-padding-top:144px!important}
 body.ag-home,body:has(> .ag-header) {padding-top:136px!important}
 .ag-header {height:136px!important;overflow:visible!important}
 .ag-header .ag-header-inner {
  height:136px!important;min-height:136px!important;
  padding:65px 10px 8px!important;display:flex!important;
  flex-wrap:nowrap!important;align-items:center!important;
  justify-content:space-between!important;
 }
 .ag-header>.ag-header-topbar {
  position:absolute!important;top:3px!important;left:10px!important;right:10px!important;
  width:calc(100% - 20px)!important;max-width:calc(100% - 20px)!important;
  min-width:0!important;height:57px!important;min-height:0!important;
  padding:0!important;margin:0!important;box-sizing:border-box!important;
  display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;
  align-items:stretch!important;justify-content:flex-start!important;gap:3px!important;
 }
 .ag-header>.ag-header-topbar>.ag-language-switch {
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  flex:0 0 26px!important;gap:4px!important;
 }
 .ag-header>.ag-header-topbar>.ag-language-switch a {
  min-height:25px!important;min-width:29px!important;padding:3px 6px!important;font-size:11px!important;
 }
 .ag-header>.ag-header-topbar>.ag-header-contacts {
  position:static!important;display:flex!important;align-items:center!important;
  justify-content:flex-start!important;flex-wrap:wrap!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  margin:0!important;padding:0!important;gap:4px 11px!important;
 }
 .ag-header>.ag-header-topbar>.ag-header-contacts a {
  display:inline-flex!important;font-size:10px!important;white-space:nowrap!important;
  max-width:100%!important;
 }
 .ag-header .ag-brand {flex:1 1 0!important;min-width:0!important;max-width:calc(100% - 48px)!important;gap:7px!important;overflow:hidden!important}
 .ag-header .ag-brand img {width:52px!important;height:50px!important;flex:0 0 52px!important}
 .ag-header .ag-brand-text {flex:1 1 0!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
 .ag-header .ag-brand-text strong {display:block!important;font-size:clamp(14px,4vw,20px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 .ag-header .ag-brand-text small {font-size:7px!important;letter-spacing:1px!important;white-space:nowrap!important}
 .ag-header .ag-menu-toggle {display:block!important;flex:0 0 40px!important;position:relative!important;z-index:2!important}
 .ag-header .ag-nav {position:absolute!important;top:100%!important;left:0!important;right:0!important;width:100%!important;max-height:calc(100dvh - 136px)!important;overflow-y:auto!important}
 .ag-booking-global {z-index:1!important}
}
@media(max-width:360px){
 .ag-header>.ag-header-topbar>.ag-header-contacts a{font-size:9px!important}
 .ag-header .ag-brand img{width:44px!important;flex-basis:44px!important}
}


/* V50 — mobile rules audited against the actual DOM in lingue.js.
   The toolbar is inside .ag-header-inner, not a direct child of header. */
@media (max-width:780px) {
 .ag-header .ag-header-inner > .ag-header-topbar {
   position:absolute!important;top:5px!important;left:10px!important;right:10px!important;
   width:calc(100% - 20px)!important;max-width:calc(100% - 20px)!important;
   height:auto!important;min-height:34px!important;display:flex!important;
   flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;
   justify-content:space-between!important;gap:4px!important;
   margin:0!important;padding:0!important;box-sizing:border-box!important;
 }
 .ag-header .ag-header-inner > .ag-header-topbar > .ag-language-switch {
   display:flex!important;flex:0 0 auto!important;gap:3px!important;min-width:0!important;
 }
 .ag-header .ag-header-inner > .ag-header-topbar > .ag-language-switch a {
   min-width:27px!important;min-height:28px!important;padding:4px 5px!important;font-size:11px!important;
 }
 .ag-header .ag-header-inner > .ag-header-topbar > .ag-header-contacts {
   position:static!important;display:flex!important;flex:0 1 auto!important;
   flex-direction:row!important;flex-wrap:nowrap!important;justify-content:flex-end!important;
   align-items:center!important;gap:6px!important;min-width:0!important;
   margin:0 0 0 auto!important;padding:0!important;width:auto!important;
 }
 .ag-header .ag-header-inner > .ag-header-topbar > .ag-header-contacts .ag-header-phone {
   display:inline-flex!important;align-items:center!important;gap:2px!important;
   flex:0 0 auto!important;white-space:nowrap!important;font-size:clamp(8px,2.3vw,11px)!important;
 }
 .ag-header .ag-header-inner > .ag-header-topbar > .ag-header-contacts svg {
   width:11px!important;height:11px!important;
 }
 .ag-booking-global .ag-booking {overflow:visible!important}
 .ag-booking-global .ag-booking label {min-width:0!important;overflow:visible!important}
 .ag-booking-global .ag-date-field {width:100%!important;min-width:0!important;max-width:100%!important}
 .ag-booking-global .ag-date-field > .ag-date-trigger {
   display:flex!important;grid-column:auto!important;flex:0 0 auto!important;
   width:100%!important;max-width:100%!important;min-width:0!important;
   padding:9px 8px!important;gap:4px!important;box-sizing:border-box!important;
   background:#fff!important;color:#796d63!important;border:1px solid #dfd0bf!important;
   text-align:left!important;font-size:clamp(12px,3.3vw,15px)!important;
 }
 .ag-booking-global .ag-date-trigger > .ag-date-value {
   display:block!important;min-width:0!important;max-width:100%!important;
   flex:1 1 auto!important;overflow:hidden!important;text-overflow:clip!important;
   white-space:nowrap!important;padding:0!important;font-size:inherit!important;
 }
 .ag-booking-global .ag-date-trigger > svg {flex:0 0 16px!important;width:16px!important;height:16px!important}
 /* Calendar must not inherit the generic booking-submit button styles. */
 .ag-booking-global .ag-calendar {
   display:block;z-index:10050!important;max-width:min(318px,calc(100vw - 24px))!important;
   overflow:visible!important;
 }
 .ag-booking-global .ag-calendar[hidden] {display:none!important}
 .ag-booking-global .ag-calendar .ag-calendar-grid {
   display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;
   gap:3px!important;
 }
 .ag-booking-global .ag-calendar button {
   grid-column:auto!important;flex:initial!important;
   min-width:0!important;box-sizing:border-box!important;
   padding:0!important;color:#48382e!important;
   background:transparent!important;font-family:inherit!important;
 }
 .ag-booking-global .ag-calendar .ag-calendar-day {
   display:block!important;width:100%!important;min-height:34px!important;
   aspect-ratio:1!important;border:0!important;border-radius:7px!important;
   font-size:12px!important;line-height:1!important;
 }
 .ag-booking-global .ag-calendar .ag-calendar-day.is-selected {
   background:#873f2d!important;color:#fff!important;
 }
 .ag-booking-global .ag-calendar .ag-calendar-arrow {
   width:34px!important;height:34px!important;flex:0 0 34px!important;
   border:1px solid #e9d8c9!important;border-radius:50%!important;
   background:#fff!important;color:#8b422f!important;font-size:23px!important;
 }
 .ag-booking-global .ag-calendar .ag-calendar-foot button {
   width:auto!important;min-height:32px!important;padding:6px 7px!important;
   color:#873f2d!important;font-size:11px!important;
 }
}
@media (max-width:380px) {
 .ag-header .ag-header-inner > .ag-header-topbar {left:6px!important;right:6px!important;width:calc(100% - 12px)!important;max-width:calc(100% - 12px)!important}
 .ag-header .ag-header-inner > .ag-header-topbar > .ag-language-switch a {min-width:24px!important;padding:3px!important;font-size:10px!important}
 .ag-header .ag-header-inner > .ag-header-topbar > .ag-header-contacts {gap:3px!important}
 .ag-header .ag-header-inner > .ag-header-topbar > .ag-header-contacts .ag-header-phone {font-size:8px!important}
}

@media(max-width:580px){.ag-booking-global .ag-booking label:has(.ag-date-field){flex:1 1 100%!important;max-width:100%!important}}

/* V51: one physical toolbar row; preserve .ag-header-contacts wrapper. */
@media(max-width:780px){
 .ag-header-inner{position:relative!important}
 .ag-header-inner > .ag-header-topbar{
   position:absolute!important;top:4px!important;left:8px!important;right:8px!important;
   width:calc(100% - 16px)!important;max-width:calc(100% - 16px)!important;
   display:flex!important;flex-flow:row nowrap!important;align-items:center!important;
   justify-content:space-between!important;gap:5px!important;min-width:0!important;
   margin:0!important;padding:0!important;box-sizing:border-box!important
 }
 .ag-header-inner > .ag-header-topbar > .ag-language-switch{
   display:flex!important;flex:0 0 auto!important;white-space:nowrap!important;
   align-items:center!important;gap:2px!important;margin:0!important
 }
 .ag-header-inner > .ag-header-topbar > .ag-header-contacts{
   position:static!important;display:flex!important;flex-flow:row nowrap!important;
   align-items:center!important;justify-content:flex-end!important;
   flex:0 1 auto!important;width:auto!important;max-width:100%!important;
   min-width:0!important;margin:0!important;padding:0!important;gap:5px!important
 }
 .ag-header-inner > .ag-header-topbar > .ag-header-contacts > .ag-header-phone{
   display:inline-flex!important;flex:0 0 auto!important;white-space:nowrap!important;
   font-size:clamp(8px,2.2vw,11px)!important;gap:2px!important
 }
 .ag-header-inner > .ag-header-topbar > .ag-header-contacts > .ag-header-phone svg{
   width:11px!important;height:11px!important
 }
 /* Date cells retain the desktop burgundy appearance on mobile. */
 .ag-booking-global .ag-calendar .ag-calendar-day:not(:disabled){
   background:#a84b30!important;color:#fff!important;
   border:1px solid #923f29!important;border-radius:7px!important;
   opacity:1!important
 }
 .ag-booking-global .ag-calendar .ag-calendar-day:not(:disabled):hover,
 .ag-booking-global .ag-calendar .ag-calendar-day:not(:disabled):focus{
   background:#813b29!important;color:#fff!important
 }
 .ag-booking-global .ag-calendar .ag-calendar-day.is-selected{
   background:#74311f!important;color:#fff!important
 }
 .ag-booking-global .ag-calendar .ag-calendar-day:disabled{
   background:#eee6df!important;color:#998b80!important;opacity:.65!important
 }
}
