/* ==========================================================================
   SUNYA THEME — blog.css
   Stili per articoli del blog (singolo e archivio)

   Classi coperte:
   - .sunya-post, .sunya-post--single     → wrapper articolo
   - .sunya-post__header                  → intestazione (categorie, titolo, meta)
   - .sunya-post__featured-image          → immagine in evidenza (singolo)
   - .sunya-post__thumbnail               → thumbnail nel loop archivio
   - .sunya-post__content                 → corpo del post
   - .sunya-post__footer                  → tag footer
   - .sunya-post__categories / __category → etichette categoria
   - .sunya-post__meta / __date / __author → data e autore
   - .sunya-post__tags / __tag            → tag
   - .sunya-post__title                   → titolo
   - .sunya-post__excerpt                 → estratto nel loop
   - .sunya-post-nav                      → navigazione prev/next
   - .sunya-archive__header               → intestazione pagina archivio
   - .sunya-posts                         → griglia post nel loop
   ========================================================================== */


/* --------------------------------------------------------------------------
   Blog loop — Layout Stack
   -------------------------------------------------------------------------- */

.sunya-posts--stack {
    display: flex;
    flex-direction: column;
    gap: var(--sunya-spacing-2xl);
    grid-template-columns: none; /* annulla la griglia */
}

.sunya-posts--stack .sunya-post {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: var(--sunya-spacing-xl);
    align-items: start;
}

.sunya-posts--stack .sunya-post__thumbnail {
    margin-bottom: 0;
    aspect-ratio: var(--sunya-blog-img-ratio, 3/2);
}

.sunya-posts--stack .sunya-post__content {
    padding: 0;
}

@media screen and (max-width: 600px) {
    .sunya-posts--stack .sunya-post {
        grid-template-columns: 1fr;
    }
}


/* --------------------------------------------------------------------------
   Blog loop — Colonne (da Customizer)
   -------------------------------------------------------------------------- */

.sunya-posts--grid.sunya-posts--cols-1 {
    grid-template-columns: 1fr;
}

.sunya-posts--grid.sunya-posts--cols-2 {
    grid-template-columns: repeat(2, 1fr);
}

.sunya-posts--grid.sunya-posts--cols-3 {
    grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 900px) {
    .sunya-posts--grid.sunya-posts--cols-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 600px) {
    .sunya-posts--grid.sunya-posts--cols-2,
    .sunya-posts--grid.sunya-posts--cols-3 {
        grid-template-columns: 1fr;
    }
}


/* --------------------------------------------------------------------------
   Blog loop — Stili post (card, separator, minimal)
   -------------------------------------------------------------------------- */

/* Separatore */
.sunya-posts--style-separator .sunya-post {
    padding-bottom: var(--sunya-spacing-2xl);
    border-bottom: 1px solid var(--sunya-color-border);
}

.sunya-posts--style-separator .sunya-post:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* Card con ombra */
.sunya-posts--style-card-shadow .sunya-post {
    background-color: var(--sunya-color-bg);
    border-radius: var(--sunya-radius-lg);
    box-shadow: var(--sunya-shadow-md);
    overflow: hidden;
    transition: box-shadow var(--sunya-transition-smooth), transform var(--sunya-transition-smooth);
}

.sunya-posts--style-card-shadow .sunya-post:hover {
    box-shadow: var(--sunya-shadow-xl);
    transform: translateY(-4px);
}

.sunya-posts--style-card-shadow .sunya-post__thumbnail {
    border-radius: 0;
    margin-bottom: 0;
}

.sunya-posts--style-card-shadow .sunya-post__content {
    padding: var(--sunya-spacing-lg);
}

.sunya-posts--style-card-shadow .sunya-posts .sunya-post__footer {
    padding-top: var(--sunya-spacing-md);
}

/* Card con bordo */
.sunya-posts--style-card-border .sunya-post {
    background-color: var(--sunya-color-bg);
    border: 1px solid var(--sunya-color-border);
    border-radius: var(--sunya-radius-lg);
    overflow: hidden;
    transition: border-color var(--sunya-transition-fast);
}

.sunya-posts--style-card-border .sunya-post:hover {
    border-color: var(--sunya-color-accent);
}

.sunya-posts--style-card-border .sunya-post__thumbnail {
    border-radius: 0;
    margin-bottom: 0;
}

.sunya-posts--style-card-border .sunya-post__content {
    padding: var(--sunya-spacing-lg);
}

/* Minimale */
.sunya-posts--style-minimal .sunya-post__thumbnail {
    border-radius: 0;
}

.sunya-posts--style-minimal .sunya-post__title a {
    text-decoration: none;
    background-image: none;
}


/* --------------------------------------------------------------------------
   Blog loop — Proporzioni immagine (CSS variable)
   -------------------------------------------------------------------------- */

.sunya-post__thumbnail {
    aspect-ratio: var(--sunya-blog-img-ratio, 3/2);
}

/* Quando il ratio è "original" (auto) */
.sunya-post__thumbnail[style*="auto"],
[style*="--sunya-blog-img-ratio: auto"] .sunya-post__thumbnail {
    aspect-ratio: auto;
    height: auto;
}


/* --------------------------------------------------------------------------
   Blog loop — Dimensione titolo post
   -------------------------------------------------------------------------- */

/* Dimensione titolo — posizionate DOPO la regola base .sunya-posts .sunya-post__title
   per garantire la cascade corretta (stesso file, stessa specificità = vince l'ultima) */


/* --------------------------------------------------------------------------
   Blog loop — Allineamento testo centrato
   -------------------------------------------------------------------------- */

/* Allineamento centrato — .sunya-posts.sunya-posts--center ha specificità (0,3,0)
   che batte .sunya-posts .sunya-post__header (0,2,0) */
.sunya-posts.sunya-posts--center .sunya-post {
    text-align: center;
}

.sunya-posts.sunya-posts--center .sunya-post__header {
    text-align: center;
}

.sunya-posts.sunya-posts--center .sunya-post__categories {
    justify-content: center;
}

.sunya-posts.sunya-posts--center .sunya-post__meta {
    justify-content: center;
}

.sunya-posts.sunya-posts--center .sunya-post__footer {
    display: flex;
    justify-content: center;
}


/* --------------------------------------------------------------------------
   Blog loop — Paginazione centrata e minimale
   -------------------------------------------------------------------------- */

.sunya-pagination--center {
    justify-content: center;
}

.sunya-pagination--minimal {
    justify-content: space-between;
}

.sunya-pagination--minimal .page-numbers:not(.prev):not(.next) {
    display: none;
}


/* --------------------------------------------------------------------------
   Singolo post — Layout immagine
   -------------------------------------------------------------------------- */

/* Full width: rompe il container e va a tutta la viewport */
.sunya-post__featured-image--full {
    max-width: 100vw;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0;
}

.sunya-post__featured-image--full img {
    border-radius: 0;
    max-height: 60vh;
    object-fit: cover;
}

/* Stretta: larghezza contenuto */
.sunya-post__featured-image--narrow {
    max-width: var(--sunya-content-width, 800px);
    padding-left: var(--sunya-container-padding, 1.5rem);
    padding-right: var(--sunya-container-padding, 1.5rem);
}


/* --------------------------------------------------------------------------
   Singolo post — Allineamento e larghezza header
   -------------------------------------------------------------------------- */

.sunya-post__header--center {
    text-align: center;
}

.sunya-post__header--center .sunya-post__categories {
    justify-content: center;
}

.sunya-post__header--center .sunya-post__meta {
    justify-content: center;
}

.sunya-post__header--wide {
    max-width: var(--sunya-wide-width, 1400px);
}


/* --------------------------------------------------------------------------
   Singolo post — Estratto/intro sotto il titolo
   -------------------------------------------------------------------------- */

.sunya-post__intro {
    font-size: var(--sunya-font-size-lg);
    line-height: 1.6;
    color: var(--sunya-color-text-light);
    margin-top: var(--sunya-spacing-md);
    margin-bottom: 0;
    font-style: italic;
}


/* --------------------------------------------------------------------------
   Singolo post — Layout con sidebar
   -------------------------------------------------------------------------- */

.sunya-single__layout {
    /* senza sidebar: nessuna modifica */
}

.sunya-single__layout.sunya-blog-home__layout--has-sidebar {
    display: grid;
    grid-template-columns: 1fr var(--sunya-sidebar-width, 300px);
    grid-template-areas: 'content sidebar';
    gap: var(--sunya-spacing-2xl);
    align-items: start;
    max-width: var(--sunya-container-width, 1200px);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--sunya-container-padding, 1.5rem);
    padding-right: var(--sunya-container-padding, 1.5rem);
}

.sunya-single__layout.sunya-blog-home__layout--sidebar-left {
    grid-template-columns: var(--sunya-sidebar-width, 300px) 1fr;
    grid-template-areas: 'sidebar content';
}

.sunya-single__content {
    grid-area: content;
    min-width: 0;
}

/* Quando c'è sidebar, il contenuto singolo non usa più la propria max-width
   perché il grid già la gestisce */
.sunya-blog-home__layout--has-sidebar .sunya-post__content,
.sunya-blog-home__layout--has-sidebar .sunya-post__header,
.sunya-blog-home__layout--has-sidebar .sunya-post__footer {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
}

.sunya-blog-home__layout--has-sidebar .sunya-post__featured-image {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
}

@media screen and (max-width: 1024px) {
    .sunya-single__layout.sunya-blog-home__layout--has-sidebar {
        grid-template-columns: 1fr;
        grid-template-areas: 'content' 'sidebar';
    }
}


/* --------------------------------------------------------------------------
   Blog Home — Header (titolo pagina + descrizione)
   -------------------------------------------------------------------------- */

.sunya-blog-home__header {
    padding-top: var(--sunya-spacing-2xl);
    padding-bottom: var(--sunya-spacing-xl);
    border-bottom: 1px solid var(--sunya-color-border);
    margin-bottom: var(--sunya-spacing-2xl);
    max-width: 700px;
}

.sunya-blog-home__title {
    font-size: var(--sunya-font-size-4xl);
    margin-bottom: var(--sunya-spacing-sm);
}

.sunya-blog-home__description {
    color: var(--sunya-color-text-light);
    font-size: var(--sunya-font-size-lg);
    line-height: 1.6;
}

.sunya-blog-home__description p {
    margin-bottom: 0;
}


/* --------------------------------------------------------------------------
   Blog Home / Archivio — Layout con sidebar
   -------------------------------------------------------------------------- */

/* Layout base: colonna singola */
.sunya-blog-home__layout {
    padding-top: var(--sunya-spacing-xl);
    padding-bottom: var(--sunya-spacing-section);
}

/* Layout a due colonne quando sidebar è attiva.
   --sunya-sidebar-width è impostata da sunya_inline_css() via Customizer. */
.sunya-blog-home__layout--has-sidebar {
    display: grid;
    grid-template-columns: 1fr var(--sunya-sidebar-width, 300px);
    grid-template-areas: 'content sidebar';
    gap: var(--sunya-spacing-2xl);
    align-items: start;
}

/* Sidebar a sinistra */
.sunya-blog-home__layout--sidebar-left {
    grid-template-columns: var(--sunya-sidebar-width, 300px) 1fr !important;
    grid-template-areas: 'sidebar content' !important;
}

.sunya-blog-home__content {
    grid-area: content;
    min-width: 0;
}

.sunya-blog-home__sidebar {
    grid-area: sidebar;
    position: sticky;
    top: calc(var(--sunya-header-height, 80px) + var(--sunya-spacing-lg));
}


/* --------------------------------------------------------------------------
   Post singolo — Struttura
   -------------------------------------------------------------------------- */

.sunya-post--single {
    max-width: 100%;
}

/* Header del post: categorie, titolo, meta
   text-align gestito dal modifier --center (o left di default) */
.sunya-post__header {
    padding-top: var(--sunya-spacing-xl);
    padding-bottom: var(--sunya-spacing-xl);
    text-align: left;
}

.sunya-post__title {
    font-size: clamp(var(--sunya-font-size-3xl), 4vw, 2.75rem);
    line-height: 1.15;
    margin-bottom: var(--sunya-spacing-md);
    color: var(--sunya-color-primary);
}


/* --------------------------------------------------------------------------
   Immagine in evidenza — Singolo post
   -------------------------------------------------------------------------- */

.sunya-post__featured-image {
    max-width: var(--sunya-wide-width, 1400px);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--sunya-spacing-2xl);
    padding-left: var(--sunya-container-padding, 1.5rem);
    padding-right: var(--sunya-container-padding, 1.5rem);
}

.sunya-post__featured-image .sunya-post__img,
.sunya-post__featured-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--sunya-radius-lg);
    object-fit: cover;
    max-height: 560px;
}


/* --------------------------------------------------------------------------
   Contenuto del post
   -------------------------------------------------------------------------- */

.sunya-post__content {
    max-width: var(--sunya-content-width, 800px);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--sunya-container-padding, 1.5rem);
    padding-right: var(--sunya-container-padding, 1.5rem);
    padding-bottom: var(--sunya-spacing-2xl);
}

/* Il .sunya-post__content ha anche la classe .sunya-entry-content.
   Le regole Gutenberg in style.css gestiscono i blocchi interni.
   Qui aggiungiamo solo le fondamenta tipografiche. */

.sunya-post__content p,
.sunya-post__content li {
    font-size: var(--sunya-font-size-lg);
    line-height: 1.75;
    color: var(--sunya-color-text);
}

.sunya-post__content h2 { margin-top: var(--sunya-spacing-2xl); }
.sunya-post__content h3 { margin-top: var(--sunya-spacing-xl); }
.sunya-post__content h4 { margin-top: var(--sunya-spacing-lg); }

.sunya-post__content img {
    border-radius: var(--sunya-radius-md);
}


/* --------------------------------------------------------------------------
   Footer del post — Tag
   -------------------------------------------------------------------------- */

.sunya-post__footer {
    padding-top: var(--sunya-spacing-lg);
    padding-bottom: var(--sunya-spacing-xl);
    border-top: 1px solid var(--sunya-color-border);
}


/* --------------------------------------------------------------------------
   Categorie
   -------------------------------------------------------------------------- */

.sunya-post__categories {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sunya-spacing-xs);
    justify-content: center;
    margin-bottom: var(--sunya-spacing-md);
}

.sunya-post__category {
    display: inline-block;
    padding: 0.25em 0.75em;
    background-color: var(--sunya-color-accent);
    color: #fff;
    border-radius: var(--sunya-radius-full);
    font-size: var(--sunya-font-size-sm);
    font-weight: var(--sunya-font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: background-color var(--sunya-transition-fast);
}

.sunya-post__category:hover,
.sunya-post__category:focus-visible {
    background-color: var(--sunya-color-accent-hover);
    color: #fff;
}


/* --------------------------------------------------------------------------
   Meta (data + autore)
   -------------------------------------------------------------------------- */

.sunya-post__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sunya-spacing-sm) var(--sunya-spacing-lg);
    justify-content: center;
    align-items: center;
    font-size: var(--sunya-font-size-sm);
    color: var(--sunya-color-text-light);
    margin-top: var(--sunya-spacing-md);
}

.sunya-post__date {
    color: var(--sunya-color-text-light);
}

.sunya-post__author a {
    color: var(--sunya-color-text-light);
    font-weight: var(--sunya-font-weight-medium);
}

.sunya-post__author a:hover {
    color: var(--sunya-color-accent);
}


/* --------------------------------------------------------------------------
   Tag
   -------------------------------------------------------------------------- */

.sunya-post__tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--sunya-spacing-xs);
    font-size: var(--sunya-font-size-sm);
    max-width: var(--sunya-content-width, 800px);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--sunya-container-padding, 1.5rem);
    padding-right: var(--sunya-container-padding, 1.5rem);
}

.sunya-post__tags-label {
    color: var(--sunya-color-text-light);
    font-weight: var(--sunya-font-weight-medium);
}

.sunya-post__tag {
    display: inline-block;
    padding: 0.2em 0.65em;
    border: 1px solid var(--sunya-color-border);
    border-radius: var(--sunya-radius-full);
    color: var(--sunya-color-text-light);
    font-size: var(--sunya-font-size-sm);
    transition: border-color var(--sunya-transition-fast), color var(--sunya-transition-fast);
}

.sunya-post__tag:hover,
.sunya-post__tag:focus-visible {
    border-color: var(--sunya-color-accent);
    color: var(--sunya-color-accent);
}


/* --------------------------------------------------------------------------
   Navigazione Prev / Next
   -------------------------------------------------------------------------- */

.sunya-post-nav {
    max-width: var(--sunya-container-width, 1200px);
    margin-left: auto;
    margin-right: auto;
    padding: var(--sunya-spacing-xl) var(--sunya-container-padding, 1.5rem);
    border-top: 1px solid var(--sunya-color-border);
}

.sunya-post-nav .nav-links {
    display: flex;
    justify-content: space-between;
    gap: var(--sunya-spacing-xl);
}

.sunya-post-nav .nav-previous,
.sunya-post-nav .nav-next {
    max-width: 48%;
}

.sunya-post-nav .nav-next {
    margin-left: auto;
    text-align: right;
}

.sunya-post-nav a {
    display: flex;
    flex-direction: column;
    gap: var(--sunya-spacing-xs);
    color: var(--sunya-color-text);
    transition: color var(--sunya-transition-fast);
}

.sunya-post-nav a:hover,
.sunya-post-nav a:focus-visible {
    color: var(--sunya-color-accent);
}

.sunya-post__nav-label {
    font-size: var(--sunya-font-size-sm);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--sunya-color-text-light);
}

.sunya-post__nav-title {
    font-weight: var(--sunya-font-weight-medium);
    font-size: var(--sunya-font-size-base);
    line-height: 1.4;
}

/* Alias per le label del template (sunya_post_nav__label / __title) */
.sunya-post-nav .sunya-post-nav__label {
    display: block;
    font-size: var(--sunya-font-size-sm);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--sunya-color-text-light);
    margin-bottom: 0.25em;
}

.sunya-post-nav .sunya-post-nav__title {
    display: block;
    font-weight: var(--sunya-font-weight-medium);
    line-height: 1.4;
}


/* --------------------------------------------------------------------------
   Archivio — Header
   -------------------------------------------------------------------------- */

.sunya-archive__header {
    margin-bottom: var(--sunya-spacing-2xl);
    padding-bottom: var(--sunya-spacing-xl);
    border-bottom: 1px solid var(--sunya-color-border);
}

.sunya-archive__title {
    font-size: var(--sunya-font-size-3xl);
    margin-bottom: var(--sunya-spacing-sm);
}

.sunya-archive__description {
    color: var(--sunya-color-text-light);
    font-size: var(--sunya-font-size-lg);
    max-width: 600px;
}

.sunya-archive__description p {
    margin-bottom: 0;
}


/* --------------------------------------------------------------------------
   Archivio — Griglia post
   -------------------------------------------------------------------------- */

.sunya-posts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
    gap: var(--sunya-spacing-2xl) var(--sunya-spacing-xl);
    margin-bottom: var(--sunya-spacing-2xl);
}

/* Post card nel loop */
.sunya-post {
    display: flex;
    flex-direction: column;
    background-color: var(--sunya-color-bg);
}

/* Thumbnail nel loop archivio */
.sunya-post__thumbnail {
    margin-bottom: var(--sunya-spacing-md);
    border-radius: var(--sunya-radius-lg);
    overflow: hidden;
    aspect-ratio: var(--sunya-blog-img-ratio, 3/2);
}

.sunya-post__thumbnail a {
    display: block;
    height: 100%;
}

.sunya-post__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--sunya-transition-slow);
}

.sunya-post:hover .sunya-post__thumbnail img {
    transform: scale(1.04);
}

/* Intestazione card nel loop */
.sunya-post__header {
    padding-top: var(--sunya-spacing-md);
    padding-bottom: 0;
    text-align: left; /* default; sovrascritto da .sunya-posts--center .sunya-post__header */
    margin-bottom: 0;
}

/* Sovrascrittura header per loop (allineamento a sinistra) */
.sunya-posts .sunya-post__categories {
    justify-content: flex-start;
    margin-bottom: var(--sunya-spacing-xs);
}

.sunya-posts .sunya-post__meta {
    justify-content: flex-start;
}

.sunya-posts .sunya-post__title {
    font-size: var(--sunya-font-size-xl);
    font-weight: var(--sunya-font-weight-bold, 700);
    line-height: 1.3;
    margin-bottom: var(--sunya-spacing-xs);
}

/* Dimensioni titolo dal Customizer — !important per battere qualsiasi override a cascade */
.sunya-posts.sunya-posts--title-small  .sunya-post__title { font-size: var(--sunya-font-size-base) !important; }
.sunya-posts.sunya-posts--title-large  .sunya-post__title { font-size: var(--sunya-font-size-2xl) !important; }
.sunya-posts.sunya-posts--title-xlarge .sunya-post__title { font-size: var(--sunya-font-size-3xl) !important; }

.sunya-post__title a {
    color: var(--sunya-color-primary);
    text-decoration: none;
    transition: color var(--sunya-transition-fast);
}

.sunya-post__title a:hover,
.sunya-post__title a:focus-visible {
    color: var(--sunya-color-accent);
}

/* Contenuto card */
.sunya-posts .sunya-post__content {
    max-width: 100%;
    margin: 0;
    padding: 0 var(--sunya-spacing-md) var(--sunya-spacing-md);
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Se non c'è thumbnail: padding anche sopra */
.sunya-post--no-thumb .sunya-post__content {
    padding-top: var(--sunya-spacing-md);
}

/* Estratto */
.sunya-post__excerpt {
    flex: 1;
    color: var(--sunya-color-text-light);
    font-size: var(--sunya-font-size-sm);
    line-height: 1.65;
    margin-top: var(--sunya-spacing-xs);
    margin-bottom: var(--sunya-spacing-md);
}

.sunya-post__excerpt p {
    font-size: inherit;
    margin-bottom: 0;
}

/* Footer card */
.sunya-posts .sunya-post__footer {
    border-top: none;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: auto;
    padding-bottom: var(--sunya-spacing-xs);
}


/* --------------------------------------------------------------------------
   Blocco: Latest Posts (wp-block-latest-posts)
   Usato come widget o in pagine/template
   -------------------------------------------------------------------------- */

.wp-block-latest-posts {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Layout lista (default) */
.wp-block-latest-posts.is-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
    gap: var(--sunya-spacing-xl);
}

.wp-block-latest-posts li {
    padding-bottom: var(--sunya-spacing-md);
    border-bottom: 1px solid var(--sunya-color-border);
    margin-bottom: var(--sunya-spacing-md);
}

.wp-block-latest-posts.is-grid li {
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 0;
    width: 100% !important;
}

.wp-block-latest-posts li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Immagine in evidenza nel blocco */
.wp-block-latest-posts__featured-image {
    display: block;
    margin-bottom: var(--sunya-spacing-sm);
    border-radius: var(--sunya-radius-md);
    overflow: hidden;
}

.wp-block-latest-posts__featured-image a {
    display: block;
}

/* FooGallery inietta max-width:1920px inline — !important necessario */
.wp-block-latest-posts__featured-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 320px !important;
    object-fit: cover !important;
    transition: transform var(--sunya-transition-slow);
}

.wp-block-latest-posts__featured-image a:hover img {
    transform: scale(1.04);
}

/* Griglia Latest Posts */
.wp-block-latest-posts.is-grid .wp-block-latest-posts__featured-image {
    margin-bottom: var(--sunya-spacing-md);
}

/* Titolo post — copre entrambe le classi (vecchia e nuova di WP) */
.wp-block-latest-posts__post-title,
a.wp-block-latest-posts__post-title {
    display: block;
    font-weight: var(--sunya-font-weight-medium);
    font-size: var(--sunya-font-size-base);
    line-height: 1.4;
    margin-bottom: var(--sunya-spacing-xs);
    color: var(--sunya-color-primary);
    text-decoration: none;
    transition: color var(--sunya-transition-fast);
}

.wp-block-latest-posts__post-title:hover,
.wp-block-latest-posts__post-title:focus-visible {
    color: var(--sunya-color-accent);
}

.wp-block-latest-posts__list-item-title {
    display: block;
    font-weight: var(--sunya-font-weight-medium);
    font-size: var(--sunya-font-size-base);
    line-height: 1.4;
    margin-bottom: var(--sunya-spacing-xs);
    color: var(--sunya-color-primary);
    text-decoration: none;
    transition: color var(--sunya-transition-fast);
}

.wp-block-latest-posts__list-item-title:hover,
.wp-block-latest-posts__list-item-title:focus-visible {
    color: var(--sunya-color-accent);
}

/* Meta: data, autore */
.wp-block-latest-posts__post-date,
.wp-block-latest-posts__post-author {
    display: inline-block;
    font-size: var(--sunya-font-size-sm);
    color: var(--sunya-color-text-light);
    margin-right: var(--sunya-spacing-sm);
}

/* Estratto */
.wp-block-latest-posts__post-excerpt {
    font-size: var(--sunya-font-size-sm);
    color: var(--sunya-color-text-light);
    margin-top: var(--sunya-spacing-xs);
    line-height: 1.5;
}

/* Nel widget sidebar: lista compatta senza griglia */
.sunya-widget .wp-block-latest-posts {
    gap: 0;
}

.sunya-widget .wp-block-latest-posts li {
    padding: var(--sunya-spacing-xs) 0;
    border-bottom: 1px solid var(--sunya-color-border);
    margin-bottom: 0;
}

.sunya-widget .wp-block-latest-posts__list-item-title {
    font-size: var(--sunya-font-size-sm);
    font-weight: var(--sunya-font-weight-medium);
    color: var(--sunya-color-text);
}


/* --------------------------------------------------------------------------
   Blocco: Query Loop (wp-block-query + wp-block-post-*)
   Template moderno per liste di post configurabili
   -------------------------------------------------------------------------- */

/* Template post nel loop */
.wp-block-post-template {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    gap: var(--sunya-spacing-2xl) var(--sunya-spacing-xl);
}

/* Layout lista (1 colonna) */
.wp-block-post-template.is-flex-container.is-flex-container {
    /* WP già applica flex — non sovrascrivere */
}

/* Singolo post nel query loop */
.wp-block-post {
    display: flex;
    flex-direction: column;
}

/* Immagine in evidenza */
.wp-block-post .wp-block-post-featured-image {
    display: block;
    margin-bottom: var(--sunya-spacing-md);
    border-radius: var(--sunya-radius-lg);
    overflow: hidden;
}

.wp-block-post .wp-block-post-featured-image a {
    display: block;
}

.wp-block-post .wp-block-post-featured-image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 320px;
    object-fit: cover;
    transition: transform var(--sunya-transition-slow);
}

.wp-block-post .wp-block-post-featured-image a:hover img {
    transform: scale(1.04);
}

/* Titolo */
.wp-block-post .wp-block-post-title {
    font-size: var(--sunya-font-size-xl);
    line-height: 1.3;
    margin-bottom: var(--sunya-spacing-sm);
    margin-top: 0;
}

.wp-block-post .wp-block-post-title a {
    color: var(--sunya-color-primary);
    text-decoration: none;
    transition: color var(--sunya-transition-fast);
}

.wp-block-post .wp-block-post-title a:hover,
.wp-block-post .wp-block-post-title a:focus-visible {
    color: var(--sunya-color-accent);
}

/* Meta: data, categorie, autore */
.wp-block-post .wp-block-post-date,
.wp-block-post .wp-block-post-author,
.wp-block-post .wp-block-post-terms {
    font-size: var(--sunya-font-size-sm);
    color: var(--sunya-color-text-light);
    margin-bottom: var(--sunya-spacing-xs);
}

.wp-block-post .wp-block-post-terms a,
.wp-block-post .wp-block-post-author a {
    color: var(--sunya-color-accent);
    text-decoration: none;
    font-weight: var(--sunya-font-weight-medium);
}

.wp-block-post .wp-block-post-terms a:hover,
.wp-block-post .wp-block-post-author a:hover {
    color: var(--sunya-color-accent-hover);
}

/* Estratto */
.wp-block-post .wp-block-post-excerpt {
    color: var(--sunya-color-text-light);
    font-size: var(--sunya-font-size-base);
    line-height: 1.65;
    margin-bottom: var(--sunya-spacing-md);
}

.wp-block-post .wp-block-post-excerpt__more-text {
    margin-top: var(--sunya-spacing-sm);
}

.wp-block-post .wp-block-post-excerpt__more-link {
    color: var(--sunya-color-accent);
    font-weight: var(--sunya-font-weight-medium);
    text-decoration: none;
}

.wp-block-post .wp-block-post-excerpt__more-link:hover {
    color: var(--sunya-color-accent-hover);
}

/* Paginazione query loop */
.wp-block-query-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--sunya-spacing-xs);
    margin-top: var(--sunya-spacing-2xl);
    font-size: var(--sunya-font-size-sm);
}

.wp-block-query-pagination-numbers {
    display: flex;
    gap: var(--sunya-spacing-xs);
}

.wp-block-query-pagination-numbers .page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
    padding: 0 var(--sunya-spacing-sm);
    border: 1px solid var(--sunya-color-border);
    border-radius: var(--sunya-radius-sm);
    color: var(--sunya-color-text);
    text-decoration: none;
    transition: background-color var(--sunya-transition-fast), color var(--sunya-transition-fast), border-color var(--sunya-transition-fast);
}

.wp-block-query-pagination-numbers .page-numbers:hover,
.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
    background-color: var(--sunya-color-accent);
    border-color: var(--sunya-color-accent);
    color: #fff;
}

.wp-block-query-pagination-numbers .page-numbers.current {
    background-color: var(--sunya-color-accent);
    border-color: var(--sunya-color-accent);
    color: #fff;
    font-weight: var(--sunya-font-weight-medium);
}

/* Paginazione classica (the_posts_pagination) */
.sunya-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sunya-spacing-xs);
    margin-top: var(--sunya-spacing-2xl);
}

.sunya-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 var(--sunya-spacing-sm);
    border: 1px solid var(--sunya-color-border);
    border-radius: var(--sunya-radius-sm);
    color: var(--sunya-color-text);
    text-decoration: none;
    font-size: var(--sunya-font-size-sm);
    transition: background-color var(--sunya-transition-fast), color var(--sunya-transition-fast), border-color var(--sunya-transition-fast);
}

.sunya-pagination .page-numbers:hover,
.sunya-pagination .page-numbers:focus-visible {
    background-color: var(--sunya-color-accent);
    border-color: var(--sunya-color-accent);
    color: #fff;
}

.sunya-pagination .page-numbers.current {
    background-color: var(--sunya-color-accent);
    border-color: var(--sunya-color-accent);
    color: #fff;
    font-weight: var(--sunya-font-weight-medium);
}

.sunya-pagination .page-numbers.dots {
    border-color: transparent;
    background: transparent;
    cursor: default;
}


/* ==========================================================================
   READING TIME
   ========================================================================== */

.sunya-post__reading-time {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: var(--sunya-font-size-sm);
    color: var(--sunya-color-text-light);
}

.sunya-post__reading-time-icon {
    flex-shrink: 0;
    opacity: 0.7;
}


/* ==========================================================================
   SOCIAL SHARING
   ========================================================================== */

.sunya-post-share {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--sunya-spacing-sm) var(--sunya-spacing-md);
    padding-top: var(--sunya-spacing-xl);
    padding-bottom: var(--sunya-spacing-xl);
    border-top: 1px solid var(--sunya-color-border);
    margin-top: var(--sunya-spacing-xl);
}

.sunya-post-share__label {
    font-size: var(--sunya-font-size-sm);
    font-weight: var(--sunya-font-weight-medium);
    color: var(--sunya-color-text-light);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    flex-shrink: 0;
}

.sunya-post-share__links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sunya-spacing-xs);
}

.sunya-post-share__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.8rem;
    border-radius: var(--sunya-radius-full, 999px);
    font-size: var(--sunya-font-size-sm);
    font-weight: var(--sunya-font-weight-medium);
    text-decoration: none;
    transition: background-color var(--sunya-transition-fast), color var(--sunya-transition-fast), transform var(--sunya-transition-fast);
    background-color: var(--sunya-color-surface, #f8f9fa);
    color: var(--sunya-color-text);
    border: 1px solid var(--sunya-color-border);
}

.sunya-post-share__link:hover,
.sunya-post-share__link:focus-visible {
    transform: translateY(-2px);
    color: #fff;
}

.sunya-post-share__link--facebook:hover  { background-color: #1877F2; border-color: #1877F2; }
.sunya-post-share__link--x:hover         { background-color: #000; border-color: #000; }
.sunya-post-share__link--whatsapp:hover  { background-color: #25D366; border-color: #25D366; }
.sunya-post-share__link--linkedin:hover  { background-color: #0A66C2; border-color: #0A66C2; }
.sunya-post-share__link--pinterest:hover { background-color: #E60023; border-color: #E60023; }
.sunya-post-share__link--email:hover     { background-color: var(--sunya-color-accent); border-color: var(--sunya-color-accent); }

/* Su mobile nasconde il testo, mostra solo l'icona */
@media screen and (max-width: 480px) {
    .sunya-post-share__link-label {
        display: none;
    }
    .sunya-post-share__link {
        padding: 0.5rem;
        border-radius: 50%;
    }
}


/* ==========================================================================
   AUTHOR BOX
   ========================================================================== */

.sunya-author-box {
    display: flex;
    gap: var(--sunya-spacing-xl);
    align-items: flex-start;
    padding: var(--sunya-spacing-xl);
    background-color: var(--sunya-color-surface, #f8f9fa);
    border-radius: var(--sunya-radius-lg);
    border: 1px solid var(--sunya-color-border);
    margin-top: var(--sunya-spacing-2xl);
    margin-bottom: var(--sunya-spacing-2xl);
}

.sunya-author-box__avatar {
    flex-shrink: 0;
}

.sunya-author-box__img {
    display: block;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    object-fit: cover;
}

.sunya-author-box__content {
    flex: 1;
    min-width: 0;
}

.sunya-author-box__role {
    font-size: var(--sunya-font-size-xs, 12px);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--sunya-color-accent);
    font-weight: var(--sunya-font-weight-medium);
    margin: 0 0 0.25rem;
}

.sunya-author-box__name {
    font-size: var(--sunya-font-size-lg);
    margin: 0 0 var(--sunya-spacing-sm);
    line-height: 1.3;
}

.sunya-author-box__name a {
    color: var(--sunya-color-primary);
    text-decoration: none;
    transition: color var(--sunya-transition-fast);
}

.sunya-author-box__name a:hover {
    color: var(--sunya-color-accent);
}

.sunya-author-box__bio {
    font-size: var(--sunya-font-size-base);
    line-height: 1.65;
    color: var(--sunya-color-text);
    margin: 0 0 var(--sunya-spacing-md);
}

.sunya-author-box__posts-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: var(--sunya-font-size-sm);
    font-weight: var(--sunya-font-weight-medium);
    color: var(--sunya-color-accent);
    text-decoration: none;
    transition: gap var(--sunya-transition-fast), color var(--sunya-transition-fast);
}

.sunya-author-box__posts-link:hover,
.sunya-author-box__posts-link:focus-visible {
    gap: 0.6rem;
    color: var(--sunya-color-accent-hover, var(--sunya-color-accent));
}

@media screen and (max-width: 480px) {
    .sunya-author-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: var(--sunya-spacing-md);
    }
    .sunya-author-box__posts-link {
        justify-content: center;
    }
}


/* ==========================================================================
   RELATED POSTS
   ========================================================================== */

.sunya-related-posts {
    margin-top: var(--sunya-spacing-2xl);
    padding-top: var(--sunya-spacing-2xl);
    border-top: 1px solid var(--sunya-color-border);
    margin-bottom: var(--sunya-spacing-2xl);
}

.sunya-related-posts__title {
    font-size: var(--sunya-font-size-xl);
    margin-bottom: var(--sunya-spacing-xl);
    margin-top: 0;
}

/* Griglia 3 colonne (default) */
.sunya-related-posts__grid {
    display: grid;
    gap: var(--sunya-spacing-xl) var(--sunya-spacing-lg);
}

.sunya-related-posts__grid--cols-1 { grid-template-columns: 1fr; }
.sunya-related-posts__grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.sunya-related-posts__grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.sunya-related-posts__grid--cols-4 { grid-template-columns: repeat(4, 1fr); }

.sunya-related-posts__item {
    display: flex;
    flex-direction: column;
    gap: var(--sunya-spacing-md);
}

.sunya-related-posts__thumb {
    display: block;
    border-radius: var(--sunya-radius-md);
    overflow: hidden;
    aspect-ratio: 3/2;
}

.sunya-related-posts__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--sunya-transition-slow);
}

.sunya-related-posts__item:hover .sunya-related-posts__thumb img {
    transform: scale(1.04);
}

.sunya-related-posts__content {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.sunya-related-posts__category {
    font-size: var(--sunya-font-size-xs, 12px);
    font-weight: var(--sunya-font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--sunya-color-accent);
    text-decoration: none;
}

.sunya-related-posts__category:hover {
    color: var(--sunya-color-accent-hover, var(--sunya-color-accent));
}

.sunya-related-posts__post-title {
    font-size: var(--sunya-font-size-base);
    line-height: 1.4;
    margin: 0;
}

.sunya-related-posts__post-title a {
    color: var(--sunya-color-primary);
    text-decoration: none;
    transition: color var(--sunya-transition-fast);
}

.sunya-related-posts__post-title a:hover,
.sunya-related-posts__post-title a:focus-visible {
    color: var(--sunya-color-accent);
}

.sunya-related-posts__date {
    font-size: var(--sunya-font-size-sm);
    color: var(--sunya-color-text-light);
}

@media screen and (max-width: 768px) {
    .sunya-related-posts__grid--cols-3,
    .sunya-related-posts__grid--cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 480px) {
    .sunya-related-posts__grid--cols-2,
    .sunya-related-posts__grid--cols-3,
    .sunya-related-posts__grid--cols-4 {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   WIDGET ARTICOLI RECENTI CUSTOM (sunya-widget-recent-posts)
   ========================================================================== */

.sunya-recent-posts {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--sunya-spacing-md);
}

.sunya-recent-posts__item {
    display: flex;
    gap: var(--sunya-spacing-sm);
    align-items: flex-start;
    padding-bottom: var(--sunya-spacing-md);
    border-bottom: 1px solid var(--sunya-color-border);
}

.sunya-recent-posts__item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.sunya-recent-posts__item--no-thumb {
    flex-direction: column;
}

.sunya-recent-posts__thumb {
    display: block;
    flex-shrink: 0;
    width: 72px;
    height: 54px;
    border-radius: var(--sunya-radius-sm);
    overflow: hidden;
}

.sunya-recent-posts__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--sunya-transition-slow);
}

.sunya-recent-posts__item:hover .sunya-recent-posts__img {
    transform: scale(1.06);
}

.sunya-recent-posts__content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.sunya-recent-posts__category {
    font-size: 11px;
    font-weight: var(--sunya-font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--sunya-color-accent);
    text-decoration: none;
    line-height: 1;
}

.sunya-recent-posts__category:hover {
    color: var(--sunya-color-accent-hover, var(--sunya-color-accent));
}

.sunya-recent-posts__title {
    font-size: var(--sunya-font-size-sm);
    font-weight: var(--sunya-font-weight-medium);
    line-height: 1.4;
    margin: 0;
    color: var(--sunya-color-primary);
}

.sunya-recent-posts__title a {
    color: inherit;
    text-decoration: none;
    transition: color var(--sunya-transition-fast);
}

.sunya-recent-posts__title a:hover,
.sunya-recent-posts__title a:focus-visible {
    color: var(--sunya-color-accent);
}

.sunya-recent-posts__date {
    font-size: 11px;
    color: var(--sunya-color-text-light);
    line-height: 1;
}

.sunya-recent-posts__excerpt {
    font-size: var(--sunya-font-size-sm);
    color: var(--sunya-color-text-light);
    line-height: 1.5;
    margin: 0.2rem 0 0;
}


/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media screen and (max-width: 1024px) {

    /* Blog home / archivio: sidebar sotto il contenuto su tablet */
    .sunya-blog-home__layout--has-sidebar {
        grid-template-columns: 1fr;
        grid-template-areas:
            'content'
            'sidebar';
    }

    .sunya-blog-home__sidebar {
        position: static;
    }
}

@media screen and (max-width: 768px) {

    .sunya-post__header {
        padding-top: var(--sunya-spacing-lg);
        padding-bottom: var(--sunya-spacing-lg);
    }

    .sunya-post__featured-image {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: var(--sunya-spacing-xl);
    }

    .sunya-post__featured-image img {
        border-radius: 0;
        max-height: 320px;
    }

    .sunya-post__content {
        padding-bottom: var(--sunya-spacing-xl);
    }

    .sunya-post__content p,
    .sunya-post__content li {
        font-size: var(--sunya-font-size-base);
    }

    .sunya-post-nav .nav-links {
        flex-direction: column;
        gap: var(--sunya-spacing-lg);
    }

    .sunya-post-nav .nav-previous,
    .sunya-post-nav .nav-next {
        max-width: 100%;
    }

    .sunya-post-nav .nav-next {
        text-align: left;
    }

    .sunya-posts {
        grid-template-columns: 1fr;
        gap: var(--sunya-spacing-xl);
    }
}

@media screen and (max-width: 480px) {

    .sunya-post__title {
        font-size: var(--sunya-font-size-2xl);
    }
}

