/**
 * REI Theme — Stili template interni
 *
 * Stilizza i template:
 *  - page.php (.rei-page)
 *  - single.php (.rei-single)
 *  - archive.php, archive-offerta.php, archive-magazine.php (.rei-archive)
 *
 * Tutti i template condividono lo stesso pattern di hero + body, coerente
 * con la home, usando le CSS vars del design system REI.
 *
 * @since 0.17.0
 */

/* ==========================================================================
   1. HERO COMUNE (page + single + archive)
   ========================================================================== */
.rei-page__hero,
.rei-single__hero,
.rei-archive__hero {
    text-align: center;
    padding: 70px 0;
    background: linear-gradient(110deg, var(--rei-green-light, #6CD41B) 0%, var(--rei-green, #009F3B) 70%);
    color: #fff;
}
.rei-page__hero-inner,
.rei-single__hero-inner,
.rei-archive__hero-inner {
    max-width: 820px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.rei-page__title,
.rei-archive__title {
    font-size: clamp( 2rem, 4.3vw, 3.4375rem );
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    margin: 14px 0 18px;
    color: #fff;
}
.rei-single__title {
    font-size: clamp( 1.8rem, 3.6vw, 2.8rem );
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    margin: 14px 0 18px;
    color: #fff;
}

.rei-page__lead,
.rei-single__lead,
.rei-archive__lead {
    font-size: 1.25rem;
    line-height: 1.55;
    color: #fff;
    margin: 0 0 20px;
    font-weight: 600;
}

/* ==========================================================================
   2. CONTENT BODY (page + single)
   ========================================================================== */
.rei-page__body,
.rei-single__body {
    padding-top: 50px;
    padding-bottom: 70px;
}
.rei-page__container,
.rei-single__container {
    max-width: 780px;
    margin: 0 auto;
}

.rei-page__thumb,
.rei-single__feature {
    margin: -100px 0 36px;
    border-radius: var(--rei-radius-2xl, 28px);
    overflow: hidden;
    box-shadow: var(--rei-shadow-xl, 0 30px 60px rgba(0,0,0,0.12));
    position: relative;
    z-index: 3;
}
.rei-page__thumb img,
.rei-single__feature img,
.rei-single__feature-img {
    width: 100%;
    height: auto;
    display: block;
}
.rei-single__feature .rei-container {
    max-width: 1080px;
}

/* === Typography del content === */
.rei-page__content,
.rei-single__content {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--rei-gray-text, #2c2c2c);
}
.rei-page__content > *,
.rei-single__content > * {
    margin: 0 0 1.4em;
}
.rei-page__content h2,
.rei-single__content h2 {
    font-size: 1.875rem;
    font-weight: 800;
    margin: 2em 0 0.6em;
    letter-spacing: -0.02em;
    color: var(--rei-green, #009F3B);
    text-transform: uppercase;
}
.rei-page__content h3,
.rei-single__content h3 {
    font-size: 1.375rem;
    font-weight: 700;
    margin: 1.8em 0 0.5em;
    color: var(--rei-green, #009F3B);
}
.rei-page__content h4,
.rei-single__content h4 {
    font-size: 1.125rem;
    font-weight: 700;
    margin: 1.6em 0 0.4em;
    color: var(--rei-green-dark, #157155);
}
.rei-page__content blockquote,
.rei-single__content blockquote {
    border-left: 4px solid var(--rei-green, #009F3B);
    padding: 14px 22px;
    margin: 1.8em 0;
    font-style: italic;
    font-size: 1.15rem;
    background: var(--rei-cream, #F5F5F5);
    border-radius: 0 12px 12px 0;
}
.rei-page__content blockquote p:last-child,
.rei-single__content blockquote p:last-child {
    margin-bottom: 0;
}
.rei-page__content ul,
.rei-page__content ol,
.rei-single__content ul,
.rei-single__content ol {
    padding-left: 1.4em;
}
.rei-page__content ul li,
.rei-page__content ol li,
.rei-single__content ul li,
.rei-single__content ol li {
    margin-bottom: 0.4em;
}
.rei-page__content img,
.rei-single__content img {
    border-radius: var(--rei-radius-lg, 16px);
    box-shadow: var(--rei-shadow-md, 0 8px 20px rgba(0,0,0,0.08));
    margin: 1.6em 0;
}
.rei-page__content a,
.rei-single__content a {
    color: var(--rei-green-deep, #157155);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
    transition: var(--rei-transition);
}
.rei-page__content a:hover,
.rei-single__content a:hover {
    color: var(--rei-green-dark, #157155);
}

.rei-page__content code,
.rei-single__content code {
    background: var(--rei-cream-dark, #E7F7ED);
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.92em;
}
.rei-page__content pre,
.rei-single__content pre {
    background: var(--rei-ink, #3C3C3B);
    color: #eee;
    padding: 18px 22px;
    border-radius: 14px;
    overflow-x: auto;
    margin: 1.6em 0;
}
.rei-page__content pre code,
.rei-single__content pre code {
    background: transparent;
    color: inherit;
    padding: 0;
}

/* ==========================================================================
   3. SINGLE — meta, byline, tag, related
   ========================================================================== */
.rei-single__cat {
    display: inline-block;
    padding: 6px 14px;
    background: #fff;
    color: var(--rei-green, #009F3B);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    border-radius: 999px;
    text-decoration: none;
    text-transform: uppercase;
}
.rei-single__cat:hover {
    background: var(--rei-green-dark, #157155);
    color: #fff;
}

.rei-single__meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
    font-size: 0.95rem;
    color: #fff;
}
.rei-single__hero .rei-single__author,
.rei-single__hero .rei-single__sep {
    color: #fff;
}
.rei-single__avatar img {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: block;
}
.rei-single__byline {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.rei-single__author {
    font-weight: 600;
    color: var(--rei-ink, #3C3C3B);
}
.rei-single__sep {
    color: #bbb;
}

.rei-single__tags {
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid #D8E5DE;
    font-size: 0.95rem;
}
.rei-single__tags strong {
    margin-right: 10px;
}
.rei-single__tags a {
    display: inline-block;
    margin-right: 6px;
    padding: 4px 10px;
    background: var(--rei-cream, #F5F5F5);
    border-radius: 999px;
    font-size: 0.85rem;
    color: var(--rei-ink, #3C3C3B);
    text-decoration: none;
}
.rei-single__tags a:hover {
    background: var(--rei-yellow, #D1E000);
}

/* === Related articles === */
.rei-single__related {
    padding-top: 60px;
    padding-bottom: 60px;
}
.rei-single__related-title {
    text-align: center;
    font-size: 2rem;
    font-weight: 800;
    margin: 0 0 32px;
    letter-spacing: -0.02em;
}
.rei-single__related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.rei-single__related-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 2px solid var(--rei-green, #009F3B); /* v2.2: contorno verde su tutti i riquadri */
    border-radius: var(--rei-radius-lg, 16px);
    overflow: hidden;
    box-shadow: var(--rei-shadow-sm, 0 2px 8px rgba(0,0,0,0.06));
    text-decoration: none;
    color: inherit;
    transition: var(--rei-transition);
}
.rei-single__related-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--rei-shadow-lg, 0 20px 40px rgba(0,0,0,0.12));
}
.rei-single__related-thumb img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.rei-single__related-body {
    padding: 18px 20px 22px;
}
.rei-single__related-body h3 {
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 10px;
    color: var(--rei-ink);
}
.rei-single__related-body time {
    font-size: 0.85rem;
    color: var(--rei-gray, #777);
}

/* ==========================================================================
   4. PAGE — children grid
   ========================================================================== */
.rei-page__children {
    margin-top: 60px;
    padding-top: 50px;
    border-top: 1px solid #D8E5DE;
}
.rei-page__children-title {
    font-size: 1.75rem;
    font-weight: 800;
    margin: 0 0 28px;
    text-align: center;
}
.rei-page__children-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}
.rei-page__child-card {
    display: block;
    padding: 24px 28px;
    background: #fff;
    border-radius: var(--rei-radius-lg, 16px);
    text-decoration: none;
    color: inherit;
    box-shadow: var(--rei-shadow-sm);
    border: 2px solid var(--rei-green, #009F3B); /* v2.2: contorno verde su tutti i riquadri */
    transition: var(--rei-transition);
    position: relative;
}
.rei-page__child-card:hover {
    transform: translateY(-3px);
    border-color: var(--rei-green, #009F3B);
    box-shadow: 0 12px 28px rgba(0,159,59, 0.18);
}
.rei-page__child-card h3 {
    font-size: 1.125rem;
    font-weight: 700;
    margin: 0 0 8px;
    color: var(--rei-ink);
}
.rei-page__child-card p {
    margin: 0;
    color: var(--rei-gray, #666);
    font-size: 0.95rem;
    line-height: 1.5;
}
.rei-page__child-arrow {
    position: absolute;
    top: 24px;
    right: 24px;
    color: var(--rei-green, #009F3B);
    font-size: 1.3rem;
    transition: transform 0.2s;
}
.rei-page__child-card:hover .rei-page__child-arrow {
    transform: translateX(4px);
}

/* ==========================================================================
   5. ARCHIVE — griglia generica
   ========================================================================== */
.rei-archive__body {
    padding-top: 50px;
    padding-bottom: 70px;
}

.rei-archive__filters {
    margin-top: 28px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
.rei-archive__filter {
    padding: 8px 18px;
    background: #fff;
    border: 1px solid #CBDED5;
    border-radius: 999px;
    text-decoration: none;
    color: var(--rei-ink, #3C3C3B);
    font-size: 0.9rem;
    font-weight: 600;
    transition: var(--rei-transition);
}
.rei-archive__filter:hover,
.rei-archive__filter.is-active {
    background: var(--rei-green, #009F3B);
    border-color: var(--rei-green, #009F3B);
    color: #fff;
}

.rei-archive__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-bottom: 50px;
}

.rei-archive__card {
    background: #fff;
    border: 2px solid var(--rei-green, #009F3B); /* v2.2: contorno verde su tutti i riquadri */
    border-radius: var(--rei-radius-lg, 16px);
    overflow: hidden;
    box-shadow: var(--rei-shadow-sm);
    transition: var(--rei-transition);
}
.rei-archive__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--rei-shadow-lg, 0 20px 40px rgba(0,0,0,0.12));
}
.rei-archive__card-link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    height: 100%;
}
.rei-archive__card-thumb {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--rei-cream-dark, #E7F7ED);
}
.rei-archive__card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s;
}
.rei-archive__card:hover .rei-archive__card-thumb img {
    transform: scale(1.05);
}
.rei-archive__card-thumb--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
}
.rei-archive__card-body {
    padding: 20px 22px 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.rei-archive__card-cat {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--rei-green-deep, #157155);
    letter-spacing: 0.08em;
    margin-bottom: 8px;
}
.rei-archive__card-title {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 10px;
    color: var(--rei-ink);
}
.rei-archive__card-excerpt {
    color: var(--rei-gray, #666);
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0 0 14px;
    flex: 1;
}
.rei-archive__card-meta {
    font-size: 0.85rem;
    color: var(--rei-gray, #777);
}

/* ==========================================================================
   6. (DEPRECATO) ARCHIVE MAGAZINE — variante card --mag
   Dalla v1.24.3 l'archivio Magazine usa il template archive-magazine.php
   con CSS dedicato in assets/css/archive-magazine.css (classi .rei-mag-card).
   Il blocco qui sotto è mantenuto per retro-compatibilità nel caso di
   override di terze parti.
   ========================================================================== */

.rei-archive__card--mag {
    background: #fff;
    text-align: center;
}
.rei-archive__card--mag .rei-archive__card-thumb {
    aspect-ratio: 16 / 10;
}
.rei-archive__card--mag .rei-archive__card-body {
    padding: 22px 24px 26px;
    text-align: center;
    align-items: center;
}
.rei-archive__card--mag .rei-archive__card-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--rei-green-deep, #009F3B);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    line-height: 1.25;
    margin: 0 0 10px;
}
.rei-archive__card--mag .rei-archive__card-meta {
    font-size: 0.9rem;
    color: var(--rei-gray, #555);
    margin-bottom: 14px;
    text-align: center;
}
.rei-archive__card--mag .rei-archive__card-excerpt {
    color: var(--rei-gray, #555);
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0 0 18px;
    flex: 1;
}
.rei-archive__card--mag .rei-archive__card-cta {
    display: inline-block;
    color: var(--rei-green-deep, #009F3B);
    font-weight: 800;
    font-size: 1rem;
    letter-spacing: 0.02em;
    transition: color 0.2s ease;
    margin-top: auto;
}
.rei-archive__card--mag:hover .rei-archive__card-cta {
    color: #157155;
    text-decoration: underline;
}

/* ==========================================================================
   6b. (DEPRECATO) ARCHIVE MAGAZINE — featured article
   Mantenuto per retro-compatibilità (non più usato in archive-magazine.php
   dalla v1.24.1: vedi card --mag sopra).
   ========================================================================== */
.rei-magazine-featured {
    background: #fff;
    border: 2px solid var(--rei-green, #009F3B); /* v2.2: contorno verde su tutti i riquadri */
    border-radius: var(--rei-radius-2xl, 28px);
    overflow: hidden;
    box-shadow: var(--rei-shadow-xl);
    margin-bottom: 50px;
}
.rei-magazine-featured__link {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    text-decoration: none;
    color: inherit;
}
.rei-magazine-featured__thumb {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--rei-cream-dark);
}
.rei-magazine-featured__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}
.rei-magazine-featured:hover .rei-magazine-featured__thumb img {
    transform: scale(1.04);
}
.rei-magazine-featured__body {
    padding: 36px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.rei-magazine-featured__cat {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--rei-green-deep, #157155);
    letter-spacing: 0.1em;
    margin-bottom: 14px;
    text-transform: uppercase;
}
.rei-magazine-featured__title {
    font-size: clamp( 1.5rem, 2.4vw, 2rem );
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 14px;
    color: var(--rei-ink);
    letter-spacing: -0.02em;
}
.rei-magazine-featured__excerpt {
    color: var(--rei-gray, #555);
    font-size: 1rem;
    line-height: 1.55;
    margin: 0 0 18px;
}
.rei-magazine-featured__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: var(--rei-gray, #777);
}

/* ==========================================================================
   7. ARCHIVE OFFERTE — card prezzo
   ========================================================================== */
.rei-archive__grid--offerte {
    grid-template-columns: repeat(2, 1fr);
}
.rei-offerta-card {
    background: #fff;
    border-radius: var(--rei-radius-2xl, 28px);
    padding: 32px 34px;
    box-shadow: var(--rei-shadow-md);
    display: flex;
    flex-direction: column;
    border: 2px solid var(--rei-green, #009F3B); /* v2.2: contorno verde su tutti i riquadri */
    transition: var(--rei-transition);
}
.rei-offerta-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--rei-shadow-xl);
}
.rei-offerta-card--green,
.rei-offerta-card--red {
    border-color: var(--rei-green, #009F3B); /* v2.2: contorno verde pieno */
}
.rei-offerta-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.rei-offerta-card__tipologia {
    font-size: 0.8rem;
    padding: 4px 12px;
    background: var(--rei-cream, #F5F5F5);
    border-radius: 999px;
    color: var(--rei-ink);
    font-weight: 600;
}
.rei-offerta-card__title {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0 0 18px;
    line-height: 1.15;
    letter-spacing: -0.02em;
}
.rei-offerta-card__title a {
    color: var(--rei-ink);
    text-decoration: none;
}
.rei-offerta-card__title a:hover {
    color: var(--rei-green-deep);
}
.rei-offerta-card__price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 14px;
}
.rei-offerta-card__price-amount {
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--rei-ink);
    letter-spacing: -0.03em;
    line-height: 1;
}
.rei-offerta-card--red .rei-offerta-card__price-amount {
    color: #157155;
}
.rei-offerta-card--green .rei-offerta-card__price-amount {
    color: var(--rei-green-deep, #157155);
}
.rei-offerta-card__price-unit {
    font-size: 1rem;
    color: var(--rei-gray, #666);
    font-weight: 600;
}
.rei-offerta-card__durata {
    background: var(--rei-cream, #F5F5F5);
    padding: 10px 14px;
    border-radius: 10px;
    margin: 0 0 18px;
    font-size: 0.95rem;
}
.rei-offerta-card__durata strong {
    display: block;
    font-size: 0.8rem;
    color: var(--rei-gray, #555);
    margin-bottom: 2px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.rei-offerta-card__vantaggi {
    list-style: none;
    padding: 0;
    margin: 0 0 22px;
    flex: 1;
}
.rei-offerta-card__vantaggi li {
    padding: 4px 0 4px 26px;
    position: relative;
    font-size: 0.95rem;
    color: var(--rei-ink);
}
.rei-offerta-card__vantaggi li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 4px;
    color: var(--rei-green, #009F3B);
    font-weight: 700;
}
.rei-offerta-card--red .rei-offerta-card__vantaggi li::before {
    color: #157155;
}
.rei-offerta-card__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.rei-offerta-card__arera {
    font-size: 0.75rem;
    color: var(--rei-gray, #888);
}
.rei-offerta-card__arera code {
    background: var(--rei-cream-dark, #E7F7ED);
    padding: 1px 8px;
    border-radius: 4px;
    font-family: monospace;
}

/* ==========================================================================
   8. PAGINAZIONE
   ========================================================================== */
.rei-archive__pagination .nav-links,
.rei-archive__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 40px;
    flex-wrap: wrap;
}
.rei-archive__pagination .page-numbers {
    padding: 10px 16px;
    border: 1px solid #CBDED5;
    border-radius: 8px;
    background: #fff;
    color: var(--rei-ink);
    font-weight: 600;
    text-decoration: none;
    transition: var(--rei-transition);
    min-width: 44px;
    text-align: center;
}
.rei-archive__pagination .page-numbers:hover,
.rei-archive__pagination .page-numbers.current {
    background: var(--rei-green, #009F3B);
    border-color: var(--rei-green, #009F3B);
    color: #fff;
}

/* ==========================================================================
   9. EMPTY STATE
   ========================================================================== */
.rei-archive__empty {
    text-align: center;
    padding: 80px 20px;
    color: var(--rei-gray, #777);
}
.rei-archive__empty h2 {
    font-size: 1.5rem;
    margin: 0 0 10px;
    color: var(--rei-ink);
}
.rei-archive__empty p {
    margin: 0;
    font-size: 1.05rem;
}

/* ==========================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 960px) {
    .rei-archive__grid,
    .rei-single__related-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .rei-archive__grid--offerte {
        grid-template-columns: 1fr;
    }
    .rei-magazine-featured__link {
        grid-template-columns: 1fr;
    }
    .rei-magazine-featured__thumb {
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 768px) {
    .rei-page__hero,
    .rei-single__hero,
    .rei-archive__hero {
        padding: 50px 0 36px;
    }
    .rei-page__body,
    .rei-single__body,
    .rei-archive__body {
        padding-top: 30px;
        padding-bottom: 40px;
    }
    .rei-archive__grid,
    .rei-single__related-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .rei-page__children-grid {
        grid-template-columns: 1fr;
    }
    .rei-page__thumb,
    .rei-single__feature {
        margin-top: -50px;
        border-radius: var(--rei-radius-lg, 16px);
    }
    .rei-offerta-card {
        padding: 24px 22px;
    }
    .rei-offerta-card__price-amount {
        font-size: 2rem;
    }
    .rei-magazine-featured__body {
        padding: 24px 22px 28px;
    }
    .rei-page__content,
    .rei-single__content {
        font-size: 1rem;
    }
    .rei-page__content h2,
    .rei-single__content h2 {
        font-size: 1.5rem;
    }
    .rei-page__content h3,
    .rei-single__content h3 {
        font-size: 1.2rem;
    }
}

/* ==========================================================================
   11. BLOCK PATTERN — Hero pagina interna (minimal editabile)
   v0.17.3: Stile minimal con tutti i blocchi editabili (no più span/pillole HTML).
   Tipografia coerente con la home ma senza decorazioni che richiedano markup
   custom non editabile dall'utente.
   ========================================================================== */
.rei-pattern-hero {
    padding: 60px 0 50px;
    position: relative;
    overflow: hidden;
}
.rei-pattern-hero .wp-block-columns,
.rei-pattern-hero__columns {
    align-items: center;
    gap: 50px;
}
/* Eyebrow: verde, uppercase, letter-spacing largo, piccolo */
.rei-pattern-hero__eyebrow {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--rei-green-deep, #157155) !important;
    margin: 0 0 16px !important;
    line-height: 1.3 !important;
}
/* Titolo: grande, bold, leading stretto */
.rei-pattern-hero__title {
    font-size: clamp( 2.5rem, 5vw, 4.5rem ) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.025em !important;
    margin: 0 0 22px !important;
    color: var(--rei-ink, #3C3C3B) !important;
}
/* Sottotitolo */
.rei-pattern-hero__sub {
    font-size: 1.25rem !important;
    line-height: 1.5 !important;
    color: var(--rei-ink-soft, #4a4a4a) !important;
    margin: 0 0 28px !important;
}
/* Bottoni CTA */
.rei-pattern-hero__cta {
    margin-bottom: 22px !important;
    gap: 14px !important;
}
.rei-pattern-hero__cta .wp-block-button .wp-block-button__link {
    padding: 16px 28px;
    font-weight: 700;
    font-size: 1.05rem;
    border-radius: 999px;
    border: 2px solid transparent;
    transition: var(--rei-transition);
}
/* Bottone primario verde pieno */
.rei-pattern-hero__btn--primary .wp-block-button__link {
    background: var(--rei-green, #009F3B);
    color: #fff;
    border-color: var(--rei-green, #009F3B);
}
.rei-pattern-hero__btn--primary .wp-block-button__link:hover {
    background: var(--rei-green-deep, #157155);
    border-color: var(--rei-green-deep, #157155);
    transform: translateY(-2px);
}
/* Bottone secondario outline scuro */
.rei-pattern-hero__btn--secondary .wp-block-button__link {
    background: transparent;
    color: var(--rei-ink, #3C3C3B);
    border-color: var(--rei-ink, #3C3C3B);
}
.rei-pattern-hero__btn--secondary .wp-block-button__link:hover {
    background: var(--rei-ink, #3C3C3B);
    color: #fff;
    transform: translateY(-2px);
}
/* Trust line */
.rei-pattern-hero__trust {
    font-size: 0.95rem !important;
    color: var(--rei-green-deep, #157155) !important;
    margin: 0 !important;
}
/* Foto */
.rei-pattern-hero__photo img {
    border-radius: var(--rei-radius-2xl, 28px);
    box-shadow: var(--rei-shadow-xl, 0 30px 60px rgba(0,0,0,0.12));
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 768px) {
    .rei-pattern-hero {
        padding: 40px 0 36px;
    }
    .rei-pattern-hero .wp-block-columns,
    .rei-pattern-hero__columns {
        gap: 28px;
    }
    .rei-pattern-hero__title {
        font-size: clamp( 2rem, 6vw, 2.8rem ) !important;
    }
    .rei-pattern-hero__sub {
        font-size: 1.05rem !important;
    }
    .rei-pattern-hero__cta {
        flex-direction: column;
    }
    .rei-pattern-hero__cta .wp-block-button {
        width: 100%;
    }
    .rei-pattern-hero__cta .wp-block-button .wp-block-button__link {
        width: 100%;
        text-align: center;
    }
}


/* ==========================================================================
   v0.18.0 — PATTERN COMUNI
   Stili condivisi tra più pattern (eyebrow, section title)
   ========================================================================== */
.rei-pattern-eyebrow {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--rei-green-deep, #157155) !important;
    margin: 0 0 14px !important;
    line-height: 1.3 !important;
}
.rei-pattern-section-title {
    font-size: clamp( 2rem, 4vw, 3rem ) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.025em !important;
    margin: 0 0 40px !important;
    color: var(--rei-ink, #3C3C3B) !important;
}

/* ==========================================================================
   v0.18.0 — PATTERN 5: Mini Hero
   ========================================================================== */
.rei-pattern-minihero {
    padding: 70px 0 60px;
    text-align: center;
}
.rei-pattern-minihero__eyebrow {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--rei-green-deep, #157155) !important;
    margin: 0 0 16px !important;
}
.rei-pattern-minihero__title {
    font-size: clamp( 2.5rem, 5vw, 4rem ) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.025em !important;
    margin: 0 0 20px !important;
    color: var(--rei-ink, #3C3C3B) !important;
}
.rei-pattern-minihero__sub {
    font-size: 1.2rem !important;
    line-height: 1.55 !important;
    color: var(--rei-ink-soft, #4a4a4a) !important;
    margin: 0 auto 28px !important;
    max-width: 620px;
}
.rei-pattern-minihero__cta {
    justify-content: center !important;
    gap: 14px !important;
}

/* ==========================================================================
   v0.18.0 — PATTERN 6: Servizi grid
   ========================================================================== */
.rei-pattern-servizi {
    padding: 70px 0;
    text-align: center;
}
.rei-pattern-servizi__grid {
    margin-top: 20px;
    gap: 24px !important;
}
.rei-pattern-servizi__card {
    background: #fff;
    border-radius: var(--rei-radius-lg, 16px);
    padding: 32px 22px !important;
    box-shadow: var(--rei-shadow-md, 0 8px 20px rgba(0,0,0,0.06));
    text-align: center;
    transition: var(--rei-transition);
    border: 2px solid var(--rei-green, #009F3B); /* v2.2: contorno verde su tutti i riquadri */
}
.rei-pattern-servizi__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--rei-shadow-xl, 0 20px 40px rgba(0,0,0,0.12));
}
.rei-pattern-servizi__icon {
    font-size: 2.5rem !important;
    margin: 0 0 14px !important;
    line-height: 1 !important;
}
.rei-pattern-servizi__title {
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    margin: 0 0 10px !important;
    color: var(--rei-ink, #3C3C3B) !important;
    letter-spacing: -0.01em !important;
}
.rei-pattern-servizi__desc {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    color: var(--rei-gray, #6c6c6c) !important;
    margin: 0 !important;
}

/* ==========================================================================
   v0.18.0 — PATTERN 7: CTA banner finale
   ========================================================================== */
.rei-pattern-cta-banner {
    background: linear-gradient(135deg, var(--rei-green, #009F3B), var(--rei-green-deep, #157155)) !important;
    padding: 70px 24px;
    text-align: center;
    color: #fff;
}
.rei-pattern-cta-banner__title {
    font-size: clamp( 2.25rem, 4.5vw, 3.5rem ) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.025em !important;
    color: #fff !important;
    margin: 0 auto 18px !important;
    max-width: 720px;
}
.rei-pattern-cta-banner__sub {
    font-size: 1.15rem !important;
    line-height: 1.55 !important;
    color: rgba(255,255,255,0.92) !important;
    margin: 0 auto 32px !important;
    max-width: 580px;
}
.rei-pattern-cta-banner__cta {
    justify-content: center !important;
    gap: 14px !important;
}
.rei-pattern-cta-banner__btn .wp-block-button__link {
    padding: 16px 32px;
    font-weight: 700;
    font-size: 1.05rem;
    border-radius: 999px;
    border: 2px solid transparent;
    transition: var(--rei-transition);
}
.rei-pattern-cta-banner__btn--white .wp-block-button__link {
    background: #fff;
    color: var(--rei-green-deep, #157155);
    border-color: #fff;
}
.rei-pattern-cta-banner__btn--white .wp-block-button__link:hover {
    background: var(--rei-cream, #F5F5F5);
    transform: translateY(-2px);
}
.rei-pattern-cta-banner__btn--ghost .wp-block-button__link {
    background: transparent;
    color: #fff;
    border-color: rgba(255,255,255,0.6);
}
.rei-pattern-cta-banner__btn--ghost .wp-block-button__link:hover {
    background: rgba(255,255,255,0.1);
    border-color: #fff;
    transform: translateY(-2px);
}

/* ==========================================================================
   v0.18.0 — PATTERN 8: Magazine 3 articoli
   ========================================================================== */
.rei-pattern-magazine {
    padding: 70px 0;
    text-align: center;
}
.rei-pattern-magazine__grid {
    margin-top: 20px;
    gap: 24px !important;
}
.rei-pattern-magazine__card {
    background: #fff !important;
    border: 2px solid var(--rei-green, #009F3B); /* v2.2: contorno verde su tutti i riquadri */
    border-radius: var(--rei-radius-lg, 16px) !important;
    overflow: hidden;
    padding: 0 !important;
    box-shadow: var(--rei-shadow-md);
    text-align: left;
    transition: var(--rei-transition);
}
.rei-pattern-magazine__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--rei-shadow-xl);
}
.rei-pattern-magazine__thumb {
    margin: 0 !important;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--rei-cream-dark, #E7F7ED);
}
.rei-pattern-magazine__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.rei-pattern-magazine__cat {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    color: var(--rei-green-deep, #157155) !important;
    margin: 18px 22px 8px !important;
    text-transform: uppercase !important;
}
.rei-pattern-magazine__title {
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    margin: 0 22px 8px !important;
    color: var(--rei-ink, #3C3C3B) !important;
    letter-spacing: -0.01em !important;
}
.rei-pattern-magazine__excerpt {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    color: var(--rei-gray, #6c6c6c) !important;
    margin: 0 22px 22px !important;
}

/* ==========================================================================
   v0.18.0 — PATTERN 9: Sezione Offerta
   ========================================================================== */
.rei-pattern-offerta {
    padding: 70px 0;
}
.rei-pattern-offerta__columns {
    align-items: center;
    gap: 50px !important;
}
.rei-pattern-offerta__eyebrow {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #157155 !important; /* rosso per offerte gas, cambiabile */
    margin: 0 0 14px !important;
}
.rei-pattern-offerta__title {
    font-size: clamp( 2rem, 4vw, 3rem ) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.025em !important;
    margin: 0 0 16px !important;
    color: var(--rei-ink, #3C3C3B) !important;
}
.rei-pattern-offerta__sub {
    font-size: 1.15rem !important;
    line-height: 1.55 !important;
    color: var(--rei-ink-soft, #4a4a4a) !important;
    margin: 0 0 24px !important;
}
.rei-pattern-offerta__prezzi {
    margin-bottom: 28px !important;
    gap: 14px !important;
}
.rei-pattern-offerta__prezzo {
    background: #fff !important;
    border-radius: 14px;
    padding: 18px 20px !important;
    border: 1px solid #DCE8E2;
}
.rei-pattern-offerta__prezzo-label {
    font-size: 0.78rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--rei-gray, #777) !important;
    margin: 0 0 6px !important;
    font-weight: 600 !important;
}
.rei-pattern-offerta__prezzo-amount {
    font-size: 1.6rem !important;
    font-weight: 900 !important;
    color: var(--rei-ink, #3C3C3B) !important;
    margin: 0 !important;
    letter-spacing: -0.02em !important;
}
.rei-pattern-offerta__cta {
    gap: 14px !important;
}
.rei-pattern-offerta__photo img {
    border-radius: var(--rei-radius-2xl, 28px);
    box-shadow: var(--rei-shadow-xl);
    width: 100%;
    height: auto;
}

/* ==========================================================================
   v0.18.0 — PATTERN 10: Sezione Chiamate (testo+lista+foto)
   ========================================================================== */
.rei-pattern-chiamate {
    padding: 70px 0;
}
.rei-pattern-chiamate__eyebrow {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--rei-green-deep, #157155) !important;
    margin: 0 0 14px !important;
}
.rei-pattern-chiamate__title {
    font-size: clamp( 2rem, 4vw, 3rem ) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.025em !important;
    margin: 0 0 16px !important;
    color: var(--rei-ink, #3C3C3B) !important;
}
.rei-pattern-chiamate__sub {
    font-size: 1.15rem !important;
    line-height: 1.55 !important;
    color: var(--rei-ink-soft, #4a4a4a) !important;
    margin: 0 0 24px !important;
}
.rei-pattern-chiamate__list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.rei-pattern-chiamate__list li {
    position: relative;
    padding: 8px 0 8px 32px !important;
    font-size: 1rem !important;
    color: var(--rei-ink, #3C3C3B) !important;
    line-height: 1.5;
}
.rei-pattern-chiamate__list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 6px;
    width: 22px;
    height: 22px;
    background: var(--rei-green, #009F3B);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 13px;
}
.rei-pattern-chiamate__photo img {
    border-radius: var(--rei-radius-2xl, 28px);
    box-shadow: var(--rei-shadow-xl);
    width: 100%;
    height: auto;
}

/* ==========================================================================
   v0.18.0 — PATTERN 11: Sezione App (dark)
   ========================================================================== */
.rei-pattern-app {
    background: var(--rei-ink, #3C3C3B) !important;
    color: #fff !important;
    padding: 70px 0;
}
.rei-pattern-app__phone img {
    width: 100%;
    height: auto;
    max-width: 360px;
    margin: 0 auto;
    display: block;
    filter: drop-shadow(0 30px 60px rgba(0,159,59, 0.25));
}
.rei-pattern-app__eyebrow {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--rei-green, #009F3B) !important;
    margin: 0 0 14px !important;
}
.rei-pattern-app__title {
    font-size: clamp( 2.25rem, 4.5vw, 3.5rem ) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.025em !important;
    color: #fff !important;
    margin: 0 0 18px !important;
}
.rei-pattern-app__sub {
    font-size: 1.15rem !important;
    line-height: 1.55 !important;
    color: rgba(255,255,255,0.85) !important;
    margin: 0 0 28px !important;
}
.rei-pattern-app__stores {
    gap: 14px !important;
}
.rei-pattern-app__store .wp-block-button__link {
    padding: 14px 26px;
    font-weight: 700;
    font-size: 1rem;
    border-radius: 14px;
    border: 1px solid transparent;
    background: #fff;
    color: var(--rei-ink, #3C3C3B);
    transition: var(--rei-transition);
}
.rei-pattern-app__store .wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(0,159,59, 0.3);
}

/* ==========================================================================
   v0.18.0 — PATTERN 12: Testimonianze
   ========================================================================== */
.rei-pattern-testimonianze {
    padding: 70px 0;
    text-align: center;
}
.rei-pattern-testimonianze__grid {
    margin-top: 20px;
    gap: 24px !important;
}
.rei-pattern-testimonianze__card {
    background: #fff !important;
    border-radius: var(--rei-radius-lg, 16px) !important;
    padding: 28px 26px !important;
    text-align: left;
    box-shadow: var(--rei-shadow-md);
    border: 2px solid var(--rei-green, #009F3B); /* v2.2: contorno verde su tutti i riquadri */
}
.rei-pattern-testimonianze__stars {
    font-size: 1.2rem !important;
    color: #D1E000 !important;
    letter-spacing: 0.15em !important;
    margin: 0 0 14px !important;
    line-height: 1 !important;
}
.rei-pattern-testimonianze__quote {
    font-size: 1.05rem !important;
    line-height: 1.55 !important;
    color: var(--rei-ink, #3C3C3B) !important;
    margin: 0 0 20px !important;
    font-style: italic;
}
.rei-pattern-testimonianze__author {
    font-size: 0.92rem !important;
    line-height: 1.4 !important;
    color: var(--rei-gray, #6c6c6c) !important;
    margin: 0 !important;
}
.rei-pattern-testimonianze__author strong {
    color: var(--rei-ink, #3C3C3B);
    font-weight: 700;
}

/* ==========================================================================
   v0.18.0 — RESPONSIVE per tutti i pattern nuovi
   ========================================================================== */
@media (max-width: 768px) {
    .rei-pattern-minihero,
    .rei-pattern-servizi,
    .rei-pattern-magazine,
    .rei-pattern-offerta,
    .rei-pattern-chiamate,
    .rei-pattern-app,
    .rei-pattern-testimonianze {
        padding: 44px 0;
    }
    .rei-pattern-cta-banner {
        padding: 50px 20px;
    }
    .rei-pattern-section-title {
        font-size: clamp( 1.6rem, 6vw, 2.2rem ) !important;
        margin-bottom: 28px !important;
    }
    .rei-pattern-minihero__title,
    .rei-pattern-offerta__title,
    .rei-pattern-chiamate__title,
    .rei-pattern-app__title,
    .rei-pattern-cta-banner__title {
        font-size: clamp( 1.75rem, 6vw, 2.4rem ) !important;
    }
    .rei-pattern-minihero__cta,
    .rei-pattern-cta-banner__cta,
    .rei-pattern-offerta__cta,
    .rei-pattern-app__stores {
        flex-direction: column;
    }
    .rei-pattern-minihero__cta .wp-block-button,
    .rei-pattern-cta-banner__cta .wp-block-button,
    .rei-pattern-offerta__cta .wp-block-button,
    .rei-pattern-app__stores .wp-block-button {
        width: 100%;
    }
    .rei-pattern-minihero__cta .wp-block-button__link,
    .rei-pattern-cta-banner__cta .wp-block-button__link,
    .rei-pattern-offerta__cta .wp-block-button__link,
    .rei-pattern-app__stores .wp-block-button__link {
        width: 100%;
        text-align: center;
    }
}

/* ==========================================================================
   GNE — FASCIA HERO COMUNE (.fe-page-hero) — spec §7
   Su GNE le pagine hanno titoli display VERDI su BIANCO (niente fascia
   gradiente): fondo bianco, titolo display verde #009F3B gigante uppercase,
   sottotitolo #3C3C3B, chip/ovali OUTLINE verdi con testo verde.
   I template REI mantengono i propri theme_mod di titolo/sottotitolo:
   qui si uniforma solo la veste grafica. Tutto ciò che prima era testo
   bianco su gradiente qui viene forzato scuro/verde su bianco.
   ========================================================================== */
.fe-page-hero {
    background: var(--rei-white, #FFFFFF) !important;
    padding: 70px 0 !important;
    position: relative;
    z-index: 1;
    overflow: hidden;
    color: var(--rei-ink, #3C3C3B);
    border-bottom: 1px solid rgba(0, 159, 59, 0.16);
}
/* Titolo display: VERDE #009F3B gigante uppercase */
.fe-page-hero h1,
.fe-page-hero h1 span,
.fe-page-hero h1 strong {
    color: var(--rei-green, #009F3B) !important;
    -webkit-text-fill-color: var(--rei-green, #009F3B);
}
.fe-page-hero h1 {
    text-transform: uppercase !important;
    font-weight: 900 !important;
    font-size: clamp(2.4rem, 6vw, 4.75rem) !important; /* ~76px desktop */
    line-height: 1.02 !important;
    letter-spacing: 0.005em !important;
    margin: 0 0 18px !important;
    text-shadow: none;
}
/* Neutralizza le "sottolineature evidenziatore" REI dentro l'hero */
.fe-page-hero .rei-underline,
.fe-page-hero .rei-underline.is-visible,
.fe-page-hero .rei-underline--yellow,
.fe-page-hero .rei-underline--green,
.fe-page-hero .rei-underline--red {
    background: transparent !important;
    background-image: none !important;
}
/* Eyebrow / chip / categoria: ovale OUTLINE VERDE con testo VERDE su bianco.
   Specificità e posizione in cascata superiori alla regola sui link, così
   il chip-link (es. .rei-single__cat negli articoli) resta verde. */
.fe-page-hero [class*="__eyebrow"],
.fe-page-hero [class*="__chip"],
.fe-page-hero [class*="__cat"],
.fe-page-hero [class*="__category"],
.fe-page-hero .rei-eyebrow,
.fe-page-hero .rei-single__cat {
    display: inline-block;
    background: var(--rei-white, #FFFFFF) !important;
    border: 2px solid var(--rei-green, #009F3B) !important;
    color: var(--rei-green, #009F3B) !important;
    -webkit-text-fill-color: var(--rei-green, #009F3B);
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 700 !important;
    border-radius: 999px;
    text-decoration: none !important;
}
/* Il generico .rei-eyebrow non ha padding proprio: da pillola ne serve uno */
.fe-page-hero .rei-eyebrow { padding: 6px 16px; }
/* Chip-link (es. categoria articolo): hover invertito, verde pieno + bianco */
.fe-page-hero a[class*="__eyebrow"]:hover,
.fe-page-hero a[class*="__chip"]:hover,
.fe-page-hero a[class*="__cat"]:hover,
.fe-page-hero a[class*="__category"]:hover,
.fe-page-hero a.rei-single__cat:hover {
    background: var(--rei-green, #009F3B) !important;
    border-color: var(--rei-green, #009F3B) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
}
/* Sottotitolo / intro / lead: SCURO #3C3C3B su bianco (prima era testo
   bianco su gradiente: qui l'override scuro garantisce la leggibilità) */
.fe-page-hero p,
.fe-page-hero li,
.fe-page-hero [class*="__intro"],
.fe-page-hero [class*="__lead"],
.fe-page-hero [class*="__sub"] {
    color: var(--rei-ink, #3C3C3B) !important;
}
.fe-page-hero [class*="__intro"],
.fe-page-hero [class*="__lead"] {
    font-size: clamp(1.05rem, 1.8vw, 1.375rem) !important;
    line-height: 1.55 !important;
    font-weight: 500;
}
.fe-page-hero [class*="__intro"] strong,
.fe-page-hero [class*="__lead"] strong,
.fe-page-hero [class*="__intro"] em,
.fe-page-hero [class*="__lead"] em {
    color: var(--rei-green-dark, #157155) !important;
    font-weight: 800;
}
/* Link semplici: verdi sottolineati su bianco */
.fe-page-hero a {
    color: var(--rei-green, #009F3B) !important;
    text-decoration: underline;
}
/* Bottoni/CTA dentro l'hero: pill VERDE piena con testo bianco */
.fe-page-hero a[class*="btn"],
.fe-page-hero a[class*="cta"],
.fe-page-hero button[class*="btn"],
.fe-page-hero button[class*="cta"] {
    background: var(--rei-green, #009F3B) !important;
    color: #fff !important;
    border-color: var(--rei-green, #009F3B) !important;
    text-decoration: none !important;
}
.fe-page-hero a[class*="btn"]:hover,
.fe-page-hero a[class*="cta"]:hover,
.fe-page-hero button[class*="btn"]:hover,
.fe-page-hero button[class*="cta"]:hover {
    background: var(--rei-green-dark, #157155) !important;
    border-color: var(--rei-green-dark, #157155) !important;
    color: #fff !important;
}
/* Badge/step/icone tonde dentro l'hero: cerchio outline verde su bianco */
.fe-page-hero [class*="__hero-icon"] {
    background: rgba(0, 159, 59, 0.06) !important;
    border: 2px solid var(--rei-green, #009F3B);
    color: var(--rei-green, #009F3B) !important;
    box-shadow: none !important;
}
/* Filtri (listing Magazine/Comunicazioni): ovali outline verdi su bianco */
.fe-page-hero [class*="__filter"] {
    background: var(--rei-white, #FFFFFF) !important;
    border: 2px solid var(--rei-green, #009F3B) !important;
    color: var(--rei-green, #009F3B) !important;
    text-decoration: none;
}
.fe-page-hero [class*="__filter"]:hover,
.fe-page-hero [class*="__filter"].is-active {
    background: var(--rei-green, #009F3B) !important;
    color: #fff !important;
}
@media (max-width: 768px) {
    .fe-page-hero {
        padding: 48px 0 !important;
    }
}

/* ==========================================================================
   FIX "BOX CHIARI CON TESTO BIANCO" DENTRO LA FASCIA HERO
   Le card intro (.rei-*__intro) hanno sfondo CHIARO (gradiente mint
   #E7F7ED → #CFF0DC, o bianco per .rei-acc__intro) ma stanno DENTRO
   .fe-page-hero, dove ".fe-page-hero p / [class*='__intro'] / a
   { color:#fff !important }" forzava il testo BIANCO → quasi invisibile
   su fondo chiaro (es. /attiva/: "Carica la tua bolletta o inserisci i
   dati."). Qui si forza il VERDE SCURO #157155 con specificità (0,2,1)
   superiore alle regole generiche (0,1,1)/(0,2,0) e posizione in cascata
   successiva. I box scuri/verdi pieni e i bottoni NON sono toccati.
   (.rei-cand__intro ha già il proprio fix in page-candidatura.css.)
   ========================================================================== */
.fe-page-hero .rei-attiva__intro,
.fe-page-hero .rei-pi__intro,
.fe-page-hero .rei-cmor__intro,
.fe-page-hero .rei-meteo__intro,
.fe-page-hero .rei-ass__intro,
.fe-page-hero .rei-con__intro,
.fe-page-hero .rei-acc__intro,
.fe-page-hero .rei-attiva__intro p,
.fe-page-hero .rei-pi__intro p,
.fe-page-hero .rei-cmor__intro p,
.fe-page-hero .rei-meteo__intro p,
.fe-page-hero .rei-ass__intro p,
.fe-page-hero .rei-con__intro p,
.fe-page-hero .rei-acc__intro p,
.fe-page-hero .rei-attiva__intro li,
.fe-page-hero .rei-pi__intro li,
.fe-page-hero .rei-cmor__intro li,
.fe-page-hero .rei-meteo__intro li,
.fe-page-hero .rei-ass__intro li,
.fe-page-hero .rei-con__intro li,
.fe-page-hero .rei-acc__intro li,
.fe-page-hero .rei-attiva__intro em,
.fe-page-hero .rei-pi__intro em,
.fe-page-hero .rei-cmor__intro em,
.fe-page-hero .rei-meteo__intro em,
.fe-page-hero .rei-ass__intro em,
.fe-page-hero .rei-con__intro em,
.fe-page-hero .rei-acc__intro em {
    color: var(--rei-green-dark, #157155) !important;
    -webkit-text-fill-color: var(--rei-green-dark, #157155);
}
/* Grassetti dentro le card chiare: verde scuro, peso invariato */
.fe-page-hero .rei-attiva__intro strong,
.fe-page-hero .rei-pi__intro strong,
.fe-page-hero .rei-cmor__intro strong,
.fe-page-hero .rei-meteo__intro strong,
.fe-page-hero .rei-ass__intro strong,
.fe-page-hero .rei-con__intro strong,
.fe-page-hero .rei-acc__intro strong,
.fe-page-hero .rei-attiva__intro b,
.fe-page-hero .rei-pi__intro b,
.fe-page-hero .rei-cmor__intro b,
.fe-page-hero .rei-meteo__intro b,
.fe-page-hero .rei-ass__intro b,
.fe-page-hero .rei-con__intro b,
.fe-page-hero .rei-acc__intro b {
    color: var(--rei-green-dark, #157155) !important;
    -webkit-text-fill-color: var(--rei-green-dark, #157155);
}
/* Link dentro le card chiare: verde #009F3B sottolineato (non i bottoni) */
.fe-page-hero .rei-attiva__intro a:not([class*="btn"]):not([class*="cta"]),
.fe-page-hero .rei-pi__intro a:not([class*="btn"]):not([class*="cta"]),
.fe-page-hero .rei-cmor__intro a:not([class*="btn"]):not([class*="cta"]),
.fe-page-hero .rei-meteo__intro a:not([class*="btn"]):not([class*="cta"]),
.fe-page-hero .rei-ass__intro a:not([class*="btn"]):not([class*="cta"]),
.fe-page-hero .rei-con__intro a:not([class*="btn"]):not([class*="cta"]),
.fe-page-hero .rei-acc__intro a:not([class*="btn"]):not([class*="cta"]) {
    color: var(--rei-green, #009F3B) !important;
    -webkit-text-fill-color: var(--rei-green, #009F3B);
    text-decoration: underline;
}

/* ==========================================================================
   OVERRIDE GLOBALE BOTTONI FRONT-END — fix "testo invisibile" + effetto lente
   Audit di tutte le classi bottone del tema. Regole:
   - bottoni SOLIDI con bg verde (#009F3B), verde scuro (#157155) o grigio
     scuro → testo SEMPRE bianco #FFFFFF (anche al hover);
   - bottoni SOLIDI con bg lime #D1E000 (o mint #6CD41B) → testo #157155;
   - TUTTI i bottoni: transition + hover "effetto lente" scale(1.05).
   Selettori espliciti (nessun selettore universale). !important sul colore
   per battere eventuali regole di pagina più tardive nella cascata.
   ========================================================================== */

/* --- 1) Bottoni solidi verde/verde scuro/grigio scuro → testo bianco --- */
.rei-btn--primary,
.rei-btn--secondary,
.rei-btn--green,
.rei-btn--ink,
.rei-service-card__cta,
.rei-areacliente__btn:not(.rei-areacliente__btn--ghost),
.rei-areacliente__cta-btn,
.rei-pagamenti-page__btn,
.rei-pagamenti-page__btn--primary,
.rei-pagamenti-page__help-actions .rei-pagamenti-page__btn,
.rei-pagamenti__cta-btn,
.rei-pagamenti__method-btn,
.rei-autolettura__submit,
.rei-seg__submit,
.rei-cmor__submit,
.rei-cand__submit,
.rei-efficienza__submit,
.rei-meteo__submit,
.rei-search-page__submit,
.rei-cb-submit,
.rei-truffe__btn,
.rei-condotta__btn,
.rei-reclami__modulo-btn,
.rei-diritti__box-btn,
.rei-trasp__cta-button,
.rei-lp__btn--primary {
    color: #FFFFFF !important;
}
.rei-btn--primary:hover, .rei-btn--primary:focus-visible,
.rei-btn--secondary:hover, .rei-btn--secondary:focus-visible,
.rei-btn--green:hover, .rei-btn--green:focus-visible,
.rei-btn--ink:hover, .rei-btn--ink:focus-visible,
.rei-service-card__cta:hover, .rei-service-card__cta:focus-visible,
.rei-areacliente__btn:not(.rei-areacliente__btn--ghost):hover,
.rei-areacliente__cta-btn:hover, .rei-areacliente__cta-btn:focus-visible,
.rei-pagamenti-page__btn:hover, .rei-pagamenti-page__btn:focus-visible,
.rei-pagamenti-page__btn--primary:hover, .rei-pagamenti-page__btn--primary:focus-visible,
.rei-pagamenti__cta-btn:hover, .rei-pagamenti__cta-btn:focus-visible,
.rei-pagamenti__method-btn:hover, .rei-pagamenti__method-btn:focus-visible,
.rei-autolettura__submit:hover, .rei-autolettura__submit:focus-visible,
.rei-seg__submit:hover,
.rei-cmor__submit:hover,
.rei-cand__submit:hover,
.rei-efficienza__submit:hover,
.rei-meteo__submit:hover,
.rei-search-page__submit:hover,
.rei-cb-submit:hover,
.rei-truffe__btn:hover,
.rei-condotta__btn:hover,
.rei-reclami__modulo-btn:hover,
.rei-diritti__box-btn:hover,
.rei-trasp__cta-button:hover,
.rei-lp__btn--primary:hover {
    color: #FFFFFF !important;
}

/* --- 2) Bottoni solidi lime #D1E000 / mint #6CD41B → testo verde scuro --- */
.rei-btn--accent,
.rei-offer-card__cta,
.rei-btn.rei-offer-card__cta,
.rei-hero__promo-card,
.rei-lp__cta,
.rei-lp__btn--green {
    color: #157155 !important;
}
.rei-btn--accent:hover, .rei-btn--accent:focus-visible,
.rei-offer-card__cta:hover, .rei-offer-card__cta:focus-visible,
.rei-hero__promo-card:hover,
.rei-lp__cta:hover,
.rei-lp__btn--green:hover {
    color: #157155 !important;
}

/* --- 3) Box aiuto Pagamenti: tel = verde scuro, WhatsApp = verde brand,
       entrambi con testo bianco (ordine markup: 1° tel --primary, 2° wa) --- */
.rei-pagamenti-page__help-actions .rei-pagamenti-page__btn--primary {
    background: #157155 !important;
    color: #FFFFFF !important;
}
.rei-pagamenti-page__help-actions .rei-pagamenti-page__btn:not(.rei-pagamenti-page__btn--primary) {
    background: #009F3B !important;
    color: #FFFFFF !important;
}

/* --- 4) Effetto lente: transition + hover scale(1.05) su TUTTI i bottoni --- */
.rei-btn,
.rei-btn--primary,
.rei-btn--secondary,
.rei-btn--green,
.rei-btn--ink,
.rei-btn--accent,
.rei-btn--outline,
.rei-btn--outline-green,
.rei-offer-card__cta,
.rei-service-card__cta,
.rei-areacliente__btn,
.rei-areacliente__cta-btn,
.rei-pagamenti-page__btn,
.rei-pagamenti__cta-btn,
.rei-pagamenti__method-btn,
.rei-autolettura__submit,
.rei-autolettura__banner-btn,
.rei-autolettura__switch-btn,
.rei-seg__submit,
.rei-cmor__submit,
.rei-cand__submit,
.rei-contatti__submit,
.rei-consulente__submit,
.rei-efficienza__submit,
.rei-meteo__submit,
.rei-search-page__submit,
.rei-cb-submit,
.rei-truffe__btn,
.rei-condotta__btn,
.rei-reclami__modulo-btn,
.rei-diritti__box-btn,
.rei-trasp__cta-button,
.rei-lp__cta,
.rei-lp__btn--primary,
.rei-lp__btn--green,
.rei-lp__band-cta,
.rei-attiva__link--btn,
.rei-hero__promo-card,
.rei-pattern-hero__btn--primary .wp-block-button__link,
.rei-pattern-hero__btn--secondary .wp-block-button__link,
.rei-pattern-cta-banner__btn--white .wp-block-button__link,
.rei-pattern-cta-banner__btn--ghost .wp-block-button__link {
    transition: transform 0.25s ease, background-color 0.25s ease,
                box-shadow 0.25s ease, color 0.25s ease;
    will-change: transform;
}
.rei-btn:hover, .rei-btn:focus-visible,
.rei-btn--primary:hover,
.rei-btn--secondary:hover,
.rei-btn--green:hover,
.rei-btn--ink:hover,
.rei-btn--accent:hover,
.rei-btn--outline:hover,
.rei-btn--outline-green:hover,
.rei-offer-card__cta:hover,
.rei-service-card__cta:hover,
.rei-areacliente__btn:hover,
.rei-areacliente__cta-btn:hover,
.rei-pagamenti-page__btn:hover,
.rei-pagamenti__cta-btn:hover,
.rei-pagamenti__method-btn:hover,
.rei-autolettura__submit:hover,
.rei-autolettura__banner-btn:hover,
.rei-autolettura__switch-btn:hover,
.rei-seg__submit:hover,
.rei-cmor__submit:hover,
.rei-cand__submit:hover,
.rei-contatti__submit:hover,
.rei-consulente__submit:hover,
.rei-efficienza__submit:hover,
.rei-meteo__submit:hover,
.rei-search-page__submit:hover,
.rei-cb-submit:hover,
.rei-truffe__btn:hover,
.rei-condotta__btn:hover,
.rei-reclami__modulo-btn:hover,
.rei-diritti__box-btn:hover,
.rei-trasp__cta-button:hover,
.rei-lp__cta:hover,
.rei-lp__btn--primary:hover,
.rei-lp__btn--green:hover,
.rei-lp__band-cta:hover,
.rei-attiva__link--btn:hover,
.rei-hero__promo-card:hover,
.rei-pattern-hero__btn--primary .wp-block-button__link:hover,
.rei-pattern-hero__btn--secondary .wp-block-button__link:hover,
.rei-pattern-cta-banner__btn--white .wp-block-button__link:hover,
.rei-pattern-cta-banner__btn--ghost .wp-block-button__link:hover {
    transform: scale(1.05) !important;
}
@media (prefers-reduced-motion: reduce) {
    .rei-btn:hover, .rei-btn--primary:hover, .rei-btn--secondary:hover,
    .rei-btn--green:hover, .rei-btn--ink:hover, .rei-btn--accent:hover,
    .rei-btn--outline:hover, .rei-btn--outline-green:hover,
    .rei-offer-card__cta:hover, .rei-service-card__cta:hover,
    .rei-areacliente__btn:hover, .rei-areacliente__cta-btn:hover,
    .rei-pagamenti-page__btn:hover, .rei-pagamenti__cta-btn:hover,
    .rei-pagamenti__method-btn:hover, .rei-autolettura__submit:hover,
    .rei-autolettura__banner-btn:hover, .rei-autolettura__switch-btn:hover,
    .rei-seg__submit:hover, .rei-cmor__submit:hover, .rei-cand__submit:hover,
    .rei-contatti__submit:hover, .rei-consulente__submit:hover,
    .rei-efficienza__submit:hover, .rei-meteo__submit:hover,
    .rei-search-page__submit:hover, .rei-cb-submit:hover,
    .rei-truffe__btn:hover, .rei-condotta__btn:hover,
    .rei-reclami__modulo-btn:hover, .rei-diritti__box-btn:hover,
    .rei-trasp__cta-button:hover, .rei-lp__cta:hover,
    .rei-lp__btn--primary:hover, .rei-lp__btn--green:hover,
    .rei-lp__band-cta:hover, .rei-attiva__link--btn:hover,
    .rei-hero__promo-card:hover {
        transform: none !important;
    }
}

/* ==========================================================================
   v2.5 — FILIGRANE PERSONALIZZATE PER TEMA DI PAGINA
   Le filigrane TEMATICHE (tile 340x340, line-art rgba(0,159,59,0.05)) restano
   applicate come background del CONTENITORE PRINCIPALE (#site-main/.rei-main)
   con drift diagonale lento; le fasce/pagine con fondo bianco pieno sono rese
   transparent (vedi sotto) così la filigrana traspare ovunque, mentre le CARD
   bianche restano bianche (elementi in rilievo). La scelta avviene via body
   class:
   - home/front-page ............................. LOGO ORIGINALE (::before,
                                                   vedi sotto + home.css)
   - pagine statiche (body.rei-static-page--slug) . pattern a tema (background)
   - single/archive post ......................... wm-magazine (background)
   - fallback .................................... LOGO ORIGINALE (::before)
   v2.5: il cliente NON vuole il wordmark ricostruito (wm-logo.svg): la
   filigrana di default è il LOGO VERO del sito (PNG a colori) reso tenue con
   opacity 0.05 su uno ::before assoluto sotto i contenuti.
   ========================================================================== */
.rei-main {
    /* niente background-image qui: il default è lo ::before col logo vero;
       repeat/size/animation restano per i tile TEMATICI impostati sotto */
    position: relative;
    background-repeat: repeat;
    background-size: 340px 340px;
    animation: rei-wm-drift 60s linear infinite;
}
/* Filigrana di DEFAULT (fallback + home): LOGO ORIGINALE GNE affiancato,
   opacity 0.05, dietro ai contenuti (z-index 0, pointer-events none),
   con lo stesso drift diagonale lento spostato sullo ::before. */
.rei-main::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: url('https://www.grupponazionaleenergetico.it/wp-content/uploads/2026/02/grup-naz-ener-logo-main.png');
    background-repeat: repeat;
    background-size: 340px auto;
    opacity: 0.05;
    animation: rei-wm-drift 60s linear infinite;
}
/* I contenuti del main stanno SOPRA la filigrana */
.rei-main > * {
    position: relative;
    z-index: 1;
}
@keyframes rei-wm-drift {
    from { background-position: 0 0; }
    to   { background-position: 340px 340px; } /* multiplo esatto del tile → loop seamless */
}
@media (prefers-reduced-motion: reduce) {
    .rei-main,
    .rei-main::before { animation: none; }
}

/* Sulle pagine con filigrana TEMATICA (mappa qui sotto) lo ::before col logo
   è disattivato: resta il tile SVG a tema come background del main. */
body.rei-static-page--pagamenti-digitali .rei-main::before,
body.rei-static-page--pagamenti .rei-main::before,
body.rei-static-page--moduli .rei-main::before,
body.rei-static-page--autolettura .rei-main::before,
body.rei-static-page--autolettura-della-luce .rei-main::before,
body.rei-static-page--guida-ai-contatori .rei-main::before,
body.rei-static-page--contatti .rei-main::before,
body.rei-static-page--consulente-dedicato .rei-main::before,
body.single .rei-main::before,
body.archive .rei-main::before,
body.blog .rei-main::before,
body.rei-magazine-single .rei-main::before,
body.rei-static-page--magazine .rei-main::before,
body.rei-static-page--comunicazioni .rei-main::before,
body.rei-static-page--reclami .rei-main::before,
body.rei-static-page--conciliazione-e-risoluzione-delle-controversie .rei-main::before,
body.rei-static-page--diritti-del-consumatore-finale .rei-main::before,
body.rei-static-page--codice-di-condotta-commerciale .rei-main::before,
body.rei-static-page--obiettivo-trasparenza .rei-main::before,
body.rei-static-page--mancato-pagamento-e-indennizzi-automatici .rei-main::before,
body.rei-static-page--rimborsi-cmor .rei-main::before,
body.rei-static-page--truffe-telefoniche .rei-main::before,
body.rei-static-page--segnalazioni-sospette .rei-main::before,
body.rei-static-page--privacy-policy .rei-main::before,
body.rei-static-page--cookie-policy .rei-main::before,
body.rei-static-page--note-legali .rei-main::before,
body.rei-static-page--dichiarazione-di-accessibilita .rei-main::before,
body.rei-static-page--bonus-sociali .rei-main::before,
body.rei-static-page--vulnerabili-luce-gas .rei-main::before,
body.rei-static-page--agevolazioni-eventi-metereologici .rei-main::before,
body.rei-static-page--accertamenti-e-assicurazione-gas .rei-main::before,
body.rei-static-page--efficienza-energetica .rei-main::before,
body.rei-static-page--composizione-del-mix-energetico .rei-main::before,
body.rei-static-page--offerta-placet .rei-main::before,
body.rei-static-page--qualita .rei-main::before,
body.rei-static-page--guida-alla-comprensione .rei-main::before,
body.rei-static-page--aliquote-e-imposte .rei-main::before,
body.rei-static-page--emergenza-alluvione .rei-main::before,
body.rei-static-page--manuale-utente .rei-main::before,
body.rei-static-page--lavora-con-noi .rei-main::before,
body.rei-static-page--reseller .rei-main::before,
body.rei-static-page--area-cliente .rei-main::before,
body.rei-static-page--attiva .rei-main::before,
body.rei-static-page--offerte-luce-gas .rei-main::before,
body.rei-static-page--ti-richiamiamo-privacy .rei-main::before {
    content: none;
}

/* --- Mappa body class → filigrana a tema --- */
/* Pagamenti: carte di credito, monete €, smartphone pay */
body.rei-static-page--pagamenti-digitali .rei-main,
body.rei-static-page--pagamenti .rei-main {
    background-image: url('../images/watermarks/wm-pagamenti.svg');
}
/* Moduli: documenti/fogli PDF, penna */
body.rei-static-page--moduli .rei-main {
    background-image: url('../images/watermarks/wm-moduli.svg');
}
/* Autolettura: contatore/gauge, lampadina e fiamma */
body.rei-static-page--autolettura .rei-main,
body.rei-static-page--autolettura-della-luce .rei-main,
body.rei-static-page--guida-ai-contatori .rei-main {
    background-image: url('../images/watermarks/wm-contatore.svg');
}
/* Contatti: cornetta, busta, fumetto chat */
body.rei-static-page--contatti .rei-main,
body.rei-static-page--consulente-dedicato .rei-main {
    background-image: url('../images/watermarks/wm-contatti.svg');
}
/* Magazine/Comunicazioni + articoli (single) e archivi post */
body.single .rei-main,
body.archive .rei-main,
body.blog .rei-main,
body.rei-magazine-single .rei-main,
body.rei-static-page--magazine .rei-main,
body.rei-static-page--comunicazioni .rei-main {
    background-image: url('../images/watermarks/wm-magazine.svg');
}
/* Tutela del cliente: bilancia, scudo con spunta */
body.rei-static-page--reclami .rei-main,
body.rei-static-page--conciliazione-e-risoluzione-delle-controversie .rei-main,
body.rei-static-page--diritti-del-consumatore-finale .rei-main,
body.rei-static-page--codice-di-condotta-commerciale .rei-main,
body.rei-static-page--obiettivo-trasparenza .rei-main,
body.rei-static-page--mancato-pagamento-e-indennizzi-automatici .rei-main,
body.rei-static-page--rimborsi-cmor .rei-main {
    background-image: url('../images/watermarks/wm-tutela.svg');
}
/* Sicurezza/legale: scudo, campanello d'allarme, lucchetto */
body.rei-static-page--truffe-telefoniche .rei-main,
body.rei-static-page--segnalazioni-sospette .rei-main,
body.rei-static-page--privacy-policy .rei-main,
body.rei-static-page--cookie-policy .rei-main,
body.rei-static-page--note-legali .rei-main,
body.rei-static-page--dichiarazione-di-accessibilita .rei-main {
    background-image: url('../images/watermarks/wm-sicurezza.svg');
}
/* Supporto/solidarietà: mano con cuore, persone */
body.rei-static-page--bonus-sociali .rei-main,
body.rei-static-page--vulnerabili-luce-gas .rei-main,
body.rei-static-page--agevolazioni-eventi-metereologici .rei-main,
body.rei-static-page--accertamenti-e-assicurazione-gas .rei-main {
    background-image: url('../images/watermarks/wm-supporto.svg');
}
/* Energia: foglia, lampadina, saetta */
body.rei-static-page--efficienza-energetica .rei-main,
body.rei-static-page--composizione-del-mix-energetico .rei-main,
body.rei-static-page--offerta-placet .rei-main,
body.rei-static-page--qualita .rei-main,
body.rei-static-page--guida-alla-comprensione .rei-main,
body.rei-static-page--aliquote-e-imposte .rei-main,
body.rei-static-page--emergenza-alluvione .rei-main,
body.rei-static-page--manuale-utente .rei-main {
    background-image: url('../images/watermarks/wm-energia.svg');
}
/* Persone/lavoro: valigetta, stretta di mano, utente */
body.rei-static-page--lavora-con-noi .rei-main,
body.rei-static-page--reseller .rei-main,
body.rei-static-page--area-cliente .rei-main,
body.rei-static-page--attiva .rei-main,
body.rei-static-page--offerte-luce-gas .rei-main,
body.rei-static-page--ti-richiamiamo-privacy .rei-main {
    background-image: url('../images/watermarks/wm-persone.svg');
}

/* I corpi bianchi pieni dei template interni diventano transparent: la
   filigrana del main traspare. Le card bianche al loro interno restano
   bianche (in rilievo). */
.rei-page__body.rei-section--offwhite,
.rei-page__body,
.rei-single__body,
.rei-archive__body {
    background: transparent;
}

/* ==========================================================================
   COMPLIANZ — NASCONDI LA CARD/TAB FLOTTANTE "GESTISCI CONSENSO"
   Il tab flottante in basso (desktop E mobile) è renderizzato da
   class-banner-loader.php come <div id="cmplz-manage-consent"> contenente
   <button class="cmplz-btn cmplz-manage-consent manage-consent-{id}">.
   Le regole coprono anche il blocco shortcode .cmplz-manage-consent-container
   (e la variante nojavascript) come richiesto. Il banner cookie iniziale
   (#cmplz-cookiebanner-container / .cmplz-cookiebanner) NON è toccato e
   resta visibile.
   ========================================================================== */
#cmplz-manage-consent,
#cmplz-manage-consent .cmplz-manage-consent,
.cmplz-manage-consent,
button.cmplz-manage-consent,
.cmplz-manage-consent-container,
#cmplz-manage-consent-container,
#cmplz-manage-consent-container-nojavascript {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    animation: none !important;
}

/* ==========================================================================
   v2.4 — OMBRE RINFORZATE SITE-WIDE (card/riquadri + bottoni solidi)
   Richiesta: più profondità su TUTTI i rettangoli e i pulsanti del sito.
   - Card bianche/riquadri .....  0 18px 40px rgba(0,0,0,0.16)
   - Bottoni solidi ............  0 8px 18px rgba(0,0,0,0.22) (hover più fonda)
   Selettori ESPLICITI (riuso dell'audit bottoni del blocco "testo bianco"
   qui sopra + audit card/box dei template di pagina). !important per battere
   le box-shadow dichiarate nei singoli page-*.css caricati dopo.
   NIENTE ombre su elementi di testo puro (titoli, paragrafi, link inline).
   ========================================================================== */

/* --- 1) Card / riquadri --- */
.rei-archive__card,
.rei-areacliente__card,
.rei-attiva__intro-card,
.rei-attiva__offer-card,
.rei-attiva__pay-card,
.rei-attiva__upload-card,
.rei-bonus__card,
.rei-bonus__come-card,
.rei-condotta__card,
.rei-contatti__form-card,
.rei-diritti__card,
.rei-lp__card,
.rei-pagamenti__form-card,
.rei-pagamenti__method-card,
.rei-page__child-card,
.rei-pagamenti-page__card,
.rei-reclami__card,
.rei-single__related-card,
.rei-trasp__card,
.rei-vulnerabili__card,
.rei-vulnerabili__come-card,
.rei-acc__box,
.rei-ass__box,
.rei-attiva__box,
.rei-autolettura__box,
.rei-autolettura__panel,
.rei-bonus__box,
.rei-cand__box,
.rei-cmor__box,
.rei-con__box,
.rei-cookie__box,
.rei-diritti__box,
.rei-meteo__box,
.rei-note__box,
.rei-pi__box,
.rei-privacy__box,
.rei-reclami__box,
.rei-vulnerabili__box {
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.16) !important;
}

/* --- 2) Bottoni solidi (stesso elenco dell'override colore testo sopra:
       verdi/scuri + lime/mint) → ombra netta, hover più profonda --- */
.rei-btn--primary,
.rei-btn--secondary,
.rei-btn--green,
.rei-btn--ink,
.rei-btn--accent,
.rei-offer-card__cta,
.rei-service-card__cta,
.rei-areacliente__btn:not(.rei-areacliente__btn--ghost),
.rei-areacliente__cta-btn,
.rei-pagamenti-page__btn,
.rei-pagamenti-page__btn--primary,
.rei-pagamenti__cta-btn,
.rei-pagamenti__method-btn,
.rei-autolettura__submit,
.rei-autolettura__banner-btn,
.rei-autolettura__switch-btn,
.rei-seg__submit,
.rei-cmor__submit,
.rei-cand__submit,
.rei-contatti__submit,
.rei-consulente__submit,
.rei-efficienza__submit,
.rei-meteo__submit,
.rei-search-page__submit,
.rei-cb-submit,
.rei-truffe__btn,
.rei-condotta__btn,
.rei-reclami__modulo-btn,
.rei-diritti__box-btn,
.rei-trasp__cta-button,
.rei-lp__cta,
.rei-lp__btn--primary,
.rei-lp__btn--green,
.rei-lp__band-cta,
.rei-attiva__link--btn,
.rei-pattern-hero__btn--primary .wp-block-button__link,
.rei-pattern-cta-banner__btn--white .wp-block-button__link {
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22) !important;
}
.rei-btn--primary:hover, .rei-btn--primary:focus-visible,
.rei-btn--secondary:hover, .rei-btn--secondary:focus-visible,
.rei-btn--green:hover, .rei-btn--green:focus-visible,
.rei-btn--ink:hover, .rei-btn--ink:focus-visible,
.rei-btn--accent:hover, .rei-btn--accent:focus-visible,
.rei-offer-card__cta:hover, .rei-offer-card__cta:focus-visible,
.rei-service-card__cta:hover, .rei-service-card__cta:focus-visible,
.rei-areacliente__btn:not(.rei-areacliente__btn--ghost):hover,
.rei-areacliente__cta-btn:hover, .rei-areacliente__cta-btn:focus-visible,
.rei-pagamenti-page__btn:hover, .rei-pagamenti-page__btn:focus-visible,
.rei-pagamenti-page__btn--primary:hover,
.rei-pagamenti__cta-btn:hover, .rei-pagamenti__cta-btn:focus-visible,
.rei-pagamenti__method-btn:hover, .rei-pagamenti__method-btn:focus-visible,
.rei-autolettura__submit:hover,
.rei-autolettura__banner-btn:hover,
.rei-autolettura__switch-btn:hover,
.rei-seg__submit:hover,
.rei-cmor__submit:hover,
.rei-cand__submit:hover,
.rei-contatti__submit:hover,
.rei-consulente__submit:hover,
.rei-efficienza__submit:hover,
.rei-meteo__submit:hover,
.rei-search-page__submit:hover,
.rei-cb-submit:hover,
.rei-truffe__btn:hover,
.rei-condotta__btn:hover,
.rei-reclami__modulo-btn:hover,
.rei-diritti__box-btn:hover,
.rei-trasp__cta-button:hover,
.rei-lp__cta:hover,
.rei-lp__btn--primary:hover,
.rei-lp__btn--green:hover,
.rei-lp__band-cta:hover,
.rei-attiva__link--btn:hover,
.rei-pattern-hero__btn--primary .wp-block-button__link:hover,
.rei-pattern-cta-banner__btn--white .wp-block-button__link:hover {
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.30) !important;
}

/* ==========================================================================
   v1.3.0 — pulsazione delicata su tutti i bottoni solidi + ombre card ancora
   più profonde. prefers-reduced-motion ferma le animazioni.
   ========================================================================== */
@keyframes fe-btn-pulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.035); }
}
a.rei-btn, .rei-btn,
.rei-offer-card__cta, .rei-offer-card__cta-black,
.rei-service-card__btn, .rei-services .rei-btn,
.rei-pagamenti-page__btn, .rei-pagamenti__submit,
.rei-attiva__btn, .rei-form__submit,
button[type="submit"].rei-btn, input[type="submit"].rei-btn {
    animation: fe-btn-pulse 2.6s ease-in-out infinite;
    will-change: transform;
}
a.rei-btn:hover, .rei-btn:hover,
.rei-offer-card__cta:hover, .rei-service-card__btn:hover,
.rei-pagamenti-page__btn:hover, .rei-pagamenti__submit:hover {
    animation-play-state: paused;
}
/* ombre card ancora più profonde (richiesta cliente) */
.rei-offer-card, .rei-service-card, .rei-magazine-card,
.rei-pagamenti-page__card, .rei-ac__card, .rei-archive-card,
.rei-pi__block, .rei-page-card, .fe-card {
    box-shadow: 0 24px 55px rgba(0, 0, 0, 0.22) !important;
}
@media (prefers-reduced-motion: reduce) {
    a.rei-btn, .rei-btn, .rei-offer-card__cta, .rei-service-card__btn,
    .rei-pagamenti-page__btn, .rei-pagamenti__submit, .rei-attiva__btn, .rei-form__submit {
        animation: none;
    }
}
