/**
 * Home — allineamento al demo Vik Booking “Seasons” (layout hotel, card camere, blocchi full-bleed).
 * Solo con body.ipp-seasons-vik-home (front page + stile Seasons attivo).
 *
 * @package Albatross_Child
 */

/* -------------------------------------------------------------------------
   Contenitore (larghezza tipo demo ~1200px sulle sezioni boxed)
   ------------------------------------------------------------------------- */

body.ipp-seasons-vik-home .site-main .elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/* Spazio sotto la barra prenotazione (hero + form) */
body.ipp-seasons-vik-home .entry-content#page-content {
	padding-top: clamp(1.25rem, 2.5vw, 2rem);
}

/* Ritmo verticale tra sezioni boxed (evita “muri” attaccati) */
body.ipp-seasons-vik-home .site-main .elementor-section.elementor-section-boxed {
	padding-top: clamp(2.25rem, 4vw, 3.5rem);
	padding-bottom: clamp(2.25rem, 4vw, 3.5rem);
}

/* Mappa a tutta larghezza */
body.ipp-seasons-vik-home .site-main .elementor-section:has(.elementor-widget-html iframe[src*="google.com/maps"]) > .elementor-container {
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.ipp-seasons-vik-home .site-main .elementor-widget-html iframe[src*="google.com/maps"] {
	display: block;
	width: 100% !important;
	max-width: none;
}

/* -------------------------------------------------------------------------
   Intro — gerarchia titolo / corpo / immagine (standard hotel: H2 dominante,
   corpo 17–18px, line-height 1.65+, immagine 4:3 come card camere)
   ------------------------------------------------------------------------- */

body.ipp-seasons-vik-home .site-main .elementor-section:first-of-type .elementor-widget-heading .elementor-heading-title {
	font-family: var(--font-heading) !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em !important;
	line-height: 1.18 !important;
	font-size: clamp(1.875rem, 2.8vw + 1rem, 2.875rem) !important;
	color: var(--text-primary) !important;
	max-width: var(--ipp-section-heading-max, min(48ch, 100%)) !important;
}

body.ipp-seasons-vik-home .site-main .elementor-section:first-of-type .elementor-widget-text-editor,
body.ipp-seasons-vik-home .site-main .elementor-section:first-of-type .elementor-widget-text-editor p {
	font-size: clamp(1rem, 0.35vw + 0.94rem, var(--ipp-text-lead, 1.125rem)) !important;
	line-height: var(--ipp-leading-relaxed, 1.72) !important;
	color: var(--text-secondary) !important;
	max-width: var(--ipp-reading-max, 65ch) !important;
}

body.ipp-seasons-vik-home .site-main .elementor-section:first-of-type .elementor-widget-image .elementor-widget-container {
	aspect-ratio: var(--ipp-card-image-ratio, 4 / 3);
	overflow: hidden;
	border-radius: var(--radius-md, 6px);
	box-shadow: var(--shadow-soft);
}

body.ipp-seasons-vik-home .site-main .elementor-section:first-of-type .elementor-widget-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* -------------------------------------------------------------------------
   Etichetta “LE CAMERE” + testo affiancato (stile demo)
   ------------------------------------------------------------------------- */

body.ipp-seasons-vik-home .site-main .elementor-widget-heading .elementor-heading-title {
	font-family: var(--font-heading) !important;
}

body.ipp-seasons-vik-home .site-main h6.elementor-heading-title,
body.ipp-seasons-vik-home .site-main .elementor-widget-heading h6.elementor-heading-title {
	font-family: var(--font-body) !important;
	font-size: clamp(0.6875rem, 0.2vw + 0.65rem, 0.8125rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--accent) !important;
}

/* Blocco “Le camere”: paragrafi con misura di lettura */
body.ipp-seasons-vik-home .site-main .elementor-section:nth-of-type(2) .elementor-widget-text-editor,
body.ipp-seasons-vik-home .site-main .elementor-section:nth-of-type(2) .elementor-widget-text-editor p {
	font-size: var(--ipp-text-base, 1.0625rem) !important;
	line-height: var(--ipp-leading-normal, 1.65) !important;
	max-width: var(--ipp-reading-max, 65ch) !important;
}

body.ipp-seasons-vik-home .site-main .elementor-section:nth-of-type(2) .elementor-widget-image .elementor-widget-container {
	aspect-ratio: var(--ipp-card-image-ratio, 4 / 3);
	overflow: hidden;
	border-radius: var(--radius-md, 6px);
	box-shadow: var(--shadow-soft);
}

body.ipp-seasons-vik-home .site-main .elementor-section:nth-of-type(2) .elementor-widget-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* -------------------------------------------------------------------------
   Pulsante “Scopri di più” / Continue reading (widget HTML)
   ------------------------------------------------------------------------- */

body.ipp-seasons-vik-home .site-main a.albatross-button {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-family: var(--font-body) !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: var(--text-primary) !important;
	text-decoration: none !important;
	border-bottom: 1px solid var(--accent) !important;
	padding: 0.5rem 0 0.4rem !important;
	min-height: 2.75rem;
	box-sizing: border-box;
	transition: color 0.2s ease, border-color 0.2s ease;
}

body.ipp-seasons-vik-home .site-main a.albatross-button:hover {
	color: var(--accent) !important;
	border-bottom-color: var(--text-primary) !important;
}

body.ipp-seasons-vik-home .site-main a.albatross-button svg {
	fill: currentColor;
}

/* -------------------------------------------------------------------------
   Sezione “Camere” + MPHB (card tipo griglia demo “OUR ROOMS”)
   ------------------------------------------------------------------------- */

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider {
	overflow: visible;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-room-type {
	background: var(--bg-secondary) !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-md, 6px) !important;
	box-shadow: var(--shadow-soft) !important;
	margin: 0.5rem 0.75rem !important;
	padding: 0 0 1.25rem !important;
	overflow: hidden;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-room-type-title {
	font-family: var(--font-heading) !important;
	font-size: clamp(1.125rem, 1.5vw + 0.9rem, 1.375rem) !important;
	font-weight: 600 !important;
	line-height: var(--ipp-leading-snug, 1.35) !important;
	padding: 1rem 1.25rem 0.25rem !important;
	margin: 0 !important;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-room-type-title a {
	color: var(--text-primary) !important;
	text-decoration: none !important;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-room-type-title a:hover {
	color: var(--accent) !important;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-price,
body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-text-price {
	font-family: var(--font-body) !important;
	font-size: clamp(1rem, 0.5vw + 0.9rem, 1.125rem) !important;
	font-weight: 600 !important;
	color: var(--accent) !important;
	padding: 0 1.25rem !important;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-room-type-details-title,
body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-room-type ul {
	padding-left: 1.25rem !important;
	padding-right: 1.25rem !important;
	font-size: 0.9375rem !important;
	line-height: var(--ipp-leading-normal, 1.65) !important;
	color: var(--text-secondary) !important;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-view-details-button-wrapper,
body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-book-button-wrapper {
	padding: 0.75rem 1.25rem 0 !important;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-view-details-button,
body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider a.button {
	background: transparent !important;
	color: var(--text-primary) !important;
	border: 1px solid var(--border) !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	border-radius: 2px !important;
	padding: 0.65rem 1.25rem !important;
	min-height: 2.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-view-details-button:hover,
body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider a.button:hover {
	border-color: var(--accent) !important;
	color: var(--accent) !important;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .flex-direction-nav a {
	opacity: 0.85;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .slides img {
	border-radius: 0;
}

/* Anteprima camera: rapporto 4:3, tipico listing hotel */
body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-loop-room-thumbnail {
	aspect-ratio: var(--ipp-card-image-ratio, 4 / 3);
	overflow: hidden;
	margin: 0 !important;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-loop-room-thumbnail a {
	display: block;
	height: 100%;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-loop-room-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-flexslider-gallery-wrapper .slides > li {
	aspect-ratio: var(--ipp-card-image-ratio, 4 / 3);
	overflow: hidden;
}

body.ipp-seasons-vik-home .site-main .mphb_sc_rooms-wrapper.slider .mphb-flexslider-gallery-wrapper .slides > li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* -------------------------------------------------------------------------
   Testimonial full-bleed (citazione centrale tipo banda demo)
   ------------------------------------------------------------------------- */

body.ipp-seasons-vik-home .site-main .stratum-testimonial-carousel__content {
	text-align: center;
	max-width: 40rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
}

body.ipp-seasons-vik-home .site-main .stratum-testimonial-carousel__footer img {
	width: clamp(3rem, 8vw, 4.5rem) !important;
	height: auto !important;
	object-fit: contain;
	margin-bottom: 0.75rem;
}

body.ipp-seasons-vik-home .site-main .stratum-testimonial-carousel__heading {
	font-family: var(--font-body) !important;
	font-size: clamp(0.6875rem, 0.25vw + 0.65rem, 0.8125rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: #fff !important;
}

body.ipp-seasons-vik-home .site-main .stratum-testimonial-carousel__subtitle {
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: 0.875rem !important;
}

body.ipp-seasons-vik-home .site-main .stratum-testimonial-carousel__text,
body.ipp-seasons-vik-home .site-main .stratum-testimonial-carousel__text p {
	font-family: var(--font-heading) !important;
	font-weight: 500 !important;
	font-size: clamp(1.0625rem, 1.2vw + 0.95rem, 1.1875rem) !important;
	line-height: var(--ipp-leading-normal, 1.65) !important;
	color: #fff !important;
}

/* -------------------------------------------------------------------------
   Blocco location + carosello immagini
   ------------------------------------------------------------------------- */

body.ipp-seasons-vik-home .site-main .elementor-widget-image-carousel .swiper-slide figure,
body.ipp-seasons-vik-home .site-main .elementor-widget-image-carousel .swiper-slide-inner {
	aspect-ratio: var(--ipp-gallery-ratio, 3 / 2);
	overflow: hidden;
	border-radius: var(--radius-md, 6px);
	box-shadow: var(--shadow-soft);
}

body.ipp-seasons-vik-home .site-main .elementor-widget-image-carousel .swiper-slide-image,
body.ipp-seasons-vik-home .site-main .elementor-image-carousel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

body.ipp-seasons-vik-home .site-main .autowidth-image-carousel .swiper-slide {
	opacity: 0.95;
}

/* Location: titolo + testo editor con misura di lettura */
body.ipp-seasons-vik-home .site-main .elementor-section .elementor-widget-heading .elementor-heading-title {
	line-height: var(--ipp-leading-snug, 1.35) !important;
}

body.ipp-seasons-vik-home .site-main .elementor-inner-section .elementor-widget-text-editor p {
	max-width: var(--ipp-reading-max, 65ch);
}

/* -------------------------------------------------------------------------
   Novità ed eventi (Stratum Advanced Posts carousel)
   ------------------------------------------------------------------------- */

body.ipp-seasons-vik-home .site-main .elementor-section:has(.stratum-advanced-posts.layout-carousel),
body.home.ipp-seasons-look.elementor-page .site-main .elementor-section:has(.stratum-advanced-posts.layout-carousel) {
	background-color: #0a0a0a !important;
	background-image: none !important;
}

body.ipp-seasons-vik-home .site-main .elementor-section:has(.stratum-advanced-posts.layout-carousel) > .elementor-background-overlay,
body.home.ipp-seasons-look.elementor-page .site-main .elementor-section:has(.stratum-advanced-posts.layout-carousel) > .elementor-background-overlay {
	display: none !important;
}

/* Slide stessa altezza (flex + stretch sul wrapper Swiper) */
body.ipp-seasons-vik-home .site-main .stratum-advanced-posts.layout-carousel .swiper-wrapper,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts.layout-carousel .swiper-wrapper {
	align-items: stretch !important;
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts.layout-carousel .swiper-slide.stratum-advanced-posts__post,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts.layout-carousel .swiper-slide.stratum-advanced-posts__post {
	display: flex !important;
	flex-direction: column !important;
	height: auto !important;
	box-sizing: border-box;
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__image,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__image {
	flex-shrink: 0;
	width: 100%;
	aspect-ratio: 16 / 10;
	min-height: 11rem;
	background-size: cover !important;
	background-position: center !important;
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__slide-content,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__slide-content {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__slide-wrapper,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__slide-wrapper {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__slide-container,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__slide-container {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__post-content,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__post-content {
	flex: 1 1 auto;
}

/* Linee decorative Stratum (pseudo-elementi / bordi) */
body.ipp-seasons-vik-home .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__slide-wrapper::before,
body.ipp-seasons-vik-home .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__slide-wrapper::after,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__slide-wrapper::before,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__slide-wrapper::after {
	display: none !important;
	content: none !important;
	border: none !important;
	box-shadow: none !important;
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__post,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__post {
	border: none !important;
	box-shadow: none !important;
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts.layout-carousel hr,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts.layout-carousel hr {
	display: none !important;
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts__post-title a,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts__post-title a {
	font-family: var(--font-heading) !important;
	font-size: clamp(1.125rem, 1.2vw + 0.95rem, 1.5rem) !important;
	line-height: var(--ipp-leading-snug, 1.35) !important;
	color: #fff !important;
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts__post-title a:hover,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts__post-title a:hover {
	color: rgba(255, 255, 255, 0.85) !important;
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts__entry-content,
body.ipp-seasons-vik-home .site-main .stratum-advanced-posts__entry-content p,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts__entry-content,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts__entry-content p {
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: var(--ipp-text-base, 1.0625rem) !important;
	line-height: var(--ipp-leading-normal, 1.65) !important;
	max-width: var(--ipp-reading-max, 65ch);
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts__read-more,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts__read-more {
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: #fff !important;
	border: none !important;
	padding: 0.35rem 0 0.25rem !important;
	min-height: 2.75rem;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	text-decoration: none !important;
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__read-more,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts.layout-carousel .stratum-advanced-posts__read-more {
	margin-top: auto;
	align-self: flex-start;
}

body.ipp-seasons-vik-home .site-main .stratum-advanced-posts__read-more:hover,
body.home.ipp-seasons-look.elementor-page .site-main .stratum-advanced-posts__read-more:hover {
	text-decoration: underline !important;
	text-underline-offset: 0.2em;
}
