/* Readable interface roles. Card artwork, payment-provider frames and paper output retain their own type. */
@media screen {
    body.hkf-public-design {
        --hkf-type-caption: 12px;
        --hkf-type-small: 14px;
        --hkf-type-body: 16px;
        --hkf-space-1: 4px;
        --hkf-space-2: 8px;
        --hkf-space-3: 12px;
        --hkf-space-4: 16px;
        --hkf-space-6: 24px;
        --hkf-space-8: 32px;
        --hkf-readable-muted: #53664f;
        --hkf-readable-gold: #76582d;
    }
    /* Supporting words carry real instructions; decoration remains visually quiet. */
    body#top.page-home :is(.home-section-heading p, .home-audience-heading div>span, .home-selection-help, .pl-home-feature p, .friends-offer-banner p, .friends-offer-banner small) { color:var(--hkf-readable-muted)!important; }
    body#top.page-home :is(.pl-kicker, .friends-eyebrow) { color:var(--hkf-readable-gold)!important; }
    body#top.page-home :is(.home-section-heading p, .home-promise p, .home-selection-help, .pl-home-feature p) { font-size:var(--hkf-type-small)!important; line-height:1.8; }
    body.hkf-wiki-page :is(.wiki-breadcrumb, .wiki-breadcrumb a, .wiki-card p) { color:var(--hkf-readable-muted)!important; }
    body.hkf-wiki-page .wiki-card p { font-size:var(--hkf-type-small); line-height:1.85; }
    body#top.relationship-page :is(.relationship-breadcrumb, .relationship-breadcrumb a, .relationship-section-heading p, .relationship-help, .relationship-result-count, .relationship-preview-empty p, .relationship-guide p) { color:var(--hkf-readable-muted)!important; }
    body#top.relationship-page :is(.relationship-guide article>span, .relationship-section-heading>span) { color:var(--hkf-readable-gold)!important; }
    body#top.relationship-page :is(.relationship-help, .relationship-result-count, .relationship-section-heading p, .relationship-choice>small) { font-size:var(--hkf-type-caption); }
    body#top.relationship-page :is(.relationship-guide p, .relationship-preview-empty p) { font-size:var(--hkf-type-small); line-height:1.85; }
    body#top.page-product-listing :is(.catalogue-choice-note, .catalogue-choice-note>span) { color:var(--hkf-readable-muted)!important; }
    body#top.hkf-product-page .product-related-swipe { color:var(--hkf-readable-muted)!important; font-size:var(--hkf-type-caption); }
    body.hkf-public-design :is(.family-btn-remove, .btn-action.danger) { color:#991b1b!important; background:#fee2e2!important; border-color:#e7b7b7; }
    body.hkf-public-design .family-btn-remove { min-width:44px; min-height:44px; }
    /* Shared line icons have a predictable optical stroke at every control size. */
    :is(body.hkf-public-design, body.hk-admin-shell) .public-icon svg { display:block; overflow:visible; }
    :is(body.hkf-public-design, body.hk-admin-shell) .public-icon svg :is(path,circle,rect,ellipse,line,polyline,polygon) { vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; }
    :is(body.hkf-public-design, body.hk-admin-shell) .public-icon:not(.public-icon--sprig) svg :is(path,circle,rect,ellipse,line,polyline,polygon) { stroke-width:1.65px; }
    body.hkf-public-design :is(.relationship-hero-flower, .home-hero-botanical, .home-story-art, .catalogue-botanical) .public-icon svg :is(path,circle) { stroke-width:1.2px; }
    /* Input groups keep a readable rhythm without changing the printed notice/card dimensions. */
    body.hkf-public-design :is(.relationship-guide, .wiki-tools) { margin-top:var(--hkf-space-8); }
    body.hkf-public-design :is(.flower-finder label, .relationship-name-label) { line-height:1.7; }
    body.hkf-public-design .about-kicker { font-size:var(--hkf-type-caption); }
    @media(max-width:600px) {
        body.hkf-public-design :is(.relationship-guide, .wiki-tools) { margin-top:var(--hkf-space-6); }
        body.hkf-public-design :is(.hall-breadcrumb, .hall-eyebrow, .hall-fact dt, .wa-breadcrumb, .wa-shortcuts small) { font-size:var(--hkf-type-caption)!important; }
        body.hkf-public-design :is(.hall-intro, .wa-intro, .home-intro-description) { line-height:1.85; }
    }
}
@media screen {
    /* Finish the caption floor where old inline rules still own component sizes. */
    body#top.hkf-public-design :is(.home-category-access-context, .home-category-access-cta, .home-promotions-note, .catalogue-breadcrumb, .catalogue-breadcrumb a, .product-listing-back-to-filter, .category-product-tag, .legacy-product-image-note, .mp-library-total, .mp-card-meta, .mp-card-meta span, .mp-tags a, .mp-religion, .checkout-step span, .google-review-freshness, .review-showcase-note) { font-size:var(--hkf-type-caption)!important; }
    body#top.hkf-public-design .hkf-product-back>span { font-size:var(--hkf-type-caption)!important; }
    body.hkf-about-page .about-kicker span { font-size:var(--hkf-type-caption)!important; }
    body.whatsapp-support-page :is(.wa-quick-prompt p, .wa-task-copy span, .wa-task-copy small) { font-size:var(--hkf-type-caption)!important; }
    body.page-schedule :is(.schedule-search-form small, .schedule-filter-label, .schedule-date-quick-links a, .schedule-date-quick-links span) { font-size:var(--hkf-type-caption)!important; }
}
@media screen and (max-width:600px) {
    body.hkf-public-design main :is(button,summary) { min-height:44px; }
    body.hkf-public-design .mp-tags a { min-height:32px; display:inline-flex; align-items:center; padding-top:5px; padding-bottom:5px; }
}
@media screen {
    body#top.relationship-page :is(.relationship-review-message, .relationship-card-tag, .relationship-card-line small) { color:var(--hkf-readable-gold)!important; }
    body#top.relationship-page .relationship-copy-status { color:#315441; }
}
@media screen {
    body.hkf-public-design .flower-finder-body>small { color:var(--hkf-readable-muted)!important; }
    body.page-product-listing .catalogue-category-nav>a { font-size:12px!important; }
}
@media screen and (max-width:600px) {
    html:lang(en) body.page-product-listing .catalogue-category-nav { display:flex; gap:8px; overflow-x:auto; overscroll-behavior-x:contain; padding-bottom:8px; scrollbar-width:thin; }
    html:lang(en) body.page-product-listing .catalogue-category-nav>a { flex:0 0 auto; min-width:90px; min-height:44px; padding:10px 12px; white-space:nowrap!important; }
}
