/* ============================================================
   MK EMPRESARIAL — diseño del wireframe aprobado.
   El escritorio usa los estilos del propio wireframe (en línea en
   el HTML). Esta hoja aporta lo que el wireframe no define:
   cabecera funcional, submenú, formulario, aviso de privacidad,
   WhatsApp y la versión para celular (pantallas «Mobile»).
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body.x8{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:#fff;color:#111827;-webkit-font-smoothing:antialiased}
.x8 img{max-width:100%}
.x8 a:hover{opacity:.85}
.x8 :focus-visible{outline:3px solid #6b7280;outline-offset:2px}
.x8 .skip{position:absolute;left:-9999px;top:8px;background:#111827;color:#fff;padding:10px 14px;border-radius:6px;z-index:100}
.x8 .skip:focus{left:12px}
.x8 .chip{display:inline-block;padding:4px 10px;border:1px solid #d1d5db;border-radius:20px;font-size:12px;color:#6b7280}
.x8 .wf-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9ca3af;font-weight:600}

/* ---------- cabecera (nav del wireframe) ---------- */
.w-hdr{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e5e7eb}
.w-hdr__in{height:64px;display:flex;align-items:center;padding:0 48px;gap:32px}
.w-brand{font-size:18px;font-weight:700;color:#111827;text-decoration:none;margin-right:auto}
.w-nav{display:flex;align-items:center;gap:32px}
.w-nav__list{display:flex;align-items:center;gap:32px;margin:0;padding:0;list-style:none}
.w-nav__list>li>a,.w-drop__btn{font:inherit;font-size:14px;color:#374151;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;display:flex;align-items:center;gap:4px}
.w-nav__list a[aria-current="page"]{color:#111827;font-weight:600}
.w-cta{background:#111827;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.w-drop{position:relative}
.w-drop__menu{position:absolute;top:calc(100% + 20px);left:-16px;min-width:290px;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 30px rgba(17,24,39,.08);
  opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}
.w-drop:hover .w-drop__menu,.w-drop:focus-within .w-drop__menu,.w-drop.is-open .w-drop__menu{opacity:1;visibility:visible}
.w-drop__menu a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:6px;font-size:14px;color:#374151;text-decoration:none}
.w-drop__menu a:hover,.w-drop__menu a[aria-current="page"]{background:#f9fafb;color:#111827}
.w-burger{display:none}

/* ---------- formulario ---------- */
.x8 #form-contacto input:focus,.x8 #form-contacto select:focus,.x8 #form-contacto textarea:focus{border-color:#111827!important;box-shadow:0 0 0 3px rgba(17,24,39,.08)}
.x8 #form-contacto [aria-invalid="true"]{border-color:#ef4444!important}
.x8 .err{display:block;font-size:12px;color:#b91c1c;margin-top:4px}
.x8 .err:empty{display:none}
.x8 #c-submit{font-family:inherit}
.x8 #c-submit:disabled{opacity:.6;cursor:wait}
.x8 .form__ok{background:#f0fdf4;border:1px solid #86efac;color:#166534;border-radius:8px;padding:16px;font-size:14px;line-height:1.5}
.x8 .form__ok+.btn{display:inline-block;margin-top:12px;background:#111827;color:#fff;padding:12px 20px;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none}

/* ---------- aviso de privacidad (consent.js) ---------- */
.x8 .consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:900px;margin:auto;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 40px rgba(17,24,39,.15)}
.x8 .consent__in{padding:14px 18px;display:flex;gap:16px;align-items:center;justify-content:space-between}
.x8 .consent p{margin:0;font-size:13px;line-height:1.5;color:#374151}
.x8 .consent a{color:#111827}
.x8 .consent__actions{display:flex;gap:8px;flex:0 0 auto}
.x8 .consent .btn{font:inherit;font-size:13px;font-weight:600;border-radius:6px;padding:9px 14px;cursor:pointer;background:#111827;color:#fff;border:2px solid #111827}
.x8 .consent .btn--ghost{background:#fff;color:#111827;border-color:#d1d5db}

/* ---------- WhatsApp flotante (mk.js) ---------- */
.x8 .fab{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:8px;background:#16a34a;color:#fff;text-decoration:none;font-weight:600;font-size:14px;border-radius:999px;padding:12px 18px 12px 14px;box-shadow:0 8px 24px rgba(17,24,39,.2);transition:opacity .2s}
.x8 .fab svg{width:22px;height:22px}
.x8 .fab.is-off{opacity:0;pointer-events:none}
.x8 .sticky{display:none}

/* ============================================================
   Tableta
   ============================================================ */
@media (max-width:1000px){
  .w-hdr__in{padding:0 20px}
  .w-burger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:0;cursor:pointer;padding:4px;font-size:20px;color:#374151;line-height:1}
  .w-burger::before{content:"☰"}
  .w-burger[aria-expanded="true"]::before{content:"✕"}
  .w-nav{position:fixed;inset:64px 0 0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 28px;overflow:auto;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
  .w-nav.is-open{opacity:1;visibility:visible}
  body.nav-abierto{overflow:hidden}
  .w-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .w-nav__list>li{border-bottom:1px solid #e5e7eb}
  .w-nav__list>li>a,.w-drop__btn{width:100%;padding:16px 0;font-size:16px;justify-content:space-between}
  .w-drop__menu{position:static;opacity:1;visibility:visible;border:0;box-shadow:none;padding:0 0 8px;display:none;min-width:0}
  .w-drop.is-open .w-drop__menu{display:block}
  .w-cta{margin-top:20px;padding:14px;text-align:center;font-size:15px}

  /* Versión de escritorio en tableta: márgenes menores */
  .x8 .w-desk section,.x8 .w-desk>div,.x8 .w-desk footer{padding-left:24px!important;padding-right:24px!important}
  .x8 .w-desk [style*="gap:64px"]{gap:36px!important}
  .x8 .w-desk [style*="repeat(4, minmax(0,1fr))"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:36px!important}
}

/* ============================================================
   Celular: se muestra la versión «Mobile» del wireframe
   ============================================================ */
.w-mob{display:none}
@media (max-width:720px){
  .w-desk{display:none}
  .w-mob{display:block}
  .w-hdr__in{height:56px;padding:0 16px}
  .w-brand{font-size:16px}
  .w-nav{inset:56px 0 0}
  /* Barra fija «Solicitar diagnóstico» del wireframe, a todo el ancho del teléfono */
  .w-mob [style*="position:fixed; bottom:0"]{left:0!important;right:0!important;transform:none!important;width:auto!important}
  .w-mob [style*="position:fixed; bottom:0"] a{display:block}
  /* El wireframe móvil no lleva el botón flotante de WhatsApp: la barra fija ocupa ese lugar */
  .x8 .fab{display:none}
  .x8 .consent{bottom:76px}
  .x8 .consent__in{flex-direction:column;align-items:stretch}
  .x8 .consent__actions{display:grid;grid-template-columns:1fr 1fr}
  .x8 .w-mob .w-legal{padding:0 16px}
}

/* ============================================================
   Páginas sin pantalla «Mobile» en el wireframe (Nosotros, Recursos,
   artículos, Contacto y Gracias): en celular, filas y rejillas se apilan.
   ============================================================ */
.x8 [hidden]{display:none!important}
.x8 .w-auto img{max-width:100%}
@media (max-width:1000px){
  .x8 .w-auto section,.x8 .w-auto>div,.x8 .w-auto footer,.x8 .w-auto .w-articulo{padding-left:24px!important;padding-right:24px!important}
  .x8 .w-auto [style*="gap:64px"]{gap:36px!important}
  .x8 .w-auto [style*="repeat(3,1fr)"],.x8 .w-auto [style*="repeat(3, minmax(0,1fr))"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .x8 .w-auto .w-articulo{flex-direction:column!important}
  .x8 .w-auto .w-articulo aside{width:100%!important;position:static!important}
}
@media (max-width:720px){
  .x8 .w-auto section{padding-top:44px!important;padding-bottom:44px!important}
  .x8 .w-auto section,.x8 .w-auto>div,.x8 .w-auto footer,.x8 .w-auto .w-articulo{padding-left:20px!important;padding-right:20px!important}
  .x8 .w-auto h1{font-size:28px!important;line-height:1.2!important}
  .x8 .w-auto h2{font-size:22px!important}
  .x8 .w-auto [style*="display:flex; gap:64px"],.x8 .w-auto [style*="display:flex; gap:40px"]{flex-direction:column!important;align-items:stretch!important;gap:28px!important}
  .x8 .w-auto [style*="display:flex; gap:64px"]>*{max-width:none!important;flex:1 1 auto!important;width:100%}
  .x8 .w-auto .w-foto{height:220px!important;max-width:none!important;width:100%}
  .x8 .w-auto [style*="repeat(3,1fr)"],.x8 .w-auto [style*="repeat(3, minmax(0,1fr))"],.x8 .w-auto [style*="grid-template-columns:1fr 1fr"],.x8 .w-auto .w-equipo{grid-template-columns:1fr!important}
  .x8 .w-auto [style*="display:flex; gap:0"]{flex-direction:column!important;gap:22px!important}
  .x8 .w-auto [style*="justify-content:center"]>a{flex:1 1 100%}
  .x8 .w-auto [style*="display:flex; gap:12px; justify-content:center"]{flex-direction:column}
  .x8 .w-auto .w-destacado [style*="padding:40px"]{padding:20px!important}
  .x8 .w-auto .w-destacado__img{width:100%!important;height:200px!important}
  .x8 .w-auto .w-buscar{flex-direction:column}
  .x8 .w-auto [style*="justify-content:space-between; align-items:center; margin-bottom:24px"]{flex-direction:column;align-items:flex-start!important;gap:10px}
  .x8 .w-auto [style*="max-width:440px; margin:0 auto"] [style*="display:flex; gap:10px"]{flex-direction:column}
  .x8 .w-auto .w-articulo [style*="height:340px"]{height:200px!important}
  .x8 .w-auto .w-articulo [style*="margin-left:auto; display:flex"]{margin-left:0!important;width:100%}
  .x8 .w-auto .w-articulo [style*="display:flex; align-items:center; gap:14px"]{flex-wrap:wrap}
  .x8 .w-auto #form-contacto{padding:22px 18px!important}
  .x8 .w-auto footer [style*="grid-template-columns"]{grid-template-columns:1fr 1fr!important;gap:28px!important}
  .x8 .w-auto footer [style*="grid-template-columns"]>div:first-child{grid-column:1/-1}
}
