/*!
 * ASOFRIO — Estilos específicos de "Instaladores" (instaladores.php)
 * Cargado únicamente en esta página (ver functions.php).
 */

/* ============ Buscador por localización / código postal ============ */
.finder-bar{
	display:flex; gap:12px; background:var(--white); border:1px solid var(--border); border-radius:var(--r-md);
	padding:8px; box-shadow:0 1px 3px rgba(11,31,77,.06); flex-wrap:wrap;
}
.finder-bar .finder-input{
	flex:1; min-width:220px; display:flex; align-items:center; gap:10px; padding:10px 14px;
}
.finder-bar .finder-input .material-symbols-outlined{ color:var(--text-secondary); font-size:20px; }
.finder-bar .finder-input input{ border:none; outline:none; font-size:14.5px; width:100%; font-family:inherit; color:var(--text); }
.finder-bar .finder-input.finder-select{ border-left:1px solid var(--border); }
.finder-bar .finder-input select{
	border:none; outline:none; font-size:14.5px; width:100%; font-family:inherit; color:var(--text);
	background:transparent; cursor:pointer;
}
.finder-bar .finder-input select:invalid{ color:var(--text-secondary); }
@media(max-width:640px){
	.finder-bar .finder-input.finder-select{ border-left:none; border-top:1px solid var(--border); }
}
.finder-layout{ display:grid; grid-template-columns:1.4fr 1fr; gap:24px; margin-top:32px; align-items:stretch; }
.finder-results{ display:flex; flex-direction:column; gap:14px; }
.finder-results-count{ font-size:13px; color:var(--text-secondary); font-weight:600; margin-bottom:2px; }
.installer-result{
	background:var(--white); border:1px solid var(--border); border-radius:14px; padding:16px 18px;
	transition:box-shadow .2s ease, border-color .2s ease;
}
.installer-result:hover{ box-shadow:0 10px 24px rgba(1,8,140,.10); border-color:var(--action); }
.installer-result-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.installer-result h4{ font-size:15px; color:var(--text); }
.installer-result .distance{ font-size:12px; color:var(--action); font-weight:700; white-space:nowrap; }
.installer-result .place{ font-size:13px; color:var(--text-secondary); margin-top:3px; display:flex; align-items:center; gap:4px; }
.installer-result .place .material-symbols-outlined{ font-size:14px; }
.installer-result-footer{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; }
@media(max-width:900px){
	.finder-layout{ grid-template-columns:1fr; }
}

/* ============ Sello de calidad: checklist (exclusivo de esta página) ============ */
.quality-list{ display:flex; flex-direction:column; gap:14px; margin-top:26px; }
.quality-list li{ display:flex; align-items:flex-start; gap:12px; font-size:14.5px; color:var(--text-secondary); line-height:1.55; }
.quality-list li .material-symbols-outlined{ color:var(--action); font-size:20px; flex-shrink:0; margin-top:1px; }
@media(max-width:900px){
	.quality-seal{ grid-template-columns:1fr !important; }
	.quality-seal-frame{ order:-1; max-width:280px; margin:0 auto; }
}

/* ============ Texto SEO (con gradiente y "leer más") ============ */
.seo-text-block{ position:relative; }
.seo-text-block h2{ margin-bottom:20px; }
.seo-text-content{ max-height:260px; overflow:hidden; transition:max-height .4s ease; }
.seo-text-content p{ font-size:14.5px; line-height:1.75; color:var(--text-secondary); margin-bottom:16px; }
.seo-text-content p:last-child{ margin-bottom:0; }
.seo-text-fade{
	position:absolute; left:0; right:0; bottom:0; height:110px;
	background:linear-gradient(180deg, rgba(247,249,252,0) 0%, var(--bg) 88%);
	pointer-events:none; transition:opacity .3s ease;
}
.seo-text-block.expanded .seo-text-content{ max-height:2600px; }
.seo-text-block.expanded .seo-text-fade{ opacity:0; }
.seo-text-toggle{ display:flex; margin:20px auto 0; }
.seo-text-toggle .material-symbols-outlined{ transition:transform .2s ease; }
.seo-text-block.expanded ~ .seo-text-toggle .material-symbols-outlined{ transform:rotate(180deg); }

/* ============ Listado de empresas: carrusel horizontal en móvil (< 720px) ============ */
@media(max-width:720px){
	#section-listado .grid-4{
		display:flex; flex-wrap:nowrap; gap:16px !important;
		overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
		padding-bottom:6px; scrollbar-width:none;
		-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent 100%);
		mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent 100%);
	}
	#section-listado .grid-4::-webkit-scrollbar{ display:none; }
	#section-listado .grid-4 > .partner-card{
		flex:0 0 42%; scroll-snap-align:start;
	}
}
