/*
Theme Name: Meráki Cultural
Theme URI: https://merakicultural.com
Author: Velstand og Overflod Solutions
Description: Theme institucional propio de Meráki Cultural — infraestructura cultural para comunidad, economía y formación del sector cultural en México.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: meraki-cultural
*/

:root{
  --meraki-turquesa:#00CCCB;
  --meraki-turquesa-dark:#00A3A2;
  --meraki-tinta:#12181B;
  --meraki-gris:#5B6669;
  --meraki-hueso:#F6F7F7;
  --meraki-blanco:#FFFFFF;
  --meraki-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --meraki-radio: 14px;
  --meraki-max: 1180px;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--meraki-font);
  color:var(--meraki-tinta);
  background:var(--meraki-blanco);
  line-height:1.6;
  font-size:17px;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--meraki-turquesa-dark); text-decoration:none; }
a:hover{ text-decoration:underline; }
h1,h2,h3,h4{ line-height:1.2; margin:0 0 .5em; font-weight:700; letter-spacing:-.01em; }
h1{ font-size:clamp(2rem,4vw,3rem); }
h2{ font-size:clamp(1.5rem,3vw,2.2rem); }
p{ margin:0 0 1.2em; }
.container{ max-width:var(--meraki-max); margin:0 auto; padding:0 24px; }

/* Header */
.site-header{ background:var(--meraki-turquesa); position:sticky; top:0; z-index:50; }
.site-header .container{ display:flex; align-items:center; justify-content:space-between; padding-top:14px; padding-bottom:14px; gap:24px; }
.site-branding{ display:flex; align-items:center; gap:12px; }
.site-branding img{ max-height:40px; width:auto; }
.site-branding .site-title{ color:var(--meraki-blanco); font-size:1.3rem; font-weight:800; margin:0; }
.site-branding a{ color:var(--meraki-blanco); }
.site-branding a:hover{ text-decoration:none; opacity:.85; }

.primary-menu{ display:flex; flex-wrap:wrap; gap:4px; list-style:none; margin:0; padding:0; }
.primary-menu li a{
  color:var(--meraki-blanco); display:inline-block; padding:8px 14px; border-radius:999px;
  font-weight:600; font-size:.95rem;
}
.primary-menu li a:hover, .primary-menu li a:focus{ background:rgba(255,255,255,.18); text-decoration:none; }

/* Hero (front page) */
.hero{ background:linear-gradient(180deg, var(--meraki-turquesa) 0%, var(--meraki-blanco) 100%); padding:72px 0 56px; text-align:center; }
.hero-logo{ margin:0 auto 20px; }
.hero h1{ color:var(--meraki-tinta); max-width:820px; margin-left:auto; margin-right:auto; }
.hero p.lead{ font-size:1.2rem; color:var(--meraki-gris); max-width:680px; margin:0 auto 1.6em; }
.hero .cta{
  display:inline-block; background:var(--meraki-tinta); color:var(--meraki-blanco);
  padding:14px 30px; border-radius:999px; font-weight:700;
}
.hero .cta:hover{ background:var(--meraki-turquesa-dark); text-decoration:none; }

/* Pilares */
.pilares{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px; padding:56px 0; }
.pilar{ background:var(--meraki-hueso); border-radius:var(--meraki-radio); padding:28px; }
.pilar .tag{ display:inline-block; background:var(--meraki-turquesa); color:var(--meraki-blanco); font-size:.78rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:4px 10px; border-radius:999px; margin-bottom:12px; }

/* Cards / listados de CPTs */
.meraki-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; padding:32px 0 64px; }
.meraki-card{ border:1px solid #E7EAEA; border-radius:var(--meraki-radio); overflow:hidden; background:var(--meraki-blanco); transition:box-shadow .2s, transform .2s; }
.meraki-card:hover{ box-shadow:0 10px 30px rgba(0,0,0,.08); transform:translateY(-2px); }
.meraki-card .thumb{ aspect-ratio:16/10; background:var(--meraki-hueso) center/cover no-repeat; }
.meraki-card .body{ padding:18px 20px; }
.meraki-card h3{ font-size:1.1rem; margin-bottom:.35em; }
.meraki-card h3 a{ color:var(--meraki-tinta); }
.meraki-card .meta{ color:var(--meraki-gris); font-size:.85rem; margin-bottom:.6em; }

/* Contenido genérico (page/single) */
.content-area{ padding:48px 0 72px; }
.entry-header{ margin-bottom:1.5em; }
.entry-header .meta{ color:var(--meraki-gris); font-size:.9rem; }
.entry-content{ max-width:760px; }
.entry-content img{ border-radius:var(--meraki-radio); margin:1.4em 0; }

/* Footer */
.site-footer{ background:var(--meraki-tinta); color:#C9CFCF; padding:48px 0 28px; margin-top:40px; }
.site-footer a{ color:var(--meraki-blanco); }
.site-footer .footer-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:24px; }
.site-footer h4{ color:var(--meraki-blanco); font-size:.95rem; text-transform:uppercase; letter-spacing:.05em; }

.ecosystem-bar{ background:var(--meraki-turquesa-dark); padding:22px 0; margin-top:40px; text-align:center; }
.ecosystem-bar .ecosystem-logo{ margin:0 auto 12px; }
.ecosystem-bar p{ margin:0; font-size:.78rem; color:rgba(255,255,255,.92); line-height:1.7; }
.ecosystem-bar p.eco-line2{ margin-top:4px; }
.ecosystem-bar a{ color:var(--meraki-blanco); font-weight:600; }
.ecosystem-bar a:hover{ text-decoration:underline; }

/* Utilidades */
.screen-reader-text{ position:absolute !important; clip:rect(1px,1px,1px,1px); overflow:hidden; height:1px; width:1px; }
@media (max-width:680px){
  .site-header .container{ flex-direction:column; align-items:flex-start; }
}
