.dress-ideas>div{min-width:0;display:flex;flex-direction:column}
#fashion-dona,#fashion-home{margin-top:auto}
.fashion-carousel{margin-top:34px;text-align:left}
.fashion-stage{position:relative;aspect-ratio:3/4;background:#ffffff;overflow:hidden;touch-action:pan-y}
.fashion-stage img{display:block;width:100%;height:100%;object-fit:contain;animation:fashion-reveal .3s ease-out}
.fashion-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;padding:0;background:rgba(255,255,255,.92);border:1px solid #1113;color:#111;font-size:25px;line-height:1;box-shadow:0 3px 14px #0002;transition:background .2s,color .2s}
.fashion-arrow:hover{background:#111;color:white}
.fashion-arrow:focus-visible{outline:2px solid #111;outline-offset:3px}
.fashion-prev{left:14px}.fashion-next{right:14px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes fashion-reveal{from{opacity:.45;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:760px){.fashion-carousel{margin-top:26px;margin-bottom:25px}.fashion-stage{max-height:650px}.fashion-prev{left:10px}.fashion-next{right:10px}}
.blue-rule .swatches i{display:grid;place-items:center}
.blue-rule .swatches{grid-template-columns:repeat(9,minmax(0,1fr));max-width:900px;gap:10px}
.blue-rule .swatches i{height:150px;border:1px solid #1112}
.blue-rule .swatches span{font-size:9px;letter-spacing:.4px;line-height:1.2;min-height:2.5em}
.blue-rule .swatches svg{width:43%;max-width:39px;min-width:22px;height:auto;filter:drop-shadow(0 1px 2px #0003)}
@media(max-width:760px){.blue-rule .swatches{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}.blue-rule .swatches i{height:116px}.blue-rule .swatches span{font-size:9px;letter-spacing:0}}
#confirmacio .rsvp-shell{background:#fff}
#confirmacio.rsvp{background:var(--ink);color:#fff;border-top:0;border-bottom:1px solid var(--line)}
#confirmacio.rsvp>.section-label{color:#b8b8b8}
#confirmacio.rsvp h2{font-size:clamp(58px,8vw,110px);line-height:.94;max-width:1100px;margin:0 auto 34px}
#confirmacio.rsvp .intro{max-width:740px}
#confirmacio .rsvp-shell{border:1px solid #ddd;box-shadow:0 18px 45px #0006}
#confirmacio .rsvp-shell input,#confirmacio .rsvp-shell select,#confirmacio .rsvp-shell textarea{background:var(--paper)}
.gifts .gift-heading{font-size:clamp(38px,4.7vw,66px);line-height:1.1;max-width:940px;margin:0 auto 35px}
.iban-copy{display:block;width:min(600px,100%);font-family:var(--sans);cursor:pointer;transition:background .2s}
.iban-copy:hover{background:#ffffff}
.iban-copy:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.iban-copy:disabled{cursor:progress}
#copy-status{min-height:1.6em}
.closing.section{padding:0;isolation:isolate}
.closing-photo{display:block;width:100%;height:auto}
.closing .contact-bg{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.12) 45%,transparent 75%);pointer-events:none}
.closing .contact-content{position:absolute;bottom:clamp(36px,8vw,150px);left:0;right:0;padding:0 24px}
.closing .footer-logo{width:clamp(240px,32vw,500px);margin:0 auto 30px}
.closing .footer-message{font-size:clamp(26px,3vw,42px);line-height:1.3;margin-bottom:24px}
.closing .date{font-size:clamp(16px,1.6vw,23px);margin:0}
@media(max-width:480px){.closing .footer-logo{width:210px;margin-bottom:18px}.closing .footer-message{font-size:25px;margin-bottom:18px}.closing .contact-content{bottom:30px}}
@media(max-width:760px){#confirmacio.rsvp h2{font-size:clamp(51px,11vw,78px)}}
.rsvp-subpage{min-height:100svh;background:#fff;color:var(--ink);border-top:8px solid var(--ink)}
.rsvp-subpage-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px max(5vw,24px);border-bottom:1px solid var(--line);font-size:12px;letter-spacing:2px}
.rsvp-subpage-top>a{font-family:var(--serif);font-size:27px;letter-spacing:2px}
.rsvp-subpage-body{max-width:1100px;margin:auto;padding:60px 24px 110px}
.rsvp-back{font-size:11px;letter-spacing:1.4px;text-decoration:underline;text-underline-offset:5px}
.rsvp-subpage-body>.section-label{margin:70px 0 24px}
.rsvp-subpage h1{font-size:clamp(58px,8vw,100px);letter-spacing:-2px}
.rsvp-subpage .intro{margin-left:0;max-width:770px}
.rsvp-subpage .rsvp-shell{margin:48px 0 0;max-width:none;border:1px solid var(--line);background:#fff;box-shadow:0 22px 60px #0000000c}
.rsvp-subpage .rsvp-shell input,.rsvp-subpage .rsvp-shell select,.rsvp-subpage .rsvp-shell textarea{background:#fff}
.rsvp-empty{text-align:center;padding:38px 0}
@media(max-width:760px){.rsvp-subpage-body{padding:42px 20px 80px}.rsvp-subpage-body>.section-label{margin-top:55px}.rsvp-subpage .rsvp-shell{margin-top:35px;padding:25px 20px}.rsvp-subpage-top{padding:15px 20px}.rsvp-subpage-top span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.fashion-stage img{animation:none}}
