/* =========================
   PALETA (basada en la imagen)
========================= */
:root{
  --brand: #008001;
  --brand-dark: #006a00;
  --brand-darker: #005600;
  --brand-soft: #e9f6ea;

  --text: #1f2937;
  --muted: #6c757d;

  --radius-xl: 1.25rem;
  --shadow-soft: 0 .25rem .75rem rgba(0,0,0,.08);

  --border-soft: rgba(0,0,0,.12);
}

/* =========================
   BASE + LAYOUT (footer abajo)
========================= */
html, body{ height: 100%; }

body{
  background: #ffffff;
  color: var(--text);

  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main{ flex: 1 0 auto; }

a{ color: var(--brand); }
a:hover{ color: var(--brand-dark); }

h1,h2,h3,h4,h5,h6{ color: var(--brand); }
strong, b{ color: var(--brand); }

.muted-small{
  color: var(--muted);
  font-size: .95rem;
}
.prose p{ margin-bottom: .85rem; }

/* =========================
   NAVBAR / HEADER
========================= */
.site-navbar{
  background: var(--brand) !important;
  border-bottom: 0 !important;
}

.site-navbar .navbar-brand,
.site-navbar .nav-link{
  color: #ffffff !important;
}

.site-navbar .nav-link{ opacity: .92; }

.site-navbar .nav-link:hover,
.site-navbar .nav-link:focus{
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.site-navbar .nav-link.active{
  opacity: 1;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.site-navbar .navbar-toggler{ border-color: rgba(255,255,255,.4); }
.site-navbar .navbar-toggler-icon{ filter: invert(1); }

/* =========================
   FOOTER
========================= */
.site-footer{
  background: var(--brand);
  color: #ffffff;
}
.site-footer a{
  color: #ffffff;
  opacity: .92;
  text-decoration: none;
}
.site-footer a:hover{
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* =========================
   CONTENEDOR PRINCIPAL (estilo index)
========================= */
/* Este es el “recuadro” del index: fondo suave + borde + sombra + radios */
.panel{
  background: linear-gradient(135deg, rgba(0,128,1,0.10), rgba(0,128,1,0.05));
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
}

/* Variante blanca (para secciones internas si se necesita) */
.panel-white{
  background: #fff;
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-soft);
}

/* =========================
   HERO (index)
========================= */
.hero{
  border-radius: var(--radius-xl);
}

/* Imagen: mantener proporción (no recorta) */
.hero-media img{
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;  /* 1024x1536 -> 2:3 */
  object-fit: contain;  /* NO recorta */
  background: #fff;
  border-radius: var(--radius-xl);
  border: 1px solid var(--border-soft);
  box-shadow: var(--shadow-soft);
  display: block;
}

/* =========================
   BOTONES
========================= */
.btn-brand{
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: var(--brand-dark);
  --bs-btn-hover-border-color: var(--brand-dark);
  --bs-btn-active-bg: var(--brand-darker);
  --bs-btn-active-border-color: var(--brand-darker);
  --bs-btn-focus-shadow-rgb: 0,128,1;
}

.btn-brand-outline{
  --bs-btn-color: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--brand);
  --bs-btn-hover-border-color: var(--brand);
  --bs-btn-active-bg: var(--brand-dark);
  --bs-btn-active-border-color: var(--brand-dark);
  --bs-btn-focus-shadow-rgb: 0,128,1;
}

.badge-brand{
  background: var(--brand) !important;
  color: #fff !important;
}

.bg-brand-soft{
  background: var(--brand-soft) !important;
}

/* Hover cards */
.card-hover:hover{
  transform: translateY(-2px);
  transition: 0.15s ease;
}

/* =========================
   SHARE ICONS
========================= */
.share-bar{
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}

.icon-btn{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid var(--border-soft);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 .1rem .35rem rgba(0,0,0,.06);
  transition: transform .12s ease, box-shadow .12s ease;
}

.icon-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 .2rem .6rem rgba(0,0,0,.10);
}
.icon-btn:active{ transform: translateY(0px); }

.icon-btn i{
  font-size: 18px;
  color: var(--brand);
  line-height: 1;
}

.icon-btn--brand{
  background: var(--brand);
  border-color: var(--brand);
}
.icon-btn--brand i{ color: #fff; }

/* Tooltip simple usando aria-label */
.icon-btn[aria-label]{ position: relative; }
.icon-btn[aria-label]:hover::after{
  content: attr(aria-label);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,.8);
  color: #fff;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 8px;
  white-space: nowrap;
  pointer-events: none;
}

/* =========================
   NOTICIAS (más separación + look index)
========================= */
.news-item{
  border-radius: var(--radius-xl);
  border: 1px solid var(--border-soft);
  box-shadow: 0 .15rem .55rem rgba(0,0,0,.06);
  margin-bottom: 12px; /* separación entre noticias */
  padding: 16px;
  background: #fff;
}

@media (min-width: 992px){
  .news-item{ padding: 18px; }
}