/*
Theme Name: APRETEL Premium
Theme URI: https://apretel.es
Author: APRETEL
Description: Tema premium institucional para APRETEL con portada profesional, logo configurable, noticias, galería, área socios, área Junta Directiva y gestor documental por permisos.
Version: 3.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: apretel-premium
*/

:root {
  --verde:#244c22;
  --verde-2:#4A6741;
  --verde-claro:#6A8F60;
  --verde-fondo:#EAF0E8;
  --crema:#F5F0E8;
  --crema-oscura:#E8E0D0;
  --terracota:#B65F20;
  --terracota-claro:#D9956A;
  --pizarra:#5A5A5A;
  --blanco:#FDFAF5;
  --negro:#2A2A2A;
  --azul:#2563EB;
  --rojo:#dc3545;
  --amarillo:#f59e0b;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Open Sans',Arial,sans-serif;background:var(--crema);color:var(--negro)}
body.admin-bar .topbar{top:32px}
body.admin-bar .main-nav{top:66px}
a{color:var(--terracota)}

.topbar{
  position:fixed;top:0;left:0;right:0;z-index:1001;height:34px;background:#173716;color:#fff;
  display:flex;align-items:center;justify-content:flex-end;gap:1.4rem;padding:0 2rem;font-size:.84rem
}
.topbar a{color:#fff;text-decoration:none}

.main-nav{
  position:fixed;top:34px;left:0;right:0;z-index:1000;background:rgba(36,76,34,.97);
  height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;
  box-shadow:0 2px 12px rgba(0,0,0,.18);backdrop-filter:blur(8px)
}
.brand{display:flex;align-items:center;gap:1rem;text-decoration:none;color:#fff}
.brand-logo-wrap{width:72px;height:72px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;border:3px solid var(--terracota)}
.brand-logo-wrap img{max-width:100%;max-height:100%;width:auto;height:auto}
.brand-fallback{font-family:'Merriweather',serif;font-size:2rem;font-weight:900;color:var(--verde)}
.brand-title{font-family:'Merriweather',serif;font-weight:900;font-size:1.75rem;letter-spacing:.06em;line-height:1}
.brand-sub{display:block;font-size:.82rem;font-weight:400;letter-spacing:0;font-family:'Open Sans',sans-serif;margin-top:.25rem;opacity:.9;max-width:320px}

.nav-links ul{list-style:none;display:flex;gap:.15rem;margin:0;padding:0;align-items:center}
.nav-links a{color:#fff;text-decoration:none;padding:.55rem .8rem;border-radius:4px;font-size:.9rem;font-weight:700;text-transform:uppercase;display:block}
.nav-links a:hover,.nav-links .current-menu-item>a{background:rgba(255,255,255,.16)}
.nav-actions{display:flex;align-items:center;gap:.7rem}
.nav-btn,.apretel-btn{
  background:var(--terracota);color:#fff!important;text-decoration:none;border:0;border-radius:6px;
  padding:.65rem 1rem;font-weight:800;display:inline-block;box-shadow:0 2px 8px rgba(0,0,0,.12)
}
.nav-btn:hover,.apretel-btn:hover{background:var(--terracota-claro)}
.apretel-btn.secondary{background:transparent;border:2px solid var(--terracota);color:var(--terracota)!important;box-shadow:none}

main.wp-site-main{min-height:70vh;padding-top:120px}
.hero-premium{
  min-height:520px;display:grid;grid-template-columns:minmax(250px,430px) 1fr;align-items:center;gap:3rem;
  padding:4.5rem 6vw;background:
  linear-gradient(90deg,rgba(245,240,232,.96) 0%,rgba(245,240,232,.88) 47%,rgba(245,240,232,.35) 100%),
  var(--apretel-hero-image, linear-gradient(135deg,#e9efe7,#fff));
  background-size:cover;background-position:center;border-bottom:1px solid var(--crema-oscura)
}
.hero-logo{
  width:330px;height:330px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;
  border:8px solid var(--terracota);box-shadow:0 12px 40px rgba(0,0,0,.22);overflow:hidden;margin:auto
}
.hero-logo img{width:100%;height:100%;object-fit:contain;padding:14px}
.hero-logo .brand-fallback{font-size:7rem}
.hero-text h1{font-family:'Merriweather',serif;color:var(--verde);font-size:4.3rem;letter-spacing:.14em;margin:0 0 .5rem;line-height:1}
.hero-accent{display:block;width:76px;height:5px;background:var(--terracota);border-radius:4px;margin:1.2rem 0}
.hero-text h2{font-family:'Merriweather',serif;color:var(--verde);font-size:1.7rem;line-height:1.35;margin:0 0 1.4rem;max-width:680px}
.hero-text p{font-size:1.12rem;line-height:1.75;max-width:620px;color:#333;margin-bottom:1.4rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}

.section{padding:3rem 5vw;max-width:1240px;margin:0 auto}
.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.7rem;border-bottom:2px solid var(--verde-2);padding-bottom:.55rem}
.section-title{font-family:'Merriweather',serif;color:var(--verde);font-size:1.45rem;font-weight:900}
.section-link{font-size:.9rem;color:var(--terracota);font-weight:800;text-decoration:none}

.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(295px,1fr));gap:1.5rem}
.news-card{background:var(--blanco);border-radius:10px;box-shadow:0 2px 14px rgba(0,0,0,.08);overflow:hidden;transition:.2s;cursor:pointer}
.news-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.15)}
.news-card a{color:inherit;text-decoration:none}
.news-card-img{height:190px;background:var(--verde-fondo);display:flex;align-items:center;justify-content:center;color:var(--verde);font-size:3rem;overflow:hidden}
.news-card-img img{width:100%;height:100%;object-fit:cover}
.news-card-body{padding:1.1rem 1.2rem 1.35rem}
.news-card-meta{display:flex;gap:.6rem;align-items:center;margin-bottom:.55rem;flex-wrap:wrap}
.news-tag{background:var(--verde-fondo);color:var(--verde);font-size:.72rem;font-weight:800;padding:.18rem .6rem;border-radius:20px;text-transform:uppercase;letter-spacing:.04em}
.news-date{font-size:.8rem;color:var(--pizarra)}
.news-card h3{font-family:'Merriweather',serif;font-size:1.05rem;line-height:1.4;margin:.2rem 0 .55rem;color:#111}
.news-card p{font-size:.9rem;color:var(--pizarra);line-height:1.6}
.read-more{color:var(--terracota);font-weight:800;display:inline-block;margin-top:.7rem}

.quick-layout{display:grid;grid-template-columns:1fr 320px;gap:2rem}
.quick-box{background:rgba(255,255,255,.65);border-left:1px solid var(--crema-oscura);padding:1.4rem 0 1.4rem 1.8rem}
.quick-item{display:flex;align-items:center;gap:1rem;background:var(--verde-fondo);border-radius:8px;padding:.95rem 1rem;margin-bottom:.75rem;text-decoration:none;color:var(--verde)}
.quick-icon{font-size:1.6rem;width:42px;text-align:center}
.quick-item strong{display:block;font-size:.9rem;text-transform:uppercase}
.quick-item span{font-size:.82rem;color:var(--pizarra)}

.portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem}
.portal-card{background:var(--blanco);border-radius:12px;padding:1.4rem;box-shadow:0 2px 12px rgba(0,0,0,.08);border-top:4px solid var(--verde)}
.portal-card h3{font-family:'Merriweather',serif;color:var(--verde);margin:.2rem 0 .6rem;font-size:1.1rem}
.portal-card p{color:var(--pizarra);line-height:1.55;font-size:.92rem}
.portal-card.terracota{border-top-color:var(--terracota)}.portal-card.azul{border-top-color:var(--azul)}.portal-card.purple{border-top-color:#7c3aed}.portal-card.red{border-top-color:var(--rojo)}

.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.photo-card{border-radius:8px;overflow:hidden;position:relative;aspect-ratio:4/3;background:var(--verde-fondo);box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;color:var(--verde);font-size:2rem}
.photo-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.photo-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.58),transparent 60%);display:flex;align-items:flex-end;padding:.75rem;opacity:0;transition:.2s}
.photo-card:hover .photo-overlay{opacity:1}.photo-overlay span{color:#fff;font-weight:800;font-size:.85rem}

.page-header{background:var(--verde-fondo);padding:3rem 5vw 2.4rem;border-bottom:3px solid var(--verde)}
.page-header h1{font-family:'Merriweather',serif;color:var(--verde);font-size:2.2rem;margin:0 0 .3rem}
.page-header p{color:var(--pizarra);margin:0}

.wp-content{background:var(--blanco);border-radius:12px;padding:2rem;box-shadow:0 2px 12px rgba(0,0,0,.06);line-height:1.75}
.wp-content h1,.wp-content h2,.wp-content h3{font-family:'Merriweather',serif;color:var(--verde);margin:1rem 0 .7rem}
.wp-content img{max-width:100%;height:auto;border-radius:8px}
.private-ok,.private-warning{padding:1rem 1.2rem;border-radius:8px;margin-bottom:1rem}
.private-ok{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.private-warning{background:#fff3cd;color:#856404;border:1px solid #ffc107}
.doc-list{display:flex;flex-direction:column;gap:.8rem}
.doc-item{background:var(--blanco);border-radius:8px;padding:1rem 1.1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 1px 6px rgba(0,0,0,.06);border-left:4px solid var(--verde)}
.doc-item small{color:var(--pizarra)}.doc-type{font-size:.78rem;background:var(--verde-fondo);color:var(--verde);padding:.18rem .55rem;border-radius:20px;font-weight:800}

footer{background:var(--verde);color:rgba(255,255,255,.85);text-align:center;padding:1.8rem 1rem;font-size:.85rem;margin-top:3rem}
footer strong{color:#fff}.footer-inner{max-width:1100px;margin:0 auto}.footer-links ul{list-style:none;margin:.7rem 0 0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem}.footer-links a{color:white;text-decoration:none;opacity:.9}

@media(max-width:900px){
  .nav-links{display:none}.hero-premium{grid-template-columns:1fr;text-align:center;padding:3rem 1.3rem}.hero-logo{width:230px;height:230px}
  .hero-text h1{font-size:3rem}.hero-accent{margin:1rem auto}.quick-layout{grid-template-columns:1fr}.quick-box{border-left:0;padding-left:0}
}
@media(max-width:782px){body.admin-bar .topbar{top:46px}body.admin-bar .main-nav{top:80px}}
@media(max-width:640px){.topbar{display:none}.main-nav{top:0;height:82px;padding:0 1rem}main.wp-site-main{padding-top:82px}.brand-logo-wrap{width:58px;height:58px}.brand-title{font-size:1.25rem}.brand-sub{font-size:.7rem}.section{padding:2rem 1rem}.wp-content{padding:1.2rem}.doc-item{flex-direction:column;align-items:flex-start}}
