/*
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.5px;
}
.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: -1px;
}
.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.5px;
}
.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.5px;
  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-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.5px;
}
.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; }

/* 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
══════════════════════════════════════════════════ */
@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: 480px) {
  .footer-top { grid-template-columns: 1fr; }
  .hero { padding: 50px 20px 60px; }
}

/* ═══ 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:-1px}
body.tm-layout-2 .section-title{font-size:32px;font-weight:900;letter-spacing:-.5px}
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:-.3px; 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; }
}
