/*
Theme Name:   oceanwp-child
Theme URI:    http://example.com/
Description:  Child theme of oceanwp
Author:       John Doe
Author URI:    http://example.com/
Template:     oceanwp
Version:      1.0.0
*/


/*GENERAL*/
h1, h2, h3, h4, h5, h6, p {
    margin: 0;
}


/*TITLE & TXT*/
.primary-color {
    color: #1E3D65;
}

.secondary-color {
    color: #AD4A3B;
}

h1 .herosection-font-700,
p .herosection-font-700,
.paragraph-bold {
    font-weight: 700;
}

h1 .herosection-font-400 {
    font-weight: 400;
}

/* .h3-bold h3 {
    color: #FDFCFC;
} */

.h3-blue-color h3 {
    color: #1E3D65;
}

.h2-blue-color h2 {
    color: #1E3D65;
}

.text-primary-white-color h2 {
    color: #FAF5F4;
}

.text-secondary-white-color h2,
.text-secondary-white-color h3 {
    color: #FDFCFC;
}

a:focus {
    outline: none!important;
}

/*GALLERY*/
.gallery-FV .elementor-image-gallery .gallery-icon {
  width: 100%;
  height: 100%;
}

.gallery-FV .elementor-image-gallery .gallery-icon a {
  width: 100%;
  height: 100%;
}

.gallery-FV .elementor-image-gallery .gallery-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

.gallery-FV .elementor-widget-image-gallery {
    width: 100%;
}

.gallery-FV .gallery-item {
    position: relative;
    overflow: hidden;
    height: 250px;
}

.gallery-FV.gallery-pagina-funeraria .elementor-image-gallery .gallery-item:nth-child(4) .gallery-icon img {
  object-position: center right;
}

.gallery-FV .gallery-item img {
    filter: brightness(85%);
}

.gallery-FV .gallery-item:hover img {
    filter: brightness(75%) contrast(100%) saturate(120%) blur(1px) hue-rotate(0deg);
    transition-duration: 0.3s;
}

.gallery-FV .gallery-icon::after {
  content: "\f002";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #FDFCFC;
  font-size: 2rem;
  position: absolute;
  top: 10%;
  right: 5%;
  transform: translate(-50%, -50%);
  z-index: 2;
  opacity: 0.8; /* nascosta di default */
  transition: opacity 0.3s ease;
  pointer-events: none; /* lascia passare il click al link sotto */
}

/* Mostra la lente al passaggio del mouse */
.gallery-FV .gallery-icon:hover::after {
  opacity: 1;
}

/*HEADER*/
#site-header-inner {
    display: flex;
    align-items: center;
}

    /*LOGO*/  
    #site-header #site-logo #site-logo-inner a img {
        width: 209px;
    }

    /*NAVBAR*/
    #site-navigation-wrap .dropdown-menu>li.menu-item-type-post_type {
        padding-top: 4px;
    }

    #site-navigation-wrap .dropdown-menu>li.menu-item-type-custom a {
        color: #AD4A3B;
    }

    .effect-seven #site-navigation-wrap .dropdown-menu>li>a.menu-link>span:after {
        bottom: -60%;
    }

    .mobile-menu .fa {
        font-size: 24px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #mobile-dropdown {
        background-color: #FAF5F4;
    }

    #mobile-dropdown ul li {
        border-bottom: 0;
    }







/*HOME*/
    /*CONTAINER MACRO SERVIZI*/
    .elementor-2 .elementor-element.container-macro-servizi .elementor-image-box-wrapper .elementor-image-box-img {
        width: 100%!important;
        margin-bottom: 0!important;
    }

    body .container-macro-servizi img,
    .gallery-edilizia img {
        height: 180px!important;
        object-fit: cover;
        /* object-position: 0 -48px; */
        border-radius: 8px;
    }

    .container-macro-servizi .micro-servizio-funeraria img {
        object-position: 0 -48px;
    }

    /* body .container-macro-servizi .home-servizio-edilizia img {
        object-position: 0 -92px;
    } */

    body .container-macro-servizi .elementor-image-box-content {
        position: absolute;
        bottom: 19px;
    }


    

    /*EDILIZIA*/
    .elementor-2 .elementor-element.container-macro-edilizia .elementor-image-box-wrapper .elementor-image-box-img {
        width: 100%!important;
    }

    .container-macro-edilizia .elementor-image-box-img img {
        display: block;
        object-fit: cover;
        object-position: center;
        height: 180px;
        max-width: 300px;
    }

    .container-macro-edilizia .elementor-widget-image-box {
        display: flex;
        justify-content: center;
    }

    .container-macro-edilizia .elementor-widget-image-box .elementor-image-box-content {
        position: absolute;
        bottom: -10px;
        background-color: rgb(250 245 244 / 90%);;
        border-radius: 6px;
        padding: 12px;
        width: 228px;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
        min-height: 75px;
        display: flex;
        justify-content: center;
        align-items: center;
        border: 3px solid #FDFCFC;
        cursor: pointer;        
    }

    .container-macro-edilizia .elementor-image-box-wrapper .elementor-image-box-content {
        transition: 
            transform 0.28s cubic-bezier(.2,.9,.2,1),
            background-color 0.28s cubic-bezier(.2,.9,.2,1),
            color 0.25s ease;
        will-change: transform, background-color, color;
    }

    .container-macro-edilizia .elementor-image-box-wrapper .elementor-image-box-content:hover {
        background-color: rgb(30 61 101 / 90%);
        color: #FDFCFC;
        transform: translateX(-50%) translateY(-12px);
    }

    .container-macro-edilizia  .elementor-image-box-wrapper .elementor-image-box-content:hover a {
        color: #FDFCFC;
    }

    .container-macro-edilizia .elementor-image-box-title,
    .container-macro-materiali .elementor-widget-icon-box .elementor-icon-box-description {
        font-size: 16px;
        line-height: 22px;
        font-family: 'Vollkorn', serif;
        margin: 0;
    }

    /* Prima immagine */
    .container-macro-edilizia .e-grid .elementor-widget-image-box:nth-of-type(1) img {
        object-position: center bottom;
    }
    
    /* Seconda immagine Terza immagine*/
    .container-macro-edilizia .e-grid .elementor-widget-image-box:nth-of-type(2) img,
    .container-macro-edilizia .e-grid .elementor-widget-image-box:nth-of-type(3) img {
        object-position: center 70%;
    }
    
    /* Quarta immagine */
    .container-macro-edilizia .e-grid .elementor-widget-image-box:nth-of-type(4) img {
        object-position: center 35%;
    }



    /*MATERIALI*/
    .container-macro-materiali .e-con-inner .elementor-element .elementor-widget-container {
        position: relative; /* fondamentale per ancorare la freccia */
        padding-bottom: 32px; /* spazio per la freccia */
    }

    .container-macro-materiali .e-con-inner .elementor-element .elementor-widget-container {
        position: relative; /* assicurati che il container sia relativo */
    }

    .container-macro-materiali .e-con-inner .elementor-element .elementor-widget-container::after {
        content: url("https://www.fratellivirtuoso.it/wp-content/uploads/2025/08/arrow.svg");
        display: inline-block;
        position: absolute;
        cursor: pointer;
        bottom: 32px;
        left: 50%;
        transform: translateX(-50%);
        width: 40px;
        height: 40px;
        overflow: hidden;
        text-align: center;
    }

    .container-macro-materiali .e-con-inner .elementor-element .elementor-widget-container:hover::after {
        content: url("https://www.fratellivirtuoso.it/wp-content/uploads/2025/08/arrow-red.svg");
    }
    
    .container-macro-materiali .elementor-icon-box-description {
        position: relative;
        pointer-events: auto;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        padding-bottom: 64px;
    }

    .container-macro-materiali .elementor-element {
        display: flex;
        align-items: center;
        flex-direction: column;
    }

    .container-macro-materiali .elementor-element.elementor-widget-icon-box {
        transition: transform .28s cubic-bezier(.2,.9,.2,1);
        will-change: transform;
    }

    .container-macro-materiali .elementor-element.elementor-widget-icon-box:hover {
        transform: translateY(-12px);
    }

    /* .container-macro-materiali h3.elementor-icon-box-title,
    .container-macro-materiali .elementor-icon-box-title span,
    .container-macro-materiali .elementor-icon-box-description {
        transition: color .25s ease;
    } */

    .container-macro-materiali .elementor-element.elementor-widget-icon-box:hover .elementor-icon-box-title,
    .container-macro-materiali .elementor-element.elementor-widget-icon-box:hover .elementor-icon-box-title span,
    .container-macro-materiali .elementor-element.elementor-widget-icon-box:hover .elementor-icon-box-description {
        color: #AD4A3B !important;
    }

    .container-macro-materiali .elementor-element.elementor-widget-icon-box:hover svg [style*="30,61,101"],
    .container-macro-materiali .elementor-element.elementor-widget-icon-box:hover svg [fill="rgb(30,61,101)"],
    .container-macro-materiali .elementor-element.elementor-widget-icon-box:hover svg [fill="#1e3d65"] {
        fill: #AD4A3B !important;
        transition: fill .25s ease, stroke .25s ease;
    }
    






    /*PUNTI CHIAVE*/
    .container-punti-chiave-home .e-con-inner {
        align-items: center!important;
        flex-direction: column!important;
    }




    .container-punti-chiave-home .elementor-icon svg {
        height: auto;
    }

    .container-punti-chiave-home .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-icon {
        margin-bottom: 16px;
    }

    
/*PAGINA EDILIZIA*/
.gallery-edilizia .gallery-item:hover img {
    filter: brightness(80%) contrast(100%) saturate(120%) blur(1px) hue-rotate(0deg);
    transition-duration: 0.3s;
}


/*PAGINA MATERIALI*/
.lista-info-materiali ul {
    margin-top: 12px;
    margin-bottom: 0;
}

.lista-info-materiali ul li:not(:last-child) {
    padding-bottom: 6px;
}


/*PAGINA CONTATTI*/
.contatti-form p.label-text {
    color: #FDFCFC;
}

.contatti-form form input,
.contatti-form form select,
.contatti-form form textarea {
    background-color: #FDFCFC;
    border: 0;
    font-size: 16px;
    color: #1E3D65;
}

.contatti-form p:has(.padding-bottom-input-form) {
  padding-bottom: 24px;
}

.contatti-form p:has(.padding-top-input-form) {
  padding-top: 24px;
}

.contatti-form p.label-text {
  margin-bottom: 8px;
}

.contatti-form p:has(.btn) {
    padding-top: 40px;
}

.contatti-form p span select,
.contatti-form p span select option {
    color: #1E3D65;
    font-size: 16px;
}

.contatti-form .btn {
    width: 100%;
}

.elementor-kit-6 .contatti-form input[type="submit"]:hover {
    background-color: #FDFCFC!important;
    color: #1E3D65!important;
}

.contatti-form form.sent .wpcf7-response-output {
    border-color: #FDFCFC;
    border: 0;
    color: #FDFCFC;
    margin: 0;
    padding: 0;
}

.contatti-form .wpcf7-spinner {
    display: none;
}


/*FOOTER*/
footer .footer-widget p {
    text-align: center;
}

footer .footer-widget .title-footer {
    font-weight: 700;
    margin-bottom: 10px;
}

footer #footer-widgets .footer-box .footer-widget {
    margin-bottom: 0;
}



@media (max-width: 480px) { 
    /*HOME*/
        /*GALLERY*/
        .gallery-home .gallery {
            display: grid;
            grid-template-columns: 1fr 1fr;
        }
        
        .gallery-home .gallery-item {
            margin: 0 !important; 
            width: 100% !important;
        }

}







/*MEDIA QUERY*/
@media (max-width: 767px) { 
    /*HEADER*/
        /*NAVBAR*/
        header .oceanwp-mobile-menu-icon {
        flex: 1;
        display: flex;
        justify-content: flex-end;
    }



    /*HOME*/
        /*SECTION INFO ARTE FUNERARIA*/
        .section-img-text-home-funeraria .e-con-inner {
            display: flex!important;
            flex-direction: column-reverse!important;
        }

        .elementor .section-img-text-home-funeraria .elementor-element {
            justify-content: center;
        }

        .elementor .size-img-home-funeraria img {
            height: auto;
            width: 250px;
        }

        #footer-widgets .col {
        margin-bottom: 40px;
    }
}


@media (min-width: 767px) {  
    /*HEADER*/
        /*NAVBAR*/
        #site-navigation-wrap {
            flex: 1;
            display: flex;
            justify-content: flex-end;
        }

        .oceanwp-mobile-menu-icon {
            display: none;
        }


    /*BUTTON*/
    .custom-btn-primary .elementor-button {
        min-width: 160px;
    }


    /*HOME*/
        /*MACRO-CATEGORIE*/
        body .container-macro-servizi img {
            height: 360px!important;
            /* object-position: 50% 50%; */
        }

        .container-macro-servizi .micro-servizio-funeraria img {
            object-position: 0px 0px;
        }
    
        /* body .container-macro-servizi .home-servizio-edilizia img {
            object-position: 50% 50%;
        } */


        /*MATERIALI*/
        .container-macro-materiali .elementor-widget-container {
            max-width: 300px;
        }
    
        .container-macro-materiali .e-con.e-grid {
            flex-direction: row;
            justify-content: space-between;
        }

    /*EDILIZIA*/
    .gallery-edilizia img {
        height: 168px!important;
        width: 168px;
    }

    /*PAGINA EDILIZIA*/
    .container-blue-white-left::after {
        content: "";
        position: absolute;
        left: 0;
        width: 25%;
        height: 100%;        /* prende la metà bassa */
        background:#1E3D65;
        z-index: -10;        /* sotto l’immagine */
    }

    .container-blue-white-right::after {
        content: "";
        position: absolute;
        right: 0;
        width: 25%;
        height: 100%;        /* prende la metà bassa */
        background: #1E3D65;
        z-index: -10;        /* sotto l’immagine */
    }
}

@media (max-width: 959px){
    /* .mobile-menu {
        width: 48px;
        height: 48px;
        display: flex;
        justify-content: center;
    } */

    body.default-breakpoint .oceanwp-mobile-menu-icon {
        width: 100%;
        display: flex;
        justify-content: end;
    }
}





@media all and (min-width: 767px) and (max-width: 1024px) {
    /*HOME*/
        /*EDILIZIA*/
        /* .container-macro-edilizia .elementor-element.e-con.e-grid {
            display: flex;
            justify-content: space-between;
        }

        .container-macro-edilizia .elementor-widget-image-box {
            width: 216px;
        } */
        .container-macro-edilizia .e-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 16px; /* spazio tra le immagini, opzionale */
        }
        
        .container-macro-edilizia .e-grid > .elementor-widget-image-box {
            width: calc(50% - 8px); /* 2 per riga con gap */
        }

        .elementor-2 .elementor-element.container-macro-edilizia .elementor-image-box-wrapper .elementor-image-box-img {
            width: 100%!important;
            /* width: 325px!important; */
            display: flex;
            justify-content: center;
        }

        .container-macro-edilizia .elementor-widget-image-box .elementor-image-box-content {
            width: 253px;
        }

        .container-macro-edilizia .elementor-image-box-img img {
            max-width: none;
            width: 300px;
        }
    
        .container-macro-edilizia .elementor-element:nth-of-type(3),
        .container-macro-edilizia .elementor-element:nth-of-type(4) {
            padding-top: 32px;
        }
}



@media (min-width: 1024px) {  
    /*HOME*/
        /*MACRO-CATEGORIE*/
        .elementor-2 .elementor-element.container-macro-servizi .elementor-image-box-wrapper .elementor-image-box-img {
            width: 280px!important;
        }

        /*GALLERY*/
        .gallery-home .gallery-icon::after {
            font-size: 32px;
            line-height: 40px;
        }

        /*EDILIZIA*/

        .elementor-2 .elementor-element.container-macro-edilizia .elementor-image-box-wrapper .elementor-image-box-img {
            width: 224px!important;
        }

        .container-macro-edilizia .elementor-widget-image-box .elementor-image-box-content {
            width: 160px;
        }

        .container-macro-edilizia .elementor-image-box-img img {
            max-width: none;
            width: 224px;
        }

        /*PAGINA EDILIZIA*/
        .container-blue-white-left::after {
            content: "";
            position: absolute;
            left: 0;
            width: 30%;
            height: 100%;        /* prende la metà bassa */
            background:#1E3D65;
            z-index: -10;        /* sotto l’immagine */
        }

        .container-blue-white-right::after {
            content: "";
            position: absolute;
            right: 0;
            width: 30%;
            height: 100%;        /* prende la metà bassa */
            background: #1E3D65;
            z-index: -10;        /* sotto l’immagine */
        }
}