/* Responsive overrides para Invyx Rose. intro.css se conserva sin cambios. */
html,body{max-width:100%;overflow-x:clip}
main,section,.container,.section-heading,.confirm-card,.info-card{min-width:0}
img,svg,video{max-width:100%}
button,a,input,select{touch-action:manipulation}
section[id]{scroll-margin-top:82px}
.gift-modal{overscroll-behavior:contain}
@media(max-width:850px){
 .topbar{z-index:100}
 .top-nav{max-height:calc(100dvh - 70px);overflow-y:auto;gap:0;box-shadow:0 16px 30px rgba(92,45,71,.12)}
 .top-nav a{display:block;width:100%;padding:10px 16px;text-align:center}
 .menu-btn{min-width:44px;min-height:44px;cursor:pointer}
 .event-feature{gap:28px}
 .event-feature .photo{min-height:360px}
}
@media(max-width:650px){
 .container{width:min(100% - 28px,1120px)}
 .section{padding:56px 0}
 .nav-inner{height:64px}
 .top-nav{top:64px;max-height:calc(100dvh - 64px)}
 .hero{min-height:100svh;padding:92px 0 56px}
 .hero h1{font-size:clamp(3.5rem,18vw,5.5rem);overflow-wrap:anywhere}
 .hero p{font-size:.96rem}
 .hero .actions{display:flex;flex-direction:column;align-items:stretch;max-width:330px;margin-inline:auto}
 .hero .actions .btn{width:100%;min-height:46px}
 .countdown{gap:9px;margin-top:30px}
 .countdown div{padding:13px 6px;border-radius:13px;min-width:0}
 .countdown strong{font-size:clamp(1.15rem,5vw,1.6rem)}
 .countdown span{font-size:.66rem;letter-spacing:0}
 .event-feature .photo{min-height:320px;border-radius:22px}
 .event-feature h2{overflow-wrap:anywhere}
 .info-card{padding:22px;border-radius:18px}
 .section-heading{margin-bottom:30px}
 .section-heading h2{font-size:clamp(2.15rem,10vw,3rem)}
 .dress-title{font-size:clamp(2.4rem,12vw,4rem);letter-spacing:.09em;overflow-wrap:anywhere}
 .dress-palette{gap:10px}
 .dress-palette span{width:40px;height:40px}
 .gifts-grid{grid-template-columns:1fr;max-width:390px;gap:12px}
 .gift-tile{min-height:132px;padding:18px}
 .gift-modal-backdrop{padding:12px;align-items:center}
 .gift-modal{width:min(100%,480px);max-height:calc(100dvh - 24px);padding:40px 18px 24px;border-radius:17px}
 .gift-modal h2{font-size:clamp(1.3rem,6vw,1.7rem)}
 .gift-data{display:grid;grid-template-columns:1fr auto;justify-content:center;gap:6px 10px}
 .gift-data span{grid-column:1/-1}
 .gift-data strong{text-align:right;align-self:center;font-size:clamp(.72rem,3.4vw,.9rem);overflow-wrap:anywhere;word-break:break-word}
 .gift-data button{min-height:36px;justify-self:start}
 .agenda-actions{flex-direction:column;align-items:stretch;max-width:370px;margin:18px auto 34px}
 .btn-agenda,.agenda-google{text-align:center;padding:13px 14px}
 .song-form label{line-height:1.6;letter-spacing:.15em}
 .song-form input{min-height:48px;font-size:16px}
 .song-form button{min-height:44px}
 .confirm-card,.deadline-card{max-width:100%;overflow-wrap:anywhere}
 .footer{padding:35px 16px 94px}
 .rose-footer-content{gap:8px;line-height:1.7}
 #galeria .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #galeria .gallery-item{aspect-ratio:3/4}
 #galeria .gallery-item img{filter:none}
 #galeria .gallery-item .overlay{opacity:1;padding:10px;background:linear-gradient(to top,rgba(0,0,0,.42),transparent 55%)}
 #galeria .overlay-text{font-size:.68rem}
 .back-index{bottom:72px;left:10px;font-size:.7rem;padding:7px 10px;max-width:calc(100% - 20px)}
 .rose-demo-switch{bottom:max(10px,env(safe-area-inset-bottom));right:50%;transform:translateX(50%);max-width:calc(100% - 18px)}
 .rose-demo-switch button{min-height:40px}
 .intro-content{padding:18px 5px}
 .intro-envelope-scene{height:min(330px,47dvh)}
 .intro-hint{font-size:18px}
 .intro-skip{bottom:66px}
}
@media(max-width:375px){
 .countdown{gap:6px}
 .countdown div{padding:10px 3px}
 .countdown strong{font-size:1.2rem}
 .dress-palette span{width:35px;height:35px}
 .gift-modal{padding-inline:12px}
 .gift-data{grid-template-columns:minmax(0,1fr) auto}
 #galeria .gallery-grid{gap:7px}
 #galeria .overlay-text{font-size:.62rem}
 .intro-heading{font-size:32px}
 .intro-card-name{font-size:39px}
}
@media(max-width:340px){#galeria .gallery-grid{grid-template-columns:1fr}#galeria .gallery-item{aspect-ratio:4/5}}
@media(hover:none){.gift-tile:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
