/* ONsite Shine — small site-wide polish for Elementor pages (≈2 KB).
   Add these classes in Elementor → Advanced → CSS Classes:
     os-card     card that lifts on hover with a blue border
     os-img      image that gently zooms on hover
     os-section  soft grey section background
     os-tint     light blue section background                                  */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:root{--os-blue:#0061ff;--os-blue-dark:#0049c2;--os-blue-bg:#f0f5ff;--os-bg:#f3f3f5;--os-border:#ececee;--os-text:#111827;--os-text-2:#5f6673;--os-ease:cubic-bezier(.2,.7,.2,1)}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--os-text);-webkit-font-smoothing:antialiased}

/* Buttons: slight lift, darker blue, subtle blue shadow */
.elementor-button{transition:transform 240ms var(--os-ease),box-shadow 240ms var(--os-ease),background-color 240ms,color 240ms,border-color 240ms;box-shadow:0 4px 14px rgba(0,97,255,.18)}
.elementor-button:hover,.elementor-button:focus-visible{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,73,194,.26)}
.os-btn-ghost .elementor-button{box-shadow:none}

/* Cards */
.os-card{background:#fff;border:1px solid var(--os-border);border-radius:16px;box-shadow:0 1px 2px rgba(17,24,39,.04),0 4px 14px rgba(17,24,39,.06);
	transition:transform 260ms var(--os-ease),box-shadow 260ms var(--os-ease),border-color 260ms;overflow:hidden}
.os-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(17,24,39,.10),0 2px 6px rgba(17,24,39,.06);border-color:rgba(0,97,255,.4)}

/* Images */
.os-img{overflow:hidden;border-radius:16px}
.os-img img{transition:transform 450ms var(--os-ease);display:block}
.os-img:hover img,.os-card:hover .os-img img{transform:scale(1.04)}

.os-section{background:var(--os-bg)}
.os-tint{background:var(--os-blue-bg)}

/* Header (Hello Elementor) */
.site-header{position:static;background:#fff;border-bottom:1px solid var(--os-border)}
.site-header .site-logo img,.site-footer .site-logo img{max-height:44px;width:auto}
.site-navigation ul.menu li a{font-weight:600;color:var(--os-text)}
.site-navigation ul.menu li a:hover,.site-navigation ul.menu li.current-menu-item>a{color:var(--os-blue)}
.site-navigation ul.menu li.os-nav-cta>a{background:var(--os-blue);color:#fff!important;border-radius:10px;padding:10px 18px;margin-left:8px;transition:background 240ms,transform 240ms var(--os-ease)}
.site-navigation ul.menu li.os-nav-cta>a:hover{background:var(--os-blue-dark);transform:translateY(-1px)}
.site-footer{border-top:1px solid var(--os-border)}

/* Accordion / Toggle (FAQ) */
.elementor-accordion .elementor-accordion-item,.elementor-toggle .elementor-toggle-item{border:1px solid var(--os-border)!important;border-radius:16px;margin-bottom:10px;overflow:hidden;background:#fff}
.elementor-accordion .elementor-tab-title,.elementor-toggle .elementor-tab-title{border:0!important;font-weight:600}
.elementor-accordion .elementor-tab-content,.elementor-toggle .elementor-tab-content{border:0!important}

@media (prefers-reduced-motion:reduce){
	.elementor-button,.os-card,.os-img img,.site-navigation a{transition:none!important}
	.elementor-button:hover,.os-card:hover,.os-img:hover img,.os-card:hover .os-img img{transform:none!important}
}

/* Booking widget always uses the full width of its section, whatever the Elementor widget width is set to. */
.elementor-widget-shortcode:has(.osb-root){width:100%!important;max-width:100%!important;flex:1 1 100%!important}

/* Elementor buttons site-wide: icon and text on one line. */
.elementor-button .elementor-button-content-wrapper{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center;gap:8px}
.elementor-button .elementor-button-icon{display:inline-flex!important;align-items:center;flex:0 0 auto}
.elementor-button .elementor-button-icon svg{width:1em;height:1em}
@media (min-width:768px){.elementor-button .elementor-button-text{white-space:nowrap}}
