/*
 Theme Name:     Twenty Twenty-Five Child
 Theme URI:      https://example.com/
 Description:    Tema hijo para Twenty Twenty-Five con funcionalidad de mini carrusel.
 Author:         Tu Nombre
 Author URI:     https://example.com/
 Template:       twentytwentyfive
 Version:        1.0.0
 License:        GNU General Public License v2 or later
 License URI:    http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:    twentytwentyfive-child


.tc-lugar-glide.vertical .slide-bg{
        width: 200px!important;
    height: 270px!important;
    background-size: cover!important;
    max-height: 260px!important;
    padding: 450px!important;
}
 
*/

*{-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: antialiased;}
.wp-block-navigation .wp-block-navigation-item__label{font-weight: 400;}  
.wp-block-navigation__responsive-container-content .wp-block-site-logo a{display: none;}
.wp-block-navigation__responsive-container-content .custom-logo-link{display: none;}

.wp-block-social-links.has-large-icon-size{
    display: flex !important;
    font-size: 36px;
    position: fixed;
    right: 0px;
    top: 87px;
    width: 56px;
    z-index: 111;
    gap: 0;
    padding: 0;
    justify-content: right;
}


.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding: .6666666667em; font-size: 24px;}
.wp-block-social-links.is-style-pill-shape .wp-social-link{border-radius: 0;}
.wp-container-core-columns-is-layout-30c58a31{ gap:0;}
.wp-container-core-group-is-layout-8165f36a{justify-content: space-between;}
.wp-block-navigation__responsive-container-close{top: 12px;}


.wp-block-heading{line-height: .85; padding-top: 35px; position: relative; padding-bottom: 18px; margin-bottom: 30px;}
.archive-title{position: relative;}
.archive-title:after, .wp-block-heading:after{content: ""; position: absolute; bottom: 0; height: 2px; width: 300px; background: gray; right: calc(50% - 150px);}
.archive-title:before, .wp-block-heading:before{content: ""; position: absolute; bottom: -6px; height: 14px; width: 14px; background: gray; right: calc(50% - 7px); border-radius: 50%;}

.archive-title:after, .archive-title:before{background: #D629ED;}


.wp-block-heading strong{font-style: normal;font-family:"Open Sans", sans-serif; font-size:2rem; font-weight: 100;}


.linegreen.wp-block-heading:after,
.linegreen.wp-block-heading:before{background:#95CC28;}

.lineorange.wp-block-heading:after,
.lineorange.wp-block-heading:before{background:#F39530;}

.linewhite.wp-block-heading:after,
.linewhite.wp-block-heading:before{background:#ffffff;}

.linepink.wp-block-heading:after,
.linepink.wp-block-heading:before{background:#EB2B88;}

#krpanoSWFObject > div:nth-child(1) > div:nth-child(2) > div:nth-child(11){ background:#242b2fad!important; }
.wp-elements-eaeb66a094e89b0f0dc148a2c4c9a888{background-size: 1414px auto; background-position: center;}
.linka{
    background-color: rgba(255, 255, 255, .2)!important;
    color: #fff !important;
    border-radius: 10px !important;
}
.amaribot{color: #E58907!important;}
.amaribot a{background: rgba(255, 255, 255, .7);border-radius: 10px !important;}
.cajatophome{}
.overtopi{
  background:linear-gradient(0deg, rgba(0, 0, 0, .8), transparent); padding-bottom: 30px; height: 100%; position: relative;
    display: flex;
    margin-block-start: 0;
    margin-block-end: 0;
        flex-direction: column;
    text-align: -webkit-center;
    justify-content: flex-end;
}
.cajatophome > .wp-block-group{    position: relative;
    margin-bottom: 30px;
    aspect-ratio: 2 / 1.6;
    overflow: hidden;
    border-radius: 20px;}
.page-id1016 .wp-block-post-title{ display:none; }
.movilidad.cajatophome > .wp-block-group,
.movilidad.cajatophome figure img{ aspect-ratio:2 / 3; }
.cajatophome figure{ position: absolute; top: 0; width: 100%;}
.cajatophome figure img{    aspect-ratio: 2 / 1.6; object-fit: cover; border-radius: 20px; width: 100%;}
.cajatophome a{position: relative;color: #fff;font-weight: 600; text-decoration: underline; padding: 10px 20px; background: transparent;}
.cajatophome p{ z-index: 1; position: relative; color: #fff; padding: 0 30px;    width: auto;    font-size: 16px;}
.cajatophome h2.wp-block-heading:after, .cajatophome h2.wp-block-heading:before{display: none;}
.cajatophome h2{
      line-height: 1;
    padding: 0;
      color: #fff;
    text-align: center;
    font-weight: 100;
    margin:0;
    font-family: "Open Sans", sans-serif;
    text-align: center;
    font-size: 30px;
    font-style: normal;
    color: white;
    pointer-events: none;
}

.child-cat-grid .child-cat-item{
    padding: 0;
    border: 0;
    text-align: center;
    position: relative;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    border-radius: 20px;
  }
.child-cat-grid .child-cat-item figure{
    position: absolute;
    top: 0;
}
.child-cat-grid .child-cat-item figure img{}
.child-cat-grid h2{
  font-style: normal;
    font-family: "Open Sans", sans-serif;
    font-size: 2rem;
    font-weight: 100;}
.child-cat-grid{display: grid;
  grid-gap: 20px;
    grid-template-columns: 1fr 1fr 1fr;
    max-width: 1000px;
    margin: 0 auto;}
.cajimax{
  background: linear-gradient(0deg, rgba(0, 0, 0, .8), transparent);
    padding-bottom: 30px;
    height: 100%;
    position: relative;
    display: flex;
    margin-block-start: 0;
    margin-block-end: 0;
    flex-direction: column;
    text-align: -webkit-center;
    justify-content: flex-end;
    color: #fff;
}
.cajimax p{color: #fff;}
.child-cat-desc{    padding: 0 10px; color: #fff;margin-bottom: 0px;font-size: 12px;}
.child-cat-button{    display: inline-block;
    padding: 0.5rem 1rem;
    border: 1px solid rgba(255, 255, 255, .4);
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    font-size: 14px;
    margin: 30px;
    text-transform: uppercase;}

.titlecati{text-align: center;
    margin: 2rem;
    padding: 0 0 20px;}
.wp-container-core-columns-is-layout-89758152{
  gap: 0;}



.wp-block-heading:before{}

.eventosx .logoz{
    margin-top: -420px;
    width: 120px!important;
    transform: translate(0px, -50px);
  }
.eventosx .glide__slide{position: relative;}
.eventosx .glide__track:after,
.eventosx .tc-slide-next{display: none;}

.eventosx .tc-slide-img > .tc-slide-info{position: inherit; max-width: none;width: calc(100% - 2rem); padding: 0 1rem 1rem;}
.eventosx .tc-slide-img > p{}
.eventosx .tc-slide-img{display: grid!important; grid-template-columns: 1fr 2fr; grid-template-columns:300px auto; grid-gap: 20px;justify-content: stretch;}
.eventosx .tc-lugar-glide{    width: 100%; max-width: 100%; overflow: hidden;}
.eventosx .glide__arrows .glide__arrow--left{left: -91px;color: #2c3338;line-height: 0; padding: 0 2px 5px 0;}
.eventosx .glide__arrows .glide__arrow--right{right: -7px;color: #2c3338;line-height: 0;font-size: 26px; padding: 0 0 5px 4px;}
.eventosx .glide__arrows{}
.eventosx .tc-lugar-glide .tc-slide-img{align-items: end;}
.eventosx .tc-lugar-glide .tc-slide-img img{    width: 100%;
    object-fit: contain;
    object-position: bottom;
    height: auto;    max-height: 60vh;}

.wp-block-navigation ul li ul li.wp-block-navigation-item a{padding: 20px 20px 5px; display: block;}

/* Grid de tarjetas */
.post-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin: 2rem 0;
}

/* Tarjeta */
.tc-lugar-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}

/* Slider container */
.tc-lugar-glide {
  position: relative;
}

/* Ratio base: se ajusta por clase */
.tc-lugar-glide .slide-bg {
  width: 100%;
  background-size: cover;
  background-position: center;
}

/* Ratios según tipo */
.tc-lugar-glide.vertical .slide-bg {
  padding-bottom: 150%;  /* retrato */
}
.tc-lugar-glide.cuadrado .slide-bg {
  padding-bottom: 100%;  /* cuadrado */
}
.tc-lugar-glide.panoramico .slide-bg {
  padding-bottom: 56.25%; /* 16:9 */
}

/* Bullets */
.tc-lugar-glide .glide__bullets {
  text-align: center;
  margin-top: 0.5rem;
  bottom: 1.5em!important;
}

/* Información superpuesta */
.slide-info {
  position: absolute;
  bottom: 34px;
  left: 0px;
  color: #fff;
  max-width: 100%;
  text-align: center;
  padding:0 20px 20px;
}
.slide-label { font-size: 0.9rem; }
.slide-title { 
  font-weight: 100;
    margin: 0.2em 0; font-size: 1.4rem; font-family:"Open Sans", sans-serif; 
    text-align: center;
    font-size: 30px;
    font-style: normal;
    color: white;
    pointer-events: none;
        line-height: 1.1;
  }
.slide-telefono,
.slide-direccion,
.slide-desc { font-size: 0.9rem; }
.slide-map { display: inline-block; margin-top: 0.5em; }
.glide__track{position: relative;}
.glide__track:after{
  pointer-events: none;
  content: ""; position: absolute; top: 0; bottom: 0; right: 0; left: 0; 
  background: transparent; background: linear-gradient(360deg, rgba(0, 0, 0, .8), transparent 87%);
}
.slide-info a{
    font-size: 14px;
    color: #fff;
    font-weight: bold;
    /*pointer-events: none;*/
  }

.wp-container-core-columns-is-layout-89758152{margin: 0;}
.wp-container-core-columns-is-layout-467feaab{gap: 0;}

.site-main{ background:#e7ebee; overflow:hidden; padding:0 0 40px; }
.post-list{
      display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    max-width: 1000px;
    margin: 0 auto;
}
.bghome{    background-position: center;}

.tc-slides-wrapper{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
    width: 100%;
    max-width: 1340px;
    padding-bottom: 40px;
  }

.custom-logo-link, .custom-logo-link:focus, .custom-logo-link:active{border: none; outline: none;}



/*360*/
/*VISTA 360 gradis*/

@-ms-viewport { width: device-width; }
@media only screen and (min-device-width: 800px) { html { } }
* { padding: 0; margin: 0; }
}
div#container { height: 100%; min-height: 100%; width: 100%; margin: 0 auto; }
div#tourDIV {
  width: 100%;
  height:100%;
  position:relative;
  overflow:hidden;
  border-radius: 24px;
  height: 600px;
  background: black;
  margin: 40px;
}
div#panoDIV {
  height:100%;
  position:relative;
  overflow:hidden;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  user-select: none;
}

div#panoDIV.cursorMoveMode {
    cursor: move;
    cursor: url(indexdata/graphics/cursors_move_html5.cur), move;
  }
  div#panoDIV.cursorDragMode {
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
    cursor: url(indexdata/graphics/cursors_drag_html5.cur), default;
  }

/*CLIMA*/
/* ==============================
       CONTENEDOR PRINCIPAL
    ============================== */
    .weather-wrapper {
      font-family: 'Arial', sans-serif;
      color: #fff;
      width: 100%;
      max-width: 1000px;
      
      border-radius: 8px;
      overflow: hidden;
    }

    /* ==============================
       SECCIÓN TOP
    ============================== */
    .weather-top {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      padding: 1.5rem 2rem;
    }

    /* Columna Izquierda */
    .current-left {
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }
    .location-text {
      font-size: 1.3rem;
      line-height: 1.3;
      font-weight: 500;
    }
    .temp-toggle {
      display: flex;
      align-items: flex-end;
      gap: 0.75rem;
    }
    .temp-number {
      font-size: 4.5rem;
      font-weight: 700;
      line-height: 1;
    }
    .unit-options {
      display: flex;
      align-items: center;
      font-size: 1rem;
      user-select: none;
    }
    .unit {
      cursor: pointer;
      opacity: 0.6;
      transition: opacity 0.2s;
    }
    .unit.active {
      opacity: 1;
      font-weight: 600;
    }
    .separator {
      margin: 0 0.25rem;
      opacity: 0.6;
    }
    .current-stats {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
      font-size: 1rem;
      line-height: 1.4;
    }
    .stat-line {
      display: flex;
      align-items: center;
      gap: 0.25rem;
    }
    .stat-label {
      opacity: 0.9;
    }
    .stat-value {
      font-weight: 600;
    }
    .dot-sep {
      margin: 0 0.5rem;
      font-size: 1.2rem;
      opacity: 0.9;
    }

    /* Columna Centro */
    .weather-title-wrapper {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
    }
    .weather-title {
      font-size: 4rem;
      font-weight: 700;
      letter-spacing: 1px;
      margin-bottom: 0.5rem;
    }
    .title-separator {
      position: relative;
      width: 70%;
      height: 4px;
      background-color: #fff;
    }
    .title-separator::after {
      content: '';
      position: absolute;
      top: -8px;
      left: 50%;
      transform: translateX(-50%);
      width: 20px;
      height: 20px;
      background-color: #fff;
      border-radius: 50%;
    }

    /* Columna Derecha */
    .current-desc {
      font-size: 1rem;
      font-weight: 500;
      opacity: 0.95;
      text-align: right;
    }

    /* ==============================
       SECCIÓN PRONÓSTICO
    ============================== */
    .forecast-row {
      margin-top: 1.5rem;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1rem;
      padding: 1rem 2rem 2rem;
    }
    .forecast-item {
      background-color: rgba(255, 255, 255, 0.15);
      border-radius: 8px;
      padding: 1rem;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .forecast-temp {
      background-color: rgba(255, 255, 255, 0.25);
      padding: 0.5rem 1rem;
      border-radius: 20px;
      margin-bottom: 0.5rem;
    }
    .min-max {
      font-size: 1.2rem;
      font-weight: 600;
      color: #fff;
    }
    .forecast-day {
      font-size: 1rem;
      opacity: 0.9;
      color: #fff;
      text-transform: capitalize;
    }

    /* ==============================
       Eventos
    ============================== */
    /* 1) Logo fijo en la esquina superior izquierda */
.tc-lugar-glide .tc-slide-logo {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 20;
}
.tc-lugar-glide .tc-slide-logo img {
  max-width: 80px;
  height: auto;
}

/* 2) Área gris con info en la esquina inferior izquierda */
.tc-lugar-glide .tc-slide-info {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 1rem;
  max-width: 35%;
  border-radius: 0.5rem;
  z-index: 15;
}
.tc-lugar-glide .tc-slide-info h3 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.tc-lugar-glide .tc-slide-info p {
  margin: 0.25rem 0;
  font-size: 0.9rem;
}

/* 3) Imagen destacada centrada */
.tc-lugar-glide .tc-slide-img {
  display: flex;
  justify-content: center;
  align-items: center;
}
.tc-lugar-glide .tc-slide-img img {
  width: auto;
  height: 60vh;            /* Ajusta según tu diseño */
  object-fit: cover;
  border-radius: 0.5rem;
  z-index: 10;
}

/* 4) Preview de la siguiente imagen a la derecha */
.tc-lugar-glide .tc-slide-next {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  width: 20%;
  opacity: 0.8;
  z-index: 12;
}
.tc-lugar-glide .tc-slide-next img {
  width: 100%;
  height: auto;
  border-radius: 0.25rem;
  object-fit: cover;
}

/* 5) Flechas de navegación en la esquina inferior derecha */
.tc-lugar-glide .glide__arrows {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  z-index: 20;
}
.tc-lugar-glide .glide__arrow {
  background: rgba(255, 255, 255, 0.8);
  border: none;
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  font-size: 1.5rem;
  line-height: 2.3rem;
  text-align: center;
  cursor: pointer;
  margin-left: 0.5rem;
}


    /* ==============================
       MEDIA QUERIES
    ============================== */
    @media screen and (max-width: 900px) {
      .forecast-row {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media screen and (max-width: 768px) {
      .weather-top {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        text-align: center;
        padding: 1.5rem 1.5rem;
      }
      .current-left {
        align-items: center;
      }
      .current-desc {
        text-align: center;
      }
      .forecast-row {
        padding: 1rem 1.5rem 2rem;
      }
      /* 1) En móvil, el nav debe comportarse como flex vertical */
      .wp-block-navigation {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
        /* Si utiliza un fondo semitransparente: */
        background-color: var(--global--color-background) !important;
      }

      /* 2) El contenedor que agrupa los nav links crece para empujar las redes */
      .wp-block-navigation .wp-block-nav__container {
        flex-grow: 1 !important;
        overflow-y: auto !important; /* por si hay muchos enlaces y necesita scroll */
        padding-bottom: 1rem !important;/* que el scroll no tape las redes */
      }

      

    }

    @media screen and (max-width: 480px) {
      .temp-number {
        font-size: 3rem;
      }
      .weather-title {
        font-size: 2.5rem;
      }
      .location-text {
        font-size: 1.1rem;
      }
      .forecast-row {
        grid-template-columns: 1fr;
        gap: 0.75rem;
      }
      .forecast-item {
        padding: 0.75rem;
      }
      .min-max {
        font-size: 1rem;
      }
      .forecast-day {
        font-size: 0.9rem;
      }

    }

    /* Oculta las redes sociales por defecto en escritorio si no quieres que aparezcan fuera del menu */
    /* Si las quieres en escritorio fuera del menu, quita o comenta este bloque */
    @media (max-width: 600px) {

        .wp-block-navigation__container.is-responsive.wp-block-navigation{margin-top: -52px;}

        .wp-block-navigation__responsive-container-content .wp-block-site-logo a{display: block;}
        .wp-block-navigation__responsive-container-content .custom-logo-link{display: block;}


        .wp-block-social-links.has-large-icon-size li{justify-items: center;}
        .wp-block-social-links.has-large-icon-size{
            display: grid !important;
            grid-template-columns: 1fr 1fr 1fr 1fr;
                font-size: 36px;
                position: fixed;
                right: 0;
                top: auto;
                width: 100%;
                gap: 0;
                padding: 0;
                justify-content: right;
                bottom: 0;
                z-index: 111111;
                left: 0;
                flex-direction: row;
        }
      }

    @media (min-width: 769px) {
        .redes-sociales-sticky {
            
        }
    }




/*FOOTER*/
#site-footer .wp-block-columns > .wp-block-column:first-child{
    max-width: 166px;
    padding-right: 100px;
}
.wp-image-42{width: 87px;margin: 0 auto 40px;display: block;}
.wp-container-core-group-is-layout-91e87306{justify-content: space-between;}
