/*
Theme Name: O Barrio Pro Admin
Author: AVV Canido
Description: Tema editorial limpio para O Barrio con panel propio de administración, números editables, newsletter y portada configurable.
Version: 3.0.0
License: GPL-2.0-or-later
Text Domain: obarrio
*/

:root{
  --green:#073b25;
  --green2:#174f38;
  --paper:#fbf6ec;
  --white:#fff;
  --ink:#111;
  --muted:#666;
  --line:#ded8ca;
  --ochre:#d8bd7f;
  --font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --font-title:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.5}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
.screen-reader-text{position:absolute;left:-9999px}

.ob-header{position:sticky;top:0;z-index:9999;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 3px 10px rgba(0,0,0,.08)}
.ob-topbar{height:24px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;font-size:11px;font-weight:700}
.ob-social{display:flex;align-items:center;gap:10px}
.ob-social a{width:15px;height:15px;color:#fff;display:inline-flex;align-items:center;justify-content:center}
.ob-social svg{width:13px;height:13px;fill:currentColor;display:block}
.ob-brand-row{height:108px;background:var(--paper);display:grid;grid-template-columns:260px 1fr 300px;align-items:center;gap:28px;padding:0 5vw;overflow:hidden}
.ob-av-logo{display:flex;align-items:center;justify-content:flex-start;height:100%}
.ob-av-logo img{width:220px;max-width:220px;max-height:72px;object-fit:contain;display:block}
.ob-barrio-logo{display:flex;align-items:center;justify-content:center;height:100%}
.ob-barrio-logo img{width:390px;max-width:390px;max-height:78px;object-fit:contain;display:block}
.ob-search{justify-self:end;width:290px;height:40px;background:#fff;border:1px solid #c9c9c9;border-radius:3px;display:flex;overflow:hidden}
.ob-search input{flex:1;min-width:0;border:0;outline:0;background:#fff;padding:0 12px;font-size:13px}
.ob-search button{width:42px;border:0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.ob-search svg{width:21px;height:21px;fill:#000}
.ob-nav{height:42px;background:var(--paper);border-top:1px solid var(--line);display:flex;justify-content:center;align-items:center}
.ob-menu{list-style:none;padding:0;margin:0;height:42px;display:flex;align-items:center;justify-content:center;gap:48px}
.ob-menu li{position:relative;list-style:none;margin:0;padding:0}
.ob-menu a{height:42px;display:flex;align-items:center;justify-content:center;color:#111;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;border-bottom:3px solid transparent;white-space:nowrap}
.ob-menu a:hover,.ob-menu .current-menu-item>a{color:var(--green);border-bottom-color:var(--green)}
.ob-menu ul{display:none;position:absolute;top:100%;left:0;min-width:210px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 24px rgba(0,0,0,.12);z-index:99999;padding:6px 0}
.ob-menu li:hover>ul{display:block}
.ob-menu ul li{width:100%}
.ob-menu ul a{justify-content:flex-start;height:auto;padding:10px 14px;border-bottom:0}

.ob-hero{min-height:520px;position:relative;overflow:hidden;background:var(--green)}
.ob-slide{display:none;min-height:520px;padding:70px 6vw 46px;background-size:cover;background-position:center;position:relative}
.ob-slide.is-active{display:block}
.ob-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,59,37,.82),rgba(7,59,37,.54),rgba(7,59,37,.18))}
.ob-slide-inner{max-width:1240px;margin:auto;position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px}
.ob-kicker{color:var(--ochre);text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:13px}
.ob-slide h1{font-family:var(--font-title);color:white;font-size:clamp(42px,6vw,76px);line-height:.96;letter-spacing:-.05em;margin:10px 0 18px}
.ob-slide p{color:rgba(255,255,255,.92);font-size:19px;max-width:560px}
.ob-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.ob-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:6px;font-weight:900;border:1px solid var(--green)}
.ob-btn.primary{background:var(--green);color:#fff}
.ob-btn.light{background:rgba(255,255,255,.9);color:var(--green)}
.ob-magazine-wrap{min-height:330px;display:flex;align-items:center;justify-content:center}
.ob-cover-main{width:310px;max-width:72%;filter:drop-shadow(0 24px 30px rgba(0,0,0,.3));transform:rotate(-4deg)}
.ob-slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:24px;cursor:pointer}
.ob-prev{left:24px}.ob-next{right:24px}
.ob-slider-controls{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
.ob-slider-controls button{width:12px;height:12px;border-radius:50%;border:2px solid white;background:transparent}
.ob-slider-controls button.is-active{background:white}

.ob-section{padding:56px 6vw}
.ob-wrap{max-width:1240px;margin:auto}
.ob-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.ob-section h2,.ob-title{font-family:var(--font-title);color:var(--green);font-size:clamp(32px,3vw,46px);margin:0}
.ob-rule{display:inline-block;width:42px;height:3px;background:var(--green);vertical-align:middle;margin-left:10px}
.ob-issues-sections{display:grid;grid-template-columns:1.45fr .9fr;gap:36px;align-items:start}
.ob-issues{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ob-issue{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.ob-issue img{display:block;width:100%}
.ob-issue-body{padding:12px}
.ob-issue strong{display:block;margin-bottom:8px}
.ob-issue-desc{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-bottom:10px}
.ob-issue-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.ob-mini-btn{display:inline-flex;background:var(--green);color:white;padding:7px 13px;border-radius:5px;font-weight:900;font-size:13px}
.ob-mini-btn-light{background:#fff;color:var(--green);border:1px solid var(--green)}
.ob-section-list{display:grid;gap:10px}
.ob-section-card{display:grid;grid-template-columns:46px 1fr 20px;gap:12px;align-items:center;padding:14px;border-radius:6px;border:1px solid var(--line);background:#f0ead9}
.ob-section-card:nth-child(2){background:#eee0b5}.ob-section-card:nth-child(3){background:#dde9dc}.ob-section-card:nth-child(4){background:#dfe9ed}.ob-section-card:nth-child(5){background:#eadde0}
.ob-icon{font-size:25px}.ob-section-card strong{display:block;color:var(--green)}.ob-section-card small{color:var(--muted)}
.ob-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ob-feature-card{display:block;color:inherit;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.ob-feature-card .big{font-size:36px}
.ob-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ob-post-card{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.ob-post-card .thumb{height:190px;display:block;overflow:hidden;background:var(--paper)}
.ob-post-card .thumb img{width:100%;height:100%;object-fit:cover}
.ob-post-card .content{padding:16px}
.ob-post-card h3{color:var(--green);margin:0 0 8px}
.ob-about{background:var(--green);color:white;border-radius:26px;padding:34px;display:grid;grid-template-columns:1.1fr .9fr;gap:28px}
.ob-about h2{color:white}.ob-about p{color:rgba(255,255,255,.82)}
.ob-about-box{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:18px;padding:20px}
.ob-newsletter{background:var(--green);color:white;padding:18px 6vw}
.ob-newsletter .ob-wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:18px;align-items:center}
.ob-newsletter form{display:flex;background:white;border-radius:6px;overflow:hidden}
.ob-newsletter input{flex:1;border:0;padding:14px}
.ob-newsletter button{border:0;background:var(--ochre);color:var(--green);font-weight:900;padding:0 20px}
.ob-newsletter-alert{padding:10px 14px;border-radius:6px;margin-bottom:10px;font-weight:800}
.ob-newsletter-alert.success{background:#dce8dc;color:var(--green)}.ob-newsletter-alert.error{background:#ffe1df;color:#7b1f17}
.ob-footer{background:#101d17;color:white;padding:42px 6vw}
.ob-footer-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:28px}
.ob-footer p,.ob-footer a{color:rgba(255,255,255,.75)}
.ob-numero-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px;margin:22px 0}

@media(max-width:980px){
  .ob-brand-row{grid-template-columns:190px 1fr 230px;padding:0 18px;gap:18px}
  .ob-av-logo img{width:175px;max-width:175px;max-height:62px}
  .ob-barrio-logo img{width:300px;max-width:300px;max-height:70px}
  .ob-search{width:230px}.ob-menu{gap:25px}
  .ob-slide-inner,.ob-issues-sections,.ob-about,.ob-newsletter .ob-wrap,.ob-footer-grid{grid-template-columns:1fr}
  .ob-issues,.ob-feature-grid,.ob-posts-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .ob-topbar{padding:0 12px}.ob-topbar span{font-size:10px}
  .ob-brand-row{height:auto;grid-template-columns:1fr auto;grid-template-areas:"av social" "logo logo" "search search";padding:10px 12px;gap:8px 12px}
  .ob-av-logo{grid-area:av}.ob-barrio-logo{grid-area:logo}.ob-search{grid-area:search;width:100%;max-width:100%;height:36px}
  .ob-av-logo img{width:150px;max-width:150px;max-height:48px}.ob-barrio-logo img{width:230px;max-width:230px;max-height:54px}
  .ob-nav{justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 12px}
  .ob-menu{min-width:max-content;gap:24px;justify-content:flex-start}.ob-menu a{font-size:11px}
  .ob-slide{padding:45px 18px 70px}.ob-slide-inner{text-align:center;grid-template-columns:1fr}.ob-slide p{font-size:16px}.ob-actions{justify-content:center}.ob-cover-main{width:220px}.ob-slider-arrow{display:none}
  .ob-section{padding:42px 18px}.ob-section-head{align-items:flex-start;flex-direction:column}
  .ob-issues,.ob-feature-grid,.ob-posts-grid{grid-template-columns:1fr}.ob-issue{max-width:330px;margin:auto}
  .ob-newsletter form{flex-direction:column;background:transparent;gap:8px}.ob-newsletter input,.ob-newsletter button{width:100%;border-radius:6px}.ob-newsletter button{padding:14px}
}
