@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:wdth,wght@75..100,400..700&family=Italianno&family=Playfair+Display:ital@0;1&display=swap');

/*
	Theme Name: Fontana Sposi
	Theme URI: https://fontanasposi.it/
	Description: Fontana Sposi 2026 theme
	Version: 2.0.0
	Author: Jacopo Zane
	Author URI: https://www.digitalia.srl
	Tags: PHP, HTML5, CSS3
	Text Domain: fontanasposi

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
	INDICE
	1. Variabili
	2. Reset e generali
	3. Tipografia
	4. Utility (spaziature, colori, layout)
	5. Bottoni e link
	6. Overlay ed effetti
	7. Animazioni
	8. Slick
	9. Form (CF7)
	10. Loader
	11. Header e navigazione
	12. Footer
	13. Lightbox / popup / GDPR
	14. HOME
	14b. PAGINA COLLEZIONI
	14c. PAGINA COLLEZIONE (Sposo / Invitato / Accessori)
	15. Responsive (>= 768 / 1024 / 1280 / 1600)
\*------------------------------------*/


/*------------------------------------*\
	1. VARIABILI
\*------------------------------------*/

:root {
	--light: #F3F0ED;
	--grey: #E5DFD8;
	--black: #111;
	--white: #FFFFFF;
	--line: rgba(17, 17, 17, 0.35);
	--line-light: rgba(255, 255, 255, 0.35);

	--instrument: "Instrument Sans", sans-serif;
	--italianno: "Italianno", cursive;
	--playfair: "Playfair Display", serif;;
	/* --logo: manca il font del logo da inserire */

	--gutter: 4vw;          /* margine laterale container */
	--inset: 1.3vw;         /* margine dei blocchi immagine "staccati" dal bordo (hero, banner) */
	--ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}


/*------------------------------------*\
	2. RESET E GENERALI
\*------------------------------------*/

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html,
body {
	background-color: var(--light);
	color: var(--black);
	font-family: var(--instrument);
	font-weight: 400;
	line-height: 1.3;
	font-size: 16px;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* niente scroll-behavior: smooth, lo gestisce LENIS */

body {
	overflow-y: scroll;
}

body.navmenu_open {
	overflow-y: hidden;
}

img {
	border: none;
	object-fit: cover;
	width: 100%;
	height: 100%;
	vertical-align: middle;
}

a,
a:visited {
	outline: none;
	text-decoration: none;
	color: inherit;
}

a:focus,
a:hover,
a:active,
input:focus {
	outline: 0;
}

a:focus-visible,
button:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: 3px;
}

hr {
	border: 0;
	border-top: 0.5px solid var(--line);
}


/*------------------------------------*\
	3. TIPOGRAFIA
\*------------------------------------*/

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
	font-family: var(--instrument);
	font-weight: 400;
	color: inherit;
	margin: 0;
	padding: 0;
}

h1, .h1 { font-size: 2.1rem;  line-height: 1.05; }
h2, .h2 { font-size: 2rem;    line-height: 1.1; }
h3, .h3 { font-size: 1.7rem;  line-height: 1.1; }
h4, .h4 { font-size: 1.35rem; line-height: 1.2; }
h5, .h5 { font-size: 1.1rem;  line-height: 1.2; }

p {
	font-size: 1rem;
	line-height: 1.5;
}

strong { font-weight: 600; }
.medium { font-weight: 500; }

.big, .big p     { font-size: 1.2rem; }
.bigger          { font-size: 2.4rem; }
.small, .small p { font-size: 0.85rem; }
.xsmall          { font-size: 0.75rem; }

/* corsivo calligrafico */
.script {
	font-family: var(--italianno);
	font-size: 1.6rem;
	line-height: 1;
	text-transform: none;
}

/* titolo misto: maiuscolo + parole in <em> in Italianno */
.title-mix {
	text-transform: uppercase;
	line-height: 1.05;
}

.title-mix em,
.uppercase em {
	font-family: var(--playfair);
	font-style: normal;
	text-transform: uppercase;
	/* font-size: 2.2em; */
	line-height: 0.7;
	letter-spacing: 0;
}

.uppercase  { text-transform: uppercase; }
.underline  { text-decoration: underline; }
.text-center{ text-align: center; }
.text-right { text-align: right; }
.text-end   { text-align: end; }

/* contenuti da editor */
.contenuto p { margin-bottom: 15px; }
.contenuto a { text-decoration: underline; }
.contenuto ul {
	list-style-position: inside;
	padding-top: 20px;
}


/*------------------------------------*\
	4. UTILITY
\*------------------------------------*/

/* container */
.container-fluid {
	padding-left: var(--gutter);
	padding-right: var(--gutter);
}
.container-left  { padding-left: var(--gutter); padding-right: 0; }
.container-right { padding-right: var(--gutter); padding-left: 0; }

/* margini fluidi */
.my-fluid  { margin-top: 2rem; margin-bottom: 2rem; }
.mt-fluid  { margin-top: 2rem; }
.mb-fluid  { margin-bottom: 2rem; }
.mx-fluid  { margin-left: clamp(1rem, 3vw, 2rem); margin-right: clamp(1rem, 3vw, 2rem); }

.m2-fluid  { margin: clamp(2rem, 6vw, 4rem); }
.my2-fluid { margin-top: clamp(3rem, 6vw, 4rem); margin-bottom: clamp(3rem, 6vw, 4rem); }
.mt2-fluid { margin-top: clamp(3rem, 6vw, 4rem); }
.mb2-fluid { margin-bottom: clamp(3rem, 6vw, 4rem); }
.mx2-fluid { margin-left: clamp(2rem, 6vw, 4rem); margin-right: clamp(2rem, 6vw, 4rem); }

/* padding fluidi */
.p-fluid   { padding: clamp(1rem, 3vw, 2rem); }
.px-fluid  { padding-left: clamp(1rem, 3vw, 2rem); padding-right: clamp(1rem, 3vw, 2rem); }
.py-fluid  { padding-top: 2rem; padding-bottom: 2rem; }
.pt-fluid  { padding-top: 2rem; }
.pb-fluid  { padding-bottom: 2rem; }

.p2-fluid  { padding: clamp(2rem, 6vw, 4rem); }
.px2-fluid { padding-left: clamp(2rem, 6vw, 4rem); padding-right: clamp(2rem, 6vw, 4rem); }
.py2-fluid { padding-top: clamp(3rem, 6vw, 4rem); padding-bottom: clamp(3rem, 6vw, 4rem); }
.pt2-fluid { padding-top: clamp(3rem, 6vw, 4rem); }
.pb2-fluid { padding-bottom: clamp(3rem, 6vw, 4rem); }

.py3-fluid { padding-top: clamp(5rem, 9vw, 8rem); padding-bottom: clamp(5rem, 9vw, 8rem); }

/* margini/padding fissi */
.pt10 { padding-top: 10px; }    .pb10 { padding-bottom: 10px; }  .py10 { padding-top: 10px; padding-bottom: 10px; }
.pt20 { padding-top: 20px; }    .pb20 { padding-bottom: 20px; }  .pb30 { padding-bottom: 30px; }
.mt20 { margin-top: 20px; }     .mt30 { margin-top: 30px; }      .mt50 { margin-top: 50px; }
.mb20 { margin-bottom: 20px; }
.mr10 { margin-right: 10px; }   .ml10 { margin-left: 10px; }
.m-auto { margin-left: auto; margin-right: auto; }
.no-padding { padding: 0; }
.no-margin  { margin: 0; }

.negative-margin {
	position: relative;
	top: -50px;
}

/* posizionamento */
.relative { position: relative; }
.z-index  { position: relative; z-index: 2; }
.d-block  { display: block; }

/* nascosto alla vista ma letto da screen reader e motori di ricerca */
.sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* colori */
.black   { color: var(--black); }
.white   { color: var(--white); }
.grey    { color: var(--grey); }
.b-opacity  { opacity: 0.5; }

.black-background { background-color: var(--black); color: var(--white); }
.white-background { background-color: var(--white); }
.grey-background  { background-color: var(--grey); }
.light-background { background-color: var(--light); }

/* immagini */
.round-image  { border-radius: 10px; overflow: hidden; }
.radius-image { border-radius: 5px;  overflow: hidden; }

/* flex/width: attivi solo da desktop (vedi sezione 15) */


/*------------------------------------*\
	5. BOTTONI E LINK
\*------------------------------------*/

/* link testuale sottolineato (quello usato in tutta la home) */
.link-underline {
	display: inline-block;
	position: relative;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding-bottom: 3px;
	color: inherit;
}

.link-underline::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: currentColor;
	transform-origin: right center;
	transition: transform 0.45s var(--ease);
}

.link-underline:hover::after,
a:hover .link-underline::after {
	transform: scaleX(0.35);
}

.link-underline.white,
.white .link-underline {
	color: var(--white) !important;
}

/* bottone pieno (ex buttonblue) */
.btn,
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--instrument);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border: 1px solid var(--black);
	background-color: var(--black);
	color: var(--white) !important;
	padding: 12px 22px;
	cursor: pointer;
	transition: 0.3s;
}

.btn:hover,
input[type="submit"]:hover {
	background-color: transparent;
	color: var(--black) !important;
}

/* bottone vuoto (ex buttonempty) */
.btn-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--instrument);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border: 1px solid var(--black);
	background-color: transparent;
	color: var(--black) !important;
	padding: 12px 22px;
	transition: 0.3s;
}

.btn-outline:hover {
	background-color: var(--black);
	color: var(--white) !important;
}

/* torna su */
.up-button {
	position: fixed;
	bottom: 2%;
	right: 1%;
	display: none;
	z-index: 2;
	align-items: center;
	justify-content: center;
	background-color: var(--white);
	width: 60px;
	height: 60px;
	border-radius: 50%;
	border: none;
	padding: 12px;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
}
.up-button img { width: 12px; height: auto; }
.scroll .up-button { display: flex; }


/*------------------------------------*\
	6. OVERLAY ED EFFETTI
\*------------------------------------*/

.overlay,
.overlay-bottom,
.overlay-light {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.overlay {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.35) 100%);
}

.overlay-bottom {
	background: linear-gradient(0deg, rgba(17, 17, 17, 0.7) 0%, rgba(17, 17, 17, 0.05) 60%);
}

.overlay-light {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.25) 50%, rgba(0, 0, 0, 0.3) 100%);
}

/* zoom su hover */
.zoom_img { overflow: hidden; }
.zoom_img img { transition: transform 0.8s ease; }
.zoom_img:hover img,
a:hover .zoom_img img { transform: scale(1.06); }


/*------------------------------------*\
	7. ANIMAZIONI
\*------------------------------------*/

.fade {
	opacity: 0;
	transition: 2s all cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.fade.in-page { opacity: 1; }

.fade-in {
	transform: translateY(50px);
	opacity: 0;
	transition: 1.3s all cubic-bezier(0.53, 0.03, 0.01, 0.46);
}
.fade-in.in-page {
	transform: translateY(0);
	opacity: 1;
}

.delay-200 { transition-delay: 300ms; }
.delay-300 { transition-delay: 450ms; }
.delay-400 { transition-delay: 600ms; }
.delay-500 { transition-delay: 750ms; }
.delay-600 { transition-delay: 900ms; }

.reveal-from-left img,
.reveal-from-left .overlay,
.reveal-all.reveal-from-left * {
	clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
	transition: 2.5s all var(--ease);
}
.reveal-from-left.in-page img,
.reveal-from-left.in-page .overlay,
.reveal-all.reveal-from-left.in-page * {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.reveal-from-right img,
.reveal-from-right .overlay {
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
	transition: 2.5s all var(--ease);
}
.reveal-from-right.in-page img,
.reveal-from-right.in-page .overlay {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

@media (prefers-reduced-motion: reduce) {
	.fade, .fade-in { opacity: 1; transform: none; transition: none; }
}


/*------------------------------------*\
	8. SLICK
\*------------------------------------*/

.slick-dots {
	position: absolute;
	left: 0;
	bottom: 5%;
	z-index: 1;
	width: 100%;
	text-align: center;
	list-style: none;
}
.slick-dots li {
	display: inline-block;
	width: 6px;
	height: 6px;
	overflow: hidden;
	border-radius: 50%;
	margin: 20px 3px 0;
	border: 1px solid var(--white);
	background-color: transparent;
}
.slick-dots .slick-active { background-color: var(--white); }
.slick-dots button {
	color: transparent;
	background-color: transparent;
	display: contents;
}

/* dots scuri, per slider su fondo chiaro */
.dots-dark .slick-dots li { border-color: var(--black); }
.dots-dark .slick-dots .slick-active { background-color: var(--black); }

.slick-prev,
.slick-next {
	position: absolute;
	top: 45%;
	z-index: 1;
	width: 35px;
	height: 30px;
	border: none;
	color: transparent;
	background-color: transparent;
	background-repeat: no-repeat;
	outline: none;
}
.slick-prev { left: 30px;  background-image: url(img/header/left-white.svg); }
.slick-next { right: 30px; background-image: url(img/header/right-white.svg); }


/*------------------------------------*\
	9. FORM (CF7)
\*------------------------------------*/

input,
select,
textarea {
	font-family: inherit;
	font-size: 1rem;
	background-color: transparent;
	border: none;
	border-bottom: 1px solid rgba(0, 0, 0, 0.55);
	border-radius: 0;
	padding-left: 0;
	width: 100%;
	color: var(--black);
}

input,
select {
	height: 45px;
	margin-bottom: 20px;
}

textarea {
	margin-top: 10px;
	margin-bottom: 30px;
}

::placeholder { color: #999 !important; }

input[type="checkbox"] {
	width: 15px;
	height: 15px;
	display: inline;
	margin-right: 7px;
	margin-bottom: 0;
}

input[type="submit"] {
	width: auto;
	height: auto;
	margin-top: 30px;
}

.form-half {
	display: flex;
	justify-content: space-between;
}
.form-half .wpcf7-form-control-wrap {
	width: 49%;
	display: block;
}

.wpcf7-list-item { margin: 0 !important; line-height: 0.9; }
.wpcf7-list-item-label { color: var(--black); line-height: 1.4; }
.wpcf7-list-item-label a { text-decoration: underline; }

div.wpcf7-response-output { padding: 0; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
	border: none;
	color: var(--black);
}


/*------------------------------------*\
	10. LOADER
\*------------------------------------*/

#loader .loading-before {
	position: fixed;
	inset: 0;
	z-index: 997;
	background-color: var(--light);
	transition: 0.7s cubic-bezier(0.86, 0, 0.07, 1);
}
.loading-before.out {
	transform: translateY(-100%);
	transition-delay: 0.3s;
}

#loading {
	position: fixed;
	inset: 0;
	z-index: 998;
	background-color: var(--light);
	transition: 0.7s cubic-bezier(0.86, 0, 0.07, 1);
	transition-delay: 0.3s;
}
#loading::after {
	content: "";
	position: absolute;
	bottom: -30%;
	left: 0;
	width: 100%;
	height: 30%;
	background: linear-gradient(to bottom, var(--grey), transparent);
	z-index: -1;
}
#loading.out {
	transform: translateY(-130%);
	transition-delay: 0s;
}

#layeriniziale {
	width: 210px;
	height: auto;
}

.logo-animation-container {
	overflow: hidden;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: fadeInDown 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes fadeInDown {
	0%   { opacity: 0; transform: translate(-50%, -70%) scale(0.94); }
	100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}


/*------------------------------------*\
	11. HEADER E NAVIGAZIONE
	(base neutra: la rifiniamo quando sviluppiamo l'header)
\*------------------------------------*/

.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 70px;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: var(--light);
	transition: background 0.5s ease, box-shadow 0.5s ease;
}

.header .header__cta{
	border:0.5px solid var(--black);
	text-transform: uppercase;
	font-size:0.85rem;
	padding: 8px 18px;
	letter-spacing: 0.04em;
	transition:0.3s;
}

.header .header__cta:hover{
	background-color: var(--black);
	color: var(--light);
	transition:0.3s;
}

input[type="submit"]{
	border:0.5px solid var(--white);
	background-color: var(--white);
	color: var(--black) !important;
	text-transform: uppercase;
	font-size:0.85rem;
	padding: 8px 18px;
	letter-spacing: 0.04em;
	transition:0.3s;
}


.pre-scroll .header {
	background-color: rgba(243, 240, 237, 0.92);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.06);
}

.header > * {
	position: relative;
	z-index: 1;
}

.pagina-mobile .logo {
	max-width: 160px;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.header-widget-area {
	position: absolute;
	top: 0;
	right: 5%;
	z-index: 2;
}

.nav-desktop { display: none; }

/* menu mobile */
.nav-mobile {
	position: fixed;
	inset: 0;
	height: 100dvh;
	z-index: 99;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: rgba(17, 17, 17, 0.96);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-20px);
	transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0.5s;
}

.navmenu_open .nav-mobile {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0s;
}

.nav-mobile ul { list-style: none; }

.nav-mobile ul li {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.navmenu_open .nav-mobile ul li { opacity: 1; transform: translateY(0); }
.navmenu_open .nav-mobile ul li:nth-child(1) { transition-delay: 0.10s; }
.navmenu_open .nav-mobile ul li:nth-child(2) { transition-delay: 0.15s; }
.navmenu_open .nav-mobile ul li:nth-child(3) { transition-delay: 0.20s; }
.navmenu_open .nav-mobile ul li:nth-child(4) { transition-delay: 0.25s; }
.navmenu_open .nav-mobile ul li:nth-child(5) { transition-delay: 0.30s; }
.navmenu_open .nav-mobile ul li:nth-child(6) { transition-delay: 0.35s; }
.navmenu_open .nav-mobile ul li:nth-child(7) { transition-delay: 0.40s; }
.navmenu_open .nav-mobile ul li:nth-child(8) { transition-delay: 0.45s; }

.nav-mobile ul li a {
	display: block;
	padding: 8px 0;
	color: var(--white) !important;
	text-transform: uppercase;
	transition: opacity 0.25s ease;
}
.nav-mobile ul li a:hover { opacity: 0.7; }

.nav-mobile .wpml-ls-legacy-list-horizontal ul li { margin: 0 5px; }
.nav-mobile .wpml-ls-legacy-list-horizontal ul li a span { color: rgba(255, 255, 255, 0.5); }
.nav-mobile .wpml-ls-legacy-list-horizontal ul li.wpml-ls-current-language a span { color: var(--white); }

.wpml-ls-legacy-list-horizontal { padding: 0; }
.wpml-ls-legacy-list-horizontal a { padding: 10px 0 0; }
.wpml-ls-current-language { padding-right: 5px !important; }

/* nav desktop */
.nav ul {
	list-style: none;
	display: flex;
	align-items: center;
}
.nav ul li { line-height: 1; }
.nav a {
	position: relative;
	z-index: 1;
	display: block;
	padding: 5px 10px;
	color: var(--black);
	text-transform: uppercase;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	transition: color 0.4s ease;
}
.nav li.menu-item {
	position: relative;
	display: block;
}
/* box nero che si riempie da sinistra (hover) / pieno sulla voce attiva (come da grafica) */
.nav li.menu-item::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-color: var(--black);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.nav li.menu-item:hover::after,
.nav li.menu-item.current-menu-item::after,
.nav li.menu-item.current-menu-ancestor::after {
	transform: scaleX(1);
}
.nav li.menu-item:hover > a,
.nav li.menu-item.current-menu-item > a,
.nav li.menu-item.current-menu-ancestor > a {
	color: var(--white);
}

.sub-menu { display: none; }

/* hamburger */
.openclose {
	position: absolute;
	top: 50%;
	right: 5%;
	transform: translateY(-50%);
	z-index: 90;
	cursor: pointer;
	display: block;
}
.openclose .iconbar {
	height: 1px;
	width: 22px;
	background-color: var(--black);
	display: block;
	margin: 5px 0;
	transition: 1s;
}
.navmenu_open .openclose .iconbar { background-color: var(--white); }
.openclose .uno { width: 15px; }
.openclose .tre { width: 12px; }
.openclose:hover .uno,
.openclose:hover .tre { width: 22px; }


/*------------------------------------*\
	12. FOOTER
\*------------------------------------*/

.footer {
	font-size: 0.8rem;
}

.footer ul { list-style: none; }

.footer p,
.footer a {
	font-size: inherit;
	line-height: 1.5;
}

.footer a { transition: opacity 0.3s; }
.footer a:hover { opacity: 0.55; }

/* immagine + menu (in tutte le pagine tranne "Collezioni") */
.footer__top {

	padding-top: 30px;
}

.footer__img {
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.footer__menu {
	padding-top: 12px;
	padding-bottom: 12px;
}

.footer__menu-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 20px;
}

.footer__menu-list a {
	font-size: 0.8rem;
}

.footer__menu-list .current-menu-item a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* logo grande */
.footer__logo {
	padding-top: clamp(4rem, 12vw, 12rem);
}

.footer__logo a {
	display: block;
	padding-bottom: 40px;
	border-bottom: 0.5px solid var(--line);
}

.footer__logo a:hover { opacity: 1; }

.footer__logo img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

/* colonne informazioni */
.footer__info {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px 20px;
	padding-top: 30px;
	padding-bottom: 30px;
	border-bottom: 0.5px solid var(--line);
}

.footer__label {
	font-weight: 600;
	padding-bottom: 8px;
}

.footer__icon, .img-flowers {
	grid-column: 1 / -1;
	order: 10;
	width: 34px;
}

.footer__icon img, .img-flowers {
	object-fit: contain;
	height: auto;
}

.footer__social a { opacity: 0.6; }
.footer__social a:hover { opacity: 1; }

.footer__social li + li {
	padding-top: 4px;
}

.footer__arrow-link::after {
	content: "\2197";  /* ↗ */
	display: inline-block;
	margin-left: 8px;
	transition: transform 0.3s var(--ease);
}

.footer__arrow-link:hover::after {
	transform: translate(2px, -2px);
}

/* barra legale */
.footer__bottom {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 18px;
	padding-bottom: 24px;
	opacity: 0.6;
}

.footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 24px;
}

.footer__bottom p,
.footer__bottom a {
	font-size: 0.7rem;
}


/*------------------------------------*\
	13. LIGHTBOX / POPUP / GDPR
\*------------------------------------*/

.lightbox-wrapper {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 100000;
	opacity: 0;
}
.lightbox-wrapper[aria-visible="true"] { display: flex; }
.lightbox-wrapper .lightbox-background {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-color: rgba(0, 0, 0, 0.8);
}
.lightbox-wrapper .lightbox-container {
	width: calc(100% - 40px);
	position: relative;
	z-index: 10;
	color: var(--white);
	user-select: none;
	pointer-events: none;
}
.lightbox-wrapper .lightbox-content { width: 80%; margin: 0 auto; }
.lightbox-wrapper .lightbox-header { text-align: right; }
.lightbox-wrapper .lightbox-header .close { max-width: 25px; }
.lightbox-wrapper .lightbox-body { margin: 10px 0; overflow: hidden; }
.lightbox-wrapper .lightbox-footer { display: none; }
.lightbox-wrapper .lightbox-container img,
.lightbox-wrapper .close,
.lightbox-wrapper .next,
.lightbox-wrapper .prev {
	pointer-events: initial;
	cursor: pointer;
}
.lightbox-wrapper .lightbox-container img { display: block; margin: 0 auto; max-width: 100%; }
.lightbox-wrapper .lightbox-body img { width: unset; height: 100%; }
.lightbox-wrapper .next,
.lightbox-wrapper .prev { width: 20px; }
.lightbox-arrows {
	position: absolute;
	top: 0;
	height: 100%;
	display: flex;
	align-items: center;
	padding: 0 10px;
}
.lightbox-arrows.left  { left: 0; }
.lightbox-arrows.right { right: 0; }
.lightbox-wrapper.singolo .lightbox-arrows { display: none; }

/* popup */
.popup-content {
	display: none;
	justify-content: center;
	align-items: center;
	position: fixed;
	inset: 0;
	z-index: 100;
	background-color: rgba(0, 0, 0, 0.4);
}
.popup-content .sfondo {
	position: relative;
	width: 80%;
	max-width: 800px;
	background-color: var(--light);
}
.popup-content .sfondo .testo { padding: 30px; }
.popup-content .sfondo .close {
	position: absolute;
	top: -40px;
	right: 0;
	cursor: pointer;
	color: var(--white);
}

/* GDPR / Complianz */
.page-template-template-gdpr section h2 { padding-top: 60px; padding-bottom: 20px; }
.page-template-template-gdpr section p { max-width: 800px; }
#cmplz-document,
.editor-styles-wrapper .cmplz-unlinked-mode { max-width: 100% !important; }
#cmplz-cookies-overview .cmplz-dropdown summary div,
#cmplz-document .cmplz-dropdown summary div,
#cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.page-template-template-gdpr input[type="checkbox"],
.page-template-template-gdpr input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	height: auto;
	max-width: 6px;
	padding: 6px;
	margin: 0 10px 0 0;
	border: 1px solid var(--black);
}
.page-template-template-gdpr input:checked { background-color: var(--black); }
.cmplz-category-title { width: 80%; }


/*------------------------------------*\
	14. HOME
\*------------------------------------*/

/* --- HERO --- */
.hero-home {
	padding: 70px var(--inset) 0;  /* 70px = altezza header mobile */
}

.hero-home__media {
	height: calc(100svh - 70px - var(--inset));
	min-height: 480px;
	overflow: hidden;
}

.hero-home__media img {
	position: absolute;
	inset: 0;
}

.hero-home__title {
	position: absolute;
	left: 0;
	bottom: 9%;
	width: 100%;
	color: var(--white);
	text-shadow: 0 2px 20px rgba(0, 0, 0, 0.2);
}

/* --- INTRO --- */
.intro-home__text {
	max-width: 620px;
	margin: 0 auto;
}

.intro-home__text p {
	font-size: 1.15rem;
	line-height: 1.6;
}

.intro-home__img {
	max-width: 460px;
	aspect-ratio: 16 / 7;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
}

/* --- COLLEZIONI --- */
.collezioni-home__icon {
	width: 32px;
}

.collezioni-home__icon img {
	object-fit: contain;
}

.collezioni-home__text {
	max-width: 420px;
}

.collezioni-home__text p {
	font-size: 1rem;
	line-height: 1.5;
}

/* slider .carosello (inizializzato in scripts.js)
   3 slide visibili: laterali quadrate e scurite, centrale (.slick-center) verticale e senza velo.
   Le misure usano cqw = larghezza della slide, così l'altezza si anima in modo fluido. */
.carosello .slick-slide {
	padding: 0 6px;
}

.carosello .slick-track {
	display: flex !important;
	align-items: flex-start;
}

.collezione-card {
	position: relative;
	display: block;
	outline: none;
	container-type: inline-size;
}

.collezione-card__img {
	position: relative;
	width: 100%;
	height: 100cqw;                         /* quadrata */
	overflow: hidden;
	transition: height 0.8s var(--ease);
}

.collezione-card__img img {
	position: absolute;
	inset: 0;
	transition: transform 0.8s ease;
}

.collezione-card__overlay {
	position: absolute;
	inset: 0;
	background-color: var(--black);
	opacity: 0.35;                          /* velo sulle laterali */
	pointer-events: none;
	transition: opacity 0.8s var(--ease);
}

/* titolo sempre alla stessa altezza: sulla centrale cade sopra la foto */
.collezione-card__title {
	position: absolute;
	left: 0;
	top: calc(100cqw + 22px);
	z-index: 2;
	width: 100%;
	text-align: center;
	opacity: 0.8;
	transition: opacity 0.5s;
}

/* slide attiva */
.slick-center .collezione-card__img { height: 130cqw; }   /* verticale */
.slick-center .collezione-card__overlay { opacity: 0; }
.slick-center .collezione-card__title {
	opacity: 1;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.collezione-card:hover .collezione-card__overlay { opacity: 0.15; }
.slick-center.collezione-card:hover .collezione-card__overlay { opacity: 0; }

/* frecce bianche sottili, a metà delle slide laterali */
.carosello .slick-prev,
.carosello .slick-next {
	/* metà della slide quadrata: larghezza slide = (100vw - 2×centerPadding) / 3 - 12px */
	top: calc((100vw - 12vw) / 6 - 6px);    /* tablet: centerPadding 6vw */
	width: 34px;
	height: 20px;
	transform: translateY(-50%);
	background-size: contain;
	background-position: center;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 20' fill='none' stroke='%23fff' stroke-width='1.2'%3E%3Cpath d='M33 10H1M9 2L1 10l8 8'/%3E%3C/svg%3E");
	cursor: pointer;
	font-size: 0;
}

.carosello .slick-next {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 20' fill='none' stroke='%23fff' stroke-width='1.2'%3E%3Cpath d='M1 10h32M25 2l8 8-8 8'/%3E%3C/svg%3E");
}

.carosello .slick-prev { left: 3vw; }
.carosello .slick-next { right: 3vw; }

/* fallback senza slick: scroll orizzontale */
.carosello:not(.slick-initialized) {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	padding: 0 var(--gutter);
	scroll-snap-type: x mandatory;
}
.carosello:not(.slick-initialized) > * {
	flex: 0 0 65%;
	scroll-snap-align: center;
}
.carosello:not(.slick-initialized) .collezione-card__img { transform: none; }

.banner-home__inner > img,
.banner-home__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.banner-home__video {
	z-index: 1;   /* sopra la copertina */
}

.banner-home__inner .overlay {
	z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
	.banner-home__video { display: none; }   /* resta la copertina */
}

/* --- BANNER --- */
.banner-home {
	padding: var(--inset);
}

.banner-home__inner {
	height: 95vh;
	min-height: 420px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.banner_azienda .banner-home__inner

.banner-home__inner > img {
	position: absolute;
	inset: 0;
}

/* --- SPLIT (cerimonia / chi siamo) --- */
.split {
	display: flex;
	flex-direction: column;
}

.split__media {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.split__media img {
	position: absolute;
	inset: 0;
}

.split__content {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(4rem, 8vw, 7rem) var(--gutter);
}

.split__inner {
	max-width: 460px;
	width: 100%;
}

.split__inner .script {
	padding-bottom: 12px;
}

.split__img {
	width: 75%;
	max-width: 320px;
	margin: clamp(2rem, 4vw, 3rem) auto;
}

.split__text,
.split__text p {
	font-size: 0.8rem;
	line-height: 1.5;
}

/* --- EVENTI --- */
.eventi-home__head {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	align-items: flex-end;
	justify-content: space-between;
}

.eventi-home__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}

.evento-card a {
	display: block;
}

.evento-card__img {
	aspect-ratio: 16 / 10;
}

.evento-card h3 {
	font-size: 0.95rem;
	font-weight: 500;
}

/* --- RECENSIONI --- */
.carosello-recensioni .slick-list {
	padding-bottom: 40px !important;
}

/* slick inizializzato con rows: 0 -> la card stessa è la .slick-slide */
.carosello-recensioni .slick-track {
	display: flex !important;
}

.carosello-recensioni .slick-slide {
	height: auto;
	margin: 0 8px;
}

.recensione-card {
	border: 0.5px solid var(--line);
	padding: 25px;
	width: 100%;
	display: flex !important;
	flex-direction: column;
}

.recensione-card p:last-child {
	margin-top: auto;
}

.recensione-card__stars {
	font-size: 0.75rem;
	letter-spacing: 2px;
}

/* dots della slide recensioni (fondo chiaro) */
.carosello-recensioni .slick-dots {
	bottom: 0;
}
.carosello-recensioni .slick-dots li { border-color: var(--black); }
.carosello-recensioni .slick-dots .slick-active { background-color: var(--black); }

/* fallback senza slick */
.carosello-recensioni:not(.slick-initialized) {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	padding: 0 var(--gutter);
}
.carosello-recensioni:not(.slick-initialized) .recensione-card { flex: 0 0 80%; }


/*------------------------------------*\
	14b. PAGINA COLLEZIONI
\*------------------------------------*/

.collezioni-page {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--inset);
	padding: 70px var(--inset) 0;   /* 70px = altezza header mobile */
}

.collezione-box {
	position: relative;
	display: block;
	height: 75svh;
	min-height: 460px;
	overflow: hidden;
	color: var(--white);
}

.collezione-box img {
	position: absolute;
	inset: 0;
}

.collezione-box .overlay-bottom {
	background: linear-gradient(0deg, rgba(17, 17, 17, 0.55) 0%, rgba(17, 17, 17, 0.25) 60%, rgba(17, 17, 17, 0.2) 100%);
}

.collezione-box__content {
	position: absolute;
	left: 0;
	bottom: 6%;
	width: 100%;
	padding: 0 var(--gutter);
	text-align: center;
}

.collezione-box__title {
	font-size: 2rem;
	line-height: 1;
	padding-bottom: 22px;
}


/*------------------------------------*\
	14c. PAGINA COLLEZIONE (Sposo / Invitato / Accessori)
\*------------------------------------*/

/* --- INTRO --- */
.intro-collezione {
	padding-top: calc(70px + clamp(4rem, 7vw, 6rem));   /* 70px = header mobile */
}

.script-title {
	font-size: 2.8rem;
	line-height: 1;
}

/* variante del link sottolineato: minuscolo (es. "Tutte le collezioni") */
.link-underline--normal {
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.8rem;
}

/* --- CATALOGO --- */
.catalogo__inner {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

/* filtro: su mobile in riga, scorrevole */
.filtro-collezione {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 18px;
}

.filtro-collezione__label {
	display: none;   /* su mobile le etichette "Tipologia/Download" non servono */
	opacity: 0.6;
	letter-spacing: 0.04em;
	padding-bottom: 10px;
	margin-bottom: 14px;
	border-bottom: 0.5px solid var(--line);
}

.filtro-collezione__list {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
}

.filtro-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 4px 0;
	border: 0;
	background: none;
	cursor: pointer;
	font-family: var(--instrument);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--black);
	transition: opacity 0.3s;
}

.filtro-btn:hover { opacity: 0.6; }

/* pallino: vuoto / pieno con spunta quando attivo */
.filtro-btn__dot {
	position: relative;
	flex: 0 0 13px;
	width: 13px;
	height: 13px;
	border: 1px solid var(--black);
	border-radius: 50%;
	transition: background-color 0.3s;
}

.filtro-btn.active .filtro-btn__dot {
	background-color: var(--black);
}

.filtro-btn.active .filtro-btn__dot::after {
	content: "";
	position: absolute;
	left: 4px;
	top: 2px;
	width: 3px;
	height: 6px;
	border: solid var(--white);
	border-width: 0 1px 1px 0;
	transform: rotate(45deg);
}

.filtro-collezione__download {
	width: 100%;
}

.filtro-collezione .btn {
	font-size: 0.7rem;
	padding: 10px 18px;
}

/* griglia abiti */
.griglia-abiti {
	flex: 1;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}

.abito-card {
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	cursor: zoom-in;
	animation: abitoIn 0.6s var(--ease);
}

.abito-card.is-hidden {
	display: none;
}

@keyframes abitoIn {
	from { opacity: 0; transform: translateY(12px); }
	to   { opacity: 1; transform: none; }
}

.griglia-abiti__vuoto {
	grid-column: 1 / -1;
	padding: 40px 0;
	opacity: 0.6;
}

/* --- TESTO DESCRITTIVO --- */
.collezione-testo {
	max-width: 600px;
}

.collezione-testo p {
	font-size: 0.8rem;
	line-height: 1.55;
	margin-bottom: 15px;
}

/* --- TROVI ANCHE --- */
.trovi-anche {
	padding: 0 var(--inset) var(--inset);
}

.trovi-anche__inner {
	padding: clamp(3rem, 5vw, 4rem) var(--gutter);
}

.trovi-anche__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--inset);
}

.collezione-box--small {
	height: 55svh;
	min-height: 320px;
}

.collezione-box--small .collezione-box__title {
	font-size: 1.4rem;
	padding-bottom: 14px;
}


/*------------------------------------*\
	15. RESPONSIVE
\*------------------------------------*/

@media only screen and (min-width: 768px) {

	.eventi-home__grid { grid-template-columns: repeat(2, 1fr); }

	.carosello:not(.slick-initialized) > * { flex-basis: 33%; }
	.carosello-recensioni:not(.slick-initialized) .recensione-card { flex-basis: 40%; }
}


@media only screen and (min-width: 1024px) {

	html,
	body { font-size: 18px; }

	h1, .h1 { font-size: 2.6rem; }
	h2, .h2 { font-size: 2.4rem; }
	h3, .h3 { font-size: 2rem; }
	h4, .h4 { font-size: 1.5rem; }
	h5, .h5 { font-size: 1.1rem; }

	.big, .big p { font-size: 1.35rem; }
	.script { font-size: 1.8rem; }

	#layeriniziale { width: 250px; }

	/* width */
	.w10 { width: 10%; }
	.w20 { width: 20%; }
	.w30 { width: 30%; }
	.w33 { width: 32%; }
	.w35 { width: 35%; }
	.w40 { width: 40%; }
	.w50 { width: 50%; }
	.w60 { width: 60%; }
	.w70 { width: 70%; }
	.w100 { width: 100%; }

	.mr-right  { margin-right: 2%; }
	.mr2-right { margin-right: 4%; }

	/* flex */
	.d-flex       { display: flex; }
	.d-inlineflex { display: inline-flex; }
	.d-inline     { display: inline; }
	.d-wrap       { flex-wrap: wrap; }
	.flex-column  { flex-direction: column; }
	.justify-content-between { justify-content: space-between; }
	.justify-content-center  { justify-content: center; }
	.justify-content-end     { justify-content: flex-end; }
	.align-items-center { align-items: center; }
	.align-items-end    { align-items: flex-end; }

	p { line-height: 1.4; }

	/* HOME */
	
	
	.carosello .slick-prev,
	.carosello .slick-next { top: calc((100vw - 26vw) / 6 - 6px); }
	
	.split {
		flex-direction: row;
		min-height: 100vh;
	}
	.split--reverse { flex-direction: row-reverse; }

	.split__media,
	.split__content {
		width: 50%;
	}
	.split__media { aspect-ratio: auto; }

	.eventi-home__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}

	/* COLLEZIONI: tutti i box sulla stessa riga, qualunque sia il numero */
	.collezioni-page {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 1fr;
	}

	.collezione-box {
		height: calc(100vh - 70px - var(--inset));
		min-height: 560px;
	}

	.collezione-box__title { font-size: 2.2rem; }

	/* COLLEZIONE (Sposo / Invitato / Accessori) */
	.script-title { font-size: 4rem; }

	.catalogo__inner {
		flex-direction: row;
		align-items: flex-start;
		gap: 4vw;
	}

	/* filtro in colonna, fisso durante lo scroll della griglia */
	.filtro-collezione {
		flex: 0 0 22%;
		position: sticky;
		top: 110px;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.filtro-collezione__label { display: block; }

	.filtro-btn--tutti { margin-bottom: 30px; }

	.filtro-collezione__list {
		flex-direction: column;
		gap: 6px;
		margin-bottom: 30px;
	}

	.griglia-abiti {
		grid-template-columns: repeat(3, 1fr);
		gap: 10px;
	}

	.trovi-anche__grid { grid-template-columns: repeat(2, 1fr); }

	.collezione-box--small {
		height: 40vh;
		min-height: 400px;
	}

	.collezione-box--small .collezione-box__title { font-size: 1.6rem; }

	/* FOOTER */
	.footer__img { aspect-ratio: 21 / 8; }

	.footer__info {
		grid-template-columns: 1fr 1fr 1.3fr 1.6fr 1fr;
		align-items: start;
	}

	.footer__icon {
		grid-column: auto;
		order: 0;
		justify-self: center;
		width: 40px;
	}

	.footer__social { text-align: right; }

	.footer__bottom {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
}






/* ===== Pagina Contatti ===== */
.fs-contatti{--ct-bg:var(--fs-bg,#f3f0eb);--ct-card:var(--fs-card,#e8e1db);--ct-dark:var(--fs-dark,#141414);--ct-ink:var(--fs-ink,#141414);--ct-light:#f3f0eb;--ct-muted:#8a8580;--ct-sans:var(--fs-font-sans,'Hanken Grotesk',Helvetica,Arial,sans-serif);--ct-italic:var(--fs-font-italic,'Instrument Serif',Georgia,serif);--ct-pad:clamp(16px,2vw,24px);background:var(--ct-bg);color:var(--ct-ink);font-family:var(--ct-sans)}
.fs-contatti em{font-family:var(--ct-italic);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0}

/* Intro */
.fs-ct-intro{max-width:640px;margin:0 auto;padding:clamp(64px,8vw,110px) 20px clamp(48px,5vw,70px);text-align:center}
.fs-ct-intro__kicker{font-size:12px;color:inherit;text-decoration:underline;text-underline-offset:3px}
.fs-ct-intro__title{margin:18px 0 28px;font-family:var(--ct-italic);font-style:italic;font-weight:400;font-size:clamp(36px,4vw,52px);line-height:1.1}
.fs-ct-intro__text,.fs-ct-intro__text p{margin:0;font-size:14px;line-height:1.7;letter-spacing:.03em;text-transform:uppercase}
.fs-ct-intro__text strong{font-weight:600}

/* Card */
.fs-ct-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ct-pad);padding:0 var(--ct-pad) var(--ct-pad)}
.fs-ct-card{background:var(--ct-card);min-height:300px;padding:48px 24px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.fs-ct-card__icon{width:52px;height:52px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:30px}
.fs-ct-card__label{margin:0 0 18px;font-size:17px;font-weight:400;letter-spacing:.04em;text-transform:uppercase}
.fs-ct-card__value{font-size:13px;line-height:1.6;color:inherit;text-decoration:underline;text-underline-offset:3px}
.fs-ct-card__value:hover{opacity:.65}

/* Form */
.fs-ct-form{background:var(--ct-dark);color:var(--ct-light);padding:clamp(64px,6vw,90px) clamp(20px,3.5vw,52px) clamp(64px,6vw,100px)}


/* form di contatto */

.form-half p{
	display: flex;
	justify-content: space-between;
	width:100%;
}

.form-half .wpcf7-form-control-wrap{
	width: 32%;
}

input,select{
	background-color: transparent;
	border:none;
	border-bottom: 0.5px solid rgba(237, 237, 237, 0.414);
	border-radius:0;
	padding-left: 0;
	height: 43px;
	width: 100%;
	color: rgba(237, 237, 237, 0.8);
}

textarea{
	background-color: transparent;
	border:none;
	border-bottom: 0.5px solid rgba(237, 237, 237, 0.414);
	border-radius:0;
	padding-left: 0;
	width: 100%;
	color: rgba(237, 237, 237, 0.8);
}


input[type=checkbox]{
	width: 15px;
	height: 15px;
	display: inline;
	margin-right: 7px;
}

.wpcf7-list-item{
	margin: 0 !important;
}

.wpcf7-list-item-label{
	color:#fff;
}

.mappa_contatti iframe{
	filter: sepia(1) hue-rotate(168deg) saturate(1);
}

/* ===== Pagina Atelier ===== */
.intro-atelier__text{max-width:540px}

.servizi-atelier__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,3.5vw,50px);margin-bottom:0;padding:0;list-style:none}
.servizio__num{display:block;margin-bottom:clamp(20px,2.4vw,36px);font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:clamp(28px,2.5vw,36px);line-height:1;color:#8a8580}

.staff-atelier__text{max-width:420px}

.citazione-atelier__img{width:min(290px,70vw);aspect-ratio:402/504;overflow:hidden}
.citazione-atelier__img img{display:block;width:100%;height:100%;object-fit:cover}
.citazione-atelier__text{max-width:680px;font-size:clamp(30px,3.2vw,46px);line-height:1.15}

.immagine-finale{padding:20px 20px 0}
.immagine-finale img{display:block;width:100%;height:clamp(320px,38vw,560px);object-fit:cover}

@media (max-width:900px){
  .servizi-atelier__list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .servizi-atelier__list{grid-template-columns:1fr}
}

@media only screen and (min-width: 1280px) {

	.header {
		height: 80px;
		padding-left: 1.3vw;
		padding-right: 1.3vw;
	}

	.nav-desktop { display: block; }
	.pagina-desktop .openclose { display: none; }

	.pagina-desktop .nav ul li { margin: 0 24px 0 0; }

	.pagina-desktop .logo {
		max-width: 200px;
		width: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.hero-home { padding-top: 80px; }
	.hero-home__media { height: calc(100vh - 80px - var(--inset)); }

	.collezioni-page { padding-top: 80px; }
	.intro-collezione { padding-top: calc(80px + clamp(4rem, 7vw, 6rem)); }
	.collezione-box { height: calc(100vh - 80px - var(--inset)); }
}


@media only screen and (min-width: 1600px) {

	.negative-margin { top: -100px; }

	.pagina-desktop .logo { max-width: 260px; }
	.pagina-desktop .nav ul li { margin: 0 40px 0 0; }

	.intro-home__text { max-width: 720px; }
	.collezioni-home__text { max-width: 550px; }
	.split__inner { max-width: 520px; }
}