/*
Theme Name: Autismo.es 2026
Theme URI: https://autismo.es
Author: Equipo editorial Autismo.es
Description: Tema editorial cálido/revista para autismo.es. Preserva la estructura de permalinks /%postname%/ existente.
Version: 1.0
Requires PHP: 7.4
Text Domain: autismo-2026
*/

:root{
  --cream:#FFF8EF;
  --cream-2:#FFF1DF;
  --ink:#1F2A2E;
  --ink-soft:#4A5559;
  --coral:#FF6B4A;
  --coral-dark:#E44F2E;
  --teal:#0F6E56;
  --teal-light:#DCEFE8;
  --amber:#FFB648;
  --pink:#FF8FA3;
  --lilac:#8C7AE6;
  --line:#EAE1D2;
  --radius-lg:28px;
  --radius-md:18px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Plus Jakarta Sans', sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;}
h1,h2,h3,.serif{font-family:'Fraunces', serif;letter-spacing:-0.01em;margin:0;}
a{color:inherit;text-decoration:none;cursor:pointer;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

/* NAV */
nav.site-nav{position:sticky;top:0;z-index:50;background:rgba(255,248,239,0.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1180px;margin:0 auto;}
.logo{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:700;font-size:26px;letter-spacing:-0.02em;}
.logo .lw-autismo{color:var(--ink);}
.logo .lw-es{color:var(--coral);font-style:italic;font-weight:600;}
.nav-links{display:flex;gap:34px;font-weight:600;font-size:15px;color:var(--ink-soft);}
.nav-links a:hover{color:var(--coral-dark);}
.nav-cta{background:var(--ink);color:white;padding:11px 22px;border-radius:100px;font-weight:700;font-size:14px;}

/* HERO */
.hero{position:relative;overflow:hidden;padding:90px 32px 60px;}
.hero-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:center;}
.blob{position:absolute;border-radius:50%;opacity:0.9;z-index:0;}
.blob1{width:420px;height:420px;background:var(--amber);opacity:0.35;top:-160px;right:-120px;}
.blob2{width:280px;height:280px;background:var(--lilac);opacity:0.25;bottom:-100px;left:-80px;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--teal-light);color:var(--teal);font-weight:700;font-size:13px;padding:8px 16px;border-radius:100px;margin-bottom:24px;}
.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--teal);}
.hero h1{font-size:58px;line-height:1.04;font-weight:700;position:relative;z-index:1;}
.hero h1 .accent{color:var(--coral);font-style:italic;font-weight:600;}
.hero p.lead{font-size:19px;color:var(--ink-soft);max-width:480px;margin:26px 0 34px;position:relative;z-index:1;}
.hero-ctas{display:flex;gap:16px;position:relative;z-index:1;}
.btn-primary{background:var(--coral);color:white;padding:16px 30px;border-radius:100px;font-weight:700;font-size:16px;box-shadow:0 14px 30px -10px rgba(228,79,46,0.55);display:inline-block;}
.btn-secondary{background:white;border:1px solid var(--line);color:var(--ink);padding:16px 30px;border-radius:100px;font-weight:700;font-size:16px;display:inline-block;}
.hero-stats{display:flex;gap:36px;margin-top:44px;position:relative;z-index:1;}
.hero-stats div b{font-family:'Fraunces',serif;font-size:28px;display:block;}
.hero-stats div span{font-size:13px;color:var(--ink-soft);}

.hero-card{position:relative;z-index:1;background:white;border-radius:32px;padding:22px;box-shadow:0 30px 60px -25px rgba(31,42,46,0.25);transform:rotate(2deg);display:block;transition:transform .25s ease;}
.hero-card:hover{transform:rotate(0deg) translateY(-4px);}
.hero-card-img{border-radius:22px;height:280px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:22px;}
.hero-card-tag{background:white;color:var(--coral-dark);font-weight:800;font-size:12px;padding:6px 14px;border-radius:100px;}
.hero-card h3{font-size:21px;margin-top:16px;}
.hero-card p{color:var(--ink-soft);font-size:14px;margin-top:8px;}
.hero-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-soft);}

/* MARQUEE */
.marquee-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink);overflow:hidden;padding:16px 0;}
.marquee{display:flex;gap:48px;white-space:nowrap;animation:scroll 28s linear infinite;font-weight:700;font-size:15px;color:white;width:max-content;}
.marquee span{opacity:0.55;}
.marquee span.hi{opacity:1;color:var(--amber);}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* SECTION HEAD */
.section{padding:90px 32px;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;gap:24px;}
.section-head h2{font-size:38px;font-weight:600;max-width:560px;}
.section-head p{color:var(--ink-soft);font-size:16px;max-width:340px;}
.tag{display:inline-block;background:var(--cream-2);color:var(--coral-dark);font-weight:700;font-size:13px;padding:6px 14px;border-radius:100px;margin-bottom:16px;}

/* TOPIC BENTO */
.topics{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:130px;gap:20px;}
.topic-card{position:relative;border-radius:var(--radius-lg);padding:26px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease;isolation:isolate;box-shadow:0 18px 34px -20px rgba(31,42,46,0.35);}
.topic-card:hover{transform:translateY(-8px) rotate(-0.6deg);box-shadow:0 26px 44px -18px rgba(31,42,46,0.4);}
.topic-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 15%, rgba(255,255,255,0.4), transparent 55%),linear-gradient(200deg, rgba(0,0,0,0) 25%, rgba(0,0,0,0.68) 100%);z-index:1;}
.topic-ico{position:relative;z-index:2;width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,0.24);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;font-size:30px;margin-bottom:auto;}
.topic-card h3{position:relative;z-index:2;font-family:'Fraunces',serif;font-weight:600;margin-bottom:8px;color:white;line-height:1.12;}
.topic-card p{position:relative;z-index:2;font-size:15px;color:rgba(255,255,255,0.88);max-width:80%;}
.t-big{grid-column:span 2;grid-row:span 2;}
.t-big h3{font-size:34px;}
.t-big .topic-ico{width:72px;height:72px;font-size:36px;}
.t-tall{grid-column:span 1;grid-row:span 2;}
.t-tall h3{font-size:22px;}
.t-wide{grid-column:span 2;grid-row:span 1;}
.t-wide h3{font-size:22px;}
.t-wide p{display:none;}
.t-solo{grid-column:span 1;grid-row:span 1;}
.t-solo h3{font-size:19px;}
.t-solo p{display:none;}
.t-banner{grid-column:span 4;grid-row:span 1;flex-direction:row;align-items:center;justify-content:space-between;padding:0 44px;}
.t-banner::before{background:linear-gradient(100deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.1) 60%);}
.t-banner h3{font-size:28px;margin:0;}
.t-banner p{max-width:none;margin:0;}
.t-banner .topic-ico{margin-bottom:0;}
.t-arrow{position:relative;z-index:2;width:52px;height:52px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--ink);flex-shrink:0;}

/* ARTICLES magazine layout */
.articles-mag{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;}
.featured-article{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;padding:44px;isolation:isolate;background:linear-gradient(150deg,var(--teal) 0%, #0B4A3A 100%);background-size:cover;background-position:center;box-shadow:0 24px 50px -24px rgba(15,110,86,0.55);}
.featured-article::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 80% 10%, rgba(255,182,72,0.35), transparent 45%),linear-gradient(0deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 55%);}
.featured-article > *{position:relative;z-index:2;}
.featured-badge{display:inline-flex;align-self:flex-start;background:var(--amber);color:#412402;font-weight:800;font-size:13px;padding:8px 16px;border-radius:100px;margin-bottom:22px;}
.featured-article h3{color:white;font-size:36px;line-height:1.15;font-weight:600;max-width:460px;}
.featured-article p{color:rgba(255,255,255,0.82);font-size:16px;max-width:420px;margin-top:16px;}
.featured-meta{display:flex;gap:14px;align-items:center;margin-top:28px;color:rgba(255,255,255,0.75);font-size:13px;}

.article-list{display:flex;flex-direction:column;gap:0;}
.article-row{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);align-items:flex-start;}
.article-row:first-child{padding-top:0;}
.article-thumb{width:88px;height:88px;border-radius:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:32px;background-size:cover;background-position:center;}
.article-row-cat{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0.05em;}
.article-row h4{font-family:'Fraunces',serif;font-size:19px;font-weight:600;margin:6px 0 8px;line-height:1.25;}
.article-row-meta{font-size:13px;color:var(--ink-soft);}

/* SPOTLIGHT */
.spotlight{background:var(--ink);border-radius:40px;padding:70px 60px;color:white;display:grid;grid-template-columns:1fr 1fr;gap:50px;position:relative;overflow:hidden;}
.spotlight::before{content:"";position:absolute;width:340px;height:340px;background:var(--coral);opacity:0.35;border-radius:50%;top:-140px;right:-80px;}
.spotlight-col{position:relative;z-index:1;}
.spotlight-col h3{font-size:28px;margin-bottom:14px;font-weight:600;}
.spotlight-col p{color:#C8CFCE;font-size:15px;margin-bottom:22px;}
.spotlight-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--amber);}

/* NEWSLETTER */
.newsletter{background:var(--teal-light);border-radius:40px;padding:70px;text-align:center;}
.newsletter h2{font-size:36px;max-width:560px;margin:0 auto 16px;font-weight:600;}
.newsletter p{color:var(--ink-soft);max-width:460px;margin:0 auto 30px;}
.newsletter-form{display:flex;gap:12px;max-width:440px;margin:0 auto;}
.newsletter-form input{flex:1;padding:16px 20px;border-radius:100px;border:1px solid var(--line);font-size:15px;font-family:inherit;}
.newsletter-form button{background:var(--teal);color:white;padding:16px 28px;border-radius:100px;font-weight:700;border:none;font-size:15px;}

/* BREADCRUMB */
.breadcrumb{padding:22px 32px 0;font-size:13px;color:var(--ink-soft);font-weight:600;}
.breadcrumb .wrap{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.breadcrumb a:hover{color:var(--coral-dark);}
.breadcrumb .sep{opacity:0.5;}

/* ARTICLE HEADER */
.article-header{padding:28px 32px 0;}
.article-header .wrap{max-width:820px;}
.cat-pill{display:inline-flex;align-items:center;gap:8px;background:var(--pink);color:#6E0F2A;font-weight:800;font-size:13px;padding:8px 16px;border-radius:100px;margin-bottom:22px;}
.article-header h1{font-size:46px;line-height:1.08;font-weight:700;}
.article-lead{font-size:19px;color:var(--ink-soft);margin-top:22px;max-width:680px;}
.article-meta{display:flex;align-items:center;gap:16px;margin-top:32px;padding-bottom:32px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--pink));flex-shrink:0;}
.article-meta .who b{display:block;font-size:14px;}
.article-meta .who span{font-size:13px;color:var(--ink-soft);}
.article-meta .stats{margin-left:auto;display:flex;gap:18px;font-size:13px;color:var(--ink-soft);}
.share-row{display:flex;gap:10px;}
.share-btn{width:38px;height:38px;border-radius:50%;background:white;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:15px;}

/* HERO IMAGE */
.article-hero-img{margin:36px 0 0;border-radius:var(--radius-lg);height:420px;background:linear-gradient(150deg,var(--lilac) 0%, var(--pink) 60%, var(--amber) 100%);background-size:cover;background-position:center;position:relative;overflow:hidden;}
.article-hero-img::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 20%, rgba(255,255,255,0.25), transparent 50%);}

/* BODY LAYOUT */
.article-body-section{padding:56px 32px 0;}
.article-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 720px 1fr;gap:40px;}
.toc-col{position:sticky;top:100px;align-self:start;}
.toc-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-soft);margin-bottom:16px;}
.toc-list{display:flex;flex-direction:column;gap:12px;border-left:2px solid var(--line);}
.toc-list a{font-size:14px;color:var(--ink-soft);padding:2px 0 2px 16px;border-left:2px solid transparent;margin-left:-2px;}
.toc-list a:hover{color:var(--coral-dark);}

.prose{font-size:18px;color:var(--ink);}
.prose h2{font-size:29px;font-weight:600;margin:44px 0 18px;}
.prose h3{font-size:22px;font-weight:600;margin:32px 0 14px;}
.prose p{margin:0 0 22px;}
.prose ul,.prose ol{margin:0 0 22px;padding-left:22px;}
.prose li{margin-bottom:10px;}
.prose blockquote{background:var(--teal-light);border-radius:var(--radius-md);padding:32px 36px;margin:36px 0;border-left:5px solid var(--teal);}
.prose blockquote p{font-family:'Fraunces',serif;font-size:23px;font-weight:500;color:var(--teal);margin:0;line-height:1.35;}

.tags-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:40px;}
.tag-chip{background:var(--cream-2);color:var(--ink-soft);font-weight:700;font-size:13px;padding:8px 16px;border-radius:100px;}

/* AUTHOR BOX */
.author-box{display:flex;gap:20px;align-items:center;background:white;border:1px solid var(--line);border-radius:var(--radius-md);padding:26px;margin-top:40px;}
.author-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--teal),#1D9E75);flex-shrink:0;}
.author-box h4{font-family:'Fraunces',serif;font-size:18px;}
.author-box p{font-size:14px;color:var(--ink-soft);margin:6px 0 0;}

/* RIGHT RAIL */
.rail-col{position:sticky;top:100px;align-self:start;display:flex;flex-direction:column;gap:28px;}
.rail-card{background:white;border:1px solid var(--line);border-radius:var(--radius-md);padding:24px;}
.rail-card h4{font-size:12px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-soft);margin-bottom:16px;}
.rail-article{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);}
.rail-article:last-child{border-bottom:none;padding-bottom:0;}
.rail-article:first-child{padding-top:0;}
.rail-thumb{width:56px;height:56px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:22px;background-size:cover;background-position:center;}
.rail-article h5{font-family:'Fraunces',serif;font-size:14.5px;font-weight:600;line-height:1.3;}
.rail-newsletter{background:var(--ink);color:white;border-radius:var(--radius-md);padding:26px;}
.rail-newsletter h4{color:var(--amber);font-size:12px;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:12px;}
.rail-newsletter p{font-size:14px;color:#C8CFCE;margin:0 0 16px;}
.rail-newsletter input{width:100%;padding:12px 14px;border-radius:100px;border:none;font-size:14px;margin-bottom:10px;font-family:inherit;}
.rail-newsletter button{width:100%;background:var(--coral);color:white;padding:12px;border-radius:100px;font-weight:700;border:none;font-size:14px;}

/* RELATED / ARCHIVE CARDS */
.related-section{padding:80px 32px 90px;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.related-card{border-radius:var(--radius-lg);overflow:hidden;background:white;border:1px solid var(--line);}
.related-card-img{height:170px;display:flex;align-items:flex-end;padding:18px;background-size:cover;background-position:center;}
.related-card-tag{background:white;font-weight:800;font-size:11px;padding:6px 12px;border-radius:100px;}
.related-card-body{padding:20px;}
.related-card h4{font-family:'Fraunces',serif;font-size:18px;line-height:1.25;margin-bottom:8px;}
.related-card-meta{font-size:12px;color:var(--ink-soft);}

/* ARCHIVE / 404 */
.archive-header{padding:70px 32px 20px;text-align:center;}
.archive-header h1{font-size:40px;}
.archive-header p{color:var(--ink-soft);margin-top:12px;}
.error-404{padding:120px 32px;text-align:center;}
.error-404 h1{font-size:90px;color:var(--coral);}
.error-404 p{color:var(--ink-soft);font-size:18px;margin:16px 0 30px;}

footer{padding:70px 32px 40px;border-top:1px solid var(--line);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px;}
.footer-grid h4{font-size:14px;font-weight:800;margin-bottom:16px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.05em;}
.footer-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--ink-soft);}
.footer-bottom{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:26px;flex-wrap:wrap;gap:10px;}

@media(max-width:1050px){
  .article-grid{grid-template-columns:1fr;}
  .toc-col,.rail-col{position:static;}
  .toc-list{display:flex;flex-wrap:wrap;border-left:none;gap:8px;}
  .toc-list a{border:1px solid var(--line);border-radius:100px;padding:8px 14px;border-left:1px solid var(--line);}
}
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;}
  .topics{grid-template-columns:repeat(2,1fr);}
  .articles-mag{grid-template-columns:1fr;}
  .spotlight{grid-template-columns:1fr;padding:40px 28px;}
  .newsletter{padding:40px 24px;}
  .newsletter-form{flex-direction:column;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .hero h1{font-size:38px;}
  .section-head{flex-direction:column;align-items:flex-start;}
}
@media(max-width:700px){
  .article-header h1{font-size:32px;}
  .related-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .article-meta{flex-wrap:wrap;}
  .article-meta .stats{margin-left:0;}
}
