/**

 * Hub massages — colonne réservation fixe à droite (CSS pur + offset header via JS).

 * Chargé en dernier sur les pages [fgby_massages] (sauf sticky_calendar="0").

 */



html body.fgby-page-massages-hub {

	/* Fallback ~ header Inspiro ; écrasé par hub-sticky-offset.js si header fixe détecté. */

	--fgby-hub-sticky-top: calc(var(--wp-admin--admin-bar--height, 0px) + 6.5rem);

}



body.fgby-page-massages-hub .fgby-massage-hub-shell,

body.fgby-page-massages-hub .fgby-massage-hub--sticky-calendar {

	overflow: visible;

}



/* Ancêtres : overflow interne = sticky cassé (Inspiro / Elementor). */

html body.fgby-page-massages-hub #primary,

html body.fgby-page-massages-hub .site-main,

html body.fgby-page-massages-hub article.page,

html body.fgby-page-massages-hub .entry-content,

html body.fgby-page-massages-hub .fgby-massage-hub-shell,

html body.fgby-page-massages-hub .fgby-massage-hub--sticky-calendar .fgby-massage-hub__grid {

	overflow: visible !important;

	max-height: none !important;

}



body.fgby-page-massages-hub .elementor-element.elementor-sticky .fgby-massage-hub,

body.fgby-page-massages-hub .elementor-sticky .fgby-massage-hub-shell {

	position: static !important;

	top: auto !important;

}



body.fgby-page-massages-hub .elementor-element:has(.fgby-massage-hub-shell) {

	position: static !important;

	top: auto !important;

	transform: none !important;

}



@media (min-width: 901px) {

	html body.fgby-page-massages-hub .fgby-massage-hub--sticky-calendar .fgby-massage-hub__grid {

		display: grid !important;

		grid-template-columns: minmax(280px, 1fr) minmax(360px, 1.2fr) !important;

		align-items: start !important;

	}



	/* Colonne droite : sous le header fixe du site (pas sous la barre verte). */

	html body.fgby-page-massages-hub .fgby-massage-hub--sticky-calendar .fgby-massage-hub__rail-booking,

	html body.fgby-page-massages-hub[class*="inspiro"] .entry-content .fgby-massage-hub.fgby-massage-hub--sticky-calendar .fgby-massage-hub__rail-booking,

	html body.fgby-page-massages-hub[class*="inspiro"] .site-main .fgby-massage-hub.fgby-massage-hub--sticky-calendar .fgby-massage-hub__rail-booking {

		position: sticky !important;

		top: var(--fgby-hub-sticky-top, calc(var(--wp-admin--admin-bar--height, 0px) + 6.5rem)) !important;

		align-self: start !important;

		z-index: 20 !important;

		height: max-content !important;

		max-height: none !important;

		overflow: visible !important;

		transform: none !important;

	}



	html body.fgby-page-massages-hub .fgby-massage-hub--sticky-calendar .fgby-massage-hub__panel-booking,

	html body.fgby-page-massages-hub .fgby-massage-hub--sticky-calendar .fgby-massage-hub__calendar-panel,

	html body.fgby-page-massages-hub .fgby-massage-hub--sticky-calendar .fgby-booking-form--hub,

	html body.fgby-page-massages-hub .fgby-massage-hub--sticky-calendar .fgby-booking-form--hub .fgby-step-calendar,

	html body.fgby-page-massages-hub .fgby-massage-hub--sticky-calendar .fgby-calendar-header,

	html body.fgby-page-massages-hub[class*="inspiro"] .entry-content .fgby-massage-hub.fgby-massage-hub--sticky-calendar .fgby-massage-hub__panel-booking,

	html body.fgby-page-massages-hub[class*="inspiro"] .site-main .fgby-massage-hub.fgby-massage-hub--sticky-calendar .fgby-massage-hub__panel-booking {

		position: relative !important;

		top: auto !important;

		max-height: none !important;

		overflow: visible !important;

	}

}


