.guest-modal { position:fixed; z-index:80; inset:0; display:grid; place-items:center; padding:24px; background:rgba(7,28,15,.54); opacity:0; pointer-events:none; transition:opacity .2s ease; backdrop-filter:blur(7px); }
.guest-modal.is-open { opacity:1; pointer-events:auto; }
.guest-modal__dialog { position:relative; width:min(760px,100%); padding:42px 48px 35px; border-radius:28px; background:#fff; color:#112b1b; box-shadow:0 28px 80px rgba(2,31,15,.26); transform:translateY(16px) scale(.985); transition:transform .22s ease; }
.guest-modal.is-open .guest-modal__dialog { transform:translateY(0) scale(1); }
.guest-modal__close { position:absolute; top:20px; right:22px; display:grid; place-items:center; width:38px; height:38px; border:0; border-radius:50%; background:transparent; color:#112b1b; font-size:29px; line-height:1; }
.guest-modal__close:hover { background:#f0f5f1; }
.guest-modal__title { margin:0 0 39px; font-family:Fraunces,Georgia,serif; font-size:43px; font-weight:400; letter-spacing:-.055em; line-height:1; }
.guest-modal__rows { display:grid; gap:26px; }
.guest-modal__row { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:72px; }
.guest-modal__copy strong,.guest-modal__copy small { display:block; }.guest-modal__copy strong { margin-bottom:6px; font-size:17px; font-weight:600; }.guest-modal__copy small { color:#65766a; font-size:13px; }
.guest-modal__counter { display:inline-flex; align-items:center; gap:18px; }.guest-modal__counter button { display:grid; place-items:center; flex:0 0 52px; width:52px; height:52px; border:0; border-radius:50%; background:#eff2f0; color:#112b1b; font-size:31px; line-height:1; transition:transform .18s ease,background .18s ease; }.guest-modal__counter button:hover:not(:disabled) { transform:scale(1.05); background:#e0ece4; }.guest-modal__counter button:disabled { color:#b9c2bb; cursor:not-allowed; }.guest-modal__counter span { min-width:19px; color:#112b1b; font-size:19px; font-weight:600; text-align:center; }
.guest-modal__done { display:inline-flex; align-items:center; justify-content:center; min-width:116px; min-height:43px; margin-top:34px; border:0; border-radius:999px; padding:0 18px; background:#00a651; color:#fff; font-size:12px; font-weight:600; }
.guest-modal__done:hover { background:#008d45; }
@media (max-width:560px) { .guest-modal { align-items:end; padding:0; }.guest-modal__dialog { width:100%; padding:31px 23px 24px; border-radius:25px 25px 0 0; }.guest-modal__title { margin-bottom:28px; font-size:34px; }.guest-modal__rows { gap:19px; }.guest-modal__row { gap:15px; min-height:62px; }.guest-modal__copy strong { font-size:15px; }.guest-modal__copy small { font-size:11px; }.guest-modal__counter { gap:13px; }.guest-modal__counter button { flex-basis:43px; width:43px; height:43px; font-size:26px; }.guest-modal__counter span { font-size:17px; }.guest-modal__done { width:100%; margin-top:25px; } }
