.chicoco-booking {
 --booking-rose:#EECBC9;--booking-sage:#9CB494;
 width:820px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;margin:auto;
 background:#19201b;color:#f3f1eb;border:1px solid #9cb49440;border-radius:24px;
 box-shadow:0 30px 120px #0009;font-family:"Roboto", "Segoe UI",Arial,sans-serif;font-weight:400;overflow:auto;
 scrollbar-width:thin;scrollbar-color:#9cb49455 transparent;
}
.chicoco-booking::backdrop{background:#050806a6;backdrop-filter:blur(10px)}
.chicoco-booking[open]{animation:booking-enter .35s ease both}
.chicoco-booking *, .chicoco-booking *::before,.chicoco-booking *::after{box-sizing:border-box}
.chicoco-booking [hidden]{display:none!important}
.booking-layout{display:grid;grid-template-columns:300px 1fr;min-height:590px}
.booking-close{position:absolute;right:16px;top:16px;z-index:3;width:34px;height:34px;border:1px solid #ffffff20;background:#ffffff04;border-radius:50%;color:#d8ded5;font:24px/1 Arial;cursor:pointer;display:grid;place-items:center}
.booking-close:hover{background:#ffffff12;color:#fff}
.booking-story{position:relative;overflow:hidden;background:#111712;min-width:0}
.booking-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:52% center;filter:saturate(.45);opacity:.7}
.booking-story::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1017128c 0%,#10171208 35%,#101712d9 72%,#101712 100%)}
.booking-logo{position:absolute;left:28px;top:30px;width:170px;height:auto;filter:invert(1);mix-blend-mode:screen;z-index:1}
.booking-story-copy{position:absolute;bottom:34px;left:28px;right:22px;z-index:1}
.booking-story-copy>span{color:var(--booking-sage);font-size:10px;letter-spacing:.13em;font-weight:700}
.booking-story-copy p{font-size:34px;line-height:1.06;font-weight:600;letter-spacing:-.035em;margin:16px 0;color:var(--booking-rose)}
.booking-story-copy small{font-size:14px;line-height:1.55;color:#b8c0b3}
.booking-content{padding:28px 30px 24px;min-width:0}
.booking-eyebrow{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--booking-sage);margin:0 0 12px;line-height:1.4}
.chicoco-booking h2{margin:0;font-size:32px;font-weight:600;letter-spacing:-.04em;line-height:1.08;color:#f3f1eb}
.booking-intro{color:#b8c0b3;font-size:13px;line-height:1.4;margin:10px 0 16px;font-weight:400}
.booking-form{display:grid;gap:10px}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.booking-form label{display:block;color:#cbd0c5;font-size:13px;line-height:1.4;font-weight:400;min-width:0}
.booking-form label>span{color:var(--booking-rose);font-size:12px}
.booking-form label>small{float:right;color:#8a9688;font-size:11px;font-weight:400}
.booking-form input,.booking-form select,.booking-form textarea{display:block;min-width:0;width:100%;margin:5px 0 0;border:1px solid #9cb49426;border-radius:9px;background:#101712;color:#f3f1eb;font-family:inherit;font-size:14px;line-height:1.35;padding:11px 12px;outline:none;transition:border-color .2s,box-shadow .2s;color-scheme:dark}
.booking-form input,.booking-form select{height:40px}
.booking-form select{cursor:pointer}
.booking-form textarea{resize:vertical;min-height:60px;max-height:160px}
.booking-form input::placeholder,.booking-form textarea::placeholder{color:#788573;opacity:1;font-size:12px}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#9cb494a6;box-shadow:0 0 0 3px #9cb49412}
.booking-submit{display:flex;align-items:center;justify-content:space-between;width:100%;height:44px;padding:0 16px;background:var(--booking-rose);color:#232b23;border:1px solid transparent;border-radius:9px;cursor:pointer;font:500 14px/1.2 "Roboto",Arial,sans-serif;transition:background .2s,transform .2s}
.booking-submit svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.booking-submit:hover{background:#f7dbd9}
.booking-submit:active{transform:translateY(1px)}
.booking-submit:disabled{opacity:.6;cursor:wait}
.booking-note{margin:0;color:#a2ad9a;font-size:11px;line-height:1.5;text-align:center;font-weight:400}
.booking-error{margin:0;color:var(--booking-rose);font-size:13px;line-height:1.5}
.booking-close:focus-visible,.booking-submit:focus-visible,.booking-return:focus-visible{outline:2px solid var(--booking-sage);outline-offset:3px}
.chicoco-booking.is-success{width:440px;background:radial-gradient(ellipse at 50% 25%,#263725 0%,#19201b 65%)}
.booking-success{min-height:378px;padding:45px 24px 28px;text-align:center}
.booking-check{position:relative;width:96px;height:96px;margin:4px auto 29px;color:var(--booking-sage)}
.booking-check svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.booking-check circle{stroke-dasharray:271;stroke-dashoffset:271;transform:rotate(-90deg);transform-origin:50% 50%;animation:booking-ring .65s ease forwards}
.booking-check path{stroke-width:4;stroke-dasharray:66;stroke-dashoffset:66;animation:booking-ring .4s .4s ease forwards}
.booking-check i{position:absolute;width:3px;height:3px;background:var(--booking-rose);top:15%;left:-15%;animation:booking-spark .9s .4s both}
.booking-check i:nth-of-type(2){top:-8%;left:108%;animation-delay:.5s}
.booking-check i:nth-of-type(3){top:110%;left:115%;animation-delay:.6s}
.booking-success .booking-eyebrow{margin-bottom:18px;font-size:10px}
.booking-success h2{font-size:30px}
.booking-success>p:not(.booking-eyebrow){font-size:14px;line-height:1.6;color:#b8c0b3;margin:18px 0 24px}
.booking-return{border:0;background:none;color:#cbd0c5;font:400 13px/1.4 "Roboto",Arial,sans-serif;cursor:pointer;padding:6px}
@keyframes booking-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes booking-ring{to{stroke-dashoffset:0}}
@keyframes booking-spark{from{opacity:0;transform:scale(0)}50%{opacity:1}to{opacity:0;transform:translateY(-12px) scale(1)}}
@media(max-width:640px){
 .chicoco-booking{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:20px}
 .booking-layout{display:block;min-height:0}
 .booking-story{height:100px}
 .booking-photo{object-position:50% 44%;opacity:.4}
 .booking-story::after{background:linear-gradient(180deg,#11171230,#19201b)}
 .booking-logo{top:24px;left:24px;width:145px}
 .booking-story-copy{display:none}
 .booking-content{padding:3px 24px 24px}
 .booking-eyebrow{font-size:9px;margin-bottom:12px}
 .chicoco-booking h2{font-size:32px}
 .booking-intro{margin:12px 0 20px}
 .booking-form input,.booking-form select,.booking-form textarea{font-size:16px;padding:10px}
 .booking-form input::placeholder{font-size:11px}
 .booking-form label{font-size:12px}
 .booking-form{gap:12px}
 .booking-fields{gap:12px 10px}
 .booking-note{font-size:10px}
 .booking-success{min-height:365px;padding:40px 16px 24px}
 .booking-success h2{font-size:28px}
}
@media(max-width:350px){.booking-content{padding-left:18px;padding-right:18px}.booking-fields{grid-template-columns:1fr}.booking-desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){.chicoco-booking[open],.booking-check i{animation:none}.booking-check circle,.booking-check path{animation:none;stroke-dashoffset:0}.booking-submit{transition:none}}

/* Editorial photo panel and matching smoked-glass pickers. */
.booking-photo{filter:saturate(.7);opacity:.85;object-position:46% center}
.booking-story::after{background:linear-gradient(180deg,#10171238 0%,#10171266 50%,#10171238 100%)}
.booking-logo{left:50%;transform:translate(-50%,-50%);top:50%;width:180px}
.booking-story-copy{left:28px;right:24px;text-align:left;bottom:32px}
.booking-story-copy p{font-family:"Roboto","Segoe UI",Arial,sans-serif;font-size:27px;line-height:1.18;letter-spacing:-.025em;font-weight:400;margin:0;color:#f1e9e2}
.booking-picker-field{min-width:0}
.booking-picker-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;height:40px;margin:5px 0 0;padding:0 12px;background:#101712;border:1px solid #9cb49426;border-radius:9px;color:#879180;font:400 12px/1.3 "Roboto",Arial,sans-serif;cursor:pointer;text-align:left;gap:8px}
.booking-picker-trigger.has-value{color:#f3f1eb;font-size:14px}
.booking-picker-trigger svg{flex-shrink:0;width:17px;height:17px;fill:none;stroke:#b8c0b3;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.booking-picker-trigger:hover,.booking-picker-trigger[aria-expanded="true"]{border-color:#9cb49480;background:#18231a}
.booking-picker-trigger:focus-visible{outline:2px solid #9CB494;outline-offset:2px}
.booking-picker-panel{position:fixed;inset:auto;margin:0;padding:18px;overflow:auto;border:1px solid #ffffff25;border-radius:18px;background:linear-gradient(145deg,#25372acc,#142019d9);backdrop-filter:blur(28px) saturate(120%);-webkit-backdrop-filter:blur(28px) saturate(120%);box-shadow:0 16px 50px #0006,inset 0 1px 0 #ffffff10;color:#f3f1eb;font:400 14px/1.4 "Roboto",Arial,sans-serif;z-index:20;scrollbar-width:thin;scrollbar-color:#9cb49444 transparent}
.booking-picker-panel:popover-open{animation:booking-enter .2s ease both}
.booking-picker-panel button{font-family:inherit;cursor:pointer;transition:background .15s,color .15s;border:1px solid transparent;color:inherit;background:transparent;border-radius:9px;font-weight:400}
.booking-picker-panel button:hover{background:#ffffff10}
.booking-picker-panel button:focus-visible{outline:2px solid #EECBC9;outline-offset:1px}
.booking-picker-panel button[aria-pressed="true"]{background:#EECBC9;color:#253026;border-color:#ffffff26}
.booking-picker-panel button:disabled{color:#ffffff28;cursor:default;background:transparent;outline:none}
.booking-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}
.booking-calendar-head strong{font-size:14px;font-weight:500;text-transform:capitalize;letter-spacing:.01em}
.booking-calendar-head button{width:30px;height:30px;font-size:23px;line-height:1;display:grid;place-items:center}
.booking-weekdays,.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.booking-weekdays{color:#aebfa9;font-size:10px;letter-spacing:.07em;margin-bottom:8px}
.booking-calendar-grid button{height:32px;width:100%;font-size:13px;display:grid;place-items:center}
.booking-calendar-grid .is-today:not([aria-pressed="true"]){border-color:#9cb49488;color:#c8d8be}
.booking-picker-heading{font-size:14px;font-weight:500;color:#f3f1eb;margin-bottom:16px}
.booking-guests-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
.booking-guests-grid button{height:38px;border:1px solid #9cb49430;background:#ffffff03;font-size:14px}
.booking-large-party{width:100%;height:38px;margin-top:10px;border:1px solid #9cb49430!important;font-size:12px}
.booking-time-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.booking-time-columns>div>span{display:block;font-size:11px;color:#afbea8;margin-bottom:8px}
.booking-time-scroll{height:226px;overflow:auto;position:relative;padding:4px;background:#0b120e45;border:1px solid #9cb49420;border-radius:11px;scrollbar-width:thin;scrollbar-color:#9cb49444 transparent;overscroll-behavior:contain}
.booking-time-scroll button{display:block;width:100%;height:34px;font-size:14px;flex-shrink:0;margin:2px 0}
.booking-time-minutes{display:block;overflow:auto}
.booking-time-minutes button{height:32px;margin:2px 0}
.booking-picker-done{height:36px;width:100%;margin-top:14px;background:#9cb49422!important;border:1px solid #9cb49440!important;font-size:13px}
@media(max-width:640px){.booking-logo{width:150px;top:50%}.booking-story{height:104px}.booking-picker-trigger{font-size:12px}.booking-picker-trigger.has-value{font-size:14px}.booking-picker-panel{border-radius:16px}}
@media(prefers-reduced-motion:reduce){.booking-picker-panel:popover-open{animation:none}.booking-picker-panel button{transition:none}}

/* A quieter branded finish, with the countdown integrated into the card edge. */
.chicoco-booking.is-success{width:440px;overflow:hidden;border:1px solid #dce3d028;background:radial-gradient(ellipse at 50% 24%,#9cb49414,transparent 60%),linear-gradient(145deg,#1e2a20ed,#111b16ed);backdrop-filter:blur(28px) saturate(115%);box-shadow:0 28px 110px #0007,inset 0 1px 0 #ffffff08}
.booking-success{position:relative;min-height:408px;padding:32px 28px 24px}
.booking-success-logo{display:block;width:136px;height:auto;filter:invert(1);mix-blend-mode:screen;margin:0 auto;opacity:.92}
.booking-success .booking-check{width:82px;height:82px;margin:28px auto 22px;border-radius:50%;background:radial-gradient(circle,#9cb4940a 10%,#9cb49403 65%,transparent 70%)}
.booking-success .booking-check circle{stroke:url(#booking-check-gradient);stroke-width:1.25}
.booking-success .booking-check path{stroke:#EECBC9;stroke-width:3.3}
.booking-success .booking-eyebrow{font-size:9px;letter-spacing:.16em;color:#b8c6af;margin-bottom:13px}
.booking-success h2{font-size:30px;line-height:1.13;letter-spacing:-.035em;font-weight:500;color:#f8eee9}
.booking-success>p:not(.booking-eyebrow){font-size:13px;line-height:1.6;color:#acb8a7;font-weight:400;max-width:285px;margin:15px auto 20px}
.booking-success .booking-return{font-size:12px;color:#d5dace;padding:4px 0;border-bottom:1px solid #9cb49435;border-radius:0;font-weight:400}
.booking-success .booking-return:hover{color:#EECBC9;border-color:#eecbc980}
.booking-success-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;opacity:.45;background:linear-gradient(90deg,#9CB494,#EECBC9);transform-origin:left;animation:booking-countdown 3s linear forwards}
@keyframes booking-countdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:640px){.booking-success{padding:30px 20px 24px;min-height:398px}.booking-success h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.booking-success-progress{animation:none;display:none}}

/* The submit action follows the restrained contour treatment of booking. */
.booking-submit{position:relative;height:48px;justify-content:center;border-radius:999px;background:linear-gradient(145deg,#eecbc908,#eecbc904);border:1px solid #eecbc959;color:#f0d5d1;font-size:14px;font-weight:500;letter-spacing:.015em;backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #ffffff05;transition:background .25s,border-color .25s,color .25s,transform .2s}
.booking-submit svg{position:absolute;right:20px;width:18px;height:18px;stroke-width:1.5;color:#eecbc9c9}
.booking-submit:hover{background:#eecbc915;border-color:#eecbc999;color:#fff0eb}
.booking-submit:disabled{opacity:.6}
.booking-note{color:#8e9c87;font-size:10px;letter-spacing:.005em}
@media(prefers-reduced-motion:reduce){.booking-submit{transition:none}}

/* Matte glass across the reservation window, including the photo surface. */
.chicoco-booking:not(.is-success){background:linear-gradient(135deg,#314133c7,#141f19b8);backdrop-filter:blur(32px) saturate(95%);-webkit-backdrop-filter:blur(32px) saturate(95%);border-color:#dde6d638;box-shadow:0 28px 100px #0006,inset 0 1px 0 #ffffff0c}
.chicoco-booking:not(.is-success) .booking-content{background:linear-gradient(145deg,#ffffff03,#9cb49407)}
.chicoco-booking:not(.is-success) .booking-story{background:#17231b45}
.chicoco-booking:not(.is-success) .booking-story::after{background:linear-gradient(180deg,#17261c3d,#14231b59 50%,#17261c3d);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border-right:1px solid #dce5d615}
.chicoco-booking:not(.is-success) .booking-form input:not([type="hidden"]),
.chicoco-booking:not(.is-success) .booking-form textarea,
.chicoco-booking:not(.is-success) .booking-picker-trigger{background:#08100b59;border-color:#dce5d623;box-shadow:inset 0 1px 0 #ffffff03}
.chicoco-booking:not(.is-success) .booking-picker-trigger:hover,
.chicoco-booking:not(.is-success) .booking-picker-trigger[aria-expanded="true"]{background:#9cb49417;border-color:#9cb49480}

.booking-picker-panel{background:linear-gradient(135deg,#314133c7,#141f19b8);backdrop-filter:blur(32px) saturate(95%);-webkit-backdrop-filter:blur(32px) saturate(95%);border-color:#dde6d638;box-shadow:0 20px 70px #0006,inset 0 1px 0 #ffffff0c}
.booking-picker-panel .booking-time-scroll{background:#08100b59;border-color:#dce5d623;box-shadow:inset 0 1px 0 #ffffff03}
.booking-picker-panel .booking-guests-grid button,.booking-picker-panel .booking-large-party{background:#08100b30;border-color:#dce5d623}
.booking-picker-panel .booking-guests-grid button:hover,.booking-picker-panel .booking-large-party:hover{background:#eecbc915}
.booking-picker-panel .booking-guests-grid button[aria-pressed="true"]{background:#EECBC9;color:#253026;border-color:#ffffff26}

.booking-picker-panel:has(.booking-time-columns){padding:14px}
.booking-picker-panel:has(.booking-time-columns) .booking-picker-heading{margin-bottom:10px;font-size:13px}
.booking-time-columns>div>span{margin-bottom:6px}
.booking-time-scroll{height:166px;padding:3px}
.booking-time-scroll button{height:26px;margin:1px 0;font-size:13px;border-radius:7px}
.booking-time-minutes button{height:24px;margin:1px 0}
.booking-picker-done{height:32px;margin-top:10px;font-size:12px}
.booking-picker-panel::backdrop{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:auto}

.booking-form label.booking-consent{display:flex;align-items:flex-start;gap:10px;margin:3px 0 2px;font-size:11px;line-height:1.5}.chicoco-booking:not(.is-success) .booking-form .booking-consent input[type="checkbox"]{appearance:auto;display:block;flex:0 0 15px;width:15px;height:15px;margin:2px 0 0;padding:0;border-radius:3px;accent-color:#9CB494;background:transparent;box-shadow:none}.booking-form label.booking-consent>span{color:#aab5a4;font-size:11px}.booking-consent a{color:#d8e3d0;text-decoration:underline;text-decoration-color:#9cb49466;text-underline-offset:3px}.booking-consent a:focus-visible{outline:2px solid #eecbc9;outline-offset:3px}

.booking-trap{position:absolute!important;left:-9999px!important;visibility:hidden!important}

@media(max-width:640px){
 .chicoco-booking #booking-title{display:none}
 .chicoco-booking .booking-intro{margin-top:0;margin-bottom:16px}
 .chicoco-booking .booking-fields>label{grid-column:1/-1}
 .chicoco-booking .booking-form input:not([type="checkbox"]),
 .chicoco-booking .booking-form select,
 .chicoco-booking .booking-form textarea{font-size:14px}
 .chicoco-booking .booking-picker-trigger,
 .chicoco-booking .booking-picker-trigger.has-value{font-size:13px}
 .chicoco-booking .booking-form input::placeholder,
 .chicoco-booking .booking-form textarea::placeholder{font-size:12px}
}

@supports (-webkit-touch-callout:none){
 @media(max-width:640px){
  .chicoco-booking .booking-form input:not([type="checkbox"]),
  .chicoco-booking .booking-form select,
  .chicoco-booking .booking-form textarea{font-size:16px}
 }
}

@media(max-width:640px){
 .chicoco-booking{
  position:fixed;inset:auto 0 auto;top:calc(var(--booking-viewport-top,0px) + 12px);margin:0 auto;
  box-sizing:border-box;min-height:0;max-height:calc(var(--booking-viewport-height,100dvh) - 24px);
  overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;
 }
 .chicoco-booking .booking-content{padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .chicoco-booking:not(.is-success){overflow:hidden}
 .chicoco-booking .booking-layout{
  min-height:0;max-height:calc(var(--booking-viewport-height,100dvh) - 26px);
  overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;
 }
 .chicoco-booking.is-success{overflow-y:auto}
}
