/* Vittoria 0.12.2. Deliberately scoped above the original multi-step stylesheet. */
.gmr-booking.gmr-vittoria{--gmr-accent:#8d142e!important;--gmr-accent-dark:#6b1023!important;--gmr-green-soft:#f8eff1;--gmr-line:#e5dedb;--gmr-ink:#211b1b;--gmr-text:#514849;--gmr-muted:#756c6d;--gmr-radius:0px;--gmr-w-semibold:500;--gmr-w-bold:600;container-type:inline-size;width:100%;max-width:900px;margin:0 auto;padding:0;background:transparent;color:var(--gmr-ink);border:0;border-radius:0;box-shadow:none;font-family:"Jost",Arial,sans-serif;font-size:16px;line-height:1.6;text-align:left}
.gmr-booking.gmr-vittoria *{box-sizing:border-box}
.gmr-booking.gmr-vittoria button,.gmr-booking.gmr-vittoria input,.gmr-booking.gmr-vittoria textarea{font-family:inherit;box-shadow:none;border-radius:0;text-transform:none;letter-spacing:normal}
.gmr-booking.gmr-vittoria button{cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.gmr-booking.gmr-vittoria button:disabled{cursor:default;opacity:.32}
.gmr-booking.gmr-vittoria :is(button,input,textarea,a):focus-visible{outline:2px solid #8d142e;outline-offset:4px}
.gmr-booking.gmr-vittoria .vittoria-heading,.gmr-booking.gmr-vittoria .gmr-stage__top,.gmr-booking.gmr-vittoria .gmr-booking__summary,.gmr-booking.gmr-vittoria .gmr-mobile-dock{display:none!important}
.gmr-booking.gmr-vittoria .gmr-booking__layout,.gmr-booking.gmr-vittoria .gmr-booking__flow{display:block!important;width:100%;padding:0!important;margin:0;border:0;background:none;box-shadow:none;min-height:0}
.gmr-booking.gmr-vittoria .gmr-booking__form{padding:0!important;margin:0;width:100%}
.gmr-booking.gmr-vittoria .gmr-step.is-active{display:block!important;grid-template-columns:none;grid-template-areas:none;position:static;padding:28px 0!important;margin:0;border:0;border-top:1px solid var(--gmr-line);border-radius:0;background:none;box-shadow:none;min-height:0;animation:none}
.gmr-booking.gmr-vittoria .gmr-step>*{grid-area:auto!important;min-width:0}
.gmr-booking.gmr-vittoria .gmr-step__head{display:block!important;margin:0 0 20px;padding:0}
.gmr-booking.gmr-vittoria .gmr-step__head>span,.gmr-booking.gmr-vittoria .gmr-step__head p{display:none!important}
.gmr-booking.gmr-vittoria .gmr-step__head h3{margin:0;color:#211b1b;font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;font-weight:600;letter-spacing:0;line-height:1.2;text-transform:none}
.gmr-booking.gmr-vittoria [data-step="1"]>.gmr-step__head{display:none!important}
.gmr-booking.gmr-vittoria .gmr-step__actions,.gmr-booking.gmr-vittoria [data-step="4"] .gmr-back,.gmr-booking.gmr-vittoria [data-step="4"] .gmr-step__head,.gmr-booking.gmr-vittoria .gmr-review,.gmr-booking.gmr-vittoria .gmr-field-block--occasion,.gmr-booking.gmr-vittoria .gmr-birthday{display:none!important}
.gmr-booking.gmr-vittoria .gmr-field-block{margin:0;padding:0;border:0;background:none}
.gmr-booking.gmr-vittoria .gmr-field-heading{margin:0;display:block}
.gmr-booking.gmr-vittoria .gmr-field-label{margin:0 0 18px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:#8d142e}
.gmr-booking.gmr-vittoria .gmr-field-subline,.gmr-booking.gmr-vittoria .gmr-date-tools,.gmr-booking.gmr-vittoria .gmr-date-scroller,.gmr-booking.gmr-vittoria .gmr-calendar__months{display:none!important}
.gmr-booking.gmr-vittoria .gmr-calendar{position:static;width:100%;max-width:360px;margin:0;padding:0;border:0;background:none;box-shadow:none}
.gmr-booking.gmr-vittoria .gmr-calendar__head{margin:0 0 20px;grid-template-columns:40px 1fr 40px;gap:8px}
.gmr-booking.gmr-vittoria .gmr-calendar__head strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:25px;font-weight:600;text-transform:capitalize}
.gmr-booking.gmr-vittoria .gmr-calendar__head button{width:40px;height:40px;min-height:40px;border:1px solid var(--gmr-line);color:#8d142e;background:white;font-size:24px;padding:0;display:grid;place-items:center}
.gmr-booking.gmr-vittoria .gmr-calendar__weekdays{font-size:11px;font-weight:500;margin-bottom:10px;color:#756c6d;letter-spacing:.04em}
.gmr-booking.gmr-vittoria .gmr-calendar__grid{gap:4px}
.gmr-booking.gmr-vittoria .gmr-calendar__day,.gmr-booking.gmr-vittoria .gmr-calendar__blank{height:auto;aspect-ratio:1;min-width:0;min-height:0;padding:0;font-size:15px;font-weight:400;border-radius:0;background:white;color:#282020}
.gmr-booking.gmr-vittoria .gmr-calendar__day.is-selected{background:#8d142e;color:#fff;border-color:#8d142e}
.gmr-booking.gmr-vittoria .gmr-calendar__day:hover:not(:disabled):not(.is-selected){background:#f8eff1;border-color:#8d142e}
.gmr-booking.gmr-vittoria .gmr-time-block{margin-top:28px}
.gmr-booking.gmr-vittoria .vittoria-time-placeholder{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--gmr-line);padding:22px;background:#fcfaf9}
.gmr-booking.gmr-vittoria .vittoria-time-placeholder>span{color:#8d142e;font-size:30px;line-height:1;margin-bottom:14px}.gmr-booking.gmr-vittoria .vittoria-time-placeholder strong{font-weight:500;font-size:15px}.gmr-booking.gmr-vittoria .vittoria-time-placeholder p{font-size:13px;line-height:1.7;margin:8px 0 0;color:#756c6d}
.gmr-booking.gmr-vittoria .gmr-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gmr-booking.gmr-vittoria .gmr-time{min-height:44px;padding:8px 4px;border:1px solid var(--gmr-line);background:#fff;color:#282020;font-size:15px;font-weight:400}
.gmr-booking.gmr-vittoria .gmr-time.is-selected{background:#8d142e;color:white;border-color:#8d142e}
.gmr-booking.gmr-vittoria .gmr-time-tabs{display:flex;gap:0;margin:0 0 18px;border-bottom:1px solid var(--gmr-line)}
.gmr-booking.gmr-vittoria .gmr-time-tab{flex:1;padding:10px 4px;border:0;border-bottom:2px solid transparent;color:#756c6d;background:transparent;font-size:14px;font-weight:500}
.gmr-booking.gmr-vittoria .gmr-time-tab.is-selected{border-bottom-color:#8d142e;color:#8d142e;background:none}
.gmr-booking.gmr-vittoria .gmr-time-period__head{display:none}.gmr-booking.gmr-vittoria .gmr-time-empty{font-size:14px;line-height:1.7;background:#fcfaf9;border:1px solid var(--gmr-line);padding:24px;color:#756c6d}
.gmr-booking.gmr-vittoria .gmr-counter-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;border:0}
.gmr-booking.gmr-vittoria .gmr-counter-row{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:0;padding:0;border:0;background:none}
.gmr-booking.gmr-vittoria .gmr-counter-row>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:5px;flex-wrap:wrap}
.gmr-booking.gmr-vittoria .gmr-counter-row strong{font-size:15px;font-weight:500}.gmr-booking.gmr-vittoria .gmr-counter-row>div>span{font-size:12px;color:#756c6d}
.gmr-booking.gmr-vittoria .gmr-counter{display:flex;width:100%;height:46px;align-items:center;justify-content:space-between;border:1px solid var(--gmr-line);background:#fff;gap:0}
.gmr-booking.gmr-vittoria .gmr-counter button{width:44px;min-width:30px;height:44px;border:0;background:none;color:#8d142e;font-size:22px;font-weight:400;padding:0}
.gmr-booking.gmr-vittoria .gmr-counter button:hover:not(:disabled){background:#f8eff1}.gmr-booking.gmr-vittoria .gmr-counter strong{font-size:17px;font-weight:500}
.gmr-booking.gmr-vittoria .gmr-field-block--seating{position:static!important;float:none!important;width:100%!important;margin:22px 0 0!important;clear:both}
.gmr-booking.gmr-vittoria .gmr-optional-toggle,.gmr-booking.gmr-vittoria .gmr-note-toggle{display:flex;width:100%;justify-content:space-between;align-items:center;min-height:42px;padding:10px 0;border:0;border-bottom:1px solid var(--gmr-line);background:transparent;color:#514849;font-size:14px;font-weight:400}
.gmr-booking.gmr-vittoria .gmr-optional-toggle em,.gmr-booking.gmr-vittoria .gmr-note-toggle em{font-size:12px;font-style:normal;font-weight:400;color:#756c6d}.gmr-booking.gmr-vittoria .gmr-optional-toggle strong{color:#8d142e;font-size:20px;font-weight:400}
.gmr-booking.gmr-vittoria .gmr-choice-row{display:flex;gap:8px;padding-top:12px}.gmr-booking.gmr-vittoria .gmr-choice-row button{flex:1;min-height:42px;padding:8px;border:1px solid var(--gmr-line);color:#514849;background:#fff;font-size:14px}.gmr-booking.gmr-vittoria .gmr-choice-row button.is-selected{color:#8d142e;background:#f8eff1;border-color:#8d142e}
.gmr-booking.gmr-vittoria .gmr-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.gmr-booking.gmr-vittoria .gmr-input{display:block;margin:0;padding:0;min-width:0}.gmr-booking.gmr-vittoria .gmr-input--full{grid-column:1/-1}
.gmr-booking.gmr-vittoria .gmr-input>span{display:block;margin:0 0 9px;font-size:14px;font-weight:500;color:#514849}.gmr-booking.gmr-vittoria .gmr-input em{font-size:11px;font-weight:400;color:#756c6d}
.gmr-booking.gmr-vittoria .gmr-input input,.gmr-booking.gmr-vittoria .gmr-input textarea{width:100%;height:auto;min-height:50px;padding:12px 14px;border:1px solid var(--gmr-line)!important;background:white;color:#282020;font-size:16px;line-height:1.4;font-weight:400;border-radius:0;box-shadow:none}
.gmr-booking.gmr-vittoria .gmr-input input::placeholder,.gmr-booking.gmr-vittoria .gmr-input textarea::placeholder{color:#958b8b;font-weight:400}.gmr-booking.gmr-vittoria .gmr-input textarea{margin-top:12px;min-height:100px}
.gmr-booking.gmr-vittoria .gmr-privacy-note{padding:0;margin:0 0 16px;border:0;background:none;color:#756c6d;font-size:12px;line-height:1.7}.gmr-booking.gmr-vittoria a{color:#8d142e;text-underline-offset:3px}
.gmr-booking.gmr-vittoria .gmr-checkline--feedback{display:flex;align-items:flex-start;gap:10px;margin:0;padding:0;border:0;background:none;font-size:12px;color:#756c6d}.gmr-booking.gmr-vittoria .gmr-checkline--feedback strong{font-size:13px;font-weight:500;color:#514849}.gmr-booking.gmr-vittoria .gmr-checkline--feedback small{font-size:11px;line-height:1.6}.gmr-booking.gmr-vittoria input[type="checkbox"]{width:16px;height:16px;margin-top:4px;accent-color:#8d142e;flex-shrink:0}
.gmr-booking.gmr-vittoria [data-step="4"] .gmr-step__actions{display:flex!important;position:static;margin:24px 0 0;padding:0;background:none;border:0}
.gmr-booking.gmr-vittoria .gmr-primary--submit{width:100%;min-height:54px;padding:14px 22px;border:1px solid #8d142e;background:#8d142e;color:#fff;font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;box-shadow:none;border-radius:0}
.gmr-booking.gmr-vittoria .gmr-primary--submit:hover{background:#6b1023;border-color:#6b1023}
.gmr-booking.gmr-vittoria .gmr-field-error:not(:empty),.gmr-booking.gmr-vittoria [data-error]:not(:empty){display:block;margin:10px 0 0;font-size:13px;color:#a01835}
.gmr-booking.gmr-vittoria .gmr-inline-option{margin-top:18px}.gmr-booking.gmr-vittoria .gmr-counter--small{max-width:140px}
.gmr-booking.gmr-vittoria.gmr-vittoria--hero{max-width:520px;padding:24px;background:#fff}
.gmr-booking.gmr-vittoria.gmr-vittoria--hero .vittoria-heading{display:block!important;margin:0 0 20px}.gmr-booking.gmr-vittoria .vittoria-heading>span,.gmr-booking.gmr-vittoria .vittoria-heading p{display:none}.gmr-booking.gmr-vittoria .vittoria-heading h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:32px;font-weight:600;color:#211b1b;margin:0}
.gmr-booking.gmr-vittoria .gmr-success{padding:30px 0}.gmr-booking.gmr-vittoria .gmr-success h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:34px}
@container(min-width:650px){.gmr-booking.gmr-vittoria .gmr-step.is-active[data-step="1"]{display:grid!important;grid-template-columns:1fr 1fr;gap:0 56px}.gmr-booking.gmr-vittoria [data-step="1"] .gmr-field-block--date{grid-column:1;grid-row:1}.gmr-booking.gmr-vittoria [data-step="1"] .gmr-time-block{grid-column:2;grid-row:1;margin:0}.gmr-booking.gmr-vittoria [data-step="1"]>[data-error]{grid-column:1/-1}}
@container(max-width:480px){.gmr-booking.gmr-vittoria .gmr-counter-list{gap:10px}.gmr-booking.gmr-vittoria .gmr-counter-row>div:first-child{display:block;min-height:46px}.gmr-booking.gmr-vittoria .gmr-counter-row>div>span{display:block}.gmr-booking.gmr-vittoria .gmr-counter-row strong{font-size:14px}.gmr-booking.gmr-vittoria .gmr-input-grid{grid-template-columns:1fr}.gmr-booking.gmr-vittoria .gmr-step__head h3{font-size:27px}}
.gmr-booking.gmr-vittoria[data-manage-mode="1"] .gmr-booking__layout,.gmr-booking.gmr-vittoria[data-manage-mode="1"] .vittoria-heading,.gmr-booking.gmr-vittoria [hidden]{display:none!important}
/* Explicitly replace legacy wizard grids and typography. */
.gmr-booking.gmr-vittoria{--gmr-font:"Jost",Arial,sans-serif}
.gmr-booking.gmr-vittoria .gmr-step__head h3{font-family:"Cormorant Garamond",Georgia,serif!important;font-size:30px!important;font-weight:600!important;line-height:1.2!important;letter-spacing:0!important}
.gmr-booking.gmr-vittoria .gmr-counter{display:grid;grid-template-columns:44px 1fr 44px;gap:0}
.gmr-booking.gmr-vittoria .gmr-counter :is(button,strong){width:100%;border:0;height:44px;background:transparent;justify-content:center;text-align:center}
.gmr-booking.gmr-vittoria .gmr-time__clock{font-family:"Jost",Arial,sans-serif;font-weight:500;font-size:15px}
.gmr-booking.gmr-vittoria .gmr-note-field{border:0;background:none;padding:0}
.gmr-booking.gmr-vittoria .gmr-calendar__blank{background:transparent}
@container(min-width:650px){.gmr-booking.gmr-vittoria [data-step="1"] .gmr-field-block--date{grid-area:1 / 1 / 2 / 2!important}.gmr-booking.gmr-vittoria [data-step="1"] .gmr-time-block{grid-area:1 / 2 / 2 / 3!important}.gmr-booking.gmr-vittoria [data-step="1"]>[data-error]{grid-column:1/-1!important}}
@container(max-width:480px){.gmr-booking.gmr-vittoria .gmr-counter{grid-template-columns:30px 1fr 30px}.gmr-booking.gmr-vittoria .gmr-step__head h3{font-size:27px!important}}

/* Compact hero: three choices in one row, details only when needed. */
.gmr-booking.gmr-vittoria .vittoria-hero-bar{display:none}
.gmr-booking.gmr-vittoria.vittoria-hero-ready{max-width:1120px;padding:24px 28px 28px;background:linear-gradient(115deg,#fcf8f7,#fff 70%);border:1px solid #eee3e4;border-radius:8px;box-shadow:none}
.gmr-booking.gmr-vittoria.vittoria-hero-ready .vittoria-heading{display:flex!important;align-items:baseline;justify-content:space-between;gap:20px;margin:0 0 18px}
.gmr-booking.gmr-vittoria.vittoria-hero-ready .vittoria-heading h2{font-size:32px;line-height:1.15;color:#381f26}
.gmr-booking.gmr-vittoria.vittoria-hero-ready .vittoria-heading p{display:block;margin:0;font-size:13px;font-weight:400;color:#857779}
.gmr-booking.gmr-vittoria.vittoria-hero-ready .gmr-booking__form>[data-step]{display:none!important}
.gmr-booking.gmr-vittoria.vittoria-hero-ready .vittoria-hero-bar{display:grid;grid-template-columns:1fr 1.16fr 1fr 1.16fr;gap:16px;align-items:end}
.gmr-booking.gmr-vittoria .vittoria-hero-label{display:block;margin:0 0 8px;font-size:13px;font-weight:400;line-height:1.4;color:#6b5b5e}
.gmr-booking.gmr-vittoria .vittoria-hero-field{min-width:0}
.gmr-booking.gmr-vittoria .vittoria-hero-field>button{display:flex;align-items:center;gap:10px;width:100%;height:54px;padding:0 14px;border:1px solid #e6dadd;border-radius:3px;background:#fff;color:#392d30;text-align:left;font-size:15px;font-weight:400;line-height:1.3}
.gmr-booking.gmr-vittoria .vittoria-hero-field>button:hover,.gmr-booking.gmr-vittoria .vittoria-hero-field>button[aria-expanded="true"]{border-color:#8d142e;background:#fffafa}
.gmr-booking.gmr-vittoria .vittoria-hero-field svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:#8d142e;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.gmr-booking.gmr-vittoria .vittoria-hero-field i{width:6px;height:6px;flex:0 0 6px;margin-left:auto;margin-top:-3px;border-right:1px solid #8d142e;border-bottom:1px solid #8d142e;transform:rotate(45deg)}
.gmr-booking.gmr-vittoria .vittoria-hero-continue,.gmr-booking.gmr-vittoria .vittoria-picker-done{display:flex;align-items:center;justify-content:center;gap:20px;height:54px;padding:0 18px;border:1px solid #8d142e;border-radius:3px;background:#8d142e;color:#fff;font-size:15px;line-height:1.3;font-weight:500;white-space:nowrap}
.gmr-booking.gmr-vittoria .vittoria-hero-continue:hover,.gmr-booking.gmr-vittoria .vittoria-picker-done:hover{background:#6b1023;border-color:#6b1023}
.gmr-booking.gmr-vittoria .vittoria-dialog{position:fixed;inset:auto;margin:0;width:360px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:24px;border:1px solid #e6dadd;border-radius:6px;background:#fff;color:#211b1b;box-shadow:0 12px 42px #32151e1f;font-family:"Jost",Arial,sans-serif;line-height:1.5;overflow-y:auto;overscroll-behavior:contain;text-align:left}
.gmr-booking.gmr-vittoria .vittoria-dialog:not([open]){display:none!important}
.gmr-booking.gmr-vittoria .vittoria-dialog::backdrop{background:rgba(32,17,22,.12)}
.gmr-booking.gmr-vittoria .vittoria-dialog--contact{inset:0;margin:auto;width:580px;padding:28px 32px}
.gmr-booking.gmr-vittoria .vittoria-dialog--contact::backdrop{background:rgba(32,17,22,.48)}
.gmr-booking.gmr-vittoria .vittoria-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}
.gmr-booking.gmr-vittoria .vittoria-dialog-head h3{margin:0;color:#381f26;font-family:"Cormorant Garamond",Georgia,serif!important;font-size:29px!important;font-weight:600!important;line-height:1.15!important;letter-spacing:0!important}
.gmr-booking.gmr-vittoria .vittoria-dialog-head button{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:0;background:#faf5f6;color:#8d142e;font-size:25px;font-weight:400}
.gmr-booking.gmr-vittoria .vittoria-dialog .gmr-step.is-active{padding:0!important;border:0}
.gmr-booking.gmr-vittoria .vittoria-dialog .gmr-step__head,.gmr-booking.gmr-vittoria .vittoria-dialog .gmr-field-heading,.gmr-booking.gmr-vittoria .vittoria-dialog .gmr-time-block>.gmr-field-label{display:none!important}
.gmr-booking.gmr-vittoria .vittoria-dialog .gmr-time-block{margin:0}
.gmr-booking.gmr-vittoria .vittoria-dialog .gmr-counter-list{display:flex;flex-direction:column;gap:18px}
.gmr-booking.gmr-vittoria .vittoria-dialog .gmr-counter-row{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}
.gmr-booking.gmr-vittoria .vittoria-dialog .gmr-counter-row>div:first-child{display:block;min-height:0}
.gmr-booking.gmr-vittoria .vittoria-dialog .gmr-counter-row>div:first-child span{display:block;font-size:12px}
.gmr-booking.gmr-vittoria .vittoria-dialog .gmr-counter{width:116px;flex:0 0 116px;grid-template-columns:36px 1fr 36px}
.gmr-booking.gmr-vittoria .vittoria-picker-done{width:100%;height:46px;margin-top:24px;font-size:14px}
.gmr-booking.gmr-vittoria .vittoria-dialog-summary{font-size:14px;line-height:1.7;margin:0 0 2px;color:#6b5b5e}
.gmr-booking.gmr-vittoria .vittoria-selection-change{display:block;margin:0 0 24px;padding:0;border:0;background:none;color:#8d142e;font-size:13px;line-height:1.7;text-decoration:underline;text-underline-offset:3px}
.gmr-booking.gmr-vittoria .vittoria-dialog [data-step="4"]{margin-top:22px;padding-top:18px!important;border-top:1px solid #e6dadd}
.gmr-booking.gmr-vittoria .vittoria-dialog .gmr-input-grid{gap:16px}
.gmr-booking.gmr-vittoria .vittoria-dialog .gmr-booking__global-error{margin-bottom:18px}
@container(max-width:760px){
  .gmr-booking.gmr-vittoria.vittoria-hero-ready .vittoria-hero-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .gmr-booking.gmr-vittoria.vittoria-hero-ready .vittoria-heading p{display:none}
}
@media(max-width:540px){
  .gmr-booking.gmr-vittoria.vittoria-hero-ready{padding:20px 18px 22px}
  .gmr-booking.gmr-vittoria .vittoria-dialog--contact{padding:24px 20px}
  .gmr-booking.gmr-vittoria .vittoria-dialog .gmr-input-grid{grid-template-columns:1fr}
}
@container(max-width:380px){
  .gmr-booking.gmr-vittoria.vittoria-hero-ready .vittoria-heading h2{font-size:28px}
  .gmr-booking.gmr-vittoria.vittoria-hero-ready .vittoria-hero-bar{gap:12px}
  .gmr-booking.gmr-vittoria .vittoria-hero-field>button{gap:7px;padding:0 10px;font-size:14px}
  .gmr-booking.gmr-vittoria .vittoria-hero-field svg{width:16px;height:16px;flex-basis:16px}
  .gmr-booking.gmr-vittoria .vittoria-hero-continue{gap:10px;padding:0 10px;font-size:14px}
}
@container(max-width:300px){
  .gmr-booking.gmr-vittoria .vittoria-hero-field svg{display:none}
  .gmr-booking.gmr-vittoria .vittoria-hero-field>button,.gmr-booking.gmr-vittoria .vittoria-hero-continue{padding:0 8px;font-size:13px;min-width:0}
}

/* Site-wide reservation launcher and compact, two-stage booking window. */
.gmr-booking.gmr-vittoria.gmr-vittoria--floating{position:fixed;right:24px;bottom:24px;width:360px;max-width:calc(100vw - 24px);height:0;margin:0;padding:0;border:0;background:none;box-shadow:none;z-index:99990}
.gmr-booking.gmr-vittoria.gmr-vittoria--floating>.gmr-booking__layout,.gmr-booking.gmr-vittoria.gmr-vittoria--floating>.vittoria-heading,.gmr-booking.gmr-vittoria.gmr-vittoria--floating>noscript{display:none!important}
.gmr-booking.gmr-vittoria .vittoria-floating-launcher{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;min-height:50px;padding:0 20px 0 0;border:1px solid #8d142e;border-radius:10px;background:#8d142e;color:#fff!important;font-size:15px;font-weight:500;text-decoration:none;line-height:1.2;box-shadow:0 5px 20px #38111d24;white-space:nowrap}
.gmr-booking.gmr-vittoria .vittoria-floating-launcher:hover{background:#6b1023;border-color:#6b1023}
.gmr-booking.gmr-vittoria .vittoria-floating-icon{display:grid;place-items:center;width:55px;height:38px;border-right:1px solid #ffffff30}
.gmr-booking.gmr-vittoria .vittoria-floating-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.gmr-booking.gmr-vittoria .vittoria-floating-panel{position:fixed;inset:auto 24px 24px auto;width:360px;max-width:calc(100vw - 24px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);margin:0;padding:0;border:1px solid #e8dce0;border-top:3px solid #8d142e;border-radius:12px;background:#fff;color:#302428;box-shadow:0 18px 70px #2e0b2030;font-family:"Jost",Arial,sans-serif;text-align:left;line-height:1.5;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d8c4ca #fff}
.gmr-booking.gmr-vittoria .vittoria-floating-panel::backdrop{background:#21101730}
.gmr-booking.gmr-vittoria .vittoria-floating-panel:not([open]){display:none!important}
.gmr-booking.gmr-vittoria .vittoria-floating-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 20px 16px;border-bottom:1px solid #eee5e7;background:#fff}
.gmr-booking.gmr-vittoria .vittoria-floating-head>div>span{display:block;margin:0 0 7px;font-size:10px;letter-spacing:.19em;font-weight:500;color:#8d142e}
.gmr-booking.gmr-vittoria .vittoria-floating-head h2{margin:0;font-family:"Cormorant Garamond",Georgia,serif!important;font-size:29px!important;font-weight:600!important;letter-spacing:0!important;line-height:1.08!important;color:#381f26;outline:none}
.gmr-booking.gmr-vittoria .vittoria-floating-head>button{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0;border:1px solid #eee3e6;border-radius:6px;background:#fff;color:#8d142e;font-size:25px;font-weight:400;line-height:1}
.gmr-booking.gmr-vittoria .vittoria-floating-head>button:hover{background:#f8eff1}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-booking__form>[data-step],.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-step__head{display:none!important}
.gmr-booking.gmr-vittoria .vittoria-floating-selection,.gmr-booking.gmr-vittoria .vittoria-floating-contact{padding:16px 20px 20px}
.gmr-booking.gmr-vittoria .vittoria-floating-guest-toggle{display:flex;align-items:center;gap:12px;width:100%;height:48px;padding:0 12px;border:1px solid #e7dce0;border-radius:6px;background:#fcf9fa;color:#615158;font-size:14px;font-weight:400;text-align:left}
.gmr-booking.gmr-vittoria .vittoria-floating-guest-toggle strong{margin-left:auto;color:#8d142e;font-size:15px;font-weight:500}
.gmr-booking.gmr-vittoria [data-floating-guests-panel]{padding:16px 0 0}
.gmr-booking.gmr-vittoria .vittoria-floating-counts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.gmr-booking.gmr-vittoria .vittoria-floating-counts button{height:44px;padding:0;border:1px solid #e5d7dc;border-radius:6px;background:#fff;color:#413139;font-size:15px;font-weight:400}
.gmr-booking.gmr-vittoria .vittoria-floating-counts button[aria-pressed="true"]{background:#8d142e;border-color:#8d142e;color:#fff}
.gmr-booking.gmr-vittoria .vittoria-floating-link,.gmr-booking.gmr-vittoria .vittoria-floating-back{padding:10px 0;border:0;background:none;color:#8d142e;font-size:13px;line-height:1.5;font-weight:400;text-decoration:underline;text-underline-offset:3px}
.gmr-booking.gmr-vittoria .vittoria-floating-apply{display:block;width:100%;min-height:42px;margin:8px 0 0;padding:8px 12px;border:1px solid #dec4cd;border-radius:6px;background:#fbf5f7;color:#8d142e;font-size:14px;font-weight:500}
.gmr-booking.gmr-vittoria .vittoria-floating-date-head,.gmr-booking.gmr-vittoria .vittoria-floating-time-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:3px 10px;margin:22px 0 12px;font-size:14px;font-weight:500;color:#443139}
.gmr-booking.gmr-vittoria .vittoria-floating-date-head small,.gmr-booking.gmr-vittoria .vittoria-floating-time-head small{font-size:11px;line-height:1.5;font-weight:400;color:#87717b}
.gmr-booking.gmr-vittoria .vittoria-floating-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gmr-booking.gmr-vittoria .vittoria-floating-dates button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:64px;padding:10px 5px;border:1px solid #e5d7dc;border-radius:6px;background:#fff;color:#4b3540;font-size:12px;font-weight:400;line-height:1.35}
.gmr-booking.gmr-vittoria .vittoria-floating-dates button strong{font-size:15px;font-weight:500}
.gmr-booking.gmr-vittoria .vittoria-floating-dates button[aria-pressed="true"]{background:#8d142e;border-color:#8d142e;color:#fff}
.gmr-booking.gmr-vittoria .vittoria-floating-dates button:hover:not([aria-pressed="true"]){border-color:#8d142e;background:#fcf7f9}
.gmr-booking.gmr-vittoria .vittoria-floating-other-date>span:first-child{font-size:22px;line-height:1}
.gmr-booking.gmr-vittoria .vittoria-floating-dates>p{grid-column:1/-1;margin:0;font-size:13px;line-height:1.6;color:#806a75}
.gmr-booking.gmr-vittoria [data-floating-calendar]{margin-top:16px;padding:18px 12px;border:1px solid #e8dce0;border-radius:6px;background:#fff}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-field-heading,.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-time-block>.gmr-field-label{display:none!important}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-time-block{margin:0}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-time{border-radius:6px;min-height:44px}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-time-tabs{margin-bottom:12px}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-time-tab{padding:8px 4px}
.gmr-booking.gmr-vittoria .vittoria-floating-next,.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-primary--submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:46px;margin:18px 0 0;padding:14px 18px;border:1px solid #8d142e;border-radius:6px;background:#8d142e;color:#fff;font-size:14px;font-weight:500;line-height:1.4;letter-spacing:0;text-transform:none}
.gmr-booking.gmr-vittoria .vittoria-floating-next:hover,.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-primary--submit:hover{background:#6b1023;border-color:#6b1023}
.gmr-booking.gmr-vittoria .vittoria-floating-note{margin:11px 0 0;font-size:11px;color:#88737e;text-align:center;line-height:1.5}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-step.is-active{padding:0!important;border:0}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-counter-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-counter-row{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-counter-row>div:first-child{display:block;min-height:0}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-counter-row>div:first-child span{display:block;font-size:11px}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-counter{width:116px;flex:0 0 116px;grid-template-columns:36px 1fr 36px;border-radius:5px}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-counter-row strong{font-size:14px}
.gmr-booking.gmr-vittoria .vittoria-floating-back{margin:-8px 0 8px}
.gmr-booking.gmr-vittoria .vittoria-floating-summary{margin:0 0 22px;padding:12px 14px;border:1px solid #eadde2;border-radius:6px;background:#fcf8fa;color:#71404f;font-size:13px;line-height:1.7}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-input-grid{grid-template-columns:1fr;gap:14px}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-input input,.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-input textarea{border-radius:5px}
.gmr-booking.gmr-vittoria .vittoria-floating-panel [data-step="4"]{margin-top:20px}
.gmr-booking.gmr-vittoria .vittoria-floating-panel [data-step="4"] .gmr-step__actions{margin:18px 0 0}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-primary--submit{margin:0}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-booking__global-error{margin:16px 24px 0;padding:12px;border:1px solid #eadde2;border-radius:6px;background:#fdf5f7;font-size:13px;line-height:1.6}
.gmr-booking.gmr-vittoria .vittoria-floating-retry{display:block;min-height:42px;padding:8px 12px;border:1px solid #dec4cd;border-radius:6px;background:#fff;color:#8d142e;font-size:13px;font-weight:400}
.gmr-booking.gmr-vittoria .gmr-booking__form>[data-floating-retry]{margin:12px 24px}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .vittoria-time-placeholder{min-height:110px;padding:14px}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .vittoria-time-placeholder>span{display:none}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-success{padding:24px}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-success h3{font-size:30px!important;line-height:1.15!important}
.gmr-booking.gmr-vittoria.gmr-vittoria--floating [hidden]{display:none!important}
@media(max-width:540px){
  .gmr-booking.gmr-vittoria.gmr-vittoria--floating{right:12px;bottom:12px}
  .gmr-booking.gmr-vittoria .vittoria-floating-launcher{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));min-height:52px;font-size:14px}
  .gmr-booking.gmr-vittoria .vittoria-floating-panel{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
  .gmr-booking.gmr-vittoria .vittoria-floating-head{padding:20px}
  .gmr-booking.gmr-vittoria .vittoria-floating-head h2{font-size:30px!important}
  .gmr-booking.gmr-vittoria .vittoria-floating-selection,.gmr-booking.gmr-vittoria .vittoria-floating-contact{padding:20px}
}
@media(prefers-reduced-motion:reduce){.gmr-booking.gmr-vittoria.gmr-vittoria--floating button{transition:none}}

/* Quiet, continuous motion; native dialog focus and Escape behavior are preserved. */
.gmr-booking.gmr-vittoria .vittoria-floating-panel[open]{animation:vittoria-panel-enter .42s cubic-bezier(.22,1,.36,1) both;transform-origin:bottom right}
.gmr-booking.gmr-vittoria .vittoria-floating-panel[open]::backdrop{animation:vittoria-backdrop-enter .35s ease both}
.gmr-booking.gmr-vittoria .vittoria-floating-panel.is-closing{animation:vittoria-panel-exit .24s ease both;pointer-events:none}
.gmr-booking.gmr-vittoria .vittoria-floating-panel.is-closing::backdrop{animation:vittoria-backdrop-enter .24s ease reverse both}
.gmr-booking.gmr-vittoria .vittoria-floating-launcher:not([hidden]){animation:vittoria-launcher-enter .35s cubic-bezier(.22,1,.36,1) both}
.gmr-booking.gmr-vittoria .vittoria-floating-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;padding:12px 0;border:0;border-top:1px solid #eadfe3;border-radius:0;background:transparent;color:#615158;font-size:14px;font-weight:400;text-align:left}
.gmr-booking.gmr-vittoria .vittoria-floating-section-toggle strong{font-size:14px;font-weight:500;color:#8d142e}
.gmr-booking.gmr-vittoria .vittoria-floating-guests{margin-bottom:12px}
.gmr-booking.gmr-vittoria [data-floating-date-panel],.gmr-booking.gmr-vittoria [data-floating-time-panel]{box-sizing:border-box;padding:0 0 16px;min-height:0}
.gmr-booking.gmr-vittoria [data-floating-guests-panel],.gmr-booking.gmr-vittoria [data-floating-guest-details],.gmr-booking.gmr-vittoria [data-floating-calendar]{box-sizing:border-box;min-height:0}
.gmr-booking.gmr-vittoria .vittoria-floating-caption{margin:0 0 10px;font-size:11px;color:#87717b}
.gmr-booking.gmr-vittoria [data-floating-date-label]{display:block;margin:0 0 10px;font-size:11px;color:#87717b}
.gmr-booking.gmr-vittoria .vittoria-floating-panel button{transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.gmr-booking.gmr-vittoria .vittoria-floating-panel .gmr-time{min-height:42px}
@keyframes vittoria-panel-enter{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes vittoria-panel-exit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.99)}}
@keyframes vittoria-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes vittoria-launcher-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
 .gmr-booking.gmr-vittoria .vittoria-floating-panel[open],.gmr-booking.gmr-vittoria .vittoria-floating-panel[open]::backdrop,.gmr-booking.gmr-vittoria .vittoria-floating-launcher:not([hidden]){animation:none!important}
 .gmr-booking.gmr-vittoria .vittoria-floating-panel button{transition:none}
}
