/* A shared invitation palette for guest pages only. */
body.rsvp-public {
  background: radial-gradient(circle at 50% 8%, rgba(255,255,255,.84), transparent 34rem),
    linear-gradient(180deg,#fbf8f3,#f6f0e6);
  color:#594f47;
}
body.rsvp-public::before, body.rsvp-public::after { display:none; }
body.rsvp-public .rsvp-main {
  position:relative;
  background:
    url("../../../invitasjon/assets/floral-corner.png") left top / clamp(90px,16vw,230px) auto no-repeat,
    linear-gradient(180deg,rgba(255,255,255,.8),rgba(251,248,243,.86)),
    url("../../../invitasjon/assets/paper-texture-soft.png") center top / 620px auto;
}
body.rsvp-public .rsvp-page-section { background:transparent; }
body.rsvp-public .rsvp-title-stack { color:#594f47; }
body.rsvp-public .rsvp-code-panel {
  border-color:rgba(189,149,96,.3);
  background:rgba(255,253,249,.88);
  box-shadow:0 12px 35px rgba(89,79,71,.05);
}
/* Match the RSVP decoration once, at the start of the wedding content. */
body.full-site-mode main {
  background:
    url("../../../invitasjon/assets/floral-corner.png") left var(--guest-hero-height, 100svh) / clamp(90px,16vw,230px) auto no-repeat,
    linear-gradient(180deg,rgba(255,255,255,.8),rgba(251,248,243,.86)),
    url("../../../invitasjon/assets/paper-texture-soft.png") center top / 620px auto;
}
body.full-site-mode main > .content-section { background:transparent; }
@media(max-width:600px) {
  body.rsvp-public .rsvp-main,
  body.full-site-mode main { background-size:82px auto,auto,620px auto; }
}

/* Reserve real space for admin tools and keep flowers below navigation. */
body.rsvp-public, body.full-site-mode {
  --guest-admin-height:0px;
  --guest-header-height:100px;
  padding-top:var(--guest-admin-height);
}
body.has-admin-preview { --guest-admin-height:40px; }
body.rsvp-public.has-rsvp-admin-bar { --guest-admin-height:var(--rsvp-admin-utility-height); }
body.rsvp-public > .site-header,
body.full-site-mode > .site-header { top:var(--guest-admin-height) !important; }
body.rsvp-public .rsvp-main {
  padding-top:var(--guest-header-height);
  background-origin:content-box;
  background-clip:content-box;
}
body.rsvp-public.rsvp-onepage .rsvp-page-section,
body.rsvp-public.rsvp-section-page .rsvp-page-section {
  padding-top:clamp(40px,6vw,80px);
  min-height:auto;
  scroll-margin-top:calc(var(--guest-admin-height) + var(--guest-header-height) + 16px);
}
body.rsvp-public #new-rsvp > .rsvp-invitation-letter {
  width:min(100%,820px); max-width:820px;
  padding:clamp(28px,5vw,64px);
  border:1px solid rgba(189,149,96,.22);
  border-radius:5px;
  background:linear-gradient(180deg,#fffefa,#fbf7f0);
  box-shadow:0 16px 50px rgba(89,79,71,.08);
}
body.rsvp-public #new-rsvp .rsvp-title-stack {
  width:100%; text-align:center; display:block; margin:0 0 32px;
}
body.rsvp-public #new-rsvp .rsvp-title-stack .section-number {
  text-align:center; color:#a18459; letter-spacing:.2em; margin-bottom:16px;
}
body.rsvp-public #new-rsvp .rsvp-title-stack h2.tittel {
  font-size:clamp(32px,4.5vw,54px); line-height:1.12; letter-spacing:-.035em;
}
body.rsvp-public .rsvp-invited-names {
  font-family:Georgia,serif; font-size:clamp(17px,2vw,22px); color:#74675a;
  margin:18px 0 10px; overflow-wrap:anywhere;
}
body.rsvp-public #new-rsvp .rsvp-hero-meta { margin-top:18px; }
body.rsvp-public #new-rsvp .rsvp-form-group {
  background:transparent; box-shadow:none; border:0; border-radius:0;
}
body.rsvp-public #new-rsvp .rsvp-section-form { margin-top:24px; }
body.full-site-mode main > .content-section {
  scroll-margin-top:var(--guest-admin-height);
}
@media(max-width:600px) {
  body.rsvp-public #new-rsvp { padding:70px 16px 45px; }
  body.rsvp-public #new-rsvp > .rsvp-invitation-letter { padding:28px 20px; }
}

/* Transparent at the top; a quiet paper-glass surface while reading. */
body.rsvp-public .rsvp-main {
  background-origin:padding-box;
  background-clip:padding-box;
}
body.rsvp-public > .site-header,
body.full-site-mode > .site-header {
  background:transparent;
  border-bottom-color:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:background 220ms ease, box-shadow 220ms ease, border-color 220ms ease, color 220ms ease;
}
body.rsvp-public > .site-header.guest-header-scrolled,
body.full-site-mode > .site-header.guest-header-scrolled {
  background:linear-gradient(180deg,rgba(251,248,243,.38),rgba(251,248,243,.14));
  border-bottom-color:transparent;
  box-shadow:none;
  backdrop-filter:blur(4px) saturate(105%);
  -webkit-backdrop-filter:blur(4px) saturate(105%);
  color:#594f47;
  text-shadow:none;
}
body.full-site-mode > .site-header.guest-header-scrolled .brand,
body.full-site-mode > .site-header.guest-header-scrolled .brand *,
body.full-site-mode > .site-header.guest-header-scrolled .nav a { color:inherit; }
@media(prefers-reduced-motion:reduce) {
  body.rsvp-public > .site-header,
  body.full-site-mode > .site-header { transition:none; }
}

/* Both guest headers use the RSVP surface, including legacy scroll states. */
body.rsvp-public > .site-header.guest-header-scrolled *,
body.full-site-mode > .site-header.guest-header-scrolled * {
  text-shadow:none;
}
body.full-site-mode > .site-header.guest-header-scrolled .nav a,
body.full-site-mode > .site-header.guest-header-scrolled .brand,
body.full-site-mode > .site-header.guest-header-scrolled .brand * { color:#594f47; }

/* Wedding header: fade the glass layer in only at the end of the hero. */
body.full-site-mode > .site-header,
body.full-site-mode > .site-header.guest-header-scrolled {
  isolation:isolate;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body.full-site-mode > .site-header::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(251,248,243,.38),rgba(251,248,243,.14));
  backdrop-filter:blur(4px) saturate(105%);
  -webkit-backdrop-filter:blur(4px) saturate(105%);
  opacity:0;
  transition:opacity 320ms ease;
}
body.full-site-mode > .site-header.guest-header-scrolled::before { opacity:1; }
@media(prefers-reduced-motion:reduce) {
  body.full-site-mode > .site-header::before { transition:none; }
}

/* Keep the floral artwork sharp above the header's glass layer. */
body.has-front-flowers.rsvp-public .rsvp-main,
body.has-front-flowers.full-site-mode main {
  background-image:
    none,
    linear-gradient(180deg,rgba(255,255,255,.8),rgba(251,248,243,.86)),
    url("../../../invitasjon/assets/paper-texture-soft.png");
}
.guest-flowers-front {
  position:absolute;
  left:0;
  width:clamp(90px,16vw,230px);
  aspect-ratio:1;
  background:url("../../../invitasjon/assets/floral-corner.png") left top / contain no-repeat;
  pointer-events:none;
}
@media(max-width:600px) {
  .guest-flowers-front { width:82px; }
}

/* v195: one continuous letter surface, with decoration anchored to the paper. */
body.rsvp-public #new-rsvp {
  padding-top:clamp(30px,3.5vw,52px);
}
body.rsvp-public #new-rsvp > .rsvp-invitation-letter {
  position:relative;
  isolation:isolate;
  width:min(100%,860px);
  max-width:860px;
  padding:clamp(32px,5vw,64px);
  border:1px solid rgba(157,132,93,.13);
  border-radius:3px 5px 2px 4px;
  background:
    linear-gradient(rgba(255,252,244,.82),rgba(255,252,244,.82)),
    url("../img/rsvp-letter-fiber.png") center top / 460px 460px repeat;
  box-shadow:0 2px 4px rgba(77,60,39,.035),0 16px 45px rgba(77,60,39,.075);
}
body.rsvp-public #new-rsvp > .rsvp-invitation-letter::before { content:none; }
body.rsvp-public #new-rsvp > .rsvp-invitation-letter::after {
  content:"";
  position:absolute;
  top:-38px;
  left:-145px;
  width:230px;
  aspect-ratio:1;
  background:url("../img/rsvp-letter-flowers.png") center / contain no-repeat;
  pointer-events:none;
  z-index:2;
}
/* The letter owns its flowers; avoid a second copy at the page edge. */
body.rsvp-public.has-front-flowers #new-rsvp > .rsvp-invitation-letter::after { content:none; }
body.rsvp-public:has(#new-rsvp) > .guest-flowers-front {
  width:230px;
  background-image:url("../img/rsvp-letter-flowers.png");
}
@media(max-width:600px) {
  body.rsvp-public:has(#new-rsvp) > .guest-flowers-front { width:105px; }
}
body.rsvp-public #new-rsvp .rsvp-title-stack::before {
  content:"";
  display:block;
  width:56px;
  height:56px;
  margin:0 auto 18px;
  background:url("../img/rsvp-letter-monogram.png") center / contain no-repeat;
}
body.rsvp-public #new-rsvp .rsvp-title-stack .section-number {
  width:100%;
  margin:0 0 12px;
  text-align:center !important;
  justify-self:center !important;
}
body.rsvp-public #new-rsvp .rsvp-title-stack { margin-bottom:30px; }
body.rsvp-public #new-rsvp .rsvp-title-stack h2.tittel {
  font-size:clamp(30px,4vw,48px);
}
body.rsvp-public #new-rsvp .rsvp-form-layout {
  gap:32px 36px;
}
body.rsvp-public #new-rsvp .rsvp-form-group {
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
body.rsvp-public #new-rsvp .rsvp-form-group > .course-label,
body.rsvp-public #new-rsvp .rsvp-toggle-title {
  color:#97794f;
  font-size:11px;
  letter-spacing:.15em;
}
body.rsvp-public #new-rsvp input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
body.rsvp-public #new-rsvp textarea {
  border:1px solid rgba(157,132,93,.12);
  border-bottom-color:rgba(157,132,93,.4);
  border-radius:4px;
  background:rgba(255,255,255,.36);
  box-shadow:none;
  color:#594f47;
  min-height:48px;
  padding:12px 13px;
  font-size:16px;
  transition:border-color 160ms ease,background 160ms ease,box-shadow 160ms ease;
}
body.rsvp-public #new-rsvp input:not([type="radio"]):not([type="checkbox"]):focus,
body.rsvp-public #new-rsvp textarea:focus {
  outline:2px solid rgba(189,149,96,.3);
  outline-offset:2px;
  border-color:#ad8a59;
  background:rgba(255,255,255,.72);
  box-shadow:0 0 0 3px rgba(189,149,96,.05);
}
body.rsvp-public #new-rsvp .rsvp-inline-note,
body.rsvp-public #new-rsvp .rsvp-context-note {
  background:transparent;
  box-shadow:none;
  border-radius:0;
  border:0;
  border-left:1px solid rgba(189,149,96,.3);
  padding:8px 0 8px 16px;
}
body.rsvp-public #new-rsvp .rsvp-segmented {
  background:rgba(255,255,255,.3);
  box-shadow:none;
  border-color:rgba(157,132,93,.28);
}
@media(max-width:600px) {
  body.rsvp-public #new-rsvp { padding:42px 18px 45px; }
  body.rsvp-public #new-rsvp > .rsvp-invitation-letter { padding:28px 22px; }
  body.rsvp-public #new-rsvp > .rsvp-invitation-letter::after {
    width:105px;
    top:-28px;
    left:-18px;
  }
  body.rsvp-public #new-rsvp .rsvp-title-stack::before { width:48px;height:48px; }
  body.rsvp-public #new-rsvp .rsvp-form-layout { gap:28px; }
}

/* v196: navigation belongs to the RSVP letter, not a second fixed header. */
body.rsvp-public:has(.rsvp-letter-nav) > .rsvp-site-header { display:none; }
body.rsvp-public:has(.rsvp-letter-nav) .rsvp-main { padding-top:0; }
body.rsvp-public:has(.rsvp-letter-nav) #new-rsvp {
  padding-top:72px;
  scroll-margin-top:calc(var(--guest-admin-height) + 48px);
}
body.rsvp-public .rsvp-letter-nav {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px 24px;
  margin:0 0 32px;
  padding:12px 0;
  border-top:1px solid rgba(189,149,96,.18);
  border-bottom:1px solid rgba(189,149,96,.18);
}
body.rsvp-public .rsvp-letter-nav a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:36px;
  color:#77674f;
  font:600 11px/1.5 var(--font-sans,sans-serif);
  text-decoration:none;
  text-underline-offset:5px;
  letter-spacing:.055em;
}
body.rsvp-public .rsvp-letter-nav a:hover {
  color:#40372d;
  text-decoration:underline;
}
body.rsvp-public .rsvp-letter-nav a:focus-visible {
  outline:2px solid #bd9560;
  outline-offset:4px;
  border-radius:2px;
}
@media(max-width:600px) {
  body.rsvp-public:has(.rsvp-letter-nav) #new-rsvp { padding-top:52px; }
  body.rsvp-public .rsvp-letter-nav { gap:2px 16px; margin-bottom:26px; }
  body.rsvp-public .rsvp-letter-nav a { min-height:44px; }
}

/* v197: the invitation's surrounding scene, separate from its letter. */
body.rsvp-public:has(.rsvp-invitation-surround) {
  background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.84),transparent 34rem),linear-gradient(180deg,#fbf8f3,#f6f0e6);
  background-color:#f6f0e6;
}
body.rsvp-public:has(.rsvp-invitation-surround) .rsvp-main { background:transparent; min-height:100svh; }
.rsvp-invitation-surround { position:absolute; inset:0; pointer-events:none; z-index:0; }
.rsvp-surround-flower {
  position:absolute;
  width:clamp(245px,28vw,420px);
  aspect-ratio:1;
  background:url("../img/rsvp-letter-flowers.png") center / contain no-repeat;
  opacity:.88;
}
.rsvp-surround-flower-top { top:-12px; left:-64px; }
.rsvp-surround-flower-bottom {
  position:fixed; bottom:-1rem; right:-1.7rem;
  width:clamp(245px,28vw,420px); transform:scale(-1); opacity:.48;
}
.rsvp-surround-brand {
  position:absolute; top:calc(clamp(245px,28vw,420px) / 2 + 16px);
  left:clamp(96px,5vw,112px); transform:translateY(-50%);
  display:grid; gap:.42rem; color:rgba(91,81,72,.72);
}
.rsvp-surround-title {
  font:400 clamp(1.8rem,2.3vw,2.1rem)/.96 Georgia,"Times New Roman",serif;
  letter-spacing:.18em;
}
.rsvp-surround-title > span { color:rgba(188,149,94,.96); letter-spacing:.07em; }
.rsvp-surround-date {
  font:700 clamp(.62rem,.88vw,.78rem)/1.5 var(--font-sans,sans-serif);
  letter-spacing:.33em; text-transform:uppercase;
}
body.rsvp-public:has(.rsvp-invitation-surround) .rsvp-page-section { position:relative; z-index:1; }
body.rsvp-public:has(.rsvp-invitation-surround) #new-rsvp > .rsvp-invitation-letter::after { content:none; }
@media(max-width:1280px) {
  .rsvp-surround-brand { top:44px; left:50%; transform:translateX(-50%); text-align:center; }
  .rsvp-surround-title { font-size:28px; }
  .rsvp-surround-title br { display:none; }
  .rsvp-surround-flower-top { width:190px; left:-34px; top:0; }
  body.rsvp-public:has(.rsvp-invitation-surround) #new-rsvp { padding-top:150px; }
}
@media(max-width:600px) {
  .rsvp-surround-brand { top:42px; }
  .rsvp-surround-title { font-size:24px; letter-spacing:.12em; }
  .rsvp-surround-date { font-size:9px; letter-spacing:.24em; }
  .rsvp-surround-flower-top { width:124px; left:-34px; }

  body.rsvp-public:has(.rsvp-invitation-surround) #new-rsvp { padding-top:142px; }
}

/* v198: letter typography and genuine radio choices. */
body.rsvp-public #new-rsvp .rsvp-title-stack::before { content:none; }
body.rsvp-public #new-rsvp .letter-monogram {
  display:block; width:clamp(38px,4vw,56px); height:auto; margin:0 auto 18px;
}
body.rsvp-public #new-rsvp .letter-monogram-ring,
body.rsvp-public #new-rsvp .letter-monogram-line {
  fill:none; stroke:rgba(181,139,83,.88); stroke-width:2.1;
}
body.rsvp-public #new-rsvp .letter-monogram-letter,
body.rsvp-public #new-rsvp .letter-monogram-amp {
  fill:rgba(164,122,70,.9); font-family:Georgia,"Times New Roman",serif; text-anchor:middle;
}
body.rsvp-public #new-rsvp .letter-monogram-letter { font-size:30px; }
body.rsvp-public #new-rsvp .letter-monogram-amp { font-size:13px; font-style:italic; }
body.rsvp-public #new-rsvp .rsvp-letter-date {
  font:italic 17px/1.65 Georgia,"Times New Roman",serif;
  letter-spacing:0; text-transform:none; color:#786650; margin:18px 0 0;
}
body.rsvp-public #new-rsvp .rsvp-toggle-legend { display:block; }
body.rsvp-public #new-rsvp .rsvp-toggle-title {
  font:400 20px/1.4 Georgia,"Times New Roman",serif;
  text-transform:none; letter-spacing:0; color:#594f47;
}
body.rsvp-public #new-rsvp .rsvp-letter-deadline {
  font:italic 15px/1.6 Georgia,"Times New Roman",serif;
  color:#786650; margin:8px 0 14px;
}
body.rsvp-public #new-rsvp .rsvp-letter-choices {
  display:grid; grid-template-columns:20px minmax(0,1fr);
  align-items:center; gap:0 12px; width:100%; margin:10px 0 0;
}
body.rsvp-public #new-rsvp .rsvp-letter-choices input[type="radio"] {
  position:static; appearance:auto; opacity:1;
  width:18px; height:18px; min-height:0; margin:0; padding:0;
  accent-color:#9c7d50; cursor:pointer; box-shadow:none;
}
body.rsvp-public #new-rsvp .rsvp-letter-choices label {
  display:flex; align-items:center; min-height:44px; padding:8px 0; margin:0;
  font:400 17px/1.45 Georgia,"Times New Roman",serif;
  text-transform:none; letter-spacing:0; color:#655749; cursor:pointer;
}
body.rsvp-public #new-rsvp .rsvp-letter-choices input:checked + label { color:#44392d; }
body.rsvp-public #new-rsvp .rsvp-letter-choices input:focus-visible {
  outline:2px solid #ad8a59; outline-offset:4px;
}
body.rsvp-public #new-rsvp .rsvp-letter-nav {
  display:flex; flex-direction:column; gap:8px; border:0;
  margin:28px 0 0; padding:0;
}
body.rsvp-public #new-rsvp .rsvp-letter-nav p { margin:0; color:#786650; font:15px/1.7 Georgia,serif; }
body.rsvp-public #new-rsvp .rsvp-letter-nav a {
  display:inline; min-height:0; padding:4px 0;
  font:italic 15px/1.7 Georgia,serif; letter-spacing:0;
  color:#786650; text-decoration:underline; text-decoration-color:rgba(157,125,80,.45);
}
body.rsvp-public #new-rsvp .rsvp-toggle-legend .rsvp-toggle-title {
  text-transform:none !important; letter-spacing:0 !important; font-weight:400 !important;
}
/* v201: a reply letter, with shared contact details and quiet writing lines. */
body.rsvp-public #new-rsvp .rsvp-title-stack { margin-bottom:44px; }
body.rsvp-public #new-rsvp .rsvp-form-layout {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 36px;
}
body.rsvp-public #new-rsvp .rsvp-form-wide { grid-column:1 / -1; }
body.rsvp-public #new-rsvp .rsvp-form-group > .course-label,
body.rsvp-public #new-rsvp .rsvp-toggle-title {
  margin:0 0 14px; padding:0; border:0;
  font:400 21px/1.4 Georgia,"Times New Roman",serif;
  text-transform:none !important; letter-spacing:0 !important; color:#594f47;
}
body.rsvp-public #new-rsvp .course-label::after { content:none; }
body.rsvp-public #new-rsvp .rsvp-toggle-field { width:100%; max-width:none; }
body.rsvp-public #new-rsvp .rsvp-letter-deadline { margin:8px 0 16px; }
body.rsvp-public #new-rsvp .rsvp-form-group > label,
body.rsvp-public #new-rsvp .rsvp-name-row > label {
  gap:6px; color:#776650; font:400 15px/1.5 Georgia,"Times New Roman",serif;
  text-transform:none; letter-spacing:0;
}
body.rsvp-public #new-rsvp input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
body.rsvp-public #new-rsvp textarea {
  border:0; border-bottom:1px solid rgba(157,132,93,.5); border-radius:0;
  background:rgba(255,255,255,.16); padding:10px 4px;
  font:400 17px/1.6 Georgia,"Times New Roman",serif;
}
body.rsvp-public #new-rsvp textarea { min-height:104px; resize:vertical; }
body.rsvp-public #new-rsvp input::placeholder,
body.rsvp-public #new-rsvp textarea::placeholder { color:#857a6c; opacity:1; font-style:italic; }
body.rsvp-public #new-rsvp .rsvp-inline-note,
body.rsvp-public #new-rsvp .rsvp-context-note {
  padding:0; border:0; margin:10px 0 0;
  font:400 16px/1.75 Georgia,"Times New Roman",serif; color:#776650;
}
body.rsvp-public #new-rsvp .rsvp-inline-note { font-size:14px; font-style:italic; }
body.rsvp-public #new-rsvp .rsvp-contact-note {
  margin:8px 0 0; font:italic 14px/1.6 Georgia,"Times New Roman",serif; color:#776650;
}
body.rsvp-public #new-rsvp .rsvp-friday-note { margin:0 0 14px; }
body.rsvp-public #new-rsvp .rsvp-friday-note > span {
  font:italic 15px/1.6 Georgia,"Times New Roman",serif; color:#8b6d45;
  letter-spacing:0; text-transform:none;
}
body.rsvp-public #new-rsvp .rsvp-friday-note p { margin:8px 0 0; font:inherit; color:inherit; }
body.rsvp-public #new-rsvp .rsvp-friday-note strong { font-weight:400; color:#594f47; }
body.rsvp-public #new-rsvp .rsvp-letter-choices { margin-top:8px; gap:0 10px; }
body.rsvp-public #new-rsvp .rsvp-letter-choices label { color:#776650; padding:7px 0; }
body.rsvp-public #new-rsvp .rsvp-letter-choices input:checked + label { color:#44392d; }
body.rsvp-public #new-rsvp .rsvp-letter-signoff { text-align:center; margin-top:30px; }
body.rsvp-public #new-rsvp .rsvp-letter-signoff p { margin:0 0 6px; font:italic 18px/1.6 Georgia,serif; color:#786650; }
body.rsvp-public #new-rsvp .rsvp-letter-signoff > span { display:block; font:400 20px/1.6 Georgia,serif; color:#594f47; }
body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-submit-button {
  display:block; margin:24px auto 0; width:auto; max-width:100%; min-height:48px;
  padding:12px 32px; background:#ecdfc9; color:#4f402d;
  border:1px solid #c6aa80; border-radius:4px; box-shadow:0 2px 5px rgba(77,60,39,.06);
  font:400 18px/1.4 Georgia,serif; text-transform:none; letter-spacing:0;
}
body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-submit-button:hover { background:#e3d2b6; color:#3f3223; transform:none; }
body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-submit-button:focus-visible { outline:2px solid #9c7d50; outline-offset:4px; }
body.rsvp-public #new-rsvp .rsvp-form-note { margin-top:24px; color:#776650; font-size:12px; line-height:1.7; }
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-form-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  body.rsvp-public #new-rsvp .rsvp-title-stack { margin-bottom:32px; }
  body.rsvp-public #new-rsvp .rsvp-form-group > .course-label,
  body.rsvp-public #new-rsvp .rsvp-toggle-title { font-size:20px; }
}
/* Override legacy form-card rules only inside the reply letter. */
body.rsvp-public #new-rsvp .rsvp-form-group { overflow:visible; gap:0; }
body.rsvp-public #new-rsvp .rsvp-form-group::before { content:none; }
body.rsvp-public #new-rsvp .rsvp-form-group > .course-label,
body.rsvp-public #new-rsvp .rsvp-toggle-legend .rsvp-toggle-title {
  font-size:21px !important; font-weight:400 !important; line-height:1.4 !important;
  color:#594f47 !important; margin-bottom:14px !important;
}
body.rsvp-public #new-rsvp .rsvp-toggle-field { display:block; }
body.rsvp-public #new-rsvp .rsvp-letter-deadline { margin:4px 0 12px; }
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-form-group > .course-label,
  body.rsvp-public #new-rsvp .rsvp-toggle-legend .rsvp-toggle-title { font-size:20px !important; }
}
body.rsvp-public #new-rsvp .rsvp-guest-form { margin-top:0; gap:20px; }
body.rsvp-public #new-rsvp .rsvp-letter-signoff { margin-top:8px; }

/* v202: Friday's information reads as a plain paragraph on the letter. */
body.rsvp-public #new-rsvp .rsvp-friday-note::before { content:none; }

/* v203: shorter reading path, with optional notes folded into the paper. */
body.rsvp-public #new-rsvp .rsvp-title-stack { margin-bottom:32px; }
body.rsvp-public #new-rsvp .rsvp-decision-block {
  max-width:none; text-align:center; padding-bottom:28px;
  border-bottom:1px solid rgba(157,132,93,.2);
}
body.rsvp-public #new-rsvp .rsvp-decision-block .rsvp-letter-choices {
  width:fit-content; max-width:100%; margin:14px auto 0; text-align:left;
}
body.rsvp-public #new-rsvp .rsvp-form-layout { gap:26px 36px; }
body.rsvp-public #new-rsvp .rsvp-friday-insert {
  padding:24px 26px; margin:4px 0;
  background:linear-gradient(120deg,rgba(255,255,255,.32),rgba(219,199,166,.1));
  box-shadow:0 1px 0 rgba(157,132,93,.2),0 -1px 0 rgba(255,255,255,.7);
}
body.rsvp-public #new-rsvp .rsvp-friday-note p { font-size:16px; line-height:1.65; }
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-letter-choices {
  grid-template-columns:20px max-content 20px max-content; gap:0 10px;
}
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-letter-choices label:first-of-type { margin-right:20px; }
body.rsvp-public #new-rsvp .rsvp-letter-details { border:0; background:none; box-shadow:none; }
body.rsvp-public #new-rsvp .rsvp-letter-details > summary {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:44px; padding:10px 0; cursor:pointer; list-style:none;
  color:#66543f; font:400 17px/1.5 Georgia,"Times New Roman",serif;
}
body.rsvp-public #new-rsvp .rsvp-letter-details > summary::-webkit-details-marker { display:none; }
body.rsvp-public #new-rsvp .rsvp-letter-details > summary::after {
  content:"+"; flex:none; font:400 22px/1 Georgia,serif; color:#947447;
}
body.rsvp-public #new-rsvp .rsvp-letter-details[open] > summary::after { content:"−"; }
body.rsvp-public #new-rsvp .rsvp-letter-details > summary:hover { color:#3f3223; }
body.rsvp-public #new-rsvp .rsvp-letter-details > summary:focus-visible { outline:2px solid #9c7d50; outline-offset:3px; }
body.rsvp-public #new-rsvp .rsvp-friday-details { margin-top:4px; }
body.rsvp-public #new-rsvp .rsvp-friday-details > summary { justify-content:flex-start; gap:10px; font-size:14px; font-style:italic; }
body.rsvp-public #new-rsvp .rsvp-friday-details > summary::after { font-size:18px; }
body.rsvp-public #new-rsvp .rsvp-optional-label { margin-left:8px; font:italic 13px/1.5 Georgia,serif; color:#776650; }
body.rsvp-public #new-rsvp .rsvp-writing-fold { border-bottom:1px solid rgba(157,132,93,.25); }
body.rsvp-public #new-rsvp .rsvp-writing-fold > summary { padding:14px 0; min-height:52px; }
body.rsvp-public #new-rsvp .rsvp-writing-fold > p { margin:0 0 8px; font:italic 14px/1.6 Georgia,serif; color:#776650; }
body.rsvp-public #new-rsvp .rsvp-writing-fold textarea { width:100%; margin:0 0 16px; }
body.rsvp-public #new-rsvp .rsvp-form-note {
  padding:0; border:0; border-radius:0; background:none; box-shadow:none;
  text-align:center; max-width:480px; margin:8px auto 0;
}
body.rsvp-public #new-rsvp .rsvp-letter-nav { margin-top:20px; gap:4px; }
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-form-layout { gap:22px; }
  body.rsvp-public #new-rsvp .rsvp-friday-insert { padding:20px 14px; }
  body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-letter-choices { grid-template-columns:20px minmax(0,1fr); }
  body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-letter-choices label:first-of-type { margin-right:0; }
}

/* v204: stationery choices and paper button on the existing single-page form. */
body.rsvp-public #new-rsvp .rsvp-letter-date {
  margin:.46rem 0 0; color:#80613d;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(.56rem,.72vw,.68rem); font-style:normal; font-weight:750;
  letter-spacing:.28em; text-transform:uppercase;
}
body.rsvp-public #new-rsvp .rsvp-decision-block { border-bottom:0; padding-bottom:6px; }
body.rsvp-public #new-rsvp .rsvp-decision-block .rsvp-paper-choices {
  position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(100%,540px); gap:18px; margin:20px auto 0;
}
body.rsvp-public #new-rsvp .rsvp-paper-choices input[type="radio"] {
  position:absolute; width:1px; height:1px; margin:0; opacity:0;
  clip-path:inset(50%); overflow:hidden;
}
body.rsvp-public #new-rsvp .rsvp-paper-choices label {
  position:relative; isolation:isolate; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:5px;
  min-height:132px; margin:0; padding:22px 22px 20px;
  text-align:center; color:#776650; background:none;
  transition:color 180ms ease;
}
body.rsvp-public #new-rsvp .rsvp-paper-choices label::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:url("../img/rsvp-paper-slip-v204.png") center / 100% 100% no-repeat;
  opacity:.65; transition:opacity 180ms ease,filter 180ms ease;
}
body.rsvp-public #new-rsvp .rsvp-paper-answer {
  font:italic 30px/1.2 Georgia,"Times New Roman",serif; color:inherit;
}
body.rsvp-public #new-rsvp .rsvp-paper-caption {
  font:400 15px/1.4 Georgia,"Times New Roman",serif; color:inherit; text-wrap:balance;
}
body.rsvp-public #new-rsvp .rsvp-answer-mark {
  position:absolute; right:16px; top:17px; color:#80613d;
  font:400 17px/1 Georgia,serif; visibility:hidden;
}
body.rsvp-public #new-rsvp .rsvp-paper-choices input:checked + label { color:#493b2c; }
body.rsvp-public #new-rsvp .rsvp-paper-choices input:checked + label::before {
  opacity:1; filter:drop-shadow(0 2px 2px rgba(129,96,48,.18));
}
body.rsvp-public #new-rsvp .rsvp-paper-choices input:checked + label .rsvp-answer-mark { visibility:visible; }
body.rsvp-public #new-rsvp .rsvp-paper-choices label:hover::before { opacity:1; }
body.rsvp-public #new-rsvp .rsvp-paper-choices input:focus-visible + label {
  outline:2px solid #9c7d50; outline-offset:3px; border-radius:3px;
}
/* Let the original letter texture show through; no separate rectangular insert. */
body.rsvp-public #new-rsvp .rsvp-friday-insert {
  padding:16px 0 4px; margin:0; background:transparent; box-shadow:none; border:0;
}
body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-paper-submit {
  position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center;
  gap:14px; width:236px; max-width:100%; min-height:82px; padding:20px 28px;
  margin:20px auto 0; border:0; border-radius:0; box-shadow:none; background:transparent;
  color:#59452e; font:italic 21px/1.3 Georgia,"Times New Roman",serif;
  transition:color 180ms ease;
}
body.rsvp-public #new-rsvp .rsvp-paper-submit::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:url("../img/rsvp-paper-slip-v204.png") center / 100% 100% no-repeat;
  transition:filter 180ms ease;
}
body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-paper-submit:hover {
  color:#3f3223; background:transparent; box-shadow:none;
}
body.rsvp-public #new-rsvp .rsvp-paper-submit:hover::before { filter:drop-shadow(0 2px 3px rgba(129,96,48,.2)); }
body.rsvp-public #new-rsvp .rsvp-send-plane {
  width:30px; height:28px; flex:none; fill:none; stroke:currentColor; stroke-width:1.15;
  stroke-linecap:round; stroke-linejoin:round;
}
body.rsvp-public #new-rsvp .rsvp-privacy-outside {
  width:min(100%,620px); max-width:620px; margin:20px auto 0; padding:0 12px;
  text-align:center; font:400 11px/1.7 var(--font-sans,Arial,sans-serif); color:#786c5c;
}
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-decision-block .rsvp-paper-choices { gap:8px; }
  body.rsvp-public #new-rsvp .rsvp-paper-choices label { min-height:134px; padding:22px 12px 18px; }
  body.rsvp-public #new-rsvp .rsvp-paper-answer { font-size:28px; }
  body.rsvp-public #new-rsvp .rsvp-paper-caption { font-size:14px; }
  body.rsvp-public #new-rsvp .rsvp-answer-mark { right:11px; top:17px; font-size:15px; }
  body.rsvp-public #new-rsvp .rsvp-privacy-outside { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  body.rsvp-public #new-rsvp .rsvp-paper-choices label,
  body.rsvp-public #new-rsvp .rsvp-paper-choices label::before,
  body.rsvp-public #new-rsvp .rsvp-paper-submit,
  body.rsvp-public #new-rsvp .rsvp-paper-submit::before { transition:none; }
}
body.rsvp-public #new-rsvp .rsvp-paper-choices label { justify-content:flex-start; padding-top:30px; }
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-paper-choices label { min-height:146px; padding-top:30px; padding-bottom:24px; }
}

/* v205: locally hosted calligraphy on the answer words; quiet ink writing lines. */
@font-face {
  font-family:'RSVP Allura'; src:url('../fonts/Allura-Regular.ttf') format('truetype');
  font-style:normal; font-weight:400; font-display:swap;
}
body.rsvp-public #new-rsvp .rsvp-paper-choices label {
  min-height:146px; padding:26px 22px 25px; gap:4px;
}
body.rsvp-public #new-rsvp .rsvp-paper-answer {
  display:block; width:100%; min-height:46px;
  font:400 42px/1.1 'RSVP Allura',Georgia,serif; white-space:nowrap;
}
body.rsvp-public #new-rsvp .rsvp-paper-caption { font:400 15px/1.45 Georgia,serif; }
body.rsvp-public #new-rsvp .rsvp-paper-choices input:checked + label { color:#4c3826; }
body.rsvp-public #new-rsvp .rsvp-answer-mark {
  right:24px; top:24px; color:#654520; font-size:20px; transform:rotate(-9deg);
}
body.rsvp-public #new-rsvp .rsvp-form-group > label,
body.rsvp-public #new-rsvp .rsvp-name-row > label {
  font-size:13px; color:#786650; gap:8px;
}
body.rsvp-public #new-rsvp input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
body.rsvp-public #new-rsvp textarea {
  border:0; border-radius:3px 3px 0 0;
  background:url('../img/rsvp-ink-line-v205.svg') center bottom / 100% 7px no-repeat,
    linear-gradient(180deg,rgba(255,253,246,.82),rgba(238,226,205,.35));
  padding:13px 12px 16px; min-height:56px;
  font:400 18px/1.5 Georgia,'Times New Roman',serif; color:#493b2d;
  box-shadow:inset 0 1px 5px rgba(121,94,54,.035);
}
body.rsvp-public #new-rsvp textarea { min-height:118px; }
body.rsvp-public #new-rsvp input:not([type="radio"]):not([type="checkbox"]):focus,
body.rsvp-public #new-rsvp textarea:focus {
  border:0; background:url('../img/rsvp-ink-line-v205.svg') center bottom / 100% 8px no-repeat,#fffaf0;
  outline:2px solid rgba(157,119,65,.55); outline-offset:3px;
  box-shadow:0 2px 12px rgba(121,94,54,.07);
}
body.rsvp-public #new-rsvp input::placeholder,
body.rsvp-public #new-rsvp textarea::placeholder { font-size:16px; color:#847564; }
body.rsvp-public #new-rsvp .rsvp-writing-fold {
  border-bottom:0;
  background:url('../img/rsvp-ink-line-v205.svg') center bottom / 100% 5px no-repeat;
}
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-paper-choices label { min-height:151px; padding:34px 10px 25px; gap:4px; }
  body.rsvp-public #new-rsvp .rsvp-paper-answer { font-size:34px; min-height:38px; }
  body.rsvp-public #new-rsvp .rsvp-paper-caption { font-size:14px; }
  body.rsvp-public #new-rsvp .rsvp-answer-mark { top:23px; right:16px; font-size:17px; }
}
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-paper-answer { font-size:clamp(27px,8.6vw,34px); }
}

/* v206: flat writing surfaces and centered answer groups. */
body.rsvp-public #new-rsvp .rsvp-paper-choices label {
  justify-content:center; padding:24px 22px 18px;
}
body.rsvp-public #new-rsvp .rsvp-paper-answer { min-height:0; }
body.rsvp-public #new-rsvp input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
body.rsvp-public #new-rsvp textarea {
  background:url('../img/rsvp-ink-line-v205.svg') center bottom / 100% 5px no-repeat,rgba(255,252,244,.38);
  box-shadow:none;
}
body.rsvp-public #new-rsvp input:not([type="radio"]):not([type="checkbox"]):focus,
body.rsvp-public #new-rsvp textarea:focus {
  background:url('../img/rsvp-ink-line-v205.svg') center bottom / 100% 5px no-repeat,rgba(255,252,244,.7);
  box-shadow:none;
}
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-paper-choices label { padding:27px 10px 20px; }
  body.rsvp-public #new-rsvp .rsvp-paper-caption { min-height:2.9em; display:flex; align-items:center; justify-content:center; }
}

/* v207: mark the answer directly on the letter, without separate paper cards. */
body.rsvp-public #new-rsvp .rsvp-decision-block .rsvp-paper-choices {
  width:min(100%,460px); gap:24px; margin:14px auto 0;
}
body.rsvp-public #new-rsvp .rsvp-paper-choices label {
  min-height:90px; padding:18px 24px 22px; justify-content:center;
  color:#796a57; background:transparent;
}
body.rsvp-public #new-rsvp .rsvp-paper-choices label::before { content:none; }
body.rsvp-public #new-rsvp .rsvp-paper-choices label::after {
  content:""; position:absolute; left:16%; right:16%; bottom:16px; height:6px;
  background:url('../img/rsvp-ink-line-v205.svg') center / 100% 100% no-repeat;
  opacity:0;
}
body.rsvp-public #new-rsvp .rsvp-paper-choices input:checked + label::after { opacity:1; }
body.rsvp-public #new-rsvp .rsvp-paper-choices label:hover { color:#4c3826; }
body.rsvp-public #new-rsvp .rsvp-answer-mark {
  left:4px; right:auto; top:50%; transform:translateY(-50%) rotate(-9deg);
  margin-top:-2px; color:#8a683b; font-size:17px;
}
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-decision-block .rsvp-paper-choices { gap:10px; }
  body.rsvp-public #new-rsvp .rsvp-paper-choices label { min-height:82px; padding:16px 12px 22px; }
  body.rsvp-public #new-rsvp .rsvp-paper-answer { font-size:clamp(25px,7.8vw,31px); }
  body.rsvp-public #new-rsvp .rsvp-answer-mark { left:0; font-size:14px; }
}

/* v208: a lightly attached note, using the existing cotton-paper asset. */
body.rsvp-public #new-rsvp .rsvp-friday-insert {
  position:relative; isolation:isolate; padding:32px 28px 28px; margin:12px 0 6px;
}
body.rsvp-public #new-rsvp .rsvp-form-group.rsvp-friday-insert::before {
  content:""; position:absolute; inset:-12px -10px; width:auto; height:auto; z-index:-1;
  background:url('../img/rsvp-paper-slip-v204.png') center / 100% 100% no-repeat;
  transform:rotate(-.35deg); opacity:.86; pointer-events:none;
}
body.rsvp-public #new-rsvp .rsvp-friday-insert::after {
  content:""; position:absolute; top:-2px; left:calc(50% - 34px); width:68px; height:20px;
  background:linear-gradient(105deg,rgba(226,213,186,.3),rgba(240,231,209,.56),rgba(226,213,186,.26));
  clip-path:polygon(2% 0,98% 3%,96% 30%,100% 65%,97% 100%,1% 97%,4% 62%,0 27%);
  transform:rotate(-4deg); pointer-events:none;
}
body.rsvp-public #new-rsvp .rsvp-reveal-content { display:flow-root; }
body.rsvp-public #new-rsvp .rsvp-writing-fold > .rsvp-reveal-content > p {
  margin:0 0 8px; font:italic 14px/1.6 Georgia,serif; color:#776650;
}
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-friday-insert { padding:28px 16px 24px; }
  body.rsvp-public #new-rsvp .rsvp-form-group.rsvp-friday-insert::before { inset:-10px -6px; }
}
body.rsvp-public #new-rsvp .rsvp-form-group.rsvp-friday-insert::before {
  background-size:100% 125%;
}

/* v209: legible writing areas, quieter Friday choices and expressive section titles. */
body.rsvp-public #new-rsvp .rsvp-letter-extras textarea {
  min-height:150px; padding:16px 16px 20px;
  border:1px solid rgba(144,110,66,.42); border-radius:4px;
  background:#fffcf5;
  color:#493b2d; box-shadow:none;
}
body.rsvp-public #new-rsvp .rsvp-letter-extras textarea:focus {
  border-color:#9c7d50;
  background:#fffdf8;
  outline:2px solid rgba(157,119,65,.5); outline-offset:3px; box-shadow:none;
}
body.rsvp-public #new-rsvp .rsvp-form-group > .course-label,
body.rsvp-public #new-rsvp .rsvp-toggle-legend .rsvp-toggle-title {
  font-family:Georgia,'Times New Roman',serif; font-style:italic;
  font-size:23px !important; line-height:1.35 !important; color:#795b3b !important;
  margin-bottom:16px !important;
}
body.rsvp-public #new-rsvp .rsvp-optional-label { font-style:normal; color:#807360; }
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices {
  position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px; width:min(100%,350px); margin:14px 0 0;
}
body.rsvp-public #new-rsvp .rsvp-friday-choices input[type="radio"] {
  position:absolute; width:1px; height:1px; margin:0; opacity:0;
  clip-path:inset(50%); overflow:hidden;
}
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label {
  position:relative; justify-content:center; padding:12px 10px 17px 24px;
  min-height:54px; margin:0; color:#796a57; font:400 17px/1.4 Georgia,serif;
}
body.rsvp-public #new-rsvp .rsvp-friday-choices label::after {
  content:""; position:absolute; left:16%; right:10%; bottom:6px; height:5px;
  background:url('../img/rsvp-ink-line-v205.svg') center / 100% 100% no-repeat;
  opacity:0;
}
body.rsvp-public #new-rsvp .rsvp-friday-mark {
  position:absolute; left:6px; top:50%; transform:translateY(-50%) rotate(-9deg);
  margin-top:-3px; color:#8a683b; font-size:16px; visibility:hidden;
}
body.rsvp-public #new-rsvp .rsvp-friday-choices input:checked + label { color:#4c3826; }
body.rsvp-public #new-rsvp .rsvp-friday-choices input:checked + label::after { opacity:1; }
body.rsvp-public #new-rsvp .rsvp-friday-choices input:checked + label .rsvp-friday-mark { visibility:visible; }
body.rsvp-public #new-rsvp .rsvp-friday-choices label:hover { color:#4c3826; }
body.rsvp-public #new-rsvp .rsvp-friday-choices input:focus-visible + label {
  outline:2px solid #9c7d50; outline-offset:3px; border-radius:3px;
}
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-form-group > .course-label,
  body.rsvp-public #new-rsvp .rsvp-toggle-legend .rsvp-toggle-title { font-size:22px !important; }
  body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices { gap:4px; }
  body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label { font-size:16px; padding-left:20px; padding-right:3px; }
  body.rsvp-public #new-rsvp .rsvp-friday-mark { left:1px; font-size:14px; }
}

/* v210: a distinct reply area and visibly interactive Friday choices. */
body.rsvp-public #new-rsvp .rsvp-decision-block {
  position:relative; isolation:isolate; padding:28px 24px 16px; margin:4px 0 10px;
}
body.rsvp-public #new-rsvp .rsvp-decision-block::before {
  content:""; position:absolute; inset:-10px -12px; z-index:-1;
  width:auto; height:auto; pointer-events:none;
  background:url('../img/rsvp-paper-slip-v204.png') center / 100% 125% no-repeat;
  opacity:.42;
}
body.rsvp-public #new-rsvp .rsvp-decision-block .rsvp-paper-choices { margin-top:8px; }
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label {
  border:1px solid rgba(146,111,64,.4); border-radius:3px;
  background:rgba(255,252,244,.65); padding:13px 10px 17px 24px;
  transition:background-color 160ms ease,border-color 160ms ease;
}
body.rsvp-public #new-rsvp .rsvp-friday-choices label:hover { background:#f4e8d4; border-color:#ac895a; }
body.rsvp-public #new-rsvp .rsvp-friday-choices input:checked + label {
  background:#edddc1; border-color:#ac895a;
}
body.rsvp-public #new-rsvp .rsvp-clear-friday {
  justify-self:start; display:block; min-height:36px; margin:6px 0 0; padding:6px 0;
  border:0; border-radius:0; background:none; box-shadow:none; color:#75624b;
  font:italic 14px/1.5 Georgia,serif; text-transform:none; letter-spacing:0;
  text-decoration:underline; text-underline-offset:4px; cursor:pointer;
}
body.rsvp-public #new-rsvp .rsvp-clear-friday[hidden] { display:none; }
body.rsvp-public #new-rsvp .rsvp-clear-friday:hover { color:#493b2d; }
body.rsvp-public #new-rsvp .rsvp-clear-friday:focus-visible { outline:2px solid #9c7d50; outline-offset:3px; }
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-decision-block { padding:22px 8px 10px; }
  body.rsvp-public #new-rsvp .rsvp-decision-block::before { inset:-8px -8px; }
  body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label { padding-left:20px; padding-right:5px; }
}
@media(prefers-reduced-motion:reduce) {
  body.rsvp-public #new-rsvp .rsvp-friday-choices label { transition:none; }
}
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-decision-block { padding-left:0; padding-right:0; }
}

/* v210: hand-drawn single-choice boxes, empty until the guest chooses. */
body.rsvp-public #new-rsvp .rsvp-decision-block .rsvp-paper-choices {
  width:min(100%,620px); gap:16px;
}
body.rsvp-public #new-rsvp .rsvp-paper-choices label {
  display:flex; flex-direction:row; align-items:center; justify-content:center;
  gap:10px; min-height:76px; padding:14px 4px; color:#67543e;
}
body.rsvp-public #new-rsvp .rsvp-paper-answer { width:auto; font-size:38px; }
body.rsvp-public #new-rsvp .rsvp-paper-choices .rsvp-drawn-box { order:-1; }
body.rsvp-public #new-rsvp .rsvp-drawn-box {
  display:block; flex:0 0 28px; width:28px; height:28px;
  fill:none; stroke:#96754b; stroke-width:1.15; stroke-linecap:round; stroke-linejoin:round;
}
body.rsvp-public #new-rsvp .rsvp-box-cross {
  opacity:0; stroke:#674524; stroke-width:1.8;
}
body.rsvp-public #new-rsvp input:checked + label .rsvp-box-cross { opacity:1; }
body.rsvp-public #new-rsvp .rsvp-paper-choices label::after,
body.rsvp-public #new-rsvp .rsvp-friday-choices label::after { content:none; }
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices {
  width:min(100%,360px); margin:14px auto 0; gap:10px;
}
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label {
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:10px 8px; min-height:52px; color:#67543e;
}
body.rsvp-public #new-rsvp .rsvp-friday-choices .rsvp-drawn-box { flex-basis:24px; width:24px; height:24px; }
body.rsvp-public #new-rsvp .rsvp-clear-friday { margin:6px auto 0; justify-self:center; }
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-paper-answer { font-size:32px; }
  body.rsvp-public #new-rsvp .rsvp-decision-block .rsvp-paper-choices { grid-template-columns:1fr; gap:0; width:fit-content; }
  body.rsvp-public #new-rsvp .rsvp-paper-choices label { justify-content:flex-start; min-height:60px; }
  body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices { gap:6px; }
  body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label { font-size:15px; padding:9px 5px; gap:5px; }
  body.rsvp-public #new-rsvp .rsvp-friday-choices .rsvp-drawn-box { flex-basis:20px; width:20px; height:20px; }
}

/* v211: keep the extra paper only for the Friday insert. */
body.rsvp-public #new-rsvp .rsvp-decision-block::before { content:none; }
body.rsvp-public #new-rsvp .rsvp-letter-deadline {
  font:italic 15px/1.6 Georgia, 'Times New Roman', serif;
  color:#8b6d45; letter-spacing:0; text-transform:none;
}

/* v212: a pale enclosure with choices written directly on the paper. */
body.rsvp-public #new-rsvp .rsvp-form-group.rsvp-friday-insert::before { opacity:.42; }
body.rsvp-public #new-rsvp .rsvp-friday-insert::after { opacity:.45; }
body.rsvp-public #new-rsvp .rsvp-friday-insert { padding-top:34px; padding-bottom:28px; text-align:center; }
body.rsvp-public #new-rsvp .rsvp-friday-note { max-width:540px; margin:0 auto 14px; }
body.rsvp-public #new-rsvp .rsvp-friday-note > p { margin:12px auto 0; line-height:1.75; text-wrap:pretty; }
body.rsvp-public #new-rsvp .rsvp-friday-details { margin-top:12px; }
body.rsvp-public #new-rsvp .rsvp-friday-details > summary { justify-content:center; }
body.rsvp-public #new-rsvp .rsvp-friday-details .rsvp-reveal-content { text-align:center; max-width:440px; margin-inline:auto; text-wrap:pretty; }
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices { margin-top:20px; }
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label {
  border:0; border-radius:0; background:transparent; box-shadow:none;
  padding:12px 6px 16px; color:#67543e; cursor:pointer;
  transition:color 160ms ease;
}
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label::after {
  content:""; left:12%; right:12%; bottom:5px; height:5px;
  background:url('../img/rsvp-ink-line-v205.svg') center / 100% 100% no-repeat;
  opacity:.22; transition:opacity 160ms ease;
}
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label:hover { color:#493b2d; }
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label:hover::after { opacity:.6; }
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices input:checked + label { color:#493b2d; background:transparent; }
body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices input:checked + label::after { opacity:1; }
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-friday-insert { padding:28px 12px 24px; }
  body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label { padding-left:2px; padding-right:2px; }
}
@media(prefers-reduced-motion:reduce) {
  body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label,
  body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label::after { transition:none; }
}
@media(max-width:380px) {
  body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices { grid-template-columns:1fr; width:fit-content; gap:0; }
  body.rsvp-public #new-rsvp .rsvp-friday-insert .rsvp-friday-choices label { justify-content:flex-start; white-space:nowrap; padding-left:8px; padding-right:8px; }
}

/* v213: an airy closing and a sketched paper plane. */
body.rsvp-public #new-rsvp .rsvp-letter-signoff { margin-top:34px; }
body.rsvp-public #new-rsvp .rsvp-plane-sketch { stroke-width:.65; opacity:.5; }

/* v215: one quiet frame around the optional writing fields. */
body.rsvp-public #new-rsvp .rsvp-writing-fold { background:none; border-bottom:0; }

/* v216: separators belong to the choices, not to the writing areas. */
body.rsvp-public #new-rsvp .rsvp-writing-fold > summary {
  background:url('../img/rsvp-ink-line-v205.svg') center bottom / 100% 5px no-repeat;
}
body.rsvp-public #new-rsvp .rsvp-writing-fold .rsvp-reveal-content { padding-top:12px; }
body.rsvp-public #new-rsvp .rsvp-letter-wax-seal {
  display:block; width:142px; height:auto; margin:10px auto -12px 0;
  transform:translateY(-16px) rotate(7deg); pointer-events:none; user-select:none;
  filter:drop-shadow(0 3px 3px rgba(93,65,27,.15));
}
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-letter-wax-seal { width:108px; margin-top:8px; margin-bottom:-6px; }
}

/* v219: the seal belongs to the closing, alongside the reply action. */
body.rsvp-public #new-rsvp .rsvp-letter-signoff {
  display:grid; grid-template-columns:minmax(0,1fr) 236px minmax(0,1fr);
  align-items:center; gap:14px 12px; margin-top:42px;
}
body.rsvp-public #new-rsvp .rsvp-letter-signoff > p { grid-column:1 / -1; grid-row:1; margin:0; }
body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-letter-wax-seal {
  grid-column:1; grid-row:2; justify-self:end; width:108px; max-width:100%; margin:0 4px 0 0;
  transform:rotate(-6deg);
  filter:saturate(.78) contrast(.88) brightness(.96) drop-shadow(0 1px 1px rgba(72,44,17,.3));
}
body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-paper-submit { grid-column:2; grid-row:2; margin:0; }
body.rsvp-public #new-rsvp .rsvp-letter-nav { margin-top:20px; gap:2px; }
body.rsvp-public #new-rsvp .rsvp-letter-nav p,
body.rsvp-public #new-rsvp .rsvp-letter-nav a { font-size:13px; color:#807360; }
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-letter-signoff { grid-template-columns:76px minmax(0,1fr); gap:16px 14px; margin-top:36px; }
  body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-letter-wax-seal { grid-column:1; grid-row:1; width:76px; margin:0; justify-self:center; }
  body.rsvp-public #new-rsvp .rsvp-letter-signoff > p { grid-column:2; grid-row:1; font-size:17px; }
  body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-paper-submit { grid-column:1 / -1; grid-row:2; justify-self:center; }
}

/* v220: a handwritten sender line ties the closing to its seal. */
body.rsvp-public #new-rsvp .rsvp-letter-signoff > .rsvp-letter-signature {
  grid-column:1 / -1; grid-row:2; justify-self:center;
  font:400 38px/1.25 'RSVP Allura',cursive; color:#70553b;
  letter-spacing:0; margin:-5px 0 4px; transform:rotate(-2deg);
}
body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-letter-wax-seal,
body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-paper-submit { grid-row:3; }
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-letter-signoff > .rsvp-letter-signature {
    grid-column:2; grid-row:2; font-size:32px; margin:-9px 0 0;
  }
  body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-letter-wax-seal { grid-row:1 / 3; }
  body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-paper-submit { grid-row:3; }
}

/* v221: keep the valediction close to the closing sentence. */
body.rsvp-public #new-rsvp .rsvp-letter-signoff .rsvp-letter-valediction {
  display:block; margin-top:3px; font:inherit; color:inherit;
}

/* v222: centered signature on two lines. */
body.rsvp-public #new-rsvp .rsvp-letter-signoff > .rsvp-letter-signature { text-align:center; }

/* v224: confirmation and access use the same stationery as the reply form. */
body.rsvp-reply-page .rsvp-site-header { display:none; }
body.rsvp-reply-page .rsvp-main { padding-top:0; }
body.rsvp-public #new-rsvp .rsvp-letter-message { max-width:540px; margin:30px auto; text-align:center; font:18px/1.7 Georgia,serif; color:#67543e; }
body.rsvp-public #new-rsvp .rsvp-letter-message p { margin:12px 0; }
body.rsvp-public #new-rsvp .rsvp-letter-message a { color:#795b3b; text-underline-offset:4px; }
body.rsvp-reply-page #new-rsvp .rsvp-title-stack h1 { font:400 clamp(32px,5vw,48px)/1.15 Georgia,serif; color:#594f47; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-summary { max-width:510px; margin:28px auto 32px; font:16px/1.65 Georgia,serif; color:#67543e; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-summary > div { display:flex; justify-content:space-between; gap:18px; padding:8px 0; border-bottom:1px solid rgba(157,125,80,.18); }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-summary dt { font-weight:400; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-summary dd { margin:0; text-align:right; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-code,
body.rsvp-reply-page #new-rsvp .rsvp-receipt-next { text-align:center; margin:28px auto; max-width:540px; font:16px/1.7 Georgia,serif; color:#67543e; }
body.rsvp-reply-page #new-rsvp h2 { font:italic 23px/1.4 Georgia,serif; color:#795b3b; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-code-value { font:400 clamp(23px,4vw,32px)/1.5 Georgia,serif; letter-spacing:.08em; margin:12px 0 2px; overflow-wrap:anywhere; user-select:all; color:#5e4831; }
body.rsvp-reply-page #new-rsvp .rsvp-copy-code { color:#795b3b; font:italic 15px/1.6 Georgia,serif; border:0; background:transparent; padding:8px 12px; min-height:44px; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
body.rsvp-reply-page #new-rsvp .rsvp-copy-status { display:block; font:italic 14px/1.5 Georgia,serif; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-mail { max-width:510px; margin:18px auto 32px; text-align:center; font:14px/1.7 Georgia,serif; color:#786650; overflow-wrap:anywhere; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-mail strong { font-weight:400; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-mail.is-error { color:#844f3b; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-primary { display:inline-block; padding:16px 22px; color:#59452e; font:italic 18px/1.5 Georgia,serif; background:url('../img/rsvp-paper-slip-v204.png') center/100% 100% no-repeat; text-decoration:none; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-primary:hover { color:#312619; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-primary:focus-visible,
body.rsvp-reply-page #new-rsvp .rsvp-copy-code:focus-visible { outline:2px solid #9c7d50; outline-offset:4px; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-signature { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:36px; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-signature img { width:86px; height:auto; transform:rotate(-6deg); filter:saturate(.78) contrast(.88) brightness(.96) drop-shadow(0 1px 1px rgba(72,44,17,.3)); }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-signature p { margin:0; text-align:center; font:italic 16px/1.6 Georgia,serif; color:#786650; }
body.rsvp-reply-page #new-rsvp .rsvp-receipt-signature span { display:block; font:400 34px/1.15 'RSVP Allura',cursive; color:#70553b; margin-top:8px; }
body.rsvp-reply-page #new-rsvp .rsvp-access-password { display:grid; gap:12px; max-width:340px; margin:24px auto; }
@media(max-width:600px) {
 body.rsvp-reply-page #new-rsvp .rsvp-receipt-summary > div { display:block; text-align:center; }
 body.rsvp-reply-page #new-rsvp .rsvp-receipt-summary dd { text-align:center; }
 body.rsvp-reply-page #new-rsvp .rsvp-receipt-signature { gap:14px; }
 body.rsvp-reply-page #new-rsvp .rsvp-receipt-signature img { width:70px; }
}
body.rsvp-reply-page #new-rsvp .rsvp-access-password .button {
  justify-self:center; min-width:180px; padding:18px 28px; border:0; border-radius:0;
  background:url('../img/rsvp-paper-slip-v204.png') center/100% 100% no-repeat;
  color:#59452e; box-shadow:none; font:italic 20px/1.4 Georgia,serif;
  text-transform:none; letter-spacing:0;
}
body.rsvp-reply-page #new-rsvp .rsvp-access-password .button:focus-visible { outline:2px solid #9c7d50; outline-offset:4px; }

/* v227: invitation lookup as part of the stationery. */
body.rsvp-public .rsvp-letter-action.button {
  display:inline-flex; align-items:center; justify-content:center; position:relative;
  min-height:74px; width:auto; max-width:100%; padding:20px 32px;
  border:0; border-radius:0; box-shadow:none; text-transform:none; letter-spacing:0;
  background:url('../img/rsvp-paper-slip-v204.png') center/100% 100% no-repeat;
  color:#59452e; font:italic 20px/1.4 Georgia,'Times New Roman',serif; text-decoration:none;
}
body.rsvp-public .rsvp-letter-action.button:hover { color:#3f3223; background-color:transparent; transform:none; box-shadow:none; filter:drop-shadow(0 2px 2px rgba(129,96,48,.14)); }
body.rsvp-public .rsvp-letter-action.button:focus-visible { outline:2px solid #9c7d50; outline-offset:4px; }
body.rsvp-public #endre-rsvp, body.rsvp-public #forgot-code { scroll-margin-top:60px; padding:45px 20px; }
body.rsvp-public #endre-rsvp > .section-inner,
body.rsvp-public #forgot-code > .section-inner {
  max-width:760px; padding:clamp(28px,5vw,60px); margin:auto;
  border:1px solid rgba(167,137,91,.13); border-radius:3px;
  background:#fffcf5 url('../../../invitasjon/assets/paper-texture-soft.png') center/620px auto;
  box-shadow:0 12px 35px rgba(70,51,28,.07);
}
body.rsvp-public #endre-rsvp .section-number { text-align:center; color:#a18459; }
body.rsvp-public #endre-rsvp .tittel,
body.rsvp-public #forgot-code .tittel { text-align:center; font:400 clamp(32px,5vw,48px)/1.15 Georgia,serif; letter-spacing:-.03em; }
body.rsvp-public #endre-rsvp .rsvp-context-note,
body.rsvp-public #forgot-code .rsvp-context-note { background:none; padding:0; border:0; text-align:center; box-shadow:none; }
body.rsvp-public #endre-rsvp .rsvp-context-note > span { display:none; }
body.rsvp-public #endre-rsvp p,
body.rsvp-public #forgot-code p { font-family:Georgia,serif; color:#77634c; }
body.rsvp-public #endre-rsvp .rsvp-form-group,
body.rsvp-public #forgot-code .rsvp-form-group { padding:0; background:none; border:0; box-shadow:none; }
body.rsvp-public #endre-rsvp .rsvp-form-group { text-align:center; }
body.rsvp-public #endre-rsvp .course-label { border:0; font:italic 18px/1.5 Georgia,serif; text-transform:none; letter-spacing:0; }
body.rsvp-public #endre-rsvp input,
body.rsvp-public #forgot-code input:not([type=hidden]) { background:rgba(255,253,249,.5); border:1px solid rgba(167,137,91,.35); border-radius:3px; box-shadow:none; color:#59452e; font-family:Georgia,serif; }
body.rsvp-public #endre-rsvp input { text-align:center; letter-spacing:.12em; }
body.rsvp-public #endre-rsvp .rsvp-inline-note { background:none; border:0; padding:12px 0 0; }
body.rsvp-public #endre-rsvp .rsvp-inline-note a { color:#876d4b; text-underline-offset:4px; }
@media(prefers-reduced-motion:no-preference) { html:has(body.rsvp-public) { scroll-behavior:smooth; } }
body.rsvp-public #endre-rsvp > .section-inner,
body.rsvp-public #forgot-code > .section-inner {
  background:linear-gradient(rgba(255,252,244,.82),rgba(255,252,244,.82)),url('../img/rsvp-letter-fiber.png') center top/460px 460px repeat;
}
body.rsvp-public #endre-rsvp .rsvp-context-note::before,
body.rsvp-public #endre-rsvp .rsvp-form-group::before,
body.rsvp-public #endre-rsvp .course-label::after,
body.rsvp-public #forgot-code .rsvp-context-note::before,
body.rsvp-public #forgot-code .rsvp-form-group::before { content:none; }
body.rsvp-public #endre-rsvp .notice-footnote { border:0; }
/* v228: separate invitation access and first-answer letter. */
body.rsvp-public .rsvp-invitation-code-form { display:grid; gap:14px; max-width:480px; margin:32px auto; }
body.rsvp-public .rsvp-invitation-code-form label { font:400 17px/1.5 Georgia,serif; color:#77634c; }
body.rsvp-public .rsvp-invitation-code-form input {
  box-sizing:border-box; width:100%; min-height:54px; padding:12px 16px;
  border:1px solid rgba(167,137,91,.4); border-radius:3px; box-shadow:none;
  background:rgba(255,253,249,.5); color:#59452e; font:18px/1.5 Georgia,serif;
}
body.rsvp-public .rsvp-invitation-code-form #invitation-code { text-align:center; letter-spacing:.14em; }
body.rsvp-public .rsvp-invitation-code-form .rsvp-letter-action { justify-self:center; margin-top:12px; }
body.rsvp-public .rsvp-code-recovery { max-width:480px; margin:20px auto; color:#77634c; font:16px/1.7 Georgia,serif; }
body.rsvp-public .rsvp-code-recovery summary { cursor:pointer; text-align:center; text-decoration:underline; text-underline-offset:5px; padding:12px; }
body.rsvp-public .rsvp-invitation-access-note { text-align:center; font:italic 14px/1.7 Georgia,serif; color:#89775f; margin:32px auto; max-width:440px; }
/* v229: quiet copyright, anchored to the viewport on public pages. */
body.rsvp-public > .site-footer,
body.full-site-mode > .site-footer {
  position:fixed; inset:auto 0 0; z-index:40; width:100%; margin:0;
  padding:0; border:0; background:transparent; box-shadow:none;
  backdrop-filter:none; -webkit-backdrop-filter:none; pointer-events:none;
}
body.rsvp-public > .site-footer::before,
body.rsvp-public > .site-footer::after,
body.full-site-mode > .site-footer::before,
body.full-site-mode > .site-footer::after { content:none; }
body.rsvp-public > .site-footer .site-footer-inner,
body.full-site-mode > .site-footer .site-footer-inner {
  width:100%; box-sizing:border-box; padding:10px 18px calc(10px + env(safe-area-inset-bottom));
  display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:5px 18px;
  margin:0; font:11px/1.5 var(--font-sans,sans-serif); letter-spacing:.02em; color:#887d70;
}
body.rsvp-public > .site-footer a,
body.full-site-mode > .site-footer a { pointer-events:auto; font-size:inherit; }
body.rsvp-public main,
body.full-site-mode main { padding-bottom:calc(64px + env(safe-area-inset-bottom)); }
body.rsvp-public .rsvp-preview-note { text-align:center; font:italic 14px/1.6 Georgia,serif; color:#92754e; margin:20px 0; }
body.rsvp-public #new-rsvp .rsvp-paper-submit:disabled { cursor:default; opacity:.55; }
@media(max-width:600px) {
  body.rsvp-public > .site-footer .site-footer-inner,
  body.full-site-mode > .site-footer .site-footer-inner { font-size:9px; padding-left:10px; padding-right:10px; }
}
/* v230: a dedicated admin toolbar, separate from the letter. */
body.rsvp-public { --guest-header-height:0px; }
body.rsvp-public.has-rsvp-admin-bar { --rsvp-admin-utility-height:54px; }
:is(body.rsvp-public,body.full-site-mode,body.save-date-mode) .rsvp-admin-toolbar {
  position:fixed; inset:0 0 auto; z-index:1200; width:100%; height:auto !important;
  min-height:54px; padding:0 !important; overflow:visible !important;
  background:#25231f; border:0; box-shadow:0 3px 12px rgba(30,25,20,.08); color:#f7f1e7;
}
:is(body.rsvp-public,body.full-site-mode,body.save-date-mode) .rsvp-admin-toolbar-inner {
  display:grid; grid-template-columns:minmax(130px,1fr) auto minmax(130px,1fr);
  gap:20px; align-items:center; width:calc(100% - 40px); max-width:1700px; min-height:54px; margin:auto;
}
.rsvp-admin-identity { display:flex; align-items:center; gap:10px; min-width:0; font:12px/1.4 var(--font-sans,sans-serif); }
.rsvp-admin-identity strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rsvp-admin-identity span { color:#cab28e; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.rsvp-admin-views { display:flex; align-items:center; gap:3px; border:1px solid #575046; padding:3px; border-radius:24px; }
.rsvp-admin-views a { display:block; padding:7px 13px; border-radius:20px; white-space:nowrap; color:#d1c8bc; font:12px/1.3 var(--font-sans,sans-serif); text-decoration:none; }
.rsvp-admin-views a[aria-current=page] { background:#f7f1e7; color:#302920; }
.rsvp-admin-views a:hover { color:#fff; background:#484037; }
.rsvp-admin-views a[aria-current=page]:hover { background:#fffaf1; color:#302920; }
.rsvp-admin-desktop-actions { justify-self:end; }
.rsvp-admin-links { display:flex; align-items:center; gap:15px; }
.rsvp-admin-links a { color:#ded7ce; font:10px/1.4 var(--font-sans,sans-serif); text-decoration:none; white-space:nowrap; }
.rsvp-admin-links a:hover { color:#fff; }
.rsvp-admin-toolbar a:focus-visible,.rsvp-admin-toolbar summary:focus-visible { outline:2px solid #d0b480; outline-offset:3px; }
.rsvp-admin-mobile-menu { display:none; }
@media(max-width:1280px) {
  :is(body.rsvp-public,body.full-site-mode,body.save-date-mode) .rsvp-admin-toolbar-inner { grid-template-columns:1fr auto; min-height:54px; width:calc(100% - 32px); }
  .rsvp-admin-desktop-actions,.rsvp-admin-desktop-views { display:none; }
  .rsvp-admin-mobile-menu { display:block; position:relative; }
  .rsvp-admin-mobile-menu summary { display:flex; gap:10px; align-items:center; min-height:44px; padding:0 6px; cursor:pointer; list-style:none; font:12px/1.3 var(--font-sans,sans-serif); color:#f7f1e7; }
  .rsvp-admin-mobile-menu summary::-webkit-details-marker { display:none; }
  .rsvp-menu-icon { display:grid; gap:4px; width:19px; }
  .rsvp-menu-icon i { display:block; height:1px; background:currentColor; }
  .rsvp-admin-mobile-panel { position:absolute; right:0; top:calc(100% + 6px); width:min(340px,calc(100vw - 32px)); box-sizing:border-box; max-height:calc(100dvh - 78px); overflow-y:auto; padding:20px; background:#292620; border:1px solid #534a3d; border-radius:12px; box-shadow:0 14px 35px rgba(0,0,0,.2); }
  .rsvp-admin-mobile-panel > p { color:#c9b28c; font:10px/1.5 var(--font-sans,sans-serif); text-transform:uppercase; letter-spacing:.12em; margin:0 0 12px; }
  .rsvp-admin-mobile-panel .rsvp-admin-views { flex-direction:column; align-items:stretch; border-radius:14px; }
  .rsvp-admin-mobile-panel .rsvp-admin-views a { padding:12px; font-size:13px; border-radius:10px; }
  .rsvp-admin-mobile-panel hr { border:0; border-top:1px solid #51483d; margin:18px 0 10px; }
  .rsvp-admin-mobile-panel .rsvp-admin-links { display:grid; gap:0; }
  .rsvp-admin-mobile-panel .rsvp-admin-links a { display:block; padding:12px 4px; font-size:13px; }
}
/* v231: identical letter metrics for answering, code entry and editing. */
body.rsvp-public { box-sizing:border-box; min-height:100svh; }
body.rsvp-public .rsvp-main { flex:0 0 auto; min-height:0; margin:0; padding-top:0; padding-bottom:40px; }
body.rsvp-public #new-rsvp { min-height:0; padding-bottom:24px; }
body.rsvp-public #new-rsvp > .rsvp-invitation-letter { box-sizing:border-box; margin-top:0; margin-bottom:0; }
body.rsvp-public #new-rsvp .rsvp-title-stack { margin:0 0 30px; text-align:center; }
body.rsvp-public #new-rsvp .rsvp-title-stack h1,
body.rsvp-public #new-rsvp .rsvp-title-stack h2 {
  margin:18px 0 24px; font:400 clamp(32px,5vw,48px)/1.15 Georgia,'Times New Roman',serif;
  letter-spacing:-.03em; color:#594f47; text-transform:none;
}
body.rsvp-public #new-rsvp .rsvp-title-stack .section-number { margin:24px 0 0; }
body.rsvp-public #new-rsvp .rsvp-title-stack .rsvp-letter-date { margin:0; }
body.rsvp-public #new-rsvp .rsvp-paper-choices input:disabled + label { cursor:default; }
body.rsvp-public #new-rsvp .rsvp-paper-choices input:disabled:not(:checked) + label { opacity:.45; }
/* Header spacing must not depend on whether a page happens to contain navigation. */
body.rsvp-public:has(.rsvp-invitation-surround) #new-rsvp { padding-top:32px; padding-bottom:16px; }
body.rsvp-public #new-rsvp > .rsvp-invitation-letter { padding:clamp(28px,4vw,48px); }
@media(max-width:1280px) {
  body.rsvp-public:has(.rsvp-invitation-surround) #new-rsvp { padding-top:142px; }
}
body.rsvp-public:has(.rsvp-invitation-surround) #new-rsvp { padding-bottom:8px; }
/* v232: preview label overlays the corner without changing letter spacing. */
body.rsvp-public #new-rsvp > .rsvp-invitation-letter > .rsvp-preview-ribbon {
  position:absolute; top:0; right:0; z-index:3; display:block;
  margin:0; padding:8px 14px 8px 19px; border:0; border-radius:0 3px 0 3px;
  background:rgba(224,209,184,.58); color:#826a48;
  font:500 10px/1.4 Arial,Helvetica,sans-serif; letter-spacing:.07em;
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%,6px 50%);
  pointer-events:none;
}
@media(max-width:600px) {
  body.rsvp-public #new-rsvp > .rsvp-invitation-letter > .rsvp-preview-ribbon { font-size:9px; padding:6px 10px 6px 15px; }
}

/* v233: one quiet, letter-like introduction across all RSVP views. */
body.rsvp-public #new-rsvp .rsvp-letter-intro,
body.rsvp-public #new-rsvp .rsvp-toggle-legend .rsvp-letter-intro {
  display:block;
  max-width:42ch;
  margin:0 auto 16px !important;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(17px,1.3vw,19px) !important;
  font-style:italic;
  font-weight:400 !important;
  line-height:1.65 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-align:center;
  text-wrap:pretty;
  color:#786650 !important;
}

/* v234: invitation reference reads as a centered detail on the letter. */
body.rsvp-public #new-rsvp .rsvp-reference-code {
  display:flex; flex-direction:column; align-items:center; gap:7px;
  margin:24px auto 32px; padding:0; text-align:center;
}
body.rsvp-public #new-rsvp .rsvp-reference-code > span {
  font:400 11px/1.5 Georgia,'Times New Roman',serif;
  letter-spacing:.12em; text-transform:uppercase; color:#8a7559;
}
body.rsvp-public #new-rsvp .rsvp-reference-code > code {
  padding:0; border:0; background:transparent; box-shadow:none;
  font:400 18px/1.5 Georgia,'Times New Roman',serif;
  letter-spacing:.08em; color:#67543e;
}

/* v235: a quiet, readable deadline note on the letter. */
body.rsvp-public #new-rsvp .rsvp-lock-note {
  max-width:52ch; margin:24px auto; padding:12px 0; border:0;
  background:none; box-shadow:none; text-align:center; color:#786650;
}
body.rsvp-public #new-rsvp .rsvp-lock-note::before { content:none; }
body.rsvp-public #new-rsvp .rsvp-lock-note > span { display:block; font:italic 18px/1.5 Georgia,serif; color:#795b3b; }
body.rsvp-public #new-rsvp .rsvp-lock-note p { font:400 14px/1.65 Georgia,serif; margin:10px 0 0; }
body.rsvp-public #new-rsvp .rsvp-paper-choices input:disabled + label {
  cursor:default; opacity:.65; transform:none; box-shadow:none;
}
body.rsvp-public #new-rsvp .rsvp-paper-choices input:disabled:checked + label { opacity:1; }
body.rsvp-public #new-rsvp input[readonly] { color:#89775f; background:transparent; cursor:default; }
body.save-date-mode.has-admin-preview { padding-top:54px; --guest-admin-height:54px; }
body.save-date-mode.has-admin-preview > .site-header { top:54px; }

/* v236: editing ends with a single, naturally sized save action. */
body.rsvp-public #new-rsvp .rsvp-letter-signoff.rsvp-edit-actions {
  display:flex; justify-content:center; margin-top:32px; gap:0;
}
body.rsvp-public #new-rsvp .rsvp-edit-actions .rsvp-paper-submit {
  width:auto; max-width:100%; margin:0; white-space:nowrap;
  padding:20px clamp(14px,4vw,28px); gap:12px;
}

/* v238: centered name headings and a brief deadline beside the wedding choice. */
body.rsvp-public #new-rsvp .rsvp-form-group > .rsvp-name-heading { text-align:center; }
body.rsvp-public #new-rsvp .rsvp-edit-deadline {
  max-width:48ch; margin:18px auto 0; padding:0; text-align:center;
  font:italic 14px/1.65 Georgia,'Times New Roman',serif; color:#89775f;
}

/* v239: identical introduction position on all three RSVP letters. */
body.rsvp-public #new-rsvp .rsvp-form-group > .rsvp-name-heading { text-align:left; }
body.rsvp-public #new-rsvp > .rsvp-invitation-letter > .rsvp-letter-message {
  margin:30px auto; width:100%; max-width:540px;
}
body.rsvp-public #new-rsvp > .rsvp-invitation-letter > .rsvp-letter-message .rsvp-letter-intro { margin:0 auto !important; }
body.rsvp-public #new-rsvp .rsvp-invited-names { text-align:center; }
body.rsvp-public #new-rsvp .rsvp-visually-hidden {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
}
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-title-stack h1 { min-height:2.3em; display:flex; align-items:center; justify-content:center; }
}

/* v240: stationery stays at the viewport edges while the letter scrolls. */
body.rsvp-public .rsvp-surround-flower-top {
  position:fixed; top:calc(var(--guest-admin-height,0px) - 12px);
}
body.rsvp-public .rsvp-surround-flower-bottom {
  bottom:calc(var(--guest-footer-clearance,0px) + 8px);
}
@media(min-width:1281px) {
  body.rsvp-public .rsvp-surround-brand {
    position:fixed; top:calc(var(--guest-admin-height,0px) + clamp(245px,28vw,420px) / 2 + 16px);
  }
}
body.full-site-mode .guest-flowers-front {
  position:fixed; top:var(--guest-flower-top,100vh) !important; left:-64px !important;
  width:clamp(245px,28vw,420px);
  background-image:url('../img/rsvp-letter-flowers.png'); opacity:.88;
}
body.full-site-mode .guest-flowers-bottom {
  position:fixed; right:-1.7rem; bottom:calc(var(--guest-footer-clearance,0px) + 8px);
  width:clamp(245px,28vw,420px); aspect-ratio:1; transform:scale(-1);
  background:url('../img/rsvp-letter-flowers.png') center / contain no-repeat;
  opacity:0; pointer-events:none; transition:opacity 220ms ease;
}
body.full-site-mode.guest-past-hero .guest-flowers-bottom { opacity:.48; }
@media(max-width:1280px) {
  body.full-site-mode .guest-flowers-front { width:190px; left:-34px !important; }
  body.full-site-mode .guest-flowers-bottom,
  body.rsvp-public .rsvp-surround-flower-bottom { width:190px; }
}
@media(max-width:600px) {
  body.full-site-mode .guest-flowers-front,
  body.rsvp-public .rsvp-surround-flower-top { width:124px; left:-34px !important; clip-path:inset(0 45% 0 0); }
  body.full-site-mode .guest-flowers-bottom,
  body.rsvp-public .rsvp-surround-flower-bottom { width:124px; right:-34px; clip-path:inset(0 45% 0 0); opacity:.38; }
  body.full-site-mode:not(.guest-past-hero) .guest-flowers-bottom { opacity:0; }
}
@media(prefers-reduced-motion:reduce) {
  body.full-site-mode .guest-flowers-bottom { transition:none; }
}
/* Keep the visible petals within the side gutters on narrower screens. */
@media(min-width:601px) and (max-width:1280px) {
  body.full-site-mode .guest-flowers-front,
  body.full-site-mode .guest-flowers-bottom { clip-path:inset(0 70% 0 0); }
}
@media(max-width:600px) {
  body.full-site-mode .guest-flowers-front,
  body.rsvp-public .rsvp-surround-flower-top { left:-50px !important; }
  body.full-site-mode .guest-flowers-bottom,
  body.rsvp-public .rsvp-surround-flower-bottom { right:-50px; }
}

/* v242: anchor the actual artwork, not the empty space in its square box. */
body.rsvp-public .rsvp-surround-flower,
body.full-site-mode .guest-flowers-front,
body.full-site-mode .guest-flowers-bottom {
  background-position:left top; background-size:100% auto;
}
body.rsvp-public .rsvp-surround-flower-top { top:var(--guest-admin-height,0px); }
body.rsvp-public .rsvp-surround-flower-bottom,
body.full-site-mode .guest-flowers-bottom { bottom:0; }
@media(min-width:1281px) {
  body.rsvp-public .rsvp-surround-flower-top,
  body.full-site-mode .guest-flowers-front { left:0 !important; }
  body.rsvp-public .rsvp-surround-flower-bottom,
  body.full-site-mode .guest-flowers-bottom { right:0; }
  body.rsvp-public .rsvp-surround-brand {
    top:calc(var(--guest-admin-height,0px) + clamp(245px,28vw,420px) * .38);
    left:clamp(96px,7vw,120px); transform:none;
  }
}

/* v243: give the upper-left bouquet more room around the branding. */
body.rsvp-public .rsvp-surround-flower-top,
body.full-site-mode .guest-flowers-front { width:clamp(205px,23vw,350px); }
@media(max-width:1280px) {
  body.rsvp-public .rsvp-surround-flower-top,
  body.full-site-mode .guest-flowers-front { width:160px; }
}
@media(max-width:600px) {
  body.rsvp-public .rsvp-surround-flower-top,
  body.full-site-mode .guest-flowers-front { width:108px; left:-42px !important; }
}

/* v244: tuck the desktop title beside the smaller corner bouquet. */
@media(min-width:1281px) {
  body.rsvp-public .rsvp-surround-brand {
    top:calc(var(--guest-admin-height,0px) + clamp(205px,23vw,350px) * .38);
    left:clamp(116px,8.5vw,144px);
  }
}

/* v250: mobile decoration belongs to the page heading, not a clipped fixed strip. */
@media(max-width:600px) {
  body.rsvp-public .rsvp-surround-flower-top {
    position:absolute; top:0; left:0 !important; width:108px;
    clip-path:none; opacity:.88;
  }
  body.rsvp-public .rsvp-surround-flower-bottom { display:none; }
  body.full-site-mode .guest-flowers-front {
    position:absolute; top:var(--guest-mobile-flower-top,100svh) !important;
    left:0 !important; width:90px; clip-path:none;
  }
  body.full-site-mode .guest-flowers-bottom {
    width:72px; right:0; bottom:calc(var(--guest-mobile-footer-height,36px) + 6px);
    clip-path:none; opacity:0;
  }
  body.full-site-mode.guest-past-hero .guest-flowers-bottom { opacity:.38; }
}

/* v251: reveal the mobile wedding flowers only at the header's hero transition. */
@media(max-width:600px) {
  body.full-site-mode .guest-flowers-front {
    opacity:0; transition:opacity 220ms ease;
  }
  body.full-site-mode.guest-past-hero .guest-flowers-front { opacity:.88; }
}
@media(max-width:600px) and (prefers-reduced-motion:reduce) {
  body.full-site-mode .guest-flowers-front { transition:none; }
}
@media(max-width:1280px) {
 .rsvp-admin-mobile-menu summary { width:44px; min-height:44px; justify-content:center; padding:0; }
}
/* v255: the recovery link stays plain; only its revealed content gets paper. */
body.rsvp-public #new-rsvp .rsvp-recovery-paper {
  position:relative; isolation:isolate; margin:12px 0 6px;
  padding:44px 28px 44px; text-align:center;
}
body.rsvp-public #new-rsvp .rsvp-recovery-paper::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:url('../img/rsvp-paper-slip-v204.png') center / 100% 125% no-repeat;
  opacity:.42; pointer-events:none;
}
body.rsvp-public #new-rsvp .rsvp-recovery-paper > p { margin:0 0 18px; text-wrap:pretty; }
body.rsvp-public #new-rsvp .rsvp-recovery-paper .rsvp-invitation-code-form { margin-bottom:0; }
@media(max-width:600px) {
  body.rsvp-public #new-rsvp .rsvp-recovery-paper { padding:40px 16px 40px; }
}
/* v256: full-width enclosure with writing directly on the paper. */
body.rsvp-public #new-rsvp .rsvp-code-recovery { max-width:none; width:100%; }
body.rsvp-public #new-rsvp .rsvp-recovery-paper > p { max-width:540px; margin-inline:auto; }
body.rsvp-public #new-rsvp .rsvp-recovery-paper input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]) {
  background:url('../img/rsvp-ink-line-v205.svg') center bottom / 100% 5px no-repeat; box-shadow:none;
}
body.rsvp-public #new-rsvp .rsvp-recovery-paper .rsvp-invitation-code-form > p {
  margin:2px 0 0; color:#89775f; font:italic 13px/1.6 Georgia,serif;
}
body.rsvp-public #new-rsvp .rsvp-recovery-paper .rsvp-invitation-code-form label,
body.rsvp-public #new-rsvp .rsvp-recovery-paper .rsvp-invitation-code-form input {
  text-align:left;
}
/* v261: compact shared admin utility bar and identity capsules. */
body.rsvp-public.has-rsvp-admin-bar { --rsvp-admin-utility-height:38px; }
:is(body.rsvp-public,body.full-site-mode,body.save-date-mode) .rsvp-admin-toolbar,
:is(body.rsvp-public,body.full-site-mode,body.save-date-mode) .rsvp-admin-toolbar-inner { min-height:38px; }
.rsvp-admin-desktop-views .rsvp-admin-views { padding:2px; }
.rsvp-admin-desktop-views .rsvp-admin-views a { padding:4px 11px; font-size:11px; }
.rsvp-admin-identity { width:fit-content; max-width:100%; gap:8px; padding:3px 9px; border:1px solid rgba(205,179,138,.24); border-radius:999px; background:rgba(255,255,255,.035); }
.rsvp-admin-identity strong { font-weight:600; }
.rsvp-admin-identity span { padding:2px 6px; border-radius:999px; background:rgba(205,179,138,.1); font-size:8px; letter-spacing:.09em; }
.rsvp-admin-publication span { border:1px solid rgba(205,179,138,.22); }
body.save-date-mode.has-admin-preview { padding-top:38px; --guest-admin-height:38px; }
body.save-date-mode.has-admin-preview > .site-header { top:38px; }
@media(max-width:1280px) {
 :is(body.rsvp-public,body.full-site-mode,body.save-date-mode) .rsvp-admin-toolbar,
 :is(body.rsvp-public,body.full-site-mode,body.save-date-mode) .rsvp-admin-toolbar-inner { min-height:44px; }
 body.rsvp-public.has-rsvp-admin-bar { --rsvp-admin-utility-height:44px; }
 body.save-date-mode.has-admin-preview { padding-top:44px; --guest-admin-height:44px; }
 body.save-date-mode.has-admin-preview > .site-header { top:44px; }
}
/* v271: restore section layout and keep hero stable as mobile browser bars retract. */
@media(max-width:780px) {
 body.full-site-mode main > #home.hero {
  min-height:calc(100vh - var(--guest-admin-height,0px));
  min-height:calc(100lvh - var(--guest-admin-height,0px));
 }
}
/* v273: native mobile hero scrolling; retain only the introductory opacity fade. */
@media(max-width:780px) {
 body.full-site-mode #home.hero { --hero-shift:0px; }
 body.full-site-mode #home .hero-copy.reveal {
  transition:opacity 600ms ease;
 }
}
/* v277: admin tools occupy part of the save-date viewport, not extra page height. */
body.save-date-mode.has-admin-preview {
 box-sizing:border-box;
 min-height:100svh;
 padding-top:var(--guest-admin-height,38px);
 overflow-y:auto;
}
body.save-date-mode.has-admin-preview > .site-header {
 top:var(--guest-admin-height,38px);
}
body.save-date-mode.has-admin-preview #home.hero {
 box-sizing:border-box;
 height:auto;
 min-height:calc(100vh - var(--guest-admin-height,38px));
 min-height:calc(100svh - var(--guest-admin-height,38px));
}
/* v275: mobile flowers belong to selected headings, not the viewport corners. */
@media(max-width:780px) {
 body.full-site-mode .guest-flowers-front,
 body.full-site-mode .guest-flowers-bottom { display:none; }
 body.full-site-mode main {
  background-image:none,
    linear-gradient(180deg,rgba(255,255,255,.8),rgba(251,248,243,.86)),
    url("../../../invitasjon/assets/paper-texture-soft.png");
 }
 body.full-site-mode .wedding-floral-heading {
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(52px,18vw,72px);
  column-gap:12px;
  width:100%;
  align-items:center;
 }
 body.full-site-mode .wedding-floral-heading > .section-number,
 body.full-site-mode .wedding-floral-heading > .tittel { grid-column:1; }
 body.full-site-mode .wedding-floral-heading::after {
  content:"";
  grid-column:2;
  grid-row:1 / span 2;
  width:100%;
  aspect-ratio:1;
  background:url('../img/rsvp-letter-flowers.png') left top / contain no-repeat;
  transform:scaleX(-1);
  opacity:.78;
  pointer-events:none;
 }
}
@media(max-width:780px) and (prefers-reduced-motion:reduce) {
 body.full-site-mode #home .hero-copy.reveal { transition:none; }
 body.full-site-mode #home.hero::before {
  animation:none !important;
  opacity:1;
 }
 body.full-site-mode #home .date { animation:none; }
}

/* v279: guest preview tools share the admin panel's utility-bar styling. */
:is(body.rsvp-public,body.full-site-mode,body.save-date-mode) .rsvp-admin-toolbar {
 font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 background:linear-gradient(180deg,rgba(44,41,37,.985),rgba(31,29,26,.985));
 color:rgba(255,253,249,.82);
 box-shadow:inset 0 -1px rgba(205,179,138,.13),0 3px 12px rgba(20,18,16,.06);
 text-shadow:none;
}
.rsvp-admin-toolbar .rsvp-admin-identity {
 align-items:center; line-height:1; font-family:inherit;
}
.rsvp-admin-toolbar .rsvp-admin-identity strong {
 color:rgba(255,253,249,.96);
 font-family:inherit; font-size:12px; font-weight:600; line-height:1.4;
 letter-spacing:normal; text-transform:none;
}
.rsvp-admin-toolbar .rsvp-admin-identity > span {
 display:inline-flex; align-items:center; flex:0 0 auto; gap:6px;
 color:#cab28e; font-family:inherit; font-size:8px; font-weight:750;
 line-height:1.4; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap;
}
.rsvp-admin-toolbar .rsvp-admin-identity > span::before {
 content:""; width:3px; height:3px; border-radius:50%; background:rgba(205,179,138,.62);
}
.rsvp-admin-toolbar .rsvp-admin-publication { border-color:rgba(205,179,138,.34); }
.rsvp-admin-toolbar .rsvp-admin-links { gap:1.18rem; }
.rsvp-admin-toolbar .rsvp-admin-links a {
 display:inline-flex; align-items:center; gap:.32rem;
 color:rgba(255,253,249,.72); font-family:inherit;
 font-size:.56rem; font-weight:740; letter-spacing:.105em; line-height:1;
 text-transform:uppercase; text-decoration:none; white-space:nowrap;
 transition:color 160ms ease;
}
.rsvp-admin-toolbar .rsvp-admin-links a:hover { color:rgba(255,253,249,.98); }
.rsvp-admin-toolbar .rsvp-admin-arrow {
 flex:0 0 auto; width:.62rem; height:.62rem;
 fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round;
 color:rgba(217,194,157,.76); transition:color 160ms ease,transform 160ms ease;
}
.rsvp-admin-toolbar a:hover .rsvp-admin-arrow { color:rgba(231,211,177,.98); transform:translate(1px,-1px); }
.rsvp-admin-toolbar .rsvp-admin-links .rsvp-admin-logout {
 border-left:1px solid rgba(205,179,138,.28); padding-left:1.18rem; color:rgba(255,253,249,.82);
}
.rsvp-admin-toolbar .rsvp-admin-views {
 border-color:rgba(205,179,138,.24); background:rgba(255,255,255,.035);
}
.rsvp-admin-toolbar .rsvp-admin-views a {
 font-family:inherit; font-size:.56rem; font-weight:740; line-height:1;
 letter-spacing:.105em; text-transform:uppercase; color:rgba(255,253,249,.72);
}
.rsvp-admin-toolbar .rsvp-admin-views a[aria-current=page] {
 background:#fffdf9; color:#1f1d1a; box-shadow:0 1px 4px rgba(0,0,0,.12);
}
.rsvp-admin-toolbar .rsvp-admin-views a:hover { color:#fffdf9; background:rgba(205,179,138,.12); }
.rsvp-admin-toolbar .rsvp-admin-views a[aria-current=page]:hover { background:#fffdf9; color:#1f1d1a; }
@media(max-width:1280px) {
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel {
  color:#1f1d1a; background:linear-gradient(135deg,#f7f3eb,#fffdf9 65%);
  border-color:rgba(205,179,138,.3); box-shadow:0 14px 35px rgba(31,29,26,.14);
  text-shadow:none;
 }
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel > p {
  color:#a88f68; font-family:inherit; font-size:10px; font-weight:750; letter-spacing:.16em;
 }
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel .rsvp-admin-views { background:rgba(205,179,138,.06); }
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel .rsvp-admin-views a {
  padding:12px; min-height:44px; box-sizing:border-box;
  font-size:.74rem; font-weight:780; letter-spacing:.135em; line-height:1.6; color:rgba(31,29,26,.68);
 }
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel .rsvp-admin-views a[aria-current=page] {
  color:#1f1d1a; background:#fffdf9; box-shadow:inset 3px 0 #cdb38a,0 1px 4px rgba(31,29,26,.06);
 }
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel .rsvp-admin-views a:hover { color:#1f1d1a; background:rgba(205,179,138,.15); }
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel hr { border-color:rgba(205,179,138,.22); }
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel .rsvp-admin-links { gap:0; }
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel .rsvp-admin-links a {
  display:flex; justify-content:space-between; min-height:44px; box-sizing:border-box;
  padding:12px 4px; color:rgba(31,29,26,.62); font-size:.5rem;
  border-bottom:1px solid rgba(205,179,138,.18);
 }
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel .rsvp-admin-links a:hover { color:#1f1d1a; }
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel .rsvp-admin-links a:last-child { border-bottom:0; }
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel .rsvp-admin-links .rsvp-admin-logout { border-left:0; }
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel .rsvp-admin-arrow { color:#a88f68; }
 .rsvp-admin-toolbar .rsvp-admin-mobile-panel a:focus-visible { outline-color:#a18459; }
}
@media(prefers-reduced-motion:reduce) {
 .rsvp-admin-toolbar .rsvp-admin-arrow,.rsvp-admin-toolbar .rsvp-admin-links a { transition:none; }
}
/* v281: a softer, roomier desktop preview selector within the existing toolbar. */
@media(min-width:1281px) {
 .rsvp-admin-toolbar .rsvp-admin-desktop-views .rsvp-admin-views {
  display:flex; align-items:center; gap:2px; padding:3px;
  border:1px solid rgba(205,179,138,.22); border-radius:999px;
  background:rgba(255,253,249,.025);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.12);
 }
 .rsvp-admin-toolbar .rsvp-admin-desktop-views .rsvp-admin-views a {
  display:flex; align-items:center; justify-content:center;
  box-sizing:border-box; padding:5px 13px;
  border:1px solid transparent; border-radius:999px;
  color:rgba(255,253,249,.62); background:transparent;
  transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease;
 }
 .rsvp-admin-toolbar .rsvp-admin-desktop-views .rsvp-admin-views a:hover {
  color:#fffdf9; background:rgba(205,179,138,.09);
 }
 .rsvp-admin-toolbar .rsvp-admin-desktop-views .rsvp-admin-views a[aria-current=page] {
  color:#352e24; background:linear-gradient(180deg,#f7eedf,#e7d7bc);
  border-color:rgba(255,253,249,.35);
  box-shadow:0 1px 3px rgba(0,0,0,.16);
 }
}
@media(prefers-reduced-motion:reduce) {
 .rsvp-admin-toolbar .rsvp-admin-desktop-views .rsvp-admin-views a { transition:none; }
}

/* v320: only the letter on small RSVP screens; the envelope scene is separate. */
@media (max-width:720px) {
  body.rsvp-public.rsvp-mobile-letter-only .rsvp-invitation-surround {
    display:none;
  }
  body.rsvp-public.rsvp-mobile-letter-only:has(.rsvp-invitation-surround) #new-rsvp {
    padding-top:16px;
  }
}
/* v323: tablet keeps its flowers, with no duplicate heading above the letter. */
@media (min-width:721px) and (max-width:1280px),
       (min-width:1281px) and (max-width:1399px) and (pointer:coarse) {
  body.rsvp-public.rsvp-mobile-letter-only .rsvp-surround-brand { display:none; }
  body.rsvp-public.rsvp-mobile-letter-only:has(.rsvp-invitation-surround) #new-rsvp {
    padding-top:24px;
  }
}
