:root {
    --salon-font-family: "Montserrat", system-ui, sans-serif;
    --salon-gold: #dfc052;
    --salon-gold-soft: #eed579;
    --salon-gold-dark: #aa9202;
    --salon-text: #ffffff;
    --salon-muted: #d1d1d1;
    --salon-h1: clamp(2.44rem, 1.83rem + 2.03vw, 3.56rem);
    --salon-h2: clamp(1.94rem, 1.53rem + 1.35vw, 2.69rem);
    --salon-h3: clamp(1.56rem, 1.33rem + 0.79vw, 2rem);
    --salon-h4: clamp(1.25rem, 1.12rem + 0.45vw, 1.5rem);
    --salon-body: clamp(1rem, 0.93rem + 0.23vw, 1.125rem);
}

body,
.elementor-widget-text-editor,
.elementor-widget-theme-post-content,
.elementor-widget-icon-box .elementor-icon-box-description,
.elementor-widget-icon-list .elementor-icon-list-text,
.salon-pricing,
.salon-feedback {
    font-family: var(--salon-font-family) !important;
    font-size: var(--salon-body);
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
}

.elementor-nav-menu--main .elementor-item,
.elementor-nav-menu--dropdown .elementor-item,
.elementor-button,
.elementor-widget-form .elementor-button,
.elementor-search-form__submit,
button,
input,
textarea,
select {
    font-family: var(--salon-font-family) !important;
}

.elementor-nav-menu--main .elementor-item {
    font-weight: 500;
    font-size: 15px;
    letter-spacing: 0.02em;
    text-transform: none;
}

.elementor-button,
.elementor-widget-form .elementor-button {
    font-weight: 600 !important;
    letter-spacing: 0.02em;
    text-transform: capitalize;
}

.elementor-widget-heading .elementor-heading-title {
    font-family: var(--salon-font-family) !important;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
    color: var(--salon-text);
    text-transform: none;
}

.elementor-widget-heading .elementor-heading-title span,
.elementor-widget-heading .elementor-heading-title .salon-accent {
    font-family: var(--salon-font-family) !important;
    font-style: normal !important;
    font-weight: 600 !important;
    color: var(--salon-gold) !important;
}

.elementor-widget-heading .elementor-heading-title span[style*="italic"],
.elementor-widget-heading .elementor-heading-title span[style*="9D905A"],
.elementor-widget-heading .elementor-heading-title span[style*="C9BC8F"] {
    font-style: normal !important;
    font-weight: 600 !important;
    color: var(--salon-gold) !important;
}

.salon-hero-label .elementor-heading-title {
    font-family: var(--salon-font-family) !important;
    font-size: clamp(0.95rem, 1.1vw, 1.125rem) !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    color: var(--salon-gold-soft) !important;
}

.salon-hero-title .elementor-heading-title {
    font-size: var(--salon-h1) !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em !important;
    text-transform: capitalize;
}

.salon-hero-title .elementor-heading-title span,
.salon-hero-title .elementor-heading-title .salon-accent {
    display: inline;
    color: var(--salon-gold) !important;
    font-weight: 600 !important;
}

.elementor-widget-heading h1.elementor-heading-title {
    font-size: var(--salon-h1);
}

.elementor-widget-heading h2.elementor-heading-title {
    font-size: var(--salon-h2);
}

.elementor-widget-heading h3.elementor-heading-title {
    font-size: var(--salon-h3);
}

.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title {
    font-size: var(--salon-h4);
}

.elementor-widget-text-editor p {
    line-height: 1.65;
}

.elementor-widget-form .elementor-field-label {
    font-family: var(--salon-font-family) !important;
    font-weight: 500 !important;
    letter-spacing: 0;
}

.salon-pricing,
.salon-pricing__group-title,
.salon-pricing__card-title,
.salon-pricing__price,
.salon-pricing__btn,
.salon-pricing__duration,
.salon-pricing__features li {
    font-family: var(--salon-font-family) !important;
}

.salon-pricing__group-title {
    color: var(--salon-gold) !important;
    font-weight: 600 !important;
    text-transform: capitalize;
}

.salon-pricing__card-title {
    font-weight: 600 !important;
    text-transform: capitalize;
}

.salon-pricing__btn {
    font-weight: 600 !important;
    text-transform: capitalize;
}

@media (max-width: 767px) {
    .salon-hero-title .elementor-heading-title {
        font-size: clamp(1.9rem, 7vw, 2.5rem) !important;
    }

    .salon-hero-label .elementor-heading-title {
        letter-spacing: 0.03em !important;
    }

    .elementor-nav-menu--main .elementor-item {
        font-size: 14px;
    }
}
