/*
 Theme Name:   Besta
 Description:  Child Theme del modello Scuole di Designers Italia
 Author:       DTB Solutions
 Template:     design-scuole-wordpress-theme-main
 Version:      1.0.0
*/

/* -- COLORI -- */
:root {
	--bs-primary: #204e92;
	--bs-secondary: #e47200;
	--bs-sec-light: #f0e6db;
	--bs-light: #fffcfa;
	--bs-dark: #262730;
}

body .bg-white,
#main-container {
	background-color: var(--bs-light) !important;
}

body .bg-petrol,
#footer-wrapper.footer-wrapper {
	background-color: var(--bs-primary) !important;
}

#main-wrapper a {
	color: var(--bs-dark) !important;

	&:hover {
		color: var(--bs-secondary) !important;
	}
}

#footer-wrapper a,
#pre-header a {
	color: var(--bs-light) !important;

	&:hover {
		color: var(--bs-light) !important;
	}
}

.card.card-article.card-article-greendark:before {
	background-color: var(--bs-secondary) !important;
}

.card.card-article.card-article-greendark .date {
	background-color: var(--bs-secondary) !important;
}

.card.card-article .card-article-img {
	background-color: var(--bs-sec-light) !important;
	width: 225px !important;
	aspect-ratio: 1 / 1 !important;
	background-size: contain !important;
}

.card.card-article .card-article-img .icon-greendark {
	fill: var(--bs-secondary) !important;
}

small.h6.text-greendark {
	color: var(--bs-secondary) !important;
}

.badge-outline-greendark {
	border-color: var(--bs-primary) !important;
	color: var(--bs-primary) !important;
}

.badge-outline-greendark:hover {
	color: var(--bs-light) !important;
	background: var(--bs-primary) !important;
}

/* -- TYPOGRAPHY -- */

@media (min-width: 576px) {
	.h4.smaller,
	h4.smaller {
		font-size: 1.2rem;
	}
}

/* -- STRUTTURA -- */

@media (min-width: 1200px) {
	.container {
		max-width: 90% !important;
	}
}

/* --BUTTON -- */

#main-wrapper a.btn.btn-light {
	background-color: var(--bs-light) !important;
	color: var(--bs-dark) !important;
	border-color: var(--bs-light) !important;

	&:hover {
		background-color: #f0f0f0 !important;
		color: var(--bs-dark) !important;
		border-color: #f0f0f0 !important;
	}
}

#main-wrapper a.btn.btn-evidenza {
	background-color: var(--bs-secondary) !important;
	color: var(--bs-light) !important;
	border-color: var(--bs-secondary) !important;

	&:hover {
		background-color: var(--bs-light) !important;
		color: var(--bs-dark) !important;
		border-color: var(--bs-sec-light) !important;
	}
}

/* -- TABELLE -- */

.table-striped.table-bordered tr:first-of-type td {
	border-top: 1px solid #d6dce3;
}

/* -- PAGINAZIONE -- */

#main-wrapper ul.page-numbers {
	display: flex;
	justify-content: center;
	gap: 1rem;
	list-style: none;
	font-family: "Titillium Web";
	font-size: 1.2rem;
	font-weight: 700;

	& a {
		color: var(--bs-primary) !important;

		&:hover {
			color: var(--bs-secondary) !important;
		}
	}

	& span {
		color: var(--bs-dark) !important;
	}
}

/* -- HEADER -- */

#pre-header {
	height: 5rem !important;
	line-height: 5rem !important;

	& #header-buttons .btn-custom {
		height: 2.5rem;
		font-weight: 400;
		font-size: 1.313rem;
		line-height: 2.5rem;
		padding: 0 2.75rem;
		margin-right: 1.75rem;
		background-color: var(--bs-light);
		color: var(--bs-dark) !important;

		&:last-child {
			margin-right: 0;
		}
	}
}

.header-utils .icon-wrapper {
	padding-top: 27px !important;
}

#main-header .header-top {
	padding: 0.5rem 0 !important;
}

h1#top-title {
	display: none !important;
	visibility: hidden !important;
	font-size: 1.313rem;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.2;
	text-align: center;
	margin: 0;
	margin-bottom: 0.5rem;

	& strong {
		font-size: 1.2em;
		font-weight: 700;
	}
}

.logo-header svg {
	height: 10rem !important;
	width: auto !important;
}

#menu-principale ul {
	list-style-type: none !important;

	& li {
		font-size: 1.5rem;
		margin-right: 2.5rem;

		&:last-child {
			margin-right: 0;
		}
	}
}

#main-wrapper.sticked-menu {
	padding-top: 0 !important;

	& #main-header.is-sticky {
		position: relative !important;
	}
}

section#slider {
	border-top: 9px solid var(--bs-primary);
}

section#sect-percorsi-studio {
	padding: 0 !important;
}

#percorsi-studio.container {
	padding: 2rem 0 !important;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

	& a {
		color: var(--bs-light) !important;
	}

	& hr {
		width: 80%;
		margin: 0.5rem auto;
		border: 1px solid var(--bs-light);
		margin-top: 2rem;
		margin-bottom: 2rem;
	}

	& .link-miur {
		display: inline-block;
		margin-top: 0;
		font-size: 1.313rem;
		font-weight: 400;
		color: var(--bs-light) !important;

		&:hover {
			color: var(--bs-light) !important;
		}
	}
}

/* blocco utente loggato */

.menu-user-blue .user-details {
	background: var(--bs-dark) !important;
	color: var(--bs-sec-light);

	& .user-details-content p {
		color: var(--bs-sec-light);
	}

	& .btn.btn-action {
		background: var(--bs-secondary);
	}
}

#pre-header .menu-user-blue .menu-user-list ul li a {
	background: var(--bs-light) !important;
	color: var(--bs-dark) !important;
}

#pre-header .menu-user-blue .menu-user-list ul li.active a {
	background: var(--bs-primary) !important;
	color: var(--bs-light) !important;
}

#pre-header .menu-user-bottom {
	background: var(--bs-sec-light);

	& a {
		color: var(--bs-dark) !important;
	}
}

/* -- MENU HEADER -- */

.menu-principale-new-container {
	& ul {
		list-style-type: none !important;
		display: flex !important;
		font-weight: 700;

		& li {
			padding: 1rem 0;
		}

		& li.menu-item-has-children {
			position: relative;

			&:hover .sub-menu {
				display: block !important;
			}

			& .sub-menu {
				display: none !important;
				position: absolute;
				top: 100%;
				left: -1rem;
				background-color: var(--bs-light) !important;
				border: 1px solid #ddd;
				padding: 0 0 0.75rem;
				min-width: 270px;
				opacity: 0.98;

				& li {
					padding: 0.5rem 1rem;

					& a {
						color: var(--bs-dark) !important;
						font-size: 1.313rem;
						font-weight: 400;
						opacity: 0.8;

						&:hover {
							color: var(--bs-secondary) !important;
						}
					}
				}
			}
		}
	}
}

/* voce di menu per membri con accesso riservato */

body:not(.role-docente):not(.role-administrator) #menu-item-479 {
	display: none;
	visibility: hidden;
}

body:not(.role-personale_ata):not(.role-administrator) #menu-item-480 {
	display: none;
	visibility: hidden;
}

/* nascondere admin bar per sottoscrittori */

html:has(body.role-subscriber) {
	margin-top: 0 !important;
}

body.role-subscriber #wpadminbar {
	display: none;
	visibility: hidden;
}

/* -- MAIN CONTENT -- */

#main-content {
	margin-right: 0 !important;
	margin-left: 0 !important;

	& .main-content-content {
		padding-top: 3rem;
	}
}

/* Colonne */

aside#main-left,
aside#main-right {
	padding: 3rem 3%;

	& ul {
		list-style: none;
	}
}

/* -- POST -- */

section.section.bg-white.article-title .title-img {
	background-color: transparent;
	background-size: contain;
}

/* -- SWITCHER -- */

.home-switcher,
.consiglio-switcher {
	display: flex;
	gap: 1rem;
	margin-bottom: 2rem;
}

.switch-btn {
	padding: 10px 1.5rem;
	border: 1px solid #d0d0d0;
	background: var(--bs-light);
	cursor: pointer;
	transition: all 0.25s ease;
	font-size: 1.313rem;
	font-family: "Titillium Web", Geneva, Tahoma, sans-serif;
	font-weight: 700;
	color: var(--bs-primary);
}

.switch-btn:hover {
	background: #e9e9e9;
}

.switch-btn.active {
	background: var(--bs-secondary);
	color: var(--bs-light);
	border-color: var(--bs-secondary);
	cursor: default;
}

.home-sections-wrapper {
	position: relative;
	margin-bottom: 2.5rem;
}

.home-toggle-section,
.toggle-section {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.45s ease,
		visibility 0.45s ease;
	position: absolute;
	inset: 0;
	width: 100%;
}

.home-toggle-section.is-active,
.toggle-section.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	position: relative;
}

/* FIX RESPONSIVE */

/* header */

.logo-header.mobile {
	display: none !important;
	visibility: hidden !important;
}

@media (max-width: 767.98px) {
	.container {
		padding-left: 6px !important;
		padding-right: 6px !important;
	}

	.col-3,
	#main-header.zoom .col-6 {
		flex: 0 0 100% !important;
		max-width: calc(100% - 36px) !important;
		text-align: center !important;
	}

	.col-4.indirizzo {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		text-align: center !important;
	}

	#pre-header {
		height: auto !important;
		line-height: normal !important;
		padding: 0.5rem 0 !important;

		& .row.variable-gutters {
			gap: 0.5rem !important;
			flex-direction: column !important;
			align-items: center !important;
		}

		& #header-buttons {
			flex-direction: column;
			gap: 0.5rem;
		}

		& #header-buttons .btn-custom {
			width: 80%;
			text-align: center;
			margin: 0 !important;
		}
	}

	#main-header.zoom .header-top .col-8 {
		max-width: 66.6666666% !important;
		text-align: center;
	}

	nav#menu-principale {
		display: none !important;
		visibility: hidden;
	}

	.logo-header.desktop {
		display: none !important;
		visibility: hidden !important;
	}

	.logo-header.mobile {
		display: block !important;
		visibility: visible !important;
		width: auto !important;
		height: 125px !important;
	}

	.logo-header.mobile svg {
		width: auto !important;
		height: 125px !important;
	}

	.cbp-spmenu-vertical.cbp-spmenu-left.zoom {
		width: clamp(225px, 80%, 400px) !important;
	}

	.cbp-spmenu-left {
		left: -400px !important;

		&.menu-open {
			left: 0 !important;
		}
	}

	#percorsi-studio.container {
		& .indirizzo {
			margin-bottom: 3rem !important;
			border: solid 1px var(--bs-sec-light) !important;
			border-radius: 8px !important;
			padding: 0.5rem;

			&:last-child {
				margin-bottom: 1rem !important;
			}
		}

		& hr {
			margin: 0.5rem auto !important;
		}
	}
}

/* main content */

#sidebar-buttons {
	display: none;
	visibility: hidden;
}

@media (max-width: 767.98px) {
	#main-center.col-6 {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		padding-right: 1rem !important;
		padding-left: 1rem !important;
	}

	#main-left,
	#main-right {
		position: fixed;
		top: 0;
		z-index: 99;
		width: 350px;
		height: 100vh;
		background-color: var(--bs-light) !important;
		overflow-y: auto;
		scroll-behavior: smooth;
		transition:
			left 0.3s ease,
			right 0.3s ease;
		text-align: left !important;
		box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
	}

	#main-left {
		left: -350px !important;

		&.menu-open {
			left: 0 !important;
			border-right: 1px solid var(--bs-primary) !important;
		}

		& h4 {
			padding-left: 1.5rem !important;
		}
	}

	#main-right {
		right: -350px !important;
		padding-left: 1.5rem !important;

		&.menu-open {
			right: 0 !important;
			border-left: 1px solid var(--bs-primary) !important;
		}

		& .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
			flex-basis: 45% !important;

			& h4.smaller {
				font-size: 1.1rem !important;
				line-height: 1.2 !important;
			}

			& img {
				width: 120px !important;
				height: auto !important;
			}

			& :where(.wp-block-columns.is-layout-flex) {
				gap: 1em;
			}
		}
	}

	#sidebar-buttons {
		visibility: visible;
		display: flex;
		gap: 0.5rem;
		justify-content: space-between;
		position: fixed;
		z-index: 100;
		bottom: 0.5rem;
		width: 100%;
		left: 0;
		padding: 0 2rem;

		& p {
			width: 170px;
			padding: 0.5rem 1rem;
			text-align: center;
			font-weight: 700;
			border: none;
			border-radius: 4px;
			background-color: var(--bs-light);
			color: var(--bs-dark);
			border: 1px solid var(--bs-secondary);
			font-size: 1rem;
			cursor: pointer;
			z-index: 1000;
			box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);

			&:hover {
				background-color: var(--bs-secondary);
			}
		}
	}
}

/* footer */

@media (max-width: 767.98px) {
	.footer-wrapper {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		width: auto !important;
		max-width: 100% !important;
	}
}

@media (min-width: 375px) AND (max-width: 767.98px) {
	.logos-wrapper {
		flex-direction: column !important;
		gap: 20px;

		& svg {
			width: auto !important;
			height: 50px !important;
		}
	}
}
