/*
Theme Name: Unitre Varazze
Theme URI: https://www.unitrevarazze.it/
Description: Tema child di Twenty Twenty-Five per Unitre Varazze.
Author: dueclic
Author URI: https://www.dueclic.com
Template: twentytwentyfive
Version: 2.2.0
Requires at least: 6.7
Requires PHP: 7.2
Text Domain: unitre-varazze
License: GNU General Public License v2 or later
*/

:root {
	--unitre-radius: 16px;
	--unitre-shadow: 0 1px 2px rgba(28, 38, 24, .06), 0 8px 24px rgba(28, 38, 24, .08);
	--unitre-shadow-hover: 0 2px 4px rgba(28, 38, 24, .08), 0 16px 40px rgba(28, 38, 24, .14);
}

/* Base */
strong,
b {
	font-weight: 700;
}
.has-text-align-justify {
	text-align: left;
}
.wp-site-blocks > footer,
.wp-site-blocks > main {
	margin-block-start: 0;
}
/* I link dentro il testo devono distinguersi anche senza colore (WCAG 1.4.1). */
.wp-block-post-content p a,
.unitre-footer p a {
	text-decoration: underline;
	text-underline-offset: .18em;
	text-decoration-thickness: 1px;
}
:where(.wp-site-blocks) :focus-visible {
	outline: 2px solid var(--wp--preset--color--primary-dark);
	outline-offset: 3px;
	border-radius: 4px;
}
.wp-element-button,
.wp-block-button__link {
	transition: background-color .2s, color .2s, transform .2s, box-shadow .2s;
}
.wp-block-button__link:hover {
	transform: translateY(-1px);
}
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
	}
}

/* Header */
.unitre-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, .92);
	backdrop-filter: saturate(180%) blur(12px);
	-webkit-backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid rgba(28, 38, 24, .08);
}
body.admin-bar .unitre-header {
	top: var(--wp-admin--admin-bar--height, 0);
}
.unitre-brand .wp-block-site-title {
	font-size: 19px;
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.1;
}
.unitre-brand .wp-block-site-title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
.unitre-brand .wp-block-site-tagline {
	font-size: 13px;
	color: #5b6656;
	line-height: 1.2;
	margin: 2px 0 0;
}
.unitre-header .wp-block-navigation .wp-block-navigation-item__content {
	color: var(--wp--preset--color--contrast);
	padding: 8px 14px;
	border-radius: 999px;
	text-decoration: none;
}
.unitre-header .wp-block-navigation .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--tint);
	color: var(--wp--preset--color--primary-deep);
}
.unitre-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--tint);
	color: var(--wp--preset--color--primary-deep);
	font-weight: 600;
}
.unitre-header .wp-block-navigation__responsive-container-open,
.unitre-header .wp-block-navigation__responsive-container-close {
	width: 44px;
	height: 44px;
	justify-content: center;
	align-items: center;
	border-radius: 10px;
}
.unitre-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: 20px;
}
.unitre-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 76px;
	gap: 0;
	align-items: stretch;
}
.unitre-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	width: 100%;
	gap: 6px;
	align-items: stretch;
}
.unitre-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 14px 18px;
	font-size: 20px;
	font-weight: 600;
	border-radius: 12px;
}
/* Il menu mette il focus sulla prima voce all'apertura: anello visibile solo per chi usa la tastiera. */
body:not(.unitre-keyboard) .unitre-header .is-menu-open :focus-visible {
	outline: none;
}

/* Titolo delle pagine interne */
.unitre-page-hero {
	background:
		radial-gradient(circle at 85% 0%, rgba(114, 192, 44, .25), transparent 45%),
		var(--wp--preset--color--tint);
}
.unitre-page-hero .wp-block-post-title {
	margin: 0;
}
.unitre-eyebrow {
	display: block;
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-dark);
}

/* Hero in home */
.unitre-hero .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(16, 26, 10, .25) 0%, rgba(16, 26, 10, .45) 100%) !important;
	opacity: 1 !important;
}
.unitre-hero .wp-block-cover__inner-container {
	width: 100%;
}
.unitre-hero-box {
	background: rgba(16, 26, 10, .62);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 24px;
	padding: clamp(24px, 4vw, 48px);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
}
.unitre-hero h1 {
	color: #fff;
	font-size: var(--wp--preset--font-size--xx-large);
	letter-spacing: -.025em;
	margin: 0;
}
.unitre-hero p {
	color: rgba(255, 255, 255, .92);
	max-width: 560px;
}
.unitre-hero .unitre-eyebrow {
	color: #c9ef9f;
}
.unitre-hero .is-style-outline .wp-block-button__link {
	color: #fff;
	border: 2px solid rgba(255, 255, 255, .85);
	background: transparent;
	padding: 10px 22px;
}
.unitre-hero .is-style-outline .wp-block-button__link:hover {
	background: #fff;
	color: var(--wp--preset--color--ink);
}

/* Slide in home */
.unitre-slider.is-ready > .unitre-slide {
	display: none;
}
.unitre-slider.is-ready > .unitre-slide.is-active {
	display: block;
	animation: unitre-fade .7s ease;
}
@keyframes unitre-fade {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: none; }
}
.unitre-slide-title {
	color: #fff !important;
	font-size: var(--wp--preset--font-size--xx-large) !important;
	letter-spacing: -.025em;
	margin: 0 !important;
}
.unitre-slide-image img {
	max-height: 340px;
	width: auto;
	filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .45));
}
.unitre-slider-controls {
	display: flex;
	align-items: center;
	gap: 2px;
	margin-top: 20px;
}
.unitre-slider-controls button {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: #fff;
}
.unitre-slider-controls .unitre-dot::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .5);
	transition: width .3s, background-color .3s;
}
.unitre-slider-controls .unitre-dot[aria-current="true"]::before {
	width: 26px;
	background: #fff;
}
.unitre-slider-controls .unitre-pause {
	margin-left: 10px;
	font-size: 12px;
	line-height: 1;
	border: 1px solid rgba(255, 255, 255, .6);
	border-radius: 999px;
}
.unitre-slider-controls button:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 1px;
}
.unitre-hero .unitre-slider + .wp-block-buttons {
	margin-top: 28px;
}

/* Card */
.unitre-card {
	background: #fff;
	border-radius: var(--unitre-radius);
	box-shadow: var(--unitre-shadow);
	transition: transform .25s, box-shadow .25s;
}
.unitre-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--unitre-shadow-hover);
}
.unitre-card h3 {
	margin-top: 0;
}
.unitre-card .unitre-card-icon {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	height: 48px;
	margin: 0 0 4px;
	border-radius: 12px;
	background: var(--wp--preset--color--tint);
	color: var(--wp--preset--color--primary-dark);
	font-size: 20px !important;
	font-weight: 700;
	line-height: 1;
}
.unitre-link-arrow a {
	display: inline-block;
	padding: 4px 0;
	font-weight: 600;
	text-decoration: none !important;
}
.unitre-link-arrow a::after {
	content: " →";
	transition: margin .2s;
}
.unitre-link-arrow a:hover::after {
	margin-left: 4px;
}

/* Avviso */
.unitre-alert {
	border-left: 4px solid #2c6583;
	border-radius: 12px;
	color: #1f4e66;
}
.unitre-alert p {
	margin: 0;
}

/* Box call to action */
.unitre-cta {
	border-radius: 20px;
	padding: clamp(28px, 5vw, 48px) !important;
	margin-bottom: clamp(48px, 7vw, 80px) !important;
	background: linear-gradient(135deg, #2a5a1c 0%, #3e7d2a 60%, #4f9a2c 100%) !important;
	box-shadow: var(--unitre-shadow);
}
.unitre-cta p {
	color: #fff;
	font-size: clamp(18px, 1rem + .5vw, 22px);
	font-weight: 600;
	margin: 0;
	max-width: 640px;
}
.unitre-cta .wp-block-button__link {
	background: #fff;
	color: var(--wp--preset--color--primary-deep);
}
.unitre-cta .wp-block-button__link:hover,
.unitre-cta .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--tint);
	color: var(--wp--preset--color--ink);
}
.unitre-cta :focus-visible {
	outline-color: #fff;
}

/* Immagini */
.unitre-thumbnail img,
.unitre-rounded img {
	border-radius: var(--unitre-radius);
	box-shadow: var(--unitre-shadow);
}
.unitre-thumbnail figcaption {
	text-align: center;
	color: #5b6656;
	font-size: 14px;
	margin-top: 10px;
}
.unitre-map iframe,
.unitre-map-large iframe {
	display: block;
	width: 100%;
	border: 0;
	border-radius: 14px;
}
.unitre-map iframe {
	height: 190px;
}
.unitre-map-large iframe {
	aspect-ratio: 4 / 3;
	height: auto;
	box-shadow: var(--unitre-shadow);
}
.unitre-info-card {
	background: #fff;
	border-radius: var(--unitre-radius);
	box-shadow: var(--unitre-shadow);
}

/* Footer */
.unitre-footer {
	color: #d4dbcf;
	font-size: 15px;
}
.unitre-footer a {
	color: #a9de78;
}
.unitre-footer h2 {
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-bottom: 14px;
}
.unitre-footer h2 a {
	display: inline-block;
	padding: 4px 0;
	color: #fff;
	text-decoration: none;
}
.unitre-footer .wp-block-site-logo img {
	background: #fff;
	border-radius: 10px;
	padding: 6px;
}
.unitre-links {
	list-style: none;
	padding: 0;
	margin-top: 0;
}
.unitre-links a {
	display: inline-block;
	padding: 6px 0;
	color: #d4dbcf;
	text-decoration: none;
}
.unitre-links a:hover {
	color: #fff;
	text-decoration: underline;
}
.unitre-copyright {
	font-size: 14px;
	color: #aab3a5;
	border-top: 1px solid rgba(255, 255, 255, .08);
}
.unitre-copyright p {
	margin: 0;
}
.unitre-credit {
	font-size: 13px;
}
.unitre-footer :focus-visible {
	outline-color: #fff;
}

/* Tablet e mobile */
@media (max-width: 781px) {
	.unitre-hero {
		min-height: 480px !important;
		padding-top: 48px !important;
		padding-bottom: 48px !important;
	}
	.unitre-slide .wp-block-column:last-child {
		display: none;
	}
	.unitre-section {
		padding-top: 48px !important;
		padding-bottom: 48px !important;
	}
	.unitre-page-hero {
		padding-top: 40px !important;
		padding-bottom: 36px !important;
	}
	.unitre-main {
		padding-top: 36px !important;
	}
	.unitre-cta > .wp-block-group {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
	}
	.wp-block-column .has-text-align-right {
		text-align: left;
	}
	.unitre-footer.has-footer-background-color {
		padding-top: 48px !important;
	}
}

@media (max-width: 599px) {
	.unitre-brand .wp-block-site-tagline {
		display: none;
	}
	.unitre-hero .wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
	}
	.unitre-hero .wp-block-button {
		width: 100%;
	}
	.unitre-hero .wp-block-button__link {
		width: 100%;
		text-align: center;
	}
}
