/* OurMoment v2.21 — focused polish and print personalization layer */
.home-header221{justify-content:flex-start}.home-header-actions221{margin-left:auto;display:flex;align-items:center;gap:10px}
.dashboard-topbar>.theme-toggle-button{margin-left:auto}
/* Couple dashboard no longer needs a left-hand topbar slogan. */
.dashboard-topbar .mobile-brand21+.theme-toggle-button{margin-left:auto}
/* Calendar must remain readable in dark mode. */
:root[data-om-mode="dark"] .calendar-day{background:#272321!important;border-color:var(--line);color:var(--ink)}
:root[data-om-mode="dark"] .calendar-grid>b,:root[data-om-mode="dark"] .day-number{color:#f4eee8!important}
:root[data-om-mode="dark"] .event-chip{background:#5a3e42!important;color:#fff7f4!important}
/* Guest page appearance control: always fixed at the top-right of the hero. */
.wedding-hero{position:relative}.wedding-hero>.theme-toggle-button{position:absolute;top:14px;right:14px;z-index:30;margin:0!important;background:var(--paper);box-shadow:0 5px 20px #00000014}
.wedding-countdown221,.guest-countdown221 strong{font-variant-numeric:tabular-nums}.guest-countdown221{display:flex;justify-content:space-between;align-items:center;gap:20px}.guest-countdown221 strong{font:clamp(20px,2.5vw,32px) Georgia,serif;color:var(--rose-dark)}
/* Expanded guest-page typography. Generic stacks keep the page fast and self-contained. */
.font-elegant h1,.font-elegant h2,.font-elegant h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:.04em}
.font-handwritten h1,.font-handwritten h2,.font-handwritten h3{font-family:"Segoe Print","Bradley Hand",cursive;font-weight:400}
.font-editorial h1,.font-editorial h2,.font-editorial h3{font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-.045em;text-transform:uppercase}
.font-minimal h1,.font-minimal h2,.font-minimal h3{font-family:Arial,Helvetica,sans-serif;font-weight:300;letter-spacing:.08em}
.font-luxury h1,.font-luxury h2,.font-luxury h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:.1em;text-transform:uppercase}
.font-vintage h1,.font-vintage h2,.font-vintage h3{font-family:"Courier New",monospace;letter-spacing:.04em}
.font-soft h1,.font-soft h2,.font-soft h3{font-family:"Trebuchet MS",Arial,sans-serif;font-weight:400;letter-spacing:.02em}
/* Shared print personalization. */
.paper.paper21,.paper.table-card221,.paper.qr-card221{background-color:var(--print-bg,#fffaf7)!important;color:var(--print-text,#3e3532)!important;border-color:var(--print-accent,#c98f8c)!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.paper21 .eyebrow,.paper21 h2,.table-card221 h2,.qr-card221 h2,.qr-card221 .qr-couple221{color:var(--print-accent,#c98f8c)}
.print-font-serif{font-family:Georgia,"Times New Roman",serif}.print-font-modern{font-family:Arial,Helvetica,sans-serif}.print-font-handwritten{font-family:"Segoe Print","Bradley Hand",cursive}.print-font-editorial{font-family:Arial,Helvetica,sans-serif}.print-font-editorial h2{text-transform:uppercase;letter-spacing:-.03em;font-weight:900}.print-font-classic{font-family:"Times New Roman",serif}.print-font-soft{font-family:"Trebuchet MS",Arial,sans-serif}.print-font-luxe{font-family:Georgia,serif;letter-spacing:.035em}.print-font-typewriter{font-family:"Courier New",monospace}
.print-layout-centered{text-align:center}.print-layout-left{text-align:left}.print-layout-airy{padding:42px!important;line-height:1.85}.print-layout-compact{padding:20px!important;line-height:1.35}
.print-border-fine{border-width:1px!important;border-style:solid!important}.print-border-double{border:6px double var(--print-accent)!important}.print-border-none{border:0!important}.print-border-bold{border:5px solid var(--print-accent)!important}.print-border-corners{border:1px solid var(--print-accent)!important;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}.print-border-botanical{border:2px solid var(--print-accent)!important;box-shadow:inset 0 0 0 8px var(--print-bg),inset 0 0 0 9px var(--print-accent)!important}
.print-ornament221{font-size:30px;color:var(--print-accent);text-align:center;min-height:1em;letter-spacing:.18em;margin:0 0 10px}.print-ornament-none .print-ornament221{display:none}
.paper221-designs{grid-template-columns:repeat(5,minmax(0,1fr))}.print-personalize221>.grid{align-items:end}
/* Additional wedding presets. */
.paper.watercolor,.paper-design-watercolor,.guest-design-watercolor{border-radius:32px!important;background-image:radial-gradient(circle at 10% 10%,#edc9c755 0 18%,transparent 19%),radial-gradient(circle at 90% 90%,#b9cbb955 0 20%,transparent 21%)!important}
.paper.artdeco,.paper-design-artdeco,.guest-design-artdeco{border:4px double #b29350!important;border-radius:0!important;background-image:linear-gradient(135deg,transparent 47%,#b2935033 48% 52%,transparent 53%)!important}.paper.artdeco h2,.guest-design-artdeco h1{text-transform:uppercase;letter-spacing:.15em}
.paper.pearl,.paper-design-pearl,.guest-design-pearl{border-radius:28px!important;box-shadow:inset 0 0 45px #e8dfe288!important}.paper.pearl:after,.guest-design-pearl:after{content:"•  ◦  •";display:block;text-align:center;letter-spacing:.5em;opacity:.6}
.paper.terracotta,.paper-design-terracotta,.guest-design-terracotta{border-color:#b4654e!important;background-image:linear-gradient(160deg,#fff7ee,#f0d3bf)!important}.paper.terracotta h2,.guest-design-terracotta h1{color:#8f4c3a}
.paper.lavender,.paper-design-lavender,.guest-design-lavender{border-color:#9d8bad!important;background-image:linear-gradient(145deg,#fbf8ff,#e9e0f1)!important}.paper.lavender h2,.guest-design-lavender h1{color:#776681}
.paper.midnight,.paper-design-midnight,.guest-design-midnight{background:#172033!important;color:#f5ead0!important;border-color:#c9a65a!important}.paper.midnight h2,.guest-design-midnight h1,.paper.midnight .eyebrow{color:#e3c47f!important}
.paper.champagne,.paper-design-champagne,.guest-design-champagne{background-image:linear-gradient(135deg,#fffdf7,#f0e1bd)!important;border-color:#c5a45d!important;box-shadow:inset 0 0 0 4px #fffdf788,inset 0 0 0 5px #c5a45d!important}
.paper.coastal,.paper-design-coastal,.guest-design-coastal{border-color:#5f91a3!important;background-image:linear-gradient(#f8fdff,#e5f3f4)!important}.paper.coastal:after,.guest-design-coastal:after{content:"≈  ◇  ≈";display:block;text-align:center;color:#4d8091}
.paper.rustic,.paper-design-rustic,.guest-design-rustic{border:3px solid #80684d!important;background:#f4ead8!important;box-shadow:inset 0 0 0 5px #efe1ca,inset 0 0 0 6px #9a805e!important}.paper.rustic h2,.guest-design-rustic h1{font-family:Georgia,serif}
.paper.celestial,.paper-design-celestial,.guest-design-celestial{background-image:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 2px),radial-gradient(circle at 70% 30%,#d7b56b 0 1px,transparent 2px),linear-gradient(#24223a,#3a3151)!important;background-size:36px 36px,52px 52px,auto!important;color:#fff!important;border-color:#d2b46f!important}.paper.celestial h2,.guest-design-celestial h1{color:#f1d999!important}
.paper.garden,.paper-design-garden,.guest-design-garden{border:2px solid #79906d!important;background-image:linear-gradient(135deg,#fbfff8,#eef5e8)!important}.paper.garden:before,.guest-design-garden:before{content:"❧  ✿  ❧";display:block;text-align:center;color:#78906d;letter-spacing:.5em}
.paper.editorial,.paper-design-editorial,.guest-design-editorial{border:0!important;border-left:10px solid #222!important;border-radius:0!important;text-align:left!important}.paper.editorial h2,.guest-design-editorial h1{font-family:Arial,sans-serif;font-weight:900;font-size:clamp(34px,5vw,60px);letter-spacing:-.055em}
.paper.paper21,.paper.table-card221,.paper.qr-card221{background-color:var(--print-bg,#fffaf7)!important}
/* QR A5 card */
.qr-print221{display:grid;place-items:center}.qr-card221{width:148mm;min-height:210mm;padding:15mm 13mm;border-radius:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6mm;text-align:center;overflow:hidden}.qr-card221.print-layout-left{align-items:flex-start;text-align:left}.qr-card221 h2{font-size:26pt;margin:0}.qr-couple221{font-size:18pt;font-weight:700;margin:0}.qr-date221{font-size:12pt;letter-spacing:.08em;margin:0}.qr-code221{width:74mm;height:74mm;display:grid;place-items:center;background:#fff;padding:1.5mm;border-radius:2.5mm}.qr-code221 svg{width:100%;height:100%;display:block}.qr-card221>p:last-child{max-width:105mm;font-size:11pt;line-height:1.55;margin:0}
.table-card221{min-height:90mm;display:flex;flex-direction:column;align-items:center;justify-content:center}.table-card221.print-layout-left{align-items:flex-start}.table-card221 h2{margin:.25em 0}
/* Make table controls easier to use without hiding size changes in a modal. */
.seat21-tools [data-action="seat21-size"]{font-weight:700}
@media(max-width:800px){.paper221-designs{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-countdown221{align-items:flex-start;flex-direction:column}.home-header221{gap:10px}.home-header-actions221{gap:6px}.home-header-actions221 .btn{padding:10px 12px}.wedding-hero>.theme-toggle-button{top:8px;right:8px}.qr-card221{width:min(100%,148mm);min-height:auto;aspect-ratio:148/210;padding:9vw 7vw}}
@media print{.qr-print221{width:148mm;height:210mm}.qr-card221{width:148mm;height:210mm;min-height:210mm;margin:0}.qr-code221{break-inside:avoid}}
