/* A single sheet from the illustration to the last guest action. */
:is(#publicView,.preview-content,#editorView) .studio-guest-layout{display:block;width:min(100%,560px);max-width:560px;margin:0 auto;min-width:0}
.studio-preview-guest{width:100%;min-width:0}
.studio-invitation.studio-guest-paper{--paper-accent:#8d625b;--paper-wash:#faf3f0;width:100%;max-width:560px;border:0;border-radius:28px;background:#fff;box-shadow:0 12px 40px #5e523b10;margin:0 auto 14px;font-family:var(--studio-font);color:#64615e}
.studio-guest-paper[data-theme=green]{--paper-accent:#ad5b45;--paper-wash:#f6f3f0}
.studio-guest-paper[data-theme=blue]{--paper-accent:#607b87;--paper-wash:#f2f6f8}
.studio-guest-paper[data-theme=beige]{--paper-accent:#87744f;--paper-wash:#faf6ed}
.studio-guest-paper .studio-card-copy{padding:2px clamp(18px,6cqw,34px) 8px}
.studio-guest-paper .studio-card-copy h2{font-size:calc(var(--title-scale,1)*clamp(24px,calc(var(--title-size,6.99)*1cqw),46px));line-height:1.2;margin-bottom:9px}
.studio-guest-paper .studio-card-copy .studio-message{font-size:calc(var(--message-scale,1)*clamp(14px,3.7634cqw,18px));line-height:1.35;margin-bottom:12px}
.studio-guest-paper .studio-date{font:400 14px/1.4 var(--studio-font);gap:10px;color:var(--paper-accent)}
.studio-guest-paper .studio-date span+span{padding-left:10px;border-color:color-mix(in srgb,var(--paper-accent) 25%,transparent)}
.studio-guest-paper .studio-place{font:400 14px/1.45 var(--studio-font);margin:9px 0 0;text-wrap:pretty}
.studio-guest-paper .studio-guest-details{max-width:none;margin:0;padding:0 clamp(18px,6cqw,34px);text-align:center}
.studio-map-link{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:5px 12px;border:0;border-radius:999px;background:none;box-shadow:none;color:var(--paper-accent);font:400 12px/1.4 var(--studio-font);text-decoration:none;margin:0 auto}
.studio-map-link::before{content:'';position:absolute;inset:5px 0;z-index:-1;border:1px solid color-mix(in srgb,var(--paper-accent) 24%,transparent);border-radius:999px;background:var(--paper-wash);box-shadow:inset 0 1px 0 #fff,0 3px 10px #584b3208}
.studio-map-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0}
.studio-map-link:focus-visible{outline:2px solid var(--paper-accent);outline-offset:3px}
.studio-guest-paper .studio-guest-details section{padding:0 0 6px;border:0}
.studio-paper-divider{display:flex;align-items:center;justify-content:center;gap:12px;width:min(100%,156px);margin:6px auto;color:var(--paper-accent);opacity:.7}
.studio-paper-divider::before,.studio-paper-divider::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,currentColor)}
.studio-paper-divider::after{transform:rotate(180deg)}
.studio-paper-divider span{font-size:15px;line-height:1}
.studio-guest-paper :is(.studio-wish-section,.wishlist-intro,.guest-response) h3{font:italic 400 22px/1.2 'Cormorant Garamond',Georgia,serif;color:var(--paper-accent);margin:0 0 6px;letter-spacing:0;text-align:center}
.studio-guest-paper .studio-wishes{font:400 14px/1.45 var(--studio-font);color:#64615e;white-space:pre-line;overflow-wrap:anywhere;text-wrap:pretty;max-width:42ch;margin:0 auto}
.studio-guest-extras{padding:0 clamp(18px,6cqw,34px) 14px;background:linear-gradient(to bottom,#fff 50%,var(--paper-wash))}
.studio-paper-gifts:has(.guest-gifts:empty){display:none}
:is(#publicView,.invitation-preview,#editorView) .studio-guest-paper .wishlist-intro{border:0;border-radius:0;background:none;box-shadow:none;padding:12px 0 10px;margin:0;text-align:center}
.studio-guest-paper .wishlist-intro::before{content:'✧';display:block;color:var(--paper-accent);font:400 15px/1 var(--studio-font);margin-bottom:6px}
.studio-guest-paper .all-reserved{font:400 12px/1.6 var(--studio-font);padding:12px;margin:12px 0 0;border:0;border-radius:14px;background:var(--paper-wash);color:#64615e;box-shadow:none}
:is(#publicView,.invitation-preview,#editorView) .studio-guest-paper .wishlist-intro p{font:400 12px/1.5 var(--studio-font);max-width:44ch;margin:0 auto;color:#777471}
.studio-guest-paper .guest-gifts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0}
.studio-guest-paper .gift-card{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid color-mix(in srgb,var(--paper-accent) 15%,transparent);border-radius:18px;box-shadow:none;background:#ffffffb3;overflow:hidden}
.studio-guest-paper .gift-img{width:100%;height:auto;min-height:0;aspect-ratio:4/3;margin:0;border-radius:0;align-self:start;background:var(--paper-wash)}
.studio-guest-paper .gift-img img{object-fit:cover}
.studio-guest-paper .gift-body{padding:9px;min-width:0;overflow-wrap:anywhere}
.studio-guest-paper .gift-body h3{display:block;-webkit-line-clamp:unset;overflow:visible;font:400 13px/1.35 var(--studio-font);margin:0 0 4px;color:#575451}
.studio-guest-paper .gift-body :is(p,.price){font:400 12px/1.4 var(--studio-font)}
.studio-guest-paper .gift-actions{display:grid;gap:3px;margin-top:4px}
.studio-guest-paper .gift-actions .btn{display:flex;align-items:center;justify-content:center;width:100%;padding:5px 4px;font:400 11px/1.3 var(--studio-font);min-height:44px;border-radius:18px;white-space:normal}.studio-guest-paper .gift-actions>a.btn{border:0;background:none;text-decoration:none}.studio-guest-paper .gift-card:only-child{grid-column:1/-1;width:min(180px,calc((100% - 10px)/2));justify-self:center}
:is(#publicView,.invitation-preview,#editorView) .studio-guest-paper .guest-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0 0;padding:12px 0 0;border-top:1px solid color-mix(in srgb,var(--paper-accent) 14%,transparent)}
:is(#publicView,.invitation-preview,#editorView) .studio-guest-paper .guest-quick .btn{font:400 11px/1.4 var(--studio-font);padding:9px 6px;min-height:44px;white-space:normal;border-radius:22px}
.studio-guest-paper .guest-quick .guest-gift-jump{grid-column:1/-1}
.studio-guest-paper .btn-primary{background:var(--paper-accent);border-color:var(--paper-accent);color:#fff;box-shadow:inset 0 1px 0 #ffffff30,0 3px 9px #584b3210}
.studio-guest-paper .btn-soft{border-color:color-mix(in srgb,var(--paper-accent) 20%,transparent);background:#ffffffc7;color:#64615e;box-shadow:none}
.studio-guest-paper .btn:disabled{opacity:.72;cursor:default}
.studio-guest-paper .guest-response{border:0;background:none;box-shadow:none;border-radius:0;padding:16px 0 0;margin:0;text-align:center}
.studio-guest-paper .guest-eyebrow{display:none}
.studio-guest-paper .guest-response>p{font:400 12px/1.6 var(--studio-font);max-width:38ch;margin:0 auto 16px;color:#777471}
.studio-guest-paper .guest-response form{display:grid;gap:10px;text-align:left}
.studio-guest-paper .guest-response label{font:400 12px/1.5 var(--studio-font);color:#777471}
.studio-guest-paper .guest-response :is(input,textarea,select){font:400 16px/1.4 var(--studio-font);color:#64615e;background:#ffffffb3;border:1px solid color-mix(in srgb,var(--paper-accent) 18%,transparent);border-radius:14px;padding:10px 12px;min-height:44px}
.studio-guest-paper .guest-response .guest-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.studio-guest-paper .guest-response button{font:400 13px/1.4 var(--studio-font);border-radius:24px;min-height:44px}
.studio-guest-paper .guest-form-status{font:400 12px/1.5 var(--studio-font);text-align:center;min-height:0;margin:0}
.studio-response-fold{margin-top:12px}
.studio-response-fold>summary{display:flex;align-items:center;justify-content:center;gap:14px;list-style:none;cursor:pointer;border:1px solid color-mix(in srgb,var(--paper-accent) 22%,transparent);border-radius:999px;min-height:44px;padding:10px 16px;font:400 14px/1.4 var(--studio-font);color:var(--paper-accent);background:#ffffffc7;box-shadow:inset 0 1px 0 #fff,0 3px 9px #584b3208}
.studio-response-fold>summary::-webkit-details-marker{display:none}
.studio-response-fold[open]>summary span{transform:rotate(180deg)}
.studio-response-fold>summary:focus-visible{outline:2px solid var(--paper-accent);outline-offset:3px}
#publicView .guest-create{max-width:560px;margin:20px auto 0;padding:8px;text-align:center;font:400 12px/1.5 var(--studio-font)}
#publicView .guest-create p{font-size:12px;color:#777471}
#publicView .guest-create .btn{font-size:12px;min-height:44px;border-radius:23px}
.invitation-preview .preview-content{max-width:600px;padding-top:14px}
.invitation-preview .preview-toolbar{border:0;background:#faf9f6;backdrop-filter:none}
.invitation-preview .preview-toolbar .app-back-button{background:none;border:0;box-shadow:none;font-size:12px;min-height:44px;padding:8px 0 8px 12px}
.invitation-preview .preview-note{font-size:11px;color:#8b877e;max-width:38ch}
.preview-flow-actions{--preview-accent:#8d625b;display:grid;gap:8px;width:min(100%,560px);margin:0 auto;padding:0 16px calc(24px + var(--app-safe-bottom,env(safe-area-inset-bottom)));font-family:var(--studio-font)}
.preview-flow-actions[data-theme=green]{--preview-accent:#ad5b45}.preview-flow-actions[data-theme=blue]{--preview-accent:#607b87}.preview-flow-actions[data-theme=beige]{--preview-accent:#87744f}
.preview-flow-actions .btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:11px 12px;border-radius:999px;font:400 12px/1.4 var(--studio-font);text-align:center;white-space:normal}
.preview-flow-actions .btn-soft{background:#ffffffb8;border:1px solid var(--studio-line);color:#64615e;box-shadow:var(--studio-shadow)}
.preview-flow-actions .btn-primary{background:var(--preview-accent);border-color:var(--preview-accent);color:#fff;box-shadow:inset 0 1px 0 #ffffff30,0 4px 12px #584b3212}
.preview-flow-actions .btn:disabled{opacity:.65}
.preview-flow-error{font:400 12px/1.6 var(--studio-font);color:#a15b4c;text-align:center;margin:4px 0 0}
@media(hover:hover){.studio-map-link:hover::before{background:color-mix(in srgb,var(--paper-accent) 13%,#fff)}.studio-guest-paper .btn-primary:hover{filter:brightness(.96)}}


/* Compact participant wheels, within the invitation instead of a full-screen sheet. */
.studio-guest-paper .wishlist-intro p.wishlist-booking-note{margin-top:6px;font-size:11px;color:#858579}
.guest-count-field{position:relative;display:grid;gap:5px;min-width:0;font:400 12px/1.5 var(--studio-font);color:#777471}
.studio-guest-paper .guest-response .guest-count-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;min-height:44px;border:1px solid color-mix(in srgb,var(--paper-accent) 18%,transparent);border-radius:14px;background:#ffffffb3;color:#64615e;text-align:left;cursor:pointer;font:400 16px/1.4 var(--studio-font)}
.guest-count-button>span+span{font-size:13px;color:#928f8c}
.guest-count-button:focus-visible,.guest-count-wheel:focus-visible{outline:2px solid var(--paper-accent);outline-offset:2px}
.guest-count-panel{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:8;padding:4px;border:1px solid color-mix(in srgb,var(--paper-accent) 18%,transparent);border-radius:18px;background:#fffefa;box-shadow:0 8px 24px #584b321c}
.guest-count-panel::before{content:'';position:absolute;top:48px;left:4px;right:4px;height:44px;background:var(--paper-wash);border-block:1px solid color-mix(in srgb,var(--paper-accent) 15%,transparent);border-radius:9px;pointer-events:none}
.guest-count-wheel{position:relative;height:132px;padding-block:44px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scroll-snap-type:y mandatory;scrollbar-width:none;mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent)}
.guest-count-wheel::-webkit-scrollbar{display:none}
.guest-count-wheel [role=option]{height:44px;display:grid;place-items:center;scroll-snap-align:center;font:400 18px/1 var(--studio-font);color:#9a9794;cursor:pointer}
.guest-count-wheel [aria-selected=true]{color:var(--paper-accent);font-size:21px}

/* An omitted guest price keeps its place without a placeholder label. */
.gift-card .price:empty{display:block;min-height:1.4em}

/* A quiet divider with matching space around the guest's gift ideas. */
.studio-guest-paper .wishlist-intro::after{content:'';display:block;width:min(260px,75%);height:1px;margin:10px auto 0;background:linear-gradient(to right,transparent,#a69b9033,transparent)}

/* Point guests to the visible answer control when its required choice is missing. */
body #publicView #guestResponseForm .guest-answer-required :is(select,.povod-glass-select-button){
 border-color:#e88770;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,244,238,.91));color:#995d4f;
 box-shadow:inset 0 1px 0 #fff,0 0 0 3px #f47b5c25,0 5px 16px #e6684a1c;
}
body #publicView #guestResponseForm .guest-answer-required .povod-glass-select-button.is-placeholder{color:#995d4f;}
body #publicView #guestResponseForm .guest-answer-hint:not([hidden]){display:block;margin-top:6px;color:#995d4f;font:400 11px/1.4 Onest,system-ui,sans-serif;}

/* RSVP result notices share public/notification-ui.css; no separate surface. */
