/* V3.3.21 — plain photo edges, matching language controls, stationary attire page. */
:root{--browser-paper:#faf8f3}
html,
html.rsvp-route,
body.edition-v3,
body.rsvp-stationery{background-color:var(--browser-paper)}

/* Match the approved V3.3.18 RSVP base on both entrance screens.
   The envelope, portrait and all foreground geometry remain unchanged. */
.edition-v3 #cover.cover-v3,
.edition-v3 #cover.cover-v3::before,
body.rsvp-stationery #rsvp-welcome{
 background:var(--browser-paper);
}
.edition-v3 #cover.cover-v3::after{background:none}

/* Lock each possible nested scroll surface, regardless of dressOverflow.
   Do not alter the approved type, spacing, heights, icons or colour swatches. */
.edition-v3 #invitation[data-active-page="dress"] #page-scroll,
.edition-v3 #invitation[data-active-page="dress"] #pages,
.edition-v3 #invitation[data-active-page="dress"] .page-dress,
.edition-v3 #invitation[data-active-page="dress"] .page-dress>.chapter-body{
 overflow:hidden;
 overscroll-behavior:none;
 touch-action:pan-x;
 scrollbar-width:none;
 -webkit-overflow-scrolling:auto;
}
@supports(overflow:clip){
 .edition-v3 #invitation[data-active-page="dress"] #page-scroll,
 .edition-v3 #invitation[data-active-page="dress"] #pages,
 .edition-v3 #invitation[data-active-page="dress"] .page-dress,
 .edition-v3 #invitation[data-active-page="dress"] .page-dress>.chapter-body{overflow:clip}
}

/* The RSVP language control matches the opened invitation's paper pill.
   Keep .topbar's existing reserved height so the questionnaire never moves. */
.rsvp-stationery .topbar #language{
 position:fixed;top:max(17px,env(safe-area-inset-top));
 right:max(18px,calc(env(safe-area-inset-right) + 12px),calc((100vw - 1100px)/2));
 z-index:100;box-sizing:border-box;height:34px;min-height:0;min-width:76px;
 padding:0 12px;display:flex;align-items:center;justify-content:center;gap:8px;
 border:1px solid #fffaf0cc;border-radius:30px;background:#fffaf0ed;
 box-shadow:0 2px 9px #15251b18;
 backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
 font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans TC',sans-serif;
 font-size:.8125rem;font-style:normal;font-weight:400;line-height:1;letter-spacing:.05em;
 color:#653b3e;transition:background .2s;
}
.rsvp-stationery .topbar #language .language-active{font-weight:650;color:#71383e}
.rsvp-stationery .topbar #language span:not(.language-active){color:#76564d}
.rsvp-stationery .topbar #language .language-divider{font-weight:300;opacity:.6}
.rsvp-stationery .topbar #language:focus-visible{outline:2px solid #71383e;outline-offset:5px}
@media(max-width:760px){
 .rsvp-stationery .topbar #language{height:32px;min-width:73px;padding:0 9px;gap:6px}
}
@media(max-height:500px) and (min-width:480px){
 .rsvp-stationery .topbar #language{top:8px;height:30px}
}
