/*
 * Tap targets and minimum text size (audit RESP-01).
 * Controls get a 44px minimum at every width. Text links get at least 24px on
 * phones (WCAG 2.2 AA 2.5.8), mostly via vertical padding so the layout does
 * not move. Text below 12px is raised to 12px on phones.
 * The "html body" prefix keeps these ahead of the parent and plugin sheets.
 */

/* ── 1. Buttons and form controls: 44px ───────────────────── */
html body .site-header__cart,
html body .site-header__menu-toggle {
	min-width: 44px;
	min-height: 44px;
}
html body .site-header__search { height: 48px; } /* 2px frame + 44px controls */
html body .btn,
html body .shop-cat__item a,
html body .shop-toolbar__filter-btn,
html body .woocommerce-ordering select,
html body .quantity input.qty {
	min-height: 44px;
}
/* Uni CPO writes per-node "height:36px !important" rules. */
html body .uni-module select.js-uni-cpo-field {
	min-height: 44px !important;
	height: 44px !important;
}
html body a.page-numbers,
html body span.page-numbers.current,
html body .quantity .qty-btn,
html body .woocommerce-product-gallery__trigger {
	min-width: 44px;
	min-height: 44px;
}
html body .post-pager .page-numbers { min-width: 44px; height: 44px; }
html body .gsc-tabs__btn { min-height: 44px; }
html body .wp-block-details > summary { padding-block: 10px; }

/* ── 2. Text links: 24px on phones ────────────────────────── */
@media (max-width: 767px) {
	html body .site-footer .menu-item a,
	html body .bfg-landing p > a:only-child {
		padding-block: 3px;
	}
	html body .woocommerce-breadcrumb a,
	html body .breadcrumbs a,
	html body .gsc-crumbs a {
		padding-block: 5px;
	}
	html body .site-footer__legal-links a { padding-block: 3px; }
	html body .site-footer__contact-phone,
	html body .site-footer__contact-email,
	html body .site-footer__contact-address {
		min-height: 24px;
		align-items: center;
	}
	html body .product__custom-upsell p > a {
		display: flex;
		align-items: center;
		min-height: 24px;
	}
	html body .product-card__title a { min-height: 24px; }
	html body :is(.prose, .gsc-prose) p > a:not([class]) { padding-block: 3px; }
	html body .product_meta a { padding-block: 4px; }
}

/* ── 3. Text: 12px minimum on phones ──────────────────────── */
@media (max-width: 767px) {
	html body .site-search-form__cat-select,
	html body .fits-tile__prefix,
	html body .fits-grid__note,
	html body .brands-strip__note,
	html body .onsale,
	html body .bfg-usa-badge,
	html body .bfg-usa-badge span,
	html body .product__guarantee-item,
	html body .product__guarantee-item span,
	html body .uni-cpo-module-select-label,
	html body .uni-cpo-module-text_area-label,
	html body .bfg-label-full,
	html body .bfg-label-short,
	html body .gp-meta,
	html body .gp-arrow,
	html body .bfg-buy-bar__price-label,
	html body .bfg-live-price__label,
	html body .bfg-profile-note__label {
		font-size: 12px;
	}
	html body .product-card__price .woocommerce-Price-currencySymbol { font-size: max(12px, .7em); }
	html body .gp-custom-dd .gp-meta,
	html body .cbd-stock-flag.cbd-stock-flag,
	html body .cbd-pill.cbd-pill,
	html body .cbd-pay__chip.cbd-pay__chip,
	html body .cbd-tag-pop.cbd-tag-pop,
	html body .cbd-thick-card__badge.cbd-thick-card__badge,
	html body .cbd-color-card__tag.cbd-color-card__tag,
	html body .cbd-color-card__tag span,
	html body .gsc-tabs__btn,
	html body .gsc-chip,
	html body .gsc-config-form-label,
	html body .gsc-live-price__label,
	html body .gsc-trust-bar__item span,
	html body .bfg-profile-desc .bfg-profile-note__label {
		font-size: 12px;
	}
	/* These are set with !important upstream (or inline). */
	html body .brands-strip__note,
	html body .uni-module .uni-cpo-option-label__description,
	html body form.cart .uni-builderius-container .uni-module > label,
	html body.woocommerce span.onsale,
	html body .woocommerce span.onsale,
	html body.woocommerce ul.products li.product span.onsale {
		font-size: 12px !important;
	}
}

/* ── 4. Quote Form template on phones ─────────────────────── */
/* The hero grid's single column was sized by the unbreakable email address
   (391px on a 375px screen), so the heading and contact card were clipped. */
@media (max-width: 767px) {
	html body .gsc-hero__grid { grid-template-columns: minmax(0, 1fr); }
	html body .gsc-contact-list a { overflow-wrap: anywhere; }
	html body .gsc-form-embed--full { padding: 4px; }
}
