/* Global Meridian Yacht — Global Meridian Yacht — Carnets d’escales : structure du cadre, réduite aux règles
   utiles à 1440 x 900 (figer.py). Habillage : global-meridian-mockup.css. */
:root { --accent-color: #adbdb2; }
.button { appearance: none; background-color: transparent; border: 0px; border-radius: 0px; box-shadow: none; color: inherit; cursor: pointer; padding: 0px; transition: 0.3s; user-select: none; }
.button:disabled { cursor: not-allowed; opacity: 0.75; }
.text-body-large, body { font-size: 1.4rem; line-height: 1.43; }
.text-body-large, body { font-size: 1.5rem; line-height: 1.5; }
.text-body-large, body { font-size: 1.6rem; }
*, ::after, ::before { box-sizing: border-box; }
html { font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; line-height: 1.15; text-size-adjust: 100%; tab-size: 4; }
body { margin: 0px; }
::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
::-webkit-search-decoration { appearance: none; }
::-webkit-file-upload-button { appearance: button; font: inherit; }
summary { display: list-item; }
html { --beige-color: #fbf6f1; font-size: 62.5%; }
body { color: rgb(var(--primary-color)); font-family: var(--default-font); font-weight: 400; -webkit-font-smoothing: antialiased; }
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font); font-weight: 400; margin: 0px; text-wrap: balance; }
.h1, h1 { font-size: 2.8rem; line-height: 1.14; }
.h1, h1 { font-size: 3.6rem; }
.h1, h1 { font-size: 4.4rem; }
.h1, h1 { font-size: 5.2rem; }
p { margin: 0px; }
a { color: inherit; }
a:has(> :is(div, p, section, article, aside, nav, header, footer)) { text-decoration: none; }
.text-uppercase { letter-spacing: 0.07em; text-transform: uppercase; }
.text-body-medium { font-size: 1.4rem; line-height: 1.1428; }
menu, ul { list-style: none; margin: 0px; padding: 0px; }
.button { display: inline-block; }
.button__content { align-items: center; color: inherit; cursor: pointer; display: inline-flex; font-weight: 500; gap: 1rem; justify-content: center; line-height: 1; position: relative; text-decoration: none; transition: 0.3s; width: 100%; }
.button.--chevron .icon-chevron { background-color: currentcolor; content: ""; display: block; height: 100%; left: auto; mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='8' fill='none' viewBox='0 0 4 8'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M3.215 4 1.03.358 0 .975 1.816 4 .001 7.025l1.029.617z' clip-rule='evenodd'/%3E%3C/svg%3E"); mask-position: center center; mask-repeat: no-repeat; mask-size: contain; position: absolute; right: 0px; width: 0.5rem; }
.button.--underline .button__content { background-image: linear-gradient(90deg, currentcolor, currentcolor); background-position: 100% 100%; background-repeat: no-repeat; background-size: 100% 0.1rem; padding: 1rem 0px; transition: 0.4s; }
.button.--underline .button__content::before { background-color: currentcolor; bottom: 0px; content: ""; display: block; height: 0.1rem; left: 0px; position: absolute; transform: scaleX(0); transform-origin: left center; transition: transform 0.8s; width: 100%; }
.button.--underline.--chevron .button__content { padding-right: 1.5rem; }
.button.--underline:hover .button__content { background-size: 0px 0.1rem; }
.button.--underline:hover .button__content::before { transform: scaleX(1); }
.button.--primary .button__content { background-color: rgb(var(--primary-color)); border: .1rem solid rgb(var(--primary-color)); color: rgb(255, 255, 255); padding-block: 1.1rem; padding-inline: 2.5rem 4rem; }
.button.--primary:hover .button__content { background-color: rgb(255, 255, 255); color: rgb(var(--primary-color)); }
.button.--primary.--chevron .icon-chevron { right: 2rem; }
:root { --default-font: Cabin,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Helvetica,Arial,sans-serif; --heading-font: "Titre",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Helvetica,Arial,sans-serif; --primary-color: 55,55,55; --secondary-color: 251,246,241; --container-width: 135rem; --container-padding: 1.5rem; --header-height: 6.5rem; }
:focus { box-shadow: none; outline: 0px; }
:focus-visible { box-shadow: 0 0 0 .3rem #fff,0 0 .5rem .4rem rgba(var(--primary-color),.3); outline: .2rem solid rgba(var(--primary-color),.5); outline-offset: 0.3rem; }
html { scroll-behavior: smooth; }
img { height: auto; max-width: 100%; }
figure { margin: 0px; }
details > summary { cursor: pointer; list-style: none; user-select: none; }
details > summary::-webkit-details-marker { display: none; }
.container { margin-inline: auto; max-width: var(--container-width); padding-inline: var(--container-padding); }
:where(.media) { overflow: hidden; position: relative; }
:where(.media)::before { content: ""; display: block; padding-top: calc(var(--media-ratio)*1%); }
:where(.media) img, :where(.media) svg, :where(.media) video { height: 100%; left: 0px; object-fit: cover; position: absolute; top: 0px; width: 100%; }
.section { --spacing-top: 5.5rem; }
.section { --spacing-top: 6.5rem; }
.section { --spacing-top: 7.7rem; }
.section:first-child { padding-top: var(--spacing-top); }
.section:not(:first-child) { margin-top: var(--spacing-top); }
:root { --swiper-theme-color: #007aff; }
:root { --swiper-navigation-size: 44px; }
.site-header { background-color: rgb(255, 255, 255); border-bottom: 0.1rem solid rgb(215, 215, 215); position: sticky; top: 0px; transition: transform 0.3s; z-index: 5; }
.site-header__container { align-items: center; display: flex; gap: 1rem; justify-content: space-between; min-height: 6.2rem; padding-block: 0.5rem; transition: 0.3s; }
.site-header__homepage { display: block; line-height: 0; transition: 0.3s; }
.hotel-menu, .site-booking { flex: 1 1 0%; }
.site-booking { text-align: right; }
.hotel-menu { --menu-max-width: 43rem; --menu-bg: #fff; --menu-inline-padding: 3.5rem; --submenu-bg: #fbf6f1; }
.hotel-menu { --menu-inline-padding: 3.5rem; }
.hotel-menu__summary { line-height: 0; }
.hotel-menu__summary::after { background-color: rgba(55, 55, 55, 0.45); content: ""; height: 100%; left: 0px; opacity: 0; pointer-events: none; position: fixed; top: 0px; transition: opacity 0.3s; width: 100%; }
.hotel-menu__burger { --burger-padding: 1.25rem; padding: var(--burger-padding); transform: translate(calc(var(--burger-padding)*-1)); transition: 0.3s; width: 5rem; }
.hotel-menu__burger { --burger-padding: 1rem; }
.base-intro { margin-inline: auto; max-width: 110rem; padding-inline: 1.5rem; text-align: center; white-space: pre-line; }
.base-intro__title + .base-intro__content.--separator::before { background: var(--accent-color,#adbdb2); content: " "; display: block; height: 0.2rem; margin: 2rem auto; width: 15rem; }
.base-intro__title + .base-intro__content.--separator::before { margin: 3rem auto; width: 17rem; }
.base-intro__content { margin-inline: auto; margin-top: 2rem; max-width: 90rem; text-wrap: balance; }
.base-intro__ctas { display: flex; flex-wrap: wrap; gap: 2rem 3rem; justify-content: center; margin-top: 3rem; }
.hotel-breadcrumb { font-size: 10px; font-weight: 500; line-height: 15px; text-align: center; text-transform: uppercase; }
.hotel-breadcrumb__list { display: flex; justify-content: center; list-style: none; margin-bottom: 1.5rem; padding: 0px; }
.hotel-breadcrumb__item:not(:last-child)::after { content: ">"; display: inline-block; margin-inline: 0.5rem; }
.hotel-breadcrumb__link { text-decoration: none; }
.hotel-menu { --menu-max-width: 43rem; --menu-bg: #fff; --menu-inline-padding: 3.5rem; --submenu-bg: #fbf6f1; }
.hotel-menu { --menu-inline-padding: 3.5rem; }
.hotel-menu__summary { line-height: 0; }
.hotel-menu__summary::after { background-color: rgba(55, 55, 55, 0.45); content: ""; height: 100%; left: 0px; opacity: 0; pointer-events: none; position: fixed; top: 0px; transition: opacity 0.3s; width: 100%; }
.hotel-menu__burger { --burger-padding: 1.25rem; padding: var(--burger-padding); transform: translate(calc(var(--burger-padding)*-1)); transition: 0.3s; width: 5rem; }
.hotel-menu__burger { --burger-padding: 1rem; }
.site-header { background-color: rgb(255, 255, 255); border-bottom: 0.1rem solid rgb(215, 215, 215); position: sticky; top: 0px; transition: transform 0.3s; z-index: 5; }
.site-header__container { align-items: center; display: flex; gap: 1rem; justify-content: space-between; min-height: 6.2rem; padding-block: 0.5rem; transition: 0.3s; }
.site-header__homepage { display: block; line-height: 0; transition: 0.3s; }
.hotel-menu, .site-booking { flex: 1 1 0%; }
.site-booking { text-align: right; }
.hotel-breadcrumb { font-size: 10px; font-weight: 500; line-height: 15px; text-align: center; text-transform: uppercase; }
.hotel-breadcrumb__list { display: flex; justify-content: center; list-style: none; margin-bottom: 1.5rem; padding: 0px; }
.hotel-breadcrumb__item:not(:last-child)::after { content: ">"; display: inline-block; margin-inline: 0.5rem; }
.hotel-breadcrumb__link { text-decoration: none; }
.base-intro { margin-inline: auto; max-width: 110rem; padding-inline: 1.5rem; text-align: center; white-space: pre-line; }
.base-intro__title + .base-intro__content.--separator::before { background: var(--accent-color,#adbdb2); content: " "; display: block; height: 0.2rem; margin: 2rem auto; width: 15rem; }
.base-intro__title + .base-intro__content.--separator::before { margin: 3rem auto; width: 17rem; }
.base-intro__content { margin-inline: auto; margin-top: 2rem; max-width: 90rem; text-wrap: balance; }
.base-intro__ctas { display: flex; flex-wrap: wrap; gap: 2rem 3rem; justify-content: center; margin-top: 3rem; }
