/**
 * Portal solid theme — no gradients; earthy orange + farm green flats.
 * Load last (after portal_chrome_css) in customer_portal_head.php.
 */
:root,
body.bh-page,
body.mh-page {
    --kf-page-bg: #f7faf8;
    --kf-earth-green: #ffffff;
    --kf-nature-page-bg: #f7faf8;
    --kf-nature-surface: #f8fcfa;
    --kf-nature-hero-bg: #f8fcfa;
    --kf-nature-strip-bg: #fff7ed;
    --kf-nature-title-grad: #166534;
    --kf-nature-accent-grad: #15803d;
    --kf-portal-cta-bg: #15803d;
    --kf-portal-cta-shadow: 0 4px 14px rgba(5, 150, 105, 0.22);
    --kf-portal-bottom-chrome-bg: #1d7232;
    --kf-portal-header-chrome-bg: #ffffff;
    --kph-header-orange: #c2410c;
    --kph-header-orange-deep: #9a3412;
    --kph-header-orange-ink: #fff7ed;
    --kf-cta-from: #e8f5ec;
    --kf-cta-mid: #d1fae5;
    --kf-cta-to: #bbf7d0;
    --kf-solid-green: #15803d;
    --kf-solid-green-deep: #166534;
    --kf-solid-green-soft: #ecfdf5;
    --kf-solid-orange: #ea580c;
    --kf-solid-orange-deep: #c2410c;
    --kf-solid-orange-soft: #fff7ed;
    --kf-solid-orange-earth: #f0e2d4;
    --kf-solid-cream: #faf9f6;
    --kf-solid-ink: #3f2a1a;
}

html:has(body.bh-page),
html:has(body.mh-page) {
    background: var(--kf-page-bg) !important;
}

body.bh-page,
body.mh-page {
    background: var(--kf-page-bg) !important;
    background-image: none !important;
}

/* Decorative gradient meshes / blobs / sheens */
body.bh-page [class*='__blob'],
body.bh-page [class*='__bokeh'],
body.bh-page [class*='__shimmer'],
body.bh-page [class*='__mesh'],
body.bh-page [class*='__sheen'],
body.mh-page [class*='__blob'],
body.mh-page [class*='__bokeh'],
body.mh-page [class*='__shimmer'],
body.mh-page [class*='__mesh'],
body.mh-page [class*='__sheen'] {
    display: none !important;
}

body.kf-portal-spa::before {
    background: #22c55e !important;
    background-image: none !important;
}

/* Hub / card shells */
body.mh-page main#cph-main > .mh-basket-hub,
body.bh-page .bh-card,
body.bh-page .bh-grid,
body.mh-page .mh-carousel,
body.mh-page .cab-surface {
    background-image: none !important;
}

body.mh-page main#cph-main > .mh-basket-hub {
    background: #ffffff !important;
}

/* Hero title accents — solid green, not gradient text */
body.bh-page [class*='__title-accent'],
body.mh-page [class*='__title-accent'],
body.bh-page .mh-basket-hub__title--gfy .mh-greet__name-accent,
body.mh-page .mh-basket-hub__title--gfy .mh-greet__name-accent {
    background: none !important;
    background-image: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: #15803d !important;
    color: #15803d !important;
}

/* Primary CTAs */
body.bh-page :is(
        .sub-start-cta,
        .bh-add-cart-cta,
        .mh-greet__harvest-cta,
        a.mh-greet__harvest-cta,
        button.mh-greet__harvest-cta,
        .kf-customer-cta:not(.kf-customer-cta--secondary),
        a.kf-customer-cta:not(.kf-customer-cta--secondary),
        button.kf-customer-cta:not(.kf-customer-cta--secondary),
        .bh-bar__cta,
        .shop-hub-order__btn,
        .ca-btn:not(.ca-btn--ghost):not(.ca-btn--inline),
        .coh-empty__btn,
        .cwa-empty__btn,
        .mb-basket-foot-actions a.mb-basket-foot-actions__primary,
        .cw-modal__btn.cw-modal__btn--primary
    ),
body.mh-page :is(
        .sub-start-cta,
        .bh-add-cart-cta,
        .mh-greet__harvest-cta,
        a.mh-greet__harvest-cta,
        button.mh-greet__harvest-cta,
        .kf-customer-cta:not(.kf-customer-cta--secondary),
        a.kf-customer-cta:not(.kf-customer-cta--secondary),
        button.kf-customer-cta:not(.kf-customer-cta--secondary),
        .bh-bar__cta,
        .shop-hub-order__btn,
        .ca-btn:not(.ca-btn--ghost):not(.ca-btn--inline),
        .coh-empty__btn,
        .cwa-empty__btn,
        .mb-basket-foot-actions a.mb-basket-foot-actions__primary,
        .cw-modal__btn.cw-modal__btn--primary
    ),
.sub-start-cta,
.bh-add-cart-cta,
.mh-greet__harvest-cta {
    background: var(--kf-solid-green) !important;
    background-image: none !important;
    border-color: rgba(21, 128, 61, 0.45) !important;
    box-shadow: var(--kf-portal-cta-shadow) !important;
}

.sub-start-cta__shine {
    display: none !important;
}

/* Header hero — off-white (Install button stays orange below) */
body.bh-page .kph-hero,
body.mh-page .kph-hero {
    background: #ffffff !important;
    background-image: none !important;
    border-bottom-color: rgba(15, 23, 42, 0.08) !important;
}

header.kph .kph-delivery-strip--bar,
.kph-delivery-strip--bar {
    background: #fb923c !important;
    background-image: none !important;
}

header.kph .kph-delivery-strip--msg,
.kph-delivery-strip--msg {
    background-color: #ea580c !important;
    background-image: linear-gradient(180deg, #fb923c 0%, #ea580c 100%) !important;
    color: #fff7ed !important;
}

header.kph .kph-delivery-strip--msg .kph-delivery-strip__text,
.kph-delivery-strip--msg .kph-delivery-strip__text {
    color: #fff7ed !important;
    -webkit-text-fill-color: #fff7ed;
}

header.kph .kph-farmer-thanks,
.kph-farmer-thanks {
    background-color: #ea580c !important;
    background-image: linear-gradient(180deg, #fb923c 0%, #ea580c 100%) !important;
}

header.kph .kph-farmer-thanks__text,
.kph-farmer-thanks__text {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
}

.kph-pwa-install {
    background: var(--kph-header-orange-deep, #9a3412) !important;
    background-image: none !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
    color: var(--kph-header-orange-ink, #fff7ed) !important;
}

.kph-delivery-strip__sheen {
    display: none !important;
}

/* Bottom tab bar — milky background (classic tabs only; tile rebrand has its own dock) */
body.bh-page.with-login-bottom-nav .ca-lnav:not(.ca-lnav--tile-rebrand),
.ca-lnav:not(.ca-lnav--tile-rebrand) {
    background: linear-gradient(180deg, #fdfdfb 0%, #f4f3ee 100%) !important;
    border-top: 1px solid #dcdcd4 !important;
    box-shadow:
        0 -6px 18px rgba(15, 23, 42, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
}

body.bh-page.with-login-bottom-nav .ca-lnav:not(.ca-lnav--tile-rebrand) .ca-lnav__link,
body.bh-page.with-login-bottom-nav .ca-lnav:not(.ca-lnav--tile-rebrand) .ca-lnav__label {
    color: #64748b !important;
}

body.bh-page.with-login-bottom-nav .ca-lnav:not(.ca-lnav--tile-rebrand) .ca-lnav__link--active,
body.bh-page.with-login-bottom-nav .ca-lnav:not(.ca-lnav--tile-rebrand) .ca-lnav__link[aria-current='page'],
body.bh-page.with-login-bottom-nav .ca-lnav:not(.ca-lnav--tile-rebrand) .ca-lnav__link--active .ca-lnav__label,
body.bh-page.with-login-bottom-nav .ca-lnav:not(.ca-lnav--tile-rebrand) .ca-lnav__link[aria-current='page'] .ca-lnav__label {
    color: var(--ca-lnav-active) !important;
}

body.bh-page.with-login-bottom-nav .ca-lnav:not(.ca-lnav--tile-rebrand) .ca-lnav__link--active .ca-lnav__icon,
body.bh-page.with-login-bottom-nav .ca-lnav:not(.ca-lnav--tile-rebrand) .ca-lnav__link[aria-current='page'] .ca-lnav__icon {
    color: var(--ca-lnav-active) !important;
    background: rgba(13, 148, 136, 0.12) !important;
    background-image: none !important;
}

/* Veggies basket — unit tracker & subcategory */
body.veggies-basket-contact-page .bh-unit-strip,
body.custom-pick-basket-page .bh-unit-strip {
    background: var(--kf-solid-orange-soft) !important;
    background-image: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.veggies-basket-contact-page .bh-unit-strip--cap,
body.custom-pick-basket-page .bh-unit-strip--cap {
    background: #fef2f2 !important;
}

body.veggies-basket-contact-page .bh-unit-strip__status,
body.custom-pick-basket-page .bh-unit-strip__status {
    font-size: 0.6875rem !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    color: #64748b !important;
}

body.veggies-basket-contact-page .bh-unit-strip__badge {
    background: #fff !important;
    background-image: none !important;
    border-color: rgba(15, 23, 42, 0.12) !important;
    border-radius: 0 !important;
}

body.veggies-basket-contact-page .bh-unit-strip__progress-fill {
    background: var(--kf-solid-green) !important;
    background-image: none !important;
}

body.veggies-basket-contact-page .bh-unit-strip--cap .bh-unit-strip__progress-fill {
    background: #dc2626 !important;
}

body.veggies-basket-contact-page:not(.shop-page) .bh-subcategory-band,
body.custom-pick-basket-page:not(.shop-page) .bh-subcategory-band {
    background: #ecfdf5 !important;
    background-image: none !important;
}

/* Wallet chip — light card on orange header */
.kph-wallet {
    background-image: none !important;
    background: rgba(255, 255, 255, 0.94) !important;
}

/* Wallet tip strip */
.kph-wallet-tip {
    background: #fffbeb !important;
    background-image: none !important;
}

/* Trust pills, seg buttons, pack cards — flatten common greens */
body.veggies-basket-contact-page .bh-trust-pill,
body.veggies-basket-contact-page .bh-seg__btn--active,
body.veggies-basket-contact-page .bh-pack-card--active,
body.veggies-basket-contact-page .bh-tier-card--active {
    background-image: none !important;
}

body.veggies-basket-contact-page .bh-seg__btn--active {
    background: var(--kf-solid-green-soft) !important;
}

/* Pay sheet option buttons stay distinct (solid tints) */
.bh-pay-sheet__btn--wallet {
    background: #eef2ff !important;
    background-image: none !important;
}

.bh-pay-sheet__btn--cod {
    background: #fffbeb !important;
    background-image: none !important;
}

.bh-pay-sheet__btn--now {
    background: var(--kf-solid-green-soft) !important;
    background-image: none !important;
}

/* Shop QC checkout CTA */
body.shop-page-unified .shop-checkout-band .shop-hub-order__btn {
    background: var(--kf-solid-green) !important;
    background-image: none !important;
}

/* Flashes / strips */
.bh-flash--ok,
.bh-ok--order-success {
    background: var(--kf-solid-green-soft) !important;
    background-image: none !important;
}

.bh-customize-strip,
.bh-custom-selected-category {
    background: var(--kf-solid-green-soft) !important;
    background-image: none !important;
}

/* My home / subscription hero bands */
body.my-home-lively .mh-v2-hero,
body.subscription-contact-lively .sub-contact-page-hero,
body.shop-page-unified .shop-page-hero,
body.orders-page-lively .orders-page-hero {
    background: var(--kf-nature-hero-bg) !important;
    background-image: none !important;
}

/* Bottom tab bar — flat square tiles, no dock chrome */
body.bh-page.with-login-bottom-nav .ca-lnav--tile-rebrand,
body.mh-page.with-login-bottom-nav .ca-lnav--tile-rebrand,
.ca-lnav--tile-rebrand {
    background: transparent !important;
    border-top: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

body.bh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link,
body.bh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link .ca-lnav__label,
body.bh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link .ca-lnav__icon,
body.mh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link,
body.mh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link .ca-lnav__label,
body.mh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link .ca-lnav__icon {
    color: #fff !important;
}

body.bh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link--active .ca-lnav__icon,
body.bh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link[aria-current='page'] .ca-lnav__icon,
body.mh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link--active .ca-lnav__icon,
body.mh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link[aria-current='page'] .ca-lnav__icon {
    color: #fff !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

body.bh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link--active .ca-lnav__label,
body.bh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link[aria-current='page'] .ca-lnav__label,
body.mh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link--active .ca-lnav__label,
body.mh-page.with-login-bottom-nav .ca-lnav--tile-rebrand .ca-lnav__link[aria-current='page'] .ca-lnav__label {
    color: #fff !important;
    font-weight: 800 !important;
}

/* Generic category basket — flat native surfaces */
body.custom-generic-basket-page.custom-pick-basket-page main#cph-main > .mh-basket-hub,
body.custom-generic-basket-page.custom-pick-basket-page .bh-card,
body.custom-generic-basket-page.custom-pick-basket-page .bh-grid {
    background: #ffffff !important;
    background-image: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.custom-generic-basket-page.custom-pick-basket-page .vbasket-page-hero:not(.vbasket-page-hero--cat-banner) {
    background: #ffffff !important;
    border-bottom: 1px solid #e5e7eb !important;
    box-shadow: none !important;
}

body.custom-generic-basket-page.custom-pick-basket-page .vbasket-page-hero.vbasket-page-hero--cat-banner,
body.custom-generic-basket-page.custom-pick-basket-page .vbasket-page__hero:has(.vbasket-page-hero--cat-banner) {
    padding: 0 !important;
    background: #0f172a !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

body.custom-generic-basket-page.custom-pick-basket-page:not(.shop-page) .bh-subcategory-band {
    background: #f8fafc !important;
    border-radius: 0 !important;
}

/* Category Add To Cart + /my-cart Order Now — compact pill CTA */
body.custom-generic-basket-page button.bh-add-cart-cta.sub-start-cta.mh-greet__harvest-cta,
body.cart-page-lively button.bh-add-cart-cta.sub-start-cta.mh-greet__harvest-cta {
    background: var(--bh-cat-btn-bg, linear-gradient(180deg, #059669 0%, #047857 100%)) !important;
    background-image: var(--bh-cat-btn-bg, linear-gradient(180deg, #059669 0%, #047857 100%)) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    box-shadow: 0 4px 14px var(--bh-cat-btn-shadow, rgba(5, 150, 105, 0.22)) !important;
    width: auto !important;
    max-width: min(100%, 20rem) !important;
    min-height: 40px !important;
    padding: 8px 14px !important;
}

body.custom-generic-basket-page button.bh-add-cart-cta.sub-start-cta:not(:disabled):active,
body.cart-page-lively button.bh-add-cart-cta.sub-start-cta:not(:disabled):active {
    box-shadow: 0 2px 8px var(--bh-cat-btn-shadow-active, rgba(5, 150, 105, 0.28)) !important;
}

body.custom-generic-basket-page button.bh-add-cart-cta.sub-start-cta.bh-add-cart-cta--ready:not(:disabled),
body.cart-page-lively button.bh-add-cart-cta.sub-start-cta.bh-add-cart-cta--ready:not(:disabled) {
    box-shadow: 0 5px 16px var(--bh-cat-btn-shadow-ready, rgba(5, 150, 105, 0.32)) !important;
}

/* Category Order Now — bright yellow (must win over harvest/green CTA rules) */
body.custom-generic-basket-page button#bh-order-inline.bh-order-now-cta,
body.custom-generic-basket-page button.bh-order-now-cta.shop-order-cta {
    border: 1px solid rgba(201, 162, 0, 0.55) !important;
    background: linear-gradient(180deg, #ffe566 0%, #ffd400 55%, #f5c400 100%) !important;
    background-image: linear-gradient(180deg, #ffe566 0%, #ffd400 55%, #f5c400 100%) !important;
    color: #1a1a1a !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.55) inset,
        0 5px 14px rgba(245, 196, 0, 0.38) !important;
}

body.custom-generic-basket-page button#bh-order-inline.bh-order-now-cta .sub-start-cta__label,
body.custom-generic-basket-page button.bh-order-now-cta.shop-order-cta .sub-start-cta__label {
    color: #1a1a1a !important;
}

body.custom-generic-basket-page button#bh-order-inline.bh-order-now-cta.shop-order-cta--ready:not(:disabled),
body.custom-generic-basket-page button.bh-order-now-cta.shop-order-cta--ready:not(:disabled) {
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.55) inset,
        0 6px 16px rgba(245, 196, 0, 0.48) !important;
}

body.custom-generic-basket-page button#bh-order-inline.bh-order-now-cta:disabled,
body.custom-generic-basket-page button.bh-order-now-cta.shop-order-cta:disabled {
    opacity: 0.88 !important;
    filter: none !important;
}

/* Farm basket dual CTAs — match category Order Now / Add To Cart */
body.veggies-basket-contact-page .bh-basket-foot__actions--dual .bh-inline-save.bh-order-now-cta,
body.veggies-basket-contact-page .bh-basket-foot__actions--dual .bh-inline-save {
    border: 1px solid rgba(201, 162, 0, 0.55) !important;
    background: linear-gradient(180deg, #ffe566 0%, #ffd400 55%, #f5c400 100%) !important;
    background-image: linear-gradient(180deg, #ffe566 0%, #ffd400 55%, #f5c400 100%) !important;
    color: #1a1a1a !important;
}

body.veggies-basket-contact-page .bh-basket-foot__actions--dual .bh-inline-save .sub-start-cta__label,
body.veggies-basket-contact-page .bh-basket-foot__actions--dual .bh-inline-save .bh-add-cart-cta__label {
    color: #1a1a1a !important;
}

body.veggies-basket-contact-page .bh-basket-foot__actions--dual .bh-subscribe-cta {
    border: 1px solid rgba(21, 128, 61, 0.4) !important;
    background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
    background-image: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
    color: #ffffff !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 8px 12px !important;
}

body.veggies-basket-contact-page .bh-basket-foot__actions--dual .mh-greet__harvest-cta-wrap,
body.veggies-basket-contact-page .bh-basket-foot__actions--dual .bh-subscribe-cta-wrap {
    flex: 1 1 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
}

body.veggies-basket-contact-page .bh-basket-foot__actions--dual .bh-inline-save.mh-greet__harvest-cta,
body.veggies-basket-contact-page .bh-basket-foot__actions--dual .bh-inline-save.sub-start-cta {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 8px 12px !important;
}
