/* ============================================
MODERN COMPACT DESIGN SYSTEM - OfferteGaseLuce.it
Aggiornamento grafico compatto e responsive
Mantiene le classi esistenti: Foundation-like grid, box_offerta, filters-card,
site-header, site-nav, footer, button, card, badge, ombra, ecc.
============================================ */

:root {
    /* Palette principale */
    --color-primary: #07384f;
    --color-primary-light: #0d5a7a;
    --color-primary-dark: #041f2d;
    --color-accent: #f36f21;
    --color-accent-light: #ff8a3d;
    --color-accent-dark: #d95c12;

    /* Neutral */
    --color-white: #ffffff;
    --color-gray-50: #f7fafc;
    --color-gray-100: #eef3f6;
    --color-gray-200: #dde7ed;
    --color-gray-300: #c8d6df;
    --color-gray-400: #8fa4b2;
    --color-gray-500: #657887;
    --color-gray-600: #4b5e6c;
    --color-gray-700: #334653;
    --color-gray-800: #1f303b;
    --color-gray-900: #10212b;

    /* Stati */
    --color-success: #1f9d55;
    --color-warning: #f2a900;
    --color-danger: #d93025;
    --color-info: #2478b5;

    /* Font */
    --font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    --font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;

    /* Scale testo compatta */
    --text-xs: 0.72rem;
    --text-sm: 0.82rem;
    --text-base: 0.94rem;
    --text-lg: 1.08rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.55rem;
    --text-3xl: 2rem;
    --text-4xl: 2.45rem;

    /* Font weight */
    --font-weight-300: 300;
    --font-weight-400: 400;
    --font-weight-500: 500;
    --font-weight-600: 600;
    --font-weight-700: 700;
    --font-weight-800: 800;

    /* Spacing compatto */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 0.75rem;
    --spacing-lg: 1rem;
    --spacing-xl: 1.35rem;
    --spacing-2xl: 1.8rem;
    --spacing-3xl: 2.5rem;

    /* Radius */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-xl: 20px;
    --radius-full: 999px;

    /* Shadow */
    --shadow-xs: 0 1px 2px rgba(4, 31, 45, 0.05);
    --shadow-sm: 0 3px 10px rgba(4, 31, 45, 0.07);
    --shadow-md: 0 8px 22px rgba(4, 31, 45, 0.09);
    --shadow-lg: 0 14px 35px rgba(4, 31, 45, 0.14);

    /* Transizioni */
    --transition-fast: 140ms ease;
    --transition-base: 220ms ease;
}

/* ============================================
RESET & BASE STYLES
============================================ */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    background: var(--color-gray-50);
}

body {
    background: linear-gradient(180deg, #ffffff 0%, var(--color-gray-50) 260px, var(--color-gray-50) 100%);
    color: var(--color-gray-700);
    font-family: var(--font-primary);
    font-size: var(--text-base);
    line-height: 1.48;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

iframe{
	width:100%;
}

img {
    max-width: 100%;
    height: auto;
}

/* ============================================
TIPOGRAFIA
============================================ */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-700);
    line-height: 1.18;
    margin-bottom: var(--spacing-md);
    color: var(--color-gray-900);
}

h1 { font-size: var(--text-4xl); font-weight: var(--font-weight-800); }
h2 { font-size: var(--text-3xl); font-weight: var(--font-weight-700); }
h3 { font-size: var(--text-2xl); font-weight: var(--font-weight-700); }
h4 { font-size: var(--text-xl); font-weight: var(--font-weight-600); }
h5 { font-size: var(--text-lg); font-weight: var(--font-weight-600); }
h6 { font-size: var(--text-base); font-weight: var(--font-weight-600); }

p {
    margin-bottom: var(--spacing-md);
    color: var(--color-gray-600);
}

a {
    color: var(--color-accent);
    text-decoration: none;
    transition: color var(--transition-base), background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
}

a:hover {
    color: var(--color-accent-dark);
    text-decoration: none;
}

/* ============================================
LAYOUT CONTAINER
============================================ */
.container {
    width: 100%;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

@media (min-width: 640px) {
    .container { max-width: 640px; }
}

@media (min-width: 768px) {
    .container {
        max-width: 768px;
        padding: 0 var(--spacing-lg);
    }
}

@media (min-width: 1024px) {
    .container {
        max-width: 1180px;
        padding: 0 var(--spacing-xl);
    }
}

@media (min-width: 1280px) {
    .container { max-width: 1240px; }
}

/* ============================================
GRID SYSTEM
============================================ */
.grid {
    display: grid;
    gap: var(--spacing-md);
}

.grid-cols-1 { grid-template-columns: 1fr; }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 768px) {
    .grid-cols-2,
    .grid-cols-3,
    .grid-cols-4 { grid-template-columns: 1fr; }
}

/* ============================================
FLEXBOX UTILITIES
============================================ */
.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.items-start { align-items: flex-start; }
.items-center { align-items: center; }
.items-end { align-items: flex-end; }
.items-stretch { align-items: stretch; }
.justify-start { justify-content: flex-start; }
.justify-center { justify-content: center; }
.justify-end { justify-content: flex-end; }
.justify-between { justify-content: space-between; }
.justify-around { justify-content: space-around; }
.justify-evenly { justify-content: space-evenly; }
.gap-xs { gap: var(--spacing-xs); }
.gap-sm { gap: var(--spacing-sm); }
.gap-md { gap: var(--spacing-md); }
.gap-lg { gap: var(--spacing-lg); }
.gap-xl { gap: var(--spacing-xl); }
.gap-2xl { gap: var(--spacing-2xl); }

/* ============================================
SPACING UTILITIES
============================================ */
.p-xs { padding: var(--spacing-xs); }
.p-sm { padding: var(--spacing-sm); }
.p-md { padding: var(--spacing-md); }
.p-lg { padding: var(--spacing-lg); }
.p-xl { padding: var(--spacing-xl); }
.p-2xl { padding: var(--spacing-2xl); }
.px-sm { padding-left: var(--spacing-sm); padding-right: var(--spacing-sm); }
.px-md { padding-left: var(--spacing-md); padding-right: var(--spacing-md); }
.px-lg { padding-left: var(--spacing-lg); padding-right: var(--spacing-lg); }
.px-xl { padding-left: var(--spacing-xl); padding-right: var(--spacing-xl); }
.py-sm { padding-top: var(--spacing-sm); padding-bottom: var(--spacing-sm); }
.py-md { padding-top: var(--spacing-md); padding-bottom: var(--spacing-md); }
.py-lg { padding-top: var(--spacing-lg); padding-bottom: var(--spacing-lg); }
.py-xl { padding-top: var(--spacing-xl); padding-bottom: var(--spacing-xl); }
.m-xs { margin: var(--spacing-xs); }
.m-sm { margin: var(--spacing-sm); }
.m-md { margin: var(--spacing-md); }
.m-lg { margin: var(--spacing-lg); }
.m-xl { margin: var(--spacing-xl); }
.m-2xl { margin: var(--spacing-2xl); }
.mx-auto { margin-left: auto; margin-right: auto; }
.my-auto { margin-top: auto; margin-bottom: auto; }
.mt-xs { margin-top: var(--spacing-xs); }
.mt-sm { margin-top: var(--spacing-sm); }
.mt-md { margin-top: var(--spacing-md); }
.mt-lg { margin-top: var(--spacing-lg); }
.mt-xl { margin-top: var(--spacing-xl); }
.mb-xs { margin-bottom: var(--spacing-xs); }
.mb-sm { margin-bottom: var(--spacing-sm); }
.mb-md { margin-bottom: var(--spacing-md); }
.mb-lg { margin-bottom: var(--spacing-lg); }
.mb-xl { margin-bottom: var(--spacing-xl); }
.mb-0 { margin-bottom: 0; }
.m-0 { margin: 0; }
.m-2 { margin: 2px; }
.m-10 { margin: 10px; }
.mb-10 { margin-bottom: 10px; }
.p-0 { padding: 0; }
.p-2 { padding: 2px; }
.p-4 { padding: 4px; }
.p-5 { padding: 5px; }
.p-10 { padding: 10px; }
.p-20 { padding: 20px; }
.padding5px { padding: 5px; }
.padding10px { padding: 10px; }

/* ============================================
PULSANTI
============================================ */
.btn,
.button,
.attiva_offerta,
.link_attiva_offerta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 36px;
    padding: 0.56rem 1rem;
    border: 0;
    border-radius: var(--radius-md);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-700);
    line-height: 1.1;
    cursor: pointer;
    text-decoration: none;
    transition: transform var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base), color var(--transition-base);
}

.btn-primary,
.button {
    background: linear-gradient(135deg, var(--color-primary-light), var(--color-primary));
    color: var(--color-white);
    box-shadow: var(--shadow-xs);
}

.btn-primary:hover,
.button:hover {
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
    color: var(--color-white);
    box-shadow: var(--shadow-md);
    transform: translateY(-1px);
}

.btn-accent,
.attiva_offerta,
.link_attiva_offerta {
    background: linear-gradient(135deg, var(--color-accent-light), var(--color-accent));
    color: var(--color-white);
    box-shadow: 0 8px 18px rgba(243, 111, 33, 0.22);
}

.btn-accent:hover,
.attiva_offerta:hover,
.link_attiva_offerta:hover {
    background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));
    color: var(--color-white);
    box-shadow: 0 10px 24px rgba(243, 111, 33, 0.30);
    transform: translateY(-1px);
}

.btn-secondary {
    background-color: var(--color-gray-100);
    color: var(--color-gray-800);
}

.btn-secondary:hover {
    background-color: var(--color-gray-200);
    color: var(--color-gray-900);
}

.btn-outline {
    border: 1px solid var(--color-primary);
    background-color: transparent;
    color: var(--color-primary);
}

.btn-outline:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
}

.btn-sm { min-height: 30px; padding: 0.42rem 0.75rem; font-size: var(--text-xs); }
.btn-lg { min-height: 46px; padding: 0.75rem 1.25rem; font-size: var(--text-base); }
.btn-expanded { display: flex; width: 100%; margin-top: var(--spacing-md); margin-bottom: var(--spacing-md); }
.btn-alert { background: linear-gradient(135deg, var(--color-accent-light), var(--color-accent)); color: var(--color-white); }
.btn-alert:hover { background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark)); color: var(--color-white); box-shadow: var(--shadow-md); transform: translateY(-1px); }

/* ============================================
CARDS GENERICHE
============================================ */
.card,
.ombra,
.callout,
.sidebar-card {
    background-color: var(--color-white);
    border: 1px solid rgba(200, 214, 223, 0.75);
    border-radius: var(--radius-lg);
    padding: var(--spacing-lg);
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--transition-base), transform var(--transition-base), border-color var(--transition-base);
}

.card:hover,
.ombra:hover,
.sidebar-card:hover {
    border-color: rgba(13, 90, 122, 0.22);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.card-header { margin-bottom: var(--spacing-md); border-bottom: 1px solid var(--color-gray-200); padding-bottom: var(--spacing-md); }
.card-body { margin-bottom: var(--spacing-md); }
.card-footer { border-top: 1px solid var(--color-gray-200); padding-top: var(--spacing-md); }
.callout.secondary { background-color: var(--color-gray-100); }

/* ============================================
BADGE / LABEL
============================================ */
.badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.28rem 0.65rem;
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-700);
    line-height: 1;
    white-space: nowrap;
}
.badge-primary { background-color: rgba(7, 56, 79, 0.10); color: var(--color-primary); }
.badge-accent { background-color: rgba(243, 111, 33, 0.12); color: var(--color-accent-dark); }
.badge-success { background-color: rgba(31, 157, 85, 0.12); color: #14753d; }
.badge-warning { background-color: rgba(242, 169, 0, 0.15); color: #8a6000; }
.badge-danger { background-color: rgba(217, 48, 37, 0.11); color: var(--color-danger); }

/* ============================================
ALERT
============================================ */
.alert {
    padding: var(--spacing-md) var(--spacing-lg);
    border-radius: var(--radius-md);
    margin-bottom: var(--spacing-lg);
    border: 1px solid transparent;
}
.alert-info { background-color: #e6f2fb; border-left: 4px solid #2478b5; color: #17547d; }
.alert-success { background-color: #e9f8ef; border-left: 4px solid #1f9d55; color: #146c39; }
.alert-warning { background-color: #fff6db; border-left: 4px solid #f2a900; color: #7f5a00; }
.alert-danger { background-color: #fdebea; border-left: 4px solid #d93025; color: #8f2119; }

/* ============================================
TESTO
============================================ */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }
.text-xs { font-size: var(--text-xs); }
.text-sm { font-size: var(--text-sm); }
.text-base { font-size: var(--text-base); }
.text-lg { font-size: var(--text-lg); }
.text-xl { font-size: var(--text-xl); }
.text-2xl { font-size: var(--text-2xl); }
.text-3xl { font-size: var(--text-3xl); }
.text-4xl { font-size: var(--text-4xl); }
.font-light { font-weight: var(--font-weight-300); }
.font-normal { font-weight: var(--font-weight-400); }
.font-medium { font-weight: var(--font-weight-500); }
.font-semibold { font-weight: var(--font-weight-600); }
.font-bold { font-weight: var(--font-weight-700); }
.font-extrabold { font-weight: var(--font-weight-800); }
.text-primary { color: var(--color-primary); }
.text-accent, .arancione { color: var(--color-accent); }
.text-success, .verde, .delta_verde { color: var(--color-success); }
.text-warning { color: var(--color-warning); }
.text-danger, .text-alert, .delta_rosso { color: var(--color-danger); }
.text-muted { color: var(--color-gray-500); }
.text-white { color: var(--color-white); }
.text-gray { color: var(--color-gray-500); }
.bold { font-weight: var(--font-weight-700); }
.delta_rosso, .delta_verde { font-weight: var(--font-weight-700); }

/* ============================================
FORM ELEMENTS
============================================ */
input,
textarea,
select {
    width: 100%;
    min-height: 38px;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-md);
    background-color: var(--color-white);
    color: var(--color-gray-800);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    transition: border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(243, 111, 33, 0.12);
}

label {
    display: block;
    margin-bottom: var(--spacing-xs);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-700);
    color: var(--color-gray-700);
}

.input-group {
    display: flex;
    align-items: stretch;
    margin-bottom: var(--spacing-md);
}

.input-group-label {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 38px;
	position:relative;
	top:4px;
    padding: 0 var(--spacing-md);
    background-color: var(--color-gray-100);
    border: 1px solid var(--color-gray-300);
    border-right: none;
    border-radius: var(--radius-md) 0 0 var(--radius-md);
    color: var(--color-gray-600);
}
.input-group-label i { font-size: var(--text-lg); }
.input-group-label.label-small { height: 38px; padding: 0 var(--spacing-sm); }
.input-group-field { flex: 1 1 auto; border-radius: 0 var(--radius-md) var(--radius-md) 0; margin-bottom: 0; }
.input-group-button { display: flex; }
.radio-lg { width: 20px; height: 20px; }

/* ============================================
GRID SYSTEM NATIVO - compatibilità Foundation
============================================ */
.grid-x, .row {
    display: flex;
    flex-wrap: wrap;
}
.grid-y { display: flex; flex-direction: column; }
.grid-x.grid-margin-x > .cell { padding-left: var(--spacing-sm); padding-right: var(--spacing-sm); }
.grid-x.grid-margin-x { margin-left: calc(var(--spacing-sm) * -1); margin-right: calc(var(--spacing-sm) * -1); }
.cell, .columns {
    flex: 1 1 0;
    min-width: 0;
}
.columns { padding: 0 var(--spacing-md); }
.small-1 { flex: 0 0 auto; width: 8.33333%; }
.small-2 { flex: 0 0 auto; width: 16.66667%; }
.small-3 { flex: 0 0 auto; width: 25%; }
.small-4 { flex: 0 0 auto; width: 33.33333%; }
.small-5 { flex: 0 0 auto; width: 41.66667%; }
.small-6 { flex: 0 0 auto; width: 50%; }
.small-7 { flex: 0 0 auto; width: 58.33333%; }
.small-8 { flex: 0 0 auto; width: 66.66667%; }
.small-9 { flex: 0 0 auto; width: 75%; }
.small-10 { flex: 0 0 auto; width: 83.33333%; }
.small-11 { flex: 0 0 auto; width: 91.66667%; }
.small-12 { flex: 0 0 auto; width: 100%; }

@media (min-width: 640px) {
    .medium-1 { flex: 0 0 auto; width: 8.33333%; }
    .medium-2 { flex: 0 0 auto; width: 16.66667%; }
    .medium-3 { flex: 0 0 auto; width: 25%; }
    .medium-4 { flex: 0 0 auto; width: 33.33333%; }
    .medium-5 { flex: 0 0 auto; width: 41.66667%; }
    .medium-6 { flex: 0 0 auto; width: 50%; }
    .medium-7 { flex: 0 0 auto; width: 58.33333%; }
    .medium-8 { flex: 0 0 auto; width: 66.66667%; }
    .medium-9 { flex: 0 0 auto; width: 75%; }
    .medium-10 { flex: 0 0 auto; width: 83.33333%; }
    .medium-11 { flex: 0 0 auto; width: 91.66667%; }
    .medium-12 { flex: 0 0 auto; width: 100%; }
}

@media (min-width: 1024px) {
    .large-1 { flex: 0 0 auto; width: 8.33333%; }
    .large-2 { flex: 0 0 auto; width: 16.66667%; }
    .large-3 { flex: 0 0 auto; width: 25%; }
    .large-4 { flex: 0 0 auto; width: 33.33333%; }
    .large-5 { flex: 0 0 auto; width: 41.66667%; }
    .large-6 { flex: 0 0 auto; width: 50%; }
    .large-7 { flex: 0 0 auto; width: 58.33333%; }
    .large-8 { flex: 0 0 auto; width: 66.66667%; }
    .large-9 { flex: 0 0 auto; width: 75%; }
    .large-10 { flex: 0 0 auto; width: 83.33333%; }
    .large-11 { flex: 0 0 auto; width: 91.66667%; }
    .large-12 { flex: 0 0 auto; width: 100%; }
}

/* ============================================
VISIBILITA' RESPONSIVE
============================================ */
.show-for-small-only { display: block; }
.hide-for-small-only { display: none; }
.hide-for-medium-only { display: block; }
.show-for-large { display: none; }
.show-for-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (min-width: 640px) {
    .show-for-small-only { display: none; }
    .hide-for-small-only { display: block; }
}
@media (min-width: 640px) and (max-width: 1023px) {
    .hide-for-medium-only { display: none; }
}
@media (min-width: 1024px) {
    .show-for-large { display: block; }
}

/* ============================================
UTILITY VARIE
============================================ */
.relative { position: relative; }
.inline-block { display: inline-block; }
.float-left { float: left; }
.float-right { float: right; }
.nobr { white-space: nowrap; }
.list-unstyled { list-style: none; }
.opacity-80 { opacity: 0.8; }
.w-full { width: 100%; }
.is-hidden { display: none; }
.invisible { visibility: hidden; }
.clearfix { clear: both; }
.align-middle { display: flex; align-items: center; justify-content: center; }
.align-self-middle { align-self: center; }
.align-self-bottom { align-self: flex-end; }
.icon-social { font-size: 2.4rem; }
.avatar-label { width: 56px; padding: 0; }
.avatar_small { width: 44px; height: 44px; border-radius: var(--radius-full); object-fit: cover; }
.avatar_big { width: 110px; height: 110px; border-radius: var(--radius-full); object-fit: cover; margin-bottom: var(--spacing-md); }
.chart-container { width: 100%; height: 350px; }
.chart-container-sm { width: 100%; height: 300px; }
.recaptcha-wrapper { display: inline-block; text-align: center; }

/* ============================================
HEADER
============================================ */
.site-header {
    position: relative;
    background-color: var(--color-white);
    box-shadow: var(--shadow-sm);
    z-index: 50;
}

.site-header__top {
    padding: 0.65rem 0;
    background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
    border-bottom: 1px solid var(--color-gray-100);
}

.site-header__top-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-lg);
}

.site-header__stats {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: var(--text-sm);
    color: var(--color-gray-600);
    line-height: 1.25;
}

.stat-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.6rem;
    background-color: var(--color-gray-100);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    color: var(--color-gray-700);
    white-space: nowrap;
}
.stat-pill b { color: var(--color-primary); }
.stat-pill i { color: var(--color-accent); font-size: var(--text-xs); }
.stat-pill--muted { background-color: transparent; border-color: transparent; color: var(--color-gray-500); padding-left: 0; }
.site-header__stats-value { display: block; }

.site-header__brand {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-md);
    min-width: 0;
}

.brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-full);
    background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-dark) 100%);
    color: var(--color-white);
    font-size: var(--text-xl);
    box-shadow: var(--shadow-sm);
}
.brand-mark--sm { width: 30px; height: 30px; font-size: var(--text-base); }
.site-header__title { margin-bottom: 0; min-width: 0; }
.site-header__title .titolo {
    font-family: var(--font-heading);
    font-size: clamp(1.1rem, 2.2vw, 1.65rem);
    font-weight: var(--font-weight-800);
    color: var(--color-primary);
    letter-spacing: -0.02em;
}
.sottotitolo {
    display: block;
    font-size: var(--text-sm);
    font-weight: var(--font-weight-400);
    color: var(--color-gray-500);
}
h3.sottotitolo,
span.sottotitolo {
    font-size: var(--text-lg);
    font-weight: var(--font-weight-700);
    color: var(--color-primary);
}
.header-spacer { height: var(--spacing-md); }

/* ============================================
NAVIGAZIONE DESKTOP
============================================ */
.site-nav {
    background: linear-gradient(180deg, var(--color-primary-light) 0%, var(--color-primary) 65%, var(--color-primary-dark) 100%);
    box-shadow: 0 4px 14px rgba(4, 31, 45, 0.18);
}
.site-nav__list {
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    flex-wrap: wrap;
}
.site-nav__link {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: 0.68rem 0.9rem;
    color: rgba(255, 255, 255, 0.88);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-600);
    text-decoration: none;
    border-left: 1px solid rgba(255,255,255,0.06);
    transition: background-color var(--transition-base), color var(--transition-base);
}
.site-nav__link:hover {
    color: var(--color-white);
    background-color: rgba(255, 255, 255, 0.09);
    text-decoration: none;
}
.site-nav__link.is-active {
    color: var(--color-white);
    background: linear-gradient(135deg, var(--color-accent-light), var(--color-accent));
}
.site-nav__avatar { width: 24px; height: 24px; border-radius: var(--radius-full); object-fit: cover; vertical-align: middle; }

/* ============================================
NAVIGAZIONE MOBILE
============================================ */
.site-nav-mobile__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.72rem var(--spacing-lg);
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
}
.site-nav-mobile__brand {
    color: var(--color-white);
    font-size: var(--text-lg);
    font-weight: var(--font-weight-700);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    text-decoration: none;
}
.site-nav-mobile__brand:hover { color: var(--color-white); text-decoration: none; }
.site-nav-mobile__toggle { background: transparent; border: none; color: var(--color-white); font-size: var(--text-xl); cursor: pointer; padding: var(--spacing-xs); }
.site-nav-mobile__quicklinks { display: flex; background: var(--color-white); }
.site-nav-mobile__quicklink {
    flex: 1 1 0;
    text-align: center;
    padding: 0.55rem 0;
    color: var(--color-primary);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-700);
    border-bottom: 1px solid var(--color-gray-200);
}
.site-nav-mobile__menu {
    display: flex;
    flex-direction: column;
    background-color: var(--color-primary-dark);
    padding: var(--spacing-sm) var(--spacing-lg);
}
.site-nav-mobile__link {
    color: rgba(255, 255, 255, 0.88);
    padding: var(--spacing-sm) 0;
    font-size: var(--text-sm);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.site-nav-mobile__link:last-child { border-bottom: none; }
.site-nav-mobile__link:hover { color: var(--color-white); text-decoration: none; }
@media (min-width: 640px) {
    .site-nav-mobile__bar,
    .site-nav-mobile__quicklinks,
    .site-nav-mobile__menu { display: none; }
}

/* ============================================
SEZIONI, TITOLI E HERO
============================================ */
.pagetitle {
    position: relative;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
    padding-bottom: var(--spacing-sm);
    margin-bottom: var(--spacing-xl);
    text-align: center;
    color: var(--color-primary);
    letter-spacing: -0.02em;
}
.pagetitle::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 72px;
    height: 4px;
    border-radius: var(--radius-full);
    background: linear-gradient(90deg, var(--color-accent), var(--color-accent-light));
}
.section-title {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    text-align: center;
    margin-bottom: var(--spacing-lg);
}
.section-title i { color: var(--color-accent); }
.section-title__count { font-size: var(--text-sm); font-weight: var(--font-weight-500); color: var(--color-gray-500); }
.hero-subtitle { text-align: center; color: var(--color-gray-600); font-size: var(--text-base); margin-bottom: var(--spacing-xl); }
.anchor-offset-note { position: relative; top: 96px; color: var(--color-gray-600); }

/* ============================================
CARD FILTRI - pagina Offerte
============================================ */
.filters-card {
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(200, 214, 223, 0.85);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md);
    padding: var(--spacing-lg);
    margin: var(--spacing-lg) 0 var(--spacing-xl);
}
.filters-card__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--spacing-lg);
}
.filter-block {
    text-align: center;
    background: var(--color-gray-50);
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-lg);
    padding: var(--spacing-md);
}
.filter-block__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-800);
    color: var(--color-primary);
    margin-bottom: var(--spacing-sm);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.filter-block__title i { color: var(--color-accent); }
.filter-block--promo { background: linear-gradient(135deg, #fff7f1, #ffffff); border-color: rgba(243, 111, 33, 0.18); }
.filters-card__quicklinks {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-lg);
    padding-top: var(--spacing-lg);
    border-top: 1px solid var(--color-gray-100);
}
.quicklink-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: 0.48rem 0.85rem;
    background-color: var(--color-primary);
    color: var(--color-white);
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-700);
    text-decoration: none;
    transition: all var(--transition-base);
}
.quicklink-btn:hover {
    background-color: var(--color-primary-light);
    color: var(--color-white);
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}
.quicklink-btn__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.45em;
    padding: 0 0.38em;
    background-color: rgba(255,255,255,0.2);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
}
.quicklink-btn--ghost { background-color: var(--color-white); color: var(--color-primary); border: 1px solid var(--color-gray-200); }
.quicklink-btn--ghost:hover { background-color: var(--color-gray-50); color: var(--color-primary); }

/* ============================================
CARD OFFERTA - show_offerta / show_offerta_evidenza
Obiettivo: più compatta, moderna, leggibile.
============================================ */
.box_offerta {
    margin-bottom: var(--spacing-md);
}

.box_offerta_box,
.offerta_evidenza {
    position: relative;
    align-items: stretch;
    background: var(--color-white);
    border: 1px solid rgba(200, 214, 223, 0.82);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}

.box_offerta_box:hover,
.offerta_evidenza:hover {
    transform: translateY(-2px);
    border-color: rgba(13, 90, 122, 0.25);
    box-shadow: var(--shadow-md);
}

.box_offerta_box::before,
.offerta_evidenza::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--color-accent), var(--color-primary-light));
}

.cod_offerta {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: var(--text-xs);
    color: var(--color-gray-500);
    background: var(--color-gray-50);
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-full);
    padding: 0.22rem 0.55rem;
    margin-bottom: var(--spacing-xs);
}

.minibox {
    background-color: var(--color-gray-50);
    border: 1px solid var(--color-gray-100);
    border-radius: var(--radius-md);
    padding: var(--spacing-sm);
    height: 100%;
}

.offer-abstract {
    padding-right: var(--spacing-lg);
    color: var(--color-gray-600);
    font-size: var(--text-sm);
    line-height: 1.42;
}

.offerta_costo {
    background: linear-gradient(135deg, var(--color-primary-light), var(--color-primary));
    color: var(--color-white);
    border-radius: var(--radius-lg);
    padding: var(--spacing-md);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.16), var(--shadow-xs);
    text-align: center;
}

.offerta_costo.bianco {
    background: var(--color-white);
    color: var(--color-primary);
    border: 1px solid rgba(7, 56, 79, 0.25);
    box-shadow: none;
}

.offerta_costo_2,
.price-bar__value {
    display: block;
    font-size: clamp(1.25rem, 2.4vw, 1.85rem);
    font-weight: var(--font-weight-800);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.offerta_scadura {
    display: inline-flex;
    align-items: center;
    color: var(--color-danger);
    background: rgba(217, 48, 37, 0.08);
    border-radius: var(--radius-full);
    padding: 0.2rem 0.55rem;
    font-size: var(--text-xs);
    font-weight: var(--font-weight-700);
}

.attiva_offerta,
.link_attiva_offerta {
    width: 100%;
    margin-top: var(--spacing-sm);
}

.loghi_aziende,
.loghi_aziende_small,
.loghi_aziende_medium,
.loghi_aziende_big {
    display: block;
    object-fit: contain;
    margin-left: auto;
    margin-right: auto;
    filter: saturate(0.95) contrast(1.02);
}
.loghi_aziende { max-width: 112px; max-height: 54px; }
.loghi_aziende_small { max-width: 76px; max-height: 38px; }
.loghi_aziende_medium { max-width: 132px; max-height: 68px; }
.loghi_aziende_big { max-width: 190px; max-height: 95px; }
.logo-slot { height: 64px; margin-bottom: 0; display: flex; align-items: center; justify-content: center; }
.logo-slot__inner { width: 100%; vertical-align: middle; }

.price-bar {
    display: block;
    width: 100%;
    padding: var(--spacing-sm) 0;
    border-radius: var(--radius-md);
    transition: background-color var(--transition-base);
}
.price-bar--good { background: rgba(31, 157, 85, 0.10); color: var(--color-success); }
.price-bar-wrap { padding: 0.45em; }

/* Rende più compatte le griglie interne delle offerte senza toccare HTML */
.box_offerta .grid-x,
.offerta_evidenza .grid-x {
    row-gap: var(--spacing-sm);
}
.box_offerta .cell,
.offerta_evidenza .cell {
    padding-top: var(--spacing-xs);
    padding-bottom: var(--spacing-xs);
}
.box_offerta h2,
.box_offerta h3,
.box_offerta h4,
.offerta_evidenza h2,
.offerta_evidenza h3,
.offerta_evidenza h4 {
    margin-bottom: var(--spacing-xs);
}
.box_offerta p,
.offerta_evidenza p {
    margin-bottom: var(--spacing-xs);
}

/* ============================================
ARTICOLI, IMMAGINI, PROMO, SIDEBAR
============================================ */
.img_articolo,
.img_articolo_orizzontale,
.thumbnail {
    width: 100%;
    height: auto;
    border-radius: var(--radius-md);
    object-fit: cover;
}
.h2-articoli-home { font-size: var(--text-lg); margin-bottom: var(--spacing-sm); }
.mt-0 { margin-top: 0; }
.promo-banner { text-align: center; }
.promo-banner img { max-width: 100%; height: auto; border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.promo-banner__caption { display: block; text-align: center; margin-top: var(--spacing-sm); color: var(--color-gray-600); font-size: var(--text-sm); }
.sidebar-card h2 { font-size: var(--text-lg); margin-bottom: var(--spacing-sm); }
.n_off_azienda { font-size: var(--text-lg); font-weight: var(--font-weight-800); color: var(--color-primary); }
.search-form { display: flex; flex-wrap: wrap; gap: var(--spacing-sm); justify-content: center; align-items: center; }
.search-form input[type="text"] { width: auto; flex: 1 1 220px; }
.offer-count-link { display: block; margin-bottom: var(--spacing-sm); }
.offer-count-link .grid-x { align-items: center; }
.azienda_disclaimer {
    background-color: var(--color-gray-50);
    border-left: 4px solid var(--color-primary);
    border-radius: var(--radius-sm);
    padding: var(--spacing-md);
    font-size: var(--text-sm);
    color: var(--color-gray-600);
}
.file-list { display: flex; flex-wrap: wrap; gap: var(--spacing-sm); margin-bottom: var(--spacing-lg); }
.file-list__item { text-align: center; }
.file-list__thumb { max-width: 100px; min-height: 100px; max-height: 150px; border-radius: var(--radius-sm); }
.author-avatar-link { position: relative; top: 20px; left: 4px; z-index: 2; }
.fs-20 { font-size: 20px; }
.adsbygoogle--block { display: block; }
.adsbygoogle--in-article { display: block; text-align: center; }
.grid-x--tight { margin: 0.5em; }
.grid-x--m10 { margin: 10px; }

/* ============================================
PAGINAZIONE
============================================ */
.pagination {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-xs);
    list-style: none;
}
.pagination li { display: inline-block; }
.pagination a,
.pagination .current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    min-height: 32px;
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--radius-md);
    color: var(--color-primary);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-700);
    text-decoration: none;
    border: 1px solid var(--color-gray-200);
    background: var(--color-white);
}
.pagination a:hover { background-color: var(--color-gray-100); text-decoration: none; }
.pagination .current { background-color: var(--color-primary); color: var(--color-white); border-color: var(--color-primary); }
.pagination .hide { display: none; }

/* ============================================
FOOTER
============================================ */
.footer {
    position: relative;
    background: linear-gradient(180deg, var(--color-primary-dark), #031823);
    color: rgba(255, 255, 255, 0.75);
    padding-top: var(--spacing-2xl);
    padding-bottom: var(--spacing-lg);
    margin-top: var(--spacing-2xl);
}
.footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--color-accent), var(--color-accent-light), var(--color-primary-light));
}
.footer a { color: inherit; }
.footer-content {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--spacing-xl);
    padding-bottom: var(--spacing-xl);
}
.footer-section h3 {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    color: var(--color-white);
    font-family: var(--font-heading);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-800);
    text-transform: uppercase;
    letter-spacing: 0.045em;
    margin-bottom: var(--spacing-sm);
}
.footer-section h3 i { color: var(--color-accent-light); font-size: var(--text-sm); }
.footer-section p { color: rgba(255, 255, 255, 0.65); font-size: var(--text-sm); line-height: 1.6; margin-bottom: 0; }
.footer-section .text-accent { color: var(--color-accent-light); }
.footer-logo-card {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-white);
    border-radius: var(--radius-md);
    padding: var(--spacing-sm) var(--spacing-md);
}
.footer-logo-card--dark { background-color: var(--color-primary); }
.footer-logo-card img { display: block; height: auto; }
.footer-partner-link { display: inline-block; margin-top: var(--spacing-md); transition: transform var(--transition-base); }
.footer-partner-link:hover { transform: translateY(-2px); }
.footer-partner-logo--sm { max-width: 130px; }
.footer-partner-logo--md { max-width: 170px; }
.footer-partner-logo--lg { max-width: 120px; }
.footer-section ul.list-unstyled { display: flex; flex-direction: column; gap: var(--spacing-xs); }
.footer-link {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    color: rgba(255, 255, 255, 0.75);
    font-size: var(--text-sm);
    text-decoration: none;
    transition: color var(--transition-base);
}
.footer-link i { color: var(--color-accent-light); width: 1em; text-align: center; }
.footer-link:hover { color: var(--color-white); text-decoration: none; }
.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--spacing-md);
    padding-top: var(--spacing-md);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.footer-copyright { font-size: var(--text-xs); color: rgba(255, 255, 255, 0.5); }
.footer-bottom-links { display: flex; gap: var(--spacing-lg); }
.footer-bottom-links .footer-link { font-size: var(--text-xs); color: rgba(255, 255, 255, 0.6); }
.footer-poweredby { text-align: center; padding-top: var(--spacing-xl); border-top: 1px solid rgba(255, 255, 255, 0.12); margin-top: var(--spacing-xl); }
.loghi_aziende_slide { max-height: 3em; max-width: 10em; margin: 0.5em; filter: grayscale(1); }
.img-logo { max-height: 3em; }

/* ============================================
RESPONSIVE
============================================ */
@media (max-width: 1023px) {
    .filters-card__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    h1 { font-size: var(--text-3xl); }
    h2 { font-size: var(--text-2xl); }
    h3 { font-size: var(--text-xl); }
    .site-header__top-inner { flex-wrap: wrap; justify-content: center; text-align: center; }
    .site-header__stats { width: 100%; flex-direction: row; justify-content: center; flex-wrap: wrap; }
    .offer-abstract { padding-right: 0; }
    .offerta_costo { margin-top: var(--spacing-sm); }
}

@media (max-width: 640px) {
    body { font-size: var(--text-sm); }
    h1 { font-size: var(--text-2xl); }
    h2 { font-size: var(--text-xl); }
    h3 { font-size: var(--text-lg); }
    .container { padding-left: var(--spacing-sm); padding-right: var(--spacing-sm); }
    .columns { padding-left: var(--spacing-sm); padding-right: var(--spacing-sm); }
    .filters-card { padding: var(--spacing-md); border-radius: var(--radius-lg); }
    .filters-card__grid { grid-template-columns: 1fr; gap: var(--spacing-md); }
    .filter-block { padding: var(--spacing-sm); }
    .quicklink-btn { width: 100%; justify-content: center; }
    .box_offerta_box,
    .offerta_evidenza { border-radius: var(--radius-md); }
    .box_offerta .small-1,
    .box_offerta .small-2,
    .box_offerta .small-3,
    .box_offerta .small-4,
    .box_offerta .small-5,
    .box_offerta .small-6,
    .box_offerta .small-7,
    .box_offerta .small-8,
    .box_offerta .small-9,
    .box_offerta .small-10,
    .box_offerta .small-11,
    .box_offerta .small-12,
    .offerta_evidenza .small-1,
    .offerta_evidenza .small-2,
    .offerta_evidenza .small-3,
    .offerta_evidenza .small-4,
    .offerta_evidenza .small-5,
    .offerta_evidenza .small-6,
    .offerta_evidenza .small-7,
    .offerta_evidenza .small-8,
    .offerta_evidenza .small-9,
    .offerta_evidenza .small-10,
    .offerta_evidenza .small-11,
    .offerta_evidenza .small-12 {
        width: 100%;
    }
    .loghi_aziende { max-width: 98px; max-height: 48px; }
    .logo-slot { height: 54px; }
    .footer-content { grid-template-columns: 1fr; text-align: center; }
    .footer-section h3 { justify-content: center; }
    .footer-link { justify-content: center; }
    .footer-bottom { justify-content: center; text-align: center; }
    .footer-bottom-links { justify-content: center; flex-wrap: wrap; gap: var(--spacing-md); }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}


/* ============================================
PATCH V2 - Homepage / Aziende / Community
Richieste:
1) Login homepage a destra delle offerte
2) Miglioramento pagina Aziende fornitrici
3) Miglioramento lista articoli Community
============================================ */

/* --------------------------------------------
1) HOMEPAGE - Layout offerte + login a destra
-------------------------------------------- */
.home-layout,
.homepage-layout,
.home-grid,
.home-main-grid,
.home-content,
.homepage-content,
.main-home-layout,
.offerte-home-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: var(--spacing-xl);
    align-items: start;
}

.home-layout .offers,
.home-layout .home-offers,
.home-layout .featured-offers,
.home-layout .lista-offerte,
.homepage-layout .offers,
.homepage-layout .home-offers,
.homepage-layout .featured-offers,
.homepage-layout .lista-offerte,
.home-grid .offers,
.home-grid .home-offers,
.home-grid .featured-offers,
.home-grid .lista-offerte,
.home-main-grid .offers,
.home-main-grid .home-offers,
.home-main-grid .featured-offers,
.home-main-grid .lista-offerte,
.home-content .offers,
.home-content .home-offers,
.home-content .featured-offers,
.home-content .lista-offerte,
.homepage-content .offers,
.homepage-content .home-offers,
.homepage-content .featured-offers,
.homepage-content .lista-offerte,
.main-home-layout .offers,
.main-home-layout .home-offers,
.main-home-layout .featured-offers,
.main-home-layout .lista-offerte,
.offerte-home-layout .offers,
.offerte-home-layout .home-offers,
.offerte-home-layout .featured-offers,
.offerte-home-layout .lista-offerte {
    min-width: 0;
    order: 1;
}

.home-layout .login-box,
.home-layout .box-login,
.home-layout .login-home,
.home-layout .box_login,
.home-layout #login,
.home-layout #login-box,
.home-layout #box-login,
.home-layout aside,
.homepage-layout .login-box,
.homepage-layout .box-login,
.homepage-layout .login-home,
.homepage-layout .box_login,
.homepage-layout #login,
.homepage-layout #login-box,
.homepage-layout #box-login,
.homepage-layout aside,
.home-grid .login-box,
.home-grid .box-login,
.home-grid .login-home,
.home-grid .box_login,
.home-grid #login,
.home-grid #login-box,
.home-grid #box-login,
.home-grid aside,
.home-main-grid .login-box,
.home-main-grid .box-login,
.home-main-grid .login-home,
.home-main-grid .box_login,
.home-main-grid #login,
.home-main-grid #login-box,
.home-main-grid #box-login,
.home-main-grid aside,
.home-content .login-box,
.home-content .box-login,
.home-content .login-home,
.home-content .box_login,
.home-content #login,
.home-content #login-box,
.home-content #box-login,
.home-content aside,
.homepage-content .login-box,
.homepage-content .box-login,
.homepage-content .login-home,
.homepage-content .box_login,
.homepage-content #login,
.homepage-content #login-box,
.homepage-content #box-login,
.homepage-content aside,
.main-home-layout .login-box,
.main-home-layout .box-login,
.main-home-layout .login-home,
.main-home-layout .box_login,
.main-home-layout #login,
.main-home-layout #login-box,
.main-home-layout #box-login,
.main-home-layout aside,
.offerte-home-layout .login-box,
.offerte-home-layout .box-login,
.offerte-home-layout .login-home,
.offerte-home-layout .box_login,
.offerte-home-layout #login,
.offerte-home-layout #login-box,
.offerte-home-layout #box-login,
.offerte-home-layout aside {
    width: 100%;
    max-width: 340px;
    order: 2;
    position: sticky;
    top: 88px;
    align-self: start;
}

/* Se la homepage usa direttamente la griglia Foundation: forza il layout più comune */
.homepage .grid-x > .large-8,
.home .grid-x > .large-8,
.page-home .grid-x > .large-8,
.index-home .grid-x > .large-8 {
    width: 66.66667%;
    flex: 0 0 auto;
}

.homepage .grid-x > .large-4,
.home .grid-x > .large-4,
.page-home .grid-x > .large-4,
.index-home .grid-x > .large-4 {
    width: 33.33333%;
    flex: 0 0 auto;
}

/* Box login più coerente con le card offerte */
.login-box,
.box-login,
.login-home,
.box_login,
#login-box,
#box-login {
    background: var(--color-white);
    border: 1px solid rgba(200, 214, 223, 0.88);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md);
    padding: var(--spacing-lg);
}

.login-box h2,
.login-box h3,
.box-login h2,
.box-login h3,
.login-home h2,
.login-home h3,
.box_login h2,
.box_login h3,
#login-box h2,
#login-box h3,
#box-login h2,
#box-login h3 {
    color: var(--color-primary);
    font-size: 1.1rem;
    margin-bottom: var(--spacing-md);
}

/* Offerte consigliate più distanziate e leggibili */
.home-featured-offers,
.featured-offers,
.offerte-consigliate,
.home-offerte-consigliate,
.scelta-offerte,
.la-nostra-scelta {
    margin-bottom: 2rem;
}

.home-featured-offers .box_offerta,
.featured-offers .box_offerta,
.offerte-consigliate .box_offerta,
.home-offerte-consigliate .box_offerta,
.scelta-offerte .box_offerta,
.la-nostra-scelta .box_offerta,
.offerta_evidenza {
    margin-bottom: 1.25rem;
}

.home-featured-offers .box_offerta_box,
.featured-offers .box_offerta_box,
.offerte-consigliate .box_offerta_box,
.home-offerte-consigliate .box_offerta_box,
.scelta-offerte .box_offerta_box,
.la-nostra-scelta .box_offerta_box,
.offerta_evidenza {
    padding: var(--spacing-md);
}

/* Richiedi Offerta sotto la riga "Gestione via WhatsApp" quando il markup è nella stessa card */
.home-featured-offers .attiva_offerta,
.home-featured-offers .link_attiva_offerta,
.featured-offers .attiva_offerta,
.featured-offers .link_attiva_offerta,
.offerte-consigliate .attiva_offerta,
.offerte-consigliate .link_attiva_offerta,
.home-offerte-consigliate .attiva_offerta,
.home-offerte-consigliate .link_attiva_offerta,
.scelta-offerte .attiva_offerta,
.scelta-offerte .link_attiva_offerta,
.la-nostra-scelta .attiva_offerta,
.la-nostra-scelta .link_attiva_offerta,
.offerta_evidenza .attiva_offerta,
.offerta_evidenza .link_attiva_offerta {
    display: flex;
    width: 100%;
    clear: both;
    margin-top: 0.75rem;
    margin-left: 0;
    margin-right: 0;
}

.offer-management,
.gestione-offerta,
.gestione-whatsapp,
.gestione-via-whatsapp {
    display: block;
    margin-top: 0.45rem;
    margin-bottom: 0.25rem;
    font-size: var(--text-sm);
    color: var(--color-gray-600);
    text-align: center;
}

@media (max-width: 1023px) {
    .home-layout,
    .homepage-layout,
    .home-grid,
    .home-main-grid,
    .home-content,
    .homepage-content,
    .main-home-layout,
    .offerte-home-layout {
        grid-template-columns: 1fr;
    }

    .home-layout .login-box,
    .home-layout .box-login,
    .home-layout .login-home,
    .home-layout .box_login,
    .home-layout #login,
    .home-layout #login-box,
    .home-layout #box-login,
    .home-layout aside,
    .homepage-layout .login-box,
    .homepage-layout .box-login,
    .homepage-layout .login-home,
    .homepage-layout .box_login,
    .homepage-layout #login,
    .homepage-layout #login-box,
    .homepage-layout #box-login,
    .homepage-layout aside,
    .home-grid .login-box,
    .home-grid .box-login,
    .home-grid .login-home,
    .home-grid .box_login,
    .home-grid #login,
    .home-grid #login-box,
    .home-grid #box-login,
    .home-grid aside,
    .home-main-grid .login-box,
    .home-main-grid .box-login,
    .home-main-grid .login-home,
    .home-main-grid .box_login,
    .home-main-grid #login,
    .home-main-grid #login-box,
    .home-main-grid #box-login,
    .home-main-grid aside,
    .home-content .login-box,
    .home-content .box-login,
    .home-content .login-home,
    .home-content .box_login,
    .home-content #login,
    .home-content #login-box,
    .home-content #box-login,
    .home-content aside,
    .homepage-content .login-box,
    .homepage-content .box-login,
    .homepage-content .login-home,
    .homepage-content .box_login,
    .homepage-content #login,
    .homepage-content #login-box,
    .homepage-content #box-login,
    .homepage-content aside,
    .main-home-layout .login-box,
    .main-home-layout .box-login,
    .main-home-layout .login-home,
    .main-home-layout .box_login,
    .main-home-layout #login,
    .main-home-layout #login-box,
    .main-home-layout #box-login,
    .main-home-layout aside,
    .offerte-home-layout .login-box,
    .offerte-home-layout .box-login,
    .offerte-home-layout .login-home,
    .offerte-home-layout .box_login,
    .offerte-home-layout #login,
    .offerte-home-layout #login-box,
    .offerte-home-layout #box-login,
    .offerte-home-layout aside {
        max-width: 100%;
        position: static;
    }

    .homepage .grid-x > .large-8,
    .homepage .grid-x > .large-4,
    .home .grid-x > .large-8,
    .home .grid-x > .large-4,
    .page-home .grid-x > .large-8,
    .page-home .grid-x > .large-4,
    .index-home .grid-x > .large-8,
    .index-home .grid-x > .large-4 {
        width: 100%;
    }
}

/* --------------------------------------------
2) PAGINA AZIENDE - card fornitori più leggibili
-------------------------------------------- */
.lista-aziende,
.aziende-list,
.aziende-grid,
.suppliers-list,
.suppliers-grid,
.companies-list,
.companies-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.azienda-card,
.card-azienda,
.supplier-card,
.company-card,
.lista-aziende .azienda,
.lista-aziende .card,
.aziende-list .azienda,
.aziende-list .card,
.aziende-grid .azienda,
.aziende-grid .card,
.suppliers-list .supplier,
.suppliers-grid .supplier,
.companies-list .company,
.companies-grid .company {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 170px;
    background: var(--color-white);
    border: 1px solid rgba(200, 214, 223, 0.85);
    border-radius: var(--radius-xl);
    padding: 1rem;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
    overflow: hidden;
}

.azienda-card::before,
.card-azienda::before,
.supplier-card::before,
.company-card::before,
.lista-aziende .azienda::before,
.aziende-list .azienda::before,
.aziende-grid .azienda::before,
.suppliers-list .supplier::before,
.suppliers-grid .supplier::before,
.companies-list .company::before,
.companies-grid .company::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, var(--color-accent), var(--color-primary-light));
}

.azienda-card:hover,
.card-azienda:hover,
.supplier-card:hover,
.company-card:hover,
.lista-aziende .azienda:hover,
.lista-aziende .card:hover,
.aziende-list .azienda:hover,
.aziende-list .card:hover,
.aziende-grid .azienda:hover,
.aziende-grid .card:hover,
.suppliers-list .supplier:hover,
.suppliers-grid .supplier:hover,
.companies-list .company:hover,
.companies-grid .company:hover {
    transform: translateY(-3px);
    border-color: rgba(13, 90, 122, 0.26);
    box-shadow: var(--shadow-md);
}

.azienda-card img,
.card-azienda img,
.supplier-card img,
.company-card img,
.lista-aziende img,
.aziende-list img,
.aziende-grid img,
.suppliers-list img,
.suppliers-grid img,
.companies-list img,
.companies-grid img {
    display: block;
    max-width: 170px;
    max-height: 78px;
    object-fit: contain;
    margin: 0.35rem auto 0.85rem;
    filter: saturate(1.02) contrast(1.02);
}

.azienda-card h2,
.azienda-card h3,
.card-azienda h2,
.card-azienda h3,
.supplier-card h2,
.supplier-card h3,
.company-card h2,
.company-card h3,
.lista-aziende h2,
.lista-aziende h3,
.aziende-list h2,
.aziende-list h3,
.aziende-grid h2,
.aziende-grid h3,
.suppliers-list h2,
.suppliers-list h3,
.suppliers-grid h2,
.suppliers-grid h3,
.companies-list h2,
.companies-list h3,
.companies-grid h2,
.companies-grid h3 {
    color: var(--color-primary);
    font-size: 1rem;
    font-weight: var(--font-weight-800);
    text-align: center;
    line-height: 1.25;
    margin: 0.25rem 0 0.45rem;
}

.azienda-card p,
.card-azienda p,
.supplier-card p,
.company-card p,
.lista-aziende p,
.aziende-list p,
.aziende-grid p,
.suppliers-list p,
.suppliers-grid p,
.companies-list p,
.companies-grid p {
    color: var(--color-gray-600);
    font-size: var(--text-sm);
    line-height: 1.42;
    text-align: center;
    margin-bottom: 0.45rem;
}

.azienda-card .button,
.card-azienda .button,
.supplier-card .button,
.company-card .button,
.lista-aziende .button,
.aziende-list .button,
.aziende-grid .button,
.suppliers-list .button,
.suppliers-grid .button,
.companies-list .button,
.companies-grid .button {
    width: 100%;
    margin-top: auto;
}

/* Migliora anche i link/count azienda se la pagina usa la struttura esistente */
.offer-count-link {
    background: var(--color-white);
    border: 1px solid rgba(200, 214, 223, 0.85);
    border-radius: var(--radius-lg);
    padding: 0.75rem;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}
.offer-count-link:hover {
    transform: translateY(-2px);
    border-color: rgba(13, 90, 122, 0.24);
    box-shadow: var(--shadow-md);
}
.offer-count-link .grid-x {
    align-items: center;
    gap: 0.5rem;
}
.offer-count-link img {
    max-width: 125px;
    max-height: 58px;
    object-fit: contain;
}

/* --------------------------------------------
3) COMMUNITY - lista articoli più moderna
-------------------------------------------- */
.community-list,
.lista-articoli,
.article-list,
.articles-list,
.blog-list,
.news-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.1rem;
    align-items: stretch;
}

.community-list article,
.community-list .article,
.community-list .post,
.lista-articoli article,
.lista-articoli .article,
.lista-articoli .post,
.article-list article,
.article-list .article,
.article-list .post,
.articles-list article,
.articles-list .article,
.articles-list .post,
.blog-list article,
.blog-list .article,
.blog-list .post,
.news-list article,
.news-list .article,
.news-list .post,
.card-articolo,
.article-card,
.post-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background: var(--color-white);
    border: 1px solid rgba(200, 214, 223, 0.85);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}

.community-list article:hover,
.community-list .article:hover,
.community-list .post:hover,
.lista-articoli article:hover,
.lista-articoli .article:hover,
.lista-articoli .post:hover,
.article-list article:hover,
.article-list .article:hover,
.article-list .post:hover,
.articles-list article:hover,
.articles-list .article:hover,
.articles-list .post:hover,
.blog-list article:hover,
.blog-list .article:hover,
.blog-list .post:hover,
.news-list article:hover,
.news-list .article:hover,
.news-list .post:hover,
.card-articolo:hover,
.article-card:hover,
.post-card:hover {
    transform: translateY(-3px);
    border-color: rgba(13, 90, 122, 0.26);
    box-shadow: var(--shadow-md);
}

.community-list article img,
.community-list .article img,
.community-list .post img,
.lista-articoli article img,
.lista-articoli .article img,
.lista-articoli .post img,
.article-list article img,
.article-list .article img,
.article-list .post img,
.articles-list article img,
.articles-list .article img,
.articles-list .post img,
.blog-list article img,
.blog-list .article img,
.blog-list .post img,
.news-list article img,
.news-list .article img,
.news-list .post img,
.card-articolo img,
.article-card img,
.post-card img,
.img_articolo,
.img_articolo_orizzontale {
    width: 100%;
    height: 185px;
    object-fit: cover;
    border-radius: 0;
}

.community-list article h2,
.community-list article h3,
.community-list .article h2,
.community-list .article h3,
.community-list .post h2,
.community-list .post h3,
.lista-articoli article h2,
.lista-articoli article h3,
.lista-articoli .article h2,
.lista-articoli .article h3,
.lista-articoli .post h2,
.lista-articoli .post h3,
.article-list article h2,
.article-list article h3,
.article-list .article h2,
.article-list .article h3,
.article-list .post h2,
.article-list .post h3,
.articles-list article h2,
.articles-list article h3,
.articles-list .article h2,
.articles-list .article h3,
.articles-list .post h2,
.articles-list .post h3,
.blog-list article h2,
.blog-list article h3,
.blog-list .article h2,
.blog-list .article h3,
.blog-list .post h2,
.blog-list .post h3,
.news-list article h2,
.news-list article h3,
.news-list .article h2,
.news-list .article h3,
.news-list .post h2,
.news-list .post h3,
.card-articolo h2,
.card-articolo h3,
.article-card h2,
.article-card h3,
.post-card h2,
.post-card h3,
.h2-articoli-home {
    color: var(--color-primary);
    font-size: 1.08rem;
    font-weight: var(--font-weight-800);
    line-height: 1.28;
    padding: 0.9rem 1rem 0;
    margin-bottom: 0.45rem;
}

.community-list article p,
.community-list .article p,
.community-list .post p,
.lista-articoli article p,
.lista-articoli .article p,
.lista-articoli .post p,
.article-list article p,
.article-list .article p,
.article-list .post p,
.articles-list article p,
.articles-list .article p,
.articles-list .post p,
.blog-list article p,
.blog-list .article p,
.blog-list .post p,
.news-list article p,
.news-list .article p,
.news-list .post p,
.card-articolo p,
.article-card p,
.post-card p {
    color: var(--color-gray-600);
    font-size: var(--text-sm);
    line-height: 1.5;
    padding: 0 1rem;
    margin-bottom: 0.75rem;
}

.read-more,
.leggi-articolo,
.article-read-more,
.community-list article .button,
.community-list .article .button,
.community-list .post .button,
.lista-articoli article .button,
.lista-articoli .article .button,
.lista-articoli .post .button,
.article-list article .button,
.article-list .article .button,
.article-list .post .button,
.articles-list article .button,
.articles-list .article .button,
.articles-list .post .button,
.blog-list article .button,
.blog-list .article .button,
.blog-list .post .button,
.news-list article .button,
.news-list .article .button,
.news-list .post .button,
.card-articolo .button,
.article-card .button,
.post-card .button {
    width: calc(100% - 2rem);
    margin: auto 1rem 1rem;
    background: linear-gradient(135deg, var(--color-accent-light), var(--color-accent));
    color: var(--color-white);
    border-radius: var(--radius-md);
    font-weight: var(--font-weight-800);
    text-align: center;
}

.read-more:hover,
.leggi-articolo:hover,
.article-read-more:hover,
.community-list article .button:hover,
.community-list .article .button:hover,
.community-list .post .button:hover,
.lista-articoli article .button:hover,
.lista-articoli .article .button:hover,
.lista-articoli .post .button:hover,
.article-list article .button:hover,
.article-list .article .button:hover,
.article-list .post .button:hover,
.articles-list article .button:hover,
.articles-list .article .button:hover,
.articles-list .post .button:hover,
.blog-list article .button:hover,
.blog-list .article .button:hover,
.blog-list .post .button:hover,
.news-list article .button:hover,
.news-list .article .button:hover,
.news-list .post .button:hover,
.card-articolo .button:hover,
.article-card .button:hover,
.post-card .button:hover {
    background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark));
    color: var(--color-white);
}

/* Se la community usa righe Foundation invece che article card */
.community .row,
.community-page .row,
.page-community .row {
    row-gap: 1rem;
}

.community .ombra,
.community-page .ombra,
.page-community .ombra {
    margin: 0 0 1rem;
}

/* --------------------------------------------
Responsive finale per nuove sezioni
-------------------------------------------- */
@media (max-width: 768px) {
    .lista-aziende,
    .aziende-list,
    .aziende-grid,
    .suppliers-list,
    .suppliers-grid,
    .companies-list,
    .companies-grid,
    .community-list,
    .lista-articoli,
    .article-list,
    .articles-list,
    .blog-list,
    .news-list {
        grid-template-columns: 1fr;
    }

    .community-list article img,
    .community-list .article img,
    .community-list .post img,
    .lista-articoli article img,
    .lista-articoli .article img,
    .lista-articoli .post img,
    .article-list article img,
    .article-list .article img,
    .article-list .post img,
    .articles-list article img,
    .articles-list .article img,
    .articles-list .post img,
    .blog-list article img,
    .blog-list .article img,
    .blog-list .post img,
    .news-list article img,
    .news-list .article img,
    .news-list .post img,
    .card-articolo img,
    .article-card img,
    .post-card img,
    .img_articolo,
    .img_articolo_orizzontale {
        height: 165px;
    }
}

/* ============================================
PATCH V4 - Markup reale offerte consigliate
Pagina /offerte/
Markup intercettato:
<div class="grid-x">
  <div class="offerta-consigliata">
    <a>
      <div class="ombra box_offerta box_offerta_box">
        <h3>...</h3>
        <div>Prezzo / Gestione...</div>
        <div class="offerta-consigliata-botton">
          <div class="link_attiva_offerta">Richiedi Offerta</div>
        </div>
      </div>
    </a>
  </div>
</div>
============================================ */

/* Contenitore effettivo delle due card consigliate.
   Uso :has() per trasformare solo le grid-x che contengono .offerta-consigliata,
   senza modificare tutte le altre griglie del sito. */
.grid-x:has(> .offerta-consigliata) {
    width: min(100%, 1180px);
    margin: 0 auto 3.5rem;
    padding: 1.35rem;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(300px, 1fr));
    gap: 1.45rem;
    align-items: stretch;
    background: linear-gradient(135deg, rgba(7, 56, 79, 0.05), rgba(243, 111, 33, 0.08));
    border: 1px solid rgba(200, 214, 223, 0.9);
    border-radius: 24px;
    box-shadow: 0 14px 42px rgba(4, 31, 45, 0.08);
}

/* Card wrapper reale */
.offerta-consigliata {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    min-width: 0;
}

.offerta-consigliata > a {
    display: flex !important;
    width: 100%;
    height: 100%;
    text-decoration: none !important;
    color: inherit;
}

/* Card effettiva: il markup usa .ombra.box_offerta.box_offerta_box */
.offerta-consigliata .ombra.box_offerta.box_offerta_box,
.offerta-consigliata .box_offerta.box_offerta_box,
.offerta-consigliata .box_offerta_box {
    position: relative;
    width: 100%;
    min-height: 335px;
    height: 100%;
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    background: #ffffff !important;
    border: 1px solid rgba(200, 214, 223, 0.96) !important;
    border-radius: 24px !important;
    padding: 3.35rem 1.35rem 1.25rem !important;
    margin: 0 !important;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(4, 31, 45, 0.09) !important;
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.offerta-consigliata .ombra.box_offerta.box_offerta_box:hover,
.offerta-consigliata .box_offerta.box_offerta_box:hover,
.offerta-consigliata .box_offerta_box:hover {
    transform: translateY(-5px);
    border-color: rgba(243, 111, 33, 0.45) !important;
    box-shadow: 0 22px 48px rgba(4, 31, 45, 0.16) !important;
}

/* Label superiore ben visibile */
.offerta-consigliata .ombra.box_offerta.box_offerta_box::before,
.offerta-consigliata .box_offerta.box_offerta_box::before,
.offerta-consigliata .box_offerta_box::before {
    content: "LA NOSTRA SCELTA" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: auto !important;
    height: auto !important;
    padding: 0.62rem 0.75rem !important;
    background: linear-gradient(90deg, #f36f21, #ff9a4c) !important;
    color: #ffffff !important;
    text-align: center;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    z-index: 2;
}

/* Titolo della card */
.offerta-consigliata h3 {
    margin: 0.55rem 0 1rem !important;
    padding: 0 !important;
    text-align: center !important;
    color: #07384f !important;
    font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.03em;
}

.offerta-consigliata h3 i {
    color: #07384f;
    margin-right: 0.3rem;
}

/* Il primo div dopo h3 contiene prezzo, abbonamento e gestione.
   Lo trasformo nel box centrale blu. */
.offerta-consigliata h3 + div {
    width: 100%;
    flex: 1 1 auto;
    background: linear-gradient(135deg, #07384f, #0d5a7a) !important;
    color: #ffffff !important;
    border-radius: 18px;
    padding: 1.25rem 1rem !important;
    text-align: center;
    margin: 0 0 1rem !important;
    font-size: 1rem;
    line-height: 1.75;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 12px 26px rgba(7, 56, 79, 0.22);
}

.offerta-consigliata h3 + div b {
    color: #ffffff;
    font-weight: 800;
}

.offerta-consigliata h3 + div i {
    color: #ffb57f;
}

.offerta-consigliata h3 + div .verde,
.offerta-consigliata .verde {
    color: #25d366 !important;
}

/* Rende la parte "Prezzo Indicizzato" più simile a un dato chiave */
.offerta-consigliata h3 + div b:first-of-type {
    display: inline-block;
    margin: 0 0.15rem;
    font-size: 1.12rem;
    letter-spacing: -0.02em;
}

/* Area bottone sempre in fondo alla card */
.offerta-consigliata-botton {
    width: 100%;
    margin-top: auto !important;
    display: block;
}

.offerta-consigliata .link_attiva_offerta {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 54px;
    margin: 0 !important;
    padding: 0.85rem 1rem !important;
    border-radius: 15px !important;
    background: linear-gradient(135deg, #ff944d, #f36f21) !important;
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.1;
    text-align: center;
    box-shadow: 0 12px 26px rgba(243, 111, 33, 0.30) !important;
    transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.offerta-consigliata .link_attiva_offerta:hover {
    background: linear-gradient(135deg, #f36f21, #d95c12) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(243, 111, 33, 0.38) !important;
}

/* Distanzia chiaramente "La nostra scelta" dal blocco offerte successive */
.grid-x:has(> .offerta-consigliata) + h1,
.grid-x:has(> .offerta-consigliata) + h2,
.grid-x:has(> .offerta-consigliata) + h3,
.grid-x:has(> .offerta-consigliata) + .pagetitle,
.grid-x:has(> .offerta-consigliata) + .section-title {
    margin-top: 2.5rem !important;
}

/* Se il titolo "La nostra scelta" precede immediatamente la grid */
.pagetitle + .grid-x:has(> .offerta-consigliata),
h1 + .grid-x:has(> .offerta-consigliata),
h2 + .grid-x:has(> .offerta-consigliata),
h3 + .grid-x:has(> .offerta-consigliata) {
    margin-top: 1.25rem;
}

/* Fallback: se il browser non supporta :has(), almeno le card reali cambiano comunque */
.offerta-consigliata:nth-of-type(1),
.offerta-consigliata:nth-of-type(2) {
    box-sizing: border-box;
}

/* Mobile/tablet */
@media (max-width: 960px) {
    .grid-x:has(> .offerta-consigliata) {
        grid-template-columns: 1fr;
        padding: 1rem;
        gap: 1rem;
        margin-bottom: 2.5rem;
        border-radius: 18px;
    }

    .offerta-consigliata .ombra.box_offerta.box_offerta_box,
    .offerta-consigliata .box_offerta.box_offerta_box,
    .offerta-consigliata .box_offerta_box {
        min-height: auto;
        padding: 3.1rem 1rem 1rem !important;
    }

    .offerta-consigliata h3 + div {
        font-size: 0.95rem;
        line-height: 1.6;
    }
}

@media (max-width: 640px) {
    .grid-x:has(> .offerta-consigliata) {
        width: 100%;
        padding: 0.75rem;
        box-shadow: 0 8px 24px rgba(4, 31, 45, 0.08);
    }

    .offerta-consigliata h3 {
        font-size: 1.28rem !important;
    }

    .offerta-consigliata h3 + div {
        padding: 1rem 0.85rem !important;
    }

    .offerta-consigliata .link_attiva_offerta {
        min-height: 50px;
        font-size: 0.95rem !important;
    }
}

/* ============================================
PATCH V5 - Community page redesign
Pagina /community/
Obiettivo: rendere la lista articoli più moderna, compatta e leggibile.
Target robusti usati perché il markup può variare:
- .community-list / .lista-articoli / .article-list / .articles-list / .blog-list / .news-list
- .card-articolo / .article-card / .post-card / article / .post / .article
- .h2-articoli-home / .img_articolo / .img_articolo_orizzontale
- contenitori :has(.h2-articoli-home) per intercettare la struttura attuale senza modificare tutto il sito
============================================ */

/* Hero/titolo pagina community */
.community-hero,
.community-header,
.page-community .pagetitle,
.community-page .pagetitle,
body.community .pagetitle,
.pagetitle:has(+ .community-list),
.pagetitle:has(+ .lista-articoli),
.pagetitle:has(+ .article-list),
.pagetitle:has(+ .articles-list),
.pagetitle:has(+ .blog-list),
.pagetitle:has(+ .news-list) {
    margin-top: 1.5rem;
    margin-bottom: 1.75rem;
}

/* Layout principale lista articoli */
.community-list,
.lista-articoli,
.article-list,
.articles-list,
.blog-list,
.news-list,
.grid-x:has(.h2-articoli-home),
.row:has(.h2-articoli-home),
.grid-x:has(.img_articolo),
.row:has(.img_articolo) {
    width: min(100%, 1180px);
    margin: 0 auto 3rem;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
    align-items: stretch;
}

/* Wrapper delle card: neutralizza colonne Foundation solo nella community/card articoli */
.community-list > *,
.lista-articoli > *,
.article-list > *,
.articles-list > *,
.blog-list > *,
.news-list > *,
.grid-x:has(.h2-articoli-home) > .cell,
.grid-x:has(.h2-articoli-home) > .columns,
.row:has(.h2-articoli-home) > .cell,
.row:has(.h2-articoli-home) > .columns,
.grid-x:has(.img_articolo) > .cell,
.grid-x:has(.img_articolo) > .columns,
.row:has(.img_articolo) > .cell,
.row:has(.img_articolo) > .columns {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    min-width: 0;
    display: flex;
}

/* Card articolo */
.community-list article,
.community-list .article,
.community-list .post,
.lista-articoli article,
.lista-articoli .article,
.lista-articoli .post,
.article-list article,
.article-list .article,
.article-list .post,
.articles-list article,
.articles-list .article,
.articles-list .post,
.blog-list article,
.blog-list .article,
.blog-list .post,
.news-list article,
.news-list .article,
.news-list .post,
.card-articolo,
.article-card,
.post-card,
.grid-x:has(.h2-articoli-home) .ombra,
.row:has(.h2-articoli-home) .ombra,
.grid-x:has(.img_articolo) .ombra,
.row:has(.img_articolo) .ombra {
    position: relative;
    width: 100%;
    min-height: 100%;
    display: flex !important;
    flex-direction: column;
    background: #ffffff !important;
    border: 1px solid rgba(200, 214, 223, 0.92) !important;
    border-radius: 22px !important;
    overflow: hidden;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: 0 10px 28px rgba(4, 31, 45, 0.08) !important;
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.community-list article:hover,
.community-list .article:hover,
.community-list .post:hover,
.lista-articoli article:hover,
.lista-articoli .article:hover,
.lista-articoli .post:hover,
.article-list article:hover,
.article-list .article:hover,
.article-list .post:hover,
.articles-list article:hover,
.articles-list .article:hover,
.articles-list .post:hover,
.blog-list article:hover,
.blog-list .article:hover,
.blog-list .post:hover,
.news-list article:hover,
.news-list .article:hover,
.news-list .post:hover,
.card-articolo:hover,
.article-card:hover,
.post-card:hover,
.grid-x:has(.h2-articoli-home) .ombra:hover,
.row:has(.h2-articoli-home) .ombra:hover,
.grid-x:has(.img_articolo) .ombra:hover,
.row:has(.img_articolo) .ombra:hover {
    transform: translateY(-4px);
    border-color: rgba(243, 111, 33, 0.38) !important;
    box-shadow: 0 18px 42px rgba(4, 31, 45, 0.14) !important;
}

/* Immagine articolo uniforme */
.community-list article img,
.community-list .article img,
.community-list .post img,
.lista-articoli article img,
.lista-articoli .article img,
.lista-articoli .post img,
.article-list article img,
.article-list .article img,
.article-list .post img,
.articles-list article img,
.articles-list .article img,
.articles-list .post img,
.blog-list article img,
.blog-list .article img,
.blog-list .post img,
.news-list article img,
.news-list .article img,
.news-list .post img,
.card-articolo img,
.article-card img,
.post-card img,
.grid-x:has(.h2-articoli-home) .ombra img,
.row:has(.h2-articoli-home) .ombra img,
.grid-x:has(.img_articolo) .ombra img,
.row:has(.img_articolo) .ombra img,
.img_articolo,
.img_articolo_orizzontale {
    width: 100% !important;
    height: 190px !important;
    min-height: 190px;
    object-fit: cover;
    display: block;
    border-radius: 0 !important;
    margin: 0 !important;
}

/* Se una card non ha immagine, crea una fascia superiore grafica */
.grid-x:has(.h2-articoli-home) .ombra:not(:has(img))::before,
.row:has(.h2-articoli-home) .ombra:not(:has(img))::before,
.community-list article:not(:has(img))::before,
.lista-articoli article:not(:has(img))::before,
.article-list article:not(:has(img))::before,
.articles-list article:not(:has(img))::before,
.blog-list article:not(:has(img))::before,
.news-list article:not(:has(img))::before,
.card-articolo:not(:has(img))::before,
.article-card:not(:has(img))::before,
.post-card:not(:has(img))::before {
    content: "";
    display: block;
    width: 100%;
    height: 8px;
    background: linear-gradient(90deg, #f36f21, #ff9a4c, #0d5a7a);
}

/* Titolo articolo */
.community-list article h2,
.community-list article h3,
.community-list .article h2,
.community-list .article h3,
.community-list .post h2,
.community-list .post h3,
.lista-articoli article h2,
.lista-articoli article h3,
.lista-articoli .article h2,
.lista-articoli .article h3,
.lista-articoli .post h2,
.lista-articoli .post h3,
.article-list article h2,
.article-list article h3,
.article-list .article h2,
.article-list .article h3,
.article-list .post h2,
.article-list .post h3,
.articles-list article h2,
.articles-list article h3,
.articles-list .article h2,
.articles-list .article h3,
.articles-list .post h2,
.articles-list .post h3,
.blog-list article h2,
.blog-list article h3,
.blog-list .article h2,
.blog-list .article h3,
.blog-list .post h2,
.blog-list .post h3,
.news-list article h2,
.news-list article h3,
.news-list .article h2,
.news-list .article h3,
.news-list .post h2,
.news-list .post h3,
.card-articolo h2,
.card-articolo h3,
.article-card h2,
.article-card h3,
.post-card h2,
.post-card h3,
.grid-x:has(.h2-articoli-home) .ombra h2,
.grid-x:has(.h2-articoli-home) .ombra h3,
.row:has(.h2-articoli-home) .ombra h2,
.row:has(.h2-articoli-home) .ombra h3,
.h2-articoli-home {
    color: #07384f !important;
    font-size: clamp(1.08rem, 1.4vw, 1.32rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.025em;
    margin: 0 !important;
    padding: 1rem 1.05rem 0.45rem !important;
}

/* Link titolo senza sottolineatura e con hover più elegante */
.community-list article h2 a,
.community-list article h3 a,
.lista-articoli article h2 a,
.lista-articoli article h3 a,
.article-list article h2 a,
.article-list article h3 a,
.articles-list article h2 a,
.articles-list article h3 a,
.blog-list article h2 a,
.blog-list article h3 a,
.news-list article h2 a,
.news-list article h3 a,
.card-articolo h2 a,
.card-articolo h3 a,
.article-card h2 a,
.article-card h3 a,
.post-card h2 a,
.post-card h3 a,
.h2-articoli-home a {
    color: inherit !important;
    text-decoration: none !important;
}

.community-list article h2 a:hover,
.community-list article h3 a:hover,
.lista-articoli article h2 a:hover,
.lista-articoli article h3 a:hover,
.article-list article h2 a:hover,
.article-list article h3 a:hover,
.articles-list article h2 a:hover,
.articles-list article h3 a:hover,
.blog-list article h2 a:hover,
.blog-list article h3 a:hover,
.news-list article h2 a:hover,
.news-list article h3 a:hover,
.card-articolo h2 a:hover,
.card-articolo h3 a:hover,
.article-card h2 a:hover,
.article-card h3 a:hover,
.post-card h2 a:hover,
.post-card h3 a:hover,
.h2-articoli-home a:hover {
    color: #f36f21 !important;
}

/* Estratto/descrizione */
.community-list article p,
.community-list .article p,
.community-list .post p,
.lista-articoli article p,
.lista-articoli .article p,
.lista-articoli .post p,
.article-list article p,
.article-list .article p,
.article-list .post p,
.articles-list article p,
.articles-list .article p,
.articles-list .post p,
.blog-list article p,
.blog-list .article p,
.blog-list .post p,
.news-list article p,
.news-list .article p,
.news-list .post p,
.card-articolo p,
.article-card p,
.post-card p,
.grid-x:has(.h2-articoli-home) .ombra p,
.row:has(.h2-articoli-home) .ombra p {
    color: #4b5e6c !important;
    font-size: 0.92rem;
    line-height: 1.55;
    margin: 0 !important;
    padding: 0 1.05rem 0.75rem !important;
}

/* Data articolo */
time,
.article-date,
.data-articolo,
.data_articolo,
.post-date,
.news-date,
.community-date,
.grid-x:has(.h2-articoli-home) .ombra .data,
.row:has(.h2-articoli-home) .ombra .data,
.grid-x:has(.h2-articoli-home) .ombra .date,
.row:has(.h2-articoli-home) .ombra .date {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 0.25rem 1.05rem 0.8rem !important;
    padding: 0.36rem 0.62rem;
    border-radius: 999px;
    background: rgba(7, 56, 79, 0.08);
    color: #07384f !important;
    font-size: 0.76rem;
    font-weight: 700;
}

/* CTA: Continua a leggere */
.read-more,
.leggi-articolo,
.article-read-more,
.continua-leggere,
.community-list article .button,
.community-list .article .button,
.community-list .post .button,
.lista-articoli article .button,
.lista-articoli .article .button,
.lista-articoli .post .button,
.article-list article .button,
.article-list .article .button,
.article-list .post .button,
.articles-list article .button,
.articles-list .article .button,
.articles-list .post .button,
.blog-list article .button,
.blog-list .article .button,
.blog-list .post .button,
.news-list article .button,
.news-list .article .button,
.news-list .post .button,
.card-articolo .button,
.article-card .button,
.post-card .button,
.grid-x:has(.h2-articoli-home) .ombra .button,
.row:has(.h2-articoli-home) .ombra .button,
.grid-x:has(.h2-articoli-home) .ombra a:last-child,
.row:has(.h2-articoli-home) .ombra a:last-child {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    width: calc(100% - 2.1rem) !important;
    margin: auto 1.05rem 1.05rem !important;
    padding: 0.7rem 1rem !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, #ff944d, #f36f21) !important;
    color: #ffffff !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    line-height: 1.1;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(243, 111, 33, 0.25) !important;
    transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.read-more:hover,
.leggi-articolo:hover,
.article-read-more:hover,
.continua-leggere:hover,
.community-list article .button:hover,
.community-list .article .button:hover,
.community-list .post .button:hover,
.lista-articoli article .button:hover,
.lista-articoli .article .button:hover,
.lista-articoli .post .button:hover,
.article-list article .button:hover,
.article-list .article .button:hover,
.article-list .post .button:hover,
.articles-list article .button:hover,
.articles-list .article .button:hover,
.articles-list .post .button:hover,
.blog-list article .button:hover,
.blog-list .article .button:hover,
.blog-list .post .button:hover,
.news-list article .button:hover,
.news-list .article .button:hover,
.news-list .post .button:hover,
.card-articolo .button:hover,
.article-card .button:hover,
.post-card .button:hover,
.grid-x:has(.h2-articoli-home) .ombra .button:hover,
.row:has(.h2-articoli-home) .ombra .button:hover,
.grid-x:has(.h2-articoli-home) .ombra a:last-child:hover,
.row:has(.h2-articoli-home) .ombra a:last-child:hover {
    background: linear-gradient(135deg, #f36f21, #d95c12) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(243, 111, 33, 0.34) !important;
}

/* Migliora eventuale sidebar/community box descrittivo */
.community-intro,
.community-description,
.community-summary,
.page-community .hero-subtitle,
.community-page .hero-subtitle,
body.community .hero-subtitle {
    width: min(100%, 900px);
    margin: 0 auto 2rem;
    padding: 1rem 1.25rem;
    background: #ffffff;
    border: 1px solid rgba(200, 214, 223, 0.9);
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(4, 31, 45, 0.07);
    text-align: center;
    color: #4b5e6c;
}

/* Responsive */
@media (max-width: 1120px) {
    .community-list,
    .lista-articoli,
    .article-list,
    .articles-list,
    .blog-list,
    .news-list,
    .grid-x:has(.h2-articoli-home),
    .row:has(.h2-articoli-home),
    .grid-x:has(.img_articolo),
    .row:has(.img_articolo) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .community-list,
    .lista-articoli,
    .article-list,
    .articles-list,
    .blog-list,
    .news-list,
    .grid-x:has(.h2-articoli-home),
    .row:has(.h2-articoli-home),
    .grid-x:has(.img_articolo),
    .row:has(.img_articolo) {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-bottom: 2rem;
    }

    .community-list article img,
    .community-list .article img,
    .community-list .post img,
    .lista-articoli article img,
    .lista-articoli .article img,
    .lista-articoli .post img,
    .article-list article img,
    .article-list .article img,
    .article-list .post img,
    .articles-list article img,
    .articles-list .article img,
    .articles-list .post img,
    .blog-list article img,
    .blog-list .article img,
    .blog-list .post img,
    .news-list article img,
    .news-list .article img,
    .news-list .post img,
    .card-articolo img,
    .article-card img,
    .post-card img,
    .grid-x:has(.h2-articoli-home) .ombra img,
    .row:has(.h2-articoli-home) .ombra img,
    .grid-x:has(.img_articolo) .ombra img,
    .row:has(.img_articolo) .ombra img,
    .img_articolo,
    .img_articolo_orizzontale {
        height: 165px !important;
        min-height: 165px;
    }
}


/* ============================================
PATCH V6 - PAGINA AZIENDE
Correzione layout reale aziende:
nello screenshot alcune aziende occupano tutta la larghezza,
altre finiscono in colonna una sotto l'altra.
Forziamo una vera card grid responsive.
============================================ */

/* Contenitore lista aziende */
.grid-x:has(.offer-count-link),
.grid-x:has(.n_off_azienda),
.aziende-grid,
.lista-aziende,
.aziende-list {
    display:grid !important;
    grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
    gap:18px !important;
    width:min(100%,1200px);
    margin:0 auto 30px;
    align-items:stretch;
}

.grid-x:has(.offer-count-link) > *,
.grid-x:has(.n_off_azienda) > *,
.aziende-grid > *,
.lista-aziende > *,
.aziende-list > *{
    width:auto !important;
    max-width:none !important;
    flex:none !important;
}

/* card azienda reali */
.offer-count-link,
.azienda-card,
.card-azienda{
    display:flex !important;
    flex-direction:column;
    justify-content:flex-start;
    min-height:260px;
    height:100%;
    background:#fff !important;
    border:1px solid rgba(200,214,223,.9) !important;
    border-radius:20px !important;
    padding:18px !important;
    margin:0 !important;
    box-shadow:0 10px 24px rgba(4,31,45,.08) !important;
    transition:.25s;
}

.offer-count-link:hover,
.azienda-card:hover,
.card-azienda:hover{
 transform:translateY(-4px);
 box-shadow:0 18px 42px rgba(4,31,45,.14) !important;
}

.offer-count-link img,
.azienda-card img,
.card-azienda img{
    display:block;
    margin:10px auto 16px !important;
    max-width:180px !important;
    max-height:90px !important;
    object-fit:contain;
}

.offer-count-link h2,
.offer-count-link h3,
.azienda-card h2,
.azienda-card h3{
    text-align:center;
    color:#07384f;
    font-size:1.3rem;
    font-weight:800;
}

.n_off_azienda{
    text-align:center;
    font-size:1rem !important;
    margin-top:auto;
}

/* mobile */
@media(max-width:700px){
 .grid-x:has(.offer-count-link),
 .grid-x:has(.n_off_azienda),
 .aziende-grid,
 .lista-aziende,
 .aziende-list{
   grid-template-columns:1fr;
 }
}

/* ============================================
PATCH V7 - Community real markup cleanup
Pagina /community/
Correzione definitiva basata sulla sorgente reale incollata.
Struttura reale:
.header-spacer + .grid-x
  .large-7.cell > .p-md
    h2
    .grid-x articolo
      .cell.large-4 > a > img.img_articolo
      .cell.large-8.text-justify > h4 + .offer-abstract + .text-right + hr
  .large-2.cell.text-center sidebar

Obiettivo:
- annullare gli effetti generici della PATCH V5 su .grid-x:has(.img_articolo)
- mantenere la pagina a 2 colonne: contenuto + sidebar
- rendere ogni articolo una card orizzontale moderna
- mobile: card verticale, sidebar sotto
============================================ */

/* Reset del layout pagina Community: impedisce che la griglia esterna venga trasformata in griglia articoli */
.header-spacer + .grid-x:has(.img_articolo) {
    display: flex !important;
    flex-wrap: wrap !important;
    width: min(100%, 1240px) !important;
    margin: 0 auto !important;
    padding: 0 1rem 2.5rem !important;
    gap: 0 !important;
    align-items: flex-start !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Colonne principali reali della pagina */
.header-spacer + .grid-x:has(.img_articolo) > .large-1.cell {
    display: none !important;
}

.header-spacer + .grid-x:has(.img_articolo) > .large-7.cell {
    flex: 1 1 auto !important;
    width: calc(100% - 330px) !important;
    max-width: none !important;
    padding: 0 1rem !important;
}

.header-spacer + .grid-x:has(.img_articolo) > .large-2.cell.text-center {
    flex: 0 0 310px !important;
    width: 310px !important;
    max-width: 310px !important;
    padding: 0 0.5rem !important;
    position: sticky;
    top: 90px;
}

/* Contenitore contenuto principale */
.header-spacer + .grid-x:has(.img_articolo) > .large-7.cell > .p-md {
    padding: 0 !important;
}

/* Titolo pagina */
.header-spacer + .grid-x:has(.img_articolo) > .large-7.cell > .p-md > h2 {
    width: 100%;
    margin: 1.25rem 0 1.6rem !important;
    padding: 0 0 0.65rem !important;
    color: #07384f !important;
    font-size: clamp(2rem, 3.2vw, 3rem) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em;
    text-align: left !important;
    border-bottom: 4px solid #f36f21;
    max-width: 760px;
}

.header-spacer + .grid-x:has(.img_articolo) > .large-7.cell > .p-md > br {
    display: none !important;
}

/* Articolo reale: ogni .grid-x con cell.large-4 + cell.large-8 diventa una card orizzontale */
.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo):has(> .cell.large-8) {
    display: grid !important;
    grid-template-columns: 265px minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 0 1.25rem !important;
    padding: 0 !important;
    align-items: stretch !important;
    background: #ffffff !important;
    border: 1px solid rgba(200, 214, 223, 0.92) !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 28px rgba(4, 31, 45, 0.08) !important;
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo):has(> .cell.large-8):hover {
    transform: translateY(-3px);
    border-color: rgba(243, 111, 33, 0.38) !important;
    box-shadow: 0 18px 42px rgba(4, 31, 45, 0.14) !important;
}

/* Neutralizza le larghezze Foundation dentro le card articolo */
.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) > .cell.large-4,
.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) > .cell.large-8 {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    min-width: 0 !important;
    padding: 0 !important;
}

/* Immagine articolo */
.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) > .cell.large-4 > a {
    display: block !important;
    width: 100%;
    height: 100%;
}

.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .img_articolo {
    width: 100% !important;
    height: 100% !important;
    min-height: 250px !important;
    max-height: none !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

/* Colonna testo articolo */
.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) > .cell.large-8.text-justify {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 1.25rem 1.35rem 1.1rem !important;
    text-align: left !important;
}

/* Titolo articolo */
.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) h4 {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    margin: 0 0 0.75rem !important;
    padding: 0 !important;
    color: #07384f !important;
    font-size: clamp(1.25rem, 1.8vw, 1.65rem) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.03em;
}

.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) h4 > a:first-child {
    color: #07384f !important;
    text-decoration: none !important;
    flex: 1 1 auto;
}

.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) h4 > a:first-child:hover {
    color: #f36f21 !important;
}

/* Avatar autore */
.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .avatar_small {
    float: none !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px;
    border-radius: 999px !important;
    object-fit: cover !important;
    box-shadow: 0 4px 12px rgba(4, 31, 45, 0.14);
}

/* Abstract */
.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .offer-abstract {
    padding: 0 !important;
    margin: 0 !important;
    color: #4b5e6c !important;
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
}

.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .offer-abstract a {
    color: inherit !important;
    text-decoration: none !important;
}

.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .offer-abstract p,
.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .offer-abstract .MsoNormal {
    margin: 0 0 0.85rem !important;
    padding: 0 !important;
    color: #4b5e6c !important;
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

/* Data */
.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .offer-abstract small:last-child,
.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .offer-abstract small:last-child i {
    display: inline-flex !important;
    align-items: center;
    width: fit-content;
    margin: 0 !important;
    padding: 0.32rem 0.62rem !important;
    border-radius: 999px;
    background: rgba(7, 56, 79, 0.08);
    color: #07384f !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    font-style: normal !important;
}

/* CTA */
.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .text-right {
    text-align: left !important;
    margin-top: auto !important;
    padding-top: 1rem !important;
}

.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .text-right b {
    font-weight: 800 !important;
}

.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .text-right a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.4rem;
    min-height: 42px;
    padding: 0.68rem 1rem !important;
    border-radius: 13px;
    background: linear-gradient(135deg, #ff944d, #f36f21) !important;
    color: #ffffff !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    line-height: 1.1;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(243, 111, 33, 0.25) !important;
}

.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .text-right a:hover {
    background: linear-gradient(135deg, #f36f21, #d95c12) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(243, 111, 33, 0.34) !important;
}

/* Rimuove separatori vecchi dentro le card */
.header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) hr {
    display: none !important;
}

/* Sidebar destra autore/login */
.header-spacer + .grid-x:has(.img_articolo) > .large-2.cell.text-center {
    background: #ffffff;
    border: 1px solid rgba(200, 214, 223, 0.92);
    border-radius: 22px;
    box-shadow: 0 10px 28px rgba(4, 31, 45, 0.08);
    padding: 1.1rem !important;
    text-align: center !important;
}

.header-spacer + .grid-x:has(.img_articolo) > .large-2.cell.text-center h3.sottotitolo {
    margin: 0.5rem 0 0.75rem !important;
    color: #07384f !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
}

.header-spacer + .grid-x:has(.img_articolo) > .large-2.cell.text-center form {
    display: grid;
    gap: 0.55rem;
    margin: 0.75rem 0;
}

.header-spacer + .grid-x:has(.img_articolo) > .large-2.cell.text-center input[type="text"],
.header-spacer + .grid-x:has(.img_articolo) > .large-2.cell.text-center input[type="password"] {
    min-height: 38px;
    border-radius: 10px;
}

/* Griglia autori in sidebar */
.header-spacer + .grid-x:has(.img_articolo) > .large-2.cell.text-center .grid-x:has(.avatar_small) {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0.45rem !important;
    margin-top: 0.75rem !important;
}

.header-spacer + .grid-x:has(.img_articolo) > .large-2.cell.text-center .grid-x:has(.avatar_small) > .columns {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
}

.header-spacer + .grid-x:has(.img_articolo) > .large-2.cell.text-center .grid-x:has(.avatar_small) .avatar_small {
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px;
    object-fit: cover;
    box-shadow: 0 4px 12px rgba(4, 31, 45, 0.12);
}

/* Tablet */
@media (max-width: 1023px) {
    .header-spacer + .grid-x:has(.img_articolo) {
        display: block !important;
        padding: 0 1rem 2rem !important;
    }

    .header-spacer + .grid-x:has(.img_articolo) > .large-7.cell,
    .header-spacer + .grid-x:has(.img_articolo) > .large-2.cell.text-center {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
        position: static !important;
        padding: 0 !important;
    }

    .header-spacer + .grid-x:has(.img_articolo) > .large-2.cell.text-center {
        margin-top: 1.5rem !important;
    }
}

/* Mobile: card verticale */
@media (max-width: 720px) {
    .header-spacer + .grid-x:has(.img_articolo) {
        padding: 0 0.75rem 1.5rem !important;
    }

    .header-spacer + .grid-x:has(.img_articolo) > .large-7.cell > .p-md > h2 {
        font-size: 2rem !important;
        margin-top: 0.75rem !important;
    }

    .header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo):has(> .cell.large-8) {
        grid-template-columns: 1fr !important;
        border-radius: 18px !important;
    }

    .header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .img_articolo {
        height: 190px !important;
        min-height: 190px !important;
    }

    .header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) > .cell.large-8.text-justify {
        padding: 1rem !important;
    }

    .header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) h4 {
        font-size: 1.25rem !important;
    }

    .header-spacer + .grid-x .large-7.cell > .p-md > .grid-x:has(> .cell.large-4 .img_articolo) .text-right a {
        width: 100%;
    }

    .header-spacer + .grid-x:has(.img_articolo) > .large-2.cell.text-center .grid-x:has(.avatar_small) {
        grid-template-columns: repeat(5, 1fr) !important;
    }
}


/* ============================================
PATCH V8 - PAGINA FOTOVOLTAICO
============================================ */
body:has(.pagetitle):has(.fa-solar-panel) .large-10.cell{max-width:1180px;margin:0 auto;}

.pagetitle{
 margin-top:1rem;
}

/* contenuto fotovoltaico */
.large-10.cell>.p-20.text-justify{
 background:#fff;
 border:1px solid rgba(200,214,223,.9);
 border-radius:24px;
 padding:2rem!important;
 box-shadow:0 12px 32px rgba(4,31,45,.08);
}

.large-10.cell section{
 background:linear-gradient(180deg,#fff,#fbfdff);
 border:1px solid rgba(200,214,223,.6);
 border-radius:20px;
 padding:1.5rem;
 margin-bottom:1.25rem;
}

.large-10.cell section h2{
 color:#07384f;
 font-size:1.8rem;
 border-left:5px solid #f36f21;
 padding-left:14px;
 margin-bottom:1rem;
}

.large-10.cell section ul,
.large-10.cell section ol{
 padding-left:1.5rem;
}

.large-10.cell section li{
 margin-bottom:.7rem;
 line-height:1.6;
}

.div-call{
 background:linear-gradient(135deg,#07384f,#0d5a7a);
 color:#fff;
 border-radius:24px;
 padding:2rem;
 margin:2rem auto;
 max-width:820px;
 box-shadow:0 18px 40px rgba(7,56,79,.24);
}

.div-call a{color:#fff!important;text-decoration:none!important;}

.call{
 font-size:1.3rem;
 font-weight:800;
 display:block;
}

.call-big{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:82px;
 height:82px;
 border-radius:999px;
 background:linear-gradient(135deg,#ff944d,#f36f21);
 font-size:2rem;
 margin-bottom:1rem;
 box-shadow:0 12px 30px rgba(243,111,33,.35);
}

.large-10.cell section:first-of-type{
 position:relative;
 overflow:hidden;
}
.large-10.cell section:first-of-type:before{
 content:"☀";
 position:absolute;
 right:25px;
 top:10px;
 font-size:80px;
 opacity:.08;
}

@media(max-width:768px){
 .large-10.cell>.p-20.text-justify{padding:1rem!important;border-radius:18px;}
 .large-10.cell section{padding:1rem;border-radius:16px;}
 .large-10.cell section h2{font-size:1.35rem;}
 .div-call{padding:1.25rem;border-radius:18px;}
}

/* ============================================
PATCH V9 - Pagina Attivazione Gas Elettricita
Target sorgente reale pagina /attivazione/
Obiettivo: modernizzare la guida lunga senza cambiare HTML.
============================================ */

/* Scope pagina attivazione: menu attivo con href /attivazione/ */
body:has(.site-nav__link.is-active[href="/attivazione/"]) {
    background:
        radial-gradient(circle at 12% 8%, rgba(243,111,33,.08), transparent 28%),
        radial-gradient(circle at 90% 18%, rgba(7,56,79,.08), transparent 30%),
        linear-gradient(180deg,#ffffff 0%,#f6f9fb 280px,#f6f9fb 100%);
}

/* Strip loghi aziende / partner sopra il contenuto */
body:has(.site-nav__link.is-active[href="/attivazione/"]) > .text-center.hide-for-small-only {
    width: min(100%, 1180px);
    margin: 1rem auto 0;
    padding: .75rem 1rem;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(200,214,223,.85);
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(4,31,45,.06);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: .35rem .75rem;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .loghi_aziende_slide {
    max-height: 2.35rem !important;
    max-width: 8.5rem !important;
    margin: .25rem .45rem !important;
    filter: grayscale(.2) saturate(.95) contrast(1.02);
    opacity: .78;
    transition: opacity .2s ease, transform .2s ease, filter .2s ease;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .loghi_aziende_slide:hover {
    opacity: 1;
    filter: none;
    transform: translateY(-1px);
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) > hr {
    display: none;
}

/* Layout centrale: ogni blocco Foundation large-8 diventa una sezione moderna */
body:has(.site-nav__link.is-active[href="/attivazione/"]) > .grid-x,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .grid-x:has(> .columns.large-8.p-md) {
    width: min(100%, 1180px);
    margin: 0 auto;
    padding: 0 1rem;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .grid-x > .columns.large-2 {
    display: none !important;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .grid-x > .columns.large-8.p-md {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 auto 1.25rem !important;
}

/* Prima area con indice link rapidi */
body:has(.site-nav__link.is-active[href="/attivazione/"]) .grid-x:first-of-type .columns.large-8.p-md {
    margin-top: 1rem !important;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .grid-x:first-of-type .columns.large-8.p-md > a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin: .35rem .4rem .35rem 0;
    padding: .65rem .95rem;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(200,214,223,.9);
    color: #07384f !important;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: 0 6px 16px rgba(4,31,45,.06);
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .grid-x:first-of-type .columns.large-8.p-md > a:hover {
    background: linear-gradient(135deg,#ff944d,#f36f21);
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* Card/sezioni contenuto */
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md {
    background: #ffffff;
    border: 1px solid rgba(200,214,223,.92);
    border-radius: 24px;
    box-shadow: 0 12px 32px rgba(4,31,45,.08);
    padding: 1.6rem !important;
    color: #334653;
    line-height: 1.65;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md > h1,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md > h2,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md > h3,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md > h4,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md > h5,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md > h6 {
    color: #07384f !important;
    letter-spacing: -.025em;
}

/* Hero title principali */
body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-energia-elettrica,
body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-gas {
    position: relative;
    margin: 0 0 1rem !important;
    padding: 0 0 .75rem !important;
    font-size: clamp(2rem, 3vw, 2.8rem) !important;
    line-height: 1.08 !important;
    border-bottom: 4px solid #f36f21;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-energia-elettrica::before,
body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-gas::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-right: .65rem;
    border-radius: 999px;
    background: linear-gradient(135deg,#ff944d,#f36f21);
    color: #fff;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 1.1rem;
    vertical-align: middle;
    box-shadow: 0 10px 24px rgba(243,111,33,.28);
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-energia-elettrica::before { content: "\f0e7"; }
body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-gas::before { content: "\f06d"; }

/* CTA */
body:has(.site-nav__link.is-active[href="/attivazione/"]) .div-call {
    background: linear-gradient(135deg,#07384f,#0d5a7a) !important;
    color: #ffffff !important;
    border-radius: 24px !important;
    padding: 1.7rem !important;
    margin: 1.4rem auto !important;
    max-width: 850px;
    box-shadow: 0 18px 40px rgba(7,56,79,.24) !important;
    border: 1px solid rgba(255,255,255,.16);
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .div-call a,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .div-call b {
    color: #ffffff !important;
    text-decoration: none !important;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .call {
    font-size: 1.3rem;
    font-weight: 800;
    display: block;
    margin-bottom: .25rem;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .call-big {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 78px;
    height: 78px;
    margin: .7rem 0 .9rem;
    border-radius: 999px;
    background: linear-gradient(135deg,#ff944d,#f36f21);
    color: #ffffff;
    font-size: 2rem;
    box-shadow: 0 12px 30px rgba(243,111,33,.35);
}

/* Indice lista: trasformato in box navigabile */
body:has(.site-nav__link.is-active[href="/attivazione/"]) .indice_lista {
    list-style: none;
    counter-reset: item;
    padding: 1rem !important;
    margin: 1rem 0 1.5rem !important;
    background: linear-gradient(180deg,#ffffff,#fbfdff);
    border: 1px solid rgba(200,214,223,.85);
    border-radius: 18px;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .indice_lista li {
    position: relative;
    margin: .45rem 0 !important;
    padding-left: 2.1rem;
    line-height: 1.45;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .indice_lista li::before {
    counter-increment: item;
    content: counter(item);
    position: absolute;
    left: 0;
    top: .05rem;
    width: 1.45rem;
    height: 1.45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(243,111,33,.12);
    color: #d95c12;
    font-size: .75rem;
    font-weight: 800;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .indice_lista a {
    color: #07384f !important;
    font-weight: 700;
    text-decoration: none !important;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .indice_lista a:hover {
    color: #f36f21 !important;
}

/* Titoli interni come step */
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md h3,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md h4,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md h5,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md h6 {
    margin-top: 1.45rem !important;
    margin-bottom: .75rem !important;
    padding-left: .85rem;
    border-left: 5px solid #f36f21;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md h3 { font-size: 1.55rem !important; }
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md h4 { font-size: 1.32rem !important; }
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md h5 { font-size: 1.16rem !important; }
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md h6 { font-size: 1.05rem !important; }

/* Liste testuali */
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md ul,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md ol:not(.indice_lista) {
    padding-left: 1.2rem;
    margin: .75rem 0 1.1rem;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md li {
    margin-bottom: .55rem;
    line-height: 1.62;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md a {
    color: #f36f21;
    font-weight: 700;
}

/* Immagini contatore/quadro */
body:has(.site-nav__link.is-active[href="/attivazione/"]) .cont_quad {
    display: block;
    width: min(100%, 520px) !important;
    max-width: 520px !important;
    height: auto !important;
    margin: 1rem auto !important;
    border-radius: 18px;
    border: 1px solid rgba(200,214,223,.9);
    box-shadow: 0 10px 28px rgba(4,31,45,.1);
}

/* Alert sicurezza */
body:has(.site-nav__link.is-active[href="/attivazione/"]) .div-alert {
    margin: 1.25rem 0;
    padding: 1rem 1.1rem;
    border-radius: 16px;
    background: #fff6db;
    border: 1px solid rgba(242,169,0,.38);
    border-left: 6px solid #f2a900;
    color: #644400;
    box-shadow: 0 8px 22px rgba(100,68,0,.08);
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .span-alert {
    display: block;
    margin-bottom: .45rem;
    color: #8a6000;
    font-weight: 800;
}

/* Separazione sezione gas */
body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-gas {
    margin-top: .5rem !important;
}

/* Mobile */
@media (max-width: 768px) {
    body:has(.site-nav__link.is-active[href="/attivazione/"]) > .text-center.hide-for-small-only {
        display: none !important;
    }

    body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md {
        padding: 1rem !important;
        border-radius: 18px;
    }

    body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-energia-elettrica,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-gas {
        font-size: 1.75rem !important;
    }

    body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-energia-elettrica::before,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-gas::before {
        width: 38px;
        height: 38px;
        margin-right: .5rem;
    }

    body:has(.site-nav__link.is-active[href="/attivazione/"]) .div-call {
        padding: 1.15rem !important;
        border-radius: 18px !important;
    }

    body:has(.site-nav__link.is-active[href="/attivazione/"]) .call-big {
        width: 64px;
        height: 64px;
        font-size: 1.55rem;
    }
}


/* ============================================
PATCH V10 - PAGINA ARTICOLO COMMUNITY
NON modifica la fascia loghi grigia
============================================ */

/* Layout articolo */
.grid-x.grid-margin-x {
    max-width: 1380px;
    margin: 0 auto !important;
    align-items: flex-start;
}

.grid-x.grid-margin-x > .large-2.cell:first-child {
    display: none !important;
}

/* colonna articolo */
.grid-x.grid-margin-x > .large-6.cell {
    width: calc(100% - 340px) !important;
    max-width: none !important;
    flex: 1 1 auto !important;
}

.grid-x.grid-margin-x > .large-6.cell .p-md {
    background: #ffffff;
    border-radius: 26px;
    padding: 2rem !important;
    box-shadow: 0 15px 40px rgba(4,31,45,.08);
    border: 1px solid rgba(200,214,223,.9);
}

/* HERO ARTICLE IMAGE */
.img_articolo {
    width: 100% !important;
    height: 420px !important;
    object-fit: cover !important;
    border-radius: 22px !important;
    margin-bottom: 1.5rem !important;
}

/* titolo */
.large-6.cell h2 {
    font-size: clamp(2rem,3vw,3.2rem) !important;
    line-height: 1.05 !important;
    color: #07384f !important;
    margin: 0 0 1rem !important;
    letter-spacing: -.04em;
}

/* abstract */
.large-6.cell i p {
    font-size: 1.15rem;
    color: #536675;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

/* corpo articolo */
.large-6.cell span.text-justify {
    display: block;
    font-size: 1.06rem;
    line-height: 1.85;
    color: #334653;
}

.large-6.cell span.text-justify p {
    margin-bottom: 1.35rem;
}

/* Share buttons */
.sharethis-inline-share-buttons {
    margin: 1.5rem 0 2rem !important;
    padding: 1rem;
    background: #f8fafc;
    border-radius: 18px;
    border: 1px solid rgba(200,214,223,.7);
}

/* TAG */
.tag {
    display: inline-flex !important;
    align-items: center;
    padding: .55rem .85rem;
    border-radius: 999px;
    background: rgba(243,111,33,.12);
    color: #d95c12 !important;
    font-weight: 700;
    margin: .25rem;
    text-decoration: none !important;
}

/* DATA */
.large-6.cell small i {
    display: inline-block;
    margin-top: 1rem;
    padding: .45rem .8rem;
    background: #eef3f6;
    border-radius: 999px;
    font-style: normal;
    font-weight: 700;
}

/* SIDEBAR */
.grid-x.grid-margin-x > .large-2.cell.text-center {
    width: 320px !important;
    flex: 0 0 320px !important;
    max-width: 320px !important;

    position: sticky;
    top: 90px;
}

/* CARD AUTORE */
.avatar_big {
    width: 140px !important;
    height: 140px !important;
    border-radius: 999px !important;
    object-fit: cover;
    border: 5px solid #fff;
    box-shadow: 0 10px 30px rgba(4,31,45,.16);
}

.grid-x.grid-margin-x > .large-2.cell.text-center > div:first-child {
    background: #fff;
    border-radius: 22px;
    padding: 1.5rem;
    border: 1px solid rgba(200,214,223,.9);
    box-shadow: 0 10px 28px rgba(4,31,45,.08);
}

/* BOX OFFERTE CORRELATE */
.box_offerta {
    background: #fff !important;
    border-radius: 22px;
    border: 1px solid rgba(200,214,223,.9);
    box-shadow: 0 10px 28px rgba(4,31,45,.08);
    padding: 1.25rem !important;
}

/* LOGIN COMMENTI */
form input[type=text],
form input[type=password] {
    min-height: 46px;
    border-radius: 12px;
}

form .button {
    min-height: 48px;
    border-radius: 12px;
    background: linear-gradient(135deg,#ff944d,#f36f21);
}

/* MOBILE */
@media (max-width: 1023px) {

    .grid-x.grid-margin-x > .large-6.cell,
    .grid-x.grid-margin-x > .large-2.cell.text-center {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
    }

    .grid-x.grid-margin-x > .large-2.cell.text-center {
        position: static !important;
        margin-top: 1.5rem;
    }

    .img_articolo {
        height: 240px !important;
    }

    .large-6.cell .p-md {
        padding: 1rem !important;
    }

    .large-6.cell h2 {
        font-size: 2rem !important;
    }
}

/* ============================================
PATCH V11 - Articolo autore-dx e altri-articoli
Pagina articolo Community - miglioramento specifico sidebar destra.
NON modifica la fascia loghi grigia .loghi_aziende_slide.
Target reale:
- div.autore-dx
- div.altri-articoli
- .altri-articoli .ombra.box_offerta
============================================ */

/* Layout articolo: più spazio al contenuto e sidebar stabile */
.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) {
    width: min(100%, 1280px) !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 1rem 2.5rem !important;
    align-items: flex-start !important;
}

.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) > .large-2.cell:first-child,
.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) > .large-2.cell:last-child {
    display: none !important;
}

.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) > .large-6.cell {
    flex: 1 1 auto !important;
    width: calc(100% - 340px) !important;
    max-width: none !important;
    padding-right: 1.25rem !important;
}

.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) > .large-2.cell.text-center {
    flex: 0 0 320px !important;
    width: 320px !important;
    max-width: 320px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    position: sticky !important;
    top: 92px;
    align-self: flex-start;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Card autore laterale */
.autore-dx {
    position: relative;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%) !important;
    border: 1px solid rgba(200, 214, 223, 0.95) !important;
    border-radius: 24px !important;
    padding: 1.35rem 1.2rem 1.25rem !important;
    margin: 0 0 1.15rem !important;
    box-shadow: 0 14px 34px rgba(4, 31, 45, 0.10) !important;
    overflow: hidden;
    text-align: center !important;
}

.autore-dx::before {
    content: "AUTORE";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 0.48rem 0.75rem;
    background: linear-gradient(90deg, #07384f, #0d5a7a);
    color: #ffffff;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.autore-dx > .text-center {
    padding-top: 1.35rem;
}

.autore-dx .avatar_big {
    width: 118px !important;
    height: 118px !important;
    margin: 0 auto 0.85rem !important;
    border-radius: 999px !important;
    object-fit: cover !important;
    border: 5px solid #ffffff !important;
    box-shadow: 0 12px 28px rgba(4, 31, 45, 0.18) !important;
}

.autore-dx h4 {
    color: #07384f !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    margin: 0.25rem 0 0.25rem !important;
    letter-spacing: -0.02em;
}

.autore-dx small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.34rem 0.65rem;
    border-radius: 999px;
    background: rgba(7, 56, 79, 0.08);
    color: #07384f !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    line-height: 1.1;
    margin-bottom: 0.65rem;
}

.autore-dx .icon-social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-top: 0.35rem;
    border-radius: 999px;
    font-size: 1.35rem !important;
    background: #0a66c2;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(10, 102, 194, 0.25);
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.autore-dx .icon-social:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(10, 102, 194, 0.34);
}

/* Blocco altri articoli */
.altri-articoli {
    background: #ffffff !important;
    border: 1px solid rgba(200, 214, 223, 0.95) !important;
    border-radius: 24px !important;
    padding: 1rem !important;
    box-shadow: 0 14px 34px rgba(4, 31, 45, 0.09) !important;
    text-align: left !important;
}

.altri-articoli::before {
    content: "Altri articoli";
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: #07384f;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    padding: 0.1rem 0.15rem 0.85rem;
    margin-bottom: 0.85rem;
    border-bottom: 1px solid rgba(200, 214, 223, 0.75);
}

.altri-articoli::after {
    content: "";
    display: block;
    clear: both;
}

.altri-articoli .ombra.box_offerta,
.altri-articoli .box_offerta {
    position: relative;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    border: 1px solid rgba(200, 214, 223, 0.84) !important;
    border-radius: 18px !important;
    padding: 0.95rem 0.95rem 1rem !important;
    margin: 0 0 0.82rem !important;
    box-shadow: 0 6px 18px rgba(4, 31, 45, 0.06) !important;
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
    text-align: left !important;
    overflow: hidden;
}

.altri-articoli .ombra.box_offerta::before,
.altri-articoli .box_offerta::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #f36f21, #ff944d);
}

.altri-articoli .ombra.box_offerta:hover,
.altri-articoli .box_offerta:hover {
    transform: translateY(-2px);
    border-color: rgba(243, 111, 33, 0.34) !important;
    box-shadow: 0 12px 26px rgba(4, 31, 45, 0.11) !important;
}

.altri-articoli .ombra.box_offerta h5,
.altri-articoli .box_offerta h5 {
    margin: 0 0 0.45rem !important;
    padding: 0 !important;
    font-size: 0.98rem !important;
    line-height: 1.24 !important;
    font-weight: 800 !important;
    color: #07384f !important;
    text-align: left !important;
}

.altri-articoli .ombra.box_offerta h5 a,
.altri-articoli .box_offerta h5 a {
    color: #07384f !important;
    text-decoration: none !important;
}

.altri-articoli .ombra.box_offerta h5 a:hover,
.altri-articoli .box_offerta h5 a:hover {
    color: #f36f21 !important;
}

.altri-articoli .ombra.box_offerta p,
.altri-articoli .box_offerta p {
    color: #4b5e6c !important;
    font-size: 0.82rem !important;
    line-height: 1.42 !important;
    margin: 0 0 0.6rem !important;
    padding: 0 !important;
    text-align: left !important;
}

.altri-articoli .ombra.box_offerta small,
.altri-articoli .box_offerta small {
    display: block;
    line-height: 1.3;
}

.altri-articoli .ombra.box_offerta small b a,
.altri-articoli .box_offerta small b a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 38px;
    margin-top: 0.2rem;
    padding: 0.55rem 0.75rem;
    border-radius: 12px;
    background: linear-gradient(135deg, #ff944d, #f36f21) !important;
    color: #ffffff !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(243, 111, 33, 0.22);
}

.altri-articoli .ombra.box_offerta small b a:hover,
.altri-articoli .box_offerta small b a:hover {
    background: linear-gradient(135deg, #f36f21, #d95c12) !important;
    color: #ffffff !important;
}

/* Migliora il contenuto principale della pagina articolo senza toccare la banda loghi */
.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) > .large-6.cell > .p-md {
    background: #ffffff !important;
    border: 1px solid rgba(200, 214, 223, 0.92) !important;
    border-radius: 26px !important;
    padding: 2rem !important;
    box-shadow: 0 16px 42px rgba(4, 31, 45, 0.09) !important;
}

.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) > .large-6.cell .img_articolo {
    width: 100% !important;
    height: 360px !important;
    min-height: 360px !important;
    object-fit: cover !important;
    border-radius: 22px !important;
    margin-bottom: 1.35rem !important;
}

.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) > .large-6.cell h2 {
    color: #07384f !important;
    font-size: clamp(2rem, 3vw, 3.15rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.045em;
    margin: 0 0 0.9rem !important;
}

.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) > .large-6.cell i p {
    color: #536675 !important;
    font-size: 1.08rem !important;
    line-height: 1.65 !important;
    margin-bottom: 1.35rem !important;
}

/* Login/commenti in fondo articolo */
.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) form input[type="text"],
.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) form input[type="password"],
.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) form textarea {
    border-radius: 12px !important;
    min-height: 44px;
}

.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) form .button,
.header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) form input[type="submit"] {
    border-radius: 12px !important;
    min-height: 44px;
}

/* Responsive */
@media (max-width: 1100px) {
    .header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) > .large-6.cell {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
        padding-right: 0 !important;
    }

    .header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) > .large-2.cell.text-center {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
        position: static !important;
        margin-top: 1.2rem !important;
    }

    .autore-dx {
        max-width: 520px;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .altri-articoli {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.85rem;
    }

    .altri-articoli::before,
    .altri-articoli::after {
        grid-column: 1 / -1;
    }

    .altri-articoli .ombra.box_offerta,
    .altri-articoli .box_offerta {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 720px) {
    .header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) {
        padding: 0 0.75rem 1.75rem !important;
    }

    .header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) > .large-6.cell > .p-md {
        padding: 1rem !important;
        border-radius: 18px !important;
    }

    .header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) > .large-6.cell .img_articolo {
        height: 220px !important;
        min-height: 220px !important;
        border-radius: 16px !important;
    }

    .header-spacer + .grid-x.grid-margin-x:has(.autore-dx):has(.altri-articoli) > .large-6.cell h2 {
        font-size: 2rem !important;
    }

    .altri-articoli {
        grid-template-columns: 1fr;
        border-radius: 18px !important;
    }

    .autore-dx {
        border-radius: 18px !important;
    }
}

/* ============================================
PATCH V12 - Community diventa-autore e autori in sidebar
Pagina /community/
Obiettivo:
- migliorare la visualizzazione di .diventa-autore e .autori
- metterli uno sotto l'altro nella sidebar destra
- mantenere il login sopra, se presente
- non alterare la lista articoli già corretta
============================================ */

/* Sidebar community reale: colonna destra contenente login, diventa-autore e autori */
.header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    width: 320px !important;
    max-width: 320px !important;
    flex: 0 0 320px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    position: sticky !important;
    top: 92px;
    align-self: flex-start;
    text-align: left !important;
}

/* Rimuove spaziatura vecchia fra i blocchi della sidebar */
.header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center > br,
.header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center script + br {
    display: none !important;
}

/* Il primo div della sidebar, quando contiene il form login, diventa card login */
.header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center > div:first-child:not(.diventa-autore):not(.autori) {
    order: 1;
    background: #ffffff !important;
    border: 1px solid rgba(200, 214, 223, 0.92) !important;
    border-radius: 22px !important;
    padding: 1rem !important;
    box-shadow: 0 10px 28px rgba(4, 31, 45, 0.08) !important;
    text-align: left !important;
}

.header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center > div:first-child:not(.diventa-autore):not(.autori) small b {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.65rem;
    color: #07384f;
    font-size: 0.95rem;
    font-weight: 800;
}

.header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center form {
    display: grid;
    gap: 0.55rem;
    margin: 0.55rem 0 0.7rem !important;
}

.header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center input[type="text"],
.header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center input[type="password"] {
    min-height: 42px !important;
    border-radius: 12px !important;
}

.header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center input[type="submit"],
.header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center .button {
    min-height: 42px !important;
    border-radius: 12px !important;
}

/* Diventa autore come card separata, sotto il login */
.diventa-autore {
    order: 2;
    position: relative;
    background: linear-gradient(135deg, #07384f 0%, #0d5a7a 100%) !important;
    color: #ffffff !important;
    border-radius: 24px !important;
    padding: 1.35rem 1.15rem !important;
    margin: 0 !important;
    box-shadow: 0 16px 36px rgba(7, 56, 79, 0.22) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    overflow: hidden;
    text-align: left !important;
}

.diventa-autore::before {
    content: "";
    position: absolute;
    right: -28px;
    top: -28px;
    width: 105px;
    height: 105px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
}

.diventa-autore::after {
    content: "\f303";
    position: absolute;
    right: 18px;
    top: 17px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: rgba(255, 255, 255, 0.18);
    font-size: 2rem;
}

.diventa-autore h3.sottotitolo {
    position: relative;
    color: #ffffff !important;
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    margin: 0 0 0.7rem !important;
    padding-right: 2.2rem;
}

.diventa-autore h3.sottotitolo::before {
    content: "";
    display: block;
    width: 42px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff944d, #f36f21);
    margin-bottom: 0.65rem;
}

.diventa-autore,
.diventa-autore p,
.diventa-autore small {
    font-size: 0.9rem !important;
    line-height: 1.55 !important;
}

.diventa-autore a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 0.9rem;
    padding: 0.72rem 0.85rem;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff944d, #f36f21) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(243, 111, 33, 0.28);
}

.diventa-autore a:hover {
    background: linear-gradient(135deg, #f36f21, #d95c12) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* Autori come card sotto diventa autore */
.autori {
    order: 3;
    background: #ffffff !important;
    color: #334653 !important;
    border-radius: 24px !important;
    border: 1px solid rgba(200, 214, 223, 0.92) !important;
    padding: 1.05rem !important;
    margin: 0 !important;
    box-shadow: 0 12px 32px rgba(4, 31, 45, 0.09) !important;
    text-align: left !important;
}

.autori h3.sottotitolo {
    display: flex !important;
    align-items: center;
    gap: 0.45rem;
    color: #07384f !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    margin: 0 0 0.9rem !important;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(200, 214, 223, 0.78);
}

.autori h3.sottotitolo::before {
    content: "\f0c0";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: rgba(243, 111, 33, 0.12);
    color: #f36f21;
    font-size: 0.82rem;
}

/* Griglia avatar autori nella card */
.autori {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.62rem;
}

.autori h3.sottotitolo {
    grid-column: 1 / -1;
}

.autore-avatare-list {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.autore-avatare-list .text-center {
    width: 100%;
}

.autore-avatare-list a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(7, 56, 79, 0.08), rgba(243, 111, 33, 0.10));
    border: 1px solid rgba(200, 214, 223, 0.9);
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.autore-avatare-list a:hover {
    transform: translateY(-2px);
    border-color: rgba(243, 111, 33, 0.38);
    box-shadow: 0 10px 22px rgba(4, 31, 45, 0.13);
}

.autore-avatare-list .avatar_small {
    width: 46px !important;
    height: 46px !important;
    border-radius: 999px !important;
    object-fit: cover !important;
    margin: 0 !important;
    box-shadow: none !important;
}

/* Mantiene diventa-autore e autori uno sotto l'altro anche se ereditano vecchie regole grid/flex */
.header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center .diventa-autore,
.header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center .autori {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    float: none !important;
    clear: both !important;
}

/* Responsive: sidebar sotto articoli, card autori più larga */
@media (max-width: 1023px) {
    .header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
        position: static !important;
        margin-top: 1.4rem !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 1rem !important;
    }

    .header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center > div:first-child:not(.diventa-autore):not(.autori) {
        grid-column: 1 / -1;
    }

    .diventa-autore,
    .autori {
        align-self: stretch;
    }
}

@media (max-width: 700px) {
    .header-spacer + .grid-x:has(.diventa-autore):has(.autori) > .large-2.cell.text-center {
        display: flex !important;
        flex-direction: column !important;
    }

    .diventa-autore,
    .autori {
        border-radius: 18px !important;
    }

    .autori {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .autore-avatare-list a {
        width: 50px;
        height: 50px;
    }

    .autore-avatare-list .avatar_small {
        width: 42px !important;
        height: 42px !important;
    }
}

/* ============================================
PATCH V15 - Attivazione padding e spaziatura contenuti
Pagina /attivazione/
Obiettivo:
- aumentare padding laterale e interno nella guida attivazione
- rendere più leggibili blocchi, liste, sezioni e box step
- mantenere tutte le patch precedenti
============================================ */

/* Scope pagina attivazione: aggancio reale dal menu attivo */
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-20,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-8.cell,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell > .p-20.text-justify {
    padding-left: 2.1rem !important;
    padding-right: 2.1rem !important;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-20,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell > .p-20.text-justify {
    padding-top: 1.9rem !important;
    padding-bottom: 1.9rem !important;
}

/* Box interni visibili nello screenshot */
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md > div,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-20 > div,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell section,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .indice_lista,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .div-alert,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .callout,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .card,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .box,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .step-box {
    padding-left: 1.55rem !important;
    padding-right: 1.55rem !important;
}

/* Correzione per box inline style */
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md div[style],
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-20 div[style],
body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell div[style] {
    padding-left: 1.55rem !important;
    padding-right: 1.55rem !important;
}

/* Testo, liste e paragrafi più ariosi */
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md p,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md ul,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md ol,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell p,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell ul,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell ol {
    margin-bottom: 1rem !important;
    line-height: 1.72 !important;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md li,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell li {
    margin-bottom: 0.72rem !important;
    padding-right: 0.4rem;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md ol,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell ol {
    padding-left: 1.55rem !important;
    padding-right: 0.75rem !important;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md ul,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell ul {
    padding-left: 1.35rem !important;
    padding-right: 0.75rem !important;
}

/* Titoli come "In che situazione sei?" più distanziati */
body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-energia-elettrica ~ h2,
body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-energia-elettrica ~ h3,
body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-gas ~ h2,
body:has(.site-nav__link.is-active[href="/attivazione/"]) #attivazione-gas ~ h3 {
    margin-top: 1.65rem !important;
}

body:has(.site-nav__link.is-active[href="/attivazione/"]) .indice_lista,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .div-alert,
body:has(.site-nav__link.is-active[href="/attivazione/"]) .div-call {
    padding: 1.35rem 1.55rem !important;
}

@media (min-width: 1024px) {
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-20,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell > .p-20.text-justify {
        padding-left: 2.35rem !important;
        padding-right: 2.35rem !important;
    }
}

@media (max-width: 768px) {
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-20,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-8.cell,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell > .p-20.text-justify {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-md > div,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .columns.large-8.p-20 > div,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .large-10.cell section,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .indice_lista,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .div-alert,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .callout,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .card,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .box,
    body:has(.site-nav__link.is-active[href="/attivazione/"]) .step-box {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

/* ============================================
PATCH V18 - Pagina tab aziende nuova griglia card
Pagina: page_tabaziende.php
Markup reale:
.container.p-md > .azienda-grid > .azienda-card
Obiettivo:
- correggere visualizzazione stretta a colonna singola quando lo spazio lo permette
- rendere le card aziende più moderne, uniformi e leggibili
- migliorare logo, nome azienda, indirizzo, statistiche gas/luce e paginazione
============================================ */

/* Sfondo e contenitore pagina tab aziende */
body:has(.azienda-grid) {
    background:
        radial-gradient(circle at 10% 8%, rgba(243,111,33,.07), transparent 28%),
        radial-gradient(circle at 90% 14%, rgba(7,56,79,.07), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f6f9fb 260px, #f6f9fb 100%) !important;
}

.container.p-md:has(.azienda-grid),
.container:has(.azienda-grid) {
    width: min(100%, 1280px) !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 1.35rem 1rem 2.5rem !important;
}

/* Griglia reale aziende: era .azienda-grid, non .aziende-grid */
.azienda-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)) !important;
    gap: 1.15rem !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: stretch !important;
}

/* Card azienda */
.azienda-grid > .azienda-card,
.azienda-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 285px !important;
    margin: 0 !important;
    padding: 1.15rem 1rem 1rem !important;
    background: #ffffff !important;
    border: 1px solid rgba(200,214,223,.92) !important;
    border-radius: 24px !important;
    box-shadow: 0 10px 28px rgba(4,31,45,.08) !important;
    overflow: hidden !important;
    text-align: center !important;
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease !important;
}

.azienda-grid > .azienda-card::before,
.azienda-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    height: 5px !important;
    background: linear-gradient(90deg, #f36f21, #ff944d, #0d5a7a) !important;
}

.azienda-grid > .azienda-card:hover,
.azienda-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(243,111,33,.38) !important;
    box-shadow: 0 18px 42px rgba(4,31,45,.14) !important;
}

/* Area logo */
.azienda-card__logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 105px !important;
    height: 105px !important;
    margin: 0.2rem 0 0.9rem !important;
    padding: 0.65rem !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%) !important;
    border: 1px solid rgba(200,214,223,.62) !important;
}

.azienda-card__logo a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.azienda-card__logo img,
.azienda-card .loghi_aziende {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 205px !important;
    max-height: 82px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    filter: saturate(1.02) contrast(1.02) !important;
}

/* Nome azienda */
.azienda-card__name {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.45rem !important;
    min-height: 46px !important;
    margin: 0 0 0.45rem !important;
    padding: 0 !important;
    color: #07384f !important;
    font-size: 1.12rem !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.025em !important;
    text-align: center !important;
}

.azienda-card__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
    background: rgba(243,111,33,.12) !important;
    color: #f36f21 !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
}

.azienda-card__link:hover {
    background: linear-gradient(135deg, #ff944d, #f36f21) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* Indirizzo */
.azienda-card__address {
    min-height: 48px !important;
    margin: 0 0 0.9rem !important;
    padding: 0 0.2rem !important;
    color: #4b5e6c !important;
    font-size: 0.86rem !important;
    line-height: 1.45 !important;
    text-align: center !important;
}

/* Statistiche Gas/Luce */
.azienda-card__stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.55rem !important;
    width: 100% !important;
    margin-top: auto !important;
    padding-top: 0.85rem !important;
    border-top: 1px solid rgba(200,214,223,.72) !important;
}

.azienda-card__stat {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.35rem !important;
    min-height: 38px !important;
    padding: 0.5rem 0.65rem !important;
    border-radius: 999px !important;
    background: rgba(7,56,79,.07) !important;
    color: #07384f !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.azienda-card__stat i.fa-fire,
.azienda-card__stat .fa-fire {
    color: #f36f21 !important;
}

.azienda-card__stat i.fa-bolt,
.azienda-card__stat .fa-bolt {
    color: #f2a900 !important;
}

.azienda-card__stat:hover {
    background: linear-gradient(135deg, #07384f, #0d5a7a) !important;
    color: #ffffff !important;
}

.azienda-card__stat:hover i {
    color: #ffffff !important;
}

/* Paginazione pagina aziende */
.container:has(.azienda-grid) nav[aria-label="Pagination"] {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 1.6rem auto 0 !important;
}

.container:has(.azienda-grid) .pagination {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0.45rem !important;
    margin: 0 !important;
    padding: 0.85rem 1rem !important;
    list-style: none !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    border: 1px solid rgba(200,214,223,.92) !important;
    box-shadow: 0 10px 28px rgba(4,31,45,.08) !important;
}

.container:has(.azienda-grid) .pagination li {
    margin: 0 !important;
}

.container:has(.azienda-grid) .pagination a,
.container:has(.azienda-grid) .pagination .current {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    min-width: 38px !important;
    padding: 0.55rem 0.8rem !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    border: 1px solid rgba(200,214,223,.88) !important;
    color: #07384f !important;
    font-size: 0.86rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.container:has(.azienda-grid) .pagination .current {
    background: linear-gradient(135deg, #ff944d, #f36f21) !important;
    border-color: transparent !important;
    color: #ffffff !important;
}

.container:has(.azienda-grid) .pagination a:hover {
    background: #07384f !important;
    border-color: #07384f !important;
    color: #ffffff !important;
}

/* Responsive */
@media (min-width: 1280px) {
    .azienda-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1024px) {
    .azienda-grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .container.p-md:has(.azienda-grid),
    .container:has(.azienda-grid) {
        padding: 0.9rem 0.75rem 1.8rem !important;
    }

    .azienda-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .azienda-card {
        min-height: 265px !important;
        border-radius: 20px !important;
    }

    .azienda-card__logo {
        height: 96px !important;
        min-height: 96px !important;
    }
}

/* ============================================
PATCH V19 - Pagina azienda dettaglio no tre colonne
Pagina: /aziende/<nome-azienda>
Markup reale analizzato: .container.p-md > .grid-x con #logo, loghi_aziende_big,
form profilo consumi e link .offer-count-link.
Obiettivo:
- evitare contenuti disposti in 3/4 colonne strette
- layout top azienda a 2 colonne desktop: identita a sinistra, azioni/offerte a destra
- sezioni successive full width
- cards offerte più leggibili
============================================ */

/* Contenitore generale pagina azienda dettaglio */
body:has(#logo .loghi_aziende_big),
body:has(#logo img.loghi_aziende_big) {
    background:
        radial-gradient(circle at 10% 8%, rgba(243,111,33,.07), transparent 28%),
        radial-gradient(circle at 90% 14%, rgba(7,56,79,.07), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f6f9fb 280px, #f6f9fb 100%) !important;
}

.container.p-md:has(#logo .loghi_aziende_big),
.container.p-md:has(#logo img.loghi_aziende_big) {
    width: min(100%, 1240px) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 1.25rem 1rem 2.5rem !important;
}

/* Search azienda in alto */
.container.p-md:has(#logo .loghi_aziende_big) .azienda-search,
.container.p-md:has(#logo img.loghi_aziende_big) .azienda-search {
    width: min(100%, 760px) !important;
    margin: 0 auto 1.25rem !important;
    padding: 1rem !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    border: 1px solid rgba(200,214,223,.9) !important;
    box-shadow: 0 10px 28px rgba(4,31,45,.08) !important;
}

.container.p-md:has(#logo .loghi_aziende_big) .azienda-search select,
.container.p-md:has(#logo img.loghi_aziende_big) .azienda-search select {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-weight: 700 !important;
}

/* Griglia principale azienda: 2 colonne, non 3/4 colonne */
.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) {
    display: grid !important;
    grid-template-columns: 330px minmax(0, 1fr) !important;
    gap: 1.15rem !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: stretch !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Neutralizza Foundation solo nella griglia profilo azienda */
.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > .cell {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    min-width: 0 !important;
}

/* Logo azienda */
.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 285px !important;
    padding: 1.4rem !important;
    border-radius: 26px !important;
    background: #ffffff !important;
    border: 1px solid rgba(200,214,223,.92) !important;
    box-shadow: 0 14px 34px rgba(4,31,45,.09) !important;
    overflow: hidden !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo .loghi_aziende_big {
    max-width: 250px !important;
    max-height: 150px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

/* Dati azienda: seconda cell dopo logo */
.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding: 1.3rem 1.45rem !important;
    border-radius: 26px !important;
    background: #ffffff !important;
    border: 1px solid rgba(200,214,223,.92) !important;
    box-shadow: 0 14px 34px rgba(4,31,45,.09) !important;
    color: #4b5e6c !important;
    text-align: left !important;
    line-height: 1.65 !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell h2 {
    color: #07384f !important;
    font-size: clamp(2rem, 3vw, 2.85rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    margin: 0 0 0.7rem !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell a {
    font-weight: 800 !important;
}

/* Form profilo consumi: sotto dati azienda, stessa colonna */
.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell + .cell {
    grid-column: 2 !important;
    grid-row: 2 !important;
    padding: 1.15rem !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    border: 1px solid rgba(200,214,223,.9) !important;
    box-shadow: 0 10px 28px rgba(4,31,45,.08) !important;
    text-align: left !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell + .cell form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto !important;
    gap: 0.7rem !important;
    align-items: stretch !important;
    margin: 0 !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell + .cell .input-group {
    margin: 0 !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell + .cell .input-group-button {
    margin: 0 !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell + .cell button {
    min-height: 44px !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

/* Link conteggi offerte: non più in terza/quarta colonna, ma full width sotto header */
.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell + .cell + .cell {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
    padding: 1rem !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    border: 1px solid rgba(200,214,223,.9) !important;
    box-shadow: 0 10px 28px rgba(4,31,45,.08) !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) .offer-count-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 74px !important;
    margin: 0 !important;
    padding: 0.75rem !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #ffffff, #f8fbfd) !important;
    border: 1px solid rgba(200,214,223,.85) !important;
    color: #07384f !important;
    box-shadow: none !important;
    text-align: center !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) .offer-count-link .grid-x {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    gap: 0.35rem !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) .offer-count-link .cell {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) .offer-count-link:hover {
    background: linear-gradient(135deg, #07384f, #0d5a7a) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) .offer-count-link:hover i,
.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) .offer-count-link:hover .n_off_azienda {
    color: #ffffff !important;
}

/* Tutte le sezioni successive devono occupare tutta la larghezza */
.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > .cell.large-12,
.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > .large-12 {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
}

/* Disclaimer azienda */
.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) .azienda_disclaimer {
    margin: 0.85rem 0 1.2rem !important;
    padding: 1.35rem 1.45rem !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    border: 1px solid rgba(200,214,223,.9) !important;
    border-left: 6px solid #f36f21 !important;
    box-shadow: 0 10px 28px rgba(4,31,45,.07) !important;
    color: #4b5e6c !important;
    text-align: left !important;
    line-height: 1.65 !important;
}

/* Titoli sezioni offerte */
.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) h3[id] {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.8rem !important;
    margin: 1.5rem 0 0.65rem !important;
    padding: 1rem 1.15rem !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #07384f, #0d5a7a) !important;
    color: #ffffff !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    text-align: left !important;
}

.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) h3[id] i,
.container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) h3[id] a {
    color: #ffffff !important;
}

/* Responsive */
@media (max-width: 1050px) {
    .container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) {
        grid-template-columns: 1fr !important;
    }

    .container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo,
    .container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell,
    .container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell + .cell,
    .container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell + .cell + .cell {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    .container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo {
        min-height: 180px !important;
    }

    .container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell + .cell form {
        grid-template-columns: 1fr !important;
    }

    .container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell + .cell + .cell {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .container.p-md:has(#logo .loghi_aziende_big),
    .container.p-md:has(#logo img.loghi_aziende_big) {
        padding: 0.85rem 0.75rem 1.8rem !important;
    }

    .container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) > #logo + .cell + .cell + .cell {
        grid-template-columns: 1fr !important;
    }

    .container.p-md > .grid-x:has(> #logo):has(.loghi_aziende_big) h3[id] {
        flex-direction: column !important;
        align-items: flex-start !important;
        font-size: 1.08rem !important;
    }
}
