/* =====================================================================
   Bendita Trinidad Internacional · V2.2
   Calendario semanal de radio, cultos por día, «Estatuto y valores» (pergamino)
   y «Nuestros pastores». Se carga después de catedral.css y usa sus tokens.
   ===================================================================== */

/* ---------- 1. Calendario semanal de radio ---------- */
.content-dialog.rw-dialog{max-width:min(1180px,calc(100vw - 28px))}
.rw{display:grid;gap:18px;margin-top:8px}
.rw-now{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.rw-now-item{display:grid;gap:2px;padding:14px 18px;border:1px solid var(--line-2);border-radius:16px;background:rgba(255,255,255,.03)}
.rw-now-item small{font-size:11px;letter-spacing:.18em;color:var(--muted);font-weight:700}
.rw-now-item strong{font-size:17px;color:var(--text)}
.rw-now-item span{font-size:13px;color:var(--gold-light);font-variant-numeric:tabular-nums}
.rw-now-item.is-live{border-color:rgba(95,194,142,.5);background:linear-gradient(120deg,rgba(95,194,142,.12),rgba(255,255,255,.02))}
.rw-now-item.is-live small{color:var(--live)}
.rw-tabs{display:none;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.rw-tabs::-webkit-scrollbar{display:none}
.rw-tab{position:relative;flex:1 0 auto;min-width:46px;padding:9px 10px;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:var(--nav);font-size:13px;font-weight:600;transition:background 200ms ease,color 200ms ease,border-color 200ms ease}
.rw-tab i{position:absolute;top:5px;right:7px;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.rw-tab.is-today{border-color:rgba(201,164,92,.55);color:var(--gold-light)}
.rw-tab.is-active{background:var(--gold-grad);color:#1B1530;border-color:transparent}
.rw-tab.is-active i{background:#1B1530}
.rw-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.rw-day{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);overflow:hidden}
.rw-day header{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:12px 12px 10px;border-bottom:1px solid var(--line)}
.rw-day header b{font-size:14px;letter-spacing:.04em;color:var(--text)}
.rw-day header small{font-size:10px;letter-spacing:.16em;font-weight:700;color:#1B1530;background:var(--gold-grad);padding:3px 7px;border-radius:999px}
.rw-day.is-today{border-color:rgba(201,164,92,.55);background:linear-gradient(180deg,rgba(201,164,92,.10),rgba(255,255,255,.02) 40%)}
.rw-day.is-flash{animation:rw-flash 900ms var(--ease-out)}
@keyframes rw-flash{0%{box-shadow:0 0 0 0 rgba(201,164,92,.55)}100%{box-shadow:0 0 0 12px rgba(201,164,92,0)}}
.rw-day ol{list-style:none;margin:0;padding:8px;display:grid;gap:6px}
.rw-slot{display:grid;gap:3px;padding:10px;border-radius:12px;background:rgba(255,255,255,.04);border-left:3px solid rgba(201,164,92,.55)}
.rw-slot time{font-size:12px;color:var(--gold-light);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.rw-slot strong{font-size:14px;line-height:1.3;color:var(--text);overflow-wrap:anywhere}
.rw-slot.is-live{background:rgba(95,194,142,.12);border-left-color:var(--live)}
.rw-badge{font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--live)}
.rw-none{margin:0;padding:16px 12px;font-size:13px;color:var(--muted);font-style:italic}
.rw-day.is-empty header b{color:var(--muted)}
.rw-tz{margin:0}
@media (max-width:900px){
 .rw-tabs{display:flex}
 .rw-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;padding-bottom:4px}
 .rw-grid::-webkit-scrollbar{display:none}
 .rw-day{flex:0 0 min(78%,300px);scroll-snap-align:start}
}

/* ---------- 2. Cultos por día (página de sede) ---------- */
.sp-about-grid.is-single{grid-template-columns:minmax(0,1fr);max-width:880px}
.wk{display:block}
.wk-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.wk-week{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.wk-day{position:relative;display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#16132A,#100E1B);min-width:0}
.wk-day header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.wk-day h3{margin:0;font-family:var(--serif);font-weight:600;font-size:24px;letter-spacing:.01em;color:var(--text)}
.wk-day ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.wk-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.035)}
.wk-item time{font-size:17px;font-weight:700;color:var(--gold-light);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.35}
.wk-item time small{font-size:13px;font-weight:500;color:var(--muted)}
.wk-item strong{display:block;font-size:15px;line-height:1.4;color:var(--text)}
.wk-item p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.wk-none{margin:0;font-size:14px;color:var(--muted);font-style:italic}
.wk-feature{padding:28px;border-color:rgba(201,164,92,.35);background:radial-gradient(120% 90% at 100% 0,rgba(201,164,92,.13),transparent 55%),linear-gradient(180deg,#1A1630,#100E1B)}
.wk-feature h3{font-size:34px;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.wk-feature .wk-item{padding:16px 18px}
.wk-feature .wk-item time{font-size:22px}
.wk-feature .wk-item strong{font-size:17px}
.wk-feature.is-empty{border-color:var(--line)}
.wk-sub{display:flex;align-items:center;gap:16px;margin:40px 0 18px;font-family:var(--sans);font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.wk-sub::before,.wk-sub::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,164,92,.45),transparent)}
.wk-plain h3{font-size:21px}
.wk-plain .wk-item{grid-template-columns:minmax(0,1fr) auto}
.wk-plain .wk-item time{grid-column:1;font-size:15px}
.wk-plain .wk-item>div{grid-column:1}
.wk-plain .wk-item .sp-tools-inline{grid-column:2;grid-row:1 / span 2}
.wk-edit-empty{display:none!important}
.is-editing .wk-edit-empty{display:flex!important}
.wk .sp-add{margin-top:22px}
@media (max-width:700px){.wk-main{grid-template-columns:1fr}.wk-feature{padding:22px}.wk-feature h3{font-size:30px}}

/* ---------- 3. Estatuto y valores: pergamino dorado sin fondo ---------- */
.st-defs{position:absolute;width:0;height:0;overflow:hidden}
.st-section{display:flex;flex-direction:column;align-items:center}
.st-add{align-self:center}
.st-scroll{width:min(1120px,100%);display:flex;flex-direction:column;align-items:center}
/* Varas del rollo: cilindros dorados con remates en los extremos. */
.st-rod{position:relative;z-index:2;display:block;width:calc(100% + 36px);height:20px;border-radius:10px;
 background:linear-gradient(180deg,#6B4C16 0%,#C9A45C 22%,#F7E6B5 42%,#C9A45C 62%,#7A5A1E 100%);
 box-shadow:0 6px 18px -6px rgba(0,0,0,.8),0 0 22px -6px rgba(244,223,165,.45)}
.st-rod::before,.st-rod::after{content:"";position:absolute;top:50%;width:30px;height:30px;margin-top:-15px;border-radius:50%;
 background:radial-gradient(circle at 35% 30%,#FFF3CF,#C9A45C 45%,#6B4C16 100%);box-shadow:0 4px 12px -4px rgba(0,0,0,.8)}
.st-rod::before{left:-18px}.st-rod::after{right:-18px}
/* El rollo se despliega: la hoja crece de 0 a su alto y la vara inferior baja con ella. */
.st-unroll{display:grid;grid-template-rows:0fr;width:100%;animation:st-open 1800ms var(--ease-io) 250ms forwards}
.st-unroll>div{overflow:hidden;min-height:0}
@keyframes st-open{to{grid-template-rows:1fr}}
.st-sheet{position:relative;margin:0 6px;padding:clamp(48px,6vw,80px) clamp(22px,4.5vw,64px);background:transparent;
 border-left:2px solid rgba(201,164,92,.85);border-right:2px solid rgba(201,164,92,.85);
 box-shadow:inset 8px 0 0 -6px rgba(244,223,165,.45),inset -8px 0 0 -6px rgba(244,223,165,.45)}
.st-sheet::before{content:"";position:absolute;inset:18px 16px;border:1px solid rgba(201,164,92,.35);border-radius:4px;pointer-events:none}
.st-corner{position:absolute;width:clamp(46px,7vw,72px);height:clamp(46px,7vw,72px);pointer-events:none;filter:drop-shadow(0 0 6px rgba(244,223,165,.35))}
.st-tl{top:8px;left:8px}.st-tr{top:8px;right:8px;transform:scaleX(-1)}
.st-bl{bottom:8px;left:8px;transform:scaleY(-1)}.st-br{bottom:8px;right:8px;transform:scale(-1)}
.st-seal{text-align:center;font-size:22px;color:var(--gold);margin:-12px 0 18px;text-shadow:0 0 14px rgba(244,223,165,.6)}
.st-block{position:relative}
.st-block+.st-block{margin-top:14px}
.st-block.is-title{margin-top:34px;text-align:center}
.st-seal+.st-block.is-title{margin-top:0}
.st-title{margin:0 0 6px;font-family:"Great Vibes",var(--serif);font-weight:400;font-size:clamp(38px,5.4vw,58px);line-height:1.15;letter-spacing:.01em;
 background:linear-gradient(110deg,#A9822F 0%,#C9A45C 30%,#FFF7DC 46%,#F4DFA5 52%,#C9A45C 68%,#A9822F 100%);background-size:260% 100%;
 -webkit-background-clip:text;background-clip:text;color:transparent;
 filter:drop-shadow(0 0 10px rgba(244,223,165,.35));animation:st-shine 4.5s linear infinite}
@keyframes st-shine{from{background-position:130% 0}to{background-position:-130% 0}}
.st-block.is-title::after{content:"";display:block;width:min(220px,60%);height:1px;margin:10px auto 0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.st-block.is-subtitle{margin-top:26px;text-align:center}
.st-subtitle{margin:0 0 4px;font-family:var(--serif);font-weight:600;font-style:italic;font-size:clamp(24px,2.8vw,31px);line-height:1.3;letter-spacing:.02em;color:var(--gold-pale);text-shadow:0 0 16px rgba(244,223,165,.25)}
.st-subtitle::before,.st-subtitle::after{content:"\2726";display:inline-block;margin:0 .6em;font-size:.5em;font-style:normal;vertical-align:middle;color:var(--gold)}
.st-text{margin:0 0 14px;font-family:"Dancing Script",var(--serif);font-weight:500;font-size:clamp(21px,2.4vw,25px);line-height:1.65;color:#FFFDF6;
 text-shadow:0 0 14px rgba(255,255,255,.18);overflow-wrap:anywhere}
.st-text:last-child{margin-bottom:0}
.st-empty{text-align:center;opacity:.85}
.st-flourish{display:flex;align-items:center;gap:14px;margin-top:42px;color:var(--gold);font-size:18px}
.st-flourish span{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,164,92,.7),transparent)}
.st-block .sp-tools{top:-6px;right:-14px}
.is-editing .st-block{outline:1px dashed rgba(201,164,92,.35);outline-offset:8px;border-radius:6px}
/* Ventana de alta: elegir Título o Texto */
.st-kind{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px;padding:0;border:0}
.st-kind legend{margin-bottom:8px;font-size:15px;color:#e1d7f2}
.st-kind-opt{position:relative;flex:1 1 120px;cursor:pointer}
.st-kind-opt input{position:absolute;opacity:0;pointer-events:none}
.st-kind-opt span{display:block;padding:14px;border:1px solid var(--line-2);border-radius:14px;text-align:center;transition:border-color 200ms ease,background 200ms ease}
.st-kind-title{font-family:"Great Vibes",var(--serif);font-size:28px;color:var(--gold-light)}
.st-kind-subtitle{font-family:var(--serif);font-style:italic;font-weight:600;font-size:21px;color:var(--gold-pale)}
.st-kind-text{font-family:"Dancing Script",var(--serif);font-size:22px;color:#FFFDF6}
.st-kind-opt input:checked+span{border-color:var(--gold);background:rgba(201,164,92,.12)}
.st-kind-opt input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}
@media (max-width:560px){.st-rod{width:calc(100% + 16px)}.st-rod::before{left:-10px}.st-rod::after{right:-10px}.st-rod::before,.st-rod::after{width:24px;height:24px;margin-top:-12px}.st-block .sp-tools{right:-6px}}
@media (prefers-reduced-motion:reduce){.st-unroll{animation:none;grid-template-rows:1fr}.st-title{animation:none;background-position:50% 0}}

/* ---------- 4. Nuestros pastores ---------- */
.ps-admin{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:28px}
.ps-admin .hint{margin:0}
.ps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.ps-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#16132A,#100E1B);color:var(--text);transition:transform 300ms var(--ease-out),border-color 300ms ease,box-shadow 300ms ease}
.ps-card-photo{display:block;padding:18px 18px 0}
.ps-card-photo img,.ps-card-photo .ps-initials{display:grid;place-items:center;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 18px 18px;border:1px solid rgba(201,164,92,.45);background:radial-gradient(circle at 50% 30%,#2A2150,#141026)}
.ps-initials{font-family:var(--serif);font-size:64px;color:var(--gold)}
.ps-card-body{display:flex;flex-direction:column;gap:4px;padding:18px 22px 22px;text-align:center;align-items:center}
.ps-card-body small{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700}
.ps-card-body strong{font-family:var(--serif);font-size:26px;font-weight:600;line-height:1.15}
.ps-card-body em{font-style:normal;font-size:14px;color:var(--muted)}
.ps-card-body .card-arrow{margin-top:10px}
.ps-card:active{transform:scale(.985)}
@media (hover:hover){.ps-card:hover{transform:translateY(-4px);border-color:rgba(201,164,92,.45);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}.ps-card:hover .card-arrow{letter-spacing:.04em}}
.ps-hero{padding:48px 0 24px;background:radial-gradient(80% 120% at 15% 0,rgba(108,58,196,.22),transparent 60%),radial-gradient(60% 90% at 100% 20%,rgba(201,164,92,.12),transparent 60%)}
.ps-back{display:inline-block;margin-bottom:26px}
.ps-hero-grid{display:grid;grid-template-columns:minmax(220px,360px) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.ps-portrait img,.ps-portrait .ps-initials{display:grid;place-items:center;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 26px 26px;border:2px solid rgba(201,164,92,.75);
 box-shadow:0 0 0 8px rgba(201,164,92,.08),0 40px 90px -40px rgba(0,0,0,.9),0 0 60px -20px rgba(244,223,165,.35);background:radial-gradient(circle at 50% 30%,#2A2150,#141026)}
.ps-portrait .ps-initials{font-size:110px}
.ps-intro h1{margin:6px 0 20px;font-family:var(--serif);font-weight:600;font-size:clamp(40px,5.4vw,64px);line-height:1.05}
.ps-facts{display:grid;gap:10px;margin:0 0 22px}
.ps-facts div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.ps-facts dt{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;padding-top:3px}
.ps-facts dd{margin:0;color:var(--text)}
.ps-verse{margin:0 0 22px;padding:16px 20px;border-left:3px solid var(--gold);border-radius:0 14px 14px 0;background:rgba(201,164,92,.07);font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.5;color:var(--gold-pale)}
.ps-social{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ps-edit-info{margin-top:16px}
.ps-bio{max-width:820px}
.ps-bio p{font-size:17px;line-height:1.8;color:var(--muted-2)}
.ps-bio p:last-child{margin-bottom:0}
.ps-videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-bottom:26px}
.ps-video .sp-shot-btn{width:100%;aspect-ratio:16/9}
.ps-video .sp-shot-btn img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.ps-hero-grid{grid-template-columns:1fr}.ps-portrait{max-width:300px;margin-inline:auto}.ps-intro{text-align:center}.ps-facts div{grid-template-columns:1fr;gap:2px;text-align:center}.ps-social{justify-content:center}.ps-verse{text-align:left}}

/* ---------- 5. Usuarios: eliminar en bloque (V2.2.2) ---------- */
.users-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 10px}
.users-bulk-bar .checkbox-line{margin:0}
.users-bulk-del{color:#ffb4c0;border-color:rgba(255,160,178,.6)}
.col-check{width:36px;text-align:center}
.col-check input{width:18px;height:18px;accent-color:#dcb763;cursor:pointer}

/* Política de privacidad */
.privacy-list{display:grid;gap:18px;max-width:860px}
.privacy-list .item-card h3{margin-top:0}
.privacy-list ul{margin:6px 0 0;padding-left:20px;color:var(--muted)}
.privacy-list li{margin-bottom:8px}
.privacy-list a{overflow-wrap:anywhere}

/* Editar usuario: sedes asignadas con «Retirar» */
.user-sites{margin:22px 0 6px;padding-top:16px;border-top:1px solid var(--line)}
.user-sites h4{margin:0 0 10px}
.user-sites-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.user-sites-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--line);border-radius:12px}
.user-sites-list li span{flex:1;min-width:120px;font-weight:600}
.user-sites-list li small{color:var(--muted)}
.user-sites-list .inline-form{margin:0}
