@import url("https://fonts.googleapis.com/css?family=Montserrat");

/* =========================================================
   Click2Reserve – Online Widget (ONE optimized CSS)
   Merge of:
   - /online/<venue>/style.css
   - /online/<venue>/css/widget-theme.css
========================================================= */

/* ---------- Theme tokens (defaults = dark) ---------- */
:root{
  /* Base surfaces */
  --c2r-bg: #121212;
  --c2r-text: #f1f1f1;
  --c2r-surface: #1e1e1e;
  --c2r-surface2: #161616;
  --c2r-border: #333;

  /* Inputs */
  --c2r-input-bg: #0f0f0f;
  --c2r-input-text: #f1f1f1;
  --c2r-input-border: #3a3a3a;

  /* Brand */
  --c2r-accent: #c8a03a;          /* GOLD (PHP can override inline if you want) */
  --c2r-accent-hover: #b88f2f;

  /* Buttons / selection */
  --c2r-selected-bg: var(--c2r-accent);
  --c2r-selected-border: var(--c2r-accent);
  --c2r-selected-text: #111;

  /* Slot/seat normal */
  --c2r-choice-bg: #ffffff;
  --c2r-choice-border: #cbd5e1;
  --c2r-choice-text: #0f172a;

  /* Animated border gradient */
  --c2r-border-gradient: linear-gradient(
    270deg,
    #ffffff,
    #000000,
    #ffffff,
    #000000,
    #000000,
    #ffffff,
    #000000
  );
  --c2r-border-speed: 80s;

  /* Convenience aliases */
  --c2r-gold: var(--c2r-accent);
  --c2r-gold-hover: var(--c2r-accent-hover);
}


/* Light overrides */
.c2r-theme-light{
  --c2r-bg: #ffffff;
  --c2r-text: #0f172a;
  --c2r-surface: #ffffff;
  --c2r-surface2: #f8fafc;
  --c2r-border: #e2e8f0;

  --c2r-input-bg: #ffffff;
  --c2r-input-text: #0f172a;
  --c2r-input-border: #cbd5e1;

  /* Light border gradient looks “premium” (soft + gold) */
  --c2r-border-gradient: linear-gradient(
    270deg,
    #f8fafc,
    #e2e8f0,
    #c8a03a,
    #f8fafc,
    #e2e8f0
  );
}

/* Auto follows OS */
@media (prefers-color-scheme: light){
  .c2r-theme-auto{
    --c2r-bg: #ffffff;
    --c2r-text: #0f172a;
    --c2r-surface: #ffffff;
    --c2r-surface2: #f8fafc;
    --c2r-border: #e2e8f0;

    --c2r-input-bg: #ffffff;
    --c2r-input-text: #0f172a;
    --c2r-input-border: #cbd5e1;

    --c2r-border-gradient: linear-gradient(
      270deg,
      #f8fafc,
      #e2e8f0,
      #c8a03a,
      #f8fafc,
      #e2e8f0
    );
  }
}

/* ---------- Base page (ONLY when theme class exists) ---------- */
html, body{ height:100%; }
html{ width:100%; }

body.c2r-theme-dark,
body.c2r-theme-auto{
  margin:0;
  padding:0;
  background: var(--c2r-bg);
  color: var(--c2r-text);
  font-family: Arial, sans-serif;
}

p{ color: inherit; }
a{ color: inherit; }
a:hover{ color: var(--c2r-accent); text-decoration: none; }

/* Mobile footer spacing fix (kept from your original) */
@media (max-width: 767px){
  #footer{
    margin-left:-20px;
    margin-right:-20px;
    padding-left:20px;
    padding-right:20px;
  }
}

/* ---------- Small utilities ---------- */
.text-sm{ font-size:.875rem; line-height:1.25rem; color:inherit; }
#error, .error{ color:red; font-family:verdana, Helvetica, sans-serif; }
option:disabled{ color:grey; font-style:italic; }
.initiallyHidden{ display:none; }

#contact-form{ height:auto; overflow-y:auto; }

.c2r-disabled{ opacity:.55; pointer-events:none; }
.c2r-hidden{ display:none !important; }

.grecaptcha-badge{
  z-index: 2147483647 !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  right: 12px !important;
  bottom: 54px !important;
}

.c2r-recaptcha-disclosure{
  max-width: 620px;
  margin: 14px auto 0;
  color: rgba(248,250,252,.46);
  font-size: .68rem;
  line-height: 1.35;
  text-align: center;
}

.c2r-recaptcha-disclosure a{
  color: rgba(245,200,105,.78);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Step indicator */
.step.finish{ background-color:#04AA6D; }

/* Checkmark animation */
@keyframes popIn{
  0%   { transform:scale(.2); opacity:0; }
  80%  { transform:scale(1.2); opacity:1; }
  100% { transform:scale(1); }
}
.animated-checkmark{ animation: popIn .6s ease-out forwards; transform-origin:center; }

.reservation-code{ font-size:1.3rem; margin-top:20px; padding:10px; display:inline-block; }
.copy-btn{ vertical-align:middle; transition:all .3s ease; }

/* Invalid fields */
input.invalid, select.invalid, textarea.invalid{ border:2px solid red; }

/* ---------- Embed mode ---------- */
.c2r-embed #footer,
.c2r-embed .logoA{ display:none !important; }
.c2r-embed section{ max-width:100% !important; }
.c2r-embed .grecaptcha-badge{
  bottom: 12px !important;
  right: 12px !important;
  transform: scale(.86);
  transform-origin: bottom right;
}

/* ---------- Section card (used in deposit/thankyou) ---------- */
section{
  z-index:999;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  padding:1rem;
  border:1px solid var(--c2r-border);
  border-radius:4px;
  background: var(--c2r-surface2);
  color: var(--c2r-text);
  position:relative;
  top:2px;
  height:auto;
  margin:0 auto;
  text-align:center;
}

/* ---------- Widget shell ---------- */
.reserveWidget{
  z-index:1000;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  padding:1rem;
  border:1px solid var(--c2r-border);
  border-radius:4px;
  position:relative;
  top:2px;
  height:auto;
  margin-left:auto;
  margin-right:auto;
  background: var(--c2r-surface);
  color: var(--c2r-text);
}

/* Keep grid safe: DO NOT style .row globally */
.reserveWidget .row{ color: inherit; }

/* Animated border wrapper */
.block{
  position:relative;
  background: var(--c2r-surface2);
}

/* Animated border around the form */
.block:before,
.block:after{
  content:'';
  position:absolute;
  left:-2px;
  top:-2px;
  background: var(--c2r-border-gradient);
  background-size:400%;
  width:calc(100% + 4px);
  height:calc(100% + 4px);
  z-index:-1;
  animation: steam var(--c2r-border-speed) linear infinite;
}
@keyframes steam{
  0%   { background-position:0 0; }
  50%  { background-position:400% 0; }
  100% { background-position:0 0; }
}
.block:after{ filter: blur(50px); }

/* Country code select */
#country_code{
  color: var(--c2r-input-text);
  background: var(--c2r-input-bg);
}

/* Output (thankyou / summaries) */
.rsvOut{
  color: var(--c2r-choice-text);
  background: var(--c2r-choice-bg);
  font-size:15px;
  padding:10px;
}

/* Before accepting Reservation */
.noActive{
  background-color:#ddd;
  cursor:not-allowed;
}

/* ---------- Inputs / labels ---------- */
.reserveWidget .control-label{
  font-size:18px;
  color: inherit;
}

.reserveWidget input[type="text"]{
  padding:10px;
  margin:0;
  font-size:18px;
  color: var(--c2r-input-text);
  background: var(--c2r-input-bg);
  border:1px solid var(--c2r-input-border);
}

/* Widget-scoped buttons */
.reserveWidget .btn{
  border-radius:5px;
  font-weight:300;
  height:45px;
}

/* input group sizing */
.reserveWidget .input-group > .form-control:not(:first-child),
.reserveWidget .input-group > .custom-select:not(:first-child){
  font-size:18px;
}

/* Alerts */
.reserveWidget .alert{
  width:100%;
  max-width:350px;
  margin-left:auto;
  margin-right:auto;
}

/* ---------- Horizontal scrollable (seats) ---------- */
div.horizontal-scrollable{
  overflow:auto;
  white-space:nowrap;
}
div.horizontal-scrollable a{
  display:inline-block;
  color: inherit;
  text-align:center;
  padding:14px;
  text-decoration:none;
}
div.horizontal-scrollable a:hover{ background-color:#777; }

/* ---------- Wizard tabs ---------- */
.tab{ display:none; }

.step{
  height:15px;
  width:15px;
  margin:0 2px;
  background-color:#bbbbbb;
  border:none;
  border-radius:50%;
  display:inline-block;
  opacity:.5;
}
.step.active{ opacity:1; }

/* ---------- Form fields theme (scoped to widget area only) ---------- */
#contact-page input:not([type="radio"]):not([type="checkbox"]),
#contact-page select,
#contact-page textarea,
#contact-page .form-control,
#contact-page .custom-select,
#contact-page .form-select{
  background: var(--c2r-input-bg) !important;
  color: var(--c2r-input-text) !important;
  border:1px solid var(--c2r-input-border) !important;
}

#contact-page input::placeholder,
#contact-page textarea::placeholder{
  opacity:.7;
  color: var(--c2r-input-text) !important;
}

#contact-page .form-control:focus,
#contact-page select:focus,
#contact-page textarea:focus{
  border-color: var(--c2r-accent) !important;
  box-shadow: 0 0 0 .2rem rgba(0,0,0,.12) !important;
}

.c2r-theme-light #contact-page,
.c2r-theme-light #contact-page *{
  color: inherit;
}

.c2r-theme-light #contact-page .text-danger{ color:#dc2626 !important; }
.c2r-theme-light #contact-page .text-muted{  color:#64748b !important; }

.c2r-theme-light #contact-page,
.c2r-theme-light #contact-form,
.c2r-theme-light #contact-page .reserveWidget,
.c2r-theme-light #contact-page .tab,
.c2r-theme-light #contact-page .block,
.c2r-theme-light section{
  background: var(--c2r-surface) !important;
  color: var(--c2r-text) !important;
}

/* ---------- Cards ---------- */
.c2r-card{
  background: var(--c2r-surface) !important;
  color: var(--c2r-text) !important;
  border: 1px solid var(--c2r-border) !important;
}

/* ---------- Seats / Time slots ---------- */
.input-group-btn input[type="radio"],
.input-group-btnDate input[type="radio"],
.input-group-btnTime input[type="radio"]{
  display:none;
}

.input-group-btn label,
.input-group-btnDate label,
.input-group-btnTime label,
label.c2r-seat,
label.c2r-slot,
.btnDate,
.btnTime{
  background: var(--c2r-choice-bg) !important;
  color: var(--c2r-choice-text) !important;
  height:45px;
  border-radius:5px;
  border:1px solid var(--c2r-choice-border) !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  cursor:pointer;
  user-select:none;
}

.input-group-btn label{ width:45px; }
.input-group-btnDate label, .btnDate{ width:120px; }
.input-group-btnTime label{ width:80px; }
.btnTime{ width:120px; }

.input-group-btn label.active,
.input-group-btnDate label.active,
.input-group-btnTime label.active,
label.c2r-seat.active,
label.c2r-slot.active,
label.c2r-slot.is-selected{
  background: var(--c2r-selected-bg) !important;
  border-color: var(--c2r-selected-border) !important;
  color: var(--c2r-selected-text) !important;
}

#contact-page .c2r-time-step{
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
}

#contact-page .c2r-time-step .input-group-btnDate,
#contact-page .c2r-time-step .timeSlots{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 10px;
  width: 100%;
  overflow: visible;
}

#contact-page .c2r-time-step label.c2r-slot{
  width: 100% !important;
  min-width: 0 !important;
  min-height: 58px;
  height: auto !important;
  align-items: flex-start;
  justify-content: flex-start;
  padding: .55rem .7rem 1.55rem !important;
  position: relative;
  z-index: 3;
  touch-action: manipulation;
}

#contact-page .c2r-time-step label.c2r-slot .c2r-time{
  display: block;
  width: 100%;
  line-height: 1.15;
  margin-bottom: .35rem;
}

#contact-page .c2r-time-step label.c2r-slot .c2r-badge{
  bottom: .38rem;
}

#contact-page .c2r-date-native{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#contact-page .c2r-calendar{
  max-width: 520px;
  margin: 8px auto 4px;
  padding: 4px 0 2px;
}

#contact-page .c2r-calendar-title{
  margin: 0 0 18px;
  text-align: center;
  color: #f8fafc;
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1.15;
}

#contact-page .c2r-calendar-bar{
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}

#contact-page .c2r-cal-month{
  text-align: center;
  color: rgba(248,250,252,.94);
  font-weight: 700;
}

#contact-page .c2r-cal-prev,
#contact-page .c2r-cal-next{
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(248,250,252,.72);
}

#contact-page .c2r-cal-prev:disabled,
#contact-page .c2r-cal-next:disabled{
  opacity: .25;
}

#contact-page .c2r-cal-weekdays,
#contact-page .c2r-cal-days{
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

#contact-page .c2r-cal-weekdays{
  margin-bottom: 8px;
  color: rgba(248,250,252,.55);
  font-size: .78rem;
  text-align: center;
}

#contact-page .c2r-cal-day,
#contact-page .c2r-cal-blank{
  aspect-ratio: 1;
}

#contact-page .c2r-cal-day{
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(248,250,252,.95);
  font-weight: 700;
}

#contact-page .c2r-cal-day.is-disabled{
  color: rgba(248,250,252,.28);
}

#contact-page .c2r-cal-day.is-selected{
  background: linear-gradient(180deg, #f7d47b, #d99a27);
  color: #17120a;
  box-shadow: 0 10px 22px rgba(217,154,39,.24);
}

#contact-page .c2r-details-layout{
  grid-template-columns: 1fr;
}

#contact-page .c2r-booking-summary{
  display: none;
}

label.c2r-slot .c2r-time,
label.c2r-seat,
label.c2r-seat *{
  color: inherit !important;
}

label.c2r-disabled,
label.c2r-slot.c2r-disabled{
  opacity:.55;
  pointer-events:none;
}

.c2r-theme-dark  #contact-page label.c2r-seat.btn-outline-secondary{
  color:#fff !important;
  border-color:#555 !important;
  background: transparent !important;
}

.c2r-theme-dark  #contact-page label.c2r-seat.btn-outline-secondary:hover{
  background: rgba(255,255,255,.08) !important;
}

/* Keep selected seats clearly GOLD in dark mode */
.c2r-theme-dark #contact-page .input-group-btn input[type="radio"]:checked + label.c2r-seat.btn-outline-secondary,
.c2r-theme-dark #contact-page label.c2r-seat.btn-outline-secondary.active{
  background: var(--c2r-selected-bg) !important;
  border-color: var(--c2r-selected-border) !important;
  color: var(--c2r-selected-text) !important;
}

@media (prefers-color-scheme: dark){
  .c2r-theme-auto #contact-page label.c2r-seat.btn-outline-secondary{
    color:#fff !important;
    border-color:#555 !important;
    background: transparent !important;
  }

  .c2r-theme-auto #contact-page label.c2r-seat.btn-outline-secondary:hover{
    background: rgba(255,255,255,.08) !important;
  }

  .c2r-theme-auto #contact-page .input-group-btn input[type="radio"]:checked + label.c2r-seat.btn-outline-secondary,
.c2r-theme-auto #contact-page label.c2r-seat.btn-outline-secondary.active{
    background: var(--c2r-selected-bg) !important;
    border-color: var(--c2r-selected-border) !important;
    color: var(--c2r-selected-text) !important;
  }
}

/* Seat-limit badge readability (light mode) */
.c2r-theme-light #contact-page .c2r-badge.c2r-badge-muted{
  background:#fde68a !important; /* soft gold */
  color:#111827 !important;      /* dark readable text */
  border:1px solid #f59e0b !important;
}

@media (prefers-color-scheme: light){
  .c2r-theme-auto #contact-page .c2r-badge.c2r-badge-muted{
    background:#fde68a !important;
    color:#111827 !important;
    border:1px solid #f59e0b !important;
  }
}

/* ---------- Buttons ---------- */
#contact-page .btn-primary,
#btn-submit.btn-primary{
  background: var(--c2r-accent) !important;
  border-color: var(--c2r-accent) !important;
  color: #111 !important;
  font-weight: 800;
}

#contact-page .btn-primary:hover,
#btn-submit.btn-primary:hover{
  background: var(--c2r-accent-hover) !important;
  border-color: var(--c2r-accent-hover) !important;
  color:#111 !important;
}

#contact-page .btn-primary:focus,
#btn-submit.btn-primary:focus{
  box-shadow: 0 0 0 .2rem rgba(200,160,58,.25) !important;
}

/* Next button class you already use */
.reserveWidget .btn.btn-c2r-gold,
.btn.btn-c2r-gold{
  background-color: var(--c2r-gold) !important;
  border-color: var(--c2r-gold) !important;
  color:#111 !important;
  font-weight:800;
}
.reserveWidget .btn.btn-c2r-gold:hover,
.btn.btn-c2r-gold:hover,
.reserveWidget .btn.btn-c2r-gold:focus,
.btn.btn-c2r-gold:focus{
  background-color: var(--c2r-gold-hover) !important;
  border-color: var(--c2r-gold-hover) !important;
  color:#111 !important;
}
.reserveWidget .btn.btn-c2r-gold:disabled,
.btn.btn-c2r-gold:disabled{
  background-color:#e7d3a5 !important;
  border-color:#e7d3a5 !important;
  color:#444 !important;
  opacity:.95;
  cursor:not-allowed;
}

/* ---------- Deposit note (Step 1 + Step 2) ---------- */
.c2r-deposit-box{
  margin-top: 0;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--c2r-border);
  background: var(--c2r-surface2);
  color: var(--c2r-text);
}

.c2r-deposit-box .c2r-deposit-title{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-weight:800;
}

.c2r-deposit-box .c2r-deposit-muted{
  opacity:.8;
}

/* Optional: make it pop a bit in light mode */
.c2r-theme-light .c2r-deposit-box{
  background: var(--c2r-surface2);
  border-color: var(--c2r-border);
}

/* =========================================================
   Mitsaras premium booking restyle
========================================================= */
body.c2r-theme-dark,
body.c2r-theme-auto{
  --c2r-bg: #07090a;
  --c2r-text: #f7f1e7;
  --c2r-surface: #121415;
  --c2r-surface2: #17191a;
  --c2r-border: rgba(229, 197, 126, .18);
  --c2r-input-bg: rgba(255,255,255,.035);
  --c2r-input-text: #f8fafc;
  --c2r-input-border: rgba(255,255,255,.18);
  --c2r-choice-bg: rgba(255,255,255,.055);
  --c2r-choice-border: rgba(255,255,255,.16);
  --c2r-choice-text: #f8fafc;
  --c2r-accent: #e3ad37;
  --c2r-accent-hover: #f1c86d;
  --c2r-selected-bg: linear-gradient(180deg, #f4cc71 0%, #d69724 100%);
  --c2r-selected-border: #f4c762;
  --c2r-selected-text: #17120a;
  background:
    radial-gradient(circle at 50% -10%, rgba(227,173,55,.16), transparent 36%),
    radial-gradient(circle at 14% 20%, rgba(255,255,255,.055), transparent 28%),
    linear-gradient(180deg, #080b0d 0%, #050607 100%) !important;
  color: var(--c2r-text);
  font-family: Inter, Montserrat, Arial, sans-serif !important;
}

.c2r-booking-page{
  max-width: 980px;
  padding-top: 28px;
  padding-bottom: 34px;
}

.c2r-booking-top{
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) 156px;
  gap: 18px;
  align-items: center;
  margin: 0 auto 16px;
}

.c2r-brand-mark{
  display: inline-flex;
  align-items: center;
}

.c2r-brand-mark img{
  width: 176px;
  height: auto;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.28));
}

.c2r-venue-title{
  text-align: center;
}

.c2r-venue-title h1{
  margin: 0;
  color: #f7d58b;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.7rem, 4vw, 3rem);
  font-weight: 600;
  line-height: 1.05;
}

.c2r-venue-title p{
  margin: 8px 0 0;
  color: rgba(248,250,252,.72);
  font-size: .95rem;
}

.c2r-lang-wrap{
  justify-self: end;
}

.c2r-lang-wrap .custom-select{
  min-width: 136px;
  width: auto;
  height: 38px;
  border-radius: 7px !important;
}

#contact-page .reserveWidget{
  padding: 14px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    rgba(12,14,15,.92);
  box-shadow: 0 28px 80px rgba(0,0,0,.42);
}

#contact-page .block{
  border-radius: 8px;
  padding: 18px 20px 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.018)),
    #111314;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

#contact-page .block:before,
#contact-page .block:after{
  display: none;
}

#add-form.container{
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.c2r-progress{
  display: none;
  position: relative;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 22px;
  padding: 4px 10px 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.c2r-progress:before{
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 18px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(227,173,55,.66), rgba(255,255,255,.14), transparent);
}

.c2r-progress-item{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  color: rgba(248,250,252,.58);
  font-size: .72rem;
}

.c2r-progress-item span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: #202224;
  color: rgba(255,255,255,.72);
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(0,0,0,.32);
}

.c2r-progress-item b{
  display: block;
  min-height: 28px;
  font-weight: 700;
  line-height: 1.25;
}

.c2r-progress-item.is-active,
.c2r-progress-item.is-complete{
  color: #f5c869;
}

.c2r-progress-item.is-active span,
.c2r-progress-item.is-complete span{
  background: linear-gradient(180deg, #f7d47b, #d99a27);
  border-color: #f6cf73;
  color: #17120a;
}

.c2r-progress-item.is-complete span:before{
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

.c2r-progress-item.is-complete span{
  font-size: 0;
}

.c2r-progress-item.is-complete span:before{
  font-size: .82rem;
}

.c2r-step-summary{
  display: grid;
  grid-template-columns: auto minmax(20px,1fr) auto minmax(20px,1fr) auto minmax(20px,1fr) auto;
  align-items: start;
  gap: 8px;
  max-width: 620px;
  margin: -4px auto 20px;
  color: rgba(248,250,252,.62);
}

.c2r-step-summary-item{
  min-width: 74px;
  display: grid;
  justify-items: center;
  gap: 7px;
  text-align: center;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}

.c2r-step-summary-item[data-summary-step="5"]{
  cursor: default;
}

.c2r-summary-dot{
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #202224;
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.76);
  font-weight: 800;
  font-size: .82rem;
}

.c2r-step-summary-item strong{
  max-width: 110px;
  color: inherit;
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.2;
}

.c2r-step-summary-line{
  height: 1px;
  margin-top: 14px;
  background: rgba(255,255,255,.2);
}

.c2r-step-summary-item.is-active,
.c2r-step-summary-item.is-complete{
  color: #f5c869;
}

.c2r-step-summary-item.is-active .c2r-summary-dot,
.c2r-step-summary-item.is-complete .c2r-summary-dot{
  background: linear-gradient(180deg, #f7d47b, #d99a27);
  border-color: #f6cf73;
  color: #17120a;
}

.c2r-step-summary-item.is-complete .c2r-summary-dot{
  font-size: 0;
}

.c2r-step-summary-item.is-complete .c2r-summary-dot:before{
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: .78rem;
}

.c2r-tab-heading{
  max-width: 560px;
  margin: 8px auto 18px;
  text-align: center;
}

.c2r-tab-heading-left{
  margin-left: 0;
  text-align: left;
}

.c2r-tab-heading h2{
  margin: 0;
  color: #f8fafc;
  font-size: clamp(1.25rem, 2.4vw, 1.65rem);
  font-weight: 600;
}

.c2r-tab-heading p{
  margin: 7px 0 0;
  color: rgba(248,250,252,.64);
  font-size: .9rem;
}

#contact-page .control-label,
#contact-page .form-label{
  margin-bottom: 8px;
  color: rgba(248,250,252,.78);
  font-size: .82rem;
  font-weight: 700;
}

.c2r-field-icon{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.c2r-field-icon:before{
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
  color: rgba(248,250,252,.72);
}

.c2r-field-date:before{ content: "\f133"; }
.c2r-field-guests:before{ content: "\f0c0"; font-weight: 900; }
.c2r-field-time:before{ content: "\f017"; }

#contact-page .c2r-field-guests{
  margin-top: 12px;
}

#contact-page .ButtonDatePicker{
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-12px) scale(.985);
  pointer-events: none;
  transform-origin: top center;
  transition:
    max-height .58s cubic-bezier(.22,1,.36,1),
    opacity .28s ease,
    transform .5s cubic-bezier(.22,1,.36,1);
  will-change: max-height, opacity, transform;
}

#contact-page .ButtonDatePicker.c2r-times-visible{
  max-height: 360px;
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

#contact-page .ButtonDatePicker label.c2r-slot,
#contact-page .ButtonDatePicker .btnDate,
#contact-page .ButtonDatePicker .btnTime{
  opacity: 0;
  transform: translateY(8px) scale(.98);
  transition:
    opacity .32s ease,
    transform .42s cubic-bezier(.22,1,.36,1),
    border-color .2s ease,
    background .2s ease,
    color .2s ease;
}

#contact-page .ButtonDatePicker.c2r-times-visible label.c2r-slot,
#contact-page .ButtonDatePicker.c2r-times-visible .btnDate,
#contact-page .ButtonDatePicker.c2r-times-visible .btnTime{
  opacity: 1;
  transform: translateY(0) scale(1);
}

#contact-page .ButtonDatePicker.c2r-times-visible label.c2r-slot:nth-child(1){ transition-delay: .03s; }
#contact-page .ButtonDatePicker.c2r-times-visible label.c2r-slot:nth-child(2){ transition-delay: .05s; }
#contact-page .ButtonDatePicker.c2r-times-visible label.c2r-slot:nth-child(3){ transition-delay: .07s; }
#contact-page .ButtonDatePicker.c2r-times-visible label.c2r-slot:nth-child(4){ transition-delay: .09s; }
#contact-page .ButtonDatePicker.c2r-times-visible label.c2r-slot:nth-child(5){ transition-delay: .11s; }
#contact-page .ButtonDatePicker.c2r-times-visible label.c2r-slot:nth-child(6){ transition-delay: .13s; }
#contact-page .ButtonDatePicker.c2r-times-visible label.c2r-slot:nth-child(7){ transition-delay: .15s; }
#contact-page .ButtonDatePicker.c2r-times-visible label.c2r-slot:nth-child(8){ transition-delay: .17s; }

@media (prefers-reduced-motion: reduce){
  #contact-page .ButtonDatePicker,
  #contact-page .ButtonDatePicker label.c2r-slot,
  #contact-page .ButtonDatePicker .btnDate,
  #contact-page .ButtonDatePicker .btnTime{
    transition: none;
    transform: none;
  }
}

#add_r_date{
  min-width: 230px;
  max-width: 300px;
  background-color: rgba(255,255,255,.04) !important;
  border-color: rgba(227,173,55,.32) !important;
  color: #f8fafc !important;
  outline: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

#add_r_date:hover{
  border-color: rgba(227,173,55,.52) !important;
}

#add_r_date:focus,
#add_r_date:focus-visible,
#add_r_date:active{
  border-color: rgba(244,199,98,.78) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 2px rgba(227,173,55,.14), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

#contact-page input:not([type="radio"]):not([type="checkbox"]),
#contact-page select,
#contact-page textarea,
#contact-page .form-control,
#contact-page .custom-select,
#contact-page .form-select{
  min-height: 44px;
  border-radius: 7px !important;
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.17) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

#contact-page select option,
#contact-page select optgroup,
#c2r_lang_select option,
#add_r_date option{
  background: #111314 !important;
  color: #f8fafc !important;
}

#contact-page select option:checked,
#add_r_date option:checked{
  background: #e3ad37 !important;
  color: #17120a !important;
}

#contact-page select::-ms-expand{
  background: transparent;
  border: 0;
}

#contact-page #country_code{
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: none !important;
  padding-right: 34px;
  white-space: nowrap;
}

#contact-page .form-control:focus,
#contact-page select:focus,
#contact-page textarea:focus{
  border-color: rgba(244,199,98,.75) !important;
  box-shadow: 0 0 0 .18rem rgba(227,173,55,.16), 0 0 24px rgba(227,173,55,.12) !important;
}

div.horizontal-scrollable{
  padding-bottom: 5px;
  scrollbar-color: rgba(227,173,55,.55) rgba(255,255,255,.06);
}

.input-group-btn,
.input-group-btnDate,
.timeSlots{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.input-group-btn label,
.input-group-btnDate label,
.input-group-btnTime label,
label.c2r-seat,
label.c2r-slot,
.btnDate,
.btnTime{
  min-width: 44px;
  height: 42px;
  border-radius: 6px;
  margin: 0 !important;
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.16) !important;
  color: rgba(248,250,252,.86) !important;
  font-weight: 600;
}

.input-group-btnDate label,
.btnDate,
.btnTime{
  width: 96px;
}

.input-group-btn label:hover,
.input-group-btnDate label:hover,
label.c2r-slot:hover{
  border-color: rgba(244,199,98,.55) !important;
  color: #fff !important;
}

.input-group-btn label.active,
.input-group-btnDate label.active,
.input-group-btnTime label.active,
label.c2r-seat.active,
label.c2r-slot.active,
label.c2r-slot.is-selected{
  background: linear-gradient(180deg, #f7d47b, #d99a27) !important;
  border-color: #f6cf73 !important;
  color: #17120a !important;
  box-shadow: 0 0 0 1px rgba(246,207,115,.28), 0 0 18px rgba(227,173,55,.28);
}

.c2r-details-layout{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 28px;
  align-items: start;
}

.c2r-booking-summary{
  position: sticky;
  top: 18px;
  padding: 18px;
  border-radius: 8px;
  border: 1px solid rgba(244,199,98,.32);
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)),
    rgba(24,23,20,.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 38px rgba(0,0,0,.24);
}

.c2r-booking-summary h3{
  margin: 0 0 15px;
  color: #f8fafc;
  font-size: 1rem;
  font-weight: 800;
}

.c2r-summary-line{
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 30px;
  color: rgba(248,250,252,.82);
  font-size: .88rem;
}

.c2r-summary-line i,
.c2r-summary-venue i,
.c2r-trust-note i{
  color: #f0bd53;
  width: 18px;
  text-align: center;
}

.c2r-summary-venue{
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 0 10px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(244,199,98,.42);
}

.c2r-summary-venue strong{
  color: #f8fafc;
  font-size: .86rem;
}

.c2r-summary-venue small{
  grid-column: 2;
  color: rgba(248,250,252,.56);
  line-height: 1.35;
}

.c2r-trust-note{
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
  color: #f5c869;
  font-size: .78rem;
  line-height: 1.35;
}

.c2r-card,
.c2r-final-card{
  border-radius: 8px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)),
    #151718 !important;
  border-color: rgba(244,199,98,.24) !important;
}

.c2r-review-section-head{
  gap: 10px;
}

.c2r-review-edit{
  border: 1px solid rgba(244,199,98,.45) !important;
  color: #f7d47b !important;
  background: rgba(244,199,98,.08) !important;
  font-weight: 800;
  white-space: nowrap;
}

.c2r-review-edit:hover,
.c2r-review-edit:focus{
  color: #17120a !important;
  background: linear-gradient(180deg, #f7d47b, #d99a27) !important;
}

.reserveWidget .btn.btn-c2r-gold,
.btn.btn-c2r-gold,
.c2r-final-cta{
  min-height: 48px;
  border-radius: 6px !important;
  background: linear-gradient(180deg, #f7d47b, #d99a27) !important;
  border-color: #efbd56 !important;
  color: #17120a !important;
  font-weight: 900;
  box-shadow: 0 12px 26px rgba(217,154,39,.22);
}

.reserveWidget .btn.btn-c2r-gold:hover,
.btn.btn-c2r-gold:hover,
.c2r-final-cta:hover{
  background: linear-gradient(180deg, #ffe09a, #e3a332) !important;
  color: #17120a !important;
}

.reserveWidget .btn.btn-c2r-gold:disabled,
.btn.btn-c2r-gold:disabled{
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: rgba(248,250,252,.45) !important;
  box-shadow: none;
}

#prevBtn{
  display: none !important;
  min-width: 130px;
  border-radius: 6px !important;
  border-color: rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.035) !important;
  color: #f8fafc !important;
}

#nextBtn{
  flex: 1 1 auto;
}

body.c2r-hide-wizard-nav .c2r-nav-actions{
  display: none;
}

.c2r-powered{
  color: rgba(248,250,252,.52);
  font-size: .78rem;
}

.c2r-powered a{
  opacity: .7;
  background: transparent !important;
  box-shadow: none !important;
}

.c2r-more-guests{
  display: none;
}

#contact_results .alert{
  margin-top: 16px;
  border-radius: 8px;
}

#contact-page .step{
  width: 0;
  height: 0;
  margin: 0;
  opacity: 0;
  overflow: hidden;
}

#contact-page .c2r-legacy-steps{
  display: none;
}

body.c2r-theme-light{
  --c2r-bg: #f6f2ea;
  --c2r-text: #18202a;
  --c2r-surface: #ffffff;
  --c2r-surface2: #fbfaf7;
  --c2r-border: rgba(148, 127, 84, .24);
  --c2r-input-bg: #ffffff;
  --c2r-input-text: #17202b;
  --c2r-input-border: #d7dce3;
  --c2r-choice-bg: #ffffff;
  --c2r-choice-border: #d7dce3;
  --c2r-choice-text: #17202b;
  --c2r-accent: #c69424;
  --c2r-accent-hover: #a97816;
  --c2r-selected-bg: linear-gradient(180deg, #f5cd73 0%, #d79a2c 100%);
  --c2r-selected-border: #d7a03a;
  --c2r-selected-text: #17120a;
  background:
    radial-gradient(circle at 50% -10%, rgba(198,148,36,.13), transparent 34%),
    linear-gradient(180deg, #fffaf0 0%, #f5f2ea 100%) !important;
  color: var(--c2r-text);
}

body.c2r-theme-light .c2r-venue-title h1{ color:#9a6b12; }
body.c2r-theme-light .c2r-venue-title p{ color:#667085; }
body.c2r-theme-light .c2r-brand-mark img{ filter: drop-shadow(0 10px 22px rgba(24,32,42,.12)); }

body.c2r-theme-light #contact-page .reserveWidget{
  border-color: rgba(148,127,84,.22);
  background:#ffffff;
  box-shadow: 0 24px 70px rgba(24,32,42,.12);
}

body.c2r-theme-light #contact-page .block{
  background:#ffffff;
  border-color: rgba(148,127,84,.2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

body.c2r-theme-light .c2r-progress{
  border-bottom-color: rgba(148,127,84,.18);
}

body.c2r-theme-light .c2r-progress:before{
  background: linear-gradient(90deg, transparent, rgba(198,148,36,.48), rgba(148,163,184,.28), transparent);
}

body.c2r-theme-light .c2r-progress-item{
  color:#6b7280;
}

body.c2r-theme-light .c2r-progress-item span{
  background:#f8fafc;
  border-color:#d7dce3;
  color:#475569;
  box-shadow:0 8px 18px rgba(24,32,42,.08);
}

body.c2r-theme-light .c2r-tab-heading h2,
body.c2r-theme-light .c2r-booking-summary h3,
body.c2r-theme-light .c2r-summary-venue strong{
  color:#17202b;
}

body.c2r-theme-light .c2r-tab-heading p,
body.c2r-theme-light #contact-page .control-label,
body.c2r-theme-light #contact-page .form-label,
body.c2r-theme-light .c2r-field-icon:before,
body.c2r-theme-light .c2r-summary-line,
body.c2r-theme-light .c2r-summary-venue small,
body.c2r-theme-light .c2r-powered,
body.c2r-theme-light .c2r-recaptcha-disclosure{
  color:#64748b;
}

body.c2r-theme-light .c2r-recaptcha-disclosure a{
  color:#8a5a08;
}

body.c2r-theme-light #add_r_date,
body.c2r-theme-light #contact-page input:not([type="radio"]):not([type="checkbox"]),
body.c2r-theme-light #contact-page select,
body.c2r-theme-light #contact-page textarea,
body.c2r-theme-light #contact-page .form-control,
body.c2r-theme-light #contact-page .custom-select,
body.c2r-theme-light #contact-page .form-select{
  background:#ffffff !important;
  border-color:#d7dce3 !important;
  color:#17202b !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}

body.c2r-theme-light #contact-page select option,
body.c2r-theme-light #contact-page select optgroup,
body.c2r-theme-light #c2r_lang_select option,
body.c2r-theme-light #add_r_date option{
  background:#ffffff !important;
  color:#17202b !important;
}

body.c2r-theme-light .input-group-btn label,
body.c2r-theme-light .input-group-btnDate label,
body.c2r-theme-light .input-group-btnTime label,
body.c2r-theme-light label.c2r-seat,
body.c2r-theme-light label.c2r-slot,
body.c2r-theme-light .btnDate,
body.c2r-theme-light .btnTime{
  background:#ffffff !important;
  border-color:#d7dce3 !important;
  color:#17202b !important;
}

body.c2r-theme-light .input-group-btn label:hover,
body.c2r-theme-light .input-group-btnDate label:hover,
body.c2r-theme-light label.c2r-slot:hover{
  border-color: rgba(198,148,36,.58) !important;
  color:#111827 !important;
}

body.c2r-theme-light #contact-page .input-group-btn input[type="radio"]:checked + label,
body.c2r-theme-light #contact-page .input-group-btnDate input[type="radio"]:checked + label,
body.c2r-theme-light #contact-page .input-group-btnTime input[type="radio"]:checked + label,
body.c2r-theme-light #contact-page .input-group-btn label.active,
body.c2r-theme-light #contact-page .input-group-btnDate label.active,
body.c2r-theme-light #contact-page .input-group-btnTime label.active,
body.c2r-theme-light #contact-page label.c2r-seat.active,
body.c2r-theme-light #contact-page label.c2r-slot.active,
body.c2r-theme-light #contact-page label.c2r-slot.is-selected{
  background: linear-gradient(180deg, #f8ca61 0%, #c98210 100%) !important;
  border-color: #9a5f05 !important;
  color: #111827 !important;
  font-weight: 900;
  box-shadow: 0 0 0 2px rgba(154,95,5,.28), 0 10px 22px rgba(154,95,5,.22) !important;
}

body.c2r-theme-light #contact-page label.c2r-seat.active *,
body.c2r-theme-light #contact-page label.c2r-slot.active *,
body.c2r-theme-light #contact-page label.c2r-slot.is-selected *,
body.c2r-theme-light #contact-page .input-group-btn input[type="radio"]:checked + label *,
body.c2r-theme-light #contact-page .input-group-btnDate input[type="radio"]:checked + label *,
body.c2r-theme-light #contact-page .input-group-btnTime input[type="radio"]:checked + label *{
  color: #111827 !important;
}

body.c2r-theme-light #contact-page .c2r-progress-item.is-active,
body.c2r-theme-light #contact-page .c2r-progress-item.is-complete{
  color: #7a4c04;
}

body.c2r-theme-light #contact-page .c2r-progress-item.is-active span,
body.c2r-theme-light #contact-page .c2r-progress-item.is-complete span{
  background: linear-gradient(180deg, #f8ca61, #c98210);
  border-color: #9a5f05;
  color: #111827;
  box-shadow: 0 0 0 2px rgba(154,95,5,.18), 0 10px 22px rgba(154,95,5,.18);
}

body.c2r-theme-light .c2r-booking-summary,
body.c2r-theme-light .c2r-card,
body.c2r-theme-light .c2r-final-card{
  background:#ffffff !important;
  border-color: rgba(198,148,36,.28) !important;
  box-shadow:0 18px 38px rgba(24,32,42,.1) !important;
}

body.c2r-theme-light .c2r-summary-venue,
body.c2r-theme-light .c2r-trust-note{
  border-top-color: rgba(198,148,36,.24);
}

body.c2r-theme-light #prevBtn{
  background:#ffffff !important;
  border-color:#d7dce3 !important;
  color:#17202b !important;
}

body.c2r-theme-light .reserveWidget .btn.btn-c2r-gold:disabled,
body.c2r-theme-light .btn.btn-c2r-gold:disabled{
  background:#eef1f5 !important;
  border-color:#d7dce3 !important;
  color:#94a3b8 !important;
}

body.c2r-theme-light #contact-page .c2r-step-summary{
  color: #667085;
}

body.c2r-theme-light #contact-page .c2r-step-summary-line{
  background: rgba(148,163,184,.36);
}

body.c2r-theme-light #contact-page .c2r-summary-dot{
  background: #ffffff;
  border-color: #d7dce3;
  color: #475569;
}

body.c2r-theme-light #contact-page .c2r-step-summary-item.is-active,
body.c2r-theme-light #contact-page .c2r-step-summary-item.is-complete{
  color: #7a4c04;
}

body.c2r-theme-light #contact-page .c2r-step-summary-item.is-active .c2r-summary-dot,
body.c2r-theme-light #contact-page .c2r-step-summary-item.is-complete .c2r-summary-dot{
  background: linear-gradient(180deg, #f8ca61, #c98210);
  border-color: #9a5f05;
  color: #111827;
}

body.c2r-theme-light #contact-page .c2r-calendar-title{
  color: #17202b;
}

body.c2r-theme-light #contact-page .c2r-cal-month{
  color: #334155;
}

body.c2r-theme-light #contact-page .c2r-cal-prev,
body.c2r-theme-light #contact-page .c2r-cal-next{
  color: #64748b;
}

body.c2r-theme-light #contact-page .c2r-cal-prev:hover,
body.c2r-theme-light #contact-page .c2r-cal-next:hover{
  color: #7a4c04;
  background: rgba(198,148,36,.1);
}

body.c2r-theme-light #contact-page .c2r-cal-weekdays{
  color: #64748b;
}

body.c2r-theme-light #contact-page .c2r-cal-day{
  color: #17202b;
}

body.c2r-theme-light #contact-page .c2r-cal-day:not(.is-disabled):hover{
  background: rgba(198,148,36,.1);
  color: #111827;
}

body.c2r-theme-light #contact-page .c2r-cal-day.is-disabled{
  color: #cbd5e1;
}

body.c2r-theme-light #contact-page .c2r-cal-day.is-selected{
  background: linear-gradient(180deg, #f8ca61, #c98210);
  color: #111827;
  box-shadow: 0 10px 22px rgba(154,95,5,.22);
}

/* =========================================================
   Mitsaras premium confirmation page
========================================================= */
.c2r-confirm-page{
  min-height: 100vh;
  padding: 32px 16px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #f8fafc;
}

.c2r-confirm-card{
  width: min(100%, 720px);
  padding: 18px 38px 22px;
  border: 1px solid rgba(227,173,55,.62);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(227,173,55,.13), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.018)),
    rgba(12,14,16,.94);
  box-shadow: 0 30px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08);
}

.c2r-confirm-brand{
  display: flex;
  justify-content: center;
  padding: 0 0 16px;
  margin-bottom: 2px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.c2r-confirm-brand img{
  width: 190px;
  height: auto;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.25));
}

.c2r-confirm-hero{
  padding: 20px 0 12px;
  text-align: center;
}

.c2r-confirm-icon{
  width: 58px;
  height: 58px;
  margin: 0 auto 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(34,197,94,.12);
  border: 1px solid rgba(34,197,94,.7);
  box-shadow: 0 0 26px rgba(34,197,94,.32);
}

.c2r-confirm-pending .c2r-confirm-icon{
  background: rgba(227,173,55,.12);
  border-color: rgba(227,173,55,.75);
  box-shadow: 0 0 26px rgba(227,173,55,.28);
}

.c2r-confirm-declined .c2r-confirm-icon{
  background: rgba(239,68,68,.12);
  border-color: rgba(239,68,68,.75);
  box-shadow: 0 0 26px rgba(239,68,68,.28);
}

.c2r-confirm-icon i{
  font-size: 32px;
  color: #37d43a;
}

.c2r-confirm-pending .c2r-confirm-icon i{ color: #f5c869; }
.c2r-confirm-declined .c2r-confirm-icon i{ color: #f87171; }

.c2r-confirm-hero h1{
  margin: 0;
  font-size: clamp(2rem, 5vw, 2.7rem);
  line-height: 1.06;
  font-weight: 900;
  letter-spacing: 0;
}

.c2r-confirm-hero p{
  max-width: 520px;
  margin: 10px auto 0;
  color: rgba(248,250,252,.78);
  font-size: 1rem;
  line-height: 1.45;
}

.c2r-confirm-quick{
  display: grid;
  grid-template-columns: 1.35fr .85fr .9fr;
  gap: 0;
  margin: 2px 0 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
}

.c2r-confirm-quick div{
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 10px 14px;
  border-right: 1px solid rgba(255,255,255,.1);
  color: #f8fafc;
  font-weight: 700;
}

.c2r-confirm-quick div:last-child{
  border-right: 0;
}

.c2r-confirm-quick i,
.c2r-confirm-panel h2 i{
  color: #f0bd53;
}

.c2r-confirm-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.c2r-confirm-panel{
  position: static;
  top: auto;
  z-index: auto;
  margin: 0;
  padding: 16px 18px;
  text-align: left;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.048), rgba(255,255,255,.018)),
    rgba(19,22,24,.86);
  color: #f8fafc;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.c2r-confirm-panel h2{
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  color: #f5c869;
  font-size: .84rem;
  font-weight: 900;
  text-transform: uppercase;
}

.c2r-confirm-panel dl{
  display: grid;
  grid-template-columns: 72px minmax(0,1fr);
  gap: 8px 12px;
  margin: 0;
}

.c2r-confirm-panel dt{
  color: rgba(248,250,252,.66);
  font-size: .86rem;
}

.c2r-confirm-panel dd{
  margin: 0;
  color: #fff;
  font-size: .92rem;
  overflow-wrap: anywhere;
}

.c2r-code-panel{
  text-align: center;
}

.c2r-code-panel h2{
  justify-content: flex-start;
}

.c2r-confirm-code{
  margin: 8px auto 10px;
  padding: 14px 18px;
  border: 1px solid rgba(55,212,58,.72);
  border-radius: 12px;
  background: rgba(34,197,94,.07);
  color: #48df42;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: clamp(2rem, 5vw, 2.6rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
}

.c2r-copy-code,
.c2r-inline-actions .btn,
.c2r-confirm-actions .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  border-radius: 7px !important;
  border: 1px solid rgba(227,173,55,.38) !important;
  background: rgba(255,255,255,.035) !important;
  color: #f8fafc !important;
  font-weight: 800;
}

.c2r-copy-code:hover,
.c2r-inline-actions .btn:hover,
.c2r-confirm-actions .btn:hover{
  border-color: rgba(244,199,98,.72) !important;
  color: #f5c869 !important;
}

.c2r-deposit-confirm{
  margin-top: 12px;
}

.c2r-deposit-confirm strong{
  display: inline-block;
  margin-right: 10px;
  color: #fff;
  font-size: 1.35rem;
}

.c2r-deposit-confirm p{
  margin: 8px 0 0;
  color: rgba(248,250,252,.72);
}

.c2r-qr-panel{
  display: grid;
  grid-template-columns: 150px minmax(0,1fr);
  gap: 22px;
  align-items: center;
  margin-top: 12px;
}

.c2r-qr-target{
  width: 132px;
  height: 132px;
  min-height: 132px;
  padding: 8px;
  background: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c2r-qr-target img,
.c2r-qr-target canvas{
  max-width: 116px;
  max-height: 116px;
}

.c2r-qr-panel p{
  margin: 0 0 12px;
  color: rgba(248,250,252,.76);
  line-height: 1.45;
}

.c2r-inline-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.c2r-next-panel{
  margin-top: 12px;
}

.c2r-next-panel ul{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.c2r-next-panel li{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: rgba(248,250,252,.82);
  line-height: 1.35;
}

.c2r-next-panel li i{
  color: #37d43a;
  margin-top: 3px;
}

.c2r-confirm-actions{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.c2r-confirm-actions .c2r-action-primary{
  background: linear-gradient(180deg, #f7d47b, #d99a27) !important;
  border-color: #efbd56 !important;
  color: #17120a !important;
}

.c2r-confirm-help{
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
  text-align: center;
  color: rgba(248,250,252,.74);
}

.c2r-confirm-help i{
  color: #f0bd53;
  margin-right: 8px;
}

.c2r-confirm-page #footer{
  width: min(100%, 720px);
  margin-top: 16px;
  color: rgba(248,250,252,.54);
  text-align: center;
}

@media (max-width: 720px){
  .c2r-confirm-card{
    padding: 16px;
  }

  .c2r-confirm-quick,
  .c2r-confirm-grid,
  .c2r-qr-panel,
  .c2r-confirm-actions{
    grid-template-columns: 1fr;
  }

  .c2r-confirm-quick div{
    justify-content: flex-start;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }

  .c2r-confirm-quick div:last-child{
    border-bottom: 0;
  }

  .c2r-qr-panel{
    justify-items: center;
    text-align: center;
  }

  .c2r-qr-panel h2{
    justify-content: center;
  }

  .c2r-inline-actions{
    justify-content: center;
  }
}

@media (max-width: 900px){
  .c2r-booking-page{
    padding: 14px 12px 24px;
  }

  .c2r-booking-top{
    grid-template-columns: 1fr auto;
  }

  .c2r-brand-mark{
    grid-column: 1 / -1;
    justify-content: center;
  }

  .c2r-venue-title{
    text-align: left;
  }

  .c2r-details-layout{
    grid-template-columns: 1fr;
  }

  .c2r-booking-summary{
    position: static;
  }
}

@media (max-width: 640px){
  body.c2r-mobile-form-active{
    padding-bottom: 86px;
  }

  .c2r-booking-top{
    grid-template-columns: 96px minmax(0, 1fr) auto;
    grid-template-areas:
      "brand title lang";
    align-items: start;
    text-align: left;
    gap: 8px;
    margin-bottom: 6px;
  }

  .c2r-brand-mark{
    grid-area: brand;
    grid-column: auto;
    justify-content: flex-start;
    padding-top: 2px;
  }

  .c2r-brand-mark img{
    width: 88px;
  }

  .c2r-venue-title{
    grid-area: title;
    text-align: left;
    align-self: center;
  }

  .c2r-venue-title h1{
    font-size: 1.08rem;
    line-height: 1.08;
  }

  .c2r-venue-title p{
    display: none;
  }

  .c2r-lang-wrap{
    grid-area: lang;
    justify-self: end;
    align-self: start;
  }

  .c2r-lang-wrap .custom-select{
    min-width: 82px;
    width: 82px;
    height: 32px;
    padding: 3px 18px 3px 7px;
    font-size: 11px;
    border-radius: 6px !important;
  }

  #contact-page.reserveWidget,
  #contact-page .reserveWidget{
    padding: 8px;
  }

  #contact-page .block{
    padding: 10px 12px 12px;
  }

  .c2r-progress{
    display: none;
  }

  .c2r-step-summary{
    grid-template-columns: repeat(6, 1fr);
    gap: 4px;
    margin: 0 0 12px;
    padding: 0 2px 10px;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .c2r-step-summary-line{
    display: none;
  }

  .c2r-step-summary-item{
    min-width: 0;
    gap: 5px;
  }

  .c2r-summary-dot{
    width: 26px;
    height: 26px;
    font-size: .76rem;
  }

  .c2r-step-summary-item strong{
    max-width: 72px;
    font-size: .68rem;
    line-height: 1.15;
  }

  .c2r-tab-heading{
    margin: 4px auto 12px;
  }

  .c2r-tab-heading h2{
    font-size: 1.25rem;
  }

  .c2r-tab-heading p{
    display: none;
  }

  #contact-page .c2r-calendar-title{
    margin-bottom: 12px;
    font-size: 1.28rem;
  }

  #contact-page .c2r-calendar-bar{
    margin-bottom: 10px;
  }

  #contact-page .c2r-cal-weekdays,
  #contact-page .c2r-cal-days{
    gap: 5px;
  }

  #contact-page .c2r-cal-day{
    font-size: .9rem;
  }

  #contact-page .control-label,
  #contact-page .form-label{
    margin-bottom: 5px;
  }

  #add_r_date{
    width: 100% !important;
    max-width: none;
  }

  .input-group-btn{
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
    overflow: visible !important;
    white-space: normal !important;
  }

  .input-group-btn label.c2r-seat{
    width: 100%;
    min-width: 0;
    height: 38px;
  }

  #add-form:not(.c2r-guests-expanded) .c2r-seat-extra{
    display: none !important;
  }

  .c2r-more-guests{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 9px;
    min-height: 36px;
    padding: 7px 12px;
    border-radius: 999px;
    border: 1px solid rgba(227,173,55,.38);
    background: rgba(255,255,255,.035);
    color: #f5c869;
    font-weight: 800;
  }

  body.c2r-wizard-date-step #contact-page .c2r-more-guests{
    display: none !important;
  }

  #contact-page .ButtonDatePicker.c2r-times-visible{
    max-height: none;
    overflow: visible;
  }

  #contact-page .ButtonDatePicker .input-group-btnDate,
  #contact-page .ButtonDatePicker .timeSlots{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    overflow: visible;
    width: 100%;
  }

  #contact-page .ButtonDatePicker .timeSlots{
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }

  .input-group-btnDate label,
  label.c2r-slot,
  .btnDate,
  .btnTime{
    width: calc(50% - 4px);
    min-width: 0;
    min-height: 54px;
    touch-action: manipulation;
  }

  .c2r-powered{
    margin-top: 14px !important;
    transform: scale(.82);
    transform-origin: top center;
  }

  .c2r-powered a{
    margin-top: 2px !important;
    padding: 0 !important;
  }

  .c2r-powered img{
    width: 110px;
  }

  .c2r-nav-actions{
    position: sticky;
    bottom: 0;
    z-index: 20;
    margin: 12px -12px -12px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: linear-gradient(180deg, rgba(17,19,20,.35), rgba(8,10,11,.98) 35%);
    border-top: 1px solid rgba(255,255,255,.09);
    backdrop-filter: blur(10px);
  }

  .grecaptcha-badge{
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .c2r-embed .grecaptcha-badge{
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .c2r-recaptcha-disclosure{
    margin: 10px 8px 8px;
    font-size: .62rem;
    color: rgba(248,250,252,.38);
  }

  .c2r-nav-actions br{
    display: none;
  }

  .c2r-nav-actions .row{
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-left: 0;
    margin-right: 0;
  }

  #prevBtn{
    flex: 0 0 118px;
    max-width: 118px;
    margin-bottom: 0;
    min-height: 48px;
    padding-left: 10px;
    padding-right: 10px;
  }

  #nextBtn{
    flex: 1 1 auto;
    max-width: none;
    min-height: 48px;
  }
}

/* C2R mobile viewport fit: keep the booking wizard inside small screens. */
@media (max-width: 640px){
  html,
  body{
    min-height: 100%;
  }

  body.c2r-mobile-form-active{
    padding-bottom: 0;
    overflow-x: hidden;
  }

  .c2r-booking-page{
    min-height: 100dvh;
    padding: 8px 8px 10px;
    display: flex;
    flex-direction: column;
  }

  #contact_body{
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }

  .c2r-booking-top{
    margin-bottom: 5px;
    flex: 0 0 auto;
  }

  #contact-page .reserveWidget{
    min-height: 0;
    padding: 6px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
  }

  #contact-page .block{
    min-height: 0;
    padding: 8px 10px 10px;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }

  #add-form{
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }

  .c2r-step-summary{
    margin: 0 0 7px;
    padding: 0 2px 7px;
    flex: 0 0 auto;
  }

  .c2r-summary-dot{
    width: 22px;
    height: 22px;
    font-size: .76rem;
  }

  .c2r-step-summary-item strong{
    max-width: 72px;
    font-size: .62rem;
    line-height: 1.15;
  }

  #add-form > .tab{
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 2px 4px;
    scrollbar-width: thin;
  }

  .c2r-tab-heading{
    margin: 2px auto 7px;
  }

  .c2r-tab-heading h2{
    font-size: 1.05rem;
  }

  #contact-page .c2r-calendar-title{
    margin-bottom: 7px;
    font-size: 1.05rem;
  }

  #contact-page .c2r-calendar-bar{
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    gap: 6px;
    margin-bottom: 7px;
  }

  #contact-page .c2r-cal-prev,
  #contact-page .c2r-cal-next{
    width: 34px;
    height: 34px;
  }

  #contact-page .c2r-cal-month{
    font-size: .9rem;
  }

  #contact-page .c2r-cal-weekdays,
  #contact-page .c2r-cal-days{
    gap: 3px;
  }

  #contact-page .c2r-cal-weekdays{
    margin-bottom: 4px;
    font-size: .68rem;
  }

  #contact-page .c2r-cal-day{
    font-size: .8rem;
  }

  .input-group-btn{
    gap: 6px;
  }

  .input-group-btn label.c2r-seat{
    height: 34px;
  }

  .c2r-more-guests{
    margin-top: 7px;
    min-height: 32px;
    padding: 5px 12px;
  }

  #contact-page .ButtonDatePicker .input-group-btnDate,
  #contact-page .ButtonDatePicker .timeSlots{
    gap: 6px;
  }

  .input-group-btnDate label,
  label.c2r-slot,
  .btnDate,
  .btnTime{
    min-height: 44px;
  }

  .c2r-powered{
    display: none;
  }

  .c2r-nav-actions{
    position: sticky;
    bottom: 0;
    z-index: 30;
    margin: 6px -10px -10px;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    flex: 0 0 auto;
    background: linear-gradient(180deg, rgba(17,19,20,.58), rgba(8,10,11,.98) 42%);
    border-top: 1px solid rgba(255,255,255,.09);
    backdrop-filter: blur(10px);
  }

  .c2r-recaptcha-disclosure{
    margin: 5px 8px 3px;
    font-size: .62rem;
    flex: 0 0 auto;
  }

  #prevBtn,
  #nextBtn{
    min-height: 44px;
  }
}

/* C2R mobile personal-details step: keep the fields scrollable and the Next button reachable. */
@media (max-width: 640px){
  body.c2r-wizard-step-3,
  body.c2r-wizard-step-3.c2r-mobile-form-active{
    overflow: hidden;
  }

  body.c2r-wizard-step-3 #contact-page .reserveWidget,
  body.c2r-wizard-step-3 #contact-page .block,
  body.c2r-wizard-step-3 #add-form{
    min-height: 0;
    overflow: hidden;
  }

  body.c2r-wizard-step-3 #add-form > .tab{
    min-height: 0;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 0 2px 78px;
  }

  body.c2r-wizard-step-3 .c2r-tab-heading{
    margin: 0 0 8px;
    text-align: left;
  }

  body.c2r-wizard-step-3 .c2r-tab-heading h2{
    font-size: 1.05rem;
    line-height: 1.15;
  }

  body.c2r-wizard-step-3 .c2r-details-main .row.mb-3,
  body.c2r-wizard-step-3 .c2r-details-main .mb-3,
  body.c2r-wizard-step-3 .c2r-notes-row{
    margin-bottom: .55rem !important;
  }

  body.c2r-wizard-step-3 .c2r-details-main > .row.mb-3{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100%;
    min-width: 0;
  }

  body.c2r-wizard-step-3 .c2r-details-main > .row.mb-3 > [class*="col-"]{
    width: 100%;
    max-width: none;
    min-width: 0;
    flex: none;
    padding-left: 0;
    padding-right: 0;
  }

  body.c2r-wizard-step-3 .c2r-notes-row{
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100%;
  }

  body.c2r-wizard-step-3 .c2r-notes-row > [class*="col-"]{
    width: 100%;
    max-width: none;
    min-width: 0;
    flex: none;
    padding-left: 0;
    padding-right: 0;
  }

  body.c2r-wizard-step-3 .c2r-details-main > .row.mb-3.c2r-notes-row{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.c2r-wizard-step-3 .c2r-details-main > .row.mb-3.c2r-notes-row > [class*="col-"]{
    grid-column: 1 / -1;
  }

  body.c2r-wizard-step-3 #contact-page .form-label{
    margin-bottom: 4px;
    font-size: .78rem;
    line-height: 1.15;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.c2r-wizard-step-3 #contact-page .form-control,
  body.c2r-wizard-step-3 #contact-page .custom-select,
  body.c2r-wizard-step-3 #contact-page .form-select,
  body.c2r-wizard-step-3 #add_allergies,
  body.c2r-wizard-step-3 #add_note{
    min-height: 42px;
    height: 42px;
    font-size: .95rem;
    padding-top: .35rem;
    padding-bottom: .35rem;
  }

  body.c2r-wizard-step-3 #country_code{
    padding-left: .55rem;
    padding-right: 1.55rem;
    font-size: .82rem;
  }

  body.c2r-wizard-step-3 .c2r-remember-details{
    margin: 2px 0 9px;
    padding: 8px 9px;
  }

  body.c2r-wizard-step-3 hr,
  body.c2r-wizard-step-3 .c2r-powered{
    display: none !important;
  }

  body.c2r-wizard-step-3 .c2r-recaptcha-disclosure{
    margin-top: 4px;
  }

  body.c2r-wizard-step-3 .c2r-nav-actions{
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100vw;
    bottom: 0;
    z-index: 2147482000;
    margin: 0;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
    border: 1px solid rgba(255,255,255,.1);
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    background: linear-gradient(180deg, rgba(20,22,23,.92), rgba(8,10,11,.99));
    box-shadow: 0 -18px 34px rgba(0,0,0,.36);
    overflow-x: hidden;
    box-sizing: border-box;
  }
}

@media (max-width: 640px) and (max-height: 760px){
  .c2r-booking-page{
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .c2r-booking-top{
    grid-template-columns: 74px minmax(0, 1fr) auto;
    gap: 6px;
    margin-bottom: 4px;
  }

  .c2r-brand-mark img{
    width: 70px;
  }

  .c2r-venue-title h1{
    font-size: .98rem;
  }

  .c2r-lang-wrap .custom-select{
    width: 78px;
    min-width: 78px;
    height: 30px;
    padding-right: 16px;
    font-size: 10.5px;
  }

  .c2r-step-summary-item strong{
    display: none;
  }

  .c2r-step-summary{
    padding-bottom: 6px;
  }

  #contact-page .block{
    padding: 7px 9px 9px;
  }

  #contact-page .c2r-calendar{
    margin-top: 2px;
  }

  #contact-page .c2r-calendar-title{
    display: none;
  }

  #contact-page .c2r-cal-day,
  #contact-page .c2r-cal-blank{
    aspect-ratio: 1.18;
  }

  #contact-page .form-control,
  #contact-page .custom-select,
  #contact-page .form-select{
    min-height: 38px;
  }

  .c2r-nav-actions{
    padding-top: 7px;
  }
}

/* C2R desktop viewport fit: keep normal booking steps within the first screen. */
@media (min-width: 641px){
  body.c2r-mobile-form-active,
  body[class*="c2r-wizard-step-"]{
    overflow-x: hidden;
  }

  .c2r-booking-page{
    max-width: 980px;
    min-height: 100dvh;
    padding-top: 16px;
    padding-bottom: 12px;
    display: flex;
    flex-direction: column;
  }

  #contact_body{
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }

  .c2r-booking-top{
    grid-template-columns: 160px minmax(0, 1fr) 140px;
    gap: 12px;
    margin-bottom: 10px;
    flex: 0 0 auto;
  }

  .c2r-brand-mark img{
    width: 150px;
  }

  .c2r-venue-title h1{
    font-size: clamp(1.7rem, 3.5vw, 2.45rem);
  }

  .c2r-venue-title p{
    margin-top: 4px;
    font-size: .86rem;
  }

  .c2r-lang-wrap .custom-select{
    min-width: 120px;
    height: 34px;
  }

  #contact-page .reserveWidget{
    min-height: 0;
    max-height: calc(100dvh - 206px);
    padding: 10px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  #contact-page .block{
    min-height: 0;
    padding: 12px 28px 12px;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
  }

  #add-form{
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }

  .c2r-step-summary{
    margin: -2px auto 14px;
    flex: 0 0 auto;
  }

  .c2r-summary-dot{
    width: 26px;
    height: 26px;
  }

  .c2r-step-summary-item strong{
    font-size: .78rem;
  }

  #add-form > .tab{
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 2px 4px;
    scrollbar-width: thin;
  }

  .c2r-tab-heading{
    margin: 2px auto 12px;
  }

  .c2r-tab-heading h2{
    font-size: 1.5rem;
  }

  .c2r-tab-heading p{
    margin-top: 5px;
    font-size: .82rem;
  }

  #contact-page .c2r-field-guests{
    margin-top: 4px;
  }

  .input-group-btn,
  .input-group-btnDate,
  .timeSlots{
    gap: 7px;
  }

  .input-group-btn label,
  label.c2r-seat{
    height: 38px;
    min-width: 38px;
  }

  #contact-page .c2r-time-step .timeSlots{
    grid-template-columns: repeat(6, minmax(92px, 1fr));
    gap: 8px;
  }

  #contact-page .c2r-time-step label.c2r-slot{
    min-height: 48px;
    padding: .42rem .55rem !important;
  }

  #contact-page .c2r-calendar{
    max-width: 430px;
    margin-top: 2px;
    padding-top: 0;
  }

  #contact-page .c2r-calendar-title{
    margin-bottom: 8px;
    font-size: 1.25rem;
  }

  #contact-page .c2r-calendar-bar{
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    gap: 6px;
    margin-bottom: 8px;
  }

  #contact-page .c2r-cal-prev,
  #contact-page .c2r-cal-next{
    width: 34px;
    height: 34px;
  }

  #contact-page .c2r-cal-weekdays,
  #contact-page .c2r-cal-days{
    gap: 4px;
  }

  #contact-page .c2r-cal-weekdays{
    margin-bottom: 5px;
    font-size: .68rem;
  }

  #contact-page .c2r-cal-day,
  #contact-page .c2r-cal-blank{
    aspect-ratio: 1.45;
  }

  #contact-page .c2r-cal-day{
    font-size: .82rem;
  }

  .c2r-details-layout{
    grid-template-columns: minmax(0, 1fr);
  }

  .c2r-booking-summary{
    display: none;
  }

  #contact-page .form-control,
  #contact-page .custom-select,
  #contact-page .form-select{
    min-height: 38px;
  }

  #contact-page .form-label,
  #contact-page .control-label{
    margin-bottom: 5px;
  }

  .c2r-details-main .row.mb-3,
  .c2r-details-main .mb-3{
    margin-bottom: .65rem !important;
  }

  .c2r-powered{
    display: none;
  }

  body.c2r-wizard-step-0 .c2r-recaptcha-disclosure,
  body.c2r-wizard-step-1 .c2r-recaptcha-disclosure,
  body.c2r-wizard-step-2 .c2r-recaptcha-disclosure{
    display: none;
  }

  .c2r-recaptcha-disclosure{
    margin-top: 6px;
    flex: 0 0 auto;
  }

  .c2r-nav-actions{
    margin-top: 6px;
    flex: 0 0 auto;
  }

  .c2r-nav-actions br{
    display: none;
  }
}

@media (min-width: 641px) and (max-height: 820px){
  .c2r-booking-page{
    padding-top: 10px;
    padding-bottom: 8px;
  }

  .c2r-booking-top{
    grid-template-columns: 132px minmax(0, 1fr) 126px;
    margin-bottom: 8px;
  }

  .c2r-brand-mark img{
    width: 126px;
  }

  .c2r-venue-title h1{
    font-size: clamp(1.55rem, 3vw, 2.1rem);
  }

  .c2r-venue-title p{
    font-size: .78rem;
  }

  #contact-page .reserveWidget{
    max-height: calc(100dvh - 164px);
  }

  #contact-page .block{
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .c2r-step-summary{
    margin-bottom: 10px;
  }

  .c2r-step-summary-item{
    gap: 5px;
  }

  .c2r-summary-dot{
    width: 24px;
    height: 24px;
  }

  .c2r-step-summary-item strong{
    font-size: .72rem;
  }

  .c2r-tab-heading h2{
    font-size: 1.32rem;
  }

  #contact-page .c2r-calendar-title{
    display: none;
  }

  #contact-page .c2r-calendar{
    max-width: 400px;
  }

  #contact-page .c2r-time-step .timeSlots{
    grid-template-columns: repeat(6, minmax(84px, 1fr));
  }

  #contact-page .c2r-time-step label.c2r-slot{
    min-height: 42px;
  }
}

/* C2R desktop balance: restore full PC proportions while avoiding step jumps. */
@media (min-width: 901px){
  .c2r-booking-page{
    max-width: 1040px;
    min-height: auto;
    padding-top: 28px;
    padding-bottom: 34px;
    display: block;
  }

  #contact_body{
    display: block;
  }

  .c2r-booking-top{
    grid-template-columns: 190px minmax(0, 1fr) 156px;
    gap: 18px;
    margin: 0 auto 16px;
  }

  .c2r-brand-mark img{
    width: 176px;
  }

  .c2r-venue-title h1{
    font-size: clamp(1.7rem, 4vw, 3rem);
  }

  .c2r-venue-title p{
    margin-top: 8px;
    font-size: .95rem;
  }

  .c2r-lang-wrap .custom-select{
    min-width: 136px;
    height: 38px;
  }

  #contact-page .reserveWidget{
    max-height: none;
    min-height: 0;
    padding: 14px;
    display: block;
    overflow: visible;
  }

  #contact-page .block{
    min-height: 0;
    padding: 18px 20px 16px;
    display: block;
    overflow: visible;
  }

  #add-form{
    display: block;
  }

  .c2r-step-summary{
    margin: -4px auto 20px;
  }

  .c2r-summary-dot{
    width: 28px;
    height: 28px;
  }

  .c2r-step-summary-item{
    gap: 7px;
  }

  .c2r-step-summary-item strong{
    font-size: .86rem;
  }

  #add-form > .tab{
    overflow: visible;
    padding: 0;
  }

  .c2r-tab-heading{
    margin: 8px auto 18px;
  }

  .c2r-tab-heading h2{
    font-size: clamp(1.25rem, 2.4vw, 1.65rem);
  }

  .c2r-tab-heading p{
    margin-top: 7px;
    font-size: .9rem;
  }

  #contact-page .c2r-field-guests{
    margin-top: 12px;
  }

  .input-group-btn,
  .input-group-btnDate,
  .timeSlots{
    gap: 8px;
  }

  .input-group-btn label,
  label.c2r-seat{
    min-width: 44px;
    height: 42px;
  }

  #contact-page .c2r-time-step .timeSlots{
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    gap: 10px;
  }

  #contact-page .c2r-time-step label.c2r-slot{
    min-height: 58px;
    padding: .55rem .7rem !important;
  }

  #contact-page .c2r-calendar{
    max-width: 520px;
    margin: 8px auto 4px;
    padding: 4px 0 2px;
  }

  #contact-page .c2r-calendar-title{
    display: block;
    margin: 0 0 18px;
    font-size: 1.55rem;
  }

  #contact-page .c2r-calendar-bar{
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 8px;
    margin-bottom: 14px;
  }

  #contact-page .c2r-cal-prev,
  #contact-page .c2r-cal-next{
    width: 42px;
    height: 42px;
  }

  #contact-page .c2r-cal-weekdays,
  #contact-page .c2r-cal-days{
    gap: 8px;
  }

  #contact-page .c2r-cal-weekdays{
    margin-bottom: 8px;
    font-size: .78rem;
  }

  #contact-page .c2r-cal-day,
  #contact-page .c2r-cal-blank{
    aspect-ratio: 1;
  }

  #contact-page .c2r-cal-day{
    font-size: .9rem;
  }

  .c2r-details-layout{
    grid-template-columns: minmax(0, 1fr) 260px;
  }

  .c2r-booking-summary{
    display: block;
  }

  #contact-page .form-control,
  #contact-page .custom-select,
  #contact-page .form-select{
    min-height: 44px;
  }

  #contact-page .form-label,
  #contact-page .control-label{
    margin-bottom: 8px;
  }

  .c2r-details-main .row.mb-3,
  .c2r-details-main .mb-3{
    margin-bottom: 1rem !important;
  }

  .c2r-powered{
    display: block;
  }

  .c2r-recaptcha-disclosure,
  body.c2r-wizard-step-0 .c2r-recaptcha-disclosure,
  body.c2r-wizard-step-1 .c2r-recaptcha-disclosure,
  body.c2r-wizard-step-2 .c2r-recaptcha-disclosure{
    display: block;
  }

  .c2r-recaptcha-disclosure{
    margin-top: 14px;
  }

  .c2r-nav-actions{
    margin-top: 0;
  }
}

@media (min-width: 901px) and (max-height: 820px){
  .c2r-booking-page{
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .c2r-booking-top{
    margin-bottom: 12px;
  }

  #contact-page .block{
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .c2r-step-summary{
    margin-bottom: 16px;
  }

  .c2r-powered{
    margin-top: 16px !important;
    transform: scale(.9);
    transform-origin: top center;
  }

  .c2r-recaptcha-disclosure{
    margin-top: 8px;
  }
}

/* C2R desktop date step: fixed-height calendar rows. */
@media (min-width: 901px){
  body.c2r-wizard-step-1 #contact-page .c2r-calendar{
    max-width: 540px;
    margin-top: 0;
    margin-bottom: 12px;
  }

  body.c2r-wizard-step-1 #contact-page .c2r-calendar-title{
    margin-bottom: 14px;
    font-size: 1.45rem;
  }

  body.c2r-wizard-step-1 #contact-page .c2r-calendar-bar{
    margin-bottom: 12px;
  }

  body.c2r-wizard-step-1 #contact-page .c2r-cal-weekdays,
  body.c2r-wizard-step-1 #contact-page .c2r-cal-days{
    gap: 6px 8px;
  }

  body.c2r-wizard-step-1 #contact-page .c2r-cal-day,
  body.c2r-wizard-step-1 #contact-page .c2r-cal-blank{
    width: 44px;
    height: 44px;
    aspect-ratio: auto;
    justify-self: center;
  }

  body.c2r-wizard-step-1 #contact-page .c2r-cal-day{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: .9rem;
  }
}

@media (min-width: 901px) and (max-height: 820px){
  body.c2r-wizard-step-1 #contact-page .c2r-calendar{
    max-width: 500px;
  }

  body.c2r-wizard-step-1 #contact-page .c2r-calendar-title{
    display: block;
    margin-bottom: 8px;
    font-size: 1.25rem;
  }

  body.c2r-wizard-step-1 #contact-page .c2r-calendar-bar{
    margin-bottom: 8px;
  }

  body.c2r-wizard-step-1 #contact-page .c2r-cal-day,
  body.c2r-wizard-step-1 #contact-page .c2r-cal-blank{
    width: 38px;
    height: 38px;
  }
}

/* C2R desktop personal step: compact fields enough to keep footer visible. */
@media (min-width: 901px){
  body.c2r-wizard-step-3 #contact-page .block{
    padding-top: 14px;
    padding-bottom: 12px;
  }

  body.c2r-wizard-step-3 .c2r-step-summary{
    margin-bottom: 12px;
  }

  body.c2r-wizard-step-3 .c2r-tab-heading{
    margin: 2px auto 14px;
  }

  body.c2r-wizard-step-3 .c2r-tab-heading h2{
    font-size: 1.55rem;
  }

  body.c2r-wizard-step-3 .c2r-tab-heading p{
    margin-top: 5px;
    font-size: .84rem;
  }

  body.c2r-wizard-step-3 .c2r-details-layout{
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  body.c2r-wizard-step-3 .c2r-booking-summary{
    display: none;
  }

  body.c2r-wizard-step-3 .c2r-details-main .row.mb-3,
  body.c2r-wizard-step-3 .c2r-details-main .mb-3{
    margin-bottom: .72rem !important;
  }

  body.c2r-wizard-step-3 #contact-page .form-label{
    margin-bottom: 5px;
    font-size: .78rem;
  }

  body.c2r-wizard-step-3 #contact-page .form-control,
  body.c2r-wizard-step-3 #contact-page .custom-select,
  body.c2r-wizard-step-3 #contact-page .form-select{
    min-height: 40px;
    height: 40px;
    font-size: .95rem;
    padding-top: .35rem;
    padding-bottom: .35rem;
  }

  body.c2r-wizard-step-3 #add_allergies,
  body.c2r-wizard-step-3 #add_note{
    min-height: 40px;
    height: 40px;
  }

  body.c2r-wizard-step-3 .c2r-powered{
    margin-top: 12px !important;
    transform: scale(.86);
    transform-origin: top center;
  }

  body.c2r-wizard-step-3 .c2r-powered p{
    margin-bottom: 0;
  }

  body.c2r-wizard-step-3 .c2r-recaptcha-disclosure{
    margin-top: 6px;
  }
}

@media (min-width: 901px) and (max-height: 820px){
  body.c2r-wizard-step-3 .c2r-step-summary-item strong{
    font-size: .78rem;
  }

  body.c2r-wizard-step-3 .c2r-tab-heading h2{
    font-size: 1.35rem;
  }

  body.c2r-wizard-step-3 .c2r-details-main .row.mb-3,
  body.c2r-wizard-step-3 .c2r-details-main .mb-3{
    margin-bottom: .55rem !important;
  }

  body.c2r-wizard-step-3 #contact-page .form-control,
  body.c2r-wizard-step-3 #contact-page .custom-select,
  body.c2r-wizard-step-3 #contact-page .form-select,
  body.c2r-wizard-step-3 #add_allergies,
  body.c2r-wizard-step-3 #add_note{
    min-height: 36px;
    height: 36px;
  }

  body.c2r-wizard-step-3 .c2r-powered{
    margin-top: 8px !important;
    transform: scale(.8);
  }
}

.outputNote{
  white-space: pre-line;
}

/* C2R desktop personal heading alignment. */
@media (min-width: 901px){
  body.c2r-wizard-step-3 .c2r-tab-heading{
    max-width: none;
    margin: 0 0 12px;
    text-align: left;
  }

  body.c2r-wizard-step-3 .c2r-tab-heading h2{
    font-size: 1.28rem;
    line-height: 1.15;
  }

  body.c2r-wizard-step-3 .c2r-tab-heading p{
    margin-top: 4px;
    font-size: .78rem;
  }
}

@media (min-width: 901px) and (max-height: 820px){
  body.c2r-wizard-step-3 .c2r-tab-heading{
    margin-bottom: 9px;
  }

  body.c2r-wizard-step-3 .c2r-tab-heading h2{
    font-size: 1.18rem;
  }

  body.c2r-wizard-step-3 .c2r-tab-heading p{
    font-size: .74rem;
  }
}

/* C2R laptop personal step: reduce subtle vertical scroll. */
@media (min-width: 901px) and (max-height: 900px){
  body.c2r-wizard-step-3 .c2r-step-summary{
    margin-bottom: 9px;
  }

  body.c2r-wizard-step-3 #contact-page .block{
    padding-top: 12px;
    padding-bottom: 10px;
  }

  body.c2r-wizard-step-3 .c2r-tab-heading{
    margin-bottom: 8px;
  }

  body.c2r-wizard-step-3 .c2r-tab-heading h2{
    font-size: 1.16rem;
  }

  body.c2r-wizard-step-3 .c2r-tab-heading p{
    font-size: .72rem;
  }

  body.c2r-wizard-step-3 .c2r-details-main .row.mb-3,
  body.c2r-wizard-step-3 .c2r-details-main .mb-3{
    margin-bottom: .48rem !important;
  }

  body.c2r-wizard-step-3 #contact-page .form-label{
    margin-bottom: 3px;
    font-size: .74rem;
  }

  body.c2r-wizard-step-3 #contact-page .form-control,
  body.c2r-wizard-step-3 #contact-page .custom-select,
  body.c2r-wizard-step-3 #contact-page .form-select,
  body.c2r-wizard-step-3 #add_allergies,
  body.c2r-wizard-step-3 #add_note{
    min-height: 34px;
    height: 34px;
    font-size: .9rem;
  }

  body.c2r-wizard-step-3 .c2r-powered{
    margin-top: 6px !important;
    transform: scale(.76);
  }

  body.c2r-wizard-step-3 .c2r-recaptcha-disclosure{
    margin-top: 2px;
    font-size: .6rem;
  }
}

/* C2R laptop final step: compact review card. */
@media (min-width: 901px){
  body.c2r-wizard-step-5 #contact-page .block{
    padding-top: 12px;
    padding-bottom: 10px;
  }

  body.c2r-wizard-step-5 .c2r-step-summary{
    margin-bottom: 12px;
  }

  body.c2r-wizard-step-5 .c2r-final-card{
    max-width: 600px !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card .card-body{
    padding: 1rem 1.2rem;
  }

  body.c2r-wizard-step-5 .c2r-final-card h4{
    margin-bottom: .25rem !important;
    font-size: 1.12rem;
  }

  body.c2r-wizard-step-5 .c2r-final-card .text-muted{
    margin-bottom: .65rem !important;
    font-size: .78rem !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card h5{
    margin-bottom: .3rem !important;
    font-size: .9rem;
  }

  body.c2r-wizard-step-5 .c2r-final-card .text-left{
    padding-top: .5rem !important;
    font-size: .84rem;
    line-height: 1.35;
  }

  body.c2r-wizard-step-5 .c2r-final-card .text-left.mt-3{
    margin-top: .65rem !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card .mt-3.pt-3{
    margin-top: .65rem !important;
    padding-top: .55rem !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card .font-weight-bold.mb-2{
    margin-bottom: .35rem !important;
    font-size: .86rem;
  }

  body.c2r-wizard-step-5 #rsvCode{
    padding: .35rem .6rem !important;
    font-size: 1rem !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card .d-flex.mt-4{
    margin-top: .8rem !important;
  }

  body.c2r-wizard-step-5 .c2r-final-cta{
    min-height: 40px;
    padding-top: .4rem;
    padding-bottom: .4rem;
    font-size: .95rem;
  }

  body.c2r-wizard-step-5 .c2r-recaptcha-disclosure{
    margin-top: 6px;
  }

  body.c2r-wizard-step-5 .c2r-legacy-steps{
    display: none;
  }
}

@media (min-width: 901px) and (max-height: 900px){
  body.c2r-wizard-step-5 #contact-page .block{
    padding-top: 10px;
    padding-bottom: 8px;
  }

  body.c2r-wizard-step-5 .c2r-step-summary{
    margin-bottom: 9px;
  }

  body.c2r-wizard-step-5 .c2r-final-card .card-body{
    padding: .75rem 1rem;
  }

  body.c2r-wizard-step-5 .c2r-final-card h4{
    font-size: 1rem;
  }

  body.c2r-wizard-step-5 .c2r-final-card .text-muted{
    margin-bottom: .45rem !important;
    font-size: .72rem !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card h5{
    font-size: .82rem;
  }

  body.c2r-wizard-step-5 .c2r-final-card .text-left{
    padding-top: .38rem !important;
    font-size: .78rem;
    line-height: 1.28;
  }

  body.c2r-wizard-step-5 .c2r-final-card .text-left.mt-3,
  body.c2r-wizard-step-5 .c2r-final-card .mt-3.pt-3{
    margin-top: .45rem !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card .mt-3.pt-3{
    padding-top: .4rem !important;
  }

  body.c2r-wizard-step-5 #rsvCode{
    font-size: .9rem !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card .d-flex.mt-4{
    margin-top: .55rem !important;
  }

  body.c2r-wizard-step-5 .c2r-final-cta{
    min-height: 36px;
    font-size: .88rem;
  }

  body.c2r-wizard-step-5 .c2r-recaptcha-disclosure{
    margin-top: 3px;
    font-size: .6rem;
  }
}

/* C2R final step polish: readable laptop-friendly review. */
@media (min-width: 901px){
  body.c2r-wizard-step-5 .c2r-final-card{
    max-width: 760px !important;
    border-color: rgba(244,199,98,.42) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 42px rgba(0,0,0,.22) !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card .card-body{
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 12px 22px;
    padding: 1.25rem 1.45rem;
    text-align: left !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card h4,
  body.c2r-wizard-step-5 .c2r-final-card .text-muted{
    grid-column: 1 / -1;
    text-align: center;
  }

  body.c2r-wizard-step-5 .c2r-final-card h4{
    margin-bottom: 0 !important;
    color: #f8fafc;
    font-size: 1.35rem;
    line-height: 1.15;
  }

  body.c2r-wizard-step-5 .c2r-final-card .text-muted{
    margin-bottom: .15rem !important;
    color: rgba(248,250,252,.58) !important;
    font-size: .92rem !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card h5{
    margin-bottom: .48rem !important;
    color: #f5c869;
    font-size: 1rem;
    font-weight: 850;
  }

  body.c2r-wizard-step-5 .c2r-final-card .text-left{
    margin-top: 0 !important;
    padding: .75rem .85rem !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 8px;
    background: rgba(255,255,255,.025);
    font-size: .96rem;
    line-height: 1.42;
  }

  body.c2r-wizard-step-5 .c2r-final-card .text-left strong{
    color: rgba(248,250,252,.72);
    font-weight: 800;
  }

  body.c2r-wizard-step-5 .c2r-final-card .mt-3.pt-3{
    grid-column: 1 / 2;
    margin-top: 0 !important;
    padding: .8rem .85rem !important;
    border: 1px solid rgba(244,199,98,.25) !important;
    border-radius: 8px;
    background: rgba(244,199,98,.045);
    text-align: center;
  }

  body.c2r-wizard-step-5 .c2r-final-card .font-weight-bold.mb-2{
    margin-bottom: .55rem !important;
    color: #f8fafc;
    font-size: 1rem;
  }

  body.c2r-wizard-step-5 #rsvCode{
    padding: .5rem .8rem !important;
    border-radius: 7px;
    font-size: 1.08rem !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card .d-flex.mt-4{
    grid-column: 2 / 3;
    align-self: stretch;
    margin-top: 0 !important;
    padding: .8rem .85rem;
    border: 1px solid rgba(244,199,98,.22);
    border-radius: 8px;
    background: rgba(255,255,255,.018);
  }

  body.c2r-wizard-step-5 .c2r-final-cta{
    width: 100%;
    min-height: 48px;
    padding: .55rem 1.1rem;
    font-size: 1rem;
  }
}

@media (min-width: 901px) and (max-height: 900px){
  body.c2r-wizard-step-5 .c2r-final-card{
    max-width: 720px !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card .card-body{
    gap: 10px 18px;
    padding: 1rem 1.2rem;
  }

  body.c2r-wizard-step-5 .c2r-final-card h4{
    font-size: 1.24rem;
  }

  body.c2r-wizard-step-5 .c2r-final-card .text-muted{
    font-size: .84rem !important;
  }

  body.c2r-wizard-step-5 .c2r-final-card .text-left{
    padding: .62rem .72rem !important;
    font-size: .9rem;
    line-height: 1.34;
  }

  body.c2r-wizard-step-5 .c2r-final-card h5,
  body.c2r-wizard-step-5 .c2r-final-card .font-weight-bold.mb-2{
    font-size: .94rem;
  }

  body.c2r-wizard-step-5 .c2r-final-card .mt-3.pt-3,
  body.c2r-wizard-step-5 .c2r-final-card .d-flex.mt-4{
    padding: .62rem .72rem !important;
  }

  body.c2r-wizard-step-5 #rsvCode{
    font-size: 1rem !important;
  }

  body.c2r-wizard-step-5 .c2r-final-cta{
    min-height: 44px;
    font-size: .96rem;
  }
}

/* C2R tablet header: keep brand, venue, and language in one balanced row. */
@media (min-width: 641px) and (max-width: 900px){
  .c2r-booking-page{
    max-width: 900px;
    padding: 18px 18px 24px;
  }

  .c2r-booking-top{
    grid-template-columns: 170px minmax(0, 1fr) 170px;
    grid-template-areas: "brand title lang";
    gap: 14px;
    align-items: center;
    margin: 0 auto 18px;
    width: 100%;
  }

  .c2r-brand-mark{
    grid-area: brand;
    grid-column: auto;
    justify-content: flex-start;
  }

  .c2r-brand-mark img{
    width: 150px;
  }

  .c2r-venue-title{
    grid-area: title;
    text-align: center;
    align-self: center;
  }

  .c2r-venue-title h1{
    font-size: clamp(2rem, 5vw, 2.8rem);
    line-height: 1.04;
  }

  .c2r-venue-title p{
    display: block;
    margin-top: 6px;
    font-size: .9rem;
    line-height: 1.25;
  }

  .c2r-lang-wrap{
    grid-area: lang;
    justify-self: end;
    align-self: center;
  }

  .c2r-lang-wrap .custom-select{
    min-width: 138px;
    width: 138px;
    height: 38px;
    font-size: .9rem;
  }
}

@media (min-width: 641px) and (max-width: 760px){
  .c2r-booking-top{
    grid-template-columns: 136px minmax(0, 1fr) 132px;
    gap: 10px;
  }

  .c2r-brand-mark img{
    width: 124px;
  }

  .c2r-venue-title h1{
    font-size: clamp(1.65rem, 5.4vw, 2.25rem);
  }

  .c2r-venue-title p{
    font-size: .82rem;
  }

  .c2r-lang-wrap .custom-select{
    min-width: 126px;
    width: 126px;
    height: 36px;
  }
}

/* C2R phone time step: scroll long slot lists instead of cropping. */
@media (max-width: 640px){
  body.c2r-wizard-step-2,
  body.c2r-wizard-step-2.c2r-mobile-form-active{
    overflow-y: auto;
  }

  body.c2r-wizard-step-2 .c2r-booking-page{
    height: 100dvh;
    min-height: 100dvh;
    overflow: hidden;
  }

  body.c2r-wizard-step-2 #contact_body,
  body.c2r-wizard-step-2 #contact-page .reserveWidget,
  body.c2r-wizard-step-2 #contact-page .block,
  body.c2r-wizard-step-2 #add-form{
    min-height: 0;
  }

  body.c2r-wizard-step-2 #add-form > .tab{
    min-height: 0;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 10px;
  }

  body.c2r-wizard-step-2 #contact-page .c2r-time-step{
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  body.c2r-wizard-step-2 #contact-page .c2r-time-step .input-group-btnDate{
    min-height: 0;
    display: block !important;
  }

  body.c2r-wizard-step-2 #contact-page .c2r-time-step .timeSlots{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    max-height: calc(100dvh - 255px);
    overflow-y: auto !important;
    overflow-x: hidden;
    padding: 1px 3px 12px 1px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  body.c2r-wizard-step-2 #contact-page .c2r-time-step label.c2r-slot{
    min-height: 42px;
    width: 100% !important;
    padding: .42rem .5rem !important;
  }

  body.c2r-wizard-step-2 .c2r-powered,
  body.c2r-wizard-step-2 .c2r-recaptcha-disclosure{
    display: none;
  }
}

@media (max-width: 380px){
  body.c2r-wizard-step-2 #contact-page .c2r-time-step .timeSlots{
    max-height: calc(100dvh - 238px);
  }

  body.c2r-wizard-step-2 #contact-page .c2r-time-step label.c2r-slot{
    min-height: 39px;
  }
}

/* C2R larger phones: show three time slots per row. */
@media (min-width: 390px) and (max-width: 640px){
  body.c2r-wizard-step-2 #contact-page .c2r-time-step .timeSlots{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  body.c2r-wizard-step-2 #contact-page .c2r-time-step label.c2r-slot{
    min-height: 40px;
    padding-left: .35rem !important;
    padding-right: .35rem !important;
    font-size: .86rem;
  }
}

/* C2R Galaxy S10 width: compact three-column time slots. */
@media (min-width: 350px) and (max-width: 389px){
  body.c2r-wizard-step-2 #contact-page .c2r-time-step .timeSlots{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    max-height: calc(100dvh - 238px);
  }

  body.c2r-wizard-step-2 #contact-page .c2r-time-step label.c2r-slot{
    min-height: 38px;
    padding: .35rem .25rem !important;
    font-size: .74rem;
    letter-spacing: 0;
  }

  body.c2r-wizard-step-2 label.c2r-slot .c2r-time{
    white-space: nowrap;
  }
}

/* C2R phone shell: keep the wizard border width stable between steps. */
@media (max-width: 640px){
  #contact-page.c2r-booking-page,
  #contact-page{
    width: 100% !important;
    max-width: none !important;
  }

  #contact_body,
  #contact-page .reserveWidget,
  #contact-page .block,
  #add-form{
    width: 100% !important;
  }

  body.c2r-wizard-step-2 .c2r-booking-page,
  body.c2r-wizard-step-2 #contact_body,
  body.c2r-wizard-step-2 #contact-page .reserveWidget,
  body.c2r-wizard-step-2 #contact-page .block,
  body.c2r-wizard-step-2 #add-form{
    width: 100% !important;
    max-width: none !important;
  }

  body.c2r-wizard-step-2 #contact-page .c2r-time-step,
  body.c2r-wizard-step-2 #contact-page .c2r-time-step .input-group-btnDate,
  body.c2r-wizard-step-2 #contact-page .c2r-time-step .timeSlots{
    width: 100% !important;
  }
}

/* C2R stable venue header height for long names. */
@media (min-width: 901px){
  .c2r-booking-top{
    min-height: 118px;
    align-items: center;
  }

  .c2r-venue-title{
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .c2r-venue-title h1{
    max-width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-wrap: balance;
    font-size: clamp(1.85rem, 3.25vw, 2.65rem);
    line-height: 1.02;
  }

  .c2r-venue-title p{
    max-width: 100%;
    margin-top: 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (min-width: 641px) and (max-width: 900px){
  .c2r-booking-top{
    min-height: 126px;
    align-items: center;
  }

  .c2r-venue-title{
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .c2r-venue-title h1{
    max-width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-wrap: balance;
    font-size: clamp(1.45rem, 4vw, 2.15rem);
    line-height: 1.03;
  }

  .c2r-venue-title p{
    max-width: 100%;
    margin-top: 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* C2R tighter stable header baseline matching Mitsaras footprint. */
@media (min-width: 901px){
  .c2r-booking-top{
    min-height: 100px;
    margin-bottom: 12px;
  }

  .c2r-venue-title h1{
    font-size: clamp(1.65rem, 2.9vw, 2.35rem);
    line-height: .98;
  }

  .c2r-venue-title p{
    margin-top: 5px;
    font-size: .86rem;
    line-height: 1.15;
  }
}

@media (min-width: 901px) and (max-height: 820px){
  .c2r-booking-top{
    min-height: 88px;
    margin-bottom: 9px;
  }

  .c2r-venue-title h1{
    font-size: clamp(1.5rem, 2.55vw, 2rem);
  }

  .c2r-venue-title p{
    margin-top: 4px;
    font-size: .78rem;
  }
}

@media (min-width: 641px) and (max-width: 900px){
  .c2r-booking-top{
    min-height: 108px;
    margin-bottom: 14px;
  }

  .c2r-venue-title h1{
    font-size: clamp(1.35rem, 3.55vw, 1.9rem);
    line-height: 1;
  }

  .c2r-venue-title p{
    margin-top: 5px;
    font-size: .8rem;
    line-height: 1.15;
  }
}

@media (min-width: 641px) and (max-width: 760px){
  .c2r-booking-top{
    min-height: 96px;
    margin-bottom: 12px;
  }

  .c2r-venue-title h1{
    font-size: clamp(1.22rem, 3.8vw, 1.7rem);
  }

  .c2r-venue-title p{
    font-size: .74rem;
  }
}

/* C2R desktop time step: keep many timeslots inside a stable scroll area. */
@media (min-width: 901px){
  body.c2r-wizard-step-2 #contact-page .c2r-time-step .timeSlots{
    max-height: min(42vh, 390px);
    overflow-y: auto !important;
    overflow-x: hidden;
    padding-right: 6px;
    padding-bottom: 8px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scrollbar-color: rgba(227,173,55,.55) rgba(255,255,255,.06);
  }

  body.c2r-wizard-step-2 #contact-page .c2r-time-step .timeSlots::-webkit-scrollbar{
    width: 8px;
  }

  body.c2r-wizard-step-2 #contact-page .c2r-time-step .timeSlots::-webkit-scrollbar-track{
    background: rgba(255,255,255,.06);
    border-radius: 999px;
  }

  body.c2r-wizard-step-2 #contact-page .c2r-time-step .timeSlots::-webkit-scrollbar-thumb{
    background: rgba(227,173,55,.55);
    border-radius: 999px;
  }
}

@media (min-width: 901px) and (max-height: 860px){
  body.c2r-wizard-step-2 #contact-page .c2r-time-step .timeSlots{
    max-height: min(38vh, 330px);
  }

  body.c2r-wizard-step-2 #contact-page .c2r-time-step label.c2r-slot{
    min-height: 42px;
  }
}

/* C2R compact powered-by signature. */
@media (min-width: 641px){
  #contact-page .block{
    position: relative;
  }

  #contact-page .tab .c2r-powered{
    position: absolute;
    right: 18px;
    bottom: 12px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    transform: none !important;
    transform-origin: center;
    color: rgba(248,250,252,.42);
    font-size: .58rem;
    line-height: 1;
    opacity: .78;
    pointer-events: auto;
  }

  #contact-page .tab .c2r-powered p{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    line-height: 1;
  }

  #contact-page .tab .c2r-powered a{
    margin: 0 !important;
    padding: 0 !important;
    opacity: .72;
    background: transparent !important;
    box-shadow: none !important;
  }

  #contact-page .tab .c2r-powered img{
    width: 64px !important;
    height: auto;
    display: block;
  }

  body.c2r-wizard-step-2 #contact-page .c2r-time-step .timeSlots{
    max-height: min(48vh, 440px);
  }
}

@media (min-width: 641px) and (max-width: 900px){
  #contact-page .tab .c2r-powered{
    right: 14px;
    bottom: 10px;
    font-size: .55rem;
  }

  #contact-page .tab .c2r-powered img{
    width: 58px !important;
  }
}

@media (min-width: 901px) and (max-height: 860px){
  body.c2r-wizard-step-2 #contact-page .c2r-time-step .timeSlots{
    max-height: min(44vh, 380px);
  }
}

/* C2R powered-by collision guard for review button. */
@media (min-width: 641px){
  body:not(.c2r-hide-wizard-nav) #contact-page .tab .c2r-powered{
    right: 20px;
    bottom: 78px;
  }

  body.c2r-wizard-step-3 #contact-page .tab .c2r-powered,
  body.c2r-wizard-step-4 #contact-page .tab .c2r-powered,
  body.c2r-wizard-step-5 #contact-page .tab .c2r-powered{
    display: none;
  }
}

/* C2R optional guest detail memory. */
.c2r-remember-details{
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: -2px 0 .75rem;
  padding: 9px 11px;
  border: 1px solid rgba(244,199,98,.22);
  border-radius: 8px;
  background: rgba(244,199,98,.045);
  color: rgba(248,250,252,.78);
  font-size: .82rem;
  line-height: 1.35;
  cursor: pointer;
}

.c2r-remember-details input{
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  accent-color: #e3ad37;
}

.c2r-remember-details span{
  min-width: 0;
}

@media (min-width: 901px) and (max-height: 900px){
  body.c2r-wizard-step-3 .c2r-remember-details{
    margin: -2px 0 .45rem;
    padding: 7px 9px;
    font-size: .74rem;
  }
}

@media (max-width: 640px){
  .c2r-remember-details{
    margin: 4px 0 10px;
    padding: 8px 9px;
    font-size: .76rem;
  }
}

/* Demo online form: keep the seats-left pill below the time on every step-2 layout. */
body.c2r-wizard-step-2 #contact-page .c2r-time-step label.c2r-slot{
  min-height: 58px !important;
  height: auto !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  padding-top: .48rem !important;
  padding-bottom: 1.58rem !important;
}

body.c2r-wizard-step-2 #contact-page .c2r-time-step label.c2r-slot .c2r-time{
  display: block;
  width: 100%;
  line-height: 1.15;
  margin-bottom: .38rem;
}

body.c2r-wizard-step-2 #contact-page .c2r-time-step label.c2r-slot .c2r-badge{
  bottom: .4rem !important;
}
