/* Flumen visual system: applies to content text, never icon fonts or admin UI. */
body.flumen-modern{--fm-font:Arial,Helvetica,sans-serif;--fm-paper:#faf9f5;--fm-lime:#e1e8d6;--fm-ink:#1b4037;--fm-line:#dbe1d7;font-family:var(--fm-font);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
.flumen-modern :is(.elementor,.fp-v2,.fm-home,.fm-header,.fm-footer,.fs-booking,.fm-chat) :is(h1,h2,h3,h4,h5,h6,p,li,label,input,textarea,select,button,summary,.elementor-heading-title,.elementor-button-text,.elementor-icon-box-description,.elementor-icon-box-title){font-family:var(--fm-font)!important}
.flumen-modern :is(.elementor,.fp-v2) :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title){font-weight:500!important;font-style:normal!important;letter-spacing:-.025em!important;line-height:1.18!important;text-wrap:balance}
.flumen-modern .elementor-widget-heading h1{font-size:clamp(36px,4.5vw,66px)!important}
.flumen-modern .elementor-widget-heading h2{font-size:clamp(28px,3.1vw,44px)!important}
.flumen-modern .elementor-widget-heading h3{font-size:clamp(23px,2.4vw,30px)!important}
.flumen-modern .elementor-widget-heading :is(h4,h5,h6){font-size:20px!important}
.flumen-modern .elementor :is(.elementor-widget-text-editor,.elementor-widget-text-editor p,.elementor-icon-box-description){font-family:var(--fm-font)!important;font-size:16px!important;line-height:1.8!important;letter-spacing:0!important;font-weight:400;text-align:left!important}
.flumen-modern .elementor-widget-text-editor :is(span,strong,em,a){font-family:inherit!important;letter-spacing:normal!important}
.flumen-modern :is(.elementor,.fp-v2) input:not([type=checkbox]):not([type=radio]),.flumen-modern :is(.elementor,.fp-v2) :is(select,textarea){font-family:var(--fm-font)!important;border-radius:10px!important}
.flumen-modern :is(.elementor-button,.fp2-btn,.fm-button){border-radius:8px!important;letter-spacing:.01em!important;font-weight:600!important;text-transform:none!important;font-size:14px!important}
.flumen-modern .fm-header-inner{max-width:1440px;height:88px;padding:0 36px;gap:28px}
.flumen-modern .fm-brand img{width:125px;height:48px}
.flumen-modern .fm-nav{align-items:center;gap:25px}
.flumen-modern .fm-nav>a,.flumen-modern .fm-services>summary{font-size:14px;font-weight:500;white-space:nowrap}
.fm-services{position:relative}.fm-services>summary{display:flex;gap:9px;align-items:center;min-height:48px;cursor:pointer;list-style:none}.fm-services>summary::-webkit-details-marker{display:none}
.fm-service-panel{position:absolute;top:calc(100% + 16px);left:-22px;width:290px;border-radius:14px;background:#faf9f5;border:1px solid var(--fm-line);box-shadow:0 16px 48px #14392e20;padding:20px 24px}
.fm-service-panel p{font-size:12px;margin:0 0 8px;color:#68786c}.fm-service-panel a{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--fm-line)}
.fm-languages{display:flex;gap:3px;padding-right:12px;border-right:1px solid var(--fm-line)}.fm-languages a{font-size:12px!important;padding:8px 6px;border-radius:5px;color:#66736b!important}.fm-languages a[aria-current=true]{color:var(--fm-ink)!important;background:#e9eee4;font-weight:700}.fm-languages a:hover{background:#e9eee4}
.flumen-modern .fm-header .fm-button{background:#1b4037;color:#fff;padding:13px 19px;gap:18px;box-shadow:none}
.flumen-modern .fm-header .fm-button:hover{background:#2f5748}.flumen-modern .fm-mobile-menu nav a{font-size:15px;padding:12px 0}
.fm-mobile-services>summary{display:flex!important;justify-content:space-between;width:auto!important;height:auto!important;border:0!important;font-size:15px!important;padding:12px 0!important;border-bottom:1px solid var(--fm-line)!important;border-radius:0!important}
.fm-mobile-services>div{padding-left:14px;border-left:2px solid #dbe1d7;margin:5px 0 12px}.fm-mobile-services:not([open])>div{display:none}.fm-mobile-services>div a{font-size:14px!important}
.flumen-modern .fm-mobile-menu nav{width:min(310px,calc(100vw - 28px));padding:12px 22px}
.flumen-modern #colophon .elementor-heading-title{font-size:20px!important;letter-spacing:-.01em!important}.flumen-modern #colophon :is(p,a,label){font-family:var(--fm-font)!important;font-size:14px!important;line-height:1.7!important}.flumen-modern #colophon p{color:#e1e9df!important}
.flumen-modern .elementor-1322 .elementor-inner-column .elementor-heading-title{font-size:25px!important}
/* Floating assistant and existing WhatsApp are separated. */
.fm-chat{position:fixed;right:22px;bottom:22px;z-index:9800;font-family:var(--fm-font);color:var(--fm-ink)}
.flumen-modern .fm-chat-trigger{display:flex;align-items:center;gap:10px;border:1px solid #ffffff60;border-radius:100px;background:#1b4037;color:#fff;padding:16px 20px;min-height:58px;box-shadow:0 8px 25px #15372e26;font-size:14px;font-weight:600;cursor:pointer}
.fm-chat-panel{position:absolute;right:0;bottom:76px;width:340px;max-width:calc(100vw - 32px);border:1px solid var(--fm-line);border-radius:20px;background:#faf9f5;box-shadow:0 20px 60px #15372e26;padding:25px;box-sizing:border-box;max-height:calc(100dvh - 170px);overflow:auto}.fm-chat-panel[hidden]{display:none!important}
.fm-chat-heading{display:flex;gap:15px;align-items:center;justify-content:space-between}.flumen-modern .fm-chat h2{font-size:23px;line-height:1.2;letter-spacing:-.025em;margin:0;font-weight:500;color:#1b4037}.flumen-modern .fm-chat-close{background:transparent;border:0;color:#1b4037;font-size:27px;min-height:44px;min-width:36px;padding:0;cursor:pointer}.fm-chat-panel p{font-size:14px;line-height:1.7;margin:16px 0 22px;color:#5c6e61}.fm-chat-panel .fm-button{display:flex}.fm-chat-contact{display:block;text-align:center;font-size:13px;color:#1b4037!important;margin-top:15px;text-decoration:none}
.flumen-modern #ht-ctc-chat{bottom:96px!important;right:23px!important}
.flumen-modern:has(.fm-header details[open]) .fm-chat{visibility:hidden}
.flumen-modern :is(.fm-header,.fm-chat,.fs-booking) :focus-visible{outline:3px solid #8ca87b;outline-offset:4px}
.flumen-modern .fs-booking button:not(:disabled):hover{background:#315944;color:white}.flumen-modern .fs-booking .fs-day:not(:disabled):hover{background:#dce7d2;color:#173f35}
@media(max-width:1100px){.flumen-modern .fm-header-inner{padding:0 22px;gap:16px}.flumen-modern .fm-nav{gap:18px}.flumen-modern .fm-brand img{width:110px}}
@media(max-width:980px){.flumen-modern .fm-nav{display:none}.flumen-modern .fm-mobile-menu{display:block}.flumen-modern .fm-header-inner{height:76px}.flumen-modern .fm-actions{gap:10px}.fm-booking-panel{right:-52px}.fm-languages{padding-right:8px}}
@media(max-width:600px){.flumen-modern .fm-header-inner{padding:0 14px;gap:8px;height:72px}.flumen-modern .fm-brand img{width:88px;height:38px}.flumen-modern .fm-actions{gap:7px}.fm-languages{padding-right:4px;gap:0}.fm-languages a{padding:8px 4px;font-size:11px!important}.flumen-modern .fm-header .fm-button{font-size:12px!important;min-height:44px;padding:10px 12px;gap:8px}.fm-mobile-menu summary{width:38px}.fm-chat{right:14px;bottom:16px}.fm-chat-trigger span{display:none}.flumen-modern .fm-chat-trigger{height:54px;width:54px;min-height:54px;padding:14px;justify-content:center}.flumen-modern #ht-ctc-chat{bottom:84px!important;right:16px!important}.fm-chat-panel{bottom:67px}.flumen-modern .elementor-widget-text-editor p{font-size:16px!important}.flumen-modern .fp2-form{padding:18px 12px}.flumen-modern .fs-booking{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){.flumen-modern .fm-chat *{transition:none!important}}

/* 1.4.4: lighter emphasis and breathing room, without altering page structure. */
.flumen-modern :is(.elementor,.fp-v2,.fm-home) :is(strong,b){font-weight:500!important}
.flumen-modern .elementor-1950 .elementor-element-d7c9455{padding-inline:clamp(22px,4vw,64px)!important;box-sizing:border-box}
.flumen-modern .elementor-1950 .elementor-element-d7c9455>.elementor-container{max-width:1200px;margin-inline:auto}
.flumen-modern .elementor-element-bf8d2a9 :is(p,span,strong){color:#202020!important}
.flumen-modern .fp2-status.unavailable{color:#202020!important}
/* Also covers previously cached Elementor markup for the removed gallery banner. */
.flumen-modern .elementor-1334 .elementor-element-57330147{display:none!important}

/* 1.4.5: consistent typography, centred controls and softer green. */
body.flumen-modern{--fm-button-bg:#4c705d;--fm-button-hover:#3d5e4c}
.flumen-modern :is(.elementor,.fp-v2,.fm-home,.fm-header,.fm-footer) :is(a.elementor-button,.elementor-button-text,.fp2-btn,.fm-button,input[type=submit],button[type=submit]){font-family:var(--fm-font)!important;font-size:14px!important;font-weight:600!important;line-height:1.4!important;text-align:center!important;letter-spacing:.01em!important;text-transform:none!important}
.flumen-modern :is(.elementor-button,.fp2-btn,.fm-button){display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:46px;padding:13px 24px!important;box-sizing:border-box;vertical-align:middle}
.flumen-modern .elementor-button-content-wrapper{display:flex;align-items:center;justify-content:center;width:100%}
.flumen-modern .elementor-button-text{flex:0 1 auto!important;text-align:center!important}
.flumen-modern :is(.fm-button,.fp2-btn,.elementor-button,button[type=submit],input[type=submit]){background:var(--fm-button-bg)!important;color:#fff!important;border-color:var(--fm-button-bg)!important}
.flumen-modern :is(.fm-button,.fp2-btn,.elementor-button,button[type=submit],input[type=submit]):is(:hover,:focus-visible){background:var(--fm-button-hover)!important;border-color:var(--fm-button-hover)!important;color:#fff!important}
.flumen-modern .fm-header .fm-button{min-width:110px;gap:0!important}
.flumen-modern .fm-header :is(.fm-booking-panel,.fm-service-panel) a{justify-content:flex-start;gap:0}
.flumen-modern .fm-header :is(.fm-booking>summary,.fm-reserve,.fm-booking-panel a,.fm-service-panel a)>span[aria-hidden=true]{display:none!important}
.flumen-modern .elementor-widget-heading h1{font-size:clamp(34px,4.5vw,60px)!important;line-height:1.15!important}
.flumen-modern .elementor-widget-heading h2{font-size:clamp(28px,3.1vw,42px)!important;line-height:1.2!important}
.flumen-modern .elementor-widget-heading h3{font-size:clamp(23px,2.2vw,30px)!important;line-height:1.25!important}
.flumen-modern .elementor-widget-heading h4{font-size:24px!important;line-height:1.35!important}
.flumen-modern .elementor-widget-heading :is(h5,h6){font-size:20px!important;line-height:1.4!important}
.flumen-modern .elementor-widget-heading .elementor-heading-title span,.flumen-modern .elementor-icon-box-title a{font:inherit!important;letter-spacing:inherit!important}
.flumen-modern .elementor-widget-text-editor :is(p,li){font-size:16px!important;line-height:1.75!important}
.flumen-modern .elementor-widget-text-editor :is(p,li)>span{font-size:inherit!important;line-height:inherit!important}
.flumen-modern #colophon .elementor-heading-title{font-size:20px!important;line-height:1.35!important}
.flumen-modern #colophon .elementor-element-43ec7be5 :is(p,a){font-size:13px!important;line-height:1.7!important;text-align:center!important}
.flumen-modern #colophon .elementor-element-43ec7be5 a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.flumen-modern .fm-header .fm-button{min-width:86px;min-height:44px;padding:10px 14px!important;font-size:13px!important}.flumen-modern .elementor-widget-heading h4{font-size:21px!important}}
