/*
Theme Name: Técnico Madrid
Theme URI: https://tudominio.es
Author: Filip and Smith
Author URI: https://example.com
Description: Tema WordPress para reparación de electrodomésticos en Madrid. Diseño SEO optimizado con páginas programáticas para marcas, aparatos, barrios y ciudades de la Comunidad de Madrid.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tecnico-madrid
Tags: servicios, seo, electrodomésticos, madrid
*/

/* ══════════════════════════════════════════════════
   RESET & BASE
══════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #1a1a2e;
  background: #ffffff;
  line-height: 1.6;
}
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }

/* ── CSS VARIABLES ── */
:root {
  --azul: #0d3b7c;
  --azul-claro: #1a5cb8;
  --naranja: #e8721f;
  --naranja-hover: #c95e0f;
  --gris-claro: #f5f7fc;
  --gris-borde: #e2e8f0;
  --text: #1a1a2e;
  --text-muted: #64748b;
  --blanco: #ffffff;
  --sombra: 0 4px 20px rgba(13,59,124,0.10);
  --radio: 10px;
  --max: 1200px;
}

/* ══════════════════════════════════════════════════
   HEADER
══════════════════════════════════════════════════ */
#header {
  background: var(--azul);
  position: sticky; top: 0; z-index: 1000;
  box-shadow: 0 2px 12px rgba(0,0,0,0.2);
}
.header-inner {
  max-width: var(--max); margin: 0 auto; padding: 0 20px;
  display: flex; align-items: center; justify-content: space-between;
  height: 68px; gap: 20px;
}
.site-logo { display: flex; align-items: center; gap: 10px; }
.site-logo .logo-text {
  font-size: 20px; font-weight: 800; color: var(--blanco); letter-spacing: 0;
}
.site-logo .logo-text span { color: #fbbf24; }
.header-tel {
  display: flex; align-items: center; gap: 8px;
  background: var(--naranja); color: white;
  padding: 10px 22px; border-radius: 6px;
  font-weight: 700; font-size: 15px; white-space: nowrap;
  transition: background .2s;
}
.header-tel:hover { background: var(--naranja-hover); }
.header-tel .tel-icon { font-size: 18px; }
nav { display: flex; gap: 4px; }
nav a {
  color: rgba(255,255,255,0.85); padding: 8px 14px;
  border-radius: 6px; font-size: 13px; font-weight: 500;
  transition: all .2s;
}
nav a:hover { background: rgba(255,255,255,0.12); color: white; }

/* ══════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════ */
.hero {
  background: linear-gradient(135deg, #0d3b7c 0%, #1a5cb8 50%, #0d3b7c 100%);
  padding: 80px 20px 90px;
  position: relative; overflow: hidden;
}
.hero::before {
  content: ''; position: absolute; inset: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="80" cy="20" r="40" fill="rgba(255,255,255,0.03)"/><circle cx="10" cy="80" r="50" fill="rgba(255,255,255,0.03)"/></svg>');
}
.hero-inner { max-width: var(--max); margin: 0 auto; position: relative; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.2);
  color: #fbbf24; padding: 6px 16px; border-radius: 20px;
  font-size: 13px; font-weight: 600; margin-bottom: 20px;
}
.hero h1 {
  font-size: clamp(28px, 5vw, 52px); font-weight: 900;
  color: white; line-height: 1.1; margin-bottom: 18px;
  letter-spacing: 0;
}
.hero h1 span { color: #fbbf24; }
.hero p.hero-sub {
  font-size: 18px; color: rgba(255,255,255,0.85);
  max-width: 580px; margin-bottom: 32px; line-height: 1.6;
}
.hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 40px; }
.btn-primary {
  background: var(--naranja); color: white;
  padding: 16px 32px; border-radius: 8px;
  font-weight: 800; font-size: 16px;
  display: inline-flex; align-items: center; gap: 8px;
  transition: all .2s; box-shadow: 0 4px 20px rgba(232,114,31,0.4);
}
.btn-primary:hover { background: var(--naranja-hover); transform: translateY(-2px); }
.btn-secondary {
  background: rgba(255,255,255,0.12); border: 2px solid rgba(255,255,255,0.3);
  color: white; padding: 14px 28px; border-radius: 8px;
  font-weight: 700; font-size: 15px;
  display: inline-flex; align-items: center; gap: 8px;
  transition: all .2s;
}
.btn-secondary:hover { background: rgba(255,255,255,0.2); }
.hero-trust { display: flex; gap: 28px; flex-wrap: wrap; }
.trust-item {
  display: flex; align-items: center; gap: 8px;
  color: rgba(255,255,255,0.9); font-size: 14px; font-weight: 500;
}
.trust-item .check { color: #4ade80; font-size: 18px; }

/* ══════════════════════════════════════════════════
   TRUST BAR
══════════════════════════════════════════════════ */
.trust-bar { background: #fbbf24; padding: 14px 20px; }
.trust-bar-inner {
  max-width: var(--max); margin: 0 auto;
  display: flex; justify-content: center; gap: 40px; flex-wrap: wrap;
}
.trust-bar-item {
  display: flex; align-items: center; gap: 8px;
  font-weight: 700; font-size: 14px; color: #1a1a2e;
}

/* ══════════════════════════════════════════════════
   SECCIONES
══════════════════════════════════════════════════ */
.section { padding: 70px 20px; }
.section-gray { background: var(--gris-claro); }
.section-inner { max-width: var(--max); margin: 0 auto; }
.section-title {
  font-size: clamp(24px, 3.5vw, 36px); font-weight: 800;
  color: var(--azul); margin-bottom: 10px; letter-spacing: 0;
}
.section-sub { color: var(--text-muted); font-size: 16px; margin-bottom: 40px; max-width: 560px; }
.section-header { margin-bottom: 40px; }

/* ── GRID APARATOS ── */
.aparatos-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px;
}
.aparato-card {
  background: white; border: 1px solid var(--gris-borde);
  border-radius: var(--radio); padding: 28px 20px;
  text-align: center; transition: all .25s;
  box-shadow: var(--sombra);
}
.aparato-card:hover {
  border-color: var(--azul-claro); transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(13,59,124,0.15);
}
.aparato-card .aparato-icon { font-size: 40px; margin-bottom: 12px; }
.aparato-card .aparato-name {
  font-weight: 700; font-size: 15px; color: var(--azul); margin-bottom: 4px;
}
.aparato-card .aparato-link {
  font-size: 12px; color: var(--naranja); font-weight: 600;
  display: block; margin-top: 10px;
}

/* ── GRID MARCAS ── */
.marcas-grid {
  display: flex; flex-wrap: wrap; gap: 10px;
}
.marca-chip {
  background: white; border: 1px solid var(--gris-borde);
  padding: 10px 20px; border-radius: 30px;
  font-weight: 600; font-size: 14px; color: var(--azul);
  transition: all .2s; box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.marca-chip:hover {
  background: var(--azul); color: white;
  border-color: var(--azul); transform: translateY(-2px);
}

/* ── GRID ZONAS ── */
.zonas-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px;
}
.zona-chip {
  background: white; border: 1px solid var(--gris-borde);
  padding: 12px 16px; border-radius: 8px;
  font-size: 13px; font-weight: 600; color: var(--azul);
  text-align: center; transition: all .2s;
}
.zona-chip:hover { background: var(--azul); color: white; border-color: var(--azul); }
.zona-chip .zona-type { font-size: 10px; color: var(--naranja); display: block; margin-top: 2px; text-transform: uppercase; font-weight: 700; letter-spacing: 1px; }
.zona-chip:hover .zona-type { color: #fbbf24; }

/* ── PROCESO ── */
.proceso-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px;
}
.paso-card {
  background: white; border-radius: var(--radio);
  padding: 30px 24px; border: 1px solid var(--gris-borde);
  box-shadow: var(--sombra); position: relative;
}
.paso-num {
  width: 44px; height: 44px; background: var(--azul);
  border-radius: 50%; color: white; font-size: 20px; font-weight: 900;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
}
.paso-title { font-weight: 800; font-size: 16px; color: var(--azul); margin-bottom: 8px; }
.paso-desc { font-size: 14px; color: var(--text-muted); line-height: 1.6; }

/* ── URGENCIAS ── */
.urgencias {
  background: linear-gradient(90deg, #c0392b, #e74c3c);
  padding: 40px 20px; text-align: center;
}
.urgencias h2 { color: white; font-size: 28px; font-weight: 800; margin-bottom: 10px; }
.urgencias p { color: rgba(255,255,255,0.85); font-size: 16px; margin-bottom: 24px; }
.btn-urgencia {
  background: white; color: #c0392b;
  padding: 16px 36px; border-radius: 8px;
  font-weight: 900; font-size: 18px; letter-spacing: 0;
  display: inline-flex; align-items: center; gap: 10px;
  transition: all .2s;
}
.btn-urgencia:hover { transform: scale(1.04); box-shadow: 0 8px 30px rgba(0,0,0,0.2); }

/* ── FAQ ── */
.faq-list { max-width: 760px; }
.faq-item { border: 1px solid var(--gris-borde); border-radius: var(--radio); margin-bottom: 10px; overflow: hidden; }
.faq-q {
  padding: 18px 22px; font-weight: 700; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  background: white; color: var(--azul); font-size: 15px;
  transition: background .2s;
}
.faq-q:hover { background: var(--gris-claro); }
.faq-q .faq-icon { font-size: 20px; flex-shrink: 0; color: var(--naranja); transition: transform .25s; }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-a { display: none; padding: 0 22px 18px; color: var(--text-muted); font-size: 14px; line-height: 1.7; }
.faq-item.open .faq-a { display: block; }

/* ── CONTACTO ── */
.contacto-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start;
}
.contacto-info h3 { font-size: 22px; font-weight: 800; color: var(--azul); margin-bottom: 20px; }
.contacto-dato {
  display: flex; align-items: center; gap: 14px; margin-bottom: 16px;
  padding: 16px; background: var(--gris-claro); border-radius: 8px;
}
.contacto-dato .c-icon { font-size: 24px; }
.contacto-dato .c-label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; }
.contacto-dato .c-val { font-weight: 700; font-size: 16px; color: var(--azul); }
.contacto-form label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--azul); }
.contacto-form input, .contacto-form select, .contacto-form textarea {
  width: 100%; padding: 12px 14px;
  border: 1px solid var(--gris-borde); border-radius: 8px;
  font-size: 14px; margin-bottom: 14px;
  transition: border-color .2s; font-family: inherit;
}
.contacto-form input:focus, .contacto-form select:focus, .contacto-form textarea:focus {
  outline: none; border-color: var(--azul-claro);
}
.btn-form {
  width: 100%; padding: 15px; background: var(--naranja);
  color: white; border: none; border-radius: 8px;
  font-size: 16px; font-weight: 800; cursor: pointer;
  transition: background .2s;
}
.btn-form:hover { background: var(--naranja-hover); }

/* ── FOOTER ── */
#footer {
  background: #0a0f1e; color: rgba(255,255,255,0.7); padding: 60px 20px 30px;
}
.footer-inner { max-width: var(--max); margin: 0 auto; }
.footer-top {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 40px;
}
.footer-col h4 { color: white; font-weight: 700; font-size: 14px; margin-bottom: 16px; }
.footer-col ul li { margin-bottom: 8px; }
.footer-col ul li a { font-size: 13px; color: rgba(255,255,255,0.6); transition: color .2s; }
.footer-col ul li a:hover { color: #fbbf24; }
.footer-logo { color: white; font-size: 22px; font-weight: 900; margin-bottom: 12px; }
.footer-logo span { color: #fbbf24; }
.footer-desc { font-size: 13px; line-height: 1.7; margin-bottom: 16px; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1); padding-top: 24px;
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
  font-size: 12px;
}
.footer-links { display: flex; gap: 20px; }
.footer-links a { color: rgba(255,255,255,0.5); transition: color .2s; }
.footer-links a:hover { color: white; }

/* ══════════════════════════════════════════════════
   PÁGINAS SEO PROGRAMÁTICAS
══════════════════════════════════════════════════ */
.seo-hero {
  background: linear-gradient(135deg, var(--azul), var(--azul-claro));
  padding: 50px 20px 60px;
}
.seo-hero-inner {
  max-width: var(--max); margin: 0 auto; padding: 0 20px;
  display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px;
}
.seo-hero-copy { flex: 1 1 420px; min-width: 0; }
.seo-hero-media { flex: 0 1 320px; max-width: 100%; }
.seo-hero-img {
  width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover;
  border-radius: 8px; background: rgba(255,255,255,.12);
}
.seo-breadcrumb {
  font-size: 12px; color: rgba(255,255,255,0.6); margin-bottom: 16px;
}
.seo-breadcrumb a { color: rgba(255,255,255,0.7); }
.seo-breadcrumb span { color: rgba(255,255,255,0.4); margin: 0 6px; }
.seo-h1 {
  font-size: clamp(24px, 4vw, 42px); font-weight: 900; color: white;
  line-height: 1.15; margin-bottom: 14px; letter-spacing: 0;
}
.seo-h1 em { color: #fbbf24; font-style: normal; }
.seo-meta-desc { color: rgba(255,255,255,0.8); font-size: 16px; max-width: 600px; margin-bottom: 28px; }
.seo-ctas { display: flex; gap: 12px; flex-wrap: wrap; }

.seo-content { padding: 50px 20px; }
.seo-content-inner { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1fr 340px; gap: 50px; align-items: start; }
.seo-body h2 { font-size: 22px; font-weight: 800; color: var(--azul); margin: 30px 0 14px; }
.seo-body h2:first-child { margin-top: 0; }
.seo-body p { color: var(--text-muted); font-size: 15px; line-height: 1.8; margin-bottom: 14px; }
.seo-body ul { margin: 0 0 16px 20px; list-style: disc; }
.seo-body ul li { color: var(--text-muted); font-size: 15px; line-height: 1.7; margin-bottom: 6px; }
.tm-tono-wrap {
  width: 100%;
  background: var(--brand-surface, #fff);
  border-bottom: 1px solid rgba(15, 23, 42, .06);
}
.tm-tono-inner {
  width: min(1200px, calc(100% - 40px));
  margin: 0 auto;
  padding: 16px 0 4px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.tm-tono-wrap .tm-tono,
.tm-tono-wrap .tm-tono-cierre {
  max-width: 900px;
  margin: 0 0 10px;
  color: var(--text-muted);
  font-size: 15px;
  line-height: 1.75;
}
.tm-tono-wrap .tm-tono-cierre { color: #3c434a; }

/* Sidebar contacto */
.sidebar-contact {
  background: white; border: 2px solid var(--azul); border-radius: var(--radio);
  padding: 28px; box-shadow: var(--sombra); position: sticky; top: 90px;
}
.sidebar-contact h3 { font-size: 18px; font-weight: 800; color: var(--azul); margin-bottom: 20px; }
.sidebar-tel {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--naranja); color: white; padding: 16px;
  border-radius: 8px; font-weight: 900; font-size: 20px; margin-bottom: 14px;
  transition: background .2s;
}
.sidebar-tel:hover { background: var(--naranja-hover); }
.sidebar-whatsapp {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  background: #25d366; color: white; padding: 13px;
  border-radius: 8px; font-weight: 700; font-size: 15px; margin-bottom: 20px;
}
.sidebar-form label { font-size: 12px; font-weight: 600; color: var(--azul); display: block; margin-bottom: 4px; }
.sidebar-form input, .sidebar-form select, .sidebar-form textarea {
  width: 100%; padding: 10px 12px; border: 1px solid var(--gris-borde);
  border-radius: 6px; font-size: 13px; margin-bottom: 10px; font-family: inherit;
}
.sidebar-form input:focus, .sidebar-form select:focus { outline: none; border-color: var(--azul); }
.sidebar-form button {
  width: 100%; padding: 13px; background: var(--azul); color: white;
  border: none; border-radius: 8px; font-weight: 800; font-size: 14px;
  cursor: pointer; transition: background .2s;
}
.sidebar-form button:hover { background: var(--azul-claro); }

/* Badges de confianza */
.trust-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.badge {
  background: var(--gris-claro); border: 1px solid var(--gris-borde);
  padding: 6px 12px; border-radius: 20px; font-size: 12px; font-weight: 600;
  color: var(--azul); display: flex; align-items: center; gap: 4px;
}

/* Interlinking cards */
.interlink-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin-top: 20px;
}
.interlink-card {
  background: var(--gris-claro); border: 1px solid var(--gris-borde);
  padding: 12px 16px; border-radius: 8px; font-size: 13px;
  font-weight: 600; color: var(--azul); transition: all .2s;
}
.interlink-card:hover { background: var(--azul); color: white; border-color: var(--azul); }

/* Responsive hardening: templates, CTAs, media banks and long SEO text */
html, body { max-width: 100%; overflow-x: hidden; }
.seo-body, .seo-content-inner, .sidebar-contact, .tm-ce, .tm-testimonios, .tm-colaboradores { min-width: 0; }
.btn-primary, .btn-secondary, .btn-urgencia, .sidebar-tel, .sidebar-whatsapp, .tm-banner-cta, .tm-foot-cta, .tm-cta-dyn .btn-primary, .tm-cta-dyn .btn-secondary {
  max-width: 100%; justify-content: center; text-align: center;
  white-space: normal; overflow-wrap: anywhere;
}
.marca-chip, .zona-chip, .interlink-card, .badge, .tm-testi-card, .paso-card, .aparato-card {
  min-width: 0; overflow-wrap: anywhere;
}
.aparatos-grid, .zonas-grid, .proceso-grid, .interlink-grid, .tm-testi-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
.tm-zone-map, .tm-zone-map iframe { width: 100%; max-width: 100%; }
.tm-zone-map iframe { display: block; border: 0; height: clamp(220px, 45vw, 360px); }
.aparato-img, .seo-hero-media, .tm-video { max-width: 100%; }

/* ══════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  nav { display: none; }
  .contacto-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .seo-content-inner { grid-template-columns: 1fr; }
  .sidebar-contact { position: static; }
  .trust-bar-inner { gap: 16px; }
}
@media (max-width: 640px) {
  .header-inner { height: auto; min-height: 64px; padding: 8px 16px; }
  .hero, .seo-hero { padding-left: 16px; padding-right: 16px; }
  .seo-hero { padding-top: 36px; padding-bottom: 42px; }
  .seo-hero-inner { padding: 0; gap: 18px; }
  .seo-hero-copy, .seo-hero-media { flex-basis: 100%; width: 100%; }
  .seo-hero-img { max-height: 280px; }
  .hero-ctas, .seo-ctas, .tm-cta-dyn-btns { flex-direction: column; align-items: stretch; }
  .hero-ctas > a, .seo-ctas > a, .tm-cta-dyn-btns > a, .btn-urgencia { width: 100%; }
  .seo-content { padding: 36px 16px; }
  .seo-content-inner { gap: 28px; }
  .sidebar-contact { padding: 20px; }
  .contacto-dato { align-items: flex-start; }
  .footer-links { flex-wrap: wrap; }
}
@media (max-width: 480px) {
  .footer-top { grid-template-columns: 1fr; }
  .hero { padding: 50px 20px 60px; }
  .marcas-grid[style], .zonas-grid[style] { grid-template-columns: 1fr !important; }
  #footer .footer-top { grid-template-columns: 1fr; }
  .tm-wz-nav { flex-direction: column; }
  .tm-wz-prev { flex-basis: auto; }
}

/* ═══ TESTIMONIOS ═══ */
.tm-testimonios{margin:40px 0}
.tm-testimonios h2{font-size:1.5rem;margin-bottom:18px}
.tm-testi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.tm-testi-card{background:#fff;border:1px solid #e6e8ec;border-radius:12px;padding:18px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.tm-testi-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.tm-testi-avatar{border-radius:50%;object-fit:cover;flex:0 0 56px}
.tm-testi-name{display:block;font-weight:700;font-size:.95rem}
.tm-testi-stars{color:#f5a623;font-size:.9rem;letter-spacing:1px}
.tm-testi-text{font-size:.92rem;line-height:1.5;color:#333;margin:0}

/* ═══ RED DE COLABORADORES ═══ */
.tm-colaboradores{margin:40px 0;background:#f7f9fc;border:1px solid #e6e8ec;border-radius:12px;padding:24px}
.tm-colaboradores h2{font-size:1.3rem;margin-bottom:8px}
.tm-colab-intro{font-size:.92rem;color:#555;margin-bottom:14px}
.tm-colab-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.tm-colab-list li{font-size:.9rem;line-height:1.5;padding-left:22px;position:relative}
.tm-colab-list li:before{content:"🔧";position:absolute;left:0;top:0}
.tm-colab-list a{color:#1d4ed8;text-decoration:underline}

/* ═══ CONTENIDO EXTRA ═══ */
.tm-ce{margin:30px 0}
.tm-ce h2{font-size:1.3rem;margin:24px 0 10px}
.tm-ce-proceso{padding-left:20px;display:grid;gap:8px}
.tm-ce-proceso li{line-height:1.55}
.tm-ce-consejos{list-style:none;padding:0;display:grid;gap:8px}
.tm-ce-consejos li{padding-left:26px;position:relative;line-height:1.55}
.tm-ce-consejos li:before{content:"💡";position:absolute;left:0;top:0}
.tm-ce p{line-height:1.6}

/* ═══ WIZARD WHATSAPP ═══ */
.tm-wizard{background:#fff;border:1px solid #e6e8ec;border-radius:12px;padding:16px;margin-top:8px}
.tm-wz-head{margin-bottom:12px}
.tm-wz-head strong{display:block;font-size:1.05rem}
.tm-wz-head span{font-size:.8rem;color:#667}
.tm-wizard label{display:block;font-size:.82rem;font-weight:600;margin:8px 0 4px}
.tm-wizard select,.tm-wizard input,.tm-wizard textarea{width:100%;padding:9px;border:1px solid #cfd4dc;border-radius:8px;font-size:.9rem;margin-bottom:6px}
.tm-wizard button{width:100%;padding:10px;border:0;border-radius:8px;background:#25D366;color:#fff;font-weight:700;cursor:pointer;font-size:.92rem}
.tm-wz-nav{display:flex;gap:8px}
.tm-wz-prev{background:#e9edf2 !important;color:#333 !important;flex:0 0 38%}
.tm-wz-error{color:#c0202a;font-size:.8rem;margin-top:4px}
.tm-wz-ok{text-align:center}
.tm-wz-ok-ico{font-size:2rem}

/* ═══ TM ICON SYSTEM (SVG inline, sustituye emojis) ═══ */
.tm-ico{display:inline-block;vertical-align:-.15em;flex:0 0 auto;stroke:currentColor}
.btn-primary .tm-ico,.btn-secondary .tm-ico,.btn-urgencia .tm-ico,.sidebar-tel .tm-ico,.sidebar-whatsapp .tm-ico,.header-tel .tm-ico{width:1.1em;height:1.1em;margin-right:.45em;vertical-align:-.18em}
.aparato-icon{color:var(--azul,#1d4ed8);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.aparato-icon .tm-ico{width:40px;height:40px;stroke-width:1.4}
.footer-col ul li .tm-ico{width:1em;height:1em;margin-right:.4em;color:var(--azul,#1d4ed8);opacity:.85}
.c-icon .tm-ico{width:20px;height:20px;color:var(--azul,#1d4ed8)}
.trust-item .check .tm-ico,.trust-item .tm-ico{width:1em;height:1em;color:var(--verde,#15803d);vertical-align:-.12em}
.badge .tm-ico{width:1em;height:1em;margin-right:.3em;vertical-align:-.12em}
.tm-wz-ok-ico .tm-ico{width:40px;height:40px;color:var(--verde,#15803d)}

/* ═══════════════════════════════════════════════════════════
   TM LAYOUT VARIANTS — cada dominio = una plantilla distinta
   (forma del menú, cabecera, hero, tarjetas y pie). El contenido
   no cambia; cambia la DISPOSICIÓN.
═══════════════════════════════════════════════════════════ */

/* Footer ordenado y consistente (base para los 6) */
.footer-garantias p{margin:2px 0}
.zonas-subt{font-size:16px;font-weight:700;color:var(--azul,#1d4ed8);margin-bottom:14px}
#footer .footer-top{display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:28px}
#footer .footer-col h4{font-size:14px;text-transform:uppercase;letter-spacing:.04em;opacity:.95;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.12)}
#footer .footer-col ul{list-style:none;margin:0;padding:0}
#footer .footer-col ul li{margin:7px 0;display:flex;align-items:center;line-height:1.3}
#footer .footer-col ul li a{color:rgba(255,255,255,.82);text-decoration:none;font-size:13.5px}
#footer .footer-col ul li a:hover{color:#fff;text-decoration:underline}
@media(max-width:1100px){#footer .footer-top{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:680px){#footer .footer-top{grid-template-columns:1fr 1fr}}

/* ── V1 · Electro Master (Oeste): menú a la derecha, hero a la izquierda, tarjeta con filete superior ── */
body.tm-layout-1 #header nav{margin-left:auto}
body.tm-layout-1 nav a{position:relative}
body.tm-layout-1 nav a:hover{color:var(--azul,#1d4ed8)}
body.tm-layout-1 .aparato-card{border-top:3px solid var(--azul,#1d4ed8)}

/* ── V2 · Servi-Técnicos (Sur): cabecera centrada, hero CENTRADO, tarjetas con sombra, títulos centrados ── */
body.tm-layout-2 .header-inner{flex-wrap:wrap;justify-content:center;gap:10px 24px}
body.tm-layout-2 #header nav{order:3;width:100%;justify-content:center;display:flex;gap:22px;border-top:1px solid #eef0f4;padding-top:8px}
body.tm-layout-2 .hero-inner{text-align:center;margin-left:auto;margin-right:auto}
body.tm-layout-2 .hero-ctas,body.tm-layout-2 .hero-trust{justify-content:center}
body.tm-layout-2 .section-header{text-align:center;margin-left:auto;margin-right:auto}
body.tm-layout-2 .aparato-card{border:none;box-shadow:0 6px 22px rgba(20,30,60,.10);border-radius:14px}
body.tm-layout-2 .marca-chip,body.tm-layout-2 .zona-chip{border-radius:999px}

/* ── V3 · Sat Electro (Henares): logo centrado arriba, nav debajo; hero con barra lateral; tarjeta plana con borde ── */
body.tm-layout-3 .header-inner{flex-direction:column;gap:8px}
body.tm-layout-3 .site-logo{margin:0 auto}
body.tm-layout-3 #header nav{justify-content:center;display:flex;flex-wrap:wrap;gap:18px}
body.tm-layout-3 .header-tel{position:absolute;right:20px;top:14px}
body.tm-layout-3 #header .header-inner{position:relative}
body.tm-layout-3 .hero-inner{border-left:5px solid var(--azul,#1d4ed8);padding-left:22px}
body.tm-layout-3 .aparato-card{border:1px solid #e3e7ee;box-shadow:none;border-radius:6px}
body.tm-layout-3 .marca-chip,body.tm-layout-3 .zona-chip{border-radius:4px}

/* ── V4 · SAT Asistencia (Norte): menú en píldoras, hero centrado grande, tarjeta con filete inferior ── */
body.tm-layout-4 #header nav{margin-left:auto;display:flex;gap:8px}
body.tm-layout-4 nav a{padding:7px 14px;border-radius:999px;background:#f1f4f9}
body.tm-layout-4 nav a:hover{background:var(--azul,#1d4ed8);color:#fff}
body.tm-layout-4 .hero-inner{text-align:center;margin:0 auto}
body.tm-layout-4 .hero h1{font-size:clamp(34px,5vw,56px)}
body.tm-layout-4 .hero-ctas{justify-content:center}
body.tm-layout-4 .aparato-card{border-bottom:3px solid var(--azul,#1d4ed8)}
body.tm-layout-4 .marca-chip,body.tm-layout-4 .zona-chip{border-radius:999px}

/* ── V5 · Electro Reparaciones Madrid (capital): cabecera compacta fija, nav pequeño en mayúsculas, tarjeta minimal ── */
body.tm-layout-5 #header{position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(0,0,0,.06)}
body.tm-layout-5 #header nav{margin-left:auto}
body.tm-layout-5 nav a{font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
body.tm-layout-5 .aparato-card{border:1px solid #e8ebf1;border-radius:10px;box-shadow:none}
body.tm-layout-5 .marca-chip,body.tm-layout-5 .zona-chip{background:transparent;border:1px solid #d7dce5}

/* ── V6 · Reparaciones Altex (hub): barra de cabecera de color, hero centrado, tarjeta con filete izquierdo ── */
body.tm-layout-6 #header{background:var(--azul,#1d4ed8)}
body.tm-layout-6 #header .site-logo,body.tm-layout-6 #header .logo-text,body.tm-layout-6 #header nav a{color:#fff}
body.tm-layout-6 #header nav a:hover{opacity:.8}
body.tm-layout-6 .header-tel{background:#fff;color:var(--azul,#1d4ed8);padding:8px 14px;border-radius:8px}
body.tm-layout-6 #header nav{margin-left:auto;margin-right:16px}
body.tm-layout-6 .hero-inner{text-align:center;margin:0 auto}
body.tm-layout-6 .hero-ctas{justify-content:center}
body.tm-layout-6 .aparato-card{border-left:4px solid var(--azul,#1d4ed8)}

/* Disclaimer legal variable + frase de cierre por sitio */
.seo-cierre{font-style:italic;color:#445;margin:14px 0;padding-left:14px;border-left:3px solid var(--azul,#1d4ed8)}
.seo-legal-disclaimer{font-size:12.5px;line-height:1.55;color:#667;background:#f6f7f9;border:1px solid #e6e9ef;border-radius:8px;padding:12px 14px;margin:18px 0}

/* Wizard: pista y datos opcionales */
.tm-wz-hint{font-size:11.5px;color:#778;margin:6px 0 2px;line-height:1.4}

/* Rejillas limitadas + botón Ver más */
.tm-hidden-extra{display:none !important}
.tm-vermas{display:inline-block;margin:6px 0 18px;padding:9px 18px;border:1px solid var(--azul,#1d4ed8);background:#fff;color:var(--azul,#1d4ed8);border-radius:8px;font-weight:700;font-size:13.5px;cursor:pointer;transition:.15s}
.tm-vermas:hover{background:var(--azul,#1d4ed8);color:#fff}

/* Banners anchos por aparato */
.tm-banner{width:100%;min-height:210px;background-size:cover;background-position:center;display:flex;align-items:center}
.tm-banner-inner{max-width:1200px;margin:0 auto;padding:0 20px;width:100%}
.tm-banner-h{color:#fff;font-size:clamp(20px,3vw,30px);font-weight:800;margin:0 0 12px;text-shadow:0 2px 10px rgba(0,0,0,.45);max-width:680px;line-height:1.2}
.tm-banner-cta{display:inline-flex;align-items:center;gap:8px;background:var(--rojo,#e11d63);color:#fff;padding:11px 22px;border-radius:10px;font-weight:700;text-decoration:none}
.tm-banner-cta:hover{filter:brightness(1.08)}
.tm-banner-cta .tm-ico{width:1.1em;height:1.1em}
@media(max-width:640px){.tm-banner{min-height:150px}}

/* ── Códigos de error (anti thin-content) ── */
.tm-errcodes-wrap{overflow-x:auto;margin:18px 0}
.tm-errcodes{width:100%;border-collapse:collapse;font-size:14.5px}
.tm-errcodes th,.tm-errcodes td{text-align:left;padding:9px 12px;border-bottom:1px solid #e6e8ec;vertical-align:top}
.tm-errcodes thead th{background:#f6f7f9;font-weight:700;color:#1f2937;border-bottom:2px solid #d8dbe0}
.tm-errcodes .tm-errcode{font-weight:700;white-space:nowrap;color:#0b3d91}
.tm-errcodes tbody tr:hover{background:#fafbfc}
.tm-errcodes-nota{font-size:14px;color:#4b5563;margin-top:10px}

/* ── CTA dinámico (CRO) ── */
.tm-cta-dyn{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:26px 0;padding:20px 22px;border-radius:12px;background:linear-gradient(135deg,#0b3d91,#1466c4);color:#fff}
.tm-cta-dyn-h{font-size:19px;font-weight:700;margin:0 0 4px}
.tm-cta-dyn-sub{margin:0;opacity:.92;font-size:14.5px}
.tm-cta-dyn-btns{display:flex;gap:10px;flex-wrap:wrap}
.tm-cta-dyn .btn-primary{background:#fff;color:#0b3d91}
.tm-cta-dyn .btn-secondary{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.5)}

/* ── Slot de vídeo ── */
.tm-video{margin:22px 0;border-radius:12px;overflow:hidden;background:#0f172a;min-height:120px;display:flex;align-items:center;justify-content:center}
.tm-video-fallback{color:#e2e8f0;font-size:15px;padding:28px;text-align:center}

/* ── Wizard: confirmación de contexto (aparato+marca de la página) ── */
.tm-wz-context{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:8px 12px;border-radius:8px;background:#eef4ff;color:#0b3d91;font-weight:600;font-size:14px}
.tm-wz-context svg{flex:0 0 auto;width:16px;height:16px}

/* ══ FOOTER por sitio (6 variantes) ══ */
.tm-footer{padding:48px 0 0}
.tm-footer .footer-inner{padding:0 20px}
.tm-foot-meta{font-size:13px;color:rgba(255,255,255,.55);margin:2px 0}
.tm-foot-cta{display:inline-flex;align-items:center;gap:8px;background:#fbbf24;color:#0f1b2d;font-weight:800;padding:11px 18px;border-radius:10px;white-space:nowrap}
.tm-foot-cta svg{width:18px;height:18px}
.tm-footer .footer-legal{padding:16px 0;margin-top:26px;border-top:1px solid rgba(255,255,255,.15);font-size:12px;color:rgba(255,255,255,.62)}
.tm-footer .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;padding:14px 0 26px;font-size:12.5px;color:rgba(255,255,255,.6)}
.tm-footer .footer-links{display:flex;gap:16px;flex-wrap:wrap}
.tm-footer .footer-links a{color:rgba(255,255,255,.7)}
.tm-footer .footer-links a:hover{color:#fbbf24}

/* Arreglo A — clásico multicolumna (v1, v4) */
.tm-foot-classic{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:28px}
.footer-col-wide{max-width:340px}

/* Arreglo B — banda + 2 columnas (v2, v5) */
.tm-foot-band{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid rgba(255,255,255,.15)}
.tm-foot-band span{font-size:18px;font-weight:800;color:#fff}
.tm-foot-2col{display:grid;grid-template-columns:1.1fr 2fr;gap:36px}
.tm-foot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

/* Arreglo C — hero + 3 columnas (v3, v6) */
.tm-foot-hero{text-align:center;padding:6px 0 30px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:28px}
.tm-foot-claim{font-size:19px;font-weight:700;color:#fff;margin:8px 0 16px}
.tm-foot-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.tm-foot-bottomdesc{max-width:760px;margin:22px auto 0;text-align:center;color:rgba(255,255,255,.6)}

/* Matices por variante (cada dominio se ve distinto) */
.tm-footer-v4 .tm-foot-classic{grid-template-columns:1.2fr 1fr 1fr 1fr 1fr}
.tm-footer-v4 .footer-col{border-left:2px solid rgba(255,255,255,.12);padding-left:16px}
.tm-footer-v4 .footer-col-wide{border-left:0;padding-left:0}
.tm-footer-v5 .tm-foot-band{justify-content:center;text-align:center;flex-direction:column}
.tm-footer-v5 .tm-foot-2col{grid-template-columns:1fr 1.6fr}
.tm-footer-v6 .tm-foot-hero{text-align:left}
.tm-footer-v6 .tm-foot-3col{grid-template-columns:1.4fr 1fr 1fr}
.tm-footer-v2 .footer-logo,.tm-footer-v3 .footer-logo{font-size:24px}

@media(max-width:880px){
  .tm-foot-classic,.tm-foot-2col,.tm-foot-grid,.tm-foot-3col{grid-template-columns:1fr 1fr;gap:22px}
  .tm-foot-band{flex-direction:column;text-align:center}
}
@media(max-width:520px){
  .tm-foot-classic,.tm-foot-2col,.tm-foot-grid,.tm-foot-3col{grid-template-columns:1fr}
}
/* ══ Header responsive + menú móvil (fix visibilidad + hamburguesa) ══ */
body.tm-layout-4 nav a{color:#1f2937}
body.tm-layout-4 nav a:hover{color:#fff}
.tm-menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;color:#fff;line-height:0}
.tm-menu-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px 0;border-radius:2px;transition:.25s}
.tm-menu-toggle.tm-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.tm-menu-toggle.tm-open span:nth-child(2){opacity:0}
.tm-menu-toggle.tm-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.tm-menu-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1100;opacity:0;visibility:hidden;transition:.2s}
.tm-menu-backdrop.tm-open{opacity:1;visibility:visible}
@media(max-width:900px){
  .tm-menu-toggle{display:block}
  #header .header-inner{gap:10px;flex-wrap:nowrap}
  #header nav{position:fixed;top:0;right:-110%;width:80%;max-width:330px;height:100vh;background:#0f1b2d;display:flex;flex-direction:column;gap:0;align-items:stretch;padding:64px 0 24px;transition:right .28s ease;z-index:1200;box-shadow:-10px 0 36px rgba(0,0,0,.35);overflow-y:auto}
  #header nav.tm-open{right:0}
  #header nav a{color:#fff !important;background:none !important;border-radius:0;padding:15px 24px;font-size:16px;border-bottom:1px solid rgba(255,255,255,.08)}
  #header nav a:hover{background:rgba(255,255,255,.08) !important}
  body.tm-layout-2 .header-inner,body.tm-layout-3 .header-inner{flex-direction:row;flex-wrap:nowrap}
  body.tm-layout-2 #header nav,body.tm-layout-3 #header nav{order:0;width:80%;border-top:0;padding-top:64px}
  body.tm-layout-3 .site-logo{margin:0}
  body.tm-layout-3 .header-tel{position:static}
  .header-tel{padding:9px 13px;font-size:14px}
}
@media(max-width:480px){
  .site-logo .logo-text{font-size:15px}
  .header-tel{padding:8px 11px;font-size:13.5px;gap:6px}
  .hero-photo h1{font-size:30px}
}
/* ══ Footers elegantes y ÚNICOS por sitio ══ */
.tm-footer{position:relative}
.tm-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px}
.tm-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.1)}
.tm-footer .footer-col h4{letter-spacing:.02em}
/* v1 electromaster — azul + dorado */
.tm-footer-v1::before{background:linear-gradient(90deg,#fbbf24,transparent)}
.tm-footer-v1 .footer-col h4{text-transform:uppercase;font-size:12.5px;letter-spacing:.08em;color:#fbbf24}
/* v2 servi-tecnicos — verde, acento lateral */
.tm-footer-v2::before{background:linear-gradient(90deg,#34d399,transparent)}
.tm-footer-v2 .footer-col h4{padding-left:12px;border-left:3px solid #34d399}
.tm-footer-v2 .tm-foot-band span{font-style:italic}
/* v3 satelectro — naranja, hero centrado */
.tm-footer-v3::before{background:linear-gradient(90deg,#fb923c,transparent)}
.tm-footer-v3 .footer-logo{font-size:26px}
.tm-footer-v3 .footer-col h4{color:#fdba74}
.tm-footer-v3 .tm-foot-cta{background:#fb923c;color:#3a1a06}
/* v4 sat-asistencia — morado */
.tm-footer-v4::before{background:linear-gradient(90deg,#c4b5fd,transparent)}
.tm-footer-v4 .footer-col h4{color:#c4b5fd;border-bottom:1px solid rgba(196,181,253,.3);padding-bottom:7px}
/* v5 capital — rojo, subrayado de acento */
.tm-footer-v5::before{background:linear-gradient(90deg,#f87171,transparent)}
.tm-footer-v5 .footer-col h4::after{content:"";display:block;width:28px;height:2px;background:#f87171;margin-top:6px}
/* v6 altex — turquesa, minimal brand-forward */
.tm-footer-v6::before{background:linear-gradient(90deg,#2dd4bf,transparent)}
.tm-footer-v6 .tm-foot-hero{text-align:left}
.tm-footer-v6 .footer-logo{font-size:28px}
.tm-footer-v6 .footer-col h4{color:#5eead4;font-weight:800}
.tm-footer-v6 .footer-links a:hover{color:#2dd4bf}
/* ══ Wizard "Pide tu técnico" — rediseño elegante (acento por sitio) ══ */
.tm-wizard{background:#fff;border:1px solid #e8ebf0;border-radius:16px;padding:18px;margin-top:10px;box-shadow:0 6px 22px rgba(15,23,42,.06)}
.tm-wz-head strong{display:block;font-size:1.12rem;font-weight:800;color:#0f1b2d}
.tm-wz-head span{font-size:.82rem;color:#6b7280;line-height:1.4;display:block;margin-top:2px}
.tm-wz-prog{height:6px;background:#eef1f6;border-radius:99px;overflow:hidden;margin:12px 0 4px}
.tm-wz-prog-bar{height:100%;background:var(--azul,#1d4ed8);border-radius:99px;transition:width .3s ease}
.tm-wz-context{display:flex;align-items:center;gap:8px;margin:10px 0 12px;padding:9px 13px;border-radius:10px;background:color-mix(in srgb,var(--azul,#1d4ed8) 10%,#fff);color:var(--azul,#1d4ed8);font-weight:700;font-size:14px}
.tm-wizard label{display:block;font-size:.86rem;font-weight:700;margin:10px 0 6px;color:#1f2937}
.tm-wizard select,.tm-wizard input,.tm-wizard textarea{width:100%;padding:11px 12px;border:1.5px solid #d7dce3;border-radius:10px;font-size:.92rem;margin-bottom:8px;transition:border-color .15s,box-shadow .15s;background:#fff}
.tm-wizard select:focus,.tm-wizard input:focus,.tm-wizard textarea:focus{outline:0;border-color:var(--azul,#1d4ed8);box-shadow:0 0 0 3px color-mix(in srgb,var(--azul,#1d4ed8) 18%,transparent)}
.tm-wizard .tm-wz-next,.tm-wizard .tm-wz-send{width:100%;padding:12px;border:0;border-radius:10px;background:#25D366;color:#fff;font-weight:800;cursor:pointer;font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:filter .15s}
.tm-wizard .tm-wz-next{background:var(--azul,#1d4ed8)}
.tm-wizard .tm-wz-next:hover,.tm-wizard .tm-wz-send:hover{filter:brightness(.94)}
.tm-wz-nav{display:flex;gap:8px}
.tm-wz-prev{flex:0 0 36%;background:#eef1f6 !important;color:#374151 !important;font-weight:700}
.tm-wz-hint{font-size:11.5px;color:#8a93a3;margin:6px 0 2px;line-height:1.45}
.tm-wz-error{color:#dc2626;font-size:.82rem;margin-top:6px;font-weight:600}
.tm-wz-ok{text-align:center;padding:8px 0}
.tm-wz-ok-ico .tm-ico{width:44px;height:44px;color:#16a34a}
/* ════════ DISEÑOS DISTINTOS Y MODERNOS POR SITIO (estructura, no solo color) ════════ */
.aparato-card,.marca-chip,.zona-chip,.paso-card,.btn-primary,.btn-secondary{transition:all .22s ease}

/* ── v1 electromaster · Corporativo limpio: tarjetas elevadas, subrayado dorado ── */
body.tm-layout-1 .section-title{position:relative;padding-bottom:12px}
body.tm-layout-1 .section-title::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:3px;background:#fbbf24;border-radius:2px}
body.tm-layout-1 .aparato-card{border:1px solid #e8edf5;border-radius:14px;box-shadow:0 4px 14px rgba(13,40,90,.05)}
body.tm-layout-1 .aparato-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(13,40,90,.13)}
body.tm-layout-1 .marca-chip{border-radius:8px}
body.tm-layout-1 .btn-primary{border-radius:8px}

/* ── v2 servi-tecnicos · Bold moderno: tipografía grande, todo redondeado ── */
body.tm-layout-2 .hero h1{font-size:50px;line-height:1.05;font-weight:900;letter-spacing:0}
body.tm-layout-2 .section-title{font-size:32px;font-weight:900;letter-spacing:0}
body.tm-layout-2 .aparato-card{border-radius:20px;border:0;box-shadow:0 10px 28px rgba(8,40,28,.09)}
body.tm-layout-2 .aparato-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(8,40,28,.16)}
body.tm-layout-2 .btn-primary,body.tm-layout-2 .btn-secondary{border-radius:999px;padding:14px 28px}
body.tm-layout-2 .marca-chip{border-radius:999px;font-weight:700}
body.tm-layout-2 .paso-card{border-radius:18px}

/* ── v3 satelectro · Geométrico/tech: ángulos, borde-acento, mayúsculas ── */
body.tm-layout-3 .hero{position:relative;overflow:hidden}
body.tm-layout-3 .hero::after{content:"";position:absolute;right:-90px;top:-90px;width:340px;height:340px;background:rgba(255,255,255,.06);transform:rotate(45deg);pointer-events:none}
body.tm-layout-3 .aparato-card{border-radius:4px;border-left:4px solid var(--azul,#c2620f);box-shadow:0 6px 18px rgba(60,40,10,.08)}
body.tm-layout-3 .aparato-card:hover{transform:translateY(-3px)}
body.tm-layout-3 .section-title{text-transform:uppercase;letter-spacing:.05em;font-size:24px}
body.tm-layout-3 .marca-chip,body.tm-layout-3 .btn-primary,body.tm-layout-3 .zona-chip{border-radius:4px}
body.tm-layout-3 .paso-num{border-radius:6px}

/* ── v4 sat-asistencia · Editorial foto: tarjetas con imagen, punto de acento ── */
body.tm-layout-4 .aparato-card{border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(46,16,101,.08);border:0}
body.tm-layout-4 .aparato-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(46,16,101,.16)}
body.tm-layout-4 .section-title::before{content:"";display:inline-block;width:10px;height:10px;background:#a78bfa;border-radius:50%;margin-right:11px;vertical-align:middle}
body.tm-layout-4 .marca-chip{border-radius:10px}

/* ── v5 capital · Editorial/magazine: alineado a izquierda, borde inferior, acento rojo ── */
body.tm-layout-5 .section-header{text-align:left}
body.tm-layout-5 .section-title{border-bottom:2px solid #eee;padding-bottom:12px;display:inline-block}
body.tm-layout-5 .hero-inner{border-left:4px solid rgba(255,255,255,.45);padding-left:22px}
body.tm-layout-5 .aparato-card{border:0;border-bottom:3px solid var(--azul,#b91c1c);border-radius:10px 10px 2px 2px;box-shadow:0 6px 18px rgba(80,20,20,.07)}
body.tm-layout-5 .aparato-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(80,20,20,.14)}
body.tm-layout-5 .marca-chip{border-radius:6px}

/* ── v6 altex · Minimal elegante: aire, líneas finas, hover de borde turquesa ── */
body.tm-layout-6 .section{padding-top:66px;padding-bottom:66px}
body.tm-layout-6 .section-title{font-weight:700}
body.tm-layout-6 .aparato-card{border:1px solid #e3eceb;border-radius:12px;box-shadow:none}
body.tm-layout-6 .aparato-card:hover{border-color:var(--azul,#2dd4bf);transform:translateY(-3px)}
body.tm-layout-6 .marca-chip{background:transparent;border:1px solid #d2e7e5;border-radius:999px}
body.tm-layout-6 .marca-chip:hover{border-color:var(--azul,#2dd4bf)}
body.tm-layout-6 .btn-primary{border-radius:10px}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE MÓVIL — REFINADO (v1.4.4) · los 6 sitios
   Tablet ≤900 · Móvil ≤600 · Móvil pequeño ≤400
════════════════════════════════════════════════════════════ */
html{ -webkit-text-size-adjust:100%; }
body{ overflow-x:hidden; }            /* red de seguridad: nunca scroll lateral */

/* ── Tablet (≤900px) ── */
@media (max-width:900px){
  .section{ padding:54px 18px; }
  .hero{ padding:56px 18px 64px; }
  body.tm-layout-6 .section{ padding-top:50px; padding-bottom:50px; }
  .contacto-grid{ gap:28px; }
  .seo-content-inner{ gap:32px; }
  /* objetivos táctiles cómodos */
  #header nav a, .btn-primary, .btn-secondary,
  .tm-wizard .tm-wz-next, .tm-wizard .tm-wz-send, .btn-form{ min-height:44px; }
}

/* ── Móvil (≤600px) ── */
@media (max-width:600px){
  /* Titulares: límite también para los tamaños FIJOS de layout-2/3/4 */
  .hero h1,
  body.tm-layout-2 .hero h1,
  body.tm-layout-4 .hero h1{ font-size:clamp(25px,8.2vw,33px); line-height:1.14; letter-spacing:0; margin-bottom:14px; }
  .hero-photo h1{ font-size:clamp(24px,8vw,30px) !important; }
  .section-title,
  body.tm-layout-2 .section-title,
  body.tm-layout-3 .section-title{ font-size:clamp(20px,6vw,26px); }
  .hero p.hero-sub{ font-size:16px; margin-bottom:22px; }
  .section-sub{ font-size:15px; margin-bottom:26px; }

  /* Espaciado compacto */
  .section{ padding:42px 16px; }
  .hero{ padding:44px 16px 52px; }
  .section-header{ margin-bottom:26px; }

  /* CTAs a ancho completo */
  .hero-ctas{ gap:10px; width:100%; }
  .hero-ctas .btn-primary,
  .hero-ctas .btn-secondary{ width:100%; justify-content:center; padding:14px 20px; font-size:15px; }

  /* Confianza / badges: comprimir y centrar */
  .hero-trust{ gap:12px 18px; }
  .trust-bar{ padding:12px 16px; }
  .trust-bar-inner{ gap:12px 18px; }

  /* Grids legibles */
  .proceso-grid{ grid-template-columns:1fr; }

  /* Banner SEO */
  .tm-banner-h{ font-size:clamp(19px,6vw,24px); }
  .tm-banner{ min-height:140px; }

  /* Header compacto */
  .header-inner{ height:60px; gap:10px; }
  .site-logo .logo-text{ font-size:16px; }
  .header-tel{ padding:9px 14px; font-size:14px; }

  /* Una columna en tarjetas anchas */
  .tm-testi-grid{ grid-template-columns:1fr; }
  .tm-colaboradores{ padding:18px; }

  /* Forms / wizard al 100% (refuerzo) */
  .tm-wizard{ padding:16px; }
  .tm-wz-nav{ flex-wrap:wrap; }
}

/* ── Móvil pequeño (≤400px) ── */
@media (max-width:400px){
  .hero h1, body.tm-layout-2 .hero h1, body.tm-layout-4 .hero h1{ font-size:23px; }
  .aparato-grid{ grid-template-columns:1fr; }
  .section{ padding:36px 14px; }
  .header-tel{ padding:8px 11px; font-size:13px; }
  .site-logo .logo-text{ font-size:15px; }
}

/* === WhatsApp en tiempo real (sidebar) v1.8.0 === */
.sidebar-wa-intro{display:flex;gap:9px;align-items:flex-start;margin:2px 0 12px;padding:11px 12px;background:#eafff1;border:1px solid #b8f0cd;border-radius:12px;font-size:.83rem;line-height:1.45;color:#15663a}
.sidebar-wa-intro .tm-ico{flex:0 0 auto;width:1.3em;height:1.3em;color:#1ebe57;margin-top:1px}
.sidebar-wa-intro strong{color:#0c8a3e;font-weight:800}
.tm-wizard .tm-wz-send{box-shadow:0 4px 14px rgba(37,211,102,.32)}
.tm-wizard .tm-wz-send:hover{filter:brightness(.95)}

/* === Diseño de formulario DISTINTO por sitio (.tm-layout-N) v1.8.2 === */
/* V1 · ElectroMaster — tarjeta corporativa con barra superior azul */
.tm-layout-1 .tm-wizard{border-top:4px solid var(--azul);border-radius:2px 2px 14px 14px}
.tm-layout-1 .tm-wz-prog-bar{background:var(--azul)}
.tm-layout-1 .tm-wizard .tm-wz-next{background:var(--azul);border-radius:8px}
/* V2 · Servi-Técnicos — cabecera sólida en banda de color */
.tm-layout-2 .tm-wizard{border-radius:14px;overflow:hidden;border-color:#dfe6e0}
.tm-layout-2 .tm-wz-head{background:var(--azul);color:#fff;margin:-18px -18px 14px;padding:14px 16px}
.tm-layout-2 .tm-wz-head strong{color:#fff}
.tm-layout-2 .tm-wz-head span{color:rgba(255,255,255,.9)}
.tm-layout-2 .tm-wz-prog-bar{background:var(--azul)}
.tm-layout-2 .tm-wizard .tm-wz-next{background:var(--azul);border-radius:6px}
/* V3 · SatElectro — plano con filete lateral y botones tipo píldora */
.tm-layout-3 .tm-wizard{box-shadow:none;border:1px solid #ecdfd9;border-left:4px solid var(--azul);border-radius:0 12px 12px 0}
.tm-layout-3 .tm-wizard label{font-size:.92rem}
.tm-layout-3 .tm-wizard select,.tm-layout-3 .tm-wizard input{border-radius:999px;padding-left:16px}
.tm-layout-3 .tm-wizard textarea{border-radius:16px}
.tm-layout-3 .tm-wizard .tm-wz-next,.tm-layout-3 .tm-wizard .tm-wz-send{border-radius:999px}
.tm-layout-3 .tm-wz-prog-bar{background:var(--azul)}
/* V4 · SAT Asistencia — cabecera oscura, esquinas suaves */
.tm-layout-4 .tm-wizard{border-radius:16px;border-color:#d9e9e7}
.tm-layout-4 .tm-wz-head{background:#0f1b2d;color:#fff;margin:-18px -18px 14px;padding:14px 16px;border-radius:16px 16px 0 0}
.tm-layout-4 .tm-wz-head strong{color:#fff}
.tm-layout-4 .tm-wz-head span{color:#cbd5e1}
.tm-layout-4 .tm-wz-prog-bar{background:var(--azul)}
.tm-layout-4 .tm-wizard .tm-wz-next{background:var(--azul);border-radius:12px}
/* V5 · Electro Reparaciones — minimal, campos con línea inferior */
.tm-layout-5 .tm-wizard{box-shadow:0 2px 12px rgba(0,0,0,.06);border:0;border-radius:12px}
.tm-layout-5 .tm-wizard select,.tm-layout-5 .tm-wizard input,.tm-layout-5 .tm-wizard textarea{border:0;border-bottom:2px solid #e3e6eb;border-radius:0;padding-left:2px;background:transparent}
.tm-layout-5 .tm-wizard select:focus,.tm-layout-5 .tm-wizard input:focus,.tm-layout-5 .tm-wizard textarea:focus{box-shadow:none;border-bottom-color:var(--azul)}
.tm-layout-5 .tm-wz-prog-bar{background:var(--azul)}
.tm-layout-5 .tm-wizard .tm-wz-next{background:var(--azul);border-radius:8px}
/* V6 · Reparaciones Altex (hub) — cabecera en degradado + filete morado */
.tm-layout-6 .tm-wizard{border-radius:14px;border-left:4px solid var(--azul)}
.tm-layout-6 .tm-wz-head{background:linear-gradient(135deg,var(--azul),var(--azul-claro));color:#fff;margin:-18px -18px 12px;padding:14px 16px;border-radius:12px 12px 0 0}
.tm-layout-6 .tm-wz-head strong{color:#fff}
.tm-layout-6 .tm-wz-head span{color:rgba(255,255,255,.92)}
.tm-layout-6 .tm-wz-prog-bar{background:var(--azul)}
.tm-layout-6 .tm-wizard .tm-wz-next{background:var(--azul);border-radius:10px}

/* ===================== DESIGN IDENTITY PER SITE v2.0 (anti-clon) ===================== */
/* Variables base por sitio (paleta / radius / sombra / densidad / chips). */
.site-oeste  {--brand-primary:#16335c;--brand-primary-dark:#27568f;--brand-secondary:#fff;--brand-accent:#e0a93a;--brand-cta:#e8721f;--brand-cta-hover:#c95e0f;--brand-surface:#f7f9fc;--brand-text:#152033;--card-radius:18px;--section-density:64px;--brand-radius:var(--card-radius);--brand-shadow:0 16px 44px rgba(15,23,42,.09);--sec-pad:var(--section-density);--chip-radius:14px;--azul:var(--brand-primary);--azul-claro:var(--brand-primary-dark);--naranja:var(--brand-cta);--naranja-hover:var(--brand-cta-hover)}
.site-sur    {--brand-primary:#14653a;--brand-primary-dark:#1f9d57;--brand-secondary:#20272f;--brand-accent:#facc15;--brand-cta:#ea7317;--brand-cta-hover:#c25e0c;--brand-surface:#f4f8f5;--brand-text:#1f2933;--card-radius:6px;--section-density:42px;--brand-radius:var(--card-radius);--brand-shadow:0 2px 0 rgba(15,23,42,.12);--sec-pad:var(--section-density);--chip-radius:6px;--azul:var(--brand-primary);--azul-claro:var(--brand-primary-dark);--naranja:var(--brand-cta);--naranja-hover:var(--brand-cta-hover)}
.site-henares{--brand-primary:#1d4ed8;--brand-primary-dark:#3b6ef5;--brand-secondary:#fff;--brand-accent:#fb923c;--brand-cta:#ea580c;--brand-cta-hover:#c2410c;--brand-surface:#f7faff;--brand-text:#15213b;--card-radius:10px;--section-density:52px;--brand-radius:var(--card-radius);--brand-shadow:0 6px 18px rgba(15,23,42,.08);--sec-pad:var(--section-density);--chip-radius:8px;--azul:var(--brand-primary);--azul-claro:var(--brand-primary-dark);--naranja:var(--brand-cta);--naranja-hover:var(--brand-cta-hover)}
.site-norte  {--brand-primary:#0f766e;--brand-primary-dark:#0d2a4c;--brand-secondary:#fff;--brand-accent:#14b8a6;--brand-cta:#ef6c1a;--brand-cta-hover:#c85a12;--brand-surface:#fbfdff;--brand-text:#102034;--card-radius:14px;--section-density:56px;--brand-radius:var(--card-radius);--brand-shadow:0 12px 32px rgba(13,42,76,.12);--sec-pad:var(--section-density);--chip-radius:999px;--azul:var(--brand-primary);--azul-claro:var(--brand-primary-dark);--naranja:var(--brand-cta);--naranja-hover:var(--brand-cta-hover)}
.site-capital{--brand-primary:#b91c1c;--brand-primary-dark:#111827;--brand-secondary:#fff;--brand-accent:#fbbf24;--brand-cta:#1d4ed8;--brand-cta-hover:#1e40af;--brand-surface:#fffafa;--brand-text:#111827;--card-radius:8px;--section-density:36px;--brand-radius:var(--card-radius);--brand-shadow:0 3px 12px rgba(0,0,0,.12);--sec-pad:var(--section-density);--chip-radius:6px;--azul:var(--brand-primary);--azul-claro:var(--brand-primary-dark);--naranja:var(--brand-cta);--naranja-hover:var(--brand-cta-hover)}
.site-hub    {--brand-primary:#1e3a5f;--brand-primary-dark:#2b517d;--brand-secondary:#fcf4df;--brand-accent:#dcae57;--brand-cta:#0e7490;--brand-cta-hover:#0b5563;--brand-surface:#fcfbf7;--brand-text:#1f2933;--card-radius:6px;--section-density:60px;--brand-radius:var(--card-radius);--brand-shadow:none;--sec-pad:var(--section-density);--chip-radius:4px;--azul:var(--brand-primary);--azul-claro:var(--brand-primary-dark);--naranja:var(--brand-cta);--naranja-hover:var(--brand-cta-hover)}

/* Aplicación común de las variables a cards/chips/secciones */
.site-oeste .aparato-card,.site-oeste .interlink-card,.site-oeste .tm-testi-card,.site-oeste .faq-item,.site-oeste .sidebar-contact,
.site-sur .aparato-card,.site-sur .interlink-card,.site-sur .tm-testi-card,.site-sur .faq-item,.site-sur .sidebar-contact,
.site-henares .aparato-card,.site-henares .interlink-card,.site-henares .tm-testi-card,.site-henares .faq-item,.site-henares .sidebar-contact,
.site-norte .aparato-card,.site-norte .interlink-card,.site-norte .tm-testi-card,.site-norte .faq-item,.site-norte .sidebar-contact,
.site-capital .aparato-card,.site-capital .interlink-card,.site-capital .tm-testi-card,.site-capital .faq-item,.site-capital .sidebar-contact,
.site-hub .aparato-card,.site-hub .interlink-card,.site-hub .tm-testi-card,.site-hub .faq-item,.site-hub .sidebar-contact
{border-radius:var(--brand-radius)!important;box-shadow:var(--brand-shadow)}
.site-oeste .marca-chip,.site-sur .marca-chip,.site-henares .marca-chip,.site-norte .marca-chip,.site-capital .marca-chip,.site-hub .marca-chip{border-radius:var(--chip-radius)!important}
.site-oeste .section,.site-norte .section,.site-hub .section{padding-top:var(--sec-pad);padding-bottom:var(--sec-pad)}
.site-oeste .btn-primary,.site-oeste .btn-secondary,.site-oeste .header-tel,
.site-sur .btn-primary,.site-sur .btn-secondary,.site-sur .header-tel,
.site-henares .btn-primary,.site-henares .btn-secondary,.site-henares .header-tel,
.site-norte .btn-primary,.site-norte .btn-secondary,.site-norte .header-tel,
.site-capital .btn-primary,.site-capital .btn-secondary,.site-capital .header-tel,
.site-hub .btn-primary,.site-hub .btn-secondary,.site-hub .header-tel{border-radius:var(--card-radius)!important}
.site-oeste .btn-primary,.site-oeste .header-tel,
.site-sur .btn-primary,.site-sur .header-tel,
.site-henares .btn-primary,.site-henares .header-tel,
.site-norte .btn-primary,.site-norte .header-tel,
.site-capital .btn-primary,.site-capital .header-tel,
.site-hub .btn-primary,.site-hub .header-tel{background:var(--brand-cta)!important}
.site-oeste .btn-primary:hover,.site-sur .btn-primary:hover,.site-henares .btn-primary:hover,.site-norte .btn-primary:hover,.site-capital .btn-primary:hover,.site-hub .btn-primary:hover{background:var(--brand-cta-hover)!important}
.site-oeste .trust-bar,.site-sur .trust-bar,.site-henares .trust-bar,.site-norte .trust-bar,.site-capital .trust-bar,.site-hub .trust-bar{background:var(--brand-accent)!important}

/* ---- OESTE · ElectroMaster: premium, aireado, sombras suaves, hairline ---- */
.site-oeste .seo-content-inner{max-width:1140px}
.site-oeste .aparato-card,.site-oeste .interlink-card{border:1px solid #eef1f6}
.site-oeste .btn-primary,.site-oeste .btn-secondary{border-radius:14px;letter-spacing:.2px}
.site-oeste .seo-h1,.site-oeste .hero h1{letter-spacing:0}
.site-oeste .tm-testi-card{background:#fff;border:1px solid #eef1f6}

/* ---- SUR · Servi-Técnicos: sólido, plano, acento inferior, compacto ---- */
.site-sur .aparato-card,.site-sur .interlink-card{border:1px solid #d9e2dc;border-bottom:3px solid var(--azul)}
.site-sur .btn-primary{border-radius:6px}
.site-sur .marca-chip{border:1px solid #cdd8d2}
.site-sur .faq-q{font-weight:800}
.site-sur .tm-testi-card{border-left:4px solid var(--azul)}

/* ---- HENARES · SatElectro: técnico-educativo, filete lateral diagnóstico ---- */
.site-henares .aparato-card,.site-henares .interlink-card{border-left:4px solid var(--azul);border-top:1px solid #ece3dc;border-right:1px solid #ece3dc;border-bottom:1px solid #ece3dc}
.site-henares .faq-item{border-left:3px solid var(--naranja)}
.site-henares .tm-testi-card{border-top:3px solid var(--azul)}
.site-henares .seo-body h2{padding-left:12px;border-left:4px solid var(--azul)}

/* ---- NORTE · SAT Asistencia: moderno corporativo, chips píldora, navy ---- */
.site-norte .aparato-card,.site-norte .interlink-card{border:0}
.site-norte .marca-chip{background:#f2f7fb}
.site-norte .btn-primary{border-radius:12px}
.site-norte .seo-body h2{color:#0d2a4c}
.site-norte .tm-testi-card{background:#fbfdff;border:1px solid #e6eef6}

/* ---- CAPITAL · Electro Reparaciones: urbano compacto, denso, CTA persistente ---- */
.site-capital .seo-content-inner{max-width:1040px}
.site-capital .aparato-card{padding:12px}
.site-capital .interlink-grid,.site-capital .marcas-grid{gap:8px!important}
.site-capital .btn-primary{border-radius:6px;font-weight:800}
.site-capital .faq-item{border:1px solid #efe3e3}
.site-capital .tm-testi-card{border-top:3px solid var(--naranja)}

/* ---- HUB · Reparaciones Altex: editorial/enciclopédico, serif, reglas ---- */
.site-hub .seo-content-inner{max-width:980px}
.site-hub .seo-h1,.site-hub .hero h1,.site-hub .seo-body h2,.site-hub .section-title{font-family:Georgia,'Times New Roman',serif!important;letter-spacing:0}
.site-hub .seo-body h2{border-bottom:2px solid #e7e2d6;padding-bottom:6px}
.site-hub .interlink-card,.site-hub .aparato-card{border:1px solid #e7e2d6;background:#fcfbf7}
.site-hub .faq-item{border-bottom:1px solid #e7e2d6;border-radius:0}
.site-hub .tm-testi-card{background:#fcfbf7;border:1px solid #e7e2d6}
.site-hub .seo-body{line-height:1.72}
.site-hub .tm-tono-wrap{background:#fcfbf7;border-top:1px solid #e7e2d6;border-bottom:1px solid #e7e2d6}
.site-hub .tm-tono-inner{max-width:860px}
.site-hub .tm-tono-wrap .tm-tono,
.site-hub .tm-tono-wrap .tm-tono-cierre{font-family:Georgia,'Times New Roman',serif;color:#384454}

/* ===================== HERO VARIANTS PER SITE v2.1 ===================== */
.site-oeste .hero-inner{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:clamp(24px,4vw,54px);align-items:center}
.site-oeste .hero-badge,.site-oeste .hero h1,.site-oeste .hero .hero-sub,.site-oeste .hero-ctas{grid-column:1}
.site-oeste .hero-trust{grid-column:2;grid-row:1 / span 4;align-self:stretch;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:18px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.22);border-radius:var(--card-radius);box-shadow:0 20px 48px rgba(0,0,0,.12);backdrop-filter:blur(8px)}
.site-oeste .trust-item{background:rgba(255,255,255,.12);border-radius:12px;padding:12px;line-height:1.35}
.site-oeste .seo-hero-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:center}
.site-oeste .seo-hero-media{justify-self:end;border:1px solid rgba(255,255,255,.26);border-radius:var(--card-radius);box-shadow:var(--brand-shadow);overflow:hidden}

.site-sur .hero-inner{max-width:980px;text-align:center}
.site-sur .hero-ctas{justify-content:center;margin-bottom:26px}
.site-sur .hero-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 auto;max-width:980px}
.site-sur .trust-item{justify-content:center;background:rgba(255,255,255,.14);border-bottom:3px solid var(--brand-accent);border-radius:var(--card-radius);padding:11px 12px}
.site-sur .seo-hero-inner{display:grid;grid-template-columns:1fr;max-width:940px;text-align:center}
.site-sur .seo-ctas{justify-content:center}
.site-sur .seo-hero-media{margin:8px auto 0;max-width:360px;border-radius:var(--card-radius);overflow:hidden}

.site-henares .hero-inner{max-width:1040px;border-left:6px solid var(--brand-accent);padding-left:28px}
.site-henares .hero-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:720px}
.site-henares .trust-item{border-left:3px solid var(--brand-accent);background:rgba(255,255,255,.1);border-radius:8px;padding:10px 12px}
.site-henares .seo-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:center;border-left:6px solid var(--brand-accent);padding-left:24px}
.site-henares .seo-hero-media{border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.28)}

.site-norte .hero-inner{max-width:1040px;text-align:center}
.site-norte .hero-ctas{justify-content:center;padding:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:var(--card-radius);width:min(100%,620px);margin-left:auto;margin-right:auto}
.site-norte .hero-trust{justify-content:center}
.site-norte .trust-item{background:rgba(255,255,255,.12);border-radius:999px;padding:9px 14px}
.site-norte .seo-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:center}
.site-norte .seo-ctas{padding:12px;background:rgba(255,255,255,.12);border-radius:var(--card-radius);width:max-content;max-width:100%}

.site-capital .hero{padding-top:54px;padding-bottom:58px}
.site-capital .hero-inner{max-width:900px;border-left:5px solid rgba(255,255,255,.48);padding-left:24px}
.site-capital .hero h1{max-width:780px}
.site-capital .hero-trust{display:flex;gap:8px;max-width:920px}
.site-capital .trust-item{font-size:13px;background:rgba(255,255,255,.12);border-radius:6px;padding:8px 10px}
.site-capital .seo-hero{padding-top:44px;padding-bottom:46px}
.site-capital .seo-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:22px}
.site-capital .seo-hero-img{max-height:190px}

.site-hub .hero-inner{max-width:880px;text-align:center}
.site-hub .hero-ctas,.site-hub .hero-trust{justify-content:center}
.site-hub .hero-trust{border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);padding:14px 0;margin-top:4px}
.site-hub .trust-item{font-family:Georgia,'Times New Roman',serif}
.site-hub .seo-hero-inner{display:grid;grid-template-columns:minmax(0,1fr);max-width:860px;text-align:center}
.site-hub .seo-ctas{justify-content:center}
.site-hub .seo-hero-media{margin:8px auto 0;max-width:300px;filter:saturate(.82)}

@media(max-width:760px){
  .site-oeste .hero-inner,.site-oeste .seo-hero-inner,.site-sur .seo-hero-inner,.site-henares .seo-hero-inner,.site-norte .seo-hero-inner,.site-capital .seo-hero-inner,.site-hub .seo-hero-inner{display:flex;flex-direction:column;align-items:stretch;text-align:left}
  .site-oeste .hero-badge,.site-oeste .hero h1,.site-oeste .hero .hero-sub,.site-oeste .hero-ctas,.site-oeste .hero-trust{grid-column:auto;grid-row:auto}
  .site-oeste .hero-trust,.site-sur .hero-trust,.site-henares .hero-trust{grid-template-columns:1fr;width:100%;padding:12px}
  .site-norte .hero-ctas,.site-norte .seo-ctas{width:100%;justify-content:stretch}
  .site-henares .hero-inner,.site-henares .seo-hero-inner,.site-capital .hero-inner{border-left:0;padding-left:0}
  .site-capital .seo-hero-inner{gap:16px}
  .site-capital .seo-hero-media,.site-norte .seo-hero-media,.site-henares .seo-hero-media,.site-oeste .seo-hero-media{width:100%;max-width:100%}
  .site-hub .hero-inner,.site-hub .seo-hero-inner,.site-sur .hero-inner,.site-norte .hero-inner{text-align:left}
  .tm-tono-inner{width:100%;padding:14px 16px 2px}
  .tm-tono-wrap .tm-tono,.tm-tono-wrap .tm-tono-cierre{max-width:none;font-size:14px;line-height:1.68}
}

.tm-wz-consent{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#667;margin:2px 0 4px;line-height:1.4;font-weight:400}
.tm-wz-consent input{width:auto!important;margin:2px 0 0;flex:0 0 auto}
.tm-wz-consent a{color:var(--azul,#1d4ed8);text-decoration:underline}

/* === Wizard FLAT (vista única, 2 columnas) + avatar agente v2.1 === */
.tm-wz-flat .tm-wz-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.tm-wz-flat .tm-wz-field{display:flex;flex-direction:column;gap:3px;margin:0}
.tm-wz-flat .tm-wz-field.tm-wz-col2{grid-column:1 / -1}
.tm-wz-flat .tm-wz-field > label{font-size:.8rem;font-weight:700;color:#1f2937;margin:0}
.tm-wz-flat .tm-wz-field > label em{font-weight:500;color:#9aa3b2;font-style:normal}
.tm-wz-flat .tm-wz-field select,.tm-wz-flat .tm-wz-field input,.tm-wz-flat .tm-wz-field textarea{margin:0;width:100%}
.tm-wz-flat .tm-wz-desc{font-size:11px;color:#9aa3b2;line-height:1.3}
.tm-wz-flat .tm-wz-send{width:100%;margin-top:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.tm-wz-flat .tm-wz-hint{margin-top:8px}
.tm-wz-flat .tm-wz-ok{text-align:center;padding:14px 4px}
.tm-wz-head-agent{display:flex;gap:11px;align-items:center;margin-bottom:12px}
.tm-wz-avatar{flex:0 0 auto;width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px rgba(15,23,42,.18);background:#e5e7eb}
.tm-wz-head-agent .tm-wz-head-tx{min-width:0}
.tm-fab-head .tm-fab-head-ic img{width:38px;height:38px;border-radius:50%;object-fit:cover}
@media(max-width:520px){.tm-wz-flat .tm-wz-grid{grid-template-columns:1fr}}

/* === Avatar agente robusto + responsive v2.2 === */
.tm-wz-head-agent{align-items:flex-start}
.tm-wz-avatar{position:relative;flex:0 0 auto;width:46px;height:46px;border-radius:50%;overflow:hidden;background:var(--azul,#1d4ed8);display:inline-flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(15,23,42,.22)}
.tm-wz-avatar-ini{color:#fff;font-weight:800;font-size:18px;line-height:1}
.tm-wz-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tm-fab-head-ic{position:relative;overflow:hidden;background:rgba(255,255,255,.18)}
.tm-fab-ini{color:#fff;font-weight:800;font-size:16px;line-height:1}
.tm-fab-head-ic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tm-fab-sheet{max-height:92vh}
.tm-wz-flat .tm-wz-grid{gap:9px 12px}
.tm-wz-flat .tm-wz-field select,.tm-wz-flat .tm-wz-field input,.tm-wz-flat .tm-wz-field textarea{box-sizing:border-box;max-width:100%}
@media(max-width:600px){
  .tm-wz-flat .tm-wz-grid{grid-template-columns:1fr!important}
  .tm-fab-head{padding:16px 40px 12px 14px}
  .tm-fab-head strong{font-size:1rem}
  .tm-fab-head span{font-size:.78rem}
}

/* === Wizard STEPPED (2 campos por paso) v2.3 === */
.tm-wz-step-mode .tm-wz-field{display:flex;flex-direction:column;gap:3px;margin:0 0 10px}
.tm-wz-step-mode .tm-wz-field > label{font-size:.82rem;font-weight:700;color:#1f2937;margin:0}
.tm-wz-step-mode .tm-wz-field > label em{font-weight:500;color:#9aa3b2;font-style:normal}
.tm-wz-step-mode .tm-wz-field select,.tm-wz-step-mode .tm-wz-field input,.tm-wz-step-mode .tm-wz-field textarea{margin:0;width:100%;box-sizing:border-box}
.tm-wz-step-mode .tm-wz-desc{font-size:11px;color:#9aa3b2;line-height:1.3}
.tm-wz-step-mode .tm-wz-nav{display:flex;gap:8px;margin-top:6px}
.tm-wz-step-mode .tm-wz-nav button{flex:1}
.tm-wz-step-mode .tm-wz-ok{text-align:center;padding:14px 4px}
.tm-wz-step-mode .tm-wz-consent{margin:6px 0}

/* === WhatsApp form variants per site v2.4 === */
.site-oeste .tm-wizard{background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);border:1px solid #e7edf6;border-top:4px solid var(--brand-primary);box-shadow:0 18px 44px rgba(22,51,92,.11)}
.site-oeste .tm-wz-avatar{background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent))}
.site-oeste .tm-wz-prog{height:7px}

.site-sur .tm-wizard{box-shadow:none;border:2px solid #dce8df;border-left:6px solid var(--brand-primary);border-radius:8px;background:#fbfdfb}
.site-sur .tm-wz-head{border-bottom:1px solid #dce8df;padding-bottom:10px;margin-bottom:12px}
.site-sur .tm-wz-avatar{background:linear-gradient(135deg,var(--brand-primary),#20272f);border-radius:8px}

.site-henares .tm-wizard{border-left:5px solid var(--brand-accent);border-radius:0 14px 14px 0;background:#fffaf6;box-shadow:0 10px 28px rgba(29,78,216,.08)}
.site-henares .tm-wz-avatar{background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));border-radius:14px}
.site-henares .tm-wz-desc{color:#6f5a4c}

.site-norte .tm-wizard{background:#fbfdff;border:1px solid #dceaf2;border-radius:18px;box-shadow:0 16px 38px rgba(13,42,76,.12)}
.site-norte .tm-wz-head{background:#0d2a4c;color:#fff;margin:-18px -18px 14px;padding:16px 18px;border-radius:18px 18px 0 0}
.site-norte .tm-wz-head span,.site-norte .tm-wz-head strong{color:#fff}
.site-norte .tm-wz-avatar{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-dark))}

.site-capital .tm-wizard{padding:14px;border:0;border-radius:8px;background:#fff;box-shadow:0 6px 18px rgba(17,24,39,.12)}
.site-capital .tm-wz-head-agent{margin-bottom:8px}
.site-capital .tm-wz-avatar{background:linear-gradient(135deg,var(--brand-primary),#111827);width:40px;height:40px}
.site-capital .tm-wz-prog{height:4px;margin:8px 0}
.site-capital .tm-wz-step-mode .tm-wz-field{margin-bottom:8px}

.site-hub .tm-wizard{background:#fcfbf7;border:1px solid #e7e2d6;border-left:4px solid var(--brand-accent);border-radius:8px;box-shadow:none}
.site-hub .tm-wz-head strong{font-family:Georgia,'Times New Roman',serif}
.site-hub .tm-wz-avatar{background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));border-radius:50% 50% 50% 8px}

.site-oeste .tm-wz-step-mode,.site-sur .tm-wz-step-mode,.site-henares .tm-wz-step-mode,.site-norte .tm-wz-step-mode,.site-capital .tm-wz-step-mode,.site-hub .tm-wz-step-mode{max-width:100%;overflow:hidden}
.site-oeste .tm-wz-step-mode .tm-wz-field,.site-sur .tm-wz-step-mode .tm-wz-field,.site-henares .tm-wz-step-mode .tm-wz-field,.site-norte .tm-wz-step-mode .tm-wz-field,.site-capital .tm-wz-step-mode .tm-wz-field,.site-hub .tm-wz-step-mode .tm-wz-field{min-width:0}
.site-oeste .tm-wz-step-mode .tm-wz-nav,.site-sur .tm-wz-step-mode .tm-wz-nav,.site-henares .tm-wz-step-mode .tm-wz-nav,.site-norte .tm-wz-step-mode .tm-wz-nav,.site-capital .tm-wz-step-mode .tm-wz-nav,.site-hub .tm-wz-step-mode .tm-wz-nav{align-items:stretch}
@media(max-width:520px){
  .site-oeste .tm-wz-step-mode,.site-sur .tm-wz-step-mode,.site-henares .tm-wz-step-mode,.site-norte .tm-wz-step-mode,.site-capital .tm-wz-step-mode,.site-hub .tm-wz-step-mode{padding:14px}
  .site-oeste .tm-wz-step-mode .tm-wz-nav,.site-sur .tm-wz-step-mode .tm-wz-nav,.site-henares .tm-wz-step-mode .tm-wz-nav,.site-norte .tm-wz-step-mode .tm-wz-nav,.site-capital .tm-wz-step-mode .tm-wz-nav,.site-hub .tm-wz-step-mode .tm-wz-nav{flex-direction:column}
  .site-oeste .tm-wz-step-mode .tm-wz-prev,.site-sur .tm-wz-step-mode .tm-wz-prev,.site-henares .tm-wz-step-mode .tm-wz-prev,.site-norte .tm-wz-step-mode .tm-wz-prev,.site-capital .tm-wz-step-mode .tm-wz-prev,.site-hub .tm-wz-step-mode .tm-wz-prev{flex-basis:auto}
}
