/* Only the approved invitation and necessary hero layout; shared site styles stay untouched. */
.booking-enabled .hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,390px);gap:clamp(30px,3vw,56px);align-items:center}
.iv-booking{position:relative;min-width:0;container-type:inline-size;isolation:isolate;scroll-margin-top:130px;color:#101114;font-family:var(--f-sans)}
.iv-booking::before{content:"";position:absolute;inset:1.3cqw .3cqw -.6cqw -.7cqw;background:#fff;box-shadow:0 .6cqw 1.3cqw #0002;transform:rotate(-.8deg);z-index:-1;pointer-events:none}
.iv-invitation{--invite-pad:7.4cqw;--invite-cut:5.2cqw;position:relative;display:block;width:100%;min-width:0;aspect-ratio:2.56;padding:6.2cqw var(--invite-pad);isolation:isolate;color:#08090b;cursor:pointer;text-decoration:none;filter:drop-shadow(0 .35cqw .45cqw #0002)}
.iv-invitation::before{content:"";position:absolute;inset:0;background:#fff;clip-path:polygon(0 0,calc(100% - var(--invite-cut)) 0,100% var(--invite-cut),100% 100%,0 100%);z-index:-1}
.iv-invitation__corner{position:absolute;right:0;top:0;width:var(--invite-cut);height:var(--invite-cut);background:linear-gradient(45deg,#a70b1a,#e3132a);clip-path:polygon(0 0,16% 0,100% 84%,100% 100%);pointer-events:none}
.iv-invitation__duration{position:absolute;top:3.5cqw;right:6cqw;color:#171719;font-family:var(--f-mono);font-size:max(9px,1.5cqw);font-weight:500;line-height:1.3;letter-spacing:.2em}
.iv-invitation__title{position:relative;z-index:2;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:11.25cqw;font-weight:700;line-height:1;letter-spacing:-.055em;margin:0}
.iv-invitation__description{position:relative;z-index:2;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#656565;font-size:max(13px,3.45cqw);font-weight:500;line-height:1.2;margin:1cqw 0 0;max-width:90%}
.iv-invitation__action{position:absolute;z-index:3;left:var(--invite-pad);bottom:6.2cqw;display:inline-block;width:max-content;max-width:52%;padding-bottom:.55cqw;border-bottom:max(1.5px,.35cqw) solid #d11229;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:max(13px,3.3cqw);font-weight:600;line-height:1.15;letter-spacing:-.035em}
.iv-invitation:hover .iv-invitation__action{border-bottom-color:#7f0a14}
.iv-invitation:focus-visible{outline:3px solid #b5121b;outline-offset:7px}
.iv-invitation__dots{position:absolute;right:-3%;bottom:0;width:62%;height:67%;z-index:0;pointer-events:none;background-image:radial-gradient(#a1a5ab .09cqw,transparent .14cqw);background-size:.78cqw .78cqw;opacity:.6;mask-image:radial-gradient(ellipse at 92% 85%,#000,transparent 75%)}
.iv-invitation__arrow{position:absolute;z-index:1;right:-4.2%;bottom:-1%;width:68%;height:61%;object-fit:fill;max-width:none;pointer-events:none;user-select:none}
.iv-booking svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.iv-booking-dialog{padding:0;margin:auto;width:min(1100px,calc(100vw - 48px));height:min(900px,calc(100dvh - 48px));max-width:none;max-height:none;border:1px solid #e0e2e7;border-radius:16px;background:white;color:#151619;box-shadow:0 24px 100px #0004;font-family:var(--f-sans);overflow:hidden}
.iv-booking-dialog[open]{display:flex;flex-direction:column}
.iv-booking-dialog::backdrop{background:rgb(14 17 24 / .58)}
.iv-booking-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 22px;border-bottom:1px solid #e8e9ec;flex:none}
.iv-booking-dialog__header h2{font:600 20px/1.4 var(--f-sans);letter-spacing:-.025em;margin:0}
.iv-booking-dialog__close{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #e0e2e7;border-radius:50%;background:#fff;color:#30343b;cursor:pointer}
.iv-booking-dialog__close:hover{background:#f5f6f8}
.iv-booking-dialog__close svg{width:20px;height:20px}
.iv-booking-dialog__frame{display:block;width:100%;min-height:0;flex:1;border:0;background:#fff}
.iv-booking-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 22px;border-top:1px solid #e8e9ec;flex:none;color:#606673;font-size:12px;line-height:1.5}
.iv-booking-dialog__footer p{margin:0}
.iv-booking-dialog__footer a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.iv-booking__pending{min-height:280px;background:white;padding:38px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}
.iv-booking__pending>svg{width:42px;height:42px;color:#b5121b}
.iv-booking__pending h2{font:600 23px/1.3 var(--f-sans);letter-spacing:-.025em}
.iv-booking__pending p{max-width:34ch;font-size:16px;color:#606673;line-height:1.6}
.iv-booking__pending strong{font-weight:500;color:#151619}
.iv-booking__pending small{font-size:12px;color:#727985;line-height:1.5}
@media(max-width:1279px){.booking-enabled .hero__grid{grid-template-columns:1fr;gap:42px}.iv-booking{width:100%;max-width:480px;justify-self:start}}
@container(max-width:330px){.iv-invitation{aspect-ratio:2.25}.iv-invitation__duration{top:2.6cqw;font-size:8px}.iv-invitation__title{margin-top:2cqw}.iv-invitation__arrow{width:66%;height:51%}}
@media(max-width:600px){.iv-booking__pending h2{font-size:21px}.iv-booking-dialog{width:100vw;height:100dvh;border:0;border-radius:0}.iv-booking-dialog__header{padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top))}.iv-booking-dialog__footer{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));align-items:flex-start}.iv-booking-dialog__footer p{max-width:24ch}.iv-booking-dialog__footer a{white-space:normal;max-width:14ch;text-align:right}}
