@charset "UTF-8";
		
	 :root{
    --mt-blue:#4989B2;
    --mt-red:#BC3F41;
    --mt-ink:#111827;
    --mt-muted:#6b7280;
    --mt-bg:#ffffff;
    --mt-soft:rgba(0,0,0,.06);
    --mt-border:rgba(0,0,0,.10);
    --mt-shadow:0 10px 24px rgba(0,0,0,.06);
    --mt-radius:14px;
  }

  /* ====== Mejora visual general de secciones ====== */
  .entry-content h2{
    margin-top: 28px;
    padding-top: 10px;
    position: relative;
  }
  .entry-content h2::after{
    content:"";
    display:block;
    width: 72px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(73,137,178,.9), rgba(188,63,65,.85));
    margin-top: 8px;
  }

  /* ====== Bloque resumen (fechas / lugar / país socio / pabellón 12...) ====== */
  .mt-kv{
    display:grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    background: var(--mt-bg);
    border: 1px solid var(--mt-border);
    box-shadow: var(--mt-shadow);
    border-radius: var(--mt-radius);
    padding: 14px;
    margin: 18px 0 26px;
  }
  .mt-kv__item{
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 12px;
    padding: 12px;
    background: linear-gradient(135deg, rgba(73,137,178,.10), rgba(188,63,65,.08));
    min-height: 72px;
  }
  .mt-kv__label{
    display:block;
    font-size: 12px;
    color: var(--mt-muted);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .02em;
    margin-bottom: 4px;
  }
  .mt-kv__value{
    display:block;
    font-size: 15px;
    font-weight: 900;
    color: var(--mt-ink);
    line-height: 1.2;
  }
  @media (max-width: 992px){
    .mt-kv{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 520px){
    .mt-kv{ grid-template-columns: 1fr; }
  }

  /* ====== Cajas de recomendación / info / aviso ====== */
  .mt-box{
    border: 1px solid var(--mt-border);
    border-radius: var(--mt-radius);
    box-shadow: var(--mt-shadow);
    background: var(--mt-bg);
    padding: 14px 14px 12px;
    margin: 18px 0 24px;
    position: relative;
    overflow: hidden;
  }
  .mt-box::before{
    content:"";
    position:absolute;
    left:0; top:0; bottom:0;
    width: 6px;
    background: var(--mt-blue);
  }
  .mt-box h3{
    margin: 0 0 8px;
    font-size: 18px;
  }
  .mt-box p{ margin: 0; color: #1f2937; }

  .mt-box--tip::before{ background: #16a34a; }
  .mt-box--info::before{ background: var(--mt-blue); }
  .mt-box--warning::before{ background: #f59e0b; }
  .mt-box--pro::before{ background: var(--mt-red); }

  .mt-box__chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top: 10px;
  }
  .mt-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border: 1px solid rgba(0,0,0,.10);
    background: rgba(0,0,0,.03);
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 800;
    font-size: 12px;
    color: #1f2a37;
  }
  .mt-chip strong{ color: var(--mt-red); }

  /* ====== CTA botón (entradas / cómo llegar / etc.) ====== */
  .mt-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: var(--mt-radius);
    padding: 14px;
    background: linear-gradient(135deg, rgba(73,137,178,.12), rgba(188,63,65,.10));
    box-shadow: var(--mt-shadow);
    margin: 18px 0 26px;
  }
  .mt-cta__text{
    font-weight: 900;
    color: var(--mt-ink);
    line-height: 1.2;
  }
  .mt-cta__sub{
    display:block;
    font-weight: 600;
    color: var(--mt-muted);
    margin-top: 4px;
    font-size: 13px;
  }
  .mt-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    border: 0;
    border-radius: 12px;
    padding: 12px 14px;
    font-weight: 900;
    text-decoration:none;
    background: var(--mt-red);
    color: #fff;
    box-shadow: 0 10px 18px rgba(188,63,65,.20);
    transition: transform .15s ease, box-shadow .2s ease;
    white-space: nowrap;
  }
  .mt-btn:hover{
    transform: translateY(-1px);
    box-shadow: 0 14px 22px rgba(188,63,65,.28);
    color:#fff;
  }

  /* ====== Grid de cards (pabellones / secciones / “turismo de calidad”) ====== */
  .mt-card-grid{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0 26px;
  }
  .mt-card{
    border: 1px solid rgba(0,0,0,.10);
    border-radius: var(--mt-radius);
    background: var(--mt-bg);
    box-shadow: var(--mt-shadow);
    padding: 14px;
    transition: transform .15s ease, box-shadow .2s ease;
    position: relative;
    overflow:hidden;
  }
  .mt-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(0,0,0,.08);
  }
  .mt-card__kicker{
    font-weight: 900;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--mt-blue);
    margin-bottom: 6px;
  }
  .mt-card__title{
    font-size: 16px;
    font-weight: 900;
    margin: 0 0 6px;
    color: var(--mt-ink);
  }
  .mt-card__desc{
    margin: 0;
    color: #374151;
    font-weight: 600;
    font-size: 13.5px;
    line-height: 1.35;
  }
  .mt-card--accent::before{
    content:"";
    position:absolute;
    right:-40px; top:-40px;
    width:120px; height:120px;
    border-radius:999px;
    background: rgba(73,137,178,.12);
  }
  @media (max-width: 992px){
    .mt-card-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 520px){
    .mt-card-grid{ grid-template-columns: 1fr; }
  }

  /* ====== Tabla bonita (por ejemplo distribución de pabellones) ====== */
  .mt-table{
    width:100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: var(--mt-radius);
    overflow: hidden;
    box-shadow: var(--mt-shadow);
    margin: 18px 0 26px;
    background:#fff;
  }
  .mt-table th{
    text-align:left;
    padding: 12px;
    background: rgba(73,137,178,.12);
    font-weight: 900;
    color: var(--mt-ink);
    border-bottom: 1px solid rgba(0,0,0,.08);
  }
  .mt-table td{
    padding: 12px;
    border-bottom: 1px solid rgba(0,0,0,.06);
    color:#1f2937;
    font-weight: 600;
  }
  .mt-table tr:last-child td{ border-bottom: 0; }

  /* ====== Mejora suave para tu hotel-grid existente ====== */
  .hotel-grid{
    display:grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0 26px;
  }
  .hotel-link{ text-decoration:none; }
  .hotel{
    border: 1px solid rgba(0,0,0,.10);
    border-radius: var(--mt-radius);
    overflow:hidden;
    background:#fff;
    box-shadow: var(--mt-shadow);
    transition: transform .15s ease, box-shadow .2s ease;
  }
  .hotel:hover{
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(0,0,0,.08);
  }
  .hotel img{ width:100%; height:auto; display:block; }
  .hotel .caption{
    padding: 10px 12px 12px;
    font-weight: 900;
    color: var(--mt-ink);
    line-height: 1.25;
  }
  @media (max-width: 992px){
    .hotel-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 520px){
    .hotel-grid{ grid-template-columns: 1fr; }
  }
		
  .indice-reportaje{
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 14px;
    padding: 14px;
    margin: 18px 0 28px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(0,0,0,.06);
  }

  .indice-reportaje .toggle-indice{
    width: 100%;
    border: 0;
    border-radius: 12px;
    padding: 12px 14px;
    cursor: pointer;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: linear-gradient(135deg, rgba(73,137,178,.18), rgba(188,63,65,.14));
    color: #1f2a37;
    transition: transform .15s ease, box-shadow .2s ease;
  }
  .indice-reportaje .toggle-indice:hover{
    transform: translateY(-1px);
    box-shadow: 0 10px 18px rgba(0,0,0,.08);
  }

  /* Lista oculta por defecto */
  .indice-reportaje #lista-indice{
    display: none;
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
    border-top: 1px dashed rgba(0,0,0,.14);
    counter-reset: idx;
  }
  /* Se muestra al activar */
  .indice-reportaje #lista-indice.activo{
    display: block;
  }

  .indice-reportaje #lista-indice li{
    counter-increment: idx;
    display: flex;
    gap: 10px;
    padding: 10px 2px;
    border-bottom: 1px solid rgba(0,0,0,.06);
  }
  .indice-reportaje #lista-indice li:last-child{ border-bottom: 0; }

  .indice-reportaje #lista-indice li::before{
    content: counter(idx);
    width: 28px;
    height: 28px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 13px;
    color: #fff;
    background: #4989B2;
    flex: 0 0 28px;
    margin-top: 1px;
  }

  .indice-reportaje #lista-indice a{
    color: #111827;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.25;
    transition: color .15s ease;
  }
  .indice-reportaje #lista-indice a:hover{
    color: #BC3F41;
    text-decoration: underline;
  }

  .indice-reportaje .toggle-indice:focus,
  .indice-reportaje a:focus{
    outline: 3px solid rgba(73,137,178,.35);
    outline-offset: 3px;
    border-radius: 10px;
  }

  @media (prefers-reduced-motion: reduce){
    .indice-reportaje *{ transition: none !important; }
  }

  /* Cards temáticas (reutiliza hotel-grid) */
 .hotel-grid--alojamientos{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 18px 0 26px;
  }
  @media (max-width: 992px){
    .hotel-grid--alojamientos{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 520px){
    .hotel-grid--alojamientos{ grid-template-columns: 1fr; }
  }

  .hotel-grid--alojamientos .hotel-link{ text-decoration:none; display:block; }
  .hotel-grid--alojamientos .hotel{
    position: relative;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 16px;
    overflow: hidden;
    background:#fff;
    box-shadow: 0 10px 24px rgba(0,0,0,.06);
    transition: transform .15s ease, box-shadow .2s ease;
  }
  .hotel-grid--alojamientos .hotel:hover{
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(0,0,0,.08);
  }

  .hotel-grid--alojamientos .hotel img{
    width:100%;
    height: 230px;
    object-fit: cover;
    display:block;
  }

  /* ✅ Texto siempre legible */
  .hotel-grid--alojamientos .caption{
    position:absolute;
    left:0; right:0; bottom:0;
    padding: 12px 12px 14px;
    color:#fff;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.70) 100%);
    font-weight: 900;
    line-height: 1.15;
    text-shadow: 0 2px 6px rgba(0,0,0,.35);
  }
  .hotel-grid--alojamientos .cap-sub{
    display:block;
    margin-top: 6px;
    font-size: 13px;
    font-weight: 800;
    opacity: .95;
  }

  /* Badge para códigos/promos */
  .hotel-grid--alojamientos .cap-badge{
    display:inline-block;
    margin-top: 8px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    background: rgba(188,63,65,.92);
    color:#fff;
    box-shadow: 0 10px 18px rgba(188,63,65,.20);
  }

.mt-card-link{ text-decoration:none; color:inherit; display:block; }
  .mt-card-link:focus{ outline: 3px solid rgba(73,137,178,.35); outline-offset: 4px; border-radius: 14px; }

  .mt-news-meta{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
    margin-bottom: 8px;
  }
  .mt-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border: 1px solid rgba(0,0,0,.10);
    background: rgba(0,0,0,.03);
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 900;
    font-size: 12px;
    color:#111827;
  }
  .mt-badge--new{ background: rgba(188,63,65,.10); border-color: rgba(188,63,65,.25); }
  .mt-badge--date{ background: rgba(73,137,178,.10); border-color: rgba(73,137,178,.25); }

.mt-faq__item{ padding: 0; }
  .mt-faq__q{
    cursor: pointer;
    list-style: none;
    padding: 14px 14px 12px 18px;
    font-weight: 900;
  }
  .mt-faq__q::-webkit-details-marker{ display:none; }

  .mt-faq__q::after{
    content:"＋";
    float:right;
    font-weight: 900;
    color: rgba(17,24,39,.7);
  }
  details[open] > .mt-faq__q::after{ content:"－"; }

  .mt-faq__a{ padding: 0 14px 14px 18px; }

/* 3 por fila (como alojamientos) */
  .hotel-grid--tematicas{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 18px 0 26px;
  }
  @media (max-width: 992px){
    .hotel-grid--tematicas{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 520px){
    .hotel-grid--tematicas{ grid-template-columns: 1fr; }
  }

  /* Card con overlay para legibilidad */
  .hotel-grid--tematicas .hotel-link{ text-decoration:none; display:block; }
  .hotel-grid--tematicas .hotel{
    position: relative;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 16px;
    overflow:hidden;
    background:#fff;
    box-shadow: 0 10px 24px rgba(0,0,0,.06);
    transition: transform .15s ease, box-shadow .2s ease;
    min-height: 240px;
  }
  .hotel-grid--tematicas .hotel:hover{
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(0,0,0,.08);
  }
  .hotel-grid--tematicas .hotel img{
    width:100%;
    height: 240px;
    object-fit: cover;
    display:block;
  }

  .hotel-grid--tematicas .caption{
    position:absolute;
    left:0; right:0; bottom:0;
    padding: 12px 12px 14px;
    color:#fff;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.74) 100%);
    text-shadow: 0 2px 6px rgba(0,0,0,.35);
  }
  .hotel-grid--tematicas .cap-title{
    display:block;
    font-weight: 900;
    line-height:1.1;
    font-size: 16px;
  }
  .hotel-grid--tematicas .cap-sub{
    display:block;
    margin-top: 6px;
    font-weight: 800;
    font-size: 13px;
    line-height: 1.2;
    opacity: .95;
  }

  /* Card CTA final */
  .hotel-grid--tematicas .hotel--cta{
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
    background: linear-gradient(135deg, rgba(73,137,178,.14), rgba(188,63,65,.12));
  }
  .hotel-grid--tematicas .hotel--cta .caption{
    position: static;
    background: none;
    color:#111827;
    text-shadow:none;
    padding: 16px;
  }
  .hotel-grid--tematicas .hotel--cta .cap-sub{ color: rgba(17,24,39,.75); }

.mt-card--with-media { padding: 0; overflow: hidden; }
  .mt-card__media img{
    width:100%;
    height: 190px;
    object-fit: cover;
    display:block;
  }
  .mt-card__body{ padding: 16px 16px 18px; }
