.gbar-resai-booking{max-width:1180px;margin:40px auto;padding:24px;font-family:system-ui,-apple-system,sans-serif;color:#102033}.gbar-resai-hero{padding:42px;border-radius:28px;background:#0b1722;color:#fff;margin-bottom:24px}.gbar-resai-hero span{letter-spacing:.16em;font-size:12px}.gbar-resai-hero h1{font-size:clamp(34px,6vw,64px);line-height:1;margin:.25em 0}.gbar-resai-hero p{max-width:760px;font-size:18px;color:#d9e2e9}.gbar-resai-booking form{background:#fff;border:1px solid #dfe7ee;border-radius:24px;padding:24px;box-shadow:0 12px 40px rgba(10,30,50,.08)}.resai-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.resai-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700}.resai-grid input,.resai-grid select,.resai-grid textarea{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #ccd7e0;border-radius:12px;font:inherit}.resai-btn,.resai-slot{border:0;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.resai-btn{margin-top:18px;background:#e4ebf1}.resai-btn.is-primary,.resai-slot.active{background:#0b6df0;color:#fff}.resai-slots{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.resai-slot{background:#f0f4f7}.resai-guest{border-top:1px solid #e4e9ee;padding-top:20px}.resai-consent{display:block;margin-top:15px}.resai-status{max-width:1180px;margin:18px auto;padding:16px 22px;background:#e9f7ee;border-radius:16px;display:flex;justify-content:space-between;gap:20px}.resai-error{color:#b42318}@media(max-width:720px){.resai-grid{grid-template-columns:1fr}.gbar-resai-booking{padding:12px}.gbar-resai-hero{padding:26px}}
.resai-policy{margin:16px 0;padding:14px 16px;border-radius:12px;background:#eef5fb;color:#23415c;font-weight:700}.resai-policy.is-deposit{background:#fff3d6;color:#684b00}.resai-message{margin-top:14px;font-weight:700}
/* 1.0.1 mobile readability */
.gbar-resai-booking,.gbar-resai-booking *{box-sizing:border-box}.gbar-resai-booking form{color:#102033}.gbar-resai-booking label,.gbar-resai-booking p,.gbar-resai-booking small{color:#243649}.gbar-resai-hero p{color:#e7edf2}.resai-grid input,.resai-grid select,.resai-grid textarea{background:#fff;color:#102033;-webkit-text-fill-color:#102033;min-height:46px;font-size:16px}.resai-status{color:#183c28}
@media(max-width:720px){.gbar-resai-booking{width:auto;max-width:100%;margin:14px auto;padding:10px}.gbar-resai-hero{padding:22px 18px;border-radius:18px}.gbar-resai-hero h1{font-size:clamp(30px,11vw,48px);overflow-wrap:anywhere}.gbar-resai-hero p{font-size:16px;line-height:1.5}.gbar-resai-booking form{padding:16px;border-radius:18px}.resai-grid{gap:12px}.resai-grid label{font-size:15px}.resai-btn,.resai-slot{min-height:44px}.resai-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.resai-status{margin:10px;padding:14px;flex-direction:column;overflow-wrap:anywhere}}
@media(max-width:420px){.resai-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 1.2.1 RC2 — mobile giorno/orario e turni */
.resai-field-title{display:block;font-weight:900;color:#102033;font-size:15px;line-height:1.2}.resai-date-field{position:relative}.resai-date-field input[type=date]{display:block!important;visibility:visible!important;opacity:1!important;min-height:50px!important;color:#102033!important;-webkit-text-fill-color:#102033!important;background:#fff!important;color-scheme:light}.resai-time-picker{margin-top:18px;padding:16px;border:1px solid #dfe7ee;border-radius:16px;background:#f8fafc}.resai-time-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.resai-time-head small{max-width:760px;color:#4b6173!important;line-height:1.4}.resai-slots-placeholder{margin:0;color:#587083!important;font-weight:650}.resai-slots .resai-error{grid-column:1/-1;margin:0}.resai-slot{font-size:16px;min-width:78px}.resai-slot.active{outline:3px solid rgba(11,109,240,.18)}
@media(max-width:720px){.resai-time-picker{padding:14px 12px;margin-top:14px}.resai-time-head{display:block}.resai-time-head .resai-field-title{font-size:17px;margin-bottom:5px}.resai-time-head small{display:block;font-size:13px}.resai-date-field .resai-field-title{font-size:16px}.resai-date-field input[type=date]{width:100%!important;font-size:16px!important;padding:12px 14px!important}.resai-slots{margin:12px 0 0}.resai-slot{min-height:48px!important;font-size:16px!important}}


/* 1.2.3 RC4 — G-BAR visual contrast / responsive hero */
.gbar-resai-booking .gbar-resai-hero{position:relative;overflow:hidden;padding:clamp(28px,4vw,48px);border-radius:26px;background:linear-gradient(135deg,#071722 0%,#0b1d2a 62%,#102836 100%);color:#f9f6ec!important;box-shadow:0 18px 46px rgba(4,17,26,.16)}
.gbar-resai-booking .gbar-resai-hero::after{content:"";position:absolute;width:220px;height:220px;right:-80px;top:-110px;border-radius:50%;background:rgba(211,164,58,.10);pointer-events:none}
.gbar-resai-booking .gbar-resai-hero>span{position:relative;z-index:1;display:block;color:#ddb348!important;-webkit-text-fill-color:#ddb348!important;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.gbar-resai-booking .gbar-resai-hero h1{position:relative;z-index:1;max-width:1020px;margin:.42em 0 .30em!important;color:#fffaf0!important;-webkit-text-fill-color:#fffaf0!important;font-size:clamp(38px,4.6vw,68px)!important;line-height:.98!important;letter-spacing:-.025em!important;text-shadow:0 2px 18px rgba(0,0,0,.24);opacity:1!important}
.gbar-resai-booking .gbar-resai-hero p{position:relative;z-index:1;max-width:880px;margin:0!important;color:#f0f3f4!important;-webkit-text-fill-color:#f0f3f4!important;font-size:clamp(16px,1.45vw,20px)!important;line-height:1.5!important;opacity:1!important}
@media(max-width:720px){.gbar-resai-booking .gbar-resai-hero{padding:24px 20px!important;border-radius:20px!important}.gbar-resai-booking .gbar-resai-hero h1{font-size:clamp(31px,9.7vw,46px)!important;line-height:1.02!important;margin:.38em 0 .34em!important;overflow-wrap:normal!important;word-break:normal!important}.gbar-resai-booking .gbar-resai-hero p{font-size:16px!important;line-height:1.48!important}}
@media(max-width:420px){.gbar-resai-booking .gbar-resai-hero{padding:21px 17px!important}.gbar-resai-booking .gbar-resai-hero h1{font-size:clamp(29px,9.3vw,39px)!important}}
/* 1.3.0 Dinner/Pub: area choice + confirmation */
.resai-area-field{border:0;margin:0;padding:0;min-width:0}.resai-area-field legend{font-weight:900;color:#102033;font-size:15px;margin-bottom:8px}.resai-area-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.resai-area-choices label{position:relative;cursor:pointer}.resai-area-choices input{position:absolute;opacity:0;pointer-events:none}.resai-area-choices span{display:flex;flex-direction:column;justify-content:center;min-height:50px;padding:10px 13px;border:1px solid #ccd8e1;border-radius:12px;background:#fff;color:#102033;font-weight:900}.resai-area-choices small{display:block;margin-top:2px;font-size:11px;font-weight:650;color:#66788a}.resai-area-choices input:checked+span{border-color:#b58726;box-shadow:0 0 0 3px rgba(181,135,38,.14);background:#fffaf0}.resai-confirmation-page{max-width:900px!important;margin:44px auto!important}.resai-confirmation{padding:34px;border:1px solid rgba(211,164,58,.4);border-radius:24px;background:linear-gradient(145deg,#fff,#fbf7ee);box-shadow:0 20px 55px rgba(16,32,51,.12);text-align:center;color:#102033}.resai-confirmation-check{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 12px;border-radius:50%;background:#173c2e;color:#fff;font-size:38px;font-weight:900}.resai-confirmation-kicker{display:block;font-weight:900;letter-spacing:.18em;color:#9b7628}.resai-confirmation h1{margin:8px 0 4px;font-size:clamp(30px,5vw,48px);color:#173c2e}.resai-confirmation-code{margin:0 0 22px;color:#596b7a}.resai-confirmation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}.resai-confirmation-grid>div{padding:14px 10px;border:1px solid #e6dfd0;border-radius:14px;background:#fff}.resai-confirmation-grid span,.resai-confirmation-grid small{display:block;color:#6b7782;font-size:12px}.resai-confirmation-grid strong{display:block;margin-top:4px;font-size:18px;color:#102033}.resai-confirmation-mail{margin:18px auto 24px;max-width:620px;color:#445566}.resai-confirmation .resai-btn{display:inline-flex;text-decoration:none;align-items:center;justify-content:center}.resai-btn:disabled{opacity:.6;cursor:wait}
@media(max-width:720px){.resai-booking-basics{grid-template-columns:1fr!important}.resai-area-choices{grid-template-columns:1fr 1fr}.resai-confirmation{padding:24px 16px}.resai-confirmation-grid{grid-template-columns:1fr 1fr}.resai-confirmation-page{margin:20px 12px!important}}


/* 1.3.1 RC2 — G-BAR booking UI refinement + aggressive theme override */
.gbar-resai-booking{
  --gbar-ink:#0a2231;
  --gbar-ink-2:#12384a;
  --gbar-gold:#c89a32;
  --gbar-gold-soft:#f4e6bd;
  --gbar-paper:#fffdf8;
  --gbar-line:#e7dcc2;
}
.gbar-resai-booking form#gbar-resai-form{
  background:linear-gradient(180deg,#fff 0%,#fffdf8 100%)!important;
  border:1px solid rgba(200,154,50,.28)!important;
  border-radius:28px!important;
  padding:clamp(22px,3vw,34px)!important;
  box-shadow:0 20px 55px rgba(9,34,49,.09)!important;
}
.gbar-resai-booking .resai-booking-basics{
  display:grid!important;
  grid-template-columns:minmax(180px,.72fr) minmax(360px,1.35fr) minmax(220px,.9fr)!important;
  gap:18px 22px!important;
  align-items:end!important;
}
.gbar-resai-booking .resai-booking-basics>label,
.gbar-resai-booking .resai-area-field{
  margin:0!important;
  min-width:0!important;
}
.gbar-resai-booking .resai-booking-basics>label,
.gbar-resai-booking .resai-area-field legend{
  font-size:15px!important;
  font-weight:850!important;
  color:var(--gbar-ink)!important;
  line-height:1.25!important;
}
.gbar-resai-booking .resai-booking-basics input[type=number],
.gbar-resai-booking .resai-booking-basics input[type=date]{
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  padding:0 16px!important;
  border:1px solid #d5dce1!important;
  border-radius:15px!important;
  background:#fff!important;
  color:var(--gbar-ink)!important;
  box-shadow:none!important;
  outline:none!important;
  font-size:17px!important;
  font-weight:750!important;
}
.gbar-resai-booking .resai-booking-basics input[type=number]:focus,
.gbar-resai-booking .resai-booking-basics input[type=date]:focus{
  border-color:var(--gbar-gold)!important;
  box-shadow:0 0 0 4px rgba(200,154,50,.14)!important;
}
.gbar-resai-booking fieldset.resai-area-field{
  display:block!important;
  border:0!important;
  outline:0!important;
  padding:0!important;
  margin:0!important;
  min-inline-size:0!important;
  background:transparent!important;
}
.gbar-resai-booking fieldset.resai-area-field legend{
  float:none!important;
  width:auto!important;
  max-width:none!important;
  padding:0!important;
  margin:0 0 8px!important;
  border:0!important;
}
.gbar-resai-booking .resai-area-choices{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
}
.gbar-resai-booking .resai-area-choices label.resai-area-card{
  display:block!important;
  position:relative!important;
  margin:0!important;
  padding:0!important;
  min-width:0!important;
  cursor:pointer!important;
  font:inherit!important;
}
.gbar-resai-booking .resai-area-choices label.resai-area-card>input[type=radio]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  margin:-1px!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.gbar-resai-booking .resai-area-choices label.resai-area-card>span{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  padding:8px 44px 8px 15px!important;
  margin:0!important;
  border:1px solid #d5dce1!important;
  border-radius:15px!important;
  background:#fff!important;
  color:var(--gbar-ink)!important;
  box-shadow:none!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.gbar-resai-booking .resai-area-choices label.resai-area-card>span::after{
  content:""!important;
  position:absolute!important;
  right:15px!important;
  top:50%!important;
  width:18px!important;
  height:18px!important;
  margin-top:-9px!important;
  border:2px solid #aab8c2!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 4px #fff!important;
}
.gbar-resai-booking .resai-area-choices label.resai-area-card>span strong{
  display:block!important;
  margin:0!important;
  color:inherit!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1.05!important;
}
.gbar-resai-booking .resai-area-choices label.resai-area-card>span small{
  display:block!important;
  margin:4px 0 0!important;
  color:#71808b!important;
  font-size:11.5px!important;
  font-weight:650!important;
  line-height:1.05!important;
}
.gbar-resai-booking .resai-area-choices label.resai-area-card>input[type=radio]:checked+span{
  border-color:var(--gbar-gold)!important;
  background:linear-gradient(135deg,#fffdf7 0%,#fbf2d8 100%)!important;
  color:var(--gbar-ink)!important;
  box-shadow:0 0 0 3px rgba(200,154,50,.13),0 8px 20px rgba(9,34,49,.06)!important;
}
.gbar-resai-booking .resai-area-choices label.resai-area-card>input[type=radio]:checked+span::after{
  border-color:var(--gbar-gold)!important;
  background:var(--gbar-ink)!important;
  box-shadow:inset 0 0 0 4px #fff!important;
}
.gbar-resai-booking .resai-area-choices label.resai-area-card:hover>span{
  transform:translateY(-1px)!important;
  border-color:#c4ad72!important;
}
.gbar-resai-booking button.resai-btn[data-find]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:50px!important;
  margin:20px 0 0!important;
  padding:0 24px!important;
  border:1px solid var(--gbar-ink)!important;
  border-radius:14px!important;
  background:var(--gbar-ink)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:15px!important;
  font-weight:850!important;
  box-shadow:0 10px 24px rgba(10,34,49,.12)!important;
}
.gbar-resai-booking button.resai-btn[data-find]:hover{background:var(--gbar-ink-2)!important;transform:translateY(-1px)!important}
.gbar-resai-booking .resai-time-picker{
  margin-top:20px!important;
  padding:18px 20px!important;
  border:1px solid #e0e6ea!important;
  border-radius:18px!important;
  background:#f8fafb!important;
}
.gbar-resai-booking .resai-time-head{align-items:center!important;margin-bottom:10px!important}
.gbar-resai-booking .resai-time-head .resai-field-title{font-size:16px!important;color:var(--gbar-ink)!important}
.gbar-resai-booking .resai-slot{
  min-width:82px!important;
  min-height:46px!important;
  border:1px solid #dbe3e8!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--gbar-ink)!important;
  font-weight:850!important;
}
.gbar-resai-booking .resai-slot:hover{border-color:var(--gbar-gold)!important;background:#fffaf0!important}
.gbar-resai-booking .resai-slot.active{border-color:var(--gbar-ink)!important;background:var(--gbar-ink)!important;color:#fff!important;outline:3px solid rgba(200,154,50,.22)!important}
.gbar-resai-booking .resai-guest{margin-top:22px!important;border-top:1px solid var(--gbar-line)!important;padding-top:22px!important}
.gbar-resai-booking .resai-guest .resai-btn.is-primary{background:var(--gbar-ink)!important;color:#fff!important;border:1px solid var(--gbar-ink)!important}
@media(max-width:980px){
 .gbar-resai-booking .resai-booking-basics{grid-template-columns:1fr 1.4fr!important}
 .gbar-resai-booking .resai-date-field{grid-column:1/-1!important;max-width:360px!important}
}
@media(max-width:720px){
 .gbar-resai-booking form#gbar-resai-form{padding:18px!important;border-radius:20px!important}
 .gbar-resai-booking .resai-booking-basics{grid-template-columns:1fr!important;gap:15px!important}
 .gbar-resai-booking .resai-date-field{grid-column:auto!important;max-width:none!important}
 .gbar-resai-booking .resai-area-choices{grid-template-columns:1fr 1fr!important}
 .gbar-resai-booking button.resai-btn[data-find]{width:100%!important;margin-top:18px!important}
 .gbar-resai-booking .resai-time-picker{padding:15px!important}
}
@media(max-width:420px){
 .gbar-resai-booking .resai-area-choices{grid-template-columns:1fr!important}
 .gbar-resai-booking .resai-area-choices label.resai-area-card>span{height:54px!important;min-height:54px!important}
}

/* 1.3.4 RC5 — clean Plateform-inspired booking selector (original G-BAR implementation) */
.gbar-resai-booking form#gbar-resai-form{
  max-width:1120px!important;
  margin:0 auto!important;
  padding:30px!important;
  border:1px solid rgba(10,34,49,.08)!important;
  border-radius:30px!important;
  background:#fff!important;
  box-shadow:0 22px 60px rgba(8,28,40,.10)!important;
}
.gbar-resai-booking .resai-booking-basics{
  display:grid!important;
  grid-template-columns:minmax(180px,.72fr) minmax(360px,1.25fr) minmax(210px,.82fr)!important;
  align-items:end!important;
  gap:18px!important;
}
.gbar-resai-booking .resai-area-field{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.gbar-resai-booking .resai-area-title{
  display:block!important;
  margin:0 0 8px!important;
  color:#0a2231!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1.2!important;
}
.gbar-resai-booking .resai-area-choices{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.gbar-resai-booking .resai-area-card{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  cursor:pointer!important;
}
.gbar-resai-booking .resai-area-card>input[type=radio]{
  position:absolute!important;
  width:1px!important;height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.gbar-resai-booking .resai-area-card-body{
  position:relative!important;
  display:grid!important;
  grid-template-columns:38px 1fr 24px!important;
  align-items:center!important;
  gap:10px!important;
  min-height:62px!important;
  padding:10px 13px!important;
  border:1px solid #d8e0e5!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#0a2231!important;
  box-shadow:0 4px 14px rgba(8,28,40,.035)!important;
  transition:.18s ease!important;
}
.gbar-resai-booking .resai-area-icon{
  display:grid!important;
  place-items:center!important;
  width:38px!important;height:38px!important;
  border-radius:12px!important;
  background:#f4f7f8!important;
  color:#0a2231!important;
  font-size:21px!important;
  line-height:1!important;
}
.gbar-resai-booking .resai-area-card-body>strong{
  margin:0!important;
  color:#0a2231!important;
  font-size:17px!important;
  font-weight:900!important;
  line-height:1!important;
}
.gbar-resai-booking .resai-area-check{
  display:grid!important;
  place-items:center!important;
  width:22px!important;height:22px!important;
  border:1.5px solid #c7d1d8!important;
  border-radius:50%!important;
  color:transparent!important;
  background:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
}
.gbar-resai-booking .resai-area-card>input[type=radio]:checked+.resai-area-card-body{
  border-color:#c89a32!important;
  background:linear-gradient(135deg,#fffdf8 0%,#f8efd8 100%)!important;
  box-shadow:0 0 0 3px rgba(200,154,50,.12),0 10px 24px rgba(8,28,40,.06)!important;
}
.gbar-resai-booking .resai-area-card>input[type=radio]:checked+.resai-area-card-body .resai-area-icon{
  background:#0a2231!important;
  color:#fff!important;
}
.gbar-resai-booking .resai-area-card>input[type=radio]:checked+.resai-area-card-body .resai-area-check{
  border-color:#0a2231!important;
  background:#0a2231!important;
  color:#fff!important;
}
.gbar-resai-booking .resai-area-card:hover .resai-area-card-body{
  transform:translateY(-1px)!important;
  border-color:#c8b279!important;
}
.gbar-resai-booking button.resai-btn[data-find]{
  min-width:210px!important;
  min-height:52px!important;
  padding:0 24px!important;
  border-radius:15px!important;
  background:#0a2231!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(10,34,49,.15)!important;
}
.gbar-resai-booking .resai-time-picker{
  background:#f7f9fa!important;
  border:1px solid #e2e7ea!important;
  border-radius:20px!important;
}
@media(max-width:980px){
 .gbar-resai-booking .resai-booking-basics{grid-template-columns:1fr 1.25fr!important}
 .gbar-resai-booking .resai-date-field{grid-column:1/-1!important;max-width:420px!important}
}
@media(max-width:720px){
 .gbar-resai-booking form#gbar-resai-form{padding:18px!important;border-radius:22px!important}
 .gbar-resai-booking .resai-booking-basics{grid-template-columns:1fr!important}
 .gbar-resai-booking .resai-date-field{grid-column:auto!important;max-width:none!important}
 .gbar-resai-booking button.resai-btn[data-find]{width:100%!important}
}
@media(max-width:430px){
 .gbar-resai-booking .resai-area-choices{grid-template-columns:1fr!important}
}
.gbar-resai-booking .resai-area-card-body::after{content:none!important;display:none!important}

/* 1.3.5 RC6 — STABLE UI OVERRIDES. Visual only: no booking logic changes. */
.gbar-resai-booking #gbar-resai-form .resai-booking-basics{
  display:grid!important;
  grid-template-columns:minmax(180px,.75fr) minmax(380px,1.35fr) minmax(230px,.9fr)!important;
  gap:20px!important;
  align-items:end!important;
}
.gbar-resai-booking #gbar-resai-form .resai-area-field{
  display:block!important;position:relative!important;width:100%!important;min-width:0!important;
  margin:0!important;padding:0!important;border:0!important;background:transparent!important;
}
.gbar-resai-booking #gbar-resai-form .resai-area-title{
  display:block!important;margin:0 0 9px!important;padding:0!important;font-size:15px!important;
  line-height:1.2!important;font-weight:850!important;color:#0a2231!important;
}
.gbar-resai-booking #gbar-resai-form .resai-area-choices{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;width:100%!important;
  margin:0!important;padding:0!important;
}
.gbar-resai-booking #gbar-resai-form label.resai-area-card{
  position:relative!important;display:block!important;width:100%!important;min-width:0!important;
  margin:0!important;padding:0!important;border:0!important;background:transparent!important;cursor:pointer!important;
}
.gbar-resai-booking #gbar-resai-form label.resai-area-card > input[type="radio"]{
  position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;
  margin:0!important;padding:0!important;opacity:0!important;appearance:none!important;-webkit-appearance:none!important;
}
.gbar-resai-booking #gbar-resai-form label.resai-area-card > .resai-area-card-body{
  position:relative!important;display:flex!important;align-items:center!important;gap:12px!important;
  min-height:68px!important;width:100%!important;margin:0!important;padding:12px 14px!important;
  border:1px solid #d7e0e5!important;border-radius:17px!important;background:#fff!important;
  color:#0a2231!important;box-shadow:0 5px 16px rgba(8,28,40,.04)!important;transition:.18s ease!important;
}
.gbar-resai-booking #gbar-resai-form .resai-area-icon{
  flex:0 0 40px!important;display:grid!important;place-items:center!important;width:40px!important;height:40px!important;
  border-radius:13px!important;background:#f2f5f6!important;color:#0a2231!important;font-size:20px!important;line-height:1!important;
}
.gbar-resai-booking #gbar-resai-form .resai-area-card-body > strong{
  flex:1 1 auto!important;display:block!important;margin:0!important;padding:0!important;font-size:17px!important;
  line-height:1.1!important;font-weight:900!important;color:#0a2231!important;white-space:nowrap!important;
}
.gbar-resai-booking #gbar-resai-form .resai-area-check{
  flex:0 0 24px!important;display:grid!important;place-items:center!important;width:24px!important;height:24px!important;
  border:1.5px solid #c7d1d8!important;border-radius:999px!important;background:#fff!important;color:transparent!important;
  font-size:13px!important;font-weight:900!important;
}
.gbar-resai-booking #gbar-resai-form label.resai-area-card > input[type="radio"]:checked + .resai-area-card-body{
  border-color:#c89a32!important;background:linear-gradient(135deg,#fffdf8 0%,#f7edd3 100%)!important;
  box-shadow:0 0 0 3px rgba(200,154,50,.12),0 10px 22px rgba(8,28,40,.06)!important;
}
.gbar-resai-booking #gbar-resai-form label.resai-area-card > input[type="radio"]:checked + .resai-area-card-body .resai-area-icon,
.gbar-resai-booking #gbar-resai-form label.resai-area-card > input[type="radio"]:checked + .resai-area-card-body .resai-area-check{
  background:#0a2231!important;color:#fff!important;border-color:#0a2231!important;
}
.gbar-resai-booking #gbar-resai-form .resai-message{
  display:block!important;margin-top:16px!important;padding:0!important;border-radius:14px!important;font-weight:800!important;
}
.gbar-resai-booking #gbar-resai-form .resai-message:not(:empty){padding:13px 15px!important;background:#fff5f4!important;border:1px solid #f1c9c4!important;color:#9f2f28!important;}
@media(max-width:1050px){
 .gbar-resai-booking #gbar-resai-form .resai-booking-basics{grid-template-columns:1fr 1.25fr!important}
 .gbar-resai-booking #gbar-resai-form .resai-date-field{grid-column:1/-1!important;max-width:430px!important}
}
@media(max-width:720px){
 .gbar-resai-booking #gbar-resai-form .resai-booking-basics{grid-template-columns:1fr!important}
 .gbar-resai-booking #gbar-resai-form .resai-date-field{grid-column:auto!important;max-width:none!important}
 .gbar-resai-booking #gbar-resai-form .resai-area-choices{grid-template-columns:1fr 1fr!important}
}
@media(max-width:460px){.gbar-resai-booking #gbar-resai-form .resai-area-choices{grid-template-columns:1fr!important}}


/* 1.3.6 RC7 — phone prefix, explicit table and stable premium UI */
.gbar-resai-booking .resai-phone-field{display:flex!important;flex-direction:column!important;gap:7px!important}
.gbar-resai-booking .resai-phone-combo{display:grid!important;grid-template-columns:minmax(165px,.72fr) minmax(180px,1.28fr)!important;gap:9px!important;width:100%!important}
.gbar-resai-booking .resai-phone-combo select,.gbar-resai-booking .resai-phone-combo input{width:100%!important;min-height:52px!important;border:1px solid #d5dce1!important;border-radius:13px!important;background:#fff!important;color:#0a2231!important;padding:0 12px!important;font-size:15px!important}
.gbar-resai-booking .resai-phone-combo select:focus,.gbar-resai-booking .resai-phone-combo input:focus{border-color:#c89a32!important;box-shadow:0 0 0 3px rgba(200,154,50,.12)!important;outline:none!important}
.gbar-resai-booking .resai-confirmation-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.gbar-resai-booking .resai-confirmation-table{border-color:#c89a32!important;background:linear-gradient(145deg,#fffdf5,#f6e9c8)!important}
.gbar-resai-booking .resai-confirmation-table strong{color:#0a2231!important;font-size:20px!important}
@media(max-width:900px){.gbar-resai-booking .resai-confirmation-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.gbar-resai-booking .resai-confirmation-table{grid-column:1/-1!important}}
@media(max-width:560px){.gbar-resai-booking .resai-phone-combo{grid-template-columns:1fr!important}.gbar-resai-booking .resai-confirmation-grid{grid-template-columns:1fr!important}.gbar-resai-booking .resai-confirmation-table{grid-column:auto!important}}


/* 1.4.0 RC11 — definitive customer area selector: real SVG icons, no I/E badges. */
body .gbar-resai-booking #gbar-resai-form .resai-area-choices{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;
}
body .gbar-resai-booking #gbar-resai-form label.resai-area-card > .resai-area-card-body{
  display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important;
  justify-items:center!important;align-items:center!important;gap:9px!important;
  min-height:142px!important;padding:16px 12px!important;text-align:center!important;
}
body .gbar-resai-booking #gbar-resai-form .resai-area-visual{
  display:grid!important;place-items:center!important;width:52px!important;height:52px!important;
  border-radius:50%!important;background:#eef2f4!important;color:#0a2231!important;
}
body .gbar-resai-booking #gbar-resai-form .resai-area-visual svg{
  display:block!important;width:27px!important;height:27px!important;fill:none!important;
  stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
body .gbar-resai-booking #gbar-resai-form .resai-area-card-body > strong{
  display:block!important;margin:0!important;font-size:17px!important;line-height:1.15!important;font-weight:900!important;
}
body .gbar-resai-booking #gbar-resai-form .resai-area-state{
  display:block!important;width:23px!important;height:23px!important;border:2px solid #a8b5bf!important;
  border-radius:50%!important;background:#fff!important;box-shadow:inset 0 0 0 4px #fff!important;
}
body .gbar-resai-booking #gbar-resai-form label.resai-area-card > input[type="radio"]:checked + .resai-area-card-body .resai-area-visual{
  background:#9d7617!important;color:#fff!important;
}
body .gbar-resai-booking #gbar-resai-form label.resai-area-card > input[type="radio"]:checked + .resai-area-card-body .resai-area-state{
  border-color:#9d7617!important;background:#9d7617!important;
}
body .gbar-resai-booking #gbar-resai-form .resai-area-icon,
body .gbar-resai-booking #gbar-resai-form .resai-area-check{display:none!important}
@media(max-width:460px){
  body .gbar-resai-booking #gbar-resai-form .resai-area-choices{grid-template-columns:1fr 1fr!important;gap:8px!important}
  body .gbar-resai-booking #gbar-resai-form label.resai-area-card > .resai-area-card-body{min-height:124px!important;padding:12px 8px!important}
  body .gbar-resai-booking #gbar-resai-form .resai-area-visual{width:44px!important;height:44px!important}
  body .gbar-resai-booking #gbar-resai-form .resai-area-visual svg{width:23px!important;height:23px!important}
}
