/* Visual defaults intentionally stay below Elementor's generated selectors. */
:root { --fl-admin-offset:0px; --fl-header-height:132px; }
:where(.ef-links a) { overflow-wrap:anywhere; }
body.flowers-editorial-active #masthead { position:relative; z-index:80; height:var(--fl-header-height,132px); }
body.home.flowers-editorial-active #masthead { height:0; }
body.flowers-editorial-active:not(.elementor-editor-active) #masthead .fl-header { position:fixed; inset:var(--fl-admin-offset) 0 auto; z-index:100; }
:root:has(body.admin-bar) { --fl-admin-offset:32px; }
:is(.fl-header) { --fl-rest-bg:transparent; --fl-scroll-bg:rgba(12,24,20,.96); --fl-ink:#fff; --fl-accent:#c4c999; --fl-transition:320ms; width:100%; max-width:none; color:var(--fl-ink); background:var(--fl-scroll-bg); transition:background-color var(--fl-transition) ease,box-shadow var(--fl-transition) ease; }
:is(.fl-header-host) { position:relative; z-index:80; height:var(--fl-header-height,132px); }
body.home :is(.fl-header-host) { height:0; }
.fl-header-host > .elementor { position:relative; }
.fl-header-host .fl-header { position:fixed; inset:var(--fl-admin-offset) 0 auto; z-index:100; }
body.home :is(.fl-header:not(.is-scrolled):not(.is-menu-open)) { background:var(--fl-rest-bg); }
body.home :is(.fl-header:not(.is-scrolled):not(.is-menu-open))::before { content:''; position:absolute; z-index:-1; inset:0 0 -45px; pointer-events:none; background:linear-gradient(rgba(0,0,0,.48),transparent); }
:is(.fl-header.is-scrolled,.fl-header.is-menu-open) { background:var(--fl-scroll-bg); box-shadow:0 5px 30px rgba(0,0,0,.14); }
:is(.fl-header a) { text-decoration:none; }
:is(.fl-header a:focus-visible,.fl-header button:focus-visible,.flowers-hero a:focus-visible,.flowers-hero button:focus-visible) { outline:2px solid currentColor; outline-offset:5px; }
:is(.fl-header-utility) { overflow:hidden; max-height:52px; opacity:1; transition:max-height var(--fl-transition) ease,opacity var(--fl-transition) ease,padding var(--fl-transition) ease; }
.fl-header.is-scrolled .fl-header-utility { max-height:0; opacity:0; padding-top:0; padding-bottom:0; pointer-events:none; }
:is(.fl-header-utility .elementor-icon-box-wrapper) { display:flex; align-items:center; gap:8px; }
:is(.fl-header-utility .elementor-icon-box-icon,.fl-header-utility .elementor-icon-box-title,.fl-header-utility p) { margin:0; }
:is(.fl-header-utility a) { color:inherit; }
:is(.fl-header-main,.fl-header-nav,.fl-menu-widget,.fl-menu-widget > .elementor-widget-container,.fl-nav-dropdown) { position:static; }
.fl-header .fl-header-main,.fl-header .fl-header-nav,.fl-header .fl-menu-widget,.fl-header .fl-nav-dropdown { position:static; }
.fl-header .fl-header-utility { overflow:hidden; }
:is(.fl-logo-wrap) { flex-shrink:0; }
:is(.fl-logo-image img) { object-fit:contain; transition:filter var(--fl-transition) ease; }
:is(.fl-nav-heading) { position:relative; display:flex; align-items:center; gap:3px; }
@media(min-width:1025px) {
  .fl-header-nav,.fl-menu-widget { align-self:stretch; }
  .fl-menu-widget > .elementor-widget-container,.fl-nav-dropdown,.fl-nav-heading { height:100%; }
  .fl-nav-heading::before { content:''; position:absolute; left:0; right:0; top:100%; height:16px; }
}
:is(.fl-nav-parent) { display:flex; align-items:center; min-height:52px; padding:6px 0; color:inherit; font:400 14px/1.4 Montserrat,sans-serif; white-space:nowrap; }
:is(.fl-nav-heading)::after { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:var(--fl-accent); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
:is(.fl-nav-dropdown:hover,.fl-nav-dropdown:focus-within,.fl-nav-dropdown.is-open) .fl-nav-heading::after { transform:scaleX(1); }
:is(.fl-submenu-toggle) { width:24px; min-height:44px; display:grid; place-items:center; padding:0; border:0; border-radius:0; box-shadow:none; color:inherit; background:none; cursor:pointer; }
:is(.fl-submenu-toggle:hover,.fl-submenu-toggle:focus) { color:var(--fl-accent); background:none; }
:is(.fl-submenu-toggle span) { display:block; width:6px; height:6px; border:solid currentColor; border-width:0 1px 1px 0; transform:translateY(-2px) rotate(45deg); transition:transform .25s ease; }
:is(.fl-nav-dropdown.is-open) .fl-submenu-toggle span { transform:translateY(2px) rotate(225deg); }
:is(.fl-mega-menu) { position:absolute; top:100%; left:0; right:0; width:100%; display:grid; grid-template-columns:1.1fr 1.1fr .8fr; color:#34443c; background:#fff; border-top:1px solid #bdc698; box-shadow:0 24px 45px rgba(0,0,0,.16); visibility:hidden; opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity .22s ease,transform .25s ease,visibility .25s; }
:is(.fl-nav-dropdown.is-open) .fl-mega-menu { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
@media (hover:hover) and (min-width:1025px) {
  :is(.fl-nav-dropdown:hover,.fl-nav-dropdown:focus-within) .fl-mega-menu { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
  :is(.fl-nav-dropdown.is-dismissed) .fl-mega-menu { opacity:0; visibility:hidden; pointer-events:none; }
}
:is(.fl-mega-tours,.fl-mega-story) { padding:36px clamp(22px,3vw,58px); }
:is(.fl-mega-tours) { border-right:1px solid #e5e9e5; }
:is(.fl-mega-tours > strong) { display:block; margin:0 0 14px; font:500 12px/1.5 Montserrat,sans-serif; letter-spacing:.12em; }
:is(.fl-mega-tours > a) { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 10px; border-bottom:1px solid #edf0ec; font:400 14px/1.6 Montserrat,sans-serif; color:#59665e; transition:color .2s ease,background .2s ease; }
:is(.fl-mega-tours > a:hover,.fl-mega-tours > a:focus-visible) { color:#536429; background:#f2f4ec; }
:is(.fl-mega-tours em) { font-size:10px; font-style:normal; padding:3px 8px; background:#eef1e4; color:#536429; }
:is(.fl-mega-tours .fl-view-category) { margin-top:12px; font-weight:600; border:0; color:#536429; }
:is(.fl-mega-story small) { color:#7b8760; font:500 11px/1.5 Montserrat,sans-serif; letter-spacing:.14em; }
:is(.fl-mega-story h3) { margin:14px 0; font:400 clamp(24px,2vw,32px)/1.25 Georgia,serif; color:#22382d; }
:is(.fl-mega-story p) { font:400 14px/1.8 Montserrat,sans-serif; color:#637068; }
:is(.fl-mega-story ul) { padding:0; list-style:none; font:400 12px/1.8 Montserrat,sans-serif; }
:is(.fl-mega-story li) { padding:4px 0; }
:is(.fl-mega-story li)::before { content:'✓'; margin-right:10px; color:#718144; }
:is(.fl-mega-image) { min-height:310px; display:flex; align-items:flex-end; background:linear-gradient(transparent 30%,rgba(5,20,14,.76)),var(--mega-image) center/cover; }
:is(.fl-mega-image > span) { display:flex; justify-content:space-between; width:100%; padding:32px; color:#fff; font:500 12px/1.6 Montserrat,sans-serif; letter-spacing:.06em; }
:is(.fl-mobile-widget) { display:none; }
:is(.fl-mobile-toggle) { width:46px; height:46px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:0; border:1px solid rgba(255,255,255,.5); border-radius:0; background:transparent; color:inherit; box-shadow:none; cursor:pointer; }
:is(.fl-mobile-toggle:hover,.fl-mobile-toggle:focus) { color:inherit; background:rgba(255,255,255,.08); }
:is(.fl-mobile-toggle span) { width:20px; height:1px; display:block; background:currentColor; transition:transform .25s ease,opacity .25s ease; }
:is(.is-menu-open .fl-mobile-toggle span:nth-child(1)) { transform:translateY(7px) rotate(45deg); }
:is(.is-menu-open .fl-mobile-toggle span:nth-child(2)) { opacity:0; }
:is(.is-menu-open .fl-mobile-toggle span:nth-child(3)) { transform:translateY(-7px) rotate(-45deg); }
.elementor-editor-active .fl-header { position:relative; }
.elementor-editor-active .fl-header-utility { max-height:none; opacity:1; }
.elementor-editor-active .fl-header::before { display:none; }
/* Laptop layout: all categories stay visible; retain the user's font and logo size. */
@media(min-width:1025px) and (max-width:1439px) {
  .fl-header .fl-header-main {
    padding-inline:var(--fl-laptop-side-space,24px);
    column-gap:var(--fl-laptop-gap,12px);
  }
  .fl-header .fl-header-main .fl-header-nav {
    flex:1 1 auto; min-width:0; max-width:100%;
    gap:var(--fl-laptop-menu-gap,8px);
    align-items:stretch;
  }
  .fl-header-nav .fl-menu-widget { min-width:0; flex:0 1 auto; }
  .fl-header-nav .fl-nav-parent { white-space:normal; }
  .fl-header-nav .fl-submenu-toggle { width:18px; flex:0 0 18px; }
  .fl-header .fl-plan-button { flex-shrink:0; }
  .fl-mega-menu { max-height:calc(100svh - var(--fl-header-height,140px) - var(--fl-admin-offset,0px)); overflow-y:auto; overscroll-behavior:contain; }
  .fl-mega-tours,.fl-mega-story { padding:24px; }
  .flowers-hero-layout { padding-inline:clamp(32px,5vw,72px); }
}
/* Narrow laptop windows use a full horizontal menu row, not the tablet drawer. */
@media(min-width:1025px) and (max-width:1279px) {
  .fl-header .fl-header-main { display:grid; grid-template-columns:minmax(0,1fr) auto; row-gap:0; }
  .fl-header-main > .fl-logo-image { grid-column:1; grid-row:1; justify-self:start; }
  .fl-header-main > .fl-plan-button { grid-column:2; grid-row:1; justify-self:end; }
  .fl-header .fl-header-main .fl-header-nav { grid-column:1 / -1; grid-row:2; width:100%; justify-content:space-between; }
  .flowers-hero-layout { padding-top:210px; }
}
@media(max-width:1024px) {
  .fl-header-main { flex-wrap:wrap; }
  .fl-mobile-widget { display:block; }
  .fl-header .fl-header-main .fl-header-nav { display:none; order:10; width:100%; flex-basis:100%; max-height:calc(100svh - 155px); overflow-y:auto; overscroll-behavior:contain; }
  .fl-header.is-menu-open .fl-header-main .fl-header-nav { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .fl-header-nav > .elementor-widget { width:100%; flex:none; }
  :is(.fl-nav-heading) { border-bottom:1px solid rgba(255,255,255,.14); justify-content:space-between; }
  :is(.fl-nav-parent) { flex:1; min-height:50px; }
  :is(.fl-submenu-toggle) { width:48px; min-height:48px; }
  :is(.fl-mega-menu) { position:static; display:none; transform:none; grid-template-columns:1fr; max-height:none; }
  .fl-nav-dropdown.is-open .fl-mega-menu { display:grid; }
  :is(.fl-mega-story,.fl-mega-image) { display:none; }
  :is(.fl-mega-tours) { padding:18px; border:0; }
  :is(.fl-mega-tours > a) { font-size:13px; }
  .elementor-editor-active .fl-header .fl-header-main .fl-header-nav { display:flex; flex-direction:column; max-height:none; overflow:visible; }
}
@media(max-width:767px) { .fl-header-utility .fl-hours { display:none; } :is(.fl-plan-button .elementor-button) { white-space:nowrap; } }
/* Intrinsic grid height prevents clipping when titles wrap on small screens. */
:is(.flowers-hero) { --fl-hero-height:720px; --fl-hero-shade:rgba(6,21,15,.74); position:relative; display:grid; min-height:var(--fl-hero-height); color:#fff; background:#19362b; isolation:isolate; overflow:hidden; }
:is(.flowers-hero[data-fullscreen="true"]) { min-height:100svh; }
:is(.flowers-hero-slide) { position:relative; display:grid; grid-area:1/1; visibility:hidden; opacity:0; pointer-events:none; transition:opacity .85s ease,visibility .85s; }
:is(.flowers-hero-slide.is-active) { visibility:visible; opacity:1; pointer-events:auto; z-index:1; }
.flowers-hero .flowers-hero-image { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
:is(.flowers-hero-overlay) { position:absolute; inset:0; background:linear-gradient(0deg,var(--fl-hero-shade),rgba(6,21,15,.08) 75%); }
:is(.flowers-hero-layout) { position:relative; display:flex; align-items:flex-end; justify-content:flex-end; min-height:inherit; padding:180px clamp(28px,6vw,120px) 120px; }
:is(.flowers-hero-copy) { width:100%; max-width:730px; padding:0; }
:is(.flowers-hero-kicker) { display:block; margin-bottom:20px; font:500 12px/1.7 Montserrat,sans-serif; text-transform:uppercase; letter-spacing:.2em; }
:is(.flowers-hero-title) { margin:0 0 24px; font:400 clamp(40px,4.2vw,76px)/1.09 Georgia,serif; letter-spacing:-.025em; color:inherit; text-wrap:balance; }
:is(.flowers-hero-copy p) { margin:0; max-width:650px; font:400 clamp(15px,1.3vw,20px)/1.65 Montserrat,sans-serif; color:inherit; }
:is(.flowers-hero-actions) { display:flex; flex-wrap:wrap; gap:30px; margin-top:30px; }
:is(.flowers-hero-actions a) { display:inline-flex; align-items:center; gap:12px; padding:9px 0; color:inherit; font:500 14px/1.5 Montserrat,sans-serif; border-bottom:1px solid rgba(255,255,255,.4); border-radius:0; transition:border-color .25s,background .25s; }
:is(.flowers-hero-actions a:hover) { border-color:#fff; background:rgba(255,255,255,.07); }
:is(.flowers-hero-actions a span) { font-size:28px; line-height:1; }
:is(.flowers-hero-controls) { position:absolute; left:clamp(24px,6vw,120px); bottom:32px; right:clamp(24px,6vw,120px); z-index:3; display:flex; align-items:center; justify-content:flex-end; gap:14px; }
:is(.flowers-hero-arrow,.flowers-hero-pause) { display:grid; place-items:center; padding:0; width:44px; height:44px; border:1px solid rgba(255,255,255,.45); border-radius:0; background:transparent; box-shadow:none; color:inherit; cursor:pointer; }
:is(.flowers-hero-arrow:hover,.flowers-hero-pause:hover) { background:rgba(255,255,255,.1); color:#fff; border-color:#fff; }
:is(.flowers-hero-arrow svg) { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.3; }
:is(.flowers-hero-dots) { display:flex; align-items:center; gap:4px; }
:is(.flowers-hero-dots button) { position:relative; width:32px; height:44px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:inherit; cursor:pointer; }
:is(.flowers-hero-dots button)::after { content:''; position:absolute; left:4px; right:4px; top:21px; height:2px; background:currentColor; opacity:.4; transition:opacity .2s; }
:is(.flowers-hero-dots button.is-active)::after { opacity:1; }
:is(.flowers-hero-pause) { font:400 16px/1 sans-serif; }
@media(max-width:1024px) { :is(.flowers-hero-layout) { padding:150px 40px 115px; } :is(.flowers-hero-copy) { max-width:620px; } }
@media(max-width:767px) {
  :is(.flowers-hero-layout) { padding:155px 24px 112px; align-items:flex-end; }
  :is(.flowers-hero-title) { font-size:42px; }
  :is(.flowers-hero-kicker) { margin-bottom:14px; font-size:10px; }
  :is(.flowers-hero-actions) { gap:12px 24px; margin-top:22px; }
  :is(.flowers-hero-actions a) { font-size:12px; }
  :is(.flowers-hero-controls) { justify-content:flex-start; bottom:26px; }
}
@media(prefers-reduced-motion:reduce) { .fl-header,.fl-header *,.flowers-hero * { transition-duration:0s; animation:none; scroll-behavior:auto; } }
