/* A small, consistent type system for Argatherapy's editorial and shop pages. */

/* The product name precedes its photograph on mobile without duplicating the H1. */
.product-detail__main { row-gap: .75rem; grid-template-rows: auto 1fr; }
.product-detail__heading { grid-column: 2; grid-row: 1; min-width: 0; }
.product-detail__heading .product_title { max-width: 17ch; margin: .35rem 0 .65rem; color: var(--forest); font: 400 clamp(2.6rem, 4vw, 4.1rem)/1.02 var(--serif); letter-spacing: -.025em; }
.product-detail__heading .eyebrow { margin-block: 0 .75rem; }
.product-detail__reading-link { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; font-size: .875rem; }
.product-detail__main > .product-detail__gallery { grid-column: 1; grid-row: 1 / 3; }
.product-detail__main > .product-detail__summary { grid-column: 2; grid-row: 2; }
.product-format-summary { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .4rem 1rem; margin-block: 1rem; padding-block: .85rem; border-block: 1px solid var(--line); font-size: .9375rem; line-height: 1.6; }
.product-format-summary dt { font-weight: 600; }
.product-format-summary dd { margin: 0; text-align: end; overflow-wrap: anywhere; }
.product-format-summary bdi { unicode-bidi: isolate; }
#product-information { scroll-margin-block-start: 8rem; }
.product-accordion > summary { min-height: 48px; font-size: 1rem; }
.product-detail__summary .product_meta { font-size: .8125rem; line-height: 1.6; }
.product-detail__summary form.cart:not(.variations_form),
.product-detail__summary .woocommerce-variation-add-to-cart { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
.product-detail__summary form.cart:not(.variations_form) .single_add_to_cart_button,
.product-detail__summary .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 12rem; min-height: 48px; margin: 0; }
.product-detail__summary form.cart .quantity { margin: 0; flex: 0 0 4.5rem; }
.product-detail__summary form.cart .quantity .qty { width: 100%; min-height: 48px; }
.home-cover__actions :is(.home-cover__primary,.home-cover__secondary) { font-size: 1rem; }
.home-page--edition .home-pathways :is(span,small) { font-size: .875rem; }
@media (max-width: 920px) {
 .product-detail__main { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; row-gap: 1.25rem; }
 .product-detail__main > .product-detail__heading { grid-column: 1; grid-row: 1; }
 .product-detail__main > .product-detail__gallery { grid-column: 1; grid-row: 2; }
 .product-detail__main > .product-detail__summary { grid-column: 1; grid-row: 3; }
 .product-detail__heading .product_title { max-width: 24ch; font-size: clamp(2.1rem, 7vw, 3rem); }
}
@media (max-width: 560px) {
 .product-detail__gallery .flex-viewport { aspect-ratio: 1 / 1; }
 .product-detail__gallery .woocommerce-product-gallery__image img:not(.zoomImg) { aspect-ratio: 1 / 1; object-fit: contain; }
 .product-detail__heading .product_title { margin-bottom: .25rem; }
 .product-format-summary { grid-template-columns: minmax(0, 1fr); gap: .15rem; }
 .product-format-summary dd { text-align: start; }
}

:where(h1, h2, h3, .product_title) {
	font-kerning: normal;
	text-wrap: balance;
}

.site-brand__wordmark {
	letter-spacing: .1em;
}

.site-navigation a {
	font-size: .8rem;
	font-weight: 500;
	letter-spacing: .01em;
}

.eyebrow {
	font-size: .72rem;
	letter-spacing: .1em;
	line-height: 1.5;
}

.home-page--edition .eyebrow,
.home-cover__eyebrow {
	font-size: .7rem;
	letter-spacing: .1em;
	line-height: 1.55;
}

.product-card__category,
.home-page--edition .product-card__category,
.shop-results .product-card__category {
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .025em;
	line-height: 1.45;
}

.home-cover h1 {
	max-width: 12ch;
	letter-spacing: -.045em;
	line-height: .89;
}

.home-cover__lead {
	font-size: .95rem;
	line-height: 1.72;
}

.home-cover__primary,
.home-cover__secondary {
	font-size: .78rem;
	letter-spacing: .01em;
}

.home-cover__visual figcaption {
	justify-content: flex-end;
	text-align: right;
}

@media (max-width: 680px) {
	.home-cover h1 { max-width: 9ch; }
	.home-cover__lead { font-size: .9rem; }
}

.shop-results .product-card__price, .home-page--edition .product-card__price, .product-card__price { font-size: .88rem; }
.shop-results .product-card__category, .product-card__category { font-size: .76rem; }
.shop-results .product-card__details, .catalog-selection .text-link { font-size: .85rem; }
.product-detail__summary .price { font-size: 1.1rem; }
.product-review-status p { font-size: .82rem; line-height: 1.65; }

/* Collection and pack controls remain readable at their native mobile size. */
.shop-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.25rem; margin-top: 1.25rem; }
.shop-hero__actions :is(.button,.text-link) { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; font-size: 1rem; }
.shop-hero__actions .button { padding-inline: 1.2rem; }
.shop-page .shop-hero__actions .button--forest { background: var(--forest); color: #fff; border-color: var(--forest); }
#catalog-families, #shop-results { scroll-margin-block-start: 8rem; }
.catalog-families .catalog-family-card__name { font-size: .875rem; line-height: 1.4; }
.catalog-families .catalog-family-card__count { font-size: .875rem; line-height: 1.4; }
.catalog-families a.catalog-families__all { font-size: .875rem; }
.shop-page .catalog-compose-link .text-link,
.shop-page .shop-filter-group > ul a { font-size: .875rem; min-height: 44px; }
.shop-page :is(.shop-filter-toggle,.shop-search .button,.shop-catalog-filter .button) { font-size: 1rem; }
.shop-page :is(.shop-search input,.shop-catalog-filter input,.shop-catalog-filter select) { font-size: 1rem; }
.product-card .product-card__actions .product-card__details { font-size: 1rem; min-height: 44px; }
.product-card__quick-add .button { font-size: .875rem; line-height: 1.4; white-space: normal; }
.product-card .product-card__price { font-size: 1rem; }
.product-detail__summary .quantity .qty { font-size: 1rem; }
.product-page .product-detail__summary .single_add_to_cart_button.button.alt { font-size: 1rem; line-height: 1.4; }
.product-detail__summary .favorite-toggle--detail,
.product-page .product-inquiry .text-link,
.product-page .product-pack-link .text-link,
.product-page .commerce-breadcrumb a { font-size: .875rem; }
