/*
Theme Name:     Vittoria Child
Template:       vittoria-theme
Text Domain:    vittoria-child
Version:        0.2
Author:	        Ermini Giannace
Theme URI:      https://iol.it/
Author URI:     https://iol.it/
*/

/* modifiche per accessibilitÃ  */

a:not(.btn),
a:not(.btn):hover {
	text-decoration: underline !important;
}

#dove-siamo a,
#dove-siamo a:hover {
}

.c-hamburger:focus {
	padding: 0 !important;
}

.navbar-expand .main-menu .navbar-nav li.nav-item .nav-link {
	text-decoration: none !important;
}

footer a:not(.btn),
footer a:not(.btn):active,
footer a:not(.btn):focus,
footer a:not(.btn):focus:active,
footer a:not(.btn):hover,
footer a:not(.btn):visited {
	/* text-decoration: none !important; */
}

/*MODIFICO IL COLORE MENU*/

.c-hamburger span {
	/* background: #04398e !important; */
}

.c-hamburger span:after,
.c-hamburger span:before {
	/* background-color: #04398e !important; */
}

.hidden-item {
	display: none;
}

.module-hero > .container .row .caption .title * {
	word-break: break-word;
}

/*Add your own styles here:*/
.module-media-object.reverse.dark > div > div:nth-child(2) {
	background-color: white;
}
.module-media-object.reverse.dark > div > div:nth-child(1) {
	background: linear-gradient(
		270deg,
		transparent 0,
		transparent 66%,
		transparent 0,
		white
	);
}
.module-media-object.dark > div > div:nth-child(2) {
	background-color: white;
}
.module-media-object.dark > div > div:nth-child(1) {
	background: linear-gradient(
		270deg,
		white 0,
		transparent 66%,
		transparent 0,
		transparent
	);
}

/*News block*/
.slick-tabbed-news .card-news {
	/*margin-left: 15px;*/
	/*margin-right: 15px;*/
}

.tabs-control {
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 16px;
}

.tabs-control > div {
	text-align: center;
}

.tabs-control .tab-underline {
	width: 100%;
	height: 2px;
	background-color: #7aa0d7;
}

.tabs-control > div.tab-inactive .tab-underline {
	background-color: #04398e;
	height: 1px;
}

.tabs-control .tab-inactive a {
	/* color: darkgray; */
	color: #595959;
}
.tabs-control .tab-inactive a:hover {
	color: #595959;
}

.tabs-control.buttons > div {
	border-bottom: 0;
}

.tabs-control.buttons a {
	width: 100%;
}

.tabs-control.buttons .tab-inactive a {
	background-color: transparent;
	outline: 2px solid #04398e;
}

.pages a.active {
	color: #0056b3;
	font-weight: 600;
}

.module-collapse.module-collapse-white a[data-toggle='no-collapse'] {
	font-size: 2rem;
	color: #00205c;
	line-height: 1.4;
	padding-right: 20px;
	font-weight: 700;
}

/** SOCIAL SHARE FAQ **/
.social-share-buttons {
	padding-top: 30px;
}
.social-share-buttons-container {
	display: flex;
	justify-content: flex-end;
}
.social-share-buttons-container a {
	margin-right: 15px;
}
.social-share-buttons-container a:last-child {
	margin-right: 0;
}

.social-share-buttons-container a svg {
	width: 25px;
}

.social-share-buttons-container a.facebook-share svg {
	fill: #0866ff;
}
.social-share-buttons-container a.linkedin-share svg {
	fill: #007bb5;
}
.social-share-buttons-container a.whatsapp-share svg {
	fill: #12af0a;
}
.social-share-buttons-container a.mail-share svg {
	fill: #888990;
}

/** DOVE SIAMO IN HP **/
.default-navigation .block-rounded {
	border-radius: 0 !important;
}

/** MENU **/
@media (max-width: 768px) {
	.module-hero-dropimage {
		background: none !important;
		padding: 0 !important;
	}
}

@media (min-width: 768px) {
	.navbar-expand .main-menu.full-blue {
		background: #00205c !important;
	}

	.navbar-expand .main-menu {
		background: none !important;
	}

	.module-hero-dropimage.color-a {
		padding: 0 !important;
	}

	.module-hero-dropimage.color-a .container {
		/*padding-top: 95px!important;*/
		padding-top: 14rem !important;
	}
}

@media (min-width: 1200px) {
	.module-hero > .container,
	.module-hero-dropimage > .container {
		max-width: 1220px;
		padding: 14rem 15px 9rem 4rem !important;
	}
}

@media (min-width: 1200px) {
	.main-menu .container {
		max-width: 1160px;
	}
}

@media (min-width: 1024px) {
	.module-hero > .container {
		/*height: 1264px!important;*/
	}

	/*.module-hero>.container .row .slick-hero-container .slick-hero .bg {
        margin-top: 170px;
    }*/

	#nav_main_menu {
		padding-bottom: 22px;
	}
}

@media (max-width: 639px) {
	#nav_main_menu {
		justify-content: center !important;
	}

	.item.slick-slide {
		flex-direction: column;
	}

	.card-news {
		min-height: 160px !important;
		margin-left: 2px !important;
		margin-right: 2px !important;
		border: 2px solid #7aa0d7 !important;
	}

	.card-news h5 {
		font-size: 1.5rem;
	}

	.card-news p {
		display: none;
	}

	.block-news .tabs-control a {
		font-size: 14px;
	}

	.block-news .slick-tabbed-news .btn {
		font-size: 12px;
		padding: 1rem;
		/*width: 50%;*/
		align-items: center;
		display: inline-flex;
		justify-content: center;
		min-width: 70px;
	}
}

@media (min-width: 576px) {
	.navbar-expand .main-menu .navbar-nav li.nav-item {
		padding: 0 1.5rem !important;
	}
	.navbar-expand .main-menu .navbar-nav li.nav-item .nav-link.btn {
		padding: 1.5rem 2.4rem !important;
	}
}

.navbar-expand .main-menu .navbar-brand span {
	/*height: 82px!important;*/
	display: flex !important;
	flex-direction: column-reverse;
	color: white;
	text-indent: inherit !important;
	font-size: 14px !important;
	text-align: start;
}

/** Hero H1 **/
@media (min-width: 768px) {
	.module-hero > .container .row .caption .title * {
		/*font-size: 4.6rem!important;*/
	}
}

#products .card-body {
	min-height: 280px;
}

/* FIX MAP HEIGHT ON MOBILE */
iframe {
	min-height: 300px;
}

/* MOBILE TITLE */
@media (max-width: 768px) {
	.title {
		/*margin-top: 8rem;*/
	}
}

/* CAROUSEL BANNER */
#carouselBanner .carousel-indicators li {
	background-color: #00205c;
}
#carouselBanner .carousel-caption {
	top: 10px;
	bottom: inherit;
}
#carouselBanner .carousel-inner {
	margin-top: -20px;
}
#carouselBanner .carousel-caption h3 {
	margin-bottom: inherit;
}
#carouselBanner .carousel-caption p {
	/*color: #706f6f;*/
	color: #00205c;
	font-weight: 600;
}

.card-product .bg {
	border-style: solid;
	border-top-right-radius: 9rem;
	border-width: 0;
	height: 19rem;
	margin-bottom: 0;
	order: -1;
}

.module-media-object .title a,
.module-media-object .title a:active,
.module-media-object .title a:active:focus,
.module-media-object .title a:focus,
.module-media-object .title a:hover,
.module-media-object .title a:visited {
	color: #00205c;
	text-decoration: none !important;
}

.card-news a,
.card-news a:hover {
	text-decoration: none !important;
}

/* Pulsante "Area riservata" - stile di default */
#nav-action.btn-area-riservata {
	background-color: #ffffff !important;
	background-image: none !important;
	color: #002b6c !important;
	border: 2px solid #002b6c !important;
	padding: 0.5em 1.2em;
	border-radius: 10px;
	font-weight: bold;
	display: inline-block;
	text-align: center;
	text-decoration: none;
	transition: all 0.3s ease;
	position: relative;
	z-index: 1;
}

#nav-action.btn-area-riservata:hover,
#nav-action.btn-area-riservata:focus {
	background-color: #002b6c !important;
	background-image: none !important;
	color: #ffffff !important;
	border-color: #ffffff !important;
	outline: 2px solid #ffd200 !important; /* bordo giallo ad alto contrasto */
	outline-offset: 3px !important;
	border-radius: 10px;
}

.skip-links {
	position: absolute;
	top: -1000px;
	left: -1000px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.skip-links a {
	background: #00205c;
	color: #fff;
	padding: 8px 16px;
	display: inline-block;
	font-weight: bold;
}

.skip-links a:focus {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1000;
}

/* ACCESSIBILITÀ: Focus visibile sul logo navbar-brand */
.navbar-expand .main-menu .navbar-brand:focus,
.navbar-expand .main-menu .navbar-brand:focus-visible {
	outline: 3px solid #ffd200 !important; /* giallo alto contrasto */
	outline-offset: 4px;
	border-radius: 4px;
}

/* ACCESSIBILITÀ: Mantiene il bordo di focus visibile e ad alto contrasto sui link nel footer.
   Usa il colore giallo ufficiale del sito (#FFD200) e disattiva la transizione per evitare che il bordo sparisca. */
footer a:focus,
footer a:focus-visible {
	outline: 2px solid #ffd200 !important;
	outline-offset: 3px !important;
	border-radius: 4px;
	transition: none !important;
}

/* ACCESSIBILITÀ: Aggiunge un bordo ben visibile al focus tastiera sul pulsante hamburger menu */
button.c-hamburger:focus,
button.c-hamburger:focus-visible {
	outline: 2px solid #ffd200 !important; /* blu scuro del sito */
	outline-offset: 3px !important;
	border-radius: 6px;
}

/* ACCESSIBILITÀ: Rende il bordo di focus tastiera ben visibile sui link dei breadcrumb */
.breadcrumb a:focus,
.breadcrumb a:focus-visible {
	outline: 2px solid #ffffff !important; /* bordo bianco visibile sul blu */
	outline-offset: 3px !important;
	border-radius: 4px;
	transition: none !important; /* impedisce sparizione animata */
}

/* ACCESSIBILITÀ: Rende visibile e ben contrastato il bordo di focus tastiera sui link città */
a.btn-link.locality:focus,
a.btn-link.locality:focus-visible {
	outline: 2px solid #002b6c !important; /* blu scuro ufficiale del sito */
	outline-offset: 3px !important;
	border-radius: 4px;
	text-decoration: none !important; /* rimuove underline doppio */
}

/* ACCESSIBILITÀ: Corregge il contrasto colore rendendo il testo #1E64A5 su sfondo grigio conforme */
.locality, /* o altro selettore applicato al link città */
.color-a {
	color: #1e64a5 !important; /* nuovo blu scuro conforme WCAG */
}

/* ACCESSIBILITÀ: Rimuove box-shadow giallo predefinito e usa un solo bordo giallo ben visibile e distanziato */
.btn.btn-primary:focus,
.btn.btn-primary:focus-visible {
	outline: 2px solid #002b6c !important; /* bordo giallo accessibile */
	outline-offset: 4px !important; /* distanzia il bordo dal bottone */
	border-color: transparent !important; /* nasconde temporaneamente il bordo blu */
	box-shadow: none !important; /* rimuove effetto giallo duplicato */
}

/* ACCESSIBILITÀ: Rimuove box-shadow giallo predefinito e usa un solo bordo giallo ben visibile e distanziato */
.btn.btn-contact:focus,
.btn.btn-contact:focus-visible {
	outline: 2px solid #ffd200 !important; /* bordo giallo accessibile */
	outline-offset: 4px !important; /* distanzia il bordo dal bottone */
	border-color: transparent !important; /* nasconde temporaneamente il bordo blu */
	box-shadow: none !important; /* rimuove effetto giallo duplicato */
}

/* ACCESSIBILITÀ: Focus giallo visibile solo da tastiera per i link inseriti dagli utenti nel caption */
.vittoria-caption-description a:focus,
.vittoria-caption-description a:focus-visible {
	outline: 2px solid #ffd200 !important;
	outline-offset: 3px !important;
	box-shadow: none !important;
	border-radius: 3px;
}
.vittoria-caption-description a {
	color: #ffffff !important; /* Force white for visibility */
	text-decoration: underline !important; /* Optional: underline for clarity */
}

/* Evita effetto focus da mouse */
.vittoria-caption-description a:focus:not(:focus-visible) {
	outline: none !important;
}

/* ACCESSIBILITÀ: miglior focus blu visibile e distanziato su .card-news a */
.card-news a:focus,
.card-news a:focus-visible {
	outline: 3px solid #00205c !important; /* bordo blu visibile */
	outline-offset: 10px !important; /* spazio tra bordo e contenuto */
	border-radius: 8px; /* angoli morbidi */
	display: block; /* assicura padding e outline */
	padding: 8px; /* spinge il contenuto verso l’interno */
	box-shadow: none !important; /* elimina eventuali box-shadow gialli */
	background: #fff; /* evita problemi con hover bg */
}

/* ACCESSIBILITÀ: focus ben visibile per frecce slider */
.slick-arrow:focus,
.slick-arrow:focus-visible {
	outline: 2px solid #00205c !important; /* blu scuro */
	outline-offset: 4px !important;
	border-radius: 4px; /* leggera arrotondatura */
}

/* Remove hover effect from tab buttons */
.tab-link.btn.btn-primary:hover,
.tab-link.btn.btn-primary:focus,
.tab-link.btn.btn-primary:focus-visible {
	background-color: #00205c !important; /* Keep default color */
	color: #ffffff !important; /* Keep text white */
	outline: none !important; /* No focus outline unless accessibility is handled elsewhere */
	box-shadow: none !important; /* Remove any shadow */
	border: none !important;
}

.h3-small {
	font-size: 2rem;
	font-family: 'Open Sans', sans-serif;
	font-weight: 700;
	color: #00205c;
	margin-bottom: 1rem;
}

.module-hero > .container .row .caption p {
	margin-bottom: 0;
	margin-top: 0 !important;
}

/* Override parent main.production.css — riduce padding-top hero su desktop */
.module-hero-fullimage {
	padding: 7rem 0 0 !important;
}
@media (min-width: 768px) {
	.module-hero-fullimage {
		padding: 7rem 0 0 !important;
	}
}
