/* Santo do dia: faixa da home e modal. */
.santo-card{display:flex;align-items:center;gap:14px;width:100%;margin:26px 0 4px;padding:12px 16px 12px 12px;border:1px solid #e4d6b3;border-radius:18px;background:linear-gradient(135deg,#fffdf3,#f7ecca);color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:0 6px 22px #69411714;transition:transform .18s,box-shadow .18s}
.santo-card:hover{transform:translateY(-1px);box-shadow:0 10px 28px #6941172a}
.santo-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.santo-card .santo-med{flex:none}
.santo-card-t{flex:1;min-width:0}
.santo-card-t small{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--terra)}
.santo-card-t b{display:block;margin-top:2px;font:400 1.3rem/1.15 'DM Serif Display',serif;color:var(--ink)}
.santo-card-t span{display:block;margin-top:2px;font-size:.85rem;color:var(--muted)}
.santo-card.tipo-p{background:linear-gradient(135deg,#a82212,#5e1008);border-color:#c7a24a}
.santo-card.tipo-p small,.santo-card.tipo-p span{color:#f3dfa6}
.santo-card.tipo-p b{color:#fffbce}

.santo-dialog{width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #d9c8a1;border-radius:24px;background:#fffdf5;color:var(--ink);box-shadow:0 24px 90px #24150840;overflow:auto;overscroll-behavior:contain}
.santo-dialog[open]{animation:santo-in .28s ease-out}
.santo-dialog::backdrop{background:#30201488;backdrop-filter:blur(4px)}
@keyframes santo-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.santo-top{position:relative;padding:30px 24px 22px;text-align:center;background:radial-gradient(120% 90% at 50% 0,color-mix(in srgb,var(--l) 70%,#fff) 0,#fffdf5 72%);border-bottom:1px solid #eadfc4}
.santo-top::after{content:"";display:block;width:64px;height:2px;margin:16px auto 0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.santo-top .santo-med{display:block;margin:0 auto 10px}
.santo-x{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #e7ddc7;border-radius:50%;background:#fffdf5;color:var(--muted);cursor:pointer}
.santo-x svg{width:18px;height:18px}
.santo-data{margin:0;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--terra)}
.santo-top h2{margin:6px 0 4px;font:400 clamp(1.6rem,6.5vw,2rem)/1.15 'DM Serif Display',serif;color:var(--c)}
.santo-rank{margin:0;font-size:.95rem;color:var(--muted);font-style:italic}
.santo-body{padding:22px 24px 6px}
.santo-resumo{margin:0;font-size:1.1rem;line-height:1.6}
.santo-patrono{display:flex;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;border-radius:14px;background:#f6edd3}
.santo-patrono svg{flex:none;width:22px;height:22px;color:var(--terra);stroke-width:1.6}
.santo-patrono small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.santo-patrono b{font-weight:500}
.santo-oracao{margin-top:18px;padding:18px 18px 16px;border:1px solid #e4d6b3;border-radius:16px;background:#fffbea;text-align:center}
.santo-oracao p{margin:0;font:400 1.08rem/1.55 'DM Serif Display',serif;color:var(--ink)}
.santo-oracao .santo-oracao-t{display:flex;align-items:center;justify-content:center;gap:7px;margin:0 0 8px;font:700 .72rem 'DM Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--terra)}
.santo-oracao-t svg{width:15px;height:15px}
.santo-oracao .santo-rogai{margin-top:10px;color:var(--red);font-style:italic}
.santo-nav{display:flex;justify-content:space-between;gap:10px;padding:16px 24px 22px}
.santo-nav button{display:flex;align-items:center;gap:4px;padding:10px 14px;border:1px solid #e4d6b3;border-radius:999px;background:#fffdf5;color:var(--terra);font:500 .92rem 'DM Sans',sans-serif;cursor:pointer}
.santo-nav button:hover{background:#f6edd3}
.santo-nav svg{width:17px;height:17px}
@media (prefers-reduced-motion:reduce){.santo-dialog[open]{animation:none}.santo-card{transition:none}}
/* Dentro da lista da home, abaixo da agenda. */
.list .santo-card{margin:14px 0 6px}
/* Datas principais: brilho dourado. */
.santo-card.festa{border-color:#C7A24A;background:linear-gradient(135deg,#fffbe6,#f3dc9c);box-shadow:0 8px 26px #c7a24a40}
.santo-card.festa small::after{content:" · Festa";color:var(--red)}
.santo-card.tipo-p.festa{background:linear-gradient(135deg,#a82212,#5e1008)}
.santo-card.tipo-p.festa small::after{color:#fffbce}
.santo-top.festa{background:radial-gradient(120% 90% at 50% 0,#fff3c4 0,color-mix(in srgb,var(--l) 45%,#fffdf5) 40%,#fffdf5 78%)}
.santo-top.festa .santo-med{width:150px;height:150px}

/* Compartilhar no WhatsApp. */
.santo-wa{display:flex;width:max-content;align-items:center;justify-content:center;gap:7px;margin:16px auto 0;text-decoration:none;padding:8px 16px;border:1.5px solid #1f8f4e55;border-radius:999px;background:#f1faf4;color:#1a7d44;font:700 .9rem 'DM Sans',sans-serif;cursor:pointer}
.santo-wa svg{flex:none;display:block;width:17px;height:17px}
/* SVG sem recorte (Safari/iOS corta o que passa da caixa). */
.santo-med{overflow:visible;flex:none}
.santo-wa:hover{background:#e2f4e8}

/* Contagem regressiva para 4/12. */
.santo-contagem{display:flex;align-items:center;gap:14px;width:100%;margin:0 0 6px;padding:10px 16px;border:1px dashed #c7a24a;border-radius:14px;background:#fff8e2;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.santo-contagem b{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--red);color:#fffbce;font:400 1.4rem 'DM Serif Display',serif}
.santo-contagem span{flex:1;font-weight:500}
.santo-contagem small{display:block;font-size:.8rem;color:var(--muted);font-weight:400}

/* Festa da Padroeira: cabeçalho vermelho, resplendor girando devagar. */
.santo-top.padroeira{overflow:hidden;padding-top:36px;background:radial-gradient(90% 70% at 50% 32%,#c8361f 0,#9b1c0f 45%,#5e1008 100%);border-bottom:3px solid #c7a24a}
.santo-top.padroeira::after{background:linear-gradient(90deg,transparent,#ffe7a3,transparent)}
.santo-top.padroeira h2{color:#fffbce;font-size:clamp(2rem,8vw,2.5rem)}
.santo-top.padroeira .santo-data,.santo-top.padroeira .santo-rank{color:#f3dfa6}
.santo-top.padroeira .santo-x{background:#ffffff1f;border-color:#ffffff40;color:#fffbce}
.santo-top.padroeira>*:not(.santo-raios):not(.santo-x){position:relative}
.santo-raios{position:absolute;left:50%;top:150px;width:620px;height:620px;margin:-310px 0 0 -310px;background:repeating-conic-gradient(from 0deg,#ffe7a326 0 4deg,transparent 4deg 15deg);-webkit-mask-image:radial-gradient(circle,#000 20%,transparent 68%);mask-image:radial-gradient(circle,#000 20%,transparent 68%);animation:santo-gira 60s linear infinite}
@keyframes santo-gira{to{transform:rotate(360deg)}}
.santo-festa{margin:0 0 6px;font:900 .95rem 'Cinzel Decorative',serif;letter-spacing:.12em;color:#ffe7a3}
.santo-historia p{margin:0 0 12px;font-size:1.06rem;line-height:1.6}
.santo-historia p:nth-child(2)::first-letter{float:left;margin:4px 8px 0 0;font:400 3.1rem/.8 'DM Serif Display',serif;color:var(--red)}
.santo-sec{display:flex;align-items:center;gap:10px;margin:0 0 10px!important;font:700 .72rem 'DM Sans',sans-serif!important;letter-spacing:.2em;text-transform:uppercase;color:var(--terra)}
.santo-sec::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#c7a24a,transparent)}
@media (prefers-reduced-motion:reduce){.santo-raios{animation:none}}

/* Duas celebrações no mesmo dia. */
.santo-med-wrap{position:relative;flex:none;display:block}
.santo-mais{position:absolute;right:-3px;bottom:-1px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border:2px solid #fffdf3;border-radius:999px;background:var(--red);color:#fffbce;font:700 .72rem 'DM Sans',sans-serif}
.santo-wa:disabled{opacity:.7;cursor:progress}

/* "Hoje também celebramos": no fim do modal, depois da oração. */
.santo-tambem{display:flex;align-items:center;gap:12px;width:100%;margin-top:18px;padding:10px 14px 10px 10px;border:1px dashed #c7a24a;border-radius:16px;background:#fff8e2;color:var(--ink);font:400 1.05rem/1.25 'DM Serif Display',serif;text-align:left;cursor:pointer;transition:background .2s,transform .2s}
.santo-tambem:hover{background:#fbefc9;transform:translateY(-1px)}
.santo-tambem>span{flex:1}
.santo-tambem small{display:block;margin-bottom:2px;font:700 .66rem 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--terra)}
.santo-tambem>svg:last-child{flex:none;width:18px;height:18px;color:var(--gold)}
/* Transição ao trocar: sai para baixo, volta subindo com o medalhão girando. */
.santo-dialog>*{transition:opacity .22s ease,transform .22s ease,filter .22s ease}
.santo-dialog.saindo>*{opacity:0;transform:translateY(8px);filter:blur(2px)}
.santo-dialog.entrando .santo-top,.santo-dialog.entrando .santo-body{animation:santo-sobe .5s cubic-bezier(.2,.7,.2,1) both}
.santo-dialog.entrando .santo-body{animation-delay:.08s}
.santo-dialog.entrando .santo-top .santo-med{animation:santo-gira-in .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes santo-sobe{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes santo-gira-in{from{opacity:0;transform:rotateY(90deg) scale(.85)}to{opacity:1;transform:none}}
.santo-resumo+.santo-resumo{margin-top:12px}

/* Abertura do modal: medalhão gira e acende, textos sobem um a um. */
.santo-dialog.abrindo .santo-top .santo-med{animation:santo-gira-in .7s cubic-bezier(.2,.7,.2,1) .05s both}
.santo-dialog.abrindo .santo-top>:not(.santo-med):not(.santo-x):not(.santo-raios),
.santo-dialog.abrindo .santo-body>*,.santo-dialog.abrindo .santo-nav{animation:santo-sobe-in .55s cubic-bezier(.2,.7,.2,1) both}
.santo-dialog.abrindo .santo-festa{animation-delay:.1s}
.santo-dialog.abrindo .santo-data{animation-delay:.25s}
.santo-dialog.abrindo #santo-titulo{animation-delay:.32s}
.santo-dialog.abrindo .santo-rank{animation-delay:.39s}
.santo-dialog.abrindo .santo-body>:nth-child(1){animation-delay:.48s}
.santo-dialog.abrindo .santo-body>:nth-child(2){animation-delay:.56s}
.santo-dialog.abrindo .santo-body>:nth-child(3){animation-delay:.64s}
.santo-dialog.abrindo .santo-body>:nth-child(4){animation-delay:.72s}
.santo-dialog.abrindo .santo-body>:nth-child(n+5){animation-delay:.8s}
.santo-dialog.abrindo .santo-nav{animation-delay:.88s}
.santo-dialog.abrindo .santo-raios{animation:santo-raios-in 1.2s ease-out both,santo-gira 60s linear infinite}
@keyframes santo-sobe-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes santo-raios-in{from{opacity:0;transform:scale(.6) rotate(-20deg)}to{opacity:1;transform:none}}

/* Desktop: duas colunas. À esquerda o painel com medalhão e nome; à direita a leitura, que rola sozinha. */
@media (min-width:900px){
 .santo-dialog{width:min(940px,calc(100vw - 80px));max-height:min(680px,calc(100dvh - 80px));border-radius:28px;overflow:hidden}
 .santo-dialog[open]{display:grid;grid-template-columns:minmax(300px,36%) 1fr;grid-template-rows:1fr auto}
 .santo-top{grid-row:1/3;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 36px;border-bottom:0;border-right:1px solid #eadfc4;overflow:hidden;background:radial-gradient(130% 80% at 50% 30%,color-mix(in srgb,var(--l) 70%,#fff) 0,#fffdf5 75%)}
 .santo-top .santo-med{width:180px;height:180px;margin-bottom:18px}
 .santo-top.festa .santo-med,.santo-top.padroeira .santo-med{width:200px;height:200px}
 .santo-top h2{font-size:2.3rem;text-wrap:balance}
 .santo-rank{font-size:1rem}
 .santo-top .santo-x{right:auto;left:18px}
 .santo-top.padroeira{background:radial-gradient(90% 70% at 50% 40%,#c8361f 0,#9b1c0f 45%,#5e1008 100%);border-right:3px solid #c7a24a}
 .santo-raios{top:42%}
 .santo-body{overflow:auto;overscroll-behavior:contain;padding:44px 48px 12px}
 .santo-resumo{font-size:1.14rem;line-height:1.7;max-width:62ch}
 .santo-historia p{font-size:1.12rem;max-width:62ch}
 .santo-oracao{padding:22px 26px}
 .santo-oracao p{font-size:1.16rem}
 .santo-wa{margin:22px 0 6px}
 .santo-nav{grid-column:2;padding:14px 48px 22px;border-top:1px solid #eadfc4;background:#fffdf5}
 .santo-tambem{max-width:520px}
}
