/* ==========================================================
   Blog Urbanopolis — sistema editorial 2026
   Inspirado en buenas prácticas de lectura editorial, adaptado
   a la identidad y arquitectura existente de Urbanopolis.
   ========================================================== */

:root {
  --blog-blue: #175A32;
  --blog-green: #2E7D32;
  --blog-dark: #1d2732;
  --blog-gray: #6d7378;
  --blog-light: #f5f6f7;
  --blog-border: #e2e5e8;
  --blog-footer-gray: #4a4a4a;
}

/* ---------- Categorías ---------- */
.category-planificacion { --category-color: #2E7D32; }
.category-suelo { --category-color: #236B43; }
.category-inversion { --category-color: #6B8E36; }
.category-movilidad { --category-color: #3D7B4A; }
.category-riesgo { --category-color: #4F873B; }
.category-casos { --category-color: #789C3B; }

.category-badge,
.blog-hero-category,
.related-article-category {
  background: var(--category-color, #2E7D32);
  color: #fff;
}

/* ==========================================================
   PORTADA DEL BLOG
   ========================================================== */
.blog-breadcrumb-bar {
  background: #4a4a4a;
  color: #fff;
  font-size: 13px;
  padding: 10px 0;
}
.blog-breadcrumb-bar a { color: #fff; }
.blog-breadcrumb-bar span { margin-left: 8px; opacity: .9; }

.blog-hero {
  position: relative;
  height: 430px;
  overflow: hidden;
  background: #333;
}
.blog-hero-track,
.blog-hero-slide { position: absolute; inset: 0; }
.blog-hero-slide {
  opacity: 0;
  visibility: hidden;
  background-position: center;
  background-size: cover;
  transition: opacity .55s ease, visibility .55s ease;
}
.blog-hero-slide.is-active { opacity: 1; visibility: visible; }
.blog-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(14,22,29,.82) 0%, rgba(14,22,29,.62) 48%, rgba(14,22,29,.30) 76%, rgba(14,22,29,.12) 100%);
}
.blog-hero-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  color: #fff;
  max-width: 1170px;
}
.blog-hero-category {
  display: inline-block;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .7px;
  border-radius: 18px;
  padding: 7px 13px;
  margin-bottom: 15px;
}
.blog-hero-content h2 {
  color: #fff;
  font-size: 34px;
  line-height: 1.18;
  max-width: 760px;
  margin: 0 0 13px;
  font-weight: 700;
}
.blog-hero-content p {
  color: rgba(255,255,255,.94);
  max-width: 760px;
  font-size: 16px;
  line-height: 1.55;
  margin: 0 0 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-hero-meta { font-size: 12px; color: rgba(255,255,255,.82); margin-bottom: 18px; }
.blog-hero-button {
  display: inline-block;
  background: #fff;
  color: #175A32;
  border-radius: 4px;
  padding: 10px 16px;
  font-weight: 700;
  text-decoration: none;
}
.blog-hero-button:hover { color: var(--category-color, #2E7D32); }
.blog-hero-arrow {
  position: absolute;
  z-index: 4;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.7);
  background: rgba(0,0,0,.30);
  color: #fff;
}
.blog-hero-prev { left: 24px; }
.blog-hero-next { right: 24px; }
.blog-hero-dots {
  position: absolute;
  z-index: 4;
  left: 0;
  right: 0;
  bottom: 18px;
  text-align: center;
}
.blog-hero-dot {
  width: 10px;
  height: 10px;
  padding: 0;
  margin: 0 5px;
  border-radius: 50%;
  border: 1px solid #fff;
  background: transparent;
}
.blog-hero-dot.is-active { background: #fff; }

.blog-editorial-page { padding: 56px 0 70px; background: #fff; }
.blog-editorial-intro { max-width: 900px; margin-bottom: 26px; }
.blog-kicker {
  display: inline-block;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .8px;
  color: #2E7D32;
  font-weight: 700;
  margin-bottom: 8px;
}
.blog-editorial-intro h1,
.blog-featured-section h2,
.blog-recent-section h2,
.blog-archive-section h2,
.blog-author-feature h2,
.blog-preview-heading h2 {
  color: #202a33;
  font-weight: 700;
}
.blog-editorial-intro h1 { font-size: 36px; line-height: 1.18; margin: 0 0 12px; }
.blog-editorial-intro p { color: #6f7479; font-size: 16px; line-height: 1.6; margin: 0; }

.blog-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0 28px;
  border-top: 1px solid var(--blog-border);
  border-bottom: 1px solid var(--blog-border);
  margin-bottom: 42px;
}
.blog-filter-scroll { display: flex; flex-wrap: wrap; gap: 8px; }
.blog-filter-button {
  background: #fff;
  border: 1px solid #175A32;
  color: #175A32;
  border-radius: 4px;
  padding: 8px 11px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  transition: all .2s ease;
}
.blog-filter-button:hover,
.blog-filter-button.is-active { color: #fff; background: #175A32; }
.blog-search-box {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 290px;
  border: 1px solid #aeb7bf;
  border-radius: 4px;
  background: #fff;
}
.blog-search-box > i { color: #175A32; margin-left: 12px; }
.blog-search-box input {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 9px 32px 9px 10px;
  height: 40px;
  color: #333;
}
.blog-search-box input:focus { outline: none; }
#blog-search-clear {
  position: absolute;
  right: 8px;
  border: 0;
  background: transparent;
  color: #777;
  font-size: 21px;
  line-height: 1;
}

.blog-featured-section { margin-bottom: 52px; }
.blog-featured-section > h2,
.blog-recent-section h2 { font-size: 28px; margin: 0 0 18px; }
.blog-featured-card {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  background: #f2f5f7;
  border-radius: 10px;
  overflow: hidden;
  min-height: 330px;
}
.blog-featured-image { display: block; min-height: 330px; }
.blog-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-featured-copy { padding: 34px 38px; display: flex; flex-direction: column; justify-content: center; }
.blog-featured-copy h3 { font-size: 25px; line-height: 1.25; margin: 14px 0 12px; }
.blog-featured-copy h3 a { color: #16384d; }
.blog-featured-copy p { color: #636a70; font-style: italic; font-size: 15px; line-height: 1.65; margin: 0 0 10px; }
.blog-featured-meta { font-size: 12px; color: #7d858b; }

.category-badge {
  display: inline-block;
  align-self: flex-start;
  max-width: 100%;
  text-transform: uppercase;
  font-size: 10.5px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .45px;
  border-radius: 16px;
  padding: 7px 11px;
  white-space: normal;
}
.blog-card-date {
  display: block;
  margin-top: 9px;
  color: #858b90;
  font-size: 12px;
}

.blog-section-heading,
.blog-preview-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
}
.blog-section-heading { margin-bottom: 18px; }
#blog-results-count { color: #80868c; font-size: 12px; }
.blog-results-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 32px;
}
.blog-list-card {
  display: grid;
  grid-template-columns: 43% 57%;
  min-height: 205px;
  background: #fff;
  border: 1px solid var(--blog-border);
  border-top: 4px solid var(--category-color, #2E7D32);
  border-radius: 6px;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.blog-list-card:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(0,0,0,.08); }
.blog-list-image { display: block; min-height: 100%; overflow: hidden; }
.blog-list-image img { width: 100%; height: 100%; min-height: 205px; object-fit: cover; display: block; transition: transform .35s ease; }
.blog-list-card:hover .blog-list-image img { transform: scale(1.025); }
.blog-list-body { padding: 18px 20px 20px; }
.blog-list-body h3 { font-size: 16px; line-height: 1.38; margin: 11px 0 8px; font-weight: 700; }
.blog-list-body h3 a { color: #222d36; }
.blog-list-body h3 a:hover { color: var(--category-color, #2E7D32); }
.blog-card-summary {
  color: #73787d;
  font-style: italic;
  font-size: 13px;
  line-height: 1.55;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-list-card.is-hidden { display: none !important; }
.blog-show-all-wrap { text-align: center; margin-top: 28px; }
.blog-outline-button {
  display: inline-block;
  border: 1px solid #175A32;
  color: #175A32;
  background: #fff;
  padding: 9px 15px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 13px;
}
.blog-outline-button:hover { background: #175A32; color: #fff; }
.blog-no-results { text-align: center; padding: 32px; color: #777; }

.blog-archive-section {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(300px, .85fr);
  gap: 56px;
  margin-top: 68px;
  padding: 44px 0;
  border-top: 1px solid var(--blog-border);
  border-bottom: 1px solid var(--blog-border);
}
.blog-archive-main h2 { font-size: 30px; margin: 0 0 12px; }
.blog-archive-main p { max-width: 650px; color: #6e7479; font-size: 15px; line-height: 1.65; }
.blog-archive-note { margin-top: 24px; padding: 16px 18px; background: #f3f5f6; border-left: 3px solid #2E7D32; color: #5e656a; }
.blog-archive-sidebar h3 { font-size: 21px; margin: 0 0 14px; }
.archive-category { border-top: 1px solid var(--blog-border); }
.archive-category:last-child { border-bottom: 1px solid var(--blog-border); }
.archive-category-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 13px 2px;
  color: #2a3035;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}
.archive-category-toggle span { border-left: 4px solid var(--category-color, #2E7D32); padding-left: 9px; }
.archive-category-toggle i { color: #888; transition: transform .2s ease; }
.archive-category-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.archive-category-panel { padding: 0 0 12px 14px; }
.archive-year-label { color: var(--category-color, #2E7D32); font-weight: 700; font-size: 12px; margin: 7px 0; }
.archive-year ul { list-style: none; margin: 0; padding: 0; }
.archive-year li { margin: 0 0 9px; }
.archive-year li span { display: block; color: #999; font-size: 10.5px; }
.archive-year li a { color: #3f474e; font-size: 12px; line-height: 1.35; }
.archive-year li a:hover { color: var(--category-color, #2E7D32); }

.blog-author-feature {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 34px;
  align-items: center;
  margin-top: 62px;
  padding: 30px;
  background: #eef0f1;
  border-radius: 8px;
}
.blog-author-image-wrap { height: 290px; border-radius: 6px; overflow: hidden; }
.blog-author-image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center 24%; }
.blog-author-feature-copy h2 { font-size: 28px; margin: 3px 0 12px; }
.blog-author-feature-copy p { color: #60676d; font-size: 15px; line-height: 1.68; max-width: 750px; }
.author-links { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 13px; }
.author-links a { color: #175A32; font-weight: 700; border-bottom: 1px solid #175A32; }

/* Preview del Blog en index.html */
.urbanopolis-blog-preview { padding: 58px 0; }
.blog-preview-heading { margin-bottom: 24px; padding-bottom: 15px; border-bottom: 1px solid var(--blog-border); }
.blog-preview-heading h2 { font-size: 30px; margin: 2px 0 0; }
.blog-carousel .item { padding: 6px 8px; height: 100%; }
.blog-carousel .blog-list-card { grid-template-columns: 1fr; height: 100%; min-height: 0; }
.blog-carousel .blog-list-image { height: 185px; min-height: 185px; }
.blog-carousel .blog-list-image img { min-height: 185px; }
.blog-carousel .blog-list-body { min-height: 255px; }
.blog-carousel .owl-stage { display: flex; }
.blog-carousel .owl-item { display: flex; height: auto; }
.blog-carousel .owl-dots { text-align: center; margin-top: 16px; }
.blog-carousel .owl-dot span { width: 9px; height: 9px; margin: 0 4px; background:#d1d5d8; border-radius:50%; display:block; }
.blog-carousel .owl-dot.active span { background:#175A32; }

/* ==========================================================
   ARTÍCULO INDIVIDUAL
   ========================================================== */
.page-title.article-breadcrumb-strip {
  background: #4a4a4a !important;
  background-image: none !important;
  min-height: 0 !important;
  padding: 18px 0 !important;
  margin: 0 !important;
}
.page-title.article-breadcrumb-strip .overlay { display: none !important; }
.page-title.article-breadcrumb-strip .breadcrumbs { padding: 0 !important; margin: 0 !important; }
.page-title.article-breadcrumb-strip .breadcrumbs ul { margin: 0; }
.page-title.article-breadcrumb-strip .breadcrumbs li,
.page-title.article-breadcrumb-strip .breadcrumbs li a {
  color: #fff !important;
  font-size: 13px !important;
  opacity: .92;
}
.page-title.article-breadcrumb-strip .breadcrumbs li:before,
.page-title.article-breadcrumb-strip .breadcrumbs li:after { color: rgba(255,255,255,.65) !important; }

.article-page-section { padding: 52px 0 0 !important; }
.article-wrap {
  --category-color: #2E7D32;
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px 62px;
}
.article-category {
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--category-color);
  font-size: 13px;
  letter-spacing: .55px;
  margin-bottom: 14px;
}
.article-title {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  color: var(--blog-blue);
  font-size: 31px;
  line-height: 1.3;
  margin: 0 0 18px;
}
.article-lead {
  font-style: italic;
  color: #2f3336;
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 20px;
}
.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--category-color);
  margin-bottom: 26px;
}
.article-meta strong { color: var(--category-color); }
.article-meta-item { display: inline-block; }
.article-image-main,
.article-image-inline { text-align: center; margin: 0 auto 8px; }
.article-image-main img {
  max-width: 860px;
  width: auto;
  height: auto;
  display: inline-block;
  border-radius: 3px;
}
.article-image-inline { margin-top: 32px; }
.article-image-inline img {
  max-width: 720px;
  width: auto;
  height: auto;
  display: inline-block;
  border-radius: 3px;
}
.article-caption {
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
  font-style: italic;
  color: #62676b;
  font-size: 12px;
  line-height: 1.45;
}
.article-content { color:#262626; font-size:16.5px; line-height:1.82; }
.article-content p { margin-bottom: 20px; }
.article-heading {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  color: #1F4E2C;
  font-size: 21px;
  line-height: 1.4;
  margin: 38px 0 16px;
}
.article-references {
  margin-top: 44px;
  padding-top: 24px;
  border-top: 1px solid var(--blog-border);
}
.article-references-title { font-weight:700; font-size:18px; color:#252b2f; margin-bottom:14px; }
.article-references-subhead { font-weight:700; font-size:14px; color:#333; margin:18px 0 8px; }
.article-references ul { list-style:none; margin:0; padding:0; }
.article-references li { font-size:12.5px; color:#696f74; line-height:1.55; margin-bottom:8px; overflow-wrap:anywhere; }

.related-services {
  margin-top: 34px;
  padding: 20px 22px;
  background: #f7f7f7;
  border-left: 3px solid var(--category-color);
  border-radius: 3px;
}
.related-services-title { font-weight:700; font-size:14px; color:#202428; margin-bottom:10px; }
.related-services ul { list-style:none; margin:0; padding:0; }
.related-services li { margin-bottom:7px; }
.related-services a { color:#333; font-weight:600; text-decoration:none; border-bottom:1px solid var(--category-color); }
.related-services a:hover { color:var(--category-color); }

.article-keywords,
.article-related,
.article-share,
.article-author,
.article-copyright { margin-top: 34px; }
.article-end-label {
  text-transform: uppercase;
  letter-spacing: .6px;
  font-size: 12px;
  font-weight: 700;
  color: #1d2c35;
  margin-bottom: 11px;
}
.keyword-chips { display:flex; flex-wrap:wrap; gap:8px; }
.keyword-chip {
  display:inline-block;
  border:1px solid #c8d0d5;
  background:#fff;
  color:#315e3d;
  border-radius:18px;
  padding:6px 11px;
  font-size:12px;
}
.related-article-card {
  display:grid;
  grid-template-columns: 150px 1fr;
  gap:18px;
  border:1px solid var(--blog-border);
  border-left:4px solid var(--category-color);
  border-radius:6px;
  padding:10px;
  color:inherit;
  text-decoration:none;
  background:#fff;
}
.related-article-card:hover { box-shadow:0 8px 22px rgba(0,0,0,.07); }
.related-article-card img { width:150px; height:100px; object-fit:cover; border-radius:4px; }
.related-article-body { display:flex; flex-direction:column; justify-content:center; }
.related-article-category {
  align-self:flex-start;
  text-transform:uppercase;
  border-radius:12px;
  padding:4px 8px;
  font-size:9px;
  letter-spacing:.4px;
  font-weight:700;
}
.related-article-title { color:#26333c; font-weight:700; font-size:15px; line-height:1.35; margin:7px 0 4px; }
.related-article-date { color:#8a8f93; font-size:11px; }

.article-share { position:relative; padding-top:22px; border-top:1px solid var(--blog-border); }
.share-toggle {
  border:1px solid #175A32;
  background:#fff;
  color:#175A32;
  border-radius:5px;
  padding:9px 14px;
  font-weight:700;
}
.share-toggle:focus,
.share-option:focus { outline:2px solid #8BC34A; outline-offset:2px; }
.share-panel {
  margin-top:8px;
  width:240px;
  border:1px solid #175A32;
  border-radius:6px;
  background:#fff;
  padding:8px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}
.share-option {
  width:100%;
  border:0;
  background:#fff;
  color:#333;
  text-align:left;
  padding:9px 10px;
  border-radius:4px;
  font-weight:600;
}
.share-option:hover { background:#f0f5f7; color:#175A32; }
.share-option i,
.share-x { display:inline-block; width:22px; color:#175A32; text-align:center; font-weight:700; }

.article-author {
  display:grid;
  grid-template-columns:110px 1fr;
  gap:22px;
  align-items:center;
  padding:24px 0;
  border-top:1px solid var(--blog-border);
  border-bottom:1px solid var(--blog-border);
}
.article-author-photo { width:104px; height:104px; object-fit:cover; object-position:center 22%; border-radius:50%; }
.article-author h3 { color:#175A32; font-size:20px; margin:0 0 7px; }
.article-author p { color:#5f666b; font-size:13.5px; line-height:1.55; margin:0; }
.article-copyright { color:#747a7f; font-size:12px; font-style:italic; line-height:1.5; }

/* El footer original del sitio debe conservar su identidad. */
.article-page-section + .footer { margin-top: 0; }

/* ==========================================================
   Responsive
   ========================================================== */
@media (max-width: 1199px) {
  .blog-hero-content { padding-left: 72px; padding-right: 72px; }
  .blog-results-grid { gap: 20px; }
}

@media (max-width: 991px) {
  .blog-hero { height: 390px; }
  .blog-hero-content h2 { font-size: 29px; max-width: 650px; }
  .blog-tools { flex-direction: column; align-items: stretch; }
  .blog-filter-scroll { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }
  .blog-filter-button { flex: 0 0 auto; }
  .blog-search-box { min-width: 0; width: 100%; }
  .blog-featured-card { grid-template-columns: 1fr; }
  .blog-featured-image { min-height: 300px; height: 300px; }
  .blog-results-grid { grid-template-columns: 1fr; }
  .blog-list-card { grid-template-columns: 38% 62%; }
  .blog-archive-section { grid-template-columns: 1fr; gap: 30px; }
  .blog-author-feature { grid-template-columns: 210px 1fr; }
  .article-title { font-size: 28px; }
}

@media (max-width: 767px) {
  .blog-breadcrumb-bar { font-size: 12px; }
  .blog-hero { height: 365px; }
  .blog-hero-overlay { background: rgba(15,22,28,.68); }
  .blog-hero-content { padding: 38px 50px 48px; justify-content:flex-end; }
  .blog-hero-content h2 { font-size: 24px; line-height:1.2; }
  .blog-hero-content p { font-size:14px; -webkit-line-clamp:2; }
  .blog-hero-arrow { width:36px; height:36px; }
  .blog-hero-prev { left:8px; }
  .blog-hero-next { right:8px; }
  .blog-editorial-page { padding-top: 38px; }
  .blog-editorial-intro h1 { font-size: 30px; }
  .blog-featured-copy { padding: 26px 24px; }
  .blog-featured-copy h3 { font-size:21px; }
  .blog-list-card { grid-template-columns: 1fr; }
  .blog-list-image { height: 210px; }
  .blog-list-image img { min-height:210px; }
  .blog-author-feature { grid-template-columns:1fr; padding:22px; }
  .blog-author-image-wrap { height:330px; max-width:280px; }
  .blog-preview-heading { align-items:center; }
  .blog-preview-heading h2 { font-size:25px; }
  .page-title.article-breadcrumb-strip { padding: 14px 0 !important; }
  .page-title.article-breadcrumb-strip .breadcrumbs li,
  .page-title.article-breadcrumb-strip .breadcrumbs li a { font-size:11px !important; }
  .article-page-section { padding-top:36px !important; }
  .article-wrap { padding:0 18px 48px; }
  .article-title { font-size:24px; }
  .article-lead { font-size:15.5px; }
  .article-meta { flex-direction:column; gap:4px; font-size:12px; }
  .article-content { font-size:15.5px; line-height:1.75; }
  .article-heading { font-size:19px; margin-top:32px; }
  .article-image-main img,
  .article-image-inline img { max-width:100%; width:auto; }
  .related-article-card { grid-template-columns: 100px 1fr; }
  .related-article-card img { width:100px; height:84px; }
  .article-author { grid-template-columns:78px 1fr; gap:15px; }
  .article-author-photo { width:74px; height:74px; }
}

@media (max-width: 480px) {
  .blog-hero-content { padding:28px 38px 44px; }
  .blog-hero-content h2 { font-size:21px; }
  .blog-hero-content p { display:none; }
  .blog-hero-category { font-size:10px; padding:6px 10px; }
  .blog-editorial-intro h1 { font-size:27px; }
  .blog-featured-image { height:240px; min-height:240px; }
  .blog-author-image-wrap { height:300px; }
  .blog-section-heading { align-items:flex-start; flex-direction:column; }
  .article-title { font-size:22px; }
  .related-article-card { grid-template-columns:1fr; }
  .related-article-card img { width:100%; height:150px; }
  .share-panel { width:100%; }
}

.blog-list-card.is-extra { display: none; }


/* ===== Blog V4: filtros compactos + identidad Urbanopolis ===== */
body,button,input,select,textarea{font-family:"Montserrat","Segoe UI",Arial,sans-serif!important}.blog-editorial-intro h1,.blog-featured-section h2,.blog-recent-section h2,.blog-archive-section h2,.blog-author-feature h2{color:#175A32}.blog-tools-v4{align-items:flex-end}.blog-dropdown-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.blog-select-control{display:grid;gap:5px;margin:0}.blog-select-control>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#2E7D32}.blog-select-control select{min-width:176px;height:42px;padding:0 38px 0 12px;border:1px solid #7aa58a;border-radius:5px;background:#fff;color:#175A32;font-size:12px;font-weight:650;outline:none}.blog-select-control select:focus{border-color:#2E7D32;box-shadow:0 0 0 2px rgba(46,125,50,.12)}.blog-search-box{border-color:#7aa58a}.blog-search-box>i{color:#2E7D32}.blog-outline-button{border-color:#2E7D32;color:#2E7D32}.blog-outline-button:hover{background:#2E7D32}.author-links a{color:#2E7D32;border-color:#2E7D32}.blog-carousel .owl-dot.active span{background:#2E7D32}.article-title{color:#175A32}.keyword-chip{border-color:#bdd4c1;color:#315e3d;background:#fbfdfb}.share-toggle{border-color:#2E7D32;color:#2E7D32}.share-panel{border-color:#2E7D32}.share-option:hover{background:#edf5ea;color:#2E7D32}.share-option i,.share-x{color:#2E7D32}.article-author h3{color:#175A32}.article-end-label{color:#2E7D32}.blog-author-feature{background:#edf5ea}.blog-author-feature-copy h2{color:#175A32}
@media(max-width:767px){.blog-dropdown-tools{display:grid;grid-template-columns:1fr;width:100%}.blog-select-control select{width:100%}.blog-tools-v4{align-items:stretch}}


/* V6.3 — Blog: buscador compacto y alineado con los filtros */
.blog-tools-v4{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end}
.blog-search-box{min-width:0;width:250px;max-width:250px;height:42px}
.blog-search-box input{height:40px;padding-top:8px;padding-bottom:8px;font-size:12px}
@media(max-width:900px){.blog-tools-v4{grid-template-columns:1fr}.blog-search-box{width:100%;max-width:360px}}
@media(max-width:767px){.blog-search-box{width:100%;max-width:none}}
