/*
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}}
