.visible-auth-no {
    display: none;
}
.visible-auth-yes {
    display: none;
}
body.auth-no .visible-auth-no {
    display: block;
}
body.auth-yes .visible-auth-yes {
    display: block;
}

.visible-it, .visible-en {
	display: none;
}

body.it .visible-it {
    display: block;
}
body.en .visible-en {
    display: block;
}

/* ==========================================================================
   CorteDomina — tema
   Colori e misure dalle tavole PDF (il Figma non era leggibile): vedi i token.
   ========================================================================== */

:root {
	--cd-bg: #303030;
	--cd-surface: #383838;
	--cd-gold: #AF9C71;
	--cd-gold-light: #D8C28E;
	--cd-text: #F2EFEA;
	--cd-text-soft: #CFCBC4;
	--cd-border: #9D0202;
	--cd-radius: 18px;
	--cd-gutter: clamp(12px, 2.4vw, 46px);
	--cd-font: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
}

/* ---------- base ---------- */

html, body {
	background: var(--cd-bg);
}

body {
	color: var(--cd-text-soft);
	font-family: var(--cd-font);
	font-size: 14px;
	letter-spacing: 0.04em;
}

.text-small {
	font-size: 0.8em;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: var(--cd-font);
	color: var(--cd-text);
	font-weight: 500;
	letter-spacing: 0.01em;
}

a {
	color: var(--cd-gold);
}

a:hover, a:focus {
	color: var(--cd-gold-light);
}

.cd-hidden {
	display: none !important;
}

.cd-gold {
	color: var(--cd-gold);
}

.cd-center {
	text-align: center;
}

.cd-wm {
	font-weight: 300;
}

.cd-wm strong {
	font-weight: 700;
}

/* immagine di sfondo con bordo sottile rosso scuro e angoli arrotondati */
.cd-img {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	border-radius: var(--cd-radius);
	border: 1px solid var(--cd-border);
}

/* i contenitori delle foto sono flex: l'immagine riempie anche quando l'altezza viene da min-height */
.cd-block__media,
.cd-mosaic__img,
.cd-gallery__item,
.cd-room__media,
.cd-wc__img1,
.cd-wc__img2,
.cd-contact__map,
.cd-expcard__media,
.cd-band {
	display: flex;
}

.cd-block__media > .cd-img,
.cd-mosaic__img > .cd-img,
.cd-gallery__item > .cd-img,
.cd-room__media > .cd-img,
.cd-wc__img1 > .cd-img,
.cd-wc__img2 > .cd-img,
.cd-contact__map > .cd-img,
.cd-expcard__media > .cd-img,
.cd-band > .cd-img {
	flex: 1 1 auto;
	height: auto;
}

.cd-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	color: var(--cd-gold);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.25em;
	text-transform: uppercase;
}

.cd-eyebrow::before {
	content: '';
	width: 16px;
	border-top: 1px solid var(--cd-gold);
}

.cd-eyebrow--plain::before {
	display: none;
}

.cd-eyebrow--center {
	justify-content: center;
}

.cd-eyebrow--center::before {
	display: none;
}

.cd-section-title {
	margin: 0 0 50px;
	text-align: center;
	font-size: clamp(24px, 2vw, 34px);
	font-weight: 500;
}

.cd-lead, .cd-lead p, .cd-block__lead, .cd-block__lead p {
	color: var(--cd-text);
	font-size: clamp(19px, 1.45vw, 26px);
	line-height: 1.3;
	font-weight: 500;
	letter-spacing: 0.005em;
}

.cd-text, .cd-text p {
	font-size: 14px;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.cd-h2 {
	margin: 0 0 18px;
	font-size: clamp(24px, 2vw, 34px);
}

/* ---------- pulsanti ---------- */

.cd-btn,
.btn-primary,
#block-product .btn-primary,
.btn-dark,
.btn-default,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
	display: inline-block;
	padding: 11px 30px;
	border: 1px solid var(--cd-gold);
	border-radius: 999px;
	background: transparent;
	color: var(--cd-text);
	font-family: var(--cd-font);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	line-height: 1.4;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.25s, color 0.25s, border-color 0.25s;
}

.cd-btn:hover, .cd-btn:focus,
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
#block-product .btn-primary:hover,
.btn-dark:hover, .btn-dark:focus,
.btn-default:hover, .btn-default:focus, .btn-default:active,
.btn-success:hover, .btn-success:focus,
.btn-info:hover, .btn-info:focus,
.btn-warning:hover, .btn-warning:focus,
.btn-danger:hover, .btn-danger:focus {
	background: var(--cd-gold);
	border-color: var(--cd-gold);
	color: var(--cd-bg);
	text-decoration: none;
}

.cd-btn--light {
	border-color: rgba(255, 255, 255, 0.85);
	color: #FFF;
}

.cd-btn--light:hover, .cd-btn--light:focus {
	background: #FFF;
	border-color: #FFF;
	color: var(--cd-bg);
}

.cd-btn--sm {
	padding: 9px 26px;
	font-size: 10px;
}

/* secondari (Annulla, Continua acquisti): contorno chiaro invece che oro */
.btn-default,
.btn-dark.transparent {
	border-color: rgba(255, 255, 255, 0.35);
}

/* Bootstrap: dimensioni e blocco riportati alla misura del sito */
.btn-lg {
	padding: 14px 34px;
	border-radius: 999px;
	font-size: 11px;
	line-height: 1.4;
}

.btn-block {
	display: block;
	width: 100%;
}

.btn.disabled,
.btn[disabled] {
	opacity: 0.35;
}

/* link-pulsante: solo testo oro */
.btn-link {
	padding: 6px 0;
	border: 0;
	color: var(--cd-gold);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-decoration: none;
}

.btn-link:hover,
.btn-link:focus {
	color: var(--cd-gold-light);
	text-decoration: underline;
}

.cd-btn.is-disabled {
	opacity: 0.25;
	pointer-events: none;
}

/* ---------- header ---------- */

#header .menu-wrap {
	padding-top: 0;
}

#header hr,
#header .menu-middle,
#header .menu-top .rate-choosed,
#header .menu-top .login-button,
#header .menu-top-sx > ul > li:nth-child(2),
#header .menu-top-sx > ul > li:nth-child(3),
#header .menu-top-sx > ul > li:nth-child(4),
#header .menu-top-dx > ul > li:nth-child(1),
#header .menu-top-dx > ul > li:nth-child(2) {
	display: none !important;
}

#header .menu-top {
	position: relative;
	z-index: 3;
}

#header .menu-top > .container {
	width: 100%;
	padding: 0 var(--cd-gutter);
}

/* le .row di Bootstrap rientrano di -15px: col gutter sotto i 15px (schermi < 625px) sporgevano dal contenitore
   e la pagina scorreva di lato. Righe a filo del contenitore e testo della colonna dove stava prima. */
#header .menu-top > .container > .row,
#header .menu-middle-mobile > .row {
	margin-left: 0;
	margin-right: 0;
}

#header .menu-top-sx {
	padding-left: 0;
	padding-right: 0;
}

#header .menu-top a,
#header .menu-top button {
	font-family: var(--cd-font);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: #FFF;
	line-height: 22px;
	padding: 0;
}

#header .menu-top .country-choosed {
	color: #FFF;
}

/* menu lingua del template: le voci aperte in linea con "Lingua" (stessa altezza e base) */
#language-change > button,
#language-change .dropdown-menu {
	display: flex;
	align-items: center;
	height: 28px;
}

/* ancorato in basso come il pulsante (che sta mezzo pixel sotto il bordo del dropdown): stessa riga di "Lingua" */
#language-change .dropdown-menu {
	top: auto;
	bottom: 0;
	margin: 0;
	padding: 0;
}

#language-change:not(.open) .dropdown-menu {
	display: none;
}

/* carrello in colonna con l'hamburger: stesso bordo destro (.menu-middle-mobile-left + padding 15px) e stessa larghezza (36px) */
#header .menu-top-dx {
	display: block !important;
	position: absolute;
	right: calc(var(--cd-gutter) + 12px + 15px);
	top: 0;
	width: auto;
	padding: 0;
}

#header .menu-top-dx > ul {
	margin: 0;
}

#header .menu-top-dx > ul > li {
	padding: 0;
}

#header .menu-top-dx .cart-button {
	width: 36px;
	font-size: 0;
	text-align: center;
}

#header .menu-top-dx .cart-button i {
	font-size: 18px;
}

/* logo centrato sopra l'hero e hamburger a destra, a tutte le larghezze */
#header .menu-middle-mobile {
	display: block !important;
	position: relative;
	padding: 0 var(--cd-gutter);
}

#header .menu-middle-mobile > .row {
	display: flex;
	align-items: flex-start;
	justify-content: center;
}

#header .menu-middle-mobile-left {
	position: absolute;
	right: calc(var(--cd-gutter) + 12px);
	top: 18px;
	width: auto;
	order: 3;
}

#header .menu-middle-mobile-right {
	display: none;
}

#header .menu-middle-mobile-center {
	width: auto;
	float: none;
	padding-top: clamp(26px, 2.4vw, 40px);
}

.primary-logo-wrap {
	padding: 0;
}

.primary-logo {
	display: block;
	width: clamp(76px, 6.8vw, 130px);
	height: clamp(83px, 7.4vw, 142px);
	margin: 0 auto;
	background: url(/custom/img/logo.png) no-repeat center / contain;
	line-height: 0;
}

.primary-logo img {
	display: none;
}

#header.menu-transparent-dark .primary-logo {
	background-image: url(/custom/img/logo.png);
}

.primary-nav-wrap {
	width: 36px;
	height: 36px;
}

.primary-nav-trigger .menu-icon,
.primary-nav-trigger .menu-icon::before,
.primary-nav-trigger .menu-icon::after {
	width: 30px;
	height: 2px;
	background-color: var(--cd-gold-light);
}

.primary-nav-trigger .menu-icon::before {
	top: -9px;
}

.primary-nav-trigger .menu-icon::after {
	top: 9px;
}

#header.menu-transparent-dark .primary-nav-trigger .menu-icon,
#header.menu-transparent-dark .primary-nav-trigger .menu-icon::before,
#header.menu-transparent-dark .primary-nav-trigger .menu-icon::after {
	background-color: var(--cd-gold-light);
}

.primary-nav-trigger .menu-icon.is-clicked,
#header.menu-transparent-dark .primary-nav-trigger .menu-icon.is-clicked,
.navigation-is-open #header.menu-transparent-dark .primary-nav-trigger .menu-icon.is-clicked {
	background-color: transparent;
}

/* pagine senza hero: l'header resta sopra al contenuto */
body:not(.cd-has-hero) #main-content {
	padding-top: clamp(120px, 10vw, 190px);
}

body.cd-has-hero #main-content {
	padding-top: 22px;
}

/* ---------- menu a tutto schermo ---------- */

body.navigation-is-open .primary-nav {
	display: block !important;
}

.primary-nav {
	background: var(--cd-bg);
	/* le voci partono ben staccate dal logo dell'header */
	padding: clamp(190px, 15vw, 270px) 20px 60px;
}

.primary-nav .menu-nav > ul > li {
	margin-bottom: 36px;
}

.primary-nav .menu-nav ul > li > a {
	font-family: var(--cd-font);
	font-size: clamp(15px, 1.2vw, 18px);
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--cd-text);
}

.primary-nav .menu-nav > ul > li.cd-nav-group > a {
	display: inline-block;
	margin-bottom: 10px;
	line-height: 1.25;
}

.primary-nav .cd-gold-line {
	display: block;
	color: var(--cd-gold);
	font-size: clamp(26px, 2vw, 34px);
	font-weight: 600;
	letter-spacing: 0.18em;
}

.primary-nav .cd-white-line {
	display: block;
	color: var(--cd-text);
	font-size: clamp(17px, 1.3vw, 22px);
	letter-spacing: 0.18em;
}

.primary-nav .menu-nav > ul > li:not(.cd-nav-group) {
	margin-bottom: 10px;
}

.primary-nav .menu-nav > ul > li.cd-nav-group + li:not(.cd-nav-group) {
	margin-top: 20px;
}

/* barra del logo opaca col colore del menu: le voci, scorrendo, le passano sotto invece di sovrapporsi al logo */
body.navigation-is-open .menu-wrap,
body.navigation-is-open #header .menu-wrap {
	background-color: var(--cd-bg) !important;
}

.primary-nav .menu-nav ul > li > ul > li > a {
	display: inline-block;
	padding: 4px 0;
	font-family: var(--cd-font);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--cd-text-soft);
}

.primary-nav .menu-nav a:hover,
.primary-nav .menu-nav a:focus {
	color: var(--cd-gold);
}

.primary-nav .cd-nav-social {
	margin: 10px 0 20px;
}

.primary-nav .cd-nav-social a {
	color: var(--cd-gold);
	font-size: 16px;
}

.primary-nav hr.transparent {
	display: none;
}

.primary-nav #mobile-language a,
.primary-nav #mobile-reserved a {
	font-size: 11px;
	letter-spacing: 0.2em;
	color: var(--cd-text-soft);
}

/* ---------- hero ---------- */

.cd-hero {
	position: relative;
	aspect-ratio: 1 / 1;
	min-height: min-content;
	margin: 0 var(--cd-gutter);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
	border-radius: var(--cd-radius);
}

.cd-hero__bg {
	position: absolute;
	inset: 0;
}

.cd-hero__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--cd-radius);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.25) 45%, rgba(0, 0, 0, 0.35) 100%);
}

.cd-hero__content {
	position: relative;
	z-index: 1;
	padding: 110px 20px 30px;
}

.cd-hero--bottom {
	align-items: flex-end;
}

.cd-hero--bottom .cd-hero__content {
	padding-bottom: 40px;
}

.cd-hero__eyebrow {
	margin: 0 0 8px;
	color: var(--cd-gold-light);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.25em;
	text-transform: uppercase;
}

.cd-hero__title {
	margin: 0 0 28px;
	color: #FFF;
	font-size: clamp(34px, 3.4vw, 64px);
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.1;
	text-transform: uppercase;
}

.cd-hero--hub .cd-gold-line {
	display: block;
	color: var(--cd-gold-light);
}

.cd-hero--hub .cd-white-line {
	display: block;
	font-size: 0.82em;
}

.cd-hero__actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ---------- Home: intro col video ---------- */

body.cd-splash-open {
	overflow: hidden;
}

.cd-splash {
	position: fixed;
	inset: 0;
	z-index: 1035;
	background: var(--cd-bg);
	transition: opacity 0.8s ease;
}

.cd-splash.is-leaving {
	opacity: 0;
	pointer-events: none;
}

/* video in cornice come gli hero: margine laterale del sito, bordo rosso scuro, angoli arrotondati */
.cd-splash__media {
	position: absolute;
	inset: var(--cd-gutter);
	width: calc(100% - 2 * var(--cd-gutter));
	height: calc(100% - 2 * var(--cd-gutter));
	object-fit: cover;
	background-size: cover;
	background-position: center;
	border: 1px solid var(--cd-border);
	border-radius: var(--cd-radius);
}

.cd-splash::after {
	content: '';
	position: absolute;
	inset: var(--cd-gutter);
	border-radius: var(--cd-radius);
	background: rgba(0, 0, 0, 0.35);
	pointer-events: none;
}

.cd-splash__enter {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 20px;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.cd-splash__enter:focus {
	outline: none;
}

.cd-splash__enter:focus-visible .cd-splash__logo {
	outline: 1px solid var(--cd-gold);
	outline-offset: 16px;
}

.cd-splash__logo {
	width: clamp(170px, 22vw, 330px);
	height: auto;
}

@media (prefers-reduced-motion: reduce) {
	.cd-splash {
		transition: none;
	}
}

/* ---------- Home: landing ---------- */

/* Home a tutta altezza, senza footer: la landing va da sotto la barra in alto fino al margine inferiore */
#layout-home #footer,
#layout-home #footer-bottom {
	display: none;
}

.cd-landing {
	--cd-landing-h: calc(100vh - var(--cd-landing-top, 40px) - var(--cd-gutter));
	display: flex;
	flex-direction: column;
	min-height: var(--cd-landing-h);
	margin: 0 var(--cd-gutter) var(--cd-gutter);
	overflow: hidden;
	border: 1px solid var(--cd-border);
	border-radius: var(--cd-radius);
}

@supports (height: 100svh) {
	.cd-landing {
		--cd-landing-h: calc(100svh - var(--cd-landing-top, 40px) - var(--cd-gutter));
	}
}

/* da tablet in su altezza esatta dello schermo: si allunga solo se testo + card al minimo non ci stanno */
@media (min-width: 600px) {
	.cd-landing {
		height: var(--cd-landing-h);
		min-height: min-content;
	}
}

.cd-landing__intro,
.cd-landing__card {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.cd-landing__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.cd-landing__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	transition: background-color 0.3s;
}

.cd-landing__intro {
	flex: 1 0 auto;
	padding: clamp(140px, 10.5vw, 170px) 20px clamp(30px, 2.6vw, 50px);
}

.cd-landing__intro .cd-landing__bg::after {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.45) 55%, rgba(0, 0, 0, 0.55) 100%);
}

.cd-landing__text {
	position: relative;
	z-index: 1;
	max-width: 1080px;
}

.cd-landing__text h1,
.cd-landing__text h2 {
	margin: 0 0 18px;
	color: var(--cd-text);
	font-size: clamp(26px, 2.5vw, 40px);
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.15;
	text-transform: uppercase;
}

.cd-landing__text p {
	margin: 0 0 16px;
	color: #FFF;
	font-size: clamp(15px, 1.3vw, 20px);
	letter-spacing: 0.08em;
	line-height: 1.35;
}

.cd-landing__text p:last-child {
	margin-bottom: 0;
}

.cd-landing__text strong {
	font-weight: 700;
}

.cd-landing__actions {
	margin-top: clamp(20px, 2vw, 32px);
}

/* le card partono da poco meno di metà altezza e si accorciano (fino a 220px) se il testo chiede spazio */
.cd-landing__cards {
	flex: 0 1 calc(var(--cd-landing-h) * 0.46);
	min-height: 220px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

/* cornice anche fra i riquadri: linea a sinistra e sopra ogni card; sui lati esterni la taglia l'overflow della landing */
.cd-landing__card {
	padding: 30px 20px;
	text-decoration: none;
	box-shadow: -1px -1px 0 var(--cd-border);
}

.cd-landing__card:hover .cd-landing__bg::after,
.cd-landing__card:focus-visible .cd-landing__bg::after {
	background: rgba(0, 0, 0, 0.52);
}

.cd-landing__card:hover .cd-btn,
.cd-landing__card:focus-visible .cd-btn {
	background: var(--cd-gold);
	color: var(--cd-bg);
}

.cd-landing__card-body {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.cd-landing__card-title {
	margin-bottom: 22px;
	text-transform: uppercase;
	line-height: 1.2;
}

.cd-landing__card-title .cd-gold-line {
	display: block;
	color: var(--cd-gold-light);
	font-size: clamp(26px, 2.4vw, 38px);
	font-weight: 600;
	letter-spacing: 0.2em;
}

.cd-landing__card-title .cd-white-line {
	display: block;
	color: #FFF;
	font-size: clamp(17px, 1.5vw, 24px);
	font-weight: 600;
	letter-spacing: 0.18em;
}

.cd-landing__card-title .cd-white-line .cd-wm {
	font-weight: 300;
}

.cd-landing__card-title .cd-white-line .cd-wm strong {
	font-weight: 700;
}

/* da mobile le card sono una sotto l'altra: più basse */
@media (max-width: 599px) {
	.cd-landing__cards {
		flex-basis: auto;
	}

	.cd-landing__card {
		min-height: max(200px, calc(var(--cd-landing-h) * 0.3));
	}
}

/* ---------- sezioni comuni ---------- */

#cd-page > section,
#cd-page > div > section,
#cd-product-extra > section,
#cd-product-extra > div > section {
	margin-top: clamp(18px, 1.2vw, 24px);
}

.cd-band {
	aspect-ratio: 1 / 1;
	margin-left: var(--cd-gutter);
	margin-right: var(--cd-gutter);
}

/* ---------- blocchi alternati (La Tenuta, Ospitalità) ---------- */

.cd-blocks {
	padding: 0 var(--cd-gutter);
}

.cd-block {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: clamp(20px, 2.4vw, 46px);
	align-items: center;
	margin-bottom: clamp(18px, 1.2vw, 24px);
}

.cd-block__media {
	align-self: stretch;
}

/* blocchi e camere: altezza minima dal rapporto come hero e card (1:1 → 16:9 → 5:2); se il testo è più alto la foto si allunga */
.cd-block__media::before,
.cd-room__media::before {
	content: '';
	width: 0;
	padding-top: 100%;
}

@media (min-width: 992px) {
	.cd-block__media::before,
	.cd-room__media::before {
		padding-top: 56.25%;
	}
}

@media (min-width: 1200px) {
	.cd-block__media::before,
	.cd-room__media::before {
		padding-top: 40%;
	}
}

.cd-block__text {
	padding: 30px clamp(0px, 2vw, 40px) 30px 0;
}

.cd-block--reverse {
	grid-template-columns: 1fr 2fr;
}

.cd-block--reverse .cd-block__media {
	order: 2;
}

.cd-block--reverse .cd-block__text {
	text-align: right;
	padding: 30px 0 30px clamp(0px, 2vw, 40px);
}

.cd-block--reverse .cd-eyebrow {
	justify-content: flex-end;
}

.cd-block__lead p {
	margin: 0 0 16px;
}

.cd-block:not(.is-open) .cd-punct {
	display: none;
}

.cd-block:not(.is-open) .cd-block__lead p:last-child::after {
	content: '…';
}

.cd-block__body {
	display: none;
	/* contiene i margini dei paragrafi: senza, a fine animazione l'altezza salta */
	overflow: hidden;
}

.cd-block.is-open .cd-block__body {
	display: block;
}

.cd-toggle {
	width: 22px;
	height: 22px;
	padding: 0;
	border: 1px solid var(--cd-gold);
	border-radius: 50%;
	background: transparent;
	position: relative;
	cursor: pointer;
}

.cd-toggle::before,
.cd-toggle::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	border-top: 1px solid var(--cd-gold);
	transform: translate(-50%, -50%);
}

.cd-toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
	transition: transform 0.9s cubic-bezier(0.77, 0, 0.175, 1);
}

.cd-toggle[aria-expanded="true"]::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.cd-block__cta {
	margin-top: 24px;
}

.cd-block__cta p {
	margin: 0;
}

/* ---------- card degli hub e banner ---------- */

.cd-cards {
	padding: 0 var(--cd-gutter);
}

.cd-card {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: clamp(20px, 2.4vw, 46px);
	align-items: center;
	margin-bottom: clamp(18px, 1.2vw, 24px);
}

.cd-card--reverse {
	grid-template-columns: 1fr 2fr;
}

.cd-card--reverse .cd-card__media {
	order: 2;
}

.cd-card--reverse .cd-card__text {
	text-align: right;
}

.cd-card--reverse .cd-eyebrow {
	justify-content: flex-end;
}

.cd-card--wide {
	grid-template-columns: 1fr;
}

.cd-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	text-decoration: none;
}

/* altezza di hero, fascia e card dal rapporto: 1:1 → 16:9 (md) → 5:2 (lg) */
@media (min-width: 992px) {
	.cd-hero,
	.cd-band,
	.cd-card__media {
		aspect-ratio: 16 / 9;
	}
}

@media (min-width: 1200px) {
	.cd-hero,
	.cd-band,
	.cd-card__media {
		aspect-ratio: 5 / 2;
	}
}

.cd-card__media .cd-img {
	position: absolute;
	inset: 0;
}

.cd-card__media .cd-img::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--cd-radius);
	background: rgba(0, 0, 0, 0.28);
	transition: background-color 0.3s;
}

.cd-card__media:hover .cd-img::after {
	background: rgba(0, 0, 0, 0.4);
}

.cd-card__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 20px;
}

.cd-card__eyebrow {
	margin: 0 0 6px;
	color: #FFF;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.25em;
	text-transform: uppercase;
}

.cd-card__title {
	margin: 0 0 18px;
	color: #FFF;
	font-size: clamp(28px, 2.6vw, 48px);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.cd-card__text {
	padding: 20px clamp(0px, 2vw, 40px);
}

.cd-card__teaser,
.cd-card__teaser p {
	color: var(--cd-text);
	font-size: clamp(15px, 1.05vw, 18px);
	line-height: 1.6;
	font-weight: 500;
}

.cd-card__teaser {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-bottom: 26px;
}

.cd-card__teaser p {
	display: inline;
	margin: 0;
}

/* ---------- mosaico (Ristorante, Eventi) ---------- */

.cd-mosaic {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-areas:
		"lead i0 i0"
		"i1   i2 t1"
		"i3   i3 i4"
		"t2   i5 i5";
	gap: clamp(18px, 1.2vw, 24px);
	padding: 0 var(--cd-gutter);
	align-items: stretch;
}

.cd-mosaic__lead { grid-area: lead; align-self: center; padding: 20px clamp(10px, 3vw, 60px); }
.cd-mosaic__img--0 { grid-area: i0; min-height: clamp(380px, 28vw, 560px); }
/* 1 e 2 stanno sulla stessa riga e si allungano insieme: sempre alte uguali */
.cd-mosaic__img--1 { grid-area: i1; min-height: clamp(260px, 19vw, 380px); }
.cd-mosaic__img--2 { grid-area: i2; min-height: clamp(260px, 19vw, 380px); }
.cd-mosaic__img--3 { grid-area: i3; min-height: clamp(340px, 25vw, 500px); }
.cd-mosaic__img--4 { grid-area: i4; min-height: clamp(340px, 25vw, 500px); }
.cd-mosaic__img--5 { grid-area: i5; min-height: clamp(280px, 19vw, 380px); }
.cd-mosaic__t1 { grid-area: t1; align-self: center; padding: 20px clamp(10px, 3vw, 60px); }
.cd-mosaic__t2 { grid-area: t2; align-self: center; padding: 20px clamp(10px, 3vw, 60px); }

/* ---------- Soggiorna da noi ---------- */

.cd-gallery {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-auto-rows: clamp(120px, 11vw, 220px);
	gap: clamp(18px, 1.2vw, 24px);
	padding: 0 var(--cd-gutter);
}

.cd-gallery__item--0 { grid-column: 4 / 13; grid-row: 1 / 3; }
.cd-gallery__item--1 { grid-column: 1 / 4; grid-row: 1 / 3; }
.cd-gallery__item--2 { grid-column: 1 / 6; grid-row: 3 / 5; }
.cd-gallery__item--3 { grid-column: 6 / 9; grid-row: 3 / 6; }
.cd-gallery__item--4 { grid-column: 9 / 13; grid-row: 3 / 6; }
.cd-gallery__item--5 { grid-column: 1 / 6; grid-row: 5 / 6; }

.cd-rooms {
	padding: clamp(40px, 3vw, 60px) var(--cd-gutter) 0;
}

.cd-room {
	display: grid;
	grid-template-columns: 3fr 1.3fr;
	gap: clamp(20px, 3vw, 60px);
	align-items: center;
	margin-bottom: clamp(18px, 1.2vw, 24px);
}

.cd-room__media {
	align-self: stretch;
}

.cd-room--reverse {
	grid-template-columns: 1.3fr 3fr;
}

.cd-room--reverse .cd-room__media {
	order: 2;
	margin-right: 0;
}

.cd-room__title {
	margin: 0 0 26px;
	font-size: clamp(28px, 2.3vw, 42px);
}

.cd-room--reverse .cd-room__text {
	padding-left: clamp(0px, 2vw, 40px);
}

.cd-room__cta p {
	margin: 0;
}

/* foto della camera che apre la galleria (cdOpenGallery) */
.cd-room__media--gallery {
	position: relative;
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: var(--cd-radius);
	background: none;
	overflow: hidden;
	cursor: zoom-in;
}

.cd-room__media--gallery .cd-img {
	transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.cd-room__media--gallery:hover .cd-img,
.cd-room__media--gallery:focus-visible .cd-img {
	transform: scale(1.025);
}

.cd-room__media--gallery:focus-visible {
	outline: 2px solid var(--cd-gold);
	outline-offset: 4px;
}

.cd-room__count {
	position: absolute;
	right: 16px;
	bottom: 16px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.55);
	color: #FFF;
	font-family: var(--cd-font);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.15em;
	line-height: 1;
	pointer-events: none;
}

.cd-room__count i {
	color: var(--cd-gold);
	font-size: 13px;
}

/* lightGallery del tema: sfondo del sito; il font di icone "lg" non è sul server (404), icone da Font Awesome */
.lg-backdrop {
	background-color: var(--cd-bg);
}

.lg-outer .lg-toolbar .lg-icon,
.lg-outer .lg-next,
.lg-outer .lg-prev {
	color: rgba(255, 255, 255, 0.75);
	background-color: transparent;
}

.lg-outer .lg-toolbar .lg-icon:hover,
.lg-outer .lg-next:hover:not(.disabled),
.lg-outer .lg-prev:hover:not(.disabled) {
	color: var(--cd-gold);
}

.lg-outer .lg-toolbar .lg-close::after,
.lg-outer .lg-prev::after,
.lg-outer .lg-next::before {
	font-family: "Font Awesome 6 Pro" !important;
	font-weight: 300;
}

.lg-outer .lg-toolbar .lg-close::after { content: "\f00d"; }
.lg-outer .lg-prev::after { content: "\f053"; }
.lg-outer .lg-next::before { content: "\f054"; }

.lg-outer .lg-counter {
	color: rgba(255, 255, 255, 0.75);
	font-family: var(--cd-font);
	font-size: 12px;
	letter-spacing: 0.15em;
}

.lg-outer .lg-sub-html p {
	margin: 0;
	color: rgba(255, 255, 255, 0.85);
	font-family: var(--cd-font);
	font-size: 13px;
	letter-spacing: 0.04em;
}

/* ---------- Wine Club ---------- */

.cd-wc {
	display: grid;
	grid-template-columns: 1fr 2fr;
	grid-template-areas:
		"intro img1"
		"img2  cols";
	gap: clamp(20px, 2.4vw, 46px);
	padding: 0 var(--cd-gutter);
}

.cd-wc__intro { grid-area: intro; align-self: start; padding: 40px clamp(10px, 2.4vw, 46px) 0; }
.cd-wc__img1 { grid-area: img1; min-height: clamp(300px, 22vw, 440px); }
.cd-wc__img2 { grid-area: img2; min-height: clamp(280px, 20vw, 400px); align-self: start; }
.cd-wc__cols { grid-area: cols; column-count: 2; column-gap: clamp(24px, 3vw, 60px); padding: 40px clamp(10px, 2vw, 40px); }

.cd-wc__cols p {
	margin: 0 0 1em;
}

.cd-wc__quote {
	margin: 0 0 20px;
	font-size: clamp(22px, 1.6vw, 30px);
	line-height: 1.3;
}

.cd-levels {
	padding: clamp(50px, 4vw, 80px) var(--cd-gutter) 20px;
}

.cd-levels__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 290px));
	justify-content: center;
	gap: 18px;
}

.cd-level {
	padding: 26px 24px 40px;
	border-radius: var(--cd-radius);
	background: var(--cd-surface);
	text-align: center;
}

.cd-level__crown {
	display: block;
	width: 62px;
	height: 27px;
	margin: 0 auto;
	background: url(/custom/img/icon-crown-1.svg) no-repeat center / contain;
}

.cd-level--2 .cd-level__crown {
	background-image: url(/custom/img/icon-crown-2.svg);
}

.cd-level--3 .cd-level__crown {
	background-image: url(/custom/img/icon-crown-3.svg);
}

.cd-level__eyebrow {
	margin: 18px 0 2px;
	color: var(--cd-gold);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.25em;
	text-transform: uppercase;
}

.cd-level__title {
	margin: 0 0 4px;
	font-size: 22px;
}

.cd-level__range {
	margin: 0 0 22px;
	color: var(--cd-text);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.25em;
}

.cd-level__text p {
	margin: 0 0 1.1em;
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

/* ---------- form del CMS (Wine Club, Eventi) ---------- */

#section-tertiary {
	background: transparent;
	padding: clamp(40px, 4vw, 80px) var(--cd-gutter);
}

#section-tertiary .container {
	max-width: 1060px;
	width: 100%;
}

#section-tertiary .container .col-md-10 {
	width: 100%;
	margin-left: 0;
}

.cd-form-head {
	text-align: center;
}

.cd-form-head h2 {
	margin: 0;
	font-size: clamp(24px, 2vw, 34px);
}

#section-tertiary label,
#section-tertiary .control-label,
#section-tertiary .form-required-legend {
	color: var(--cd-text-soft);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.06em;
}

#section-tertiary .form-control {
	height: 36px;
	border: 0;
	border-radius: 999px;
	background: #FFF;
	color: #222;
	font-family: var(--cd-font);
	font-size: 12px;
	box-shadow: none;
	padding: 6px 18px;
}

#section-tertiary textarea.form-control {
	height: auto;
	min-height: 110px;
	border-radius: 18px;
}

#section-tertiary hr {
	border-color: rgba(255, 255, 255, 0.08);
}

#section-tertiary .vertical-force label a {
	color: var(--cd-gold);
}

/* ---------- popup del tema: newsletter e paese di spedizione ---------- */

.modal-backdrop.in {
	opacity: 0.75;
}

#newsletter .modal-content,
#modal-country .modal-content {
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--cd-radius);
	background: var(--cd-bg);
	color: var(--cd-text-soft);
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
}

#newsletter .modal-body,
#modal-country .modal-body {
	padding: clamp(30px, 3vw, 50px) !important;
}

/* la X del tema è un'icona scura: portata al chiaro */
#newsletter .close,
#modal-country .close {
	top: 20px;
	right: 20px;
	filter: invert(1);
	opacity: 0.7;
}

#newsletter .close:hover,
#modal-country .close:hover {
	opacity: 1;
}

#newsletter h2,
#modal-country h2 {
	padding: 0 30px;
	color: var(--cd-gold) !important;
	font-family: var(--cd-font);
	font-size: clamp(19px, 1.6vw, 24px);
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-transform: uppercase;
}

#newsletter h2 + p {
	margin-top: 10px;
	color: var(--cd-text);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

#newsletter label,
#newsletter .form-group,
#newsletter .form-required-legend,
#modal-country label {
	color: var(--cd-text-soft);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.06em;
}

#modal-country-text {
	color: var(--cd-text-soft);
	font-size: 12px;
}

#newsletter .form-control,
#modal-country .form-control {
	height: 36px;
	border: 0;
	border-radius: 999px;
	background: #FFF;
	color: #222;
	font-family: var(--cd-font);
	font-size: 12px;
	box-shadow: none;
	padding: 6px 18px;
}

#newsletter .newsletter_privacy label {
	text-transform: none;
}

#newsletter .newsletter_privacy a {
	color: var(--cd-gold);
}

#newsletter .newsletter_actions {
	margin-top: 30px;
}

/* Annulla (.transparent): contorno; Iscriviti / Conferma: pieno oro */
#newsletter .btn-dark,
#modal-country .btn-dark {
	border-color: var(--cd-gold);
	background: transparent;
	color: var(--cd-text);
	opacity: 1;
}

#newsletter .btn-dark:not(.transparent),
#modal-country .btn-dark:not(.transparent) {
	background: var(--cd-gold);
	color: var(--cd-bg);
}

#newsletter .btn-dark:hover,
#newsletter .btn-dark:focus,
#modal-country .btn-dark:hover,
#modal-country .btn-dark:focus {
	background: var(--cd-gold-light);
	border-color: var(--cd-gold-light);
	color: var(--cd-bg);
}

/* ---------- riquadro admin del tema (#content_admin, visibile solo da loggati al CMS) ---------- */

#content_admin {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 1040;
	width: 240px;
	max-width: calc(100vw - 32px);
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--cd-radius);
	background: var(--cd-surface);
	color: var(--cd-text-soft);
	font-family: var(--cd-font);
	font-size: 11px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

#content_admin a:not(.btn) {
	color: var(--cd-gold);
}

#content_admin .btn {
	display: block;
	width: 100%;
	margin: 6px 0 0;
	padding: 9px 20px;
	border: 1px solid var(--cd-gold);
	border-radius: 999px;
	background: transparent;
	color: var(--cd-text);
	font-family: var(--cd-font);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	box-shadow: none;
}

#content_admin .btn:first-child {
	margin-top: 0;
}

#content_admin .btn:hover,
#content_admin .btn:focus {
	border-color: var(--cd-gold);
	background: var(--cd-gold);
	color: var(--cd-bg);
}

/* ---------- Contatti ---------- */

.cd-contact {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(20px, 3vw, 60px);
	align-items: center;
	padding: 0 var(--cd-gutter);
}

.cd-contact__map {
	min-height: clamp(300px, 22vw, 440px);
	align-self: stretch;
}

.cd-contact__text {
	padding: 30px clamp(0px, 4vw, 90px) 30px 0;
}

.cd-gps {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin-top: 26px;
}

.cd-gps i {
	color: var(--cd-gold);
	font-size: 20px;
	margin-top: 4px;
}

.cd-gps__label {
	color: var(--cd-gold);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.cd-reach {
	padding: clamp(50px, 4vw, 80px) var(--cd-gutter);
}

.cd-reach__grid,
.cd-emails {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 300px));
	justify-content: center;
	gap: clamp(30px, 4vw, 90px);
	text-align: center;
}

.cd-reach__item i {
	color: var(--cd-gold);
	font-size: 30px;
}

.cd-reach__item h3,
.cd-emails__item h3 {
	margin: 12px 0 14px;
	font-size: 22px;
}

.cd-emails {
	padding: clamp(50px, 4vw, 80px) var(--cd-gutter) 20px;
}

.cd-emails__item a {
	color: var(--cd-text-soft);
	letter-spacing: 0.08em;
}

/* ---------- FAQ ---------- */

.cd-faq {
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(40px, 3vw, 60px) var(--cd-gutter);
}

.cd-faq__head {
	text-align: center;
}

.cd-faq__cat {
	margin-bottom: 12px;
	border-radius: var(--cd-radius);
	background: var(--cd-surface);
}

.cd-faq__cat-btn {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 18px 60px;
	border: 0;
	background: transparent;
	color: var(--cd-text);
	font-size: clamp(18px, 1.5vw, 26px);
	font-weight: 500;
	cursor: pointer;
}

.cd-faq__cat-btn i {
	position: absolute;
	right: 24px;
	color: var(--cd-gold);
	font-size: 14px;
}

.cd-faq__cat-btn[aria-expanded="true"] i::before {
	content: '\f056';
}

.cd-faq__cat-body {
	display: none;
	padding: 0 24px 20px;
	overflow: hidden;
}

.cd-faq__cat.is-open > .cd-faq__cat-body {
	display: block;
}

.cd-faq--single .cd-faq__cat {
	background: transparent;
}

.cd-faq--single .cd-faq__cat-body {
	display: block;
	padding: 0;
}

.cd-faq__q {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.cd-faq--single .cd-faq__q {
	margin-bottom: 12px;
	border: 0;
	border-radius: var(--cd-radius);
	background: var(--cd-surface);
	padding: 0 24px;
}

.cd-faq__q-btn {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 0;
	border: 0;
	background: transparent;
	color: var(--cd-text);
	font-size: clamp(15px, 1.1vw, 18px);
	font-weight: 500;
	text-align: left;
	cursor: pointer;
}

.cd-faq__q-btn i {
	color: var(--cd-text-soft);
	font-size: 16px;
}

.cd-faq__q-btn[aria-expanded="true"] i::before {
	content: '\f056';
}

.cd-faq__a {
	display: none;
	padding: 0 40px 16px 0;
	overflow: hidden;
}

.cd-faq__q.is-open .cd-faq__a {
	display: block;
}

.cd-faq__a p, .cd-faq__a li {
	font-size: 12.5px;
}

/* ---------- esperienze ---------- */

.cd-intro {
	max-width: 900px;
	margin: 0 auto;
	padding: clamp(40px, 3vw, 60px) 20px;
	text-align: center;
}

.cd-intro .cd-lead {
	margin-bottom: 24px;
}

.cd-expgrid {
	padding: 20px var(--cd-gutter) clamp(40px, 3vw, 60px);
}

.cd-expgrid__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 520px));
	justify-content: center;
	gap: clamp(20px, 2vw, 40px);
}

.cd-expcard {
	border-radius: var(--cd-radius);
	background: var(--cd-surface);
	overflow: hidden;
}

.cd-expcard__media {
	height: clamp(200px, 13vw, 260px);
}

.cd-expcard__media .cd-img {
	border-radius: var(--cd-radius) var(--cd-radius) 0 0;
}

.cd-expcard__body {
	padding: 22px 26px 28px;
}

.cd-expcard__title {
	margin: 0 0 10px;
	font-size: clamp(17px, 1.2vw, 21px);
	line-height: 1.3;
}

.cd-expcard__title .cd-gold {
	display: block;
}

.cd-expcard__price {
	margin: 0 0 22px;
	color: var(--cd-gold);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.cd-expgrid .cd-center {
	margin-top: 40px;
}

/* ---------- vini ---------- */

.cd-wines {
	max-width: 1320px;
	margin: 0 auto;
	padding: clamp(40px, 3vw, 60px) var(--cd-gutter);
}

.cd-wines__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 50px 30px;
}

.cd-wine {
	text-align: center;
}

.cd-wine__img {
	position: relative;
	display: block;
	height: clamp(260px, 20vw, 380px);
}

.cd-wine__img img {
	height: 100%;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	filter: drop-shadow(0 18px 18px rgba(0, 0, 0, 0.35));
}

.cd-wine__eyebrow {
	margin: 18px 0 2px;
	color: var(--cd-gold);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.25em;
	text-transform: uppercase;
}

.cd-wine__title {
	margin: 0 0 16px;
	font-size: clamp(18px, 1.3vw, 24px);
}

/* scheda prodotto (vini ed esperienze): il tema resta, cambia l'aspetto */
body.cd-product #main-content {
	padding-top: clamp(190px, 14vw, 260px);
}

.cd-product .bc-image {
	background: transparent;
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 var(--cd-gutter);
}

.cd-product .bc-image > .container-fluid > .row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

#layout-product.cd-product .bc-image .sx,
#layout-product.cd-product .bc-image .dx {
	position: relative;
	float: none;
	margin-left: 0;
}

#layout-product.cd-product .bc-image .ls-fullheight {
	position: relative;
	top: auto;
	bottom: auto;
	height: clamp(420px, 32vw, 560px);
	background: transparent;
}

#layout-product.cd-product .bc-image .wrap-ls-product,
#layout-product.cd-product .bc-image .ls-product,
#layout-product.cd-product .bc-image .ls-item {
	height: 100%;
}

#layout-product.cd-product .bc-image .dx {
	padding-left: clamp(20px, 4vw, 70px) !important;
}

.cd-product .fullheight-md {
	min-height: 0;
}

.cd-product .fullheight-md::before {
	display: none;
}

.cd-product .bc-image .ls-item {
	padding: 0 !important;
}

.cd-product #block-product {
	padding: 30px 0;
	text-align: left;
}

.cd-product #block-product .breadcrumb {
	display: none;
}

.cd-product #block-product-description {
	margin-bottom: 18px;
}

.cd-product #block-product-description .title {
	margin: 0 0 6px;
	font-size: clamp(30px, 2.4vw, 44px);
	text-align: left;
}

.cd-product #block-product-description .description_short {
	padding: 0;
	text-align: left;
	font-size: 14px;
	line-height: 1.75;
}

.cd-product #block-product-ecommerce .col-md-8 {
	width: 100%;
	max-width: 420px;
	margin-left: 0;
}

.cd-product .price_final {
	color: var(--cd-gold) !important;
	font-size: 22px;
	font-weight: 600;
}

.cd-product .tax-text {
	color: var(--cd-text-soft) !important;
	font-size: 10px;
}

.cd-product .social-share {
	display: none;
}

/* vino: righe Annata/Formato/Quantità, prezzo, pulsante (ordine con flex: .variant e .addtocart_wrap "si aprono") */
.cd-product--wine #block-product-ecommerce .col-md-8 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.cd-product--wine #variants,
.cd-product--wine #variants .variant,
.cd-product--wine #variants .addtocart_wrap {
	display: contents;
}

.cd-product--wine #options { order: 1; width: 100%; max-width: 290px; margin: 0; }
.cd-product--wine .addtocart_wrap > .sod_select { order: 2; }
.cd-product--wine #variant-prices { order: 3; margin-top: 28px; }
.cd-product--wine .addtocart_wrap > div { order: 4; }
.cd-product--wine .addtocart_wrap > .gotocart { order: 5; }

.cd-product--wine #options .option > div {
	text-align: left;
}

.cd-product #block-product-ecommerce .sod_select {
	width: 100%;
	max-width: 290px;
	height: 34px;
	padding: 0 22px 0 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--cd-text);
	font-family: var(--cd-font);
	line-height: 34px;
}

.cd-product #block-product-ecommerce .sod_label {
	height: 34px;
	padding: 0;
	color: var(--cd-text-soft);
	font-size: 12px;
	line-height: 34px;
	text-align: right;
}

.cd-product #block-product-ecommerce .sod_prefix {
	float: left;
	width: auto;
	height: 34px;
	padding: 0;
	color: var(--cd-text);
	font-size: 14px;
	font-weight: 400;
	line-height: 34px;
	text-align: left;
}

/* freccia: la "v" sottile del disegno al posto di quella del tema */
.cd-product #block-product-ecommerce .sod_select::before {
	content: '';
	top: 11px;
	right: 4px;
	width: 8px;
	height: 8px;
	border: 0;
	border-right: 1.5px solid var(--cd-text);
	border-bottom: 1.5px solid var(--cd-text);
	background: none;
	transform: rotate(45deg);
}

.cd-product #block-product-ecommerce .sod_select::after {
	display: none;
}

.cd-product #block-product-ecommerce .sod_list_wrapper {
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 12px;
	background: var(--cd-surface);
	overflow: hidden;
}

.cd-product #block-product-ecommerce .sod_option {
	color: var(--cd-text);
	font-size: 12px;
}

.cd-product #block-product-ecommerce .sod_option.active,
.cd-product #block-product-ecommerce .sod_option:hover {
	background: rgba(255, 255, 255, 0.06);
	color: var(--cd-gold);
}

.cd-product--wine #variant-prices .price {
	margin-bottom: 26px !important;
}

.cd-product--wine #block-product-ecommerce .addtocart {
	width: auto;
	padding: 14px 44px;
	font-size: 12px;
	letter-spacing: 0.25em;
}

.cd-product--wine #block-product-description .title {
	font-size: clamp(32px, 3vw, 48px);
}

.cd-product--wine #block-product-description .description_short {
	max-width: 520px;
	letter-spacing: 0.05em;
	line-height: 1.9;
}

/* vino: bottiglia su filigrana del logo */
.cd-product--wine #block-product-description .subtitle {
	margin: 0 0 4px;
	color: var(--cd-gold) !important;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.25em;
	text-transform: uppercase;
}

.cd-product--wine .bc-image .ls-fullheight::before {
	content: '';
	position: absolute;
	inset: 4%;
	/* l'SVG ha già la sua trasparenza (oro al 7%) */
	background: url(/custom/img/bg-bottle.svg) no-repeat center / contain;
}

.cd-product--wine .bc-image .contain {
	position: relative;
	filter: drop-shadow(0 20px 22px rgba(0, 0, 0, 0.35));
}

/* esperienza: foto arrotondata, vini con icona bottiglia, note in corsivo */
.cd-product--exp .bc-image .ls-item .contain,
.cd-product--exp .bc-image .ls-item > div {
	background-size: cover !important;
	border-radius: var(--cd-radius);
	border: 1px solid var(--cd-border);
}

.cd-product--exp #block-product-description .title .cd-gold {
	font-weight: 500;
}

.cd-exp-wines ul {
	list-style: none;
	margin: 24px 0;
	padding: 0;
}

.cd-exp-wines li {
	position: relative;
	margin-bottom: 14px;
	padding-left: 38px;
	color: var(--cd-text);
	font-size: 15px;
	font-weight: 500;
}

.cd-exp-wines li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 22px;
	height: 22px;
	background: url(/custom/img/icon-bottle-exp.svg) no-repeat center / contain;
}

.cd-exp-notes p {
	margin: 20px 0 0;
	font-size: 11px;
	font-style: italic;
	line-height: 1.7;
}

/* esperienza: Data / Orario / Persone come righe, come le scelte del vino */
.cd-product--exp .form-booking .form-group {
	max-width: 290px;
	margin-bottom: 0;
}

.cd-product--exp .form-booking .has-feedback {
	position: relative;
}

.cd-product--exp .form-booking .datepicker .form-control {
	height: 34px;
	padding: 0 24px 0 90px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--cd-text-soft);
	font-family: var(--cd-font);
	font-size: 12px;
	line-height: 34px;
	text-align: right;
	box-shadow: none;
	cursor: pointer;
}

.cd-product--exp .form-booking .datepicker .form-control::placeholder {
	color: var(--cd-text-soft);
	opacity: 1;
}

.cd-product--exp .form-booking .form-control-feedback {
	top: 0;
}

.cd-product--exp .form-booking .form-control-feedback.prefix {
	left: 0;
	right: auto;
	width: auto;
	height: 34px;
	color: var(--cd-text);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 34px;
	text-align: left;
	text-transform: none;
}

.cd-product--exp .form-booking .form-control-feedback:not(.prefix) {
	right: 0;
	width: 16px;
	height: 34px;
	color: var(--cd-text);
	font-size: 13px;
	line-height: 34px;
}

.cd-product--exp .form-booking .sod_select.disabled {
	opacity: 0.45;
}

.cd-product--exp .form-booking .submit {
	margin-top: 26px;
}

.cd-product--exp .form-booking .btn-booking {
	width: auto;
	padding: 14px 44px;
	font-size: 12px;
	letter-spacing: 0.25em;
}

/* scheda tecnica */
.cd-tech {
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(40px, 3vw, 60px) var(--cd-gutter);
}

.cd-tech__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(30px, 7vw, 110px);
	align-items: start;
}

.cd-tech__grid--nobars {
	grid-template-columns: 1fr;
	max-width: 720px;
	margin: 0 auto;
}

.cd-bar {
	margin-bottom: 24px;
}

.cd-bar:last-child {
	margin-bottom: 0;
}

.cd-bar__label {
	margin: 0 0 4px;
	color: var(--cd-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.cd-bar__track {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 4px;
}

.cd-bar__track span {
	height: 10px;
	border: 1.5px solid var(--cd-gold);
	border-radius: 999px;
}

.cd-bar__track span.on {
	background: var(--cd-gold);
}

.cd-tech__facts {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: start;
	gap: 56px 44px;
	padding-top: 20px;
}

.cd-fact {
	display: flex;
	gap: 20px;
	align-items: center;
}

/* icone SVG in img/icon-*.svg, già nel colore oro */
.cd-fact__icon {
	flex: 0 0 52px;
	width: 52px;
	height: 42px;
	object-fit: contain;
}

/* la bottiglia ha molto margine vuoto nel disegno: ingrandita per pareggiare le altre */
.cd-fact__icon--bottle {
	transform: scale(1.35);
}

.cd-fact__label {
	margin: 0;
	color: var(--cd-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
}

@media (min-width: 1200px) {
	.cd-fact__label {
		white-space: nowrap;
	}
}

.cd-fact__value {
	margin: 4px 0 0;
	color: var(--cd-text);
	font-size: 14px;
}

.cd-tech__pdf {
	grid-column: 1 / -1;
	margin: 14px 0 0;
}

.cd-tech__pdf .cd-btn {
	padding: 14px 64px;
}

/* ---------- pagine semplici (privacy, account, carrello…) ---------- */

.cd-plain #main h1,
.cd-plain .content-title {
	margin-top: 0 !important;
}

.bg-lightgrey, .bg-newlightgrey, .bg-white {
	background-color: transparent !important;
}

.text-black {
	color: var(--cd-text) !important;
}

.breadcrumb, .breadcrumb a {
	color: var(--cd-text-soft);
	font-size: 10px;
	letter-spacing: 0.2em;
}

/* ---------- checkout e account: carrello, login, registrazione, riepilogo, area riservata ---------- */
/* body#layout-checkout-*, #layout-account* (login, register, lostpassword), #layout-reservedarea */

[id^="layout-checkout"] #main-content hr,
[id^="layout-account"] #main-content hr,
#layout-reservedarea #main-content hr {
	border-color: rgba(255, 255, 255, 0.12);
}

/* avanzamento dell'ordine (Procedi, Conferma ordine): pieno oro */
[id^="layout-checkout"] #main-content .btn-primary.btn-lg,
[id^="layout-checkout"] #main-content input.btn-primary {
	background: var(--cd-gold);
	color: var(--cd-bg);
}

[id^="layout-checkout"] #main-content .btn-primary.btn-lg:hover,
[id^="layout-checkout"] #main-content input.btn-primary:hover {
	background: var(--cd-gold-light);
	border-color: var(--cd-gold-light);
}

/* campi come i form del sito: pillole bianche */
[id^="layout-checkout"] #main-content .form-control,
[id^="layout-account"] #main-content .form-control,
#layout-reservedarea #main-content .form-control {
	height: 40px;
	padding: 6px 18px;
	border: 0;
	border-radius: 999px;
	background-color: #FFF;
	color: #222;
	font-family: var(--cd-font);
	font-size: 13px;
	box-shadow: none;
}

[id^="layout-checkout"] #main-content textarea.form-control,
[id^="layout-account"] #main-content textarea.form-control,
#layout-reservedarea #main-content textarea.form-control {
	height: auto;
	min-height: 110px;
	border-radius: 18px;
}

[id^="layout-checkout"] #main-content label,
[id^="layout-checkout"] #main-content .control-label,
[id^="layout-account"] #main-content label,
#layout-reservedarea #main-content label {
	color: var(--cd-text-soft);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.06em;
}

[id^="layout-checkout"] #main-content .vertical-force label,
[id^="layout-account"] #main-content .vertical-force label,
#layout-reservedarea #main-content .vertical-force label {
	text-transform: none;
}

[id^="layout-checkout"] #main-content .vertical-force a,
[id^="layout-account"] #main-content .vertical-force a {
	color: var(--cd-gold);
}

/* codice sconto: campo e pulsante affiancati, due pillole */
#layout-checkout-complete .input-group {
	display: flex;
	gap: 8px;
}

#layout-checkout-complete .input-group .form-control {
	flex: 1 1 auto;
	width: auto;
}

#layout-checkout-complete .input-group-btn {
	width: auto;
}

#layout-checkout-complete .input-group-btn .btn {
	height: 40px;
	padding: 0 22px;
}

/* modalità di spedizione e pagamento: riquadri scuri */
/* il tema li definisce con selettori più specifici: da qui gli !important */
#shippingmethod_list,
#payment_list {
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-radius: var(--cd-radius) !important;
	overflow: hidden;
}

#shippingmethod_list .header,
#payment_list .header {
	border-color: rgba(255, 255, 255, 0.12) !important;
}

/* radio e checkbox nativi in oro */
input[type="radio"],
input[type="checkbox"] {
	accent-color: var(--cd-gold);
}

#shippingmethod_list label,
#payment_list label,
#payment_list .content {
	display: block;
	margin: 0;
	background: transparent !important;
	color: var(--cd-text);
	font-size: 12px;
	letter-spacing: 0.06em;
}

#shippingmethod_list .shippingmethod + .shippingmethod,
#payment_list .payment + .payment {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

#shippingmethod_list .header,
#payment_list .header {
	color: var(--cd-text);
}

#shippingmethod_list .active .header,
#payment_list .active .header {
	color: var(--cd-gold);
}

#payment_list .content,
#payment_list .content p {
	color: var(--cd-text-soft);
	font-size: 12px;
}

/* cestino e quantità del carrello: oro invece che rosso */
[id^="layout-checkout"] .btn-icon,
[id^="layout-checkout"] .btn-icon.text-danger {
	color: var(--cd-gold) !important;
}

[id^="layout-checkout"] .btn-icon:hover {
	color: var(--cd-gold-light) !important;
}

/* ---------- footer ---------- */

#footer {
	background: var(--cd-bg);
	padding: 70px var(--cd-gutter) 0;
}

#footer > .container,
#footer-bottom > .container {
	/* a tutta larghezza come container-fluid: i margini laterali sono il gutter del footer */
	width: 100%;
	max-width: none;
	padding: 0;
}

/* riga principale: logo | indirizzo | newsletter | social */
.cd-footer-row {
	display: grid;
	grid-template-columns: 25fr 22.5fr 34fr 18.5fr;
	align-items: start;
	margin: 0;
}

/* le colonne di testo partono un po' sotto la corona del logo */
.cd-footer-row > [class*="col-"]:not(:has(#logo-footer)) {
	padding-top: 52px;
}

.cd-footer-row > [class*="col-"] {
	float: none;
	left: auto;
	right: auto;
	width: auto;
	padding: 0;
	text-align: left;
}

.cd-footer-row > [class*="col-"]:has(#logo-footer) {
	order: -2;
}

#cd-footer-address {
	order: -1;
}

.cd-footer-row > [class*="col-"]:has(#footer-social) {
	order: 2;
}

/* il clearfix di Bootstrap dentro flex/grid diventa un elemento e ruba spazio */
#footer-menu > .row::before,
#footer-menu > .row::after,
#footer-close::before,
#footer-close::after,
.cd-footer-row::before,
.cd-footer-row::after,
.cd-product .bc-image > .container-fluid > .row::before,
.cd-product .bc-image > .container-fluid > .row::after {
	display: none;
}

#logo-footer img {
	width: clamp(130px, 12.3vw, 177px);
	height: auto;
	/* ?v=2: il server tiene in cache il vecchio segnaposto 2x2 */
	content: url(/custom/img/logo-footer.png?v=2);
}

#cd-footer-address p {
	margin: 0;
	color: var(--cd-text);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.04em;
}

#cd-footer-address p + p {
	margin-top: 20px;
	color: var(--cd-text-soft);
	font-size: 10.5px;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.06em;
}

#cd-footer-address a {
	color: inherit;
}

#footer h3 {
	margin: 0;
	color: var(--cd-gold) !important;
	font-family: var(--cd-font);
	font-size: 19px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
}

#footer-social-text,
#footer-newsletter-text {
	margin: 10px 0 38px !important;
	color: var(--cd-text);
	font-family: var(--cd-font);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.1em;
}

#footer-social .list-inline {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
}

#footer-social .list-inline > li {
	margin: 0 !important;
	padding: 0;
}

#footer-social a {
	color: var(--cd-gold);
}

#footer-social a:hover {
	color: var(--cd-gold-light);
}

#footer-social .fa-lg {
	font-size: 19px;
	vertical-align: middle;
}

/* newsletter: "Email" come segnaposto sulla linea, freccia cerchiata a destra */
#footer .form-dark {
	max-width: 280px;
}

#footer .form-dark label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

#footer .form-dark .input-group {
	display: flex;
	align-items: flex-end;
	gap: 8px;
}

#footer .form-dark .form-control {
	flex: 1 1 auto;
	width: auto;
	float: none;
	height: 30px;
	padding: 0 0 6px;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 0;
	background: transparent;
	color: #FFF;
	font-size: 12px;
	letter-spacing: 0.04em;
	box-shadow: none;
}

#footer .form-dark .form-control::placeholder {
	color: var(--cd-text);
	opacity: 1;
}

#footer .form-dark .input-group-btn {
	flex: 0 0 auto;
	width: auto;
	font-size: 0;
}

#footer .form-dark .btn-dark {
	width: auto;
	min-width: 0;
	padding: 0;
	margin: 0 0 -4px;
	border: 0;
	background: transparent;
	color: var(--cd-gold);
	box-shadow: none;
}

#footer .form-dark .btn-dark img {
	display: none;
}

#footer .form-dark .btn-dark i {
	font-size: 20px;
}

#footer .form-dark .btn-dark:hover {
	color: var(--cd-gold-light);
}

/* fascia bassa: legali + loghi partner, riga, P.IVA + credits */
#footer-bottom {
	background: var(--cd-bg);
	padding: 34px var(--cd-gutter) 36px;
}

#footer-menu > .row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin: 0;
}

#footer-menu > .row > .col-xs-12 {
	width: auto;
	float: none;
	padding: 0;
	text-align: left;
}

#footer-menu .list-inline {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 36px;
	margin: 0;
	text-align: left;
}

#footer-menu .list-inline > li {
	padding: 0;
}

#footer-menu small,
#footer-close small {
	font-size: inherit;
}

#footer-menu a {
	color: var(--cd-text);
	font-size: 10.5px;
	letter-spacing: 0.08em;
}

#footer-menu a:hover {
	color: var(--cd-gold);
}

.cd-partners {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 22px;
}

.cd-partners img {
	width: 198px;
	height: auto;
}

#footer-bottom hr {
	margin: 10px 0 14px;
	border-color: rgba(255, 255, 255, 0.2);
}

#footer-close {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
}

#footer-close > [class*="col-"] {
	width: auto;
	float: none;
	padding: 0;
}

#footer-close p {
	margin: 0;
}

#footer-close,
#footer-close a {
	color: var(--cd-text-soft);
	font-size: 10.5px;
	letter-spacing: 0.08em;
}

#footer-credits strong {
	font-weight: 400;
	letter-spacing: 0.02em;
}

/* logo Vinora bianco del tema, portato all'oro */
#footer-credits img {
	width: 50px !important;
	margin-left: 10px;
	vertical-align: middle;
	filter: brightness(0) saturate(100%) invert(68%) sepia(17%) saturate(640%) hue-rotate(4deg) brightness(92%);
}

/* ---------- responsive ---------- */

@media (max-width: 991px) {
	.cd-block,
	.cd-block--reverse,
	.cd-card,
	.cd-card--reverse,
	.cd-room,
	.cd-room--reverse,
	.cd-contact {
		grid-template-columns: 1fr;
	}

	.cd-block--reverse .cd-block__media,
	.cd-card--reverse .cd-card__media,
	.cd-room--reverse .cd-room__media {
		order: 0;
	}

	.cd-block__text,
	.cd-block--reverse .cd-block__text,
	.cd-card--reverse .cd-card__text,
	.cd-room--reverse .cd-room__text {
		text-align: left;
		padding: 10px 4px 20px;
	}

	.cd-block--reverse .cd-eyebrow,
	.cd-card--reverse .cd-eyebrow {
		justify-content: flex-start;
	}

	.cd-mosaic {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"lead lead"
			"i0   i0"
			"i1   i2"
			"t1   t1"
			"i3   i3"
			"i4   i5"
			"t2   t2";
	}

	.cd-mosaic__lead, .cd-mosaic__t1, .cd-mosaic__t2 {
		padding: 10px 4px;
	}

	.cd-wc {
		grid-template-columns: 1fr;
		grid-template-areas: "intro" "img1" "cols" "img2";
	}

	.cd-wc__intro { padding: 20px 4px 0; }
	.cd-wc__cols { column-count: 1; padding: 10px 4px; }

	.cd-levels__grid,
	.cd-expgrid__list,
	.cd-reach__grid,
	.cd-emails {
		grid-template-columns: minmax(0, 520px);
	}

	.cd-wines__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cd-gallery {
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: 180px;
	}

	.cd-gallery__item--0 { grid-column: 1 / 3; grid-row: auto; }
	.cd-gallery__item--1, .cd-gallery__item--2, .cd-gallery__item--3,
	.cd-gallery__item--4, .cd-gallery__item--5 { grid-column: auto; grid-row: auto; }

	.cd-contact__text { padding: 10px 4px; }

	.cd-tech__grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.cd-tech__facts {
		padding-top: 0;
	}

	.cd-product .bc-image .sx,
	.cd-product .bc-image .dx {
		width: 100%;
	}

	/* footer in colonna, centrato */
	.cd-footer-row {
		grid-template-columns: 1fr;
		gap: 44px;
		text-align: center;
	}

	.cd-footer-row > [class*="col-"],
	.cd-footer-row > [class*="col-"]:not(:has(#logo-footer)) {
		padding-top: 0;
		text-align: center;
	}

	#footer-social-text,
	#footer-newsletter-text {
		margin-bottom: 24px !important;
	}

	#footer .form-dark {
		margin: 0 auto;
	}

	#footer-social .list-inline {
		justify-content: center;
	}

	#footer-bottom {
		padding-top: 50px;
	}

	#footer-menu > .row,
	#footer-close {
		flex-direction: column;
		align-items: center;
		gap: 24px;
	}

	#footer-menu .list-inline {
		justify-content: center;
	}

	.cd-partners {
		justify-content: center;
		flex-wrap: wrap;
	}

	.cd-partners img {
		width: 150px;
	}

	#footer-close {
		gap: 10px;
		text-align: center;
	}
}

@media (max-width: 575px) {
	.cd-hero__title {
		letter-spacing: 0.06em;
	}

	.cd-mosaic {
		grid-template-columns: 1fr;
		grid-template-areas: "lead" "i0" "i1" "i2" "t1" "i3" "i4" "t2" "i5";
	}

	/* mobile: tutte le foto del mosaico alte uguali */
	.cd-mosaic__img {
		min-height: 320px;
	}

	.cd-wines__grid {
		gap: 36px 14px;
	}

	.cd-wine__img {
		height: 240px;
	}

	.cd-tech__facts {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.cd-tech__pdf .cd-btn {
		padding: 14px 30px;
	}
}

/* nascondi punti 
#fidelitybox { display: none; }
*/

/*
#age-popup {
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
	background-image: url('/custom/img/age-popup-bg.jpg');
}
*/


/* stripe header 
#header {
	top: 32px;
}
.primary-nav {
	padding-top: 208px;
}
.fullheight {
	min-height: calc(100vh - 32px);
}*/

/* stripe header alto su mobile 
#header {
	top: 76px;
}
.primary-nav {
    padding-top: 230px;
}

.fullheight {
    min-height: calc(100vh - 76px);
}

@media (min-width:422px) {
	#header {
		top: 54px;
	}
	.primary-nav {
		padding-top: 208px;
	}
	.fullheight {
		min-height: calc(100vh - 54px);
	}
}

@media (min-width:771px) {
	#header {
		top: 32px;
	}
	.primary-nav {
		padding-top: 208px;
	}
	.fullheight {
		min-height: calc(100vh - 32px);
	}
}

*/


/* layout categoria e prodotti invertito per foto con fondo bianco

#layout-category {
	background-color: #F5F5F5;
}

#product-list .bg-lightgrey {
	background-color: #FFF;
}


#layout-product .bg-newlightgrey {
	background-color: #FFF;
}

#layout-product .bg-lightgrey {
	background-color: #FFF;
}

#layout-product {
	background-color: #F5F5F5;
}

#layout-product #header {
	background-color: #F5F5F5;
}

#layout-product .wrap-ls-product {
	border-right:1px solid rgba(165,165,165,0.2);
}


*/

/* colore principale

::selection {
    background-color: #A22839;
    color: #FFF;
}

#header .menu > ul > li > a:after {
	border-bottom: 1px solid #A22839;
}

#header .menu a:hover, #header .menu a:focus {
	color: #A22839;
	text-decoration: none;
}

#header.menu-transparent-dark .menu a:hover, #header.menu-transparent-dark .menu a:focus {
        color: #A22839;
    }

.text-primary {
    color:#A22839
}

a {
    color: #333333;
    text-decoration:none
}

a:hover, a:focus {
    color: #A22839;
}

.btn-primary {
    color: #A22839;
    background-color: #FFF;
    border-color:#A22839
}

.btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #A22839;
    border-color:#A22839
}

.btn-primary:hover {
    color: #fff;
    background-color: #A22839;
    border-color:#A22839
}

.btn-link {
    color: #A22839;
}
.btn-link:hover, .btn-link:focus {
    color: #A22839;
}

.menu-top .btn-small:hover, .menu-top .text-btn-small:hover {
		color: #A22839;
	}

 .menu-top .dropdown-menu > li > a:hover, .menu-top .dropdown-menu > li > a:focus {
        text-decoration: none;
        color: #A22839;
        background-color: transparent;
    }

.primary-nav a {
    color: #FFF;
}

    .primary-nav a:hover, .primary-nav a:focus {
        color: #A22839;
        text-decoration: none;
    }

#footer .btn-dark:hover, #footer .btn-dark:focus, #footer .btn-dark:active, #footer .btn-dark.active {
	color: #FFF;
	background-color: #A22839;
	border-color: #A22839;
}

#footer a {
    color: #FFF;
}

#footer a:hover, #footer a:focus {
    color: #A22839;
}

.product-view-tabs .nav-pills > li > a:after {
    border-bottom: 1px solid #A22839;
}

 fine colore principale */

/* prodotti con foto cover 
#layout-product #header { background-color: #FFF; }
@media (min-width:992px) {
	#layout-product .ls-fullheight { top: 132px; }
}
fine prodotti con foto cover */


/* elenco prodotti con  blocco testo sulla foto

#layout-category[data-id='8'] #product-list .product-item > a {
	display: block;
	position: relative;
}
#layout-category[data-id='8'] #product-list .product-item .product-text-wrap {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	width:100%;
	white-space: nowrap;
	background-color: rgba(0,0,0,0.4);
	padding-bottom: 40px;
}

#layout-category[data-id='8'] #product-list .product-item .product-text-wrap:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
	margin-right: -0.25em;
}

#layout-category[data-id='8'] #product-list .product-item .product-text {
	display: inline-block;
	vertical-align: bottom;
	width:100%;
	white-space: normal;
	color: #fff;
}

#layout-category[data-id='8'] #product-list .product-item .product-text .h3, #layout-category[data-id='8'] #product-list .product-item .product-text .text-black {
	color: #fff;
}

#layout-category[data-id='8'] #product-list .product-item .product-text .text-primary {
	color: #aaa;
	margin-top: 5px;
}

#layout-category[data-id='8'] #product-list .product-item .product-text img {
	opacity: .4;
}
fine elenco prodotti con  blocco testo sulla foto */

/* testo fattura obbligatoria italia
#layout-checkout-complete #invoicerequired-text:before {
	content: "Se è un acquisto personale inserire il proprio nome e cognome nel campo 'Ragione Sociale'";
	display: block;
	padding-left: 10px;
}
*/

/* Modifica abbonamento in area riservata 
.subscription-edit-trigger {
    display: block;
}*/


