/*
 * First Track theme components: header, navigation, footer, reviews.
 * Colours come from the Elementor kit (Site Settings > Global Colors).
 */
:root{--ft-blue:var(--e-global-color-vamtam_accent_1,#375A8F);--ft-gold:var(--e-global-color-vamtam_accent_2,#C8A570);--ft-sand:var(--e-global-color-vamtam_accent_3,#F6F5F2);--ft-brown:var(--e-global-color-vamtam_accent_4,#836A46);--ft-line:var(--e-global-color-vamtam_accent_7,rgba(0,0,0,.1));--ft-text:var(--e-global-color-vamtam_accent_6,#000);--ft-header-h:84px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.elementor-menu-anchor,[id]:target{scroll-margin-top:calc(var(--ft-header-h) + 12px)}
.ft-site-header{position:sticky;top:0;z-index:1000;transition:box-shadow .25s}
.ft-scrolled .ft-site-header{box-shadow:0 4px 18px rgba(0,0,0,.08)}
.admin-bar .ft-site-header{top:32px}
@media (max-width:782px){.admin-bar .ft-site-header{top:46px}}
@media (max-width:600px){.admin-bar .ft-site-header{top:0}}
.ft-site-header .ft-header-bar>.e-con-inner{flex-wrap:nowrap}
.ft-site-header .ft-header-logo img{max-height:56px;width:auto;object-fit:contain}
.ft-site-header .ft-header-nav{min-width:0}
/* GTranslate */
.ft-lang select,.ft-drawer__lang select{font:500 14px/1.2 "Work Sans",sans-serif;color:var(--ft-blue);background:#fff;border:1px solid var(--ft-line);border-radius:30px;padding:8px 32px 8px 14px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23375A8F' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}
/* Online button green pulse */
.ft-online-btn .elementor-button{position:relative;overflow:visible}
.ft-online-btn .elementor-button::before,.ft-online-btn .elementor-button::after{content:"";position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:50%;background:#32CD32}
.ft-online-btn .elementor-button::before{z-index:2}
.ft-online-btn .elementor-button::after{z-index:1;animation:ft-wave 2s infinite ease-out}
@keyframes ft-wave{0%{transform:scale(1);opacity:.8}100%{transform:scale(3.2);opacity:0}}
/* Desktop menu */
.ft-nav{display:flex;align-items:center;justify-content:center;position:relative}
.ft-nav__desktop{display:flex;justify-content:center;width:100%}
.ft-menu,.ft-menu ul{list-style:none;margin:0;padding:0}
.ft-menu{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center}
.ft-menu li{position:relative;margin:0}
.ft-menu a{display:inline-flex;align-items:center;gap:6px;font:500 15px/1.2 "Work Sans",sans-serif;letter-spacing:-.3px;color:var(--ft-blue);text-decoration:none;white-space:nowrap}
.ft-menu>li>a{padding:11px 16px;border-radius:30px;transition:background-color .2s,color .2s}
.ft-menu>li>a:hover,.ft-menu>li>a:focus-visible{background:var(--ft-sand);color:var(--ft-blue)}
.ft-menu>li.menu-item-has-children>a::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-3px 0 0 2px}
.ft-menu .sub-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:230px;background:#fff;border:1px solid var(--ft-line);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.1);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:50}
.ft-menu li:hover>.sub-menu,.ft-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.ft-menu .sub-menu a{display:block;padding:10px 14px;border-radius:10px;white-space:normal}
.ft-menu .sub-menu a:hover{background:var(--ft-sand)}
/* Toggle + drawer */
/* The Elementor kit styles every <button> (pill radius, padding, accent background); these resets carry an `html` prefix to outrank it. */
html .ft-nav__toggle,html .ft-drawer__close,html .ft-nav__sub-toggle{background-color:transparent;background-image:none;border:0;box-shadow:none;min-width:0;min-height:0;line-height:1;font-size:0}
html .ft-nav__toggle{width:44px;height:44px;padding:10px;border-radius:10px}
html .ft-nav__toggle span{width:24px;height:2px}
html .ft-drawer__close{width:40px;height:40px;padding:0;border-radius:50%;background-color:var(--ft-sand)}
html .ft-nav__sub-toggle{width:40px;height:40px;padding:0;border-radius:0}
.ft-nav__toggle{display:none;width:44px;height:44px;padding:10px;border:0;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;border-radius:10px}
.ft-nav__toggle span{display:block;height:2px;width:100%;background:var(--ft-blue);border-radius:2px;transition:transform .25s,opacity .25s}
.ft-nav__toggle:hover{background:var(--ft-sand)}
.ft-nav__backdrop{position:fixed;inset:0;background:rgba(20,30,50,.45);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;z-index:99998}
.ft-nav__drawer{position:fixed;top:0;right:0;height:100dvh;width:min(380px,88vw);background:#fff;z-index:99999;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.15);visibility:hidden}
.ft-nav-open .ft-nav__drawer{transform:none;visibility:visible}
.ft-nav-open .ft-nav__backdrop{opacity:1;visibility:visible}
.ft-nav-open{overflow:hidden}
.ft-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ft-line)}
.ft-drawer__head .ft-logo img,.ft-drawer__head .ft-logo-img{max-height:40px;width:auto;max-width:150px}
.ft-drawer__close{width:40px;height:40px;border:0;border-radius:50%;background:var(--ft-sand);color:var(--ft-blue);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.ft-drawer__body{padding:8px 20px 32px;overflow-y:auto;flex:1}
.ft-menu--mobile{display:block}
.ft-menu--mobile li{border-bottom:1px solid var(--ft-line)}
.ft-menu--mobile>li{display:flex;flex-wrap:wrap;align-items:center}
.ft-menu--mobile a{flex:1;padding:15px 0;font-size:17px;border-radius:0;white-space:normal}
.ft-menu--mobile>li>a::after{display:none}
.ft-menu--mobile .current-menu-item>a{color:var(--ft-brown)}
.ft-nav__sub-toggle{width:40px;height:40px;border:0;background:transparent;color:var(--ft-blue);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s}
.ft-menu--mobile li.is-open>.ft-nav__sub-toggle{transform:rotate(180deg)}
.ft-menu--mobile .sub-menu{position:static;display:none;width:100%;min-width:0;background:transparent;border:0;box-shadow:none;padding:0 0 8px 16px;opacity:1;visibility:visible;transform:none;transition:none}
.ft-menu--mobile li.is-open>.sub-menu{display:block}
.ft-menu--mobile .sub-menu li{border:0}
.ft-menu--mobile .sub-menu a{padding:10px 0;font-size:15px}
.ft-has-toggle select{display:none}
.ft-lang-toggle{display:inline-flex;align-items:center;gap:2px;padding:3px;background:#fff;border:1px solid var(--ft-line);border-radius:30px}
html .ft-lang-toggle__btn{min-width:44px;min-height:0;padding:7px 12px;border:0;border-radius:30px;box-shadow:none;background:transparent;color:var(--ft-blue);font:500 13px/1.2 "Work Sans",sans-serif;letter-spacing:0;cursor:pointer;transition:background-color .2s,color .2s}
html .ft-lang-toggle__btn:hover,html .ft-lang-toggle__btn:focus-visible{background:var(--ft-sand);color:var(--ft-blue)}
html .ft-lang-toggle__btn.is-active{background:var(--ft-blue);color:#fff}
.ft-drawer__lang .ft-lang-toggle{display:flex}
.ft-drawer__lang .ft-lang-toggle__btn{flex:1;padding:10px 12px;font-size:15px}
.ft-drawer__lang{margin:20px 0 0}
.ft-drawer__lang select{width:100%}
.ft-drawer__btn{display:flex;justify-content:center;align-items:center;margin:16px 0 0;padding:14px 20px;border-radius:30px;background:var(--ft-blue);color:#fff!important;font:500 15px/1 "Work Sans",sans-serif;text-decoration:none}
.ft-drawer__btn:hover{background:var(--ft-gold)}
.ft-drawer__contact{display:flex;flex-direction:column;gap:6px;margin:24px 0 0;padding-top:20px;border-top:1px solid var(--ft-line)}
.ft-drawer__contact a{font:400 15px/1.4 "Work Sans",sans-serif;color:var(--ft-text);text-decoration:none;opacity:.8}
.ft-drawer__contact a:hover{color:var(--ft-blue);opacity:1}
@media (max-width:1024px){
	.ft-nav__desktop{display:none}
	.ft-nav{justify-content:flex-end}
	.ft-nav__toggle{display:flex}
	/* The nav is only the menu icon here: let it shrink so the header buttons sit beside it on the right. */
	.ft-site-header .ft-header-bar .ft-header-nav{flex:0 0 auto}
	.ft-site-header .ft-header-bar .ft-header-nav~.e-con{margin-left:auto}
	:root{--ft-header-h:72px}
}
@media (max-width:767px){
	:root{--ft-header-h:64px}
	.ft-site-header .ft-online-btn .elementor-button{font-size:12px}
	.ft-site-header .ft-header-logo img{max-height:44px}
}
/* Fallback header (only when the Elementor template is missing) */
.ft-header-bar--fallback{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1600px;margin:0 auto;padding:14px 30px;background:#fff;border-bottom:1px solid var(--ft-line)}
.ft-header-bar--fallback .ft-logo img{max-height:56px;width:auto}
/* Footer */
.ft-footer .ft-accent{color:var(--ft-gold)}
.ft-footer .elementor-widget-text-editor a{color:var(--ft-text);text-decoration:none}
.ft-footer .elementor-widget-text-editor a:hover{color:var(--ft-blue)}
.ft-footer .elementor-widget-text-editor p{margin-bottom:0}
.ft-copyright{font:400 14px/1.4 "Work Sans",sans-serif;color:var(--ft-text);opacity:.75}

/* ---------------------------------------------------------------------- */
/* Button icon chip: icon sits outside the label, second copy slides in on hover. */
/* ---------------------------------------------------------------------- */
[class*=" vamtam-theme-"]{line-height:1}
.elementor-widget-button.ft-btn-chip--hover .elementor-button :is(.ft-btn-icon,.ft-btn-icon-abs){display:block;transition:transform .4s cubic-bezier(.23,1,.32,1)}
.elementor-widget-button.ft-btn-chip--hover .elementor-button .ft-btn-icon-wrap{overflow:hidden;position:relative}
.elementor-widget-button.ft-btn-chip--hover .elementor-button .ft-btn-icon{position:relative}
.elementor-widget-button.ft-btn-chip--hover .elementor-button .ft-btn-icon-abs{position:absolute;top:0;transform:translateY(calc(100% + 3px))}
.elementor-widget-button.ft-btn-chip--hover .elementor-button:hover .ft-btn-icon{transform:translate(0,calc(-100% - 3px))}
.elementor-widget-button.ft-btn-chip--hover .elementor-button:hover .ft-btn-icon-abs{transform:translate(0,0)}
.elementor-widget-button.ft-btn-chip.ft-btn-chip--outside .ft-btn-icon-wrap{position:absolute;inset-inline-start:calc(100% + var(--ft-gap,0px))}
@media (prefers-reduced-motion:reduce){.elementor-widget-button.ft-btn-chip--hover .elementor-button :is(.ft-btn-icon,.ft-btn-icon-abs){transition:none}}

/* ---------------------------------------------------------------------- */
/* Google reviews plugin widget ([grw]): review cards only, without the     */
/* overall-rating summary column. Delete this rule to show the summary.     */
/* ---------------------------------------------------------------------- */
.wp-gr .grw-header{display:none!important}
.wp-gr .grw-content{flex:1 1 100%;max-width:100%;min-width:0}

/* ---------------------------------------------------------------------- */
/* Plain (non-Elementor) pages and 404                                      */
/* ---------------------------------------------------------------------- */
.ft-prose{max-width:820px;margin:0 auto;padding:64px 24px 96px;color:var(--ft-text)}
.ft-prose .ft-page-title{margin:0 0 .6em}
.ft-prose a{color:var(--ft-blue);text-decoration:underline}
.ft-prose img{max-width:100%;height:auto}
.ft-notfound{max-width:640px;margin:0 auto;padding:120px 24px 140px;text-align:center}
.ft-notfound__code{margin:0;font:500 15px/1 "Work Sans",sans-serif;letter-spacing:.12em;color:var(--ft-brown)}
.ft-notfound__title{margin:.5em 0 .4em;color:var(--ft-blue)}
.ft-notfound__text{margin:0 0 2em;color:var(--ft-text);opacity:.75}
.ft-notfound__btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 28px;border-radius:100px;background:var(--ft-blue);color:#fff;font:500 15px/1 "Work Sans",sans-serif}
.ft-notfound__btn:hover{background:var(--ft-gold);color:var(--ft-blue)}
.ft-footer-fallback{padding:32px 24px;text-align:center;border-top:1px solid var(--ft-line)}

/* ---------------------------------------------------------------------- */
/* Reviews: [ft_reviews]                                                    */
/* ---------------------------------------------------------------------- */
.ft-reviews{--ft-reviews-gap:20px;--ft-reviews-cols:3;position:relative;width:100%}
.ft-reviews__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--ft-reviews-cols) - 1) * var(--ft-reviews-gap)) / var(--ft-reviews-cols));gap:var(--ft-reviews-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px;margin:-4px}
.ft-reviews__track::-webkit-scrollbar{display:none}
.ft-reviews__track:focus-visible{outline:2px solid var(--ft-blue);outline-offset:4px;border-radius:20px}
.ft-review{scroll-snap-align:start;display:flex;flex-direction:column;gap:14px;padding:28px;background:#fff;border:1px solid var(--ft-line);border-radius:20px;text-align:left}
.ft-review__head{display:flex;align-items:center;gap:12px}
.ft-review .ft-review__avatar{flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--ft-sand)}
.ft-review__avatar--initial{display:inline-flex;align-items:center;justify-content:center;font:500 18px/1 "Work Sans",sans-serif;color:var(--ft-blue)}
.ft-review__who{display:flex;flex-direction:column;gap:3px;min-width:0}
.ft-review__name{font:500 16px/1.2 "Work Sans",sans-serif;letter-spacing:-.2px;color:var(--ft-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ft-review__date{font:400 13px/1.2 "Work Sans",sans-serif;color:var(--ft-text);opacity:.6}
.ft-review__stars{display:flex;gap:3px}
.ft-review__star{display:inline-flex;color:var(--ft-line)}
.ft-review__star svg{display:block;fill:currentColor}
.ft-review__star.is-on{color:var(--ft-gold)}
.ft-review__text{margin:0;font:400 15px/1.55 "Work Sans",sans-serif;color:var(--ft-text);opacity:.85;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;line-clamp:7;overflow:hidden}
.ft-review.is-open .ft-review__text{display:block;-webkit-line-clamp:unset;line-clamp:unset}
.ft-review__more,.ft-review__link{align-self:flex-start;margin-top:auto;font:500 14px/1.2 "Work Sans",sans-serif;color:var(--ft-blue);text-decoration:underline;text-underline-offset:3px}
html .ft-review__more{padding:0;border:0;border-radius:0;background:none;color:var(--ft-blue);cursor:pointer}
html .ft-review__more:hover,.ft-review__link:hover{background:none;color:var(--ft-brown)}
.ft-review__more + .ft-review__link{margin-top:0}
.ft-reviews__nav{display:flex;justify-content:center;gap:10px;margin-top:28px}
html .ft-reviews__btn{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:1px solid var(--ft-line);border-radius:50%;background:#fff;color:var(--ft-blue);cursor:pointer;transition:background-color .2s,color .2s,opacity .2s}
html .ft-reviews__btn:hover{background:var(--ft-blue);color:#fff}
html .ft-reviews__btn[disabled]{opacity:.35;cursor:default;background:#fff;color:var(--ft-blue)}
.ft-reviews__btn--prev svg{transform:scaleX(-1)}
.ft-reviews.is-static .ft-reviews__nav{display:none}
@media (max-width:1024px){.ft-reviews{--ft-reviews-cols:2}}
@media (max-width:767px){.ft-reviews{--ft-reviews-cols:1.12;--ft-reviews-gap:14px}.ft-review{padding:22px}}
@media (prefers-reduced-motion:no-preference){.ft-reviews__track{scroll-behavior:smooth}}
