/*
HerChicStyle Premium Font System V4
Fix: pink/accent words inside large headings now use the same elegant heading font.
Body/UI uses Nunito Sans by default for a softer match with Playfair.
*/

/* Base font */
html,
body {
  font-family: var(--hcs-font-body) !important;
  font-weight: 500;
  color: #111111;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body,
body p,
body li,
body td,
body th,
body label,
body input,
body textarea,
body select,
body button,
body a,
body span,
body div,
body .elementor,
body .elementor-widget-container,
body .woocommerce,
body .woocommerce-page,
body .entry-content,
body .post_content,
body .widget,
body .sidebar,
body .footer,
body .rh-footer {
  font-family: var(--hcs-font-body) !important;
}

/* Normal readable content */
body p,
body li,
body td,
body th,
body label,
body input,
body textarea,
body select,
body .entry-content,
body .post_content,
body .woocommerce-product-details__short-description,
body .term-description,
body .category-description,
body .elementor-widget-text-editor,
body .elementor-widget-text-editor * {
  font-weight: 500 !important;
  line-height: 1.68;
}

/* Large elegant headings */
body h1,
body h2,
body .elementor-heading-title,
body .entry-title,
body .page-title,
body .post-title,
body .product_title,
body .woocommerce-products-header__title,
body .rh-post-title,
body .rh_page_title,
body .archive-title,
body .site-title,
body .site-title a {
  font-family: var(--hcs-font-heading) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em;
  line-height: 1.08;
}

/* CRITICAL FIX: colored/strong words in large headings must match heading font */
body h1 strong,
body h2 strong,
body .elementor-heading-title strong,
body .elementor-heading-title span,
body .hcs-home-hero h1 strong,
body .hcs-home-hero h2 strong,
body .hcs-popular-cats h2 strong,
body .hcs-centered-heading h2 strong,
body .hcs-centered-grid-heading h2 strong,
body .hcs-home-blog-intro h2 strong,
body .hcs-blog-hero h1 strong,
body .hcs-blog-hero h2 strong,
body .hcs-trust-end h2 strong,
body .hcs-cat-head h1 strong,
body .hcs-section-heading h2 strong,
body .hcs-grid-heading h2 strong,
body .hcs-blog-intro h2 strong {
  font-family: var(--hcs-font-heading) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em;
  line-height: inherit;
}

/* Small headings and card titles use soft UI font */
body h3,
body h4,
body h5,
body h6,
body article h3,
body article h4,
body .woocommerce-loop-product__title,
body ul.products li.product h2,
body ul.products li.product h3,
body .product-title,
body .rh_woo_grid h3,
body .woo_grid_compact h3,
body .rh_listcolumn h3,
body .post h3,
body .blog h3,
body .widget-title {
  font-family: var(--hcs-font-ui) !important;
  font-weight: 700 !important;
  letter-spacing: -0.012em;
  line-height: 1.25;
}

/* HerChicStyle custom sections */
body [class^="hcs-"],
body [class*=" hcs-"],
body #hcs-page-loader,
body #hcs-page-loader * {
  font-family: var(--hcs-font-body) !important;
}

/* HCS large headings */
body .hcs-home-hero h1,
body .hcs-home-hero h2,
body .hcs-popular-cats h2,
body .hcs-centered-heading h2,
body .hcs-centered-grid-heading h2,
body .hcs-home-blog-intro h2,
body .hcs-blog-hero h1,
body .hcs-blog-hero h2,
body .hcs-trust-end h2,
body .hcs-cat-head h1,
body .hcs-cat-title-row h2,
body #hcs-page-loader h3 {
  font-family: var(--hcs-font-heading) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em;
}

/* HCS strong/pink heading words should stay elegant too */
body .hcs-home-hero h1 strong,
body .hcs-home-hero h2 strong,
body .hcs-popular-cats h2 strong,
body .hcs-centered-heading h2 strong,
body .hcs-centered-grid-heading h2 strong,
body .hcs-home-blog-intro h2 strong,
body .hcs-blog-hero h1 strong,
body .hcs-blog-hero h2 strong,
body .hcs-trust-end h2 strong,
body .hcs-cat-head h1 strong,
body .hcs-cat-title-row h2 strong {
  font-family: var(--hcs-font-heading) !important;
  font-weight: 800 !important;
}

/* HCS UI/card text */
body .hcs-product-title,
body .hcs-blog-card h3,
body .hcs-popular-cats__content h3,
body .hcs-cat-content h3,
body .hcs-trust-end__card h3,
body .hcs-home-hero__style-card h2,
body .hcs-blog-card p,
body .hcs-product-price,
body .hcs-home-hero__btn,
body .hcs-product-view,
body .hcs-product-badge,
body .hcs-product-rating,
body .hcs-popular-cats__badge,
body .hcs-centered-heading__badge,
body .hcs-centered-grid-heading__badge,
body .hcs-blog-mini-label,
body .hcs-cat-badge,
body .hcs-cat-title-row span,
body .hcs-trust-end__badge,
body .hcs-show-more-btn,
body .hcs-blog-more-btn,
body .hcs-header-menu a,
body .hcs-header-search input,
body .hcs-header-search button,
body .hcs-header-icons a {
  font-family: var(--hcs-font-ui) !important;
}

/* HCS button and badge weights */
body .hcs-home-hero__btn,
body .hcs-product-view,
body .hcs-product-badge,
body .hcs-product-rating,
body .hcs-popular-cats__badge,
body .hcs-centered-heading__badge,
body .hcs-centered-grid-heading__badge,
body .hcs-blog-mini-label,
body .hcs-cat-badge,
body .hcs-cat-title-row span,
body .hcs-trust-end__badge,
body .hcs-show-more-btn,
body .hcs-blog-more-btn,
body .hcs-header-menu a,
body .hcs-header-search button,
body .hcs-header-icons a {
  font-weight: 700 !important;
  letter-spacing: 0.01em;
}

/* WooCommerce and products */
body .woocommerce ul.products li.product .woocommerce-loop-product__title,
body .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body .products .product h2,
body .products .product h3,
body .rh_woo_grid .product_title,
body .woo_grid_compact .product_title,
body .woo_grid_compact h2,
body .woo_grid_compact h3,
body .rh_listcolumn .product_title,
body .rh_listcolumn h2,
body .rh_listcolumn h3,
body .deal_grid h3,
body .deal_grid h2,
body .ce_woo_blocks h3,
body .ce_woo_blocks h2,
body .product-card h3,
body .product-card .product-title {
  font-family: var(--hcs-font-ui) !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
  letter-spacing: -0.01em;
}

/* Prices and ecommerce labels */
body .price,
body .price *,
body .woocommerce-Price-amount,
body .amount,
body .rh_price_wrapper,
body .woo_price,
body .sale_price,
body .regular_price,
body ins,
body del,
body .onsale,
body .badge,
body .sale_tag,
body .re-line-badge,
body .rh_label,
body .rh_badge {
  font-family: var(--hcs-font-ui) !important;
  font-weight: 700 !important;
  letter-spacing: 0;
}

/* Menus, buttons, tabs, account links */
body button,
body .button,
body .btn,
body .rh-button,
body .wpsm-button,
body input[type="button"],
body input[type="submit"],
body .elementor-button,
body .elementor-button-text,
body .menu-item > a,
body nav a,
body .main-nav a,
body .rh-header a,
body .header a,
body .site-header a,
body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button,
body .woocommerce #respond input#submit,
body .add_to_cart_button,
body .single_add_to_cart_button,
body .checkout-button,
body .woocommerce-tabs ul.tabs li a,
body .woocommerce-MyAccount-navigation a,
body .rh_tab_links a,
body .tabs-menu a {
  font-family: var(--hcs-font-ui) !important;
  font-weight: 700 !important;
  letter-spacing: 0;
  text-transform: none;
}

/* Elementor */
body .elementor-widget-heading .elementor-heading-title {
  font-family: var(--hcs-font-heading) !important;
  font-weight: 800 !important;
}

body .elementor-widget-heading .elementor-heading-title strong,
body .elementor-widget-heading .elementor-heading-title span {
  font-family: var(--hcs-font-heading) !important;
  font-weight: 800 !important;
}

body .elementor-post__title,
body .elementor-post__title a,
body .elementor-post__read-more,
body .elementor-button,
body .elementor-button span,
body .elementor-icon-list-text {
  font-family: var(--hcs-font-ui) !important;
  font-weight: 700 !important;
}

body .elementor-post__excerpt,
body .elementor-post__excerpt p {
  font-family: var(--hcs-font-body) !important;
  font-weight: 500 !important;
}

/* ReHub */
body .rh_regular_text,
body .rhgreedylinks,
body .rh_list_item,
body .rh_reviewlist,
body .rh_offer_list,
body .wpsm_pros,
body .wpsm_cons,
body .wpsm_update,
body .wpsm_box,
body .wpsm-title,
body .rehub-main-font,
body .rewise-box,
body .rh-cartbox,
body .rh-flex-eq-height,
body .rh_grid_image_3_col,
body .rh-simple-list,
body .rh_post_layout,
body .rh-ce-holder,
body .rh-box-text {
  font-family: var(--hcs-font-body) !important;
}

body .wpsm-button,
body .wpsm-title,
body .rh-heading-icon,
body .rh_list_item h3,
body .rh_offer_list h3,
body .rh-ce-holder h3,
body .rh-cartbox h3 {
  font-family: var(--hcs-font-ui) !important;
  font-weight: 700 !important;
}

/* Quiz plugin */
body .hcs-style-quiz,
body .hcs-style-quiz *,
body .hcsq-wrap,
body .hcsq-wrap *,
body .hcsq-modal,
body .hcsq-modal *,
body .hcsq-floating,
body .hcsq-floating *,
body .hcs-quiz,
body .hcs-quiz * {
  font-family: var(--hcs-font-body) !important;
}

body .hcs-style-quiz h1,
body .hcs-style-quiz h2,
body .hcs-style-quiz h3,
body .hcsq-modal h1,
body .hcsq-modal h2,
body .hcsq-modal h3,
body .hcs-quiz h1,
body .hcs-quiz h2,
body .hcs-quiz h3 {
  font-family: var(--hcs-font-heading) !important;
  font-weight: 800 !important;
}

body .hcs-style-quiz button,
body .hcsq-modal button,
body .hcsq-floating,
body .hcs-quiz button,
body .hcsq-option,
body .hcsq-answer,
body .hcsq-result-title {
  font-family: var(--hcs-font-ui) !important;
  font-weight: 700 !important;
}

/* Forms */
body input,
body textarea,
body select,
body .input-text,
body .search-field,
body .woocommerce-product-search input,
body .woocommerce form .form-row input.input-text,
body .woocommerce form .form-row textarea {
  font-family: var(--hcs-font-body) !important;
  font-weight: 500 !important;
}

body input::placeholder,
body textarea::placeholder {
  font-family: var(--hcs-font-body) !important;
  font-weight: 500 !important;
}

/* Protect icons */
body i[class*="fa"],
body span[class*="fa"],
body i[class*="icon"],
body span[class*="icon"],
body .fa,
body .fas,
body .far,
body .fab,
body .fal,
body .dashicons,
body .rhicon,
body .re-icon,
body .material-icons,
body .elementor-icon,
body .elementor-icon i,
body .elementor-icon span,
body .eicon,
body [class^="eicon-"],
body [class*=" eicon-"] {
  font-family: inherit;
}

body svg,
body svg *,
body .elementor-icon svg,
body .elementor-icon svg * {
  font-family: initial !important;
}

/* Normal bold */
body strong,
body b {
  font-weight: 700;
}

/* Mobile readability */
@media (max-width: 767px) {
  body {
    font-size: 16px;
  }

  body p,
  body li,
  body .entry-content,
  body .woocommerce-product-details__short-description {
    line-height: 1.64;
  }

  body h1,
  body .elementor-heading-title.elementor-size-xxl,
  body .hcs-home-hero h1 {
    line-height: 1.06;
  }

  body h2,
  body .hcs-popular-cats h2,
  body .hcs-centered-heading h2,
  body .hcs-centered-grid-heading h2 {
    line-height: 1.08;
  }
}
