/*
Theme Name:   Angelo Melone Theme
Theme URI:    https://fluidhub.it
Description:  Child theme di Hello per Angelo Melone
Author:       Angelo Melone
Author URI:   https://fluidhub.it
Template:     hello-elementor
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  angelo-melone-theme
*/

* {
    font-display: swap;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

p {
    margin-top: 0;
}

/* Crocino */
.columns-crocino .e-con::after {
    content: "";
    display: block;
    width: 31px;
    height: 31px;
    background-image: url("data:image/svg+xml,%3Csvg width='31' height='31' viewBox='0 0 31 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='31' height='31' fill='white'/%3E%3Cline x1='15.5' y1='3' x2='15.5' y2='28' stroke='%231200AD' stroke-width='0.5'/%3E%3Cline x1='3' y1='15.5' x2='28' y2='15.5' stroke='%231200AD' stroke-width='0.5'/%3E%3C/svg%3E%0A");
    position: absolute;
    left: -15.5px;
    bottom: -15.5px;
}

.columns-crocino .e-con::before {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='25' cy='25' r='25' fill='%231200AD'/%3E%3C/svg%3E%0A");
    position: absolute;
    top: 60px;
    left: -25px;
    background-repeat: no-repeat;
    border: none;
}

.columns-crocino.uno .e-con-inner {
    position: relative;
}

.columns-crocino.uno .e-con::after {
    content: "";
    display: block;
    width: 31px;
    height: 31px;
    background-image: url("data:image/svg+xml,%3Csvg width='31' height='31' viewBox='0 0 31 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='31' height='31' fill='white'/%3E%3Cline x1='15.5' y1='3' x2='15.5' y2='28' stroke='%231200AD' stroke-width='0.5'/%3E%3Cline x1='3' y1='15.5' x2='28' y2='15.5' stroke='%231200AD' stroke-width='0.5'/%3E%3C/svg%3E%0A");
    position: absolute;
    left: -15.5px;
    bottom: -15.5px;
}

.columns-crocino.uno .e-con::before {
    content: "";
    display: block;
    width: 31px;
    height: 31px;
    background-image: url("data:image/svg+xml,%3Csvg width='31' height='31' viewBox='0 0 31 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='31' height='31' fill='white'/%3E%3Cline x1='15.5' y1='3' x2='15.5' y2='28' stroke='%231200AD' stroke-width='0.5'/%3E%3Cline x1='3' y1='15.5' x2='28' y2='15.5' stroke='%231200AD' stroke-width='0.5'/%3E%3C/svg%3E%0A");
    position: absolute;
    right: -15.5px;
    bottom: -15.5px;
    top: initial;
    left: initial;
}

.columns-crocino.uno .elementor-widget-heading:before {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='25' cy='25' r='25' fill='%231200AD'/%3E%3C/svg%3E%0A");
    position: absolute;
    top: -50px;
    left: -80px;
    background-repeat: no-repeat;
    border: none;
}

/* Versione corretta */
.carosello-melone .swiper-slide>.e-child {
    background-color: transparent;
    background-image: radial-gradient(at top left, #ffffff 0%, #00000080 200%) !important;
}

@media all and (min-width: 1025px) {
    .carosello-melone .swiper-slide {
        width: 700px !important;
    }
}

.carosello-melone .swiper-pagination {
    display: none;
}

.melone-pagination .swiper-pagination-bullet {
    width: 16px;
    height: 16px;
    background-color: #737373;
}

.melone-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #1200AD;
}

.carosello-melone::before {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='25' cy='25' r='25' fill='%231200AD'/%3E%3C/svg%3E%0A");
    position: absolute;
    top: 300px;
    left: -25px;
    background-repeat: no-repeat;
    border: none;
    z-index: 20;
}

.carosello-melone::after {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='25' cy='25' r='25' fill='%231200AD'/%3E%3C/svg%3E%0A");
    position: absolute;
    top: 300px;
    left: 675px;
    background-repeat: no-repeat;
    border: none;
    z-index: 20;
}

@media all and (max-width: 1024px) {
    .carosello-melone::after {
        left: calc(100% - 25px);
    }
}

/* Stili tipografici */
h2.elementor-heading-title span {
    font-family: 'Onest', sans-serif;
    font-weight: 600;
    display: inline;
    font-size: 60px;
}

h2.elementor-heading-title span.grigio {
    color: #333;
}

@media all and (max-width: 1024px) {
    h2.elementor-heading-title span {
        font-size: 32px;
        line-height: 32px;
    }
}

h3.elementor-heading-title span.grigio {
    font-family: 'Onest', sans-serif;
    font-weight: 600;
    color: var(--e-global-color-text);
    display: inline;
    font-size: 40px;
}

h3.elementor-heading-title span {
    font-family: 'Onest', sans-serif;
    font-weight: 600;
    display: inline;
    font-size: 40px;
}

@media all and (max-width: 1024px) {
    h3.elementor-heading-title span {
        font-size: 21px !important;
        line-height: 24px;
    }
}

/* Classi utility */
.mobile-only {
    display: none;
}

@media all and (max-width: 1024px) {
    .mobile-only {
        display: block;
    }
}

@media all and (min-width: 1400px) {
    .centered-container {
        transform: translateX(calc((100vw - 1400px) /2));
    }
}

.add-graphic-sx>.e-con-inner {
    position: relative;
}

.add-graphic-sx>.e-con-inner::after {
    content: '';
    z-index: 10;
    position: absolute;
    left: -15px;
    bottom: -137px;
    background-image: url("data:image/svg+xml,%3Csvg width='50' height='199' viewBox='0 0 50 199' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='24.25' y1='-1.09278e-08' x2='24.25' y2='174' stroke='%23737373' stroke-width='0.5'/%3E%3Cline x1='24.25' y1='1.09278e-08' x2='24.25' y2='62' stroke='white' stroke-width='0.5'/%3E%3Ccircle cx='25' cy='174' r='25' fill='%231200AD'/%3E%3C/svg%3E%0A");
    width: 50px;
    height: 199px;
    background-repeat: no-repeat;
}

.icona-ambito h3.elementor-icon-box-title {
    margin: 0;
}

.icona-ambito .elementor-icon-box-content {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-right: 15px;
    padding-left: 15px;
    background: #fff;
}

.icona-ambito .elementor-icon-box-wrapper {
    box-shadow: 0 0 10px 0 rgb(0 0 0 / 30%);
    background-color: #fafafa;
}

.icona-ambito .elementor-icon-box-icon {
    padding: 15px;
    background-color: #fafafa;
}

.icona-top {}

.checklist-blu {
    list-style: none;
    padding-left: 0;
}

.checklist-blu li {
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
}

.checklist-blu li strong,
.blue {
    color: #1200AD;
}

.checklist-blu li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 20px;
    height: 20px;
    background-image: url('assets/check-blu.svg');
    background-size: contain;
    background-repeat: no-repeat;
}

.checklist-bianco {
    list-style: none;
    padding-left: 0;
}

.checklist-bianco li {
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
}

.checklist-bianco li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 20px;
    height: 20px;
    background-image: url('assets/check-bianco.svg');
    background-size: contain;
    background-repeat: no-repeat;
}

#content {
    overflow: hidden;
    transform: translateY(0px);
    margin-bottom: 0px;
    z-index: 20;
    position: relative;
    background: #fff;
}

/* Mobile Menu Styles */
@media all and (min-width: 768px) {
    nav.elementor-nav-menu--main ul.elementor-nav-menu>li.current-page-ancestor>a {
        font-weight: 600;
        min-width: max-content;
    }

    .btn-header {
        display: none !important;
    }

    ul.sub-menu {
        transform: translateX(-10px);
    }
}

/* Header */
header {
    z-index: 40;
    position: fixed;
    width: 100%;
}

.elementor-widget-breadcrumbs #breadcrumbs {
    color: #fff;
}

/* Sticky */

body:not(.menu-sticky) nav.elementor-nav-menu--main.elementor-nav-menu__container ul.elementor-nav-menu li.menu-item a.elementor-item {
    color: #fff;
}

body.menu-sticky .container-header {
    background-color: #fff;
}

body.menu-sticky div#logo-desktop {
    background: url("../../uploads/2025/11/angelomelone-logo-vettoriale-blu.svg");
    background-size: contain;
    background-repeat: no-repeat;
}

body.menu-sticky .elementor-nav-menu--main .sub-arrow svg path {
    fill: #333;
}

/* Non Sticky */

div#logo-desktop {
    background: url("../../uploads/2025/11/angelomelone-logo-vettoriale-bianco-def.svg");
    width: 220px;
    height: 71px;
    background-size: contain;
    background-repeat: no-repeat;
}

.elementor-nav-menu--main .sub-arrow svg path {
    fill: #fff;
}

.elementor-nav-menu--main .current-menu-item>a {
    font-weight: 600 !important;
    color: #1200AD !important;
}

#motivo-grafico-sx {
    background-image: url("data:image/svg+xml,%3Csvg width='2019' height='50' viewBox='0 0 2019 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='2.18557e-08' y1='24.75' x2='2000' y2='24.7502' stroke='%23737373' stroke-width='0.5'/%3E%3Ccircle cx='1994' cy='25' r='25' fill='%231200AD'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: contain;
    width: 2019px;
    height: 50px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    z-index: 0;
    background-position: right center;
    left: 22px;
    transform: translateX(-2019px);
}


/* Footer */
footer {
    width: auto;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
}

@media all and (max-width: 767px) {
    footer {
        position: relative;
    }
}

.error404 footer {
    position: relative;
}

/* Banner CTA Mobile */
@media all and (max-width: 1070px) {
    #card-cta-mobile {
        position: fixed;
        bottom: 0;
        display: none;
    }

}

/* Carosello Studio */
#carosello-studio .swiper-slide img {
    filter: grayscale(100%);
    transition: all 0.3s ease-in-out;
}

#carosello-studio .swiper-slide:hover img {
    filter: none;
}

.dialog-lightbox-message .e-eicon-share-arrow,
.dialog-lightbox-message .elementor-slideshow__share-menu,
.dialog-lightbox-message .e-eicon-frame-expand {
    display: none !important;
}

.col2-title-min-height {
    min-height: 150px;
}

/* Animazioni */
/* Stato iniziale per tutti gli elementi Elementor (esclusi .not-animate e quelli dentro .swiper-slide) */
.elementor-element:not(.not-animate):not(.swiper-slide .elementor-element):not(.swiper-slide *) {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;
}

/* Stato attivo */
.elementor-element:not(.not-animate):not(.swiper-slide .elementor-element):not(.swiper-slide *).fade-in-active {
    opacity: 1;
    transform: translateY(0);
}

/* Se vogliamo essere assolutamente sicuri che .not-animate sia visibile */
.elementor-element.not-animate {
    opacity: 1 !important;
    transform: none !important;
}

/* Assicuriamo che gli elementi dentro le slide siano sempre visibili */
.swiper-slide .elementor-element {
    opacity: 1 !important;
    transform: none !important;
}

.elementor-editor-active .elementor-element {
    opacity: 1 !important;
    transform: none !important;
}

li.no-link>a {
    cursor: pointer;
}

/* Mobile */
@media all and (max-width: 767px) {
    .text-left .elementor-button-text {
        text-align: left;
    }
}