
:root{
  --gold:#b88b37;--gold-dark:#7f571c;--gold-soft:#ead8ae;--ivory:#fffaf0;--paper:#fffdf8;
  --ink:#3b3026;--muted:#75695d;--line:rgba(184,139,55,.35);--shadow:0 24px 70px rgba(83,61,28,.13);
  --serif:Georgia,"Times New Roman",serif;--script:"Brush Script MT","Segoe Script",cursive;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--serif);line-height:1.55}
button,input,textarea,select{font:inherit}.page{overflow:hidden}.container{width:min(1120px,calc(100% - 32px));margin-inline:auto}
.hero{min-height:95vh;display:grid;place-items:center;text-align:center;padding:38px 0 54px;background:radial-gradient(circle at 50% 10%,#fffdf8 0,#fff 48%,#fff 100%);position:relative}
.hero:before,.hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(184,139,55,.17);border-radius:50%;filter:blur(.1px)}.hero:before{left:-240px;top:-170px}.hero:after{right:-240px;bottom:-210px}
.logo{width:min(980px,96vw);max-width:100%;height:auto;display:block;margin:0 auto 12px;object-fit:contain;filter:drop-shadow(0 10px 28px rgba(184,139,55,.08))}.eyebrow{letter-spacing:.24em;text-transform:uppercase;font-size:.78rem;color:var(--gold-dark);font-weight:700}
.countdown{display:grid;grid-template-columns:repeat(4,minmax(88px,1fr));gap:12px;width:min(680px,100%);margin:28px auto}.time-box{background:var(--paper);border:1px solid var(--line);padding:18px 10px;border-radius:18px;box-shadow:0 12px 30px rgba(92,70,31,.08)}.time-box strong{display:block;font-size:clamp(1.7rem,5vw,3rem);line-height:1;color:var(--gold-dark)}.time-box span{font-size:.73rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.location{max-width:760px;margin:0 auto;color:var(--muted)}.location strong{display:block;color:var(--ink);font-size:1.15rem;margin-bottom:4px}.map-link,.gold-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 20px;background:linear-gradient(135deg,#9a681d,#d4aa54);color:#fff;text-decoration:none;font-weight:700;box-shadow:0 12px 28px rgba(151,99,27,.22);cursor:pointer;transition:.25s}.map-link:hover,.gold-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(151,99,27,.29)}
.verse{padding:90px 0;background:linear-gradient(180deg,#fff,#fffaf2)}.verse-card{max-width:920px;margin:auto;text-align:center;padding:48px clamp(22px,6vw,74px);position:relative}.verse-card:before,.verse-card:after{content:"✦";color:var(--gold);position:absolute;left:50%;transform:translateX(-50%);font-size:1.4rem}.verse-card:before{top:0}.verse-card:after{bottom:0}.verse blockquote{font-size:clamp(1.55rem,3.4vw,2.65rem);margin:0 0 18px;font-style:italic;line-height:1.35}.verse cite{color:var(--gold-dark);font-style:normal;letter-spacing:.15em;text-transform:uppercase;font-size:.8rem}
.section{padding:82px 0}.section.alt{background:var(--ivory)}.section-heading{text-align:center;margin-bottom:38px}.section-heading h2{font-size:clamp(2rem,5vw,3.6rem);font-weight:400;margin:0}.section-heading p{color:var(--muted);max-width:680px;margin:8px auto 0}.ornament{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold);margin-bottom:9px}.ornament:before,.ornament:after{content:"";width:88px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.godparents-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.photo-card{background:#fff;border:1px solid var(--line);padding:8px;box-shadow:0 14px 32px rgba(81,59,25,.09);transition:.3s}.photo-card:hover{transform:translateY(-5px)}.photo-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.photo-card h3{text-align:center;font-size:1rem;font-weight:400;margin:10px 6px 5px}
.video-wrap{max-width:940px;margin:0 auto 34px;border:7px solid #fff;outline:2px solid var(--gold);box-shadow:var(--shadow);background:#111}.video-wrap video{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.gallery-item{position:relative;border:7px solid #fff;outline:2px solid var(--gold);background:#eee;box-shadow:0 12px 28px rgba(76,57,28,.12);cursor:pointer;overflow:hidden}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:.4s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item span{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(25,18,12,.78));color:#fff;padding:34px 12px 10px;font-size:.9rem}
.rsvp-card{max-width:840px;margin:auto;background:#fff;border:1px solid var(--line);padding:clamp(22px,5vw,50px);box-shadow:var(--shadow);border-radius:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-dark);font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid #ded3c2;border-radius:12px;padding:13px 14px;background:#fffdf9;color:var(--ink);outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(184,139,55,.12)}.rsvp-actions{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}.form-status{color:var(--gold-dark);font-weight:700}
.gifts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gift-card{background:#fff;border:1px solid var(--line);box-shadow:0 16px 42px rgba(77,56,23,.1);padding:9px;display:flex;flex-direction:column}.gift-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.gift-body{padding:17px 13px 15px;display:flex;flex-direction:column;flex:1}.gift-body h3{font-size:1.35rem;margin:0 0 4px;font-weight:400}.gift-body p{color:var(--muted);font-size:.93rem;margin:0 0 15px}.price{font-size:1.5rem;color:var(--gold-dark);margin:auto 0 13px;font-weight:700}.custom-amount{display:flex;align-items:center;border:1px solid #ded3c2;border-radius:10px;overflow:hidden;margin-bottom:12px}.custom-amount span{padding:10px;background:#f5ede0}.custom-amount input{border:0;outline:0;width:100%;padding:10px;background:#fff}.qr-box{display:grid;place-items:center;min-height:176px;background:#fff;border:1px dashed var(--line);padding:9px;margin:10px 0}.qr-box svg{width:158px;height:158px;display:block}.pix-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.outline-btn{border:1px solid var(--gold);color:var(--gold-dark);background:#fff;border-radius:10px;padding:10px;cursor:pointer;font-weight:700}.outline-btn:hover{background:#fff8e8}.small-note{font-size:.74rem;color:var(--muted);text-align:center;margin-top:9px}
.footer{padding:42px 0;background:#2f281f;color:#f7ead1;text-align:center}.footer-logo{width:min(440px,84vw);max-width:100%;height:auto;display:block;filter:brightness(1.12);margin:0 auto 10px}.footer p{margin:8px 0;color:#d9c7a9}.admin-link{background:none;border:0;color:#d9c7a9;text-decoration:underline;cursor:pointer;margin-top:12px}
.lightbox{position:fixed;inset:0;background:rgba(22,18,14,.92);z-index:120;display:none;align-items:center;justify-content:center;padding:20px}.lightbox.open{display:flex}.lightbox-inner{width:min(1000px,95vw);position:relative}.lightbox img{display:block;width:100%;max-height:78vh;aspect-ratio:4/3;object-fit:contain;background:#111;border:5px solid #fff;outline:2px solid var(--gold)}.lightbox-caption{text-align:center;color:#fff;margin-top:13px}.lightbox button{position:absolute;border:0;background:rgba(255,255,255,.92);width:48px;height:48px;border-radius:50%;font-size:1.6rem;cursor:pointer;color:#3b3026}.lb-close{right:4px;top:-60px}.lb-prev{left:-62px;top:45%}.lb-next{right:-62px;top:45%}
.toast{position:fixed;right:18px;bottom:18px;background:#2f281f;color:#fff;padding:13px 18px;border-radius:12px;z-index:300;opacity:0;transform:translateY(12px);pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translateY(0)}
/* Admin */
.admin-overlay{position:fixed;inset:0;background:#f7f2e8;z-index:200;display:none;overflow:auto}.admin-overlay.open{display:block}.admin-topbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 24px;background:#fff;border-bottom:1px solid #e5dccd}.admin-topbar h2{margin:0;font-size:1.25rem}.admin-content{width:min(1180px,calc(100% - 28px));margin:26px auto 70px}.login-card{width:min(460px,calc(100% - 30px));margin:10vh auto;background:#fff;padding:35px;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px}.login-card .logo-mini{width:100%;max-width:360px;height:auto;margin:0 auto 12px;display:block}.admin-dashboard{display:none}.admin-dashboard.active{display:block}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.admin-panel{background:#fff;border:1px solid #e1d6c4;border-radius:18px;padding:20px}.admin-panel.full{grid-column:1/-1}.admin-panel h3{margin:0 0 14px}.admin-list{display:grid;gap:10px}.admin-row{display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;border:1px solid #eadfce;padding:9px;border-radius:12px}.admin-row img{width:76px;height:60px;object-fit:cover;border-radius:8px}.admin-row strong{display:block}.admin-row small{color:var(--muted)}.admin-space-row .replace-photo{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.admin-space-row img{aspect-ratio:4/3}.danger{border:0;background:#8d3228;color:#fff;border-radius:9px;padding:9px 11px;cursor:pointer}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.secondary-btn{border:1px solid #c7b28e;background:#fff;color:#5d4628;border-radius:10px;padding:10px 14px;cursor:pointer}.file-note{font-size:.78rem;color:var(--muted)}
@media(max-width:980px){.godparents-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.gifts-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.hero{min-height:auto;padding-top:18px}.countdown{grid-template-columns:repeat(2,1fr)}.section{padding:62px 0}.godparents-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gifts-grid,.form-grid,.admin-grid{grid-template-columns:1fr}.admin-panel.full{grid-column:auto}.pix-actions{grid-template-columns:1fr}.lb-prev{left:6px}.lb-next{right:6px}.lightbox button{background:#fff}.photo-card h3{font-size:.9rem}.admin-row{grid-template-columns:64px 1fr}.admin-row img{width:64px;height:54px}.admin-row .danger{grid-column:1/-1}.verse{padding:55px 0}}
@media(max-width:430px){.container{width:min(100% - 20px,1120px)}.gallery-grid{gap:10px}.gallery-item{border-width:4px}.godparents-grid{gap:10px}.photo-card{padding:5px}.gift-card{padding:6px}.admin-topbar{padding:12px}.admin-content{width:calc(100% - 16px)}}

/* Ajustes responsivos mobile casamento */
@media (max-width:700px){
 .container{width:calc(100% - 24px)}
 .hero{min-height:auto;padding:25px 0 45px}
 .logo{width:96vw;max-width:520px}
 .countdown{grid-template-columns:repeat(2,1fr);gap:10px;margin:22px auto}
 .time-box{padding:14px 8px;border-radius:14px}
 .section{padding:55px 0}
 .verse{padding:55px 0}
 .verse-card{padding:35px 15px}
 .section-heading h2{font-size:2rem}
 .gifts-grid,.gallery-grid,.godparents-grid{grid-template-columns:1fr!important}
 .gift-card img{height:210px;object-fit:cover}
 .rsvp-card{padding:18px!important}
 .form-grid{grid-template-columns:1fr!important}
 .field.full{grid-column:auto!important}
}

.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.info-grid>div,.faq details{background:#fff;border:1px solid var(--line);padding:22px;border-radius:18px}.faq{max-width:900px;margin:auto;display:grid;gap:12px}.faq summary{cursor:pointer;font-weight:700;color:var(--gold-dark)}.faq p{margin-bottom:0;color:var(--muted)}.sent-gift{margin-top:8px;width:100%}@media(max-width:700px){.info-grid{grid-template-columns:1fr}}

.music-btn{position:fixed;right:18px;bottom:18px;z-index:100;background:linear-gradient(135deg,#9a681d,#d4aa54);color:#fff;border:0;border-radius:30px;padding:12px 18px;cursor:pointer}


/* Menu superior elegante */
.top-menu{
position:fixed;top:0;left:0;width:100%;z-index:1000;
background:rgba(255,250,240,.92);backdrop-filter:blur(12px);
border-bottom:1px solid var(--line);
}
.menu-container{
width:min(1100px,calc(100% - 32px));margin:auto;
display:flex;justify-content:center;gap:22px;flex-wrap:wrap;padding:14px 0;
}
.menu-container a{
color:var(--gold-dark);text-decoration:none;text-transform:uppercase;
font-size:.72rem;letter-spacing:.12em;font-weight:700;
}
.menu-container a:hover{color:var(--ink)}
.hero{padding-top:100px}
.hidden-date{display:none!important}

.elegant-info{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:22px;
max-width:900px;
margin:30px auto;
text-align:center;
}
.elegant-info>div{
background:var(--paper);
border:1px solid var(--line);
border-radius:24px;
padding:28px 18px;
box-shadow:var(--shadow);
}
.elegant-info span{display:block;font-size:1.8rem;color:var(--gold);margin-bottom:10px}
.elegant-info strong{display:block;color:var(--gold-dark);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem}
.elegant-info p{margin:8px 0 0;color:var(--muted)}

@media(max-width:760px){
.menu-container{gap:12px;padding:10px 0}
.menu-container a{font-size:.62rem}
.elegant-info{grid-template-columns:1fr 1fr}
}

.space-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.space-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border:2px solid var(--gold);padding:6px;background:#fff;border-radius:20px;box-shadow:var(--shadow)}
@media(max-width:760px){.space-gallery{grid-template-columns:repeat(2,1fr)}}

/* Menu responsivo */
.top-menu{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(255,253,248,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.menu-container{display:flex;justify-content:center;align-items:center;gap:24px;padding:14px 20px}
.menu-container a{color:var(--ink);text-decoration:none;font-size:.95rem;transition:.2s}
.menu-container a:hover{color:var(--gold-dark)}
.menu-toggle{display:none;background:none;border:0;font-size:2rem;color:var(--gold-dark);cursor:pointer}
@media(max-width:768px){
 .top-menu{padding:8px 16px}
 .menu-toggle{display:block;margin-left:auto}
 .menu-container{display:none;flex-direction:column;gap:14px;padding:20px}
 .menu-container.active{display:flex}
 .hero{padding-top:80px}
 .menu-container a{font-size:1.05rem}
 .info-grid.elegant-info{grid-template-columns:1fr}
}

/* Três fotos em destaque logo após a contagem regressiva */
.countdown-photos{padding:0 0 76px;background:#fff;position:relative}
.countdown-photos-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:980px;margin:0 auto}
.countdown-photo{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--ivory);border:7px solid #fff;outline:1px solid var(--line);box-shadow:0 18px 46px rgba(83,61,28,.14)}
.countdown-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s ease}
.countdown-photo:hover img{transform:scale(1.035)}
.countdown-photo:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(184,139,55,.18);pointer-events:none}
@media(max-width:760px){
 .countdown-photos{padding:0 0 52px}
 .countdown-photos-grid{gap:10px}
 .countdown-photo{border-width:4px}
}
@media(max-width:520px){
 .countdown-photos-grid{grid-template-columns:1fr;gap:16px;max-width:390px}
}

/* Atualização 08/09/2026 — novas seções e confirmação por lista de convidados */
.menu-container{gap:16px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.menu-container::-webkit-scrollbar{display:none}.menu-container a{white-space:nowrap;font-size:.78rem}

.couple-section{background:#fff}.couple-intro{max-width:820px;margin:0 auto 54px;text-align:center}.round-photo-wrap,.attendant-photo{width:230px;aspect-ratio:1/1;border-radius:50%;overflow:hidden;margin:0 auto 28px;border:7px solid #fff;outline:2px solid var(--gold);box-shadow:var(--shadow);background:var(--ivory)}.round-photo-wrap img,.attendant-photo img{width:100%;height:100%;object-fit:cover;display:block}.round-photo-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#a58d6f;background:radial-gradient(circle,#fff 0,#f7efe2 100%);font-style:italic}.couple-story{font-size:1.15rem;line-height:1.95;color:var(--muted);margin:0 auto;max-width:760px}.story-complement{padding-top:12px}.story-complement .video-wrap{margin-bottom:42px}

.attendants-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px;max-width:780px;margin:0 auto}.attendant-card{text-align:center}.attendant-card h3{font-size:1.65rem;font-weight:400;margin:0 0 9px}.attendant-card p{margin:0 auto;color:var(--muted);max-width:320px}.attendant-photo{width:205px;margin-bottom:22px}

.ceremony-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:center;max-width:930px;margin:0 auto 46px}.ceremony-info-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}.ceremony-kicker{display:block;color:var(--gold-dark);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.ceremony-info-card h3{font-size:2rem;font-weight:400;margin:0 0 14px}.ceremony-info-card p{color:var(--muted)}.ceremony-address{font-size:1.02rem;line-height:1.7}.ceremony-map-button{margin-top:10px}.map-card{width:330px;aspect-ratio:1/1;border-radius:20px;overflow:hidden;border:7px solid #fff;outline:1px solid var(--line);box-shadow:var(--shadow);background:#eee}.map-card iframe{width:100%;height:100%;border:0;display:block}.space-gallery{margin-top:12px}

.rsvp-section{background:#fbfbfb;padding:95px 0}.rsvp-search-card{max-width:650px;margin:auto;text-align:center;background:#fff;padding:58px 52px;border:1px solid #ece7e2;box-shadow:0 20px 60px rgba(70,56,42,.07)}.rsvp-search-card h2{font-family:var(--script);font-size:clamp(2.7rem,7vw,4.6rem);font-weight:400;color:#ad775d;margin:0 0 54px;line-height:1}.rsvp-helper{color:var(--muted);margin:-30px 0 22px}.guest-search-form{display:flex;flex-direction:column;align-items:center;gap:10px}.guest-search-form input{width:min(350px,100%);height:40px;border:1px solid #cbd1d6;border-radius:4px;padding:0 13px;color:#555;outline:none}.guest-search-form input:focus{border-color:#a77a62;box-shadow:0 0 0 3px rgba(167,122,98,.1)}.rsvp-search-btn,.rsvp-confirm-btn{border:0;border-radius:3px;background:#707070;color:#fff;padding:10px 18px;cursor:pointer}.rsvp-search-btn:hover,.rsvp-confirm-btn:hover{background:#5c5c5c}.guest-confirmation-box{max-width:470px;margin:34px auto 0;text-align:left;border-top:1px solid #eee;padding-top:28px}.guest-result-head{text-align:center;margin-bottom:20px}.guest-result-head h3{font-weight:400;font-size:1.45rem;margin:0 0 6px}.guest-result-head p{margin:0;color:var(--muted)}.guest-people{display:grid;gap:10px;margin-bottom:20px}.guest-person{display:flex;gap:13px;align-items:center;border:1px solid #e7dfd7;border-radius:10px;padding:12px 14px;cursor:pointer;background:#fff}.guest-person input{width:19px;height:19px;accent-color:#ad775d}.guest-person span{display:flex;flex-direction:column}.guest-person small{color:var(--muted)}.rsvp-confirm-btn{display:block;margin:0 auto;padding:11px 22px}.guest-confirmation-box .form-status,.rsvp-search-card>.form-status{text-align:center;margin-top:14px;font-size:.9rem}

.admin-photo-control,.admin-attendant-photos{margin-top:18px}.admin-attendant-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-photo-placeholder{width:76px;height:60px;border-radius:8px;background:#f2eadf;display:grid;place-items:center;font-size:.72rem;color:var(--muted)}.guest-admin-list{gap:12px}.guest-admin-row{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #eadfce;padding:13px 14px;border-radius:12px}.guest-admin-row strong{display:block}.guest-admin-row small{display:block;color:var(--muted);margin-top:4px}.guest-admin-actions{display:flex;gap:8px;flex-shrink:0}

@media(max-width:980px){.menu-container{justify-content:flex-start}.ceremony-layout{grid-template-columns:1fr 300px}.map-card{width:300px}}
@media(max-width:768px){.menu-container{overflow:visible}.attendants-grid{gap:28px}.ceremony-layout{grid-template-columns:1fr}.map-card{width:min(330px,100%);margin:0 auto}.rsvp-search-card{padding:48px 24px}.admin-attendant-photos{grid-template-columns:1fr}}
@media(max-width:560px){.attendants-grid{grid-template-columns:1fr;gap:48px}.round-photo-wrap{width:205px}.attendant-photo{width:185px}.couple-story{font-size:1.02rem}.ceremony-info-card{padding:24px}.rsvp-search-card h2{margin-bottom:42px}.guest-admin-row{align-items:flex-start;flex-direction:column}.guest-admin-actions{width:100%}.guest-admin-actions button{flex:1}}


/* Ajustes 08/09/2026 — layout mais compacto, vídeo vertical e padrinhos individuais */
.hero{min-height:auto;padding:78px 0 24px}
.logo{width:min(860px,92vw);margin-bottom:4px}
.countdown{margin:14px auto 4px}
.countdown-photos{padding:22px 0 34px}
.countdown-photos-grid{max-width:1080px;gap:18px}
.section{padding:48px 0}
.section-heading{margin-bottom:24px}
.section-heading .ornament{margin-bottom:5px}
.section-heading p{margin-top:5px}
.couple-intro{margin-bottom:28px}
.round-photo-wrap{width:255px;margin-bottom:18px}
.couple-story{line-height:1.75}
.story-complement{padding-top:4px}
.story-complement .video-wrap{margin-bottom:26px}
.video-wrap{width:min(440px,92vw);max-width:100%;margin-left:auto;margin-right:auto;border-width:6px;background:#111}
.video-wrap video{display:block;width:100%;height:auto;max-height:76vh;aspect-ratio:auto;object-fit:contain;background:#111}
.gallery-grid{grid-template-columns:repeat(3,1fr);gap:18px;max-width:1040px;margin:0 auto}
.gallery-item img{aspect-ratio:4/3}
.attendants-grid{gap:44px}.attendant-photo{width:225px;margin-bottom:16px}
.godparents-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1120px;margin:0 auto}
.godparent-couple-card{position:relative;background:#fff;border:1px solid var(--line);padding:30px 12px 14px;box-shadow:0 14px 34px rgba(81,59,25,.09)}
.godparent-couple-label{position:absolute;top:9px;left:0;right:0;text-align:center;color:var(--gold-dark);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.godparent-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.godparent-person{text-align:center;min-width:0}.godparent-person img,.godparent-photo-placeholder{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:var(--ivory);border:4px solid #fff;outline:1px solid var(--line)}
.godparent-photo-placeholder{display:grid;place-items:center;color:#a58d6f;font-style:italic}
.godparent-person h3{font-size:1rem;font-weight:400;margin:9px 3px 0;overflow-wrap:anywhere}
.ceremony-layout{margin-bottom:28px}.space-gallery{margin-top:8px;grid-template-columns:repeat(3,1fr);max-width:1040px;margin-left:auto;margin-right:auto}.space-gallery img{aspect-ratio:4/3}
.verse{padding:42px 0}.verse-card{padding:34px clamp(22px,6vw,74px)}
.rsvp-section{padding:50px 0}.rsvp-search-card{padding:42px 46px}.rsvp-search-card h2{margin-bottom:38px}.rsvp-helper{margin:-20px 0 18px}
.elegant-info{margin:22px auto}.faq{margin-top:24px}
.footer{padding:32px 0}
.godparents-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.godparent-admin-pair{border:1px solid #eadfce;border-radius:14px;padding:14px;background:#fffdf9}.godparent-admin-pair h4{margin:0 0 12px;color:var(--gold-dark)}
.godparent-admin-people{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.godparent-admin-person{display:grid;gap:9px}.godparent-admin-person img,.godparent-admin-placeholder{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;background:#f2eadf}.godparent-admin-placeholder{display:grid;place-items:center;color:var(--muted);font-size:.8rem}.godparent-photo-btn{justify-content:center}
@media(max-width:980px){.godparents-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.hero{padding:70px 0 18px}.countdown{margin-top:10px}.countdown-photos{padding:16px 0 28px}.section{padding:38px 0}.section-heading{margin-bottom:20px}.gallery-grid{gap:10px}.godparents-grid{grid-template-columns:1fr;max-width:520px}.godparent-pair{gap:8px}.space-gallery{grid-template-columns:repeat(2,1fr);gap:10px}.rsvp-section{padding:40px 0}.rsvp-search-card{padding:36px 20px}.godparents-admin-grid{grid-template-columns:1fr}}
@media(max-width:480px){.countdown-photos-grid{gap:12px}.round-photo-wrap{width:220px}.attendant-photo{width:195px}.gallery-grid{grid-template-columns:1fr}.godparent-admin-people{grid-template-columns:1fr 1fr}}

/* Ajuste solicitado: vídeo do casal em formato vertical compacto */
.story-complement .video-wrap{
  width:min(340px,86vw);
  aspect-ratio:9/16;
  margin-left:auto;
  margin-right:auto;
  overflow:hidden;
}
.story-complement .video-wrap video{
  width:100%;
  height:100%;
  aspect-ratio:9/16;
  object-fit:contain;
  background:#111;
}

/* Ajustes 08/09/2026 — texto do casal, versículo e cerimônia */
.rich-editor-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0}
.rich-bold-btn{padding:8px 14px}
.rich-text-editor{min-height:150px;padding:13px 14px;border:1px solid #d8cbb8;border-radius:12px;background:#fff;line-height:1.7;outline:none;white-space:normal}
.rich-text-editor:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(190,155,88,.12)}
.couple-story p,.couple-story div{margin:0 0 .8em}.couple-story p:last-child,.couple-story div:last-child{margin-bottom:0}.couple-story strong,.couple-story b{font-weight:700;color:inherit}
.verse-after-countdown{padding:22px 0 28px;background:#fff}.verse-after-countdown .verse-card{padding:20px clamp(22px,6vw,74px)}
.ceremony-simple-layout{grid-template-columns:minmax(0,1fr) 300px;max-width:880px;align-items:center}
.ceremony-text-info{padding:6px 4px}.ceremony-text-info h3{font-size:clamp(1.6rem,3vw,2.15rem);font-weight:400;margin:0 0 10px}.ceremony-text-info p{margin:7px 0;color:var(--muted)}
.ceremony-map-text-link{display:inline-block;margin-top:8px;color:var(--gold-dark);text-decoration:underline;text-underline-offset:4px}
.space-gallery{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:16px!important;max-width:1080px!important;margin:8px auto 0!important}
.space-gallery img{grid-column:span 2;aspect-ratio:4/3!important}
.space-gallery img:first-child{grid-column:3 / span 2}
@media(max-width:760px){.ceremony-simple-layout{grid-template-columns:1fr}.space-gallery{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important}.space-gallery img{grid-column:span 2}.space-gallery img:first-child{grid-column:3 / span 2}.verse-after-countdown{padding:12px 0 20px}.verse-after-countdown .verse-card{padding:18px 12px}}
.space-gallery img:first-child{grid-column:3 / span 2;grid-row:1}
.space-gallery img:nth-child(2){grid-column:1 / span 2;grid-row:2}
.space-gallery img:nth-child(3){grid-column:3 / span 2;grid-row:2}
.space-gallery img:nth-child(4){grid-column:5 / span 2;grid-row:2}


/* Ajustes solicitados 08/09/2026 */
.ceremony-centered .section-heading{text-align:center!important}
.ceremony-centered .ceremony-layout{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:18px!important;max-width:820px!important;margin:0 auto 28px!important;text-align:center!important}
.ceremony-centered .ceremony-text-info{text-align:center!important;width:100%!important}
.ceremony-centered .ceremony-text-info h3,.ceremony-centered .ceremony-text-info p{margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.ceremony-centered .map-card{width:min(330px,92vw)!important;margin:0 auto!important}
.ceremony-centered .ceremony-map-text-link{display:inline-block!important;margin:8px auto 0!important}
.ceremony-centered .space-gallery{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:16px!important;max-width:920px!important;margin:18px auto 0!important;justify-content:center!important}
.ceremony-centered .space-gallery img{grid-column:span 2!important;width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important}
.ceremony-centered .space-gallery img:first-child{grid-column:3 / span 2!important;grid-row:1!important}
.ceremony-centered .space-gallery img:nth-child(2){grid-column:1 / span 2!important;grid-row:2!important}
.ceremony-centered .space-gallery img:nth-child(3){grid-column:3 / span 2!important;grid-row:2!important}
.ceremony-centered .space-gallery img:nth-child(4){grid-column:5 / span 2!important;grid-row:2!important}

.gifts-compact-section .gifts-grid{grid-template-columns:repeat(3,240px)!important;gap:40px 20px!important;justify-content:center!important;align-items:start!important}
.gifts-compact-section .gift-card{width:240px!important;min-height:0!important;padding:12px!important;border:1px solid #d4dee7!important;border-radius:8px!important;box-shadow:0 4px 12px rgba(45,71,93,.06)!important}
.gifts-compact-section .gift-card>img{width:100%!important;height:205px!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:7px!important;background:#fff!important}
.gifts-compact-section .gift-body{padding:14px 8px 4px!important;text-align:center!important}
.gifts-compact-section .gift-body h3{font-family:Arial,sans-serif!important;font-size:.88rem!important;line-height:1.3!important;font-weight:400!important;min-height:36px!important;margin:0 0 10px!important}
.gifts-compact-section .price{font-size:1.18rem!important;margin:0 0 18px!important;color:#273744!important;font-weight:700!important}
.gift-present-btn{width:100%!important;border:0!important;border-radius:7px!important;background:#b5836d!important;color:#fff!important;padding:13px 12px!important;font-weight:700!important;font-size:.96rem!important;cursor:pointer!important}
.gift-payment{margin-top:12px!important;padding-top:12px!important;border-top:1px solid #eee!important}
.gift-payment[hidden]{display:none!important}
.gifts-compact-section .qr-box{min-height:145px!important;padding:6px!important}
.gifts-compact-section .qr-box svg{width:130px!important;height:130px!important}

.video-wrap.video-vertical{width:min(320px,88vw)!important;max-width:320px!important;aspect-ratio:9/16!important;margin:0 auto 32px!important;background:#000!important;border:2px solid var(--gold)!important;padding:6px!important;overflow:hidden!important}
.video-wrap.video-vertical video{width:100%!important;height:100%!important;display:block!important;object-fit:contain!important;background:#000!important}

@media(max-width:800px){
 .gifts-compact-section .gifts-grid{grid-template-columns:repeat(2,220px)!important}
 .gifts-compact-section .gift-card{width:220px!important}
 .gifts-compact-section .gift-card>img{height:190px!important}
}
@media(max-width:520px){
 .gifts-compact-section .gifts-grid{grid-template-columns:1fr!important;max-width:250px!important;margin:0 auto!important}
 .gifts-compact-section .gift-card{width:100%!important}
 .ceremony-centered .space-gallery{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important}
 .ceremony-centered .space-gallery img:first-child{grid-column:2 / span 4!important}
 .ceremony-centered .space-gallery img:nth-child(2){grid-column:1 / span 2!important}
 .ceremony-centered .space-gallery img:nth-child(3){grid-column:3 / span 2!important}
 .ceremony-centered .space-gallery img:nth-child(4){grid-column:5 / span 2!important}
}


/* Ajustes 09/09/2026 — RSVP, padrinhos, rodapé e status de convidados */
.godparent-couple-card{padding-top:14px}
.rsvp-title-highlight{display:inline-block!important;white-space:nowrap;background:linear-gradient(transparent 58%,rgba(181,131,109,.18) 58%);padding:0 .12em 5px;margin-left:auto!important;margin-right:auto!important;font-weight:500!important;color:#9f684f!important}
.footer{padding:15px 0!important}.footer p{margin:0 0 4px!important}.footer .admin-link{margin-top:2px!important}
.guest-status-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.guest-status-card{border:1px solid #eadfce;border-radius:12px;padding:14px;background:#fff}.guest-status-card>strong{display:block;font-size:1rem;margin-bottom:4px}.guest-status-card>span{display:inline-block;font-size:1.55rem;font-weight:700;margin-bottom:8px}.guest-status-card.confirmed>strong,.guest-status-card.confirmed>span,.guest-status-confirmed{color:#25833b!important}.guest-status-card.declined>strong,.guest-status-card.declined>span,.guest-status-declined{color:#c0392b!important}.guest-status-card.pending>strong,.guest-status-card.pending>span,.guest-status-pending{color:#7b6c5a!important}.guest-status-list{max-height:190px;overflow:auto;border-top:1px solid #eee;padding-top:8px}.guest-status-list div{padding:4px 0;border-bottom:1px dashed #eee}.guest-status-list small{color:var(--muted)}.guest-status-inline{line-height:1.8}.guest-status-inline span{white-space:nowrap}
@media(max-width:760px){.guest-status-dashboard{grid-template-columns:1fr}.rsvp-title-highlight{font-size:clamp(1.75rem,8vw,2.7rem)!important}}
@media(max-width:420px){.rsvp-title-highlight{font-size:clamp(1.55rem,7.5vw,2rem)!important}}

/* Ajuste 09/09/2026 — tamanho do título da confirmação */
.rsvp-search-card .rsvp-title-highlight{font-size:clamp(1.6rem,3vw,2.4rem)!important;line-height:1.08!important;}
@media(max-width:760px){.rsvp-search-card .rsvp-title-highlight{font-size:clamp(1.7rem,7vw,2.35rem)!important;}}
@media(max-width:420px){.rsvp-search-card .rsvp-title-highlight{font-size:clamp(1.5rem,6.8vw,1.9rem)!important;}}
