/* ============================================================
   BLOG – CSS específico (Turismo de Murcia)
   Réplica de la estructura del tema Extra de WP
   ============================================================ */

/* ---------- VARIABLES ---------- */
:root {
  --blog-font: "Open Sans", sans-serif;
  --blog-dark: #333;
  --blog-meta: rgba(0,0,0,.5);
  --blog-white: #fff;
  --blog-overlay: rgba(0,0,0,.6);
  --blog-border: #e0e0e0;
  --blog-radius: 0;
  --blog-gap: 24px;
}

h1,h2{display: inherit;}

body h1:first-of-type {
  display: none;
}

#main-header-wrapper{
  background-color: #0099b1 !important;
}

#main-header .logo{
  display: none;
}

.container.contenido {
  max-width: 1400px !important;
}

.navbar-brand{ float: left;}

#et-navigation, #et-navigation #et-menu, #et-navigation #et-menu > li.mega-menu{
  position: static !important;
  display: flex;
  height: 50px;
  align-items: center;
}

/* ---------- LAYOUT GENERAL ---------- */
.et_pb_extra_column_main {
  min-height: 400px;
}

.et_pb_extra_column_sidebar {
  font-family: var(--blog-font);
}

/* ---------- BARRA DE CATEGORÍAS DEL BLOG ---------- */
.blog-categories-bar {
  background: var(--blog-white);
  border-bottom: 1px solid var(--blog-border);
  padding: 0;
}

.blog-categories-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}

.blog-categories-nav .nav-item {
  flex: none;
}

.blog-categories-nav .nav-link {
  display: block;
  padding: 12px 16px;
  font-family: var(--blog-font);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--blog-dark);
  text-decoration: none;
  border-bottom: 3px solid transparent;
  transition: all .3s;
}

.blog-categories-nav .nav-link:hover {
  border-bottom-color: currentColor;
  opacity: .8;
}


/* ---------- 1. HERO SLIDER ---------- */
.featured-posts-slider-module {
  position: relative;
  overflow: hidden;
  margin-bottom: var(--blog-gap);
  height: 450px;
  background: #000;
}

.featured-posts-slider-module .carousel-items {
  position: relative;
  width: 100%;
  height: 100%;
}

.featured-posts-slider-module .blog-slide {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity .6s ease;
}

.featured-posts-slider-module .blog-slide.et-pb-active-slide {
  opacity: 1;
  position: relative;
}

.featured-posts-slider-module .title-bar {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: var(--blog-overlay);
  padding: 18px 24px;
}

.featured-posts-slider-module .entry-title {
  font-family: var(--blog-font);
  font-size: 20px;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.3;
  margin: 0;
}

.featured-posts-slider-module .entry-title a {
  color: var(--blog-white);
  text-decoration: none;
}

.featured-posts-slider-module .entry-title a:hover {
  text-decoration: underline;
}

.featured-posts-slider-module .post-meta {
  font-size: 12px;
  color: rgba(255,255,255,.8);
  margin-top: 4px;
}

.featured-posts-slider-module .post-meta a {
  color: var(--blog-white);
  text-decoration: none;
}

/* Flechas del slider */
.et-pb-slider-arrows {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  padding: 0 10px;
  z-index: 10;
}

.et-pb-slider-arrows a {
  pointer-events: all;
  background: var(--blog-overlay);
  color: var(--blog-white);
  width: 40px; height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 0;
  transition: background .3s;
}

.et-pb-arrow-prev::before { content: "‹"; font-size: 28px; }
.et-pb-arrow-next::before { content: "›"; font-size: 28px; }

.et-pb-slider-arrows a:hover {
  background: rgba(0,0,0,.8);
}

/* Controladores (dots) */
.et-pb-controllers {
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 10;
}

.et-pb-controllers a {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,.4);
  font-size: 0;
  text-decoration: none;
  transition: background .3s;
}

.et-pb-controllers a.et-pb-active-control {
  background: var(--blog-white);
}


/* ---------- 2. CARRUSELES POR CATEGORÍA ---------- */
.posts-carousel-module {
  margin-bottom: var(--blog-gap);
  border-top: 0px solid #000;
  background: var(--blog-white);
  overflow: hidden;
}

.posts-carousel-module .module-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 5px solid #000;
}

.posts-carousel-module .module-head h1 {
  font-family: var(--blog-font);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  margin: 0;
  letter-spacing: 1px;
}

.posts-carousel-module .module-filter {
  font-size: 11px;
  text-transform: uppercase;
  color: var(--blog-meta);
  font-weight: 600;
  letter-spacing: .5px;
}

.posts-carousel-module .carousel-group {
  display: flex;
  gap: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.posts-carousel-module .blog-slide {
  flex: 0 0 33.333%;
  scroll-snap-align: start;
  position: relative;
  border-right: 1px solid var(--blog-border);
}

.posts-carousel-module .blog-slide:last-child {
  border-right: none;
}

.posts-carousel-module .post-thumbnail {
  display: block;
  position: relative;
  overflow: hidden;
}

.posts-carousel-module .post-thumbnail img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}

.posts-carousel-module .post-thumbnail:hover img {
  transform: scale(1.05);
}

.et_pb_extra_overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0);
  transition: background .3s;
}

.post-thumbnail:hover .et_pb_extra_overlay {
  background: rgba(0,0,0,.15);
}

.posts-carousel-module .post-content-box {
  padding: 12px 16px;
}

.posts-carousel-module .entry-title {
  font-family: var(--blog-font);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 4px;
}

.posts-carousel-module .entry-title a {
  color: var(--blog-dark);
  text-decoration: none;
}

.posts-carousel-module .entry-title a:hover {
  color: #000;
  text-decoration: underline;
}

.posts-carousel-module .post-meta {
  font-size: 11px;
  color: var(--blog-meta);
}


/* ---------- 3. MÓDULO DE TABS ---------- */
.tabbed-post-module {
  margin-bottom: var(--blog-gap);
  border: 1px solid var(--blog-border);
  background: var(--blog-white);
}

.tabbed-post-module .tabs {
  border-bottom: 1px solid var(--blog-border);
}

.tabbed-post-module .tab-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

.tabbed-post-module .tab-title {
  flex: 1;
}

.tabbed-post-module .tab-title a {
  display: block;
  padding: 12px 10px;
  text-align: center;
  font-family: var(--blog-font);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--blog-meta);
  text-decoration: none;
  border-bottom: 3px solid transparent;
  transition: all .3s;
}

.tabbed-post-module .tab-title a:hover {
  color: var(--blog-dark);
}

.tabbed-post-module .tab-title.active a {
  color: #c00;
  border-bottom-color: #c00;
}

/* Tab content */
.tabbed-post-module .tab-contents {
  padding: 0;
}

.tabbed-post-module .tab-pane {
  display: none;
  padding: 16px;
}

.tabbed-post-module .tab-pane.active {
  display: block;
}

/* Main post (columna izquierda) */
.tabbed-post-module .tab-main-post {
  padding-right: 12px;
}

.tabbed-post-module .main-post .post-thumbnail {
  display: block;
  position: relative;
  overflow: hidden;
  margin-bottom: 12px;
}

.tabbed-post-module .main-post .post-thumbnail img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}

.tabbed-post-module .main-post .post-thumbnail:hover img {
  transform: scale(1.05);
}

.tabbed-post-module .main-post .entry-title {
  font-family: var(--blog-font);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.tabbed-post-module .main-post .entry-title a {
  color: var(--blog-dark);
  text-decoration: none;
}

.tabbed-post-module .main-post .entry-title a:hover {
  text-decoration: underline;
}

.tabbed-post-module .main-post .post-meta {
  font-size: 12px;
  color: var(--blog-meta);
}

/* Posts list (columna derecha) */
.tabbed-post-module .tab-posts-list {
  padding-left: 12px;
}

.tabbed-post-module .posts-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.tabbed-post-module .posts-list li {
  padding: 10px 0;
  border-bottom: 1px solid var(--blog-border);
}

.tabbed-post-module .posts-list li:first-child {
  padding-top: 0;
}

.tabbed-post-module .posts-list li:last-child {
  border-bottom: none;
}

.tabbed-post-module .post-thumbnail-sm {
  flex-shrink: 0;
  display: block;
}

.tabbed-post-module .post-thumbnail-sm img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  display: block;
}

.tabbed-post-module .tab-posts-list .entry-title {
  font-family: var(--blog-font);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 4px;
}

.tabbed-post-module .tab-posts-list .entry-title a {
  color: var(--blog-dark);
  text-decoration: none;
}

.tabbed-post-module .tab-posts-list .entry-title a:hover {
  text-decoration: underline;
}

.tabbed-post-module .tab-posts-list .post-meta {
  font-size: 11px;
  color: var(--blog-meta);
}


/* ---------- 4. LISTADO "TODAS" (grid 2x2) ---------- */
.post-module {
  margin-bottom: var(--blog-gap);
  background: var(--blog-white);
  border-top: 0px solid var(--blog-dark);
}

.post-module .module-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 6px solid var(--blog-dark);
  margin-bottom: 20px;
}

.post-module .module-head h1 {
  font-family: var(--blog-font);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  margin: 0;
  letter-spacing: 1px;
}

.post-module .module-filter {
  font-size: 11px;
  text-transform: uppercase;
  color: var(--blog-meta);
  font-weight: 600;
}

.post-module .posts-grid {
  padding: 0 8px 16px;
}

.post-module .posts-grid article {
  margin-bottom: 16px;
}

.post-module .post-thumbnail {
  position: relative;
  overflow: hidden;
  display: block;
}

.post-module .post-thumbnail img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}

.post-module .post-thumbnail:hover img {
  transform: scale(1.05);
}

.post-module .post-content {
  padding-top: 10px;
}

.post-module .entry-title {
  font-family: var(--blog-font);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 4px;
}

.post-module .entry-title a {
  color: var(--blog-dark);
  text-decoration: none;
}

.post-module .entry-title a:hover {
  text-decoration: underline;
}

.post-module .post-meta {
  font-size: 11px;
  color: var(--blog-meta);
}

.post-module .post-meta a {
  color: var(--blog-meta);
  text-decoration: none;
}


/* ---------- SIDEBAR ---------- */
.et_pb_extra_column_sidebar {
  font-family: var(--blog-font);
}

/* Widget genérico */
.sidebar-widget {
  margin-bottom: var(--blog-gap);
  background: var(--blog-white);
  padding: 16px;
  border: 1px solid var(--blog-border);
}

.sidebar-widget .widget-title {
  font-family: var(--blog-font);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--blog-border);
  letter-spacing: .5px;
}

/* Bloque de tags (viene del block de Drupal) */
.et_pb_extra_column_sidebar .block {
  margin-bottom: var(--blog-gap);
  background: var(--blog-white);
  padding: 16px;
  border: 1px solid var(--blog-border);
}

.et_pb_extra_column_sidebar .block h2 {
  font-family: var(--blog-font);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--blog-border);
}

.view-tags-blog .views-row,
.view-tags-blog .views-field {
  display: inline-block;
  padding: 0;
  width: auto;
}

.view-tags-blog .views-row a,
.view-tags-blog .views-field a {
  display: inline-block;
  background: rgba(0, 0, 0, .1);
  padding: 6px 8px;
  border: 0;
  border-style: solid;
  border-radius: 3px;
  border-color: #fff;
  box-shadow: none;
  color: rgba(0, 0, 0, .6);
  font-family: inherit;
  font-weight: 600;
  font-size: 12px;
  line-height: normal;
  text-shadow: none;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: .3s ease;
  margin: 0 4px 6px 0;
}

.view-tags-blog .views-row a:hover,
.view-tags-blog .views-field a:hover {
  background: var(--blog-dark);
  color: var(--blog-white);
}

/* Vídeo */
.widget-video .ratio {
  margin-top: 0;
}

/* Posts recientes */
.recent-posts-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.recent-posts-list li {
  padding: 8px 0;
  border-bottom: 1px solid var(--blog-border);
}

.recent-posts-list li:last-child {
  border-bottom: none;
}

.recent-thumb {
  flex-shrink: 0;
}

.recent-thumb img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  display: block;
}

.recent-title {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--blog-dark);
  text-decoration: none;
  line-height: 1.3;
  margin-bottom: 2px;
}

.recent-title:hover {
  color: #c00;
}

.recent-date {
  font-size: 11px;
  color: var(--blog-meta);
}

/* Búsqueda */
.widget-search {
  padding: 12px 16px;
}

.widget-search .form-control {
  font-size: 13px;
  border-radius: 0;
}

.widget-search .btn {
  border-radius: 0;
}

/* Categorías */
.categories-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.categories-list li {
  padding: 6px 0;
  border-bottom: 1px solid var(--blog-border);
}

.categories-list li:last-child {
  border-bottom: none;
}

.categories-list a {
  font-size: 13px;
  color: var(--blog-dark);
  text-decoration: none;
  transition: color .2s;
}

.categories-list a:hover {
  color: #c00;
}

/* Imagen widget */
.widget-image img {
  width: 100%;
  height: auto;
  display: block;
  transition: opacity .3s;
}

.widget-image a:hover img {
  opacity: .85;
}

/* Galería */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}

.gallery-grid a {
  display: block;
  overflow: hidden;
}

.gallery-grid img {
  width: 100%;
  height: 80px;
  object-fit: cover;
  display: block;
  transition: transform .3s, opacity .3s;
}

.gallery-grid a:hover img {
  transform: scale(1.1);
  opacity: .85;
}

/* Redes sociales */
.widget-social {
  text-align: center;
  padding: 16px;
}

.social-icons {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.social-icons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--blog-dark);
  color: var(--blog-white);
  font-size: 18px;
  text-decoration: none;
  transition: all .3s;
}

.social-icons a:hover {
  background: #c00;
  transform: translateY(-2px);
}


/* ---------- VISTA CATEGORÍA (taxonomía blog) ---------- */
.page-vocabulary-categorias-blog .view-taxonomy-term .view-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--blog-gap);
}

.page-vocabulary-categorias-blog .view-taxonomy-term article.blog-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--blog-border);
  background: var(--blog-white);
  overflow: hidden;
  transition: box-shadow .3s;
}

.page-vocabulary-categorias-blog .view-taxonomy-term article.blog-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
}

.page-vocabulary-categorias-blog .view-taxonomy-term .post-thumbnail {
  display: block;
  overflow: hidden;
}

.page-vocabulary-categorias-blog .view-taxonomy-term .post-thumbnail img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}

.page-vocabulary-categorias-blog .view-taxonomy-term .post-thumbnail:hover img {
  transform: scale(1.05);
}

.page-vocabulary-categorias-blog .view-taxonomy-term .card-body {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.page-vocabulary-categorias-blog .view-taxonomy-term .card-body h2,
.page-vocabulary-categorias-blog .view-taxonomy-term .card-body h3 {
  font-family: var(--blog-font);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 8px;
}

.page-vocabulary-categorias-blog .view-taxonomy-term .card-body h2 a,
.page-vocabulary-categorias-blog .view-taxonomy-term .card-body h3 a {
  color: var(--blog-dark);
  text-decoration: none;
}

.page-vocabulary-categorias-blog .view-taxonomy-term .card-body h2 a:hover,
.page-vocabulary-categorias-blog .view-taxonomy-term .card-body h3 a:hover {
  text-decoration: underline;
}

.page-vocabulary-categorias-blog .view-taxonomy-term .post-meta {
  font-size: 11px;
  color: var(--blog-meta);
  margin-bottom: 8px;
}

.page-vocabulary-categorias-blog .view-taxonomy-term .post-meta a {
  color: var(--blog-meta);
  text-decoration: none;
}

.page-vocabulary-categorias-blog .view-taxonomy-term .post-meta .cat {
  display: block;
  margin-bottom: 4px;
}

.page-vocabulary-categorias-blog .view-taxonomy-term .post-meta .cat .field__item {
  display: inline;
}

.page-vocabulary-categorias-blog .view-taxonomy-term .post-meta .cat .field__item::after {
  content: ', ';
}

.page-vocabulary-categorias-blog .view-taxonomy-term .post-meta .cat .field__item:last-child::after {
  content: '';
}

.page-vocabulary-categorias-blog .view-taxonomy-term .card-text,
.page-vocabulary-categorias-blog .view-taxonomy-term .field--name-body {
  font-size: 13px;
  color: var(--blog-meta);
  line-height: 1.5;
  flex: 1;
}


/* ---------- RESPONSIVE ---------- */
@media (max-width: 991px) {
  .featured-posts-slider-module {
    height: 320px;
  }

  .posts-carousel-module .blog-slide {
    flex: 0 0 50%;
  }

  .tabbed-post-module .tab-nav {
    flex-wrap: wrap;
  }

  .tabbed-post-module .tab-title {
    flex: 0 0 33.333%;
  }
}

@media (max-width: 767px) {
  .featured-posts-slider-module {
    height: 250px;
  }

  .featured-posts-slider-module .entry-title {
    font-size: 16px;
  }

  .posts-carousel-module .blog-slide {
    flex: 0 0 100%;
  }

  .tabbed-post-module .tab-title {
    flex: 0 0 50%;
  }

  .tabbed-post-module .tab-title a {
    font-size: 11px;
    padding: 10px 6px;
  }

  .post-module .posts-grid .col-md-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .et-pb-slider-arrows {
    display: none;
  }

  .page-vocabulary-categorias-blog .view-taxonomy-term .view-content {
    grid-template-columns: 1fr;
  }
}
