/* VITALO — motion & hover, mirrors the static HTML reference */
:root{ --vt-ease:cubic-bezier(.2,.7,.3,1); }

/* Card: hairline goes accent on hover, image zooms */
[id^="vt-card-"]{ transition:border-color .35s var(--vt-ease); }
[id^="vt-card-"] .elementor-widget-image img{ transition:transform .6s cubic-bezier(.16,1,.3,1); }
[id^="vt-card-"]:hover .elementor-widget-image img{ transform:scale(1.03); }

/* Arrow text-link: glyph slides, label never changes colour */
.vt-arrow .elementor-button{ transition:none; }
.vt-arrow .elementor-button-icon{ transition:transform .35s var(--vt-ease); display:inline-block; }
.vt-arrow .elementor-button:hover .elementor-button-icon{ transform:translateX(6px); }

/* Buttons: ground change only, 0.3s */
.elementor-button{ transition:background-color .3s ease,color .3s ease,border-color .3s ease; border-radius:0!important; }

/* Zero radius + no shadows anywhere (design system rule) */
.elementor-widget-image img,.e-con,.elementor-widget{ border-radius:0!important; box-shadow:none!important; }

/* Partner logos: greyscale until hover */
.xpro-logo-grid-item img{ filter:grayscale(1); opacity:.5; transition:opacity .35s var(--vt-ease),filter .35s var(--vt-ease); }
.xpro-logo-grid-item:hover img{ opacity:.9; filter:grayscale(0); }

/* Business hours rows */
.xpro-business-hours-item{ border-bottom:1px solid #E4E0D8; }
.xpro-business-hours-item:last-child{ border-bottom:none; }

/* Editorial links keep their colour; the rule moves instead */
.elementor-widget-text-editor a{ color:inherit; border-bottom:1px solid #CBC6BC; transition:border-color .35s var(--vt-ease); }
.elementor-widget-text-editor a:hover{ border-bottom-color:#E9498C; }

/* Focus ring — accent, per the design system */
:focus-visible{ outline:2px solid #E9498C; outline-offset:3px; }
::selection{ background:#E9498C; color:#fff; }

@media (prefers-reduced-motion:reduce){ *,*::before,*::after{ transition-duration:.01ms!important; animation-duration:.01ms!important; } }

/* ===== WPFORMS BRAND (plugin defaults do not match the design system) ===== */
.wpforms-container .wpforms-field{padding:0 0 20px 0;}
.wpforms-container .wpforms-field-label{font-family:Figtree,sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#6E727C;margin-bottom:8px;}
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container input[type=tel],.wpforms-container select,.wpforms-container textarea{font-family:Figtree,sans-serif;font-size:16px;color:#22242A;background:#FAF9F6;border:1px solid #CBC6BC;border-radius:0 !important;padding:14px 16px;box-shadow:none !important;transition:border-color .35s cubic-bezier(.2,.7,.3,1);}
.wpforms-container input:focus,.wpforms-container select:focus,.wpforms-container textarea:focus{border-color:#E9498C !important;outline:none;box-shadow:none !important;}
.wpforms-container textarea{min-height:150px;resize:vertical;}
.wpforms-container .wpforms-field-description,.wpforms-container .wpforms-field-gdpr-checkbox label{font-family:Figtree,sans-serif;font-size:15px;color:#6E727C;line-height:1.55;}
.wpforms-container .wpforms-field-gdpr-checkbox a{color:#22242A;border-bottom:1px solid #CBC6BC;}
.wpforms-container .wpforms-field-gdpr-checkbox a:hover{border-bottom-color:#E9498C;}
.wpforms-container button[type=submit]{font-family:Figtree,sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:#22242A !important;color:#F4F2EE !important;border:1px solid #22242A !important;border-radius:0 !important;padding:17px 32px !important;box-shadow:none !important;transition:background-color .3s ease,border-color .3s ease;}
.wpforms-container button[type=submit]:hover{background:#2E313A !important;border-color:#2E313A !important;}
.wpforms-container .wpforms-required-label{color:#E9498C;}
.wpforms-container label.wpforms-error{color:#E9498C;font-size:14px;}
.wpforms-confirmation-container-full{background:#F2F0EA;border:1px solid #CBC6BC;border-radius:0;color:#22242A;}
/* Xpro header nav — inherits generic blue otherwise */
.xpro-theme-builder-header .xpro-menu > li > a{color:#22242A !important;font-family:Figtree,sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;position:relative;}
.xpro-theme-builder-header .xpro-menu > li > a:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:1px;background:#E9498C;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.3,1);}
.xpro-theme-builder-header .xpro-menu > li > a:hover:after,.xpro-theme-builder-header .xpro-menu > li.current-menu-item > a:after{transform:scaleX(1);}
.xpro-theme-builder-header .xpro-menu > li > a:hover{color:#22242A !important;}
/* Footer links: colour stays, hairline moves */
footer .elementor-icon-list-item a{color:#A9AAB0;border-bottom:1px solid transparent;transition:color .3s ease,border-color .35s cubic-bezier(.2,.7,.3,1);}
footer .elementor-icon-list-item a:hover{color:#F4F2EE;border-bottom-color:#E9498C;}
footer a{color:#A9AAB0;}footer a:hover{color:#F4F2EE;}

/* ===== WPFORMS TOKENS ===== */
.wpforms-container{
--wpforms-field-border-radius:0px;--wpforms-field-border-size:1px;
--wpforms-field-background-color:#FAF9F6;--wpforms-field-border-color:#CBC6BC;
--wpforms-field-text-color:#22242A;
--wpforms-label-color:#6E727C;--wpforms-label-size-font-size:11px;--wpforms-label-size-line-height:16px;
--wpforms-label-sublabel-color:#6E727C;--wpforms-label-error-color:#E9498C;
--wpforms-button-border-radius:0px;--wpforms-button-background-color:#22242A;--wpforms-button-text-color:#F4F2EE;
--wpforms-button-size-font-size:11px;--wpforms-button-size-padding-h:32px;--wpforms-button-size-height:56px;
--wpforms-field-size-font-size:16px;--wpforms-field-size-input-height:52px;--wpforms-field-size-padding-h:16px;
}
.wpforms-container .wpforms-field-label{font-size:11px !important;font-weight:600 !important;letter-spacing:.16em !important;text-transform:uppercase !important;color:#6E727C !important;}
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container input[type=tel],.wpforms-container select,.wpforms-container textarea{background-color:#FAF9F6 !important;border-color:#CBC6BC !important;border-radius:0 !important;color:#22242A !important;}
.wpforms-container input:focus,.wpforms-container select:focus,.wpforms-container textarea:focus{border-color:#E9498C !important;}
.wpforms-container .wpforms-field-checkbox label,.wpforms-container .wpforms-field-checkbox .wpforms-field-label-inline{font-size:15px !important;font-weight:400 !important;letter-spacing:0 !important;text-transform:none !important;color:#6E727C !important;line-height:1.55 !important;}
.wpforms-container .wpforms-field-checkbox a{color:#22242A;border-bottom:1px solid #CBC6BC;}
.wpforms-container .wpforms-field-checkbox a:hover{border-bottom-color:#E9498C;}

/* Eyebrow accent bar — 30x1px, the design system's signature mark */
.elementor-widget-divider.vt-bar{--divider-color:#E9498C !important;--divider-border-color:#E9498C !important;}
.elementor-widget-divider.vt-bar .elementor-divider-separator{border-top-color:#E9498C !important;border-block-start-color:#E9498C !important;}
.elementor-widget-divider.vt-rule{--divider-color:rgba(244,242,238,0.22) !important;}
.elementor-widget-divider.vt-rule .elementor-divider-separator{border-top-color:rgba(244,242,238,0.22) !important;}


/* vt-eyebrow-row: bar + label must sit together on the left */
.e-con:has(> .elementor-widget-divider.vt-bar){justify-content:flex-start !important;align-items:center !important;flex-wrap:nowrap !important;}
.elementor-widget-divider.vt-bar{flex:0 0 auto !important;width:30px !important;max-width:30px !important;}
.elementor-widget-divider.vt-bar + .elementor-widget-heading{flex:0 1 auto !important;width:auto !important;max-width:none !important;}
.elementor-widget-divider.vt-bar + .elementor-widget-heading .elementor-heading-title{text-align:left !important;}
