/* Shared page-level theme finishing for storefront and account flows.
   Loaded after the selected palette so these component rules can use its tokens. */

html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) {
    --page-theme-line: rgba(255, 255, 255, .12);
    --page-theme-muted: rgba(255, 255, 255, .62);
    --page-theme-soft: rgba(255, 255, 255, .78);
}

html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .cart-item,
html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .cart-gift-menu,
html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .cart-compensate-modal-content,
html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .checkout-receipt {
    background-color: var(--fws-new-gray-dark);
    border-color: var(--fws-border);
    color: var(--fws-white);
}

html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .cart-item,
html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .cart-compensate-modal-content,
html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .checkout-receipt {
    border: 1px solid var(--fws-border);
}

html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .cart-gift-menu-item,
html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .cart-billing-label,
html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .cart-split-note,
html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .cart-vat-disclaimer,
html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .checkout-receipt-title,
html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .redeem-label,
html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .redeem-library-title {
    color: var(--page-theme-muted);
}

html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .cart-billing-input,
html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .redeem-input {
    background-color: var(--fws-new-gray-dark);
    border-color: var(--fws-border);
    color: var(--fws-white);
}

html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .cart-billing-input:focus,
html:is(.fws-theme-mono, .fws-theme-navy, .fws-theme-violet, .fws-theme-berry,
        .fws-theme-brown, .fws-theme-olive, .fws-theme-forest, .fws-theme-emerald) .redeem-input:focus {
    border-color: var(--fws-green);
    box-shadow: 0 0 0 3px var(--fws-glow);
}

/* Lumière+ reverses the copy as well as the surfaces. Keep fixed-alpha copy,
   form controls, gift menus, and the modal readable on the light cards. */
html.fws-lighter {
    --page-theme-line: rgba(0, 0, 0, .14);
    --page-theme-muted: rgba(0, 0, 0, .58);
    --page-theme-soft: rgba(0, 0, 0, .78);
}

html.fws-lighter .cart-item,
html.fws-lighter .cart-gift-menu,
html.fws-lighter .cart-compensate-modal-content,
html.fws-lighter .checkout-receipt {
    background-color: #ffffff !important;
    border-color: #d9d9d9 !important;
    color: #111111 !important;
}

html.fws-lighter .cart-gift-btn,
html.fws-lighter .cart-gift-menu-item,
html.fws-lighter .cart-gift-stale,
html.fws-lighter .cart-gift-friends-empty,
html.fws-lighter .cart-gift-friend-handle,
html.fws-lighter .cart-gift-modal-sub,
html.fws-lighter .cart-compensate-label,
html.fws-lighter .cart-compensate-info,
html.fws-lighter .cart-split-line,
html.fws-lighter .cart-split-note,
html.fws-lighter .cart-split-extra,
html.fws-lighter .cart-vat-disclaimer,
html.fws-lighter .cart-vat-disclaimer strong,
html.fws-lighter .checkout-return-sub,
html.fws-lighter .checkout-receipt-title,
html.fws-lighter .checkout-receipt-item,
html.fws-lighter .checkout-receipt-gift,
html.fws-lighter .checkout-receipt-gift strong,
html.fws-lighter .checkout-receipt-split p,
html.fws-lighter .redeem-lead,
html.fws-lighter .redeem-label,
html.fws-lighter .redeem-library-title,
html.fws-lighter .redeem-library-list a,
html.fws-lighter .redeem-back,
html.fws-lighter .redeem-noscript {
    color: var(--page-theme-muted) !important;
}

html.fws-lighter .cart-gift-btn strong,
html.fws-lighter .cart-gift-menu-item.is-active,
html.fws-lighter .cart-gift-friend,
html.fws-lighter .cart-gift-modal-game,
html.fws-lighter .cart-compensate-modal-content h2,
html.fws-lighter .cart-compensate-modal-content p,
html.fws-lighter .cart-split-studio-cut,
html.fws-lighter .checkout-return-title,
html.fws-lighter .checkout-receipt-name,
html.fws-lighter .checkout-receipt-price,
html.fws-lighter .redeem-title,
html.fws-lighter .redeem-done-title {
    color: #111111 !important;
}

html.fws-lighter .cart-gift-menu-item:hover,
html.fws-lighter .cart-gift-friend:hover,
html.fws-lighter .cart-gift-friend[aria-current="true"] {
    background-color: rgba(0, 0, 0, .06) !important;
}

html.fws-lighter .cart-gift-menu-item:focus-visible,
html.fws-lighter .cart-gift-btn:focus-visible {
    outline-color: rgba(0, 0, 0, .5) !important;
}

html.fws-lighter .cart-gift-btn,
html.fws-lighter .cart-gift-undo,
html.fws-lighter .cart-gift-keep,
html.fws-lighter .cart-compensate-label,
html.fws-lighter .cart-billing-input,
html.fws-lighter .redeem-input {
    border-color: rgba(0, 0, 0, .2) !important;
}

html.fws-lighter .cart-billing-input,
html.fws-lighter .redeem-input {
    background-color: #ffffff !important;
    color: #111111 !important;
}

html.fws-lighter .cart-billing-input::placeholder,
html.fws-lighter .redeem-input::placeholder {
    color: rgba(0, 0, 0, .4) !important;
}

html.fws-lighter .cart-item-gift-btn { color: var(--page-theme-muted) !important; }
html.fws-lighter .cart-compensate-modal-close { color: var(--page-theme-muted) !important; }
html.fws-lighter .cart-gift-keep,
html.fws-lighter .cart-gift-undo { color: #333333 !important; }
html.fws-lighter .cart-total-label,
html.fws-lighter .cart-total-price,
html.fws-lighter .cart-item-title,
html.fws-lighter .cart-item-price,
html.fws-lighter .cart-reco-title,
html.fws-lighter .cart-reco-card-title { color: #111111 !important; }
html.fws-lighter .cart-reco-card-price,
html.fws-lighter .cart-item-qty,
html.fws-lighter .cart-item-original { color: var(--page-theme-muted) !important; }
html.fws-lighter .cart-split-studio-cut[data-zero="true"],
html.fws-lighter .cart-split-studio[data-zero="true"] { color: var(--page-theme-muted) !important; }
html.fws-lighter .checkout-receipt-split { border-color: var(--page-theme-line) !important; }
html.fws-lighter .checkout-receipt-total { border-color: var(--page-theme-line) !important; color: #111111 !important; }
html.fws-lighter .redeem-input:focus,
html.fws-lighter .cart-billing-input:focus { border-color: #555555 !important; box-shadow: 0 0 0 3px rgba(0, 0, 0, .1) !important; }
html.fws-lighter .redeem-back:hover,
html.fws-lighter .redeem-back:focus-visible,
html.fws-lighter .redeem-library-list a:hover,
html.fws-lighter .redeem-library-list a:focus-visible { color: #111111 !important; }

html.fws-lighter .cart-gift-friend:hover,
html.fws-lighter .cart-gift-friend[aria-current="true"],
html.fws-lighter .cart-gift-menu-item:hover {
    background-color: rgba(0, 0, 0, .06) !important;
}

html.fws-lighter .cart-gift-friend-avatar--empty,
html.fws-lighter .cart-compensate-label,
html.fws-lighter .cart-compensate-label input[type="checkbox"],
html.fws-lighter .cart-compensate-example {
    background-color: rgba(0, 0, 0, .05) !important;
}

html.fws-lighter .cart-compensate-label:hover,
html.fws-lighter .cart-compensate-label input[type="checkbox"]:hover {
    background-color: rgba(0, 0, 0, .09) !important;
}

html.fws-lighter .cart-compensate-label,
html.fws-lighter .cart-compensate-label input[type="checkbox"],
html.fws-lighter .cart-split-summary,
html.fws-lighter .cart-split-table-head,
html.fws-lighter .cart-split-table-row,
html.fws-lighter .checkout-receipt-split,
html.fws-lighter .checkout-receipt-total {
    border-color: var(--page-theme-line) !important;
}

html.fws-lighter .cart-split-line,
html.fws-lighter .cart-split-table-head,
html.fws-lighter .cart-split-table-name,
html.fws-lighter .cart-split-table-cut,
html.fws-lighter .cart-split-table-pct,
html.fws-lighter .cart-split-table-payer,
html.fws-lighter .cart-split-table-note,
html.fws-lighter .cart-split-extra,
html.fws-lighter .cart-gift-modal-sub,
html.fws-lighter .cart-gift-friend-handle,
html.fws-lighter .cart-gift-friends-empty,
html.fws-lighter .cart-gift-stale,
html.fws-lighter .cart-compensate-info,
html.fws-lighter .cart-compensate-modal-close,
html.fws-lighter .cart-item-qty,
html.fws-lighter .cart-item-original,
html.fws-lighter .cart-reco-card-price,
html.fws-lighter .checkout-return-sub,
html.fws-lighter .checkout-receipt-title,
html.fws-lighter .checkout-receipt-item,
html.fws-lighter .checkout-receipt-gift,
html.fws-lighter .checkout-receipt-gift strong,
html.fws-lighter .checkout-receipt-split p {
    color: var(--page-theme-muted) !important;
}

html.fws-lighter .cart-gift-btn strong,
html.fws-lighter .cart-gift-menu-item,
html.fws-lighter .cart-gift-menu-item.is-active,
html.fws-lighter .cart-gift-friend,
html.fws-lighter .cart-gift-modal-game,
html.fws-lighter .cart-split-studio-cut,
html.fws-lighter .cart-split-studio-cut[data-zero="true"],
html.fws-lighter .cart-split-studio[data-zero="true"],
html.fws-lighter .cart-compensate-modal-content h2,
html.fws-lighter .cart-compensate-modal-content p,
html.fws-lighter .checkout-return-title,
html.fws-lighter .checkout-receipt-name,
html.fws-lighter .checkout-receipt-price,
html.fws-lighter .checkout-receipt-total {
    color: #111111 !important;
}

html.fws-lighter .cart-split-studio,
html.fws-lighter .cart-split-table-share,
html.fws-lighter .checkout-receipt-split .cart-split-studio {
    color: #15803d !important;
}

html.fws-lighter .cart-split-table-row--fws .cart-split-table-share {
    color: #111111 !important;
}

html.fws-lighter .cart-gift-btn,
html.fws-lighter .cart-gift-undo,
html.fws-lighter .cart-gift-keep,
html.fws-lighter .cart-compensate-label,
html.fws-lighter .cart-billing-input,
html.fws-lighter .redeem-input {
    border-color: var(--page-theme-line) !important;
}

html.fws-lighter .cart-gift-undo,
html.fws-lighter .cart-gift-keep {
    color: #333333 !important;
}

html.fws-lighter .cart-billing-input::placeholder,
html.fws-lighter .redeem-input::placeholder {
    color: rgba(0, 0, 0, .4) !important;
}

html.fws-lighter .cart-gift-btn:focus-visible,
html.fws-lighter .cart-gift-menu-item:focus-visible {
    outline-color: rgba(0, 0, 0, .5) !important;
}

html.fws-lighter .nt-row {
    border-color: var(--page-theme-line);
}

html.fws-lighter .nt-row:hover,
html.fws-lighter .nt-avatar--empty {
    background-color: rgba(0, 0, 0, .05) !important;
}

html.fws-lighter .nt-readall,
html.fws-lighter .nt-line,
html.fws-lighter .nt-actor,
html.fws-lighter .nt-subject,
html.fws-lighter .nt-verb--standalone,
html.fws-lighter .nt-detail,
html.fws-lighter .nt-empty p:first-of-type {
    color: #111111 !important;
}

html.fws-lighter .nt-excerpt,
html.fws-lighter .nt-age,
html.fws-lighter .nt-avatar--empty,
html.fws-lighter .nt-empty,
html.fws-lighter .nt-nojs,
html.fws-lighter .nt-status {
    color: var(--page-theme-muted) !important;
}

html.fws-lighter .nt-readall,
html.fws-lighter .nt-mark,
html.fws-lighter .nt-excerpt {
    border-color: var(--page-theme-line) !important;
}

html.fws-lighter .nt-readall:hover,
html.fws-lighter .nt-mark:hover {
    background-color: rgba(0, 0, 0, .06) !important;
    color: #111111 !important;
}
