/* ============================================================
   Bootable — Sistema de diseño Fase 1 (navy + rojo, IBM Plex)
   Gestionado por el proyecto Bootable Web (mu-plugin bootable-theme)
   ============================================================ */
:root{
  --bt-navy-900:#0b2038; --bt-navy-800:#0e2a4d; --bt-navy-700:#123a63;
  --bt-blue:#2f6fd0; --bt-red:#e23744; --bt-red-600:#c31f30;
  --bt-ink:#0f1f33; --bt-muted:#5b6b7d; --bt-line:#e4eaf1; --bt-soft:#f4f7fb;
}

/* ---------- Tipografía ---------- */
body, button, input, select, textarea, optgroup,
.site-title, #site-navigation, .dropdown-menu, .entry-content,
p, li, td, th, blockquote, label{
  font-family:'IBM Plex Sans', system-ui, -apple-system, Segoe UI, sans-serif;
}
body{ font-size:16px; line-height:1.65; color:var(--bt-ink); }
h1,h2,h3,h4,h5,h6{
  font-family:'IBM Plex Sans', system-ui, sans-serif !important;
  font-weight:700; letter-spacing:-.01em; line-height:1.2; color:var(--bt-ink);
}
h1{ font-size:2.3rem } h2{ font-size:1.75rem } h3{ font-size:1.3rem }
h4{ font-size:1.1rem } h5{ font-size:1rem } h6{ font-size:.9rem }
a{ color:var(--bt-blue); }
a:hover{ color:var(--bt-red); }

/* ---------- Page header navy (contraste AA) + breadcrumb mono ---------- */
.page-header, .page-header.solid-color-page-header{
  background:linear-gradient(160deg,var(--bt-navy-700),var(--bt-navy-900)) !important;
  padding:46px 0 !important;
}
.page-header .page-header-title{ color:#fff !important; font-size:2rem !important; }
.site-breadcrumbs, .site-breadcrumbs a, .site-breadcrumbs span{
  font-family:'IBM Plex Mono', monospace !important;
  font-size:12.5px !important; letter-spacing:.05em; color:#a9c0dd !important;
}
.site-breadcrumbs a:hover{ color:#fff !important; }

/* ---------- Botones rojos (tema + formularios; NO toca los bloques Gutenberg) ---------- */
.theme-button, a.button, .button:not(.wp-block-button__link),
input[type=submit], button[type=submit],
.wpforms-submit, .wpforms-container button[type=submit],
.comment-form input[type=submit], #searchform input[type=submit]{
  background-color:var(--bt-red) !important; border-color:var(--bt-red) !important;
  color:#fff !important; border-radius:6px !important; font-weight:600 !important;
  letter-spacing:.01em; transition:.15s ease;
}
.theme-button:hover, a.button:hover,
input[type=submit]:hover, button[type=submit]:hover, .wpforms-submit:hover{
  background-color:var(--bt-red-600) !important; border-color:var(--bt-red-600) !important;
}

/* ---------- Logo texto (hasta poner el logo real) ---------- */
.site-title.site-logo-text{
  font-family:'IBM Plex Sans' !important; font-weight:700 !important;
  color:var(--bt-ink) !important; letter-spacing:-.01em;
}

/* ---------- Navegación ---------- */
#site-navigation .dropdown-menu > li > a{ color:#233246; font-weight:500; }
#site-navigation .current-menu-item > a,
#site-navigation .dropdown-menu > li > a:hover{ color:var(--bt-red); }

/* ---------- Detalles ---------- */
.wp-block-list li{ margin-bottom:.4em; }
::selection{ background:var(--bt-red); color:#fff; }

/* ============ Home / landing (clases bt-*) ============ */
.bt-hero{
  position:relative; overflow:hidden; color:#fff !important;
  background:radial-gradient(1100px 500px at 80% -10%, rgba(47,111,208,.35), transparent 60%),
             linear-gradient(160deg,var(--bt-navy-800),var(--bt-navy-900)) !important;
  padding:78px 24px 64px !important;
}
.bt-hero::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px); background-size:24px 24px; opacity:.6; }
.bt-hero > *{ position:relative; z-index:1; }
.bt-hero h1{ color:#fff !important; font-size:2.7rem; }
.bt-hero p{ color:#cddcf0 !important; }
.bt-eyebrow{ font-family:'IBM Plex Mono',monospace !important; font-size:13px !important;
  letter-spacing:.18em; text-transform:uppercase; color:#7fb0ee !important; font-weight:600; }
.bt-trust{ font-family:'IBM Plex Mono',monospace !important; font-size:13px !important; color:#9fb6d4 !important; }
.bt-trust strong{ color:var(--bt-red); }
.bt-icon{ width:46px;height:46px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,var(--bt-blue),var(--bt-navy-700)); }
.bt-icon svg{ width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.9; }
.bt-card{ background:#fff !important;border:1px solid var(--bt-line) !important;border-radius:11px !important;
  padding:24px !important;height:100%;transition:.15s; }
.bt-card:hover{ box-shadow:0 14px 34px rgba(15,31,51,.10); transform:translateY(-3px); border-color:#cfe0f4 !important; }
.bt-card h3{ font-size:1.15rem; margin:14px 0 6px; }
.bt-card p{ color:var(--bt-muted) !important; font-size:.95rem; }
.bt-stats{ background:linear-gradient(160deg,var(--bt-navy-800),var(--bt-navy-900)) !important; color:#fff !important; padding:46px 24px !important; }
.bt-stat-n{ font-family:'IBM Plex Mono',monospace !important; font-size:2.4rem !important; font-weight:600; color:var(--bt-red) !important; line-height:1; display:block; }
.bt-stat-l{ color:#a9c0dd !important; font-size:.9rem; display:block; margin-top:6px; }
.bt-ctaband{ background:radial-gradient(700px 300px at 20% 0%, rgba(47,111,208,.4), transparent), var(--bt-navy-900) !important; color:#fff !important; padding:58px 24px !important; }
.bt-ctaband h2{ color:#fff !important; }
.bt-ctaband p{ color:#bcd2ee !important; }
/* botones dentro de bloques del home */
.bt-red .wp-block-button__link{ background:var(--bt-red) !important; color:#fff !important; border-color:var(--bt-red) !important; }
.bt-green .wp-block-button__link{ background:#25D366 !important; color:#fff !important; border-color:#25D366 !important; }
.bt-ghost .wp-block-button__link{ background:transparent !important; color:#fff !important; border:2px solid rgba(255,255,255,.4) !important; }

/* ============ Casos de éxito ============ */
.bt-case{ background:var(--bt-soft) !important; border:1px solid var(--bt-line) !important;
  border-left:4px solid var(--bt-red) !important; border-radius:8px !important;
  padding:22px 26px !important; margin-bottom:18px !important; transition:.15s; }
.bt-case:hover{ box-shadow:0 10px 26px rgba(15,31,51,.08); }
.bt-case h3{ margin:0 0 4px !important; font-size:1.25rem; }
.bt-case-tag{ font-family:'IBM Plex Mono',monospace !important; font-size:12.5px !important;
  letter-spacing:.04em; color:var(--bt-red) !important; text-transform:uppercase; font-weight:600; margin:0 0 10px !important; }
.bt-case p{ color:#37485c !important; margin-bottom:0; }

/* ============ Componentes de páginas interiores ============ */
.bt-callout{ background:var(--bt-soft) !important; border-left:4px solid var(--bt-red) !important;
  border-radius:0 8px 8px 0 !important; padding:18px 22px !important; margin:26px 0 !important; }
.bt-callout p{ margin:0 !important; color:var(--bt-ink) !important; }
.bt-feat{ list-style:none !important; margin:18px 0 !important; padding:0 !important; }
.bt-feat li{ position:relative; padding-left:30px !important; margin-bottom:13px !important; color:#37485c !important; }
.bt-feat li::before{ content:"✓"; position:absolute; left:0; top:0; color:#25a244; font-weight:700; font-size:1.05em; }
.bt-plan-rec{ border:2px solid var(--bt-red) !important; position:relative; }
.bt-plan-rec::before{ content:"RECOMENDADO"; position:absolute; top:-11px; left:20px; background:var(--bt-red);
  color:#fff; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.1em; padding:2px 10px; border-radius:4px; }

/* ============ Grilla de clientes ============ */
.bt-clients{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:28px 0; }
.bt-client{ background:#fff; border:1px solid var(--bt-line); border-radius:8px; padding:18px 14px;
  text-align:center; font-weight:600; font-size:1.28rem; color:#2a3a4d !important; min-height:78px;
  display:flex; align-items:center; justify-content:center; line-height:1.3; text-decoration:none !important; transition:.15s; }
.bt-client:hover{ border-color:var(--bt-blue); box-shadow:0 6px 16px rgba(15,31,51,.07); color:var(--bt-blue) !important; }
@media(max-width:900px){ .bt-clients{ grid-template-columns:repeat(2,1fr); } }

/* ============ Contacto: aside + formulario ============ */
.bt-contact{ display:grid; grid-template-columns:1fr 340px; gap:36px; margin-top:24px; align-items:start; }
@media(max-width:900px){ .bt-contact{ grid-template-columns:1fr; } }
.bt-side{ background:linear-gradient(160deg,var(--bt-navy-700),var(--bt-navy-900)) !important; color:#fff !important; border-radius:12px; padding:26px; position:sticky; top:110px; }
.bt-side h3{ color:#fff !important; font-size:1.2rem; margin:8px 0 16px; }
.bt-side .bt-eyebrow{ color:var(--bt-red) !important; }
.bt-crow{ display:flex; align-items:center; gap:11px; margin-bottom:14px; color:#e6eef8 !important; font-size:.98rem; }
.bt-crow a{ color:#fff !important; text-decoration:none; font-weight:500; }
.bt-crow svg{ width:20px; height:20px; stroke:var(--bt-red); fill:none; stroke-width:2; flex:none; }
.bt-side .bt-wa{ display:flex; align-items:center; justify-content:center; gap:8px; background:#25D366; color:#fff !important; border-radius:7px; padding:12px; font-weight:600; margin:6px 0 18px; text-decoration:none; }
.bt-side .bt-hr{ border-top:1px solid rgba(255,255,255,.14); margin:16px 0; }
.wpcf7 label{ display:block; font-weight:600; margin-bottom:14px; color:var(--bt-ink); }
.wpcf7 input:not([type=submit]), .wpcf7 textarea{ width:100%; padding:11px 13px; border:1px solid var(--bt-line); border-radius:7px; font-family:inherit; font-size:15px; margin-top:5px; background:#fff; }
.wpcf7 textarea{ min-height:120px; }
.wpcf7 input[type=submit]{ background:var(--bt-red) !important; color:#fff !important; border:none; border-radius:7px; padding:13px 28px; font-weight:600; cursor:pointer; font-family:inherit; font-size:15px; }
.wpcf7 input[type=submit]:hover{ background:var(--bt-red-600) !important; }

/* ============ Tablas de catálogo (appliances) ============ */
.table-responsive{ overflow-x:auto; margin:22px 0; }
table.product-table{ width:100%; border-collapse:collapse; font-size:.9rem; }
table.product-table th, table.product-table td{
  border:1px solid var(--bt-line) !important; padding:11px 13px !important; text-align:center; vertical-align:middle; }
table.product-table span{ font-family:'IBM Plex Sans',sans-serif !important; font-size:.9rem !important; }
table.product-table thead th, table.product-table > thead > tr > th{ background-color:#0e2a4d !important; }
table.product-table thead th span{ color:#fff !important; font-weight:600; }
table.product-table tbody td, table.product-table tbody th{ background:#fff; }
table.product-table tbody tr:nth-child(even) td,
table.product-table tbody tr:nth-child(even) th{ background:var(--bt-soft) !important; }
table.product-table tbody th span{ font-weight:600; }

/* ============ Footer ============ */
#footer{ display:none !important; }
.bt-footer{ background:var(--bt-navy-900); color:#a9bdd6; padding:48px 24px 0; }
.bt-footer-inner{ max-width:1160px; margin:0 auto; display:grid; grid-template-columns:1.7fr 1fr 1fr 1.2fr; gap:36px; }
@media(max-width:900px){ .bt-footer-inner{ grid-template-columns:1fr 1fr; gap:28px; } }
.bt-fbrand-name{ font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:1.3rem; color:#fff; margin-bottom:12px; }
.bt-fbrand-name span{ color:var(--bt-red); }
.bt-fbrand p{ color:#8ba3c2; margin-bottom:16px; line-height:1.55; font-size:.92rem; }
.bt-fwa{ display:inline-flex; align-items:center; gap:8px; background:#25D366; color:#fff !important; border-radius:6px; padding:9px 16px; font-weight:600; text-decoration:none; font-size:.92rem; }
.bt-fcol h4{ color:#fff !important; font-size:.95rem; margin:0 0 14px; font-weight:600; }
.bt-fcol a, .bt-fcol span{ display:block; color:#a9bdd6 !important; text-decoration:none; margin-bottom:9px; font-size:.9rem; }
.bt-fcol a:hover{ color:#fff !important; }
.bt-footer-bottom{ max-width:1160px; margin:36px auto 0; padding:18px 0; border-top:1px solid rgba(255,255,255,.1); font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:#7f97b5; text-align:center; }
.bt-fbrand-name{ font-size:1.4rem !important; margin-bottom:2px !important; line-height:1.1; }
.bt-fbrand-sub{ font-family:'IBM Plex Mono',monospace; font-size:.78rem; letter-spacing:.28em; color:#7f97b5; margin-bottom:16px; }
/* footer brand override final */
.bt-fbrand-name{ font-family:'IBM Plex Sans',sans-serif !important; font-size:1.4rem !important; font-weight:700 !important; color:#fff !important; margin-bottom:14px !important; line-height:1.15 !important; letter-spacing:-.01em; }
.bt-fbrand-name span{ color:var(--bt-red) !important; }
.bt-fbrand-sub{ display:none !important; }
/* fix: texto del botón WhatsApp del footer en blanco (la regla .bt-fcol a lo pisaba) */
.bt-fcol a.bt-fwa{ color:#fff !important; }

/* ============ FAQ (acordeón) ============ */
.bt-faq{ margin:36px 0 10px; }
.bt-faq h2{ margin-bottom:16px; }
.bt-faq details{ border:1px solid var(--bt-line); border-radius:8px; margin-bottom:12px; background:#fff; }
.bt-faq summary{ cursor:pointer; padding:16px 46px 16px 20px; font-weight:600; color:var(--bt-ink); list-style:none; position:relative; }
.bt-faq summary::-webkit-details-marker{ display:none; }
.bt-faq summary::after{ content:"+"; position:absolute; right:18px; top:13px; color:var(--bt-red); font-size:1.4rem; }
.bt-faq details[open] summary::after{ content:"\2212"; }
.bt-faq details[open] summary{ border-bottom:1px solid var(--bt-line); }
.bt-faq details > div{ padding:14px 20px 18px; color:#37485c; }
