/**
 * Global typography: min 1rem (16px), softer weights.
 * Loaded LAST in <head> so it wins over page CSS (home/search-form).
 */

:root {
  --font-size-body: 1rem;
  --font-size-base: 1rem;
  --font-size-smaller: 1rem;
  --font-size-small: 1rem;
  --font-size-header-button: 1rem;
  --font-size-medium: 1.125rem;
  --font-size-large: 1.25rem;
  --button-font-size: 1rem;
  --font-weight-normal: 400;
  --font-weight-semibold: 500;
  --font-weight-bold: 600;
}

html {
  font-size: 16px;
}

body {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  line-height: 1.3;
  text-wrap: balance;
}

p,
li {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  text-wrap: pretty;
}

b,
strong,
.fw-bold,
.font-weight-bold,
.font-bold {
  font-weight: 600 !important;
}

/* Titles: medium-bold, not ultra-black */
.hero-title,
.section-title,
.page-title,
.card-title,
.modal-title,
.footer-title,
.domki-explore-title,
.property-title,
.results-header__title,
.form-section-title,
.property-card__title,
.property-card h3,
.featured-location-content h3,
.section-header .section-title {
  font-weight: 600 !important;
}

/* Searchbox + chips + labels: min 16px, weight 500 */
.form-help,
.char-counter,
.small,
small,
.badge,
.property-category-badge,
.page-item-subtitle,
.search-field-label,
.sb-field__title,
.sb-field__placeholder,
.sb-field__value,
.date-month,
.date-year,
.date-day-of-week,
.date-range-separator,
.date-display-simple,
.location-text,
.guests-text,
.guests-item-subtitle,
.filter-show,
.filter-show span,
.filter-count-small,
.additional-fees,
.domki-location-features__pill,
.property-short-description,
.property-card__meta,
.property-card__location,
.property-info,
.property-location,
.breadcrumb,
.breadcrumb-item,
.footer-links a,
.footer-seo-links a,
.footer-locations a,
.seo-links-buttons .seo-link-button,
.category-buttons .category-button,
.weather-widget,
.weather-widget__title,
.weather-current__desc,
.weather-day__date,
.weather-day__label,
.hero .sb-field__title,
.hero .sb-field__placeholder,
.hero .sb-field__value,
.hero .location-text,
.hero .date-display-simple,
.hero .filter-show,
.hero .filter-show span,
.hero .seo-link-button,
.hero .category-button,
.hero .guests-text,
.nav-link,
.btn,
.button,
.form-label,
.seo-link-button,
.category-button,
.filter-option,
.child-box,
.childs-cnt,
.featured-location-badge,
.featured-location-content p,
.featured-location-content span,
.presentation-badge,
.presentation-badge span,
.property-mode-badge,
.property-mode-badge span,
.property-mode-presentation,
.property-mode-presentation span,
.nights-display,
.offer-badge,
.datepicker-bar-label,
.datepicker-bar-value,
.amenity-group-title,
.featured-property-card .property-location,
.featured-property-card .property-category-badge,
.featured-property-card .property-short-description,
.featured-property-card::after,
.price-range-filter .price-range-display label,
.price-range-filter p,
.mobile-filters-toggle .filter-count {
  font-size: 1rem !important;
  font-weight: 500 !important;
}

.featured-property-card .property-title {
  font-weight: 600 !important;
}

.hero-subtitle {
  font-size: 1rem !important;
  font-weight: 400 !important;
}

input,
select,
textarea,
button,
.form-input,
.form-control,
.search-box button.search-btn,
.search-submit-btn,
.search-btn,
.search-btn span,
.search-box button.search-btn span,
.hero .search-box button.search-btn,
.hero .search-box button.search-submit-btn,
.hero .search-submit-btn.search-btn,
.hero .search-submit-btn,
.hero .search-box button.search-btn span,
.hero .search-submit-btn span {
  font-size: 1rem !important;
  font-weight: 500 !important;
}

/* Blog cards + FAQ + CTAs (match nested card selectors) */
.blog-post-category,
.blog-post-excerpt,
.blog-post-date,
.blog-post-read-more,
.blog-post-card .blog-post-category,
.blog-post-card .blog-post-excerpt,
.blog-post-card .blog-post-date,
.blog-post-card .blog-post-read-more,
.faq-question,
.faq-answer,
.faq-answer > div,
.btn-see-more,
.btn-see-more span,
.section-footer .btn-see-more,
.section-footer .btn-see-more span {
  font-size: 1rem !important;
  font-weight: 500 !important;
}

.blog-post-excerpt,
.blog-post-card .blog-post-excerpt,
.faq-answer,
.faq-answer > div {
  font-weight: 400 !important;
}

/* Headings: keep size hierarchy, soften weight only */
.faq-title,
.blog-post-title,
.blog-post-title a,
.blog-post-card .blog-post-title,
.blog-post-card .blog-post-title a,
.recent-blog-section .blog-post-title a {
  font-weight: 600 !important;
}

/* Soften remaining 700 weights site-wide (text UI) */
.section-header .section-title,
.featured-property-card .property-title,
.price-display,
.book-button {
  font-weight: 600 !important;
}

/* Hero titles keep size from home.css; only soft weight here */
.hero-title {
  font-weight: 600 !important;
}
