/* Readable typography and consistent card actions, desktop and mobile. */
body { font-size: 16px; }
.announcement { font-size: 12px; letter-spacing: .025em; }
.brand small { font-size: 9px; }
.main-navigation > a,
.nav-dropdown > summary { font-size: 15px; }
.mega-menu a,
.small-menu a { font-size: 14px; line-height: 1.65; }
.mega-menu,
.small-menu { gap: 10px; }
.eyebrow { font-size: 12px; }
.hero .eyebrow { font-size: 12px; }
.hero-notes { font-size: 13px; }
.editorial-card p { font-size: 13px; }
.section-heading > .text-link { font-size: 14px; min-height: 44px; }

/* Every card stretches to the height of its grid row. The action consumes
   remaining space, so variable title/excerpt lengths cannot shift it upward. */
.blog-card { display: flex; min-width: 0; }
.blog-card > a {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
}
.blog-card > a > img { flex: 0 0 auto; }
.blog-card > a > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1;
}
.blog-card .eyebrow { font-size: 11px; }
.blog-card p:not(.eyebrow) { font-size: 15px; line-height: 1.75; }
.blog-card .text-link {
    margin-top: auto;
    padding: 8px 0;
    min-height: 44px;
    font-size: 14px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.home-section ul.products li.product .woocommerce-loop-product__title {
    font-size: 15px;
    line-height: 1.6;
}
.woocommerce ul.products li.product .price,
.home-section ul.products li.product .price { font-size: 16px; }
.rx-card-category { font-size: 11px; }
.rx-card-stock { font-size: 12px; }
.woocommerce ul.products li.product .button,
.home-section ul.products li.product .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1.4;
    min-height: 44px;
    padding: 8px 0;
    margin-top: auto;
    text-transform: none;
    letter-spacing: 0;
}
.woocommerce ul.products li.product .added_to_cart { font-size: 14px; }
.woocommerce span.onsale,
.home-section span.onsale { font-size: 12px; }
.collection-card h3 { font-size: 16px; line-height: 1.4; }
.collection-card span { font-size: 13px; }
.service-grid p { font-size: 15px; }
.quality-section p:not(.eyebrow) { font-size: 16px; }
.rx-faq summary { font-size: 17px; }
.rx-faq details > div { font-size: 16px; }

.footer-grid h2 { font-size: 16px; line-height: 1.5; }
.footer-grid li { font-size: 15px; line-height: 1.8; margin-bottom: 12px; }
.footer-brand p { font-size: 15px; }
.footer-brand p.small { font-size: 13px; }
.footer-brand > a > span { font-size: 11px; }
.footer-bottom { font-size: 12px; line-height: 1.8; }

.page-content p,
.page-content li { font-size: 16px; }
.rx-category-links { font-size: 14px; }
.blog-card .text-link,
.text-link { font-weight: 600; }
.article-navigation { font-size: 14px; }
.woocommerce-products-header .term-description { font-size: 16px; }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select { font-size: 14px; }
.woocommerce .woocommerce-breadcrumb { font-size: 12px; line-height: 1.7; }
.woocommerce-product-details__short-description { font-size: 15px; line-height: 1.85; }
.rx-product-help { font-size: 13px; }
.woocommerce div.product .stock { font-size: 14px; }
.woocommerce div.product form.cart .variations label,
.woocommerce div.product form.cart .variations select { font-size: 15px; }
.woocommerce .reset_variations { font-size: 13px; }
.woocommerce div.product .product_meta { font-size: 13px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 15px; }
.woocommerce div.product .woocommerce-tabs .panel { font-size: 16px; }
.expert-table { font-size: 15px; }
.rx-accessories h2 { font-size: 16px; }
.rx-accessory { font-size: 14px; }
.rx-accessory small { font-size: 13px; }
.rx-product-categories { font-size: 14px; }
.rx-product-categories .rx-category-links { font-size: 13px; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { font-size: 15px; }
.rx-contact-form label,
.woocommerce form .form-row label { font-size: 15px; }
.woocommerce table.shop_table,
.woocommerce-MyAccount-navigation a { font-size: 15px; }
.button,
button[type=submit],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button { font-size: 15px; }

@media (min-width: 961px) and (max-width: 1180px) {
    .main-navigation > a,
    .nav-dropdown > summary { font-size: 14px; }
    .header-inner { gap: 18px; }
    .main-navigation { gap: 16px; }
}
@media (max-width: 960px) {
    .main-navigation > a,
    .nav-dropdown > summary { font-size: 16px; }
    .mega-menu a,
    .small-menu a { font-size: 14px; }
}
@media (max-width: 700px) {
    body { font-size: 16px; }
    .announcement { font-size: 10px; }
    .brand small { font-size: 8px; letter-spacing: .02em; }
    .eyebrow,
    .hero .eyebrow { font-size: 11px; }
    .hero-content > p:not(.eyebrow) { font-size: 16px; }
    .hero-notes { font-size: 12px; }
    .editorial-card p { font-size: 12px; }
    .section-heading > .text-link { font-size: 14px; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .home-section ul.products li.product .woocommerce-loop-product__title {
        font-size: 14px;
        line-height: 1.6;
    }
    .woocommerce ul.products li.product .price,
    .home-section ul.products li.product .price { font-size: 15px; }
    .woocommerce ul.products li.product .button,
    .home-section ul.products li.product .button { font-size: 13px; min-height: 44px; }
    .rx-card-category,
    .rx-card-stock { font-size: 11px; }
    .woocommerce span.onsale,
    .home-section span.onsale { font-size: 11px; }
    .collection-card { gap: 8px; }
    .collection-card h3 { font-size: 13px; }
    .collection-card span { font-size: 11px; }
    .service-grid p { font-size: 14px; }
    .quality-section p:not(.eyebrow) { font-size: 16px; }
    .rx-faq summary { font-size: 16px; }
    .rx-faq details > div { font-size: 15px; }
    .blog-card p:not(.eyebrow) { font-size: 15px; }
    .blog-card .text-link { font-size: 14px; }
    .footer-grid h2 { font-size: 16px; }
    .footer-grid li { font-size: 14px; }
    .footer-brand p { font-size: 15px; }
    .footer-brand p.small { font-size: 13px; }
    .footer-bottom { font-size: 12px; }
    .page-content p,
    .page-content li,
    .article-content { font-size: 16px; }
    .article-content table { font-size: 14px; }
    .article-navigation { font-size: 13px; }
    .woocommerce-products-header .term-description { font-size: 15px; }
    .woocommerce .woocommerce-result-count { font-size: 12px; }
    .woocommerce .woocommerce-ordering select { font-size: 12px; }
    .woocommerce-product-details__short-description { font-size: 15px; }
    .woocommerce div.product .woocommerce-tabs ul.tabs { gap: 18px; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 13px; }
    .expert-table { font-size: 13px; }
    .rx-product-help { font-size: 12px; gap: 12px; flex-wrap: wrap; }
    .rx-category-links { font-size: 13px; }
}
@media (max-width: 380px) {
    .header-inner { width: calc(100% - 24px); gap: 4px; }
    .brand { gap: 6px; }
    .brand > span { font-size: 17px; }
    .brand img { width: 28px; height: 28px; }
    .mobile-menu-toggle,
    .header-actions .icon-button,
    .header-actions .cart-link { width: 30px; }
}
