/* Invito.lk shared public invitation styles. Theme-specific CSS lives under invitations/themes/<theme>/theme.css */
.wedding-public{--w-bg:#f8f2e8;--w-card:#fffdf8;--w-ink:#2d2925;--w-muted:#756b60;--w-gold:#b9893f;--w-line:#dfcfba;--w-accent:#6f7b63;margin:0;background:var(--w-bg);color:var(--w-ink);font-family:Manrope,Arial,sans-serif;scroll-behavior:smooth}.wedding-public *{box-sizing:border-box}.wedding-public a{color:inherit}.wedding-public button,.wedding-public input,.wedding-public select,.wedding-public textarea{font:inherit}.wedding-page{overflow:hidden}.invite-opening{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 35%,#fffaf1 0,#f3e8d8 55%,#e9dcc9 100%);transition:opacity .75s ease,visibility .75s ease}.invite-opening:before,.invite-opening:after{content:"";position:absolute;width:280px;height:420px;border:1px solid rgba(185,137,63,.22);border-radius:50%;transform:rotate(34deg)}.invite-opening:before{left:-120px;top:-190px}.invite-opening:after{right:-120px;bottom:-190px}.invite-opening.is-open{opacity:0;visibility:hidden}.opening-card{text-align:center;position:relative;z-index:2;width:min(520px,92vw);padding:58px 32px 48px;border:1px solid rgba(185,137,63,.35);background:rgba(255,253,248,.76);backdrop-filter:blur(12px);box-shadow:0 28px 90px rgba(75,55,31,.12)}.opening-kicker,.section-kicker,.wedding-eyebrow{font-size:10px;letter-spacing:.28em;font-weight:700;color:var(--w-gold)}.opening-monogram,.hero-monogram,.closing-monogram{font:500 46px/1 'Cormorant Garamond',serif;color:var(--w-ink);margin:18px 0}.opening-monogram i,.hero-monogram i,.closing-monogram i{color:var(--w-gold);font-weight:400;margin:0 .12em}.opening-card h1{font:500 46px/1.05 'Cormorant Garamond',serif;margin:8px 0}.opening-card h1 i{color:var(--w-gold);font-weight:400}.opening-card p{color:var(--w-muted);font-size:12px;letter-spacing:.08em}.opening-button{border:0;background:var(--w-ink);color:#fff;padding:14px 28px;margin:20px 0 9px;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.opening-card small{display:block;color:#998d80;font-size:9px;letter-spacing:.12em}.guest-nav{position:fixed;left:0;right:0;top:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 4.5vw;color:#fff;transition:.3s ease}.guest-nav.scrolled{background:rgba(250,246,238,.93);backdrop-filter:blur(14px);box-shadow:0 5px 24px rgba(49,39,26,.08);color:var(--w-ink);padding-top:14px;padding-bottom:14px}.guest-brand{font:600 24px 'Cormorant Garamond',serif;text-decoration:none}.guest-nav nav{display:flex;gap:30px}.guest-nav nav a{font-size:9px;text-transform:uppercase;letter-spacing:.13em;text-decoration:none;opacity:.88}.guest-nav-actions{justify-self:end;display:flex;gap:8px}.guest-icon-button{width:34px;height:34px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer;display:grid;place-items:center}.guest-icon-button.playing{background:var(--w-gold);border-color:var(--w-gold);color:white}.wedding-hero{min-height:100svh;position:relative;display:grid;place-items:center;padding:110px 20px 80px;text-align:center;background:linear-gradient(145deg,#43392f,#7b6956);color:#fff;isolation:isolate}.wedding-hero.has-photo{background-image:var(--hero-image);background-size:cover;background-position:center}.wedding-hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(27,21,17,.36),rgba(27,21,17,.56)),radial-gradient(circle at 50% 50%,rgba(0,0,0,.02),rgba(0,0,0,.38))}.hero-ornament{position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.24);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}.hero-ornament:before,.hero-ornament:after{content:"";position:absolute;inset:-35px;border:1px solid rgba(255,255,255,.11);border-radius:50%}.hero-ornament:after{inset:-70px}.wedding-hero-content{width:min(760px,94vw)}.wedding-eyebrow{color:#f1d6a6}.hero-monogram{color:white;font-size:38px;margin:20px 0 14px}.hero-monogram i{color:#e1bd7a}.wedding-hero h1{font:500 clamp(58px,8vw,112px)/.82 'Cormorant Garamond',serif;margin:6px 0 26px;letter-spacing:-.035em}.wedding-hero h1 span{display:block}.wedding-hero h1 i{display:block;color:#e3c183;font-weight:400;font-size:.55em;line-height:1.1}.hero-intro{width:min(570px,92%);margin:0 auto 23px;font:400 17px/1.75 'Cormorant Garamond',serif;color:rgba(255,255,255,.9)}.hero-date-line{display:flex;justify-content:center;gap:14px;align-items:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.hero-date-line b{color:#e1bd7a}.hero-venue{margin:9px 0 26px;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.75)}.wedding-primary-btn{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;border:1px solid var(--w-gold);background:var(--w-gold);color:#fff!important;padding:14px 28px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;cursor:pointer;transition:.25s ease}.wedding-primary-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(185,137,63,.24)}.hero-scroll{position:absolute;bottom:24px;text-decoration:none;color:rgba(255,255,255,.7);display:flex;flex-direction:column;gap:5px;align-items:center;font-size:8px;letter-spacing:.14em;text-transform:uppercase}.hero-scroll b{font-size:16px;font-weight:400}.countdown-section{padding:92px 20px 88px;text-align:center;background:#fffaf2;border-bottom:1px solid var(--w-line)}.section-ornament{color:var(--w-gold);margin-bottom:14px}.countdown-section h2,.center-heading h2,.story-copy h2,.rsvp-card h2{font:500 clamp(42px,5vw,64px)/1 'Cormorant Garamond',serif;margin:10px 0 26px}.countdown-grid{width:min(720px,92vw);margin:34px auto 0;display:grid;grid-template-columns:repeat(4,1fr)}.countdown-grid>div{padding:12px;border-right:1px solid var(--w-line)}.countdown-grid>div:last-child{border-right:0}.countdown-grid strong{display:block;font:500 clamp(38px,6vw,64px)/1 'Cormorant Garamond',serif;color:var(--w-gold)}.countdown-grid span{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--w-muted)}.wedding-section{padding:110px 20px}.section-inner{width:min(1120px,92vw);margin:auto}.story-section{background:var(--w-bg)}.story-layout{display:grid;grid-template-columns:1fr .86fr;gap:8vw;align-items:center}.story-copy{max-width:560px}.story-copy h2{margin-bottom:18px}.gold-rule{width:52px;height:1px;background:var(--w-gold);margin:0 0 24px}.story-copy p{font:400 18px/1.85 'Cormorant Garamond',serif;color:var(--w-muted)}.story-visual{position:relative;padding:24px}.story-visual:before{content:"";position:absolute;inset:0 48px 48px 0;border:1px solid var(--w-gold)}.story-visual img,.story-placeholder{width:100%;aspect-ratio:4/5;object-fit:cover;position:relative;z-index:1;box-shadow:0 25px 70px rgba(62,48,32,.14)}.story-placeholder{display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(145deg,#e6d6bf,#faf3e7);font:500 70px 'Cormorant Garamond',serif}.story-placeholder i{font-size:.6em;color:var(--w-gold)}.wedding-gallery{background:#fffaf2}.center-heading{text-align:center;margin:0 auto 44px;max-width:660px}.center-heading h2{margin-bottom:12px}.center-heading p{color:var(--w-muted);font:400 16px 'Cormorant Garamond',serif}.wedding-gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:210px;gap:12px}.gallery-photo{border:0;padding:0;background:#eee;overflow:hidden;cursor:zoom-in}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:.5s ease}.gallery-photo:hover img{transform:scale(1.035)}.gallery-photo:nth-child(6n+1),.gallery-photo:nth-child(6n+4){grid-column:span 7;grid-row:span 2}.gallery-photo:nth-child(6n+2),.gallery-photo:nth-child(6n+3),.gallery-photo:nth-child(6n+5),.gallery-photo:nth-child(6n+6){grid-column:span 5}.details-section{background:var(--w-bg)}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--w-line);background:rgba(255,253,248,.6)}.details-grid article{text-align:center;padding:44px 28px;border-right:1px solid var(--w-line)}.details-grid article:last-child{border-right:0}.detail-icon{display:block;color:var(--w-gold);font-size:28px;margin-bottom:20px}.details-grid small{font-size:8px;letter-spacing:.2em;color:var(--w-gold)}.details-grid h3{font:500 26px/1.15 'Cormorant Garamond',serif;margin:9px 0}.details-grid p{font-size:11px;line-height:1.7;color:var(--w-muted);margin:0}.details-grid a{display:inline-block;margin-top:15px;font-size:9px;text-decoration:none;color:var(--w-gold);font-weight:700}.contact-note{text-align:center;color:var(--w-muted);font-size:11px;margin-top:28px}.contact-note a{color:var(--w-gold)}.rsvp-section{background:linear-gradient(135deg,#2d2925,#4b4238);padding-top:100px;padding-bottom:100px}.rsvp-card{width:min(820px,94vw);margin:auto;background:#fffaf3;padding:62px clamp(24px,7vw,72px);text-align:center;box-shadow:0 25px 80px rgba(0,0,0,.18);position:relative}.rsvp-card:before{content:"";position:absolute;inset:13px;border:1px solid rgba(185,137,63,.34);pointer-events:none}.rsvp-card>*{position:relative}.rsvp-lead{color:var(--w-muted);font:400 16px 'Cormorant Garamond',serif;margin:-12px 0 32px}.rsvp-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}.wedding-field{display:flex;flex-direction:column;gap:7px}.wedding-field.full{grid-column:1/-1}.wedding-field label{font-size:8px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#6f6459}.wedding-field input,.wedding-field select,.wedding-field textarea{border:0;border-bottom:1px solid #cabba7;background:transparent;padding:11px 3px;outline:none;color:var(--w-ink);font-size:12px;border-radius:0}.wedding-field input:focus,.wedding-field select:focus,.wedding-field textarea:focus{border-bottom-color:var(--w-gold)}.wedding-field textarea{min-height:85px;resize:vertical}.rsvp-submit{margin-top:28px;min-width:180px}.public-alert{padding:12px 14px;font-size:11px;margin:0 0 22px;text-align:left}.public-alert.error{background:#fff0ee;color:#832d2a;border:1px solid #e5bab4}.rsvp-success{padding:20px}.rsvp-success-icon{width:58px;height:58px;border:1px solid var(--w-gold);border-radius:50%;display:grid;place-items:center;color:var(--w-gold);font-size:24px;margin:0 auto 18px}.rsvp-success h3{font:500 30px 'Cormorant Garamond',serif;margin:0}.rsvp-success p{color:var(--w-muted);font-size:12px}.closing-section{text-align:center;padding:100px 20px 90px;background:#f4eadc}.closing-monogram{font-size:37px}.closing-section>p{font-size:9px;text-transform:uppercase;letter-spacing:.19em;color:var(--w-gold)}.closing-section h2{font:500 clamp(42px,6vw,72px)/1 'Cormorant Garamond',serif;margin:14px 0}.closing-section h2 i{font-weight:400;color:var(--w-gold)}.closing-section>span{font-size:10px;letter-spacing:.13em;color:var(--w-muted)}.closing-share-row{display:flex;justify-content:center;gap:22px;margin-top:30px}.closing-share-row button,.closing-share-row a{border:0;background:transparent;text-decoration:none;color:var(--w-gold);font-size:9px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.wedding-footer{text-align:center;padding:22px;background:#27231f;color:#a99c8c;font-size:9px;letter-spacing:.08em}.wedding-footer a{color:#d6b276;text-decoration:none;font-family:'Cormorant Garamond',serif;font-size:15px}.gallery-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(18,16,14,.94);display:none;place-items:center;padding:40px}.gallery-lightbox.open{display:grid}.gallery-lightbox img{max-width:min(1100px,92vw);max-height:88vh;object-fit:contain}.gallery-lightbox button{position:absolute;right:24px;top:18px;border:0;background:transparent;color:#fff;font-size:38px;cursor:pointer}.share-toast{position:fixed;z-index:1100;bottom:24px;left:50%;transform:translate(-50%,25px);padding:11px 18px;background:#2d2925;color:#fff;font-size:10px;opacity:0;pointer-events:none;transition:.25s ease}.share-toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:800px){.guest-nav{grid-template-columns:1fr auto;padding:18px 18px}.guest-nav nav{display:none}.guest-nav-actions{grid-column:2}.guest-brand{font-size:21px}.wedding-hero{padding-top:90px}.wedding-hero h1{font-size:66px}.hero-intro{font-size:16px}.hero-date-line{flex-wrap:wrap;gap:7px 10px}.hero-scroll{bottom:16px}.countdown-section{padding:72px 15px}.countdown-grid{width:100%}.countdown-grid>div{padding:7px}.countdown-grid strong{font-size:38px}.wedding-section{padding:78px 16px}.story-layout{grid-template-columns:1fr;gap:44px}.story-copy{text-align:center;margin:auto}.gold-rule{margin-left:auto;margin-right:auto}.story-copy p{font-size:17px}.story-visual{max-width:480px;margin:auto;padding:18px}.wedding-gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery-photo:nth-child(n){grid-column:span 1;grid-row:span 1}.gallery-photo:first-child{grid-column:1/-1;grid-row:span 2}.details-grid{grid-template-columns:1fr}.details-grid article{border-right:0;border-bottom:1px solid var(--w-line);padding:32px 24px}.details-grid article:last-child{border-bottom:0}.rsvp-section{padding-left:12px;padding-right:12px}.rsvp-card{padding:48px 24px}.rsvp-fields{grid-template-columns:1fr}.wedding-field.full{grid-column:auto}.closing-share-row{flex-direction:column;gap:14px}.opening-card{padding:46px 22px 40px}.opening-card h1{font-size:40px}}
@media(max-width:480px){.wedding-hero h1{font-size:57px}.hero-monogram{font-size:32px}.wedding-hero-content{margin-top:-10px}.countdown-grid strong{font-size:32px}.countdown-grid span{font-size:7px}.wedding-gallery-grid{grid-auto-rows:145px}.rsvp-card:before{inset:8px}.section-inner{width:94vw}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.wedding-primary-btn,.gallery-photo img{transition:none}}
\n/* Stage 6 premium public invitation enhancements */
.personal-greeting{display:inline-block;margin:0 0 18px;padding:9px 18px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);font:500 17px 'Cormorant Garamond',serif;letter-spacing:.04em;color:#fff}.petal-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.petal{position:absolute;top:-12vh;width:10px;height:16px;border-radius:80% 15% 80% 20%;background:rgba(245,218,202,.78);filter:drop-shadow(0 2px 3px rgba(0,0,0,.08));animation:petalFall linear infinite}.petal:nth-child(3n){background:rgba(255,239,224,.75);width:8px;height:13px}.petal:nth-child(4n){background:rgba(221,183,168,.65)}@keyframes petalFall{0%{transform:translate3d(0,-12vh,0) rotate(0deg)}50%{transform:translate3d(42px,50vh,0) rotate(180deg)}100%{transform:translate3d(-24px,115vh,0) rotate(390deg)}}
.wedding-public.theme-dark{--w-bg:#171614;--w-card:#24211e;--w-ink:#f4ecdf;--w-muted:#b8aa99;--w-line:#443b32;background:#171614;color:var(--w-ink)}.theme-dark .countdown-section,.theme-dark .wedding-gallery,.theme-dark .details-section,.theme-dark .story-section{background:#1b1917}.theme-dark .details-grid,.theme-dark .rsvp-card{background:#24211e}.theme-dark .rsvp-card{color:#f4ecdf}.theme-dark .wedding-field input,.theme-dark .wedding-field select,.theme-dark .wedding-field textarea{color:#f4ecdf}.theme-dark .closing-section{background:#211e1a}.theme-dark .guest-nav.scrolled{background:rgba(25,23,21,.94);color:#f4ecdf}.guest-icon-button[href]{text-decoration:none;font-size:10px;font-weight:800}.wedding-hero.has-photo:after{content:'';position:absolute;inset:0;z-index:-1;box-shadow:inset 0 -150px 180px rgba(0,0,0,.18)}
@media(max-width:800px){.personal-greeting{font-size:15px;margin-bottom:14px}.petal:nth-child(n+11){display:none}}
@media(prefers-reduced-motion:reduce){.petal{display:none}}
.family-invitation{background:#f8f1e7;text-align:center;padding-top:90px;padding-bottom:90px}.family-invitation-inner{width:min(820px,92vw);margin:auto}.parents-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:34px auto}.parents-grid>div{padding:26px;border-top:1px solid var(--w-line);border-bottom:1px solid var(--w-line)}.parents-grid small{font-size:8px;letter-spacing:.18em;color:var(--w-gold)}.parents-grid h3{font:500 28px/1.2 'Cormorant Garamond',serif;margin:8px 0 0}.formal-invitation-message{font:400 23px/1.65 'Cormorant Garamond',serif;color:var(--w-muted);max-width:700px;margin:30px auto 0}.wedding-events{text-align:center;margin:0 auto 42px;max-width:760px}.wedding-events-list{margin-top:25px;border-top:1px solid var(--w-line)}.wedding-events-list article{display:grid;grid-template-columns:150px 1fr;text-align:left;gap:28px;padding:22px 8px;border-bottom:1px solid var(--w-line);align-items:center}.event-time{font:500 22px 'Cormorant Garamond',serif;color:var(--w-gold);text-align:right}.wedding-events-list h3{font:500 25px 'Cormorant Garamond',serif;margin:0}.wedding-events-list p{margin:4px 0 0;color:var(--w-muted);font-size:11px}.theme-dark .family-invitation{background:#201d19}@media(max-width:800px){.event-builder-row{grid-template-columns:1fr 1fr}.event-builder-row input:nth-child(3){grid-column:1/-2}.parents-grid{grid-template-columns:1fr;gap:14px}.formal-invitation-message{font-size:20px}.wedding-events-list article{grid-template-columns:100px 1fr;gap:18px}.event-time{font-size:18px}}

.family-invitation{padding-top:84px;padding-bottom:84px}
.family-invitation-inner{width:min(980px,92vw)}
.family-couple-line{display:grid;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);align-items:start;gap:18px;margin:8px auto 0}
.family-person{text-align:center;min-width:0;padding:8px 22px}
.family-person h3{font:500 clamp(44px,5vw,68px)/1 'Cormorant Garamond',serif;font-style:italic;color:#7d231f;margin:0 0 48px;letter-spacing:.01em}
.family-person strong{display:block;font:600 18px/1.25 'Cormorant Garamond',serif;color:#40352c;margin-bottom:9px}
.family-person p{margin:0;font:400 20px/1.45 'Cormorant Garamond',serif;color:#806f5d}
.family-ampersand{font:500 52px/1 'Cormorant Garamond',serif;font-style:italic;color:#a78b2d;padding-top:3px;text-align:center}
.family-invitation .formal-invitation-message{margin-top:48px;padding-top:34px;border-top:1px solid rgba(167,139,45,.28)}
@media(max-width:760px){.family-invitation{padding-top:64px;padding-bottom:64px}.family-couple-line{grid-template-columns:1fr;gap:0}.family-person{padding:6px 12px}.family-person h3{font-size:48px;margin-bottom:22px}.family-person strong{font-size:17px}.family-person p{font-size:19px}.family-ampersand{font-size:38px;padding:18px 0 12px}.family-person-two{margin-top:0}.family-invitation .formal-invitation-message{margin-top:36px;padding-top:28px}}
/* Stage 78: public invitation music control after header removal */
.wedding-music-btn{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:180;
  min-width:104px;
  height:44px;
  border:1px solid rgba(185,137,63,.45);
  border-radius:999px;
  background:rgba(255,250,240,.92);
  color:#17472d;
  box-shadow:0 18px 45px rgba(35,28,20,.18);
  backdrop-filter:blur(12px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font:900 11px/1 Manrope,Arial,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
}
.wedding-music-btn:hover{transform:translateY(-2px);border-color:#17472d;background:#fffaf0}
.wedding-music-btn.is-playing{background:#17472d;color:#fff;border-color:#17472d}
.wedding-music-btn.is-error{opacity:.55;cursor:not-allowed}
.music-btn-icon{font-size:16px;line-height:1;min-width:15px;text-align:center;color:inherit}
.music-btn-text{white-space:nowrap}
.builder-preview-mode .wedding-music-btn{display:none!important}
@media(max-width:640px){
  .wedding-music-btn{right:14px;bottom:14px;min-width:50px;width:50px;height:50px;padding:0;border-radius:50%}
  .wedding-music-btn .music-btn-text{display:none}
  .wedding-music-btn .music-btn-icon{font-size:18px}
}

