/* Presentation belongs to the Page Builder templates, never to editor content. */
.mas-content { background: #f7f7ef; }
.mas-content .button { max-width: 100%; white-space: normal; }
.mas-content--cartes,
.mas-content--modalites,
.mas-content--annulation { background: #eeece0; }
.mas-content__rich p { margin: 0 0 1rem; }
.mas-content__rich p:last-child,
.mas-content__rich ul:last-child,
.mas-content__rich ol:last-child { margin-bottom: 0; }
.mas-content__rich img { max-width: 100%; height: auto; }
.mas-content__introduction { display: grid; align-items: center; gap: 2rem; }
.mas-content__lead { font-size: 24px; line-height: 1.5; }
.mas-content__accommodations,
.mas-content__seasons,
.mas-content__terms,
.mas-content__cancellations,
.mas-content__hours { display: grid; gap: 24px; }
.mas-content__accommodation { display: flex; flex-direction: column; background: #fff; min-width: 0; }
.mas-content__photo { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.mas-content__accommodation-body { display: flex; flex-direction: column; align-items: flex-start; flex-grow: 1; gap: 24px; padding: 24px; }
.mas-content__accommodation-body h3,
.mas-content__accommodation-body .button { margin: 0; }
.mas-content__accommodation-body .button { margin-top: auto; }
.mas-content__complement { max-width: 960px; border-top: 1px solid #dce1e5; padding-top: 24px; margin: 48px auto 0; }
.mas-content__season { display: flex; flex-direction: column; padding: 24px; background: #fff; border: 1px solid #dce1e5; min-width: 0; }
.mas-content__season h3 { font-size: 28px; margin: 0 0 24px; }
.mas-content__season--featured { background: #221f23; color: #fff; border-color: #221f23; }
.mas-content__season--featured h3 { color: inherit; }
.mas-content__period { font-size: 15px; margin: 0; }
.mas-content__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; margin: auto 0 0; padding-top: 24px; font-size: 38px; font-weight: 600; line-height: 1.2; }
.mas-content__price span { white-space: nowrap; }
.mas-content__price small { font-size: 16px; font-weight: 400; white-space: nowrap; }
.mas-content__term,
.mas-content__cancellation { background: #fff; padding: 24px; min-width: 0; }
.mas-content__term h3 { font-size: 26px; margin: 0 0 24px; }
.mas-content__cancellation h3 { font-size: 24px; margin: 0 0 24px; }
.mas-content__hours p { margin: 0; }
.mas-content__rules ul,
.mas-content__rules ol { padding: 0; margin: 0; list-style: none; }
.mas-content__rules li { break-inside: avoid; margin: 0; padding: 16px 0; border-bottom: 1px solid #dce1e5; line-height: 1.7; }
.mas-content__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: 48px; }
.mas-content__actions .button { margin: 0; }
@media (min-width: 576px) {
    .mas-content__terms,
    .mas-content__hours { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mas-content__checkin { grid-column: span 2; }
}
@media (min-width: 768px) {
    .mas-content__seasons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
    .mas-content__introduction { grid-template-columns: 7fr 5fr; gap: 48px; }
    .mas-content__accommodations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mas-content__terms,
    .mas-content__cancellations { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mas-content__rules ul,
    .mas-content__rules ol { columns: 2; column-gap: 48px; }
}
@media (min-width: 1200px) {
    .mas-content__season,
    .mas-content__accommodation-body { padding: 48px; }
}
