
/* Personalização do casal sobre a composição original. */
body .invitation.invitation.invitation .hero .hero-title h1 .couple-names,
body .invitation.invitation.invitation .hero .hero-title h1 .couple-names span { color: #79658c !important; -webkit-text-fill-color: #79658c !important; background: none !important; text-shadow: none !important; }
.couple-names { display:block; font-family: cursive; font-size:clamp(56px,15vw,82px); line-height: .9; }
.couple-amp { font-size:.5em; line-height:1.7; }
.couple-monogram { display:grid; place-items:center; width:150px; height:150px; border:2px solid #b6a4c6; border-radius:50%; background:#fff; font:italic 42px Georgia,serif; color:#79658c; }
body .invitation.invitation.invitation h2,body .invitation.invitation.invitation .couple-site-link .script { color:#79658c !important; -webkit-text-fill-color:#79658c !important; }
body .music-toggle, body .invitation.invitation.invitation .map-card,body .invitation.invitation.invitation .pix-copy-button,body .invitation.invitation.invitation .rsvp-button,body .invitation.invitation.invitation .dress-code-button { background:linear-gradient(180deg,#ab95bf,#79658c) !important; border-color:#79658c !important; box-shadow:0 10px 22px #79658c33 !important; }
body .envelope-screen .open-envelope span { color:#79658c !important; -webkit-text-fill-color:#79658c !important; }
.envelope-screen { transition:opacity 1s ease,transform 1s ease; }
.envelope-screen.is-opening { opacity:0; transform:scale(1.06); pointer-events:none; }
a.rsvp-button { display:inline-flex; padding:16px 24px; border-radius:8px; margin-top:22px; text-decoration:none; color:white; justify-content:center; }
body .invitation.invitation.invitation .venue-illustration { width:100%; height:auto; object-fit:contain; }

/* Lavanda em todos os estados dos botões, inclusive hover e foco. */
body .music-toggle, body .music-toggle:hover, body .music-toggle:focus-visible,
body .open-envelope span, body .open-envelope:hover span,
body .invitation.invitation.invitation a.map-card,
body .invitation.invitation.invitation a.map-card:hover,
body .invitation.invitation.invitation a.map-card:focus-visible,
body .invitation.invitation.invitation a.pix-copy-button,
body .invitation.invitation.invitation a.pix-copy-button:hover,
body .invitation.invitation.invitation a.pix-copy-button:focus-visible,
body .invitation.invitation.invitation a.rsvp-button,
body .invitation.invitation.invitation a.rsvp-button:hover,
body .invitation.invitation.invitation a.rsvp-button:focus-visible {
 background:linear-gradient(180deg,#ab95bf,#79658c) !important;
 border-color:#79658c !important;
 box-shadow:0 10px 22px rgba(121,101,140,.22) !important;
 text-shadow:none !important;
 transition:background .2s ease,box-shadow .2s ease,transform .2s ease;
}
body .invitation.invitation.invitation a.map-card:hover,
body .invitation.invitation.invitation a.pix-copy-button:hover,
body .invitation.invitation.invitation a.rsvp-button:hover,
body .music-toggle:hover {
 background:linear-gradient(180deg,#9d83b3,#665077) !important;
 box-shadow:0 12px 25px rgba(121,101,140,.32) !important;
}
body .envelope-screen .open-envelope:hover span { background:#f3edf8 !important; border-color:#ab95bf !important; color:#79658c !important; -webkit-text-fill-color:#79658c !important; }
body .invitation.invitation.invitation .rsvp-panel { border-color:#cbbbd8 !important; }
.hero-couple-lettering { width:100%; max-width:390px; height:auto; display:block; margin:0 auto; }

/* Fundo enviado pelo casal, contínuo do início ao final do convite. */
body .invitation.invitation.invitation {
 background: #f4efe6 url('./fundo-evelin-tiago.png') center top / 100% 100% no-repeat scroll !important;
}

/* Espaço livre abaixo do arranjo floral para a bênção. */
body .invitation.invitation.invitation .welcome {
 padding: 180px 26px 48px !important;
}
body .invitation .couple-site-link img.couple-seal {
 width:180px; height:180px; object-fit:contain; border:0; border-radius:0;
 background:transparent; box-shadow:none;
}
/* Inclui .location para superar as regras pink herdadas do modelo. */
body .invitation.invitation.invitation .location a.map-card,
body .invitation.invitation.invitation .location a.map-card:visited {
 background:linear-gradient(180deg,#ab95bf,#79658c) !important;
 border-color:#79658c !important;
 box-shadow:0 10px 22px rgba(121,101,140,.22) !important;
 color:#fff !important;
}
body .invitation.invitation.invitation .location a.map-card:hover,
body .invitation.invitation.invitation .location a.map-card:focus-visible,
body .invitation.invitation.invitation .location a.map-card:active {
 background:linear-gradient(180deg,#9d83b3,#665077) !important;
 border-color:#665077 !important;
 box-shadow:0 12px 25px rgba(121,101,140,.32) !important;
 color:#fff !important;
}

/* Centraliza o conjunto da hero mais abaixo no espaço entre as flores. */
body .invitation.invitation.invitation .hero .hero-title {
 position: relative;
 top: 40px;
}

/* Controle de áudio acessível também durante o vídeo de abertura. */
body .music-toggle { z-index:1000 !important; width:auto !important; min-width:48px; padding:12px 16px; border-radius:28px; font-size:15px; }
