/* Presentación inicial de Cuarto Pueblo — elegante, respetuosa y accesible. */
.eh-welcome-overlay[hidden], .eh-welcome-player[hidden], .eh-welcome-countdown[hidden], .eh-welcome-listen[hidden]{display:none!important}
.eh-welcome-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:clamp(10px,3vw,34px);isolation:isolate}
.eh-welcome-backdrop{position:absolute;inset:0;background:rgba(1,21,16,.88);backdrop-filter:blur(12px);z-index:-1}
.eh-welcome-panel{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);width:min(1060px,100%);max-height:min(90dvh,890px);overflow:auto;background:#fcfff9;border:1px solid rgba(230,202,92,.65);border-radius:24px;box-shadow:0 28px 100px rgba(0,0,0,.45),0 0 0 5px rgba(255,255,255,.05);animation:ehWelcomeAppear .38s ease-out;color:#153b2c}
@keyframes ehWelcomeAppear{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.eh-welcome-picture{position:relative;min-height:565px;background:#234936;overflow:hidden}
.eh-welcome-image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;display:block}
.eh-welcome-picture:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,29,16,.72),transparent 38%);pointer-events:none}
.eh-welcome-picture-caption{position:absolute;bottom:24px;left:24px;right:24px;z-index:1;color:#fff;font-size:12px;letter-spacing:.13em;font-weight:850;text-shadow:0 1px 4px #0006}
.eh-welcome-icon-star{color:#ffe87d;font-size:22px;vertical-align:-2px;padding-right:5px}
.eh-welcome-content{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(24px,3.6vw,48px);background:radial-gradient(ellipse at 92% 0%,rgba(255,235,139,.22),transparent 45%),#fcfff9}
.eh-welcome-x{position:absolute;right:17px;top:15px;width:36px;height:36px;border-radius:50%;border:1px solid #dbe8d9;background:#fff;color:#1d5334;font-size:27px;line-height:1;cursor:pointer;display:grid;place-items:center}
.eh-welcome-x:hover,.eh-welcome-x:focus-visible{background:#e2f3e8}
.eh-welcome-logo-wrap{display:flex;align-items:center;justify-content:center;background:#fff;padding:12px 15px;border-radius:16px;box-shadow:0 8px 25px rgba(0,68,34,.07);margin-bottom:25px;max-width:295px}
.eh-welcome-logo{display:block;max-width:260px;max-height:92px;width:auto;height:auto;object-fit:contain}
.eh-welcome-overline{font-size:10px;font-weight:900;letter-spacing:.16em;color:#087447;margin-bottom:10px}
.eh-welcome-content h2{font-size:clamp(25px,3vw,36px);line-height:1.13;letter-spacing:-.04em;margin:0 0 15px;color:#08482f;font-weight:900}
.eh-welcome-rule{width:80px;height:4px;background:linear-gradient(90deg,#ffd93d,#f1b828);border-radius:9px;margin-bottom:18px}
.eh-welcome-content p{font-size:14px;line-height:1.68;color:#3e5b49;margin:0 0 18px}
.eh-welcome-honor{display:flex;align-items:center;gap:11px;width:100%;padding:14px 16px;border:1px solid #cee4d3;background:linear-gradient(110deg,#eaf7ee,#f7fdf7);border-radius:13px;margin-bottom:17px}
.eh-welcome-honor>span{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;background:#086d43;color:#fff;border-radius:50%;font-size:20px}
.eh-welcome-honor strong{display:block;font-size:13px;color:#0a4a31}
.eh-welcome-honor small{display:block;font-size:11px;line-height:1.4;color:#50745b}
.eh-welcome-actions{display:flex;flex-wrap:wrap;gap:9px;width:100%}
.eh-welcome-actions button{border:0;border-radius:10px;cursor:pointer;padding:12px 17px;min-height:46px;font-weight:850;font-size:13px;transition:transform .18s,box-shadow .18s}
.eh-welcome-actions button:hover{transform:translateY(-2px);box-shadow:0 7px 17px #064a2720}
.eh-welcome-listen{background:linear-gradient(120deg,#007e45,#005d38);color:#fff;box-shadow:0 6px 16px rgba(0,82,40,.15)}
.eh-welcome-skip{border:1px solid #c1dac8!important;background:#fff;color:#095337}
.eh-welcome-player{width:100%;margin-top:12px;padding:12px 14px;border:1px solid #cfe3d5;border-radius:12px;background:#f1faf3}
.eh-welcome-player audio{display:block;width:100%;max-width:100%;min-width:0;height:40px}
.eh-welcome-player p{margin:7px 0 0;font-size:11px;color:#587263}
.eh-welcome-countdown{margin-top:18px;display:flex;align-items:center;gap:10px;font-size:12px;color:#597065;line-height:1.4}
.eh-welcome-timer{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;background:#fff;border-radius:50%;border:3px solid #d5c043;color:#0d5a3e;font-weight:900;font-size:18px;font-variant-numeric:tabular-nums}
.eh-welcome-footer-note{font-size:11px!important;margin:17px 0 0!important;color:#6a7b6b!important;border-top:1px solid #e4eee5;padding-top:13px;width:100%}
@media(max-width:760px){.eh-welcome-overlay{padding:9px}.eh-welcome-panel{max-height:96dvh;grid-template-columns:1fr;max-width:530px;border-radius:18px}.eh-welcome-picture{min-height:170px;height:clamp(170px,28vh,250px)}.eh-welcome-picture-caption{bottom:13px;left:17px;font-size:10px}.eh-welcome-content{padding:22px 22px 23px}.eh-welcome-logo-wrap{padding:7px 10px;max-width:220px;margin-bottom:14px}.eh-welcome-logo{max-width:210px;max-height:66px}.eh-welcome-content h2{font-size:clamp(24px,6vw,32px);margin-bottom:11px}.eh-welcome-rule{margin-bottom:11px}.eh-welcome-content p{font-size:13px;margin-bottom:12px}.eh-welcome-honor{padding:10px 12px;margin-bottom:12px}.eh-welcome-actions button{font-size:12px;min-height:44px}.eh-welcome-countdown{margin-top:12px}.eh-welcome-footer-note{margin-top:11px!important;padding-top:9px}.eh-welcome-x{top:9px;right:9px}}
@media(max-width:400px){.eh-welcome-picture{height:170px;min-height:170px}.eh-welcome-content{padding:19px 17px}.eh-welcome-content h2{font-size:24px}.eh-welcome-overline{font-size:9px}.eh-welcome-actions{flex-direction:column}.eh-welcome-actions button{width:100%}.eh-welcome-footer-note{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){.eh-welcome-panel{animation:none}.eh-welcome-actions button{transition:none}}


/* Slider fotográfico en la bienvenida inicial */
.eh-welcome-slider-track{position:absolute;inset:0}
.eh-welcome-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .45s ease}
.eh-welcome-slide.is-active{opacity:1;pointer-events:auto}
.eh-welcome-slide .eh-welcome-image{position:absolute;inset:0}
.eh-welcome-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(4,33,22,.58);color:#fff;font-size:20px;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s,transform .2s}
.eh-welcome-nav:hover,.eh-welcome-nav:focus-visible{background:rgba(8,116,71,.92);transform:translateY(-50%) scale(1.04)}
.eh-welcome-prev{left:16px}.eh-welcome-next{right:16px}
.eh-welcome-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px;z-index:3;padding:8px 10px;border-radius:999px;background:rgba(4,24,18,.32);backdrop-filter:blur(6px)}
.eh-welcome-dot{width:11px;height:11px;border:0;border-radius:50%;background:rgba(255,255,255,.54);cursor:pointer;transition:transform .2s, background .2s}
.eh-welcome-dot.is-active{background:#ffd93d;transform:scale(1.15);box-shadow:0 0 0 3px rgba(255,217,61,.18)}
@media(max-width:760px){.eh-welcome-nav{width:40px;height:40px;font-size:17px}.eh-welcome-prev{left:10px}.eh-welcome-next{right:10px}.eh-welcome-dots{bottom:10px;gap:7px;padding:7px 8px}.eh-welcome-dot{width:10px;height:10px}}


/* Adaptación fluida según ancho, altura real y zoom del navegador. */
.eh-welcome-overlay{padding:clamp(7px,1.6vmin,18px)}
.eh-welcome-panel{width:min(1040px,100%);height:auto;max-height:calc(100dvh - 16px);overflow:hidden;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.eh-welcome-picture{min-height:0;height:auto;align-self:stretch}
.eh-welcome-content{min-width:0;padding:clamp(12px,2.5vmin,30px);justify-content:center}
.eh-welcome-logo-wrap{margin-bottom:clamp(5px,1.3vh,13px);padding:6px 9px;max-width:220px}
.eh-welcome-logo{max-width:210px;max-height:clamp(35px,8vh,70px)}
.eh-welcome-overline{margin-bottom:5px;font-size:10px}
.eh-welcome-content h2{font-size:clamp(19px,2.4vw,29px);margin:0 0 clamp(5px,1vh,11px)}
.eh-welcome-rule{margin-bottom:clamp(6px,1.4vh,12px)}
.eh-welcome-content p{font-size:clamp(11px,1.3vw,13px);line-height:1.43;margin:0 0 clamp(6px,1.2vh,10px)}
.eh-welcome-honor{padding:9px 11px;margin-bottom:9px;gap:7px}
.eh-welcome-honor>span{width:32px;height:32px;flex-basis:32px}
.eh-welcome-actions button{min-height:38px;padding:8px 11px;font-size:12px}
.eh-welcome-countdown{margin-top:8px;gap:8px;font-size:11px}
.eh-welcome-timer{width:32px;height:32px;flex-basis:32px;font-size:15px}
.eh-welcome-footer-note{margin-top:8px!important;padding-top:8px!important;font-size:10px!important}
.eh-welcome-player{padding:7px 9px;margin-top:6px}
.eh-welcome-player audio{height:35px}
.eh-welcome-player p{font-size:10px;margin-top:4px}
/* Vertical de teléfono, tablet y zoom de escritorio: imagen reducida, controles siempre accesibles. */
@media(max-width:900px){
 .eh-welcome-panel{grid-template-columns:1fr;width:min(590px,100%);max-height:calc(100dvh - 14px);overflow-y:auto;overscroll-behavior:contain}
 .eh-welcome-picture{min-height:0;height:clamp(104px,22dvh,180px);flex:0 0 auto}
 .eh-welcome-content{padding:clamp(10px,2.4vmin,20px)}
 .eh-welcome-logo-wrap{max-width:175px;padding:4px 8px;margin-bottom:6px}
 .eh-welcome-logo{max-width:160px;max-height:45px}
 .eh-welcome-content h2{font-size:clamp(19px,4vw,25px)}
 .eh-welcome-honor{padding:7px 9px;margin-bottom:7px}
 .eh-welcome-honor small{font-size:10px}
 .eh-welcome-picture-caption{bottom:9px;left:15px;font-size:10px}
 .eh-welcome-footer-note{display:none}
 .eh-welcome-nav{width:34px;height:34px;font-size:15px}
 .eh-welcome-dots{bottom:7px}
}
@media(max-height:650px){
 .eh-welcome-overlay{padding:5px}
 .eh-welcome-panel{max-height:calc(100dvh - 10px)}
 .eh-welcome-content{padding:11px 15px}
 .eh-welcome-content h2{font-size:clamp(17px,2.8vw,23px)}
 .eh-welcome-content p{font-size:11px;line-height:1.28;margin-bottom:5px}
 .eh-welcome-honor{margin-bottom:6px;padding:5px 8px}
 .eh-welcome-logo-wrap{margin-bottom:4px;max-width:180px}
 .eh-welcome-logo{max-height:39px}
 .eh-welcome-rule{margin-bottom:5px}
 .eh-welcome-footer-note{display:none}
 .eh-welcome-picture-caption{bottom:8px;left:11px;font-size:9px}
 .eh-welcome-content h2{margin-bottom:5px}
 .eh-welcome-overline{font-size:9px;margin-bottom:4px}
 .eh-welcome-actions button{min-height:34px;padding:6px 9px}
 .eh-welcome-honor small{font-size:10px;line-height:1.25}
 .eh-welcome-honor strong{font-size:11px}
 .eh-welcome-countdown{margin-top:6px}
}
@media(max-width:900px) and (max-height:650px){
 .eh-welcome-picture{height:clamp(78px,17dvh,112px)}
 .eh-welcome-content{padding:10px 14px}
 .eh-welcome-actions{gap:6px}
 .eh-welcome-player{padding:5px}
}
@media(max-width:900px) and (max-height:460px){
 .eh-welcome-panel{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);width:min(900px,100%)}
 .eh-welcome-picture{height:100%;min-height:0}
 .eh-welcome-content{padding:8px 13px}
 .eh-welcome-honor{display:none}
 .eh-welcome-picture-caption{display:none}
}
@media(max-width:500px) and (max-height:460px){
 .eh-welcome-panel{grid-template-columns:1fr}
 .eh-welcome-picture{height:66px}
 .eh-welcome-panel{overflow-y:auto}
}
@media(min-width:901px) and (max-height:470px){
 .eh-welcome-panel{overflow-y:auto}
 .eh-welcome-honor{display:none}
 .eh-welcome-content{padding:9px 14px}
}
@media(prefers-reduced-motion:reduce){.eh-welcome-slide{transition:none}}
/* Orden de capas: el fondo oscurece la página, jamás el contenido del popup. */
.eh-welcome-backdrop{z-index:0}
.eh-welcome-panel{z-index:1}

/* Enlace al memorial de Cuarto Pueblo dentro del popup de bienvenida. */
.eh-welcome-actions .eh-welcome-history{flex-basis:100%;display:flex;align-items:center;justify-content:center;gap:9px;min-height:38px;padding:8px 12px;border:1px solid #caa664;background:#fcf4db;color:#18503a!important;border-radius:10px;font-size:12px;font-weight:900;text-align:center;line-height:1.25;transition:background .2s}
.eh-welcome-actions .eh-welcome-history:hover,.eh-welcome-actions .eh-welcome-history:focus-visible{background:#f2e4b9;outline-offset:2px}
@media(max-height:650px){.eh-welcome-actions .eh-welcome-history{min-height:32px;padding:5px 8px;font-size:11px}}
