@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,ital,wght@6..96,400;6..96,500;6..96,600&family=Manrope:wght@300;400;500&display=swap');
:root{--obs:#070707;--ivory:#f3efe7;--gold:#c7a35b;--gold2:#e5cf9c;--brown:#33261c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--obs);color:#fff;font-family:Manrope,Arial,sans-serif;overflow-x:hidden}.grain{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.page-line{position:fixed;z-index:1200;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#8f6d32,var(--gold2),#8f6d32);transform:scaleX(0);transform-origin:left}.royal-nav{position:fixed;z-index:1000;left:0;top:0;width:100%;height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;transition:.45s}.royal-nav.solid{height:64px;background:rgba(7,7,7,.88);backdrop-filter:blur(18px);border-bottom:1px solid #ffffff10}.crest{color:#fff;text-decoration:none;font:23px "Bodoni Moda";letter-spacing:8px}.crest span{color:var(--gold)}.royal-nav nav{display:flex;gap:35px}.royal-nav nav a{color:#fff;text-decoration:none;font-size:9px;letter-spacing:3px;text-transform:uppercase}.nav-menu{display:none;background:none;border:0;color:#fff;font-size:9px;letter-spacing:3px}.hero{height:100vh;min-height:720px;display:grid;grid-template-columns:46% 54%;overflow:hidden}.hero-left{position:relative;background:radial-gradient(circle at 20% 25%,#2d2317 0,transparent 33%),#0a0908;display:flex;align-items:center;padding:8vw}.hero-right{position:relative;overflow:hidden}.hero-photo-wrap{position:absolute;inset:0;overflow:hidden}.hero-photo-wrap img{width:100%;height:112%;object-fit:cover;filter:saturate(.7) contrast(1.04);transform:scale(1.08)}.hero-photo-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a0908 0,transparent 30%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 50%)}.hero-shine{position:absolute;z-index:2;inset:-40%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.14) 49%,transparent 57%);transform:translateX(-60%);animation:shine 6s ease-in-out infinite}@keyframes shine{50%,100%{transform:translateX(60%)}}.hero-copy{position:relative;z-index:4}.micro{font-size:8px;letter-spacing:5px;color:var(--gold2)}.hero-copy h1{font:clamp(72px,8.5vw,140px)/.78 "Bodoni Moda";font-weight:400;margin:24px 0 30px;letter-spacing:-5px;max-width:700px}.hero-copy p{font:italic 21px/1.4 "Bodoni Moda";max-width:450px;color:#d4c9b6}.gold-stroke{width:110px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:25px 0}.royal-btn{display:inline-flex;align-items:center;gap:35px;padding:16px 18px 16px 25px;border:1px solid var(--gold);color:#fff;text-decoration:none;font-size:9px;letter-spacing:2px;margin-top:30px;transition:.35s;background:transparent;cursor:pointer}.royal-btn i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#111;font-style:normal}.royal-btn:hover{background:var(--gold);color:#111;box-shadow:0 0 40px #c7a35b33}.royal-btn:hover i{background:#111;color:#fff}.hero-date{position:absolute;left:8vw;bottom:4vh;z-index:3}.hero-date span{display:block;font-size:7px;letter-spacing:4px;color:#888}.hero-date strong{font:18px "Bodoni Moda";font-weight:400;color:var(--gold2)}.floating-card{position:absolute;right:3vw;bottom:4vh;z-index:5;width:260px;padding:20px 22px;background:rgba(10,10,10,.46);border:1px solid #ffffff22;backdrop-filter:blur(14px)}.floating-card>span{font-size:7px;letter-spacing:3px;color:#ccc}.mini-count{display:flex;align-items:baseline;gap:8px;margin-top:12px}.mini-count b{font:37px "Bodoni Moda";color:var(--gold2)}.mini-count small{font-size:6px;letter-spacing:2px;color:#aaa}.ring{position:absolute;width:420px;height:420px;border:1px solid #c7a35b22;border-radius:50%;left:-170px;top:70px;animation:spin 28s linear infinite}.r2{width:280px;height:280px;left:-100px;top:140px;border-style:dashed;animation-direction:reverse}@keyframes spin{to{transform:rotate(360deg)}}.lux-marquee{height:68px;background:#0b0a09;border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d;overflow:hidden;display:flex;align-items:center}.lux-marquee div{white-space:nowrap;font:30px "Bodoni Moda";color:#ffffff11;animation:marq 26s linear infinite}@keyframes marq{to{transform:translateX(-50%)}}.story{background:var(--ivory);color:#17120d;display:grid;grid-template-columns:48% 52%;min-height:1800px}.story-sticky{height:100vh;position:sticky;top:0;padding:8vh 4vw 8vh 8vw}.story-photo-main{height:84vh;overflow:hidden;position:relative}.story-photo-main img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.story-photo-main:after{content:"";position:absolute;inset:0;border:1px solid #fff6;margin:14px}.story-caption{font-size:7px;letter-spacing:4px;margin-top:15px;color:#7e7468}.story-text{padding:14vw 8vw 12vw 5vw}.section-no{display:block;font:85px "Bodoni Moda";color:#0000000e}.micro.dark{color:#84652f}.story-block h2{font:italic 72px/.9 "Bodoni Moda";font-weight:400;margin:25px 0 40px}.story-block p{font-size:14px;line-height:1.9;color:#5e564c}.story-quote{margin:160px 0}.story-quote>span{font:130px "Bodoni Moda";color:var(--gold);line-height:.4}.story-quote blockquote{font:italic 36px/1.35 "Bodoni Moda";margin:15px 0;color:#6d5630}.story-mini-gallery{display:grid;grid-template-columns:42% 58%;gap:40px;align-items:center}.gallery-card{height:430px;overflow:hidden}.gallery-card img{width:100%;height:100%;object-fit:cover}.gallery-copy small{font-size:8px;letter-spacing:4px;color:#8d6b31}.gallery-copy h3{font:47px/1.05 "Bodoni Moda";font-weight:400}.gallery-copy h3 i{color:#9f793a}.day{padding:11vw 7vw;background:#0b0a08}.day-head{text-align:center;margin-bottom:100px}.day-head h2{font:clamp(65px,8vw,120px)/.88 "Bodoni Moda";font-weight:400;margin:20px}.acts{max-width:1300px;margin:auto;display:grid;gap:120px}.act{display:grid;grid-template-columns:52% 48%;min-height:520px;position:relative}.act.second{grid-template-columns:48% 52%}.act.second .act-photo{order:2}.act-photo{overflow:hidden}.act-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s;filter:saturate(.72)}.act:hover .act-photo img{transform:scale(1.04)}.act-info{padding:80px;background:linear-gradient(145deg,#15120e,#0f0d0b);border:1px solid #ffffff0b;display:flex;flex-direction:column;justify-content:center}.act-info small{font-size:8px;letter-spacing:4px;color:var(--gold)}.act-info h3{font:italic 50px/.95 "Bodoni Moda";font-weight:400;margin:30px 0}.act-info p{font-size:13px;line-height:1.7;color:#aaa092}.act-info strong{font-size:8px;letter-spacing:3px;color:var(--gold2);margin-top:28px}.act-index{position:absolute;z-index:5;right:25px;top:5px;font:95px "Bodoni Moda";color:#ffffff08}.full-quote{height:90vh;position:relative;display:grid;place-items:center;overflow:hidden}.full-photo{position:absolute;inset:0}.full-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.6)}.full-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#090806cc,#0002),radial-gradient(circle at center,transparent,#0009)}.full-copy{position:relative;text-align:center}.full-copy span{font-size:8px;letter-spacing:6px;color:var(--gold2)}.full-copy h2{font:clamp(62px,8vw,120px)/.88 "Bodoni Moda";font-weight:400;margin:25px}.full-copy h2 i{color:var(--gold2)}.gifts{background:var(--ivory);color:#18130d;padding:11vw 7vw}.gift-shell{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end}.gift-title h2{font:80px/.85 "Bodoni Moda";font-weight:400;margin:25px 0}.gift-copy p{font-size:15px;line-height:1.8;color:#5f574d}.gift-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.dark-btn{color:#111}.text-btn{background:none;border:0;border-bottom:1px solid #9b7b44;color:#6e5328;padding:9px 0;font-size:8px;letter-spacing:3px;cursor:pointer}.rsvp{min-height:850px;display:grid;grid-template-columns:52% 48%}.rsvp-left{position:relative;overflow:hidden}.rsvp-bg{position:absolute;inset:0}.rsvp-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.65)}.rsvp-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#000b,#0001 60%)}.rsvp-title{position:absolute;left:7vw;bottom:9vh;z-index:2}.rsvp-title h2{font:75px/.88 "Bodoni Moda";font-weight:400;margin:18px 0}.rsvp-title p{font:italic 20px "Bodoni Moda";color:#d6cdbd}.rsvp-right{background:#11100e;padding:9vw 7vw;display:flex;align-items:center}.rsvp-right form{width:100%;display:grid;gap:28px}.rsvp-right label{font-size:7px;letter-spacing:3px;color:#9d927f}.rsvp-right input,.rsvp-right select{display:block;width:100%;border:0;border-bottom:1px solid #ffffff1e;background:transparent;color:#fff;padding:14px 0;font:14px Manrope;outline:0}.rsvp-right select option{color:#111}.submit-btn{width:max-content}footer{min-height:60vh;background:#070707;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.footer-crest{color:var(--gold);font-size:24px}footer>span{font-size:8px;letter-spacing:5px;color:var(--gold2);margin-top:20px}footer h2{font:italic 80px "Bodoni Moda";font-weight:400;margin:25px}footer p{font:17px "Bodoni Moda";color:#aaa}footer a{color:var(--gold2);font-size:8px;letter-spacing:3px;text-decoration:none;border-bottom:1px solid;margin-top:25px;padding-bottom:6px}.admin-float{position:fixed;z-index:1100;right:18px;bottom:18px;width:44px;height:44px;display:grid;place-items:center;background:var(--gold2);color:#111;text-decoration:none;border-radius:50%}.reveal,.reveal-left,.reveal-right{opacity:0;transition:1s cubic-bezier(.16,.8,.2,1)}.reveal{transform:translateY(50px)}.reveal-left{transform:translateX(-65px)}.reveal-right{transform:translateX(65px)}.show{opacity:1;transform:none}

/* compatibilidade com painel e demais páginas */
.admin{background:#efefef;color:#222}.admin nav{background:#0b0a09;color:#fff;padding:18px 5%;display:flex;gap:25px}.admin nav b{margin-right:auto}.admin main{max-width:1200px;margin:auto;padding:35px 20px}.admin-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.panel{background:#fff;padding:25px;margin-bottom:20px}.panel form{display:grid;gap:12px}.panel input,.panel textarea{padding:12px}.pill{padding:14px;border:0;background:#111;color:#fff}.table{overflow:auto}.table table{width:100%;border-collapse:collapse}.table td,.table th{padding:9px;border-bottom:1px solid #ddd;text-align:left}.checkout{min-height:100vh;display:grid;place-items:center;padding:20px;background:#efefef;color:#222}.checkout-box{background:#fff;padding:40px;max-width:600px;width:100%;text-align:center}.checkout-box form{display:grid;gap:12px}.checkout-box input,.checkout-box textarea{padding:14px}.gift-page{background:#0c0b09;color:#eee}.gift-head{padding:60px 5%;display:flex;justify-content:space-between}.gift-grid{padding:20px 5% 80px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gift-card{background:#15120e;border:1px solid #c7a35b25}.gift-media{height:330px;display:grid;place-items:center;background:#211a13}.gift-media img{width:100%;height:100%;object-fit:cover}.gift-emoji{font-size:90px}.gift-info{padding:25px}.gift-buy{display:block;margin-top:20px;background:var(--gold);color:#111;padding:12px;text-align:center;text-decoration:none}

@media(max-width:900px){
.royal-nav nav{display:none;position:absolute;top:64px;left:0;right:0;background:#080706f2;padding:30px;flex-direction:column}.royal-nav nav.open{display:flex}.nav-menu{display:block}.hero{grid-template-columns:1fr}.hero-left{position:absolute;z-index:5;inset:0;background:linear-gradient(90deg,#090807ee,#09080766 65%,transparent);padding:8vw}.hero-right{grid-column:1}.story{grid-template-columns:1fr}.story-sticky{position:relative;height:auto;padding:70px 30px}.story-photo-main{height:70vh}.story-text{padding:100px 30px}.act,.act.second{grid-template-columns:1fr}.act.second .act-photo{order:0}.act-photo{height:420px}.gift-shell{grid-template-columns:1fr;gap:30px}.rsvp{grid-template-columns:1fr}.rsvp-left{height:650px}.rsvp-right{padding:80px 30px}.gift-grid{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}}
@media(max-width:560px){
.hero-copy h1{font-size:68px}.hero-copy{max-width:90vw}.floating-card{width:210px}.story-mini-gallery{grid-template-columns:1fr}.gallery-card{height:360px}.story-quote{margin:100px 0}.story-block h2{font-size:52px}.act-info{padding:45px 25px}.act-info h3{font-size:40px}.full-copy h2{font-size:58px}.gift-title h2{font-size:60px}.gift-actions{flex-direction:column;align-items:flex-start}.rsvp-title h2{font-size:58px}.gift-grid{grid-template-columns:1fr}}

.music-player{position:fixed;z-index:1090;left:22px;bottom:22px;display:flex;align-items:center;gap:12px;padding:9px 16px 9px 9px;background:rgba(8,7,6,.72);border:1px solid #c7a35b55;backdrop-filter:blur(18px);box-shadow:0 15px 45px #0006;transition:.35s}
.music-player:hover{border-color:#c7a35baa;transform:translateY(-2px)}
.music-player button{width:46px;height:46px;border-radius:50%;border:1px solid #c7a35b;background:#c7a35b;color:#111;display:grid;place-items:center;cursor:pointer;position:relative}
.music-icon{font:22px Georgia}.music-bars{display:none;height:18px;gap:2px;align-items:end}.music-bars i{display:block;width:2px;background:#111;animation:musicbar .7s ease-in-out infinite alternate}.music-bars i:nth-child(1){height:7px}.music-bars i:nth-child(2){height:15px;animation-delay:-.2s}.music-bars i:nth-child(3){height:10px;animation-delay:-.4s}.music-bars i:nth-child(4){height:17px;animation-delay:-.1s}.music-player.playing .music-icon{display:none}.music-player.playing .music-bars{display:flex}.music-meta{display:flex;flex-direction:column;max-width:180px}.music-meta small{font-size:6px;letter-spacing:2px;color:#a99a83}.music-meta b{font:italic 14px "Bodoni Moda";font-weight:400;color:#e5cf9c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes musicbar{to{height:4px;opacity:.55}}
@media(max-width:560px){.music-player{left:12px;bottom:12px;padding-right:10px}.music-meta{max-width:115px}.music-meta small{display:none}.music-meta b{font-size:12px}.admin-float{right:12px;bottom:12px}}

#ytPlayerHost{position:fixed;width:1px;height:1px;left:-10px;bottom:-10px;overflow:hidden;opacity:.01;pointer-events:none}
.yt-music{position:fixed;z-index:1090;left:22px;bottom:22px;display:flex;align-items:center;gap:12px;padding:9px 16px 9px 9px;background:rgba(8,7,6,.78);border:1px solid #c7a35b55;backdrop-filter:blur(18px);box-shadow:0 15px 45px #0007}
.yt-music button{width:46px;height:46px;border-radius:50%;border:1px solid #c7a35b;background:#c7a35b;color:#111;display:grid;place-items:center;cursor:pointer}.yt-note{font:22px Georgia}.yt-eq{display:none;height:18px;gap:2px;align-items:end}.yt-eq i{display:block;width:2px;background:#111;animation:yteq .65s ease-in-out infinite alternate}.yt-eq i:nth-child(1){height:7px}.yt-eq i:nth-child(2){height:16px;animation-delay:-.2s}.yt-eq i:nth-child(3){height:10px;animation-delay:-.4s}.yt-eq i:nth-child(4){height:14px;animation-delay:-.1s}.yt-music.playing .yt-note{display:none}.yt-music.playing .yt-eq{display:flex}.yt-meta{display:grid;max-width:180px}.yt-meta small{font-size:6px;letter-spacing:2px;color:#a99a83}.yt-meta b{font:italic 14px "Bodoni Moda";font-weight:400;color:#e5cf9c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yt-meta span{font-size:6px;letter-spacing:2px;color:#888}@keyframes yteq{to{height:4px;opacity:.5}}
.music-welcome{position:fixed;z-index:5000;inset:0;background:radial-gradient(circle at 50% 35%,#352719,#080706 58%);display:grid;place-items:center;text-align:center;transition:opacity .7s,visibility .7s}.music-welcome.closed{opacity:0;visibility:hidden}.welcome-inner{width:min(520px,90vw);padding:55px 35px;border:1px solid #c7a35b55;background:#ffffff05;backdrop-filter:blur(18px);box-shadow:0 30px 100px #0008}.welcome-inner>span{color:#c7a35b;font-size:25px}.welcome-inner small{display:block;margin:20px 0;font-size:7px;letter-spacing:4px;color:#cdbb9c}.welcome-inner h3{font:italic 52px "Bodoni Moda";font-weight:400;margin:15px}.welcome-inner p{color:#aaa092;font-size:12px;line-height:1.7}.welcome-inner button{display:block;width:100%;margin-top:12px;padding:15px;border:1px solid #c7a35b;background:#c7a35b;color:#111;font-size:8px;letter-spacing:2px;cursor:pointer}.welcome-inner #enterSilent{background:transparent;color:#b9ab94;border-color:#ffffff18}
@media(max-width:560px){.yt-music{left:12px;bottom:12px}.yt-meta{max-width:115px}.welcome-inner h3{font-size:42px}}


/* ===== V11 MOBILE / RESPONSIVO ===== */
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%}

/* Tablet */
@media(max-width:1024px){
  .royal-nav{padding:0 24px}
  .hero{grid-template-columns:1fr;min-height:760px;height:auto}
  .hero-left{
    position:absolute;inset:0;z-index:5;
    background:linear-gradient(90deg,rgba(7,7,7,.94),rgba(7,7,7,.7) 56%,rgba(7,7,7,.25));
    padding:120px 50px 100px;
    align-items:center
  }
  .hero-right{height:760px}
  .hero-photo-wrap img{height:100%;transform:scale(1.04)}
  .hero-copy{max-width:620px}
  .hero-copy h1{font-size:clamp(70px,10vw,110px)}
  .floating-card{right:24px;bottom:24px}
  .hero-date{left:50px;bottom:30px}
  .story{grid-template-columns:1fr;min-height:auto}
  .story-sticky{position:relative;height:auto;padding:70px 50px 20px}
  .story-photo-main{height:70vh;min-height:520px}
  .story-text{padding:80px 50px 100px}
  .story-quote{margin:90px 0}
  .act,.act.second{grid-template-columns:1fr}
  .act.second .act-photo{order:0}
  .act-photo{height:460px}
  .act-info{padding:60px 50px}
  .gift-shell{grid-template-columns:1fr;gap:30px}
  .rsvp{grid-template-columns:1fr}
  .rsvp-left{height:650px}
  .rsvp-right{padding:80px 50px}
}

/* Celular */
@media(max-width:700px){
  body{font-size:16px}

  .royal-nav{
    height:62px!important;
    padding:0 16px;
    background:rgba(7,7,7,.82);
    backdrop-filter:blur(16px)
  }
  .crest{font-size:19px;letter-spacing:5px}
  .nav-menu{display:block}
  .royal-nav nav{
    display:none;
    position:absolute;
    top:62px;left:0;right:0;
    background:rgba(7,7,7,.98);
    border-top:1px solid #ffffff10;
    padding:22px 18px 28px;
    flex-direction:column;
    gap:0
  }
  .royal-nav nav.open{display:flex}
  .royal-nav nav a{
    display:block;
    padding:16px 4px;
    border-bottom:1px solid #ffffff0d;
    font-size:10px
  }

  .hero{
    min-height:760px;
    height:100svh;
    max-height:900px
  }
  .hero-left{
    padding:110px 22px 110px;
    background:linear-gradient(180deg,rgba(5,5,5,.52),rgba(5,5,5,.78) 58%,rgba(5,5,5,.96))
  }
  .hero-right{height:100%}
  .hero-photo-wrap{inset:0}
  .hero-photo-wrap img{
    width:100%;height:100%;
    object-position:center;
    transform:scale(1.02)!important
  }
  .hero-photo-wrap:after{
    background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.32) 45%,rgba(0,0,0,.86))
  }
  .hero-copy{width:100%;max-width:none;margin-top:110px}
  .micro{font-size:7px;letter-spacing:3px}
  .hero-copy h1{
    font-size:clamp(54px,17vw,82px);
    letter-spacing:-3px;
    line-height:.82;
    margin:20px 0 22px
  }
  .hero-copy p{
    font-size:18px;
    max-width:92%;
    line-height:1.35
  }
  .gold-stroke{margin:18px 0;width:75px}
  .royal-btn{
    width:100%;
    justify-content:space-between;
    margin-top:24px;
    padding:14px 14px 14px 18px
  }
  .hero-date{
    left:22px;
    bottom:24px;
    max-width:52%
  }
  .hero-date strong{font-size:15px}
  .floating-card{
    width:auto;
    min-width:155px;
    right:16px;
    bottom:18px;
    padding:13px 14px
  }
  .floating-card>span{font-size:6px}
  .mini-count{gap:5px}
  .mini-count b{font-size:29px}
  .ring{display:none}

  .lux-marquee{height:52px}
  .lux-marquee div{font-size:21px}

  .story-sticky{padding:50px 18px 15px}
  .story-photo-main{
    height:62vh;
    min-height:420px;
    max-height:620px
  }
  .story-caption{font-size:6px;letter-spacing:3px}
  .story-text{padding:65px 22px 80px}
  .section-no{font-size:62px}
  .story-block h2{
    font-size:48px;
    margin:18px 0 28px
  }
  .story-block p{
    font-size:14px;
    line-height:1.75
  }
  .story-quote{margin:75px 0}
  .story-quote>span{font-size:95px}
  .story-quote blockquote{
    font-size:28px;
    margin-top:10px
  }
  .story-mini-gallery{
    grid-template-columns:1fr;
    gap:24px
  }
  .gallery-card{height:420px}
  .gallery-copy h3{font-size:38px}

  .day{padding:85px 18px}
  .day-head{margin-bottom:55px}
  .day-head h2{
    font-size:54px;
    margin:15px 0
  }
  .acts{gap:55px}
  .act{min-height:auto}
  .act-photo{height:330px}
  .act-info{padding:40px 24px}
  .act-info h3{
    font-size:38px;
    margin:22px 0
  }
  .act-index{
    font-size:70px;
    right:14px
  }

  .full-quote{
    height:72vh;
    min-height:560px
  }
  .full-copy{
    padding:0 20px
  }
  .full-copy h2{
    font-size:50px;
    line-height:.9;
    margin:20px 0
  }

  .gifts{padding:80px 20px}
  .gift-shell{gap:35px}
  .gift-title h2{
    font-size:56px;
    margin:18px 0
  }
  .gift-copy p{font-size:14px}
  .gift-actions{
    flex-direction:column;
    align-items:stretch;
    gap:12px
  }
  .gift-actions .royal-btn{
    width:100%;
    margin-top:0
  }
  .text-btn{
    width:100%;
    padding:14px 0
  }

  .rsvp-left{
    height:60vh;
    min-height:500px
  }
  .rsvp-title{
    left:22px;
    right:22px;
    bottom:45px
  }
  .rsvp-title h2{
    font-size:50px;
    margin:15px 0
  }
  .rsvp-title p{font-size:18px}
  .rsvp-right{
    padding:65px 22px 80px
  }
  .rsvp-right form{gap:24px}
  .rsvp-right input,.rsvp-right select{
    font-size:16px;
    padding:15px 0
  }
  .submit-btn{width:100%}

  footer{
    min-height:520px;
    padding:70px 20px
  }
  footer h2{
    font-size:56px;
    line-height:.95;
    margin:22px 0
  }

  .yt-music{
    left:10px!important;
    bottom:10px!important;
    max-width:calc(100vw - 74px);
    padding:7px 10px 7px 7px!important
  }
  .yt-music button{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px
  }
  .yt-meta{
    max-width:120px!important
  }
  .yt-meta b{
    font-size:11px!important
  }

  .music-welcome{
    padding:16px
  }
  .welcome-inner{
    width:100%!important;
    padding:38px 22px!important;
    max-height:92svh;
    overflow:auto
  }
  .welcome-inner h3{
    font-size:38px!important;
    line-height:1
  }
  .welcome-inner p{
    font-size:13px!important
  }
  .welcome-inner button{
    min-height:48px
  }

  .admin-float{
    width:42px;height:42px;
    right:10px;bottom:10px
  }

  /* Admin no celular */
  .admin nav{
    padding:14px 16px;
    flex-wrap:wrap;
    gap:12px
  }
  .admin nav b{width:100%;margin:0}
  .admin main{padding:20px 12px}
  .admin-grid{grid-template-columns:1fr}
  .panel{
    padding:16px;
    overflow:hidden
  }
  .image-admin-grid{grid-template-columns:1fr!important}
  .image-preview{height:210px!important}
  .gift-admin-list{grid-template-columns:1fr!important}
  .table{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table table{min-width:650px}
  .panel input,.panel textarea,.panel select{
    width:100%;
    max-width:100%
  }

  /* Lista de presentes celular */
  .gift-head{
    padding:80px 18px 35px;
    display:block;
    text-align:center
  }
  .gift-head>a{
    display:block;
    text-align:left;
    margin-bottom:25px
  }
  .gift-grid{
    grid-template-columns:1fr!important;
    padding:10px 14px 80px;
    gap:18px
  }
  .gift-card{
    border-radius:18px;
    overflow:hidden
  }
  .gift-media{height:300px}
  .gift-info{padding:22px}
  .gift-buy{
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center
  }

  /* Checkout/presente no celular */
  .checkout{padding:12px}
  .checkout-box{
    padding:28px 18px;
    width:100%;
    max-width:100%;
    border-radius:18px
  }
  .checkout-box h1{font-size:30px}
  .checkout-box input,.checkout-box textarea{
    width:100%;
    font-size:16px
  }
}

@media(max-width:380px){
  .hero-copy h1{font-size:52px}
  .floating-card{display:none}
  .hero-date{max-width:80%}
  .story-block h2,.gift-title h2,.rsvp-title h2{font-size:44px}
  .full-copy h2{font-size:44px}
  footer h2{font-size:48px}
}

/* Safe areas iPhone */
@supports(padding:max(0px)){
  .royal-nav{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .yt-music{bottom:max(10px,env(safe-area-inset-bottom))}
  .admin-float{bottom:max(10px,env(safe-area-inset-bottom))}
}


/* ===== V12 FIX YOUTUBE NO CELULAR ===== */
#ytPlayerHost{
  position:fixed!important;
  z-index:-1!important;
  left:0!important;
  bottom:0!important;
  width:320px!important;
  height:180px!important;
  opacity:.001!important;
  pointer-events:none!important;
  overflow:hidden!important;
  display:block!important;
  visibility:visible!important;
}
#ytPlayerHost iframe{
  width:320px!important;
  height:180px!important;
  display:block!important;
  visibility:visible!important;
}
#enterMusic:disabled{opacity:.55;cursor:wait}
.music-welcome.closed{pointer-events:none}
@media(max-width:700px){
  #ytPlayerHost,#ytPlayerHost iframe{
    width:240px!important;
    height:135px!important;
  }
  #enterMusic,#enterSilent,#ytToggle{touch-action:manipulation}
}

/* ===== CORRECAO PRESENTES V2 - fotos reais + visual integrado ===== */
.gift-page{min-height:100vh}.gift-page .gift-head{max-width:1440px;margin:auto;padding:34px clamp(20px,5vw,72px);display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center}.gift-back{color:inherit;text-decoration:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}.gift-title{text-align:center}.gift-title>span,.gift-kicker{font-size:10px;letter-spacing:.28em;text-transform:uppercase;opacity:.65}.gift-title h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(40px,5vw,72px);font-weight:400;line-height:.9;margin:12px 0 8px;letter-spacing:-.02em}.gift-title p{margin:0;font-size:12px;letter-spacing:.22em;text-transform:uppercase}.gift-wrap{max-width:1380px;margin:auto;padding:20px clamp(18px,4vw,60px) 80px}.gift-intro{max-width:760px;margin:50px auto 70px;text-align:center}.gift-intro h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(36px,5vw,64px);font-weight:400;line-height:1;margin:18px 0}.gift-intro h2 em{font-weight:400}.gift-intro p{max-width:650px;margin:auto;line-height:1.8;font-size:14px;opacity:.72}.gift-page .gift-grid{max-width:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,32px)}.gift-page .gift-card{border:0;overflow:hidden;position:relative;transition:transform .35s ease,box-shadow .35s ease}.gift-page .gift-card:hover{transform:translateY(-7px)}.gift-page .gift-media{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#ddd}.gift-page .gift-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1);filter:saturate(.88)}.gift-page .gift-card:hover .gift-media img{transform:scale(1.045)}.gift-photo-fallback{width:100%;height:100%;place-items:center;font-size:70px}.gift-number{position:absolute;top:14px;left:14px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.88);color:#222;font:11px Montserrat,Arial;backdrop-filter:blur(8px)}.gift-page .gift-info{min-height:250px;padding:24px;display:flex;flex-direction:column;text-align:left}.gift-copy{flex:1}.gift-page .gift-info h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:27px;font-weight:500;line-height:1.05;margin:0 0 12px}.gift-page .gift-info p{font-size:12px;line-height:1.65;margin:0;opacity:.68}.gift-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-top:24px;padding-top:18px;border-top:1px solid currentColor}.gift-bottom strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:25px;font-weight:500;white-space:nowrap}.gift-bottom strong small{font:9px Montserrat,Arial;letter-spacing:.08em}.gift-page .gift-buy{padding:0;background:none;color:inherit;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.gift-buy span{font-size:18px;margin-left:6px;transition:margin .2s}.gift-buy:hover span{margin-left:10px}.gift-ending{text-align:center;padding:90px 20px 15px}.gift-ending>span{font-size:20px}.gift-ending p{font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;margin:12px 0}.gift-ending a{color:inherit;font-size:11px;text-transform:uppercase;letter-spacing:.16em}.gift-page.gift-model-1,.gift-page.gift-model-2,.gift-page.gift-model-3,.gift-page.gift-model-4,.gift-page.gift-model-5{background:#f7f2ed;color:#84370f}.gift-page.gift-model-1 .gift-card,.gift-page.gift-model-2 .gift-card,.gift-page.gift-model-3 .gift-card,.gift-page.gift-model-4 .gift-card,.gift-page.gift-model-5 .gift-card{background:#fff;box-shadow:0 16px 50px rgba(92,47,25,.07)}.gift-page.gift-model-6{background:#ece9e2;color:#151515}.gift-page.gift-model-6 .gift-card{background:#f8f6f1}.gift-page.gift-model-7{background:#090909;color:#f4ead9}.gift-page.gift-model-7 .gift-card{background:#15130f;border:1px solid rgba(220,186,118,.18)}.gift-page.gift-model-7 .gift-number{background:rgba(20,18,14,.82);color:#e7c98d}.gift-page.gift-model-8,.gift-page.gift-model-9,.gift-page.gift-model-10,.gift-page.gift-model-11{background:#0d0f12;color:#f7f4ee}.gift-page.gift-model-8 .gift-card,.gift-page.gift-model-9 .gift-card,.gift-page.gift-model-10 .gift-card,.gift-page.gift-model-11 .gift-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);box-shadow:0 22px 60px rgba(0,0,0,.2)}.gift-page.gift-model-8 .gift-info,.gift-page.gift-model-9 .gift-info,.gift-page.gift-model-10 .gift-info,.gift-page.gift-model-11 .gift-info{color:#f7f4ee}.gift-page.gift-model-8 .gift-number,.gift-page.gift-model-9 .gift-number,.gift-page.gift-model-10 .gift-number,.gift-page.gift-model-11 .gift-number{background:rgba(12,14,18,.72);color:#fff}.gift-page .gift-bottom{border-top-color:rgba(128,128,128,.25)}
@media(max-width:980px){.gift-page .gift-grid{grid-template-columns:repeat(2,1fr)}.gift-page .gift-head{grid-template-columns:1fr}.gift-head-spacer{display:none}.gift-back{margin-bottom:25px}.gift-intro{margin:30px auto 50px}}
@media(max-width:600px){.gift-page .gift-head{padding-top:24px}.gift-title h1{font-size:44px}.gift-wrap{padding-left:14px;padding-right:14px}.gift-intro{padding:0 12px}.gift-intro h2{font-size:39px}.gift-page .gift-grid{grid-template-columns:1fr;gap:18px}.gift-page .gift-media{aspect-ratio:1.28}.gift-page .gift-info{min-height:220px;padding:21px}.gift-page .gift-info h3{font-size:28px}.gift-ending{padding-top:65px}}
