/*
Theme Name:   AICore Child
Theme URI:    https://aicorebusiness.com
Description:  Tema hijo de Blocksy para aicorebusiness.com: estilo oscuro, blog por temas y portafolio.
Author:       Williams Fernández
Template:     blocksy
Version:      1.0.0
Text Domain:  aicore-child
*/

/* ---------- Paleta (sobrescribe las variables de Blocksy) ---------- */
:root,
[data-prefix] {
  --aic-bg: #0b0f14;
  --aic-surface: #121821;
  --aic-surface-2: #182130;
  --aic-border: #243044;
  --aic-text: #c9d3e0;
  --aic-heading: #f2f6fb;
  --aic-muted: #8794a8;
  --aic-accent: #34d399;
  --aic-accent-2: #6ee7b7;

  --theme-palette-color-1: #34d399;
  --theme-palette-color-2: #6ee7b7;
  --theme-palette-color-3: #c9d3e0;
  --theme-palette-color-4: #f2f6fb;
  --theme-palette-color-5: #243044;
  --theme-palette-color-6: #182130;
  --theme-palette-color-7: #121821;
  --theme-palette-color-8: #0b0f14;
  --theme-text-color: var(--aic-text);
  --theme-link-initial-color: var(--aic-accent);
  --theme-link-hover-color: var(--aic-accent-2);
  --theme-border-color: var(--aic-border);
  --theme-headings-color: var(--aic-heading);
  --theme-form-field-border-initial-color: var(--aic-border);
}

body {
  background-color: var(--aic-bg);
  color: var(--aic-text);
}

a { text-underline-offset: 3px; }

/* Cabecera y pie */
#header [data-row],
#footer [data-row] { background-color: var(--aic-bg); border-color: var(--aic-border); }
#header a, #footer a { color: var(--aic-text); }
#header a:hover, #footer a:hover { color: var(--aic-accent); }
.site-title a { color: var(--aic-heading) !important; font-weight: 700; letter-spacing: -.01em; }

/* Tarjetas y artículos (archivo de blog, categorías, búsquedas) */
.entry-card,
.ct-related-posts .related-entry-title ~ * { background: transparent; }
article.entry-card {
  background: var(--aic-surface);
  border: 1px solid var(--aic-border);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color .2s, transform .2s;
}
article.entry-card:hover { border-color: var(--aic-accent); transform: translateY(-2px); }
.entry-title a { color: var(--aic-heading); }
.ct-meta-element, .entry-meta { color: var(--aic-muted); }
.entry-meta .ct-meta-element a[href*="category"] {
  color: var(--aic-accent);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .08em;
  font-weight: 600;
}

/* Contenido del artículo */
.entry-content h2 { margin-top: 2.2em; padding-top: .4em; border-top: 1px solid var(--aic-border); }
.entry-content h3 { margin-top: 1.6em; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: .95em; margin: 1.5em 0; }
.entry-content th { background: var(--aic-surface-2); color: var(--aic-heading); text-align: left; }
.entry-content th, .entry-content td { border: 1px solid var(--aic-border); padding: .6em .8em; }
.entry-content blockquote { border-left: 3px solid var(--aic-accent); background: var(--aic-surface); padding: 1em 1.2em; border-radius: 0 10px 10px 0; }
.entry-content code { background: var(--aic-surface-2); padding: .1em .35em; border-radius: 4px; }

/* Botones y formularios */
.wp-block-button__link, .button, button[type="submit"], input[type="submit"] {
  background: var(--aic-accent); color: #04130d; border: 0; border-radius: 10px; font-weight: 600;
}
.wp-block-button__link:hover, .button:hover, button[type="submit"]:hover { background: var(--aic-accent-2); color: #04130d; }
input, textarea, select { background: var(--aic-surface); color: var(--aic-text); border-color: var(--aic-border); }

/* ---------- Índice temático: [aicore_hub] ---------- */
.aic-hub { max-width: 1120px; margin: 0 auto; }

.aic-hub__nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 3rem; padding: 0; list-style: none; }
.aic-hub__nav a {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 16px; border: 1px solid var(--aic-border); border-radius: 999px;
  background: var(--aic-surface); color: var(--aic-text); font-size: 14px; text-decoration: none;
}
.aic-hub__nav a:hover { border-color: var(--aic-accent); color: var(--aic-heading); }
.aic-hub__nav .count { color: var(--aic-accent); font-weight: 700; font-size: 12px; }
.aic-hub__nav .is-empty { opacity: .55; }

.aic-topic { margin: 0 0 4rem; scroll-margin-top: 90px; }
.aic-topic__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 6px; }
.aic-topic__title { margin: 0; font-size: 1.6rem; }
.aic-topic__more { font-size: 14px; }
.aic-topic__desc { margin: 0 0 1.4rem; color: var(--aic-muted); max-width: 70ch; }

.aic-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.aic-card {
  display: flex; flex-direction: column; background: var(--aic-surface); border: 1px solid var(--aic-border);
  border-radius: 14px; overflow: hidden; transition: border-color .2s, transform .2s;
}
.aic-card:hover { border-color: var(--aic-accent); transform: translateY(-2px); }
.aic-card__img { aspect-ratio: 16 / 9; width: 100%; object-fit: cover; display: block; background: var(--aic-surface-2); }
.aic-card__body { padding: 16px 18px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.aic-card__date { font-size: 12px; color: var(--aic-muted); }
.aic-card__title { margin: 0; font-size: 1.05rem; line-height: 1.35; }
.aic-card__title a { color: var(--aic-heading); text-decoration: none; }
.aic-card__title a::after { content: ""; position: absolute; inset: 0; }
.aic-card { position: relative; }
.aic-card__excerpt { margin: 0; font-size: 14px; color: var(--aic-muted); }

.aic-soon {
  border: 1px dashed var(--aic-border); border-radius: 14px; padding: 20px 22px;
  color: var(--aic-muted); font-size: 14px;
}

@media (max-width: 600px) {
  .aic-topic__title { font-size: 1.35rem; }
}

/* El índice vive dentro de .entry-content: anula el filete de los h2 de artículo */
.aic-hub .aic-topic__title { margin-top: 0; padding-top: 0; border-top: 0; }

/* ---------- Home ---------- */
body.home .hero-section { display: none; } /* oculta el título "Inicio" */
.aic-home { max-width: 1120px; margin: 0 auto; }
.aic-home section { margin: 0 0 5rem; }
.aic-home h2 { margin: 0 0 .5rem; font-size: 1.7rem; }
.aic-home .aic-lead { color: var(--aic-muted); margin: 0 0 1.8rem; max-width: 65ch; }

.aic-hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; align-items: center; padding: 2.5rem 0 1rem; }
.aic-eyebrow { color: var(--aic-accent); text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 700; margin: 0 0 1rem; }
.aic-hero h1 { margin: 0 0 1.2rem; font-size: clamp(2rem, 4.6vw, 3.2rem); line-height: 1.1; letter-spacing: -.02em; }
.aic-hero p.aic-sub { font-size: 1.15rem; color: var(--aic-text); max-width: 54ch; margin: 0 0 1.8rem; }
.aic-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.aic-btn { display: inline-block; padding: 12px 22px; border-radius: 10px; font-weight: 600; text-decoration: none; border: 1px solid var(--aic-border); color: var(--aic-heading); }
.aic-btn--primary { background: var(--aic-accent); color: #04130d; border-color: var(--aic-accent); }
.aic-btn--primary:hover { background: var(--aic-accent-2); color: #04130d; }
.aic-btn:hover { border-color: var(--aic-accent); }
.aic-hero figure { margin: 0; }
.aic-hero img { width: 100%; border-radius: 18px; border: 1px solid var(--aic-border); display: block; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; }
.aic-hero figcaption { font-size: 12px; color: var(--aic-muted); margin-top: 8px; }

.aic-principles { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.aic-principle { padding: 22px; border: 1px solid var(--aic-border); border-radius: 14px; background: var(--aic-surface); }
.aic-principle h3 { margin: 0 0 .4rem; font-size: 1.05rem; }
.aic-principle p { margin: 0; font-size: 14.5px; color: var(--aic-muted); }

.aic-badge { display: inline-block; align-self: flex-start; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 3px 10px; border-radius: 999px; color: var(--aic-accent); border: 1px solid var(--aic-accent); }
.aic-badge--soft { color: var(--aic-muted); border-color: var(--aic-border); }

.aic-cta { text-align: center; padding: 3rem 1.5rem; border: 1px solid var(--aic-border); border-radius: 18px; background: var(--aic-surface); }
.aic-cta p { color: var(--aic-muted); margin: 0 auto 1.5rem; max-width: 55ch; }

@media (max-width: 800px) {
  .aic-hero { grid-template-columns: 1fr; gap: 28px; }
  .aic-hero figure { order: -1; max-width: 360px; }
}

/* ---------- Artículo: lectura más ordenada ---------- */
html { scroll-behavior: smooth; }
.single-post .entry-content { font-size: 1.06rem; line-height: 1.75; }
.single-post .entry-content h2 { font-size: 1.6rem; line-height: 1.25; margin-top: 2.6em; scroll-margin-top: 90px; }
.single-post .entry-content h3 { font-size: 1.2rem; padding-left: .8em; border-left: 3px solid var(--aic-accent); }
.single-post .entry-content p { margin-bottom: 1.15em; }

.aic-toc { margin: 0 0 2.5rem; border: 1px solid var(--aic-border); border-radius: 14px; background: var(--aic-surface); }
.aic-toc summary { cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; font-weight: 700; color: var(--aic-heading); list-style: none; }
.aic-toc summary::-webkit-details-marker { display: none; }
.aic-toc summary span { font-size: 12px; font-weight: 500; color: var(--aic-muted); }
.aic-toc ol { margin: 0; padding: 0 20px 18px 42px; columns: 2; column-gap: 32px; font-size: 14.5px; }
.aic-toc li { break-inside: avoid; margin-bottom: 6px; padding-left: 2px; }
.aic-toc a { color: var(--aic-text); text-decoration: none; }
.aic-toc a:hover { color: var(--aic-accent); }
@media (max-width: 700px) { .aic-toc ol { columns: 1; } }

.aic-author { margin: 3rem 0 0; padding: 22px 24px; border: 1px solid var(--aic-border); border-radius: 14px; background: var(--aic-surface); }
.aic-author__name { font-weight: 700; color: var(--aic-heading); margin-bottom: 4px; }
.aic-author p { margin: 0 0 12px; color: var(--aic-muted); font-size: 14.5px; }
.aic-author a { font-size: 14px; margin-right: 18px; }

/* Páginas internas (Proyectos, Sobre mí, legales) */
.aic-page { max-width: 760px; margin: 0 auto; }
.aic-page h2 { margin-top: 2em; }
.aic-page .aic-lead { color: var(--aic-muted); font-size: 1.15rem; }
.aic-page h2, .aic-home .aic-page h2 { font-size: 1.45rem; margin-top: 2.2em; }
.aic-page { font-size: 1.05rem; line-height: 1.7; }

/* ---------- Marca en la cabecera ---------- */
.site-title a { display: inline-flex; align-items: center; gap: 12px; }
.site-title a::before {
  content: ""; width: 44px; height: 44px; flex: 0 0 44px;
  background: center / contain no-repeat; /* la imagen se define con ruta absoluta en functions.php */
}

/* ---------- Tablas con scroll horizontal en móvil ---------- */
.aic-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.5em 0; border: 1px solid var(--aic-border); border-radius: 10px; }
.aic-table-wrap table { margin: 0; width: 100%; border: 0; }
.aic-table-wrap th, .aic-table-wrap td { min-width: 72px; vertical-align: top; }
@media (max-width: 600px) {
  /* Tablas de 3-4 columnas caben enteras; solo se desplazan si de verdad no caben. */
  .aic-table-wrap table { font-size: .86em; }
  .aic-table-wrap th, .aic-table-wrap td { padding: .45em .5em; }
}
