/**
 * Tidi Latest Posts Polylang Block — Frontend Stylesheet
 *
 * File: assets/css/style.css
 *
 * Layouts: grid | list | fullwidth | numbered | numbered-grid | numbered-boxed | grid2plus4 | hgrid421 | fashionhgrid421 | fashionlist | fashionhgrid31 | fashiongrid3col | fashionwideposts | grid1plus3 | fashiongrid1plus3 | grid1plus4plus1 | gridfullplus2cols | grid1plus2plus2repeat | grid1plus2plus2repeatslider
 */

/* =========================================================================
   Custom Properties
   ========================================================================= */
.tidi-lpp {
    --tidi-gap:          40px;
    --tidi-radius:       3px;
    --tidi-shadow:       0 2px 12px rgba(0, 0, 0, 0.08);

    --very-small-spacing: 5px;
    --small-spacing: 10px;
    --std-spacing: 15px;
    --double-spacing: 30px;
    --triple-spacing: 60px;
    --large-spacing: 80px;

    --tidi-accent:       #2563eb;
    --tidi-text:         #111;
    --tidi-meta:         #aaa;
    --tidi-main-color:   #dd3643;
    --tidi-cat:          #e6c55d;
    --tidi-bg:           #ffffff;
    --tidi-border:       #e2e8f0;
    --tidi-trans:        0.22s ease;
}

/* =========================================================================
   Base Item
   ========================================================================= */
.tidi-lpp__item {
    background:    var(--tidi-bg);
    overflow:      hidden;
    display:       flex;
    flex-direction: column;
}

/* Thumbnail */
.tidi-lpp__thumb-link {
    display:      block;
    overflow:     hidden;
    position:     relative;
    aspect-ratio: var(--tidi-img-ratio, 4 / 3);
    width:        100%;
    border-radius: var(--tidi-radius);
}

.tidi-lpp__thumb-link::after {
    content: none;
}

.tidi-lpp__thumb {
    position:   absolute;
    inset:      0;
    width:      100%;
    height:     100% !important;
    object-fit: cover;
    display:    block;
    transition: transform 0.4s ease;
}

/* Body */
.tidi-lpp__body {
    flex:    1;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* Category badge */
.tidi-lpp__cat .lpp__cat_single {
    display: inline-block;
}

.tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child):after {
    content: " | ";
    color: #aaa;
}

.tidi-lpp__cat,
.tidi-lpp__secondary-cat {
    display:     flex;
    align-items: baseline;
    flex-wrap:   wrap;
    gap:         2px;
}

.tidi-lpp__cat::before,
.tidi-lpp__secondary-cat::before {
    content:      'for';
    font-size:    12px;
    font-weight:  400;
    color:        #111;
    margin-right: 4px;
}

.tidi-lpp__cat_single a {
    font-size: 12px;
    font-weight: normal;
    color: var(--tidi-meta);
    text-decoration: none;
}

.tidi-lpp__cat_single a:hover {
}

/* Base generica: data + blocco autore, quest'ultimo a capo sotto la data
   (le varianti per layout, più specifiche, continuano a vincere dove già presenti) */
.tidi-lpp__meta {
    display:     flex;
    align-items: center;
    gap:         10px;
    flex-wrap:   wrap;
}

/* Title */
.tidi-lpp__title {
    margin:      0 0 8px 0;
    font-size:   1.15rem;
    line-height: 1.35;
}

#sidebar .tidi-lpp__title {
    font-size:   14px;
    margin: 0;
}

.tidi-lpp__title a {
    margin: 0;
    font-size: inherit;
    color: #111;
}


.tidi-lpp__excerpt{
    color: #555;
    line-height: 170%;
    font-size: 13px;
}

/* Continua a leggere */
.tidi-lpp__readmore {
    margin: 6px 0 0;
}

.tidi-lpp__readmore-link {
    display:       inline-flex;
    align-items:   center;
    gap:           5px;
    font-size:     13px;
    font-weight:   600;
    color:         var(--tidi-text) !important;
    text-decoration: none;
    transition: .3s color ease-in-out;
}

.tidi-lpp__readmore-link:hover {
    color: var(--tidi-main-color) !important;
}


/* Meta */
.tidi-lpp__meta,
.tidi-lpp__secondary-date {
    margin-top:  0;
    font-size:   10px;
    letter-spacing: 1px;
    color:       var(--tidi-meta);
    display:     flex;
    gap:         0.75rem;
    align-items: center;
    text-decoration: none; /* riusata anche per il link autore accanto alla data */
}

/* Solo la data va in maiuscolo, non l'intero blocco meta (che include
   anche il link/nome autore) */
.tidi-lpp__date,
time.tidi-lpp__secondary-date {
    text-transform: uppercase;
}


.tidi-lpp__author-label {
    font-size:  10px;
    color:      var(--tidi-meta);
}
.tidi-lpp__author-name {
    font-size:   12px;
    font-weight: 500;
    color:       #111;    
    line-height: 1.4;
}

/* Empty */
.tidi-lpp__empty {
    padding: 2rem;
    text-align: center;
    color: var(--tidi-meta);
    font-style: italic;
}

/* =========================================================================
   Layout: GRID (default)
   ========================================================================= */
.tidi-lpp--grid {
    display:               grid;
    grid-template-columns: repeat( auto-fill, minmax(min(100%, 280px), 1fr) );
    gap:                   var(--tidi-gap);
}

/* =========================================================================
   Layout: LIST
   ========================================================================= */
.tidi-lpp--list {
    display:        flex;
    flex-direction: column;
    gap:            var(--tidi-gap);
}

.tidi-lpp--list .tidi-lpp__item {
    flex-direction: row;
    align-items:    stretch;
}

#sidebar .tidi-lpp--list .tidi-lpp__item {
    align-items:    center;
}

.tidi-lpp--list .tidi-lpp__body {
    padding: 0 0 0 15px;
    gap: 0;
    line-height: 110%;
}

.tidi-lpp--list .tidi-lpp__thumb-link {
    flex:         0 0 80px;
    width:        80px;
    aspect-ratio: var(--tidi-img-ratio, 1 / 1);
    align-self:   flex-start;
}

.tidi-lpp--list .tidi-lpp__thumb-link::after {
    content: none;
}

.tidi-lpp--list .tidi-lpp__thumb {
    max-height: none;
}

.tidi-lpp--list .tidi-lpp__title {
}

/* =========================================================================
   Layout: FULL WIDTH
   ========================================================================= */
.tidi-lpp--fullwidth .tidi-lpp__body {
    padding: 5px 0 0 0;
    text-align: left;
}

.tidi-lpp--fullwidth .tidi-lpp__item {
    text-align: center;
    margin-bottom: 20px;
}

.tidi-lpp--fullwidth .tidi-lpp__item span {
    line-height: normal;
}

.tidi-lpp--fullwidth .tidi-lpp__title{
    margin-bottom: 15px;
}

.tidi-lpp--fullwidth .tidi-lpp__title a{
    font-size: 36px;
}

.tidi-lpp--fullwidth .tidi-lpp__excerpt{
    font-size: 14px;
}

.tidi-lpp--fullwidth .tidi-lpp__item .tidi-lpp__meta {
    margin: 20px 0 0 0;
}


#sidebar .tidi-lpp--fullwidth .tidi-lpp__item {
    margin-bottom: 30px;
}

#sidebar .tidi-lpp--fullwidth .tidi-lpp__item .tidi-lpp__meta {
    margin: 10px 0 0 0;
    line-height: 100%;
}

#sidebar .tidi-lpp--fullwidth .tidi-lpp__title{
    text-align: center;
    margin-top: 5px;
}

#sidebar .tidi-lpp--fullwidth .tidi-lpp__title a{
    font-size: 14px;
}


/* =========================================================================
   Layout: NUMBERED LIST
   ========================================================================= */

.tidi-lpp--numbered {
    display:        flex;
    flex-direction: column;
}

/* Each article is a block, separated by a top border (skip first) */
.tidi-lpp--numbered .tidi-lpp__item {
    flex-direction: column;
    padding: 14px 0;
    border-top: 1px solid var(--tidi-border);
    gap: 0;
    overflow: visible;
    counter-increment: tidi-numbered;
}

.tidi-lpp--numbered .tidi-lpp__item:first-child {
    border-top: none;
    padding-top: 0;
}

.tidi-lpp--numbered .tidi-lpp__item:last-child {
    padding-bottom: 0;
}

/* ── Row 1: title (left) + number (right) ── */
.tidi-lpp--numbered .tidi-lpp__header {
    display:         flex;
    align-items:     flex-start;
    justify-content: space-between;
    gap:             12px;
    margin-bottom:   8px;
}

.tidi-lpp--numbered .tidi-lpp__title {
    flex: 1;
    font-size: 14px;
}

.tidi-lpp--numbered .tidi-lpp__title a {
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
}

/* Large ordinal number */
.tidi-lpp--numbered .tidi-lpp__item .tidi-lpp__num {
    flex-shrink:  0;
    font-size:    2rem;
    font-weight:  700;
    line-height:  1;
    color:        var(--tidi-main-color);
    /* right-align the 2-digit numbers so they stay stable */
    min-width:    2.2ch;
    text-align:   right;
    /* Slightly nudge down to optically align with title cap-height */
    margin-top:   -2px;
    opacity: .1;
    transition: opacity .3s ease-in-out;
}

.tidi-lpp--numbered .tidi-lpp__item:hover .tidi-lpp__num{
    opacity: 1;
}

/* ── Row 2: thumbnail (left) + excerpt/meta (right) ── */
.tidi-lpp--numbered .tidi-lpp__content-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.tidi-lpp--numbered .tidi-lpp__thumb-link {
    flex:         0 0 68px;
    width:        68px;
    aspect-ratio: var(--tidi-img-ratio, 1 / 1);
    align-self:   flex-start;
    border-radius: var(--tidi-radius);
}

.tidi-lpp--numbered .tidi-lpp__thumb {
    border-radius: var(--tidi-radius);
}

/* Right column inside row 2 */
.tidi-lpp--numbered .tidi-lpp__body {
    flex:    1;
    padding: 0;
    gap:     4px;
}

/* Hide the title inside body — it lives in the header row */
.tidi-lpp--numbered .tidi-lpp__body .tidi-lpp__title {
    display: none;
}

/* Category */
.tidi-lpp--numbered .tidi-lpp__cat a {
}

/* Excerpt */
.tidi-lpp--numbered .tidi-lpp__excerpt {
    margin:      0;
    /* clamp to 3 lines */
    display:            -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}

/* Meta */
.tidi-lpp--numbered .tidi-lpp__meta {
}

/* When there is NO thumbnail, let the body span full width */
.tidi-lpp--numbered .tidi-lpp__content-row--no-thumb .tidi-lpp__body {
    width: 100%;
}

/* =========================================================================
   Layout: NUMBERED GRID
   —
   Outer wrapper : 3-cards-per-row grid (each card = one post).
   Inner card    : CSS grid with 3 columns → [number | text | thumbnail]
   ========================================================================= */

/* Outer grid: 3 cards per row */
.tidi-lpp--numbered-grid {
    display:               grid;
    grid-template-columns: repeat( 3, 1fr );
    gap:                   0;
}

/* Card — each post uses an inner 3-column CSS grid */
.tidi-lpp--numbered-grid .tidi-lpp__item {
    display:               grid;
    grid-template-columns: 26px 1fr 76px;   /* num | text | thumb */
    grid-template-rows:    1fr;
    align-items:           start;
    column-gap:            10px;
    padding:               20px 20px 20px 0;
    border-top:            1px solid var(--tidi-border);
    overflow:              visible;
    background:            transparent;
    /* reset flex from base rule */
    flex-direction:        unset;
}

/* No-thumbnail variant: only 2 columns */
.tidi-lpp--numbered-grid .tidi-lpp__item--no-thumb {
    grid-template-columns: 26px 1fr;
}

/* First row of cards: no top border, no top padding */
.tidi-lpp--numbered-grid .tidi-lpp__item:nth-child(-n+3) {
    border-top:  none;
    padding-top: 0;
}

/* Right divider except last card in each row */
.tidi-lpp--numbered-grid .tidi-lpp__item:not(:nth-child(3n)) {
    padding-right: 20px;
    border-right:  1px solid var(--tidi-border);
}

/* Left padding for 2nd and 3rd card in each row */
.tidi-lpp--numbered-grid .tidi-lpp__item:nth-child(3n+2),
.tidi-lpp--numbered-grid .tidi-lpp__item:nth-child(3n) {
    padding-left: 20px;
}

/* ── Column 1: ordinal number ── */
.tidi-lpp--numbered-grid .tidi-lpp__item .tidi-lpp__num {
    grid-column:  1;
    grid-row:     1;
    font-size:    0.7rem;
    font-weight:  700;
    line-height:  1.8;     /* align with title cap-height */
    color:        var(--tidi-main-color);
    opacity: .3;
    transition: opacity .3s ease-in-out;
}

.tidi-lpp--numbered-grid .tidi-lpp__item:hover .tidi-lpp__num {
    opacity: 1;
}

/* ── Column 2: text block ── */
.tidi-lpp--numbered-grid .tidi-lpp__body {
    grid-column:    2;
    grid-row:       1;
    display:        flex;
    flex-direction: column;
    gap:            6px;
    padding:        0;
    min-width:      0;     /* prevent overflow */
    align-self:     start;
}

/* ── Column 3: thumbnail ── */
.tidi-lpp--numbered-grid .tidi-lpp__thumb-link {
    grid-column:  3;
    grid-row:     1;
    display:      block;
    width:        76px;
    aspect-ratio: var(--tidi-img-ratio, 1 / 1);
    align-self:   start;
    border-radius: var(--tidi-radius);
    overflow:     hidden;
    position:     relative;
    /* override base rule that forces width:100% */
    flex:         none;
}

.tidi-lpp--numbered-grid .tidi-lpp__thumb {
    border-radius: var(--tidi-radius);
}

/* Title */
.tidi-lpp--numbered-grid .tidi-lpp__title {
    margin:      0;
}

.tidi-lpp--numbered-grid .tidi-lpp__title a {
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
    color: #111;
}

/* Excerpt */
.tidi-lpp--numbered-grid .tidi-lpp__excerpt {
    margin:             0;
    display:            -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}

/* Category row — prefixed with "for " via pseudo-element */
.tidi-lpp--numbered-grid .tidi-lpp__cat {
    display:     flex;
    align-items: baseline;
    flex-wrap:   wrap;
    gap:         1px;
}

.tidi-lpp--numbered-grid .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content:      ',';
    color:        var(--tidi-meta);
    margin-right: 2px;
}

/* Meta (date / views) */
.tidi-lpp--numbered-grid .tidi-lpp__meta {
}


/* =========================================================================
   Layout: FULL WIDTH NUMBERED LIST BOXED  (numbered-boxed)
   Single-column stack of full-width "boxed" cards: the featured image
   fills the whole card with a bottom gradient overlay for legibility.
   Number badge top-left | categories top-right |
   title + excerpt + meta pinned to the bottom.
   ========================================================================= */
.tidi-lpp--numbered-boxed {
    display:        flex;
    flex-direction: column;
    gap:            var(--tidi-gap);
}

.tidi-lpp--numbered-boxed .tidi-lpp__item--boxed {
    position:      relative;
    overflow:      hidden;
    aspect-ratio: var(--tidi-img-ratio, 3 / 2);
    border-radius: var(--tidi-radius);
    background:    #0f172a;
}

/* Background image — fills the entire card */
.tidi-lpp--numbered-boxed .tidi-lpp__boxed-media {
    position: absolute;
    inset:    0;
    display:  block;
}

.tidi-lpp--numbered-boxed .tidi-lpp__boxed-media .tidi-lpp__thumb {
    transition: transform 0.5s ease;
}

.tidi-lpp--numbered-boxed .tidi-lpp__item--boxed:hover .tidi-lpp__thumb {
    transform: scale(1.04);
}

/* Bottom gradient — keeps the text readable over any image */
.tidi-lpp--numbered-boxed .tidi-lpp__boxed-overlay {
    position:       absolute;
    inset:          0;
    background:     linear-gradient( to bottom, rgba(0,0,0,0) 45%, rgba(0,0,0,0.78) 100% );
    pointer-events: none;
}

/* Number badge — top-left */
.tidi-lpp--numbered-boxed .tidi-lpp__boxed-num {
    position:      absolute;
    top:           18px;
    left:          18px;
    z-index:       2;
    display:       inline-flex;
    align-items:   center;
    justify-content: center;
    min-width:     30px;
    height:        30px;
    padding:       0 8px;
    background:    rgba(15, 23, 42, 0.78);
    color:         #fff;
    font-size:     0.8rem;
    font-weight:   600;
    letter-spacing: 0.5px;
    border-radius: var(--tidi-radius);
}

/* Categories — top-right */
.tidi-lpp--numbered-boxed .tidi-lpp__boxed-cat {
    position: absolute;
    top:      18px;
    right:    18px;
    z-index:  2;
    display:  flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap:      4px;
    max-width: 70%;
    line-height: 110%;
}

.tidi-lpp--numbered-boxed .tidi-lpp__boxed-cat::before {
    content: none;
}

.tidi-lpp--numbered-boxed .tidi-lpp__boxed-cat .tidi-lpp__cat_single:not(:last-child)::after {
    /* content:      ','; */
    content:      '';
    color:        rgba(255, 255, 255, 0.7);
}

.tidi-lpp--numbered-boxed .tidi-lpp__boxed-cat a {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #fff;
    text-transform: uppercase;
    display: inline-block;

    margin-bottom: 2px;
    border-radius: 100px;
    padding: 0px 12px;

    background: rgba(0,0,0,1);
    background-image: none !important; /* badge pieno: niente sottolineatura animata ereditata dallo stile base */
    padding: 2px 12px;
    transition: background 0.3s;
}

/* Text block — pinned to the bottom */
.tidi-lpp--numbered-boxed .tidi-lpp__boxed-body {
    position:       absolute;
    left:           0;
    right:          0;
    bottom:         0;
    z-index:        2;
    padding:        24px 28px;
    display:        flex;
    flex-direction: column;
    gap:            6px;
}

.tidi-lpp--numbered-boxed .tidi-lpp__title {
    margin:    0;
    font-size: 1.3rem;
    line-height: 1.3;
}

.tidi-lpp--numbered-boxed .tidi-lpp__title a {
    font-size:   inherit;
    font-weight: 600;
    line-height: inherit;
    color: #fff;
}

.tidi-lpp--numbered-boxed .tidi-lpp__excerpt {
    margin:             0;
    color:              rgba(255, 255, 255, 0.85);
    font-size:          13px;
    display:            -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}

.tidi-lpp--numbered-boxed .tidi-lpp__meta {
    color: rgba(255, 255, 255, 0.7);
}

.tidi-lpp__boxed-author-link {
    color: inherit;
    text-decoration: none;
}

/* From tablet width up, flatten the ratio a bit so a long list of cards
   doesn't grow excessively tall on wide content columns. */
@media ( min-width: 641px ) {
    .tidi-lpp--numbered-boxed .tidi-lpp__item--boxed {
        aspect-ratio: var(--tidi-img-ratio, 16 / 7);
    }
}


/* =========================================================================
   Layout: GRID 2+4
   —
   Row 1: 2 cards side-by-side.
     Card structure: [large image LEFT] | [cat + title + excerpt + author RIGHT]
   Row 2: 4 cards side-by-side.
     Card structure: vertical — cat on top, then title (left) + small image (right), excerpt below, author at bottom
   ========================================================================= */

/* Outer wrapper: single-column flex, split into two sub-rows */
.tidi-lpp--grid2plus4 {
    display:        flex;
    flex-direction: column;
    gap:            var(--tidi-gap);
}

/* Sub-row containers */
.tidi-lpp--grid2plus4 .tidi-lpp__row-top {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--tidi-gap);
}

.tidi-lpp--grid2plus4 .tidi-lpp__row-bottom {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--tidi-gap);
    border-top: 1px solid var(--tidi-border);
    padding-top: var(--tidi-gap);
}

/* ── TOP ROW cards: image left, text right ── */
.tidi-lpp--grid2plus4 .tidi-lpp__item--top {
    display:        flex;
    flex-direction: row;
    align-items:    stretch;
    gap:            20px;
    background:     var(--tidi-bg);
}

/* Large image on the left */
.tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__thumb-link {
    flex:         0 0 42%;
    width:        42%;
    aspect-ratio: var(--tidi-img-ratio, 4 / 3);
    align-self:   stretch;
    display:      block;
    overflow:     hidden;
    position:     relative;
    border-radius: var(--tidi-radius);
}

/* Text column */
.tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__body {
    flex:           1;
    display:        flex;
    flex-direction: column;
    gap:            8px;
    padding:        0;
    justify-content: flex-start;
}

/* Category */
.tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__cat::before {
}

.tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content: ',';
    margin-right: 3px;
}

/* Title */
.tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__title {
}

.tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__title a {
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
    color: #111;
}

/* Excerpt */
.tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__excerpt {
    margin:             0;
    display:            -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}

/* Author (meta) */
.tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__author {
    margin-top: auto;
}

.tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__author-label {
    font-size:  10px;
    color:      var(--tidi-meta);
    text-transform: none;
}


/* Meta date (hidden in top row — replaced by author block) */
.tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__meta {
    display: none;
}

/* ── BOTTOM ROW cards: cat top, then title+thumb side-by-side, excerpt, author ── */
.tidi-lpp--grid2plus4 .tidi-lpp__item--bottom {
    display:        flex;
    flex-direction: column;
    gap:            8px;
    background:     var(--tidi-bg);
}

/* Category */
.tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__cat {
}

.tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__cat::before {
}

.tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content: ',';
    margin-right: 3px;
}

/* Title+image row: title on the left, small thumb on the right */
.tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__title-row {
    display:     flex;
    align-items: flex-start;
    gap:         12px;
}

.tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__title {
    flex:        1;
    min-width:   0;
}

.tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__title a {
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
    color: #111;
}

/* Small square thumb on the right of title */
.tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__thumb-link {
    flex:         0 0 80px;
    width:        80px;
    aspect-ratio: var(--tidi-img-ratio, 1 / 1);
    align-self:   flex-start;
    border-radius: var(--tidi-radius);
    overflow:     hidden;
    position:     relative;
    display:      block;
}

.tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__thumb {
    border-radius: var(--tidi-radius);
}

/* Excerpt */
.tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__excerpt {
    margin:             0;
    display:            -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}

/* Author block */
.tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__author {
    margin-top: auto;
}


/* Meta date (hidden in bottom row — replaced by author block) */
.tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__meta {
    display: none;
}

/* =========================================================================
   Layout: GRID 1 FULL + 2 COLUMNS  (gridfullplus2cols)
   First post: full-width hero — image top, then cat + title + excerpt + meta.
   Remaining posts: 2-column grid, same data sequence at a smaller scale.
   Responsive: 2 columns collapse to 1 on mobile (see media query below).
   ========================================================================= */
.tidi-lpp--gridfullplus2cols {
    display:        flex;
    flex-direction: column;
    gap:            var(--tidi-gap);
}

/* ── HERO item ── */
.tidi-lpp--gridfullplus2cols .tidi-lpp__item--hero {
    display:        flex;
    flex-direction: column;
}

.tidi-lpp--gridfullplus2cols .tidi-lpp__item--hero .tidi-lpp__thumb-link {
    aspect-ratio: var(--tidi-img-ratio, 16 / 7);
    border-radius: var(--tidi-radius);
}

.tidi-lpp--gridfullplus2cols .tidi-lpp__item--hero .tidi-lpp__body {
    padding-top: 24px;
    gap:         10px;
    max-width:   760px;
}

.tidi-lpp--gridfullplus2cols .tidi-lpp__item--hero .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content:      ',';
    margin-right: 3px;
}

.tidi-lpp--gridfullplus2cols .tidi-lpp__item--hero .tidi-lpp__title {
    margin:    0;
    font-size: 1.9rem;
}

.tidi-lpp--gridfullplus2cols .tidi-lpp__item--hero .tidi-lpp__title a {
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
    color: #111;
}

.tidi-lpp--gridfullplus2cols .tidi-lpp__item--hero .tidi-lpp__excerpt {
    margin:    0;
    font-size: 15px;
}

/* ── 2-COLUMN GRID: remaining posts ── */
.tidi-lpp--gridfullplus2cols .tidi-lpp__g2col-grid {
    display:               grid;
    grid-template-columns: repeat( 2, 1fr );
    gap:                   var(--tidi-gap);
    border-top:            1px solid var(--tidi-border);
    padding-top:           var(--tidi-gap);
}

.tidi-lpp--gridfullplus2cols .tidi-lpp__item--col {
    display:        flex;
    flex-direction: column;
    gap:            8px;
    background:     var(--tidi-bg);
}

.tidi-lpp--gridfullplus2cols .tidi-lpp__item--col .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content:      ',';
    margin-right: 3px;
}

.tidi-lpp--gridfullplus2cols .tidi-lpp__item--col .tidi-lpp__title a {
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
    color: #111;
}

.tidi-lpp--gridfullplus2cols .tidi-lpp__item--col .tidi-lpp__excerpt {
    margin:             0;
    display:            -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}

/* =========================================================================
   Layout: GRID 1 + 2 + 2 REPEAT COLUMNS  (grid1plus2plus2repeat)
   Ripete a ciclo il pattern di "gridfullplus2cols": 1 hero a piena
   larghezza seguito da 2 righe da 2 colonne (4 post), poi di nuovo hero,
   e cosi' via. Riusa le stesse classi hero/col/grid; qui definiamo solo
   il wrapper di gruppo e il distacco visivo tra un gruppo e il successivo.
   ========================================================================= */
.tidi-lpp--grid1plus2plus2repeat {
    display:        flex;
    flex-direction: column;
    gap:            var(--tidi-gap);
}

.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__repeat-group {
    display:        flex;
    flex-direction: column;
    gap:            var(--tidi-gap);
}

.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__repeat-group:not(:first-child) {
    border-top:  1px solid var(--tidi-border);
    padding-top: var(--tidi-gap);
}

.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--hero .tidi-lpp__thumb-link {
    aspect-ratio: var(--tidi-img-ratio, 16 / 7);
    border-radius: var(--tidi-radius);
}

.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--hero .tidi-lpp__body {
    padding-top: 24px;
    gap:         10px;
    max-width:   760px;
}

.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--hero .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after,
.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--col .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content:      ',';
    margin-right: 3px;
}

.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--hero .tidi-lpp__title {
    margin:    0;
    font-size: 1.9rem;
}

.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--hero .tidi-lpp__title a,
.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--col .tidi-lpp__title a {
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
    color: #111;
}

.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--hero .tidi-lpp__excerpt {
    margin:    0;
    font-size: 15px;
}

.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__g2col-grid {
    display:               grid;
    grid-template-columns: repeat( 2, 1fr );
    gap:                   var(--tidi-gap);
    border-top:            1px solid var(--tidi-border);
    padding-top:           var(--tidi-gap);
}

.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--col {
    display:        flex;
    flex-direction: column;
    gap:            8px;
    background:     var(--tidi-bg);
}

.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--col .tidi-lpp__excerpt {
    margin:             0;
    display:            -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}

/* =========================================================================
   Layout: GRID 1 + 2 + 2 REPEAT WITH SLIDER  (grid1plus2plus2repeatslider)
   Identico a "grid1plus2plus2repeat" (stessa struttura a gruppi e stessa
   griglia 2+2), ma l'immagine dell'hero e' sostituita da uno slider con
   l'immagine in evidenza + le immagini presenti nel contenuto del post.
   ========================================================================= */
.tidi-lpp--grid1plus2plus2repeatslider {
    display:        flex;
    flex-direction: column;
    gap:            var(--tidi-gap);
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__repeat-group {
    display:        flex;
    flex-direction: column;
    gap:            var(--tidi-gap);
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__repeat-group:not(:first-child) {
    border-top:  1px solid var(--tidi-border);
    padding-top: var(--tidi-gap);
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--hero .tidi-lpp__body {
    padding-top: 24px;
    gap:         10px;
    max-width:   760px;
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--hero .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after,
.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--col .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content:      ',';
    margin-right: 3px;
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--hero .tidi-lpp__title {
    margin:    0;
    font-size: 1.9rem;
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--hero .tidi-lpp__title a,
.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--col .tidi-lpp__title a {
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
    color: #111;
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--hero .tidi-lpp__excerpt {
    margin:    0;
    font-size: 15px;
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__g2col-grid {
    display:               grid;
    grid-template-columns: repeat( 2, 1fr );
    gap:                   var(--tidi-gap);
    border-top:            1px solid var(--tidi-border);
    padding-top:           var(--tidi-gap);
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--col {
    display:        flex;
    flex-direction: column;
    gap:            8px;
    background:     var(--tidi-bg);
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--col .tidi-lpp__excerpt {
    margin:             0;
    display:            -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}

/* ---- Image slider: immagine in evidenza + immagini del contenuto.
   Usato sia sull'hero che sui post della griglia 2+2 di questo layout. ---- */

.tidi-lpp__img-slider {
    position:      relative;
    overflow:      hidden;
    width:         100%;
    border-radius: var(--tidi-radius);
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--hero .tidi-lpp__img-slider {
    aspect-ratio: var(--tidi-img-ratio, 16 / 7);
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--col .tidi-lpp__img-slider {
    aspect-ratio: var(--tidi-img-ratio, 4 / 3);
}

.tidi-lpp__img-slider-track {
    display:    flex;
    height:     100%;
    transition: transform 0.4s ease;
}

.tidi-lpp__img-slider-slide {
    position: relative;
    flex:     0 0 100%;
    width:    100%;
    height:   100%;
}

/* Le immagini riusano .tidi-lpp__thumb (position:absolute inset:0,
   object-fit:cover) per restare coerenti con lo stile del resto del modulo */
.tidi-lpp__img-slider-slide .tidi-lpp__thumb {
    transition: none;
}

.tidi-lpp__img-slider-linkwrap {
    position: absolute;
    inset:    0;
    z-index:  1;
}

/* Badge "galleria": visibile di default al centro dell'immagine,
   sparisce con un fade sull'hover del mouse (le frecce fanno il
   percorso inverso: appaiono sull'hover). */
.tidi-lpp__img-slider-badge {
    position:        absolute;
    top:             50%;
    left:            50%;
    z-index:         2;
    width:           40px;
    height:          40px;
    display:         flex;
    align-items:     center;
    justify-content: center;
    border-radius:   50%;
    background:      rgba(0, 0, 0, 0.35);
    color:           #fff;
    transform:       translate(-50%, -50%);
    opacity:         1;
    transition:      opacity 0.25s ease;
    backdrop-filter: blur(2px);
    pointer-events:  none;
}

.tidi-lpp__img-slider:hover .tidi-lpp__img-slider-badge {
    opacity: 0;
}

.tidi-lpp__img-slider-arrow {
    position:       absolute;
    top:            50%;
    z-index:        2;
    width:          44px;
    height:         44px;
    display:        flex;
    align-items:    center;
    justify-content: center;
    border:         none;
    border-radius:  50%;
    background:     rgba(0, 0, 0, 0.35);
    color:          #fff;
    cursor:         pointer;
    opacity:        0;
    visibility:     hidden;
    transform:      translateY(-50%);
    transition:     opacity 0.2s ease, background 0.2s ease;
    backdrop-filter: blur(2px);
}

.tidi-lpp__img-slider:hover .tidi-lpp__img-slider-arrow {
    opacity:    1;
    visibility: visible;
}

.tidi-lpp__img-slider-arrow:hover {
    background: rgba(0, 0, 0, 0.6);
}

.tidi-lpp__img-slider-arrow--prev { left:  16px; }
.tidi-lpp__img-slider-arrow--next { right: 16px; }

/* Card piu' piccole (griglia 2+2): badge e frecce ridimensionati */
.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--col .tidi-lpp__img-slider-badge,
.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--col .tidi-lpp__img-slider-arrow {
    width:  32px;
    height: 32px;
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--col .tidi-lpp__img-slider-badge svg,
.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--col .tidi-lpp__img-slider-arrow svg {
    width:  15px;
    height: 15px;
}

.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--col .tidi-lpp__img-slider-arrow--prev { left:  10px; }
.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--col .tidi-lpp__img-slider-arrow--next { right: 10px; }

/* Senza piu' di una slide non ci sono frecce/badge (le rimuoviamo comunque
   dal markup lato PHP; questa regola e' solo una difesa aggiuntiva) */
.tidi-lpp__img-slider:not(.has-multiple) .tidi-lpp__img-slider-arrow,
.tidi-lpp__img-slider:not(.has-multiple) .tidi-lpp__img-slider-badge {
    display: none;
}

/* Su dispositivi touch (niente hover del mouse) le frecce restano sempre
   visibili, altrimenti l'utente non avrebbe modo di scoprirle. Il badge
   invece resta comunque visibile di default (nessun hover che lo nasconda). */
@media ( hover: none ) {
    .tidi-lpp__img-slider.has-multiple .tidi-lpp__img-slider-arrow {
        opacity:    1;
        visibility: visible;
    }
}

/* =========================================================================
   Layout: HORIZONTAL GRID 4-2-1  (hgrid421)
   —
   4 cards side-by-side on desktop (≥ 960 px)
   2 cards on mid viewport (641 – 959 px)
   1 card  on mobile      (≤ 640 px)
   Max visible posts: 4 (extras are hidden via CSS).
   Each card: small square thumb LEFT | title + date + categories RIGHT
   ========================================================================= */

/* Outer grid: always 4 columns; responsive overrides below */
.tidi-lpp--hgrid421 {
    display:               grid;
    grid-template-columns: repeat( 4, 1fr );
    gap:                   var(--tidi-gap);
    align-items:           start;
}

/* Hide any post beyond the 4th */
.tidi-lpp--hgrid421 .tidi-lpp__item:nth-child(n+5) {
    display: none;
}

/* Card: horizontal — thumb LEFT, body RIGHT */
.tidi-lpp--hgrid421 .tidi-lpp__item {
    display:        flex;
    flex-direction: row;
    align-items:    flex-start;
    gap:            12px;
    background:     var(--tidi-bg);
}

/* Square thumbnail */
.tidi-lpp--hgrid421 .tidi-lpp__thumb-link {
    flex:         0 0 100px;
    width:        100px;
    aspect-ratio: var(--tidi-img-ratio, 1 / 1);
    align-self:   flex-start;
    border-radius: var(--tidi-radius);
    overflow:     hidden;
    position:     relative;
    display:      block;
}

.tidi-lpp--hgrid421 .tidi-lpp__thumb {
    border-radius: var(--tidi-radius);
}

/* Text column */
.tidi-lpp--hgrid421 .tidi-lpp__body {
    flex:           1;
    display:        flex;
    flex-direction: column;
    gap:            4px;
    padding:        0;
    min-width:      0;
}

/* Title */
.tidi-lpp--hgrid421 .tidi-lpp__title {
    margin:      0;
}

.tidi-lpp--hgrid421 .tidi-lpp__title a {
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
    color: #111;
}

/* Date (inside .tidi-lpp__meta) */
.tidi-lpp--hgrid421 .tidi-lpp__meta {
    font-size:      12px;
    color:          #555;
    text-transform: none;
    gap:            0;
    flex-direction: column;
    align-items:    flex-start;
}

.tidi-lpp--hgrid421 .tidi-lpp__date {
    font-size: 12px;
    color:     #555;
}

/* Excerpt: hidden in this layout */
.tidi-lpp--hgrid421 .tidi-lpp__excerpt {
    display: none;
}

/* Category — prefixed with "for " */
.tidi-lpp--hgrid421 .tidi-lpp__cat {
    align-items: flex-start;
}

.tidi-lpp--hgrid421 .tidi-lpp__cat::before {
    flex-shrink:  0;
}

.tidi-lpp--hgrid421 .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content:      ',';
    color:        var(--tidi-meta);
    margin-right: 2px;
}


/* =========================================================================
   AUTHOR TOOLTIP — universal (all layouts)
   The "Tooltip autore" toggle appends a hover tooltip after the author
   link in every layout. It needs its wrapper to allow overflow so the
   tooltip can escape the card. Scoped per-layout (and only when the
   toggle is on, via the "tidi-lpp--tooltip-on" wrapper class) to avoid
   touching layouts whose image relies on the card's overflow:hidden for
   clipping (e.g. "numbered-boxed", intentionally excluded here).
   ========================================================================= */
.tidi-lpp__author-block,
.tidi-lpp__author {
    position: relative;
}

.tidi-lpp--tooltip-on.tidi-lpp--hgrid421 .tidi-lpp__item,
.tidi-lpp--tooltip-on.tidi-lpp--grid2plus4 .tidi-lpp__item,
.tidi-lpp--tooltip-on.tidi-lpp--gridfullplus2cols .tidi-lpp__item,
.tidi-lpp--tooltip-on.tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item,
.tidi-lpp--tooltip-on.tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item,
.tidi-lpp--tooltip-on.tidi-lpp--numbered .tidi-lpp__item,
.tidi-lpp--tooltip-on.tidi-lpp--numbered-grid .tidi-lpp__item,
.tidi-lpp--tooltip-on.tidi-lpp--grid .tidi-lpp__item,
.tidi-lpp--tooltip-on.tidi-lpp--list .tidi-lpp__item,
.tidi-lpp--tooltip-on.tidi-lpp--fullwidth .tidi-lpp__item {
    overflow: visible;
}


/* =========================================================================
   FASHION LAYOUTS — shared rules
   Applies to all "Fashion …" layouts: author avatar + "by" + name
   (clickable, animated underline on hover), and a bullet separator
   before every category (including the first one).
   ========================================================================= */
.tidi-lpp__fashion-avatar {
    width:         var(--tidi-avatar-w, 20px);
    height:        var(--tidi-avatar-h, 20px);
    border-radius: var(--tidi-avatar-radius, 50%);
    margin-right:  5px;
    overflow:      hidden;
    object-fit:    cover;
    flex-shrink:   0;
    display:       inline-block;
    vertical-align: middle;
}

.tidi-lpp__fashion-author-link {
    display:     inline-flex;
    align-items: center;
    gap:         6px;
}

.tidi-lpp__fashion-by {
    font-style: normal;
}

/* Animated underline on the author name, like the rest of the suite */
.tidi-lpp__fashion-author-name {
}

.tidi-lpp__fashion-author-link:hover .tidi-lpp__fashion-author-name {
}

/* Author tooltip: avatar on the left, name + bio + link on the right */
.tidi-lpp__fashion-author-wrap {
    position:   relative;
    display:    inline-flex;
    margin-top: var(--tidi-avatar-mt, 0px);
}

.tidi-lpp__fashion-author-tooltip {
    position:        absolute;
    left:            50%;
    bottom:          calc( 100% + 10px );
    transform:       translateX(-50%) translateY(4px);
    z-index:         20;
    display:         flex;
    align-items:     flex-start;
    gap:             12px;
    width:           280px;
    max-width:       80vw;
    padding:         16px;
    background:      var(--tidi-bg);
    border-radius:   var(--tidi-radius);
    box-shadow:       0 8px 30px rgba(0,0,0,0.16);
    text-align:      left;
    opacity:         0;
    visibility:      hidden;
    pointer-events:  none;
    transition:      opacity .2s ease, transform .2s ease, visibility .2s;
}

/* Little pointer/arrow under the tooltip, toward the author link */
.tidi-lpp__fashion-author-tooltip::after {
    content:    '';
    position:   absolute;
    top:        100%;
    left:       50%;
    transform:  translateX(-50%);
    border:     7px solid transparent;
    border-top-color: var(--tidi-bg);
}

.tidi-lpp__fashion-author-wrap:hover .tidi-lpp__fashion-author-tooltip,
.tidi-lpp__fashion-author-wrap:focus-within .tidi-lpp__fashion-author-tooltip {
    opacity:        1;
    visibility:     visible;
    pointer-events: auto;
    transform:      translateX(-50%) translateY(0);
}

.tidi-lpp__fashion-tooltip-avatar {
    width:         48px;
    height:        48px;
    border-radius: var(--tidi-avatar-radius, 50%);
    overflow:      hidden;
    object-fit:    cover;
    flex-shrink:   0;
}

.tidi-lpp__fashion-tooltip-body {
    display:        flex;
    flex-direction: column;
    gap:            4px;
    min-width:      0;
}

.tidi-lpp__fashion-tooltip-name {
    font-size:      13px;
    font-weight:    700;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color:          var(--tidi-text);
}

.tidi-lpp__fashion-tooltip-bio {
    font-size:   12px;
    line-height: 1.5;
    color:       #555;
    display:            -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}

/* Mobile: keep the tooltip on-screen (avoid overflow on narrow viewports) */
@media ( max-width: 480px ) {
    .tidi-lpp__fashion-author-tooltip {
        width: 240px;
    }
}

/* Bullet before every category, including the first one */
.tidi-lpp--fashionhgrid421 .tidi-lpp__cat .tidi-lpp__cat_single::before,
.tidi-lpp--fashionlist .tidi-lpp__fl-meta .tidi-lpp__cat .tidi-lpp__cat_single::before,
.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-meta .tidi-lpp__cat .tidi-lpp__cat_single::before,
.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-meta .tidi-lpp__cat .tidi-lpp__cat_single::before,
.tidi-lpp__fg13-featured-meta .tidi-lpp__cat .tidi-lpp__cat_single::before,
.tidi-lpp__fg13-item-meta .tidi-lpp__cat .tidi-lpp__cat_single::before,
.tidi-lpp__fw-meta .tidi-lpp__cat .tidi-lpp__cat_single::before {
    content:     '•';
    color:       var(--tidi-text);
    margin-right: 3px;
    font-size:   11px;
    margin-left: 5px;
}

/* Nei layout Fashion il separatore è già il pallino qui sopra: il "|"
   generico (vedi .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child):after
   più in alto nel file) andrebbe altrimenti a sommarcisi. */
.tidi-lpp--fashionhgrid421 .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after,
.tidi-lpp--fashionlist .tidi-lpp__fl-meta .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after,
.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-meta .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after,
.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-meta .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after,
.tidi-lpp__fg13-featured-meta .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after,
.tidi-lpp__fg13-item-meta .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after,
.tidi-lpp__fw-meta .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content: none;
}

/* Category name color */
.tidi-lpp--fashionhgrid421 .tidi-lpp__cat_single a,
.tidi-lpp--fashionlist .tidi-lpp__fl-meta .tidi-lpp__cat_single a,
.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-meta .tidi-lpp__cat_single a,
.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-meta .tidi-lpp__cat_single a,
.tidi-lpp__fg13-featured-meta .tidi-lpp__cat_single a,
.tidi-lpp__fg13-item-meta .tidi-lpp__cat_single a,
.tidi-lpp__fw-meta .tidi-lpp__cat_single a {
    color: var(--tidi-text);
}

/* Category font-size 11px */
.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-meta .tidi-lpp__cat a {
    font-size:      11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}


/* =========================================================================
   Layout: FASHION HORIZONTAL GRID 4-2-1  (fashionhgrid421)
   Responsive card grid: 4 columns desktop, 2 tablet, 1 mobile.
   Card: image on top, white content box below (leggero overlap
   sull'immagine) con categoria + meta centrati sopra il titolo.
   ========================================================================= */
.tidi-lpp--fashionhgrid421 {
    display:               grid;
    grid-template-columns: repeat( 4, 1fr );
    gap:                   var(--tidi-gap);
    align-items:           start;
}

.tidi-lpp--fashionhgrid421 .tidi-lpp__item--fashion {
    display:        flex;
    flex-direction: column;
    background:     var(--tidi-bg);
    overflow:       visible; /* let the author tooltip escape the card */
}

.tidi-lpp--fashionhgrid421 .tidi-lpp__thumb-link {
    aspect-ratio: var(--tidi-img-ratio, 4 / 3);
}

/* Content box — slightly overlapping the bottom of the image */
.tidi-lpp--fashionhgrid421 .tidi-lpp__fashion-body {
    position:       relative;
    z-index:        2;
    margin:         -24px 12px 0;
    padding:        18px 20px 4px;
    background:     var(--tidi-bg);
    display:        flex;
    flex-direction: column;
    align-items:    center;
    gap:            8px;
    text-align:     center;
}

/* Meta line: category + date/author, centered, uppercase, small */
.tidi-lpp--fashionhgrid421 .tidi-lpp__fashion-meta {
    display:        flex;
    align-items:    center;
    justify-content: center;
    flex-wrap:      wrap;
    gap:            6px;
    font-size:      11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color:          var(--tidi-meta);
}

.tidi-lpp--fashionhgrid421 .tidi-lpp__cat::before {
    content: none;
}

.tidi-lpp--fashionhgrid421 .tidi-lpp__cat {
    gap: 6px;
}

.tidi-lpp--fashionhgrid421 .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content: none;
}

.tidi-lpp--fashionhgrid421 .tidi-lpp__cat_single a {
    font-size:      11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.tidi-lpp--fashionhgrid421 .tidi-lpp__date {
    font-size:      11px;
    letter-spacing: 0.5px;
    color:          var(--tidi-meta);
}

.tidi-lpp--fashionhgrid421 .tidi-lpp__sep {
    color: var(--tidi-meta);
}

.tidi-lpp--fashionhgrid421 .tidi-lpp__boxed-author-link {
    font-size:      11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color:          var(--tidi-meta);
    text-decoration: none;
}

/* Title — centered, animated underline on hover like the rest of the suite */
.tidi-lpp--fashionhgrid421 .tidi-lpp__title {
    margin:    0;
    font-size: 1.1rem;
    line-height: 1.35;
}

.tidi-lpp--fashionhgrid421 .tidi-lpp__title a {
    font-size:   inherit;
    font-weight: 600;
    line-height: inherit;
    color: var(--tidi-text);
    text-decoration: none;
}

.tidi-lpp--fashionhgrid421 .tidi-lpp__title a:hover {
}

.tidi-lpp--fashionhgrid421 .tidi-lpp__excerpt {
    margin:    0;
    font-size: 13px;
    color:     var(--tidi-meta);
}

.tidi-lpp--fashionhgrid421 .tidi-lpp__readmore {
    margin: 4px 0 0;
}

/* Tablet: 2 columns */
@media ( min-width: 641px ) and ( max-width: 959px ) {
    .tidi-lpp--fashionhgrid421 {
        grid-template-columns: repeat( 2, 1fr );
    }
}

/* Mobile: 1 column */
@media ( max-width: 640px ) {
    .tidi-lpp--fashionhgrid421 {
        grid-template-columns: 1fr;
    }

    .tidi-lpp--fashionhgrid421 .tidi-lpp__fashion-body {
        margin: -20px 8px 0;
    }
}


/* =========================================================================
   Layout: FASHION LIST  (fashionlist)
   Lista di post a piena larghezza: 50% immagine a sinistra, 50%
   contenuto a destra (meta, titolo, excerpt, autore + freccia "leggi
   l'articolo"). Ogni post separato da un border-bottom grigio chiaro.
   ========================================================================= */
.tidi-lpp--fashionlist {
    display:        flex;
    flex-direction: column;
}

.tidi-lpp--fashionlist .tidi-lpp__fl-item {
    display:        flex;
    flex-direction: row;
    align-items:    flex-start;
    gap:            var(--tidi-gap);
    padding:        40px 0;
    border-bottom:  1px solid var(--tidi-border);
    overflow:       visible; /* let the author tooltip escape the card */
}

.tidi-lpp--fashionlist .tidi-lpp__fl-item:first-child {
    padding-top: 0;
}

.tidi-lpp--fashionlist .tidi-lpp__fl-item:last-child {
    border-bottom:  none;
    padding-bottom: 0;
}

.tidi-lpp--fashionlist .tidi-lpp__fl-thumb-link {
    flex:          0 0 50%;
    width:         50%;
    aspect-ratio:  var(--tidi-img-ratio, 8 / 5);
    border-radius: var(--tidi-radius);
    overflow:      hidden;
    position:      relative;
    display:       block;
}

/* Shortcode "Sezione Intro Articoli" [tidi_article_intro]: riusa le classi
   sopra (meta, titolo, autore) senza il contenitore fl-body a 50%, pensato
   per l'affiancamento con la thumbnail nella card. Qui serve solo lo
   stacking verticale con lo stesso gap. */
.tidi-lpp--article-intro {
    display:        flex;
    flex-direction: column;
    gap:            10px;
}

.tidi-lpp--fashionlist .tidi-lpp__fl-body {
    flex:           0 0 50%;
    width:          50%;
    display:        flex;
    flex-direction: column;
    gap:            10px;
    min-width:      0;
}

.tidi-lpp--fashionlist .tidi-lpp__fl-meta {
    display:        flex;
    align-items:    center;
    flex-wrap:      wrap;
    gap:            6px;
    font-size:      11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color:          var(--tidi-meta);
}

.tidi-lpp--fashionlist .tidi-lpp__fl-meta .tidi-lpp__date {
    font-size:      11px;
    letter-spacing: 0.5px;
    color:          var(--tidi-meta);
}

.tidi-lpp--fashionlist .tidi-lpp__fl-meta .tidi-lpp__sep {
    color: var(--tidi-border);
}

.tidi-lpp--fashionlist .tidi-lpp__fl-meta .tidi-lpp__cat::before {
    content: none;
}

.tidi-lpp--fashionlist .tidi-lpp__fl-meta .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content: none;
}

.tidi-lpp--fashionlist .tidi-lpp__fl-meta .tidi-lpp__cat a {
    font-size:      11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tidi-lpp--fashionlist .tidi-lpp__fl-title {
    margin:      0;
    font-size:   1.6rem;
    font-weight: 700;
    line-height: 1.3;
}

.tidi-lpp--fashionlist .tidi-lpp__fl-title a {
    color: var(--tidi-text);
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
    text-decoration: none;
}

.tidi-lpp--fashionlist .tidi-lpp__fl-title a:hover {
}

.tidi-lpp--fashionlist .tidi-lpp__fl-excerpt {
    margin:      0;
    font-size:   13px;
    line-height: 1.6;
    color:       #555;
}

.tidi-lpp--fashionlist .tidi-lpp__fl-footer {
    display:        flex;
    align-items:    center;
    justify-content: space-between;
    gap:            16px;
    margin-top:     6px;
}

.tidi-lpp--fashionlist .tidi-lpp__fl-author {
    font-size:       11px;
    font-weight:     700;
    letter-spacing:  0.5px;
    text-transform:  uppercase;
    color:           var(--tidi-text);
    text-decoration: none;
}

.tidi-lpp--fashionlist .tidi-lpp__fl-arrow {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           28px;
    height:          28px;
    flex-shrink:     0;
    color:           var(--tidi-text);
    border-radius:   50%;
    transition:      background var(--tidi-trans), color var(--tidi-trans);
}

.tidi-lpp--fashionlist .tidi-lpp__fl-arrow:hover {
    background: var(--tidi-border);
    color:      var(--tidi-main-color);
}

/* Tablet and below: stack image on top, content below */
@media ( max-width: 767px ) {
    .tidi-lpp--fashionlist .tidi-lpp__fl-item {
        flex-direction: column;
    }

    .tidi-lpp--fashionlist .tidi-lpp__fl-thumb-link,
    .tidi-lpp--fashionlist .tidi-lpp__fl-body {
        flex:  0 0 100%;
        width: 100%;
    }
}


/* =========================================================================
   Layout: FASHION GRID 3 COLUMNS  (fashiongrid3col)
   Griglia responsive 3 colonne (2 tablet, 1 mobile). Card: immagine
   quadrata a sinistra, testo a destra — categoria, titolo, autore.
   ========================================================================= */
.tidi-lpp--fashiongrid3col {
    display:               grid;
    grid-template-columns: repeat( 3, 1fr );
    gap:                   var(--tidi-gap);
    align-items:           start;
}

.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-item {
    display:        flex;
    flex-direction: row;
    gap:            16px;
    overflow:       visible; /* let the author tooltip escape the card */
}

.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-thumb-link {
    flex:          0 0 33%;
    width:         33%;
    aspect-ratio:  var(--tidi-img-ratio, 1 / 1);
    border-radius: var(--tidi-radius);
    overflow:      hidden;
    position:      relative;
    display:       block;
}

.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-body {
    flex:           1;
    display:        flex;
    flex-direction: column;
    gap:            8px;
    min-width:      0;
    padding-top:    2px;
}

.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-meta {
    display:        flex;
    align-items:    center;
    flex-wrap:      wrap;
    font-size:      11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color:          var(--tidi-meta);
}

.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-meta .tidi-lpp__cat::before {
    content: none;
}

.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-title {
    margin:      0;
    font-size:   1.05rem;
    font-weight: 700;
    line-height: 1.3;
}

.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-title a {
    color: var(--tidi-text);
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
    text-decoration: none;
}

.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-title a:hover {
}

.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-excerpt {
    margin:      0;
    font-size:   13px;
    line-height: 1.55;
    color:       #555;
}

.tidi-lpp--fashiongrid3col .tidi-lpp__g3c-author {
    margin-top:      2px;
    font-size:       11px;
    font-weight:     700;
    letter-spacing:  0.5px;
    text-transform:  uppercase;
    color:           var(--tidi-text);
    text-decoration: none;
}

/* Tablet: 2 columns */
@media ( min-width: 641px ) and ( max-width: 959px ) {
    .tidi-lpp--fashiongrid3col {
        grid-template-columns: repeat( 2, 1fr );
    }
}

/* Mobile: 1 column */
@media ( max-width: 640px ) {
    .tidi-lpp--fashiongrid3col {
        grid-template-columns: 1fr;
    }
}


/* =========================================================================
   Layout: FASHION HORIZONTAL GRID 3-1  (fashionhgrid31)
   Griglia responsive: 3 colonne desktop, 1 colonna mobile (nessun passo
   intermedio a 2 colonne). Card: immagine in alto, testo sotto senza box
   sovrapposto — meta (data relativa + categoria), titolo, "BY AUTORE",
   tutto allineato a sinistra.
   ========================================================================= */
.tidi-lpp--fashionhgrid31 {
    display:               grid;
    grid-template-columns: repeat( 3, 1fr );
    gap:                   var(--tidi-gap);
    align-items:           start;
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-item {
    display:        flex;
    flex-direction: column;
    background:     var(--tidi-bg);
    overflow:       visible; /* let the author tooltip escape the card */
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__thumb-link {
    aspect-ratio: var(--tidi-img-ratio, 4 / 3);
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-body {
    display:        flex;
    flex-direction: column;
    gap:            8px;
    padding-top:    16px;
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-meta {
    display:        flex;
    align-items:    center;
    flex-wrap:      wrap;
    gap:            6px;
    font-size:      11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color:          var(--tidi-meta);
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-meta .tidi-lpp__date {
    font-size:      11px;
    letter-spacing: 0.5px;
    color:          var(--tidi-meta);
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-meta .tidi-lpp__sep {
    color: var(--tidi-border);
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-meta .tidi-lpp__cat::before {
    content: none;
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-meta .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content: none;
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-meta .tidi-lpp__cat a {
    font-size:      11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-title {
    margin:      0;
    font-size:   1.25rem;
    font-weight: 700;
    line-height: 1.3;
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-title a {
    color: var(--tidi-text);
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
    text-decoration: none;
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-title a:hover {
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-excerpt {
    margin:      0;
    font-size:   13px;
    line-height: 1.55;
    color:       #555;
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-author {
    display:         inline-flex;
    align-items:     center;
    margin-top:      4px;
    font-size:       11px;
    font-weight:     700;
    letter-spacing:  0.5px;
    text-transform:  uppercase;
    color:           var(--tidi-text);
    text-decoration: none;
}

.tidi-lpp--fashionhgrid31 .tidi-lpp__fh31-author:hover {
}

/* Mobile: 1 column, no intermediate tablet step */
@media ( max-width: 640px ) {
    .tidi-lpp--fashionhgrid31 {
        grid-template-columns: 1fr;
    }
}


/* =========================================================================
   Layout: FASHION WIDE POSTS  (fashionwideposts)
   Post a piena larghezza: immagine full-bleed, sotto un box bianco
   centrato che si sovrappone leggermente all'immagine con meta (data +
   categorie) centrati, titolo grande centrato e "by Autore" sotto.
   Più post vengono incolonnati uno sotto l'altro.
   ========================================================================= */
.tidi-lpp--fashionwideposts {
    display:        flex;
    flex-direction: column;
    gap:            var(--triple-spacing);
}

.tidi-lpp__fw-item {
    position: relative;
    overflow: visible; /* let the author tooltip escape the card */
}

.tidi-lpp__fw-thumb-link {
    display:       block;
    width:         100%;
    aspect-ratio:  var(--tidi-img-ratio, 21 / 8);
    overflow:      hidden;
    border-radius: var(--tidi-radius);
    position:      relative;
}

/* Il tema (o uno script collegato) applica a ogni immagine un
   max-width inline pari alla risoluzione nativa del file caricato,
   impedendo all'immagine full-bleed di riempire lo spazio disponibile
   su viewport più larghi del file stesso. Un max-width !important qui
   vince sempre sullo style inline (unica cosa che può farlo). */
.tidi-lpp__fw-thumb-link .tidi-lpp__thumb {
    max-width: none !important;
}

/* Content box — centered, slightly overlapping the bottom of the image */
.tidi-lpp__fw-body {
    position:      relative;
    z-index:       2;
    max-width:     700px;
    margin:        -70px auto 0;
    background:    var(--tidi-bg);
    border-radius: var(--tidi-radius);
    padding:       32px 40px;
    display:       flex;
    flex-direction: column;
    align-items:   center;
    gap:           14px;
    text-align:    center;
}

.tidi-lpp__fw-meta {
    display:        flex;
    align-items:    center;
    justify-content: center;
    flex-wrap:      wrap;
    gap:            6px;
    font-size:      11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color:          var(--tidi-meta);
}

.tidi-lpp__fw-meta .tidi-lpp__date {
    font-size:      11px;
    letter-spacing: 0.5px;
    color:          var(--tidi-meta);
}

.tidi-lpp__fw-meta .tidi-lpp__sep {
    color: var(--tidi-border);
}

.tidi-lpp__fw-meta .tidi-lpp__cat::before {
    content: none;
}

.tidi-lpp__fw-meta .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content: none;
}

.tidi-lpp__fw-meta .tidi-lpp__cat a {
    font-size:      11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tidi-lpp__fw-title {
    margin:      0;
    font-size:   2rem;
    font-weight: 700;
    line-height: 1.3;
}

.tidi-lpp__fw-title a {
    color: var(--tidi-text);
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
    text-decoration: none;
}

.tidi-lpp__fw-title a:hover {
}

.tidi-lpp__fw-author {
    display:         inline-flex;
    align-items:     center;
    gap:             8px;
    font-size:       13px;
    letter-spacing:  0.5px;
    text-transform:  uppercase;
    color:           var(--tidi-meta);
    text-decoration: none;
}

.tidi-lpp__fashion-avatar--onphoto {
    width:  26px;
    height: 26px;
    border: 1.5px solid rgba(255,255,255,0.85);
}

.tidi-lpp__fw-author:hover {
}

.tidi-lpp__fw-author-by {
    font-style:     italic;
    text-transform: none;
    letter-spacing: normal;
    font-size:      15px;
}

/* Tablet and below: narrower box, smaller overlap */
@media ( max-width: 959px ) {
    .tidi-lpp__fw-body {
        max-width: 85%;
        margin-top: -50px;
        padding:   24px 28px;
    }

    .tidi-lpp__fw-title {
        font-size: 1.5rem;
    }
}

/* Mobile: box goes almost full width, minimal overlap */
@media ( max-width: 640px ) {
    .tidi-lpp__fw-body {
        max-width: 92%;
        margin-top: -30px;
        padding:   18px 20px;
        gap:       10px;
    }

    .tidi-lpp__fw-title {
        font-size: 1.25rem;
    }
}


/* =========================================================================
   Layout: GRID 1+3
   —
   Left column (~60%): 1 featured post
     – meta bar (date · for categories · read time) top-right above image
     – large image full-width
     – big title
     – excerpt (narrower right sub-column)
     – author avatar + "Created by" + name
   Right column (~40%): 3 secondary posts, each:
     – title (left) + thumbnail (right)
     – date
     – "for" + categories
     – excerpt
   ========================================================================= */

/* Outer wrapper: 2-column layout */
.tidi-lpp--grid1plus3 {
    display:               grid;
    /* grid-template-columns: 80fr 20fr; */
    grid-template-columns: 75fr 25fr;
    gap:                   40px;
    align-items:           start;
}

/* ── LEFT: featured post — image left, text column right ── */
.tidi-lpp__featured {
    display:               grid;
    grid-template-columns: 78fr 22fr;
    gap:                   0;
    align-items:           stretch;
}

/* Large image: left column, full height */
.tidi-lpp__featured-thumb-link {
    display:       block;
    overflow:      hidden;
    position:      relative;
    width:         100%;
    height:        100%;
    min-height:    320px;
    border-radius: var(--tidi-radius) 0 0 var(--tidi-radius);
    grid-column:   1;
    grid-row:      1;
}

.tidi-lpp__featured-thumb-link .tidi-lpp__thumb {
    position:      absolute;
    inset:         0;
    width:         100%;
    height:        100% !important;
    object-fit:    cover;
    border-radius: var(--tidi-radius) 0 0 var(--tidi-radius);
}

/* Text column: right side, flex column, space between top and bottom */
.tidi-lpp__featured-text {
    grid-column:    2;
    grid-row:       1;
    display:        flex;
    flex-direction: column;
    padding:        0 0 0 28px;
}

/* Meta bar: date · for categories · read time — top of text column */
.tidi-lpp__featured-meta-bar {
    display:       flex;
    align-items:   center;
    flex-wrap:     wrap;
    gap:           6px;
    font-size:     11px;
    font-size:     0; /*****/
    color:         var(--tidi-meta);
    line-height:   110%;
    padding-bottom: 10px;
}

.tidi-lpp__featured-meta-bar .tidi-lpp__date {
    font-size: 11px;
    color:     var(--tidi-meta);
}

.tidi-lpp__featured-meta-bar .tidi-lpp__sep {
    color: var(--tidi-border);
}

/* "for" prefix in meta bar */
.tidi-lpp__featured-meta-bar .tidi-lpp__cat {
}

.tidi-lpp__featured-meta-bar .tidi-lpp__cat::before {
}

.tidi-lpp__featured-meta-bar .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content:      ',';
    margin-right: 2px;
}

.tidi-lpp__featured-meta-bar .tidi-lpp__readtime {
    font-size: 11px;
    color:     var(--tidi-meta);
}

/* Title: large, sits below meta bar */
.tidi-lpp__featured-title {
    margin:      0 0 auto; /* pushes excerpt+author to bottom */
    font-size:   30px;
}

.tidi-lpp__featured-title a {
    color: #111;
    font-size:        inherit;
    font-weight:      inherit;
    line-height:      inherit;
}

/* Bottom block: excerpt + author, pushed to bottom of text column */
.tidi-lpp__featured-bottom {
    display:        flex;
    flex-direction: column;
    gap:            16px;
    padding-top:    20px;
}

.tidi-lpp__featured-excerpt {
    font-size:          13px;
    line-height:        1.6;
    color:              #555;
    margin:             0;
    display:            -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}


@media screen and (min-width: 1280px) {
    .tidi-lpp__featured-text{
        position: relative;
        margin-left: -100px;
    }

    .tidi-lpp__featured-meta-bar,
    .tidi-lpp__featured-title,
    .tidi-lpp__featured-bottom{
        background-color: #fff;
        padding-left: 40px;
    }

    .tidi-lpp__featured-title{
        padding-bottom: 30px;
    }

    .tidi-lpp__featured-bottom{
        margin-left: 80px;
        padding-top: 0;
        padding-left: 30px;
    }

}

/* Author block */
.tidi-lpp__author-block {
    display:     flex;
    align-items: center;
    gap:         10px;
    flex-shrink: 0;
    width:       100%;   /* va a capo, sotto la data, invece che accanto */
    margin-top:  calc( 6px + var(--tidi-avatar-mt, 0px) );
}

/* Clickable author link (avatar + name), used wherever the author block links to the author archive */
.tidi-lpp__author-link {
    display:         flex;
    align-items:     center;
    gap:             10px;
    text-decoration: none;
    color:           inherit;
}

.tidi-lpp__author-name {
}

.tidi-lpp__author-avatar {
    width:         var(--tidi-avatar-w, 20px);
    height:        var(--tidi-avatar-h, 20px);
    border-radius: var(--tidi-avatar-radius, 50%);
    margin-right:  5px;
    overflow:      hidden;
    flex-shrink:   0;
}

.tidi-lpp__author-avatar img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
}

.tidi-lpp__author-info {
    display:        flex;
    flex-direction: column;
    gap:            1px;
}

.tidi-lpp__author-label {
    font-size:   10px;
    color:       var(--tidi-meta);
    line-height: 1.4;
}

/* ── RIGHT: 3 secondary posts ── */
.tidi-lpp__secondary-list {
    display:        flex;
    flex-direction: column;
    gap:            0;
}

.tidi-lpp__secondary-item {
    display:        flex;
    flex-direction: column;
    gap:            6px;
    padding:        20px 0;
    border-top:     1px solid var(--tidi-border);
}

.tidi-lpp__secondary-item:first-child {
    border-top:  none;
    padding-top: 0;
}

.tidi-lpp__secondary-item:last-child {
    padding-bottom: 0;
}

/* Title row: [title+date group LEFT] + [thumb RIGHT] */
.tidi-lpp__secondary-title-row {
    display:     flex;
    align-items: flex-start;
    gap:         12px;
}

/* Title + date stacked in left sub-column */
.tidi-lpp__secondary-title-group {
    flex:           1;
    display:        flex;
    flex-direction: column;
    gap:            4px;
    min-width:      0;
}

.tidi-lpp__secondary-title {
    margin:      0;
    font-size:   1rem;
    font-weight: 700;
    line-height: 1.3;
}

.tidi-lpp__secondary-title a {
    color: #111;
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
}

/* Small thumbnail */
.tidi-lpp__secondary-thumb-link {
    flex:         0 0 76px;
    width:        76px;
    aspect-ratio: var(--tidi-img-ratio, 1 / 1);
    border-radius: var(--tidi-radius);
    overflow:     hidden;
    position:     relative;
    display:      block;
    align-self:   flex-start;
}

.tidi-lpp__secondary-thumb-link .tidi-lpp__thumb {
    border-radius: var(--tidi-radius);
}

.tidi-lpp__secondary-cat .tidi-lpp__cat_single:not(:last-child)::after {
    content:      ',';
    color:        var(--tidi-meta);
    margin-right: 2px;
}


/* Excerpt */
.tidi-lpp__secondary-excerpt {
    font-size:          12px;
    line-height:        1.55;
    color:              #555;
    margin:             0;
    display:            -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}

/* =========================================================================
   Layout: FASHION GRID 1+3
   Left: featured post — full-bleed image, dark gradient overlay,
         meta (date + categories) + title pinned to the bottom.
   Right: 3 secondary posts stacked — small thumb LEFT, text RIGHT
          (meta, title, excerpt, "By author").
   ========================================================================= */
.tidi-lpp--fashiongrid1plus3 {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   var(--tidi-gap);
    align-items:           stretch;
}

/* ── LEFT: featured, text overlaid on image ── */
.tidi-lpp__fg13-featured {
    position:      relative;
    display:       block;
    overflow:      hidden;
    border-radius: var(--tidi-radius);
    min-height:    420px;
    height:        100%;
}

.tidi-lpp__fg13-featured-thumb {
    display:  block;
    position: absolute;
    inset:    0;
    width:    100%;
    height:   100%;
}

.tidi-lpp__fg13-featured-thumb .tidi-lpp__thumb {
    position:   absolute;
    inset:      0;
    width:      100%;
    height:     100% !important;
    object-fit: cover;
    display:    block;
}

.tidi-lpp__fg13-featured-overlay {
    position:   absolute;
    inset:      0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,0.75) 0%,
        rgba(0,0,0,0.35) 40%,
        rgba(0,0,0,0)    70%
    );
    pointer-events: none;
}

.tidi-lpp__fg13-featured-body {
    position: absolute;
    bottom:   0;
    left:     0;
    right:    0;
    padding:  28px 28px 24px;
    display:  flex;
    flex-direction: column;
    gap:      10px;
}

.tidi-lpp__fg13-featured-meta {
    display:        flex;
    align-items:    center;
    flex-wrap:      wrap;
    gap:            6px;
    font-size:      11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color:          rgba(255,255,255,0.85);
}

.tidi-lpp__fg13-featured-meta .tidi-lpp__date {
    font-size:      11px;
    letter-spacing: 0.5px;
    color:          rgba(255,255,255,0.85);
}

.tidi-lpp__fg13-featured-meta .tidi-lpp__sep {
    color: rgba(255,255,255,0.5);
}

.tidi-lpp__fg13-featured-meta .tidi-lpp__cat::before {
    content: none;
}

.tidi-lpp__fg13-featured-meta .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content: none;
}

.tidi-lpp__fg13-featured-meta .tidi-lpp__cat_single a {
    font-size: 11px;
    color: rgba(255,255,255,0.85);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background-image: none !important; /* testo su foto: niente sottolineatura animata ereditata dallo stile base */
}

.tidi-lpp__fg13-featured-meta .tidi-lpp__cat_single a:hover {
    color: #fff;
}

.tidi-lpp__fg13-featured-title {
    margin:      0;
    font-size:   1.9rem;
    font-weight: 700;
    line-height: 1.25;
    color:       #fff;
}

.tidi-lpp__fg13-featured-title a {
    color: #fff;
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
}

.tidi-lpp__fg13-featured-title a:hover {
}

/* ── RIGHT: 3 stacked secondary items ── */
.tidi-lpp__fg13-list {
    display:        flex;
    flex-direction: column;
    gap:            28px;
}

.tidi-lpp__fg13-item {
    display:     flex;
    align-items: stretch;
    gap:         20px;
    height:      160px;
    overflow:    visible; /* let the author tooltip escape the card; title/excerpt still self-clamp via line-clamp */
}

.tidi-lpp__fg13-item-thumb {
    flex:          0 0 150px;
    width:         150px;
    border-radius: var(--tidi-radius);
    overflow:      hidden;
    position:      relative;
    display:       block;
    align-self:    stretch;
}

.tidi-lpp__fg13-item-thumb .tidi-lpp__thumb {
    border-radius: var(--tidi-radius);
}

.tidi-lpp__fg13-item-body {
    flex:           1;
    display:        flex;
    flex-direction: column;
    justify-content: center;
    gap:            6px;
    min-width:      0;
    overflow:       hidden;
}

.tidi-lpp__fg13-item-meta {
    display:        flex;
    align-items:    center;
    flex-wrap:      wrap;
    gap:            6px;
    font-size:      11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color:          var(--tidi-meta);
}

.tidi-lpp__fg13-item-meta .tidi-lpp__date {
    font-size:      11px;
    letter-spacing: 0.5px;
    color:          var(--tidi-meta);
}

.tidi-lpp__fg13-item-meta .tidi-lpp__sep {
    color: var(--tidi-border);
}

.tidi-lpp__fg13-item-meta .tidi-lpp__cat::before {
    content: none;
}

.tidi-lpp__fg13-item-meta .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content: none;
}

.tidi-lpp__fg13-item-meta .tidi-lpp__cat a {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tidi-lpp__fg13-item-title {
    margin:             0;
    font-size:          1rem;
    font-weight:        700;
    line-height:        1.3;
    display:            -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}

.tidi-lpp__fg13-item-title a {
    color: #111;
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
}

.tidi-lpp__fg13-item-title a:hover {
}

.tidi-lpp__fg13-item-excerpt {
    margin:             0;
    font-size:          12px;
    line-height:        1.55;
    color:              #555;
    display:            -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}

.tidi-lpp__fg13-item-author {
    display:         inline-flex;
    align-items:     center;
    margin-top:      2px;
    font-size:       11px;
    font-weight:     700;
    letter-spacing:  0.5px;
    text-transform:  uppercase;
    color:           var(--tidi-text);
    text-decoration: none;
}

.tidi-lpp__fg13-item-author:hover {
}

/* Tablet and below: stack featured on top, list below */
@media ( max-width: 959px ) {
    .tidi-lpp--fashiongrid1plus3 {
        grid-template-columns: 1fr;
    }

    .tidi-lpp__fg13-featured {
        min-height: 320px;
    }
}

/* Mobile: shrink the item thumbnail */
@media ( max-width: 640px ) {
    .tidi-lpp__fg13-item {
        height: 130px;
    }

    .tidi-lpp__fg13-item-thumb {
        flex:  0 0 96px;
        width: 96px;
    }

    .tidi-lpp__fg13-featured-title {
        font-size: 1.5rem;
    }
}

/* =========================================================================
   Layout: GRID 1+4+1
   —
   Left column  (~33%): 1 top post (title + excerpt + small thumb right)
                         + 4 list posts (thumb left + title right)
   Right column (~67%): 1 featured post, large image full-height,
                         meta + title overlaid at bottom on dark gradient
   ========================================================================= */

/* Outer: 2 columns */
.tidi-lpp--grid1plus4plus1 {
    display:               grid;
    grid-template-columns: 33fr 67fr;
    gap:                   40px;
    align-items:           stretch;
}

/* ═══════════════════════════════════════════
   LEFT COLUMN
   ═══════════════════════════════════════════ */
.tidi-lpp__g141-left {
    display:        flex;
    flex-direction: column;
    gap:            0;
}

/* ── Top post ── */
.tidi-lpp__g141-top {
    display:        flex;
    flex-direction: column;
    gap:            8px;
    padding-bottom: 20px;
    border-bottom:  1px solid var(--tidi-border);
    margin-bottom:  16px;
}

/* Title row: title left + small thumb right */
.tidi-lpp__g141-top-row {
    display:     flex;
    align-items: flex-start;
    gap:         12px;
}

.tidi-lpp__g141-top-title {
    flex:        1;
    margin:      0 0 10px 0;
    font-size:   1rem;
    font-weight: 700;
    line-height: 1.3;
    min-width:   0;
}

.tidi-lpp__g141-top-title a {
    color: #111;
    font-size:        inherit;
    font-weight:      inherit;
    line-height:      inherit;
}

.tidi-lpp__g141-top-thumb {
    flex:         0 0 80px;
    width:        80px;
    aspect-ratio: var(--tidi-img-ratio, 1 / 1);
    border-radius: var(--tidi-radius);
    overflow:     hidden;
    position:     relative;
    display:      block;
    align-self:   flex-start;
}

.tidi-lpp__g141-top-thumb .tidi-lpp__thumb {
    border-radius: var(--tidi-radius);
}

.tidi-lpp__g141-top-excerpt {
    font-size:          12px;
    line-height:        1.55;
    color:              #555;
    margin:             0;
    display:            -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow:           hidden;
}

/* ── List of 4 posts ── */
.tidi-lpp__g141-list {
    display:        flex;
    flex-direction: column;
    gap:            0;
}

.tidi-lpp__g141-list-item {
    display:     flex;
    align-items: flex-start;
    gap:         12px;
    padding:     18px 0;
    border-bottom: 1px solid var(--tidi-border);
}

.tidi-lpp__g141-list-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.tidi-lpp__g141-list-thumb {
    flex:         0 0 54px;
    width:        54px;
    aspect-ratio: var(--tidi-img-ratio, 1 / 1);
    border-radius: var(--tidi-radius);
    overflow:     hidden;
    position:     relative;
    display:      block;
    align-self:   flex-start;
}

.tidi-lpp__g141-list-thumb .tidi-lpp__thumb {
    border-radius: var(--tidi-radius);
}

.tidi-lpp__g141-list-title {
    flex:        1;
    margin:      0;
    font-size:   14px;
    font-weight: 700;
    line-height: 1.3;
    min-width:   0;
}

.tidi-lpp__g141-list-title a {
    color: #111;
    font-size:        inherit;
    font-weight:      inherit;
    line-height:      inherit;
}

/* ═══════════════════════════════════════════
   RIGHT COLUMN: featured post
   ═══════════════════════════════════════════ */
.tidi-lpp__g141-featured {
    position:      relative;
    display:       block;
    border-radius: var(--tidi-radius);
    overflow:      hidden;
    min-height:    420px;
    height:        100%;
}

/* Full-bleed image */
.tidi-lpp__g141-featured-thumb {
    display:  block;
    position: absolute;
    inset:    0;
    width:    100%;
    height:   100%;
}

.tidi-lpp__g141-featured-thumb .tidi-lpp__thumb {
    position:   absolute;
    inset:      0;
    width:      100%;
    height:     100% !important;
    object-fit: cover;
    display:    block;
}

/* Dark gradient overlay at bottom */
.tidi-lpp__g141-featured-overlay {
    position:   absolute;
    inset:      0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,0.75) 0%,
        rgba(0,0,0,0.35) 40%,
        rgba(0,0,0,0)    70%
    );
    pointer-events: none;
}

/* Text block pinned to bottom */
.tidi-lpp__g141-featured-body {
    position: absolute;
    bottom:   0;
    left:     0;
    right:    0;
    padding:  28px 28px 24px;
    display:  flex;
    flex-direction: column;
    gap:      8px;
}

/* Meta bar: date · "for" · categories */
.tidi-lpp__g141-featured-meta {
    display:     flex;
    align-items: center;
    flex-wrap:   wrap;
    gap:         6px;
    font-size:   11px;
    color:       rgba(255,255,255,0.8);
}

.tidi-lpp__g141-featured-meta .tidi-lpp__date {
    font-size: 11px;
    color:     rgba(255,255,255,0.8);
}

.tidi-lpp__g141-featured-meta .tidi-lpp__sep {
    color: rgba(255,255,255,0.4);
}

.tidi-lpp__g141-featured-meta .tidi-lpp__cat::before {
}

.tidi-lpp__g141-featured-meta .tidi-lpp__cat {
}

.tidi-lpp__g141-featured-meta .tidi-lpp__cat .tidi-lpp__cat_single:not(:last-child)::after {
    content:      ',';
    margin-right: 2px;
}

.tidi-lpp__g141-featured-meta a {
    color: inherit;
    text-decoration: none;
}

.tidi-lpp__g141-featured-meta .tidi-lpp__cat a {
    color: rgba(255,255,255,0.8);
    background-image: none !important; /* testo su foto: niente sottolineatura animata ereditata dallo stile base */
}

.tidi-lpp__g141-featured-meta .tidi-lpp__cat a:hover {
    color: #fff;
}

/* Title over image */
.tidi-lpp__g141-featured-title {
    margin:      0;
    font-size:   1.6rem;
    font-weight: 700;
    line-height: 1.2;
    color:       #fff;
}

.tidi-lpp__g141-featured-title a {
    color: #fff;
    font-size:   inherit;
    font-weight: inherit;
    line-height: inherit;
}

/* =========================================================================
   Mid viewport (641px – 959px): hgrid421 → 2 columns
   ========================================================================= */
@media ( min-width: 641px ) and ( max-width: 959px ) {
    .tidi-lpp--hgrid421 {
        grid-template-columns: repeat( 2, 1fr );
    }

    /* Show only 2 posts at this breakpoint */
    .tidi-lpp--hgrid421 .tidi-lpp__item:nth-child(n+3) {
        display: none;
    }
}

/* =========================================================================
   Responsive
   ========================================================================= */
@media ( max-width: 640px ) {
    .tidi-lpp--list .tidi-lpp__item,
    .tidi-lpp--fullwidth .tidi-lpp__item {
        flex-direction: column;
    }

    .tidi-lpp--list .tidi-lpp__thumb-link {
        flex:         none;
        width:        100%;
        aspect-ratio: var(--tidi-img-ratio, 1 / 1);
    }

    .tidi-lpp--fullwidth .tidi-lpp__item:not(:first-child) .tidi-lpp__thumb-link {
        flex:         none;
        max-width:    100%;
        aspect-ratio: var(--tidi-img-ratio, 1 / 1);
        position:     relative;
    }

    /* Numbered: keep side-by-side even on mobile (small thumb) */
    .tidi-lpp--numbered .tidi-lpp__thumb-link {
        flex:  0 0 56px;
        width: 56px;
    }

    .tidi-lpp--numbered .tidi-lpp__num {
        font-size: 1.6rem;
    }

    /* Numbered grid: collapse to 1 column on mobile */
    .tidi-lpp--numbered-grid {
        grid-template-columns: 1fr;
    }

    .tidi-lpp--numbered-grid .tidi-lpp__item {
        padding:      16px 0 !important;
        border-right: none !important;
        border-top:   1px solid var(--tidi-border) !important;
    }

    .tidi-lpp--numbered-grid .tidi-lpp__item:first-child {
        border-top:  none !important;
        padding-top: 0 !important;
    }

    /* Horizontal Grid 4-2-1: 1 column on mobile, show only 1 post */
    .tidi-lpp--hgrid421 {
        grid-template-columns: 1fr;
    }

    .tidi-lpp--hgrid421 .tidi-lpp__item:nth-child(n+2) {
        display: none;
    }

    /* Grid 1+4+1: stack to single column on mobile */
    .tidi-lpp--grid1plus4plus1 {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .tidi-lpp__g141-featured {
        min-height: 280px;
        height: 280px;
    }

    /* Grid 1+3: stack to single column on mobile */
    .tidi-lpp--grid1plus3 {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    /* Featured: stack image above text on mobile */
    .tidi-lpp__featured {
        grid-template-columns: 1fr;
        display: block;
    }

    .tidi-lpp__featured-thumb-link {
        min-height:    220px;
        border-radius: var(--tidi-radius);
    }

    .tidi-lpp__featured-thumb-link .tidi-lpp__thumb {
        border-radius: var(--tidi-radius);
        position: inherit;
    }

    .tidi-lpp__featured-text {
        padding: 16px 0 0;
    }

    .tidi-lpp__featured-title {
        font-size: 1.4rem;
    }

    /* Grid 2+4: stack all rows to single column */
    .tidi-lpp--grid2plus4 .tidi-lpp__row-top,
    .tidi-lpp--grid2plus4 .tidi-lpp__row-bottom {
        grid-template-columns: 1fr;
    }

    .tidi-lpp--grid2plus4 .tidi-lpp__item--top {
        flex-direction: column;
    }

    .tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__thumb-link {
        flex:  none;
        width: 100%;
    }

    /* Grid 1 Full + 2 Columns: 2 columns collapse to 1 on mobile */
    .tidi-lpp--gridfullplus2cols .tidi-lpp__g2col-grid {
        grid-template-columns: 1fr;
    }

    .tidi-lpp--gridfullplus2cols .tidi-lpp__item--hero .tidi-lpp__body {
        max-width: 100%;
    }

    .tidi-lpp--gridfullplus2cols .tidi-lpp__item--hero .tidi-lpp__title {
        font-size: 1.5rem;
    }

    /* Grid 1 + 2 + 2 Repeat Columns: 2 columns collapse to 1 on mobile */
    .tidi-lpp--grid1plus2plus2repeat .tidi-lpp__g2col-grid {
        grid-template-columns: 1fr;
    }

    .tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--hero .tidi-lpp__body {
        max-width: 100%;
    }

    .tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--hero .tidi-lpp__title {
        font-size: 1.5rem;
    }

    /* Grid 1 + 2 + 2 Repeat with Slider: 2 columns collapse to 1 on mobile */
    .tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__g2col-grid {
        grid-template-columns: 1fr;
    }

    .tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--hero .tidi-lpp__body {
        max-width: 100%;
    }

    .tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--hero .tidi-lpp__title {
        font-size: 1.5rem;
    }

    .tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--hero .tidi-lpp__img-slider-arrow,
    .tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--hero .tidi-lpp__img-slider-badge {
        width:  36px;
        height: 36px;
    }

    /* Full Width Numbered List Boxed: tighter padding/badge on small screens */
    .tidi-lpp--numbered-boxed .tidi-lpp__boxed-body {
        padding: 16px 18px;
    }

    .tidi-lpp--numbered-boxed .tidi-lpp__boxed-num,
    .tidi-lpp--numbered-boxed .tidi-lpp__boxed-cat {
        top:  12px;
    }

    .tidi-lpp--numbered-boxed .tidi-lpp__boxed-num {
        left: 12px;
    }

    .tidi-lpp--numbered-boxed .tidi-lpp__boxed-cat {
        right: 12px;
    }

    .tidi-lpp--numbered-boxed .tidi-lpp__title {
        font-size: 1.1rem;
    }
}

/* =========================================================================
   Dark mode support
   ========================================================================= */
@media ( prefers-color-scheme: dark ) {
    .tidi-lpp {
        --tidi-bg:     #1e293b;
        --tidi-text:   #f1f5f9;
        --tidi-meta:   #94a3b8;
        --tidi-border: #334155;
        --tidi-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
    }

    .tidi-lpp--numbered .tidi-lpp__excerpt {
        color: #94a3b8;
    }

    .tidi-lpp--numbered-grid .tidi-lpp__excerpt {
        color: #94a3b8;
    }

    .tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__excerpt,
    .tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__excerpt {
        color: #94a3b8;
    }

    .tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__title a,
    .tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__title a {
        color: #f1f5f9;
    }

    .tidi-lpp--grid2plus4 .tidi-lpp__item--top .tidi-lpp__author-name,
    .tidi-lpp--grid2plus4 .tidi-lpp__item--bottom .tidi-lpp__author-name {
        color: #f1f5f9;
    }

    .tidi-lpp--hgrid421 .tidi-lpp__title a {
        color: #f1f5f9;
    }

    .tidi-lpp--hgrid421 .tidi-lpp__date,
    .tidi-lpp--hgrid421 .tidi-lpp__meta {
        color: #94a3b8;
    }

    .tidi-lpp__g141-top-title a,
    .tidi-lpp__g141-list-title a {
        color: #f1f5f9;
    }

    .tidi-lpp__g141-top-excerpt {
        color: #94a3b8;
    }

    .tidi-lpp__featured-title a,
    .tidi-lpp__secondary-title a {
        color: #f1f5f9;
    }

    .tidi-lpp__featured-excerpt,
    .tidi-lpp__secondary-excerpt {
        color: #94a3b8;
    }

    .tidi-lpp__author-name {
        color: #f1f5f9;
    }

    .tidi-lpp--gridfullplus2cols .tidi-lpp__item--hero .tidi-lpp__title a,
    .tidi-lpp--gridfullplus2cols .tidi-lpp__item--col .tidi-lpp__title a {
        color: #f1f5f9;
    }

    .tidi-lpp--gridfullplus2cols .tidi-lpp__item--hero .tidi-lpp__excerpt,
    .tidi-lpp--gridfullplus2cols .tidi-lpp__item--col .tidi-lpp__excerpt {
        color: #94a3b8;
    }

    .tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--hero .tidi-lpp__title a,
    .tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--col .tidi-lpp__title a {
        color: #f1f5f9;
    }

    .tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--hero .tidi-lpp__excerpt,
    .tidi-lpp--grid1plus2plus2repeat .tidi-lpp__item--col .tidi-lpp__excerpt {
        color: #94a3b8;
    }

    .tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--hero .tidi-lpp__title a,
    .tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--col .tidi-lpp__title a {
        color: #f1f5f9;
    }

    .tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--hero .tidi-lpp__excerpt,
    .tidi-lpp--grid1plus2plus2repeatslider .tidi-lpp__item--col .tidi-lpp__excerpt {
        color: #94a3b8;
    }
}

/* ==========================================================================
   Allineamento contenuto card
   ========================================================================== */

.tidi-lpp--align-center .tidi-lpp__body,
.tidi-lpp--align-center .tidi-lpp__featured-text,
.tidi-lpp--align-center .tidi-lpp__g141-top,
.tidi-lpp--align-center .tidi-lpp__g141-featured-body,
.tidi-lpp--align-center .tidi-lpp__boxed-body,
.tidi-lpp--align-center .tidi-lpp__content-row {
    text-align: center;
}

.tidi-lpp--align-right .tidi-lpp__body,
.tidi-lpp--align-right .tidi-lpp__featured-text,
.tidi-lpp--align-right .tidi-lpp__g141-top,
.tidi-lpp--align-right .tidi-lpp__g141-featured-body,
.tidi-lpp--align-right .tidi-lpp__boxed-body,
.tidi-lpp--align-right .tidi-lpp__content-row {
    text-align: right;
}

/* Flex items: categorie, meta, author block */
.tidi-lpp--align-center .tidi-lpp__cat,
.tidi-lpp--align-center .tidi-lpp__meta,
.tidi-lpp--align-center .tidi-lpp__author,
.tidi-lpp--align-center .tidi-lpp__author-block,
.tidi-lpp--align-center .tidi-lpp__featured-meta-bar,
.tidi-lpp--align-center .tidi-lpp__byline {
    justify-content: center;
}

.tidi-lpp--align-right .tidi-lpp__cat,
.tidi-lpp--align-right .tidi-lpp__meta,
.tidi-lpp--align-right .tidi-lpp__author,
.tidi-lpp--align-right .tidi-lpp__author-block,
.tidi-lpp--align-right .tidi-lpp__featured-meta-bar,
.tidi-lpp--align-right .tidi-lpp__byline {
    justify-content: flex-end;
}
