/* Additions for the static site: what the WordPress scripts used to do, and the new mobile menu. Author: Studios 76 LLC */

/* Icons are inline SVG (were icon fonts) */
svg.e-font-icon-svg{width:1em;height:1em;fill:currentColor;display:inline-block;vertical-align:middle}
.elementor-icon-list-icon svg.e-font-icon-svg{width:var(--e-icon-list-icon-size,1em);height:var(--e-icon-list-icon-size,1em)}
.elementor-icon svg.e-font-icon-svg{width:1em;height:1em;position:relative;display:block}
.elementor-social-icon svg.e-font-icon-svg{width:var(--icon-size,25px);height:var(--icon-size,25px)}
.elementor-nav-menu .sub-arrow svg.e-font-icon-svg{width:.85em;height:.85em}
.elementor-menu-toggle svg.e-font-icon-svg{width:var(--nav-menu-icon-size,22px);height:var(--nav-menu-icon-size,22px)}
.e-n-accordion-item-title-icon svg.e-font-icon-svg,.e-n-accordion-item-title-icon svg{width:var(--n-accordion-icon-size,15px);height:var(--n-accordion-icon-size,15px);fill:var(--n-accordion-icon-normal-color,currentColor)}
.elementor-swiper-button svg.e-font-icon-svg{width:1em;height:1em}

/* Desktop menu: dropdowns open on mouse-over and keyboard focus */
.elementor-nav-menu--main .elementor-nav-menu li.menu-item-has-children{position:relative}
.elementor-nav-menu--main .elementor-nav-menu li.menu-item-has-children:hover>ul,
.elementor-nav-menu--main .elementor-nav-menu li.menu-item-has-children:focus-within>ul,
.elementor-nav-menu--main .elementor-nav-menu li.menu-item-has-children.s76-open>ul{z-index:9998;width:max-content;min-width:12em;max-width:22em;display:block;top:100%;left:0}
.elementor-nav-menu--main .elementor-nav-menu li.menu-item-has-children>ul::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:20px}
.elementor-menu-toggle{cursor:pointer}
.elementor-menu-toggle:focus-visible{outline:2px solid;outline-offset:2px}
/* the old Elementor dropdown is replaced by the full-screen menu below */
.elementor-nav-menu--dropdown.elementor-nav-menu__container{display:none!important}

/* Sticky header */
[data-elementor-type=header]{position:sticky;top:0;z-index:99}

/* Entrance animations: if the script does not run, show everything */
html:not(.s76-js) .elementor-invisible{visibility:visible}

/* ---------- New mobile menu (full screen) ---------- */
.s76-mnav{position:fixed;inset:0;z-index:100000;background:#141414;color:#fff;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.s76-mnav.is-open{opacity:1;visibility:visible}
html.s76-mnav-open{overflow:hidden}
.s76-mnav__top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.12);min-height:64px}
.s76-mnav__logo img{height:44px;width:auto;display:block}
.s76-mnav__close{appearance:none;background:none;border:0;color:#fff;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;border-radius:50%}
.s76-mnav__close svg{width:24px;height:24px;fill:currentColor}
.s76-mnav__close:focus-visible,.s76-mnav a:focus-visible,.s76-mnav button:focus-visible{outline:2px solid #c77dff;outline-offset:2px}
.s76-mnav__list{list-style:none;margin:0;padding:8px 0;flex:1 0 auto}
.s76-mnav__list li{margin:0;border-bottom:1px solid rgba(255,255,255,.08)}
.s76-mnav__list a,.s76-mnav__list .s76-mnav__parent{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;padding:0 20px;color:#fff;text-decoration:none;font-family:"DM Sans",sans-serif;font-size:19px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:none;border:0;cursor:pointer;text-align:left}
.s76-mnav__list a:hover,.s76-mnav__list .s76-mnav__parent:hover{color:#c77dff}
.s76-mnav__list a[aria-current=page]{color:#c77dff}
.s76-mnav__parent svg{width:14px;height:14px;fill:currentColor;transition:transform .2s}
.s76-mnav__parent[aria-expanded=true] svg{transform:rotate(180deg)}
.s76-mnav__sub{list-style:none;margin:0;padding:0 0 8px;background:rgba(255,255,255,.04)}
.s76-mnav__sub[hidden]{display:none}
.s76-mnav__sub li{border:0}
.s76-mnav__sub a{min-height:48px;padding-left:36px;font-size:16px;font-weight:500;text-transform:none}
.s76-mnav__foot{padding:16px 16px calc(16px + env(safe-area-inset-bottom));display:grid;gap:12px}
.s76-mnav__lang{display:flex;gap:8px}
.s76-mnav__lang a{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid rgba(255,255,255,.3);color:#fff;text-decoration:none;font-weight:600;font-family:"DM Sans",sans-serif}
.s76-mnav__lang a[aria-current=true]{background:#fff;color:#141414;border-color:#fff}
.s76-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 18px;font-family:"DM Sans",sans-serif;font-size:17px;font-weight:700;text-transform:uppercase;text-decoration:none;border:2px solid var(--e-global-color-primary,#8800BD);color:#fff;background:var(--e-global-color-primary,#8800BD)}
.s76-btn--ghost{background:transparent;border-color:#fff}
.s76-btn svg{width:18px;height:18px;fill:currentColor}

/* ---------- Bottom bar on phones and tablets: Call / Reserve ---------- */
.s76-mbar{display:none}
@media (max-width:1024px){
  .s76-mbar{position:fixed;left:0;right:0;bottom:0;z-index:9990;display:grid;grid-template-columns:1fr 1fr;background:#141414;box-shadow:0 -2px 12px rgba(0,0,0,.25);padding-bottom:env(safe-area-inset-bottom);transition:transform .25s}
  .s76-mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;color:#fff;text-decoration:none;font-family:"DM Sans",sans-serif;font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.3px}
  .s76-mbar a svg{width:18px;height:18px;fill:currentColor}
  .s76-mbar a+a{background:var(--e-global-color-primary,#8800BD)}
  .s76-mbar.is-hidden{transform:translateY(110%)}
  body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}
  .plc-preferences-btn{bottom:calc(68px + env(safe-area-inset-bottom))!important}
  .plc-popup{bottom:calc(68px + env(safe-area-inset-bottom))!important}
  .elementor-menu-toggle{min-width:44px;min-height:44px;display:flex!important;align-items:center;justify-content:center}
}

/* ---------- Nested accordion (FAQ, steps) ---------- */
.e-n-accordion-item>summary{cursor:pointer}
.e-n-accordion-item>summary::-webkit-details-marker{display:none}

/* ---------- Carousels: native scrolling with snap points instead of Swiper ---------- */
.s76-carousel{overflow:hidden}
.s76-carousel>.swiper-wrapper{gap:var(--s76-gap,0px);scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto;transform:none!important}
.s76-carousel>.swiper-wrapper::-webkit-scrollbar{display:none}
.s76-carousel>.swiper-wrapper>.swiper-slide{flex:0 0 calc((100% - (var(--s76-per,1) - 1) * var(--s76-gap,0px)) / var(--s76-per,1));scroll-snap-align:start;height:auto;margin:0!important}
.swiper-pagination-bullet{cursor:pointer}

/* ---------- Gallery (masonry) ---------- */
.s76-masonry{columns:var(--s76-cols,3);column-gap:var(--s76-ggap,10px);display:block!important;height:auto!important}
.s76-masonry .e-gallery-item{display:block;break-inside:avoid;margin:0 0 var(--s76-ggap,10px)!important;position:relative!important;width:auto!important;top:auto!important;left:auto!important;overflow:hidden}
.s76-masonry .s76-gimg{display:block;width:100%;height:auto;position:static!important;padding:0!important;background:none!important}
@media (max-width:1024px){.s76-masonry{--s76-cols:2}}
@media (max-width:767px){.s76-masonry{--s76-cols:1}}

/* ---------- Picture lightbox (was the Elementor lightbox) ---------- */
.s76-lightbox{position:fixed;inset:0;z-index:100001;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;padding:56px 56px 72px}
.s76-lightbox img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.s76-lightbox button{position:absolute;appearance:none;border:0;background:transparent;color:#eee;width:48px;height:48px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}
.s76-lightbox button svg{width:28px;height:28px;fill:currentColor}
.s76-lightbox .s76-lb-close{top:8px;right:8px}
.s76-lightbox .s76-lb-prev{left:4px;top:50%;margin-top:-24px}
.s76-lightbox .s76-lb-next{right:4px;top:50%;margin-top:-24px}
.s76-lightbox .s76-lb-cap{position:absolute;left:16px;right:16px;bottom:12px;color:#ddd;font-size:14px;text-align:center;font-family:"DM Sans",sans-serif}
html.s76-lightbox-open{overflow:hidden}
@media (max-width:767px){.s76-lightbox{padding:56px 8px 72px}.s76-lightbox .s76-lb-prev,.s76-lightbox .s76-lb-next{top:auto;bottom:8px;margin:0}}

/* ---------- Forms ---------- */
.s76-form-status{flex-basis:100%;margin:12px 0 0;font-size:15px}
.s76-form-status:empty{display:none}
.s76-form-status.is-error{color:#a12626}
.s76-gform [type=submit][disabled]{opacity:.6;cursor:progress}
.s76-turnstile{min-height:65px;margin:10px 0}
.s76-turnstile--quiet{min-height:0;margin:0}
.gform_wrapper .gform_validation_container{display:none!important;position:absolute!important;left:-9000px}
.gform_wrapper input[type=date]{min-height:var(--gf-ctrl-size,38px)}

/* Google reviews (Trustindex look, static) */
.ti-widget .ti-s76-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.ti-widget .ti-read-more{display:inline-block;margin-top:6px;cursor:pointer;opacity:.6;text-decoration:underline;font-size:13px}
.ti-widget .ti-reviews-container-wrapper{display:flex;gap:0;align-items:flex-start}
.ti-widget .ti-column{flex:1 1 0;min-width:0}

/* Star ratings (were drawn with the Font Awesome font) */
.elementor--star-style-star_fontawesome .elementor-star-rating i:after,.elementor--star-style-star_fontawesome .elementor-star-rating i:before{font-family:Arial,sans-serif!important;content:"\2605"!important}

/* Background slideshow (hero) */
.s76-bgshow{overflow:hidden}
.s76-bgshow .s76-bgslide{position:absolute;inset:0;opacity:0;overflow:hidden}
.s76-bgshow .s76-bgslide.is-active{opacity:1;z-index:1}
.s76-bgshow--fade .s76-bgslide{transition:opacity var(--s76-speed,500ms)}
.s76-bgshow--slide_right .s76-bgslide.is-active,.s76-bgshow--slide_left .s76-bgslide.is-active{transition:transform var(--s76-speed,500ms) ease;transform:none}
.s76-bgshow--slide_right .s76-bgslide.is-entering{transform:translateX(-100%);transition:none}
.s76-bgshow--slide_left .s76-bgslide.is-entering{transform:translateX(100%);transition:none}
.elementor-motion-effects-container{position:absolute;inset:0;overflow:hidden}
.elementor-motion-effects-layer{position:absolute;inset:0;background-size:cover;background-position:center;will-change:filter}

/* Footer social icons: Instagram and YouTube were white on white on WordPress; same purple as Facebook */
.elementor-social-icon-instagram svg.e-font-icon-svg,.elementor-social-icon-youtube svg.e-font-icon-svg{fill:var(--e-global-color-primary,#8800BD)!important}
.s76-masonry.s76-masonry--cols{columns:auto;display:flex!important;gap:var(--s76-ggap,10px);align-items:flex-start}
.s76-masonry--cols>.s76-mcol{flex:1 1 0;min-width:0}
.s76-mnav button.s76-mnav__close,.s76-mnav button.s76-mnav__parent{background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important;border-radius:0}
.s76-mnav button.s76-mnav__close{border-radius:50%}
.s76-mnav button.s76-mnav__parent:hover{color:#c77dff!important}
.s76-mnav a.s76-btn,.s76-mnav a.s76-btn:hover,.s76-mbar a,.s76-mbar a:hover{color:#fff!important}
.s76-mnav .s76-mnav__lang a[aria-current=true]{color:#141414!important}
html.s76-mnav-open #plc-preferences-btn,html.s76-mnav-open .s76-mbar{display:none!important;visibility:hidden!important}
