:root{--mem-bg:#161210;--mem-bg-deep:#0f0d0b;--mem-ivory:#f5f1e8;--mem-muted:#a39a8a;--mem-gold:#c4a561;--mem-line:rgba(245,241,232,.14)}
.memorial-page{background:var(--mem-bg);color:var(--mem-ivory)}

/* Cabecera y pie conservan el color habitual del resto del sitio (sin repintar). */

.memorial-main{max-width:720px;margin:0 auto;padding:clamp(72px,11vw,120px) 24px 40px;text-align:center;font-family:var(--sans)}

.memorial-kicker{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--mem-gold);margin:0 0 18px}
.memorial-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,6vw,54px);line-height:1.1;margin:0 0 22px;letter-spacing:-.01em}
.memorial-subtitle{font-family:var(--serif);font-size:19px;line-height:1.55;color:var(--mem-ivory);opacity:.85;max-width:560px;margin:0 auto}
.memorial-invite{margin:26px auto 0;font-size:14px;line-height:1.8;color:var(--mem-muted)}
.memorial-unavailable{color:var(--mem-muted);font-size:15px;margin-top:20px}

.memorial-candle-section{margin-top:clamp(40px,7vw,72px)}
.memorial-candle{width:150px;margin:0 auto}
.memorial-candle-svg{width:100%;height:auto;display:block;overflow:visible}
.candle-glow{opacity:0;transition:opacity 1.1s ease}
.candle-flame{opacity:0;transform-origin:80px 150px;transition:opacity .6s ease}
.memorial-candle[data-lit="1"] .candle-glow{opacity:1}
.memorial-candle[data-lit="1"] .candle-flame{opacity:1;animation:memorial-flicker 3s ease-in-out infinite}
@keyframes memorial-flicker{0%,100%{transform:scale(1) rotate(0deg)}25%{transform:scale(1.035,.965) rotate(-1.2deg)}50%{transform:scale(.965,1.04) rotate(1deg)}75%{transform:scale(1.02,.98) rotate(-.6deg)}}
@media(prefers-reduced-motion:reduce){.memorial-candle[data-lit="1"] .candle-flame{animation:none}}

.memorial-count{margin:22px 0 0;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--mem-muted)}
.memorial-count strong{display:block;font-family:var(--serif);font-size:30px;color:var(--mem-ivory);letter-spacing:0;text-transform:none;margin-bottom:4px}

.memorial-closed{margin-top:22px;color:var(--mem-muted);font-size:14px;line-height:1.7}

.memorial-form-wrap{margin-top:34px}
.memorial-form{max-width:440px;margin:0 auto}
.memorial-field{text-align:left;margin-bottom:16px}
.memorial-field label{display:block;font-size:12px;color:var(--mem-muted);margin-bottom:8px}
.memorial-field label span{font-weight:400}
.memorial-field textarea{width:100%;background:transparent;border:1px solid var(--mem-line);color:var(--mem-ivory);font:inherit;font-size:14px;padding:12px 14px;resize:vertical;min-height:52px}
.memorial-field textarea:focus{outline:2px solid var(--mem-gold);outline-offset:2px;border-color:var(--mem-gold)}
.memorial-error{color:#e39a7a;font-size:13px;margin:0 0 14px}
.memorial-submit{background:var(--mem-gold);color:#1c1611;border:0;padding:15px 36px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;width:100%}
.memorial-submit:hover{background:#d4b676}
.memorial-submit:focus-visible{outline:2px solid var(--mem-ivory);outline-offset:3px}
.memorial-submit:disabled{opacity:.6;cursor:default}

.memorial-thanks{display:none;max-width:440px;margin:0 auto}
.memorial-thanks p{font-family:var(--serif);font-size:18px;line-height:1.6;margin:0 0 22px}
.memorial-thanks-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.memorial-share,.memorial-again{background:none;border:1px solid var(--mem-line);color:var(--mem-ivory);padding:13px 22px;font-size:12px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}
.memorial-share:hover,.memorial-again:hover{border-color:var(--mem-gold);color:var(--mem-gold)}

.memorial-form-wrap[data-state="done"] .memorial-form{display:none}
.memorial-form-wrap[data-state="done"] .memorial-thanks{display:block}

.memorial-mural-section{margin-top:clamp(56px,9vw,96px)}
.memorial-mural-caption{font-size:12px;color:var(--mem-muted);margin:0 0 18px}
.memorial-mural{position:relative;width:100%;height:220px;border-top:1px solid var(--mem-line);border-bottom:1px solid var(--mem-line)}
.memorial-mural-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--mem-gold);opacity:.55;transform:translate(-50%,-50%);animation:memorial-dot-pulse 5s ease-in-out infinite}
@keyframes memorial-dot-pulse{0%,100%{opacity:.3}50%{opacity:.75}}
@media(prefers-reduced-motion:reduce){.memorial-mural-dot{animation:none;opacity:.5}}

.memorial-prayer{margin-top:clamp(56px,9vw,96px);padding-top:clamp(32px,6vw,56px);border-top:1px solid var(--mem-line)}
.memorial-prayer p{font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.9;color:var(--mem-muted)}

@media(max-width:480px){.memorial-mural{height:180px}}
