:root{
  --amber-400:#fbbf24; --amber-500:#f59e0b;
  --slate-900:#0f172a; --slate-800:#1e293b; --slate-100:#f1f5f9;
  --emerald-600:#059669; --rose-600:#dc2626; --call-600:#e11d48;
  --text-main:#334155; --max-width:1140px;
}
*{box-sizing:border-box;margin:0;padding:0;font-family:system-ui,-apple-system,sans-serif;scroll-behavior:smooth;}
html{overflow-x:hidden;-webkit-text-size-adjust:100%;}
body{background:#fff;color:var(--text-main);line-height:1.6;font-size:16px;padding-bottom:70px;overflow-x:hidden;}
.container{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem;}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;}
.grid-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0.85rem;}

header{background:var(--slate-900);position:sticky;top:0;z-index:1000;border-bottom:2px solid var(--amber-500);}
.header-wrap{display:flex;justify-content:space-between;align-items:center;padding:0.85rem 0;gap:0.5rem;}
.brand{color:#fff;font-size:1.35rem;font-weight:800;text-decoration:none;display:flex;align-items:center;gap:0.35rem;min-width:0;}
.brand span{color:var(--amber-400);}
.header-cta{display:flex;gap:0.75rem;align-items:center;flex-shrink:0;}

.btn{padding:0.65rem 1.25rem;border-radius:6px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;font-size:0.95rem;border:none;cursor:pointer;}
.btn-phone{background:var(--call-600);color:#fff;}
.btn-whatsapp{background:var(--emerald-600);color:#fff;}

.hero{background:linear-gradient(180deg,var(--slate-900) 0%,var(--slate-800) 100%);color:#fff;padding:3.5rem 0;text-align:center;}
.hero h1{font-size:2.5rem;font-weight:900;line-height:1.15;margin-bottom:1rem;}
.hero p{max-width:680px;margin:0 auto 2rem auto;color:#cbd5e1;font-size:1.15rem;}
.badges-row{display:flex;justify-content:center;gap:0.75rem;margin-bottom:1.5rem;flex-wrap:wrap;}
.badge{background:rgba(255,255,255,0.08);padding:0.4rem 0.85rem;border-radius:50px;font-size:0.85rem;border:1px solid rgba(255,255,255,0.15);font-weight:600;}

section{padding:3.5rem 0;}
.bg-slate{background:var(--slate-100);}
h2{font-size:1.85rem;color:var(--slate-900);font-weight:800;margin-bottom:0.75rem;}
.section-desc{margin-bottom:2rem;font-size:1.05rem;max-width:800px;}

.problem-box{background:#fff;border-radius:8px;border:1px solid #e2e8f0;border-top:4px solid var(--rose-600);padding:1.5rem;}
.problem-box h3{font-size:1.2rem;color:var(--slate-900);margin-bottom:0.5rem;}

.ai-answer-card{background:#f0fdf4;border:1px dashed var(--emerald-600);border-radius:6px;padding:1.25rem;margin:0.75rem 0;}
.ai-answer-card strong{color:var(--emerald-600);display:block;margin-bottom:0.35rem;font-size:1.1rem;}

.link-card{background:#fff;padding:0.85rem;border-radius:6px;border:1px solid #e2e8f0;text-decoration:none;color:var(--slate-900);font-weight:600;font-size:0.95rem;display:flex;justify-content:space-between;align-items:center;}
.link-card:hover{border-color:var(--amber-500);background:#fffbeb;}
.link-card::after{content:"→";color:var(--amber-500);}

.faq-block{border-bottom:1px solid #e2e8f0;padding:1rem 0;}
.faq-block summary{font-size:1.1rem;font-weight:700;color:var(--slate-900);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-block summary::-webkit-details-marker{display:none;}
.faq-block summary::after{content:"+";font-size:1.5rem;color:var(--amber-500);}
.faq-block[open] summary::after{content:"−";}
.faq-content{padding-top:0.75rem;}

footer{background:var(--slate-900);color:#94a3b8;padding:3rem 0;font-size:0.9rem;}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;}
.footer-grid h4{color:#fff;margin-bottom:1rem;font-size:1.1rem;}
.footer-bottom{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--slate-800);}

.mobile-bars{position:fixed;bottom:0;left:0;right:0;display:flex;z-index:1000;box-shadow:0 -4px 10px rgba(0,0,0,0.1);}
.mobile-bars a{flex:1;text-align:center;padding:1rem;font-weight:700;text-decoration:none;color:#fff;display:flex;align-items:center;justify-content:center;gap:0.5rem;font-size:1.1rem;}
.m-tel{background:var(--call-600);border-top:2px solid var(--amber-500);color:#fff;}
.m-wapi{background:var(--emerald-600);}

/* Páginas de texto (aviso legal, privacidad, 404) */
.prose{max-width:800px;}
.prose h2{margin-top:2rem;}
.prose h3{font-size:1.15rem;color:var(--slate-900);margin:1.5rem 0 0.5rem;}
.prose p{margin-bottom:1rem;}
.prose ul{margin:0 0 1rem 1.25rem;}
.prose li{margin-bottom:0.4rem;}
.error-page{text-align:center;padding:5rem 0;}
.error-page h1{font-size:5rem;color:var(--amber-500);margin-bottom:0.5rem;}

/* Selector de idioma */
.lang-switcher{display:flex;gap:0.35rem;align-items:center;font-size:0.8rem;margin-left:0.5rem;}
.lang-switcher a,.lang-switcher span{padding:0.15rem 0.4rem;border-radius:4px;text-decoration:none;color:#cbd5e1;}
.lang-switcher a:hover{color:#fff;background:rgba(255,255,255,0.12);}
.lang-switcher .lang-current{color:var(--slate-900);font-weight:700;background:var(--amber-400);}

/* Tabla de precios */
.price-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;margin:1.5rem 0;}
.price-table th{background:var(--slate-900);color:#fff;text-align:left;padding:0.85rem 1rem;font-size:0.95rem;}
.price-table td{padding:0.85rem 1rem;border-top:1px solid #e2e8f0;font-size:0.95rem;}
.price-table tr:nth-child(even) td{background:#f8fafc;}
.price-table td:last-child{font-weight:700;color:var(--slate-900);white-space:nowrap;}
.price-disclaimer{background:#fffbeb;border:1px dashed var(--amber-500);border-radius:6px;padding:1rem 1.25rem;font-size:0.95rem;margin-bottom:1.5rem;}

/* Tabla de decision AEO (sintomas) */
.decision-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;margin:1.5rem 0;font-size:0.92rem;}
.decision-table th{background:var(--rose-600);color:#fff;text-align:left;padding:0.75rem 0.85rem;}
.decision-table td{padding:0.75rem 0.85rem;border-top:1px solid #e2e8f0;vertical-align:top;}
.decision-table tr:nth-child(even) td{background:#f8fafc;}
.decision-table td:last-child{font-weight:600;color:var(--emerald-600);}

/* Sellos de confianza */
.trust-badge{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem;text-align:center;}
.trust-badge .trust-icon{font-size:1.8rem;display:block;margin-bottom:0.5rem;}
.trust-badge .trust-label{font-size:0.85rem;color:var(--text-main);display:block;margin-bottom:0.25rem;}
.trust-badge .trust-value{font-weight:700;color:var(--slate-900);}
.reviews-box{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;text-align:center;margin-top:1.5rem;}

/* Formulario de contacto */
.contact-form{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;max-width:600px;}
.contact-form label{display:block;font-weight:600;font-size:0.9rem;margin-bottom:1rem;color:var(--slate-900);}
.contact-form input,.contact-form textarea{width:100%;margin-top:0.35rem;padding:0.65rem 0.75rem;border:1px solid #cbd5e1;border-radius:6px;font-size:1rem;font-family:inherit;}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.contact-form button{width:100%;font-size:1rem;padding:0.85rem;justify-content:center;}
@media(max-width:600px){.contact-form .form-row{grid-template-columns:1fr;}}

/* ============================================================
   MÓVIL (hasta 767px) — la mayoría del tráfico entra por aquí
   ============================================================ */
@media(max-width:767px){
  /* Cabecera: la marca larga + botón teléfono + WhatsApp + idiomas
     no caben en una fila de 360-390px. Los botones de llamada/WhatsApp
     de la cabecera se ocultan porque ya están fijos abajo (.mobile-bars). */
  .header-wrap{padding:0.6rem 0;}
  .brand{font-size:1rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56vw;}
  header .header-cta a.btn{display:none;}
  header .header-cta{gap:0.4rem;}
  .lang-switcher{font-size:0.72rem;gap:0.15rem;margin-left:0;}
  .lang-switcher a,.lang-switcher span{padding:0.15rem 0.35rem;}

  /* Tarjetas y enlaces: una sola columna, sin riesgo de desbordar */
  .grid-3{grid-template-columns:1fr;gap:1rem;}
  .grid-links{grid-template-columns:1fr;gap:0.65rem;}
  .footer-grid{grid-template-columns:1fr;gap:1.5rem;}

  /* Tipografía y espaciados más compactos para pantalla pequeña */
  .hero{padding:2.25rem 0;}
  .hero h1{font-size:1.85rem;}
  .hero p{font-size:1rem;}
  section{padding:2.25rem 0;}
  h2{font-size:1.4rem;}
  .badges-row{gap:0.5rem;}
  .badge{font-size:0.78rem;padding:0.35rem 0.7rem;}

  /* Botones grandes de la hero (llamar/WhatsApp): apilados y a ancho
     completo para que el dedo no falle */
  .hero .header-cta{flex-direction:column;align-items:stretch;}
  .hero .header-cta .btn{width:100%;justify-content:center;}

  /* Tablas de precios/síntomas: en una tabla de 2-3 columnas con texto
     largo, forzar scroll horizontal esconde la columna más importante
     (el precio, o qué hacer ante una emergencia). En su lugar, cada
     fila se convierte en una tarjeta con etiqueta + valor, todo visible
     sin deslizar. */
  .table-scroll{margin:1.5rem 0;}
  .price-table,.decision-table{width:100%;border:none;box-shadow:none;}
  .price-table thead,.decision-table thead{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
  }
  .price-table tbody,.decision-table tbody{display:block;}
  .price-table tr,.decision-table tr{
    display:block;background:#fff!important;border:1px solid #e2e8f0;
    border-radius:8px;margin-bottom:0.75rem;overflow:hidden;
  }
  .price-table td,.decision-table td{
    display:flex;gap:0.75rem;align-items:flex-start;
    padding:0.6rem 0.85rem;border-top:1px solid #f1f5f9;
  }
  .price-table td:first-child,.decision-table td:first-child{border-top:none;}
  .price-table td::before,.decision-table td::before{
    content:attr(data-label);flex:0 0 38%;font-weight:700;
    color:var(--slate-900);font-size:0.82rem;
  }
  .decision-table td::before{color:var(--rose-600);}
  .price-table td:last-child{white-space:normal;}

  /* Cards de confianza más juntas */
  .trust-badge{padding:1rem;}
}

@media(min-width:768px){
  body{padding-bottom:0;}
  .hero h1{font-size:3.5rem;}
  .mobile-bars{display:none;}
}
