/*
Theme Name: Imperio Anime 2026
Theme URI: https://www.imperioanime.com
Author: Imperio Anime
Author URI: https://www.imperioanime.com
Description: Rediseño editorial oscuro de Imperio Anime — anime, manga y cultura pop del Japón desde Costa Rica. Cromo oscuro para navegar, superficie clara para leer.
Version: 1.0.0
Requires at least: 5.9
Requires PHP: 7.4
Tested up to: 6.7
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: imperio-anime-2026
Tags: dark, editorial, news, blog, e-commerce, custom-menu, featured-images, translation-ready
*/

/* ==========================================================================
   00. TOKENS
   ========================================================================== */

:root{
  --ia-bg:#0A090B;
  --ia-surface:#17161A;
  --ia-surface-2:#0F0E11;
  --ia-black:#000000;
  --ia-accent:#E03A2F;
  --ia-shop:#D9A441;
  --ia-shop-ink:#231B08;
  --ia-paper:#F6F3EE;
  --ia-paper-2:#EBE6DE;
  --ia-paper-3:#E6E1DA;

  --ia-text:#F4F1EC;
  --ia-text-dim:#C9C4BF;
  --ia-text-dimmer:#9C9691;
  --ia-text-dimmest:#6E6A72;
  --ia-text-faint:#4A464E;

  --ia-ink:#141216;
  --ia-ink-dim:#5C5751;
  --ia-ink-dimmer:#8A837C;

  --ia-border:rgba(255,255,255,.09);
  --ia-border-strong:rgba(255,255,255,.18);
  --ia-border-paper:rgba(20,18,22,.12);

  --ia-font-sans:'Archivo',Helvetica,Arial,sans-serif;
  --ia-font-serif:'Source Serif 4',Georgia,serif;
  --ia-font-mono:'JetBrains Mono',ui-monospace,Consolas,monospace;

  --ia-container:1240px;
  --ia-gutter:24px;
  --ia-radius:6px;
  --ia-radius-sm:3px;
}

/* ==========================================================================
   01. RESET / BASE
   ========================================================================== */

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--ia-bg);
  color:var(--ia-text);
  font-family:var(--ia-font-sans);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
a:hover{ color:var(--ia-accent); }
::selection{ background:var(--ia-accent); color:#fff; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
input,button{ font-size:inherit; }

.ia-container{
  width:100%;
  max-width:var(--ia-container);
  margin:0 auto;
  padding:0 var(--ia-gutter);
}
.screen-reader-text{
  position:absolute !important;
  width:1px; height:1px;
  overflow:hidden;
  clip:rect(1px,1px,1px,1px);
}
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:1000;
  background:var(--ia-accent); color:#fff; padding:12px 20px;
}
.skip-link:focus{ left:16px; top:16px; }

/* ==========================================================================
   02. HEADER
   ========================================================================== */

.ia-topbar{
  height:36px;
  background:var(--ia-black);
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid var(--ia-border);
  padding:0 var(--ia-gutter);
}
.ia-topbar-label{
  color:#8C8790; font-family:var(--ia-font-mono);
  font-size:11px; letter-spacing:.14em;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ia-topbar-links{ display:flex; gap:20px; align-items:center; flex-shrink:0; }
.ia-inline-menu,.ia-inline-menu li{ display:contents; }
.ia-topbar-links a{
  color:#8C8790; font-family:var(--ia-font-mono);
  font-size:11px; letter-spacing:.1em;
}

.ia-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px var(--ia-gutter);
  border-bottom:1px solid var(--ia-border);
  gap:24px;
}
.ia-brand{ display:flex; align-items:center; gap:14px; }
.ia-brand-mark{
  width:40px; height:40px; border-radius:var(--ia-radius-sm);
  background:var(--ia-accent);
  display:inline-flex; align-items:center; justify-content:center;
  color:#fff; font-weight:800; font-size:20px; letter-spacing:-.04em;
  flex-shrink:0;
}
.ia-brand-text{ display:flex; flex-direction:column; gap:2px; }
.ia-brand-name{
  color:var(--ia-text); font-size:22px; font-weight:800;
  letter-spacing:-.03em; line-height:1;
}
.ia-brand-tag{
  color:var(--ia-text-dimmest); font-family:var(--ia-font-mono);
  font-size:10px; letter-spacing:.22em;
}

.ia-nav{ display:flex; align-items:center; gap:30px; }
.ia-nav ul{ display:flex; align-items:center; gap:30px; }
.ia-nav a{
  color:var(--ia-text-dim); font-size:14px; font-weight:500;
  padding-bottom:2px; border-bottom:2px solid transparent;
}
.ia-nav li.current-menu-item > a,
.ia-nav a.is-active{
  color:var(--ia-text); font-weight:600; border-bottom-color:var(--ia-accent);
}
.ia-nav li.ia-nav-shop > a{ color:var(--ia-shop); font-weight:600; border-bottom-color:transparent; }

.ia-search-btn{
  display:inline-flex; align-items:center; gap:8px; height:36px; padding:0 14px;
  border:1px solid var(--ia-border-strong); border-radius:2px;
  background:transparent; color:#8C8790;
  font-family:var(--ia-font-mono); font-size:11px; letter-spacing:.1em;
}
.ia-header-actions{ display:flex; align-items:center; gap:16px; }
.ia-menu-toggle{
  display:none; background:none; border:0; color:var(--ia-text);
  font-size:22px; line-height:1; padding:4px;
}

.ia-ticker{
  height:34px; background:#141216; border-bottom:1px solid var(--ia-border);
  display:flex; align-items:center; gap:14px; padding:0 var(--ia-gutter);
  overflow:hidden; white-space:nowrap;
}
.ia-ticker-live{
  font-family:var(--ia-font-mono); font-size:10px; letter-spacing:.14em;
  color:var(--ia-accent); flex-shrink:0;
}
.ia-ticker-sep{ width:1px; height:14px; background:var(--ia-border-strong); flex-shrink:0; }
.ia-ticker-items{ display:flex; align-items:center; gap:14px; overflow:hidden; }
.ia-ticker-items a{ color:#C9C4BF; font-size:13px; }
.ia-ticker-items a:first-child{ color:#8C8790; }
.ia-ticker-dot{ color:#4A464E; font-size:13px; }

/* ==========================================================================
   03. FOOTER
   ========================================================================== */

.ia-footer{ background:var(--ia-black); padding:52px 0 34px; }
.ia-footer-grid{
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px;
  padding-bottom:36px;
}
.ia-footer-brand{ color:var(--ia-text); font-size:22px; font-weight:800; letter-spacing:-.03em; }
.ia-footer-desc{ color:#8C8790; font-size:14px; line-height:1.6; max-width:320px; margin-top:14px; }
.ia-footer-col{ display:flex; flex-direction:column; gap:12px; }
.ia-footer-col-title{
  color:var(--ia-text-dimmest); font-family:var(--ia-font-mono);
  font-size:10px; letter-spacing:.16em; margin-bottom:2px;
}
.ia-footer-col a{ color:var(--ia-text-dim); font-size:14px; }
.ia-footer-bottom{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  padding-top:22px; border-top:1px solid var(--ia-border);
}
.ia-footer-bottom span, .ia-footer-bottom a{
  color:var(--ia-text-faint); font-family:var(--ia-font-mono); font-size:11px;
}

.ia-mobile-nav{
  display:none;
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  height:60px; border-top:1px solid var(--ia-border);
  background:var(--ia-black);
  align-items:center; justify-content:space-around; padding:0 var(--ia-gutter);
}
.ia-mobile-nav a,.ia-mobile-nav button{
  color:#8C8790; font-size:11px; font-family:var(--ia-font-mono); letter-spacing:.08em;
  background:none; border:0; padding:0;
}
.ia-mobile-nav a.is-active{ color:var(--ia-accent); }

/* ==========================================================================
   04. LAYOUT / GRID HELPERS
   ========================================================================== */

.ia-section{ padding:44px 0; border-bottom:1px solid var(--ia-border); }
.ia-section-head{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:26px; gap:20px; }
.ia-eyebrow{ color:var(--ia-accent); font-family:var(--ia-font-mono); font-size:11px; letter-spacing:.16em; }
.ia-section-title{ color:var(--ia-text); font-size:30px; font-weight:800; letter-spacing:-.03em; }
.ia-section-link{
  display:inline-flex; align-items:center; height:40px; padding:0 18px;
  border:1px solid var(--ia-border-strong); border-radius:2px;
  color:var(--ia-text); font-size:14px; font-weight:600; white-space:nowrap;
}
.ia-tab-title{
  color:var(--ia-text); font-size:15px; font-weight:800; letter-spacing:.04em;
  text-transform:uppercase; padding-bottom:12px; border-bottom:2px solid var(--ia-accent);
  display:flex; align-items:center; justify-content:space-between; margin-bottom:20px;
}
.ia-tab-title small{
  color:var(--ia-text-dimmest); font-family:var(--ia-font-mono);
  font-size:11px; letter-spacing:0; text-transform:none; font-weight:400;
}

.ia-pill{
  display:inline-flex; align-items:center; height:26px; padding:0 10px;
  border-radius:13px; font-family:var(--ia-font-mono); font-size:11px; letter-spacing:.08em;
  background:rgba(255,255,255,.08); color:var(--ia-text);
}
.ia-label{
  font-family:var(--ia-font-mono); font-size:10px; letter-spacing:.14em;
  color:var(--ia-accent); text-transform:uppercase;
}
.ia-label--noticias{ background:var(--ia-accent); color:#fff; padding:6px 10px; border-radius:var(--ia-radius-sm); }
.ia-label--tienda{ background:var(--ia-shop); color:var(--ia-shop-ink); padding:6px 10px; border-radius:var(--ia-radius-sm); }
.ia-label--outline{ background:rgba(255,255,255,.08); color:var(--ia-text); padding:6px 10px; border-radius:var(--ia-radius-sm); }

/* ==========================================================================
   05. HOME — HERO + GRID
   ========================================================================== */

.ia-home-grid{ display:grid; grid-template-columns:1fr 372px; gap:40px; align-items:start; padding:40px 0; }
.ia-hero{
  position:relative; border-radius:var(--ia-radius); overflow:hidden;
  background:var(--ia-surface); min-height:452px; display:flex; align-items:flex-end;
}
.ia-hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ia-hero::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(10,9,11,.15) 0%,rgba(10,9,11,.55) 45%,rgba(10,9,11,.96) 100%);
}
.ia-hero-body{ position:relative; z-index:1; padding:36px; display:flex; flex-direction:column; gap:14px; }
.ia-hero-meta{ display:flex; align-items:center; gap:12px; }
.ia-hero-meta .ia-eyebrow{ color:var(--ia-text-dim); }
.ia-hero-title{
  color:#fff; font-size:clamp(30px,4.5vw,56px); font-weight:800;
  letter-spacing:-.03em; line-height:1.05; max-width:760px; text-wrap:pretty;
}
.ia-hero-excerpt{ color:#D6D1CB; font-size:17px; line-height:1.55; max-width:640px; text-wrap:pretty; }

.ia-card-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:32px; }
.ia-card{ display:flex; flex-direction:column; gap:12px; }
.ia-card-thumb{ height:150px; border-radius:4px; overflow:hidden; background:var(--ia-surface); }
.ia-card-thumb img{ width:100%; height:100%; object-fit:cover; }
.ia-card-title{
  color:var(--ia-text); font-size:19px; font-weight:700; line-height:1.25;
  letter-spacing:-.015em; text-wrap:pretty;
}
.ia-card-date{ color:var(--ia-text-dimmest); font-family:var(--ia-font-mono); font-size:11px; }

.ia-sidebar-head{
  display:flex; align-items:center; justify-content:space-between;
  padding-bottom:14px; border-bottom:2px solid var(--ia-accent);
}
.ia-sidebar-head span:first-child{ color:var(--ia-text); font-size:15px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.ia-sidebar-head a{ color:var(--ia-text-dimmest); font-family:var(--ia-font-mono); font-size:11px; }
.ia-latest-list{ display:flex; flex-direction:column; }
.ia-latest-item{ display:flex; gap:14px; padding:18px 0; border-bottom:1px solid var(--ia-border); }
.ia-latest-item:last-child{ border-bottom:0; }
.ia-latest-time{ color:var(--ia-accent); font-family:var(--ia-font-mono); font-size:11px; padding-top:3px; min-width:44px; }
.ia-latest-title{ color:var(--ia-text); font-size:15px; font-weight:600; line-height:1.35; text-wrap:pretty; }

.ia-newsletter{
  margin-top:24px; background:var(--ia-surface); border:1px solid var(--ia-border);
  border-radius:var(--ia-radius); padding:26px; display:flex; flex-direction:column; gap:14px;
}
.ia-newsletter-title{ color:var(--ia-text); font-size:22px; font-weight:800; letter-spacing:-.02em; line-height:1.2; text-wrap:pretty; }
.ia-newsletter-desc{ color:var(--ia-text-dimmer); font-size:14px; line-height:1.5; }
.ia-newsletter-form{ display:flex; gap:8px; margin-top:4px; }
.ia-newsletter-form input[type="email"]{
  flex:1; height:42px; border:1px solid var(--ia-border-strong); border-radius:2px;
  background:transparent; padding:0 12px; color:var(--ia-text); font-size:14px;
}
.ia-newsletter-form button{
  display:inline-flex; align-items:center; height:42px; padding:0 18px;
  background:var(--ia-accent); color:#fff; border:0; border-radius:2px; font-size:14px; font-weight:600;
}

.ia-ad-slot{
  margin-top:24px; /*border:1px dashed var(--ia-border-strong); border-radius:var(--ia-radius);*/
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  /*background:repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 8px,transparent 8px 16px);*/
  min-height:250px; overflow:hidden;
}
.ia-ad-slot .ia-ad-fallback{
  color:var(--ia-text-dimmest); font-family:var(--ia-font-mono); font-size:11px; letter-spacing:.14em;
}
.ia-ad-slot > *{ max-width:100%; }

/* ==========================================================================
   06. VIDEO / DOCUMENTALES ROW
   ========================================================================== */

.ia-video-row{ background:var(--ia-black); padding:44px 0; }
.ia-video-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ia-video-card{ display:flex; flex-direction:column; gap:14px; }
.ia-video-thumb{ position:relative; aspect-ratio:16/9; border-radius:4px; overflow:hidden; background:var(--ia-surface); }
.ia-video-thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.8; }
.ia-play-btn{
  position:absolute; left:16px; bottom:16px; width:46px; height:46px; border-radius:50%;
  background:var(--ia-accent); display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:15px; border:0;
}
.ia-video-thumb.is-centered .ia-play-btn{ left:50%; top:50%; bottom:auto; transform:translate(-50%,-50%); width:84px; height:84px; font-size:28px; }
.ia-video-duration{
  position:absolute; right:12px; bottom:12px; background:rgba(0,0,0,.78); color:var(--ia-text);
  font-family:var(--ia-font-mono); font-size:11px; padding:4px 7px; border-radius:2px;
}
.ia-video-title{ color:var(--ia-text); font-size:18px; font-weight:700; line-height:1.3; letter-spacing:-.015em; text-wrap:pretty; }

/* ==========================================================================
   07. ARTICULOS + CULTURA JAPON
   ========================================================================== */

.ia-split-section{ padding:44px 0; border-bottom:1px solid var(--ia-border); }
.ia-split-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.ia-list-post{ display:flex; gap:18px; padding:20px 0; border-bottom:1px solid var(--ia-border); }
.ia-list-post:last-child{ border-bottom:0; padding-bottom:0; }
.ia-list-post-thumb{ width:132px; height:88px; border-radius:3px; overflow:hidden; flex-shrink:0; background:var(--ia-surface); }
.ia-list-post-thumb img{ width:100%; height:100%; object-fit:cover; }
.ia-list-post-body{ display:flex; flex-direction:column; gap:7px; }
.ia-list-post-title{ color:var(--ia-text); font-size:17px; font-weight:700; line-height:1.3; text-wrap:pretty; }

.ia-culture-feature{ position:relative; height:320px; border-radius:var(--ia-radius); overflow:hidden; background:var(--ia-surface); }
.ia-culture-feature img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ia-culture-feature::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(10,9,11,0) 35%,rgba(10,9,11,.94) 100%);
}
.ia-culture-body{ position:relative; z-index:1; padding: 250px 26px 26px; display:flex; flex-direction:column; gap:8px; margin-top:auto; }
.ia-culture-title{ color:#fff; font-size:26px; font-weight:800; letter-spacing:-.02em; line-height:1.15; text-wrap:pretty; }

/* ==========================================================================
   08. TIENDA (HOME STRIP + WOOCOMMERCE)
   ========================================================================== */

.ia-shop-strip{ padding:44px 0; background:var(--ia-surface-2); }
.ia-shop-strip-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; flex-wrap:wrap; gap:14px; }
.ia-shop-strip-heading{ display:flex; align-items:center; gap:14px; }
.ia-shop-strip-title{ color:var(--ia-text); font-size:30px; font-weight:800; letter-spacing:-.03em; }
.ia-shop-strip-desc{ color:var(--ia-text-dimmer); font-size:15px; line-height:1.55; max-width:640px; margin-bottom:26px; }
.ia-btn-gold{
  display:inline-flex; align-items:center; height:40px; padding:0 18px;
  background:var(--ia-shop); color:var(--ia-shop-ink); border-radius:2px; font-size:14px; font-weight:700; border:0;
}

.ia-product-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.ia-product-card{ display:flex; flex-direction:column; gap:12px; }
.ia-product-thumb{ position:relative; aspect-ratio:1; border-radius:4px; overflow:hidden; background:var(--ia-paper); }
.ia-product-thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ia-product-stock{
  position:absolute; left:8px; top:8px; background:var(--ia-accent); color:#fff;
  font-family:var(--ia-font-mono); font-size:10px; letter-spacing:.08em; padding:4px 7px; border-radius:2px;
}
.ia-product-title{ color:var(--ia-text); font-size:14px; font-weight:600; line-height:1.35; }
.ia-product-price{ color:var(--ia-shop); font-family:var(--ia-font-mono); font-size:14px; }
.ia-product-row{ display:flex; align-items:center; justify-content:space-between; }
.ia-product-add{
  display:inline-flex; align-items:center; height:34px; padding:0 14px;
  background:rgba(217,164,65,.14); color:var(--ia-shop); border-radius:2px; font-size:13px; font-weight:600; border:0;
}

/* WooCommerce archive re-skin */
.ia-woo-banner{
  background:var(--ia-shop); padding:16px 0; display:flex; align-items:center; gap:14px;
}
.ia-woo-banner .ia-container{ display:flex; align-items:center; gap:14px; }
.ia-woo-banner-label{ color:var(--ia-shop-ink); font-family:var(--ia-font-mono); font-size:11px; letter-spacing:.14em; font-weight:500; }
.ia-woo-banner-sep{ width:1px; height:16px; background:rgba(35,27,8,.3); }
.ia-woo-banner-text{ color:var(--ia-shop-ink); font-size:15px; font-weight:600; }

.woocommerce h1.page-title{
  color:var(--ia-text); font-size:clamp(34px,5vw,56px); font-weight:800;
  letter-spacing:-.04em; line-height:1; margin:44px 0 30px; padding-bottom:30px;
  border-bottom:1px solid var(--ia-border);
}
.ia-shop-header{ padding:0 0 30px; }
.ia-shop-header p{ color:var(--ia-text-dimmer); font-size:16px; line-height:1.55; max-width:560px; margin:0; }

.woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:26px; padding:36px 0 52px; }
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none !important;}
.woocommerce ul.products li.product{
  width:auto !important; margin:0 !important; float:none !important;
}
.woocommerce ul.products li.product img{ border-radius:4px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:var(--ia-text); font-size:16px; font-weight:600; line-height:1.35; margin-top:12px;
}
.woocommerce ul.products li.product .price{ color:var(--ia-shop) !important; font-family:var(--ia-font-mono); font-size:16px; }
.woocommerce ul.products li.product .button{
  background:rgba(217,164,65,.14); color:var(--ia-shop); border-radius:2px; font-size:13px; font-weight:600;
}
.woocommerce span.onsale{ background:var(--ia-accent); border-radius:2px; }

/* ==========================================================================
   09. ARTICLE / DOCUMENTAL (SINGLE)
   ========================================================================== */

body.ia-surface-paper{ background:var(--ia-paper); color:var(--ia-ink); }
body.ia-surface-paper .ia-header,
body.ia-surface-paper .ia-topbar,
body.ia-surface-paper .ia-ticker{ background:var(--ia-bg); }

.ia-article-progress{ height:3px; background:rgba(224,58,47,.15); }
.ia-article-progress span{ display:block; height:3px; background:var(--ia-accent); width:0%; }

.ia-article-head{ padding:56px 0 0; display:flex; flex-direction:column; align-items:center; }
.ia-article-head-inner{ width:100%; max-width:760px; display:flex; flex-direction:column; gap:20px; }
.ia-article-kicker{ color:var(--ia-ink-dimmer); font-family:var(--ia-font-mono); font-size:11px; letter-spacing:.14em; }
.ia-article-title{ color:var(--ia-ink); font-size:clamp(32px,5vw,52px); font-weight:800; letter-spacing:-.035em; line-height:1.05; text-wrap:pretty; }
.ia-article-excerpt{ color:var(--ia-ink-dim); font-family:var(--ia-font-serif); font-size:21px; line-height:1.5; text-wrap:pretty; }
.ia-article-meta{
  display:flex; align-items:center; gap:14px; padding:18px 0; margin-top:8px;
  border-top:1px solid var(--ia-border-paper); border-bottom:1px solid var(--ia-border-paper);
}
.ia-article-avatar{
  width:38px; height:38px; border-radius:50%; background:var(--ia-ink); color:var(--ia-paper);
  display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; flex-shrink:0;
  overflow:hidden;
}
.ia-article-avatar img{ width:100%; height:100%; object-fit:cover; }
.ia-article-author{ color:var(--ia-ink); font-size:14px; font-weight:600; }
.ia-article-date{ color:var(--ia-ink-dimmer); font-family:var(--ia-font-mono); font-size:11px; }
.ia-share{ margin-left:auto; display:flex; gap:8px; }
.ia-share a{
  width:32px; height:32px; border:1px solid var(--ia-border-paper); border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center; color:var(--ia-ink-dim); font-size:12px;
}

.ia-article-figure{ padding:32px 0 0; display:flex; justify-content:center; }
.ia-article-figure-inner{ width:100%; max-width:1000px; border-radius:var(--ia-radius); overflow:hidden; background:var(--ia-paper-3); }
.ia-article-figure img{ width:100%; height:auto; object-fit:cover; }

.ia-article-body-wrap{ padding:44px 0 60px; display:grid; grid-template-columns:1fr minmax(0,760px) 1fr; gap:40px; align-items:start; }
.ia-article-toc{ display:flex; flex-direction:column; gap:10px; position:sticky; top:20px; }
.ia-article-toc-title{ color:var(--ia-ink-dimmer); font-family:var(--ia-font-mono); font-size:10px; letter-spacing:.16em; }
.ia-article-toc a{ color:var(--ia-ink-dimmer); font-size:13px; padding-left:12px; }
.ia-article-toc a.is-first{ color:var(--ia-ink); font-weight:600; border-left:2px solid var(--ia-accent); padding-left:10px; }

.ia-entry-content{ color:var(--ia-ink-dim); font-family:var(--ia-font-serif); font-size:19px; line-height:1.75; display:flex; flex-direction:column; gap:26px; }
.ia-entry-content p{ margin:0; text-wrap:pretty; color:#231F26; }
.ia-entry-content > *:first-child::first-letter{
  float:left; font-size:74px; line-height:.82; font-weight:600; padding:6px 12px 0 0; color:var(--ia-accent);
}
.ia-entry-content h2,.ia-entry-content h3{
  font-family:var(--ia-font-sans); color:var(--ia-ink); font-size:26px; font-weight:800;
  letter-spacing:-.025em; padding-top:10px; margin:0; scroll-margin-top:100px;
}
.ia-entry-content blockquote{
  border-left:3px solid var(--ia-accent); padding:6px 0 6px 24px; margin:6px 0;
  font-family:var(--ia-font-serif); font-size:26px; font-style:italic; line-height:1.4; color:var(--ia-ink); text-wrap:pretty;
}
.ia-entry-content blockquote p{ color:inherit; margin:0; }
.ia-entry-content figure,.ia-entry-content img{ border-radius:var(--ia-radius); }
.ia-entry-content a{ color:var(--ia-accent); text-decoration:underline; }

.ia-related-inline{ background:var(--ia-paper-2); border-radius:var(--ia-radius); padding:26px; display:flex; flex-direction:column; gap:12px; margin:8px 0; }
.ia-related-inline .ia-article-toc-title{ color:var(--ia-ink-dimmer); }
.ia-related-inline-title{ color:var(--ia-ink); font-size:20px; font-weight:700; line-height:1.3; text-wrap:pretty; }

.ia-tag-list{ display:flex; flex-wrap:wrap; gap:8px; padding-top:20px; border-top:1px solid var(--ia-border-paper); margin-top:14px; }
.ia-tag-list a{
  font-family:var(--ia-font-mono); font-size:11px; padding:7px 11px; background:var(--ia-paper-3);
  border-radius:3px; color:var(--ia-ink-dim);
}

.ia-article-aside{ display:flex; flex-direction:column; gap:20px; }
.ia-article-aside .ia-ad-slot{ margin-top:0; min-height:600px; border-color:var(--ia-border-paper); }
.ia-article-aside .ia-ad-slot .ia-ad-fallback{ color:var(--ia-ink-dimmer); }

.ia-related-band{ background:var(--ia-bg); padding:44px 0; }
.ia-related-band .ia-tab-title{ text-transform:uppercase; }

/* Documental (video single) */
.ia-doc-grid{ padding:40px 0; display:grid; grid-template-columns:1fr 372px; gap:40px; align-items:start; }
.ia-doc-main{ display:flex; flex-direction:column; gap:26px; }
.ia-doc-aside{ display:flex; flex-direction:column; gap:24px; }
.ia-doc-player{ position:relative; aspect-ratio:16/9; border-radius:var(--ia-radius); overflow:hidden; background:#000; }
.ia-doc-player img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.72; }
.ia-doc-player iframe,.ia-doc-player video{ position:relative; width:100%; height:100%; z-index:1; }
.ia-doc-title{ color:var(--ia-text); font-size:clamp(28px,4vw,42px); font-weight:800; letter-spacing:-.035em; line-height:1.05; text-wrap:pretty; }
.ia-doc-excerpt{ color:var(--ia-text-dimmer); font-size:18px; line-height:1.6; text-wrap:pretty; }
.ia-doc-chapters{ display:flex; flex-direction:column; border-top:1px solid var(--ia-border); padding-top:26px; }
.ia-doc-chapters-title{ color:var(--ia-text-dimmest); font-family:var(--ia-font-mono); font-size:10px; letter-spacing:.16em; margin-bottom:14px; }
.ia-doc-chapter{ display:flex; gap:16px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.07); }
.ia-doc-chapter a{ color:var(--ia-text); font-size:15px; }
.ia-doc-body{ color:var(--ia-text-dim); font-family:var(--ia-font-serif); font-size:18px; line-height:1.75; border-top:1px solid var(--ia-border); padding-top:26px; text-wrap:pretty; }
.ia-doc-subscribe{ background:var(--ia-surface); border:1px solid var(--ia-border); border-radius:var(--ia-radius); padding:24px; display:flex; flex-direction:column; gap:14px; }
.ia-doc-subscribe-btn{ display:inline-flex; align-items:center; justify-content:center; height:44px; background:var(--ia-accent); color:#fff; border-radius:2px; font-size:14px; font-weight:600; border:0; }

/* ==========================================================================
   10. ARCHIVE / INDICE
   ========================================================================== */

.ia-archive-head{ padding:48px 0 30px; border-bottom:1px solid var(--ia-border); display:flex; flex-direction:column; gap:18px; }
.ia-breadcrumb{ color:var(--ia-text-dimmest); font-family:var(--ia-font-mono); font-size:11px; letter-spacing:.14em; }
.ia-archive-title{ color:var(--ia-text); font-size:clamp(36px,6vw,64px); font-weight:800; letter-spacing:-.04em; line-height:1; }
.ia-archive-desc{ color:var(--ia-text-dimmer); font-size:17px; line-height:1.55; max-width:640px; text-wrap:pretty; }
.ia-chip-row{ display:flex; gap:10px; margin-top:10px; flex-wrap:wrap; }
.ia-chip{
  display:inline-flex; align-items:center; height:34px; padding:0 14px; border-radius:17px;
  border:1px solid var(--ia-border-strong); color:var(--ia-text-dim); font-size:13px;
}
.ia-chip.is-active{ background:var(--ia-accent); color:#fff; border-color:var(--ia-accent); font-weight:600; }

.ia-archive-grid{ padding:36px 0 48px; display:grid; grid-template-columns:1fr 300px; gap:44px; }
.ia-archive-post{ display:flex; gap:26px; padding:26px 0; border-bottom:1px solid var(--ia-border); }
.ia-archive-post:last-child{ border-bottom:0; }
.ia-archive-post-thumb{ width:280px; height:168px; border-radius:4px; overflow:hidden; flex-shrink:0; background:var(--ia-surface); }
.ia-archive-post-thumb img{ width:100%; height:100%; object-fit:cover; }
.ia-archive-post-body{ display:flex; flex-direction:column; gap:10px; }
.ia-archive-post-title{ color:var(--ia-text); font-size:28px; font-weight:800; letter-spacing:-.025em; line-height:1.15; text-wrap:pretty; }
.ia-archive-post-excerpt{ color:var(--ia-text-dimmer); font-size:15px; line-height:1.55; text-wrap:pretty; }
.ia-archive-post-meta{ color:var(--ia-text-dimmest); font-family:var(--ia-font-mono); font-size:11px; margin-top:auto; }

.ia-pagination{ display:flex; justify-content:center; gap:8px; padding-top:36px; }
.ia-pagination a,.ia-pagination span{
  min-width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--ia-border-strong); color:var(--ia-text-dim); font-size:14px; border-radius:2px; padding:0 10px;
}
.ia-pagination .current{ background:var(--ia-accent); color:#fff; border-color:var(--ia-accent); }

.ia-most-read{ background:var(--ia-surface); border-radius:var(--ia-radius); padding:22px; display:flex; flex-direction:column; gap:16px; }
.ia-most-read-title{ color:var(--ia-text-dimmest); font-family:var(--ia-font-mono); font-size:10px; letter-spacing:.16em; }
.ia-most-read-item{ display:flex; gap:12px; align-items:flex-start; }
.ia-most-read-rank{ color:var(--ia-accent); font-size:22px; font-weight:800; line-height:1; }
.ia-most-read-title-text{ color:var(--ia-text); font-size:14px; font-weight:600; line-height:1.35; }

/* ==========================================================================
   11. PAGE (generic)
   ========================================================================== */

.ia-page-head{ padding:56px 0 20px; text-align:center; }
.ia-page-title{ color:var(--ia-ink); font-size:clamp(32px,5vw,48px); font-weight:800; letter-spacing:-.03em; }
.ia-page-content{ max-width:760px; margin:0 auto; padding:20px 0 60px; color:var(--ia-ink-dim); font-family:var(--ia-font-serif); font-size:19px; line-height:1.75; }
.ia-page-content h2,.ia-page-content h3{ font-family:var(--ia-font-sans); color:var(--ia-ink); }

/* ==========================================================================
   12. SEARCH FORM
   ========================================================================== */

.ia-search-modal{
  position:fixed; inset:0; z-index:100; background:rgba(10,9,11,.92);
  display:none; align-items:flex-start; justify-content:center; padding:120px 20px;
}
.ia-search-modal.is-open{ display:flex; }
.ia-search-form{ width:100%; max-width:640px; display:flex; gap:10px; }
.ia-search-form input[type="search"]{
  flex:1; height:56px; background:transparent; border:1px solid var(--ia-border-strong);
  border-radius:2px; padding:0 18px; color:var(--ia-text); font-size:18px;
}
.ia-search-form button{
  height:56px; padding:0 24px; background:var(--ia-accent); color:#fff; border:0; border-radius:2px; font-weight:600;
}
.ia-search-close{ position:absolute; top:24px; right:24px; background:none; border:0; color:var(--ia-text); font-size:28px; }

/* ==========================================================================
   13. COMMENTS
   ========================================================================== */

.ia-comments{ padding:44px 0; max-width:760px; margin:0 auto; }
.ia-comments-title{ color:var(--ia-ink); font-size:22px; font-weight:800; margin-bottom:20px; }
.ia-comment-list{ display:flex; flex-direction:column; gap:20px; }
.ia-comment{ border-top:1px solid var(--ia-border-paper); padding-top:20px; }
.ia-comment-author{ color:var(--ia-ink); font-weight:700; font-size:14px; }
.ia-comment-date{ color:var(--ia-ink-dimmer); font-family:var(--ia-font-mono); font-size:11px; margin-left:8px; }
.ia-comment-content{ color:var(--ia-ink-dim); font-size:15px; line-height:1.6; margin-top:8px; }
.ia-comment-form input[type="text"],.ia-comment-form input[type="email"],.ia-comment-form textarea{
  width:100%; border:1px solid var(--ia-border-paper); border-radius:2px; padding:10px 12px;
  font-family:inherit; font-size:14px; margin-bottom:12px; background:#fff; color:var(--ia-ink);
}
.ia-comment-form button{
  height:44px; padding:0 20px; background:var(--ia-accent); color:#fff; border:0; border-radius:2px; font-weight:600;
}

/* ==========================================================================
   14. RESPONSIVE
   ========================================================================== */

@media (max-width:1080px){
  .ia-home-grid,.ia-doc-grid{ grid-template-columns:1fr; }
  .ia-card-grid,.ia-video-grid{ grid-template-columns:repeat(2,1fr); }
  .ia-split-grid{ grid-template-columns:1fr; }
  .ia-product-grid{ grid-template-columns:repeat(3,1fr); }
  .ia-archive-grid{ grid-template-columns:1fr; }
  .ia-article-body-wrap{ grid-template-columns:1fr; }
  .ia-article-toc,.ia-article-aside{ display:none; }
  .woocommerce ul.products{ grid-template-columns:repeat(3,1fr) !important; }
}

@media (max-width:720px){
  .ia-topbar-label{ display:none; }
  .ia-nav{ display:none; }
  .ia-menu-toggle{ display:inline-flex; align-items:center; justify-content:center; }
  .ia-card-grid,.ia-video-grid{ grid-template-columns:1fr; }
  .ia-product-grid{ grid-template-columns:repeat(2,1fr); }
  .ia-footer-grid{ grid-template-columns:1fr 1fr; gap:28px; }
  .ia-mobile-nav{ display:flex; }
  body{ padding-bottom:60px; }
  .ia-article-figure-inner{ border-radius:0; }
  .ia-article-head,.ia-article-figure{ padding-left:0; padding-right:0; }
  .ia-container{ padding:0 18px; }
  .woocommerce ul.products{ grid-template-columns:repeat(2,1fr) !important; }
}

@media (min-width:721px){
  .ia-nav-drawer-backdrop{ display:none !important; }
}

.ia-nav-drawer{
  position:fixed; inset:0; z-index:90; background:var(--ia-bg);
  display:none; flex-direction:column; padding:24px var(--ia-gutter);
}
.ia-nav-drawer.is-open{ display:flex; }
.ia-nav-drawer ul{ display:flex; flex-direction:column; gap:22px; margin-top:30px; }
.ia-nav-drawer a{ color:var(--ia-text); font-size:20px; font-weight:600; }
.ia-nav-drawer-close{ align-self:flex-end; background:none; border:0; color:var(--ia-text); font-size:28px; }
