/* =========================================================
   TOP BAR — MAMMARELLA
   CSS COMPLETO
   ========================================================= */


/* =========================================================
   1. BARRA PRINCIPALE
   ========================================================= */

#sp-top-bar {
	background: radial-gradient(circle at left top, rgba(197, 154, 75, .08) 0%, transparent 35%), radial-gradient(circle at right bottom, rgba(197, 154, 75, .05) 0%, transparent 35%), #faf8f4;
    /*background: #fdfdfd!important;*/
    padding: 8px 0 !important;
    color: #111 !important;
}

#sp-top-bar .container,
#sp-top-bar .container-inner {
    width: 100%;
}

#sp-top-bar .row {
    align-items: center;
}


/* =========================================================
   2. COLONNA CONTATTI
   ========================================================= */

#sp-top-bar #sp-top1 {
    display: flex;
    align-items: center;
}

#sp-top-bar #sp-top1 .sp-column {
    width: 100%;
}


/* =========================================================
   3. ELENCO CONTATTI
   Ordine:
   CHIAMACI 24/7 → telefono → cellulare
   ========================================================= */

#sp-top-bar .sp-contact-info {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    gap: 10px !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
    white-space: nowrap;
}


/* =========================================================
   4. CHIAMACI 24/7
   ========================================================= */

#sp-top-bar .sp-contact-info .sp-contact-time {
    order: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 4px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #555 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    white-space: nowrap !important;
}


/* Orologio */

#sp-top-bar .sp-contact-info .sp-contact-time > span {
    color: #b89a62 !important;
    font-size: 15px !important;
    width: auto !important;
    margin: 0 !important;
}


/* =========================================================
   5. PALLINO VERDE
   Deve stare DOPO "CHIAMACI 24/7"
   ========================================================= */

/* =========================================================
   PALLINO LIVE — EFFETTO ACCENSIONE / SPEGNIMENTO
   ========================================================= */
/* =========================================================
   PALLINO VERDE LIVE — VERSIONE PIÙ LUMINOSA
   ========================================================= */

#sp-top-bar .sp-contact-info .sp-contact-time::after {
    content: "" !important;

    display: inline-block !important;

    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;

    margin-left: 3px !important;

    border-radius: 50% !important;

    background: #19c943 !important;

    border: 1px solid #0fae35 !important;

    animation: mammarella-live-light 1.6s ease-in-out infinite !important;
}


/* =========================================================
   PULSAZIONE
   ========================================================= */

@keyframes mammarella-live-light {

    /* SPENTO */
    0% {
        background: #168d32;

        box-shadow:
            0 0 0 0 rgba(25,201,67,0),
            0 0 2px rgba(25,201,67,.15);

        transform: scale(.82);
    }

    /* ACCENSIONE */
    35% {
        background: #20e94e;

        box-shadow:
            0 0 0 3px rgba(25,201,67,.20),
            0 0 8px rgba(25,201,67,.75),
            0 0 15px rgba(25,201,67,.45);

        transform: scale(1.05);
    }

    /* MASSIMA LUCE */
    50% {
        background: #39ff61;

        box-shadow:
            0 0 0 4px rgba(25,201,67,.25),
            0 0 10px rgba(25,201,67,1),
            0 0 20px rgba(25,201,67,.85),
            0 0 30px rgba(25,201,67,.40);

        transform: scale(1.15);
    }

    /* RIMANE ACCESO */
    65% {
        background: #20e94e;

        box-shadow:
            0 0 0 3px rgba(25,201,67,.18),
            0 0 8px rgba(25,201,67,.75),
            0 0 16px rgba(25,201,67,.45);

        transform: scale(1.03);
    }

    /* SPEGNIMENTO */
    100% {
        background: #168d32;

        box-shadow:
            0 0 0 0 rgba(25,201,67,0),
            0 0 2px rgba(25,201,67,.15);

        transform: scale(.82);
    }
}
/* =========================================================
   6. ANIMAZIONE PALLINO
   Effetto "spia accesa/spenta"
   ========================================================= */

@keyframes mammarella-live-light {

    0% {
        opacity: .45;

        box-shadow:
            0 0 0 0 rgba(105,184,117,.10),
            0 0 2px rgba(105,184,117,.20);
    }

    40% {
        opacity: 1;

        box-shadow:
            0 0 0 3px rgba(105,184,117,.12),
            0 0 8px rgba(105,184,117,.65);
    }

    55% {
        opacity: 1;

        box-shadow:
            0 0 0 4px rgba(105,184,117,.10),
            0 0 11px rgba(105,184,117,.80);
    }

    100% {
        opacity: .45;

        box-shadow:
            0 0 0 0 rgba(105,184,117,0),
            0 0 2px rgba(105,184,117,.15);
    }
}


/* =========================================================
   7. PULSANTI TELEFONO
   ========================================================= */

#sp-top-bar .sp-contact-info .sp-contact-phone,
#sp-top-bar .sp-contact-info .sp-contact-mobile {

    order: 2 !important;

    display: inline-flex !important;
    align-items: center !important;

    min-height: 33px !important;

    margin: 0 !important;
    padding: 9px 17px !important;

    background: #ffffff !important;

    border: 1px solid #d8bd91 !important;
    border-radius: 9px !important;

    box-shadow:
        0 1px 3px rgba(184,154,98,.08) !important;

    transition:
        background .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease !important;
}


/* =========================================================
   8. ICONE TELEFONO
   ========================================================= */

#sp-top-bar .sp-contact-info .sp-contact-phone > span,
#sp-top-bar .sp-contact-info .sp-contact-mobile > span {

    display: inline-block !important;

    width: 17px !important;
    min-width: 17px !important;

    margin: 0 !important;

    color: #b89a62 !important;

    font-size: 15px !important;
    margin-right: 5px !important;
    text-align: center !important;
}


/* =========================================================
   9. NUMERI
   ========================================================= */

#sp-top-bar .sp-contact-info .sp-contact-phone a,
#sp-top-bar .sp-contact-info .sp-contact-mobile a {

    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #4d4d4d !important;

    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    text-decoration: none !important;
}


/* =========================================================
   10. HOVER NUMERI
   ========================================================= */

#sp-top-bar .sp-contact-info .sp-contact-phone:hover,
#sp-top-bar .sp-contact-info .sp-contact-mobile:hover {

    background: #fffdf9 !important;

    border-color: #b89a62 !important;

    box-shadow:
        0 4px 14px rgba(184,154,98,.18) !important;

    transform: translateY(-1px) !important;
}

#sp-top-bar .sp-contact-info .sp-contact-phone:hover a,
#sp-top-bar .sp-contact-info .sp-contact-mobile:hover a {

    color: #222 !important;
}


/* =========================================================
   11. SOCIAL
   ========================================================= */

#sp-top-bar #sp-top2 {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

#sp-top-bar .social-icons {

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    gap: 10px !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* Singoli elementi */

#sp-top-bar .social-icons li {

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* =========================================================
   SOCIAL TOP BAR
   Stile elegante coordinato con il logo Mammarella
   ========================================================= */

#sp-top-bar .social-icons {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* Singolo elemento */
#sp-top-bar .social-icons li {
    margin: 0 !important;
    padding: 0 !important;
}


/* CERCHIO */
#sp-top-bar .social-icons li a {
    width: 33px !important;
    height: 33px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 1px solid #dfcfb2 !important;
    border-radius: 50% !important;

   background: #fff !important;

    color: #a88a54 !important;

    text-decoration: none !important;

    box-shadow: none !important;

    transition:
        background-color .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .25s ease !important;
}


/* ICONE */
#sp-top-bar .social-icons li a span {
    color: #a88a54 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    margin: 0 !important;
}


/* Hover */
#sp-top-bar .social-icons li a:hover {
    background: #f4eee3 !important;
    border-color: #c5a66d !important;
    color: #967744 !important;

    transform: translateY(-1px) !important;
}

#sp-top-bar .social-icons li a:hover span {
    color: #967744 !important;
}


/* =========================================================
   EVITA QUALSIASI DOPPIO BORDO DEL TEMPLATE
   ========================================================= */

#sp-top-bar .social-icons li a::before,
#sp-top-bar .social-icons li a::after {
    display: none !important;
    content: none !important;
}

#sp-top-bar .social-icons li::before,
#sp-top-bar .social-icons li::after {
    display: none !important;
    content: none !important;
}


/* =========================================================
   DISTANZA DALLA PARTE DESTRA
   ========================================================= */

#sp-top-bar #sp-top2 .sp-column {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}


/* =========================================================
   TABLET E MOBILE
   Le icone vengono nascoste come richiesto
   ========================================================= */

@media (max-width: 991px) {

    #sp-top-bar #sp-top2 {
        display: none !important;
    }

}

/* =========================================================
   14. RESET STILI HELIX/TEMPLATE
   ========================================================= */

#sp-top-bar .sp-contact-info > li {

    border: 0 !important;
    box-shadow: none !important;
}

#sp-top-bar .sp-contact-info > li::before {

    display: none !important;
}


/* =========================================================
   15. TABLET
   ========================================================= */

@media (max-width: 991px) {

    #sp-top-bar {

        min-height: 56px;

        padding: 7px 0 !important;
    }


    /* Nascondiamo i social */

    #sp-top-bar #sp-top2 {

        display: none !important;
    }


    #sp-top-bar #sp-top1 {

        width: 100%;

        justify-content: center;
    }


    #sp-top-bar .sp-contact-info {

        justify-content: center !important;

        gap: 8px !important;
    }


    #sp-top-bar .sp-contact-time {

        font-size: 14px !important;
    }


    #sp-top-bar .sp-contact-phone,
    #sp-top-bar .sp-contact-mobile {

        min-height: 38px !important;

        padding: 8px 13px !important;
    }


    #sp-top-bar .sp-contact-phone a,
    #sp-top-bar .sp-contact-mobile a {

        font-size: 14px !important;
    }
}


/* =========================================================
   16. MOBILE
   ========================================================= */

@media (max-width: 767px) {

    #sp-top-bar {

        min-height: auto;

        padding: 8px 10px !important;
    }


    #sp-top-bar .sp-contact-info {

        width: 100%;

        justify-content: center !important;

        flex-wrap: wrap;

        gap: 6px !important;
    }


    /* CHIAMACI sopra i numeri */

    #sp-top-bar .sp-contact-info .sp-contact-time {

        width: 100% !important;

        justify-content: center !important;

        margin: 0 0 3px !important;

        font-size: 13px !important;
    }


    #sp-top-bar .sp-contact-phone,
    #sp-top-bar .sp-contact-mobile {

        min-height: 36px !important;

        padding: 7px 11px !important;

        border-radius: 8px !important;
    }


    #sp-top-bar .sp-contact-phone a,
    #sp-top-bar .sp-contact-mobile a {

        font-size: 13px !important;
    }


    #sp-top-bar .sp-contact-phone > span,
    #sp-top-bar .sp-contact-mobile > span {

        font-size: 13px !important;
    }
}


/* =========================================================
   17. MOBILE STRETTO
   ========================================================= */

@media (max-width: 480px) {

    #sp-top-bar {

        padding-left: 8px !important;
        padding-right: 8px !important;
    }


    #sp-top-bar .sp-contact-info {

        gap: 5px !important;
    }


    #sp-top-bar .sp-contact-phone,
    #sp-top-bar .sp-contact-mobile {

        padding: 7px 9px !important;
    }


    #sp-top-bar .sp-contact-phone a,
    #sp-top-bar .sp-contact-mobile a {

        font-size: 12px !important;
    }


    #sp-top-bar .sp-contact-time {

        font-size: 12px !important;
    }
}
/* =========================================================
   HERO - IMPRESA FUNEBRE MAMMARELLA
   ========================================================= */
#sp-hero {
    background: #fff;
    padding: 40px 0 40px;
}
#sp-hero .row {
    align-items: center;
}
/* =========================================================
   BLOCCO TESTUALE
   ========================================================= */
#sp-hero1 .sp-column {
    padding-right: 35px;
}
#mod-custom110 {
    max-width: 540px;
}
/* =========================================================
   EYEBROW
   ========================================================= */
#mod-custom110 .hero-eyebrow {
    margin: 0 0 18px;
    color: #bd9a5a;
    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 2px;
    text-transform: uppercase;
}
/* =========================================================
   TITOLO
   ========================================================= */
#sp-hero h1 {
    max-width: 600px;
    margin: 0;
    color: #222;
    /*font-family: "Inter", sans-serif;*/
    font-size: clamp(42px, 3.5vw, 56px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -1.6px;
}
/* =========================================================
   DESCRIZIONE
   ========================================================= */
#sp-hero .hero-description {
    max-width: 525px;
    margin: 27px 0 30px !important;
    color: #555;
    /*font-family: "Inter", sans-serif;*/
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
}
/* 24 ORE SU 24 */
#sp-hero .hero-description strong {
    color: #333;
    font-weight: 700;
}
/* =========================================================
   PULSANTI
   ========================================================= */
#sp-hero .hero-buttons {
    display: flex !important;
    flex-direction: row;
    gap: 12px !important;
    margin: 0 !important;
}
/* Stile generale */
#sp-hero .hero-buttons .btn {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px !important;
    border-radius: 5px;
    font-family: "Inter", sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .1px;
    transition:
        background-color .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}
/* CHIAMA ORA */
#sp-hero .hero-buttons .btn-primary {
    background: #bd9a5a;
    border-color: #bd9a5a;
    color: #fff;
}
#sp-hero .hero-buttons .btn-primary:hover {
    background: #a9874b;
    border-color: #a9874b;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 7px 18px rgba(0, 0, 0, .10);
}
/* ICONA TELEFONO */
#sp-hero .hero-buttons .fa-phone {
    margin-right: 8px;
}
/* NECROLOGIE */
#sp-hero .hero-buttons .btn-outline-oro {
    background: transparent;
    border-color: #bd9a5a;
    color: #bd9a5a;
}
#sp-hero .hero-buttons .btn-outline-oro:hover {
    background: #bd9a5a;
    border-color: #bd9a5a;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 7px 18px rgba(0, 0, 0, .08);
}
/* Freccia */
#sp-hero .hero-arrow {
    margin-left: 7px;
    font-size: 17px;
    transition: transform .25s ease;
}
#sp-hero .btn-outline-oro:hover .hero-arrow {
    transform: translateX(3px);
}
/* =========================================================
   IMMAGINE
   ========================================================= */
#sp-hero-2 .sp-column,
#sp-hero-2 .sp-module,
#sp-hero-2 .sp-module-content {
    width: 100%;
}
/* Contenitore immagine */
#sp-hero-2 .hero-image-wrapper {
    position: relative;
    margin: 0;
    line-height: 0;
}
/* Immagine */
#sp-hero-2 .hero-image {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 14px 35px rgba(0, 0, 0, .10);
}
/* =========================================================
   DETTAGLIO ORO SOTTO LA FOTO
   ========================================================= */
#sp-hero-2 .hero-image-wrapper::after {
    content: "";
    position: absolute;
    left: 8%;
    bottom: -5px;
    width: 84%;
    height: 3px;
    background: #bd9a5a;
    border-radius: 3px;
}
/* =========================================================
   SEPARAZIONE DALLA SEZIONE SUCCESSIVA
   ========================================================= */
/*#sp-hero {
    position: relative;
}
#sp-hero::after {
    content: "✦";
    position: absolute;
    left: 50%;
    bottom: 0px;
    transform: translateX(-50%);
    width: 34px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #bd9a5a;
    font-size: 13px;
    line-height: 1;
}
/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 991px) {
    #sp-hero {
        padding: 60px 0 70px;
    }
    #sp-hero1,
    #sp-hero-2 {
        width: 100%;
    }
    #sp-hero1 {
        margin-bottom: 45px;
    }
    #sp-hero1 .sp-column {
        padding-right: 0;
    }
    #mod-custom110 {
        max-width: 680px;
    }
    #sp-hero h1 {
        font-size: 46px;
    }
    #sp-hero .hero-description {
        max-width: 620px;
    }
    #sp-hero-2 .hero-image {
        width: 100%;
    }
}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 767px) {
    #sp-hero {
        padding: 45px 0 60px;
    }
    #sp-hero .container {
        padding-left: 20px;
        padding-right: 20px;
    }
    #sp-hero1 {
        margin-bottom: 38px;
    }
    /* Eyebrow */
    #mod-custom110 .hero-eyebrow {
        margin-bottom: 14px;
        font-size: 10px;
        letter-spacing: 1.5px;
    }
    /* Titolo */
    #sp-hero h1 {
        font-size: 38px;
        line-height: 1.08;
        letter-spacing: -1px;
    }
    /* Descrizione */
    #sp-hero .hero-description {
        margin-top: 22px !important;
        margin-bottom: 25px !important;
        font-size: 16px;
        line-height: 1.65;
    }
    /* Pulsanti */
    #sp-hero .hero-buttons {
        flex-direction: column;
        width: 100%;
        gap: 10px !important;
    }
    #sp-hero .hero-buttons .btn {
        width: 100%;
        min-height: 50px;
    }
    /* Foto */
    #sp-hero-2 .hero-image {
        border-radius: 7px;
    }
    #sp-hero-2 .hero-image-wrapper::after {
        left: 5%;
        width: 90%;
    }
    /* Separatore */
    #sp-hero::after {
        bottom: -12px;
    }
}
/* =========================================================
   MOBILE PICCOLO
   ========================================================= */
@media (max-width: 480px) {
    #sp-hero {
        padding-top: 35px;
    }
    #sp-hero h1 {
        font-size: 34px;
    }
    #sp-hero .hero-description {
        font-size: 15.5px;
    }
}
/* =========================================================
   MAMMARELLA - BLOCCO INFORMATIVO HERO
   ========================================================= */
.mammarella-highlights {
    position: relative;
    z-index: 10;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: calc(100% - 40px);
    max-width: 1280px;
    margin: 0 auto;
    padding: 24px 20px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(181, 138, 67, 0.25);
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.07);
    box-sizing: border-box;
}
/* =========================================================
   SINGOLO BLOCCO
   ========================================================= */
.mammarella-highlight {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 8px 24px;
    box-sizing: border-box;
    transition: transform 0.25s ease;
}
/* =========================================================
   SEPARATORI DESKTOP
   ========================================================= */
.mammarella-highlight + .mammarella-highlight {
    border-left: 1px solid rgba(181, 138, 67, 0.25);
}
/* =========================================================
   ICONA
   ========================================================= */
.mammarella-icon {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 16px;
    color: #b58a43;
    background: rgba(181, 138, 67, 0.06);
    border: 1px solid rgba(181, 138, 67, 0.45);
    border-radius: 50%;
    font-size: 22px;
    box-sizing: border-box;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}
/* =========================================================
   TESTI
   ========================================================= */
.mammarella-content {
    min-width: 0;
}
.mammarella-content h3 {
    margin: 0 0 5px;
    color: #242424;
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}
.mammarella-content p {
    margin: 0;
    color: #666;
    font-size: 0.80rem;
    font-weight: 400;
    line-height: 1.45;
}
/* =========================================================
   HOVER
   ========================================================= */
.mammarella-highlight:hover {
    transform: translateY(-2px);
}
.mammarella-highlight:hover .mammarella-icon {
    color: #ffffff;
    background: #b58a43;
    border-color: #b58a43;
    transform: scale(1.04);
}
/* =========================================================
   TABLET
   992px → 1199px
   ========================================================= */
@media (max-width: 1199.98px) {
    .mammarella-highlights {
        padding: 20px 15px;
    }
    .mammarella-highlight {
        padding: 8px 15px;
    }
    .mammarella-icon {
        flex-basis: 50px;
        width: 50px;
        height: 50px;
        margin-right: 13px;
        font-size: 20px;
    }
    .mammarella-content h3 {
        font-size: 0.80rem;
    }
    .mammarella-content p {
        font-size: 0.74rem;
    }
}
/* =========================================================
   TABLET
   768px → 991px
   ========================================================= */
@media (max-width: 991.98px) {
    .mammarella-highlights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: calc(100% - 30px);
        padding: 12px 15px;
    }
    .mammarella-highlight {
        min-height: 78px;
        padding: 15px;
    }
    /* Rimuove tutti i vecchi separatori */
    .mammarella-highlight + .mammarella-highlight {
        border-left: none;
    }
    /* Separatore verticale tra colonna 1 e 2 */
    .mammarella-highlight:nth-child(even) {
        border-left: 1px solid rgba(181, 138, 67, 0.25);
    }
    /* Separatore orizzontale tra le due righe */
    .mammarella-highlight:nth-child(n + 3) {
        border-top: 1px solid rgba(181, 138, 67, 0.25);
    }
    .mammarella-icon {
        flex-basis: 52px;
        width: 52px;
        height: 52px;
        margin-right: 14px;
        font-size: 20px;
    }
    .mammarella-content h3 {
        font-size: 0.82rem;
    }
    .mammarella-content p {
        font-size: 0.76rem;
    }
}
/* =========================================================
   MOBILE
   Fino a 767px
   ========================================================= */
@media (max-width: 767.98px) {
    .mammarella-highlights {
        grid-template-columns: 1fr;
        width: calc(100% - 24px);
        padding: 8px 18px;
        border-radius: 10px;
    }
    .mammarella-highlight {
        min-height: 0;
        padding: 16px 4px;
    }
    /* Tutti i separatori diventano orizzontali */
    .mammarella-highlight + .mammarella-highlight {
        border-left: none;
        border-top: 1px solid rgba(181, 138, 67, 0.20);
    }
    .mammarella-highlight:nth-child(even) {
        border-left: none;
    }
    .mammarella-highlight:nth-child(n + 3) {
        border-top: 1px solid rgba(181, 138, 67, 0.20);
    }
    .mammarella-icon {
        flex: 0 0 50px;
        width: 50px;
        height: 50px;
        margin-right: 15px;
        font-size: 20px;
    }
    .mammarella-content h3 {
        margin-bottom: 4px;
        font-size: 0.82rem;
    }
    .mammarella-content p {
        font-size: 0.78rem;
        line-height: 1.4;
    }
}
/* =========================================================
   MOBILE PICCOLO
   Fino a 575px
   ========================================================= */
@media (max-width: 575.98px) {
    .mammarella-highlights {
        width: calc(100% - 20px);
        padding: 5px 15px;
    }
    .mammarella-highlight {
        padding: 14px 2px;
    }
    .mammarella-icon {
        flex-basis: 46px;
        width: 46px;
        height: 46px;
        margin-right: 13px;
        font-size: 18px;
    }
    .mammarella-content h3 {
        font-size: 0.78rem;
    }
    .mammarella-content p {
        font-size: 0.73rem;
    }
}
/* =========================================================
   ACCESSIBILITÀ
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
    .mammarella-highlight,
    .mammarella-icon {
        transition: none;
    }
}
#sp-main-body {
padding: 40px 0;
}

.sp-megamenu-parent {text-transform: uppercase;}
.btn-outline-oro{
color:#b89a62;
border:2px solid #b89a62;
background:transparent;
transition:.3s ease;
}
.btn-outline-oro:hover,
.btn-outline-oro:focus,
.btn-outline-oro:active{
color:#fff;
background:#b89a62;
border-color:#b89a62;
}
/* Contenitore immagine */
.article-list .article .article-intro-image{
float:none !important;
display:flex;
justify-content:center;
align-items:center;
margin:-20px -20px 20px -20px;
}
/* Link */
.article-list .article .article-intro-image a{
display:flex;
justify-content:center;
width:100%;
}
/* Contenitore */
.mod-finder__search{
display:flex;
align-items:stretch;
gap:16px;
width:100%;
}
/* Il wrapper di Awesomplete deve occupare tutto lo spazio */
.mod-finder__search .awesomplete{
flex:1;
width:100%;
}
/* Campo di ricerca */
.mod-finder__search .awesomplete input{
width:100%;
height:56px;
border:1px solid #E6E2DB;
border-radius:8px;
padding:0 20px;
font-size:16px;
box-shadow:none;
}
/* Pulsante */
.mod-finder__search .btn{
min-width:170px;
height:56px;
border-radius:8px;
background:#b89a62;
border-color:#b89a62;
color:#fff;
font-weight:600;
text-transform:uppercase;
letter-spacing:.5px;
}
.mod-finder__search .btn:hover{
background:#111111;
border-color:#111111;
}
.mod-articles-items{
list-style: none;
padding-left: 0;
}
.featured-article-badge{
display: none !important;
}
.article-details .featured-article-badge {
display: none !important;}
.home .page-header h1{text-align:center;}
/*==================================================
WHY US
==================================================*/
.why-us{
padding:110px 0;
background:#fff;
position:relative;
}
.why-us::before{
content:"";
position:absolute;
left:0;
top:50%;
transform:translateY(-50%);
width:1px;
height:320px;
background:linear-gradient(
transparent,
rgba(190,154,86,.25),
transparent
);
}
/*==================================================
SUBTITLE
==================================================*/
.section-subtitle{
display:inline-block;
font-size:.82rem;
text-transform:uppercase;
letter-spacing:3px;
font-weight:700;
color:#BE9A56;
margin-bottom:18px;
}
/*==================================================
TITLE
==================================================*/
.why-us h2{
font-family:"Cormorant Garamond",serif;
font-size:3.7rem;
font-weight:500;
line-height:1.05;
color:#242424;
margin-bottom:30px;
}
/*==================================================
TEXT
==================================================*/
.why-us p{
font-size:1.08rem;
line-height:2;
color:#6d6d6d;
max-width:480px;
}
/*==================================================
BUTTON
==================================================*/
.why-us .btn{
margin-top:25px;
background:#14253E;
border:0;
border-radius:8px;
padding:15px 34px;
font-size:.95rem;
font-weight:600;
letter-spacing:.8px;
transition:.35s;
}
.why-us .btn:hover{
background:#BE9A56;
transform:translateY(-3px);
}
/*==================================================
FEATURES
==================================================*/
.feature-box{
display:flex;
align-items:flex-start;
gap:22px;
margin-bottom:45px;
}
/*==================================================
ICON
==================================================*/
.feature-icon{
width:74px;
height:74px;
min-width:74px;
border-radius:50%;
border:1px solid #EFE8DE;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
color:#BE9A56;
background:#fff;
transition:.45s;
}
/*==================================================
HOVER
==================================================*/
.feature-box:hover .feature-icon{
background:#BE9A56;
border-color:#BE9A56;
color:#fff;
transform:translateY(-5px);
box-shadow:
0 15px 35px rgba(190,154,86,.18);
}
/*==================================================
TITLE FEATURE
==================================================*/
.feature-box h5{
margin-bottom:8px;
font-size:1.15rem;
font-weight:600;
color:#222;
}
/*==================================================
DESCRIPTION
==================================================*/
.feature-box p{
margin:0;
font-size:.98rem;
line-height:1.8;
color:#777;
}
/*==================================================
COLUMN SPACING
==================================================*/
.why-us .col-lg-7{
padding-left:70px;
}
/*==================================================
RESPONSIVE
==================================================*/
@media(max-width:991px){
.why-us{
padding:70px 0;
}
.why-us h2{
font-size:2.8rem;
}
.why-us .col-lg-7{
padding-left:15px;
}
.feature-box{
margin-bottom:35px;
}
}
.why-us h2{
position:relative;
}
.why-us h2::before{
content:"";
position:absolute;
left:-30px;
top:-25px;
width:80px;
height:80px;
background:url(images/gold-leaf.svg) no-repeat center;
background-size:contain;
opacity:.08;
pointer-events:none;
}
/*==================================================
SEZIONE RECENSIONI
==================================================*/
#sp-recensioni{
position: relative;
padding: 110px 0;
background:
radial-gradient(circle at top left,
rgba(197,154,75,.08) 0%,
transparent 35%),
radial-gradient(circle at bottom right,
rgba(197,154,75,.05) 0%,
transparent 35%),
#FAF8F4;
overflow: hidden;
}
/* Contenuto sopra gli effetti */
#sp-recensioni > .container,
#sp-recensioni .container{
position: relative;
z-index: 2;
}
/* Effetto luminoso superiore */
#sp-recensioni::before{
content:"";
position:absolute;
top:-220px;
left:-220px;
width:600px;
height:600px;
border-radius:50%;
background:radial-gradient(
circle,
rgba(197,154,75,.08),
transparent 70%
);
pointer-events:none;
}
/* Effetto luminoso inferiore */
#sp-recensioni::after{
content:"";
position:absolute;
right:-180px;
bottom:-180px;
width:500px;
height:500px;
border-radius:50%;
background:radial-gradient(
circle,
rgba(197,154,75,.05),
transparent 70%
);
pointer-events:none;
}
.section-subtitle{
display:inline-block;
font-size:13px;
font-weight:700;
letter-spacing:4px;
text-transform:uppercase;
color:#BE9A56;
margin-bottom:12px;
}
.section-title{
font-family:"Cormorant Garamond",serif;
font-size:3.25rem;
font-weight:500;
color:#232323;
line-height:1.1;
margin-bottom:65px;
}
/*====================================================*/
.review-card{
position:relative;
background:#fff;
border-radius:18px;
border:1px solid #EEE8DE;
padding:42px;
text-align:center;
height:100%;
transition:.45s cubic-bezier(.2,.8,.2,1);
overflow:hidden;
}
/* Barra superiore */
.review-card:before{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:4px;
background:linear-gradient(
90deg,
#B98D43,
#E7CB87,
#B98D43
);
}
/* Virgolette decorative */
.review-card:after{
content:"\201C";
position:absolute;
right:28px;
top:18px;
font-family:Georgia,serif;
font-size:90px;
line-height:1;
color:rgba(190,154,86,.07);
}
/* Hover */
.review-card:hover{
transform:translateY(-10px);
box-shadow:
0 18px 45px rgba(0,0,0,.08);
}
/*====================================================*/
.review-stars{
margin-bottom:24px;
}
.review-stars i{
color:#C59A4B;
font-size:15px;
margin:0 2px;
}
/*====================================================*/
.review-card p{
font-size:17px;
color:#666;
line-height:1.9;
margin-bottom:35px;
min-height:120px;
}
/*====================================================*/
.review-user{
display:flex;
align-items:center;
justify-content:center;
gap:16px;
}
/*====================================================*/
.review-avatar{
width:64px;
height:64px;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
font-weight:700;
font-size:20px;
letter-spacing:1px;
color:#BE9A56;
background:#FCFAF5;
border:2px solid #E8DDCA;
transition:.4s;
}
.review-card:hover .review-avatar{
background:#BE9A56;
color:#fff;
border-color:#BE9A56;
}
/*====================================================*/
.review-author{
text-align:left;
}
.review-author h6{
margin:0;
font-size:17px;
font-weight:600;
color:#1F1F1F;
}
.review-author small{
display:block;
margin-top:5px;
color:#8F8F8F;
font-size:13px;
}
.review-author small i{
color:#4285F4;
margin-right:4px;
}
/*====================================================*/
.review-card:hover .review-stars i{
transform:scale(1.15);
}
.review-stars i{
transition:.3s;
}
/*====================================================*/
@media (max-width:991px){
.section-title{
font-size:2.5rem;
}
.review-card{
padding:35px;
}
.review-card p{
min-height:auto;
}
}
@media (max-width:767px){
.reviews-section{
padding:80px 0;
}
.section-title{
font-size:2rem;
}
.review-card{
border-radius:14px;
padding:30px;
}
.review-avatar{
width:58px;
height:58px;
font-size:18px;
}
}
/*==========================
SEZIONE SERVIZI
==========================*/
.blog-featuredhome{
padding:40px 0;
}
/* Titolo */
.blog-featuredhome .page-header{
margin-bottom:60px;
}
.blog-featuredhome .page-header h1{
font-size:48px;
font-family: "Cormorant Garamond", serif;
font-weight:600;
color:#232323;
text-align:center;
position:relative;
}
.blog-featuredhome .page-header h1:after{
content:"";
display:block;
width:90px;
height:2px;
background:#c6a25b;
margin:18px auto 0;
}
/* CARD */
.blog-featuredhome .article{
background:#fff;
border:1px solid #ece7df;
border-radius:10px;
overflow:hidden;
padding:35px 25px;
transition:.35s ease;
height:100%;
box-shadow:0 6px 20px rgba(0,0,0,.05);
}
.blog-featuredhome .article:hover{
transform:translateY(-8px);
box-shadow:0 18px 45px rgba(0,0,0,.12);
border-color:#c6a25b;
}
/* ICONE */
.blog-featuredhome .article-intro-image{
float:none !important;
text-align:center;
margin-bottom:25px;
}
/* Immagine */
.blog-featuredhome .article-list .article .article-intro-image img{margin:10px;}
.blog-featuredhome .article-intro-image img{
width:140px;
height:140px;
margin:0 auto 30px;
display:flex;
justify-content:center;
align-items:center;
background:#fcfaf7;
border:1px solid #efe6d8;
border-radius:50%!important;
transition:.35s;
}
.blog-featuredhome .article:hover img{
transform:scale(1.08);
}
/* TITOLO */
.blog-featuredhome h2{
text-align:center;
font-size:28px;
line-height:1.2;
margin-bottom:18px;
}
.blog-featuredhome h2 a{
color:#2a2a2a;
text-decoration:none;
}
.blog-featuredhome h2 a:hover{
color:#b48b47;
}
/* TESTO */
.blog-featuredhome p{
text-align:center;
color:#666;
line-height:1.8;
font-size:15px;
min-height:90px;
}
/* BOTTONE */
.blog-featuredhome .readmore{
margin-top:25px;
text-align:center;
}
.blog-featuredhome .readmore a{
display:inline-block;
border:1px solid #c6a25b;
color:#b48b47;
padding:13px 28px;
border-radius:5px;
text-decoration:none;
font-weight:600;
transition:.3s;
}
.blog-featuredhome .readmore a:hover{
background:#b48b47;
color:#fff;
}
/* NASCONDE FEATURED */
.featured-article-badge{
display:none;
}
/* SPAZI TRA LE CARD */
.blog-featuredhome .col-lg-4{
margin-bottom:35px;
}
/* ASSISTENZA */
#sp-assistenza {
position: relative;
padding: 110px 0px;
/*background: radial-gradient(circle at left top, rgba(197, 154, 75, 0.08) 0%, transparent 35%), radial-gradient(circle at right bottom, rgba(197, 154, 75, 0.05) 0%, transparent 35%), rgb(250, 248, 244);*/
overflow: hidden;
}
/* =====================================================
SEZIONE NECROLOGIE
===================================================== */
#sp-necrologie{
position:relative;
padding:20px 0;
background:
radial-gradient(circle at left top,
rgba(197,154,75,.08) 0%, transparent 35%),
radial-gradient(circle at right bottom,
rgba(197,154,75,.05) 0%, transparent 35%),
#faf8f4;
overflow:hidden;
}
/* =====================================================
TITOLI
===================================================== */
#sp-necrologie h3{
font-family:"Cormorant Garamond",serif;
font-size:42px;
font-weight:600;
color:#1f2430;
margin-bottom:28px;
line-height:1.2;
}
/* =====================================================
RICERCA
===================================================== */
#sp-necrologie .mod-finder{
width:100%;
margin-bottom:60px;
}
#sp-necrologie .mod-finder__search{
display:flex;
gap:18px;
align-items:center;
}
#sp-necrologie .mod-finder__search .awesomplete{
flex:1;
}
#sp-necrologie .mod-finder__search input{
width:100%;
height:58px;
padding:0 22px;
border-radius:8px;
border:1px solid #e7dfd3;
background:#fff;
font-size:16px;
transition:.35s ease;
box-shadow:none;
}
#sp-necrologie .mod-finder__search input::placeholder{
color:#999;
}
#sp-necrologie .mod-finder__search input:focus{
border-color:#b89a62;
box-shadow:0 0 0 .20rem rgba(184,154,98,.15);
outline:none;
}
/* =====================================================
PULSANTE CERCA
===================================================== */
#sp-necrologie .mod-finder .btn{
min-width:180px;
height:58px;
border-radius:8px;
border:none;
background:#b89a62;
color:#fff;
font-weight:600;
transition:all .35s ease;
}
#sp-necrologie .mod-finder .btn:hover{
background:#a8874d;
transform:translateY(-2px);
box-shadow:0 12px 24px rgba(184,154,98,.22);
}
#sp-necrologie .mod-finder .btn:active{
transform:translateY(1px);
box-shadow:none;
}
/* =====================================================
NECROLOGIE - CARD PREMIUM
===================================================== */
/* GRID */
.mammarella-necrologie .mod-articles-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:30px;
margin:0;
padding:0;
list-style:none;
}
/* CARD */
.mammarella-necrologie .mod-articles-item{
position:relative;
overflow:hidden;
display:flex;
flex-direction:column;
height:100%;
background:#fff;
border:1px solid #ece5da;
border-radius:18px;
box-shadow:0 8px 28px rgba(0,0,0,.05);
transition:
transform .35s ease,
box-shadow .35s ease,
border-color .35s ease;
}
/* Barra oro superiore */
.mammarella-necrologie .mod-articles-item::before{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:4px;
background:#b89a62;
transform:scaleX(0);
transform-origin:left;
transition:transform .35s ease;
}
.mammarella-necrologie .mod-articles-item:hover{
transform:translateY(-8px);
border-color:#b89a62;
box-shadow:0 18px 42px rgba(0,0,0,.10);
}
.mammarella-necrologie .mod-articles-item:hover::before{
transform:scaleX(1);
}
/* CONTENUTO */
.mammarella-necrologie .mod-articles-item-content{
display:flex;
flex-direction:column;
height:100%;
}
/* Contenitore */
.mammarella-necrologie .fields-container{
list-style:none;
padding-left: 1rem;
}
/* Nasconde tutti gli altri campi */
.mammarella-necrologie .field-entry{
display:none;
}
/* Mostra solo i tre desiderati */
.mammarella-necrologie .data-di-nascita,
.mammarella-necrologie .data-decesso,
.mammarella-necrologie .eta{
display:flex;
align-items:center;
padding:12px 0;
list-style:none;
}
.mammarella-necrologie .eta{
border-bottom:none;
}
/* Elimina il pallino */
.mammarella-necrologie .field-entry::marker{
content:none;
}
/* Etichetta */
.mammarella-necrologie .field-label{
font-size:16px;
color:#8C7B60;
font-weight:500;
margin-right:5px;
}
/* Valore */
.mammarella-necrologie .field-value{
font-size:16px;
color:#0F2238;
font-weight:600;
}
/*=====================================================
IMMAGINE
=====================================================*/
.mammarella-necrologie .necrologia-image{
overflow:hidden;
}
.mammarella-necrologie .necrologia-image img{
width:100%;
aspect-ratio:4/3;
object-fit:cover;
display:block;
transition:transform .7s ease;
}
.mammarella-necrologie .mod-articles-item:hover .necrologia-image img{
transform:scale(1.06);
}
/*=====================================================
CROCE
=====================================================*/
.mammarella-necrologie .mod-articles-title{
margin:26px 22px 22px;
text-align:center;
}
.mammarella-necrologie .mod-articles-title::before{
content:"✝";
display:flex;
justify-content:center;
align-items:center;
width:54px;
height:54px;
margin:0 auto 18px;
border-radius:50%;
background:#faf8f4;
border:1px solid #efe3cf;
color:#b89a62;
font-size:24px;
box-shadow:0 5px 14px rgba(0,0,0,.04);
}
/*=====================================================
NOME
=====================================================*/
.mammarella-necrologie .mod-articles-title a{
display:block;
font-family:"Cormorant Garamond",serif;
font-size:36px;
font-weight:600;
line-height:1.15;
color:#1f2430;
text-decoration:none;
transition:color .3s ease;
}
.mammarella-necrologie .mod-articles-title a:hover{
color:#b89a62;
}
/* Linea decorativa */
.mammarella-necrologie .mod-articles-title::after{
content:"";
display:block;
width:46px;
height:2px;
margin:18px auto 0;
background:#d6b984;
}
/*=====================================================
AZIONI
=====================================================*/
.mammarella-necrologie .necrologia-actions{
margin-top:auto;
padding:0 17px 24px;
display:flex;
flex-direction:column;
gap:12px;
}
/* Bottoni */
.mammarella-necrologie .necrologia-actions .btn{
width:100%;
display:flex;
justify-content:center;
align-items:center;
gap:10px;
padding:13px 18px;
border-radius:8px;
font-size:14px;
font-weight:600;
transition:all .35s ease;
}
.mammarella-necrologie .necrologia-actions .btn i{
transition:transform .35s ease;
}
.mammarella-necrologie .necrologia-actions .btn:hover i{
transform:translateX(5px);
}
/*=====================================================
BOTTONE "VEDI TUTTE"
=====================================================*/
.mammarella-necrologie .text-center{
margin-top:55px;
}
.mammarella-necrologie .btn-outline-mammarella{
display:inline-flex;
align-items:center;
gap:12px;
padding:14px 34px;
border:2px solid #b89a62;
border-radius:8px;
background:#fff;
color:#b89a62;
text-decoration:none;
font-weight:600;
transition:all .35s ease;
}
.mammarella-necrologie .btn-outline-mammarella:hover{
background:#b89a62;
color:#fff;
transform:translateY(-3px);
box-shadow:0 14px 30px rgba(184,154,98,.22);
}
.mammarella-necrologie .btn-outline-mammarella i{
transition:transform .35s ease;
}
.mammarella-necrologie .btn-outline-mammarella:hover i{
transform:translateX(6px);
}
/*=====================================================
RESPONSIVE
=====================================================*/
/* Desktop XL */
@media (min-width:1200px){
.mammarella-necrologie .mod-articles-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:30px;
}
}
/* Desktop piccolo */
@media (min-width:992px) and (max-width:1199px){
.mammarella-necrologie .mod-articles-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:30px;
}
}
/* Tablet */
@media (min-width:768px) and (max-width:991px){
.mammarella-necrologie{
padding:45px 0;
}
.mammarella-necrologie .mod-articles-grid{
display:grid;
grid-template-columns:1fr !important;
gap:30px;
}
.mammarella-necrologie .mod-articles-title a{
font-size:34px;
}
}
/* Smartphone */
@media (max-width:767px){
.mammarella-necrologie{
padding:45px 0;
}
.mammarella-necrologie .mod-articles-grid{
display:grid;
grid-template-columns:1fr;
gap:24px;
}
.mammarella-necrologie .mod-articles-title{
margin:22px 18px 18px;
}
.mammarella-necrologie .mod-articles-title a{
font-size:30px;
}
.mammarella-necrologie .necrologia-actions{
padding:0 18px 20px;
}
}
.btn-outline-mammarella:hover {
background: #b89a62;
color: #fff;
transform: translateY(-3px);
box-shadow: 0 14px 30px rgba(184, 154, 98, .22);
}
.btn-outline-mammarella {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 14px 34px;
border: 2px solid #b89a62;
border-radius: 8px;
background: #fff;
color: #b89a62;
text-decoration: none;
font-weight: 600;
transition: all .35s ease;
}
/*=========================================================
=            NECROLOGIE BLOG MAMMARELLA
=========================================================*/
/*=====================================================
CARD
=====================================================*/
.blognecrologie .row {
    padding-bottom: 20px;
}
@media (min-width: 992px) {

    .blog-featuredhome .article-list > .row,
    .blognecrologie > .row,
    .blognecrologie .article-list > .row {

        --bs-gutter-x: 28px;
        --bs-gutter-y: 30px;

        row-gap: 30px !important;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .blog-featuredhome .article-list > .row,
    .blognecrologie > .row,
    .blognecrologie .article-list > .row {

        --bs-gutter-x: 22px;
        --bs-gutter-y: 22px;

        row-gap: 22px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .blog-featuredhome .article-list > .row,
    .blognecrologie > .row,
    .blognecrologie .article-list > .row {

        --bs-gutter-x: 16px;
        --bs-gutter-y: 16px;

        row-gap: 16px !important;
    }
}


/* =========================================================
   SMARTPHONE PICCOLO
   ========================================================= */

@media (max-width: 575.98px) {

    .blog-featuredhome .article-list > .row,
    .blognecrologie > .row,
    .blognecrologie .article-list > .row {

        --bs-gutter-x: 12px;
        --bs-gutter-y: 14px;

        row-gap: 14px !important;
    }
}
.necrologie-blog-mammarella .article{
position:relative;
overflow:hidden;
display:flex;
flex-direction:column;
height:100%;
background:#fff;
border:1px solid #ece5da;
border-radius:18px;
box-shadow:0 8px 28px rgba(0,0,0,.05);
transition:
transform .35s ease,
box-shadow .35s ease,
border-color .35s ease;
}
.necrologie-blog-mammarella .article:before{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:4px;
background:#b89a62;
transform:scaleX(0);
transform-origin:left;
transition:.35s;
}
.necrologie-blog-mammarella .article:hover{
transform:translateY(-8px);
border-color:#b89a62;
box-shadow:0 18px 42px rgba(0,0,0,.10);
}
.necrologie-blog-mammarella .article:hover:before{
transform:scaleX(1);
}
/****************************************************/
.necrologie-blog-mammarella .article-intro-image{
overflow:hidden;
margin:0;
}
.necrologie-blog-mammarella .article-intro-image img{
width:100%;
aspect-ratio:4/3;
object-fit:cover;
display:block;
transition:.7s;
}
.necrologie-blog-mammarella .article:hover .article-intro-image img{
transform:scale(1.06);
}
/****************************************************/
.necrologie-blog-mammarella .article-body{
display:flex;
flex-direction:column;
height:100%;
padding:0;
}
/****************************************************/
.necrologie-blog-mammarella .article-header{
margin:26px 22px 22px;
text-align:center;
}
.necrologie-blog-mammarella .article-header:before{
content:"✝";
display:flex;
justify-content:center;
align-items:center;
width:54px;
height:54px;
margin:-52px auto 18px;
border-radius:50%;
background:#faf8f4;
border:1px solid #efe3cf;
color:#b89a62;
font-size:24px;
box-shadow:0 5px 14px rgba(0,0,0,.04);
position:relative;
z-index:10;
}
.necrologie-blog-mammarella .article-header h2{
margin:0;
}
.necrologie-blog-mammarella .article-header h2 a{
display:block;
font-family:"Cormorant Garamond",serif;
font-size:36px;
font-weight:600;
line-height:1.15;
color:#1f2430;
text-decoration:none;
transition:.3s;
}
.necrologie-blog-mammarella .article-header h2 a:hover{
color:#b89a62;
}
.necrologie-blog-mammarella .article-header:after{
content:"";
display:block;
width:46px;
height:2px;
margin:18px auto 0;
background:#d6b984;
}
/****************************************************/
.necrologie-blog-mammarella .article-introtext{
padding:0 24px;
text-align:center;
min-height:60px;
color:#666;
}
/****************************************************/
.necrologie-blog-mammarella .necro-actions{
margin-top:auto;
padding:0 24px 24px;
display:flex;
flex-direction:column;
gap:12px;
}
.necrologie-blog-mammarella .btn-necro{
width:100%;
display:flex;
justify-content:center;
align-items:center;
gap:10px;
padding:13px 18px;
border-radius:8px;
border:2px solid #b89a62;
background:#fff;
color:#b89a62;
text-decoration:none;
font-size:14px;
font-weight:600;
transition:.35s;
}
.necrologie-blog-mammarella .btn-necro:hover{
background:#b89a62;
color:#fff;
}
.necrologie-blog-mammarella .necrologia-actions {
padding: 0 24px 24px;
display: flex;
flex-direction: column;
gap: 12px;
}
.necrologie-blog-mammarella .article-list .article {
position: relative;
margin-bottom: 30px;
padding: 0px!important;
border: 1px solid #f5f5f5;
border-radius: 3px;
}
.necrologie-blog-mammarella .btn-outline-mammarella {padding: 14px 20px!important;text-align:center;}
.necrologie-blog-mammarella .article-list .article .article-intro-image{margin:0!important;}

/* =========================================================
   NECROLOGIA
   Card principale + commenti come unico blocco visivo
   ========================================================= */

.article-details.necrologie {
    max-width: 1100px;
    margin: 50px auto 0;
    background: #fff;
    border: 1px solid #ece5da;
    border-bottom: 0;
    border-radius: 22px 22px 0 0;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,.08);
}


/* =========================================================
   IMMAGINE
   ========================================================= */

.article-details.necrologie .article-full-image {
    float: none !important;
    width: 100%;
    margin: 0;
}

.article-details.necrologie .article-full-image img {
    display: block;
    width: 100%;
    height: 520px;
    object-fit: cover;
}


/* =========================================================
   TITOLO
   ========================================================= */

.article-details.necrologie .article-header {
    position: relative;
    padding: 55px 40px 30px;
    text-align: center;
}

.article-details.necrologie .article-header:before {
    content: "✝";
    width: 82px;
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: -98px auto 25px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #e8d9c0;
    color: #b89a62;
    font-size: 42px;
    box-shadow: 0 8px 18px rgba(0,0,0,.05);
}

.article-details.necrologie .article-header:after {
    content: "";
    display: block;
    width: 70px;
    height: 2px;
    margin: 24px auto 0;
    background: #b89a62;
}

.article-details.necrologie h1 {
    margin: 0;
    font-family: "Cormorant Garamond", serif;
    font-size: 58px;
    line-height: 1.1;
    font-weight: 600;
    color: #1e2940;
}


/* =========================================================
   DATI
   ========================================================= */

.article-details.necrologie .fields-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 35px;
    margin: 0;
    padding: 35px 40px 15px;
    list-style: none;
}

.article-details.necrologie .field-entry {
    padding: 16px 18px;
    background: #fcfbf8;
    border: 1px solid #eee3d2;
    border-radius: 12px;
}

.article-details.necrologie .field-label {
    display: block;
    margin-bottom: 6px;
    color: #9a8b73;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.article-details.necrologie .field-value {
    color: #222;
    font-size: 18px;
    font-weight: 500;
}
/* =========================================================
   SOCIAL E AVANTI NASCOSTI
   ========================================================= */

.article-details.necrologie .article-ratings-social-share,
.article-details.necrologie .pagenavigation {
    display: none !important;
}


/* =========================================================
   CORPO ARTICOLO
   ========================================================= */

.article-details.necrologie [itemprop="articleBody"] {
    max-width: 760px;
    margin: 0 auto;
    padding: 20px 40px 10px;
    color: #555;
    font-size: 18px;
    line-height: 1.9;
}


/* =========================================================
   COLLEGAMENTO CARD → COMMENTI
   ========================================================= */

/*
   #jc deve apparire come la continuazione naturale
   della card della necrologia.
*/

.article-details.necrologie + #jc {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto 50px;
    padding: 0;
    background: #fff;

    /* nessuna linea di separazione */
    border: 0 !important;
    border-top: 0 !important;

    /* stessa ombra della card */
    box-shadow: 0 15px 40px rgba(0,0,0,.08);

    /* chiusura unica della card */
    border-radius: 0 0 22px 22px;

    overflow: hidden;
}


/* =========================================================
   ELIMINA LA FASCIA / OMBRA SOPRA "MESSAGGI"
   ========================================================= */

.article-details.necrologie + #jc #comments {
    margin: 0 !important;
    padding: 0 !important;

    background: #fff !important;

    border: 0 !important;
    border-top: 0 !important;

    box-shadow: none !important;
}


/* =========================================================
   TITOLO "MESSAGGI"
   ========================================================= */

.article-details.necrologie + #jc #comments > h4 {
    margin: 0 !important;
    padding: 0px 40px 14px !important;

    background: #fff !important;

    border: 0 !important;

    color: #1e2940;
    font-family: "Cormorant Garamond", serif;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.2;

    box-shadow: none !important;
}


/* linea decorativa sotto "Messaggi" */

.article-details.necrologie + #jc #comments > h4:after {
    content: "";
    display: block;
    width: 52px;
    height: 2px;
    margin-top: 10px;
    background: #b89a62;
}


/* =========================================================
   LISTA MESSAGGI
   ========================================================= */

.article-details.necrologie + #jc #comments-list {
    margin: 0 !important;
    padding: 0 40px !important;

    background: #fff !important;

    border: 0 !important;
    box-shadow: none !important;
}


/* elimina eventuali ombre del plugin */

.article-details.necrologie + #jc #comments-list .rbox,
.article-details.necrologie + #jc #comments-list .even,
.article-details.necrologie + #jc #comments-list .odd {
    box-shadow: none !important;
}


/* =========================================================
   PULIZIA DEL FOOTER DEI COMMENTI
   ========================================================= */

.article-details.necrologie + #jc #comments-list-footer {
    margin: 0 !important;
    padding: 15px 40px 25px !important;

    background: #fff !important;

    border: 0 !important;
    box-shadow: none !important;
}


/* =========================================================
   CONTENITORE FORM
   ========================================================= */

.article-details.necrologie + #jc .jcomment-container-form {
    margin: 0;
    padding: 30px 40px 40px;
    background: #fff;
}


/* =========================================================
   TITOLO "AGGIUNGI COMMENTO"
   ========================================================= */

.article-details.necrologie + #jc .jcomment-container-form h4 {
    margin: 0 0 22px;
    padding: 0 0 12px;
	border-bottom: none!important;
    color: #1e2940;
    font-family: "Cormorant Garamond", serif;
    font-size: 30px;
    font-weight: 600;
}

.article-details.necrologie + #jc .jcomment-container-form h4:after {
    content: "";
    display: block;
    width: 52px;
    height: 2px;
    margin-top: 10px;
    background: #b89a62;
}


/* =========================================================
   FORM
   ========================================================= */

.article-details.necrologie + #jc #comments-form {
    width: 100%;
}


/* =========================================================
   CAMPO NOME E TEXTAREA
   ========================================================= */

.article-details.necrologie + #jc input[type="text"],
.article-details.necrologie + #jc textarea {
    border-color: #ddd2c2;
    background: #fff;
    color: #1e2940;
}

.article-details.necrologie + #jc input[type="text"]:focus,
.article-details.necrologie + #jc textarea:focus {
    border-color: #b89a62;
    outline: none;
    box-shadow: 0 0 0 2px rgba(184,154,98,.12);
}


/* =========================================================
   BOTTONE INVIA
   ========================================================= */

.article-details.necrologie + #jc #comments-form-send {
    background: #b89a62;
    border-radius: 6px;
}

.article-details.necrologie + #jc #comments-form-send span {
    color: #fff;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991px) {

    .article-details.necrologie {
        width: calc(100% - 40px);
        margin: 20px auto 0;
    }

    .article-details.necrologie .article-full-image img {
        height: 360px;
    }

    .article-details.necrologie h1 {
        font-size: 44px;
    }

    .article-details.necrologie .fields-container {
        grid-template-columns: 1fr;
    }

    .article-details.necrologie + #jc {
        width: calc(100% - 40px);
    }

    .article-details.necrologie + #jc #comments-list {
        padding-left: 25px !important;
        padding-right: 25px !important;
    }

    .article-details.necrologie + #jc #comments > h4 {
        padding-left: 25px !important;
        padding-right: 25px !important;
    }

    .article-details.necrologie + #jc #comments-list-footer {
        padding-left: 25px !important;
        padding-right: 25px !important;
    }

    .article-details.necrologie + #jc .jcomment-container-form {
        padding: 25px;
    }
}


@media (max-width: 576px) {

    .article-details.necrologie {
        width: calc(100% - 24px);
        margin: 15px auto 0;
        border-radius: 16px 16px 0 0;
    }

    .article-details.necrologie .article-full-image img {
        height: 260px;
    }

    .article-details.necrologie .article-header {
        padding: 45px 20px 25px;
    }

    .article-details.necrologie h1 {
        font-size: 34px;
    }

    .article-details.necrologie .fields-container {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 25px 20px 30px;
    }

    .article-details.necrologie .field-entry {
        padding: 13px 15px;
    }

    .article-details.necrologie .field-value {
        font-size: 16px;
    }

    .article-details.necrologie + #jc {
        width: calc(100% - 24px);
        margin-bottom: 30px;
        border-radius: 0 0 16px 16px;
    }

    .article-details.necrologie + #jc #comments > h4 {
        padding: 22px 20px 12px !important;
        font-size: 26px;
    }

    .article-details.necrologie + #jc #comments-list {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .article-details.necrologie + #jc #comments-list-footer {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .article-details.necrologie + #jc .jcomment-container-form {
        padding: 22px 20px 30px;
    }

    .article-details.necrologie + #jc .jcomment-container-form h4 {
        font-size: 26px;
    }
}

.necrologie-blog-mammarella .mod-articles-item-content{
display:flex;
flex-direction:column;
height:100%;
padding:0;
}
/* Contenitore */
.necrologie-blog-mammarella .fields-container{
list-style:none;
}
/* Nasconde tutti gli altri campi */
.necrologie-blog-mammarella .field-entry{
display:none;
}
/* Mostra solo i tre desiderati */
.necrologie-blog-mammarella .data-di-nascita,
.necrologie-blog-mammarella .data-decesso,
.necrologie-blog-mammarella .eta{
display:flex;
align-items:center;
padding:12px 0;
list-style:none;
}
.necrologie-blog-mammarella .eta{
border-bottom:none;
}
/* Elimina il pallino */
.necrologie-blog-mammarella .field-entry::marker{
content:none;
}
/* Etichetta */
.necrologie-blog-mammarella .field-label{
font-size:16px;
color:#8C7B60;
font-weight:500;
margin-right:5px;
}
/* Valore */
.necrologie-blog-mammarella .field-value{
font-size:16px;
color:#0F2238;
font-weight:600;
}
/* ==========================================================
BLOG SERVIZI - MAMMARELLA PREMIUM
Compatibile con 2,3,4,5 colonne Joomla
========================================================== */
.blogservizi{
padding:60px 0;
}
/************************************************/
/* ROW BOOTSTRAP */
/************************************************/
.blogservizi .row{
padding-bottom:20px;
}
/************************************************/
/* CARD */
/************************************************/
.blogservizi .article{
position:relative;
display:flex;
flex-direction:column;
height:100%;
background:#fcfbf8;
border:1px solid #ece5d9;
border-radius:18px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.05);
transition:.35s;
}
.blogservizi .article:before{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:4px;
background:#b89a62;
transform:scaleX(0);
transform-origin:left;
transition:.35s;
}
.blogservizi .article:hover{
transform:translateY(-8px);
border-color:#b89a62;
box-shadow:0 18px 45px rgba(0,0,0,.10);
}
.blogservizi .article:hover:before{
transform:scaleX(1);
}
/************************************************/
/* IMMAGINE */
/************************************************/
.blogservizi .article-intro-image{
margin:0;
padding:clamp(20px,3vw,36px) 15px 18px;
text-align:center;
}
.blogservizi .article-intro-image img{
width:clamp(60px,35%,105px);
height:auto;
object-fit:contain;
transition:.35s;
}
.blogservizi .article:hover img{
transform:scale(1.06);
}
/************************************************/
/* BODY */
/************************************************/
.blogservizi .article-body{
display:flex;
flex-direction:column;
flex:1;
padding:0 clamp(14px,2vw,28px) 24px;
}
/************************************************/
/* TITOLO */
/************************************************/
.blogservizi .article-header{
text-align:center;
margin-bottom:18px;
}
.blogservizi .article-header h2{
margin:0;
}
.blogservizi .article-header h2 a{
display:block;
font-family:"Cormorant Garamond",serif;
font-size:clamp(1.35rem,1.8vw,2rem);
line-height:1.2;
font-weight:600;
color:#1f2430;
text-decoration:none;
transition:.3s;
overflow-wrap:anywhere;
}
.blogservizi .article-header h2 a:hover{
color:#b89a62;
}
.blogservizi .article-header:after{
content:"";
display:block;
width:48px;
height:2px;
background:#d4b57d;
margin:16px auto 0;
}
/************************************************/
/* TESTO */
/************************************************/
.blogservizi .article-introtext{
flex:1;
text-align:center;
}
.blogservizi .article-introtext p{
margin:0;
color:#666;
font-size:clamp(.9rem,.9vw,1rem);
line-height:1.7;
}
/************************************************/
/* PULSANTE */
/************************************************/
.blogservizi .readmore{
margin-top:24px;
text-align:center;
}
.blogservizi .readmore a{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
padding:10px 18px;
border:2px solid #b89a62;
border-radius:8px;
color:#b89a62;
text-decoration:none;
font-weight:600;
font-size:clamp(.82rem,.9vw,.95rem);
transition:.3s;
}
.blogservizi .readmore a:after{
content:"→";
}
.blogservizi .readmore a:hover{
background:#b89a62;
color:#fff;
}
/************************************************/
/* BADGE */
/************************************************/
.blogservizi .featured-article-badge{
display:none!important;
}
/************************************************/
/* OTTIMIZZAZIONI PER CARD PICCOLE */
/************************************************/
.blogservizi .col-lg-3 .article-header h2 a,
.blogservizi .col-xl-3 .article-header h2 a{
font-size:1.5rem;
}
.blogservizi .col-lg-3 .article-intro-image img,
.blogservizi .col-xl-3 .article-intro-image img{
width:80px;
}
.blogservizi .col-lg-3 .article-body,
.blogservizi .col-xl-3 .article-body{
padding:0 18px 20px;
}
.blogservizi .col-lg-3 .readmore a,
.blogservizi .col-xl-3 .readmore a{
padding:8px 14px;
font-size:.85rem;
}
/* ===========================
PAGINA SERVIZI
=========================== */
.article-details.servizi{
max-width: 1180px;
margin: 0 auto;
padding: 70px 20px;
}
/* HEADER */
.article-details.servizi .article-header{
text-align:center;
margin-bottom:35px;
}
.article-details.servizi h1{
font-size:2.3rem;
font-weight:600;
color:#6e4f2d;
margin-bottom:15px;
position:relative;
}
.article-details.servizi h1:after{
content:"";
display:block;
width:70px;
height:3px;
background:#caa15a;
margin:18px auto 0;
}
/* ICONA */
.article-details.servizi .item-image{
float:none!important;
display:flex;
justify-content:center;
margin-bottom:35px;
}
.article-details.servizi .item-image img{
width:130px;
height:auto;
opacity:.9;
transition:.35s;
}
.article-details.servizi .item-image img:hover{
transform:scale(1.05);
opacity:1;
}
/* TESTO */
.article-details.servizi .articleBody{
max-width:900px;
margin:auto;
}
.article-details.servizi .articleBody p{
font-size:1.08rem;
line-height:2;
color:#555;
margin-bottom:25px;
text-align:justify;
}
.article-details.servizi .articleBody p:first-child{
font-size:1.25rem;
color:#333;
font-weight:500;
text-align:center;
margin-bottom:35px;
}
.pagenavigation .pagination{
display:flex;
justify-content:space-between;
width:100%;
}
.pagenavigation .btn{
border:none;
border-radius:30px;
padding:12px 28px;
background:#8c6d43;
color:#fff;
transition:.3s;
font-weight:500;
}
.pagenavigation .btn:hover{
background:#caa15a;
transform:translateY(-2px);
}
/* BADGE */
.featured-article-badge{
display:none;
}
/* ==========================
TYPOGRAPHY ARTICLES
========================== */
.article-details .article-header h1{
font-size:3.25rem;
font-weight:700;
line-height:1.2;
}
.article-details .article-header h2{
font-size:2.5rem;
font-weight:700;
line-height:1.2;
}
.article-details .article-header h3{
font-size:2rem;
font-weight:700;
line-height:1.25;
}
.article-details .article-header h4{
font-size:1.625rem;
font-weight:600;
line-height:1.3;
}
/* Tablet */
@media (max-width:991.98px){
.article-details .article-header h1{
font-size:2.75rem;
}
.article-details .article-header h2{
font-size:2.125rem;
}
.article-details .article-header h3{
font-size:1.75rem;
}
.article-details .article-header h4{
font-size:1.5rem;
}
}
/* Mobile */
@media (max-width:767.98px){
.article-details .article-header h1{
font-size:2.25rem;
}
.article-details .article-header h2{
font-size:1.875rem;
}
.article-details .article-header h3{
font-size:1.625rem;
}
.article-details .article-header h4{
font-size:1.375rem;
}
}
:root {
--bs-primary: #c69c52;
--bs-primary-rgb: 198, 156, 82;
}
/*=====================================================
                ACCORDION
=====================================================*/
.accordion{
    --bs-accordion-border-width:0;
    --bs-accordion-btn-focus-box-shadow:none;
    --bs-accordion-bg:#fff;
}
/*------------------------------------------------*/
.accordion-item{
    border:1px solid #ECE5DA;
    border-radius:16px !important;
    overflow:hidden;
    margin-bottom:22px;
    box-shadow:0 8px 25px rgba(0,0,0,.05);
    transition:.35s;
}
.accordion-item:hover{
    transform:translateY(-3px);
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}
/*------------------------------------------------*/
.accordion-button{
    background:#fff;
    color:#0F2238;
    padding:24px 28px;
    font-size:1.15rem;
    font-weight:600;
    box-shadow:none !important;
}
.accordion-button:not(.collapsed){
    background:#FAF8F4;
    color:#0F2238;
}
/*------------------------------------------------*/
.accordion-button i{
    color:#B89A62;
    font-size:1.3rem;
    margin-right:18px;
}
/*------------------------------------------------*/
.accordion-button::after{
    width:22px;
    height:22px;
    background-size:22px;
    filter:brightness(.55);
}
/*=====================================================
                CONTENUTO FAQ
=====================================================*/
.accordion-body{
    padding:35px;
    color:#555;
    font-size:1rem;
    line-height:1.9;
}
.accordion-body p{
    margin-bottom:20px;
}
.accordion-body strong{
    color:#0F2238;
}
.accordion-body ul{
    margin:20px 0;
    padding-left:22px;
}
.accordion-body li{
    margin-bottom:12px;
}
/*=====================================================
                ALERT
=====================================================*/
.accordion-body .alert{
    background:#FAF8F4;
    border:none;
    border-left:5px solid #B89A62 !important;
    border-radius:12px;
    padding:22px;
    margin:30px 0;
}
.accordion-body .alert strong{
    display:block;
    color:#0F2238;
    margin-bottom:12px;
    font-size:1.05rem;
}
/*=====================================================
                LINK
=====================================================*/
a{
    color:#0F2238;
    transition:.3s;
}
a:hover{
    color:#B89A62;
}
/*=====================================================
                CTA
=====================================================*/
.faq-cta{
    background:#0F2238;
    color:#fff;
    border-radius:20px;
}
.faq-cta h2{
    color:#fff;
    margin-bottom:20px;
}
.faq-cta p{
    opacity:.9;
}
/*=====================================================
                BOTTONI
=====================================================*/
.btn-outline-mammarella{
    border:2px solid #B89A62;
    color:#0F2238;
    border-radius:50px;
    padding:14px 30px;
    font-weight:600;
    transition:.3s;
}
.btn-outline-mammarella:hover{
    background:#B89A62;
    color:#fff;
    border-color:#B89A62;
}
/*=====================================================
                MOBILE
=====================================================*/
@media(max-width:991px){
    .hero-info h1{
        font-size:3rem;
    }
    .accordion-button{
        padding:20px;
        font-size:1.05rem;
    }
    .accordion-body{
        padding:25px;
    }
}
@media(max-width:768px){
    .hero-info h1{
        font-size:2.3rem;
    }
    .hero-info .lead{
        font-size:1.05rem;
    }
    .accordion-button{
        padding:18px;
        font-size:1rem;
    }
    .accordion-button i{
        font-size:1.1rem;
        margin-right:12px;
    }
    .accordion-body{
        padding:22px;
        font-size:.95rem;
        line-height:1.8;
    }
}
.faq-icon{
    width:46px;
    height:46px;
    min-width:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#F8F4ED;
    color:#B89A62;
    font-size:18px;
    transition:.35s;
}
#contact-form legend {
    font-size: 1.35rem;
    font-weight: 600;
    color: #0F2238;
    margin-bottom: 1.5rem;
}
/* Nasconde solamente il titolo "Preventivo" */
#contact-form fieldset:nth-of-type(2) legend {
    display: none;
}
.com-contact > .row > h2:first-child {
    display: none;
}
/*====================================================
                PAGINA CONTATTI
====================================================*/
/*====================================================
                TITOLO
====================================================*/
.com-contact h1{
    font-family:"Cormorant Garamond",serif;
    font-size:4rem;
    color:#10213A;
    text-align:center;
    margin-bottom:60px;
}
.com-contact h1:after{
    content:"";
    display:block;
    width:120px;
    height:2px;
    background:#C8A96A;
    margin:25px auto 0;
}
/*====================================================
                ELIMINA TITOLI
====================================================*/
.com-contact .row>h2{
    display:none;
}
#contact-form legend{
    display:none;
}
/*====================================================
            CARD CONTATTI
====================================================*/
.contact-info{
    background:#fff;
    border-radius:18px;
    padding:35px;
    box-shadow:0 15px 45px rgba(0,0,0,.08);
    border:1px solid #ece6dc;
}
/*====================================================*/
.contact-info .d-flex{
    padding:18px 0;
    border-bottom:1px solid #ececec;
}
.contact-info .d-flex:last-child{
    border-bottom:none;
}
/*====================================================*/
.contact-info span[class^="icon"]{
    width:48px;
    height:48px;
    background:#F8F4ED;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#C8A96A;
    font-size:20px;
}
/*====================================================*/
.contact-info a{
    color:#10213A;
    text-decoration:none;
}
.contact-info a:hover{
    color:#C8A96A;
}
/*====================================================
                FORM
====================================================*/
.contact-form{
    background:#fff;
    border-radius:18px;
    padding:40px;
    box-shadow:0 15px 45px rgba(0,0,0,.08);
    border:1px solid #ece6dc;
}
/*====================================================*/
#contact-form .control-group{
    margin-bottom:22px;
}
/*====================================================*/
#contact-form label{
    font-weight:600;
    color:#10213A;
    margin-bottom:8px;
}
/*====================================================*/
#contact-form .form-control{
    border-radius:12px;
    border:1px solid #ddd;
    min-height:54px;
    padding:14px 18px;
    transition:.3s;
}
/*====================================================*/
#contact-form textarea{
    min-height:180px;
}
/*====================================================*/
#contact-form .form-control:focus{
    border-color:#C8A96A;
    box-shadow:0 0 0 .15rem rgba(200,169,106,.20);
}
/*====================================================*/
.field-spacer{
    display:none;
}
/*====================================================*/
#jform_com_fields_privacy{
    background:#FAF8F5;
    border:1px solid #E7DED1;
    border-radius:12px;
    padding:18px;
}
/*====================================================*/
#jform_com_fields_privacy .form-check{
    display:flex;
    align-items:flex-start;
    gap:12px;
}
/*====================================================*/
.form-check-input{
    margin-top:5px;
}
/*====================================================*/
.form-check-label{
    line-height:1.8;
    color:#555;
}
/*====================================================*/
.controls{
    margin-top:35px;
}
/*====================================================*/
.controls .btn{
    width:100%;
    height:58px;
    border-radius:12px;
    border:none;
    color:#fff;
    font-weight:600;
    font-size:1.05rem;
    transition:.3s;
}
/*====================================================
                CAPTCHA
====================================================*/
altcha-widget{
    border:1px solid #E7DED1;
    border-radius:12px;
    padding:15px;
    background:#FAF8F5;
}
/* =========================================================
   GOOGLE REVIEWS - IMPRESA FUNEBRE MAMMARELLA
   ========================================================= */
.mammarella-google-review {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 430px;
    padding: 24px 26px;
    background: #0f2238;
    border: 1px solid rgba(200, 169, 106, .45);
    border-radius: 18px;
    box-shadow:
        0 15px 35px rgba(16, 33, 58, .15),
        inset 0 1px 0 rgba(255,255,255,.06);
    overflow: hidden;
    color: #fff;
    transition:
        transform .3s ease,
        box-shadow .3s ease;
    box-sizing: border-box;
}
/* =========================================================
   ELEMENTI DECORATIVI
   ========================================================= */
.mammarella-google-review::before {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    top: -90px;
    right: -70px;
    border-radius: 50%;
    border: 1px solid rgba(200,169,106,.18);
    pointer-events: none;
}
.mammarella-google-review::after {
    content: "";
    position: absolute;
    width: 90px;
    height: 90px;
    bottom: -60px;
    left: -40px;
    border-radius: 50%;
    border: 1px solid rgba(200,169,106,.12);
    pointer-events: none;
}
/* =========================================================
   HOVER
   ========================================================= */
.mammarella-google-review:hover {
    transform: translateY(-4px);
    box-shadow:
        0 22px 45px rgba(16, 33, 58, .22),
        inset 0 1px 0 rgba(255,255,255,.08);
}
/* =========================================================
   PARTE SUPERIORE
   ========================================================= */
.mammarella-google-review-top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 14px;
}
/* =========================================================
   LOGO GOOGLE
   ========================================================= */
.mammarella-google-logo {
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 14px;
    box-shadow:
        0 5px 15px rgba(0,0,0,.15);
}
.mammarella-google-logo i {
    font-size: 28px;
    background:
        linear-gradient(
            135deg,
            #4285F4 0%,
            #4285F4 28%,
            #34A853 28%,
            #34A853 52%,
            #FBBC05 52%,
            #FBBC05 75%,
            #EA4335 75%
        );
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* =========================================================
   TESTI SUPERIORI
   ========================================================= */
.mammarella-google-heading {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.mammarella-google-label {
    font-family:
        Arial,
        Helvetica,
        sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: #fff;
}
.mammarella-google-subtitle {
    color: rgba(255,255,255,.68);
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: .2px;
}
/* =========================================================
   ICONA VERIFICATO
   ========================================================= */
.mammarella-google-verified {
    margin-left: auto;
    flex: 0 0 auto;
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #10213a;
    background: #c8a96a;
    border-radius: 50%;
    font-size: 13px;
}
/* =========================================================
   PARTE INFERIORE
   ========================================================= */
.mammarella-google-review-bottom {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.12);
}
/* =========================================================
   STELLE
   ========================================================= */
.mammarella-google-stars {
    display: flex;
    gap: 3px;
    flex: 0 0 auto;
}
.mammarella-google-stars span {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #c8a96a;
    border-radius: 5px;
    font-size: 18px;
    line-height: 1;
    box-shadow:
        0 3px 8px rgba(0,0,0,.12);
}
/* =========================================================
   PUNTEGGIO
   ========================================================= */
.mammarella-google-score {
    display: flex;
    align-items: baseline;
    gap: 2px;
    flex: 0 0 auto;
    white-space: nowrap;
}
.mammarella-google-score strong {
    color: #fff;
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    font-size: 27px;
    font-weight: 500;
    line-height: 1;
}
.mammarella-google-score span {
    color: rgba(255,255,255,.58);
    font-size: 14px;
}
/* =========================================================
   VALUTAZIONE
   ========================================================= */
.mammarella-google-excellent {
    flex-basis: 100%;
    width: 100%;
    margin: 2px 0 0;
    color: #c8a96a;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .7px;
    line-height: 1.4;
}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 576px) {
    .mammarella-google-review {
        padding: 21px;
        border-radius: 16px;
    }
    .mammarella-google-logo {
        flex-basis: 52px;
        width: 52px;
        height: 52px;
        border-radius: 13px;
    }
    .mammarella-google-logo i {
        font-size: 25px;
    }
    .mammarella-google-label {
        font-size: 17px;
    }
    .mammarella-google-subtitle {
        font-size: 12px;
    }
    .mammarella-google-stars span {
        width: 29px;
        height: 29px;
        font-size: 17px;
    }
    .mammarella-google-score strong {
        font-size: 25px;
    }
    .mammarella-google-excellent {
        font-size: 10px;
        letter-spacing: .6px;
    }
}
/* =========================================================
   SCHERMI MOLTO STRETTI
   ========================================================= */
@media (max-width: 380px) {
    .mammarella-google-review {
        padding: 18px;
    }
    .mammarella-google-review-top {
        gap: 11px;
    }
    .mammarella-google-logo {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
    }
    .mammarella-google-stars {
        gap: 2px;
    }
    .mammarella-google-stars span {
        width: 27px;
        height: 27px;
        font-size: 16px;
    }
    .mammarella-google-score strong {
        font-size: 24px;
    }
}
/* =========================================================
   FOOTER — SOCIAL ICONS
   STILE DEFINITIVO
   ========================================================= */
.sp-module.seguici .social-icons {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
/* ---------------------------------------------------------
   RESET ELEMENTI
   --------------------------------------------------------- */
.sp-module.seguici .social-icons li {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* ---------------------------------------------------------
   PULSANTI SOCIAL
   --------------------------------------------------------- */
.sp-module.seguici .social-icons li a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(201, 164, 90, 0.55) !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #d8d8d8 !important;
    text-decoration: none !important;
    transition:
        color 0.25s ease,
        border-color 0.25s ease,
        background-color 0.25s ease,
        transform 0.25s ease !important;
}
/* ---------------------------------------------------------
   ICONE FONT AWESOME
   --------------------------------------------------------- */
.sp-module.seguici .social-icons li a span {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    color: inherit !important;
    transform: none !important;
}
/* ---------------------------------------------------------
   HOVER
   --------------------------------------------------------- */
.sp-module.seguici .social-icons li a:hover {
    color: #c9a45a !important;
    border-color: #c9a45a !important;
    background: rgba(201, 164, 90, 0.07) !important;
    transform: translateY(-2px) !important;
    box-shadow: none !important;
}
/* ---------------------------------------------------------
   FOCUS DA TASTIERA
   --------------------------------------------------------- */
.sp-module.seguici .social-icons li a:focus-visible {
    outline: 1px solid #c9a45a !important;
    outline-offset: 3px !important;
}
/* ---------------------------------------------------------
   TITOLO "SEGUICI SU"
   --------------------------------------------------------- */
.sp-module.seguici .sp-module-title {
    margin-bottom: 0 !important;
}
/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */
@media (max-width: 767px) {
    .sp-module.seguici .social-icons {
        gap: 14px !important;
        margin-top: 16px !important;
    }
    .sp-module.seguici .social-icons li a {
        width: 32px !important;
        height: 32px !important;
    }
    .sp-module.seguici .social-icons li a span {
        font-size: 14px !important;
    }
}
/* ========================================================================
   MAMMARELLA — OVERRIDE FINALI CONSOLIDATI
   ======================================================================== */

/* ------------------------------------------------------------------------
   1. AREA PRINCIPALE PAGINE INTERNE
   ------------------------------------------------------------------------ */

#sp-main-body {
    padding-top: clamp(26px, 3.2vw, 46px) !important;
    padding-bottom: clamp(34px, 4vw, 60px) !important;
}

#sp-main-body .article-details.servizi {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

#sp-main-body .article-details.servizi > [itemprop="articleBody"] {
    width: 100%;
    box-sizing: border-box;
}

#sp-main-body .article-details.servizi > [itemprop="articleBody"] p,
#sp-main-body .article-details.servizi > [itemprop="articleBody"] li {
    overflow-wrap: break-word;
}


/* ------------------------------------------------------------------------
   2. HEADER DELLE PAGINE INTERNE
   ------------------------------------------------------------------------ */

#sp-main-body .article-details.servizi .article-header {
    text-align: center;
    margin: 0 0 26px !important;
}

#sp-main-body .article-details.servizi .article-header h1 {
    margin-bottom: 12px !important;
    line-height: 1.15;
}


/* ------------------------------------------------------------------------
   3. ICONA PRINCIPALE PAGINE INTERNE
   Grande, visibile e con medaglione.
   Il figure resta trasparente.
   ------------------------------------------------------------------------ */

#sp-main-body .article-details.servizi .article-full-image.item-image {
    position: relative !important;

    float: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 160px !important;

    margin: 0 0 28px !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    box-sizing: border-box !important;
}

/* Medaglione */
#sp-main-body .article-details.servizi .article-full-image.item-image::before {
    content: "";

    position: absolute !important;
    left: 50%;
    top: 50%;

    width: 150px;
    height: 150px;

    transform: translate(-50%, -50%);

    border-radius: 50%;

    background: #f6f0e5;

    border: 1px solid rgba(184,154,98,.55);

    box-shadow:
        0 8px 24px rgba(52,42,29,.10),
        inset 0 0 0 5px rgba(255,255,255,.65);

    z-index: 0;
    pointer-events: none;
}

/* Immagine */
#sp-main-body .article-details.servizi .article-full-image.item-image img {
    position: relative !important;
    z-index: 1 !important;

    display: block !important;

    width: 140px !important;
    height: 140px !important;

    min-width: 140px !important;
    max-width: 140px !important;

    min-height: 140px !important;
    max-height: 140px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    object-fit: contain !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    opacity: 1 !important;

    transition:
        transform .3s ease,
        opacity .3s ease;
}

#sp-main-body .article-details.servizi .article-full-image.item-image:hover img {
    transform: scale(1.04);
}


/* ------------------------------------------------------------------------
   4. SOCIAL SHARE
   ------------------------------------------------------------------------ */

#sp-main-body .article-details.servizi .article-ratings-social-share {
    margin: 0 0 28px !important;
    padding: 14px 0 !important;
}


/* ------------------------------------------------------------------------
   5. FAQ — CONTENITORE
   ------------------------------------------------------------------------ */

#sp-main-body .article-details.servizi #faqAccordion {
    width: 100%;
    box-sizing: border-box;
}

#sp-main-body .article-details.servizi #faqAccordion .accordion-item {
    width: 100%;
    box-sizing: border-box;

    margin-bottom: 14px !important;

    border-radius: 14px !important;
    overflow: hidden;

    box-shadow: 0 6px 20px rgba(0,0,0,.045);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

#sp-main-body .article-details.servizi #faqAccordion .accordion-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 26px rgba(0,0,0,.07);
}


/* ------------------------------------------------------------------------
   6. FAQ — PULSANTE
   ------------------------------------------------------------------------ */

#sp-main-body .article-details.servizi #faqAccordion .accordion-button {
    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    min-height: 76px;

    padding: 11px 20px !important;

    box-sizing: border-box !important;

    color: #0F2238 !important;

    font-size: 1.08rem;
    font-weight: 600;
    line-height: 1.3;

    box-shadow: none !important;
}


/* ------------------------------------------------------------------------
   7. FAQ — ICONE
   Funziona sia con .faq-icon sia con le altre icone Font Awesome.
   ------------------------------------------------------------------------ */

#sp-main-body .article-details.servizi #faqAccordion .accordion-button > i,
#sp-main-body .article-details.servizi #faqAccordion .accordion-button .faq-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 50px !important;

    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;

    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;

    aspect-ratio: 1 / 1 !important;

    margin: 0 17px 0 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    border-radius: 50% !important;

    background: #F8F4ED !important;
    border: 1px solid rgba(184,154,98,.45) !important;

    color: #B89A62 !important;

    font-size: 20px !important;
    line-height: 1 !important;

    flex-shrink: 0 !important;
    transform: none !important;

    transition:
        background-color .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .25s ease !important;
}

#sp-main-body .article-details.servizi #faqAccordion .accordion-button > i::before,
#sp-main-body .article-details.servizi #faqAccordion .accordion-button .faq-icon::before {
    display: block !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    transform: none !important;
}

#sp-main-body .article-details.servizi #faqAccordion .accordion-button:hover > i,
#sp-main-body .article-details.servizi #faqAccordion .accordion-button:hover .faq-icon {
    color: #fff !important;
    background: #B89A62 !important;
    border-color: #B89A62 !important;
    transform: scale(1.04) !important;
}


/* ------------------------------------------------------------------------
   8. FAQ — TESTO E FRECCIA
   ------------------------------------------------------------------------ */

#sp-main-body .article-details.servizi #faqAccordion .accordion-button > span {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow-wrap: anywhere;
    line-height: 1.3 !important;
}

#sp-main-body .article-details.servizi #faqAccordion .accordion-button::after {
    flex: 0 0 18px !important;

    width: 18px !important;
    height: 18px !important;

    margin-left: 16px !important;

    background-size: 18px 18px !important;
}


/* ------------------------------------------------------------------------
   9. FAQ — CONTENUTO APERTO
   ------------------------------------------------------------------------ */

#sp-main-body .article-details.servizi #faqAccordion .accordion-body {
    padding: 27px 30px 30px !important;

    color: #555;
    font-size: 1rem;
    line-height: 1.75;

    box-sizing: border-box;
}

#sp-main-body .article-details.servizi #faqAccordion .accordion-body p {
    margin-bottom: 17px;
}

#sp-main-body .article-details.servizi #faqAccordion .accordion-body ul {
    margin: 16px 0;
    padding-left: 22px;
}

#sp-main-body .article-details.servizi #faqAccordion .accordion-body li {
    margin-bottom: 8px;
}

#sp-main-body .article-details.servizi #faqAccordion .accordion-body .alert {
    margin: 24px 0;
    padding: 18px !important;
    border-radius: 10px;
}


/* ------------------------------------------------------------------------
   10. SEZIONI BOOTSTRAP py-5
   ------------------------------------------------------------------------ */

#sp-main-body .article-details.servizi > [itemprop="articleBody"] > .py-5 {
    padding-top: clamp(24px,3vw,44px) !important;
    padding-bottom: clamp(24px,3vw,44px) !important;
}

#sp-main-body .article-details.servizi > [itemprop="articleBody"] > .py-5:first-child {
    padding-top: 10px !important;
}


/* ========================================================================
   11. TABLET
   ======================================================================== */

@media (max-width: 991.98px) {

    #sp-main-body {
        padding-top: 24px !important;
        padding-bottom: 42px !important;
    }

    #sp-main-body .article-details.servizi .article-full-image.item-image {
        height: 140px !important;
        margin-bottom: 24px !important;
    }

    #sp-main-body .article-details.servizi .article-full-image.item-image::before {
        width: 130px;
        height: 130px;
    }

    #sp-main-body .article-details.servizi .article-full-image.item-image img {
        width: 120px !important;
        height: 120px !important;

        min-width: 120px !important;
        max-width: 120px !important;

        min-height: 120px !important;
        max-height: 120px !important;
    }

    #sp-main-body .article-details.servizi #faqAccordion .accordion-button {
        min-height: 70px;
        padding: 10px 16px !important;
        font-size: 1.02rem;
    }

    #sp-main-body .article-details.servizi #faqAccordion .accordion-button > i,
    #sp-main-body .article-details.servizi #faqAccordion .accordion-button .faq-icon {
        flex-basis: 46px !important;

        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;

        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;

        margin-right: 14px !important;
        font-size: 18px !important;
    }

    #sp-main-body .article-details.servizi #faqAccordion .accordion-button::after {
        flex-basis: 17px !important;

        width: 17px !important;
        height: 17px !important;

        margin-left: 12px !important;

        background-size: 17px 17px !important;
    }

    #sp-main-body .article-details.servizi #faqAccordion .accordion-body {
        padding: 23px 24px 25px !important;
        font-size: .97rem;
        line-height: 1.7;
    }
}


/* ========================================================================
   12. MOBILE
   ======================================================================== */

@media (max-width: 767.98px) {

    #sp-main-body {
        padding-top: 18px !important;
        padding-bottom: 34px !important;
    }

    #sp-main-body .article-details.servizi .article-full-image.item-image {
        height: 120px !important;
        margin-bottom: 20px !important;
    }

    #sp-main-body .article-details.servizi .article-full-image.item-image::before {
        width: 112px;
        height: 112px;
    }

    #sp-main-body .article-details.servizi .article-full-image.item-image img {
        width: 104px !important;
        height: 104px !important;

        min-width: 104px !important;
        max-width: 104px !important;

        min-height: 104px !important;
        max-height: 104px !important;
    }

    #sp-main-body .article-details.servizi #faqAccordion .accordion-item {
        margin-bottom: 10px !important;
        border-radius: 11px !important;
    }

    #sp-main-body .article-details.servizi #faqAccordion .accordion-button {
        min-height: 64px;
        padding: 8px 12px !important;
        font-size: .97rem;
    }

    #sp-main-body .article-details.servizi #faqAccordion .accordion-button > i,
    #sp-main-body .article-details.servizi #faqAccordion .accordion-button .faq-icon {
        flex-basis: 42px !important;

        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;

        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;

        margin-right: 11px !important;
        font-size: 17px !important;
    }

    #sp-main-body .article-details.servizi #faqAccordion .accordion-button::after {
        flex-basis: 16px !important;

        width: 16px !important;
        height: 16px !important;

        margin-left: 9px !important;

        background-size: 16px 16px !important;
    }

    #sp-main-body .article-details.servizi #faqAccordion .accordion-body {
        padding: 19px 16px 21px !important;
        font-size: .94rem;
        line-height: 1.65;
    }

    #sp-main-body .article-details.servizi > [itemprop="articleBody"] > .py-5 {
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }
}


/* ========================================================================
   13. SMARTPHONE PICCOLO
   ======================================================================== */

@media (max-width: 575.98px) {

    #sp-main-body {
        padding-top: 14px !important;
        padding-bottom: 28px !important;
    }

    #sp-main-body .article-details.servizi .article-full-image.item-image {
        height: 108px !important;
    }

    #sp-main-body .article-details.servizi .article-full-image.item-image::before {
        width: 100px;
        height: 100px;
    }

    #sp-main-body .article-details.servizi .article-full-image.item-image img {
        width: 92px !important;
        height: 92px !important;

        min-width: 92px !important;
        max-width: 92px !important;

        min-height: 92px !important;
        max-height: 92px !important;
    }

    #sp-main-body .article-details.servizi #faqAccordion .accordion-button {
        min-height: 58px;
        padding: 7px 10px !important;
        font-size: .93rem;
    }

    #sp-main-body .article-details.servizi #faqAccordion .accordion-button > i,
    #sp-main-body .article-details.servizi #faqAccordion .accordion-button .faq-icon {
        flex-basis: 40px !important;

        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;

        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;

        margin-right: 9px !important;
        font-size: 16px !important;
    }

    #sp-main-body .article-details.servizi #faqAccordion .accordion-button::after {
        flex-basis: 15px !important;

        width: 15px !important;
        height: 15px !important;

        margin-left: 8px !important;

        background-size: 15px 15px !important;
    }

    #sp-main-body .article-details.servizi #faqAccordion .accordion-body {
        padding: 17px 13px 19px !important;
        font-size: .91rem;
        line-height: 1.62;
    }

    #sp-main-body .article-details.servizi > [itemprop="articleBody"] > .py-5 {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }
}


/* ========================================================================
   14. ACCESSIBILITÀ
   ======================================================================== */

@media (prefers-reduced-motion: reduce) {

    #sp-main-body .article-details.servizi #faqAccordion .accordion-item,
    #sp-main-body .article-details.servizi #faqAccordion .accordion-button > i,
    #sp-main-body .article-details.servizi #faqAccordion .accordion-button .faq-icon,
    #sp-main-body .article-details.servizi .article-full-image.item-image img {
        transition: none !important;
    }
}
/* =========================================================
   MAMMARELLA — STORIA
   TIMELINE ELEGANTE / RESPONSIVE
   ========================================================= */

.mammarella-history{
  --blue:#0f2238;
  --gold:#b89a62;
  --gold-soft:#efe3cf;
  --cream:#faf8f4;
  --text:#5b5b5b;
  --line:#ddd4c5;

  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:46px 30px;
  box-sizing:border-box;
}


/* =========================================================
   INTRO
   ========================================================= */

.history-intro{
  max-width:760px;
  margin:0 auto clamp(58px,8vw,92px);
  text-align:center;
}

.history-eyebrow{
  display:inline-block;
  margin-bottom:14px;
  color:var(--gold);
  font-family:"Inter",sans-serif;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.history-intro h1{
  margin:0;
  color:var(--blue);
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(42px,5.4vw,70px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.025em;
}

.history-intro h1::after{
  content:"";
  display:block;
  width:62px;
  height:2px;
  margin:22px auto 0;
  background:var(--gold);
}

.history-intro p{
  max-width:650px;
  margin:24px auto 0;
  color:#666;
  font-size:1.02rem;
  line-height:1.78;
}


/* =========================================================
   TIMELINE
   ========================================================= */

.history-timeline{
  position:relative;
}


/* LINEA CENTRALE */

.history-timeline::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;

  background:linear-gradient(
    to bottom,
    transparent,
    var(--line) 5%,
    var(--line) 95%,
    transparent
  );

  transform:translateX(-50%);
}


/* =========================================================
   EVENTO
   ========================================================= */

.history-event{
  position:relative;

  display:grid;

  /*
   * Colonna centrale più ampia.
   * Serve a separare nettamente card,
   * anno e marker.
   */
  grid-template-columns:
    minmax(0,1fr)
    140px
    minmax(0,1fr);

  align-items:center;

  min-height:270px;
  margin-bottom:18px;
}


/* =========================================================
   CARD SINISTRA
   ========================================================= */

.history-event:nth-child(odd) .history-card{
  grid-column:1;
  grid-row:1;

  justify-self:end;
  text-align:right;

  width:min(100%,440px);
}


/* =========================================================
   CARD DESTRA
   ========================================================= */

.history-event:nth-child(even) .history-card{
  grid-column:3;
  grid-row:1;

  justify-self:start;
  text-align:left;

  width:min(100%,440px);
}


/* =========================================================
   ANNO
   ========================================================= */

/*
 * L'anno è indipendente dal marker.
 *
 * Il marker rimane esattamente al centro della linea.
 * L'anno viene invece portato sopra il marker.
 *
 * Questo evita che:
 *
 * "Nel corso"
 * "degli anni"
 *
 * finisca sotto il cerchio "02".
 */

.history-year{
  position:relative;
  z-index:12;

  grid-column:2;
  grid-row:1;

  width:140px;
  min-height:60px;

  justify-self:center;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  padding:4px 6px;

  box-sizing:border-box;

  color:var(--gold);

  font-family:"Cormorant Garamond",serif;
  font-size:1.08rem;
  font-weight:600;
  line-height:1.05;

  text-align:center;

  /*
   * Fondo bianco per interrompere
   * visivamente la linea dietro il testo.
   */
  background:transparent;

  /*
   * Posizionamento sopra il marker.
   */
  transform:translateY(-62px);

  overflow:visible;
}


/* testo principale dell'anno */

.history-year span{
  display:block;

  max-width:130px;

  line-height:1.05;
}


/* eventuale sotto-titolo */

.history-year small{
  display:block;

  margin-top:5px;

  color:#8e806b;

  font-family:"Inter",sans-serif;
  font-size:.6rem;
  font-weight:600;
  letter-spacing:.08em;
  line-height:1.2;

  text-transform:uppercase;
}


/* =========================================================
   MARKER CENTRALE
   ========================================================= */

.history-marker{
  position:absolute;
  z-index:10;

  top:50%;
  left:50%;

  width:48px;
  height:48px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:1px solid rgba(184,154,98,.62);
  border-radius:50%;

  background:#fff;

  box-shadow:
    0 0 0 7px rgba(255,255,255,.94),
    0 5px 16px rgba(51,42,29,.07);

  transform:translate(-50%,-50%);
}

.history-marker span{
  color:var(--gold);

  font-family:"Inter",sans-serif;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.04em;
}


/* =========================================================
   CARD
   ========================================================= */

.history-card{
  width:100%;

  padding:30px 32px;

  border:1px solid #eee7dc;
  border-radius:14px;

  background:#fff;

  box-shadow:0 8px 28px rgba(37,31,24,.045);

  box-sizing:border-box;

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;
}

.history-card:hover{
  transform:translateY(-3px);

  border-color:#e4d7c3;

  box-shadow:0 14px 34px rgba(37,31,24,.075);
}


/* =========================================================
   IMMAGINE CARD
   ========================================================= */

.history-card-top{
  display:flex;
  align-items:center;

  margin-bottom:9px;
}

.history-event:nth-child(odd) .history-card-top{
  justify-content:flex-end;
}

.history-event:nth-child(even) .history-card-top{
  justify-content:flex-start;
}

.history-card-top img{
  width:92px;
  height:70px;

  object-fit:contain;

  opacity:.95;
}


/* =========================================================
   ETICHETTA CARD
   ========================================================= */

.history-card-label{
  display:block;

  margin-bottom:9px;

  color:var(--gold);

  font-family:"Inter",sans-serif;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.3;

  text-transform:uppercase;
}


/* =========================================================
   TITOLI CARD
   ========================================================= */

.history-card h2{
  margin:0 0 11px;

  color:var(--blue);

  font-family:"Cormorant Garamond",serif;
  font-size:clamp(29px,3vw,38px);
  font-weight:500;
  line-height:1.04;
}


/* =========================================================
   TESTO CARD
   ========================================================= */

.history-card p{
  margin:0;

  color:var(--text);

  font-size:.95rem;
  line-height:1.72;
}


/* =========================================================
   DETTAGLIO CARD
   ========================================================= */

.history-card-detail{
  display:flex;
  flex-direction:column;
  gap:3px;

  margin-top:17px;
  padding-top:14px;

  border-top:1px solid #eee8de;
}

.history-card-detail strong{
  color:var(--blue);
  font-size:.75rem;
}

.history-card-detail span{
  color:#8b8071;
  font-size:.73rem;
}


/* =========================================================
   ANNIVERSARIO
   ========================================================= */

.history-card--anniversary{
  border-color:#e3d4bb;

  background:
    linear-gradient(
      135deg,
      #fff 0%,
      #fffdf9 68%,
      #faf4e9 100%
    );
}


/* =========================================================
   PRESENTE / OGGI
   ========================================================= */

.history-card--today{
  background:var(--blue);
  border-color:var(--blue);
}

.history-card--today h2{
  color:#fff;
}

.history-card--today p{
  color:rgba(255,255,255,.76);
}

.history-card--today .history-card-label{
  color:#d2b47d;
}

.history-card--today .history-card-top img{
  filter:brightness(1.08);
}


/* =========================================================
   SERVIZI
   ========================================================= */

.history-services{
  display:flex;
  flex-wrap:wrap;
  gap:7px;

  margin-top:20px;
  padding-top:16px;

  border-top:1px solid rgba(255,255,255,.14);
}

.history-services span{
  padding:6px 9px;

  border:1px solid rgba(208,178,124,.38);
  border-radius:999px;

  color:#dec59a;

  font-size:.64rem;
  font-weight:600;
}


/* =========================================================
   CHIUSURA
   ========================================================= */

.history-closing{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;

  margin-top:clamp(52px,7vw,84px);

  text-align:center;
}

.history-closing-line{
  flex:0 1 90px;

  height:1px;

  background:#dfd5c5;
}

.history-closing p{
  margin:0;

  color:#756d63;

  font-family:"Cormorant Garamond",serif;
  font-size:1.17rem;
  line-height:1.4;
}

.history-closing strong{
  color:var(--gold);
}


/* =========================================================
   FONTI
   ========================================================= */

.history-sources{
  max-width:760px;

  margin:42px auto 0;
  padding-top:15px;

  border-top:1px solid #eee7dc;

  color:#777;
  font-size:.78rem;
}

.history-sources summary{
  cursor:pointer;

  color:#806f56;

  font-weight:600;
}

.history-sources p{
  line-height:1.6;
}

.history-sources ul{
  padding-left:20px;
  line-height:1.8;
}

.history-sources a{
  color:#8c6d43;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width:991.98px){

  .mammarella-history{
    padding:54px 22px 70px;
  }


  /*
   * Da tablet in poi la timeline diventa laterale.
   */
  .history-event{
    grid-template-columns:82px minmax(0,1fr);

    min-height:0;

    margin-bottom:18px;
  }


  /* linea laterale */

  .history-timeline::before{
    left:41px;

    transform:none;
  }


  /*
   * L'anno torna nella colonna laterale.
   * Non viene più portato sopra il marker.
   */

  .history-year{
    grid-column:1;
    grid-row:1;

    align-self:start;

    width:82px;
    min-height:70px;

    justify-content:flex-start;

    padding-top:7px;

    font-size:.9rem;

    transform:none;

    background:#fff;
  }

  .history-year span{
    max-width:76px;
  }


  /* CARD */

  .history-card,
  .history-event:nth-child(odd) .history-card,
  .history-event:nth-child(even) .history-card{

    grid-column:2;
    grid-row:1;

    width:100%;
    max-width:none;

    justify-self:stretch;

    text-align:left;

    padding:26px 27px;
  }


  /* immagini */

  .history-event:nth-child(odd) .history-card-top,
  .history-event:nth-child(even) .history-card-top{
    justify-content:flex-start;
  }


  /* marker */

  .history-marker{
    top:35px;
    left:41px;

    width:42px;
    height:42px;
  }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:767.98px){

  .mammarella-history{
    padding:40px 15px 54px;
  }


  /* INTRO */

  .history-intro{
    margin-bottom:48px;
  }

  .history-eyebrow{
    font-size:.64rem;
    letter-spacing:.18em;
  }

  .history-intro h1{
    font-size:clamp(38px,11vw,52px);
  }

  .history-intro p{
    font-size:.92rem;
    line-height:1.68;
  }


  /* TIMELINE */

  .history-event{
    grid-template-columns:46px minmax(0,1fr);

    margin-bottom:14px;
  }

  .history-timeline::before{
    left:23px;
  }


  /* ANNO */

  .history-year{
    width:46px;
    min-height:54px;

    padding-top:3px;

    font-size:.74rem;

    transform:none;
  }

  .history-year span{
    max-width:42px;
  }

  .history-year small{
    font-size:.5rem;
  }


  /* MARKER */

  .history-marker{
    top:27px;
    left:23px;

    width:34px;
    height:34px;

    box-shadow:
      0 0 0 5px rgba(255,255,255,.94),
      0 4px 12px rgba(51,42,29,.06);
  }


  /* CARD */

  .history-card,
  .history-event:nth-child(odd) .history-card,
  .history-event:nth-child(even) .history-card{

    padding:20px 18px;

    border-radius:11px;
  }

  .history-card-top img{
    width:78px;
    height:58px;
  }

  .history-card h2{
    font-size:28px;
  }

  .history-card p{
    font-size:.89rem;
    line-height:1.66;
  }


  /* CHIUSURA */

  .history-closing{
    gap:12px;

    margin-top:50px;
  }

  .history-closing-line{
    flex-basis:34px;
  }

  .history-closing p{
    font-size:1.02rem;
  }
}


/* =========================================================
   ACCESSIBILITÀ
   ========================================================= */

@media (prefers-reduced-motion:reduce){

  .history-card{
    transition:none;
  }
}

/* =========================================================
   ACCESSIBILITÀ
   ========================================================= */

@media (prefers-reduced-motion:reduce){

  .history-card{
    transition:none;
  }
}


/* =========================================================
   ACCESSIBILITÀ
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .history-card {
    transition: none;
  }
}
/* =========================================================
   CARD SERVIZI — SISTEMA UNIFICATO
   Funziona per:
   .blog-featuredhome
   .blogservizi
   ========================================================= */


/* =========================================================
   ROW
   ========================================================= */

.blog-featuredhome .article-list > .row,
.blogservizi > .row,
.blogservizi .article-list > .row {

    --bs-gutter-x: 28px;
    --bs-gutter-y: 30px;

    row-gap: 30px !important;

    margin-bottom: 0 !important;
}


/* =========================================================
   COLONNE
   ========================================================= */

.blog-featuredhome .article-list > .row > [class*="col-"],
.blogservizi > .row > [class*="col-"],
.blogservizi .article-list > .row > [class*="col-"] {

    display: flex !important;

    flex-direction: column;

    margin-bottom: 0 !important;

    box-sizing: border-box;
}


/* =========================================================
   CARD
   ========================================================= */

.blog-featuredhome .article-list .article,
.blogservizi .article {

    width: 100% !important;

    height: 100% !important;

    box-sizing: border-box !important;

    margin: 0 !important;
}


/* =========================================================
   CONTENUTO DELLA CARD
   Mantiene pulsante e contenuto ordinati
   ========================================================= */

.blog-featuredhome .article-list .article .item-content,
.blog-featuredhome .article-list .article .articleBody,
.blogservizi .article .article-body,
.blogservizi .article .item-content {

    display: flex;

    flex-direction: column;

    flex: 1 1 auto;

    width: 100%;

    box-sizing: border-box;
}


/* =========================================================
   PULSANTE SEMPRE IN FONDO
   ========================================================= */

.blog-featuredhome .article-list .article .readmore,
.blogservizi .article .readmore {

    margin-top: auto !important;

    padding-top: 24px;

}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 992px) {

    .blog-featuredhome .article-list > .row,
    .blogservizi > .row,
    .blogservizi .article-list > .row {

        --bs-gutter-x: 28px;
        --bs-gutter-y: 30px;

        row-gap: 30px !important;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .blog-featuredhome .article-list > .row,
    .blogservizi > .row,
    .blogservizi .article-list > .row {

        --bs-gutter-x: 22px;
        --bs-gutter-y: 22px;

        row-gap: 22px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .blog-featuredhome .article-list > .row,
    .blogservizi > .row,
    .blogservizi .article-list > .row {

        --bs-gutter-x: 16px;
        --bs-gutter-y: 16px;

        row-gap: 16px !important;
    }
}


/* =========================================================
   SMARTPHONE PICCOLO
   ========================================================= */

@media (max-width: 575.98px) {

    .blog-featuredhome .article-list > .row,
    .blogservizi > .row,
    .blogservizi .article-list > .row {

        --bs-gutter-x: 12px;
        --bs-gutter-y: 14px;

        row-gap: 14px !important;
    }
}
/* =========================================================
   ICONA CARD SERVIZI — MEDAGLIONE
   Coerente con la HOME
   ========================================================= */

.blogservizi .article-intro-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 22px 15px 28px !important;

    text-align: center !important;

    box-sizing: border-box !important;
}


/* ---------------------------------------------------------
   LINK DELL'ICONA
   --------------------------------------------------------- */

.blogservizi .article-intro-image > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 150px !important;
    height: 150px !important;

    margin: 0 auto !important;

    background: #fcfaf7 !important;

    border: 1px solid #efe6d8 !important;

    border-radius: 50% !important;

    box-shadow:
        0 5px 16px rgba(0,0,0,.035),
        inset 0 0 0 4px rgba(255,255,255,.5);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}


/* ---------------------------------------------------------
   IMMAGINE
   --------------------------------------------------------- */

.blogservizi .article-intro-image img {
    display: block !important;

    width: 105px !important;
    height: 105px !important;

    max-width: 105px !important;
    max-height: 105px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    opacity: 1 !important;

    transition: transform .35s ease;
}


/* ---------------------------------------------------------
   HOVER
   --------------------------------------------------------- */

.blogservizi .article:hover .article-intro-image > a {
    transform: translateY(-2px);

    border-color: #d9c8aa;

    box-shadow:
        0 10px 24px rgba(0,0,0,.07),
        inset 0 0 0 4px rgba(255,255,255,.65);
}

.blogservizi .article:hover .article-intro-image img {
    transform: scale(1.06);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .blogservizi .article-intro-image {
        padding: 20px 12px 24px !important;
    }

    .blogservizi .article-intro-image > a {
        width: 132px !important;
        height: 132px !important;
    }

    .blogservizi .article-intro-image img {
        width: 92px !important;
        height: 92px !important;

        max-width: 92px !important;
        max-height: 92px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .blogservizi .article-intro-image {
        padding: 18px 10px 22px !important;
    }

    .blogservizi .article-intro-image > a {
        width: 118px !important;
        height: 118px !important;
    }

    .blogservizi .article-intro-image img {
        width: 82px !important;
        height: 82px !important;

        max-width: 82px !important;
        max-height: 82px !important;
    }
}


/* =========================================================
   SMARTPHONE PICCOLO
   ========================================================= */

@media (max-width: 575.98px) {

    .blogservizi .article-intro-image {
        padding: 16px 8px 20px !important;
    }

    .blogservizi .article-intro-image > a {
        width: 106px !important;
        height: 106px !important;
    }

    .blogservizi .article-intro-image img {
        width: 74px !important;
        height: 74px !important;

        max-width: 74px !important;
        max-height: 74px !important;
    }
}

/* =========================================================
   SOCIAL SHARE + PAGINAZIONE
   BLOCCO FINALE CONSOLIDATO
   ========================================================= */

/* ---------------------------------------------------------
   ARTICOLI INTERNI — ESCLUSO NECROLOGIE
   --------------------------------------------------------- */

#sp-main-body .article-details:not(.necrologie) {
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

#sp-main-body .article-details:not(.necrologie) > .article-full-image {
    order: 1 !important;
}

#sp-main-body .article-details:not(.necrologie) > .article-header {
    order: 2 !important;
}

#sp-main-body .article-details:not(.necrologie) > .article-can-edit {
    order: 3 !important;
}

#sp-main-body .article-details:not(.necrologie) > [itemprop="articleBody"] {
    order: 4 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* =========================================================
   SOCIAL SHARE — POSIZIONAMENTO FINALE ARTICOLI SERVIZI
   ========================================================= */

#sp-main-body .article-details.servizi {
    display: flex !important;
    flex-direction: column !important;
}

/* Ordine degli elementi */
#sp-main-body .article-details.servizi > .article-full-image {
    order: 1 !important;
}

#sp-main-body .article-details.servizi > .article-header {
    order: 2 !important;
}

#sp-main-body .article-details.servizi > .article-can-edit {
    order: 3 !important;
}

#sp-main-body .article-details.servizi > [itemprop="articleBody"] {
    order: 4 !important;
}

#sp-main-body .article-details.servizi > .article-ratings-social-share {
    order: 5 !important;
}

#sp-main-body .article-details.servizi > .pagenavigation {
    order: 6 !important;
}

/* ---------------------------------------------------------
   SOCIAL — PULSANTI
   --------------------------------------------------------- */

#sp-main-body .article-details:not(.necrologie)
.social-share-icon ul {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    gap: 8px !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

#sp-main-body .article-details:not(.necrologie)
.social-share-icon li {
    margin: 0 !important;
    padding: 0 !important;
}

#sp-main-body .article-details:not(.necrologie)
.social-share-icon a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 38px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    border: 1px solid #e5dccd !important;
    border-radius: 50% !important;

    background: #faf8f4 !important;
    color: #9a7a45 !important;

    text-decoration: none !important;

    transition:
        background-color .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .25s ease,
        box-shadow .25s ease !important;
}

#sp-main-body .article-details:not(.necrologie)
.social-share-icon a span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-size: 15px !important;
    line-height: 1 !important;
}

#sp-main-body .article-details:not(.necrologie)
.social-share-icon a svg {
    width: 14px !important;
    height: 14px !important;
    position: static !important;
}

#sp-main-body .article-details:not(.necrologie)
.social-share-icon a:hover {
    background: #b89a62 !important;
    border-color: #b89a62 !important;
    color: #fff !important;

    transform: translateY(-2px) !important;

    box-shadow: 0 6px 14px rgba(184,154,98,.18) !important;
}


/* ---------------------------------------------------------
   PAGINAZIONE — NESSUN DOPPIO SPAZIO
   --------------------------------------------------------- */

#sp-main-body .article-details:not(.necrologie)
> .pagenavigation {
    order: 6 !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 24px 0 0 !important;

    border-top: 0 !important;

    box-sizing: border-box !important;
}

#sp-main-body .article-details:not(.necrologie)
> .pagenavigation .pagination {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

#sp-main-body .article-details:not(.necrologie)
> .pagenavigation .btn {
    border: 0 !important;
    border-radius: 30px !important;

    padding: 10px 18px !important;

    background: #8c6d43 !important;
    color: #fff !important;

    font-weight: 500 !important;

    transition:
        background-color .25s ease,
        transform .25s ease !important;
}

#sp-main-body .article-details:not(.necrologie)
> .pagenavigation .btn:hover {
    background: #caa15a !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}


/* ---------------------------------------------------------
   NECROLOGIE — COMPLETAMENTE SEPARATA
   --------------------------------------------------------- */

#sp-main-body .article-details.necrologie {
    display: block !important;
}

/*#sp-main-body .article-details.necrologie
> .article-ratings-social-share {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    width: 100% !important;

    margin: 0 0 10px !important;
    padding: 18px 40px !important;

    box-sizing: border-box !important;

    border-top: 1px solid #f0ece5 !important;
    border-bottom: 1px solid #f0ece5 !important;
}

#sp-main-body .article-details.necrologie
.social-share-icon ul {
    display: flex !important;
    align-items: center !important;

    gap: 10px !important;

    list-style: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

#sp-main-body .article-details.necrologie
.social-share-icon a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 50% !important;

    background: #faf7f2 !important;
    color: #b89a62 !important;

    text-decoration: none !important;

    box-sizing: border-box !important;

    transition:
        background-color .25s ease,
        color .25s ease,
        transform .25s ease,
        box-shadow .25s ease !important;
}

#sp-main-body .article-details.necrologie
.social-share-icon a:hover {
    background: #b89a62 !important;
    color: #fff !important;

    transform: translateY(-2px) !important;

    box-shadow: 0 6px 14px rgba(184,154,98,.18) !important;
}

#sp-main-body .article-details.necrologie
.social-share-icon a svg {
    width: 14px !important;
    height: 14px !important;
    position: static !important;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 991.98px) {

    #sp-main-body .article-details:not(.necrologie)
    > .article-ratings-social-share {
        margin-top: 26px !important;
        padding-top: 16px !important;
    }

    #sp-main-body .article-details:not(.necrologie)
    .social-share-icon ul {
        gap: 7px !important;
    }

    #sp-main-body .article-details:not(.necrologie)
    .social-share-icon a {
        width: 36px !important;
        height: 36px !important;
    }

    #sp-main-body .article-details:not(.necrologie)
    > .pagenavigation {
        padding-top: 20px !important;
    }

    #sp-main-body .article-details.necrologie
    > .article-ratings-social-share {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}


@media (max-width: 767.98px) {

    #sp-main-body .article-details:not(.necrologie)
    > .article-ratings-social-share {
        margin-top: 22px !important;
        padding-top: 14px !important;
        justify-content: center !important;
    }

    #sp-main-body .article-details:not(.necrologie)
    .social-share-icon ul {
        justify-content: center !important;
        gap: 7px !important;
    }

    #sp-main-body .article-details:not(.necrologie)
    .social-share-icon a {
        width: 35px !important;
        height: 35px !important;
    }

    #sp-main-body .article-details:not(.necrologie)
    .social-share-icon a span {
        font-size: 14px !important;
    }

    #sp-main-body .article-details:not(.necrologie)
    > .pagenavigation {
        padding-top: 18px !important;
    }

    #sp-main-body .article-details.necrologie
    > .article-ratings-social-share {
        justify-content: center !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}


@media (max-width: 480px) {

    #sp-main-body .article-details:not(.necrologie)
    > .article-ratings-social-share {
        margin-top: 20px !important;
        padding-top: 12px !important;
    }

    #sp-main-body .article-details:not(.necrologie)
    .social-share-icon a {
        width: 33px !important;
        height: 33px !important;
    }

    #sp-main-body .article-details:not(.necrologie)
    > .pagenavigation {
        padding-top: 16px !important;
    }

    #sp-main-body .article-details.necrologie
    .social-share-icon a {
        width: 38px !important;
        height: 38px !important;
    }
}
/* =========================================================
   BREADCRUMB MINIMAL - MAMMARELLA
   Sfondo bianco / nessuna card
   ========================================================= */

.mod-breadcrumbs__wrapper {
    width: 100%;
    max-width: 1410px;

    margin: 0 auto;

    padding: 18px 0 8px;
}


/* Contenitore */

.mod-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    margin: 0;
    padding: 0 !important;

    list-style: none;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}


/* "Sei qui:" */

.mod-breadcrumbs__here {
    margin-right: 6px;

    color: #9a9287;

    font-size: 14px;
    font-weight: 400;

    letter-spacing: .1px;
}


/* Elementi */

.mod-breadcrumbs__item {
    display: flex;
    align-items: center;

    color: #8c867d;

    font-size: 14px;

    line-height: 1.5;
}


/* Link */

.mod-breadcrumbs__item a {
    color: #10213a;

    text-decoration: none;

    font-weight: 500;

    transition: color .25s ease;
}


/* Hover */

.mod-breadcrumbs__item a:hover {
    color: #b99555;
}


/* Separatore */

.mod-breadcrumbs__item + .mod-breadcrumbs__item::before {
    content: "›";

    margin: 0 10px;

    color: #c8a96a;

    font-size: 17px;
    font-weight: 300;

    line-height: 1;
}


/* Pagina corrente */

.mod-breadcrumbs__item.active {
    color: #8c867d;

    font-weight: 400;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .mod-breadcrumbs__wrapper {
        padding: 14px 15px 6px;
    }

    .mod-breadcrumbs__here,
    .mod-breadcrumbs__item {
        font-size: 12px;
    }

    .mod-breadcrumbs__item + .mod-breadcrumbs__item::before {
        margin: 0 7px;
        font-size: 15px;
    }
}


/* =========================================================
   SMARTPHONE MOLTO PICCOLI
   ========================================================= */

@media (max-width: 480px) {

    .mod-breadcrumbs__wrapper {
        padding-left: 10px;
        padding-right: 10px;
    }

    /* Nasconde "Sei qui:" per una visualizzazione più pulita */
    .mod-breadcrumbs__here {
        display: none;
    }

}
/*ANIMAZIONI*/
.hero-image.animate__animated {
    --animate-duration: 1.4s;
}
/* =========================================================
   ANIMAZIONI ALLO SCROLL — MAMMARELLA
   ========================================================= */

.scroll-animate {
    opacity: 0;
}

.scroll-animate.animate__animated {
    opacity: 1;
}


/* Accessibilità */
@media (prefers-reduced-motion: reduce) {

    .scroll-animate {
        opacity: 1 !important;
    }

    .scroll-animate.animate__animated {
        animation: none !important;
    }

}
/* =========================================================
   MAMMARELLA — TOPBAR
   Reveal iniziale lento e armonico
   ========================================================= */

#sp-top-bar .sp-column {
    opacity: 0;
    animation-duration: 1.35s;
    animation-fill-mode: both;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Contatti: entrano da sinistra */
#sp-top1 .sp-column {
    animation-name: mammarella-top-left;
    animation-delay: 0.20s;
}

/* Social: entrano da destra */
#sp-top2 .sp-column {
    animation-name: mammarella-top-right;
    animation-delay: 0.35s;
}


/* ---------------------------------------------------------
   KEYFRAME
   --------------------------------------------------------- */

@keyframes mammarella-top-left {
    from {
        opacity: 0;
        transform: translate3d(-28px, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes mammarella-top-right {
    from {
        opacity: 0;
        transform: translate3d(28px, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}


/* ---------------------------------------------------------
   SOCIAL — MICRO INTERAZIONE
   --------------------------------------------------------- */

@media (hover: hover) and (pointer: fine) {

    #sp-top-bar .social-icons a {
        transition:
            transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
            opacity 0.3s ease;
    }

    #sp-top-bar .social-icons a:hover {
        transform: translateY(-2px);
    }
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

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

    #sp-top-bar .sp-column {
        animation-duration: 1.20s;
    }

    #sp-top1 .sp-column {
        animation-delay: 0.15s;
    }

    #sp-top2 .sp-column {
        animation-delay: 0.28s;
    }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    #sp-top-bar .sp-column {
        animation-duration: 1.05s;
    }

    #sp-top1 .sp-column {
        animation-delay: 0.10s;
    }

    #sp-top2 .sp-column {
        animation-delay: 0.20s;
    }

    @keyframes mammarella-top-left {
        from {
            opacity: 0;
            transform: translate3d(-12px, 0, 0);
        }

        to {
            opacity: 1;
            transform: translate3d(0, 0, 0);
        }
    }

    @keyframes mammarella-top-right {
        from {
            opacity: 0;
            transform: translate3d(12px, 0, 0);
        }

        to {
            opacity: 1;
            transform: translate3d(0, 0, 0);
        }
    }

}


/* ---------------------------------------------------------
   ACCESSIBILITÀ
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    #sp-top-bar .sp-column {
        opacity: 1;
        animation: none;
        transform: none;
    }

}
/* =========================================================
   MAMMARELLA — RICERCA GLOBALE JOOMLA FINDER
   Funziona ovunque sia presente il modulo Finder
   ========================================================= */

/* ---------------------------------------------------------
   CONTENITORE
   --------------------------------------------------------- */

.mod-finder__search.input-group {
    display: flex !important;
    align-items: stretch !important;
    gap: 16px !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   AWESOMPLETE
   --------------------------------------------------------- */

.mod-finder__search.input-group .awesomplete {
    flex: 1 1 auto !important;

    width: auto !important;
    max-width: none !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   CAMPO DI RICERCA
   --------------------------------------------------------- */

.mod-finder__search.input-group
.awesomplete > input,
.mod-finder__search.input-group
input.form-control {

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 56px !important;

    margin: 0 !important;

    box-sizing: border-box !important;

    padding: 0 20px !important;

    border: 1px solid #E6E2DB !important;
    border-radius: 9px !important;

    background: #fff !important;

    font-size: 16px !important;
    line-height: 1.2 !important;

    box-shadow: none !important;

    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        background-color .3s ease !important;
}


/* Focus */

.mod-finder__search.input-group
.awesomplete > input:focus,
.mod-finder__search.input-group
input.form-control:focus {

    border-color: #b89a62 !important;

    box-shadow:
        0 0 0 3px rgba(184,154,98,.10) !important;

    outline: none !important;
}


/* ---------------------------------------------------------
   PULSANTE
   --------------------------------------------------------- */

.mod-finder__search.input-group
> .btn {

    flex: 0 0 170px !important;

    width: 170px !important;
    max-width: 170px !important;

    min-width: 0 !important;

    height: 56px !important;
    min-height: 56px !important;

    margin: 0 !important;

    box-sizing: border-box !important;

    border-radius: 9px !important;

    background: #b89a62 !important;
    border-color: #b89a62 !important;

    color: #fff !important;

    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;

    transition:
        background-color .3s ease,
        border-color .3s ease,
        transform .3s ease,
        box-shadow .3s ease !important;
}


/* Hover */

@media (hover: hover) and (pointer: fine) {

    .mod-finder__search.input-group
    > .btn:hover {

        background: #111 !important;
        border-color: #111 !important;

        transform: translateY(-2px);

        box-shadow:
            0 7px 18px rgba(0,0,0,.10) !important;
    }

}


/* ---------------------------------------------------------
   ICONA
   --------------------------------------------------------- */

.mod-finder__search.input-group
> .btn .icon-search {

    margin-right: 8px !important;
}


/* ---------------------------------------------------------
   AWESOMPLETE — SUGGERIMENTI
   --------------------------------------------------------- */

.mod-finder__search
.awesomplete > ul {

    width: 100% !important;
    max-width: 100% !important;

    box-sizing: border-box !important;

    left: 0 !important;
    right: auto !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    .mod-finder__search.input-group {

        display: flex !important;

        flex-direction: column !important;

        align-items: stretch !important;

        gap: 12px !important;
    }


    /* Wrapper input */

    .mod-finder__search.input-group
    .awesomplete {

        flex: 0 0 auto !important;

        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;
    }


    /* Input */

    .mod-finder__search.input-group
    .awesomplete > input,
    .mod-finder__search.input-group
    input.form-control {

        width: 100% !important;
        max-width: 100% !important;

        height: 56px !important;

        min-height: 56px !important;
    }


    /* Pulsante */

    .mod-finder__search.input-group
    > .btn {

        flex: 0 0 auto !important;

        width: 100% !important;
        max-width: 100% !important;

        height: 56px !important;
        min-height: 56px !important;

        margin: 0 !important;
    }

}


/* =========================================================
   SMARTPHONE PICCOLI
   ========================================================= */

@media (max-width: 480px) {

    .mod-finder__search.input-group {
        gap: 10px !important;
    }


    .mod-finder__search.input-group
    .awesomplete > input,
    .mod-finder__search.input-group
    input.form-control,
    .mod-finder__search.input-group
    > .btn {

        height: 54px !important;
        min-height: 54px !important;
    }


    .mod-finder__search.input-group
    .awesomplete > input,
    .mod-finder__search.input-group
    input.form-control {

        padding-left: 16px !important;
        padding-right: 16px !important;

        font-size: 15px !important;
    }

}


/* =========================================================
   ACCESSIBILITÀ
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .mod-finder__search.input-group
    .awesomplete > input,
    .mod-finder__search.input-group
    > .btn {

        transition: none !important;
    }

}