/* San Judas Tadeo — hoja compartida Bootstrap 5.3 */
:root{--sjt-marron:#aa8d6d;--sjt-oscuro:#352c25;--sjt-claro:#ddd1ca;--sjt-turquesa:#87d8cc;--sjt-fondo:#fbf9f6;--sjt-texto:#3c332c}
html{scroll-behavior:smooth;scroll-padding-top:88px}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;color:var(--sjt-texto);background:var(--sjt-fondo);line-height:1.75}h1,h2,h3{font-family:"Bodoni 72","Bodoni MT",Didot,Georgia,serif;font-weight:700;line-height:1.15}h2{font-size:clamp(2.4rem,5vw,4.2rem);margin-bottom:25px}h3{font-size:1.55rem}.section-padding{padding:clamp(75px,9vw,125px) 0}.section-label{color:#806045;text-transform:uppercase;font-size:.78rem;font-weight:600;letter-spacing:.18em}.narrow{max-width:740px}.lead{font-size:1.2rem}.tinted-section{background:#e9e0d8}.content-card{padding:30px;background:#fff;border:1px solid #e9e0d8;height:100%}
.site-header{background:rgba(42,34,28,.97);backdrop-filter:blur(8px)}.navbar{min-height:76px}.site-logo{width:auto;max-width:60px;max-height:48px;object-fit:contain}.site-brand-name{font-family:"Bodoni 72",Didot,Georgia,serif;font-weight:700;font-size:1.55rem;color:#fff;white-space:nowrap}.navbar-nav .nav-link{color:#f1ebe5;text-transform:uppercase;font-size:.77rem;letter-spacing:.055em;padding:10px 11px!important}.navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus,.navbar-nav .nav-link.active{color:var(--sjt-turquesa)}.navbar-nav .nav-cta{background:var(--sjt-turquesa);color:var(--sjt-oscuro);border-radius:2px;padding:10px 15px!important}.navbar-nav .nav-cta:hover{color:var(--sjt-oscuro);background:#adeae1}
/* Estilos compartidos con index.html */
.hero{position:relative;min-height:100svh;padding:130px 0 90px;color:#fff;background:linear-gradient(100deg,rgba(40,33,32,.78),rgba(49,37,36,.48)),url('../imgs/portada.jpg') center/cover no-repeat;background-color:#756860}.hero-content{position:relative;z-index:1}.hero-symbol{max-width:145px;max-height:115px;object-fit:contain;margin-bottom:24px}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.22em}.hero h1{font-size:clamp(3.2rem,7vw,7rem)}.hero-description{font-size:1.12rem;max-width:650px;margin-top:25px}.hero-btn{min-width:155px;padding:13px 25px;border-radius:2px;font-size:.79rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600}.btn-turquoise{background:var(--sjt-turquesa);border-color:var(--sjt-turquesa);color:var(--sjt-oscuro)}.btn-earth{background:var(--sjt-marron);border-color:var(--sjt-marron);color:#fff}.section-image{display:block;width:auto;max-width:100%;height:auto;max-height:550px;object-fit:contain;margin:auto}.dark-section{background:var(--sjt-oscuro);color:#fff}.dark-section .section-label{color:var(--sjt-turquesa)}.pending{display:inline-block;border:1px solid #c7b6a5;padding:12px 22px}.location-placeholder{background:#fff;padding:45px 35px;text-align:center}.donate-section{background:#ddcfc1}.future-page{display:inline-block;border-bottom:1px solid #806349;margin-top:15px;color:#806349}
.history-banner{padding:150px 0 80px;background:var(--sjt-oscuro);color:#fff}.history-banner .section-label{color:var(--sjt-turquesa)}.history-banner h1{font-size:clamp(3rem,7vw,6rem)}.history-subtitle{max-width:720px;font-size:1.2rem}.history-index{background:#eee6df;padding:22px 0;border-bottom:1px solid #d9cec2}.history-index a{color:var(--sjt-oscuro);text-decoration:none;font-size:.87rem;border-bottom:1px solid transparent}.history-index a:hover,.history-index a:focus{border-bottom-color:var(--sjt-marron)}.history-content{max-width:900px}.history-prose p,.history-content p{margin-bottom:1.25rem}.history-highlight,.history-quote{border-left:4px solid var(--sjt-marron);background:#f4ede6;padding:24px 28px;margin:30px 0}.history-quote p{font-family:Georgia,serif;font-size:1.35rem}.history-quote cite{font-size:.85rem;color:#76675a}.history-highlight strong{display:block;margin-bottom:8px}.history-highlight p{margin:0}.history-figure img{display:block;max-width:100%;width:auto;height:auto;max-height:590px;object-fit:contain;margin:auto}.history-figure figcaption{font-size:.82rem;color:#786e65;font-style:italic;text-align:center;margin-top:14px}
.museum-section{background:#fcfaf7}.museum-intro{max-width:800px}.museum-card{height:100%;margin:0;background:#fff;border:1px solid #e6ded6;box-shadow:0 6px 24px #352c250b;display:flex;flex-direction:column;overflow:hidden}.museum-card>a{display:block;min-height:250px;background:#f1ece6;text-align:center;display:flex;align-items:center;justify-content:center;padding:14px}.museum-card img{display:block;width:100%;height:260px;object-fit:contain}.museum-card figcaption{padding:19px 22px 22px;display:flex;flex-direction:column;gap:6px}.museum-card strong{font-family:Georgia,serif;font-size:1.16rem;line-height:1.4}.museum-card span{font-size:.84rem;color:#6c625b}.museum-note{font-size:.84rem;color:#685b51}.history-sources{background:#f1ebe5}.history-sources li{margin-bottom:8px}.site-footer{background:var(--sjt-oscuro);color:#eee5dc;padding:34px 0;font-size:.84rem}.site-footer strong{font-family:Georgia,serif;letter-spacing:.14em}.site-footer a{color:#eee5dc}.site-footer a:hover{color:var(--sjt-turquesa)}
@media(max-width:991.98px){.navbar-collapse{padding:15px 0}.navbar-nav .nav-cta{display:inline-block;margin-top:10px}}@media(max-width:575.98px){.site-logo{max-width:48px;max-height:40px}.site-brand-name{font-size:1.15rem}.history-banner{padding:125px 0 65px}.history-subtitle{font-size:1rem}.history-figure img{max-height:440px}.museum-card img{height:220px}.hero h1{font-size:3.2rem}.hero-symbol{max-height:85px}.section-image{max-height:450px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Epístola completa y fichas ilustradas de símbolos */
.epistle-context{margin:28px 0}.epistle-context .content-card{padding:24px}.epistle-context h3{font-size:1.35rem}
.epistle-details{margin-top:30px;border:1px solid #d4c5b7;background:#fff}.epistle-details>summary{cursor:pointer;padding:20px 26px;color:var(--sjt-oscuro);background:#f1e9e1;font-weight:600;line-height:1.5}.epistle-details>summary:focus-visible{outline:3px solid #3f807b;outline-offset:2px}.epistle-details[open]>summary{border-bottom:1px solid #d4c5b7}.epistle-fulltext{padding:24px 30px}.epistle-edition{font-size:.88rem;color:#68584c;border-bottom:1px solid #e6ddd4;padding-bottom:15px}.epistle-verse{margin-bottom:16px!important;font-size:1rem;line-height:1.9}.verse-number{color:#806349;font-weight:700;font-size:.78rem;vertical-align:super}.epistle-source{border-top:1px solid #e6ddd4;padding-top:16px;font-size:.86rem}.epistle-source a{color:#765437}
.symbol-intro{max-width:740px}.symbol-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e6ddd3;box-shadow:0 8px 25px #352c250a;overflow:hidden}.symbol-picture{height:215px;background:#f8f4ef;display:flex;align-items:center;justify-content:center;padding:18px}.symbol-picture img{display:block;max-width:100%;max-height:175px;width:auto;height:auto;object-fit:contain}.symbol-copy{padding:23px 25px}.symbol-copy h3{font-size:1.5rem}.symbol-copy p{font-size:.96rem;line-height:1.65;margin-bottom:0}
@media(max-width:575.98px){.epistle-fulltext{padding:20px 18px}.symbol-picture{height:180px}.symbol-picture img{max-height:145px}}

/* CULT0: página internacional */
.culto-hero{background:linear-gradient(110deg,#352c25 0%,#614a3c 100%);color:#fff;padding:155px 0 85px}.culto-hero h1{font-size:clamp(2.7rem,6vw,5.4rem);max-width:900px;margin:auto}.culto-hero .section-label{color:var(--sjt-turquesa)}.culto-lead{max-width:760px;margin:20px auto 0;font-size:1.14rem}.culto-nav{background:#eee6df;padding:18px 0;border-bottom:1px solid #d9cec2}.culto-nav a{color:#49372b;text-decoration:none;font-size:.87rem;font-weight:600}.culto-nav a:hover,.culto-nav a:focus{color:#7d6347;text-decoration:underline}.culto-intro{max-width:880px}.culto-region{padding:clamp(65px,8vw,105px) 0}.culto-region:nth-of-type(even){background:#f0e8df}.culto-region h2{margin-bottom:20px}.culto-region-intro{max-width:820px;margin-bottom:36px}.country-card{height:100%;padding:28px 29px;border:1px solid #e4d8cc;background:#fff;box-shadow:0 7px 25px rgba(53,44,37,.06)}.country-card h3{font-size:1.65rem;margin-bottom:14px}.country-card p{margin-bottom:13px}.country-card p:last-child{margin-bottom:0}.country-card .country-place{font-size:.77rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#856b4f}.country-card .country-tradition{border-top:1px solid #e9ded3;padding-top:13px;font-size:.93rem}.country-card a,.culto-sources a{color:#71502c;text-underline-offset:3px}.culto-key{background:#e3d4c5;border-left:4px solid #aa8d6d;padding:26px 31px}.culto-key strong{display:block;margin-bottom:7px}.culto-note{font-size:.9rem;color:#625348}.culto-festival{background:#352c25;color:white;padding:70px 0}.culto-festival h2{font-size:clamp(2.4rem,4vw,3.6rem)}.culto-festival .section-label{color:#87d8cc}.culto-festival-item{border-left:2px solid #aa8d6d;padding:5px 0 5px 22px;margin:23px 0}.culto-sources{background:#f0e8df}.culto-sources li{margin-bottom:9px}.culto-visual{display:block;max-width:100%;max-height:400px;width:auto;height:auto;object-fit:contain;margin:auto}.culto-figure{margin:0}.culto-figure figcaption{font-style:italic;color:#74655a;font-size:.83rem;text-align:center;margin-top:10px}.culto-footer-link{color:#f3e8dc!important}.culto-section-label{color:#806045;text-transform:uppercase;font-size:.77rem;letter-spacing:.16em;font-weight:700}.country-card:target{outline:3px solid #aa8d6d;outline-offset:3px}@media(max-width:575.98px){.culto-hero{padding:125px 0 60px}.country-card{padding:24px}.culto-key{padding:20px}}

/* Países con tradiciones locales ampliadas */
.country-card h4{font-family:"Bodoni 72",Didot,Georgia,serif;font-size:1.35rem;margin:22px 0 12px;color:var(--sjt-oscuro)}.country-card .culto-key p{margin-bottom:12px}.country-card .culto-key .culto-note{margin-bottom:0}

/* === Fotografías por país y visor de pantalla completa === */
.culto-country-photo{margin:12px 0 24px;text-align:center}
.culto-photo-button{border:0;padding:0;display:block;width:100%;background:#eee6df;cursor:zoom-in;border-radius:3px;overflow:hidden}
.culto-photo-button:focus-visible{outline:3px solid #08796d;outline-offset:4px}
.culto-country-img{width:100%;height:auto;max-height:330px;object-fit:contain;display:block;margin:auto}
.culto-country-photo figcaption{font-size:.82rem;font-style:italic;margin-top:9px;color:#766357}
.culto-photo-modal .modal-content{background:rgba(24,20,19,.97);color:#fff;border:0;border-radius:0}
.culto-photo-modal .modal-header,.culto-photo-modal .modal-footer{border-color:#665d56;flex-shrink:0}
.culto-photo-modal .modal-body{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:0;overflow:hidden;padding:12px}
.culto-photo-modal #fotoModalImagen{display:block;max-width:calc(100vw - 120px);max-height:calc(100dvh - 155px);width:auto;height:auto;object-fit:contain;margin:auto}
.culto-photo-arrow{flex:0 0 44px;border:1px solid #aaa3a0;background:#342d2a;color:white;font-size:2rem;line-height:1;border-radius:4px;padding:12px 5px;cursor:pointer}
.culto-photo-arrow:hover,.culto-photo-arrow:focus-visible{background:#625147;color:#87d8cc}
.culto-photo-modal .modal-footer{justify-content:space-between;font-size:.82rem}
@media(max-width:575.98px){.culto-photo-modal #fotoModalImagen{max-width:calc(100vw - 92px);max-height:calc(100dvh - 145px)}.culto-photo-arrow{flex-basis:32px;font-size:1.3rem;padding:12px 1px}.culto-modal-help{font-size:.7rem}}

/* Directorio mundial de iglesias */
.iglesias-hero{padding:145px 0 65px;background:var(--sjt-oscuro);color:white}
.iglesias-hero .section-label{color:var(--sjt-turquesa)}
.iglesias-hero h1{font-size:clamp(2.5rem,5vw,4.5rem)}
.iglesias-hero p.lead{max-width:800px}
.iglesias-main{padding:45px 0 90px}
.filters{padding:25px;background:#f0e8df;border:1px solid #e0d5c8;border-radius:5px}
.filters .form-label{font-weight:600;font-size:.85rem}
.btn-sjt{background:var(--sjt-marron);border-color:var(--sjt-marron);color:#fff}
.btn-sjt:hover{background:var(--sjt-oscuro);border-color:var(--sjt-oscuro);color:#fff}
.iglesias-mapa{height:620px;min-height:430px;background:#e8e2dd;border-radius:5px;overflow:hidden;position:relative}
.mapa-aviso{padding:28px;line-height:1.8;max-width:550px}
.result-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}
.iglesias-resultados{height:620px;overflow-y:auto;border:1px solid #e7ddd2;border-radius:5px;background:white}
.iglesia-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:16px;border-bottom:1px solid #e8dfd6}
.foto-iglesia{border:0;background:#f3ede8;display:flex;align-items:center;justify-content:center;width:120px;height:115px;cursor:zoom-in;padding:0}
.iglesia-img{width:100%;height:100%;object-fit:contain}
.foto-no-disponible{text-align:center;font-size:.73rem;color:#74685e;padding:6px}
.iglesia-info h3{font-family:Georgia,serif;font-size:1.16rem;margin-bottom:5px}
.iglesia-info p{font-size:.84rem;line-height:1.5}
.iglesia-localidad{font-weight:600;color:#80654e}
.iglesia-links{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.iglesia-links .btn{font-size:.75rem}
.iglesia-telefono{color:#655a50}
.iglesias-note{font-size:.83rem;color:#665c54}
.foto-ampliada{max-width:100%;max-height:75vh;object-fit:contain}
.mapa-ventana{max-width:245px;font-size:.85rem}.mapa-ventana p{line-height:1.5}
@media(max-width:991.98px){.iglesias-mapa{height:450px}.iglesias-resultados{height:auto;max-height:640px}}
@media(max-width:575.98px){.iglesias-hero{padding:115px 0 48px}.iglesia-card{grid-template-columns:92px minmax(0,1fr);gap:10px;padding:12px}.foto-iglesia{width:92px;height:105px}.result-header{align-items:flex-start;flex-direction:column}}


/* ===== ORACIONES: estilos adicionales no incluidos en las páginas anteriores ===== */
.page-banner{background:var(--sjt-oscuro);color:#fff;padding:148px 0 77px}
.page-banner .section-label{color:var(--sjt-turquesa)}
.page-banner h1{font-size:clamp(2.7rem,6vw,5rem)}
.page-banner p:last-child{max-width:760px;margin:auto}
.prayer-controls{background:#efe7df;padding:24px;border:1px solid #e5d9ca;border-radius:5px}
.oracion-card{padding:28px;background:#fff;border:1px solid #e6dacf;display:flex;flex-direction:column;box-shadow:0 8px 22px #352c2509}
.oracion-card h3{font-size:1.65rem;margin:12px 0}
.oracion-excerpt{font-size:.94rem;flex:1}
.prayer-tag{color:#7b6045;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.btn-oracion{background:var(--sjt-oscuro);color:#fff;border-radius:2px;align-self:flex-start}
.btn-oracion:hover{background:#614e3d;color:#fff}
.btn-outline-sjt{border:1px solid var(--sjt-marron);color:var(--sjt-oscuro);background:#fff}
.btn-outline-sjt:hover{background:var(--sjt-marron);color:#fff}
.novena-strip{background:#eee5da}
.source-panel{background:#eee5da}
.source-panel a{color:#624d39;overflow-wrap:anywhere}
.modal-title{font-size:1.7rem}
.oracion-body{white-space:pre-line;font-size:1.07rem;line-height:1.85;max-width:800px;margin:auto}
.oracion-body.oracion-big{font-size:1.4rem}
.oracion-body p{white-space:pre-line;margin-bottom:1.2rem}
.note{font-size:.86rem;color:#655b52}
.skip-link{position:absolute;top:-90px;left:6px;background:white;padding:10px;z-index:3000}
.skip-link:focus{top:0}
/* Controles de formulario solo dentro de la página Oraciones */
.prayer-controls .form-control:focus,.prayer-controls .form-select:focus{border-color:var(--sjt-marron);box-shadow:0 0 0 .2rem #aa8d6d33}
@media(max-width:575.98px){.page-banner{padding:120px 0 60px}.oraciones-page .section-padding{padding:52px 0}}
@media print{body:has(#oracionModal) header,body:has(#oracionModal) footer,body:has(#oracionModal) .page-banner,body:has(#oracionModal) .prayer-controls,body:has(#oracionModal) #prayerGrid,body:has(#oracionModal) #novena,body:has(#oracionModal) #fuentes, #oracionModal .modal-header button,body:has(#oracionModal) .modal-footer{display:none!important}body:has(#oracionModal) .modal{position:static!important;display:block!important;overflow:visible!important}body:has(#oracionModal) .modal-dialog{max-width:100%!important;margin:0!important}body:has(#oracionModal) .modal-backdrop{display:none!important} #oracionModal .modal-content{border:0!important}body:has(#oracionModal) .modal-body{display:block!important}body:has(#oracionModal){background:white!important}}

 #oracionModal .modal-header{background:#f5efe9}
 #oracionModal .modal-content{border-radius:4px}

/* INTEGRACION GENERAL: NAV Y BANNERS */
.nav-pending{display:inline-block;padding:8px 10px;color:#dfcbb3;font-size:.78rem;white-space:nowrap;border:1px solid #7a6754;border-radius:2px}
.page-banner,.history-banner,.culto-hero,.iglesias-hero{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:340px;padding:140px 20px 70px;background:#352c25 center/cover no-repeat;color:#fff;text-align:center}
.page-banner::before,.history-banner::before,.culto-hero::before,.iglesias-hero::before{content:"";position:absolute;inset:0;background:rgba(35,28,24,.62);z-index:-1}
.page-banner .container-xl,.page-banner .container,.history-banner .container{position:relative;z-index:1}
.page-banner h1,.history-banner h1{font-size:clamp(2.6rem,5vw,4.8rem);margin:0 0 15px;color:#fff}
.page-banner .section-label,.history-banner .section-label{color:#87d8cc}
.page-banner p,.banner-description{color:#fff;max-width:770px;margin-left:auto;margin-right:auto}
.banner-historia{background-image:url("../imgs/banner_historia.jpg")}
.banner-culto{background-image:url("../imgs/banner_culto.jpg")}
.banner-iglesias{background-image:url("../imgs/banner_iglesias.jpg")}
.banner-oraciones{background-image:url("../imgs/banner_oraciones.jpg")}
.banner-informacion{background-image:url("../imgs/banner_informacion.jpg")}
.site-footer{background:#352c25;color:#e9e0d8;padding:55px 0 0;font-size:.9rem}
.footer-logo{max-width:155px;max-height:125px;object-fit:contain}
.footer-description{margin-top:12px;color:#d1c5ba;font-size:.85rem}
.site-footer .footer-title{font-family:Georgia,serif;font-size:1.35rem;color:#fff;margin-bottom:18px}
.footer-menu{margin:0;padding:0;list-style:none}
.footer-menu li{margin-bottom:9px}
.footer-menu a,.site-footer a{color:#e9ded3;text-decoration:none}
.footer-menu a:hover,.site-footer a:hover{color:#87d8cc}
.footer-social{display:flex;gap:14px}
.social-button{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#625143;font-size:1.3rem}
.social-button:hover{background:#87d8cc;color:#352c25!important}
.footer-bottom{margin-top:38px;padding:19px 0;border-top:1px solid #65564b;color:#c6b9ac;font-size:.8rem}
.legal-content h2{font-size:1.55rem;margin-top:2rem;margin-bottom:.9rem}.legal-content p{margin-bottom:1rem}
@media(max-width:575.98px){.page-banner,.history-banner{min-height:280px;padding:115px 16px 50px}.page-banner h1,.history-banner h1{font-size:2.5rem}.footer-social{justify-content:center}.footer-logo{display:block;margin:auto}.site-footer{text-align:center}}

/* ORACIONES: retransmisiones y misas grabadas */
.prayer-video-section{background:#fbf9f6}
.prayer-video-card{background:#fff;border:1px solid #e5d9ca;box-shadow:0 7px 24px #352c2510;overflow:hidden}
.prayer-video-card .ratio{background:#352c25}
.prayer-video-card iframe{border:0}
.prayer-video-card h3{font-size:1.55rem;margin-bottom:.7rem}
.prayer-video-card p{font-size:.96rem}
.video-external-link{color:#72583e;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.video-external-link:hover{color:#352c25}
.video-privacy-note{font-size:.84rem;color:#66594e;max-width:860px}
/* Botones de paginación deshabilitados */

.sjt-lamp-paginacion > span.disabled {
  min-width: 42px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #75507c;
  border-radius: 6px;
  background: #292029;
  color: #ffffff;
  opacity: 0.35;
  font-size: 1.3rem;
}

/* Garantizar que el overlay se oculta */

.sjt-lamp-overlay[hidden] {
  display: none !important;
}


/* ==========================================
   LAMPADARIO - VERSION BOOTSTRAP
   ========================================== */

.sjt-lampadario {
  --lamp-purple: #74357d;

  background: #000;
  color: #fff;
  border-radius: 12px;
  padding: 28px 16px;
  margin: 0 auto;
  width: 100%;
}

/* Cabecera */

.sjt-lamp-titulo {
  color: #fff;
  font-family: "Bodoni 72", Georgia, serif;
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 12px;
  text-align: center;
}

.sjt-lamp-total {
  color: #ddd1ca;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 22px;
}

/* Filtros */

.sjt-lamp-filtros {
  margin-bottom: 25px;
}

.sjt-lamp-filtros .form-control,
.sjt-lamp-filtros .form-select {
  min-height: 42px;
  max-width: 240px;
}

.sjt-lamp-btn {
  background: var(--lamp-purple);
  border: 1px solid var(--lamp-purple);
  color: #fff;
}

.sjt-lamp-btn:hover,
.sjt-lamp-btn:focus {
  background: #55245e;
  border-color: #55245e;
  color: #fff;
}

.sjt-lamp-resultados {
  color: #ddd1ca;
  margin-top: 8px;
}

/* ==========================================
   CUADRICULA RESPONSIVE
   ========================================== */

.sjt-lamp-grid {
  justify-content: center;
}

/* Bootstrap row + col; móvil: 2 columnas */

.sjt-lamp-grid > .sjt-lamp-col {
  flex: 0 0 auto;
  width: 50%;
  min-width: 0;
}

/* Móviles horizontales: hasta 4 columnas */

@media (min-width: 576px) {
  .sjt-lamp-grid > .sjt-lamp-col {
    width: calc(100% / min(var(--sjt-lamp-cols), 4));
  }
}

/* Tablets: hasta 6 columnas */

@media (min-width: 768px) {
  .sjt-lamp-grid > .sjt-lamp-col {
    width: calc(100% / min(var(--sjt-lamp-cols), 6));
  }
}

/* Escritorio: número solicitado de columnas */

@media (min-width: 1200px) {
  .sjt-lamp-grid > .sjt-lamp-col {
    width: calc(100% / var(--sjt-lamp-cols));
  }
}

/* Cada vela */

.sjt-lamp-celda {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  text-align: center;
  gap: 7px;
  min-width: 0;
}

/* Imagen encendida o apagada */

.sjt-lamp-imagen {
  display: block;
  width: 100%;
  max-width: 65px;
  height: 100px;
  object-fit: contain;
}

/* Iniciales */

.sjt-lamp-vela-btn {
  display: block;
  width: 100%;
  max-width: 90px;
  min-height: 30px;
  padding: 5px 3px;

  background: #000;
  color: #fff;
  border: 1px solid #74357d;
  border-radius: 5px;

  font-size: 0.85rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
  cursor: pointer;
}

.sjt-lamp-vela-btn:hover,
.sjt-lamp-vela-btn:focus-visible {
  background: #74357d;
  border-color: #fff;
}

/* ==========================================
   PAGINACION
   ========================================== */

.sjt-lamp-paginacion {
  flex-wrap: wrap;
}

.sjt-lamp-nav-btn {
  min-width: 42px;
  min-height: 42px;

  display: inline-flex;
  justify-content: center;
  align-items: center;

  background: #292029;
  color: #fff;
  border: 1px solid #75507c;
  border-radius: 6px;

  font-size: 1.35rem;
  text-decoration: none;
}

a.sjt-lamp-nav-btn:hover {
  background: #74357d;
  color: #fff;
}

.sjt-lamp-nav-btn.disabled {
  opacity: 0.35;
  pointer-events: none;
}

.sjt-lamp-pagina {
  color: #fff;
  padding: 0 8px;
  min-width: 65px;
  text-align: center;
}

/* ==========================================
   OVERLAY
   ========================================== */

.sjt-lamp-overlay[hidden] {
  display: none !important;
}

.sjt-lamp-overlay:not([hidden]) {
  position: fixed;
  inset: 0;
  z-index: 11000;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 16px;
  background: rgba(0, 0, 0, 0.8);
}

.sjt-lamp-dialog {
  width: 100%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;

  background: #fff;
  color: #222;
  border: 5px solid #74357d;
  border-radius: 15px;
  box-shadow: 0 15px 45px rgba(0,0,0,.4);
  text-align: center;
}

.sjt-lamp-dialog-content {
  padding: 25px 24px 20px;
}

.sjt-lamp-dialog-logo {
  display: block;
  width: auto;
  max-width: 145px;
  max-height: 145px;
  object-fit: contain;
  margin: 0 auto 22px;
}

.sjt-lamp-peticion {
  color: #74357d;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin-bottom: 20px;
}

.sjt-lamp-pais {
  font-size: 1.1rem;
  color: #000;
  font-weight: 700;
  margin-bottom: 18px;
}

.sjt-lamp-fecha,
.sjt-lamp-fin {
  color: #333;
  font-size: 0.9rem;
  margin-bottom: 8px;
}

.sjt-lamp-dialog-footer {
  border-top: 1px solid #ddd;
  display: flex;
  justify-content: flex-end;
  padding: 12px 18px;
}

.sjt-lamp-cerrar {
  font-size: 0.85rem;
  padding: 6px 15px;
}

/* Móvil */

@media (max-width: 575.98px) {

  .sjt-lampadario {
    padding: 20px 10px;
  }

  .sjt-lamp-imagen {
    max-width: 60px;
    height: 90px;
  }

  .sjt-lamp-dialog-content {
    padding: 20px 15px;
  }

  .sjt-lamp-peticion {
    font-size: 1.12rem;
  }

  .sjt-lamp-filtros .form-control,
  .sjt-lamp-filtros .form-select {
    max-width: none;
  }
}


/* ==========================================
   LAMPADARIO - IDENTIDAD DE COLOR
   ========================================== */

.sjt-lampadario {
  --lamp-purple: #b58e6c;
  --lamp-accent: #b58e6c;
}

/* Titulos H1, H2, H3 y H4 */

.sjt-lampadario h1,
.sjt-lampadario h2,
.sjt-lampadario h3,
.sjt-lampadario h4 {
  color: var(--lamp-accent);
}

/* Bordes y estados de los botones */

.sjt-lampadario .sjt-lamp-btn,
.sjt-lampadario .sjt-lamp-vela-btn,
.sjt-lampadario .sjt-lamp-nav-btn {
  border: 1px solid var(--lamp-accent);
  background-color: #000;
  color: #fff;
}

.sjt-lampadario .sjt-lamp-btn:hover,
.sjt-lampadario .sjt-lamp-btn:focus-visible,
.sjt-lampadario .sjt-lamp-vela-btn:hover,
.sjt-lampadario .sjt-lamp-vela-btn:focus-visible,
.sjt-lampadario a.sjt-lamp-nav-btn:hover,
.sjt-lampadario a.sjt-lamp-nav-btn:focus-visible {
  background-color: var(--lamp-accent);
  border-color: var(--lamp-accent);
  color: #000;
}

/* Borde del overlay */

.sjt-lampadario .sjt-lamp-dialog {
  border-color: var(--lamp-accent);
}

/* Color de la peticion */

.sjt-lampadario .sjt-lamp-peticion {
  color: var(--lamp-accent);
}

/* El pais y las fechas mantienen sus colores */

.sjt-lampadario .sjt-lamp-pais {
  color: #000;
}

.sjt-lampadario .sjt-lamp-fecha,
.sjt-lampadario .sjt-lamp-fin {
  color: #333;
}

/* Boton Cerrar dentro del overlay */

.sjt-lampadario .sjt-lamp-cerrar {
  background-color: var(--lamp-accent);
  border-color: var(--lamp-accent);
  color: #000;
}

.sjt-lampadario .sjt-lamp-cerrar:hover,
.sjt-lampadario .sjt-lamp-cerrar:focus-visible {
  background-color: #352c25;
  border-color: var(--lamp-accent);
  color: #fff;
}

/* ==========================================
   LAMPADARIO - MODOS ESPECIALES
   ========================================== */

.sjt-lampadario {
  --lamp-accent: #b58e6c;
}

/* Formulario de administración */

.sjt-lamp-login {
  background: #ffffff;
  border: 3px solid #b58e6c;
  border-radius: 15px;
  max-width: 460px;
  padding: 30px;
  box-shadow: 0 8px 30px rgba(0,0,0,.12);
}

.sjt-lamp-login h2 {
  color: #b58e6c;
  margin-bottom: 20px;
}

.sjt-lamp-login label {
  color: #352c25;
}

/* Indicador de sesión administrativa */

.sjt-lamp-admin-info {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  margin: 12px 0 20px;
  color: #b58e6c;
  font-size: .9rem;
}

/* Controles del overlay */

.sjt-lamp-dialog-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  border-top: 1px solid #ddd;
  padding: 12px 18px;
}

/* Botones corporativos */

.sjt-lampadario .sjt-lamp-btn,
.sjt-lamp-login .sjt-lamp-btn {
  background: #352c25;
  color: #fff;
  border: 1px solid #b58e6c;
  border-radius: 6px;
}

.sjt-lampadario .sjt-lamp-btn:hover,
.sjt-lampadario .sjt-lamp-btn:focus-visible,
.sjt-lamp-login .sjt-lamp-btn:hover,
.sjt-lamp-login .sjt-lamp-btn:focus-visible {
  background: #b58e6c;
  border-color: #b58e6c;
  color: #000;
}

/* Destacar la acción administrativa */

.sjt-lamp-borrar {
  font-weight: 600;
}

/* Cuadro de información */

.sjt-lampadario .sjt-lamp-dialog {
  border-color: #b58e6c;
}

.sjt-lampadario .sjt-lamp-peticion,
.sjt-lampadario h1,
.sjt-lampadario h2,
.sjt-lampadario h3,
.sjt-lampadario h4 {
  color: #b58e6c;
}

/* En móviles */

@media (max-width: 575.98px) {
  .sjt-lamp-login {
    padding: 22px 16px;
  }
}
/* Botón de reactivación */

.sjt-lamp-activar-form[hidden] {
  display: none !important;
}

.sjt-lamp-activar {
  border: 1px solid #b58e6c;
  background-color: #352c25;
  color: #fff;
}

.sjt-lamp-activar:hover,
.sjt-lamp-activar:focus-visible {
  background-color: #b58e6c;
  border-color: #b58e6c;
  color: #000;
}
.sjt-destacada-fila {
  display: grid;
  grid-template-columns: minmax(0, 360px) minmax(0, 360px) minmax(0, 1fr);
  width: 100%;
  background: #000;
  color: #fff;
  align-items: center;
}

.sjt-destacada-imagen {
  width: 100%;
  max-width: 360px;
  height: auto;
  display: block;
  margin: 0 auto;
}

.sjt-destacada-info {
  padding: 24px;
  min-width: 0;
}