/*
Theme Name: Caminantes de la Vega - Supía
Theme URI: https://caminantesdelavega.co
Author: Caminantes de la Vega
Description: Tema oficial del IV Encuentro Departamental de Caminantes - Supía Caldas. Diseño con paleta verde oliva / antracita, menú con logo centrado, mapa interactivo de rutas, alojamiento, galería, comunicados y formulario de inscripción.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: caminantes-vega
*/


:root{
  --olive:#8A9A5B;
  --olive-dark:#6f7d49;
  --anthracite:#2C2C2C;
  --white:#ffffff;
  --offwhite:#F7F6F3;
  --gray-text:#8b8b8b;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:'Poppins', Arial, sans-serif; color:var(--anthracite); background:var(--white);}
a{text-decoration:none; color:inherit;}
img,.ph{display:block; width:100%; height:100%; object-fit:cover;}
.container{max-width:1200px; margin:0 auto; padding:0 24px;}
h1,h2,h3,h4{font-weight:700; line-height:1.15;}
.eyebrow{color:var(--olive); font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;}
.brush{width:70px; height:6px; background:var(--olive); border-radius:3px; margin:10px 0 20px; opacity:.85;}
.btn-oval{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--olive); color:#fff; font-weight:600; font-size:.85rem;
  padding:13px 30px; border-radius:30px; border:none; cursor:pointer;
}
/* placeholder de imagen (aquí van las fotos reales) */
.ph{background:repeating-linear-gradient(45deg,#d8d4c8,#d8d4c8 12px,#cfcabb 12px,#cfcabb 24px); display:flex; align-items:center; justify-content:center; color:#8b8677; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; text-align:center; padding:8px;}

/* patrón topográfico para fondos oscuros */
.topo{
  background-color:var(--anthracite);
  background-image:
    repeating-radial-gradient(circle at 20% 30%, rgba(255,255,255,.035) 0, rgba(255,255,255,.035) 1px, transparent 1px, transparent 40px),
    repeating-radial-gradient(circle at 80% 70%, rgba(255,255,255,.035) 0, rgba(255,255,255,.035) 1px, transparent 1px, transparent 60px);
}

/* ===== A. TOP BAR + NAV ===== */
.top-bar{background:var(--anthracite) !important; color:#fff; font-size:.75rem;}
.top-bar .container{display:flex; justify-content:space-between; align-items:center; padding:8px 24px;}
.top-bar .left{display:flex; gap:18px; opacity:.85;}
.top-bar .logo{font-weight:800; letter-spacing:.05em; font-size:.95rem;}
.top-bar .social{display:flex; gap:10px;}
.top-bar .social span{width:22px; height:22px; border:1px solid rgba(255,255,255,.4); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.65rem;}

.navbar{position:absolute; top:38px; left:0; right:0; z-index:10; background:transparent;}
.navbar .container{display:flex; justify-content:center;}
.navbar ul{list-style:none; display:flex; gap:34px; padding:14px 30px; align-items:center;}
.navbar a{color:#fff; font-size:.82rem; font-weight:600; letter-spacing:.02em;}
.navbar li.home a{color:var(--olive);}
.navbar .nav-logo{width:64px; height:64px; border-radius:50%; overflow:hidden; flex:none; box-shadow:0 6px 18px rgba(0,0,0,.35); background:rgba(255,255,255,.08);}
.nav-toggle{display:none;}
.nav-logo-mobile{display:none;}
.navbar .nav-logo img{width:100%; height:100%; object-fit:cover; border-radius:50%;}

/* ===== B. HERO ===== */
.hero{position:relative; height:640px; overflow:hidden; color:#fff;}
.hero-slide{position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.1s ease; display:flex; align-items:center; justify-content:center; text-align:center;}
.hero-slide.active{opacity:1;}
.hero-slide:after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(20,18,14,.55), rgba(20,18,14,.3)); z-index:0;}
.hero-slide .hero-content{position:relative; z-index:1;}
.hero-arrow{position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border:1px solid rgba(255,255,255,.5); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.1rem; z-index:5; cursor:pointer; background:rgba(0,0,0,.15);}
.hero-arrow.left{left:30px;} .hero-arrow.right{right:30px;}
.hero-dots{position:absolute; z-index:5; bottom:26px; left:0; right:0; display:flex; justify-content:center; gap:8px;}
.hero-dots span{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.4); cursor:pointer;}
.hero-dots span.active{background:var(--olive);}
.hero-content .eyebrow{color:#fff; letter-spacing:.2em;}
.hero-content h1{font-size:3.2rem; margin:14px 0 12px; color:#fff;}
.hero-content p{opacity:.9; margin-bottom:24px;}

/* ===== C. INTRO / WELCOME ===== */
.intro{background:var(--offwhite); padding:90px 0;}
.intro .grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; position:relative;}
.intro .ph{height:420px; border-radius:2px;}
.intro-right .eyebrow{display:block; margin-bottom:8px;}
.intro-right h2{font-size:2rem; margin-bottom:16px;}
.intro-right p{color:#5a5a5a; line-height:1.7; margin-bottom:20px;}
.badge-line{display:flex; align-items:center; gap:12px; color:var(--olive); font-weight:600; font-size:.9rem; border-top:1px solid #ddd8ca; padding-top:18px; margin-bottom:18px;}
.badge-line .medal{width:34px; height:34px; border-radius:50%; background:var(--olive); color:#fff; display:flex; align-items:center; justify-content:center; flex:none;}
.watch-row{display:flex; align-items:center; gap:16px;}
.watch-row .play{width:44px; height:44px; border-radius:50%; background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.12); display:flex; align-items:center; justify-content:center;}
.watch-row .label{font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:#777;}
.watch-row .call{margin-left:auto; text-align:right;}
.watch-row .call small{display:block; font-size:.72rem; color:#777;}
.watch-row .call strong{color:#c0472e; font-size:1.05rem;}

/* ===== D. CHOOSE YOUR ADVENTURE ===== */
.adventure{padding:90px 0; text-align:center; color:#fff;}
.adventure h2{color:#fff; font-size:2.1rem; margin:8px 0 40px;}
.adv-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.adv-grid.cols-5{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){ .adv-grid.cols-5{grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){ .adv-grid.cols-5{grid-template-columns:1fr;} }
.adv-card{position:relative; border-radius:2px; overflow:hidden; display:flex; flex-direction:column; height:100%;}
.adv-card .ph{height:230px; flex:none;}
.adv-panel{background:#fff; color:var(--anthracite); padding:22px 24px 26px; text-align:left; display:flex; flex-direction:column; flex:1;}
.adv-panel h4{font-size:1.15rem; margin-bottom:10px;}
.adv-panel ul{list-style:none; margin-bottom:16px; flex:1;}
.adv-panel li{font-size:.85rem; color:#555; margin-bottom:6px;}
.adv-panel li:before{content:"✓ "; color:var(--olive); font-weight:700;}
.adv-panel .btn-oval{margin-top:auto;}
.dots{display:flex; justify-content:center; gap:8px; margin-top:36px;}
.dots span{width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.35);}
.dots span.active{background:var(--olive);}

/* ===== E. CENTRE VIEW / MAPA ===== */
.mapview{text-align:center; padding:90px 0 0;}
.mapview h2{font-size:2.1rem; margin:8px 0 18px;}
.mapview .lead{max-width:640px; margin:0 auto; color:#666; line-height:1.7;}
.map-frame{position:relative; height:440px; margin-top:50px; background:linear-gradient(180deg,#fff,rgba(255,255,255,0) 30%), repeating-linear-gradient(100deg,#e7e3d4 0 30px,#d9d4bf 30px 60px);}
.hotspot{position:absolute; width:32px; height:32px; border-radius:50%; background:#fff; box-shadow:0 6px 16px rgba(0,0,0,.18); display:flex; align-items:center; justify-content:center; font-weight:700; color:var(--anthracite);}
.hotspot:hover{background:var(--olive); color:#fff;}

/* Popup de ruta (al hacer clic en un punto del mapa) */
.ruta-overlay{position:fixed; inset:0; background:rgba(20,18,14,.55); z-index:200; display:none; align-items:center; justify-content:center; padding:20px;}

/* Lightbox de galería */
.act-card{cursor:pointer;}
.lightbox-overlay{position:fixed; inset:0; background:rgba(10,9,6,.94); z-index:300; display:none; align-items:center; justify-content:center; padding:20px;}
.lightbox-overlay.open{display:flex;}
.lightbox-content{position:relative; max-width:900px; width:100%; text-align:center;}
.lightbox-content img{max-width:100%; max-height:78vh; border-radius:6px; display:block; margin:0 auto; box-shadow:0 30px 70px rgba(0,0,0,.5);}
.lightbox-caption{color:#fff; margin-top:16px; font-size:1rem; font-weight:600;}
.lightbox-counter{color:rgba(255,255,255,.6); font-size:.82rem; margin-top:4px;}
.lightbox-close{position:absolute; top:-46px; right:0; color:#fff; font-size:1.8rem; cursor:pointer; line-height:1; background:none; border:none;}
.lightbox-arrow{position:fixed; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:1.4rem; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:301;}
.lightbox-arrow:hover{background:rgba(255,255,255,.25);}
.lightbox-arrow.left{left:20px;} .lightbox-arrow.right{right:20px;}
@media (max-width:600px){
  .lightbox-arrow{width:40px; height:40px; font-size:1.2rem;}
  .lightbox-arrow.left{left:8px;} .lightbox-arrow.right{right:8px;}
  .lightbox-close{top:-40px;}
}
.ruta-overlay.open{display:flex;}
.ruta-popup{background:#fff; width:100%; max-width:340px; border-radius:10px; overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,.35); animation:rutaIn .22s ease;}
@keyframes rutaIn{from{opacity:0; transform:translateY(10px) scale(.97);} to{opacity:1; transform:translateY(0) scale(1);}}
.ruta-popup-top{background:var(--anthracite); color:#fff; padding:16px 20px; display:flex; justify-content:space-between; align-items:center;}
.ruta-popup-top .tag{font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; color:var(--olive); font-weight:700; display:block; margin-bottom:2px;}
.ruta-popup-top h4{color:#fff; font-size:1.05rem; margin:0;}
.ruta-popup-top .close{cursor:pointer; font-size:1.2rem; color:rgba(255,255,255,.7); line-height:1; padding:2px 6px;}
.ruta-popup-top .close:hover{color:#fff;}
.ruta-popup-body{padding:18px 20px 22px; max-height:70vh; overflow-y:auto;}
.ruta-popup-body .btn-oval{width:100%; justify-content:center; font-size:.8rem; margin-top:4px;}

/* Acordeón de subrutas dentro del popup */
.subruta-item{border:1px solid #eee; border-radius:6px; margin-bottom:8px; overflow:hidden;}
.subruta-toggle{width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; background:var(--offwhite); border:none; padding:12px 14px; cursor:pointer; text-align:left; font-family:'Poppins',sans-serif;}
.subruta-toggle .name{display:flex; align-items:center; gap:8px; font-size:.9rem; font-weight:600; color:var(--anthracite);}
.subruta-toggle .name:before{content:"✓"; color:var(--olive); font-weight:700;}
.subruta-toggle .arrow{font-size:.7rem; color:#999; transition:transform .2s;}
.subruta-item.open .subruta-toggle .arrow{transform:rotate(180deg);}
.subruta-detail{display:none; padding:14px; font-size:.84rem; color:#555; line-height:1.6; background:#fff;}
.subruta-item.open .subruta-detail{display:block;}
.subruta-detail .meta-row{display:flex; gap:16px; margin-bottom:8px; flex-wrap:wrap;}
.subruta-detail .meta-badge{background:var(--olive); color:#fff; font-size:.72rem; font-weight:700; padding:3px 10px; border-radius:20px;}
.subruta-detail img{width:auto !important; height:auto !important; max-width:100%; max-height:260px; object-fit:contain !important; background:#eee; border-radius:6px; margin-bottom:10px; display:block;}

/* ===== F. ACTIVITIES ===== */
.activities{padding:90px 0;}
.act-head{display:flex; justify-content:space-between; align-items:flex-start; gap:40px; margin-bottom:40px; flex-wrap:wrap;}
.act-head h2{color:#fff; font-size:2rem; max-width:480px;}
.act-head p{color:rgba(255,255,255,.75); max-width:380px; font-size:.9rem; line-height:1.6;}
.act-row{position:relative;}
.act-grid{
  display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding-bottom:0; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none;
}
.act-grid::-webkit-scrollbar{display:none; height:0;}
.act-card{position:relative; height:340px; min-width:260px; flex:0 0 260px; border-radius:6px; overflow:hidden; scroll-snap-align:start;}
.gallery-arrow{position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.9); border:none; display:flex; align-items:center; justify-content:center; font-size:1.2rem; cursor:pointer; z-index:5; color:var(--anthracite); box-shadow:0 4px 14px rgba(0,0,0,.25);}
.gallery-arrow.left{left:-10px;} .gallery-arrow.right{right:-10px;}
.gallery-arrow:hover{background:var(--olive); color:#fff;}
@media (max-width:600px){
  .gallery-arrow{display:none;}
  .act-card{min-width:220px; flex-basis:220px; height:280px;}
}
.act-card .ph{height:100%;}
.act-card span{position:absolute; bottom:16px; left:16px; color:#fff; font-weight:700; z-index:2;}
.act-card:after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.7)); z-index:1;}
.act-footer{text-align:center; margin-top:40px;}

/* ===== G. TESTIMONIALS ===== */
.testi{display:grid; grid-template-columns:1fr 1fr;}
.testi-left{position:relative; min-height:520px; background:repeating-linear-gradient(60deg,#4a4636 0 20px,#3c3928 20px 40px);}
.testi-left .floating{position:absolute; inset:0; width:100%; height:100%; box-shadow:none;}
.testi-right{background:var(--offwhite); display:flex; flex-direction:column; justify-content:center; padding:70px 60px;}
.testi-right h2{font-size:2rem; margin:8px 0 20px;}
.testi-right p.quote{font-style:italic; color:#4a4a4a; line-height:1.75; margin-bottom:22px; position:relative;}
.quote-mark{font-size:3rem; color:var(--olive); font-family:Georgia,serif; line-height:1;}
.testi-who strong{display:block;}
.testi-who span{font-size:.82rem; color:#888;}

/* ===== H. LATEST NEWS ===== */
.news{background:var(--offwhite); padding:90px 0; text-align:center;}
.news h2{font-size:2.1rem; margin:8px 0 40px;}
.news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; text-align:left;}
.news-card .ph{height:200px;}
.news-icon{height:200px; background:var(--anthracite); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;}
.news-icon:before{content:""; position:absolute; inset:0; background-image:repeating-radial-gradient(circle at 30% 30%, rgba(255,255,255,.04) 0, rgba(255,255,255,.04) 1px, transparent 1px, transparent 30px); }
.news-icon .circle{width:64px; height:64px; border-radius:50%; background:var(--olive); display:flex; align-items:center; justify-content:center; position:relative; z-index:1;}
.news-icon svg{width:28px; height:28px; stroke:#fff; fill:none; stroke-width:1.8;}
.news-body{padding:18px 4px;}
.news-body .btn-oval{margin-top:12px; font-size:.75rem; padding:10px 22px;}
.news-meta{font-size:.75rem; margin-bottom:8px;}
.news-meta .cat{color:var(--olive); font-weight:700;}
.news-meta .sep{color:#bbb; margin:0 6px;}
.news-body h4{font-size:1.02rem; margin-bottom:8px; line-height:1.35;}
.news-body p{font-size:.85rem; color:#777;}

/* ===== I. OFFERS ===== */
.offers{padding:0 0 90px;}
.offers-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:20px;}
.offer-card{position:relative; border-radius:2px; min-height:220px; padding:34px; display:flex; flex-direction:column; justify-content:center; overflow:hidden;}
.offer-card.photo{color:#fff;}
.offer-card.photo:after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,18,14,.65), rgba(20,18,14,.15)); z-index:0;}
.offer-card.photo > *{position:relative; z-index:1;}
.offer-card.gold{background:#e0a020; color:#fff;}
.offer-tag{font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; margin-bottom:8px;}
.offer-card h3{font-size:1.8rem; margin-bottom:4px;}
.offer-price{font-size:1.15rem; font-weight:700; color:#f2c744;}

/* ===== J. CTA / NEWSLETTER ===== */
.cta{position:relative; padding-top:90px;}
.cta-top{text-align:center; padding-bottom:70px; width:100%; background:linear-gradient(rgba(247,246,243,.88), rgba(247,246,243,.88)), url('assets/images/cta-fondo.jpg'); background-size:cover; background-position:center;}
.cta-top .container{padding-top:1px;}
.cta-top h2{color:var(--anthracite); font-size:2.1rem; margin:10px 0 22px;}
.cta-bottom{background:var(--olive-dark); color:#fff; padding:30px 0;}
.cta-bottom .container{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;}
.cta-bottom h4{color:#fff; margin-bottom:4px;}
.cta-bottom p{font-size:.85rem; opacity:.85;}
.cta-form{display:flex;}
.cta-form input{padding:12px 18px; border:none; border-radius:24px 0 0 24px; min-width:220px;}
.cta-form button{border:none; background:var(--anthracite); color:#fff; padding:0 26px; border-radius:0 24px 24px 0; font-weight:700; cursor:pointer;}

/* ===== K. FOOTER ===== */
.footer{padding:70px 0 26px; color:rgba(255,255,255,.75);}
.footer-grid{display:grid; grid-template-columns:1fr 1.2fr 1fr 1fr 1fr; gap:30px; margin-bottom:50px;}
.footer-logo{font-weight:800; color:#fff; font-size:1.1rem; margin-bottom:6px;}
.footer h5{color:#fff; font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:16px;}
.footer a, .footer p{display:block; font-size:.85rem; margin-bottom:10px; color:rgba(255,255,255,.7);}
.footer .phone{color:var(--olive); font-weight:700; font-size:1.2rem; margin:8px 0;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); padding-top:22px; display:flex; justify-content:space-between; font-size:.8rem; flex-wrap:wrap; gap:10px;}

@media (max-width:900px){
  .intro .grid, .testi{grid-template-columns:1fr;}
  .adv-grid, .act-grid, .news-grid{grid-template-columns:1fr 1fr;}
  .offers-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .top-bar{display:none;}
  body{padding-top:56px;}
  .navbar{position:fixed; top:0; left:0; right:0; z-index:1000; background:var(--anthracite); padding:8px 0; margin:0;}
  .navbar .container{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; padding:0 16px;}
  .nav-toggle{display:flex; align-items:center; justify-content:center; width:40px; height:40px; background:transparent; border:1px solid rgba(255,255,255,.4); border-radius:5px; cursor:pointer; order:2;}
  .nav-toggle span, .nav-toggle span:before, .nav-toggle span:after{content:""; display:block; width:20px; height:2px; background:#fff; position:relative; transition:.2s;}
  .nav-toggle span:before{position:absolute; top:-6px;}
  .nav-toggle span:after{position:absolute; top:6px;}
  .nav-toggle.is-open span{background:transparent;}
  .nav-toggle.is-open span:before{transform:rotate(45deg); top:0;}
  .nav-toggle.is-open span:after{transform:rotate(-45deg); top:0;}
  .navbar .nav-logo-mobile{order:1;}
  .navbar .nav-logo-mobile img{width:40px; height:40px; border-radius:50%; display:block;}
  .navbar ul{
    display:none; flex-direction:column; align-items:stretch; gap:0;
    width:100%; padding:10px 0 4px; order:3;
    max-height:75vh; overflow-y:auto;
  }
  .navbar ul.is-open{display:flex;}
  .navbar li{width:100%;}
  .navbar li.nav-logo{display:none;}
  .navbar a{display:block; padding:12px 16px; border-top:1px solid rgba(255,255,255,.08);}
  .page-hero{padding:24px 0 40px;}
  .hero{height:auto; min-height:480px;}
}
@media (max-width:600px){
  .adv-grid, .act-grid, .news-grid, .footer-grid{grid-template-columns:1fr;}
}

/* ===== PÁGINAS INTERNAS (Quiénes somos, Rutas, Programación, etc.) ===== */
.page-hero{background:var(--anthracite); color:#fff; padding:120px 0 50px; text-align:center; position:relative;}
.page-hero:before{content:""; position:absolute; inset:0; background-image:repeating-radial-gradient(circle at 25% 30%, rgba(255,255,255,.035) 0, rgba(255,255,255,.035) 1px, transparent 1px, transparent 40px);}
.page-hero .container{position:relative; z-index:1;}
.page-hero .eyebrow{color:var(--olive);}
.page-hero h1{color:#fff; font-size:2.4rem; margin:10px 0 8px;}
.page-hero p{color:rgba(255,255,255,.75); max-width:560px; margin:0 auto;}

.page-content{padding:70px 0; max-width:860px; margin:0 auto;}
.page-content h2{color:var(--anthracite); font-size:1.6rem; margin-top:1.6em; margin-bottom:.5em;}
.page-content h2:first-child{margin-top:0;}
.page-content p{color:#444; line-height:1.75; margin-bottom:1.1em;}
.page-content ul, .page-content ol{color:#444; line-height:1.9; margin:0 0 1.3em 1.4em;}
.page-content img{border-radius:4px; margin:20px 0;}
.page-content table{width:100%; border-collapse:collapse; margin-bottom:1.5em;}
.page-content th, .page-content td{border:1px solid #ddd; padding:10px 14px; text-align:left; font-size:.92rem;}
.page-content th{background:var(--anthracite); color:#fff; font-weight:600;}
.table-scroll{width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; margin-bottom:1.5em;}
.table-scroll table{margin-bottom:0; min-width:560px;}
@media (max-width:600px){
  .page-content th, .page-content td{padding:8px 10px; font-size:.82rem;}
}
.page-content .btn-oval{margin-top:10px;}

/* Comunicados listado */
.comunicados-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:20px;}
.comunicado-item{background:#fff; border:1px solid #e6e2d3; border-radius:6px; overflow:hidden;}
.comunicado-item .top{background:var(--anthracite); height:120px; display:flex; align-items:center; justify-content:center;}
.comunicado-item .top .circle{width:52px; height:52px; border-radius:50%; background:var(--olive); display:flex; align-items:center; justify-content:center;}
.comunicado-item .top svg{width:24px; height:24px; stroke:#fff; fill:none; stroke-width:1.8;}
.comunicado-item .body{padding:18px 20px;}
.comunicado-item h4{font-size:1rem; margin-bottom:8px; color:var(--anthracite);}
.comunicado-item p{font-size:.85rem; color:#666; margin-bottom:12px;}
@media (max-width:900px){ .comunicados-grid{grid-template-columns:1fr;} }

/* Formularios (Inscripción / Contacto) */
.form-wrap{background:#fff; border-radius:8px; padding:40px; max-width:720px; margin:0 auto; box-shadow:0 10px 40px rgba(44,44,44,.08); border:1px solid #eee;}
.form-row{display:flex; gap:18px; margin-bottom:18px;}
.form-row .form-group{flex:1;}
.form-group label{display:block; font-size:.84rem; font-weight:700; margin-bottom:6px; color:var(--anthracite);}
.form-group input, .form-group select, .form-group textarea{
  width:100%; padding:12px 14px; border:1px solid #d9d5c4; border-radius:5px; font-size:.95rem; font-family:'Poppins',sans-serif; background:var(--offwhite);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{outline:2px solid var(--olive); border-color:var(--olive);}
.form-notice{padding:14px 18px; border-radius:6px; margin-bottom:20px; font-size:.9rem; max-width:720px; margin-left:auto; margin-right:auto;}
.form-notice.success{background:#eef1e6; color:#5a6b3a; border:1px solid var(--olive);}
.form-notice.error{background:#fbe9e4; color:#9c3a20; border:1px solid #c0472e;}
@media (max-width:640px){ .form-row{flex-direction:column; gap:0;} }
