/* ==========================================================================
   Single post — layout, tipografía del contenido, imágenes
   ========================================================================== */

/* Desktop */
.nintenduo-post-content-container {
    --post-content-column-max-width: 744px;
    --sidebar-column-max-width: 360px;

    margin-top: 32px;
    /* ==========================================================================
       Títulos h2 y h3 (unificados)
       ========================================================================== */
    h2.wp-block-heading,
    h3.wp-block-heading {
        margin-top: 32px;
    }
    h2.wp-block-heading {
        font-size: var(--h2-size);
    }
    h3.wp-block-heading {
        font-size: var(--h3-size);
    }
    h2.wp-block-heading + *,
    h3.wp-block-heading + * {
        margin-block-start: 16px;
    }

    /* ==========================================================================
       Imágenes con border-radius (agrupado)
       ========================================================================== */
    .wp-block-image__wrapper,
    .wp-block-image,
    .wp-block-image__wrapper img {
        border-radius: var(--block-radius);
        overflow: hidden;
    }
    .wp-block-image__wrapper {
        --block-image-border-width: 0;
        cursor: pointer;
        position: relative;
    }
    /* Eliminar margen inferior por defecto en bloques de imagen */
    figure.wp-block-image,
    figure.wp-block-image.size-large {
        margin-bottom: 0 !important;
    }
    .wp-block-image__wrapper img {
        display: block;
    }
    .wp-block-image__wrapper.with-caption {
        margin-bottom: 0;
    }
    @media (hover: hover) and (pointer: fine) {
        .wp-block-image__wrapper:hover,
        .wp-block-image__wrapper:active {
            --block-image-border-width: 20px;
        }
    }
    .wp-block-image__wrapper:focus-visible {
        --block-image-border-width: 20px;
    }
    .wp-block-columns > .wp-block-column:first-child .wp-block-image__wrapper::after {
        content: "";
        position: absolute;
        bottom: 0;
        border-width: var(--block-image-border-width);
        border-style: solid;
        border-radius: 0 var(--block-radius) 0 0;
        left: 0;
        border-top-color: var(--main-red);
        border-right-color: var(--main-red);
        border-bottom-color: white;
        border-left-color: white;
        -webkit-transition: all 0.3s cubic-bezier(0.65, -0.28, 0.62, 1.84);
        -o-transition: all 0.3s cubic-bezier(0.65, -0.28, 0.62, 1.84);
        transition: all 0.3s cubic-bezier(0.65, -0.28, 0.62, 1.84);
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'><path d='M0,0 H320 Q400,0 400,80 V400 H0 Z' fill='%23FF7F1F'/></svg>");
    }
    @media (hover: none), (pointer: coarse) {
        .wp-block-columns > .wp-block-column:first-child .wp-block-image__wrapper::after {
            content: none;
            border-width: 0;
            background-image: none;
        }
    }

    .wp-block-post-excerpt {
        margin-top: 16px;
    }

    .wp-block-columns {
        gap: 24px;
    }

    .wp-block-columns .wp-block-column:first-child {
        width: calc(var(--post-content-column-max-width)*100%/var(--desktop-content-size));
        max-width: var(--post-content-column-max-width);
        flex-basis: unset;
        flex-grow: unset;
    }

    .wp-block-columns .wp-block-column:last-child {
        width: calc(var(--sidebar-column-max-width)*100%/var(--desktop-content-size));
        max-width: var(--sidebar-column-max-width);
        flex-basis: unset;
        flex-grow: unset;
    }
    /* ==========================================================================
       Caption de imágenes
       ========================================================================== */
    .wp-element-caption {
        font-size: var(--caption-size);
        color: #757575;
        margin-block-start: 8px;
        margin-block-end: 2px;
    }
    .wp-block-image__wrapper:has(+ .wp-element-caption) .wp-block-image {
        margin-bottom: 0;
    }
    /* ==========================================================================
       Título autor post
       ========================================================================== */
    .nintenduo-author-block-post-title {
        font-size: var(--h3-size);
    }
}

.nintenduo-post-content-container .wp-block-post-title {
    margin-top: 32px;
    font-size: var(--post-title-size);
    font-weight: 800;
}

.nintenduo-post-content-container .wp-block-post-excerpt__excerpt {
    font-size: var(--h3-size);
    color: #757575;
}

.nintenduo-post-content-container .wp-block-post-excerpt__excerpt a {
    color: #006ED4;
}

.nintenduo-post-content-container .twitter-tweet {
    margin: 0 auto !important;
}

.wp-block-post-content {
    font-size: 20px;
}

.wp-block-post-content ul:not(.blocks-gallery-grid):not(.ht_toc_list):not(.ht_toc_child_list) {
    font-size: inherit;
    margin-left: 0;
    line-height: 150%;
    color: inherit;
    list-style-type: none;
    /*margin-top: 0;*/
    padding-left: calc(var(--space-default) * 4);
}

.wp-block-post-content ul:not(.blocks-gallery-grid):not(.ht_toc_list):not(.ht_toc_child_list)>li::before {
    content: "";
    margin-right: calc(var(--space-default) * 2);
    top: -3px;
    position: relative;
    background: var(--main-red);
    height: 4px;
    width: 4px;
    display: inline-block;
    border-radius: 50%;
}

.wp-block-post-content a {
    text-decoration: none;
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1150px) {
    .nintenduo-post-content-container {
        --content-size-reference-width: 735;
        --post-content-column-reference-width: 485;
        --sidebar-column-reference-width: 234;

        margin-top: 24px;
        /* Solo se cambian los tamaños respecto al base */
        h3.wp-block-heading {
            font-size: 20px;
        }
        .wp-block-post-excerpt {
            margin-top: 12px;
        }
        .wp-block-columns {
            gap: 16px;
            flex-wrap: nowrap !important;
        }
        .wp-block-columns .wp-block-column:first-child {
            width: calc(100% * calc(var(--post-content-column-reference-width)/var(--content-size-reference-width)));
            flex-basis: unset !important;
            flex-grow: unset;
        }
        .wp-block-columns .wp-block-column:last-child {
            width: calc(100% * calc(var(--sidebar-column-reference-width)/var(--content-size-reference-width)));
            flex-basis: unset !important;
            flex-grow: unset;
        }
        .nintenduo-author-block-post-title {
            font-size: 18px;
        }
    }
    .nintenduo-post-content-container .wp-block-post-title {
        margin-top: 24px;
        font-size: 36px;
    }
    .nintenduo-post-content-container .wp-block-post-excerpt__excerpt {
        font-size: 20px;
    }
    .nintenduo-post-content-container .wp-block-post-content {
        font-size: 18px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .nintenduo-post-content-container .wp-block-columns .wp-block-column:last-child {
        width: 100%;
        max-width: 100%;
    }
    .nintenduo-post-content-container {
        margin-top: 12px;
        h3.wp-block-heading {
            font-size: 20px;
        }
        .wp-block-post-excerpt {
            margin-top: 12px;
        }
        .nintenduo-author-block-post-title {
            font-size: 18px;
        }
    }
    .nintenduo-post-content-container .wp-block-post-title {
        margin-top: 17px;
        font-size: 24px;
    }
    .nintenduo-post-content-container .wp-block-post-excerpt__excerpt {
        font-size: 20px;
    }
    .nintenduo-post-content-container .wp-block-post-content {
        font-size: 18px;
    }
    .wp-block-post-content h2.wp-block-heading {
        text-align: left;
    }
    .nintenduo-post-content-container .wp-block-post-content p {
        line-height: 1.4;
        letter-spacing: 0.02em;
    }
}


/* Ajuste de márgenes para bloques de lista */
.nintenduo-post-content-container .wp-block-list,
.nintenduo-post-content-container .wp-block-list ul,
.nintenduo-post-content-container .wp-block-list ol {
    margin-block-start: 12px !important;
    margin-block-end: 0 !important;
}

.nintenduo-post-content-container .wp-block-list li + li {
    margin-block-start: 12px;
}

/* Avatar responsive para autor: 36x36 en escritorio, 24x24 en móvil/tablet */
.avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

@media (max-width: 1024px) {
    .avatar {
        width: 24px;
        height: 24px;
    }
}

/* Interlineado definitivo para párrafos de post */
.nintenduo-post-content-container .wp-block-post-content p {
    line-height: 1.3;
    letter-spacing: 0.01em;
}
