/*
 Theme Name:   Twenty Seventeen Child
 Theme URI:    http://example.com
 Description:  Child theme per Twenty Seventeen
 Author:       Il Tuo Nome
 Template:     twentyseventeen
 Version:      1.0.0
*/


input::placeholder {
    color: #9c9c9c!important;
    opacity: 1!important;
}


:root {
    --primary-gold: #BD9252;
    --new-font-family: "Titillium Web", Sans-serif;
    --soft-white: #FAF9F6;
}

.custom-form-submit .wpcf7-submit {
    font-weight: 700;
    color: white;
}

.custom-form-submit .wpcf7-submit:hover {
    background-color: var(--primary-gold)!important;
}

.flex-row {
    display: flex;
    justify-content: space-around;
    gap: 10px;
    flex-wrap: wrap;
}

.flex-row-item {
    flex: 1 1;
}

#block-4 {
    color: #000000;
}

footer, footer .widget-title {
    font-family: var(--new-font-family)!important;
}

body, button, input, select, textarea {
	/* font-family: 'Playfair Display', sans-serif; */
    font-family: var(--new-font-family);
}

a {
    color: #000000;
}

.elementor-widget-heading .elementor-heading-title {
    margin: 0 0 0.5em;
}

.site-content {
    padding: 0;
}

.site-header {
    display: flex;
    align-items: center;
    padding: 1rem 2rem;
	background: var(--soft-white);
}

.site-branding {
    padding: 0;
}

.site-branding > .wrap {
    padding: 0;
}

.custom-header {
    width: 100%;
}

.navigation-top {
    width: 52px;
    background: none;
    border-bottom: none;
    border-top: none;
}

.navigation-top a {
    font-size: 16px;
    font-weight: 300;
}

.navigation-top .current-menu-item > a, .navigation-top .current_page_item > a {
    color: #EAD79B;
}

.navigation-top a {
    color: #ffffff;
}

.navigation-top .wrap {
    padding: 0;
}

.main-navigation a:hover {
    color: #EAD79B;
}

h2.widget-title {
    font-size: 24px;
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: 0.5em;
}

.footer-widget-1 .widget_media_image {
    padding-bottom: 1rem;
}

.site-footer .widget-column.footer-widget-4 .widget {
	padding-bottom: 1rem;
}

.widget ul li, .widget ol li {
    border-bottom: none;
    border-top: none;
    color: #000000;
}

footer .widget ul li {
    font-size: 15px;
}

.site-footer .wrap {
    padding-bottom: 0;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
}

.site-footer .widget-area {
    display: flex;
    flex-wrap: wrap;
    padding: 2rem 2rem 0 2rem;
    background: var(--primary-gold);
}

.site-footer .widget-column.footer-widget-1 img {
    width: auto;
    height: auto;
    max-width: none;
    max-height: 80px;
}

.site-info {
    background: #2E2E2E;
    padding-bottom: 1.5em;
    padding-top: 1.5em;
    padding-left: 5%;
    padding-right: 5%;
    margin: 0;
}

.site-info .footer-widget {
    padding: 0;
}

.site-info .footer-widget p {
    color: #ffffff;
    text-align: center;
    margin: 0;
}

body.mega-menu-top .navigation-top .wrap {
    padding: 0;
}

.site-footer {
    font-size: 14px;
}

.site-footer .widget-column.footer-widget-1,
.site-footer .widget-column.footer-widget-2,
.site-footer .widget-column.footer-widget-3,
.site-footer .widget-column.footer-widget-4 {
    flex: 0 0 100%;
    float: none;
    width: auto;
}

.widget ul li a, .site-footer .widget-area ul li a, 
.site-footer .widget-area ul li a {
    -webkit-box-shadow: none;
    box-shadow: none;

}

.site-footer .wrap {
    margin: 0;
}

footer .wp-block-image {
    margin: 0;
}

.widget {
    padding-bottom: 2rem;
}










.widget a:focus, .widget a:hover, 
.site-footer .widget-area a:focus, 
.site-footer .widget-area a:hover,
.widget ul li a:focus, .widget ul li a:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
}


/* FOOTER: comportamento identico a quello del menu principale */
.widget ul li a,
.site-footer .widget-area ul li a,
.site-footer .widget-area ul li a {
  position: relative !important;
  display: inline-block !important;
  padding-bottom: 4px !important; /* spazio per la linea */
  text-decoration: none !important;
  /* transizione su color e border (come richiesto) */
  transition: color 200ms linear, border 200ms linear !important;
}

/* linea: presente ma trasparente di base (fade via background RGBA) */
.widget ul li a::after,
.site-footer .widget-area ul li a::after,
.site-footer .widget-area ul li a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0px !important;
  height: 2px !important;
  /* parte trasparente: alpha = 0 */
  background: rgba(212,175,55,0) !important;
  border-radius: 2px !important;
  display: block !important;
  /* transizione su background (shorthand) e anche border per sicurezza */
  transition: background 200ms linear, border 200ms linear !important;
}

/* hover / focus: la linea "compare" con fade (background alpha -> 1) */
/* e il link può animare il colore se il tema cambia color al hover */
.widget ul li a:hover,
.widget ul li a:focus,
.widget ul li a:focus-visible,
.site-footer .widget-area ul li a:hover,
.site-footer .widget-area ul li a:focus,
.site-footer .widget-area ul li a:focus-visible,
.site-footer .widget-area ul li a:hover,
.site-footer .widget-area ul li a:focus-visible {
  /* se vuoi cambiare anche il colore del testo al hover, impostalo qui;
     altrimenti lascia il tema decidere e la transizione color si applicherà. */
  /* color: /* es. #D4AF37 */ !important; */
}

/* hover della pseudo-element */
.widget ul li a:hover::after,
.widget ul li a:focus::after,
.widget ul li a:focus-visible::after,
.site-footer .widget-area ul li a:hover::after,
.site-footer .widget-area ul li a:focus::after,
.site-footer .widget-area ul li a:focus-visible::after,
.site-footer .widget-area ul li a:hover::after,
.site-footer .widget-area ul li a:focus-visible::after {
  /* background: rgba(212,175,55,1) !important; linea oro visibile */
  background:rgba(4, 4, 4)!important;
}

/* elemento corrente se presente (es. .current-menu-item) - linea sempre visibile */
.widget ul li.mega-current-menu-item > a::after,
.site-footer .widget-area ul li.mega-current-menu-item > a::after {
  background: rgba(212,175,55,1) !important;
}



/* Contact form */
.wpcf7-form {
    /* font-family: 'Playfair Display', sans-serif; */
    font-family: var(--new-font-family);
    font-size: 16px;
    color: #000000;
}

.wpcf7-form .form-row label {
	font-weight: 500;
}

.wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

.wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label {
	font-weight: 400;
}

.wpcf7-form-control-wrap .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label a {
	color: #bd9252;
}

.wpcf7-form .form-submit {
	text-align: left;
}

.elementor-widget-image-carousel .swiper img {
    -webkit-filter: grayscale(1);
    -moz-filter: grayscale(1);
    -o-filter: grayscale(1);
    filter: grayscale(1);
    -webkit-transition: filter 0.3s ease-in-out;
    -moz-transition: filter 0.3s ease-in-out;
    -o-transition: filter 0.3s ease-in-out;
    transition: filter 0.3s ease-in-out;
	max-width: 150px;
    cursor: pointer;
}

.elementor-widget-image-carousel .swiper img:hover {
    -webkit-filter: grayscale(0);
    -moz-filter: grayscale(0);
    -o-filter: grayscale(0);
    filter: grayscale(0);
}

@media screen and (min-width: 768px) {
    .site-header {
        padding: 1rem 3rem;
    }

    .site-footer .widget-column.footer-widget-1,
    .site-footer .widget-column.footer-widget-2,
    .site-footer .widget-column.footer-widget-3,
    .site-footer .widget-column.footer-widget-4 {
        flex: 0 0 50%;
        float: none;
        width: auto;
    }

    .site-footer .widget-area {
        padding: 3rem 3rem 0 3rem;
    }

    .widget {
        padding-bottom: 3rem;
    }
}

@media screen and (min-width: 992px) {
    .site-footer .widget-column.footer-widget-1,
    .site-footer .widget-column.footer-widget-2,
    .site-footer .widget-column.footer-widget-3,
    .site-footer .widget-column.footer-widget-4 {
        flex: 0 0 25%;
        float: none;
        width: auto;
    }

    .widget {
        padding-bottom: 0;
    }
}

@media screen and (min-width: 1200px) {
    #mega-menu-wrap-top #mega-menu-top > li.mega-menu-item > a.mega-menu-link {
        position: relative !important;
        display: inline-block !important;
        padding-bottom: 4px !important;
        text-decoration: none !important;
        transition: color 200ms linear, border 200ms linear !important;
    }

    #mega-menu-wrap-top #mega-menu-top > li.mega-menu-item > a.mega-menu-link::after {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0px !important;
        height: 3px !important;
        background: rgba(212,175,55,0) !important;
        border-radius: 2px !important;
        display: block !important;
        transition: background 200ms linear, border 200ms linear !important;
    }

    /* hover della pseudo-element */
    #mega-menu-wrap-top #mega-menu-top > li.mega-menu-item > a.mega-menu-link:hover::after,
    #mega-menu-wrap-top #mega-menu-top > li.mega-menu-item > a.mega-menu-link:focus::after,
    #mega-menu-wrap-top #mega-menu-top > li.mega-menu-item > a.mega-menu-link:focus-visible::after {
        /* background: rgba(212,175,55,1) !important; linea oro visibile */
        background: #Bd9252 !important; /* linea oro visibile */
    }

    /* elemento corrente: linea sempre visibile */
    #mega-menu-wrap-top #mega-menu-top > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link::after {
        /* background: rgba(212,175,55,1) !important; */
        background: #Bd9252!important;
    }


    
    .site-header {
        padding: 1rem 5rem;
    }

    .site-footer .widget-area {
        padding: 5rem 5rem 0 5rem;
    }

    .widget {
        padding-bottom: 3rem;
    }
}

@media screen and (min-width: 1200px) {
    .custom-header {
        width: auto;
    }
}

@media screen and (min-width: 30em) {
    .site-branding {
        padding: 0;
    }

    .navigation-top {
        width: 100%;
    }
}

@media screen and (min-width: 48em) {
    .admin-bar .site-navigation-fixed.site-header {
        top: 32px;
    }

    .site-navigation-fixed.site-header {
        bottom: auto;
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        width: 100%;
        z-index: 1000;
    }

    .navigation-top {
        position: static;
    }

    .wrap {
        max-width: none;
        padding-left: 0;
        padding-right: 0;
    }

    .navigation-top .wrap {
        max-width: 1140px;
    }

    .site-footer {
        margin-top: 0;
    }

    .site-info {
        width: 100%;
    }

    .page #content, .page:not(.home) #content {
        padding-bottom: 0;
    }
}



