@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@font-face {
  font-family: "Helvetica LT Std";
  src: url('https://bookings.ion-club.net/fonts/HelveticaLTStd/HelveticaLTStd-UltraComp.eot');
  src: url('https://bookings.ion-club.net/fonts/HelveticaLTStd/HelveticaLTStd-UltraComp.eot?#iefix') format('embedded-opentype'),
       url('https://bookings.ion-club.net/fonts/HelveticaLTStd/HelveticaLTStd-UltraComp.woff2') format('woff2'),
       url('https://bookings.ion-club.net/fonts/HelveticaLTStd/HelveticaLTStd-UltraComp.woff') format('woff'),
       url('https://bookings.ion-club.net/fonts/HelveticaLTStd/HelveticaLTStd-UltraComp.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
:host, :root {

	--font-body:'Open Sans', 'Helvetica Neue', sans-serif;
	--font-secondary: 'Helvetica LT Std', 'Open Sans', sans-serif;
	--radius:16px;
	--small-radius:calc(var(--radius)/2);

	--content-width : 1200px;

	--s-spacing : clamp(0.35rem, 1vw, 0.75rem);
	--spacing : clamp(0.75rem, 2vw, 1.25rem);
	--l-spacing : clamp(1.5rem, 3vw, 3rem);

	--gap:clamp(2rem, 2.5vw, 3rem);

	--margin-block-start: clamp(2rem, 3vw, 3rem);

	--padding:clamp(1.2rem, 2.5vw, 2rem);

	--padding-wrapper:clamp(1.5em, 2.5vw, 3rem);

	--header-gap : clamp(100px, 10vw, 150px);

	--background-color:#f9f9f9;
	--color-white:#fff;
 	--color-light-grey:#EDEDED;
 	--color-grey:#C1C1C1;
 	--color-dark-grey:#BAB9B9;
 	--color-dark:#AAAEB4;
 	--color-black:#231F20;
	--color-text:#555555;
	--color-accent:#D00C0C;

	--shadow:0px 9px 30px #00000015;
	--big-shadow:0px 9px 50px #00000025;

	--font-size-x-large:clamp(38px, 4vw, 60px);
	--font-size-large:clamp(28px, 3vw, 40px);
	--font-size-medium:clamp(20px, 2.5vw, 28px);
	--font-size-s-medium:clamp(16px, 2.5vw, 22px);
	--font-size-small:14px;


	--border-light:1px solid var(--color-light-grey);
  --swiper-pagination-bottom:0;
  --swiper-pagination-color:var(--color-accent);
	/**
 * Common Variables
 */
	--datepicker-border-color: #e8e9ea;

	--datepicker-border-radius-small: .125rem;
	--datepicker-border-radius-base: .25rem;
	--datepicker-border-radius-large: .5rem;
	--datepicker-border-radius-xlarge: .75rem;
	--datepicker-border-radius-xxlarge: 1rem;
	--datepicker-border-radius-xxxlarge: 1.125rem;

	--datepicker-state-active: #0087ff;
	--datepicker-state-hover: #e7f7fc;

	--datepicker-color: #21333d;

	--datepicker-font-family: 'Rubik', sans-serif;

	--datepicker-font-size-jumbo: 1.75rem;
	--datepicker-font-size-xxxlarge: 1.5rem;
	--datepicker-font-size-xxlarge: 1.375rem;
	--datepicker-font-size-xlarge: 1.25rem;
	--datepicker-font-size-large: 1.125rem;
	--datepicker-font-size-base: 14px;
	--datepicker-font-size-medium: 0.89rem;
	--datepicker-font-size-small: 0.75rem;
	--datepicker-font-size-xsmall: 0.625rem;
	--datepicker-font-size-xxsmall: 0.5rem;
	--datepicker-font-size-xxxsmall: 0.375rem;
	--datepicker-font-weight-thin: 100;
	--datepicker-font-weight-light: 300;
	--datepicker-font-weight-base: 400;
	--datepicker-font-weight-medium: 500;
	--datepicker-font-weight-bold: 700;
	--datepicker-font-weight-black: 900;

	--datepicker-spacing: 8px;

	--datepicker-margin-xsmall: calc(var(--datepicker-spacing) / 4);
	--datepicker-margin-small: calc(var(--datepicker-spacing) / 2);
	--datepicker-margin-base: var(--datepicker-spacing);
	--datepicker-margin-large: calc(var(--datepicker-spacing) * 2);
	--datepicker-margin-xlarge: calc(var(--datepicker-spacing) * 3);
	--datepicker-margin-xxlarge: calc(var(--datepicker-spacing) * 4);
	--datepicker-margin-xxxlarge: calc(var(--datepicker-spacing) * 5);
	--datepicker-margin-jumbo: calc(var(--datepicker-spacing) * 6);

	--datepicker-padding-xsmall: calc(var(--datepicker-spacing) / 4);
	--datepicker-padding-small: calc(var(--datepicker-spacing) / 2);
	--datepicker-padding-base: var(--datepicker-spacing);
	--datepicker-padding-large: calc(var(--datepicker-spacing) * 2);
	--datepicker-padding-xlarge: calc(var(--datepicker-spacing) * 3);
	--datepicker-padding-xxlarge: calc(var(--datepicker-spacing) * 4);
	--datepicker-padding-xxxlarge: calc(var(--datepicker-spacing) * 5);
	--datepicker-padding-jumbo: calc(var(--datepicker-spacing) * 6);

	/**
     * Container
     */
	--datepicker-container-background: #fff;
	--datepicker-container-border: 1px solid var(--datepicker-border-color);
	--datepicker-container-border-radius: 12px;
	--datepicker-container-box-shadow: 0 1px 20px rgba(0, 0, 0, 0.1);
	--datepicker-container-font-family: var(--datepicker-font-family);
	--datepicker-container-left: 0;
	--datepicker-container-position: absolute;
	--datepicker-container-top: 105%;
	--datepicker-container-width: fit-content;
	--datepicker-container-zindex: 99;

	/**
     * Calendar
     */
	--datepicker-calendar-border: 0;
	--datepicker-calendar-padding: var(--datepicker-padding-base) var(--datepicker-padding-large) var(--datepicker-padding-xlarge);
	--datepicker-calendar-position: relative;
	--datepicker-calendar-width: 310px;

	--datepicker-calendar-split-border: 1px solid var(--datepicker-border-color);

	/**
     * Calendar Header
     */
	--datepicker-calendar-header-align-items: center;
	--datepicker-calendar-header-color: var(--datepicker-color);
	--datepicker-calendar-header-display: flex;
	--datepicker-calendar-header-font-size: var(--datepicker-font-size-large);
	--datepicker-calendar-header-justify-content: space-between;
	--datepicker-calendar-header-margin: 0 0 var(--datepicker-margin-xlarge) 0;
	--datepicker-calendar-header-padding: var(--datepicker-padding-large) var(--datepicker-padding-base);
	--datepicker-calendar-header-user-select: none;

	/**
     * Calendar Header Month Navigation
     */
	--datepicker-calendar-header-month-nav-background: transparent;
	--datepicker-calendar-header-month-nav-background-hover: #f5f5f5;
	--datepicker-calendar-header-month-nav-border: 0;
	--datepicker-calendar-header-month-nav-cursor: pointer;
	--datepicker-calendar-header-month-nav-border-radius: 20px;
	--datepicker-calendar-header-month-nav-color: var(--datepicker-color);
	--datepicker-calendar-header-month-nav-font-size: var(--datepicker-font-size-large);
	--datepicker-calendar-header-month-nav-height: 32px;
	--datepicker-calendar-header-month-nav-margin-left: -8px;
	--datepicker-calendar-header-month-nav-padding: var(--datepicker-padding-small);
	--datepicker-calendar-header-month-nav-text-align: center;
	--datepicker-calendar-header-month-nav-width: 32px;

	--datepicker-calendar-header-month-nav-icon-next-background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACLSURBVHgB7ZTLCYAwEERHbcASUpIlaAd2YDoxlmIX3ixFEwwYQQL5kCWwD94ph5mwywIMUzmLlYRBe1lXENBrT+oSgktwiepLNJ63EWkl3AOltBMCkHh/kEv5F9SCGN8IzKntEYfAdwQb0kYaHO4uoUJBBIdzOAoiKMMNQ47wDvEceA7Zrp3BMLVyA56LVFYQOkngAAAAAElFTkSuQmCC') no-repeat center center;
	--datepicker-calendar-header-month-nav-icon-next-background-size: 16px 16px;
	--datepicker-calendar-header-month-nav-icon-next-filter: invert(0);
	--datepicker-calendar-header-month-nav-icon-next-height: 16px;
	--datepicker-calendar-header-month-nav-icon-next-margin: auto;
	--datepicker-calendar-header-month-nav-icon-next-width: 16px;

	--datepicker-calendar-header-month-nav-icon-prev-background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACKSURBVHgB7ZbBDYAgDEW/xgEcgZHcQDYRJ5ER3EhHcAPtAQMHQwIiSNKXvAMH+CUNDQDDVM5kLMJCnsYBmXHDN1IgIxzO4QIZ+Ty8gT9cOuuZ3BHHQa4hGxTszVOpnoJaFMbXAk2OzvpNC+7zojYVewFcBBdRVRE9CqCR4EvWIR4JO5iC5jzD/IoLU/FXPXheCj0AAAAASUVORK5CYII=') no-repeat center center;
	--datepicker-calendar-header-month-nav-icon-prev-background-size: 16px 16px;
	--datepicker-calendar-header-month-nav-icon-prev-filter: invert(0);
	--datepicker-calendar-header-month-nav-icon-prev-height: 16px;
	--datepicker-calendar-header-month-nav-icon-prev-margin: auto;
	--datepicker-calendar-header-month-nav-icon-prev-width: 16px;

	/**
     * Calendar Header Text
     */
	--datepicker-calendar-header-text-align-items: center;
	--datepicker-calendar-header-text-color: var(--datepicker-color);
	--datepicker-calendar-header-text-display: flex;
	--datepicker-calendar-header-text-font-size: inherit;
	--datepicker-calendar-header-text-font-weight: var(--datepicker-font-weight-medium);
	--datepicker-calendar-header-text-gap: 8px;

	/**
     * Calendar Header Year Navigation Container
     */
	--datepicker-calendar-header-year-align-items: center;
	--datepicker-calendar-header-year-display: flex;
	--datepicker-calendar-header-year-flex-direction: column;
	--datepicker-calendar-header-year-margin: 0;

	/**
     * Calendar Header Year Navigation Controls
     */
	--datepicker-calendar-header-year-nav-display: block;
	--datepicker-calendar-header-year-nav-color: var(--datepicker-color);
	--datepicker-calendar-header-year-nav-height: 12px;
	--datepicker-calendar-header-year-nav-line-height: 12px;
	--datepicker-calendar-header-year-nav-margin: -2px 0 0 0;
	--datepicker-calendar-header-year-nav-padding: 0;
	--datepicker-calendar-header-year-nav-width: 12px;
	--datepicker-calendar-header-year-nav-icon-font-size: 13px;

	--datepicker-calendar-header-year-nav-icon-next-background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABuSURBVHgB7c7BCYAwDIXhBy7gKB2hm9Vx3UJzqCASRWOTHvo+yDG8HyAiGt2Ef7LcLLeigyK31SsIdh4Pj9DGwyKu40u9kAht/OAe8TTuHvFm3C3iy3jziGQYv4vIMMjGcS0iwSjBWN/on4hoADu88UW4KXFVfgAAAABJRU5ErkJggg==') no-repeat center center;
	--datepicker-calendar-header-year-nav-icon-next-background-size: 12px 12px;
	--datepicker-calendar-header-year-nav-icon-next-display: block;
	--datepicker-calendar-header-year-nav-icon-next-filter: invert(0);
	--datepicker-calendar-header-year-nav-icon-next-height: 12px;
	--datepicker-calendar-header-year-nav-icon-next-width: 12px;

	--datepicker-calendar-header-year-nav-icon-prev-background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB3SURBVHgB7dTRCYAwDATQAxdwlI6QzZpx3UIrKJSC1aS2fngP7kvi3VcBIqK/m26+S8qcssBHWu5Dynokwi5m9wIHyX5gHRGL2wAndYwoyxWN1DDi9XLLiG7lT0Z0L6+NGFZ+NWJoeW2EYjD9svy0PzACIiJqsAHF2EaCcjFGaQAAAABJRU5ErkJggg==') no-repeat center center;
	--datepicker-calendar-header-year-nav-icon-prev-background-size: 12px 12px;
	--datepicker-calendar-header-year-nav-icon-prev-display: block;
	--datepicker-calendar-header-year-nav-icon-prev-filter: invert(0);
	--datepicker-calendar-header-year-nav-icon-prev-height: 12px;
	--datepicker-calendar-header-year-nav-icon-prev-width: 12px;

	/**
     * Presets
     */
	--datepicker-presets-border: 1px solid var(--datepicker-border-color);
	--datepicker-presets-padding: 24px;
	--datepicker-presets-minwidth: 180px;
	--datepicker-presets-maxwidth: 200px;

	/**
     * Presets Button
     */
	--datepicker-presets-button-background: transparent;
	--datepicker-presets-button-background-hover: var(--datepicker-state-hover);
	--datepicker-presets-button-background-active: var(--datepicker-state-active);

	--datepicker-presets-button-border: 0;
	--datepicker-presets-button-border-radius: 40px;
	--datepicker-presets-button-border-radius-active: 20px;

	--datepicker-presets-button-color: var(--datepicker-color);
	--datepicker-presets-button-color-active: #fff;
	--datepicker-presets-button-color-hover: var(--datepicker-color);
	--datepicker-presets-button-color-focus: var(--datepicker-color);

	--datepicker-presets-button-cursor: pointer;
	--datepicker-presets-button-cursor-active: default;

	--datepicker-presets-button-font-family: var(--datepicker-font-family);
	--datepicker-presets-button-font-size: var(--datepicker-font-size-base);
	--datepicker-presets-button-font-weight-active: var(--datepicker-font-weight-medium);
	--datepicker-presets-button-outline-focus: 5px auto -webkit-focus-ring-color;

	--datepicker-presets-button-margin: var(--datepicker-margin-small) 0;
	--datepicker-presets-button-padding: calc(var(--datepicker-padding-base) + 2px) var(--datepicker-padding-large);
	--datepicker-presets-button-text-align: left;
	--datepicker-presets-button-zindex-focus: 10;

	/**
     * Timepicker Container
     */
	--datepicker-timepicker-container-align-items: center;
	--datepicker-timepicker-container-display: flex;
	--datepicker-timepicker-container-justify-content: space-around;
	--datepicker-timepicker-container-margin-bottom: var(--datepicker-margin-xlarge);

	/**
     * Timepicker Input
     */
	--datepicker-timepicker-input-border: 1px solid var(--datepicker-border-color);
	--datepicker-timepicker-input-border-radius: var(--datepicker-border-radius-base);
	--datepicker-timepicker-input-display: block;
	--datepicker-timepicker-input-font-family: var(--datepicker-font-family);
	--datepicker-timepicker-input-margin: 0 auto;
	--datepicker-timepicker-input-padding: var(--datepicker-padding-small) var(--datepicker-padding-base);

	/**
     * Calendar DOW (Days of Week)
     */
	--datepicker-calendar-dow-color: #8b9198;
	--datepicker-calendar-dow-font-size: var(--datepicker-font-size-base);
	--datepicker-calendar-dow-font-weight: var(--datepicker-font-weight-medium);
	--datepicker-calendar-dow-margin-bottom: var(--datepicker-margin-large);
	--datepicker-calendar-dow-text-align: center;

	/**
     * Calendar Month
     */
	--datepicker-calendar-container-display: grid;
	--datepicker-calendar-container-grid-template-columns: repeat(7, 1fr);
	--datepicker-calendar-container-grid-gap: 0;
	--datepicker-calendar-container-width: fit-content;

	/**
     * Calendar Day Container
     */
	--datepicker-calendar-day-container-appearance: none;
	--datepicker-calendar-day-container-background: inherit;
	--datepicker-calendar-day-container-border: 0;
	--datepicker-calendar-day-container-margin: 0;
	--datepicker-calendar-day-container-padding: 0;
	--datepicker-calendar-day-container-position: relative;
	--datepicker-calendar-day-container-text-align: center;

	/**
     * Calendar Day
     */
	--datepicker-calendar-day-align-items: center;
	--datepicker-calendar-day-background-hover: #f5f5f5;
	--datepicker-calendar-day-border: 1px solid transparent;
	--datepicker-calendar-day-border: 1px solid transparent;
	--datepicker-calendar-day-border-radius: 100%;
	--datepicker-calendar-day-color: #232a32;
	--datepicker-calendar-day-color-disabled: #b9bdc1;
	--datepicker-calendar-day-color-hover: #232a32;
	--datepicker-calendar-day-cursor: pointer;
	--datepicker-calendar-day-cursor-disabled: default;
	--datepicker-calendar-day-display: flex;
	--datepicker-calendar-day-height: 40px;
	--datepicker-calendar-day-justify-content: center;
	--datepicker-calendar-day-font-family: var(--datepicker-font-family);
	--datepicker-calendar-day-font-size: var(--datepicker-font-size-base);
	--datepicker-calendar-day-margin-bottom: 1px;
	--datepicker-calendar-day-padding: var(--datepicker-padding-base);
	--datepicker-calendar-day-text-align: center;
	--datepicker-calendar-day-width: 40px;
	--datepicker-calendar-day-zindex-focus: 12;

	/**
     * Calendar Days Outside of Month
     */
	--datepicker-calendar-day-other-border: 0;
	--datepicker-calendar-day-other-box-shadow: none;
	--datepicker-calendar-day-other-color: #d1d3d6;

	/**
     * Calendar Today
     */
	--datepicker-calendar-today-background: transparent;
	--datepicker-calendar-today-border: 1px solid #232a32;
	--datepicker-calendar-today-cursor: default;
	--datepicker-calendar-today-font-weight: var(--datepicker-font-weight-bold);

	/**
     * Calendar Range
     */
	--datepicker-calendar-range-background: var(--datepicker-state-hover);
	--datepicker-calendar-range-background-disabled: var(--datepicker-state-hover);
	--datepicker-calendar-range-border: 0;
	--datepicker-calendar-range-border-radius: 0;
	--datepicker-calendar-range-color: var(--datepicker-color);
	--datepicker-calendar-range-color-disabled: #ffc0b7;
	--datepicker-calendar-range-cursor: default;
	--datepicker-calendar-range-font-weight: var(--datepicker-font-weight-base);

	/**
     * Calendar Range Start End
     */
	--datepicker-calendar-range-start-box-shadow: inset -20px 0 0 var(--datepicker-state-hover);
	--datepicker-calendar-range-end-box-shadow: inset 20px 0 0 var(--datepicker-state-hover);
	--datepicker-calendar-range-start-box-shadow-selected: inset -20px 0 0 #eceff1;
	--datepicker-calendar-range-end-box-shadow-selected: inset 20px 0 0 #eceff1;

	--datepicker-calendar-range-start-end-background: #f5f5f5;
	--datepicker-calendar-range-start-end-color: #232a32;

	/**
     * Calendar Range Selected
     */
	--datepicker-calendar-range-selected-background: var(--datepicker-state-active);
	--datepicker-calendar-range-selected-border-radius: 20px;
	--datepicker-calendar-range-selected-color: #fff;
	--datepicker-calendar-range-selected-font-weight: var(--datepicker-font-weight-medium);

	--datepicker-calendar-range-selected-start-border-radius: 20px;

	/**
     * Calendar Range Hover
     */
	--datepicker-calendar-range-included-background: #eceff1;
	--datepicker-calendar-range-included-box-shadow: inset 20px 0 0 #eceff1;
	--datepicker-calendar-range-included-color: #232a32;
	--datepicker-calendar-range-included-font-weight: var(--datepicker-font-weight-base);
	--datepicker-calendar-range-included-height: var(--datepicker-calendar-day-height);
}
* {
    box-sizing: border-box;
}
body,:host,:root {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: initial;
	font-weight: 400;
	font-synthesis-small-caps: none;
	font-synthesis-style: none;
	 -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-anchor: auto;
}
body {
	width:100%;
	margin: 0;
	padding: 0;
	min-height: 100vh;
}
a {
	text-decoration: none;
}
#nets-checkout-iframe {
	width: 100%;
}
h1, h2, h3, h4, h5, h6 {
	color:var(--color-black);
	font-weight: bold;
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, p:first-child {
	margin-top:0;
}
h1:not(.primary), h2:not(.primary), h3:not(.primary) {
	font-family: var(--font-secondary);
	font-weight: normal;
	text-transform: uppercase;
}
h1 {
	font-size:var(--font-size-x-large);
}
h2  {
	font-size:var(--font-size-large);
	margin-block-end: var(--spacing);
}
h3 {
	font-size:var(--font-size-s-medium);
}
h1.primary {
	font-family: var(--font-body);
	font-size:var(--font-size-large);
}
h2.primary {
	font-family: var(--font-body);
	font-size:var(--font-size-medium);
}
h3.primary {
	font-family: var(--font-body);
	font-size:var(--font-size-s-medium);
}
ion-club {
	scroll-margin-top: 100px;
}
/* FORM */
input, select, textarea {
	font-size: 14px;
}
button {
		padding: 0;
			-webkit-appearance: none;
			   -moz-appearance: none;
			        appearance: none;
			border: none;
			background: none;
			display: inline-flex;
			align-items: center;
			gap:1rem;
			border-radius: var(--small-radius);
			font-weight: bold;
			cursor:pointer;
}
::-moz-placeholder {
  color: var(--color-grey);
  opacity: 1;
}
::placeholder {
  color: var(--color-grey);
  opacity: 1;
}
svg {
	stroke-width: 1.5;
}
.button-white,
.button-accent,
.button-lined-white,
.button-lined-accent {
	background:var(--color-accent);
	color:#fff;
	padding:0.75rem 2rem;
	text-align: center;
	justify-content: center;
	transition: all 0.3s ease;
	cursor: pointer;
	position:relative;
	white-space: nowrap;
}
:is(.button-white,.button-accent,.button-lined-white,.button-lined-accent):disabled {
	  opacity: 0.5;
	  cursor: not-allowed;
	}
.button-white {
	background:#fff;
	color: var(--color-accent);
}
.button-lined-white {
  background: transparent;
  color: #fff;
  border: none;
 
  box-shadow: inset 0 0 0 2px #fff;
}
.button-lined-white:hover {
		box-shadow: inset 0 0 0 50px #fff;
		color: #000;
   }
.button-lined-accent.button-lined-accent {
  background: transparent;
  color: var(--color-accent);
  border: none;

  box-shadow: inset 0 0 0 2px var(--color-accent);
}
.button-lined-accent.button-lined-accent:hover {
		box-shadow: inset 0 0 0 50px var(--color-accent);
		color: #fff;
   }
/* LAYOUT */
.app {
	background-color: var(--background-color);
}
main {
	/*min-height: 100vh;*/
}
main, .max-width {
	  line-height: initial;
    width: 100%;
}
.page-wrapper {
  margin: auto;
  width: 100%;
  flex-grow: 1;
  padding-top: var(--header-gap);
  padding-bottom:var(--header-gap);
  position: relative;
  overflow-x:hidden;
}
.page-wrapper.rows {
	gap:0;
}
/*
:has(.page-wrapper .alignfullmobile:last-child) .page-wrapper {
	padding-bottom:0;
}
*/
.header-center + .page-wrapper {
	padding-top: var(--padding-wrapper);
	padding-bottom: var(--padding-wrapper);
}
.padding-wrapper {
	width: 100%;
	padding: var(--padding-wrapper);
}
.max-width {
  	max-width: var(--content-width);
  	margin-left:auto;
  	margin-right: auto;
 }
.fullwidth {
	width: 100%;
	flex: 100%;
}
.columns {
	 display: flex;
   width: 100%;
   flex-direction: column;
   flex-grow: 1;
   gap: var(--gap);
   align-items: flex-start;
}
.rows {
	 display: flex;
   width: 100%;
   justify-content: space-between;
   flex-direction: row;
   flex-grow: 1;
   gap:var(--gap);
}
.link-block {display: block;    width: 100%;}
.align-center {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.has-padding {
   padding-right: var(--padding-wrapper);
   padding-left: var(--padding-wrapper);

}
.has-padding  > .alignfull {
	    margin-right: calc(var(--padding-wrapper) * -1);
	    margin-left: calc(var(--padding-wrapper) * -1);
	}
.has-padding :where(:not(.alignfull) > .has-padding:not(.page-wrapper,.alignfull)) {
	    padding-right: 0;
	    padding-left: 0;
	}
:is(.max-width,:where(.page-wrapper)) h2 + div,:is(.max-width,:where(.page-wrapper)) h3 + div,:is(.max-width,:where(.page-wrapper)) h4 + div {
	   margin-block-start:calc(var(--margin-block-start)/2);
	}
:is(.max-width,:where(.page-wrapper))  > * {
     margin-block-start: var(--margin-block-start); 
     margin-block-end: 0;
  }
:is(:is(.max-width,:where(.page-wrapper)) > *):first-child {
	     margin-block-start: 0; 
	  }
:is(:is(.max-width,:where(.page-wrapper)) > *):last-child {
	     margin-block-end: 0; 
	  }
.sticky {
    position: sticky;
    top: var(--spacing);
    display: flex;
    flex-direction: column;
    gap: var(--spacing);
 }
.sticky .card-item-selected h2 {
    	font-size: 1.5rem;
    }
.back-nav + div,
 .back-nav + form {
 	margin-block-start:calc(var(--spacing)/2);
 }
@media screen and (min-width: 1024px) {

      .page-wrapper.rows  {
      		justify-content: flex-start;
      }
          .page-wrapper.rows  > div {
            margin-block-start:0;
          }
      .column-right {
      	width: 70%;
  			min-width: 0;
          flex-grow: 1;
      }
      .column-left {
      	  width: 30%;
  max-width: 360px;
  flex-shrink: 0;
  padding: var(--padding);
  box-shadow: var(--shadow);
  border-radius: 0 var(--radius) var(--radius) 0;
  z-index: 2;
  flex-shrink: 0;
  background: #fff;
      }
        .column-left .back-nav {
          margin-bottom:var(--spacing);
        }

}
/* CLASS */
.image-cover {
	position:relative;
	text-decoration:none;
}
.image-cover img,.image-cover picture {
	    width: 100%;
	    height:100%;
	    -o-object-fit: cover;
	       object-fit: cover;
	    position: absolute;
	    top:0;
	    left:0;
	    z-index: 0;
	    background: var(--color-grey);
	    transition: all ease 0.3s;
	}
.image-cover * {
		position: relative;
		color:#fff;
	}
.grid-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    container-type: inline-size;
    gap: 20px;
    position: relative;
    width: 100%;
}
.has-shadow {
	background: #fff;
	border-radius: var(--radius);
	transition: all ease 0.3s;
	box-shadow: var(--shadow);
}
.has-shadow.image-cover:hover {
		box-shadow: 0px 0px 0px #00000000;
	}
.icon-rounded {
		color: #fff;
    background: var(--color-accent);
    width: clamp(2.5rem, 4vw, 4rem);
    height: clamp(2.5rem, 4vw, 4rem);
    display: flex;
	
    align-items: center;
    justify-content: center;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}
.icon-rounded.small {
    	width: 3rem;
    height: 3rem;
    }
.icon-rounded svg {
      width: var(--font-size-medium);
    }
.align-right {
	margin-left: auto;
	margin-right: 0;
	align-self: flex-end;
	float:right;
}
.price {
      color:var(--color-accent);
      font-size:var(--font-size-large);
      font-family: var(--font-secondary);
      line-height: 1;
      margin-bottom:-5px;
      letter-spacing: 1px;
      font-weight: 300;
}
form {
	margin:auto;
	margin-block-start: var(--margin-block-start);
	display: flex;
	flex-direction: column;
	gap: var(--spacing) var(--spacing);
	width: 100%;
}
form .grid-form {
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-start;
		margin: auto;
		width: 100%;
		gap: var(--spacing);
	}
form .grid-form-vertical {
		display: flex;
		flex-flow: column wrap;
		justify-content: flex-start;
		margin: auto;
		width: 100%;
		gap: var(--spacing);
	}
form label {
		position: relative;
		display: flex;
		flex-direction: column;
		gap: calc(var(--spacing) / 2);
		color: var(--color-grey);
		font-weight: 400;
		flex: 1;
		min-width: 200px;


	}
.radio-horizontal:is(form label) {
			flex-direction: row;
			color: var(--color-text);
		}
:is(form label) strong {
			color: var(--color-black);
		}
.required:is(form label) > p::after {
			content: " *";
			color: red;
			margin-left: 0.25em;
		}
:is(form label)  > p {
			margin: 0
		}
:is(form label) textarea,:is(form label) .input-icon,:is(form label) input:not(.input-icon input) {
			width: 100%;
			font-family: var(--font-body);
			background: var(--color-light-grey);;
			border: 1px solid var(--color-light-grey);
			border-radius: var(--radius);
			padding: 0.75rem;
			cursor: pointer;
			gap: var(--spacing);
			outline: none;
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
			transition: all 0.3s ease;
			height: 100%;
		}
:is(:is(form label) textarea,:is(form label) .input-icon,:is(form label) input:not(.input-icon input)):hover,:is(:is(form label) textarea,:is(form label) .input-icon,:is(form label) input:not(.input-icon input)):focus,:is(:is(form label) textarea,:is(form label) .input-icon,:is(form label) input:not(.input-icon input)):focus-within {
				border-color: var(--color-black);
				outline: none;
			}
:is(:is(form label) textarea,:is(form label) .input-icon,:is(form label) input:not(.input-icon input)):focus-within .arrow-down {
					transform: rotate(180deg);
				}
:is(:is(form label) .datepicker) input {
				width: 100%;
			}
/* Style général pour les boutons radio */
:is(form label) input[type="radio"]:not(.input-icon input) {
			            flex-shrink: 0;
		    -moz-appearance: none;
		         appearance: none;
		    -webkit-appearance: none; 
		    border: 2px solid var(--color-text);
		    border-radius: 50%; 
		    width: 16px; 
		    height: 16px; 
		    padding: 0;
		    cursor: pointer;
		    display: inline-block;
		    position: relative;
		    background-color: transparent;
		}
:is(:is(form label) input[type="radio"]:not(.input-icon input)):checked {
				    background-color: var(--color-text); 
				    border-color: var(--color-text); 
				}
:is(:is(form label) input[type="radio"]:not(.input-icon input)):focus {
				    outline: none;
				    box-shadow: 0 0 3px 2px var(--color-text);
				}
/* Style général pour les checkboxes */
:is(form label) input[type="checkbox"]:not(.input-icon input) {
			            flex-shrink: 0;
		    -moz-appearance: none;
		         appearance: none;
		    -webkit-appearance: none;
		    border: 2px solid var(--color-text);
		    border-radius: 4px;
		    width: 18px;
		    height: 18px;
		    padding: 0;
		    cursor: pointer;
		    display: inline-block;
		    position: relative;
		    background-color: transparent;
		    transition: all 0.2s ease-in-out;

		    /* État coché */
		}
:is(:is(form label) input[type="checkbox"]:not(.input-icon input)):checked {
		        background-color: var(--color-text);
		        border-color: var(--color-text);
		    }
/* Ajout d'un check quand c'est coché */
:is(:is(form label) input[type="checkbox"]:not(.input-icon input)):checked::after {
		        content: '✓';
		        font-size: 1.2rem;
		        color: var(--color-background, #fff);
		        position: absolute;
		        top: 50%;
		        left: 50%;
		        transform: translate(-50%, -50%);
		        font-weight: bold;
		    }
:is(:is(form label) input[type="checkbox"]:not(.input-icon input)):focus {
		        outline: none;
		        box-shadow: 0 0 3px 2px var(--color-text);
		    }
form label .input-icon {
	    display: flex;
	    align-items: center;
	    justify-content: space-between;
	    padding: 0 0.75rem;
	    cursor: pointer;
	    gap:10px;
	    color:var(--color-dark);
  }
:is(form label .input-icon) input {
	    	background: transparent;
	      flex-grow: 1;
	      border:none;
	      padding: 0.75rem 0;
	      outline:none;
	      width: 100%;
	    }
@media (min-width: 1025px) {
  .grid-wrapper {
    grid-template-columns: repeat(auto-fill, minmax(min(15rem, 100%), 1fr));
    gap:30px;
  }
  .hide-on-desktop {
	  display: none !important;
	}
}
@media (max-width: 1024px) {
	.hide-on-medium {
	  display: none !important;
	}
	.hide-on-medium + div {
		margin-block-start:0;
	}
	    .has-padding  > .alignfullmobile {
	        margin-right: calc(var(--padding-wrapper)* -1);
	        margin-left: calc(var(--padding-wrapper)* -1);
	        align-self: normal !important;
          border-radius: 0 !important;
          max-width: initial;
          width: auto;
	    }
	.rows,
	.columns {
		flex-direction: column;
		justify-content:flex-start;
	}
		:is(.rows,.columns)  > * {
			min-width: 100%;
		}
	.footer .back-nav {
	
	}
}
@media (max-width: 768px) {
	body { font-size: 14px; }
	.hide-on-mobile {
	  display: none !important;
	}
	.hide-on-mobile + div {
		margin-block-start:0;
	}
}
/* WEBAPP CSS */
.webAppMode .page-wrapper {
		--header-gap:2rem;
	}
