/* FR Booking – stile del sito (colori beige/marrone chiaro, caratteri, intestazione, schede alloggi, animazioni).
   Si attiva/disattiva da Prenotazioni → Impostazioni → "Nuovo stile del sito". */

body.frb-style {
	--pv-sand: #efe9df;          /* beige del calendario */
	--pv-sand-light: #f8f5f0;
	--pv-taupe: #a48b70;         /* marrone chiaro: pulsanti, giorni selezionati */
	--pv-taupe-dark: #86705a;    /* scritte piccole in marrone, hover */
	--pv-gray: #9fa09f;          /* grigio chiaro già usato sul sito */
	--pv-line: #e6dfd4;
	--pv-ink: #2b2724;
	--pv-muted: #7a746d;
	--pv-serif: 'Playfair Display', Georgia, serif;
	--pv-sans: 'Inter', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
	--pv-ease: cubic-bezier(.2, .7, .2, 1);
	color: var(--pv-ink);
}
html:has(body.frb-style) { scroll-behavior: smooth; }

/* ======================= Caratteri ======================= */
body.frb-style,
body.frb-style #page-container p,
body.frb-style #page-container li,
body.frb-style #page-container a,
body.frb-style #page-container span:not(.et-pb-icon):not([class*="et-pb-arrow"]),
body.frb-style #page-container label,
body.frb-style #page-container input,
body.frb-style #page-container select,
body.frb-style #page-container textarea,
body.frb-style #page-container button,
body.frb-style #page-container .et_pb_text_inner,
body.frb-style #page-container .et_pb_blurb_description,
body.frb-style .frb-modal,
body.frb-style .frb-modal * {
	font-family: var(--pv-sans) !important;
}
body.frb-style #page-container h1,
body.frb-style #page-container h2,
body.frb-style #page-container h3,
body.frb-style #page-container h4,
body.frb-style #page-container h5,
body.frb-style #page-container h1 *:not(.et-pb-icon):not([class*="et-pb-arrow"]):not(.frb-x),
body.frb-style #page-container h2 *:not(.et-pb-icon):not([class*="et-pb-arrow"]):not(.frb-x),
body.frb-style #page-container h3 *:not(.et-pb-icon):not([class*="et-pb-arrow"]):not(.frb-x),
body.frb-style #page-container .et_pb_heading_container *,
body.frb-style .frb-modal h3,
body.frb-style .frb-month__title,
body.frb-style #page-container a.frb-pv-brand,
body.frb-style .frb-single-accommodation__title a {
	font-family: var(--pv-serif) !important;
	font-weight: 400 !important;
	letter-spacing: -0.005em;
}
body.frb-style #page-container h1,
body.frb-style #page-container h2 { line-height: 1.15 !important; }
body.frb-style #page-container p,
body.frb-style #page-container li { line-height: 1.75; }
body.frb-style #page-container .et_pb_text_inner strong { font-weight: 600; }

/* Scritta piccola in maiuscolo spaziato (es. "ROMA", "COLLEZIONE") */
body.frb-style .frb-pv-eyebrow {
	display: block;
	margin: 0 0 10px !important;
	padding: 0 !important;
	font-family: var(--pv-sans) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .24em !important;
	text-transform: uppercase;
	color: var(--pv-taupe-dark) !important;
}

/* Linee sottili color marrone chiaro al posto dei divisori grigi */
body.frb-style #page-container .et_pb_divider:not(.et_pb_divider_hidden)::before {
	border-top-color: var(--pv-taupe) !important;
	border-top-width: 1px !important;
	opacity: .7;
}
body.frb-style #page-container .et_pb_divider:not(.et_pb_divider_hidden) { max-width: 120px; margin-left: auto !important; margin-right: auto !important; }

/* ======================= Intestazione ======================= */
body.frb-style header.et-l--header { position: sticky; top: 0; z-index: 9990; }
body.frb-style.admin-bar header.et-l--header { top: 32px; }
body.frb-style header.et-l--header .et_pb_section {
	padding: 0 !important;
	background: rgba(255, 255, 255, .97) !important;
	border-bottom: 1px solid var(--pv-line);
	transition: background .4s var(--pv-ease), border-color .4s, box-shadow .4s;
}
body.frb-style header.et-l--header .et_pb_row {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 90% !important;
	max-width: 1240px !important;
	padding: 18px 0 !important;
	transition: padding .4s var(--pv-ease);
}
body.frb-style header.et-l--header .et_pb_column { width: auto !important; margin: 0 !important; flex: 1; }
body.frb-style header.et-l--header .et_pb_menu .et-menu > li > a {
	font-family: var(--pv-sans) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase;
	color: var(--pv-ink) !important;
	transition: color .3s;
}
body.frb-style header.et-l--header .et_pb_menu .et-menu > li > a:hover { color: var(--pv-taupe) !important; opacity: 1; }
body.frb-style #page-container a.frb-pv-brand {
	flex: none;
	font-size: 21px !important;
	letter-spacing: .02em !important;
	color: var(--pv-ink) !important;
	text-decoration: none;
	white-space: nowrap;
	transition: color .3s;
}
body.frb-style #page-container a.frb-pv-brand em { font-style: italic; color: var(--pv-taupe) !important; font-family: var(--pv-serif) !important; }
body.frb-style.frb-pv-scrolled header.et-l--header .et_pb_row { padding: 12px 0 !important; }
body.frb-style.frb-pv-scrolled header.et-l--header .et_pb_section { box-shadow: 0 8px 30px rgba(43, 39, 36, .06); }
body.frb-style #main-content .container { padding-top: 0 !important; }

/* Home: intestazione trasparente sopra il video, diventa bianca scorrendo */
body.frb-style.frb-hero header.et-l--header { position: fixed; left: 0; right: 0; }
body.frb-style.frb-hero:not(.frb-pv-scrolled) header.et-l--header .et_pb_section {
	background: transparent !important;
	border-bottom-color: rgba(255, 255, 255, .25);
}
body.frb-style.frb-hero:not(.frb-pv-scrolled) header.et-l--header .et-menu > li > a,
body.frb-style.frb-hero:not(.frb-pv-scrolled) #page-container a.frb-pv-brand,
body.frb-style.frb-hero:not(.frb-pv-scrolled) #page-container a.frb-pv-brand em { color: #fff !important; }
body.frb-style.frb-hero:not(.frb-pv-scrolled) header.et-l--header .mobile_menu_bar::before { color: #fff !important; }
body.frb-style.frb-hero:not(.frb-pv-scrolled) .frb-pv-cta {
	background: transparent !important;
	border-color: rgba(255, 255, 255, .8) !important;
}
body.frb-style.frb-hero .et_pb_section_0::before {
	content: '';
	position: absolute;
	inset: 0 0 auto 0;
	height: 220px;
	background: linear-gradient(rgba(0, 0, 0, .45), transparent);
	z-index: 1;
	pointer-events: none;
}
body.frb-style.frb-hero .et_pb_section_0::after {
	content: '';
	position: absolute;
	inset: auto 0 0 0;
	height: 260px;
	background: linear-gradient(transparent, rgba(0, 0, 0, .35));
	z-index: 1;
	pointer-events: none;
}
body.frb-style.frb-hero .et_pb_section_0 > .et_pb_row { position: relative; z-index: 2; }

/* Titolo sulla foto: grande, sottile, con dissolvenza iniziale */
body.frb-style.frb-hero .et_pb_section_0 h1 {
	font-weight: 400 !important;
	letter-spacing: .01em !important;
	text-shadow: 0 2px 30px rgba(0, 0, 0, .25) !important;
	animation: frb-pv-hero 1.6s var(--pv-ease) both;
}
body.frb-style.frb-hero .et_pb_section_0 h1 span { font-style: italic; }
@keyframes frb-pv-hero {
	from { opacity: 0; transform: translateY(26px); letter-spacing: .08em; }
	to { opacity: 1; transform: none; }
}
body.frb-style.home .et_pb_text_1 h2 {
	font-size: 30px !important;
	line-height: 1.35 !important;
	max-width: 760px;
	margin: 0 auto !important;
}

/* ======================= Pulsanti ======================= */
body.frb-style #page-container .et_pb_button,
body.frb-style .frb-pill,
body.frb-style .frb-button,
body.frb-style .frb-search .frb-button,
body.frb-style .frb-pv-cta {
	position: relative;
	display: inline-block;
	overflow: hidden;
	background: var(--pv-taupe) !important;
	border: 1px solid var(--pv-taupe) !important;
	border-radius: 0 !important;
	color: #fff !important;
	font-family: var(--pv-sans) !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	letter-spacing: .2em !important;
	text-transform: uppercase !important;
	line-height: 1.2 !important;
	height: auto !important;
	padding: 15px 28px !important;
	text-decoration: none !important;
	transition: background .35s var(--pv-ease), color .35s, border-color .35s, letter-spacing .35s;
}
body.frb-style #page-container .et_pb_button:hover,
body.frb-style .frb-pill:hover,
body.frb-style .frb-button:hover,
body.frb-style .frb-pv-cta:hover {
	background: var(--pv-taupe-dark) !important;
	border-color: var(--pv-taupe-dark) !important;
	letter-spacing: .24em !important;
}
body.frb-style #page-container .et_pb_button::after { display: none !important; }
body.frb-style .frb-pill--outline {
	background: transparent !important;
	border-color: var(--pv-gray) !important;
	color: var(--pv-ink) !important;
}
body.frb-style .frb-pill--outline:hover { background: var(--pv-gray) !important; border-color: var(--pv-gray) !important; color: #fff !important; }
body.frb-style .frb-pv-cta { padding: 12px 22px !important; }

/* Calendario, modulo di prenotazione, finestra: beige e marrone chiaro, angoli vivi */
body.frb-style .frb-booking-widget,
body.frb-style .frb-search,
body.frb-style .frb-cards,
body.frb-style .frb-modal {
	--frb-accent: #a48b70;
	--frb-range: #efe9df;
	--frb-border: #e6dfd4;
	--frb-radius: 0;
}
body.frb-style .frb-day { border-radius: 0; }
body.frb-style .frb-modal__dialog { border-radius: 0; }
body.frb-style .frb-dates,
body.frb-style .frb-guests,
body.frb-style .frb-field input,
body.frb-style .frb-field select,
body.frb-style .frb-field textarea,
body.frb-style .frb-card-element { border-radius: 0 !important; }

/* ======================= Ricerca: barra lunga e bassa ======================= */
body.frb-style .frb-compat--stacked {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1080px;
	border: 0 !important;
	border-radius: 0;
	background: #fff !important;
	box-shadow: 0 30px 60px -20px rgba(43, 39, 36, .28) !important;
}
body.frb-style .frb-search.frb-search--stacked {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	width: 100%;
	padding: 0;
	gap: 0;
	text-align: left;
	font-weight: 400;
}
body.frb-style .frb-search--stacked .frb-search__required { display: none; }
body.frb-style .frb-search--stacked .frb-field,
body.frb-style .frb-search--stacked .frb-field--small {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	padding: 16px 20px 14px;
	border-right: 1px solid var(--pv-line);
	text-align: left;
	transition: background .3s;
}
body.frb-style .frb-search--stacked .frb-field:hover,
body.frb-style .frb-search--stacked .frb-field:focus-within { background: var(--pv-sand-light); }
body.frb-style .frb-search--stacked .frb-field--small { flex: .7 1 0; }
body.frb-style .frb-search--stacked .frb-field > span {
	display: block;
	margin-bottom: 4px;
	font-size: 10.5px !important;
	font-weight: 600 !important;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--pv-taupe-dark);
	line-height: 1.3;
}
body.frb-style .frb-search--stacked .frb-field > span abbr { display: none; }
body.frb-style .frb-search--stacked .frb-field input,
body.frb-style .frb-search--stacked .frb-field select {
	width: 100%;
	margin: 0;
	padding: 2px 0;
	border: 0 !important;
	background: transparent;
	font-size: 15px !important;
	color: var(--pv-ink);
	height: auto;
	cursor: pointer;
}
body.frb-style .frb-search--stacked .frb-field input::placeholder { color: #aaa39b; }
body.frb-style .frb-search--stacked .frb-button {
	flex: none;
	margin: 0;
	padding: 0 40px !important;
	height: auto !important;
	font-size: 12px !important;
}
@media (max-width: 900px) {
	body.frb-style .frb-search.frb-search--stacked { flex-wrap: wrap; }
	body.frb-style .frb-search--stacked .frb-field { flex: 1 1 50%; border-bottom: 1px solid var(--pv-line); }
	body.frb-style .frb-search--stacked .frb-field--small { flex: 1 1 33%; }
	body.frb-style .frb-search--stacked .frb-button { flex: 1 1 100%; padding: 18px !important; }
}

/* ======================= Home: collezione alloggi ======================= */
body.frb-style .frb-pv-listings {
	position: relative;
	width: 90%;
	max-width: 1240px;
	margin: 40px auto 0;
	padding: 90px 0 100px;
	background: var(--pv-sand-light);
	box-shadow: 0 0 0 100vmax var(--pv-sand-light);
	clip-path: inset(0 -100vmax);
}
body.frb-style .frb-pv-listings__head { text-align: center; margin-bottom: 54px; }
body.frb-style .frb-pv-listings__title { font-size: 44px !important; margin: 0 0 14px !important; padding: 0; }
body.frb-style .frb-pv-listings__subtitle { color: var(--pv-muted); margin: 0 auto !important; max-width: 520px; }
body.frb-style .frb-pv-listings__head::after {
	content: '';
	display: block;
	width: 60px;
	height: 1px;
	margin: 26px auto 0;
	background: var(--pv-taupe);
}
body.frb-style .frb-pv-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 34px;
}
body.frb-style .frb-pv-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 0;
	border-radius: 0;
	overflow: hidden;
	box-shadow: 0 1px 0 var(--pv-line);
	transition: box-shadow .6s var(--pv-ease), transform .6s var(--pv-ease), opacity 1s var(--pv-ease);
}
body.frb-style .frb-pv-card:hover { transform: translateY(-6px); box-shadow: 0 30px 50px -24px rgba(43, 39, 36, .35); }
/* cornice sottile sulla foto che compare al passaggio del mouse */
body.frb-style .frb-pv-card::after {
	content: '';
	position: absolute;
	top: 12px;
	left: 12px;
	right: 12px;
	height: 316px;
	border: 1px solid rgba(255, 255, 255, .75);
	pointer-events: none;
	opacity: 0;
	transition: opacity .5s;
	z-index: 3;
}
body.frb-style .frb-pv-card:hover::after { opacity: 1; }
body.frb-style .frb-pv-card .et_pb_slider {
	margin: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	overflow: hidden;
}
body.frb-style .frb-pv-card .et_pb_slider,
body.frb-style .frb-pv-card .et_pb_slides,
body.frb-style .frb-pv-card .et_pb_slide,
body.frb-style .frb-pv-card .et_pb_container {
	height: 340px !important;
	min-height: 340px !important;
	max-height: 340px !important;
}
body.frb-style .frb-pv-card .et_pb_slides { transition: transform 1.2s var(--pv-ease); }
body.frb-style .frb-pv-card:hover .et_pb_slides { transform: scale(1.06); }
body.frb-style .frb-pv-card .et_pb_slide { padding: 0 !important; background-size: cover !important; background-position: center !important; }
body.frb-style .frb-pv-card .et-pb-controllers { bottom: 14px; z-index: 4; }
body.frb-style .frb-pv-card .frb-compat { text-align: left !important; flex: 1; display: flex; }
body.frb-style .frb-pv-card .frb-single-accommodation {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 28px 30px 30px;
	text-align: left !important;
}
body.frb-style .frb-pv-card .frb-single-accommodation__title { margin: 0 0 12px !important; font-size: 28px !important; line-height: 1.15 !important; }
body.frb-style .frb-pv-card .frb-single-accommodation__title a { color: var(--pv-ink) !important; transition: color .3s; }
body.frb-style .frb-pv-card .frb-single-accommodation__title a:hover { color: var(--pv-taupe) !important; }
body.frb-style .frb-pv-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin: 0 0 22px !important;
	padding: 0 !important;
	color: var(--pv-muted);
	font-size: 13.5px;
}
body.frb-style .frb-pv-facts span { display: inline-flex; align-items: center; gap: 7px; }
body.frb-style .frb-pv-facts svg { width: 16px; height: 16px; stroke: var(--pv-taupe); fill: none; stroke-width: 1.5; }
body.frb-style .frb-pv-card .frb-details__title,
body.frb-style .frb-pv-card .frb-details { display: none !important; }
body.frb-style .frb-pv-card .frb-single-accommodation__price {
	margin: auto 0 0 !important;
	padding: 18px 0 0 !important;
	border-top: 1px solid var(--pv-line);
	color: var(--pv-muted);
	font-size: 11px !important;
	letter-spacing: .16em;
	text-transform: uppercase;
}
body.frb-style .frb-pv-card .frb-single-accommodation__price strong {
	font-family: var(--pv-serif) !important;
	font-size: 26px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--pv-ink);
	margin: 0 4px;
}
body.frb-style .frb-pv-card .frb-single-accommodation__actions { justify-content: flex-start; gap: 10px; margin-top: 20px !important; }
body.frb-style .frb-pv-card .frb-pill { padding: 13px 20px !important; font-size: 10.5px !important; }
body.frb-style .frb-pv-hidden { display: none !important; }

/* ======================= Animazioni all'ingresso ======================= */
body.frb-style .frb-pv-reveal {
	opacity: 0;
	transform: translateY(34px);
	transition: opacity 1s var(--pv-ease), transform 1s var(--pv-ease);
	transition-delay: var(--pv-delay, 0s);
}
body.frb-style .frb-pv-reveal.is-in { opacity: 1; transform: none; }
body.frb-style .frb-pv-card.frb-pv-reveal.is-in:hover { transform: translateY(-6px); transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) {
	body.frb-style .frb-pv-reveal { opacity: 1; transform: none; transition: none; }
	body.frb-style.frb-hero .et_pb_section_0 h1 { animation: none; }
	html:has(body.frb-style) { scroll-behavior: auto; }
}

/* ======================= Pagina alloggio ======================= */
body.frb-style.single-frb_property .frb-compat--attributes .frb-details { list-style: none !important; padding: 0 !important; }
body.frb-style.single-frb_property .frb-compat--attributes .frb-details li {
	list-style: none !important;
	padding: 8px 0 !important;
	border-bottom: 1px solid var(--pv-line);
	font-size: 14px;
}
body.frb-style.single-frb_property .frb-details__label { color: var(--pv-muted); }
body.frb-style .frb-price-from strong { font-family: var(--pv-serif) !important; font-size: 24px; font-weight: 400; color: var(--pv-ink); }

/* ======================= Telefono e tablet ======================= */
@media (max-width: 980px) {
	body.frb-style #page-container a.frb-pv-brand { font-size: 18px !important; }
	body.frb-style .frb-pv-cta { display: none !important; }
	body.frb-style header.et-l--header .et_pb_column { flex: none; }
	body.frb-style .frb-pv-listings { padding: 60px 0 70px; }
	body.frb-style .frb-pv-listings__title { font-size: 34px !important; }
}
@media (max-width: 782px) {
	body.frb-style.admin-bar header.et-l--header { top: 46px; }
}
@media (max-width: 767px) {
	body.frb-style.frb-hero .et_pb_section_0 h1,
	body.frb-style.frb-hero .et_pb_section_0 h1 * { font-size: 40px !important; line-height: 1.12 !important; overflow-wrap: normal; word-break: normal; hyphens: none; }
	body.frb-style.home .et_pb_text_1 h2 { font-size: 23px !important; }
	body.frb-style .frb-pv-grid { grid-template-columns: 1fr; }
	body.frb-style .frb-pv-card .et_pb_slider,
	body.frb-style .frb-pv-card .et_pb_slides,
	body.frb-style .frb-pv-card .et_pb_slide,
	body.frb-style .frb-pv-card .et_pb_container { height: 260px !important; min-height: 260px !important; max-height: 260px !important; }
	body.frb-style .frb-pv-card::after { height: 236px; }
}

/* ---- ritocchi ---- */
/* Il modulo menu di Divi ha lo sfondo bianco: nell'intestazione lo rendiamo trasparente */
body.frb-style header.et-l--header .et_pb_menu,
body.frb-style header.et-l--header .et_pb_menu__wrap,
body.frb-style header.et-l--header .et_pb_menu_inner_container,
body.frb-style header.et-l--header .et_pb_menu__menu,
body.frb-style header.et-l--header .et_mobile_nav_menu,
body.frb-style header.et-l--header .mobile_nav { background: transparent !important; }
body.frb-style header.et-l--header .et_mobile_menu { background: #fff !important; border-top-color: var(--pv-taupe) !important; }
body.frb-style header.et-l--header .et_mobile_menu a { color: var(--pv-ink) !important; font-size: 13px !important; letter-spacing: .14em; text-transform: uppercase; }

/* Pulsanti delle schede affiancati */
body.frb-style .frb-pv-card .frb-single-accommodation__actions { flex-wrap: nowrap; }
body.frb-style .frb-pv-card .frb-pill {
	flex: 1 1 0;
	text-align: center;
	white-space: nowrap;
	padding: 14px 8px !important;
	font-size: 10px !important;
	letter-spacing: .14em !important;
}
body.frb-style .frb-pv-card .frb-pill:hover { letter-spacing: .16em !important; }

@media (max-width: 767px) {
	body.frb-style.frb-hero .et_pb_section_0 { padding-top: 110px !important; }
}

/* ---- Intestazione: pulsanti del menu in Playfair Display, con linea sottile che compare sotto ---- */
body.frb-style #page-container header.et-l--header .et_pb_menu .et-menu > li > a,
body.frb-style #page-container .frb-pv-cta {
	font-family: var(--pv-serif) !important;
	font-size: 16.5px !important;
	font-weight: 400 !important;
	letter-spacing: .02em !important;
	text-transform: none !important;
}
body.frb-style header.et-l--header .et_pb_menu .et-menu > li { padding-left: 14px; padding-right: 14px; }
body.frb-style #page-container header.et-l--header .et_pb_menu .et-menu > li > a {
	display: inline-block;
	padding: 0 0 5px !important;
	line-height: 1.3 !important;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 100% 100%;
	background-size: 0 1px;
	transition: background-size .45s var(--pv-ease), color .3s;
}
body.frb-style #page-container header.et-l--header .et_pb_menu .et-menu > li > a:hover,
body.frb-style #page-container header.et-l--header .et_pb_menu .et-menu > li.current-menu-item > a {
	background-size: 100% 1px;
	background-position: 0 100%;
}
body.frb-style #page-container .frb-pv-cta,
body.frb-style #page-container .frb-pv-cta:hover { font-style: italic !important; padding: 10px 26px !important; }
/* Home: velatura scura dietro l'intestazione, così menu e pulsante si leggono anche sulle immagini chiare del video */
body.frb-style.frb-hero:not(.frb-pv-scrolled) header.et-l--header .et_pb_section {
	background: linear-gradient(rgba(20, 17, 14, .55), rgba(20, 17, 14, .15)) !important;
	backdrop-filter: blur(2px);
}
body.frb-style.frb-hero:not(.frb-pv-scrolled) header.et-l--header .et-menu > li > a,
body.frb-style.frb-hero:not(.frb-pv-scrolled) #page-container a.frb-pv-brand,
body.frb-style.frb-hero:not(.frb-pv-scrolled) .frb-pv-cta { text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }

/* Home: spazio tra la barra di ricerca (a cavallo del video) e il titolo sotto */
body.frb-style.frb-hero .frb-compat--search { margin-bottom: 105px !important; }
/* Sezione bianca sotto al video più alta: più aria anche prima della fascia beige degli alloggi */
body.frb-style.home .et_pb_text_1 { margin-bottom: 18px !important; }
body.frb-style.home .frb-pv-listings { margin-top: 110px; }
body.frb-style.frb-hero:not(.home) .frb-compat--search { margin-bottom: 0 !important; }
body.frb-style.frb-hero:not(.home) .et_pb_section_1 { padding-bottom: 0 !important; }
@media (max-width: 767px) {
	body.frb-style.home .frb-compat--search { margin-bottom: 64px !important; }
	body.frb-style.home .frb-pv-listings { margin-top: 70px; }
}

/* Home: video più basso (l'altezza la calcola theme.js). Il video riempie sempre la sezione e il titolo resta centrato. */
body.frb-style.frb-hero .et_pb_section_0 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 90px 0 60px !important;
}
body.frb-style.frb-hero .et_pb_section_0 > .et_pb_row,
body.frb-style.frb-hero .et_pb_section_0 > .et_pb_row > .et_pb_column {
	height: auto !important;
	min-height: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
body.frb-style.frb-hero .et_pb_section_0 > .et_pb_row { margin-top: auto !important; margin-bottom: auto !important; }
body.frb-style.frb-hero .et_pb_section_0 .et_pb_divider_0 { display: none; }
body.frb-style.frb-hero .et_pb_section_0 .et_pb_text_0 { margin-bottom: 0 !important; }
body.frb-style.frb-hero .et_pb_section_video_bg,
body.frb-style.frb-hero .et_pb_section_video_bg .mejs-container,
body.frb-style.frb-hero .et_pb_section_video_bg .mejs-mediaelement { width: 100% !important; height: 100% !important; }
body.frb-style.frb-hero .et_pb_section_video_bg video {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover !important;
}

/* Calendario della ricerca con lo stile del sito */
body.frb-style .frb-dp {
	border-radius: 0;
	border-color: var(--pv-line);
	box-shadow: 0 30px 70px -20px rgba(43, 39, 36, .35);
	padding: 26px 30px 18px;
}
body.frb-style .frb-compat--stacked .frb-dp { top: calc(100% + 14px); left: 0; width: min(720px, 100%); }
body.frb-style .frb-dp .frb-month__title { font-size: 18px; margin-bottom: 16px; }
body.frb-style .frb-dp .frb-dow { font-size: 10.5px; letter-spacing: .14em; color: var(--pv-taupe-dark); }
body.frb-style .frb-dp .frb-day { min-height: 44px; }
body.frb-style .frb-dp .frb-day span { font-weight: 500; }
body.frb-style .frb-dp__nav button { border-radius: 0; border-color: var(--pv-line); }
body.frb-style .frb-dp__done {
	border-radius: 0;
	background: var(--pv-taupe);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	padding: 10px 18px;
}
body.frb-style .frb-dp__footer { border-top-color: var(--pv-line); color: var(--pv-muted); }
body.frb-style .frb-search--stacked .frb-dp-input.is-active { box-shadow: inset 0 -2px 0 var(--pv-taupe); }
body.frb-style .frb-search--stacked .frb-field:has(.frb-dp-input.is-active) { background: var(--pv-sand-light); }

/* ---- Risultati della ricerca e schede alloggi, nello stile del sito ---- */
body.frb-style .frb-results,
body.frb-style .frb-cards { --frb-muted: #7a746d; --frb-border: #e6dfd4; --frb-radius: 0; }
body.frb-style .frb-compat--results { margin-top: 30px !important; }
body.frb-style .frb-results { margin-top: 56px; }
body.frb-style .frb-results__summary { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--pv-muted); }
body.frb-style .frb-results__group {
	padding: 70px 0 80px;
	background: var(--pv-sand-light);
	box-shadow: 0 0 0 100vmax var(--pv-sand-light);
	clip-path: inset(0 -100vmax);
}
body.frb-style .frb-results__group:nth-child(odd of .frb-results__group) { background: #fff; box-shadow: 0 0 0 100vmax #fff; }
body.frb-style .frb-results__group + .frb-results__group { margin-top: 0; }
body.frb-style .frb-results__count { color: var(--pv-taupe-dark); font-weight: 600; font-size: 11px; letter-spacing: .24em; }
body.frb-style .frb-results__city { font-size: 46px !important; }
body.frb-style .frb-results__head::after { content: ''; display: block; width: 60px; height: 1px; margin: 22px auto 0; background: var(--pv-taupe); }
body.frb-style .frb-results__head { margin-bottom: 46px; }
body.frb-style .frb-cards { gap: 34px; }
body.frb-style .frb-card { border: 0; box-shadow: 0 1px 0 var(--pv-line); background: #fff; }
body.frb-style .frb-card:hover { transform: translateY(-6px); box-shadow: 0 30px 50px -24px rgba(43, 39, 36, .35); }
body.frb-style .frb-gallery { aspect-ratio: auto; height: 320px; }
body.frb-style .frb-gallery__nav { border-radius: 0; background: rgba(255, 255, 255, .95); color: var(--pv-ink); }
body.frb-style .frb-gallery__count { border-radius: 0; background: rgba(43, 39, 36, .55); font-family: var(--pv-sans) !important; }
body.frb-style .frb-card__body { padding: 28px 30px 30px; }
body.frb-style .frb-card__city { color: var(--pv-taupe-dark); letter-spacing: .24em; }
body.frb-style #page-container .frb-card__title,
body.frb-style #page-container .frb-card__title a { font-family: var(--pv-serif) !important; font-weight: 400 !important; font-size: 28px !important; }
body.frb-style .frb-card__title a:hover { color: var(--pv-taupe) !important; }
body.frb-style .frb-card__facts svg { stroke: var(--pv-taupe); }
body.frb-style #page-container .frb-card__price strong { font-family: var(--pv-serif) !important; font-weight: 400; font-size: 28px; color: var(--pv-ink); }
body.frb-style .frb-card__actions { justify-content: flex-start; gap: 22px; }
body.frb-style .frb-card__more { font-size: 11px !important; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; border-bottom-color: var(--pv-taupe); }
body.frb-style .frb-card__more:hover { color: var(--pv-taupe) !important; }
@media (max-width: 767px) {
	body.frb-style .frb-results__city { font-size: 34px !important; }
	body.frb-style .frb-gallery { height: 250px; }
	body.frb-style .frb-results__group { padding: 50px 0 56px; }
}

/* ======================= Pagina alloggio ======================= */
/* Le tre lineette sopra la foto erano spaziatori invisibili di Divi: restano invisibili */
body.frb-style.single-frb_property .et_pb_divider::before { opacity: 0 !important; }

/* Barra "Verifica disponibilità" in alto, su fascia beige */
body.frb-style .frb-pv-topbar {
	position: relative;
	z-index: 20;
	padding: 34px 5%;
	background: var(--pv-sand-light);
	border-bottom: 1px solid var(--pv-line);
}
body.frb-style .frb-pv-topbar .frb-compat--search {
	margin: 0 auto !important;
	transform: none !important;
	max-width: 1080px;
}

/* "Controlla le nostre disponibilità": titolo centrato sopra, calendario largo sotto */
body.frb-style.single-frb_property .et_pb_row:has(#prenota) {
	display: block !important;
	width: 90% !important;
	max-width: 1180px !important;
	padding: 90px 0 !important;
}
body.frb-style.single-frb_property .et_pb_section:has(#prenota) {
	background: var(--pv-sand-light) !important;
	padding: 0 !important;
}
body.frb-style.single-frb_property .et_pb_row:has(#prenota) > .et_pb_column {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}
body.frb-style.single-frb_property .et_pb_row:has(#prenota) > .et_pb_column:not(:has(#prenota)) { margin-bottom: 40px !important; text-align: center; }
body.frb-style.single-frb_property .et_pb_row:has(#prenota) > .et_pb_column:not(:has(#prenota)) * {
	font-family: var(--pv-serif) !important;
	font-style: normal !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 42px !important;
	line-height: 1.2 !important;
	color: var(--pv-ink) !important;
	text-align: center !important;
}
body.frb-style.single-frb_property .et_pb_row:has(#prenota) > .et_pb_column:not(:has(#prenota)) .et_pb_text_inner::before {
	content: var(--frb-avail-eyebrow, 'Disponibilità e prezzi');
	display: block;
	margin-bottom: 12px;
	font-family: var(--pv-sans) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .24em !important;
	text-transform: uppercase;
	color: var(--pv-taupe-dark) !important;
}
body.frb-style.single-frb_property .et_pb_row:has(#prenota) > .et_pb_column:not(:has(#prenota)) .et_pb_text_inner::after {
	content: '';
	display: block;
	width: 60px;
	height: 1px;
	margin: 24px auto 0;
	background: var(--pv-taupe);
}
body.frb-style #prenota .frb-cal,
body.frb-style #prenota .frb-side { background: #fff; border-color: var(--pv-line); box-shadow: 0 20px 50px -30px rgba(43, 39, 36, .3); }
body.frb-style #prenota .frb-cal { padding: 26px 28px 22px; }
body.frb-style #prenota .frb-side { padding: 26px 24px; }
body.frb-style .frb-month__title { font-size: 19px; }
body.frb-style .frb-dow { font-size: 10.5px; letter-spacing: .14em; color: var(--pv-taupe-dark); }
body.frb-style .frb-day small { color: var(--pv-muted); }
body.frb-style .frb-dates,
body.frb-style .frb-guests { border-color: var(--pv-line); }
body.frb-style .frb-dates small,
body.frb-style .frb-guests small { color: var(--pv-taupe-dark); letter-spacing: .16em; font-size: 10px; }
body.frb-style .frb-quote__total td { font-family: var(--pv-serif) !important; font-weight: 400; font-size: 22px; }
body.frb-style .frb-cal__legend { color: var(--pv-muted); }
body.frb-style .frb-cal__legend i { border-color: var(--pv-line); }
@media (max-width: 767px) {
	body.frb-style .frb-pv-topbar { padding: 20px 16px; }
	body.frb-style.single-frb_property .et_pb_row:has(#prenota) { padding: 56px 0 !important; }
	body.frb-style.single-frb_property .et_pb_row:has(#prenota) > .et_pb_column:not(:has(#prenota)) * { font-size: 30px !important; }
}

/* Fascia beige in alto nella pagina alloggio: fino ai bordi della pagina */
body.frb-style .frb-pv-topbar { box-shadow: 0 0 0 100vmax var(--pv-sand-light); clip-path: inset(0 -100vmax); border-bottom: 0; }

/* Telefono/tablet: la colonna del menu si restringe e il pulsante ☰ resta a destra, dentro lo schermo */
@media (max-width: 980px) {
	body.frb-style header.et-l--header .et_pb_row { flex-wrap: nowrap; }
	body.frb-style header.et-l--header .et_pb_column { flex: 1 1 auto !important; min-width: 0; width: auto !important; }
	body.frb-style header.et-l--header .et_pb_menu,
	body.frb-style header.et-l--header .et_pb_menu__wrap { width: 100%; justify-content: flex-end; }
}

/* Opzioni di pagamento nello stile del sito */
body.frb-style .frb-pay { border-radius: 0; border-color: var(--pv-line); }
body.frb-style .frb-pay.is-selected { background: var(--pv-sand-light); border-color: var(--pv-taupe); box-shadow: inset 0 0 0 1px var(--pv-taupe); }
body.frb-style .frb-payopts legend { font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--pv-taupe-dark); }
body.frb-style .frb-pay__badge { border-radius: 0; background: var(--pv-taupe); }
body.frb-style .frb-pay__head strong { font-family: var(--pv-serif) !important; font-weight: 400; font-size: 16px; }
body.frb-style .frb-pay__price { font-family: var(--pv-serif) !important; font-weight: 400; font-size: 17px; }

/* Servizi nello stile del sito */
body.frb-style .frb-amenities { padding-top: 34px; border-top: 1px solid var(--pv-line); }
body.frb-style #page-container .frb-amenities__title { font-family: var(--pv-serif) !important; font-weight: 400 !important; font-size: 28px !important; }
body.frb-style .frb-amenities__list svg { color: var(--pv-taupe); }
body.frb-style .frb-amenities__list li { color: var(--pv-ink); }

/* ======================= Footer ======================= */
body.frb-style footer.et-l--footer { display: none !important; }
body.frb-style .frb-footer {
	position: relative;
	background: #2b2724;
	color: #cfc6ba;
	font-family: var(--pv-sans);
	font-size: 14.5px;
	line-height: 1.7;
}
body.frb-style .frb-footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 60px;
	height: 1px;
	margin-left: -30px;
	background: var(--pv-taupe);
}
body.frb-style .frb-footer__inner {
	width: 90%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 80px 0 56px;
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 48px;
}
body.frb-style .frb-footer__logo {
	display: inline-block;
	margin-bottom: 14px;
	font-family: var(--pv-serif);
	font-size: 26px;
	letter-spacing: .02em;
	color: #fff !important;
	text-decoration: none;
}
body.frb-style .frb-footer__logo em { font-style: italic; color: #c9b196; }
body.frb-style .frb-footer__brand p { margin: 0 0 24px; padding: 0; max-width: 320px; color: #b3a99c; }
body.frb-style .frb-footer__cta {
	display: inline-block;
	padding: 13px 24px;
	border: 1px solid var(--pv-taupe);
	color: #fff !important;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background .3s, letter-spacing .3s;
}
body.frb-style .frb-footer__cta:hover { background: var(--pv-taupe); letter-spacing: .24em; }
body.frb-style .frb-footer h4 {
	margin: 0 0 14px;
	padding: 0;
	font-family: var(--pv-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: #c9b196;
}
body.frb-style .frb-footer ul + h4 { margin-top: 26px; }
body.frb-style .frb-footer ul { list-style: none; margin: 0; padding: 0; }
body.frb-style .frb-footer li { padding: 3px 0; }
body.frb-style .frb-footer a,
body.frb-style .frb-footer__link {
	color: #e8e1d6 !important;
	text-decoration: none;
	background: linear-gradient(currentColor, currentColor) no-repeat 100% 100% / 0 1px;
	transition: background-size .4s var(--pv-ease), color .3s;
	padding-bottom: 2px;
}
body.frb-style .frb-footer a:hover,
body.frb-style .frb-footer__link:hover { background-size: 100% 1px; background-position: 0 100%; color: #fff !important; }
body.frb-style .frb-footer__cta:hover { background-size: auto; }
body.frb-style .frb-footer__link { border: 0; padding: 0 0 2px; font: inherit; cursor: pointer; background-color: transparent; }
body.frb-style .frb-footer__facts li { color: #b3a99c; }
body.frb-style .frb-footer__bottom {
	width: 90%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 22px 0 28px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 12px;
	letter-spacing: .08em;
	color: #8f867b;
}
body.frb-style .frb-modal--terms .frb-modal__dialog { max-width: 640px; padding: 34px 36px 30px; }
body.frb-style .frb-modal--terms h3 { font-family: var(--pv-serif) !important; font-weight: 400; font-size: 26px; margin: 0 0 16px; }
body.frb-style .frb-modal--terms .frb-terms-text p { margin: 0 0 12px; line-height: 1.7; color: var(--pv-ink); }
@media (max-width: 980px) {
	body.frb-style .frb-footer__inner { grid-template-columns: 1fr 1fr; gap: 40px 32px; padding: 60px 0 40px; }
	body.frb-style .frb-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	body.frb-style .frb-footer__inner { grid-template-columns: 1fr; }
}

/* Footer beige (come il calendario) con scritte scure */
body.frb-style .frb-footer { background: var(--pv-sand); color: var(--pv-ink); border-top: 1px solid var(--pv-line); }
body.frb-style .frb-footer__logo { color: var(--pv-ink) !important; }
body.frb-style .frb-footer__logo em { color: var(--pv-taupe-dark); }
body.frb-style .frb-footer__brand p,
body.frb-style .frb-footer__facts li { color: var(--pv-muted); }
body.frb-style .frb-footer h4 { color: var(--pv-taupe-dark); }
body.frb-style .frb-footer a,
body.frb-style .frb-footer__link { color: var(--pv-ink) !important; }
body.frb-style .frb-footer a:hover,
body.frb-style .frb-footer__link:hover { color: var(--pv-taupe-dark) !important; }
body.frb-style .frb-footer__cta { color: var(--pv-ink) !important; border-color: var(--pv-taupe); }
body.frb-style .frb-footer__cta:hover { color: #fff !important; background: var(--pv-taupe); }
body.frb-style .frb-footer__bottom { border-top-color: rgba(43, 39, 36, .12); color: var(--pv-muted); }

/* Footer più basso + link legali in fondo */
body.frb-style .frb-footer__inner { padding: 46px 0 30px; gap: 36px; }
body.frb-style .frb-footer__logo { font-size: 23px; margin-bottom: 8px; }
body.frb-style .frb-footer__brand p { margin-bottom: 16px; }
body.frb-style .frb-footer__cta { padding: 10px 20px; }
body.frb-style .frb-footer h4 { margin-bottom: 8px; }
body.frb-style .frb-footer ul + h4 { margin-top: 16px; }
body.frb-style .frb-footer li { padding: 1px 0; }
body.frb-style .frb-footer__bottom { padding: 14px 0 18px; align-items: center; }
body.frb-style .frb-footer__legal { display: flex; flex-wrap: wrap; gap: 6px 22px; }
body.frb-style .frb-footer__legal a { color: var(--pv-muted) !important; letter-spacing: .06em; }
body.frb-style .frb-footer__legal a:hover { color: var(--pv-ink) !important; }
body.frb-style .frb-footer__legal .frb-footer__consent { color: var(--pv-muted) !important; letter-spacing: .06em; font-size: inherit; background-image: none; }
body.frb-style .frb-footer__legal .frb-footer__consent:hover { color: var(--pv-ink) !important; }
@media (max-width: 980px) {
	body.frb-style .frb-footer__inner { padding: 40px 0 26px; gap: 28px 24px; }
}

/* Pagina Termini e condizioni */
body.frb-style .frb-legal { max-width: 860px; margin: 0 auto; }
body.frb-style .frb-legal h2 { font-family: var(--pv-serif) !important; font-weight: 400 !important; font-size: 26px !important; margin: 36px 0 12px !important; }
body.frb-style .frb-legal h2:first-child { margin-top: 0 !important; }

/* Pagine di solo testo (Termini, Privacy, Cookie): titolo centrato e spazio sotto il menu */
body.frb-style.page:not(.et_pb_pagebuilder_layout) #main-content .container { padding-top: 70px !important; padding-bottom: 80px; }
body.frb-style.page:not(.et_pb_pagebuilder_layout) #page-container h1.entry-title.main_title {
	max-width: 860px;
	margin: 0 auto 40px !important;
	text-align: center;
	font-size: 44px !important;
}
body.frb-style.page:not(.et_pb_pagebuilder_layout) #page-container h1.entry-title.main_title::after {
	content: '';
	display: block;
	width: 60px;
	height: 1px;
	margin: 22px auto 0;
	background: var(--pv-taupe);
}
body.frb-style .frb-legal td:first-child a { color: var(--pv-ink) !important; }

/* Selettore di lingua nell'intestazione */
body.frb-style .frb-lang { display: flex; align-items: center; gap: 2px; flex: none; margin-left: auto; font-family: var(--pv-sans); }
body.frb-style .frb-lang a,
body.frb-style .frb-lang span {
	padding: 4px 6px;
	font-size: 11.5px !important;
	font-weight: 600;
	letter-spacing: .14em;
	text-decoration: none;
	color: var(--pv-muted) !important;
	transition: color .2s;
}
body.frb-style .frb-lang a:hover { color: var(--pv-ink) !important; }
body.frb-style .frb-lang .is-current { color: var(--pv-taupe-dark) !important; border-bottom: 1px solid var(--pv-taupe); }
body.frb-style.frb-hero:not(.frb-pv-scrolled) .frb-lang a { color: rgba(255, 255, 255, .75) !important; }
body.frb-style.frb-hero:not(.frb-pv-scrolled) .frb-lang a:hover,
body.frb-style.frb-hero:not(.frb-pv-scrolled) .frb-lang .is-current { color: #fff !important; border-bottom-color: #fff; }
@media (max-width: 980px) {
	body.frb-style .frb-lang { order: 3; margin-left: 0; }
	body.frb-style .frb-lang a,
	body.frb-style .frb-lang span { padding: 4px 4px; font-size: 10.5px !important; letter-spacing: .08em; }
}
body.frb-style .frb-cash { border-radius: 0; border-color: var(--pv-line); }
body.frb-style .frb-cash__title { color: var(--pv-taupe-dark); letter-spacing: .18em; }
body.frb-style .frb-online { border-radius: 0; border-color: var(--pv-taupe); background: var(--pv-sand-light); }
body.frb-style .frb-online__head strong { font-family: var(--pv-serif) !important; font-weight: 400; font-size: 16px; }

/* Contatti nello stile del sito */
body.frb-style .frb-contact-card { border-radius: 0; border-color: var(--pv-line); }
body.frb-style .frb-contact-card svg { color: var(--pv-taupe); }
body.frb-style .frb-contact-card__label { color: var(--pv-taupe-dark); }
body.frb-style #page-container .frb-contact-card__value { font-family: var(--pv-serif) !important; font-size: 19px; }
body.frb-style .frb-contact-form { border-radius: 0; border-color: var(--pv-line); background: var(--pv-sand-light); }
body.frb-style #page-container .frb-contact-form h2 { font-family: var(--pv-serif) !important; font-weight: 400 !important; font-size: 28px !important; }
body.frb-style .frb-contact-form .frb-field input,
body.frb-style .frb-contact-form .frb-field select,
body.frb-style .frb-contact-form .frb-field textarea { border-radius: 0; background: #fff; }
body.frb-style .frb-footer__contact { margin: -8px 0 16px !important; font-size: 14px; }

/* Sezioni delle pagine nello stile del sito */
body.frb-style #page-container .frb-sec-head__title,
body.frb-style #page-container .frb-collection__cityname,
body.frb-style #page-container .frb-steps__title,
body.frb-style #page-container .frb-steps__list h3,
body.frb-style #page-container .frb-band h2,
body.frb-style #page-container .frb-city-panel__body h3,
body.frb-style #page-container .frb-cta__body h2 { font-family: var(--pv-serif) !important; font-weight: 400 !important; }
body.frb-style #page-container .frb-host__quote { font-family: var(--pv-serif) !important; font-style: italic; color: var(--pv-ink); }
body.frb-style .frb-sec-head__eyebrow,
body.frb-style .frb-services__facts strong { color: var(--pv-taupe-dark); }
body.frb-style .frb-sec-head__head::after,
body.frb-style .frb-sec-head::after { content: ''; display: block; width: 60px; height: 1px; margin: 22px auto 0; background: var(--pv-taupe); }
body.frb-style .frb-services .frb-sec-head__title::after { display: none; }
body.frb-style .frb-collection { position: relative; }
/* "I nostri alloggi": la stessa sezione della Home su tutte le pagine */
body.frb-style .frb-showcase { padding: 90px 0 100px; background: var(--pv-sand-light); box-shadow: 0 0 0 100vmax var(--pv-sand-light); clip-path: inset(0 -100vmax); }
body.frb-style .frb-showcase .frb-sec-head { margin-bottom: 54px; }
body.frb-style #page-container .frb-showcase .frb-sec-head__title { font-size: 44px !important; }
/* schede in righe da 3, quelle dell'ultima riga restano al centro */
body.frb-style .frb-cards--showcase { display: flex; flex-wrap: wrap; justify-content: center; gap: 40px; }
body.frb-style .frb-cards--showcase > .frb-card { flex: 0 1 calc((100% - 40px) / 2); max-width: 560px; } /* sempre due per riga */
/* larga come nella Home (90% dello schermo, max 1240px), anche se la riga di Divi è più stretta */
@media (min-width: 768px) {
	/* due schede per riga (560px + spazio 40px + 560px) */
	body.frb-style .frb-cards--showcase { width: min(1160px, 90vw); position: relative; left: 50%; transform: translateX(-50%); }
}
body.frb-style .frb-card--showcase .frb-gallery { height: 340px; }
body.frb-style .frb-card--showcase .frb-gallery__slide img { transition: transform 1.2s var(--pv-ease); }
body.frb-style .frb-card--showcase:hover .frb-gallery__slide img { transform: scale(1.06); }
body.frb-style .frb-card--showcase { position: relative; }
body.frb-style .frb-card--showcase::after { content: ''; position: absolute; top: 12px; left: 12px; right: 12px; height: 316px; border: 1px solid rgba(255, 255, 255, .75); pointer-events: none; opacity: 0; transition: opacity .5s; z-index: 3; }
body.frb-style .frb-card--showcase:hover::after { opacity: 1; }
body.frb-style .frb-card--showcase .frb-card__price { display: block; padding-top: 18px; color: var(--pv-muted); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
body.frb-style .frb-card--showcase .frb-card__price-label,
body.frb-style .frb-card--showcase .frb-card__price small { display: inline; width: auto; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--pv-muted); }
body.frb-style #page-container .frb-card--showcase .frb-card__price strong { font-size: 26px; margin: 0 4px; letter-spacing: 0; text-transform: none; }
body.frb-style .frb-card--showcase .frb-card__actions { flex-wrap: nowrap; gap: 10px; margin-top: 20px; }
body.frb-style .frb-card--showcase .frb-pill { flex: 1 1 0; text-align: center; white-space: nowrap; padding: 14px 8px !important; font-size: 10px !important; letter-spacing: .14em !important; }
body.frb-style .frb-card--showcase .frb-pill:hover { letter-spacing: .16em !important; }
@media (max-width: 767px) {
	body.frb-style .frb-showcase { padding: 60px 0 70px; }
	body.frb-style #page-container .frb-showcase .frb-sec-head__title { font-size: 34px !important; }
	body.frb-style .frb-cards--showcase > .frb-card { flex-basis: 100%; max-width: none; }
	body.frb-style .frb-card--showcase .frb-gallery { height: 260px; }
	body.frb-style .frb-card--showcase::after { height: 236px; }
	body.frb-style .frb-card--showcase .frb-card__actions { flex-wrap: wrap; }
	body.frb-style .frb-card--showcase .frb-pill { flex: 1 1 100%; padding: 15px 8px !important; }
}
body.frb-style .frb-card__amenities { color: var(--pv-taupe); }
body.frb-style .frb-steps__list li { border-color: var(--pv-line); }
body.frb-style .frb-band { background: var(--pv-sand); }
body.frb-style .frb-story > section + section { border-top-color: var(--pv-line); }

/* Niente lineetta decorativa sopra il footer */
body.frb-style .frb-footer::before { display: none; }
body.frb-style #page-container .frb-map__title { font-family: var(--pv-serif) !important; font-weight: 400 !important; }
body.frb-style .frb-map__frame { border-color: var(--pv-line); }

/* Termini e condizioni: pagina modificabile da WordPress (blocchi normali) */
body.frb-style .frb-legal .wp-block-table { margin: 8px 0 0; overflow-x: auto; }
body.frb-style .frb-legal table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
body.frb-style .frb-legal th,
body.frb-style .frb-legal td { text-align: left; vertical-align: top; padding: 12px 14px; border: 0 !important; border-bottom: 1px solid var(--pv-line) !important; }
body.frb-style .frb-legal th { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--pv-taupe-dark); font-weight: 600; }
body.frb-style .frb-legal thead { border: 0 !important; }
body.frb-style .frb-legal td small { color: var(--pv-muted); }
body.frb-style .frb-legal td:first-child { min-width: 150px; }
body.frb-style .frb-legal td:first-child a { font-weight: 600; }
body.frb-style .frb-legal.wp-block-group > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
body.frb-style .frb-legal .wp-block-table,
body.frb-style .frb-legal table { border: 0 !important; }
body.frb-style .frb-legal a { color: var(--pv-taupe-dark) !important; text-decoration: underline; text-underline-offset: 3px; }
body.frb-style .frb-legal ul { margin: 0 0 14px 20px; }
body.frb-style .frb-legal li { margin: 4px 0; }

/* Tablet: schede più strette, pulsanti uno sotto l'altro */
@media (max-width: 980px) {
	body.frb-style .frb-card--showcase .frb-card__actions { flex-wrap: wrap; }
	body.frb-style .frb-card--showcase .frb-pill { flex: 1 1 100%; padding: 15px 8px !important; }
}
