/* ==========================================================================
   EMAPALA Núcleo — estilos de los módulos (usa las variables del tema)
   ========================================================================== */

.emp-slideshow,.page-hero,.emp-news,.emp-links,.emp-buttons,.emp-heading,.emp-social-embed,.emp-contact,.emp-tr{margin-bottom:clamp(20px,3vw,36px)}

/* Elementos a todo el ancho dentro de una columna de WPBakery */
.entry-content--builder .bleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.entry-content--builder .wpb_column:has(> .vc_column-inner > .wpb_wrapper > .bleed) > .vc_column-inner{padding-top:0}
.entry-content--builder > .vc_row:first-child .bleed{margin-top:0}

/* Slideshow -------------------------------------------------------------- */
.emp-slideshow{position:relative;height:var(--ss-h,60vh);min-height:380px;max-height:880px;overflow:hidden;background:var(--c-navy);color:#fff;isolation:isolate}
@media (max-width:700px){.emp-slideshow{height:var(--ss-hm,70vh);min-height:420px}}
.ss-track,.ss-slide{position:absolute;inset:0}
.ss-slide{opacity:0;visibility:hidden;transition:opacity .9s var(--ease),visibility .9s}
.ss-slide.is-active{opacity:1;visibility:visible;z-index:1}
.ss-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ss-slide.is-active img.ss-media{animation:ss-zoom 9s ease-out forwards}
@keyframes ss-zoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.ss-slide::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,24,52,calc(var(--ss-ov,.45) + .3)) 0%,rgba(0,52,110,var(--ss-ov,.45)) 50%,rgba(0,76,148,calc(var(--ss-ov,.45) - .25)) 100%)}
.ss-slide--centro::before{background:rgba(2,24,52,calc(var(--ss-ov,.45) + .1))}
.ss-slide--derecha::before{background:linear-gradient(270deg,rgba(2,24,52,calc(var(--ss-ov,.45) + .3)) 0%,rgba(0,76,148,calc(var(--ss-ov,.45) - .25)) 100%)}
.ss-content{position:relative;height:100%;display:flex;align-items:center;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding:0 var(--gutter) 40px}
.ss-inner{max-width:640px}
.ss-slide--centro .ss-content{justify-content:center;text-align:center}
.ss-slide--centro .ss-inner{max-width:820px}
.ss-slide--derecha .ss-content{justify-content:flex-end;text-align:right}
.ss-icon{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:18px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:1rem}
.ss-icon .icon{width:30px;height:30px;color:#fff}
.ss-kicker{display:inline-block;margin:0 0 .9rem;padding:.35em .9em;border-radius:999px;background:rgba(0,177,223,.25);border:1px solid rgba(0,177,223,.6);font-family:var(--font-head);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.ss-title{color:#fff;font-size:clamp(2rem,1.2rem + 3.4vw,3.6rem);line-height:1.08;margin:0 0 .5em;text-wrap:balance}
.ss-text{font-size:clamp(1rem,.95rem + .35vw,1.2rem);color:rgba(255,255,255,.9);margin:0 0 1.6rem;max-width:56ch}
.ss-slide--centro .ss-text{margin-inline:auto}
.ss-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.ss-slide--centro .ss-actions{justify-content:center}
.ss-slide--derecha .ss-actions{justify-content:flex-end}
.ss-slide.is-active .ss-inner > *{animation:ss-up .8s var(--ease) both}
.ss-slide.is-active .ss-inner > :nth-child(2){animation-delay:.1s}
.ss-slide.is-active .ss-inner > :nth-child(3){animation-delay:.2s}
.ss-slide.is-active .ss-inner > :nth-child(4){animation-delay:.3s}
@keyframes ss-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.ss-arrow{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:50px;height:50px;margin-top:-25px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s}
.ss-arrow:hover{background:rgba(255,255,255,.28)}
.ss-prev{left:clamp(8px,2vw,28px)}
.ss-prev .icon{transform:rotate(180deg)}
.ss-next{right:clamp(8px,2vw,28px)}
@media (max-width:700px){.ss-arrow{display:none}}
.ss-dots{position:absolute;left:0;right:0;bottom:52px;z-index:3;display:flex;justify-content:center;gap:8px}
.ss-dot{width:10px;height:10px;padding:0;border:0;border-radius:6px;background:rgba(255,255,255,.45);cursor:pointer;transition:width .3s var(--ease),background .3s}
.ss-dot.is-active{width:32px;background:var(--c-accent)}
.ss-pause{position:absolute;right:clamp(12px,2vw,28px);bottom:44px;z-index:3;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.2);cursor:pointer;display:grid;place-items:center}
.ss-pause span{width:10px;height:10px;border-left:3px solid #fff;border-right:3px solid #fff}
.ss-pause.is-paused span{width:0;height:0;border:0;border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}
.ss-wave{position:absolute;left:0;right:0;bottom:-1px;height:40px;z-index:2;color:var(--c-bg)}
.ss-wave svg{width:100%;height:100%;display:block;fill:currentColor}
.ss-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;background:rgba(2,16,34,.85)}
.ss-modal__box{position:relative;width:min(960px,100%);aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden}
.ss-modal__box iframe{width:100%;height:100%;border:0}
.ss-modal__close{position:absolute;top:8px;right:8px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.9);font-size:24px;line-height:1;cursor:pointer}

/* Botones con icono ------------------------------------------------------ */
.emp-buttons{display:flex;flex-wrap:wrap;gap:.75rem}
.emp-buttons--centro{justify-content:center}
.emp-buttons--derecha{justify-content:flex-end}
.emp-buttons--completo > *{flex:1 1 200px}
.emp-buttons--grande .btn{padding:1em 1.9em;font-size:1.02rem}
.emp-buttons--pequeno .btn{padding:.55em 1.1em;font-size:.85rem}
.emp-buttons--redondeado .btn{border-radius:12px}
.btn--dark{background:var(--c-navy);color:#fff}
.btn--dark:hover{color:#fff}
.emp-buttons--tarjeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:clamp(12px,2vw,20px)}
.emp-buttons--tarjeta .btn{flex-direction:column;gap:.7rem;padding:1.5rem 1rem;border-radius:var(--radius);background:#fff;color:var(--c-ink);border:1px solid var(--c-line);box-shadow:var(--shadow-sm);text-align:center;font-size:.95rem}
.emp-buttons--tarjeta .btn .icon{width:46px;height:46px;padding:11px;border-radius:14px;background:var(--grad);color:#fff;box-sizing:content-box;width:26px;height:26px}
.emp-buttons--tarjeta .btn:hover{border-color:var(--c-accent);color:var(--c-primary);box-shadow:var(--shadow)}
.emp-buttons--tarjeta .btn--accent .icon{background:var(--c-accent)}

/* Título de sección ------------------------------------------------------ */
.emp-heading{max-width:760px}
.emp-heading--centro{text-align:center;margin-inline:auto}
.emp-heading__kicker{display:inline-flex;align-items:center;gap:.5em;margin:0 0 .6rem;font-family:var(--font-head);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-accent)}
.emp-heading__kicker::before{content:"";width:28px;height:3px;border-radius:2px;background:var(--grad)}
.emp-heading__title{margin:0 0 .4em}
.emp-heading__sub{color:var(--c-muted);font-size:1.08rem;margin:0}
.emp-heading--claro .emp-heading__title{color:#fff}
.emp-heading--claro .emp-heading__sub{color:rgba(255,255,255,.85)}

/* Noticias --------------------------------------------------------------- */
.emp-news__grid{display:grid;gap:clamp(16px,2.4vw,28px);grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
@media (max-width:1080px){.emp-news__grid{grid-template-columns:repeat(min(var(--cols,3),3),minmax(0,1fr))}}
@media (max-width:860px){.emp-news__grid{grid-template-columns:repeat(min(var(--cols,3),2),minmax(0,1fr))}}
@media (max-width:560px){.emp-news__grid{grid-template-columns:1fr}}
.news-item{display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.news-item:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.news-item__media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--grad-soft)}
.news-item__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.news-item:hover .news-item__media img{transform:scale(1.05)}
.news-item__body{display:flex;flex-direction:column;flex:1;padding:1.1rem 1.25rem 1.25rem}
.news-item__date{margin:0 0 .35rem;font-size:.8rem;font-weight:600;color:var(--c-accent);text-transform:uppercase;letter-spacing:.04em}
.news-item__title{font-size:1.08rem;line-height:1.35;margin:0 0 .5rem}
.news-item__title a{color:var(--c-ink);text-decoration:none}
.news-item__title a:hover{color:var(--c-primary)}
.news-item__excerpt{margin:0 0 1rem;font-size:.94rem;color:var(--c-muted);display:-webkit-box;-webkit-line-clamp:var(--lines,3);-webkit-box-orient:vertical;overflow:hidden}
.news-item__more{margin-top:auto;display:inline-flex;align-items:center;gap:.35em;font-family:var(--font-head);font-weight:600;font-size:.88rem;text-decoration:none}
.news-item__more .icon{width:1em;height:1em;transition:transform .2s}
.news-item__more:hover .icon{transform:translateX(4px)}
.emp-news--lista .news-item{flex-direction:row;align-items:stretch}
.emp-news--lista .news-item__media{flex:0 0 38%;max-width:200px;aspect-ratio:auto;min-height:120px}
.emp-news--lista .news-item__body{padding:.9rem 1rem}
.emp-news--lista .news-item__title{font-size:1rem}
.emp-news--lista .news-item__excerpt{font-size:.9rem;margin-bottom:.5rem}
@media (min-width:861px){
	.emp-news--destacada .news-item:first-child{grid-column:span 2;grid-row:span 2}
	.emp-news--destacada .news-item:first-child .news-item__media{aspect-ratio:16/9}
	.emp-news--destacada .news-item:first-child .news-item__title{font-size:1.45rem}
}
.emp-news__all{text-align:center;margin:2rem 0 0}

/* Facebook / X ----------------------------------------------------------- */
.emp-social-embed{display:flex;flex-direction:column;align-items:center;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm)}
.emp-social-embed__title{align-self:stretch;display:flex;align-items:center;gap:.5em;font-size:1.05rem;margin:0 0 .8rem}
.emp-social-embed__title .icon{width:20px;height:20px;fill:var(--c-primary)}
.emp-social-embed__frame{width:100%;max-width:100%;overflow:hidden;border-radius:10px;background:var(--c-bg-alt)}
.emp-social-embed--x .emp-social-embed__frame{max-width:550px}
.emp-social-embed__link{margin-top:.8rem;display:inline-flex;align-items:center;gap:.35em;font-size:.88rem;font-weight:600;text-decoration:none}
.emp-social-embed__link .icon{width:14px;height:14px}

/* Enlaces rápidos -------------------------------------------------------- */
.emp-links__list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(12px,2vw,22px);grid-template-columns:repeat(var(--cols,4),minmax(0,1fr))}
@media (max-width:980px){.emp-links:not(.emp-carousel) .emp-links__list{grid-template-columns:repeat(min(var(--cols,4),3),minmax(0,1fr))}}
@media (max-width:640px){.emp-links:not(.emp-carousel) .emp-links__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ql__card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.8rem;height:100%;padding:1.5rem 1.1rem;text-align:center;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);color:var(--c-ink);text-decoration:none;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
a.ql__card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--c-accent);color:var(--c-primary)}
.ql__card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
a.ql__card:hover::after{transform:scaleX(1)}
.ql__icon{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:var(--grad);color:#fff;box-shadow:0 10px 22px -10px rgba(0,76,148,.6)}
.ql__icon .icon{width:30px;height:30px}
.ql__icon .icon--brand{fill:#fff;stroke:none}
.ql__media{display:block;width:100%;aspect-ratio:16/10;border-radius:10px;overflow:hidden}
.ql__media img{width:100%;height:100%;object-fit:cover}
.ql__body{display:flex;flex-direction:column;gap:.25rem}
.ql__title{font-family:var(--font-head);font-weight:700;font-size:1rem;line-height:1.3}
.ql__text{font-size:.88rem;color:var(--c-muted)}
.emp-links--logo .ql__media{aspect-ratio:3/2;border-radius:0;display:grid;place-items:center}
.emp-links--logo .ql__media img{object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.emp-links--logo a.ql__card:hover img{filter:none;opacity:1}
.emp-links--imagen .ql__card{padding:0;justify-content:flex-end;min-height:220px;border:0}
.emp-links--imagen .ql__media{position:absolute;inset:0;aspect-ratio:auto;border-radius:0}
.emp-links--imagen .ql__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(2,24,52,.85))}
.emp-links--imagen .ql__body{position:relative;padding:1.1rem;color:#fff;text-align:left;width:100%}
.emp-links--imagen .ql__text{color:rgba(255,255,255,.85)}
.emp-carousel{position:relative}
.emp-carousel .emp-carousel__track{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - (var(--cols,4) - 1) * 20px) / var(--cols,4));gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 12px}
.emp-carousel .emp-carousel__track::-webkit-scrollbar{display:none}
@media (max-width:980px){.emp-carousel .emp-carousel__track{grid-auto-columns:calc((100% - 40px) / 3)}}
@media (max-width:640px){.emp-carousel .emp-carousel__track{grid-auto-columns:78%}}
.emp-carousel__item{scroll-snap-align:start}
.emp-carousel__nav{display:flex;justify-content:center;gap:.6rem;margin-top:.8rem}
.emp-carousel__btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--c-line);background:#fff;color:var(--c-primary);cursor:pointer;transition:background .2s,color .2s}
.emp-carousel__btn:hover{background:var(--c-primary);color:#fff}
.emp-carousel__btn[data-dir="-1"] .icon{transform:rotate(180deg)}

/* Datos de contacto ------------------------------------------------------ */
.emp-contact{list-style:none;margin:0;padding:0}
.emp-contact--tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:clamp(12px,2vw,20px)}
.emp-contact__item{display:flex;gap:.9rem;align-items:flex-start}
.emp-contact--tarjetas .emp-contact__item{padding:1.2rem;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.emp-contact__icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:12px;background:var(--c-bg-soft);color:var(--c-primary)}
.emp-contact__icon .icon{width:22px;height:22px}
.emp-contact__icon .icon--brand{fill:currentColor;stroke:none}
.emp-contact__text{display:flex;flex-direction:column;font-size:.95rem;line-height:1.45}
.emp-contact__text strong{font-family:var(--font-head);color:var(--c-ink);font-size:.9rem}
.emp-contact__text a{text-decoration:none}
.emp-contact--lista .emp-contact__item{padding:.45rem 0}
.site-footer .emp-contact__icon{background:rgba(255,255,255,.08);color:var(--c-accent)}
.site-footer .emp-contact__text strong{color:#fff}

/* Redes sociales --------------------------------------------------------- */
.emp-redes{margin-bottom:1rem}
.emp-redes--oscuro .social a{background:var(--c-bg-soft);color:var(--c-primary)}
.emp-redes--oscuro .social a:hover{background:var(--c-primary);color:#fff}

/* Transparencia (LOTAIP / PAC) ------------------------------------------ */
.emp-tr__title{margin-bottom:.4em}
.emp-tr__desc{color:var(--c-muted);max-width:75ch}
.emp-tr__frame{background:var(--c-navy);border-radius:calc(var(--radius) + 4px);padding:10px;box-shadow:var(--shadow-lg)}
.tr-years{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}
.tr-year{flex:1 0 auto;min-width:96px;padding:.85em 1.2em;border:0;border-radius:12px 12px 0 0;background:var(--c-primary);color:#CFE3F6;font-family:var(--font-head);font-weight:700;font-size:1rem;cursor:pointer;transition:background .2s,color .2s}
.tr-year:hover{background:#0A5DAE;color:#fff}
.tr-year[aria-selected="true"]{background:var(--c-accent);color:#022A44}
.emp-tr__body{display:grid;gap:10px;background:var(--c-accent);border-radius:0 0 12px 12px;padding:10px}
.emp-tr--visor .emp-tr__body{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
@media (max-width:900px){.emp-tr--visor .emp-tr__body{grid-template-columns:1fr}}
.tr-panel{background:#fff;border-radius:10px;padding:clamp(12px,2vw,20px);min-height:220px;transition:opacity .2s}
.tr-panel.is-loading{opacity:.45;pointer-events:none}
.emp-tr--vertical .emp-tr__frame{display:grid;grid-template-columns:150px minmax(0,1fr)}
.emp-tr--vertical .tr-years{flex-direction:column;overflow:visible;padding:0}
.emp-tr--vertical .tr-year{flex:0 0 auto;border-radius:12px 0 0 12px;text-align:left}
.emp-tr--vertical .emp-tr__body{border-radius:0 12px 12px 12px}
@media (max-width:700px){
	.emp-tr--vertical .emp-tr__frame{grid-template-columns:1fr}
	.emp-tr--vertical .tr-years{flex-direction:row;overflow-x:auto}
	.emp-tr--vertical .tr-year{border-radius:12px 12px 0 0}
}
.tr-months{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid var(--c-bg-soft)}
.tr-month{padding:.55em 1em;border:1px solid var(--c-line);border-radius:999px;background:var(--c-bg-alt);color:var(--c-text);font:inherit;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}
.tr-month:hover{border-color:var(--c-accent);color:var(--c-primary)}
.tr-month[aria-selected="true"]{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.tr-sections{display:grid;gap:8px}
.tr-section{border:1px solid var(--c-line);border-radius:12px;overflow:hidden;background:#fff}
.tr-section__heading{margin:0;font-size:1rem}
.tr-section__title{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.85em 1.1em;border:0;background:transparent;text-align:left;font-family:var(--font-head);font-weight:600;font-size:.97rem;color:var(--c-ink);cursor:pointer;transition:background .2s}
.tr-section__title:hover{background:var(--c-bg-alt)}
.tr-section__title[aria-expanded="true"]{background:var(--c-bg-soft);color:var(--c-primary)}
.tr-caret{width:18px;height:18px;transition:transform .25s}
.tr-section__title[aria-expanded="true"] .tr-caret{transform:rotate(180deg)}
.tr-section__title--static{padding:.85em 1.1em .2em;margin:0;cursor:default;background:none}
.tr-section__body{padding:.25rem 1.1rem 1rem}
.tr-links{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.tr-link{display:flex;align-items:center;gap:.6em;padding:.5em .7em;border-radius:9px;color:var(--c-primary);text-decoration:none;font-size:.95rem;transition:background .2s}
.tr-link:hover,.tr-link.is-active{background:var(--c-bg-soft)}
.tr-link.is-active{box-shadow:inset 3px 0 0 var(--c-accent)}
.tr-link .icon{width:18px;height:18px;color:var(--c-accent);flex-shrink:0}
.tr-link > span:not(.tr-badge){flex:1}
.tr-link--none{color:var(--c-muted)}
.tr-badge{font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:.15em .5em;border-radius:6px;background:var(--c-bg-alt);color:var(--c-muted)}
.tr-empty{color:var(--c-muted);font-style:italic;margin:.5rem 0}
.tr-viewer{display:flex;flex-direction:column;background:#fff;border-radius:10px;overflow:hidden;min-height:520px}
.tr-viewer__bar{display:flex;align-items:center;gap:.8rem;padding:.7rem 1rem;border-bottom:1px solid var(--c-line);font-size:.9rem}
.tr-viewer__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-ink)}
.tr-viewer__bar a{display:inline-flex;align-items:center;gap:.3em;font-weight:600;text-decoration:none}
.tr-viewer__bar a[hidden]{display:none}
.tr-viewer__bar .icon{width:16px;height:16px}
.tr-viewer__stage{flex:1;display:flex;background:var(--c-bg-alt)}
.tr-viewer__frame{flex:1;width:100%;min-height:520px;border:0}
.tr-viewer__placeholder{margin:auto;padding:2rem;text-align:center;color:var(--c-muted)}
.tr-viewer__placeholder .icon{width:54px;height:54px;color:var(--c-accent);opacity:.6}

/* Chatbot ---------------------------------------------------------------- */
.emp-chat{position:fixed;right:20px;bottom:20px;z-index:99990;font-family:var(--font-body);--chat-color:#004C94}
.emp-chat__launcher{display:flex;align-items:center;gap:.6rem;height:62px;min-width:62px;padding:0 1.3rem 0 .45rem;border:0;border-radius:999px;background:var(--chat-color);color:#fff;font-family:var(--font-head);font-weight:600;font-size:.95rem;cursor:pointer;box-shadow:0 14px 30px -10px rgba(0,40,90,.6);transition:transform .25s var(--ease),box-shadow .25s}
.emp-chat__launcher:hover{transform:translateY(-3px);box-shadow:0 18px 36px -12px rgba(0,40,90,.7)}
.emp-chat__launcher-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.16)}
.emp-chat__launcher-icon .icon{width:28px;height:28px}
.emp-chat__launcher-icon .icon--brand{fill:#fff;stroke:none}
.emp-chat__launcher--icono,.emp-chat__launcher--imagen{padding:0;width:62px;justify-content:center}
.emp-chat__launcher--imagen{background:#fff;overflow:visible}
.emp-chat__launcher--imagen img{width:100%;height:100%;padding:4px;border-radius:50%;object-fit:contain}
.emp-chat__launcher--texto{padding:0 1.5rem}
.emp-chat__launcher::after{content:"";position:absolute;inset:-4px;border-radius:999px;border:2px solid var(--chat-color);opacity:0;animation:emp-pulse 3s ease-out 2s 3}
@keyframes emp-pulse{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(1.25)}}
.emp-chat.is-open .emp-chat__launcher::after{display:none}
@media (max-width:700px){
	.emp-chat{right:14px;bottom:14px}
	.emp-chat__launcher--mobile-icon{padding:0;width:58px;height:58px;justify-content:center}
	.emp-chat__launcher--mobile-icon .emp-chat__launcher-text{display:none}
	.emp-chat__launcher--mobile-icon .emp-chat__launcher-icon{background:none}
}
.emp-chat__bubble{position:absolute;right:0;bottom:76px;width:max-content;max-width:260px;padding:.85rem 2.2rem .85rem 1rem;border-radius:16px 16px 4px 16px;background:#fff;color:var(--c-ink);box-shadow:var(--shadow-lg);font-size:.92rem;cursor:pointer;animation:ss-up .5s var(--ease)}
.emp-chat__bubble p{margin:0}
.emp-chat__bubble-close{position:absolute;top:6px;right:6px;width:24px;height:24px;padding:0;border:0;background:none;color:var(--c-muted);cursor:pointer}
.emp-chat__bubble-close .icon{width:16px;height:16px}
.emp-chat__panel{position:absolute;right:0;bottom:78px;display:flex;flex-direction:column;width:min(390px,calc(100vw - 28px));height:min(600px,calc(100vh - 120px));background:#fff;border-radius:20px;box-shadow:0 30px 70px -20px rgba(2,24,52,.5);overflow:hidden;animation:ss-up .35s var(--ease)}
.emp-chat__panel[hidden]{display:none}
@media (max-width:700px){.emp-chat__panel{position:fixed;inset:auto 0 0 0;width:100%;height:min(88vh,640px);border-radius:20px 20px 0 0}}
.emp-chat__head{display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem;background:var(--chat-color);background-image:linear-gradient(135deg,rgba(255,255,255,.08),rgba(0,177,223,.35));color:#fff}
.emp-chat__avatar{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:rgba(255,255,255,.18);overflow:hidden}
.emp-chat__avatar img{width:100%;height:100%;padding:3px;background:#fff;object-fit:contain}
.emp-chat__avatar .icon{width:24px;height:24px}
.emp-chat__who{flex:1;display:flex;flex-direction:column;line-height:1.25;min-width:0}
.emp-chat__who strong{font-family:var(--font-head);font-size:1rem}
.emp-chat__who span{font-size:.8rem;opacity:.85;display:flex;align-items:center;gap:.35em}
.emp-chat__who span::before{content:"";width:8px;height:8px;border-radius:50%;background:#4ADE80}
.emp-chat__hbtn{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:#fff;cursor:pointer}
.emp-chat__hbtn:hover{background:rgba(255,255,255,.15)}
.emp-chat__hbtn .icon{width:20px;height:20px}
.emp-chat__log{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.55rem;background:var(--c-bg-alt);scroll-behavior:smooth}
.emp-chat__msg{max-width:86%;padding:.65rem .9rem;border-radius:16px;font-size:.93rem;line-height:1.5;word-wrap:break-word;animation:ss-up .3s var(--ease)}
.emp-chat__msg p{margin:0 0 .4em}
.emp-chat__msg p:last-child{margin:0}
.emp-chat__msg ul{margin:.2em 0 .4em;padding-left:1.1em}
.emp-chat__msg--bot{align-self:flex-start;background:#fff;color:var(--c-text);border:1px solid var(--c-line);border-bottom-left-radius:4px}
.emp-chat__msg--user{align-self:flex-end;background:var(--chat-color);color:#fff;border-bottom-right-radius:4px}
.emp-chat__msg a{color:var(--c-primary);font-weight:600;word-break:break-all}
.emp-chat__sources{margin:.5em 0 0!important;padding-top:.45em;border-top:1px dashed var(--c-line);font-size:.82rem;color:var(--c-muted)}
.emp-chat__typing{display:flex;gap:4px;padding:.8rem 1rem}
.emp-chat__typing span{width:7px;height:7px;border-radius:50%;background:var(--c-muted);animation:emp-dot 1s infinite}
.emp-chat__typing span:nth-child(2){animation-delay:.15s}
.emp-chat__typing span:nth-child(3){animation-delay:.3s}
@keyframes emp-dot{0%,60%,100%{opacity:.25;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.emp-chat__options{display:flex;flex-wrap:wrap;gap:6px;padding:.6rem 1rem;background:var(--c-bg-alt);max-height:40%;overflow-y:auto}
.emp-chat__options:empty{display:none}
.emp-chat__opt{display:inline-flex;align-items:center;gap:.4em;padding:.5em .9em;border:1.5px solid var(--chat-color);border-radius:999px;background:#fff;color:var(--chat-color);font:inherit;font-size:.86rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.emp-chat__opt:hover{background:var(--chat-color);color:#fff}
.emp-chat__opt .icon{width:15px;height:15px}
.emp-chat__opt--whatsapp{border-color:#25D366;color:#128C4B}
.emp-chat__opt--whatsapp .icon{fill:currentColor;stroke:none}
.emp-chat__opt--whatsapp:hover{background:#25D366;color:#fff}
.emp-chat__opt--home{border-style:dashed;border-color:var(--c-line);color:var(--c-muted)}
.emp-chat__opt--home:hover{background:var(--c-line);color:var(--c-ink)}
.emp-chat__form{display:flex;gap:.5rem;padding:.7rem;border-top:1px solid var(--c-line);background:#fff}
.emp-chat__form input{flex:1;min-width:0;padding:.7em 1em;border:1.5px solid var(--c-line);border-radius:999px;font:inherit;font-size:.93rem}
.emp-chat__form input:focus{outline:none;border-color:var(--chat-color)}
.emp-chat__form button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--chat-color);color:#fff;cursor:pointer}
.emp-chat__form button .icon{width:20px;height:20px}

/* Facebook: tarjeta de la página + botón a las publicaciones */
.emp-social-embed--fb{align-items:stretch}
.emp-social-embed--fb .emp-social-embed__frame--card{margin-inline:auto;width:100%;background:#fff;border:1px solid var(--c-line)}
.emp-social-embed__text{margin:0 0 .8rem;font-size:.92rem;color:var(--c-muted)}
.btn--fb{margin-top:.9rem;background:#1877F2;color:#fff;width:100%}
.btn--fb:hover{color:#fff;box-shadow:0 10px 24px -10px rgba(24,119,242,.6)}
.btn--fb .icon{fill:currentColor;stroke:none}
/* X: tarjeta del perfil + botón a las publicaciones */
.emp-social-embed--x-card{align-items:stretch}
.emp-x-card{display:flex;align-items:center;gap:.8rem;padding:.9rem;border:1px solid var(--c-line);border-radius:10px;background:#fff}
.emp-x-card__avatar{flex:none;width:56px;height:56px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid var(--c-line);padding:4px}
.emp-x-card__id{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.emp-x-card__name{font-family:var(--font-head);font-weight:700;color:var(--c-ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.emp-x-card__name:hover{text-decoration:underline}
.emp-x-card__user{font-size:.88rem;color:var(--c-muted)}
.emp-x-card__follow{flex:none;padding:.45em 1.1em;border-radius:999px;background:#0F1419;color:#fff;font-family:var(--font-head);font-weight:600;font-size:.85rem;text-decoration:none}
.emp-x-card__follow:hover{background:#272C30;color:#fff}
.btn--x{margin-top:.9rem;width:100%}
.btn--x .icon{fill:currentColor;stroke:none}
/* Logos de instituciones: nunca se agrandan por encima de su tamaño real (evita imágenes borrosas). */
.emp-links--logo .ql__media img{width:auto;height:auto;max-width:100%;max-height:100%;margin:auto}
