/* SHIMGE Home tools — categorías, selector dependiente y video corporativo. */
.shg-home-categories,
.shg-guided-selector,
.shg-company-video,
.shg-home-categories *,
.shg-guided-selector *,
.shg-company-video * { box-sizing: border-box; }

.shg-home-categories,
.shg-guided-selector,
.shg-company-video {
	width: 100%;
	max-width: none;
	margin: 0;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: #0f1b24;
}

.shg-home-tools-host,
.shg-home-tools-host > :is(.e-con-inner, .elementor-container) {
	--container-max-width: none !important;
	--container-widget-width: 100% !important;
	--gap: 0 !important;
	--widgets-spacing: 0 !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
}

.shg-home-tools-host :is(.elementor-widget-html,.elementor-widget-shortcode,.elementor-widget-container,.elementor-shortcode) {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.shg-home-categories__inner {
	width: 100%;
	max-width: none;
	margin: 0 auto;
	padding-right: 0;
	padding-left: 0;
}

.shg-company-video__inner {
	width: min(var(--shimge-layout-max, 1344px), calc(100% - 48px));
	margin: 0 auto;
	padding-right: var(--shimge-layout-gutter-desktop, 24px);
	padding-left: var(--shimge-layout-gutter-desktop, 24px);
}

.shg-home-categories { padding: 84px 0 0; background: #f7f9fa; }
.shg-home-categories__header { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 16px; margin: 0 auto 34px; padding-right: var(--shimge-layout-gutter-desktop, 24px); padding-left: var(--shimge-layout-gutter-desktop, 24px); text-align: center; }
.shg-home-categories__header > div { width: 100%; }
.shg-home-categories__header span,
.shg-company-video__copy > span,
.shg-guided-selector__intro > span { display: block; margin-bottom: 12px; color: #009da3; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.shg-home-categories__header h2,
.shg-company-video__copy h2,
.shg-guided-selector__intro h2 { margin: 0; color: #0b1720; font-size: clamp(34px, 3.5vw, 52px); font-weight: 800; letter-spacing: -.045em; line-height: 1.04; }
.shg-home-categories__header p { max-width: 760px; margin: 14px auto 0; color: #60717c; font-size: 16px; }
.shg-home-categories__header > a { flex: 0 0 auto; color: #009da3; font-size: 14px; font-weight: 750; text-decoration: none; }
.shg-home-categories__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); width: 100%; min-height: clamp(470px, 32vw, 590px); overflow: hidden; border-radius: 0; background: #0a1118; }
.shg-home-category-card { position: relative; z-index: 1; min-width: 0; overflow: hidden; color: #fff !important; text-decoration: none !important; isolation: isolate; pointer-events: auto !important; cursor: pointer; }
.shg-home-category-card > * { pointer-events: none !important; }
.shg-home-category-card + .shg-home-category-card { border-left: 1px solid rgba(255,255,255,.22); }
.shg-home-category-card img {
	--shg-category-image-scale: 1.015;
	--shg-category-image-hover-scale: 1.1;
	position: absolute !important;
	inset: 0 !important;
	z-index: -2;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	transform: scale(var(--shg-category-image-scale));
	transition: transform .75s cubic-bezier(.2,.7,.2,1), filter .45s ease;
}
.shg-home-category-card--bombas-pozos-profundos img { object-position: 28% center; }
.shg-home-category-card--bombas-sumergibles img { object-position: center center; }
.shg-home-category-card--bombas-perifericas img { object-position: 58% center; }
.shg-home-category-card--bombas-centrifugas img { object-position: 42% center; }
.shg-home-category-card--bombas-centrifugas img {
	--shg-category-image-scale: 1.14;
	--shg-category-image-hover-scale: 1.22;
}
.shg-home-category-card--bombas-autocebantes img { object-position: 48% center; }
.shg-home-category-card--bombas-verticales img { object-position: 58% center; }
.shg-home-category-card__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(6,18,23,.08) 20%, rgba(6,18,23,.88) 100%); transition: background .42s ease; }
.shg-home-category-card__content { position: absolute; inset: auto 0 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px 18px 30px; opacity: 1; transform: translateY(0); transition: opacity .32s ease, transform .42s cubic-bezier(.2,.7,.2,1); }
.shg-home-category-card__content strong { font-size: clamp(18px, 1.25vw, 23px); font-weight: 750; line-height: 1.15; }
.shg-home-category-card:hover img,
.shg-home-category-card:focus-visible img { transform: scale(var(--shg-category-image-hover-scale)); filter: saturate(1.08) contrast(1.03); }
.shg-home-category-card:hover .shg-home-category-card__shade,
.shg-home-category-card:focus-visible .shg-home-category-card__shade { background: linear-gradient(180deg, rgba(0,130,137,.04), rgba(4,36,41,.54)); }

@media (hover: hover) and (pointer: fine) {
	.shg-home-category-card:hover .shg-home-category-card__content { opacity: 0; transform: translateY(16px); }
}
.shg-home-category-card.has-placeholder { background: linear-gradient(145deg, #14343a, #0a1118 75%); }
.shg-home-category-card--2.has-placeholder { background: linear-gradient(145deg, #0c6970, #0a1118 80%); }
.shg-home-category-card--3.has-placeholder { background: linear-gradient(145deg, #23505a, #101820 80%); }
.shg-home-category-card--4.has-placeholder { background: linear-gradient(145deg, #0c5157, #0a1118 82%); }
.shg-home-category-card--5.has-placeholder { background: linear-gradient(145deg, #31565e, #0a1118 82%); }
.shg-home-category-card--6.has-placeholder { background: linear-gradient(145deg, #08666d, #0a1118 82%); }

.shg-guided-selector { display: grid; grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr); gap: 64px; width: min(var(--shimge-layout-max, 1344px), calc(100% - 48px)); margin: 0 auto; padding: 88px 24px; background: #fff; }
.shg-guided-selector__intro { padding-top: 22px; }
.shg-guided-selector__intro p { max-width: 560px; margin: 22px 0 0; color: #60717c; font-size: 17px; line-height: 1.65; }
.shg-guided-selector__form { display: grid; gap: 20px; padding: 34px; border: 1px solid #d9e4e7; border-radius: 12px; box-shadow: 0 18px 50px rgba(20,47,56,.055); }
.shg-guided-selector__form label { display: grid; gap: 8px; min-width: 0; color: #111c25; font-size: 13px; font-weight: 720; }
.shg-guided-selector__form :is(select,input) { width: 100%; height: 54px; margin: 0; padding: 0 15px; border: 1px solid #d5e0e3; border-radius: 7px; background: #fff; color: #17242c; font: inherit; font-size: 15px; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.shg-guided-selector__form :is(select,input):focus { border-color: #009da3; box-shadow: 0 0 0 3px rgba(0,157,163,.12); }
.shg-guided-selector__form :is(select,input):disabled { background: #f4f7f8; color: #89969d; cursor: not-allowed; }
.shg-guided-selector__numbers { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.shg-guided-selector__status { min-height: 22px; color: #60717c; font-size: 13px; line-height: 1.5; }
.shg-guided-selector__actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.shg-guided-selector__form button { min-height: 56px; border: 0; border-radius: 7px; background: #009da3; color: #fff; font: inherit; font-size: 15px; font-weight: 780; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.shg-guided-selector__form button:hover:not(:disabled) { background: #007f85; transform: translateY(-1px); }
.shg-guided-selector__form button:disabled { background: #a7d4d7; cursor: not-allowed; }
.shg-guided-selector__form .shg-guided-selector__clear { border: 1px solid #cddcdf; background: #fff; color: #32434c; font-weight: 720; }
.shg-guided-selector__form .shg-guided-selector__clear:hover:not(:disabled) { border-color: #8fc9cd; background: #f3fbfb; color: #007f85; }
.shg-guided-selector__form .shg-guided-selector__clear:disabled { border-color: #e0e7e9; background: #f7f9fa; color: #9aa6ac; cursor: not-allowed; }

.shg-company-video { padding: 92px 0; overflow: hidden; background: #f7f9fa; color: #0f1b24; }
.shg-company-video__inner { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr); align-items: center; gap: 54px; }
.shg-company-video__media { position: relative; overflow: hidden; aspect-ratio: 16/9; border: 1px solid #d5e2e5; border-radius: 12px; background: #eaf1f2; box-shadow: 0 24px 62px rgba(18,57,65,.12); }
.shg-company-video__media iframe { position: absolute; z-index: 1; top: 50%; left: 50%; width: 100% !important; height: 100% !important; border: 0; opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%,-53%) scale(1.28) !important; transform-origin: center center; transition: opacity .32s ease; }
.shg-company-video__media video { position: absolute; z-index: 1; inset: 0; display: block; width: 100%; height: 100%; border: 0; background: #06171c; object-fit: cover; }
.shg-company-video.is-player-ready .shg-company-video__media iframe,
.shg-company-video.is-video-started .shg-company-video__media iframe { opacity: 1; visibility: visible; }
.shg-company-video__click-toggle { position: absolute; z-index: 2; inset: 0; display: block; width: 100%; height: 100%; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: inherit !important; background: transparent !important; box-shadow: none !important; color: transparent !important; cursor: pointer; }
.shg-company-video__click-toggle:hover,
.shg-company-video__click-toggle:focus { border: 0 !important; background: transparent !important; box-shadow: none !important; color: transparent !important; }
.shg-company-video__click-toggle:focus-visible { outline: 2px solid #00a3a8 !important; outline-offset: -5px; }
.shg-company-video__sound-prompt { position: absolute; z-index: 3; top: 50%; left: 50%; display: inline-flex; align-items: center; gap: 9px; min-height: 48px; margin: 0 !important; padding: 0 19px !important; border: 1px solid #55cbd0 !important; border-radius: 999px !important; background: rgba(0,157,163,.94) !important; box-shadow: 0 12px 34px rgba(0,111,116,.28) !important; color: #fff !important; font: inherit; font-size: 13px; font-weight: 780; cursor: pointer; transform: translate(-50%,-50%); backdrop-filter: blur(10px); transition: background .2s ease, transform .2s ease; }
.shg-company-video__sound-prompt:hover,
.shg-company-video__sound-prompt:focus-visible { border-color: #fff !important; background: #007f85 !important; color: #fff !important; outline: 0 !important; transform: translate(-50%,-50%) scale(1.025); }
.shg-company-video__sound-prompt[hidden] { display: none !important; }
.shg-company-video__controls { position: absolute; z-index: 4; right: 12px; bottom: 12px; left: 12px; display: grid; grid-template-columns: auto auto auto minmax(80px,1fr) auto auto auto; align-items: center; gap: 8px; padding: 9px; border: 1px solid rgba(117,217,220,.38); border-radius: 10px; background: rgba(4,23,29,.9); color: #fff; opacity: 0; pointer-events: none; transform: translateY(10px); backdrop-filter: blur(12px); transition: opacity .22s ease, transform .22s ease; }
.shg-company-video__media.is-controls-visible .shg-company-video__controls { opacity: 1; pointer-events: auto; transform: translateY(0); }
.shg-company-video__controls button { min-height: 34px; margin: 0 !important; padding: 0 10px !important; border: 1px solid rgba(117,217,220,.45) !important; border-radius: 7px !important; background: rgba(0,157,163,.12) !important; box-shadow: none !important; color: #fff !important; font: inherit; font-size: 11px; font-weight: 750; cursor: pointer; }
.shg-company-video__controls button:hover,
.shg-company-video__controls button:focus-visible { border-color: #75d9dc !important; background: #009da3 !important; color: #fff !important; outline: 0 !important; }
.shg-company-video__controls input[type="range"] { position: relative; z-index: 1; width: 100% !important; min-width: 70px; height: 20px; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; accent-color: #00a3a8; cursor: pointer; -webkit-appearance: auto !important; appearance: auto !important; }
.shg-company-video__controls [data-company-fullscreen] { min-width: 38px; padding: 0 8px !important; font-size: 17px; }
.shg-company-video__controls [data-company-toggle] { display: inline-grid; width: 38px; min-width: 38px; padding: 0 !important; place-items: center; }
.shg-company-video__playback-icon { display: inline-flex; width: 18px; height: 18px; align-items: center; justify-content: center; }
.shg-company-video__playback-icon svg { display: block; width: 100%; height: 100%; }
.shg-company-video__playback-icon--play { display: none; }
.shg-company-video__controls [data-company-toggle]:not(.is-playing) .shg-company-video__playback-icon--pause { display: none; }
.shg-company-video__controls [data-company-toggle]:not(.is-playing) .shg-company-video__playback-icon--play { display: inline-flex; }
.shg-company-video__controls [data-company-mute] { display: inline-grid; width: 38px; min-width: 38px; padding: 0 8px !important; place-items: center; }
.shg-company-video__volume-icon { display: inline-flex; width: 19px; height: 19px; align-items: center; justify-content: center; }
.shg-company-video__volume-icon svg { display: block; width: 100%; height: 100%; }
.shg-company-video__volume-icon--off { display: none; }
.shg-company-video__controls [data-company-mute].is-muted .shg-company-video__volume-icon--on { display: none; }
.shg-company-video__controls [data-company-mute].is-muted .shg-company-video__volume-icon--off { display: inline-flex; }
.shg-company-video__time { font-size: 11px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.shg-company-video__media:fullscreen { width: 100vw; height: 100vh; aspect-ratio: auto; border: 0; border-radius: 0; background: #06171c; }
.shg-company-video__media:fullscreen .shg-company-video__controls { right: 22px; bottom: 22px; left: 22px; }
.shg-company-video__placeholder { position: absolute; inset: 0; display: grid; align-content: center; justify-items: center; gap: 10px; padding: 30px; color: #0f1b24; text-align: center; }
.shg-company-video__placeholder span { color: #64747d; font-size: 13px; }
.shg-company-video__placeholder code { color: #7ae0e2; }
.shg-company-video__copy h2 { color: #0b1720; font-size: clamp(32px,3vw,48px); }
.shg-company-video__copy p { margin: 20px 0 0; color: #51636d; font-size: 15px; line-height: 1.72; }
.shg-company-video__copy > strong { display: block; margin-top: 24px; padding-left: 18px; border-left: 3px solid #00a3a8; color: #0f1b24; font-size: 16px; line-height: 1.55; }

@media (max-width: 1100px) {
	.shg-home-categories__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.shg-home-category-card { min-height: 330px; }
	.shg-home-category-card:nth-child(4) { border-left: 0; border-top: 1px solid rgba(255,255,255,.22); }
	.shg-home-category-card:nth-child(n+5) { border-top: 1px solid rgba(255,255,255,.22); }
	.shg-guided-selector { grid-template-columns: 1fr; gap: 34px; }
	.shg-company-video__inner { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
	.shg-home-categories { padding: 60px 0 0; }
	.shg-home-categories__inner,
	.shg-company-video__inner { width: 100%; }
	.shg-home-categories__inner { padding-right: 0; padding-left: 0; }
	.shg-company-video__inner { padding-right: 16px; padding-left: 16px; }
	.shg-home-categories__header { align-items: center; margin-bottom: 24px; padding-right: 16px; padding-left: 16px; text-align: center; }
	.shg-home-categories__grid { grid-template-columns: 1fr; border-radius: 0; }
	.shg-home-category-card { min-height: 270px; border-top: 1px solid rgba(255,255,255,.22) !important; border-left: 0 !important; }
	.shg-home-category-card:first-child { border-top: 0 !important; }
	.shg-home-category-card__content { min-height: auto; opacity: 1; transform: none; }
	.shg-guided-selector { display: block; width: 100%; padding: 60px 16px; }
	.shg-guided-selector__form { margin-top: 30px; padding: 22px 16px; }
	.shg-guided-selector__numbers { grid-template-columns: 1fr; }
	.shg-guided-selector__actions { grid-template-columns: 1fr; }
	.shg-company-video { padding: 64px 0; }
	.shg-company-video__inner { gap: 34px; }
	.shg-company-video__controls { grid-template-columns: auto auto auto minmax(54px,1fr) auto auto; gap: 5px; }
	.shg-company-video__time { display: none; }
	.shg-company-video__controls button { min-width: 34px; padding-right: 6px !important; padding-left: 6px !important; }
}

@media (prefers-reduced-motion: reduce) {
	.shg-home-category-card img,
	.shg-home-category-card__content { transition: none; }
}

/*/* v0.9.27: zoom real del iframe con transform + !important para sobreescribir las dimensiones inline que YouTube asigna al player. */
.shg-company-video__media iframe[data-company-video-frame]{opacity:1;visibility:visible;width:100% !important;height:100% !important;transform:translate(-50%,-53%) scale(1.28) !important}
.shg-company-video.has-video-error .shg-company-video__media{background:#061b20}


/* v0.9.29: encuadre equilibrado. Zoom moderado, desplazamiento vertical hacia arriba y sin máscara negra. */
.shg-company-video__media::before{content:none !important;display:none !important}
.shg-company-video__media iframe[data-company-video-frame]{transform:translate(-50%,-53%) scale(1.28) !important}


/* v0.9.30: el control personalizado ocupa el borde inferior completo para tapar el branding de YouTube sin aumentar el zoom ni cortar subtítulos. */
.shg-company-video__media::before,
.shg-company-video__media::after{content:none !important;display:none !important}
.shg-company-video__controls{
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  min-height:64px;
  padding:10px 14px !important;
  border-right:0 !important;
  border-bottom:0 !important;
  border-left:0 !important;
  border-radius:0 0 11px 11px !important;
  background:rgba(4,23,29,.97) !important;
}
.shg-company-video__media:fullscreen .shg-company-video__controls{
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  border-radius:0 !important;
}


/* v0.9.31: cobertura inferior permanente y muy fina para ocultar el branding de YouTube cuando los controles SHIMGE se auto-ocultan. */
.shg-company-video__media::after{
  content:'' !important;
  display:block !important;
  position:absolute;
  z-index:3;
  right:0;
  bottom:0;
  left:0;
  height:34px;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.86) 55%,#000 100%);
}
.shg-company-video__controls{z-index:4 !important}
.shg-company-video__media:fullscreen::after{height:38px}


/* v0.9.32: nuevo video exportado al 70%. Encuadre matemático 1/0.70 ≈ 1.43, centrado y sin máscaras. */
.shg-company-video__media{
  background:#000 !important;
  box-shadow:0 24px 62px rgba(18,57,65,.12) !important;
}
.shg-company-video__media iframe,
.shg-company-video__media iframe[data-company-video-frame]{
  top:50% !important;
  left:50% !important;
  width:100% !important;
  height:100% !important;
  transform:translate(-50%,-50%) scale(1.43) !important;
  transform-origin:center center !important;
}
.shg-company-video__media::before,
.shg-company-video__media::after{
  content:none !important;
  display:none !important;
  background:none !important;
}
.shg-company-video__controls{
  right:12px !important;
  bottom:12px !important;
  left:12px !important;
  min-height:0 !important;
  padding:9px !important;
  border:1px solid rgba(117,217,220,.38) !important;
  border-radius:10px !important;
  background:rgba(4,23,29,.90) !important;
}
.shg-company-video__media:fullscreen .shg-company-video__controls{
  right:22px !important;
  bottom:22px !important;
  left:22px !important;
  border-radius:10px !important;
}


/* v0.9.33: encuadre de seguridad para conservar completos los subtítulos y el logo del video al 70%. */
.shg-company-video__media iframe,
.shg-company-video__media iframe[data-company-video-frame]{
  top:50% !important;
  left:50% !important;
  width:100% !important;
  height:100% !important;
  transform:translate(-50%,-50%) scale(1.38) !important;
  transform-origin:center center !important;
}
.shg-company-video__media::before,
.shg-company-video__media::after{
  content:none !important;
  display:none !important;
}


/* v0.9.34: ajuste fino final del video al 70%. Un poco menos de zoom para recuperar por completo logo y subtítulos sin volver a mostrar branding de YouTube. */
.shg-company-video__media iframe,
.shg-company-video__media iframe[data-company-video-frame]{
  top:50% !important;
  left:50% !important;
  width:100% !important;
  height:100% !important;
  transform:translate(-50%,-50%) scale(1.36) !important;
  transform-origin:center center !important;
}


/* v0.9.35: más margen seguro para el contenido propio del video. Se reduce el zoom sin desplazar el encuadre, para recuperar el logo SHIMGE y dar aire a los subtítulos inferiores. */
.shg-company-video__media iframe,
.shg-company-video__media iframe[data-company-video-frame]{
  top:50% !important;
  left:50% !important;
  width:100% !important;
  height:100% !important;
  transform:translate(-50%,-50%) scale(1.32) !important;
  transform-origin:center center !important;
}
.shg-company-video__media::before,
.shg-company-video__media::after{
  content:none !important;
  display:none !important;
}


/* v0.9.36: ajuste horizontal fino. Conserva el zoom y el margen inferior ya aprobados, pero desplaza el video ligeramente a la izquierda para mostrar completo el logo SHIMGE de la esquina superior derecha. */
.shg-company-video__media iframe,
.shg-company-video__media iframe[data-company-video-frame]{
  top:50% !important;
  left:50% !important;
  width:100% !important;
  height:100% !important;
  transform:translate(-51.6%,-50%) scale(1.32) !important;
  transform-origin:center center !important;
}


/* v0.9.37: comportamiento de controles tipo YouTube: auto-ocultado por inactividad, también en pantalla completa, y barra de progreso plenamente interactiva. */
.shg-company-video__controls input[type="range"]{
  position:relative;
  z-index:6 !important;
  pointer-events:auto !important;
  touch-action:none;
  user-select:none;
}
.shg-company-video__media:fullscreen:not(.is-controls-visible),
.shg-company-video__media:fullscreen:not(.is-controls-visible) .shg-company-video__click-toggle{
  cursor:none !important;
}

/* v0.9.40 — Blindaje de branding de YouTube únicamente en pantallas táctiles.
   Se cubren solo las esquinas en las que YouTube inserta título/logo; no se toca
   el centro del video, el logo SHIMGE propio ni los subtítulos del archivo. */
.shg-company-video__yt-shield { display:none; }
@media (hover: none) and (pointer: coarse), (max-width: 767px) {
	.shg-company-video__yt-shield {
		position:absolute;
		z-index:3;
		display:block;
		background:#000;
		pointer-events:none;
	}
	.shg-company-video__yt-shield--title {
		top:0;
		left:0;
		width:48%;
		height:20px;
		border-radius:11px 0 0 0;
	}
	.shg-company-video__yt-shield--left {
		bottom:0;
		left:0;
		width:56px;
		height:25px;
		border-radius:0 0 0 11px;
	}
	.shg-company-video__yt-shield--right {
		right:0;
		bottom:0;
		width:102px;
		height:25px;
		border-radius:0 0 11px 0;
	}
	.shg-company-video__controls { z-index:4 !important; }
}

/* En móviles YouTube puede pintar sus tres controles centrales al quedar pausado,
   incluso con controls=0. Se cubren únicamente durante la pausa con una capa de
   control propia; al reproducir desaparece por completo. */
@media (hover: none) and (pointer: coarse), (max-width: 767px) {
	.shg-company-video__yt-shield--center { display:none; }
	.shg-company-video:not(.is-video-playing) .shg-company-video__yt-shield--center {
		display:block;
		top:50%;
		left:50%;
		width:min(62%, 330px);
		height:min(34%, 126px);
		min-width:230px;
		min-height:88px;
		border:1px solid rgba(117,217,220,.24);
		border-radius:18px;
		background:rgba(4,23,29,.97);
		transform:translate(-50%,-50%);
	}
	.shg-company-video:not(.is-video-playing) .shg-company-video__yt-shield--center::after {
		content:'▶';
		position:absolute;
		top:50%;
		left:50%;
		color:#fff;
		font-size:34px;
		line-height:1;
		transform:translate(-45%,-50%);
	}
	.shg-company-video:has(.shg-company-video__sound-prompt:not([hidden])) .shg-company-video__yt-shield--center::after {
		display:none;
	}
}

/* ======================================================
   v0.9.41 — Video móvil sin máscaras negras
   El archivo fue exportado al 70%; en móvil aprovechamos ese margen real para
   recortar el borde del iframe de YouTube mediante zoom, no mediante recuadros.
   El encuadre de escritorio aprobado no cambia.
   ====================================================== */
.shg-company-video__yt-shield { display:none !important; }
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
	.shg-company-video__media::before,
	.shg-company-video__media::after {
		content:none !important;
		display:none !important;
	}
	.shg-company-video__media iframe,
	.shg-company-video__media iframe[data-company-video-frame] {
		top:50% !important;
		left:50% !important;
		width:100% !important;
		height:100% !important;
		transform:translate(-51.6%,-50%) scale(1.35) !important;
		transform-origin:center center !important;
	}
}

/* ======================================================
   v0.9.42 — YouTube móvil con viewport lógico de escritorio
   En móvil el iframe conserva un layout interno 1280×720 y se escala de forma
   responsiva al encuadre aprobado en escritorio. De esta forma YouTube no cambia
   a su UI móvil (título/logo pegados a los bordes) y no usamos máscaras negras.
   ====================================================== */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
	.shg-company-video__media iframe,
	.shg-company-video__media iframe[data-company-video-frame] {
		top:50% !important;
		left:50% !important;
		width:1280px !important;
		height:720px !important;
		max-width:none !important;
		max-height:none !important;
		transform:translate(-51.6%,-50%) scale(var(--shg-mobile-yt-scale,.5)) !important;
		transform-origin:center center !important;
	}
}


/* ======================================================
   v0.9.43 — Centrado real del video YouTube en móvil
   Conserva el viewport lógico de escritorio 1280×720, pero elimina el
   desplazamiento horizontal heredado del escritorio y centra el iframe
   exactamente en ambos ejes. El factor se calcula en JS con cover real.
   ====================================================== */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
  .shg-company-video__media iframe,
  .shg-company-video__media iframe[data-company-video-frame] {
    top:50% !important;
    left:50% !important;
    width:1280px !important;
    height:720px !important;
    max-width:none !important;
    max-height:none !important;
    transform:translate(-50%,-50%) scale(var(--shg-mobile-yt-scale,.5)) !important;
    transform-origin:center center !important;
  }
}

/* ======================================================
   v0.9.44 — Ajuste fino móvil para conservar completo el logo SHIMGE
   Reduce únicamente el zoom móvil de 1.32 a 1.30; escritorio no cambia.
   El iframe permanece centrado en ambos ejes y sin máscaras/blur.
   ====================================================== */


/* ======================================================
   v0.9.45 — Video móvil: logo completo + fullscreen horizontal
   - El zoom móvil baja levemente a 1.28 para dar aire al logo SHIMGE.
   - JS intenta bloquear orientación landscape al entrar en fullscreen.
   - Si el navegador no admite orientation lock (p. ej. algunos iPhone),
     el iframe conserva 16:9 completo y centrado en vez de recortarse verticalmente.
   ====================================================== */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
  .shg-company-video__media iframe,
  .shg-company-video__media iframe[data-company-video-frame] {
    top:50% !important;
    left:50% !important;
    transform:translate(-50%,-50%) scale(var(--shg-mobile-yt-scale,.5)) !important;
    transform-origin:center center !important;
  }
  .shg-company-video__media:fullscreen,
  .shg-company-video__media:-webkit-full-screen {
    background:#000 !important;
    width:100vw !important;
    height:100vh !important;
    max-width:none !important;
    max-height:none !important;
    border-radius:0 !important;
  }
}


/* ======================================================
   v0.9.46 — Fullscreen móvil centrado y sin recorte del contenido
   El JS usa contain + compensación exacta del archivo al 70% cuando
   el reproductor está en fullscreen. Esto evita cortar logo/subtítulos
   en teléfonos con relación de aspecto más ancha que 16:9.
   ====================================================== */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
  .shg-company-video__media:fullscreen iframe,
  .shg-company-video__media:fullscreen iframe[data-company-video-frame],
  .shg-company-video__media:-webkit-full-screen iframe,
  .shg-company-video__media:-webkit-full-screen iframe[data-company-video-frame] {
    top:50% !important;
    left:50% !important;
    transform:translate(-50%,-50%) scale(var(--shg-mobile-yt-scale,.5)) !important;
    transform-origin:center center !important;
  }
}

/* v0.9.60 — selector guiado con unidades alternativas editables */
.shg-guided-selector__unit-group{min-width:0;margin:0;padding:0;border:0}
.shg-guided-selector__unit-group legend{margin:0 0 8px;padding:0;color:#111c25;font-size:13px;font-weight:720;line-height:1.35}
.shg-guided-selector__unit-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.shg-guided-selector__unit-group label{gap:6px!important}
.shg-guided-selector__unit-group label>span{color:#5c6b74;font-size:11px;font-weight:700}
@media(max-width:767px){
  .shg-guided-selector__unit-group>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ======================================================
   v0.9.107 — resultados del Selector guiado en la misma página
   ====================================================== */
.shg-guided-selector__results{
	grid-column:1 / -1;
	width:100%;
	margin-top:4px;
	padding-top:26px;
	border-top:1px solid #e2eaec;
	scroll-margin-top:110px;
}
.shg-guided-selector__results[hidden]{display:none!important}
.shg-guided-selector__results-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:18px;
	margin:0 0 22px;
}
.shg-guided-selector__results-head span{
	display:block;
	margin-bottom:6px;
	color:#009da3;
	font-size:11px;
	font-weight:850;
	letter-spacing:.16em;
	text-transform:uppercase;
}
.shg-guided-selector__results-head h3{
	margin:0;
	color:#0b1720;
	font-size:clamp(25px,2.2vw,34px);
	font-weight:820;
	letter-spacing:-.03em;
	line-height:1.08;
}
.shg-guided-selector__results-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
}
.shg-guided-selector__result-card{
	display:flex;
	min-width:0;
	flex-direction:column;
	overflow:hidden;
	border:1px solid #d8e4e7;
	border-radius:14px;
	background:#fff;
	box-shadow:0 16px 40px rgba(19,49,59,.05);
}
.shg-guided-selector__result-image{
	display:flex;
	height:280px;
	box-sizing:border-box;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	padding:22px;
	background:#f1f5f6;
	text-decoration:none!important;
}
.shg-guided-selector__result-image img{
	display:block;
	width:100%!important;
	height:100%!important;
	max-width:100%!important;
	max-height:100%!important;
	object-fit:contain!important;
	object-position:center!important;
}
.shg-guided-selector__result-body{
	display:flex;
	flex:1;
	flex-direction:column;
	padding:22px;
}
.shg-guided-selector__result-series{
	margin-bottom:7px;
	color:#009da3;
	font-size:10px;
	font-weight:850;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.shg-guided-selector__result-body h4{
	margin:0;
	font-size:23px;
	font-weight:850;
	line-height:1.1;
	letter-spacing:-.025em;
}
.shg-guided-selector__result-body h4 a{color:#0b1720;text-decoration:none!important}
.shg-guided-selector__result-point{
	display:grid;
	gap:10px;
	margin-top:16px;
	padding:13px 14px;
	border:1px solid rgba(0,157,163,.28);
	border-radius:10px;
	background:#edf9f8;
}
.shg-guided-selector__result-point-head{
	display:flex;
	align-items:center;
	gap:9px;
	color:#008d92;
	font-size:12.5px;
	font-weight:850;
	line-height:1.25;
}
.shg-guided-selector__result-check{
	display:inline-flex;
	width:20px;
	height:20px;
	flex:0 0 20px;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:#009da3;
	color:#fff;
	font-size:12px;
	font-weight:900;
	line-height:1;
}
.shg-guided-selector__result-point-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:8px;
}
.shg-guided-selector__result-point-grid>span,
.shg-guided-selector__result-available{
	display:flex;
	min-width:0;
	flex-direction:column;
	gap:2px;
}
.shg-guided-selector__result-point small{
	color:#64777e;
	font-size:9px;
	font-weight:800;
	line-height:1.2;
	letter-spacing:.025em;
	text-transform:uppercase;
}
.shg-guided-selector__result-point b,
.shg-guided-selector__result-available strong{
	color:#18323a;
	font-size:11.5px;
	font-weight:850;
	line-height:1.25;
}
.shg-guided-selector__result-available{
	padding-top:8px;
	border-top:1px solid rgba(0,157,163,.15);
}
.shg-guided-selector__result-specs{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:7px;
	margin-top:16px;
}
.shg-guided-selector__result-specs>div{
	display:flex;
	min-width:0;
	flex-direction:column;
	gap:3px;
	padding:9px 10px;
	border:1px solid #dce7e9;
	border-radius:7px;
	background:#f6f9f9;
}
.shg-guided-selector__result-specs span{
	color:#6a7980;
	font-size:9px;
	font-weight:800;
	line-height:1.15;
	letter-spacing:.03em;
	text-transform:uppercase;
}
.shg-guided-selector__result-specs strong{
	overflow-wrap:anywhere;
	color:#14232b;
	font-size:12px;
	font-weight:850;
	line-height:1.2;
}
.shg-guided-selector__result-footer{
	margin-top:auto;
	padding-top:18px;
	text-align:right;
}
.shg-guided-selector__result-footer a{
	color:#009da3;
	font-size:14px;
	font-weight:800;
	text-decoration:none!important;
}
.shg-guided-selector__results-empty{
	padding:22px;
	border:1px dashed #cfdde0;
	border-radius:10px;
	background:#f8fafb;
	color:#60717c;
	font-size:14px;
}
@media(max-width:1050px){
	.shg-guided-selector__results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
	.shg-guided-selector__results{margin-top:26px;padding-top:22px}
	.shg-guided-selector__results-grid{grid-template-columns:1fr;gap:16px}
	.shg-guided-selector__result-image{height:230px;padding:16px}
	.shg-guided-selector__result-body{padding:18px 16px}
	.shg-guided-selector__result-body h4{font-size:21px}
	/* En móvil conservamos dos datos por fila para evitar tarjetas excesivamente largas. */
	.shg-guided-selector__result-specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
	.shg-guided-selector__result-specs>div{padding:8px 9px}
	.shg-guided-selector__result-point-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v0.9.108 — corrección visual de tarjetas de resultados del Selector guiado. */
.shg-guided-selector__result-card{height:100%}
.shg-guided-selector__result-body{min-height:0}
.shg-guided-selector__result-footer{margin-top:auto}
@media(min-width:768px){
	.shg-guided-selector__result-image{height:250px}
	.shg-guided-selector__result-body{padding:18px}
	.shg-guided-selector__result-body h4{font-size:20px}
}


/* v0.9.114 — tarjetas del Selector guiado realmente horizontales en móvil.
   Se usa flex-row con mayor especificidad para evitar que estilos previos o del tema
   vuelvan a apilar imagen y contenido verticalmente. */
@media (max-width: 767px) {
  .shg-guided-selector__results-grid {
    grid-template-columns: 1fr !important;
    gap: 14px;
  }

  .shg-guided-selector__results-grid .shg-guided-selector__result-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100%;
    height: auto !important;
    min-height: 228px;
    overflow: hidden;
    border-radius: 12px;
  }

  .shg-guided-selector__results-grid .shg-guided-selector__result-image {
    flex: 0 0 34% !important;
    width: 34% !important;
    height: auto !important;
    min-height: 228px !important;
    align-self: stretch;
    box-sizing: border-box;
    padding: 14px 8px;
    border-right: 1px solid #e2eaec;
    background: #f1f5f6;
  }

  .shg-guided-selector__results-grid .shg-guided-selector__result-image img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 50% !important;
    max-height: 50% !important;
    margin: auto;
    object-fit: contain !important;
    object-position: center !important;
  }

  .shg-guided-selector__results-grid .shg-guided-selector__result-body {
    flex: 1 1 66% !important;
    width: 66% !important;
    min-width: 0;
    padding: 13px 12px;
  }

  .shg-guided-selector__result-series {
    margin-bottom: 4px;
    font-size: 8px;
    letter-spacing: .1em;
  }

  .shg-guided-selector__result-body h4 {
    margin-bottom: 8px;
    font-size: 17px;
    line-height: 1.08;
  }

  .shg-guided-selector__result-point {
    gap: 6px;
    margin-top: 7px;
    padding: 8px;
    border-radius: 8px;
  }

  .shg-guided-selector__result-point-head {
    gap: 6px;
    font-size: 9.5px;
  }

  .shg-guided-selector__result-check {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    font-size: 9px;
  }

  .shg-guided-selector__result-point-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }

  .shg-guided-selector__result-point small { font-size: 7px; }
  .shg-guided-selector__result-point b,
  .shg-guided-selector__result-available strong { font-size: 9px; }

  .shg-guided-selector__result-specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    margin-top: 8px;
  }

  .shg-guided-selector__result-specs > div {
    min-height: 40px;
    justify-content: center;
    padding: 5px 6px;
    border-radius: 6px;
  }

  .shg-guided-selector__result-specs span { font-size: 7px; }
  .shg-guided-selector__result-specs strong {
    font-size: 9.5px;
    line-height: 1.1;
  }

  .shg-guided-selector__result-footer {
    padding-top: 9px;
  }

  .shg-guided-selector__result-footer a {
    font-size: 11px;
  }
}

@media (max-width: 390px) {
  .shg-guided-selector__results-grid .shg-guided-selector__result-image {
    flex-basis: 31% !important;
    width: 31% !important;
    padding: 12px 6px;
  }
  .shg-guided-selector__results-grid .shg-guided-selector__result-image img {
    max-width: 46% !important;
    max-height: 46% !important;
  }
  .shg-guided-selector__results-grid .shg-guided-selector__result-body {
    flex-basis: 69% !important;
    width: 69% !important;
    padding: 12px 9px;
  }
  .shg-guided-selector__result-body h4 { font-size: 16px; }
}


/* v0.9.116 — normalización visual de imágenes en tarjetas móviles.
   El tamaño ya no depende de la proporción original de cada fotografía:
   se usa una caja visual limitada para que bombas altas, verticales y horizontales
   mantengan una escala consistente sin alargar las tarjetas. */
@media (max-width: 767px) {
  .shg-guided-selector__results-grid .shg-guided-selector__result-card {
    min-height: 214px !important;
  }

  .shg-guided-selector__results-grid .shg-guided-selector__result-image {
    flex: 0 0 32% !important;
    width: 32% !important;
    min-height: 214px !important;
    height: auto !important;
    padding: 10px 7px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .shg-guided-selector__results-grid .shg-guided-selector__result-image img {
    width: auto !important;
    height: auto !important;
    max-width: 88% !important;
    max-height: 158px !important;
    margin: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .shg-guided-selector__results-grid .shg-guided-selector__result-body {
    flex: 1 1 68% !important;
    width: 68% !important;
  }
}

@media (max-width: 390px) {
  .shg-guided-selector__results-grid .shg-guided-selector__result-image {
    flex-basis: 32% !important;
    width: 32% !important;
    min-height: 206px !important;
    padding: 9px 6px !important;
  }

  .shg-guided-selector__results-grid .shg-guided-selector__result-image img {
    max-width: 90% !important;
    max-height: 146px !important;
  }

  .shg-guided-selector__results-grid .shg-guided-selector__result-body {
    flex-basis: 68% !important;
    width: 68% !important;
  }
}


/* v0.9.117 — ajuste fino para la serie JET en tarjetas móviles.
   Las imágenes horizontales de JET quedaban un poco pequeñas frente a otras series,
   así que se incrementa ligeramente su escala solo en los resultados del Selector guiado. */
@media (max-width: 767px) {
  .shg-guided-selector__results-grid .shg-guided-selector__result-card[data-series="jet"] .shg-guided-selector__result-image img {
    max-width: 104% !important;
    max-height: 168px !important;
    transform: scale(1.12);
    transform-origin: center center;
  }
}

@media (max-width: 390px) {
  .shg-guided-selector__results-grid .shg-guided-selector__result-card[data-series="jet"] .shg-guided-selector__result-image img {
    max-width: 108% !important;
    max-height: 156px !important;
    transform: scale(1.14);
  }
}
