:root {
    --bg: #0b0611;
    --panel: #170b26;
    --panel-soft: #211033;
    --purple: #8b2cff;
    --purple-light: #bd71ff;
    --pink: #ff2d91;
    --pink-light: #ff73b8;
    --text: #fff;
    --muted: #b9abc5;
    --border: rgba(190, 105, 255, .25);
    --title: 'Montserrat', sans-serif;
    --body: 'Inter', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--text);
    background: var(--bg);
    font-family: var(--body);
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
button, input, textarea { font: inherit; }

.site-nav {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 10;
    display: flex;
    width: min(1320px, 100%);
    padding: 1.15rem clamp(1.1rem, 4vw, 3rem);
    align-items: center;
    justify-content: space-between;
    transform: translateX(-50%);
}
.brand img { display: block; width: 150px; }
.nav-links { display: flex; gap: 1.2rem; align-items: center; }
.nav-links > a { color: rgba(255,255,255,.78); font-size: .82rem; font-weight: 600; text-decoration: none; }
.nav-links > a:hover { color: #fff; }

.button {
    display: inline-flex;
    min-height: 52px;
    padding: .8rem 1.5rem;
    gap: .65rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, var(--purple), var(--pink));
    box-shadow: 0 14px 34px rgba(139,44,255,.28);
    font-size: .9rem;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: transform .2s, box-shadow .2s;
}
.button:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(255,45,145,.28); }
.button--small { min-height: 40px; padding: .55rem 1.05rem; font-size: .78rem !important; color: #fff !important; }
.button--ghost { border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.05); box-shadow: none; backdrop-filter: blur(10px); }

.hero { position: relative; display: flex; min-height: min(860px, 94vh); align-items: center; overflow: hidden; background: #18072a; }
.hero__image {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 78% 26%, rgba(255,45,145,.42), transparent 22%),
        radial-gradient(circle at 72% 62%, rgba(139,44,255,.72), transparent 38%),
        linear-gradient(118deg, #0b0611 0%, #291047 52%, #8b2cff 100%);
}
.hero__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(11,6,17,.98), rgba(11,6,17,.78) 43%, rgba(11,6,17,.08) 77%),
        linear-gradient(0deg, var(--bg), transparent 32%);
}
.hero__couple { position: relative; z-index: 1; display: block; width: min(100%, 285px); max-height: 430px; align-self: center; justify-self: center; object-fit: contain; object-position: center bottom; filter: drop-shadow(-18px 14px 32px rgba(5,0,12,.38)); }
.hero__content { position: relative; z-index: 2; display: grid; width: min(1420px, 100%); margin: auto; padding: 9rem clamp(1.2rem, 5vw, 4rem) 5rem; grid-template-columns: minmax(230px,300px) minmax(0,1fr); gap: clamp(2rem,4vw,4.5rem); align-items: center; }
.hero__copy { min-width: 0; }
.eyebrow { display: inline-flex; gap: .5rem; align-items: center; color: var(--pink-light); font-size: .7rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: var(--pink); box-shadow: 0 0 14px var(--pink); animation: pulse 1.7s infinite; }
@keyframes pulse { 50% { opacity: .3; } }
.hero h1 { width: max-content; max-width: 100%; margin: 1.2rem 0 1.1rem; font-family: var(--title); font-size: clamp(2rem, 3vw, 3.35rem); font-weight: 900; line-height: 1; letter-spacing: -.065em; text-transform: uppercase; white-space: nowrap; }
.hero h1 span { text-shadow: 0 0 44px rgba(255,45,145,.32); }
.hero__copy > p { max-width: 630px; margin: 0 0 2rem; color: rgba(255,255,255,.75); font-size: clamp(1rem, 1.5vw, 1.16rem); line-height: 1.75; }
.hero__actions { display: flex; gap: .8rem; flex-wrap: wrap; }
.live-strip { display: flex; gap: 0; width: fit-content; margin-top: 2rem; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; background: rgba(11,6,17,.4); backdrop-filter: blur(10px); }
.live-strip div { display: flex; min-width: 180px; padding: .8rem 1rem; flex-direction: column; border-right: 1px solid rgba(255,255,255,.1); }
.live-strip div:last-child { border: 0; }
.live-strip strong { font-size: .78rem; }
.live-strip span { margin-top: .22rem; color: rgba(255,255,255,.5); font-size: .65rem; }

.section { max-width: 1240px; margin: 0 auto; padding: clamp(4.5rem, 8vw, 7.5rem) clamp(1.2rem, 4vw, 3rem); }
.section-heading { max-width: 760px; margin-bottom: 3rem; }
.section h2 { margin: .75rem 0 1rem; font-family: var(--title); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.07; letter-spacing: -.045em; }
.section p { color: var(--muted); line-height: 1.7; }
.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.feature-card { position: relative; min-height: 275px; padding: 2rem; overflow: hidden; border: 1px solid var(--border); border-radius: 22px; background: linear-gradient(150deg, rgba(34,14,54,.9), rgba(15,7,25,.97)); }
.feature-card--featured { border-color: rgba(255,45,145,.45); background: linear-gradient(150deg, rgba(112,24,203,.56), rgba(55,8,66,.92)); }
.feature-card__number { position: absolute; top: 1.4rem; right: 1.4rem; color: rgba(255,255,255,.12); font-size: 3rem; font-weight: 900; }
.feature-card__icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; color: var(--pink-light); background: rgba(255,45,145,.1); font-size: 1.2rem; }
.feature-card h3 { margin: 3rem 0 .7rem; font-family: var(--title); font-size: 1.15rem; }
.feature-card p { margin: 0; font-size: .9rem; }

.shows { display: grid; max-width: none; padding-inline: max(1.2rem, calc((100vw - 1180px) / 2)); grid-template-columns: minmax(0,1fr) minmax(420px,1fr); gap: 5rem; align-items: center; background: radial-gradient(circle at 90% 40%, rgba(139,44,255,.22), transparent 38%), #12071e; }
.shows__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.shows__grid span { display: flex; min-height: 105px; padding: 1.2rem; align-items: center; border: 1px solid var(--border); border-radius: 16px; background: rgba(255,255,255,.035); font-family: var(--title); font-weight: 800; }

.countdown { display: grid; max-width: 960px; margin-top: 2rem; margin-bottom: 2rem; padding: clamp(1.35rem,3vw,2rem) clamp(1.2rem,3vw,2.4rem); grid-template-columns: minmax(220px,.8fr) minmax(410px,1.35fr); gap: clamp(1.4rem,4vw,3rem); align-items: center; overflow: hidden; border: 1px solid rgba(255,177,67,.4); border-radius: 21px; background: radial-gradient(circle at 90% 20%, rgba(255,153,34,.22), transparent 34%), linear-gradient(135deg,#371514,#1b0b23 60%,#241035); box-shadow: 0 22px 55px rgba(3,0,10,.3); }
.countdown[hidden] { display: none; }
.countdown__copy h2 { margin: .3rem 0 0; color: #ffbf5d; font-size: clamp(2.35rem,4.5vw,3.8rem); text-transform: uppercase; }
.countdown__copy p { margin: -.1rem 0 .6rem; color: #fff; font-family: var(--title); font-size: clamp(1rem,1.7vw,1.3rem); }
.countdown__copy time { color: rgba(255,255,255,.55); font-size: .72rem; font-weight: 600; }
.countdown__clock { display: grid; grid-template-columns: repeat(7,auto); align-items: center; justify-content: space-between; gap: .5rem; }
.countdown__clock > div { display: grid; min-width: 70px; min-height: 82px; place-items: center; align-content: center; border: 1px solid rgba(255,191,93,.25); border-radius: 14px; background: rgba(8,3,13,.38); }
.countdown__clock strong { font-family: var(--title); font-size: clamp(1.65rem,3vw,2.5rem); line-height: 1; font-variant-numeric: tabular-nums; }
.countdown__clock span { margin-top: .6rem; color: rgba(255,255,255,.5); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.countdown__clock > b { color: #ffbf5d; font-size: 1.5rem; }
.countdown--bbb { border-color: rgba(57,177,255,.42); background: radial-gradient(circle at 90% 20%, rgba(38,150,255,.25), transparent 34%), linear-gradient(135deg,#071b49,#100b2e 60%,#27144b); }
.countdown--bbb .eyebrow { color: #6fcaff; }
.countdown--bbb .countdown__copy h2, .countdown--bbb .countdown__clock > b { color: #6fcaff; }
.countdown--bbb .countdown__clock > div { border-color: rgba(85,190,255,.28); }

.donation { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,470px); gap: clamp(3rem,7vw,6rem); align-items: center; }
.donation__copy ul { display: grid; margin: 1.5rem 0 0; padding: 0; gap: .7rem; list-style: none; color: rgba(255,255,255,.76); font-size: .88rem; }
.donation__copy li::before { content: '✓'; display: inline-grid; width: 22px; height: 22px; margin-right: .6rem; place-items: center; border-radius: 50%; color: var(--pink-light); background: rgba(255,45,145,.1); font-size: .7rem; font-weight: 900; }
.donation-card { padding: clamp(1.5rem,4vw,2.3rem); border: 1px solid rgba(193,105,255,.35); border-radius: 24px; background: radial-gradient(circle at 100% 0, rgba(255,45,145,.15), transparent 36%), linear-gradient(150deg, #211035, #13091f); box-shadow: 0 28px 70px rgba(3,0,10,.42); }
.donation-card__head { display: flex; flex-direction: column; gap: .55rem; margin-bottom: 1.35rem; }
.donation-card__head span { color: var(--pink-light); font-size: .65rem; font-weight: 800; letter-spacing: .17em; }
.donation-card__head strong { font-family: var(--title); font-size: 1.35rem; }
.amount-options { display: grid; grid-template-columns: repeat(4,1fr); gap: .5rem; }
.amount-options button { min-height: 50px; border: 1px solid var(--border); border-radius: 12px; color: #fff; background: rgba(255,255,255,.04); font-weight: 700; cursor: pointer; transition: .2s; }
.amount-options button:hover, .amount-options button.is-active { border-color: var(--pink); background: rgba(255,45,145,.14); }
.amount-field { display: flex; margin: 1.15rem 0; flex-direction: column; gap: .5rem; color: var(--muted); font-size: .74rem; font-weight: 700; }
.amount-field__control { display: flex; height: 58px; align-items: center; overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: rgba(5,2,9,.4); }
.amount-field__control:focus-within { border-color: var(--purple-light); box-shadow: 0 0 0 3px rgba(139,44,255,.13); }
.amount-field__control b { padding-left: 1rem; color: var(--pink-light); }
.amount-field input { width: 100%; height: 100%; padding: 0 1rem .05rem .5rem; border: 0; outline: 0; color: #fff; background: transparent; font-size: 1.35rem; font-weight: 800; }
.message-box { margin: 1.2rem 0; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.1); }
.message-box__head { display: flex; margin-bottom: 1rem; align-items: baseline; justify-content: space-between; gap: .8rem; }
.message-box__head strong { font-family: var(--title); font-size: .95rem; }
.message-box__head span { color: var(--muted); font-size: .66rem; }
.text-field { position: relative; display: flex; margin-top: .8rem; flex-direction: column; gap: .4rem; color: var(--muted); font-size: .7rem; font-weight: 700; }
.text-field input, .text-field textarea { width: 100%; border: 1px solid var(--border); border-radius: 12px; outline: 0; color: #fff; background: rgba(5,2,9,.42); }
.text-field input { height: 46px; padding: 0 .85rem; }
.text-field textarea { min-height: 92px; padding: .75rem .85rem 1.3rem; resize: vertical; line-height: 1.45; }
.text-field input:focus, .text-field textarea:focus { border-color: var(--purple-light); box-shadow: 0 0 0 3px rgba(139,44,255,.13); }
.text-field small { position: absolute; right: .7rem; bottom: .5rem; color: rgba(255,255,255,.4); font-size: .6rem; }
.audio-recorder { margin-top: .9rem; padding: .9rem; border: 1px dashed rgba(189,113,255,.34); border-radius: 14px; background: rgba(139,44,255,.06); }
.audio-recorder__label { display: block; margin-bottom: .7rem; color: var(--muted); font-size: .7rem; font-weight: 700; }
.audio-recorder__actions { display: flex; gap: .55rem; flex-wrap: wrap; }
.record-button, .upload-button { display: inline-flex; min-height: 40px; padding: .55rem .85rem; align-items: center; justify-content: center; gap: .5rem; border: 1px solid var(--border); border-radius: 10px; color: #fff; background: rgba(255,255,255,.045); font-size: .7rem; font-weight: 800; cursor: pointer; }
.record-button i { width: 9px; height: 9px; border-radius: 50%; background: #ff476f; box-shadow: 0 0 9px rgba(255,71,111,.7); }
.record-button.is-recording { border-color: #ff476f; background: rgba(255,71,111,.12); }
.record-button.is-recording i { animation: pulse .8s infinite; }
.upload-button input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.audio-recorder > small { display: block; margin-top: .65rem; color: rgba(255,255,255,.42); font-size: .6rem; line-height: 1.45; }
.audio-preview { display: flex; margin-top: .75rem; align-items: center; gap: .6rem; }
.audio-preview audio { width: min(100%, 270px); height: 38px; }
.audio-preview button { border: 0; color: var(--pink-light); background: transparent; font-size: .65rem; font-weight: 800; cursor: pointer; }
.button--submit { width: 100%; }
.secure-note, .terms-note { margin: .8rem 0 0 !important; text-align: center; font-size: .68rem; }
.secure-note span { color: #55e49d; }
.terms-note { color: rgba(255,255,255,.38) !important; line-height: 1.5 !important; }
.form-honey { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.schedule { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 2rem; align-items: center; margin-bottom: clamp(4rem,8vw,7rem); padding-block: clamp(1.7rem,4vw,2.6rem); border: 1px solid rgba(255,45,145,.38); border-radius: 22px; background: radial-gradient(circle at 88% 20%, rgba(255,45,145,.2), transparent 34%), linear-gradient(135deg, rgba(65,19,111,.9), rgba(24,9,41,.96)); }
.schedule__badge { display: grid; width: 78px; height: 78px; place-items: center; border-radius: 50%; background: linear-gradient(135deg,var(--purple),var(--pink)); box-shadow: 0 12px 30px rgba(255,45,145,.25); font-size: .7rem; font-weight: 900; }
.schedule h2 { margin: .4rem 0 .3rem; font-size: clamp(1.35rem,2.7vw,2.25rem); }
.schedule p { margin: 0; }

.community { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 2rem; align-items: center; margin-bottom: clamp(4rem,8vw,7rem); padding-block: clamp(1.7rem,4vw,2.6rem); border: 1px solid rgba(75,217,105,.35); border-radius: 22px; background: radial-gradient(circle at 88% 20%, rgba(75,217,105,.18), transparent 34%), linear-gradient(135deg, rgba(35,62,55,.82), rgba(19,11,33,.96)); }
.community__icon { display: grid; width: 78px; height: 78px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg,#18a957,#4bd969); box-shadow: 0 12px 30px rgba(38,201,99,.22); font-family: var(--title); font-size: 1.45rem; font-weight: 900; }
.community h2 { margin: .4rem 0 .3rem; font-size: clamp(1.35rem,2.7vw,2.25rem); }
.community p { margin: 0; }
.button--whatsapp { background: linear-gradient(135deg,#159447,#38ca70); box-shadow: 0 14px 34px rgba(29,177,87,.22); }

footer { display: flex; padding: 3rem 1.2rem; gap: 1rem; align-items: center; flex-direction: column; border-top: 1px solid rgba(183,91,255,.14); background: #07030c; text-align: center; }
footer img { width: 130px; }
footer p { margin: 0; color: var(--muted); font-size: .8rem; }
footer div { display: flex; gap: 1rem; }
footer a { color: var(--pink-light); font-size: .78rem; font-weight: 700; text-decoration: none; }
footer small { color: rgba(255,255,255,.34); font-size: .65rem; }

.status-page { min-height: 100vh; background: radial-gradient(circle at 50% 0, rgba(139,44,255,.28), transparent 42%), var(--bg); }
.status-shell { display: flex; min-height: 100vh; padding: 2rem 1.2rem; align-items: center; justify-content: center; flex-direction: column; }
.status-brand { margin-bottom: 1.5rem; }
.status-brand img { width: 170px; }
.status-card { width: min(540px,100%); padding: clamp(1.6rem,5vw,3rem); border: 1px solid var(--border); border-radius: 24px; background: rgba(22,10,36,.92); box-shadow: 0 28px 70px rgba(0,0,0,.4); text-align: center; }
.status-card h1, .status-card h2 { font-family: var(--title); }
.status-card h1 { margin: .7rem 0 1rem; font-size: clamp(1.7rem,5vw,2.6rem); }
.status-card p { color: var(--muted); line-height: 1.7; }
.status-card .button { margin-top: 1rem; }
.status-spinner { width: 52px; height: 52px; margin: 0 auto 1rem; border: 4px solid rgba(255,255,255,.1); border-top-color: var(--pink); border-radius: 50%; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.status-success { padding-top: .5rem; }
.status-success__icon, .status-error__icon { display: grid; width: 64px; height: 64px; margin: 0 auto 1rem; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg,#21b573,#55e49d); font-size: 1.7rem; font-weight: 900; }
.status-error__icon { background: linear-gradient(135deg,#d62b65,#ff5791); }

.messages-page { min-height: 100vh; background: radial-gradient(circle at 50% 0, rgba(139,44,255,.25), transparent 36%), var(--bg); }
.messages-shell { width: min(1120px, 100%); min-height: 100vh; margin: 0 auto; padding: 1.5rem clamp(1rem,4vw,2.5rem) 4rem; }
.messages-header { display: flex; align-items: center; justify-content: space-between; }
.messages-header img { width: 145px; }
.messages-header button { border: 0; color: var(--pink-light); background: transparent; font-weight: 800; cursor: pointer; }
.messages-login { width: min(470px,100%); margin: 8vh auto 0; padding: clamp(1.5rem,5vw,2.7rem); border: 1px solid var(--border); border-radius: 24px; background: rgba(22,10,36,.94); box-shadow: 0 28px 70px rgba(0,0,0,.4); }
.messages-login h1, .messages-dashboard h1 { margin: .6rem 0; font-family: var(--title); }
.messages-login > p, .messages-title p { color: var(--muted); line-height: 1.6; }
.messages-login form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.messages-login label { display: grid; gap: .45rem; color: var(--muted); font-size: .75rem; font-weight: 700; }
.messages-login input { height: 52px; padding: 0 .9rem; border: 1px solid var(--border); border-radius: 12px; outline: 0; color: #fff; background: rgba(5,2,9,.45); }
.messages-login input:focus { border-color: var(--purple-light); }
.messages-dashboard { padding-top: 4rem; }
.messages-title { display: flex; margin-bottom: 2rem; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }
.messages-title h1 { font-size: clamp(2rem,5vw,3.6rem); }
.messages-title p { margin: 0; }
.message-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.message-item { position: relative; padding: 1.4rem; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: rgba(24,11,38,.92); opacity: .72; }
.message-item.is-paid { border-color: rgba(85,228,157,.32); opacity: 1; }
.message-item__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.message-item__top > div:first-child { display: flex; flex-direction: column; gap: .25rem; }
.message-item__top strong { font-family: var(--title); }
.message-item__top span { color: var(--muted); font-size: .65rem; }
.message-item__amount { color: var(--pink-light); font-weight: 900; white-space: nowrap; }
.payment-status { display: inline-flex; margin-top: .8rem; padding: .32rem .55rem; border-radius: 999px; color: #e9c9ff; background: rgba(139,44,255,.17); font-size: .6rem; font-weight: 800; }
.payment-status--paid { color: #8cf0bb; background: rgba(48,190,112,.14); }
.payment-status--payment_error { color: #ff9ab9; background: rgba(255,45,105,.13); }
.message-item__text { margin: 1rem 0; padding: 1rem; border-left: 3px solid var(--pink); border-radius: 0 10px 10px 0; color: #fff; background: rgba(255,255,255,.04); font-size: .9rem; line-height: 1.6; }
.message-item audio { width: 100%; margin-top: .8rem; }
.verify-form { margin-top: .9rem; }
.verify-form button { padding: .5rem .7rem; border: 1px solid var(--border); border-radius: 9px; color: #fff; background: rgba(139,44,255,.12); font-size: .65rem; font-weight: 800; cursor: pointer; }
.form-alert { margin: 1rem 0; padding: .8rem 1rem; border-radius: 10px; font-size: .75rem; font-weight: 700; }
.form-alert--error { color: #ffb0c8; background: rgba(255,45,105,.13); }
.form-alert--success { color: #8cf0bb; background: rgba(48,190,112,.14); }
.empty-message { grid-column: 1/-1; padding: 3rem; border: 1px dashed var(--border); border-radius: 18px; color: var(--muted); text-align: center; }

@media (max-width: 900px) {
    .nav-links > a:not(.button) { display: none; }
    .hero__content { grid-template-columns: minmax(180px,230px) minmax(0,1fr); gap: 1.5rem; }
    .hero h1 { white-space: normal; }
    .feature-grid, .shows, .donation, .schedule, .community { grid-template-columns: 1fr; }
    .shows { gap: 2.5rem; }
    .schedule { margin-inline: 1.2rem; }
    .community { margin-inline: 1.2rem; }
    .countdown { margin-inline: 1.2rem; grid-template-columns: 1fr; gap: 1.6rem; }
    .schedule .button { width: fit-content; }
}

@media (max-width: 680px) {
    .brand img { width: 112px; }
    .hero { min-height: 780px; align-items: flex-end; }
    .hero__couple { width: min(58vw,230px); max-height: 270px; align-self: end; opacity: 1; }
    .hero__shade { background: linear-gradient(0deg,var(--bg) 4%,rgba(11,6,17,.9) 61%,rgba(11,6,17,.28)); }
    .hero__content { padding: 7rem 1.1rem 3.5rem; grid-template-columns: 1fr; gap: .8rem; }
    .hero h1 { width: auto; font-size: clamp(2.1rem,10.5vw,3.7rem); white-space: normal; }
    .hero__actions { align-items: stretch; flex-direction: column; max-width: 360px; }
    .live-strip { width: 100%; flex-direction: column; }
    .live-strip div { min-width: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
    .feature-grid, .shows__grid { grid-template-columns: 1fr; }
    .feature-card { min-height: 230px; }
    .shows__grid span { min-height: 78px; }
    .amount-options { grid-template-columns: 1fr 1fr; }
    .countdown__clock { gap: .28rem; }
    .countdown__clock > div { min-width: 0; min-height: 78px; border-radius: 12px; }
    .countdown__clock strong { font-size: clamp(1.45rem,8vw,2.25rem); }
    .countdown__clock span { margin-top: .4rem; font-size: .46rem; letter-spacing: .06em; }
    .countdown__clock > b { font-size: .85rem; }
    .schedule .button { width: 100%; }
    .community .button { width: 100%; }
    .message-box__head { align-items: flex-start; flex-direction: column; gap: .25rem; }
    .messages-title { align-items: flex-start; flex-direction: column; }
    .message-list { grid-template-columns: 1fr; }
}

/* Tema claro e compacto da página pública */
.home-page {
    color: #21132d;
    background: #fbf9fd;
}
.home-page main { display: flex; flex-direction: column; }
.home-page .donation { order: 1; }
.home-page .about { order: 2; }
.home-page .shows { order: 3; }
.home-page .countdown { order: 4; }
.home-page .countdown--bbb { order: 5; }
.home-page .countdown-grid { order: 4; }
.home-page .schedule { order: 6; }
.home-page .site-nav { color: #24132f; }
.home-page .nav-links > a { color: rgba(36,19,47,.72); }
.home-page .nav-links > a:hover { color: #170a21; }
.home-page .brand { margin-left: clamp(1.8rem,3.2vw,3rem); }
.home-page .brand img { filter: drop-shadow(0 3px 5px rgba(65,20,84,.18)); }
.home-page .hero {
    min-height: 555px;
    background: #f8f3fb;
}
.home-page .hero__image {
    background:
        radial-gradient(circle at 82% 22%, rgba(255,255,255,.88), transparent 22%),
        radial-gradient(circle at 67% 62%, rgba(178,105,255,.23), transparent 38%),
        linear-gradient(105deg, #fff 0%, #fff 31%, #f8efff 31%, #ead6fb 68%, #d8b7f5 100%);
}
.home-page .hero__shade {
    background: linear-gradient(0deg, #fbf9fd 0%, rgba(251,249,253,0) 18%);
}
.home-page .hero__content {
    width: min(1320px,100%);
    padding-top: 5.1rem;
    padding-bottom: 1.6rem;
    grid-template-columns: minmax(250px,330px) minmax(0,1fr);
    gap: clamp(2rem,4vw,4rem);
}
.home-page .hero__couple {
    width: min(100%,325px);
    max-height: 380px;
    filter: drop-shadow(0 18px 25px rgba(65,28,82,.14));
}
.home-page .hero h1 {
    margin: .8rem 0 .8rem;
    color: #23102e;
    font-size: clamp(1.9rem,2.5vw,2.8rem);
}
.home-page .hero h1 span { color: #7022b5; text-shadow: none; }
.home-page .hero__copy > p {
    max-width: 610px;
    margin-bottom: 1.3rem;
    color: #66566f;
    line-height: 1.6;
}
.home-page .button--ghost {
    border-color: rgba(70,31,91,.2);
    color: #351641;
    background: rgba(255,255,255,.55);
}
.home-page .live-strip {
    margin-top: 1.25rem;
    border-color: rgba(80,35,104,.14);
    color: #291235;
    background: rgba(255,255,255,.65);
    box-shadow: 0 12px 30px rgba(87,37,110,.07);
}
.home-page .live-strip div { min-width: 170px; border-color: rgba(80,35,104,.11); }
.home-page .live-strip span { color: #75667d; }
.home-page .section {
    padding-top: clamp(2rem,3.5vw,3rem);
    padding-bottom: clamp(2rem,3.5vw,3rem);
}
.home-page .section-heading { margin-bottom: 1.3rem; }
.home-page .about__intro { display: grid; margin-bottom: 1.3rem; grid-template-columns: minmax(0,1fr) minmax(310px,390px); gap: clamp(1.5rem,4vw,3.5rem); align-items: center; }
.home-page .about__intro .section-heading { margin-bottom: 0; }
.home-page .whatsapp-mini { display: grid; min-height: 92px; padding: .9rem 1rem; grid-template-columns: auto minmax(0,1fr) auto; gap: .8rem; align-items: center; border: 1px solid #bce8ca; border-radius: 17px; color: #173b25; background: linear-gradient(135deg,#effcf3,#e2f8e9); box-shadow: 0 12px 30px rgba(31,157,82,.1); text-decoration: none; transition: transform .2s,box-shadow .2s; }
.home-page .whatsapp-mini:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(31,157,82,.16); }
.home-page .whatsapp-mini__icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; color: #fff; background: #28bd66; font-family: var(--title); font-weight: 900; }
.home-page .whatsapp-mini > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; gap: .2rem; }
.home-page .whatsapp-mini small { color: #429361; font-size: .58rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.home-page .whatsapp-mini strong { font-family: var(--title); font-size: .92rem; }
.home-page .whatsapp-mini b { color: #22a95c; font-size: 1.15rem; }
.home-page .section h2 { color: #24112f; }
.home-page .section p { color: #71627a; }
.home-page .feature-grid { gap: .8rem; }
.home-page .feature-card {
    min-height: 210px;
    padding: 1.5rem;
    border-color: #eadcf2;
    color: #291334;
    background: #fff;
    box-shadow: 0 14px 35px rgba(67,30,84,.06);
}
.home-page .feature-card--featured {
    border-color: #d6b0ef;
    background: linear-gradient(145deg,#f7eaff,#efe0fa);
}
.home-page .feature-card__number { color: rgba(112,34,181,.09); }
.home-page .feature-card h3 { margin-top: 2.1rem; }
.home-page .about { padding-top: 2.2rem; padding-bottom: 2.2rem; }
.home-page .shows {
    padding-block: clamp(2rem,3.2vw,2.7rem);
    color: #281332;
    background: radial-gradient(circle at 90% 40%,rgba(147,61,218,.12),transparent 38%),#f3eafa;
}
.home-page .shows__grid span {
    min-height: 78px;
    border-color: #dbc6e9;
    background: rgba(255,255,255,.68);
}
.home-page .countdown {
    margin-top: .9rem;
    margin-bottom: .9rem;
    padding-top: 1.35rem;
    padding-bottom: 1.35rem;
    color: #31183c;
    border-color: #efc37f;
    background: linear-gradient(135deg,#fffaf2,#faead3 62%,#f3d9bc);
    box-shadow: 0 14px 34px rgba(73,45,87,.1);
}
.home-page .countdown .eyebrow { color: #c65a23; }
.home-page .countdown .countdown__copy h2 { color: #c95d17; }
.home-page .countdown .countdown__copy p { color: #31183c; }
.home-page .countdown .countdown__copy time { color: #78627e; }
.home-page .countdown .countdown__clock > div { border-color: rgba(146,83,39,.2); background: rgba(255,255,255,.72); }
.home-page .countdown .countdown__clock strong { color: #32153c; }
.home-page .countdown .countdown__clock span { color: #745d7a; }
.home-page .countdown .countdown__clock > b { color: #c95d17; }
.home-page .countdown--bbb {
    border-color: #9fc9ee;
    background: linear-gradient(135deg,#f3f9ff,#e4f1ff 55%,#e9e3ff);
}
.home-page .countdown--bbb .eyebrow,
.home-page .countdown--bbb .countdown__copy h2,
.home-page .countdown--bbb .countdown__clock > b { color: #247bbd; }
.home-page .countdown--bbb .countdown__clock > div { border-color: rgba(46,126,191,.2); }
.home-page .countdown-grid { display: grid; width: min(1240px,100%); margin: 0 auto; padding: .9rem clamp(1.2rem,4vw,3rem); grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.home-page .countdown-grid .countdown { width: 100%; max-width: none; margin: 0; padding: 1.4rem; grid-template-columns: 1fr; gap: 1.15rem; }
.home-page .countdown-grid .countdown__copy h2 { font-size: clamp(2.2rem,4vw,3.25rem); }
.home-page .countdown-grid .countdown__clock { gap: .3rem; }
.home-page .countdown-grid .countdown__clock > div { min-width: 0; min-height: 76px; }
.home-page .countdown-grid .countdown__clock strong { font-size: clamp(1.55rem,2.6vw,2.15rem); }
.home-page .donation {
    padding-top: 2.3rem;
    padding-bottom: 2.3rem;
    gap: clamp(2rem,4vw,3.5rem);
    align-items: start;
}
.home-page .donation__copy li { color: #604f69; }
.home-page .donation-card { padding: 1.5rem; color: #fff; }
.home-page .donation-card__head { margin-bottom: 1rem; }
.home-page .amount-options button { min-height: 43px; }
.home-page .amount-field { margin: .8rem 0; }
.home-page .amount-field__control { height: 49px; }
.home-page .message-box { margin: .9rem 0; padding-top: .9rem; }
.home-page .message-box__head { margin-bottom: .7rem; }
.home-page .text-field { margin-top: .6rem; }
.home-page .text-field input { height: 41px; }
.home-page .text-field textarea { min-height: 72px; }
.home-page .audio-recorder { margin-top: .7rem; padding: .7rem; }
.home-page .record-button,
.home-page .upload-button { min-height: 36px; }
.home-page .live-carousel { margin-top: 1.35rem; overflow: hidden; border: 1px solid #ead9f2; border-radius: 18px; background: #fff; box-shadow: 0 15px 35px rgba(68,29,88,.1); }
.home-page .live-carousel__viewport { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #210c2e; }
.home-page .live-carousel__slide { position: absolute; inset: 0; margin: 0; opacity: 0; pointer-events: none; transition: opacity .5s ease; }
.home-page .live-carousel__slide.is-active { opacity: 1; pointer-events: auto; }
.home-page .live-carousel__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-page .live-carousel__arrow { position: absolute; top: 50%; z-index: 3; display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; color: #fff; background: rgba(26,8,35,.58); font-size: 1.7rem; line-height: 1; cursor: pointer; transform: translateY(-50%); backdrop-filter: blur(8px); }
.home-page .live-carousel__arrow--prev { left: .7rem; }
.home-page .live-carousel__arrow--next { right: .7rem; }
.home-page .live-carousel__footer { display: flex; min-height: 44px; padding: .65rem .85rem; align-items: center; justify-content: space-between; gap: 1rem; color: #3b2047; }
.home-page .live-carousel__footer > span { font-size: .72rem; font-weight: 800; }
.home-page .live-carousel__dots { display: flex; gap: .35rem; }
.home-page .live-carousel__dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: #d2bddc; cursor: pointer; transition: width .2s,background .2s; }
.home-page .live-carousel__dots button.is-active { width: 20px; border-radius: 99px; background: linear-gradient(90deg,var(--purple),var(--pink)); }
.home-page .reality-poll { margin-top: 1rem; padding: 1.1rem; border: 1px solid #dec9ea; border-radius: 18px; background: linear-gradient(135deg,#fff,#f6edfb); box-shadow: 0 12px 30px rgba(68,29,88,.07); }
.home-page .reality-poll h3 { margin: .45rem 0 .85rem; color: #2b1236; font-family: var(--title); font-size: clamp(1.05rem,2vw,1.35rem); }
.home-page .reality-poll__options { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.home-page .reality-poll__options button { position: relative; display: grid; min-height: 72px; padding: .75rem .8rem 1rem; grid-template-columns: minmax(0,1fr) auto; gap: .7rem; align-items: center; overflow: hidden; border: 1px solid #dfcce9; border-radius: 13px; color: #32163e; background: #fff; text-align: left; cursor: pointer; transition: border-color .2s,transform .2s; }
.home-page .reality-poll__options button:hover:not(:disabled) { border-color: #b96de3; transform: translateY(-1px); }
.home-page .reality-poll__options button.is-voted { border-color: #9a43cf; background: #f7eaff; }
.home-page .reality-poll__options button:disabled { cursor: default; }
.home-page .reality-poll__options button > span { display: flex; min-width: 0; flex-direction: column; gap: .18rem; }
.home-page .reality-poll__options strong { font-family: var(--title); font-size: .78rem; }
.home-page .reality-poll__options small { color: #89758f; font-size: .58rem; }
.home-page .reality-poll__options b { color: #7623ae; font-size: 1rem; }
.home-page .reality-poll__options i { position: absolute; right: .75rem; bottom: .5rem; left: .75rem; height: 4px; overflow: hidden; border-radius: 99px; background: #eee4f2; }
.home-page .reality-poll__options em { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--purple),var(--pink)); transition: width .45s ease; }
.home-page .reality-poll > p { margin: .65rem 0 0; color: #817087; font-size: .62rem; line-height: 1.4; }
.home-page .schedule,
.home-page .community {
    margin-bottom: 1rem;
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
}
.home-page .schedule h2,
.home-page .community h2 { color: #fff; }
.home-page .schedule p,
.home-page .community p { color: rgba(255,255,255,.68); }
.home-page footer { margin-top: 2rem; padding-top: 2.2rem; padding-bottom: 2.2rem; }

@media (max-width: 900px) {
    .home-page .hero { min-height: 535px; }
    .home-page .hero__content { grid-template-columns: minmax(190px,245px) minmax(0,1fr); gap: 1.4rem; }
    .home-page .hero__couple { width: min(100%,245px); }
    .home-page .section { padding-top: 2rem; padding-bottom: 2rem; }
    .home-page .about__intro { grid-template-columns: 1fr; }
    .home-page .whatsapp-mini { max-width: 440px; }
    .home-page .countdown-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .home-page .brand { margin-left: 0; }
    .home-page .hero { min-height: auto; }
    .home-page .hero__image {
        background: linear-gradient(180deg,#fff 0%,#f7edff 46%,#e9d4fa 100%);
    }
    .home-page .hero__content { padding-top: 5.8rem; padding-bottom: 1.8rem; grid-template-columns: 1fr; }
    .home-page .hero__couple { width: min(54vw,215px); max-height: 245px; }
    .home-page .hero h1 { font-size: clamp(2rem,10vw,3rem); }
    .home-page .live-strip { background: rgba(255,255,255,.75); }
    .home-page .countdown { margin-top: .55rem; margin-bottom: .55rem; }
    .home-page .live-carousel__arrow { width: 34px; height: 34px; }
    .home-page .reality-poll__options { grid-template-columns: 1fr; }
}
