/* Header, navigation, mega menu, cart and footer. */
html body :is(.vivere-luxury-header, .vivere-luxury-footer, .vivere-cart-drawer,
.vivere-search-panel, .eswmms-panel) { font-family: var(--vivere-font-sans) !important; }
html body :is(.vivere-brand__wordmark, .vivere-mega-panel__intro h2, .vivere-mega-card strong,
.vivere-cart-drawer__head, .vivere-mobile-feature__toggle, .vivere-mobile-menu > li > a,
.vivere-footer-newsletter-title, .vivere-footer-widget-title, .vivere-footer-heading) {
  font-family: var(--vivere-font-serif) !important;
}
html body :is(.vivere-primary-nav > ul > li > a, .vivere-side-nav a,
.vivere-mobile-menu .sub-menu a, .vivere-footer-bottom-links,
.vivere-footer-legal-menu, .vivere-footer-social-menu) {
  font-family: var(--vivere-font-sans) !important; font-size: var(--vivere-type-label) !important;
}

/* All Kianix Elementor widgets, including the KX collection carousel. */
html body .elementor :is([class*=kianix-], [class*=kx-collection]) {
  font-family: var(--vivere-font-sans) !important;
}
html body .elementor :is([class*=kianix-], [class*=kx-collection])
:is(h1, h2, [class*=__title]):not([class*=card__title]):not([class*=-card__title]) {
  font-family: var(--vivere-font-serif) !important; font-size: var(--vivere-type-h2) !important;
  font-weight: 500 !important; letter-spacing: -.025em !important;
  line-height: var(--vivere-leading-heading) !important;
}
html body .elementor :is([class*=kianix-], [class*=kx-collection])
:is(h3, h4, [class*=card__title], [class*=-card__title], [class*=__story-title]) {
  font-family: var(--vivere-font-serif) !important; font-size: var(--vivere-type-card) !important;
  font-weight: 500 !important; letter-spacing: -.02em !important; line-height: 1.2 !important;
}
html body .elementor :is([class*=kianix-], [class*=kx-collection])
:is([class*=__description], [class*=__desc], [class*=__excerpt], [class*=__text]) {
  font-family: var(--vivere-font-sans) !important; font-size: var(--vivere-type-body) !important;
  line-height: var(--vivere-leading-body) !important;
}
html body .elementor :is([class*=kianix-], [class*=kx-collection])
:is([class*=__eyebrow], [class*=__kicker], [class*=__category], [class*=__cat],
[class*=__label], [class*=__meta], [class*=__counter], [class*=__number], [class*=__num]) {
  font-family: var(--vivere-font-sans) !important; font-size: var(--vivere-type-label) !important;
  line-height: 1.5 !important;
}
html body .elementor :is([class*=kianix-], [class*=kx-collection])
:is([class*=__button], [class*=__link], [class*=__cta], [class*=__action]) {
  font-family: var(--vivere-font-sans) !important; font-size: var(--vivere-type-button) !important;
  line-height: 1.4 !important;
}

@media (max-width: 767px) {
  :root {
    --vivere-type-body: 15px;
    --vivere-type-h1: clamp(38px, 11vw, 52px);
    --vivere-type-h2: clamp(30px, 8vw, 40px);
    --vivere-type-h3: clamp(24px, 6vw, 32px);
    --vivere-type-card: 22px;
  }
}
