/* One responsive layout for samples, saved invitations and editor previews.
   Theme colours and animation remain decorative; they do not set text widths. */
.vows-guest{--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif;font-size:17px;line-height:1.65;background:var(--paper);text-size-adjust:100%;-webkit-text-size-adjust:100%}
.vows-guest #main-content,.vows-guest #invitation-content{display:block;width:100%;max-width:none;min-width:0;margin:0;padding:0}
.vows-guest #invitation-content h1,.vows-guest #invitation-content h2,.vows-guest #invitation-content h3{font-stretch:normal;letter-spacing:normal;word-break:normal}
.vows-guest #invitation-content .v-invite-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;width:100%;max-width:none;height:auto;min-height:720px;min-height:calc(100svh - 80px);margin:0;padding:110px 40px 80px;border:0;outline:0;border-radius:0;box-shadow:none;background:var(--paper)}
.vows-guest #invitation-content .v-invite-hero-copy{position:relative;inset:auto;display:block;flex:none;width:100%;max-width:1100px;min-width:0;margin:0 auto;padding:0 20px;text-align:center;transform:none;clip-path:none;color:var(--theme-ink);text-shadow:none}
.vows-guest #invitation-content .v-invite-hero-copy h1{font:400 clamp(44px,5.3vw,80px)/1.2 var(--serif);width:100%;max-width:none;margin:26px 0;text-transform:none;text-wrap:balance;letter-spacing:0}
.vows-guest #invitation-content .v-invite-hero-copy h1>span{display:block;width:100%;max-width:none;min-width:0;overflow-wrap:anywhere}
.vows-guest #invitation-content .v-invite-hero-copy h1 i{display:block;font:italic .48em/1.4 var(--serif);margin:6px 0;color:var(--accent)}
.vows-guest #invitation-content .v-invite-hero-copy>.v-eyebrow{font:600 14px/1.6 var(--sans);letter-spacing:.14em;color:var(--theme-ink)}
.vows-guest #invitation-content .v-invite-date{font:400 clamp(21px,2.1vw,28px)/1.5 var(--serif);letter-spacing:0;margin:0 0 12px}
.vows-guest #invitation-content .v-hero-venue{font:400 17px/1.6 var(--sans);max-width:650px;margin:auto;overflow-wrap:anywhere}
.vows-guest #invitation-content .v-hero-rsvp{font:600 16px/1.5 var(--sans);padding:14px 24px;margin-top:26px;min-height:48px;border-radius:8px;box-shadow:none}
.vows-guest #invitation-content .v-cinematic.v-has-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;padding-inline:max(32px,calc((100% - 1240px)/2))}
.vows-guest #invitation-content .v-has-photo .v-invite-hero-copy{grid-column:1;grid-row:1;width:100%;max-width:none;padding:0;margin:0}
.vows-guest #invitation-content .v-has-photo .v-invite-hero-copy h1{font-size:clamp(40px,4.3vw,68px)}
.vows-guest #invitation-content .v-has-photo .v-hero-scenery{display:block;position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:auto;max-width:none;margin:0;opacity:1;z-index:1;overflow:hidden;border-radius:16px}
.vows-guest #invitation-content .v-has-photo .v-invite-cover{position:relative;inset:auto;width:100%;height:auto;max-height:650px;object-fit:contain;transform:none;filter:none}
.vows-guest #invitation-content .v-guest-nav{position:absolute;inset:0 0 auto;display:flex;justify-content:center;flex-wrap:wrap;gap:16px 28px;min-height:60px;padding:16px 20px;font:600 14px/1.5 var(--sans);background:none}
.vows-guest #invitation-content .v-guest-nav a,.vows-guest #invitation-content .v-guest-nav button{min-height:32px;display:inline-flex;align-items:center}
.vows-guest #invitation-content .v-guest-wrap{width:calc(100% - 80px);max-width:1120px;min-width:0;margin-inline:auto}
.vows-guest #invitation-content .v-invite-welcome{width:100%;max-width:none;margin:0;padding:64px 40px;border:0;border-radius:0;background:none;text-align:center}
.vows-guest #invitation-content .v-invite-welcome>p{width:100%;max-width:820px;margin:0 auto 24px;font:400 clamp(21px,2.4vw,30px)/1.65 var(--serif);color:var(--theme-ink)}
.vows-guest #invitation-content .v-family-hosts{font:500 17px/1.7 var(--sans);max-width:820px;margin:24px auto}
.vows-guest #invitation-content .v-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;max-width:620px;margin:24px auto 0;padding:24px 0;border-block:1px solid var(--theme-line)}
.vows-guest #invitation-content .v-countdown>div{min-width:0}.vows-guest #invitation-content .v-countdown strong{font:400 clamp(28px,3vw,42px)/1.3 var(--serif)}
.vows-guest #invitation-content .v-countdown span{font:500 13px/1.5 var(--sans);letter-spacing:0;overflow-wrap:anywhere}
.vows-guest #invitation-content .v-invite-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;padding:56px 0;border:0;background:none}
.vows-guest #invitation-content .v-invite-story>div{min-width:0}.vows-guest #invitation-content .v-invite-story h2{font:400 clamp(28px,3.2vw,44px)/1.25 var(--serif)}
.vows-guest #invitation-content .v-invite-story p{font:400 17px/1.8 var(--sans);margin-top:22px;overflow-wrap:anywhere}
.vows-guest #invitation-content .v-story-image{width:100%;max-width:none;min-height:0;height:auto;aspect-ratio:auto;margin:0;border:0;transform:none;border-radius:14px;overflow:hidden}
.vows-guest #invitation-content .v-story-image img{display:block;width:100%;height:auto;max-height:620px;padding:0;object-fit:contain;border:0;border-radius:0;transform:none}
.vows-guest #invitation-content .v-story-image>span{display:none}
.vows-guest #invitation-content .v-gallery-section{padding:40px 0}.vows-guest #invitation-content .v-gallery-section>.v-eyebrow{font:400 28px/1.4 var(--serif);letter-spacing:0;margin-bottom:24px}
.vows-guest #invitation-content .v-guest-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;border:0}
.vows-guest #invitation-content .v-guest-gallery>button,.vows-guest #invitation-content .v-guest-gallery>figure{min-width:0;width:100%;height:auto;margin:0;border:0;border-radius:12px;transform:none;overflow:hidden}
.vows-guest #invitation-content .v-guest-gallery img{width:100%;height:320px;max-height:none;object-fit:contain;background:color-mix(in srgb,var(--accent) 6%,var(--paper))}
.vows-guest #invitation-content .v-invite-events{padding:64px 0;text-align:start}
.vows-guest #invitation-content .v-invite-events>h2,.vows-guest #invitation-content .v-rsvp-section>h2{font:400 clamp(30px,3.5vw,46px)/1.25 var(--serif);text-align:center}
.vows-guest #invitation-content .v-event-timezone{font:400 15px/1.6 var(--sans);text-align:center;margin-top:16px;letter-spacing:0}
.vows-guest #invitation-content .v-event-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;max-width:none;margin:32px 0;padding:0;border:0;background:none}
.vows-guest #invitation-content .v-day-heading{grid-column:1/-1;margin:18px 0 0;padding:0;border:0;background:none;color:var(--theme-ink);font:600 18px/1.5 var(--sans);letter-spacing:0;text-align:start}
.vows-guest #invitation-content .v-event-timeline article{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:16px;width:100%;max-width:none;min-width:0;margin:0;padding:28px;border:1px solid var(--theme-line);border-radius:12px;background:color-mix(in srgb,var(--paper) 95%,var(--accent));transform:none;text-align:start}
.vows-guest #invitation-content .v-event-timeline article>div{grid-column:1/-1;grid-row:2;min-width:0;width:100%;padding:0}
.vows-guest #invitation-content .v-event-number{grid-column:1;grid-row:1;font:600 16px/1.4 var(--sans);color:var(--accent)}
.vows-guest #invitation-content .v-event-timeline article h3{font:400 28px/1.3 var(--serif);margin:10px 0;overflow-wrap:anywhere}
.vows-guest #invitation-content .v-event-timeline article p{font:400 17px/1.7 var(--sans);overflow-wrap:anywhere}
.vows-guest #invitation-content .v-event-timeline [data-event-date]{font:600 14px/1.6 var(--sans);letter-spacing:0}
.vows-guest #invitation-content .v-event-timeline .v-round-link{grid-column:2;grid-row:1;width:44px;height:44px;margin:0;justify-self:end}
.vows-guest #invitation-content .v-guest-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:32px 0;background:none}
.vows-guest #invitation-content .v-guest-details p{font:400 17px/1.8 var(--sans)}
.vows-guest #invitation-content .v-rsvp-section{width:100%;max-width:none;padding:64px 24px 88px;margin:40px 0 0;border:0;border-top:1px solid var(--theme-line);border-radius:0;background:color-mix(in srgb,var(--accent) 4%,var(--paper))}
.vows-guest #invitation-content .v-rsvp-form{width:100%;max-width:680px;padding:0;margin:28px auto 0}
.vows-guest #invitation-content .v-field{font:500 16px/1.6 var(--sans);margin-bottom:20px}
.vows-guest #invitation-content .v-field input,.vows-guest #invitation-content .v-field textarea,.vows-guest #invitation-content .v-field select{font:400 17px/1.5 var(--sans);width:100%;min-width:0;min-height:48px;border-radius:8px;padding:12px;border:1px solid var(--theme-line);background:var(--paper);color:var(--theme-ink)}
.vows-guest #invitation-content .v-rsvp-options label>span{font-size:15px;line-height:1.5;min-height:62px;padding:14px 12px 14px 36px}
.vows-guest #invitation-content .v-rsvp-events legend,.vows-guest #invitation-content .v-rsvp-events label{font-size:16px;line-height:1.6}
.vows-guest #invitation-content .v-fine{font-size:15px!important;line-height:1.75}
.vows-guest #invitation-content .v-invite-footer{padding:48px 24px 110px;background:none}.vows-guest #invitation-content .v-invite-footer h2{font:400 30px/1.4 var(--serif)}
.vows-guest .v-demo-bar{font:600 14px/1.5 var(--sans);padding:16px 24px;gap:16px;flex-wrap:wrap}
.vows-guest .v-invite-opening>h1{width:calc(100% - 48px);max-width:1100px;font:400 clamp(38px,5.5vw,78px)/1.25 var(--serif);letter-spacing:0;overflow-wrap:anywhere}
.vows-guest .v-invite-opening>p,.vows-guest .v-opening-prompt{font:600 14px/1.6 var(--sans);letter-spacing:.08em}
.vows-guest .v-fullpage-atmosphere{opacity:.35}.vows-guest #invitation-content .v-scene-layers{opacity:.4}
.vows-guest #invitation-content .v-scene-branch{width:150px;max-width:16vw}.vows-guest #invitation-content .v-scene-flower{width:70px}
.vows-guest #invitation-content .v-scene-architecture{opacity:.25}.vows-guest #invitation-content .v-scene-hanging{opacity:.3}
.vows-guest #invitation-content .v-invite-flourish{font-size:32px;margin-bottom:22px}
.vows-guest .v-demo-faq{width:calc(100% - 40px);max-width:960px;margin:48px auto 80px;padding:32px;border:1px solid var(--theme-line);border-radius:12px;color:var(--theme-ink)}
.vows-guest .v-demo-faq h2{font:600 28px/1.35 var(--sans);margin-bottom:28px;letter-spacing:0}.vows-guest .v-demo-faq h3{font:600 18px/1.5 var(--sans);margin:24px 0 8px;letter-spacing:0}.vows-guest .v-demo-faq p{font:400 16px/1.75 var(--sans)}.vows-guest .v-demo-faq .v-button{margin-top:28px;font-size:16px}
@media(max-width:900px){
 .vows-guest #invitation-content .v-cinematic.v-has-photo{display:flex;flex-direction:column;gap:32px;padding-inline:24px}
 .vows-guest #invitation-content .v-has-photo .v-invite-hero-copy{order:0}.vows-guest #invitation-content .v-has-photo .v-hero-scenery{order:1;max-width:640px}
 .vows-guest #invitation-content .v-invite-story{gap:28px}.vows-guest #invitation-content .v-guest-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .vows-guest #invitation-content .v-invite-hero{min-height:calc(100svh - 64px);padding:96px 20px 60px}
 .vows-guest #invitation-content .v-invite-hero-copy{width:100%;padding:0}
 .vows-guest #invitation-content .v-invite-hero-copy h1,.vows-guest #invitation-content .v-has-photo .v-invite-hero-copy h1{font-size:clamp(36px,10.5vw,58px);line-height:1.25}
 .vows-guest #invitation-content .v-guest-wrap{width:calc(100% - 40px)}
 .vows-guest #invitation-content .v-invite-welcome{padding:44px 20px}
 .vows-guest #invitation-content .v-countdown{gap:8px}.vows-guest #invitation-content .v-countdown span{font-size:12px}
 .vows-guest #invitation-content .v-invite-story{grid-template-columns:minmax(0,1fr);padding:32px 0}.vows-guest #invitation-content .v-story-image{order:0}
 .vows-guest #invitation-content .v-event-timeline{grid-template-columns:minmax(0,1fr);gap:16px}.vows-guest #invitation-content .v-event-timeline article{padding:22px}
 .vows-guest #invitation-content .v-guest-details{grid-template-columns:minmax(0,1fr)}
 .vows-guest #invitation-content .v-guest-gallery{gap:12px}.vows-guest #invitation-content .v-guest-gallery img{height:220px}
 .vows-guest #invitation-content .v-scene-branch{max-width:70px;opacity:.5}.vows-guest #invitation-content .v-scene-flower{width:45px}
 .vows-guest #invitation-content .v-rsvp-options{grid-template-columns:minmax(0,1fr)}
 .vows-guest .v-demo-bar{padding:12px 16px;font-size:13px}
 .vows-guest .v-motion-control,.vows-guest .v-music-control{font-size:12px!important;padding:10px;max-width:46vw}
}
@media print{.vows-guest #invitation-content .v-invite-hero{min-height:0;padding:30px}.vows-guest #invitation-content .v-scene-layers{display:none}}
