/*
Theme Name: Aireado
Theme URI: https://aireado.com
Description: Tema propio de Aireado — nicho de aire acondicionado. Rápido, sin dependencias, sistema de diseño azul. El contenido de cada pieza trae su CSS inline; este tema aporta la cabecera, el footer, la home y los hubs.
Author: Aireado
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU GPL v2 or later
Text Domain: aireado
*/

:root{
  --accent:#1366d6; --accent-d:#0f4ea0; --accent-2:#0ea5b7; --accent-soft:#e9f1fc; --accent-bd:rgba(19,102,214,.28);
  --text:#1e2433; --muted:#64748b; --soft:#f8fafc; --border:#e6e9ef; --green:#1f9d63;
}
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; font-family:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color:var(--text); background:#fff; line-height:1.6; }
img{ max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
.arx-wrap{ max-width:1080px; margin:0 auto; padding:0 20px; }
.skip-link{ position:absolute; left:-9999px; }
.skip-link:focus{ left:8px; top:8px; background:#fff; padding:8px 14px; border-radius:8px; z-index:50; box-shadow:0 4px 14px rgba(0,0,0,.15); }

/* ===== HEADER ===== */
.arx-header{ position:sticky; top:0; z-index:30; background:#fff; border-bottom:1px solid var(--border); }
.arx-header .nav{ display:flex; align-items:center; gap:22px; height:64px; max-width:1080px; margin:0 auto; padding:0 20px; }
.arx-header .logo{ display:flex; align-items:center; gap:9px; font-weight:950; font-size:19px; letter-spacing:-.02em; color:var(--text); }
.arx-header .logo .mk{ width:30px; height:30px; border-radius:9px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.arx-header .links{ display:flex; gap:20px; margin-left:8px; font-weight:650; font-size:15px; color:#46505f; }
.arx-header .links a:hover, .arx-header .links a.act{ color:var(--accent); }
.arx-header .right{ margin-left:auto; }
.arx-header .right a{ color:var(--accent); font-weight:800; font-size:15px; }
@media (max-width:820px){ .arx-header .links{ display:none; } }

/* ===== FOOTER ===== */
.arx-footer{ background:#0f1830; color:#9fb0c9; padding:40px 0 26px; margin-top:30px; }
.arx-footer .cols{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:24px; max-width:1080px; margin:0 auto; padding:0 20px; }
@media (max-width:780px){ .arx-footer .cols{ grid-template-columns:1fr 1fr; } }
.arx-footer h4{ color:#fff; font-size:14px; margin:0 0 12px; font-weight:850; }
.arx-footer a{ display:block; color:#9fb0c9; font-size:14px; padding:4px 0; }
.arx-footer a:hover{ color:#fff; }
.arx-footer .flogo{ color:#fff; font-weight:950; font-size:19px; margin-bottom:10px; }
.arx-footer .desc{ color:#9fb0c9; font-size:14px; max-width:34ch; margin:0; }
.arx-footer .legal{ border-top:1px solid rgba(255,255,255,.12); margin-top:26px; padding-top:18px; font-size:12.5px; color:#7e8aa0; max-width:1080px; margin-left:auto; margin-right:auto; padding-left:20px; padding-right:20px; display:flex; flex-wrap:wrap; gap:6px 18px; }
.arx-footer .legal a{ display:inline; color:#7e8aa0; padding:0; }
.arx-footer .legal a:hover{ color:#fff; }

/* ===== CONTENT WRAP (el contenido trae su propio centrado .preview-frame/.wrap) ===== */
.arx-content{ min-height:50vh; }

/* ===== ARCHIVE / HUB genérico ===== */
.arx-archive{ max-width:1080px; margin:0 auto; padding:38px 20px; }
.arx-archive .ahead{ border-bottom:1px solid var(--border); padding-bottom:18px; margin-bottom:24px; }
.arx-archive h1{ font-size:34px; font-weight:980; letter-spacing:-.02em; margin:0 0 8px; }
.arx-archive .ahead p{ color:#475569; font-size:17px; margin:0; max-width:60ch; }
.arx-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media (max-width:860px){ .arx-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .arx-grid{ grid-template-columns:1fr; } }
.arx-card{ border:1px solid var(--border); border-radius:16px; background:#fff; padding:18px; transition:transform .12s, box-shadow .12s, border-color .12s; display:block; }
.arx-card:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(15,23,42,.07); border-color:var(--accent-bd); }
.arx-card h3{ margin:0 0 5px; font-size:17px; font-weight:850; color:var(--text); }
.arx-card p{ margin:0; font-size:14px; color:var(--muted); }
.arx-band{ position:relative; overflow:hidden; border-radius:20px; padding:30px; margin:34px 0 0; background:linear-gradient(135deg,var(--accent-d),var(--accent) 55%,var(--accent-2)); color:#fff; }
.arx-band h2{ margin:0 0 8px; font-size:24px; font-weight:950; color:#fff; }
.arx-band p{ margin:0 0 16px; color:rgba(255,255,255,.92); font-size:16px; max-width:52ch; }
.arx-band a{ display:inline-flex; align-items:center; gap:9px; background:#fff; color:var(--accent-d); font-weight:900; padding:13px 22px; border-radius:12px; }

/* ===== HOME (#arx-home) — scoped para no filtrar ===== */
#arx-home h2.sec{ font-size:26px; font-weight:950; letter-spacing:-.02em; margin:0 0 6px; }
#arx-home .sec-sub{ color:var(--muted); font-size:16px; margin:0 0 22px; }
#arx-home .hero{ position:relative; overflow:hidden; background:radial-gradient(1200px 400px at 70% -120px, #e9f1fc, #fff 60%); padding:58px 0 44px; border-bottom:1px solid var(--border); }
#arx-home .hero h1{ font-size:44px; line-height:1.08; font-weight:980; letter-spacing:-.03em; margin:0 0 14px; max-width:16ch; }
#arx-home .hero h1 .g{ background:linear-gradient(90deg,var(--accent),var(--accent-2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
#arx-home .hero p.l{ font-size:19px; color:#475569; margin:0 0 26px; max-width:52ch; }
#arx-home .searchbox{ display:flex; gap:10px; max-width:560px; }
#arx-home .searchbox input{ flex:1; border:1px solid var(--accent-bd); border-radius:14px; padding:16px 18px; font-size:16px; font-family:inherit; outline:none; box-shadow:0 12px 30px rgba(19,102,214,.10); }
#arx-home .searchbox button{ border:none; background:var(--accent); color:#fff; font-weight:850; font-size:16px; padding:0 22px; border-radius:14px; cursor:pointer; }
#arx-home .chips{ display:flex; flex-wrap:wrap; gap:9px; margin-top:16px; }
#arx-home .chips a{ background:#fff; border:1px solid var(--border); border-radius:999px; padding:8px 14px; font-size:14px; font-weight:650; color:#46505f; }
#arx-home .chips a:hover{ border-color:var(--accent); color:var(--accent); }
#arx-home .hero .deco{ position:absolute; right:-40px; top:20px; opacity:.07; }
@media (max-width:600px){ #arx-home .hero h1{ font-size:33px; } #arx-home .searchbox{ flex-direction:column; } }
#arx-home .trust{ display:flex; flex-wrap:wrap; gap:14px 28px; justify-content:center; padding:18px 0; border-bottom:1px solid var(--border); color:var(--muted); font-size:14.5px; font-weight:650; }
#arx-home .trust span{ display:inline-flex; align-items:center; gap:8px; }
#arx-home section{ padding:46px 0; }
#arx-home section.alt{ background:var(--soft); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
#arx-home .grid{ display:grid; gap:14px; }
#arx-home .grid.s4{ grid-template-columns:repeat(4,1fr); }
#arx-home .grid.s3{ grid-template-columns:repeat(3,1fr); }
#arx-home .grid.s6{ grid-template-columns:repeat(6,1fr); }
@media (max-width:860px){ #arx-home .grid.s4{ grid-template-columns:repeat(2,1fr); } #arx-home .grid.s6{ grid-template-columns:repeat(3,1fr); } #arx-home .grid.s3{ grid-template-columns:1fr; } }
@media (max-width:480px){ #arx-home .grid.s6{ grid-template-columns:repeat(2,1fr); } }
#arx-home .card{ border:1px solid var(--border); border-radius:16px; background:#fff; padding:18px; transition:transform .12s, box-shadow .12s, border-color .12s; }
#arx-home .card:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(15,23,42,.07); border-color:var(--accent-bd); }
#arx-home .sym .ic{ width:44px; height:44px; border-radius:12px; background:var(--accent-soft); display:flex; align-items:center; justify-content:center; margin-bottom:12px; }
#arx-home .sym h3{ margin:0 0 4px; font-size:16.5px; font-weight:850; }
#arx-home .sym p{ margin:0; font-size:13.5px; color:var(--muted); }
#arx-home .brand{ text-align:center; padding:18px 10px; font-weight:850; font-size:15.5px; }
#arx-home .brand .b{ display:block; font-size:22px; font-weight:980; letter-spacing:-.02em; color:var(--accent-d); margin-bottom:3px; }
#arx-home .brand small{ display:block; color:var(--muted); font-weight:600; font-size:12.5px; }
#arx-home .tool{ display:flex; gap:16px; align-items:center; border:1px solid var(--border); border-radius:18px; padding:20px; background:#fff; }
#arx-home .tool .ic{ flex:0 0 auto; width:54px; height:54px; border-radius:14px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); display:flex; align-items:center; justify-content:center; }
#arx-home .tool h3{ margin:0 0 3px; font-size:18px; font-weight:900; }
#arx-home .tool p{ margin:0; font-size:14px; color:var(--muted); }
#arx-home .band{ position:relative; overflow:hidden; border-radius:22px; padding:38px 34px; background:linear-gradient(135deg,var(--accent-d),var(--accent) 55%,var(--accent-2)); color:#fff; }
#arx-home .band h2{ margin:0 0 8px; font-size:28px; font-weight:950; color:#fff; }
#arx-home .band p{ margin:0 0 20px; font-size:16.5px; color:rgba(255,255,255,.92); max-width:54ch; }
#arx-home .band a.btn{ display:inline-flex; align-items:center; gap:9px; background:#fff; color:var(--accent-d); font-weight:900; font-size:16px; padding:14px 24px; border-radius:13px; box-shadow:0 12px 26px rgba(0,0,0,.18); }
#arx-home .band .deco{ position:absolute; right:-30px; top:-30px; opacity:.16; }
#arx-home .about{ display:grid; grid-template-columns:1.3fr 1fr; gap:30px; align-items:center; }
@media (max-width:780px){ #arx-home .about{ grid-template-columns:1fr; } }
#arx-home .about .av{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }
#arx-home .about .av .ph{ width:56px; height:56px; border-radius:999px; background:var(--accent-soft); display:flex; align-items:center; justify-content:center; font-weight:950; color:var(--accent); font-size:20px; }
#arx-home .about p{ color:#475569; font-size:16px; }
#arx-home .ebadges{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
#arx-home .ebadges span{ display:inline-flex; align-items:center; gap:7px; background:var(--soft); border:1px solid var(--border); border-radius:999px; padding:8px 13px; font-size:13.5px; font-weight:700; }

/* ===== Accesibilidad: foco visible (A4) ===== */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible, summary:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px; border-radius:4px;
}

/* ===== Enlaces de cuerpo visibles dentro del contenido (A5) ===== */
.arx-content .clm-art p a, .arx-content .clm-art li a, .arx-content .clm-art td a,
.arx-content article p a, .arx-content article li a{
  color:var(--accent); text-decoration:underline; text-underline-offset:2px;
}
.arx-content .clm-art p a:hover, .arx-content article p a:hover{ color:var(--accent-d); }

/* ===== Migas de pan visibles ===== */
.arx-crumbs{ font-size:13.5px; color:var(--muted); margin:0 0 12px; }
.arx-crumbs a{ color:var(--muted); } .arx-crumbs a:hover{ color:var(--accent); }

/* ===== Menú hamburguesa móvil (A6) — sin JS ===== */
.arx-burger{ display:none; margin-left:auto; cursor:pointer; padding:8px; border-radius:9px; line-height:0; }
.arx-burger:hover{ background:var(--soft); }
@media (max-width:820px){
  .arx-header .right{ display:none; }
  .arx-burger{ display:inline-flex; }
  .arx-header .links{ display:none; position:absolute; top:64px; left:0; right:0; flex-direction:column; gap:0; background:#fff; border-bottom:1px solid var(--border); box-shadow:0 14px 30px rgba(15,23,42,.08); padding:6px 0; }
  .arx-header .links a{ padding:14px 20px; font-size:16px; border-top:1px solid var(--soft); }
  .arx-burger-cb:checked ~ .links{ display:flex; }
}

/* ===== Imágenes (featured / hero / tarjetas) ===== */
.arx-hero-img{ max-width:780px; margin:18px auto 4px; padding:0 18px; }
.arx-hero-img img{ width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:16px; display:block; }
.arx-hero-img figcaption{ font-size:13px; color:var(--muted); margin-top:8px; padding:0 2px; }
.arx-card-img{ width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:11px; margin-bottom:12px; display:block; }
