/* ================= ENSA Instalaciones — frontend ================= */
:root{
	--ensa-red:#e2001a;
	--ensa-black:#1a1a1a;
	--ensa-gray:#747474;
	--ensa-light:#f6f6f6;
	--ensa-med:#ededed;
}

/* Reset de botones (evita chrome nativo azul y padding del tema) */
.ensa-textcar button,.ensa-buques button,.ensa-bfilter button{-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
.ensa-textcar button:focus,.ensa-buques button:focus,.ensa-bfilter button:focus{outline:none}
.ensa-textcar button:focus-visible,.ensa-bfilter button:focus-visible{outline:2px solid var(--ensa-red);outline-offset:3px}

/* ---------------- Carrusel de texto (texto + foto) ---------------- */
.ensa-textcar{width:100%;box-sizing:border-box}
.ensa-textcar-tabs{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px 34px;border-bottom:1px solid var(--ensa-med);margin-bottom:28px}
.ensa-textcar-tab{background:none;border:0;cursor:pointer;padding:14px 0;margin-bottom:-1px;font-size:16px;font-weight:500;color:var(--ensa-gray);border-bottom:3px solid transparent;transition:color .2s,border-color .2s;line-height:1.2}
.ensa-textcar-tab:hover{color:var(--ensa-black)}
.ensa-textcar-tab.is-active{color:var(--ensa-red);border-bottom-color:var(--ensa-red)}
.ensa-textcar-grid{display:grid;grid-template-columns:1fr;gap:56px;align-items:center}
.ensa-textcar.has-media .ensa-textcar-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
/* todas las secciones en la misma celda: el alto lo marca la más larga (sin saltos) */
.ensa-textcar-slides{display:grid}
.ensa-textcar-slide{grid-area:1/1;align-self:center;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .45s ease,transform .45s ease,visibility 0s .45s}
.ensa-textcar-slide.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .45s ease,transform .45s ease}
.ensa-textcar-title{color:var(--ensa-black);font-size:34px;line-height:1.15;font-weight:700;margin:0 0 22px}
.ensa-textcar-title::after{content:"";display:block;width:56px;height:4px;background:var(--ensa-red);margin-top:18px}
.ensa-textcar-body{color:var(--ensa-gray);font-size:16px;line-height:1.75;text-align:justify;hyphens:auto}
.ensa-textcar-body p{margin:0 0 14px}
.ensa-textcar-body p:last-child{margin-bottom:0}
/* foto (sin marco) */
.ensa-textcar-media{position:relative;aspect-ratio:5/4}
/* en 2 columnas la foto ocupa todo el alto del texto más largo (sin huecos) */
.ensa-textcar.has-media .ensa-textcar-media{align-self:stretch;aspect-ratio:auto;min-height:380px}
/* un "set" de fotos por sección; dentro, las fotos pasan con fundido */
.ensa-textcar-set{position:absolute;inset:0;border-radius:6px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.16);opacity:0;transform:scale(1.02);transition:opacity .6s ease,transform .9s ease;z-index:1}
.ensa-textcar-set.is-active{opacity:1;transform:none;z-index:2}
.ensa-textcar-fig{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s ease}
.ensa-textcar-fig.is-on{opacity:1}
.ensa-textcar-pdots{position:absolute;right:16px;bottom:16px;display:flex;gap:7px;z-index:3}
.ensa-textcar-pdot{width:9px;height:9px;border-radius:50%;border:0;padding:0;cursor:pointer;background:rgba(255,255,255,.55)!important;box-shadow:0 0 0 1px rgba(0,0,0,.15)!important;transition:transform .2s,background .2s}
.ensa-textcar-pdot.is-on{background:#fff!important;transform:scale(1.25)}
.ensa-textcar-fig img{width:100%;height:100%;object-fit:cover;display:block}
/* video (vertical u horizontal): entero, sin recortar, sobre su portada desenfocada */
.ensa-textcar-fig.is-video{background:#1a1a1a}
.ensa-textcar-vbg{position:absolute;inset:-30px;background-size:cover;background-position:center;filter:blur(22px) brightness(.7);transform:scale(1.1)}
.ensa-textcar-fig video{position:relative;width:100%;height:100%;object-fit:contain;display:block}
/* barra de progreso segmentada (reemplaza los puntitos) */
.ensa-textcar-progress{display:flex;gap:8px;margin-top:24px;max-width:360px}
.ensa-textcar-seg{flex:1;height:14px;padding:5px 0;border:0;background:transparent;cursor:pointer;position:relative}
.ensa-textcar-seg::before{content:"";position:absolute;left:0;right:0;top:5px;height:4px;border-radius:2px;background:var(--ensa-med)}
.ensa-textcar-seg span{position:absolute;left:0;top:5px;height:4px;width:0;border-radius:2px;background:var(--ensa-red)}
.ensa-textcar-seg.is-done span,.ensa-textcar-seg.is-active span{width:100%}
.ensa-textcar-seg.is-run span{width:0;animation:ensaTcFill var(--ensa-tc-auto,7s) linear forwards}
.ensa-textcar.is-paused .ensa-textcar-seg.is-run span{animation-play-state:paused}
@keyframes ensaTcFill{from{width:0}to{width:100%}}
@keyframes ensaFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------------- Galería de buques ---------------- */
.ensa-buques{display:grid;grid-template-columns:240px 1fr;gap:26px;align-items:start;width:100%;box-sizing:border-box}
.ensa-buques-names{display:flex;flex-direction:column;gap:2px;overflow-y:auto;overflow-x:hidden}
.ensa-buque-name{display:flex;align-items:center;gap:10px;text-align:left;background:none;border:0;border-left:3px solid transparent;cursor:pointer;padding:11px 14px;font-size:15px;color:var(--ensa-black);transition:.18s;line-height:1.25}
.ensa-buque-name:hover{background:var(--ensa-light)}
.ensa-buque-name.is-active{background:var(--ensa-light);border-left-color:var(--ensa-red);color:var(--ensa-red);font-weight:600}
.ensa-buque-dot{width:7px;height:7px;border-radius:50%;background:var(--ensa-med);flex:0 0 auto;transition:.18s}
.ensa-buque-name.is-active .ensa-buque-dot{background:var(--ensa-red)}

.ensa-buques-stage{position:relative}
.ensa-buque-panel{display:none}
.ensa-buque-panel.is-active{display:block;animation:ensaFade .45s ease}
.ensa-gal-empty{padding:40px;text-align:center;color:var(--ensa-gray);background:var(--ensa-light)}

.ensa-gal-viewport{position:relative;width:100%;aspect-ratio:16/10;max-height:640px;background:#000;overflow:hidden;border-radius:4px}
.ensa-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .4s ease}
.ensa-slide.is-active{opacity:1;visibility:visible}
/* foto completa (sin recorte) sobre un fondo desenfocado de la misma foto */
.ensa-slide-bg{position:absolute;inset:-30px;background:#111 center/cover no-repeat;filter:blur(26px) brightness(.62);transform:scale(1.08)}
.ensa-slide-media{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.ensa-slide-cap{position:absolute;left:0;right:0;bottom:72px;padding:26px 18px 12px;color:#fff;font-size:15px;line-height:1.4;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,0))}

/* arrows */
.ensa-gal-arrow{position:absolute;top:calc(50% - 36px);transform:translateY(-50%);width:44px;height:44px;padding:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:50%;border:0;background:rgba(0,0,0,.4);color:#fff;font-size:26px;line-height:1;cursor:pointer;z-index:3;transition:background .2s}
.ensa-gal-arrow:hover{background:var(--ensa-red)}
.ensa-gal-prev{left:12px}
.ensa-gal-next{right:12px}

/* mute */
.ensa-mute{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(0,0,0,.5);cursor:pointer;z-index:4;background-repeat:no-repeat;background-position:center;background-size:20px}
.ensa-mute:hover{background-color:var(--ensa-red)}
.ensa-mute{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M3 9v6h4l5 5V4L7 9H3zm13.5 3a4.5 4.5 0 0 0-2.5-4v8a4.5 4.5 0 0 0 2.5-4zM14 3.2v2.06c2.9.86 5 3.54 5 6.74s-2.1 5.88-5 6.74v2.06c4-.9 7-4.49 7-8.8s-3-7.9-7-8.8z'/%3E%3C/svg%3E")}
.ensa-mute.is-muted{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M3 9v6h4l5 5V4L7 9H3zm18.29-.71L19.88 6.88 17 9.76l-2.88-2.88-1.41 1.41L15.59 11l-2.88 2.88 1.41 1.41L17 12.41l2.88 2.88 1.41-1.41L18.41 11l2.88-2.71z'/%3E%3C/svg%3E")}

/* fullscreen button */
.ensa-gal-fs{position:absolute;top:12px;left:12px;width:40px;height:40px;border-radius:50%;border:0;z-index:4;cursor:pointer;background:rgba(0,0,0,.5) no-repeat center/20px;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z'/%3E%3C/svg%3E")}
.ensa-gal-fs:hover{background-color:var(--ensa-red)}
/* pantalla completa: el bloque entero (lista + galería) */
.ensa-buques:fullscreen,.ensa-buques:-webkit-full-screen{max-width:none;width:100%;height:100%;background:#111;padding:22px;box-sizing:border-box;align-items:center;gap:22px;overflow:hidden}
.ensa-buques:fullscreen .ensa-gal-viewport,.ensa-buques:-webkit-full-screen .ensa-gal-viewport{aspect-ratio:auto;height:calc(100vh - 44px);max-height:none;background:#000}
.ensa-buques:fullscreen .ensa-slide-media,.ensa-buques:-webkit-full-screen .ensa-slide-media{object-fit:contain}
.ensa-buques:fullscreen .ensa-buques-names,.ensa-buques:-webkit-full-screen .ensa-buques-names{max-height:calc(100vh - 44px)}
.ensa-buques:fullscreen .ensa-buque-name,.ensa-buques:-webkit-full-screen .ensa-buque-name{color:#fff}
.ensa-buques:fullscreen .ensa-buque-name:hover{background:rgba(255,255,255,.08)!important}
.ensa-buques:fullscreen .ensa-buque-name.is-active,.ensa-buques:-webkit-full-screen .ensa-buque-name.is-active{background:rgba(255,255,255,.12)!important;color:var(--ensa-red)}

/* === Override del botón global del tema (Kadence pinta button:hover/focus azul) === */
.ensa-textcar-tab,.ensa-textcar-tab:hover,.ensa-textcar-tab:focus,.ensa-textcar-tab:active{background:transparent!important;box-shadow:none!important}
.ensa-textcar-seg,.ensa-textcar-seg:hover,.ensa-textcar-seg:focus{background:transparent!important;box-shadow:none!important}
.ensa-bfilter-item,.ensa-bfilter-item:hover,.ensa-bfilter-item:focus,.ensa-bfilter-reset,.ensa-bfilter-reset:hover,.ensa-bfilter-reset:focus{background:transparent!important;box-shadow:none!important}
.ensa-buque-name{background:transparent!important}
.ensa-buque-name:hover,.ensa-buque-name.is-active{background:var(--ensa-light)!important}
.ensa-gal-arrow{background:rgba(0,0,0,.4)!important}
.ensa-gal-arrow:hover,.ensa-gal-arrow:focus{background:var(--ensa-red)!important}
.ensa-mute{background-color:rgba(0,0,0,.5)!important}
.ensa-mute:hover,.ensa-mute:focus{background-color:var(--ensa-red)!important}
.ensa-gal-fs{background-color:rgba(0,0,0,.5)!important}
.ensa-gal-fs:hover,.ensa-gal-fs:focus{background-color:var(--ensa-red)!important}
.ensa-thumb{background:#000!important}

/* thumbs overlay */
.ensa-gal-thumbs{position:absolute;left:0;right:0;bottom:0;display:flex;gap:6px;padding:8px 10px;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,0));overflow-x:auto;z-index:3;scrollbar-width:thin}
.ensa-thumb{position:relative;flex:0 0 auto;width:58px;height:40px;border:2px solid transparent;border-radius:3px;overflow:hidden;cursor:pointer;padding:0;background:#000;opacity:.75;transition:.18s}
.ensa-thumb:hover{opacity:1}
.ensa-thumb.is-active{opacity:1;border-color:var(--ensa-red)}
.ensa-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ensa-thumb-play{position:absolute;inset:0;margin:auto;width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent #fff;filter:drop-shadow(0 0 2px rgba(0,0,0,.7))}


/* ---------------- Filtro por tipo de buque (banda de íconos) ---------------- */
/* banda gris a todo el ancho de la pantalla; el contenido respeta el ancho del sitio */
.ensa-bfilter{position:relative;background:#f3f2f0;box-shadow:0 0 0 100vmax #f3f2f0;clip-path:inset(0 -100vmax);padding:30px 0 16px;margin-bottom:44px}
.ensa-bfilter-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start}
.ensa-bfilter-item{display:flex;flex-direction:column;align-items:center;gap:16px;border:0;padding:0 0 14px;cursor:pointer;color:var(--ensa-black);position:relative}
/* mismo tamaño de caja para todos los íconos; el texto arranca a la misma altura */
.ensa-bfilter-ico{display:flex;align-items:center;justify-content:center;width:100%;height:96px;transition:transform .25s ease}
.ensa-bfilter-ico img{max-width:min(100%,210px);max-height:96px;width:auto;height:auto;object-fit:contain;display:block}
.ensa-bfilter-label{display:block;min-height:2.5em;max-width:220px;font-size:16px;font-weight:700;line-height:1.25;text-align:center;transition:color .2s}
.ensa-bfilter-item::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:3px;background:var(--ensa-red);transform:translateX(-50%);transition:width .25s ease}
.ensa-bfilter-item:hover .ensa-bfilter-ico{transform:translateY(-5px)}
.ensa-bfilter-item:hover .ensa-bfilter-label,.ensa-bfilter-item.is-active .ensa-bfilter-label{color:var(--ensa-red)}
.ensa-bfilter-item:hover::after{width:40px}
.ensa-bfilter-item.is-active::after{width:72px}
.ensa-bfilter-status{display:none;justify-content:center;align-items:center;gap:14px;min-height:22px;margin-top:10px;font-size:14px;color:var(--ensa-gray)}
.ensa-bfilter-status.is-on{display:flex}
.ensa-bfilter-reset{border:0;padding:0;cursor:pointer;font-size:14px;font-weight:600;color:var(--ensa-red);text-decoration:underline;text-underline-offset:3px}
.ensa-buque-name.is-hidden{display:none}
.ensa-buques-none{display:none;margin:0;padding:14px;color:var(--ensa-gray);font-size:14px}
.ensa-buques.is-empty .ensa-buques-none{display:block}
.ensa-buques.is-empty .ensa-buques-stage{visibility:hidden}

/* ---------------- Responsive ---------------- */
@media (max-width:1024px){
	.ensa-textcar.has-media .ensa-textcar-grid{grid-template-columns:1fr;gap:40px}
	.ensa-textcar-media{order:-1;max-width:640px}
	.ensa-textcar.has-media .ensa-textcar-media{align-self:auto;aspect-ratio:5/4;min-height:0;width:100%}
	/* con un video activo el recuadro se hace vertical (3:4, tope 70vh) para que el video no quede chico */
	.ensa-textcar.has-media .ensa-textcar-media:has(.ensa-textcar-set.has-video.is-active){aspect-ratio:3/4;max-height:70vh}
	/* una columna: sólo ocupa lugar la sección activa, pegada a la foto (sin hueco por la sección más larga) */
	.ensa-textcar-slide{align-self:start}
	.ensa-textcar-slide:not(.is-active){display:none}
	.ensa-textcar-slide.is-active{animation:ensaTcIn .45s ease}
	.ensa-bfilter-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
}
@media (max-width:900px){
	.ensa-buques{grid-template-columns:1fr;gap:14px}
	.ensa-buques-names{flex-direction:row;overflow-x:auto;max-height:none;gap:4px;padding-bottom:4px;border-bottom:1px solid var(--ensa-med)}
	.ensa-buque-name{border-left:0;border-bottom:3px solid transparent;white-space:nowrap;padding:9px 12px}
	.ensa-buque-name.is-active{border-left:0;border-bottom-color:var(--ensa-red)}
}
@media (max-width:600px){
	.ensa-gal-viewport{aspect-ratio:4/3}
	.ensa-textcar-title{font-size:26px}
	.ensa-textcar-tabs{gap:4px 22px;margin-bottom:20px}
	.ensa-bfilter{padding:24px 0 10px;margin-bottom:32px}
	.ensa-bfilter-ico{height:72px}
	.ensa-bfilter-ico img{max-height:72px}
	.ensa-bfilter-label{font-size:15px}
	.ensa-slide-cap{bottom:64px;font-size:14px}
	.ensa-thumb{width:48px;height:34px}
}
@keyframes ensaTcIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
