:root{--cg-gold:#d6aa57;--cg-gold-deep:#9b6d20;--cg-ink:#0a0a09;--cg-paper:#f4efe5;--cg-muted:#6f685d;--cg-line:rgba(24,20,14,.16);--cg-green:#167a4a;--cg-red:#a34343}
.cg-booking-active .whatsapp-float{display:none!important}
.cg-booking-page{background:var(--cg-paper);color:#17130e;overflow:hidden}.cg-booking-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.cg-booking-hero{padding:clamp(70px,9vw,130px) 0 clamp(56px,7vw,96px);background:radial-gradient(circle at 80% 15%,rgba(214,170,87,.18),transparent 38%),#080807;color:#f7f1e7}.cg-booking-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:clamp(48px,8vw,110px);align-items:end}.cg-eyebrow{margin:0 0 18px;color:var(--cg-gold-deep);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.cg-booking-hero .cg-eyebrow{color:var(--cg-gold)}.cg-booking-hero h1{max-width:820px;margin:0;font-size:clamp(2.7rem,6vw,5.9rem);line-height:.94;letter-spacing:-.055em}.cg-booking-hero h1 em{color:var(--cg-gold);font-family:Georgia,serif;font-weight:400}.cg-booking-intro{max-width:690px;margin:28px 0 0;color:#c9c1b5;font-size:clamp(1.04rem,1.5vw,1.25rem);line-height:1.7}.cg-steps{display:grid;gap:14px;margin:0;padding:0;list-style:none}.cg-steps li{display:flex;gap:15px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.055);backdrop-filter:blur(10px)}.cg-steps>li>span{display:grid;flex:0 0 34px;height:34px;place-items:center;border-radius:50%;background:var(--cg-gold);color:#100d08;font-weight:900}.cg-steps strong,.cg-steps small{display:block}.cg-steps small{margin-top:4px;color:#aaa297;line-height:1.45}.cg-booking-main{padding:clamp(55px,7vw,96px) 0}.cg-booking-layout{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(520px,1.22fr);gap:28px;align-items:stretch}.cg-price-panel,.cg-calendar-card,.cg-form-card,.cg-success{border:1px solid var(--cg-line);border-radius:28px;background:#fff;box-shadow:0 22px 60px rgba(31,23,12,.08)}.cg-price-panel{padding:clamp(28px,4vw,48px);background:linear-gradient(160deg,#12100d,#050504);color:#f4eee3}.cg-price-panel h2,.cg-calendar-card h2,.cg-form-card h2,.cg-success h2,.cg-booking-faq h2{margin:0;font-size:clamp(1.8rem,3vw,3rem);line-height:1.05;letter-spacing:-.04em}.cg-price-panel .cg-eyebrow{color:var(--cg-gold)}.cg-field{display:grid;gap:8px}.cg-field>span{font-size:.88rem;font-weight:750}.cg-price-panel .cg-field{margin-top:30px}.cg-field input,.cg-field select{width:100%;min-height:50px;padding:0 14px;border:1px solid #c9c0b2;border-radius:12px;background:#fff;color:#17130e;font:inherit}.cg-price-panel select{border-color:rgba(255,255,255,.2);background:#191713;color:#fff}.cg-field input:focus,.cg-field select:focus,.cg-day:focus-visible,.cg-month-nav button:focus-visible,.cg-submit:focus-visible,.cg-whatsapp-button:focus-visible{outline:3px solid var(--cg-gold);outline-offset:3px}.cg-live-price{margin-top:18px;padding:24px;border:1px solid rgba(214,170,87,.28);border-radius:18px;background:rgba(214,170,87,.09)}.cg-live-price span,.cg-live-price small,.cg-live-price strong{display:block}.cg-live-price span{color:#bfb6a9;font-size:.8rem}.cg-live-price strong{margin:4px 0;color:var(--cg-gold);font-size:clamp(2rem,4vw,3.7rem);line-height:1}.cg-live-price small{color:#d2cabf}.cg-pricing-list{margin:28px 0 0}.cg-pricing-list>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid rgba(255,255,255,.12)}.cg-pricing-list dt{max-width:245px;color:#bdb5aa}.cg-pricing-list dd{margin:0;font-weight:850;white-space:nowrap}.cg-price-note{margin:20px 0 0;padding:15px;border-left:3px solid var(--cg-gold);background:rgba(255,255,255,.055);color:#c9c1b5;font-size:.9rem;line-height:1.55}.cg-calendar-card{padding:clamp(25px,4vw,44px)}.cg-calendar-head,.cg-form-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.cg-calendar-head .cg-eyebrow,.cg-form-heading .cg-eyebrow{margin-bottom:10px}.cg-month-nav{display:flex;gap:8px}.cg-month-nav button{width:44px;height:44px;border:1px solid var(--cg-line);border-radius:50%;background:#fff;color:#17130e;font-size:1.2rem;cursor:pointer}.cg-month-nav button:disabled{opacity:.3;cursor:not-allowed}.cg-calendar-status{margin:20px 0;padding:12px 14px;border-radius:10px;background:#f6ead3;color:#65450d}.cg-calendar h3{margin:30px 0 20px;text-align:center;font-size:1.25rem;text-transform:capitalize}.cg-weekdays,.cg-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.cg-weekdays span{padding:7px 0;text-align:center;color:var(--cg-muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.cg-day,.cg-day-spacer{aspect-ratio:1;min-height:52px;border-radius:13px}.cg-day{border:1px solid var(--cg-line);background:#fff;color:#17130e;font:inherit;font-weight:800;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.cg-day.is-available:hover{transform:translateY(-2px);border-color:var(--cg-green);background:#edf8f2}.cg-day.is-unavailable{border-color:transparent;background:#eee8de;color:#948c80;text-decoration:line-through;cursor:not-allowed}.cg-day.is-selected,.cg-day.is-selected:hover{border-color:var(--cg-gold-deep);background:var(--cg-gold);color:#110d07;transform:none}.cg-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px;color:var(--cg-muted);font-size:.78rem}.cg-legend span{display:flex;gap:7px;align-items:center}.cg-legend i{width:12px;height:12px;border-radius:4px;border:1px solid var(--cg-line);background:#fff}.cg-legend .is-unavailable{background:#eee8de}.cg-legend .is-selected{background:var(--cg-gold)}.cg-form-card,.cg-success{scroll-margin-top:110px;margin-top:28px;padding:clamp(28px,5vw,54px)}.cg-form-heading>p{margin:0;padding:12px 16px;border-radius:14px;background:#f3ead9;text-align:right;line-height:1.45}.cg-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}.cg-consent{display:flex;gap:11px;align-items:flex-start;margin-top:22px;color:var(--cg-muted);font-size:.9rem;line-height:1.5}.cg-consent input{margin-top:4px}.cg-form-actions{display:flex;gap:18px;align-items:center;margin-top:25px}.cg-submit,.cg-whatsapp-button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 25px;border:0;border-radius:999px;background:#10100e;color:#fff;font:inherit;font-weight:850;text-decoration:none;cursor:pointer}.cg-submit:disabled{opacity:.6;cursor:wait}.cg-form-actions p{margin:0;color:var(--cg-red)}.cg-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.cg-success{text-align:center;background:linear-gradient(145deg,#fff,#f7f0e4)}.cg-success-icon{display:grid;width:56px;height:56px;margin:0 auto 20px;place-items:center;border-radius:50%;background:var(--cg-green);color:#fff;font-size:1.6rem;font-weight:900}.cg-success>p:not(.cg-eyebrow){max-width:700px;margin:20px auto;color:var(--cg-muted);line-height:1.7}.cg-whatsapp-button{background:#16a85f}.cg-booking-faq{padding:clamp(60px,8vw,105px) 0;background:#0a0a09;color:#f5efe4}.cg-booking-faq .cg-eyebrow{color:var(--cg-gold)}.cg-faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.cg-faq-grid details{padding:22px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.04)}.cg-faq-grid summary{cursor:pointer;font-weight:800}.cg-faq-grid p{color:#bbb3a7;line-height:1.65}.cg-booking-page [hidden],.cg-booking-embed [hidden]{display:none!important}
@media(max-width:900px){.cg-booking-hero-grid,.cg-booking-layout{grid-template-columns:1fr}.cg-booking-hero-grid{gap:38px}.cg-calendar-card{grid-row:1}.cg-price-panel{grid-row:2}.cg-faq-grid{grid-template-columns:1fr}.cg-booking-hero h1{font-size:clamp(2.7rem,11vw,5rem)}}
@media(max-width:620px){.cg-booking-container{width:min(100% - 24px,1180px)}.cg-booking-hero{padding-top:55px}.cg-steps li{padding:14px}.cg-calendar-head,.cg-form-heading{display:grid}.cg-calendar-card,.cg-price-panel,.cg-form-card,.cg-success{border-radius:20px}.cg-day,.cg-day-spacer{min-height:39px;border-radius:9px}.cg-weekdays,.cg-days{gap:4px}.cg-form-grid{grid-template-columns:1fr}.cg-form-heading>p{text-align:left}.cg-form-actions{display:grid}.cg-submit{width:100%}.cg-pricing-list>div{display:grid;gap:5px}.cg-pricing-list dd{white-space:normal}}
@media(prefers-reduced-motion:reduce){.cg-booking-page *,.cg-booking-embed *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(prefers-contrast:more){.cg-price-panel,.cg-calendar-card,.cg-form-card,.cg-success,.cg-faq-grid details{border-width:2px}.cg-day{border-color:currentColor}.cg-booking-page a,.cg-booking-page button{text-decoration-thickness:2px}}

/* Compact booking layout: keeps the complete month visible without dominating the page. */
@media(min-width:901px){
  .cg-booking-main{padding:clamp(42px,5vw,68px) 0}
  .cg-booking-layout{grid-template-columns:minmax(300px,.82fr) minmax(500px,1.18fr);gap:22px;align-items:start;max-width:1100px;margin-inline:auto}
  .cg-price-panel{padding:clamp(26px,3vw,36px)}
  .cg-price-panel h2,.cg-calendar-card h2,.cg-form-card h2,.cg-success h2,.cg-booking-faq h2{font-size:clamp(1.7rem,2.5vw,2.6rem)}
  .cg-price-panel .cg-field{margin-top:22px}
  .cg-live-price{margin-top:16px;padding:18px}
  .cg-live-price strong{font-size:clamp(2rem,3vw,2.9rem)}
  .cg-pricing-list{margin-top:20px}
  .cg-pricing-list>div{padding:12px 0}
  .cg-price-note{margin-top:16px;padding:13px;font-size:.88rem;line-height:1.5}
  .cg-calendar-card{padding:clamp(24px,3vw,34px)}
  .cg-calendar h3{margin:22px 0 14px;font-size:1.18rem}
  .cg-weekdays,.cg-days{gap:5px}
  .cg-day,.cg-day-spacer{height:56px;min-height:0;aspect-ratio:auto;border-radius:12px}
  .cg-legend{gap:16px;margin-top:16px}
  .cg-form-card,.cg-success{padding:clamp(28px,4vw,44px)}
}

@media(max-width:900px){.cg-booking-layout{max-width:760px}}
@media(max-width:620px){.cg-day,.cg-day-spacer{height:42px;min-height:0;aspect-ratio:auto}}

.cg-calendar h3{text-transform:none}

/* Shared calendar embedded in the private digital-menu landing page. */
.cg-booking-embed{padding:0;background:transparent;color:#17130e}
.cg-booking-embed .cg-booking-container{width:100%}
.cg-embed-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;margin:0 0 28px;padding:36px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:rgba(8,8,7,.7);color:#f7f1e7}
.cg-embed-heading h2{max-width:620px;margin:0;font-size:clamp(2rem,4vw,3.7rem);line-height:1;letter-spacing:-.045em}
.cg-embed-heading>p{max-width:440px;margin:0;color:#c9c1b5;line-height:1.65}
.cg-booking-embed .cg-consent a{color:#79500b;font-weight:800}
@media(max-width:780px){.cg-embed-heading{display:grid;padding:26px}.cg-embed-heading>p{max-width:none}}

/* Keep the calendar compact without shrinking mobile tap targets. */
.cg-booking-embed .cg-embed-heading{max-width:980px;margin:0 auto 22px;padding:26px}
.cg-booking-embed .cg-embed-heading h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.08}
.cg-booking-embed .cg-embed-heading>p{max-width:360px;font-size:.95rem}
@media(min-width:901px){
  .cg-booking-layout{max-width:980px;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr)}
  .cg-booking-embed .cg-booking-layout{max-width:900px;grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr)}
  .cg-booking-embed .cg-calendar-card{padding:24px}
  .cg-booking-embed .cg-calendar-card h2{font-size:clamp(1.55rem,2vw,2rem)}
  .cg-booking-embed .cg-calendar h3{margin:16px 0 10px}
  .cg-booking-embed .cg-day,.cg-booking-embed .cg-day-spacer{height:44px}
  .cg-booking-embed .cg-price-panel{padding:26px}
  .cg-booking-embed .cg-pricing-list{margin-top:18px}
  .cg-booking-embed .cg-pricing-list>div{padding:10px 0}
}
@media(max-width:620px){
  .cg-booking-embed .cg-calendar-card{padding:18px}
  .cg-booking-embed .cg-day,.cg-booking-embed .cg-day-spacer{height:40px}
  .cg-booking-embed .cg-embed-heading{padding:22px;margin-bottom:18px}
  .cg-booking-embed .cg-embed-heading h2{font-size:clamp(1.65rem,7vw,2.1rem)}
}

/* Visual hierarchy for the digital menu, scoped to the menu page. */
.digital-menu-page .digital-link-list{gap:14px}
.digital-menu-page .digital-link{position:relative;min-height:118px;padding:22px 22px 20px 90px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;isolation:isolate;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.digital-menu-page .digital-link::before{position:absolute;left:20px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(214,170,87,.42);border-radius:15px;background:rgba(214,170,87,.12);color:#e8be70;font-size:1.1rem;font-weight:800;line-height:1}
.digital-menu-page .digital-link:nth-child(1)::before{content:"01"}
.digital-menu-page .digital-link:nth-child(2)::before{content:"02"}
.digital-menu-page .digital-link:nth-child(3)::before{content:"03"}
.digital-menu-page .digital-link:nth-child(4)::before{content:"04"}
.digital-menu-page .digital-link:nth-child(5)::before{content:"05"}
.digital-menu-page .digital-link:nth-child(6)::before{content:"06"}
.digital-menu-page .digital-link::after{content:"↗";position:absolute;right:20px;top:18px;color:#d6aa57;font-size:1.15rem;line-height:1}
.digital-menu-page .digital-link-primary::after{content:"↓";color:#362409}
.digital-menu-page .digital-link-primary::before{border-color:rgba(48,34,12,.28);background:rgba(255,255,255,.24);color:#30210b}
.digital-menu-page .digital-link:is(:hover,:focus-visible){transform:translateY(-3px);border-color:rgba(214,170,87,.65);box-shadow:0 12px 28px rgba(0,0,0,.2)}
.digital-menu-page .digital-link:focus-visible{outline:3px solid #d6aa57;outline-offset:3px}
.digital-menu-page .digital-link span{font-size:clamp(1rem,1.25vw,1.16rem)}
.digital-menu-page .digital-link small{max-width:34ch;line-height:1.45}
@media(max-width:680px){.digital-menu-page .digital-link{min-height:94px;padding:16px 46px 16px 76px}.digital-menu-page .digital-link::before{left:15px;width:46px;height:46px}.digital-menu-page .digital-link::after{right:15px}}
@media(prefers-reduced-motion:reduce){.digital-menu-page .digital-link{transition:none}}
