/* ===========================================================
   entoledo.org — sistema de diseño del tema
   Paleta extraída del logo, tipografía Fraunces + Work Sans
   =========================================================== */

:root{
  --azul: #6C93C4;
  --malva: #B79FCB;
  --rosa: #E0B6C8;
  --ambar: #F4AD73;
  --miel: #FBDA6E;
  --tinta: #2E2A45;
  --tinta-suave: #6B6580;
  --crema: #FBF8F3;
  --crema-dim: #F1EAE0;
  --linea: rgba(46,42,69,0.1);
  --radius: 16px;
  --radius-sm: 10px;
  --gradiente: linear-gradient(120deg, var(--azul) 0%, var(--malva) 32%, var(--rosa) 58%, var(--ambar) 82%, var(--miel) 100%);
}
*{box-sizing:border-box;}
body{font-family:'Work Sans', sans-serif; background:var(--crema); color:var(--tinta); margin:0; -webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Fraunces', serif; font-weight:600; letter-spacing:-0.01em; margin:0;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.eyebrow{font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; font-weight:600;}

/* ===== Header ===== */
.site-header{background:var(--crema); padding:0 5vw; border-bottom:1px solid var(--linea);}
.site-header .nav{display:flex; align-items:center; justify-content:space-between; max-width:1240px; margin:0 auto; padding:18px 0;}
.site-logo{display:flex; align-items:center; gap:10px;}
.site-logo img{width:38px; height:38px; border-radius:50%;}
.site-logo .word{font-family:'Fraunces', serif; font-size:1.4rem; font-weight:600; color:var(--tinta);}
.site-logo .word em{font-style:italic; font-weight:500; background:var(--gradiente); -webkit-background-clip:text; background-clip:text; color:transparent;}
.primary-menu{display:flex; gap:32px; font-size:0.92rem; font-weight:500; list-style:none; margin:0; padding:0;}
.primary-menu a{opacity:0.75;}
.primary-menu a:hover, .primary-menu .current-menu-item > a{opacity:1; color:var(--azul);}
.nav-cta{background:var(--tinta); color:var(--crema) !important; padding:10px 22px; font-size:0.85rem; font-weight:600; border-radius:999px;}

/* ===== Hero (portada) ===== */
.hero{position:relative; background:var(--gradiente); color:#fff; overflow:hidden; padding:96px 5vw 0;}
.hero-inner{max-width:1240px; margin:0 auto; position:relative; z-index:2; padding-bottom:64px;}
.hero .eyebrow{margin-bottom:18px; display:block; color:rgba(255,255,255,0.92);}
.hero h1{font-size:clamp(2.4rem, 5vw, 3.9rem); line-height:1.08; max-width:15ch; margin-bottom:22px; color:#fff;}
.hero h1 em{font-style:italic; font-weight:500;}
.hero p.lede{font-size:1.1rem; color:rgba(255,255,255,0.92); max-width:46ch; line-height:1.55; margin-bottom:40px;}
.skyline{display:block; width:100%; height:auto; opacity:0.9;}

/* ===== Buscador ===== */
.search-panel{background:#fff; border-radius:999px; padding:8px; display:flex; gap:6px; max-width:680px; box-shadow:0 24px 48px -14px rgba(46,42,69,0.35); flex-wrap:wrap;}
.search-panel input, .search-panel select{border:none; background:transparent; font-family:'Work Sans', sans-serif; font-size:0.95rem; color:var(--tinta); padding:14px 20px; border-radius:999px;}
.search-panel input{flex:1.4;}
.search-panel select{flex:1; border-left:1px solid var(--linea);}
.search-panel button{background:var(--tinta); color:#fff; border:none; padding:14px 30px; font-weight:600; font-size:0.92rem; border-radius:999px; cursor:pointer;}
.hero-stats{display:flex; gap:44px; margin-top:38px; flex-wrap:wrap;}
.hero-stats .num{font-family:'Fraunces', serif; font-size:1.6rem; color:#fff; font-weight:600;}
.hero-stats .lbl{font-size:0.78rem; color:rgba(255,255,255,0.8);}

/* ===== Secciones genéricas ===== */
.section{padding:76px 5vw;}
.section-inner{max-width:1240px; margin:0 auto;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:40px; gap:24px; flex-wrap:wrap;}
.section-head h2{font-size:1.9rem;}
.see-all{font-size:0.88rem; font-weight:600; color:var(--azul);}

/* ===== Categorías ===== */
.cat-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;}
.cat-card{background:#fff; padding:30px 24px; border-radius:var(--radius); border:1px solid var(--linea); position:relative; transition:transform 0.18s;}
.cat-card:hover{transform:translateY(-3px); box-shadow:0 16px 32px -16px rgba(46,42,69,0.25);}
.cat-icon-wrap{width:52px; height:52px; border-radius:50%; background:var(--gradiente); display:flex; align-items:center; justify-content:center; margin-bottom:18px; color:#fff; font-size:1.2rem;}
.cat-card h3{font-size:1.1rem; margin-bottom:6px;}
.cat-card p{font-size:0.85rem; color:var(--tinta-suave); margin:0;}
.cat-card .count{position:absolute; top:28px; right:24px; font-size:0.75rem; color:var(--tinta-suave);}

/* ===== Tarjetas de listado (grid, portada) ===== */
.listing-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:26px;}
.listing-card{background:#fff; border-radius:var(--radius); overflow:hidden; border:1px solid var(--linea); transition:transform 0.18s;}
.listing-card:hover{transform:translateY(-3px); box-shadow:0 20px 36px -18px rgba(46,42,69,0.28);}
.listing-photo{height:170px; background:var(--gradiente); position:relative;}
.listing-photo img{width:100%; height:100%; object-fit:cover;}
.listing-photo .badge{position:absolute; top:12px; left:12px; background:rgba(255,255,255,0.92); color:var(--tinta); font-size:0.68rem; font-weight:700; text-transform:uppercase; padding:5px 12px; border-radius:999px;}
.fav-btn{position:absolute; top:12px; right:12px; width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,0.92); display:flex; align-items:center; justify-content:center; border:none; cursor:pointer;}
.listing-body{padding:20px 22px 22px;}
.listing-zone{font-size:0.76rem; color:var(--azul); font-weight:600; margin-bottom:6px;}
.listing-body h3{font-size:1.15rem; margin-bottom:8px;}
.listing-body p{font-size:0.87rem; color:var(--tinta-suave); line-height:1.5; margin-bottom:14px;}
.listing-meta{display:flex; justify-content:space-between; align-items:center; padding-top:14px; border-top:1px solid var(--linea); font-size:0.82rem;}
.rating{color:var(--ambar); font-weight:600;}

/* ===== Filas de listado (categoría) ===== */
.filter-bar{max-width:1240px; margin:0 auto 40px; padding:0 5vw; display:flex; gap:12px; flex-wrap:wrap; align-items:center;}
.chip{background:#fff; border:1px solid var(--linea); border-radius:999px; padding:10px 18px; font-size:0.85rem; font-weight:500;}
.chip.active{background:var(--tinta); color:#fff; border-color:var(--tinta);}
.layout{max-width:1240px; margin:0 auto; padding:0 5vw 80px; display:grid; grid-template-columns:1fr 300px; gap:40px;}
.listing-row{background:#fff; border:1px solid var(--linea); border-radius:var(--radius); display:grid; grid-template-columns:200px 1fr; overflow:hidden; margin-bottom:20px;}
.row-photo{background:var(--gradiente); position:relative; min-height:150px;}
.row-body{padding:20px 24px;}
.row-zone{font-size:0.76rem; color:var(--azul); font-weight:600; margin-bottom:4px;}
.row-tags{display:flex; gap:8px; flex-wrap:wrap;}
.tag{font-size:0.74rem; background:var(--crema-dim); color:var(--tinta-suave); padding:4px 11px; border-radius:999px;}

/* ===== Sidebar ===== */
.sidebar{display:flex; flex-direction:column; gap:24px;}
.side-card{background:#fff; border:1px solid var(--linea); border-radius:var(--radius); padding:22px;}
.side-card h4{font-size:0.78rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--tinta-suave); margin-bottom:14px; font-weight:600;}
.side-cta{background:var(--gradiente); border-radius:var(--radius); padding:26px 22px; color:#fff; text-align:center;}
.side-cta a{display:inline-block; background:#fff; color:var(--tinta); padding:10px 22px; border-radius:999px; font-weight:600; font-size:0.85rem; margin-top:12px;}

/* ===== Ficha individual ===== */
.gallery{max-width:1240px; margin:20px auto 0; padding:0 5vw;}
.gallery-grid{display:grid; grid-template-columns:1.6fr 1fr; gap:8px; height:340px; border-radius:var(--radius); overflow:hidden;}
.gallery-main{background:var(--gradiente); position:relative;}
.gallery-main img{width:100%; height:100%; object-fit:cover;}
.gallery-side{display:grid; grid-template-rows:1fr 1fr; gap:8px;}
.gallery-side div{background:var(--gradiente);}
.gallery-badge{position:absolute; top:16px; left:16px; background:rgba(255,255,255,0.94); color:var(--tinta); font-size:0.72rem; font-weight:700; text-transform:uppercase; padding:6px 14px; border-radius:999px;}
.titleblock{display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:28px; flex-wrap:wrap;}
.titleblock h1{font-size:2.1rem; margin-bottom:10px;}
.meta-row{display:flex; align-items:center; gap:16px; font-size:0.88rem; color:var(--tinta-suave); flex-wrap:wrap;}
.action-btns{display:flex; gap:10px; flex-wrap:wrap;}
.btn{padding:11px 22px; border-radius:999px; font-size:0.85rem; font-weight:600; display:inline-flex; align-items:center; gap:8px; border:none; cursor:pointer;}
.btn-primary{background:var(--tinta); color:#fff !important;}
.btn-outline{border:1px solid var(--linea); background:#fff; color:var(--tinta) !important;}
.facts-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:20px;}
.fact{background:#fff; border:1px solid var(--linea); border-radius:var(--radius-sm); padding:14px 16px; font-size:0.86rem;}
.fact .lbl{color:var(--tinta-suave); font-size:0.76rem; display:block;}
.hours-table{background:#fff; border:1px solid var(--linea); border-radius:var(--radius); padding:20px 24px; margin-top:16px;}
.hours-row{display:flex; justify-content:space-between; padding:8px 0; font-size:0.88rem; border-bottom:1px solid var(--crema-dim);}
.hours-row.today{font-weight:700; color:var(--azul);}
.map-placeholder{background:var(--crema-dim); border:1px solid var(--linea); border-radius:var(--radius); height:220px; margin-top:16px; overflow:hidden;}

/* ===== Agenda ===== */
.day-tabs{max-width:1240px; margin:0 auto; padding:0 5vw 8px; display:flex; gap:10px; overflow-x:auto;}
.day-tab{flex-shrink:0; text-align:center; padding:12px 18px; border-radius:var(--radius-sm); border:1px solid var(--linea); background:#fff; min-width:64px;}
.day-tab.today{background:var(--gradiente); border-color:transparent; color:#fff;}
.event-card{background:#fff; border:1px solid var(--linea); border-radius:var(--radius); display:grid; grid-template-columns:88px 1fr auto; gap:20px; align-items:center; padding:18px 22px; margin-bottom:14px;}
.event-date{text-align:center; background:var(--crema-dim); border-radius:var(--radius-sm); padding:10px 6px;}
.event-date .d{font-family:'Fraunces', serif; font-size:1.5rem; font-weight:600;}
.badge-free{background:var(--crema-dim); font-size:0.72rem; font-weight:700; padding:5px 12px; border-radius:999px;}

/* ===== Artículo (contenido puente) ===== */
.article-body{max-width:760px; margin:0 auto; padding:0 5vw 60px;}
.article-body p{font-size:1.02rem; line-height:1.75; color:#3b3752; margin-bottom:22px;}
.embed-card{display:flex; gap:16px; align-items:center; background:#fff; border:1px solid var(--linea); border-radius:var(--radius); padding:16px; margin:26px 0;}
.embed-photo{width:88px; height:88px; border-radius:var(--radius-sm); background:var(--gradiente); flex-shrink:0;}

/* ===== Anuncios ===== */
.ad-native{border:1px dashed var(--linea); background:var(--crema-dim); padding:22px; text-align:center; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--tinta-suave); border-radius:var(--radius-sm);}

/* ===== Estado vacío ===== */
.empty{max-width:640px; margin:60px auto 90px; padding:0 5vw; text-align:center;}
.empty-icon{width:88px; height:88px; margin:0 auto 26px; border-radius:50%; background:var(--gradiente);}

/* ===== Footer ===== */
.site-footer{background:#211D33; color:rgba(255,255,255,0.65); padding:40px 5vw; font-size:0.82rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;}

@media (max-width:900px){
  .primary-menu{display:none;}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .listing-grid, .facts-grid{grid-template-columns:1fr;}
  .layout{grid-template-columns:1fr;}
  .listing-row{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr; height:auto;}
  .gallery-side{display:none;}
}
