/*! nintenduo bundle: nintenduo-content-blocks (575e248ac051) */

/* === assets/css/blocks/toc.css === */
/* ==========================================================================
   Tabla de contenidos (TOC) — Heroic TOC plugin
   ========================================================================== */
.wp-block-ht-block-toc {
    border: none !important;
    border-radius: var(--block-radius);
    /* Background layers: SVG icon behind text, gradient underneath */
    background-image:
      url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDggNDgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNDcuNTM3IDQuMTU5Yy0uMDEzLS4wMzUtLjAxNy0uMDctLjAzLS4xQTYuNTU3IDYuNTU3IDAgMDA0My45NDIuNDk2Yy0uMDMtLjAxMy0uMDY2LS4wMjEtLjA5Ni0uMDM0QTYuNDk5IDYuNDk5IDAgMDA0MS40NTUgMEg2Ljc1OWE2LjU0NSA2LjU0NSAwIDEwMCAxMy4wOWgxOC44OTVMMS45MTYgMzYuODI2YTYuNTQ3IDYuNTQ3IDAgMTA5LjI2IDkuMjZsMjMuNzMzLTIzLjczOXYxOC45YTYuNTQ1IDYuNTQ1IDAgMTAxMy4wOSAwTDQ4IDYuNTQ3VjYuNTRhNi41NiA2LjU2IDAgMDAtLjQ2My0yLjM4MiIvPjwvc3ZnPg=="),
      linear-gradient(90deg, #f1f1f1 42%, rgba(241, 241, 241, 0) 98%);
    background-repeat: no-repeat, no-repeat;
    background-position: bottom 30px right 30px, center center;
    background-size: 48px 48px, auto;
    position: relative;
    padding: 24px 32px !important;
}

.wp-block-ht-block-toc a {
    text-decoration: none;
}

.ht_toc_title {
    font-size: 20px;
    line-height: 24px;
    font-weight: 400;
    font-weight: bold;
}

.ht_toc_title:after {
    content: ":";
}

.htoc__toggle {
    display: none;
}



/* Numeración jerárquica de TOC: h2 y h3 */
.ht_toc_list {
    counter-reset: h2counter;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.ht_toc_list > li {
    counter-increment: h2counter;
    counter-reset: h3counter;
    list-style: none !important;
    margin-bottom: 0.75em;
}
.ht_toc_list > li > a::before {
    content: counter(h2counter) " ";
    display: inline-block;
    flex-shrink: 0;
    width: 1.5em;
    text-align: center;
    padding: 2px;
    background-color: var(--main-blue);
    color: white;
    border-radius: var(--quote-radius);
    font-weight: bold;
}
/* Flex para ítems h2 (flex en vez de grid para tolerar emojis <img> extra) */
.ht_toc_list > li > a {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: center;
}
.ht_toc_list .ht_toc_child_list {
    counter-reset: h3counter;
    list-style: none !important;
    margin: 0.5em 0 0.75em 1.5em;
    padding: 0;
}
.ht_toc_list .ht_toc_child_list > li {
    counter-increment: h3counter;
    list-style: none !important;
}
.ht_toc_list .ht_toc_child_list > li > a::before {
    content: counter(h2counter) "." counter(h3counter) " ";
    display: inline-block;
    flex-shrink: 0;
    width: auto;
    padding: 2px 6px;
    background-color: var(--main-blue);
    color: white;
    border-radius: 3px;
    text-align: center;
    font-weight: bold;
    white-space: nowrap;
}
/* Flex para ítems h3 */
.ht_toc_list .ht_toc_child_list > li > a {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: center;
}

/* TOC list desktop-only customizations */
@media (min-width: 1151px) {
    /*.ht_toc_list a {*/
    /*    color: green !important;*/
    /*}*/
    .ht_toc_list a:hover {
        color: #ff0f0f;
    }
    /* Smooth transition for TOC items on hover */
    .ht_toc_list li a {
        transition: margin-left 0.3s ease;
    }
    /* Hover independiente para h2 y h3 */
    .ht_toc_list > li:hover > a,
    .ht_toc_list .ht_toc_child_list > li:hover > a {
        margin-left: 11px;
    }
}

.htoc__itemswrap {
    margin-top: 12px !important;
}

.ht_toc_list li {
    margin-bottom: 8px !important;
}

.ht_toc_list a {
    font-weight: 800;
    font-size: var(--h3-size);
}
.ht_toc_list .ht_toc_child_list a {
    font-size: 20px;
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1150px) {
    .wp-block-ht-block-toc {
        border-radius: var(--quote-radius);
        padding: 24px 24px !important;
    }
    .ht_toc_title {
        font-size: 16px;
        line-height: 24px;
    }
    .htoc__itemswrap {
        margin-top: 12px !important;
    }
    .ht_toc_list a {
        font-size: 18px;
    }
    .ht_toc_list .ht_toc_child_list a {
        font-size: 16px;
    }
}

/* Override Heroic TOC auto-collapse: mostrar siempre sub-items (h3)
   Especificidad alta (0,5,2) para ganar al plugin (0,4,2) */
.wp-block-ht-block-toc[data-htoc-auto-collapse="true"]:not([data-htoc-scrollspy="true"]) .ht_toc_list li ul.ht_toc_child_list {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Mobile */
@media (max-width: 768px) {
    .wp-block-ht-block-toc {
        padding: 24px 16px !important;
    }
    .ht_toc_title {
        font-size: 18px;
        line-height: 24px;
    }
    .htoc__itemswrap {
        margin-top: 10px !important;
    }
    .ht_toc_list a {
        font-size: 18px;
    }
    .ht_toc_list .ht_toc_child_list a {
        font-size: 16px;
    }
}


/* === assets/css/blocks/blockquote.css === */
/* ==========================================================================
   Bloque de cita (quote)
   ========================================================================== */
.wp-block-quote {
    padding: 24px;
    color: white;
    border-radius: var(--quote-radius);
    background: linear-gradient(141.36deg, var(--main-red) 0%, var(--main-blue) 100%);
    font-size: var(--h2-size);
    font-weight: 400;
    line-height: 1.4;
    font-style: italic;
    letter-spacing: 0.02em;
    max-width: 600px;
    margin-left: 48px;
    margin-right: 64px;
}
.wp-block-quote cite {
    display: block;
    margin-top: 8px;
    font-size: var(--caption-size);
    line-height: 24px;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.02em;
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1150px) {
    .wp-block-quote {
        margin-left: 16px;
        margin-right: 16px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .wp-block-quote {
        font-size: 18px;
        line-height: 1.4;
        margin-left: 12px;
        margin-right: 12px;
    }
    .wp-block-quote cite {
        margin-top: 4px;
    }
}


/* === assets/css/blocks/selected-post.css === */
/* ==========================================================================
   Bloque: Selected post (acf/select-post)
   ========================================================================== */
.nintenduo-selected-post {
    position: relative;
    background-color: #F3F4F5;
    border-radius: 8px;
    overflow: hidden;
    padding: 16px 24px 24px;
    margin-bottom: 28px;
}

.nintenduo-selected-post a {
    text-decoration: none;
}

.nintenduo-selected-post::before {
    content: "";
    display: inline-block;
    background: linear-gradient(180deg, #F22 0%, #0082FC 100%);
    width: 8px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
}

.nintenduo-selected-post > div {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
}

.nintenduo-selected-post > div h3 {
    margin-block-start: 4px;
    margin-bottom: 8px;
    font-size: 22px;
    line-height: 1.3;
    letter-spacing: 0.015em;
}

.nintenduo-selected-post .img-wrap img {
    height: 164px;
    width: 264px;
    max-width: 264px;
    position: relative;
    z-index: 1;
    border-radius: 8px;
    -o-object-fit: cover;
    object-fit: cover;
}

.nintenduo-selected-post .img-wrap a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.nintenduo-selected-post .nintenduo-selected-post-excerpt {
    color: #6F6F6F;
    display: -webkit-box;
    white-space: normal;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 24px;
    max-height: calc(24px * 3);
    font-size: 18px;
}

.nintenduo-selected-post-content a {
    color: #1A1A1A !important;
}

.nintenduo-selected-post-content a:hover {
    color: #006ED4 !important;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .nintenduo-selected-post .nintenduo-selected-post-excerpt {
        display: block !important;
    }
}

@media only screen and (max-width: 1024px) {
    .nintenduo-selected-post .nintenduo-selected-post-excerpt {
        display: none;
    }
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1150px) {
    .nintenduo-selected-post > div h3 {
        margin-block-start: 8px;
        margin-bottom: 0;
        font-size: 18px;
    }

    .nintenduo-selected-post .img-wrap img {
        width: 128px;
        max-width: 128px;
        height: 80px;
        border-radius: 8px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .nintenduo-selected-post > div {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .nintenduo-selected-post > div h3 {
        margin-block-start: 0;
        margin-bottom: 0;
        font-size: 16px;
    }

    .nintenduo-selected-post {
        padding: 16px 20px;
    }

    .nintenduo-selected-post .img-wrap img {
        width: 108px;
        max-width: 108px;
        height: 68px;
        border-radius: 4px;
    }
}


/* === assets/css/blocks/gallery.css === */
/* ==========================================================================
   Bloque: Galería Swiper + embed privado
   ========================================================================== */
.swiper {
    width: 100%;
    /*height: 300px;*/
    margin-left: auto;
    margin-right: auto;
    border-radius: 8px;
}

.swiper-slide {
    background-size: cover;
    background-position: center;
}

.mySwiper2 {
    height: 80%;
    width: 100%;
}

.mySwiper2 .swiper-slide {
    display: flex;
    flex-direction: column;
}

.mySwiper2 .swiper-slide img {
    height: auto;
    aspect-ratio: 16 / 9;
}

.nintenduo-gallery-caption-bar {
    margin-top: 8px;
    margin-bottom: 6px;
    min-height: 20px;
    font-size: var(--caption-size, 14px);
    line-height: 1.4;
    color: var(--nintenduo-caption-muted-color, #757575);
    text-align: left;
}

.nintenduo-gallery-caption-bar:empty {
    display: none;
}

.mySwiper {
    height: 20%;
    box-sizing: border-box;
}

.mySwiper .swiper-slide {
    width: 25%;
    height: 100%;
    opacity: 0.6;
}

.mySwiper .swiper-slide img {
    border-radius: 0;
}

.mySwiper .swiper-slide-thumb-active {
    opacity: 1;
}

.swiper-button-next:hover {
    background-color: rgba(26, 26, 26, 0.8);
    -webkit-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
}

.swiper-button-prev:hover {
    background-color: rgba(26, 26, 26, 0.8);
    -webkit-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1) rotate(180deg);
}

div[class^="swiper-button-"] {
    width: 80px;
    height: 80px;
    background-color: rgba(26, 26, 26, 0.4);
    border-radius: 50%;
    transition: all .3s ease-in-out;
}

div[class^="swiper-button-"]:after {
    content: "";
}

div[class^="swiper-button-"] svg {
    width: 38px !important;
    height: 26px !important;
}

.swiper-button-prev {
    transform: rotate(180deg);
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}



/* acf/embed-private */

.embed-private iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1150px) {
    .swiper-thumbs {
        height: 61px;
    }

    .swiper-thumbs .swiper-slide {
        width: 109px !important;
        margin-right: 16px !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    div[class^="swiper-button-"] {
        width: 48px;
        height: 48px;
    }

    div[class^="swiper-button-"] svg {
        width: 28px !important;
        height: 19px !important;
    }

    .swiper-thumbs .swiper-slide {
        width: 165px;
        /*height: 91px;*/
    }
}


/* === assets/css/blocks/offers-banner.css === */
.offers-banner {
    --banner-padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #e60012;
    border-radius: 8px;
    padding: var(--banner-padding);
    text-align: center;
    font-family: 'Codec Pro', 'Codec Pro Critical', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    box-sizing: border-box;
    width: 100%;
    gap: 2px;
    overflow: hidden;
}

.offers-banner__header {
    display: block;
    line-height: 0;
    margin-bottom: 20px;
    color: #FFFFFF;
    position: relative;
    width: 100%;
    transform: rotate(-2deg);
}

.offers-banner__header::after {
    content: '';
    position: absolute;
    left: calc(-1 * var(--banner-padding) - 50px);
    right: calc(-1 * var(--banner-padding) - 50px);
    top: -4px;
    bottom: -8px;
    background-color: #1A1A1A;
    z-index: 0;
}

.offers-banner__header svg {
    display: block;
    height: auto;
    max-width: 100%;
    fill: #FFFFFF;
    width: 270px;
    position: relative;
    z-index: 1;
    margin: 0 auto;
}

/* Wrap: contenedor relativo para las dos capas */
.offers-banner__text-wrap {
    position: relative;
    display: flex;
    justify-content: center;
}

/* Capas fill y stroke (compartidas) */
.offers-banner__text-fill,
.offers-banner__text-stroke {
    display: block;
    line-height: 0;
    color: #FFFFFF;
}

.offers-banner__text-fill svg,
.offers-banner__text-stroke svg {
    display: block;
    height: auto;
    max-width: 100%;
}

.offers-banner__text-stroke {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    display: flex;
    justify-content: center;
}

/* PRECIOS — tamaño SVG desktop */
.offers-banner__text-wrap--precios .offers-banner__text-fill svg,
.offers-banner__text-wrap--precios .offers-banner__text-stroke svg {
    width: 165px;
}

/* PRECIOS — empieza en stroke, va a fill (inverso a MÍNIMOS) */
.offers-banner__text-wrap--precios .offers-banner__text-fill {
    animation: offers-fill-toggle-inv 2s step-end infinite;
}

.offers-banner__text-wrap--precios .offers-banner__text-stroke {
    animation: offers-stroke-toggle-inv 2s step-end infinite;
}

/* MÍNIMOS — tamaño SVG desktop */
.offers-banner__text-wrap--minimos {
    margin-top: -4px;
}

.offers-banner__text-wrap--minimos .offers-banner__text-fill svg,
.offers-banner__text-wrap--minimos .offers-banner__text-stroke svg {
    width: 240px;
}

/* MÍNIMOS — empieza en fill, va a stroke */
.offers-banner__text-wrap--minimos .offers-banner__text-fill {
    animation: offers-fill-toggle 2s step-end infinite;
}

.offers-banner__text-wrap--minimos .offers-banner__text-stroke {
    animation: offers-stroke-toggle 2s step-end infinite;
}

/* EN TU MÓVIL — tamaño SVG desktop */
.offers-banner__text-wrap--movil {
    margin-top: 4px;
}

.offers-banner__text-wrap--movil .offers-banner__text-fill svg,
.offers-banner__text-wrap--movil .offers-banner__text-stroke svg {
    width: 190px;
}

/* EN TU MÓVIL — empieza en stroke, va a fill (inverso a MÍNIMOS) */
.offers-banner__text-wrap--movil .offers-banner__text-fill {
    animation: offers-fill-toggle-inv 2s step-end infinite;
}

.offers-banner__text-wrap--movil .offers-banner__text-stroke {
    animation: offers-stroke-toggle-inv 2s step-end infinite;
}

/* Animaciones: MÍNIMOS (fill primero) */
@keyframes offers-fill-toggle {
    0%, 50% {
        visibility: visible;
    }
    50.01%, 100% {
        visibility: hidden;
    }
}

@keyframes offers-stroke-toggle {
    0%, 50% {
        visibility: hidden;
    }
    50.01%, 100% {
        visibility: visible;
    }
}

/* Animaciones inversas: PRECIOS y EN TU MÓVIL (stroke primero) */
@keyframes offers-fill-toggle-inv {
    0%, 50% {
        visibility: hidden;
    }
    50.01%, 100% {
        visibility: visible;
    }
}

@keyframes offers-stroke-toggle-inv {
    0%, 50% {
        visibility: visible;
    }
    50.01%, 100% {
        visibility: hidden;
    }
}

.offers-banner__buttons {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    width: 100%;
}

.offers-banner__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #1A1A1A;
    color: #FFFFFF;
    font-family: inherit;
    font-weight: 800;
    font-size: 18px;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 25px;
    padding: 16px 20px;
    flex: 1;
    min-width: 0;
    letter-spacing: 0.5px;
    line-height: 1;
    transition: opacity 0.2s ease;
}

@media (hover: hover) {
    .offers-banner__btn:hover {
        opacity: 0.85;
        color: #FFFFFF;
        text-decoration: none;
    }
}

@media (min-width: 769px) and (max-width: 1150px) {
    .offers-banner {
        --banner-padding: 10px;
        padding: 16px var(--banner-padding);
        gap: 1px;
    }

    .offers-banner__header svg {
        width: 210px;
    }

    .offers-banner__text-wrap--precios .offers-banner__text-fill svg,
    .offers-banner__text-wrap--precios .offers-banner__text-stroke svg {
        width: 125px;
    }

    .offers-banner__text-wrap--minimos .offers-banner__text-fill svg,
    .offers-banner__text-wrap--minimos .offers-banner__text-stroke svg {
        width: 180px;
    }

    .offers-banner__text-wrap--movil .offers-banner__text-fill svg,
    .offers-banner__text-wrap--movil .offers-banner__text-stroke svg {
        width: 145px;
    }

    .offers-banner__btn {
        font-size: 14px;
        padding: 14px 12px;
    }
}

@media (max-width: 768px) {
    .offers-banner__header svg {
        width: 270px;
    }

    .offers-banner__text-wrap--precios .offers-banner__text-fill svg,
    .offers-banner__text-wrap--precios .offers-banner__text-stroke svg {
        width: 165px;
    }

    .offers-banner__text-wrap--minimos .offers-banner__text-fill svg,
    .offers-banner__text-wrap--minimos .offers-banner__text-stroke svg {
        width: 240px;
    }

    .offers-banner__text-wrap--movil .offers-banner__text-fill svg,
    .offers-banner__text-wrap--movil .offers-banner__text-stroke svg {
        width: 190px;
    }

    .offers-banner__btn {
        font-size: 18px;
        padding: 16px 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .offers-banner__text-fill {
        animation: none !important;
        visibility: visible !important;
    }

    .offers-banner__text-stroke {
        animation: none !important;
        visibility: hidden !important;
    }
}

