/**
 * TANTS.EE — centralized typography (20px editorial body, 18px compact UI).
 * Loaded after tants.css; uses design tokens only (no new font families).
 */

:root {
	--text-display: 3.5rem;
	--text-h1: 3rem;
	--text-h2: 2rem;
	--text-h3: 1.5rem;
	--text-body: 1.25rem;
	--text-secondary: 1.125rem;
	--text-small: 1rem;

	--leading-body: 1.55;
	--leading-heading: 1.2;
	--leading-secondary: 1.45;

	--tants-measure: 65ch;
}

@media (max-width: 767px) {
	:root {
		--text-display: 2.75rem;
		--text-h1: 2.25rem;
		--text-h2: 1.75rem;
		--text-h3: 1.375rem;
	}
}

/* —— Base —— */
body.tants-has-chrome,
body.tants-native-theme {
	font-size: var(--text-body);
	line-height: var(--leading-body);
}

.tants-main {
	font-size: var(--text-body);
	line-height: var(--leading-body);
}

/* —— Editorial / reading —— */
.tants-prose,
.tants-artist-prose,
.tants-production-prose,
.tants-production-about-card__prose,
.tants-main--legal .tants-legal-prose,
.tants-main--content .tants-default-page-prose,
.tants-contact-card__intro {
	font-size: var(--text-body);
	line-height: var(--leading-body);
	max-width: var(--tants-measure);
}

.tants-main--legal .tants-legal-prose.tants-prose,
.tants-main--content .tants-default-page-prose.tants-prose {
	font-size: var(--text-body);
}

.tants-prose p,
.tants-prose li,
.tants-artist-prose p,
.tants-artist-prose li,
.tants-production-prose p,
.tants-production-about-card__p {
	font-size: inherit;
	line-height: inherit;
}

/* —— Page & hero titles —— */
.tants-hero__title {
	font-size: var(--text-display);
	line-height: var(--leading-heading);
}

.tants-prod-archive-hero__title,
.tants-production-hero__title,
.tants-artist-hero__title,
.tants-org-hero__title {
	font-size: var(--text-h1);
	line-height: var(--leading-heading);
}

.tants-hero__lead,
.tants-prod-archive-hero__lead,
.tants-council-hero__lead,
.tants-home-artists__subtitle,
.tants-home-orgs__subtitle,
.tants-production-hero__subtitle {
	font-size: var(--text-body);
	line-height: var(--leading-body);
	max-width: min(42rem, var(--tants-measure));
}

/* —— Section headings (32px) —— */
.tants-home-artists__title,
.tants-home-orgs__title,
.tants-artist-panel__title--lg,
.tants-production-block__title,
.tants-production-credits-card__title,
.tants-artist-related__title,
.tants-council-section__title,
.tants-global-search-group__title,
.tants-legal-prose h2,
.tants-main--legal .tants-legal-prose h2 {
	font-size: var(--text-h2);
	line-height: var(--leading-heading);
}

/* —— Subsection / card titles (24px) —— */
.tants-prod-card__title,
.tants-artist-panel__title,
.tants-home-artist-card__title,
.tants-home-org-card__title,
.tants-legal-prose h3,
.tants-artist-works-section__title {
	font-size: var(--text-h3);
	line-height: var(--leading-heading);
}

/* —— Compact catalogue & cards (18px) —— */
.tants-prod-card__excerpt,
.tants-prod-card__choreo,
.tants-prod-archive-results__count,
.tants-prod-archive-sort__label,
.tants-prod-archive-sort__select,
.tants-prod-archive-filters__title,
.tants-prod-archive-filters__select,
.tants-prod-archive-filters__clear,
.tants-prod-archive-filters__apply,
.tants-prod-archive-pagination a,
.tants-artist-works-list__name,
.tants-production-meta__label,
.tants-production-meta__value,
.tants-artist-contact__label,
.tants-artist-contact__value {
	font-size: var(--text-secondary);
	line-height: var(--leading-secondary);
}

.tants-prod-card__title {
	font-size: var(--text-h3);
}

@media (max-width: 767px) {
	.tants-prod-archive-results__grid .tants-prod-card__title {
		font-size: var(--text-secondary);
		font-weight: 700;
	}
}

/* —— Supporting / dense (16px) —— */
.tants-prod-card__genre,
.tants-prod-card__year,
.tants-prod-archive-filters__label,
.tants-chrome-footer__heading,
.tants-chrome-footer__bar,
.tants-chrome-footer__copy,
.tants-chrome-footer__credits,
.tants-artist-works-list__year,
.tants-artist-works-list__meta,
.tants-artist-kicker,
.tants-council-kicker,
.tants-prod-archive-hero__breadcrumbs,
.tants-artist-hero__breadcrumbs,
.tants-production-hero__breadcrumbs,
.tants-org-hero__breadcrumbs,
.tants-production-credits__row dt,
.tants-council-hero__contact-label {
	font-size: var(--text-small);
	line-height: var(--leading-secondary);
}

/* —— Chrome navigation (18px) —— */
.tants-chrome-header__link,
.tants-chrome-header__dropdown-toggle,
.tants-chrome-header__btn,
.tants-chrome-header__search-toggle,
.tants-chrome-header__menu-toggle,
.tants-chrome-header__menu-close,
.tants-chrome-footer__list,
.tants-chrome-footer__list a,
.tants-chrome-footer__legal a {
	font-size: var(--text-secondary);
}

/* —— Forms & search (≥18px) —— */
.tants-chrome-header__search .header-search input[type="search"],
.tants-prod-archive-filters__select,
.tants-prod-archive-sort__select,
.tants-legal-cookie-btn {
	font-size: var(--text-secondary);
}

.tants-hero-quick-search__row input[type="search"],
.tants-hero-quick-search.header-search > input[type="search"],
.tants-prod-archive-hero__search input[type="search"],
.tants-prod-archive-hero__search .tants-archive-quick-search input[type="search"] {
	font-size: var(--text-body) !important;
}

.tants-hero-quick-search__row .tants-hero__search-submit,
.tants-chrome-header__search .tants-hero__search-submit,
.tants-prod-archive-hero__search .tants-hero__search-submit {
	font-size: var(--text-secondary) !important;
	font-weight: 600;
}

/* —— Layout rhythm (avoid bulky vertical gaps) —— */
.tants-prod-card__body {
	padding: 1.2rem 1.25rem 1.25rem;
}

.tants-prod-archive-listing {
	padding-top: 3rem;
	padding-bottom: 2rem;
}

.tants-prod-archive-cta__title {
	font-size: var(--text-h2);
	line-height: var(--leading-heading);
	color: #fff;
}

.tants-prod-archive-hero {
	padding-top: 6rem;
	padding-bottom: 2.5rem;
}

.tants-artist-works-list__item {
	grid-template-columns: 4.75rem minmax(0, 1fr);
	gap: 0.5rem 0.85rem;
	padding-bottom: 0.55rem;
	margin-bottom: 0.55rem;
}

/* —— Mobile: keep 20px body —— */
@media (max-width: 767px) {
	body.tants-has-chrome,
	.tants-main,
	.tants-prose,
	.tants-artist-prose,
	.tants-production-prose,
	.tants-main--legal .tants-legal-prose {
		font-size: var(--text-body);
	}
}

/**
 * Documented exceptions (see consolidation report):
 * - Cookie compliance tables — --text-small for density.
 * - My Listing dashboard metric widgets — partial parent-theme sizes remain.
 */

.tants-legal-prose .cookielawinfo-row-cat-table,
.tants-legal-prose .cli_pg_page_contaner table {
	font-size: var(--text-small);
}

/* —— Secondary page titles (token headings) —— */
.tants-home-cta__title,
.tants-archive__title,
.tants-section__title {
	font-size: var(--text-h2);
	line-height: var(--leading-heading);
}

.tants-add-listing-steps__title,
.tants-auth-aside__title,
.tants-legal-prose h4 {
	font-size: var(--text-h3);
	line-height: var(--leading-heading);
}

.tants-main--add-listing-form .tants-prod-archive-hero__title {
	font-size: var(--text-h1);
	line-height: var(--leading-heading);
}

/* —— News (My Listing title bar + blog feed) —— */
.tants-main--news .ml-breadcrumbs .bc-title-left span {
	font-family: "Average Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: var(--text-h1);
	line-height: var(--leading-heading);
}

.tants-main--news .ml-breadcrumbs span,
.tants-main--news .ml-breadcrumbs .page-directory li,
.tants-main--news .ml-breadcrumbs .page-directory li a {
	font-size: var(--text-secondary);
	line-height: var(--leading-secondary);
}

.tants-main--news .blog-feed,
.tants-main--news .blog-feed .section-body,
.tants-main--news .blog-feed .section-body p {
	font-size: var(--text-body);
	line-height: var(--leading-body);
}

.tants-main--news .blog-feed h4,
.tants-main--news .blog-feed h5 {
	font-size: var(--text-h3);
	line-height: var(--leading-heading);
}

.tants-main--news .page-directory,
.tants-main--news .page-directory a,
.tants-main--news .blog-feed-pagination,
.tants-main--news .blog-feed-pagination a {
	font-size: var(--text-secondary);
	line-height: var(--leading-secondary);
}

/* —— Add listing & auth forms —— */
.tants-main--add-listing,
.tants-main--add-listing .tants-submit-listing-form,
.tants-main--add-listing #submit-job-form,
.tants-main--add-listing .fieldset-logged_in,
.tants-main--add-listing .add-listing-step {
	font-size: var(--text-body);
	line-height: var(--leading-body);
}

.tants-main--add-listing #submit-job-form label,
.tants-main--add-listing #submit-job-form .form-group label,
.tants-main--add-listing .sign-in-form label {
	font-size: var(--text-secondary);
	line-height: var(--leading-secondary);
}

.tants-main--add-listing #submit-job-form input[type="text"],
.tants-main--add-listing #submit-job-form input[type="email"],
.tants-main--add-listing #submit-job-form input[type="tel"],
.tants-main--add-listing #submit-job-form input[type="url"],
.tants-main--add-listing #submit-job-form input[type="password"],
.tants-main--add-listing #submit-job-form textarea,
.tants-main--add-listing #submit-job-form select,
.tants-main--add-listing .sign-in-form input {
	font-size: var(--text-secondary);
}

.tants-main--add-listing .tants-listing-form-submit-btn .buttons,
.tants-main--add-listing .tants-btn,
.tants-main--add-listing .buttons {
	font-size: var(--text-secondary);
}

/* —— WooCommerce My Account —— */
body.woocommerce-account .tants-main--account,
body.woocommerce-account .tants-main--account .woocommerce-MyAccount-content {
	font-size: var(--text-body);
	line-height: var(--leading-body);
}

body.woocommerce-account .tants-main--account .woocommerce-MyAccount-navigation ul li a {
	font-size: var(--text-secondary) !important;
}

@media (max-width: 899px) {
	body.woocommerce-account.logged-in .tants-main--account .woocommerce-MyAccount-navigation ul li a {
		font-size: var(--text-small) !important;
	}
}

body.woocommerce-account .tants-main--account .woocommerce-MyAccount-content .mlduo-welcome-message h1 {
	font-size: var(--text-h2);
	line-height: var(--leading-heading);
}

body.woocommerce-account .tants-main--account .sign-in-form label,
body.woocommerce-account .tants-main--account .sign-in-form input,
body.woocommerce-account:not(.logged-in) .tants-main--account .woocommerce-form label,
body.woocommerce-account:not(.logged-in) .tants-main--account .woocommerce-form input {
	font-size: var(--text-secondary);
}

/* —— Mobile menu (token-aligned display scale) —— */
.tants-chrome-header__mobile-nav a {
	font-size: clamp(var(--text-h3), 5.5vw, var(--text-h2));
}

.tants-chrome-header__mobile-foot,
.tants-chrome-header__mobile-foot a {
	font-size: var(--text-small);
}

/**
 * Updated exceptions:
 * - Mobile nav `a small` step index (0.625rem) — decorative beside large links.
 * - Parent My Listing dashboard stat widgets may still set icon/metric sizes inline.
 */
