/* Lumora Spa 4.0 – additive UI/UX layer. Existing shortcode HTML stays valid. */

body.lumora-site {
    --lumora-reading-line: 1.72;
    --lumora-card-pad: clamp(20px, 2.2vw, 30px);
    text-rendering: optimizeLegibility;
}

body.lumora-site p,
body.lumora-site li,
body.lumora-site dd { line-height: var(--lumora-reading-line); letter-spacing: .003em; }
body.lumora-site h1,
body.lumora-site h2,
body.lumora-site h3,
body.lumora-site h4 { line-height: 1.12; text-wrap: balance; }
body.lumora-site .lumora-button,
body.lumora-site button,
body.lumora-site .lumora-nav__label { letter-spacing: .035em; }

/* The former decorative green image dot was generated by this pseudo-element. */
body.lumora-site .lumora-page-media::after { content: none !important; display: none !important; }

/* Header spacing, subtle water cue and stable mega-menu hover corridor. */
@media (min-width: 1181px) {
    body.lumora-site { --lumora-header-height: 96px; }
    body.lumora-site .lumora-header__inner { padding-block: 12px; gap: clamp(22px, 2.4vw, 44px); }
    body.lumora-site .lumora-nav__scroll,
    body.lumora-site .lumora-nav__list,
    body.lumora-site .lumora-nav__item { height: 100%; }
    body.lumora-site .lumora-nav__list { gap: clamp(13px, 1.25vw, 25px); }
    body.lumora-site .lumora-nav__item > a { min-height: 54px; padding-inline: 2px; }
    body.lumora-site .lumora-nav__item.has-mega::before {
        top: calc(100% - 16px) !important;
        right: -34px !important;
        left: -34px !important;
        height: 48px !important;
    }
    body.lumora-site .lumora-mega {
        top: calc(var(--lumora-header-height) - 2px) !important;
        padding-top: 27px;
        transition: opacity .28s ease, transform .28s var(--lumora-ease), visibility 0s linear .58s !important;
    }
    body.lumora-site .lumora-mega::before {
        content: "";
        position: absolute;
        right: 0;
        bottom: 100%;
        left: 0;
        height: 18px;
    }
    body.admin-bar.lumora-site .lumora-mega { top: calc(var(--lumora-header-height) + 30px) !important; }
    body.lumora-site .has-mega:hover .lumora-mega,
    body.lumora-site .has-mega:focus-within .lumora-mega,
    body.lumora-site .has-mega.submenu-open .lumora-mega { transition-delay: 0s !important; }
    body.lumora-site .lumora-mega__surface { border: 1px solid color-mix(in srgb, var(--lumora-line-strong) 55%, transparent); border-radius: 26px; background: var(--lumora-surface); box-shadow: 0 28px 90px rgba(4, 23, 17, .16); overflow: hidden; }
    body.lumora-site .lumora-mega__intro { border-radius: 0; box-shadow: none; }
    body.lumora-site .lumora-mega__products { padding: 25px 25px 25px 0; }
    body.lumora-site .lumora-mega__media img { object-fit: contain !important; padding: 5px; }
}

body.lumora-site .lumora-header::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: -15%;
    bottom: -1px;
    width: 44%;
    height: 2px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(116, 222, 192, .1), rgba(157, 234, 212, .72), transparent);
    transform: translateX(-220%);
    animation: lumora-header-wave 13s ease-in-out infinite;
}
@keyframes lumora-header-wave {
    0%, 72%, 100% { opacity: 0; transform: translateX(-220%); }
    77% { opacity: .8; }
    88% { opacity: .45; transform: translateX(250%); }
    92% { opacity: 0; transform: translateX(250%); }
}

body.lumora-site .lumora-header__cta {
    color: #07120e;
    background: linear-gradient(110deg, #f5fff9, #bdebdc, #ffffff, #aee3d3);
    background-size: 280% 100%;
    border-color: rgba(255,255,255,.75);
    animation: lumora-cta-flow 8s ease-in-out infinite;
}
body.lumora-site .lumora-header.is-scrolled .lumora-header__cta {
    color: #fff;
    background: linear-gradient(110deg, #09251c, #14694f, #0a2f24, #178263);
    background-size: 280% 100%;
}
@keyframes lumora-cta-flow { 0%, 100% { background-position: 0 50%; } 50% { background-position: 100% 50%; } }

.lumora-social-links { display: flex; align-items: center; gap: 6px; }
.lumora-social-link {
    width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    color: inherit;
    border: 1px solid currentColor;
    border-radius: 50%;
    opacity: .67;
    transition: opacity .22s ease, transform .22s var(--lumora-ease), background .22s ease;
}
.lumora-social-link:hover { opacity: 1; transform: translateY(-2px); background: rgba(255,255,255,.1); }
.lumora-social-link svg { width: 15px; height: 15px; }
.lumora-social-link img { width: 16px; height: 16px; object-fit: contain; }
.lumora-social-links--mobile { margin-top: 18px; justify-content: center; }
.lumora-social-links--footer { margin-block: 8px; }
.lumora-social-links--footer .lumora-social-link { width: 36px; height: 36px; }

/* Equal-height product cards, readable specs and non-cropped product images. */
body.lumora-site .lumora-product-grid { align-items: stretch; }
body.lumora-site .lumora-product-card { height: 100%; min-width: 0; display: flex; flex-direction: column; }
body.lumora-site .lumora-product-card__media {
    flex: 0 0 auto;
    isolation: isolate;
    background: radial-gradient(circle at 50% 38%, #fff 0, #f4f5f2 56%, #e8ebe7 100%);
}
body.lumora-site .lumora-product-card__media img,
body.lumora-site .lumora-native-catalog .lumora-product-card__media img {
    object-fit: contain !important;
    padding: clamp(8px, 1.2vw, 16px);
}
body.lumora-site .lumora-product-card__single-image { position: absolute; inset: 0; display: block; }
body.lumora-site .lumora-product-card__slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    display: block;
    color: inherit;
    background: transparent;
    border: 0;
    opacity: 0;
    visibility: hidden;
    cursor: zoom-in;
    transition: opacity .28s ease, visibility 0s linear .28s;
}
body.lumora-site .lumora-product-card__slide.is-active { opacity: 1; visibility: visible; transition-delay: 0s; }
body.lumora-site .lumora-card-gallery__prev,
body.lumora-site .lumora-card-gallery__next {
    position: absolute;
    z-index: 4;
    top: 50%;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: #0a241b;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(9,38,29,.12);
    border-radius: 50%;
    box-shadow: 0 8px 24px rgba(6,24,18,.13);
    opacity: 0;
    transform: translateY(-50%);
    transition: opacity .2s ease, transform .2s ease;
    cursor: pointer;
}
body.lumora-site .lumora-card-gallery__prev { left: 10px; }
body.lumora-site .lumora-card-gallery__next { right: 10px; }
body.lumora-site [data-card-gallery]:hover .lumora-card-gallery__prev,
body.lumora-site [data-card-gallery]:hover .lumora-card-gallery__next,
body.lumora-site .lumora-card-gallery__prev:focus-visible,
body.lumora-site .lumora-card-gallery__next:focus-visible { opacity: 1; }
body.lumora-site .lumora-card-gallery__count {
    position: absolute;
    z-index: 4;
    right: 12px;
    bottom: 12px;
    padding: 5px 9px;
    color: #fff;
    background: rgba(4,18,13,.68);
    border-radius: 99px;
    font-size: .67rem;
    font-weight: 720;
    letter-spacing: .04em;
    backdrop-filter: blur(6px);
}
body.lumora-site .lumora-product-card__body { flex: 1; padding: var(--lumora-card-pad); display: flex; flex-direction: column; min-width: 0; }
body.lumora-site .lumora-product-card__body > p { min-height: 3.45em; margin-bottom: 16px; line-height: 1.62; }
body.lumora-site .lumora-product-card__highlight { margin: -3px 0 15px; display: flex; gap: 8px; align-items: center; color: var(--lumora-accent); font-size: .76rem; line-height: 1.35; }
body.lumora-site .lumora-product-card__highlight svg { width: 16px; height: 16px; flex: 0 0 auto; }
body.lumora-site .lumora-product-card__specs { margin: 0 0 17px; padding: 13px 14px; display: grid; gap: 8px; background: color-mix(in srgb, var(--lumora-accent) 5%, var(--lumora-surface-2)); border: 1px solid var(--lumora-line); border-radius: 13px; }
body.lumora-site .lumora-product-card__specs > div { min-width: 0; display: grid; grid-template-columns: minmax(64px,.58fr) minmax(0,1.42fr); gap: 10px; align-items: baseline; }
body.lumora-site .lumora-product-card__specs dt { color: var(--lumora-muted); font-size: .66rem; font-weight: 680; text-transform: uppercase; letter-spacing: .055em; }
body.lumora-site .lumora-product-card__specs dd { margin: 0; overflow-wrap: anywhere; color: var(--lumora-text); font-size: .76rem; font-weight: 690; line-height: 1.35; text-align: right; }
body.lumora-site .lumora-product-card__energy { margin-top: 0; }
body.lumora-site .lumora-product-card__configurator { margin-top: auto; }
body.lumora-site .lumora-product-card__footer { flex: 0 0 auto; margin-top: 15px; min-height: 46px; align-items: center; gap: 12px; }
body.lumora-site .lumora-product-card__details { min-width: 112px; min-height: 42px; padding: 9px 14px !important; display: inline-flex !important; align-items: center; justify-content: center; gap: 7px; white-space: nowrap; }
body.lumora-site .lumora-product-card__details span { display: inline !important; color: inherit !important; opacity: 1 !important; visibility: visible !important; }

body.lumora-site .lumora-product-hero__media { background: radial-gradient(circle at 50% 42%, #fff, #f2f4f1 62%, #e5e9e5); }
body.lumora-site .lumora-product-hero__media img { object-fit: contain !important; padding: clamp(12px, 2vw, 28px); }
body.lumora-site .lumora-product-gallery a { background: #f3f5f2; }
body.lumora-site .lumora-product-gallery img { object-fit: contain !important; padding: 8px; }

/* Brand story and company details. */
.lumora-brand-story { overflow: hidden; background: linear-gradient(145deg, #f5f9f6, #fff); }
.lumora-brand-story__grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: clamp(35px,7vw,110px); align-items: center; }
.lumora-brand-story__copy { max-width: 780px; }
.lumora-brand-story__copy h2 { margin: 13px 0 22px; font-size: clamp(2.15rem,5vw,4.6rem); letter-spacing: -.055em; }
.lumora-brand-story__lead { color: var(--lumora-text); font-size: clamp(1.12rem,1.8vw,1.42rem); line-height: 1.62 !important; }
.lumora-brand-story__copy > p:not(.lumora-brand-story__lead) { color: var(--lumora-muted); }
.lumora-brand-story__timeline { margin-top: 32px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--lumora-line); border-radius: 18px; background: var(--lumora-line); }
.lumora-brand-story__timeline span { padding: 18px; display: flex; flex-direction: column; gap: 7px; background: #fff; font-size: .75rem; line-height: 1.45; }
.lumora-brand-story__timeline b { color: var(--lumora-accent); font-size: .9rem; letter-spacing: .04em; }
.lumora-brand-story__showroom { padding: clamp(28px,4vw,48px); color: #effbf6; background: radial-gradient(circle at 85% 5%, rgba(142,232,206,.22),transparent 35%),linear-gradient(145deg,#071c15,#0c3e30); border-radius: 28px; box-shadow: 0 30px 70px rgba(6,30,22,.2); }
.lumora-brand-story__showroom figure { margin: calc(0px - clamp(28px,4vw,48px)) calc(0px - clamp(28px,4vw,48px)) 26px; overflow: hidden; border-radius: 28px 28px 0 0; }
.lumora-brand-story__showroom figure img { width: 100%; max-height: 320px; display: block; object-fit: cover; }
.lumora-brand-story__showroom > span { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; }
.lumora-brand-story__showroom svg { width: 24px; }
.lumora-brand-story__showroom h3 { margin: 25px 0 14px; font-size: clamp(1.5rem,2.6vw,2.3rem); }
.lumora-brand-story__showroom p { color: rgba(240,251,246,.72); }
.lumora-brand-story__showroom .lumora-button { margin-top: 18px; color: #09251c; background: #fff; }
.lumora-company-details { display: grid; gap: 7px; font-style: normal; }

/* Service pages and forms. */
.lumora-service-hero { padding-block: clamp(82px,10vw,150px); color: #effaf6; background: radial-gradient(circle at 80% 10%, rgba(79,198,164,.28),transparent 32%),linear-gradient(145deg,#061b14,#0d4938); }
.lumora-service-hero--dark { background: radial-gradient(circle at 18% 0,rgba(196,165,100,.18),transparent 32%),linear-gradient(145deg,#07120f,#17241f); }
.lumora-service-hero .lumora-container { max-width: 1020px; }
.lumora-service-hero h1 { max-width: 920px; margin: 16px 0 24px; font-size: clamp(2.4rem,6vw,5.5rem); letter-spacing: -.06em; }
.lumora-service-hero p { max-width: 790px; color: rgba(242,251,247,.76); font-size: clamp(1.05rem,1.6vw,1.35rem); }
.lumora-service-form-wrap { margin-block: clamp(58px,8vw,110px); }
.lumora-form-intro { max-width: 760px; margin-bottom: 25px; }
.lumora-form-intro h2 { font-size: clamp(1.8rem,3.8vw,3.1rem); }
.lumora-request-form { padding: clamp(22px,4vw,50px); background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: 28px; box-shadow: 0 25px 70px rgba(5,31,22,.1); }
.lumora-request-form fieldset { margin: 0 0 32px; padding: 0; border: 0; }
.lumora-request-form legend { width: 100%; margin-bottom: 17px; padding-bottom: 10px; color: var(--lumora-text); border-bottom: 1px solid var(--lumora-line); font-size: 1.1rem; font-weight: 760; }
.lumora-form-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.lumora-form-grid + .lumora-form-grid { margin-top: 17px; }
.lumora-form-grid label { min-width: 0; display: flex; flex-direction: column; gap: 8px; color: var(--lumora-text); font-size: .76rem; font-weight: 700; }
.lumora-form-grid input,
.lumora-form-grid select,
.lumora-form-grid textarea { width: 100%; min-height: 50px; padding: 12px 14px; color: var(--lumora-text); background: var(--lumora-surface-2); border: 1px solid var(--lumora-line-strong); border-radius: 12px; font: inherit; font-size: .92rem; line-height: 1.45; }
.lumora-form-grid textarea { min-height: 110px; resize: vertical; }
.lumora-form-grid input:focus,
.lumora-form-grid select:focus,
.lumora-form-grid textarea:focus { outline: 3px solid color-mix(in srgb,var(--lumora-accent) 18%,transparent); border-color: var(--lumora-accent); }
.lumora-form-field--wide { grid-column: 1 / -1; }
.lumora-form-grid small { color: var(--lumora-muted); font-size: .68rem; font-weight: 500; }
.lumora-file-field { padding: 16px; background: var(--lumora-surface-2); border: 1px dashed var(--lumora-line-strong); border-radius: 14px; }
.lumora-file-field input { min-height: 0; padding: 0; border: 0; background: transparent; }
.lumora-form-consent { margin: 25px 0; display: flex; gap: 11px; align-items: flex-start; color: var(--lumora-muted); font-size: .8rem; line-height: 1.55; }
.lumora-form-consent input { flex: 0 0 auto; margin-top: 4px; }
.lumora-button--submit { min-height: 52px; border: 0; cursor: pointer; }
.lumora-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.lumora-form-notice { margin: 0 0 24px; padding: 17px 20px; display: flex; flex-wrap: wrap; gap: 7px 16px; border-radius: 14px; }
.lumora-form-notice--success { color: #0b503c; background: #e2f5ed; border: 1px solid #a9ddcd; }
.lumora-form-notice--error { color: #7e2929; background: #fff0ef; border: 1px solid #efc0bc; }
.lumora-benefit-grid { margin-block: clamp(55px,8vw,100px); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.lumora-benefit-grid article { padding: clamp(22px,3vw,36px); border: 1px solid var(--lumora-line); border-radius: 22px; background: var(--lumora-surface); }
.lumora-benefit-grid article > span { color: var(--lumora-accent); font-size: .72rem; font-weight: 800; }
.lumora-benefit-grid h2 { font-size: 1.25rem; }

/* Water-care catalogue. */
.lumora-watercare-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.lumora-watercare-card { min-width: 0; overflow: hidden; background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: 22px; box-shadow: 0 16px 45px rgba(5,30,22,.07); }
.lumora-watercare-card__media { position: relative; aspect-ratio: 1.15/1; overflow: hidden; background: #f1f5f1; }
.lumora-watercare-card__slide { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; background: transparent; border: 0; opacity: 0; visibility: hidden; cursor: zoom-in; }
.lumora-watercare-card__slide.is-active { opacity: 1; visibility: visible; }
.lumora-watercare-card__slide img { width: 100%; height: 100%; object-fit: contain; padding: 15px; }
.lumora-watercare-card__body { padding: 24px; }
.lumora-watercare-card__body > span { color: var(--lumora-accent); font-size: .68rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.lumora-watercare-card__body h3 { margin: 8px 0 10px; font-size: 1.45rem; }
.lumora-watercare-card details { margin-top: 15px; }
.lumora-watercare-card summary { cursor: pointer; font-weight: 700; }
.lumora-watercare-card footer { margin-top: 20px; padding-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--lumora-line); }
.lumora-watercare-card footer strong { color: var(--lumora-accent); }
.lumora-watercare-card footer small { color: var(--lumora-muted); }

/* Rental presentation and live estimate. */
.lumora-rental-events { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 8px; }
.lumora-rental-events span { padding: 8px 12px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 99px; font-size: .72rem; }
.lumora-rental-process { margin-block: clamp(50px,7vw,90px); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.lumora-rental-process article { padding: 25px; background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: 20px; }
.lumora-rental-process b { color: var(--lumora-accent); }
.lumora-rental-process h2 { font-size: 1.25rem; }
.lumora-rental-requirements { padding: clamp(24px,4vw,44px); color: #edf9f4; background: #0b2c22; border-radius: 24px; }
.lumora-rental-requirements ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 30px; }
.lumora-rental-products { margin-top: 40px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.lumora-rental-products article { min-width: 0; display: grid; grid-template-columns: minmax(180px,.8fr) minmax(0,1.2fr); overflow: hidden; background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: 24px; }
.lumora-rental-card__media { position: relative; min-height: 320px; overflow: hidden; background: #f1f4f1; }
.lumora-rental-card__slide { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; background: transparent; border: 0; opacity: 0; visibility: hidden; cursor: zoom-in; }
.lumora-rental-card__slide.is-active { opacity: 1; visibility: visible; }
.lumora-rental-card__slide img { width: 100%; height: 100%; object-fit: contain; padding: 12px; }
.lumora-rental-card__placeholder { width: 100%; height: 100%; min-height: 320px; display: grid; place-items: center; color: var(--lumora-muted); }
.lumora-rental-card__body { padding: 28px; }
.lumora-rental-products dl > div { margin-top: 8px; display: flex; justify-content: space-between; gap: 15px; }
.lumora-rental-products dt { color: var(--lumora-muted); }
.lumora-rental-products dd { margin: 0; text-align: right; font-weight: 700; }
.lumora-rental-products .lumora-button { margin-top: 22px; border: 0; cursor: pointer; }
.lumora-form-check-card { align-self: end; min-height: 74px; padding: 13px; flex-direction: row !important; align-items: center; background: var(--lumora-surface-2); border: 1px solid var(--lumora-line); border-radius: 12px; }
.lumora-form-check-card input { width: auto; min-height: 0; }
.lumora-form-check-card span { display: grid; }
.lumora-rental-estimate { margin: 24px 0; padding: 20px 22px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 20px; align-items: center; color: #edf9f4; background: linear-gradient(135deg,#0b2c22,#12624a); border-radius: 16px; }
.lumora-rental-estimate strong { font-size: 1.55rem; }
.lumora-rental-estimate small { grid-column: 1/-1; color: rgba(239,250,246,.7); }

/* AR viewer loads only after the visitor asks for it. */
.lumora-button--ar { border-color: color-mix(in srgb,var(--lumora-accent) 40%,transparent); cursor: pointer; }
.lumora-ar-modal[hidden] { display: none !important; }
.lumora-ar-modal { position: fixed; z-index: 20050; inset: 0; display: grid; place-items: center; padding: 20px; }
.lumora-ar-modal__backdrop { position: absolute; inset: 0; background: rgba(3,12,9,.78); backdrop-filter: blur(9px); }
.lumora-ar-modal__panel { position: relative; width: min(1050px,100%); max-height: calc(100dvh - 40px); padding: clamp(20px,3vw,36px); overflow: auto; background: var(--lumora-surface); border-radius: 24px; box-shadow: 0 35px 110px rgba(0,0,0,.42); }
.lumora-ar-modal__close { position: absolute; z-index: 2; top: 14px; right: 14px; width: 42px; height: 42px; color: var(--lumora-text); background: var(--lumora-surface-2); border: 1px solid var(--lumora-line); border-radius: 50%; font-size: 1.5rem; cursor: pointer; }
.lumora-ar-modal__head { padding-right: 45px; }
.lumora-ar-modal__head h2 { margin: 8px 0; }
.lumora-ar-stage { min-height: min(62vh,650px); margin-top: 20px; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle,#fff,#eaf0ec); border-radius: 18px; }
.lumora-ar-stage model-viewer { width: 100%; height: min(62vh,650px); }
.lumora-ar-button { margin: 0 0 20px 20px; border: 0; }
.lumora-ar-note { color: var(--lumora-muted); font-size: .76rem; }
html.lumora-modal-open { overflow: hidden; }

/* Simple page transition, not an SPA. */
body.lumora-site #lumora-main { transition: opacity .15s ease, transform .15s ease; }
html.lumora-page-leaving body.lumora-site #lumora-main { opacity: 0; transform: translateY(5px); }

@media (max-width: 1420px) and (min-width: 1181px) {
    body.lumora-site .lumora-social-links--header { display: none; }
    body.lumora-site .lumora-header__inner { padding-inline: 22px; gap: 20px; }
    body.lumora-site .lumora-nav__list { gap: 14px; }
}

@media (max-width: 1180px) {
    body.lumora-site .lumora-header::after,
    body.lumora-site .lumora-header__cta { animation: none; }
    body.lumora-site .lumora-social-links--header { display: none; }
    body.lumora-site .lumora-card-gallery__prev,
    body.lumora-site .lumora-card-gallery__next { opacity: .88; }
    .lumora-brand-story__grid { grid-template-columns: 1fr; }
    .lumora-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lumora-watercare-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lumora-rental-products { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    body.lumora-site { --lumora-reading-line: 1.65; }
    body.lumora-site .lumora-product-card__body > p { min-height: 0; }
    body.lumora-site .lumora-product-card__footer { flex-direction: row; align-items: center; }
    body.lumora-site .lumora-product-card__details { width: auto !important; flex: 0 0 auto; }
    .lumora-brand-story__timeline,
    .lumora-benefit-grid,
    .lumora-rental-process,
    .lumora-form-grid,
    .lumora-watercare-grid { grid-template-columns: 1fr; }
    .lumora-form-field--wide { grid-column: auto; }
    .lumora-request-form { border-radius: 20px; }
    .lumora-rental-requirements ul { grid-template-columns: 1fr; }
    .lumora-rental-products article { grid-template-columns: 1fr; }
    .lumora-rental-card__media { min-height: 260px; max-height: 360px; }
    .lumora-rental-estimate { grid-template-columns: 1fr; }
    .lumora-rental-estimate small { grid-column: auto; }
    .lumora-ar-modal { padding: 8px; }
    .lumora-ar-modal__panel { max-height: calc(100dvh - 16px); border-radius: 17px; }
    .lumora-ar-stage,
    .lumora-ar-stage model-viewer { min-height: 52vh; height: 52vh; }
}

@media (prefers-reduced-motion: reduce) {
    body.lumora-site .lumora-header::after,
    body.lumora-site .lumora-header__cta { animation: none !important; }
    body.lumora-site #lumora-main { transition: none !important; }
}
