:root{
  --ipr-primary:#b33a2e;
  --ipr-accent:#00a0a0;
  --ipr-font:System UI, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --ipr-scale:1.15;
  --ipr-ph-bg:#b33a2e;
  --ipr-ph-fg:rgba(255,255,255,.85);
  --ipr-banner-bg:#111827;
  --ipr-banner-fg:#ffffff;
  --ipr-banner-fs:16px;
  --ipr-banner-fw:700;
  --ipr-thumb-ratio:1.777; /* 16:9 default */
  --ipr-hero-logo-w:140px;
  --ipr-hero-h:min(60vh, 520px);
  --ipr-hero-overlay:rgba(0,0,0,.35);
  --ipr-hero-align:left;
  --ipr-hero-ovl-from:rgba(0,0,0,.45);
  --ipr-hero-ovl-to:rgba(0,0,0,.10);
  --ipr-hero-ovl-angle:135deg;
}
.ipr-container{max-width:1120px;margin:0 auto;padding:24px;}
.ipr-portada,.ipr-fallback-article{font-family:var(--ipr-font);}

/* HERO */
.ipr-hero{position:relative;color:#fff;min-height:var(--ipr-hero-h);display:flex;align-items:center;background:linear-gradient(135deg,var(--ipr-primary),#381a16);background-size:cover;background-position:center}
.ipr-hero__overlay{position:absolute;inset:0;background:var(--ipr-hero-overlay)}
.ipr-hero.gradient .ipr-hero__overlay{background:linear-gradient(var(--ipr-hero-ovl-angle), var(--ipr-hero-ovl-from), var(--ipr-hero-ovl-to))}
.ipr-hero > .ipr-container{position:relative;z-index:1;width:100%}
.ipr-hero-inner{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.ipr-hero-inner.left{justify-content:flex-start;text-align:left}
.ipr-hero-inner.center{justify-content:center;text-align:center}
@media (max-width: 768px){
  .ipr-hero-inner.mcenter{justify-content:center !important;text-align:center !important}
  .ipr-hero-inner.mleft{justify-content:flex-start !important;text-align:left !important}
}
.ipr-hero-logo{flex:0 0 auto;width:var(--ipr-hero-logo-w);max-width:40vw}
.ipr-hero-logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.15))}
.ipr-hero h1{font-size:clamp(30px,5vw,48px);margin:0 0 10px;font-weight:800;letter-spacing:.3px}
.ipr-hero p{font-size:clamp(16px,2.2vw,20px);opacity:.98;margin:0}
.ipr-hero-cta{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}

/* Info block */
.ipr-hero-info{display:inline-flex;align-items:center;gap:var(--gap,8px);font-size:var(--fs,16px);font-weight:var(--fw,700);background:var(--bg,rgba(255,255,255,.12));color:var(--fg,#fff);padding:var(--py,8px) var(--px,12px);border-radius:var(--rad,999px);text-decoration:none}
.ipr-hero-info__icon{font-size:var(--iconsz,18px);line-height:1}
.ipr-hero-text>.ipr-hero-info{margin-bottom:8px}
.ipr-hero-text>.ipr-hero-info + h1{margin-top:4px}
.ipr-hero-info-right{margin-left:auto}
@media (max-width: 1024px){
  .ipr-hero-info-right{width:100%;margin-left:0;margin-top:10px;display:flex;justify-content:flex-start}
}

/* Curva hero */
.ipr-hero-curve{position:absolute;left:0;right:0;bottom:-1px;line-height:0}
.ipr-hero-curve svg{display:block;width:100%;height:60px}

/* Buttons */
.ipr-btn{display:inline-block;background:var(--ipr-accent);color:#fff;text-decoration:none;padding:12px 18px;border-radius:999px;font-weight:700;box-shadow:0 6px 14px rgba(0,0,0,.12)}
.ipr-btn--outline{background:transparent;color:#fff;border:2px solid currentColor}

/* GRID + CARDS */
.ipr-grid{background:#f8f8f9;padding:28px 0}
.ipr-grid.alt{background:#fff;}
.ipr-grid h2{font-size:clamp(22px,3.2vw,28px);margin:0 0 16px;color:#111}
.ipr-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.ipr-card{background:#fff;border:1px solid #ececf0;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 16px rgba(0,0,0,.04);transition:transform .15s ease, box-shadow .15s ease}
.ipr-card:hover{transform:translateY(-2px);box-shadow:0 10px 18px rgba(0,0,0,.08)}
.ipr-thumb{position:relative;width:100%;overflow:hidden;background:#f2f2f4;display:flex;align-items:center;justify-content:center;aspect-ratio: var(--ipr-thumb-ratio);}
.ipr-thumb[style*="--ipr-thumb-ratio:0"]{aspect-ratio:auto;min-height:180px}
.ipr-thumb img, .ipr-thumb svg{width:100%;height:100%;object-fit:cover;display:block}
.ipr-thumb.ph{background:var(--ipr-ph-bg)}
.ipr-ph-badge{position:absolute;left:10px;top:10px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.3px;color:#fff}
.ipr-card-body{padding:14px 16px}
.ipr-card-body h3{font-size:clamp(16px,2.4vw,20px);margin:0 0 8px;line-height:1.25}
.ipr-card-body p{margin:0;color:#333;opacity:.9}
.ipr-card-link{display:block;text-decoration:none;color:inherit}
.ipr-cta{padding:34px 0;background:linear-gradient(180deg,#fff,#fafafa)}
.ipr-meta{font-size:14px;color:#666;margin:10px 0}
.entry-thumb img{width:100%;height:auto;border-radius:12px;margin:12px 0}

/* Info banner */
.ipr-info-banner{background:var(--ipr-banner-bg);color:var(--ipr-banner-fg);font-size:var(--ipr-banner-fs);font-weight:var(--ipr-banner-fw);}
.ipr-info-banner .ipr-container{padding:10px 24px; position:relative;}
.ipr-info-banner a{color:inherit;text-decoration:underline}
.ipr-info-banner__close{position:absolute;right:14px;top:8px;border:0;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer}
.ipr-info-banner__close:hover{opacity:.8}
