/* Sito creato con ❤ custom da MarTe Graphics | autore e sito web: www.martegraphics.it | All Rights Reserved. */
/*
Theme Name: Gianmaria Bruni
Theme URI: https://www.gianmariabruni.it/
Author: MarTe Graphics
Author URI: https://www.martegraphics.it/
Description: Tema del sito ufficiale di Gianmaria Bruni, contenuti a sezioni modificabili.
Version: 1.1.0
Requires PHP: 7.4
Text Domain: gianmariabruni
*/

#ashade-header nav.ashade-nav ul.main-menu > li > a { color: rgba(255, 255, 255, 0.82); }
#ashade-header nav.ashade-nav ul.main-menu > li:hover > a,
#ashade-header nav.ashade-nav ul.main-menu > li.current-menu-item > a,
#ashade-header nav.ashade-nav ul.main-menu > li.current-menu-ancestor > a { color: #fff; }

.shadowcore-testimonials-carousel .shadowcore-testimonials-item__author--image { width: 81px; flex: 0 0 81px; }
.shadowcore-testimonials-carousel .shadowcore-testimonials-item__author--image .shadowcore-gallery-image { width: 81px; }

.shadowcore-service-card-grid { justify-content: center; }
.shadowcore-service-card-grid > .shadowcore-service-card { width: 100%; max-width: 760px; margin-bottom: 24px; }
.elementor-section[id] { scroll-margin-top: 170px; }
.elementor-heading-title a[href^="#"] { display: inline-flex; align-items: center; gap: 16px; }
.elementor-heading-title a[href^="#"]::after { content: ''; flex: 0 0 auto; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.625' height='9.844' viewBox='0 0 17.625 9.844'%3E%3Cpath d='M-17.812-2.25-16.687-3.375-9 4.359-1.312-3.375-.187-2.25-8.437 6-9 6.469-9.562 6Z' transform='translate(17.813 3.375)' fill='%23fff'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform 0.3s; }
.elementor-heading-title a[href^="#"]:hover::after { transform: translateY(4px); }
.gb-logo-campionato img { width: 520px; max-width: 100%; height: auto; }
.shadowcore-infocard-layout--horizontal .shadowcore-service-card__head { justify-content: flex-start; align-items: center; padding: 0 0 14px 0; }
.shadowcore-service-card__image { flex: 0 0 120px; width: 120px; }
.shadowcore-service-card__image .shadowcore-gallery-image { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12); }
.shadowcore-service-card__label { padding-left: 26px; text-align: left; }
.shadowcore-service-card__content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 16px 22px;
	color: #fff;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.shadowcore-service-card__content .shadowcore-service-card__link { padding-top: 0; flex: 0 0 auto; }
.shadowcore-service-card__content a.shadowcore-service-card__link--text {
	padding: 11px 26px;
	border: 1px solid rgba(255, 255, 255, 0.6);
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.12em;
	color: #fff;
}
.shadowcore-service-card__content a.shadowcore-service-card__link--text:hover { background: #fff; border-color: #fff; color: #000; }

.elementor-widget-shadow-query-ribbon.shadowcore-ribbon-height--custom .shadowcore-ribbon-wrap { height: 60vh; }
.elementor-widget-shadow-query-ribbon:not(.shadowcore-pri-side-spacing--yes) .shadowcore-ribbon { margin-left: -20px; }
.elementor-widget-shadow-query-ribbon .shadowcore-ribbon > div { margin-left: 20px; }
.elementor-widget-shadow-query-ribbon .shadowcore-ribbon-item--image { border-radius: 0; }
.elementor-widget-shadow-query-ribbon.shadowcore-pri-scale--yes .shadowcore-ribbon-item--image { transition-duration: 1000ms; }
body:not(.shadowcore-touch) .elementor-widget-shadow-query-ribbon.shadowcore-pri-scale--yes .shadowcore-posts-ribbon--item:hover .shadowcore-ribbon-item--image { background-size: 105%; }
.gb-frecce { position: absolute; left: 0; right: 0; top: 50%; z-index: 20; display: flex; justify-content: space-between; padding: 0 24px; pointer-events: none; transform: translateY(-50%); }
.gb-freccia { pointer-events: auto; display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; padding: 0; border: 1px solid rgba(255, 255, 255, 0.7); border-radius: 50%; background: rgba(0, 0, 0, 0.45); cursor: pointer; transition: background 0.3s, border-color 0.3s, opacity 0.3s; }
.gb-freccia:hover { background: #fff; border-color: #fff; }
.gb-freccia:hover svg path { fill: #000; }
.gb-freccia svg path { transition: fill 0.3s; }
.gb-freccia.is-fine { opacity: 0; pointer-events: none; }

.gb-management > .elementor-container { align-items: stretch; }
.gb-management .gb-management__foto > .elementor-widget-wrap,
.gb-management .gb-management__foto .elementor-widget-image,
.gb-management .gb-management__foto .elementor-widget-container { height: 100%; }
.gb-management .gb-management__foto img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; }
.gb-management .gb-management__testo > .elementor-widget-wrap { align-content: center; }
.gb-management .gb-management__testo > .elementor-widget-wrap { padding: 10px 40px; }
.gb-management .elementor-button { padding: 15px 40px; border: 1px solid rgba(255, 255, 255, 0.6); background: transparent; font-family: 'Roboto', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 0.12em; color: #fff; transition: background 0.3s, color 0.3s, border-color 0.3s; }
.gb-management .elementor-button:hover { background: #fff; border-color: #fff; color: #000; }
.gb-management .elementor-button-wrapper { margin-top: 10px; }

.gb-contatti-intro { margin-bottom: 40px; }
.gb-contatti .elementor-widget-wrap { text-align: center; }
.gb-contatti .ashade-contact-details__list { padding: 10px 0 0 0; margin: 0; }
.gb-contatti .ashade-contact-details__list.has-labels li { padding: 0; margin: 0 0 34px 0; min-height: 0; }
.gb-contatti .ashade-contact-icon { display: none; }
.gb-contatti .ashade-contact-details__list a[href^="mailto:"] { font-family: 'Roboto', sans-serif; font-weight: 700; font-size: 34px; line-height: 42px; color: #fff; border-bottom: 1px solid rgba(255, 255, 255, 0.25); padding-bottom: 6px; transition: border-color 0.3s; }
.gb-contatti .ashade-contact-details__list a[href^="mailto:"]:hover { border-color: #fff; }
.gb-contatti .ashade-contact-socials { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; }
.gb-contatti .ashade-contact-socials a { display: inline-block; padding: 13px 30px; border: 1px solid rgba(255, 255, 255, 0.6); font-family: 'Roboto', sans-serif; font-weight: 700; font-size: 12px; line-height: 16px; letter-spacing: 0.12em; text-transform: uppercase; color: #fff; transition: background 0.3s, color 0.3s, border-color 0.3s; }
.gb-contatti .ashade-contact-socials a:hover { background: #fff; border-color: #fff; color: #000; }
.gb-sigla { display: none; }

.gb-avviso { position: fixed; top: 0; left: 0; right: 0; z-index: 2147483647; height: 38px; display: none; }
.gb-avviso::before { content: ''; position: absolute; inset: 0; z-index: -1; background-color: rgba(0, 0, 0, 0.38); }
body.gb-avviso-on { padding-top: 38px; }
body.gb-avviso-on .gb-avviso { display: block; }
.gb-avviso[hidden] { display: none !important; }
.gb-avviso__testo { max-width: 1200px; margin: 0 auto; padding: 0 10px; }
.gb-avviso__testo p { margin: 5px 0 0 0; font-family: Montserrat, sans-serif; font-weight: 500; font-size: 14px; line-height: 28px; color: #c1c1c1; }
.gb-avviso__chiudi { position: absolute; top: 6px; right: 20px; width: 25px; height: 25px; padding: 0; border: 0; background: transparent; cursor: pointer; line-height: 0; }
.gb-avviso__chiudi:hover { background: transparent; }

@media only screen and (max-width: 1024px) {
	.gb-management .gb-management__testo > .elementor-widget-wrap { padding: 10px 20px; }
	.gb-management .gb-management__foto img { min-height: 380px; }
}
@media only screen and (max-width: 768px) {
	.gb-avviso { display: none !important; }
	body.gb-avviso-on { padding-top: 0; }
}
@media only screen and (max-width: 767px) {
	.gb-frecce { display: none; }
	.elementor-widget-shadow-query-ribbon:not(.shadowcore-pri-side-spacing--yes) .shadowcore-ribbon.vertical-mobile-layout { margin-left: 0; }
	.elementor-widget-shadow-query-ribbon .shadowcore-ribbon.vertical-mobile-layout > div { margin-left: 0; }
	.shadowcore-service-card__image { flex: 0 0 80px; width: 80px; }
	.shadowcore-service-card__label { padding-left: 16px; }
	.shadowcore-service-card__content { flex-direction: column; align-items: flex-start; gap: 12px; font-size: 16px; }
	.gb-management .gb-management__foto img { height: auto; min-height: 0; }
	.gb-management .gb-management__testo > .elementor-widget-wrap { padding: 30px 0; }
	.gb-contatti .ashade-contact-details__list a[href^="mailto:"] { font-size: 22px; line-height: 30px; }
}
