/* Customer-page colour roles, derived from the approved homepage palette.
   Deliberately excludes the homepage, staff workspace, print output and gateway frames. */
@media screen {
    body.hkf-public-design:not(.page-home) {
        --brand-forest: #205141;
        --brand-forest-dark: #153f35;
        --brand-ink: #203e35;
        --brand-body: #465f53;
        --brand-muted: #596c60;
        --brand-ivory: #faf9f5;
        --brand-paper: #fffefb;
        --brand-sage: #eef3e9;
        --brand-sage-border: #cad7c6;
        --brand-brass: #76582d;
        --brand-champagne: #f4edde;
        --brand-rose: #f5eae5;
        --brand-rose-ink: #7d4e51;
        --brand-line: #d9e1d5;
        --hkf-page: var(--brand-ivory);
        --hkf-surface: var(--brand-paper);
        --hkf-surface-soft: var(--brand-sage);
        --hkf-surface-warm: #f7f3e9;
        --hkf-ink: var(--brand-ink);
        --hkf-muted: var(--brand-muted);
        --hkf-subtle: var(--brand-muted);
        --hkf-primary: var(--brand-forest);
        --hkf-primary-dark: var(--brand-forest-dark);
        --hkf-primary-soft: var(--brand-sage);
        --hkf-price: var(--brand-forest);
        --hkf-border: var(--brand-line);
        --hkf-border-strong: var(--brand-sage-border);
        --hkf-shadow-focus: 0 0 0 3px #20514122;
        --payment-ink: var(--brand-ink);
        --payment-muted: var(--brand-muted);
        --payment-line: var(--brand-line);
        --payment-accent: var(--brand-forest);
        background: var(--brand-ivory) !important;
        color: var(--brand-ink);
    }

    /* Forest carries navigation and decisions; brass is an accent, never faint body copy. */
    body.hkf-public-design:not(.page-home) main :is(h1, h2, h3) { color: var(--brand-ink) !important; }
    body.hkf-public-design:not(.page-home) :is(.legacy-product-panel-head h2, .info-story-card strong, .info-visual-proof-title, .about-mission-points li) { color: var(--brand-ink); }
    body.hkf-public-design:not(.page-home) .payment-sidebar a:not([class]):not([aria-current]) { color: var(--brand-forest); }
    body.hkf-public-design:not(.page-home) :is(.intro, .subtitle, .pl-lead, .small, .muted, .help-text, .help, .cart-summary-copy, .cart-quantity-hint) { color: var(--brand-muted); }
    body.hkf-public-design:not(.page-home) main :is(.kicker, .storefront-kicker, .about-kicker, .hall-eyebrow, .pl-kicker, .friends-eyebrow, .mp-eyebrow) { color: var(--brand-brass) !important; }
    body.hkf-public-design:not(.page-home) :is(.breadcrumb, .breadcrumbs, .friends-breadcrumb, .pl-breadcrumb, .storefront-breadcrumbs) { color: var(--brand-muted) !important; }
    body.hkf-public-design:not(.page-home) :is(.breadcrumb, .breadcrumbs, .friends-breadcrumb, .pl-breadcrumb, .storefront-breadcrumbs) :is(a, span) { color: inherit; }
    body.hkf-public-design:not(.page-home) :is(.public-site-footer .footer-brand-copy, .public-site-footer .footer-legal, .public-site-footer .footer-legal a) { color: var(--brand-muted) !important; }
    body.hkf-public-design:not(.page-home) main :is(.pl-step, .friends-step-number, .hall-fact dt > span, .hkf-topic-nav > a > span) { color: var(--brand-brass); }
    body.hkf-public-design:not(.page-home) :is(input, select, textarea) { accent-color: var(--brand-forest); }
    body.hkf-public-design:not(.page-home) :is(input, select, textarea) { color: var(--brand-ink); border-color: #7a8f7e; }
    body.hkf-public-design:not(.page-home) :is(input, textarea)::placeholder { color: #67776c; opacity: 1; }
    body.hkf-public-design:not(.page-home) :is(input, select, textarea)[aria-invalid="true"] { border-color: #9a4545; }
    body.hkf-public-design:not(.page-home) :is(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid var(--brand-brass); outline-offset: 4px; }

    /* Quiet, warm chapter openings connect guides and venues to the storefront. */
    body.hkf-public-design:not(.page-home) :is(.hero, .storefront-hero, .venue-hero, .about-hero, .hall-hero) {
        border-color: var(--brand-line);
        background-color: var(--brand-sage);
    }
    body.hkf-public-design:not(.page-home):is(.hkf-guide-page, .hkf-about-page) :is(.hero, .about-hero) {
        background: linear-gradient(115deg, #f6f0e2, #edf3e8);
        border-top: 3px solid #aa8c55;
    }
    body.hkf-public-design:not(.page-home) :is(.panel, .info-card, .info-story-card, .visual-example-card, .pl-card, .pl-product, .cart-item, .lookup-form) { border-color: var(--brand-line); }
    body.hkf-public-design:not(.page-home) :is(.info-story-card, .chip-card, .visual-example-card) { background-color: var(--brand-paper); }
    body.hkf-public-design:not(.page-home) :is(.hero .intro, .about-intro, .info-story-card span, .visual-example-card .example-desc) { color: var(--brand-body); }
    body.hkf-public-design:not(.page-home) :is(.button-link:not(.payme-paylink-button), .storefront-button.primary, .button-primary, .friends-button, .lookup-form button[type="submit"]) {
        background: var(--brand-forest) !important;
        border-color: var(--brand-forest) !important;
        color: #fffef9 !important;
    }
    body.hkf-public-design:not(.page-home) :is(.button-link:not(.payme-paylink-button), .storefront-button.primary, .button-primary, .friends-button, .lookup-form button[type="submit"]):hover { background: var(--brand-forest-dark) !important; }
    body.hkf-public-design:not(.page-home) :is(.button-link.secondary, .button-link.outline, .storefront-button.secondary, .button-secondary, .friends-button.secondary) {
        background: var(--brand-paper) !important;
        border-color: #a9bba5 !important;
        color: var(--brand-forest) !important;
    }
    body.hkf-public-design:not(.page-home) :is(.button-link.secondary, .button-link.outline, .storefront-button.secondary, .button-secondary, .friends-button.secondary):hover { background: var(--brand-sage) !important; }

    /* Product imagery supplies the vivid colour; supporting metadata stays legible. */
    body.hkf-public-design:not(.page-home) :is(.category-product-tag, .product-tag, .legacy-product-tag) {
        color: #475f45 !important;
        background: #edf2e7 !important;
        border-color: #ccd9c4;
    }
    body.hkf-public-design:not(.page-home) :is(.category-products-intro, .product-listing-copy, .product-listing-summary, .category-filter-summary, .category-quick-filters p) { color: var(--brand-muted); }
    body.hkf-public-design:not(.page-home) :is(.category-product-price, .legacy-product-price, .product-price) { color: var(--brand-forest) !important; }
    body.hkf-public-design:not(.page-home) .category-product-card .category-product-link { color: var(--brand-forest); }
    body.hkf-public-design:not(.page-home) .product-detail-cta { background: #f2f4e9; border-color: #c9d4bc; }
    body.hkf-public-design:not(.page-home) .product-detail-cta .product-reassurance { color: var(--brand-body); }

    /* Venue guidance: green for facts, warm brass for section markers. */
    body.hkf-public-design:not(.page-home) :is(.hall-english, .hall-source, .hall-source a, .hall-photo-note, .hall-photo-note a, .hall-facts dt, .hall-facts small) { color: var(--brand-muted) !important; }
    body.hkf-public-design:not(.page-home) .hall-facts dt > span { color: var(--brand-brass); }
    body.hkf-public-design:not(.page-home) :is(.hall-photo figcaption, .hall-photo-caption) { background: var(--brand-paper); }
    body.hkf-public-design:not(.page-home) .hall-facts { border-color: #cad6c0; }
    body.hkf-public-design:not(.page-home) .public-business-facts { background: var(--brand-sage); border-color: var(--brand-line); }
    body.hkf-public-design:not(.page-home) .public-business-facts :is(dt, p) { color: var(--brand-muted); }
    body.hkf-public-design:not(.page-home) .public-business-facts-intro > span { color: var(--brand-brass); }

    /* Sharing and group ordering get a warm accent without looking like warnings. */
    body.hkf-public-design:not(.page-home) .friends-rate-card { background: var(--brand-champagne); border-color: #d8c7a5; }
    body.hkf-public-design:not(.page-home) .friends-rate-card b { color: var(--brand-rose-ink); }
    body.hkf-public-design:not(.page-home) .friends-guide-help { background: var(--brand-rose); border-color: #e3cec5; }
    body.hkf-public-design:not(.page-home) .friends-guide p { color: var(--brand-body); }
    body.hkf-public-design:not(.page-home) :is(.friends-tiers span, .friends-steps p, .friends-example p, .friends-guide small) { color: var(--brand-muted); }
    body.hkf-public-design:not(.page-home) :is(.pl-story, .pl-warm) { background: #edf2e7; border-color: #d1ddc8; }
    body.hkf-public-design:not(.page-home) :is(.pl-story-footer, .pl-story-list > span, .pl-main small, .pl-main .pl-breadcrumb, .pl-main .pl-warm p) { color: var(--brand-muted); }
    body#top.hkf-public-design:not(.page-home) .pl-main .pl-button { background: var(--brand-forest) !important; border-color: var(--brand-forest) !important; }
    body#top.hkf-public-design:not(.page-home) .pl-main .pl-secondary { background: var(--brand-paper) !important; color: var(--brand-forest) !important; border-color: #a9bba5 !important; }
    body.hkf-public-design:not(.page-home) .pl-bottom-cta { background: var(--brand-champagne); border-color: #dfd1b5; }

    /* Word libraries and support pages need readable small labels as much as headings. */
    body.hkf-public-design:not(.page-home) :is(.mp-library-intro, .mp-library-note, .mp-result-summary > span, .mp-phrase-meta, .mp-more-filters p) { color: var(--brand-muted); }
    body.hkf-public-design:not(.page-home) .mp-tags a { color: #475f45; background: #edf2e7; }
    body.hkf-public-design:not(.page-home) .mp-religion { color: var(--brand-brass); background: var(--brand-champagne); }
    body.hkf-public-design:not(.page-home) :is(.wa-topic span, .wa-topics-intro, .wa-intro small, .wa-hero small) { color: var(--brand-muted); }
    body.hkf-public-design:not(.page-home) :is(.wa-topic-arrow, .wa-help-toggle) { color: var(--brand-brass) !important; }
    body.hkf-public-design:not(.page-home) .btn-action.whatsapp-btn { background: #166b4a !important; color: white !important; border-color: #166b4a !important; }

    /* Payment states retain explicit meaning; provider logos and embedded UIs are untouched. */
    body.hkf-public-design:not(.page-home) .payment-total { background: var(--brand-sage); border-color: var(--brand-sage-border); }
    body.hkf-public-design:not(.page-home) :is(.payment-total strong, .summary-balance, .summary-balance dt) { color: var(--brand-forest); }
    body.hkf-public-design:not(.page-home) .payment-state { background: #fbf0d9; border-color: #dfc68f; color: #76501d; }
    body.hkf-public-design:not(.page-home) .payment-state.is-paid { background: #e7f2e7; border-color: #bad3b7; color: #285d39; }
    body.hkf-public-design:not(.page-home) .status-pill { background: #fbf0d9; color: #76501d; }
    body.hkf-public-design:not(.page-home) .status-pill.ok { background: #e7f2e7; color: #285d39; }
    body.hkf-public-design:not(.page-home) :is(.pl-error, .checkout-step-error) { background: #fff0ed; color: #8b3434; border-color: #e0aaa2; }
    body.hkf-public-design:not(.page-home) :is(.pl-notice, .checkout-reassurance, .checkout-step-total, .cart-summary-panel) { background-color: var(--brand-sage); border-color: var(--brand-sage-border); }
    body.hkf-public-design:not(.page-home) :is(.cart-progress, .cart-checkout-steps, .checkout-step-progress) { color: var(--brand-muted); }

    /* Small labels are intentionally darker than decorative dividers. */
    body.hkf-public-design:not(.page-home) :is(.catalogue-breadcrumb, .wa-breadcrumb, .checkout-stepper, .hkf-topic-nav > span) { color: var(--brand-muted) !important; }
    body.hkf-public-design:not(.page-home) :is(.catalogue-breadcrumb, .wa-breadcrumb, .checkout-stepper) :is(a, span) { color: inherit; }
    body.hkf-public-design:not(.page-home) :is(.catalogue-shop-caption small, .legacy-product-panel-head p, .catalogue-filter-bar span, .catalogue-order-guide p, .catalogue-guide-help span, .product-listing-notice p, .product-listing-information p) { color: var(--brand-muted); }
    body.hkf-public-design:not(.page-home) .catalogue-guide-heading > span { color: var(--brand-brass); }
    body.hkf-public-design:not(.page-home) :is(.hall-card-number, .hkf-page-gap) { color: var(--brand-brass); }
    body.hkf-public-design:not(.page-home) :is(.hall-photo figcaption span, .hall-schedule-caption, .schedule-freshness-time, .schedule-freshness-sources, .schedule-freshness-sources a, .hall-schedule-scroll-hint, .hall-schedule-dates span) { color: var(--brand-muted); }
    body.hkf-public-design:not(.page-home) :is(.wa-shop-proof small, .wa-section-heading p, .wa-section-heading small, .wa-calm-note p) { color: var(--brand-muted); }
    body.hkf-public-design:not(.page-home) :is(.friends-rate-card span, .pl-bottom-cta p) { color: var(--brand-body); }

    /* Explicit light-on-forest treatment for the About page's closing invitation. */
    body.hkf-public-design:not(.page-home) .about-cta-panel { background: var(--brand-forest); }
    body.hkf-public-design:not(.page-home) .about-cta-panel h2 { color: #fffdf4 !important; }
    body.hkf-public-design:not(.page-home) .about-cta-panel p { color: #e1eadf; }
    body.hkf-public-design:not(.page-home) .about-cta-links a.is-primary { background: #ead8ad; color: #173e32; }
    body.hkf-public-design:not(.page-home) .about-cta-links a:not(.is-primary) { background: #ffffff0d; border-color: #b9cfba; color: #fffdf4; }
    body.hkf-public-design:not(.page-home) :is(.catalogue-shop-caption small, .whatsapp-support-shell small, .checkout-stepper .checkout-step > span) { color: var(--brand-muted) !important; }
    body.hkf-public-design:not(.page-home) :is(.cart-items-heading > span, .cart-line-code, .cart-line-unit, .cart-line-quantity > span, .cart-line-subtotal > span, .cart-summary-panel .summary span, .cart-next-note summary, .cart-summary-help > span) { color: var(--brand-muted); }
    body.hkf-public-design:not(.page-home) .cart-summary-eyebrow { color: var(--brand-brass); }
    body.hkf-public-design:not(.page-home) #cart-content :is(.cart-remove-button, .cart-clear-button) { color: #8b3c40 !important; background: #fff5f1 !important; border-color: #d8b8b0 !important; }
    body.hkf-public-design:not(.page-home) .required-badge { color: #475f45 !important; background: #edf2e7 !important; border-color: #c4d0bc !important; }
    body.hkf-public-design:not(.page-home) :is(.hkf-product-back > span, .legacy-product-image-note) { color: var(--brand-muted); }

    /* The schedule workspace uses the same roles as the venue guides. */
    body.hkf-public-design:not(.page-home) :is(.schedule-page-intro nav, .schedule-page-heading p, .schedule-search-copy p, .schedule-more-filters summary, .schedule-more-filters span, .schedule-quick-dates span, .schedule-search-links, .schedule-result-summary, .schedule-result-summary p, .schedule-result-date > span, .schedule-result-meta > span, .schedule-pagination, .schedule-pagination-note) { color: var(--brand-muted); }
    body.hkf-public-design:not(.page-home) :is(.schedule-page-intro nav, .schedule-search-links) :is(a, span) { color: inherit; }
    body.hkf-public-design:not(.page-home) .schedule-page-kicker { color: var(--brand-brass); }
    body#top.hkf-public-design:not(.page-home) .schedule-search-actions .storefront-button.secondary { color: var(--brand-forest) !important; }
    body.hkf-public-design:not(.page-home) .schedule-pagination-disabled { color: var(--brand-muted); }
    body.hkf-public-design:not(.page-home) :is(.schedule-result-summary, .schedule-pagination) span { color: var(--brand-muted) !important; }
    body#top.hkf-public-design:not(.page-home) .notice-mobile-tabs button[aria-pressed="false"] { color: var(--brand-muted) !important; }
    body#top.hkf-public-design:not(.page-home) .notice-mobile-tabs button[aria-pressed="true"] { background: var(--brand-forest) !important; color: #fffef9 !important; }

    body.hkf-public-design:not(.page-home) :is(.review-showcase-score > span, .review-showcase-comments-heading > span, .review-showcase-disclosure, .review-author-link + time) { color: var(--brand-muted); }
    body.hkf-public-design:not(.page-home) .review-comment-stars { color: var(--brand-brass); }
    body.hkf-public-design:not(.page-home) .review-comment-source { color: var(--brand-forest); }
    body.hkf-public-design:not(.page-home) :is(.checkout-step-kicker, .checkout-optional) { color: var(--brand-brass); }
    body.hkf-public-design:not(.page-home) :is(.checkout-step-progress span, .checkout-paste-heading p, .checkout-item-help, .checkout-step-sidebar dt) { color: var(--brand-muted); }
}
