/*
 * Velora Booking: the photo-led homepages (Serene, Editorial, Botanical, Noir) and the shared header and footer.
 * Colours, fonts and corners come from the active design (theme.json or a style variation), so one
 * stylesheet serves every design. Page-level differences hang off .lux--{design} on the homepage wrapper.
 */
:root {
	--lux-bg: var(--wp--preset--color--page);
	--lux-alt: var(--wp--preset--color--page-tint);
	--lux-ink: var(--wp--preset--color--ink);
	--lux-soft: var(--wp--preset--color--ink-soft);
	--lux-line: var(--wp--preset--color--rule);
	--lux-primary: var(--wp--preset--color--cover);
	--lux-on-primary: var(--wp--preset--color--on-cover);
	--lux-accent: var(--wp--preset--color--marigold);
	--lux-gutter: var(--wp--style--root--padding-left, clamp(1.125rem, 4vw, 3rem));
	--lux-section: clamp(4.5rem, 3rem + 7vw, 9.5rem);
	--lux-header: 84px;
	--lux-ease: cubic-bezier(.22, 1, .36, 1);
	--lux-radius-img: var(--wp--custom--radius--image, 0px);
	--lux-radius-card: var(--wp--custom--radius--card, 0px);
}

/* ---------- Header ---------- */
.lux-site-header { position: sticky; top: 0; z-index: 60; background: var(--lux-bg); color: var(--lux-ink); transition: background-color .35s var(--lux-ease), color .35s var(--lux-ease), box-shadow .35s var(--lux-ease); }
body.admin-bar .lux-site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .lux-site-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .lux-site-header { top: 0; } }
.lux-header { padding-top: 0; padding-bottom: 0; }
.lux-header__bar { min-height: var(--lux-header); gap: 1.5rem; }
.lux-header__brand { gap: 0.75rem; min-width: 0; flex: 1 1 0; }
.lux-header .wp-block-site-title { margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lux-header .wp-block-site-title a { color: inherit; }
.lux-header__nav { flex: 0 1 auto; }
.lux-header__nav .wp-block-navigation__container { gap: clamp(1.25rem, 2.5vw, 2.75rem); }
.lux-header__nav .wp-block-navigation-item__content { color: inherit; text-decoration: none; padding: 0.4rem 0; background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .35s var(--lux-ease); }
.lux-header__nav .wp-block-navigation-item__content:hover { background-size: 100% 1px; }
.lux-header__cta { flex: 1 1 0; justify-content: flex-end; }
.lux-header__cta .wp-element-button { padding: 0.85rem 1.4rem; }
.lux-site-header.is-scrolled { box-shadow: 0 1px 0 var(--lux-line); }

/* Over a full-screen photo the header starts transparent and turns solid once the page scrolls. */
body:has(.lux-hero--overlay) .lux-site-header:not(.is-scrolled) { position: fixed; left: 0; right: 0; background: transparent; color: #fff; }
body:has(.lux-hero--overlay) .lux-site-header:not(.is-scrolled) .lux-header__cta .wp-element-button { background: transparent; color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7); }
body:has(.lux-hero--overlay) .lux-site-header:not(.is-scrolled) .lux-header__cta .wp-element-button:hover { background: #fff; color: #111; }
body:has(.lux-hero--overlay) .lux-site-header.is-scrolled { position: fixed; left: 0; right: 0; }
body:has(.lux-hero--overlay) .lux-main { margin-top: 0; }

/* Mobile menu */
.lux-header .wp-block-navigation__responsive-container-open { color: inherit; }
.lux-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--lux-bg); color: var(--lux-ink); padding: 1.5rem var(--lux-gutter); }
.lux-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.4rem; }
.lux-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--heading); font-size: 2rem; letter-spacing: 0; text-transform: none; }
@media (max-width: 599px) {
	.lux-header .lux-header__cta { display: none; }
	.lux-header__bar { gap: 0.75rem; }
	.lux-header__brand { flex: 1 1 auto; }
}

/* Floating request button on phones, shared with the planner header. */
@media (max-width: 1179px) {
	.lux-header .velora-dock { position: fixed; left: 50%; bottom: calc(14px + env(safe-area-inset-bottom)); z-index: 80; margin: 0 !important; transform: translate(-50%, 160%); transition: transform .45s var(--lux-ease); pointer-events: none; }
	.lux-header .velora-dock .wp-element-button { padding: 1.05rem 1.8rem; box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .55); white-space: nowrap; }
	body.velora-show-dock .lux-header .velora-dock { transform: translate(-50%, 0); pointer-events: auto; }
	body.page-template-page-booking .lux-header .velora-dock, body.page-template-page-owner .lux-header .velora-dock { display: none; }
}
@media (min-width: 1180px) { .lux-header .velora-dock { display: none; } }

/* ---------- Page rhythm ---------- */
.lux-main, .lux { margin-top: 0; }
.lux > * { margin-block: 0; }
.lux-section { padding-top: calc(var(--lux-section) * 0.5); padding-bottom: calc(var(--lux-section) * 0.5); }
.lux-section:first-child:not(.lux-hero) { padding-top: var(--lux-section); }
.lux-section.is-tinted, .lux-section.is-filled, .lux-visit, .lux-cta--band, .lux-statement { padding-top: var(--lux-section); padding-bottom: var(--lux-section); }
.lux-section.is-tinted, .lux-section.is-filled, .lux-visit, .lux-cta--band { margin-top: calc(var(--lux-section) * 0.5) !important; margin-bottom: calc(var(--lux-section) * 0.5) !important; }
.lux > .wp-block-cover:not(.lux-hero) { margin-top: calc(var(--lux-section) * 0.5) !important; }
.lux > :last-child { margin-bottom: 0 !important; }
.lux h1, .lux h2, .lux h3 { text-wrap: balance; }
.lux em { font-style: italic; }
.lux .wp-block-heading em { color: var(--wp--preset--color--margin); }
.lux .wp-block-cover .wp-block-heading em { color: var(--wp--custom--accent--oncover, var(--lux-accent)); }
.lux .lux-img { margin: 0; overflow: hidden; border-radius: var(--lux-radius-img); }
.lux .lux-img img { display: block; width: 100%; height: 100%; border-radius: inherit; transition: transform 1.4s var(--lux-ease); }
.lux .lux-img:hover img { transform: scale(1.03); }
.lux .is-arch { border-radius: 999px 999px 0 0; }

/* Outline buttons on dark photos and on light pages */
.lux .wp-block-button.is-style-outline .wp-element-button,
.lux-footer .wp-block-button.is-style-outline .wp-element-button { background: transparent; color: currentColor; box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 55%, transparent); border: 0; padding: 1.05rem 1.9rem; }
.lux-footer .wp-block-button.is-style-outline .wp-element-button { padding: 0.8rem 1.3rem; }
.lux .wp-block-button.is-style-outline .wp-element-button:hover,
.lux-footer .wp-block-button.is-style-outline .wp-element-button:hover { background: currentColor; }
.lux .wp-block-button.is-style-outline .wp-element-button:hover > *,
.lux .wp-block-button.is-style-outline .wp-element-button:hover { color: var(--lux-bg); }
.lux .wp-block-cover .wp-block-button:not(.is-style-outline) .wp-element-button { background: #fff; color: #15120e; }
.lux .wp-block-cover .wp-block-button:not(.is-style-outline) .wp-element-button:hover { background: var(--lux-accent); color: #15120e; }
.lux .wp-block-cover .wp-block-button.is-style-outline .wp-element-button:hover { color: #15120e; background: #fff; }

/* ---------- Hero: full-screen photo (Serene, Noir) ---------- */
.lux-hero.wp-block-cover { padding-top: calc(var(--lux-header) + 2rem); padding-bottom: clamp(3rem, 8vh, 6rem); }
.lux-hero .wp-block-cover__image-background { animation: lux-settle 2.4s var(--lux-ease) both; }
@keyframes lux-settle { from { transform: scale(1.06); } }
.lux-hero__title { font-size: clamp(3rem, min(1.6rem + 6vw, 12svh), 7rem); line-height: 0.98; margin: 0 auto; max-width: 13ch; font-weight: var(--wp--custom--heading--weight, 400); }
.lux-hero--overlay .lux-hero__title { color: #fff; }
.lux-hero__lead { font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem); line-height: 1.6; max-width: 38rem; margin: 1.5rem auto 0; }
.lux-hero--overlay .lux-hero__lead { color: rgba(255, 255, 255, .88); }
.lux-hero__actions { margin-top: 2.25rem; gap: 0.75rem; }
.lux-hero__rule { width: 72px; max-width: 72px; margin: 1.75rem 0 0 !important; border: 0; border-top: 1px solid var(--lux-accent) !important; opacity: 1; background: none; }

/* Noir: left-aligned over the photo, the copy anchored to the bottom */
.lux-hero--left .lux-hero__inner { max-width: var(--wp--style--global--wide-size); margin-left: auto !important; margin-right: auto !important; }
.lux-hero--left .lux-hero__title { margin: 0; max-width: 12ch; }
.lux-hero--left .lux-hero__lead { margin: 1.5rem 0 0; }
.lux-hero--left .lux-hero__actions { justify-content: flex-start; }

/* ---------- Hero: split (Editorial) ---------- */
.lux-hero--split { padding-top: clamp(2.5rem, 6vw, 5rem); padding-bottom: clamp(3rem, 7vw, 6rem); }
.lux-hero--split .lux-hero__cols { gap: clamp(2rem, 5vw, 5rem); }
.lux-hero--split .lux-hero__title { font-size: clamp(3.4rem, min(1.5rem + 7.4vw, 13svh), 8.6rem); line-height: 0.92; letter-spacing: -0.035em; max-width: 9ch; margin: 0; }
.lux-hero--split .lux-hero__rule { width: 100%; max-width: none; border-top-color: var(--lux-ink) !important; margin-top: 2.5rem !important; }
.lux-hero--split .lux-hero__lead { margin: 1.5rem 0 0; color: var(--lux-soft); max-width: 34rem; }
.lux-hero--split .lux-hero__img { aspect-ratio: 3 / 4; }

/* ---------- Hero: arches (Botanical) ---------- */
.lux-hero--arch { padding-top: clamp(2.5rem, 6vw, 5.5rem); padding-bottom: clamp(3rem, 7vw, 6rem); }
.lux-hero--arch .lux-hero__cols { gap: clamp(2rem, 6vw, 6rem); }
.lux-hero--arch .lux-hero__title { font-size: clamp(3rem, min(1.6rem + 5.4vw, 11.5svh), 6.4rem); margin: 0; max-width: 11ch; line-height: 1.02; }
.lux-hero--arch .lux-hero__lead { margin: 1.5rem 0 0; color: var(--lux-soft); }
.lux-hero__media { position: relative; padding-bottom: 12%; padding-left: 14%; }
.lux-hero__media .lux-hero__img { box-shadow: 0 40px 80px -50px rgba(31, 42, 34, .55); }
.lux-hero__media .lux-hero__img2 { position: absolute; left: 0; bottom: 0; width: 42%; border: 10px solid var(--lux-bg); box-sizing: border-box; }

/* ---------- Ticker line (Editorial) ---------- */
.lux-ticker { padding-top: 1.6rem; padding-bottom: 1.6rem; border-top: 1px solid var(--lux-ink); border-bottom: 1px solid var(--lux-ink); overflow: hidden; }
.lux-ticker__text { margin: 0; font-family: var(--wp--preset--font-family--heading); font-style: italic; font-size: clamp(1.35rem, 1rem + 1.4vw, 2.25rem); line-height: 1.3; text-wrap: balance; }

/* ---------- Intro statement ---------- */
.lux-intro__inner { max-width: 62rem; }
.lux-intro__title { font-size: clamp(2.25rem, 1.4rem + 3.6vw, 4.5rem); margin: 0; }
.lux-intro__text { font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem); line-height: 1.65; color: var(--lux-soft); max-width: 40rem; margin-top: 1.75rem; }
.lux-intro .has-text-align-center { margin-left: auto; margin-right: auto; }
.lux--editorial .lux-intro__inner, .lux--noir .lux-intro__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 6rem); max-width: none; align-items: end; }
.lux--editorial .lux-intro__text, .lux--noir .lux-intro__text { margin: 0; }
@media (max-width: 781px) { .lux--editorial .lux-intro__inner, .lux--noir .lux-intro__inner { grid-template-columns: 1fr; } }

/* ---------- Featured services ---------- */
.lux-features__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: clamp(1.5rem, 3vw, 3rem) !important; }
.lux-card { gap: 0; align-items: stretch; }
.lux-card > * { margin: 0 !important; }
.lux-card__img { margin-bottom: 1.6rem !important; }
.lux-card__num { font-size: 0.8125rem; letter-spacing: 0.2em; color: var(--lux-accent); margin-bottom: 0.6rem !important; }
.lux-card__title { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.25rem); }
.lux-card__text { margin-top: 0.7rem !important; color: var(--lux-soft); max-width: 34ch; }
.lux--serene .lux-card { text-align: center; align-items: center; }
.lux--serene .lux-card__text { margin-left: auto !important; margin-right: auto !important; }
.lux--botanical .lux-card__img { border-radius: 999px 999px var(--lux-radius-card) var(--lux-radius-card); }
.lux--noir .lux-features__grid .lux-card:nth-child(2) { margin-top: clamp(0px, 6vw, 5rem) !important; }

/* ---------- Service menu (live from the booking settings) ---------- */
.lux-menu.is-tinted { background: var(--lux-alt); }
.lux-menu.is-filled { background: var(--lux-primary); color: var(--lux-on-primary); }
.lux-menu.is-filled .wp-block-heading { color: inherit; }
.lux-menu__cols { gap: clamp(2rem, 6vw, 7rem); }
.lux-menu__title { font-size: clamp(2.25rem, 1.4rem + 3.4vw, 4.25rem); margin: 0; }
.lux-menu__text { color: var(--lux-soft); margin-top: 1.25rem; max-width: 32ch; }
.lux-menu.is-filled .lux-menu__text { color: var(--wp--preset--color--on-cover-soft); }
.lux-menu__actions { margin-top: 2rem; }
.lux-menu.is-filled .lux-menu__actions .wp-element-button { background: var(--lux-on-primary); color: var(--lux-primary); }
.lux-menu .velora-services-list { border-top-color: color-mix(in srgb, currentColor 22%, transparent); }
.lux-menu .velora-service { padding: 1.6rem 0; border-bottom-color: color-mix(in srgb, currentColor 22%, transparent); grid-template-columns: minmax(0, 1fr) auto auto; gap: 0.4rem 2rem; }
.lux-menu .velora-service__name { font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.9rem); font-weight: var(--wp--custom--heading--weight, 500); letter-spacing: 0; }
.lux-menu .velora-service__desc { color: inherit; opacity: .72; }
.lux-menu .velora-service__duration { color: inherit; opacity: .72; }
.lux-menu .velora-service__duration .velora-icon { display: none; }
.lux-menu .velora-service__price { font-family: var(--wp--preset--font-family--heading); font-weight: 500; font-size: 1.5rem; }
.lux-menu .velora-service__book { background: transparent; color: inherit; padding: 0; min-height: 44px; font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; box-shadow: inset 0 -1px 0 currentColor; border-radius: 0; }
.lux-menu .velora-service__book:hover { background: transparent; color: var(--lux-accent); }
.lux-menu.is-filled .velora-service__book:hover { color: var(--wp--preset--color--on-cover-soft); }

/* ---------- About / split ---------- */
.lux-about__cols { gap: clamp(2rem, 7vw, 8rem); }
.lux-about.is-reversed .lux-about__cols { flex-direction: row-reverse; }
.lux-about__media { position: relative; padding-right: 18%; padding-bottom: 14%; }
.lux-about__media .lux-about__img2 { position: absolute; right: 0; bottom: 0; width: 44%; border: 10px solid var(--lux-bg); box-sizing: border-box; }
.lux-about__title { font-size: clamp(2.25rem, 1.4rem + 3.2vw, 4rem); margin: 0; }
.lux-about__text { color: var(--lux-soft); font-size: 1.125rem; margin-top: 1.5rem; max-width: 40ch; }
.lux-about__list { list-style: none; padding: 0; margin: 2rem 0 0; border-top: 1px solid var(--lux-line); }
.lux-about__list li { position: relative; padding: 1rem 0 1rem 2.25rem; border-bottom: 1px solid var(--lux-line); }
.lux-about__list li::before { content: ""; position: absolute; left: 0; top: 1.6rem; width: 1.1rem; height: 1px; background: var(--lux-accent); }
.lux--botanical .lux-about__img { border-radius: 999px 999px 0 0; }
.lux--botanical .lux-about__img2 { border-radius: 50%; }

/* ---------- Gallery ---------- */
.lux-gallery__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: clamp(0.75rem, 1.5vw, 1.5rem) !important; }
.lux-gallery.is-staggered .lux-gallery__img:nth-child(even) { margin-top: clamp(0px, 5vw, 5rem) !important; }
.lux-gallery.is-arched .lux-gallery__img { border-radius: 999px 999px 0 0; }
.lux-gallery__img { margin: 0 !important; }

/* ---------- Statement over a photo (Editorial) ---------- */
.lux-statement__text { font-family: var(--wp--preset--font-family--heading); font-style: italic; font-size: clamp(1.9rem, 1.2rem + 3vw, 3.75rem); line-height: 1.18; max-width: 24ch; margin: 0 auto; color: #fff; }

/* ---------- Visit: hours, next open times, contact ---------- */
.lux-visit { background: var(--lux-alt); }
.lux-visit__cols { gap: clamp(2rem, 5vw, 5rem); }
.lux-visit__title { font-size: clamp(2.25rem, 1.4rem + 3vw, 3.75rem); margin: 0; }
.lux-visit__text { color: var(--lux-soft); margin-top: 1.25rem; max-width: 34ch; }
.lux-visit__contact { margin-top: 2rem; }
.lux-visit__label, .lux-footer__label { font-family: var(--wp--preset--font-family--body); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; margin: 0 0 1.25rem; color: inherit; opacity: .75; }
.lux:not(.lux--signature) .velora-week, .lux-footer .velora-week { display: grid; grid-template-columns: 1fr; gap: 0; border-top: 1px solid color-mix(in srgb, currentColor 20%, transparent); }
.lux:not(.lux--signature) .velora-week__day, .lux-footer .velora-week__day { min-height: 0; display: grid; grid-template-columns: 3.75rem auto 1fr; align-items: center; gap: 0.5rem; padding: 0.7rem 0; background: transparent; color: inherit; box-shadow: none; border-radius: 0; border-bottom: 1px solid color-mix(in srgb, currentColor 20%, transparent); }
.lux:not(.lux--signature) .velora-week__name, .lux-footer .velora-week__name { font-weight: 500; letter-spacing: 0.08em; font-size: 0.8125rem; }
.lux:not(.lux--signature) .velora-week__hours, .lux-footer .velora-week__hours { display: flex; gap: 0.35rem; justify-content: flex-end; grid-column: 3; font-weight: 400; }
.lux:not(.lux--signature) .velora-week__today, .lux-footer .velora-week__today { grid-column: 2; order: 0; justify-self: start; background: var(--lux-ink); color: var(--lux-bg); border-radius: 999px; }
.lux:not(.lux--signature) .velora-week__day.is-today, .lux-footer .velora-week__day.is-today { background: transparent; font-weight: 600; }
.lux:not(.lux--signature) .velora-week__day.is-today .velora-week__hours { font-weight: 600; }
.lux:not(.lux--signature) .velora-week__day.is-closed, .lux-footer .velora-week__day.is-closed { background: transparent; color: inherit; opacity: .72; }
.lux-visit .velora-quick__label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.lux:not(.lux--signature) .velora-quick__times { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; list-style: none; margin: 0; padding: 0; }
.lux:not(.lux--signature) .velora-chip { width: 100%; justify-content: center; flex-direction: column; align-items: center; gap: 0.1rem; padding: 0.85rem 0.5rem; line-height: 1.2; }
.lux:not(.lux--signature) .velora-chip__time { font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; font-weight: 500; }
.lux:not(.lux--signature) .velora-quick__all { color: inherit; }

/* ---------- Questions ---------- */
.lux-faq__cols { gap: clamp(2rem, 6vw, 7rem); }
.lux-faq__title { font-size: clamp(2.25rem, 1.4rem + 3vw, 3.75rem); margin: 0; }
.lux-faq .wp-block-details { border-bottom: 1px solid var(--lux-line); padding: 1.4rem 0; margin: 0; }
.lux-faq .wp-block-details:first-child { border-top: 1px solid var(--lux-line); }
.lux-faq .wp-block-details summary { font-family: var(--wp--preset--font-family--heading); font-weight: var(--wp--custom--heading--weight, 500); font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.6rem); }
.lux-faq .wp-block-details summary::after { background: linear-gradient(currentColor, currentColor) center / 0.85rem 1px no-repeat, linear-gradient(currentColor, currentColor) center / 1px 0.85rem no-repeat; }
.lux-faq .wp-block-details p { color: var(--lux-soft); }

/* ---------- Closing call to action ---------- */
.lux-cta.wp-block-cover { padding-top: var(--lux-section); padding-bottom: var(--lux-section); }
.lux-cta__title { font-size: clamp(2.5rem, 1.5rem + 4vw, 5.25rem); margin: 0 auto; max-width: 15ch; }
.lux-cta.wp-block-cover .lux-cta__title { color: #fff; }
.lux-cta__text { margin-top: 1.25rem; opacity: .85; }
.lux-cta__actions { margin-top: 2rem; }
.lux-cta--band { background: var(--lux-primary); color: var(--lux-on-primary); }
.lux-cta--band .lux-cta__title { color: inherit; margin: 0; font-size: clamp(3rem, 1.5rem + 6vw, 7.5rem); line-height: 0.95; max-width: 14ch; }
.lux-cta--band .wp-element-button { background: var(--lux-on-primary); color: var(--lux-primary); }
.lux-cta--card .lux-cta__card { background: var(--lux-alt); border-radius: var(--wp--preset--border-radius--cover, 18px); padding: clamp(3rem, 7vw, 6.5rem) clamp(1.5rem, 5vw, 5rem); }
.lux-cta.wp-block-cover:not(.lux-hero--left) .lux-cta__title.has-text-align-left { margin-left: 0; }

/* ---------- Footer ---------- */
.lux-site-footer { background: var(--wp--custom--footer--background, var(--lux-primary)); color: var(--wp--custom--footer--text, var(--lux-on-primary)); }
.lux-footer { padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: 2rem; }
.lux-footer__cols { gap: clamp(2rem, 4vw, 4rem); }
.lux-footer .wp-block-site-title { font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem); margin: 0; }
.lux-footer .wp-block-site-title a { color: inherit; }
.lux-footer__note { color: var(--wp--custom--footer--muted, inherit); max-width: 32ch; margin-top: 1rem; }
.lux-footer__cta { margin-top: 1.75rem; }
.lux-footer .velora-contact a, .lux-footer__links a { color: inherit; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); }
.lux-footer .velora-contact .velora-icon { opacity: .7; }
.lux-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.6rem; }
.lux-footer__legal { margin-top: clamp(3rem, 6vw, 5rem); padding-top: 1.5rem; border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent); font-size: 0.8125rem; color: var(--wp--custom--footer--muted, inherit); }
.lux-footer .velora-week__day { padding: 0.45rem 0; font-size: 0.9375rem; }

/* ---------- Pages that are not the homepage ---------- */
.velora-page .wp-block-post-title, .velora-booking-page__head .wp-block-post-title { font-weight: var(--wp--custom--heading--weight, 500); }

/* ---------- Small screens ---------- */
@media (max-width: 781px) {
	.lux-about.is-reversed .lux-about__cols { flex-direction: column; }
	.lux-hero--split .lux-hero__cols { flex-direction: column-reverse; }
	.lux-hero--split .lux-hero__img { aspect-ratio: 4 / 3; }
	.lux-hero--split .lux-hero__img img { aspect-ratio: 4 / 3 !important; }
	.lux-hero__media { padding-left: 10%; }
	.lux-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.lux-features__grid { grid-template-columns: minmax(0, 1fr) !important; }
	.lux-gallery.is-staggered .lux-gallery__img:nth-child(even) { margin-top: 2rem !important; }
	.lux--noir .lux-features__grid .lux-card:nth-child(2) { margin-top: 0 !important; }
	.lux-menu .velora-service { grid-template-columns: 1fr auto; }
	.lux-menu .velora-service__main { grid-column: 1 / -1; }
	.lux-hero--left .lux-hero__title { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
	.lux-hero .wp-block-cover__image-background { animation: none; }
	.lux .lux-img img { transition: none; }
	.lux .lux-img:hover img { transform: none; }
}
