/*
Theme Name: Periodismo de Datos Magazine
Theme URI: https://www.periodismodedatos.online/
Author: FactoriaDigital
Author URI: https://factoriadigital.store/
Description: Tema editorial encajonado tipo magazine clásico para Periodismo de Datos. Portada simétrica por bloques, Hero exclusivo para categoría Portada, secciones por categorías existentes, anuncios integrados, páginas institucionales y arquitectura SEO básica.
Version: 1.0.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: periodismo-datos
Tags: news, magazine, blog, grid-layout, custom-logo, featured-images, two-columns
*/

:root{
  --pdd-bg:#e9e6dd;
  --pdd-paper:#fffdf7;
  --pdd-ink:#11151b;
  --pdd-muted:#667085;
  --pdd-line:#d8d0bf;
  --pdd-navy:#07152c;
  --pdd-navy-2:#10284d;
  --pdd-oxblood:#6f1218;
  --pdd-brass:#b88a32;
  --pdd-cream:#f6efe1;
  --pdd-shadow:0 18px 44px rgba(7,21,44,.12);
  --pdd-radius:0;
  --pdd-container:1260px;
  --pdd-title:"Georgia", "Times New Roman", serif;
  --pdd-ui:"Inter", "Segoe UI", Roboto, Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    linear-gradient(90deg, rgba(7,21,44,.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(7,21,44,.04) 1px, transparent 1px),
    var(--pdd-bg);
  background-size:34px 34px;
  color:var(--pdd-ink);
  font-family:var(--pdd-ui);
  line-height:1.62;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--pdd-oxblood)}
h1,h2,h3,h4,h5,h6{overflow-wrap:anywhere;hyphens:auto}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:.82rem;color:var(--pdd-muted);margin-top:.45rem}
.screen-reader-text{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

.pdd-shell{
  width:min(var(--pdd-container), calc(100% - 28px));
  margin:0 auto;
}
.pdd-page{
  background:var(--pdd-paper);
  border-left:1px solid var(--pdd-line);
  border-right:1px solid var(--pdd-line);
  box-shadow:var(--pdd-shadow);
  min-height:100vh;
}

/* Header */
.pdd-topbar{
  background:var(--pdd-navy);
  color:#fff;
  border-bottom:4px solid var(--pdd-brass);
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pdd-topbar .pdd-shell{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:.55rem 0;
}
.pdd-topbar strong{color:var(--pdd-brass)}
.pdd-date{opacity:.9;white-space:nowrap}
.pdd-header-main{
  background:var(--pdd-paper);
  border-bottom:1px solid var(--pdd-line);
}
.pdd-brand-row{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:1rem;
  padding:1.35rem 0 1.1rem;
}
.pdd-brand{
  grid-column:2;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.pdd-brand img,.pdd-brand svg{width:min(560px, 74vw);height:auto;max-height:116px}
.pdd-edition{
  font-family:var(--pdd-ui);
  font-size:.75rem;
  text-transform:uppercase;
  color:var(--pdd-muted);
  letter-spacing:.12em;
}
.pdd-social{justify-self:end;font-size:.8rem;color:var(--pdd-muted);text-transform:uppercase;letter-spacing:.12em}
.pdd-nav-wrap{
  background:#fffaf0;
  border-top:1px solid var(--pdd-line);
  border-bottom:3px double var(--pdd-line);
}
.pdd-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.15rem;
  min-height:48px;
  flex-wrap:wrap;
}
.pdd-nav ul{display:flex;align-items:center;justify-content:center;gap:.05rem;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.pdd-nav a{
  display:block;
  padding:.85rem .75rem;
  font-size:.79rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--pdd-ink);
}
.pdd-nav a:hover{background:var(--pdd-navy);color:#fff}
.pdd-search-link{font-size:.76rem;font-weight:800;color:var(--pdd-oxblood)}

/* Ad slots */
.pdd-ad{
  background:
    radial-gradient(circle at 20% 20%, rgba(184,138,50,.35), transparent 28%),
    linear-gradient(135deg, var(--pdd-navy), #0b0e16 58%, var(--pdd-oxblood));
  color:#fff;
  border:1px solid rgba(184,138,50,.55);
  padding:1rem;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.pdd-ad:before,.pdd-ad:after{
  content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.16);pointer-events:none
}
.pdd-ad strong{display:block;font-family:var(--pdd-title);font-size:clamp(1.2rem, 3vw, 2.25rem);letter-spacing:.08em;text-transform:uppercase;line-height:1.05}
.pdd-ad span{display:block;margin-top:.3rem;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:#ead8a9}
.pdd-ad-top{margin:1rem auto 0}
.pdd-ad-mid{margin:2.1rem 0;clear:both}
.pdd-ad-small strong{font-size:1.35rem}

/* Front page */
.pdd-main{padding:1.35rem 0 2rem}
.pdd-hero{
  border-top:8px solid var(--pdd-navy);
  border-bottom:1px solid var(--pdd-line);
  padding:1rem 0 1.5rem;
}
.pdd-section-kicker,.pdd-kicker{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  color:#fff;
  background:var(--pdd-oxblood);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  padding:.25rem .55rem;
  line-height:1;
  position:relative;
  z-index:2;
  margin:0 0 .55rem;
  max-width:100%;
}
.pdd-kicker:before,.pdd-section-kicker:before{content:"";width:.45rem;height:.45rem;background:var(--pdd-brass);display:inline-block}
.pdd-hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:1rem;
  align-items:stretch;
  margin-top:.9rem;
}
.pdd-hero-main{
  display:grid;
  grid-template-rows:auto 1fr;
  border:1px solid var(--pdd-line);
  background:#fff;
}
.pdd-hero-main .pdd-thumb{aspect-ratio:16/9;background:var(--pdd-navy)}
.pdd-hero-main .pdd-thumb img{width:100%;height:100%;object-fit:cover}
.pdd-hero-main .pdd-card-body{padding:1.15rem 1.25rem 1.25rem}
.pdd-hero-main h1{
  font-family:var(--pdd-title);
  font-size:clamp(2rem, 4vw, 3.75rem);
  line-height:1.05;
  letter-spacing:-.035em;
  margin:.55rem 0 .75rem;
  max-width:100%;
}
.pdd-excerpt{color:#344054;margin:.5rem 0 0;font-size:1rem;line-height:1.55}
.pdd-meta{
  color:var(--pdd-muted);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.pdd-hero-side{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.pdd-card{
  background:#fff;
  border:1px solid var(--pdd-line);
  display:flex;
  flex-direction:column;
  min-width:0;
}
.pdd-card .pdd-thumb{aspect-ratio:16/10;background:#d9dde7;overflow:hidden}
.pdd-card .pdd-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.pdd-card:hover .pdd-thumb img{transform:scale(1.035)}
.pdd-card-body{
  padding:.86rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.22rem;
  min-width:0;
}
.pdd-card h2,.pdd-card h3,.pdd-card h4{
  font-family:var(--pdd-title);
  line-height:1.18;
  margin:.12rem 0 .32rem;
  letter-spacing:-.015em;
  max-width:100%;
}
.pdd-card h3{font-size:clamp(1rem, 1.35vw, 1.16rem)}
.pdd-card h4{font-size:1rem}
.pdd-card .pdd-excerpt{font-size:.86rem;line-height:1.42;color:#475467}
.pdd-placeholder{
  width:100%;height:100%;min-height:120px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;background:
    linear-gradient(135deg, rgba(184,138,50,.55), transparent 36%),
    linear-gradient(135deg, var(--pdd-navy), var(--pdd-navy-2));
  font-family:var(--pdd-title);font-size:2.2rem;font-weight:800;letter-spacing:.08em;
}

.pdd-section{
  margin:2.25rem 0;
  border-top:5px solid var(--pdd-navy);
  padding-top:.95rem;
  clear:both;
}
.pdd-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:1rem;
  border-bottom:1px solid var(--pdd-line);
  padding-bottom:.85rem;
  margin-bottom:1.15rem;
}
.pdd-section-title{
  display:flex;
  align-items:center;
  gap:.7rem;
  min-width:0;
}
.pdd-section-title h2{
  font-family:var(--pdd-title);
  font-size:clamp(1.55rem, 2.6vw, 2.35rem);
  line-height:1.16;
  letter-spacing:-.02em;
  margin:0;
}
.pdd-section-title .pdd-number{
  font-family:var(--pdd-ui);
  color:var(--pdd-brass);
  font-weight:950;
  border:1px solid var(--pdd-brass);
  padding:.18rem .38rem;
  font-size:.82rem;
}
.pdd-section-link{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--pdd-oxblood)}
.pdd-section-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.1rem;
  align-items:start;
}
.pdd-feature-card{
  border:1px solid var(--pdd-line);
  background:#fff;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.pdd-feature-card .pdd-thumb{aspect-ratio:16/9;background:#d9dde7;overflow:hidden}
.pdd-feature-card .pdd-thumb img{width:100%;height:100%;object-fit:cover}
.pdd-feature-card .pdd-card-body{
  padding:1rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.22rem;
}
.pdd-feature-card h3{
  font-family:var(--pdd-title);
  font-size:clamp(1.28rem, 2.05vw, 1.7rem);
  line-height:1.14;
  margin:.1rem 0 .35rem;
  letter-spacing:-.018em;
  max-width:100%;
}
.pdd-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
.pdd-mini-card{border:1px solid var(--pdd-line);background:#fff;min-width:0;display:flex;flex-direction:column}
.pdd-mini-card .pdd-thumb{aspect-ratio:16/10;background:#d9dde7;overflow:hidden}
.pdd-mini-card .pdd-thumb img{width:100%;height:100%;object-fit:cover}
.pdd-mini-card .pdd-card-body{
  padding:.76rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.18rem;
}
.pdd-mini-card h4{
  font-family:var(--pdd-title);
  line-height:1.18;
  font-size:clamp(.95rem, 1.15vw, 1.05rem);
  margin:.08rem 0 .25rem;
  letter-spacing:-.01em;
  max-width:100%;
}
.pdd-mini-card .pdd-excerpt{font-size:.79rem;line-height:1.38;color:#4b5563;margin:.25rem 0 0}
.pdd-latest{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}

/* Title fixes: keep labels, headlines and images from colliding */
.pdd-feature-card > .pdd-thumb,
.pdd-mini-card > .pdd-thumb,
.pdd-card > .pdd-thumb{order:1}
.pdd-feature-card > .pdd-card-body,
.pdd-mini-card > .pdd-card-body,
.pdd-card > .pdd-card-body{order:2}
.pdd-feature-card h3 a,
.pdd-mini-card h4 a,
.pdd-card h3 a,
.pdd-card h4 a{display:block}
.pdd-card-body .pdd-meta{margin-top:.15rem}

/* Content pages */
.pdd-content-wrap{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 320px;
  gap:1.25rem;
  align-items:start;
}
.pdd-content-main{
  background:#fff;
  border:1px solid var(--pdd-line);
  padding:1.35rem;
}
.pdd-content-main h1{
  font-family:var(--pdd-title);
  font-size:clamp(2rem, 4.5vw, 4.2rem);
  line-height:1;
  letter-spacing:-.05em;
  margin:.4rem 0 .8rem;
}
.pdd-entry-image{margin:1rem 0;border:1px solid var(--pdd-line)}
.pdd-entry-content{font-family:var(--pdd-ui);font-size:1.05rem;color:#182230}
.pdd-entry-content p{margin:0 0 1.1rem}
.pdd-entry-content h2,.pdd-entry-content h3{font-family:var(--pdd-title);line-height:1.1;letter-spacing:-.025em;margin:1.4rem 0 .7rem}
.pdd-entry-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;color:var(--pdd-oxblood)}
.pdd-entry-content blockquote{
  border-left:5px solid var(--pdd-brass);
  margin:1.2rem 0;
  padding:.2rem 1rem;
  color:#344054;
  background:var(--pdd-cream);
}
.pdd-data-box{
  margin:1rem 0;
  padding:1rem;
  background:var(--pdd-cream);
  border:1px solid var(--pdd-line);
  border-left:8px solid var(--pdd-brass);
}
.pdd-data-box h2{font-size:1.2rem;margin:0 0 .35rem}
.pdd-data-box p{font-size:.92rem;color:#475467;margin:0}
.pdd-sidebar{display:grid;gap:1rem}
.pdd-widget{
  border:1px solid var(--pdd-line);
  background:#fff;
  padding:1rem;
}
.pdd-widget h2,.pdd-widget h3{
  font-family:var(--pdd-title);
  margin:0 0 .7rem;
  font-size:1.35rem;
}
.pdd-widget ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.pdd-widget li{border-bottom:1px solid var(--pdd-line);padding-bottom:.65rem}
.pdd-widget li:last-child{border-bottom:0;padding-bottom:0}

/* Pages created by theme */
.pdd-directory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}
.pdd-person{border:1px solid var(--pdd-line);padding:1rem;background:#fffaf0}
.pdd-person strong{font-family:var(--pdd-title);font-size:1.22rem;display:block;line-height:1.1}
.pdd-person em{display:block;color:var(--pdd-oxblood);font-style:normal;font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin:.25rem 0}

/* Archive */
.pdd-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.pdd-pagination{margin:1.5rem 0 0;display:flex;gap:.5rem;flex-wrap:wrap}
.pdd-pagination .page-numbers{border:1px solid var(--pdd-line);padding:.5rem .7rem;background:#fff;font-weight:800}
.pdd-pagination .current{background:var(--pdd-navy);color:#fff;border-color:var(--pdd-navy)}

/* Footer */
.pdd-footer{
  background:var(--pdd-navy);
  color:#fff;
  margin-top:2rem;
  border-top:5px solid var(--pdd-brass);
}
.pdd-footer .pdd-shell{padding:1.5rem 0}
.pdd-footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:1.2rem}
.pdd-footer h2,.pdd-footer h3{font-family:var(--pdd-title);margin:0 0 .6rem;line-height:1}
.pdd-footer p{color:#d0d5dd;margin:.3rem 0;font-size:.92rem}
.pdd-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.pdd-footer a{color:#fff}
.pdd-credit{
  border-top:1px solid rgba(255,255,255,.16);
  padding:1rem 0;
  font-size:.8rem;color:#d0d5dd;text-align:center;
}
.pdd-credit a{color:#f0d28a;font-weight:900}

@media (max-width: 980px){
  .pdd-brand-row{grid-template-columns:1fr;text-align:center}
  .pdd-brand{grid-column:auto}.pdd-edition,.pdd-social{justify-self:center}
  .pdd-hero-grid,.pdd-section-grid,.pdd-content-wrap{grid-template-columns:1fr}
  .pdd-latest,.pdd-archive-grid{grid-template-columns:repeat(2,1fr)}
  .pdd-footer-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .pdd-shell{width:min(100% - 18px, var(--pdd-container))}
  .pdd-hero-side,.pdd-mini-grid,.pdd-latest,.pdd-archive-grid,.pdd-directory-grid{grid-template-columns:1fr}
  .pdd-hero-main h1{font-size:2rem;line-height:1.08}
  .pdd-section-head{grid-template-columns:1fr;align-items:start}
  .pdd-section-title h2{font-size:1.8rem}
  .pdd-content-main{padding:1rem}
  .pdd-topbar .pdd-shell{align-items:flex-start;flex-direction:column;gap:.2rem}
}
