/* Shared Easypix palette. Images keep their original colors. */
.easypix-site {
    --ep-bg: #ffffff;
    --ep-surface: #ffffff;
    --ep-surface-raised: #f5f5f2;
    --ep-category-bg: #e3e5e9;
    --ep-soft: #f5f5f5;
    --ep-border: #e7e7e2;
    --ep-rule: #e7e7e5;
    --ep-ink: #333330;
    --ep-heading: #20201f;
    --ep-text: #4a4a49;
    --ep-muted: #71716b;
    --ep-meta: #656563;
    --ep-accent: #fca90f;
    --ep-accent-ink: #20201f;
    --ep-accent-soft: #fff4da;
    --ep-accent-text: #73500b;
    --ep-link: #795900;
    --ep-link-hover: #4c3800;
    --ep-focus: #896400;
    --ep-danger: #a12c25;
    --ep-danger-soft: #fff2f0;
    --ep-sale: #bc202c;
    --ep-success: #286337;
    --ep-success-soft: #edf6ed;
    --ep-input-border: #d9d9d3;
    --ep-control-border: #c6c6c3;
    --ep-warning-soft: #fff8e8;
    --ep-warning-border: #eee5d1;
    --ar-body-bg: var(--ep-bg);
    --ar-body-color: var(--ep-text);
    --ar-heading-color: var(--ep-ink);
    --ar-border-color: var(--ep-border);
    background: var(--ep-bg);
    color: var(--ep-text);
}
html[data-bs-theme="dark"] { color-scheme: dark; background: #151615; }
html[data-bs-theme="light"] { color-scheme: light; }
[data-bs-theme="dark"] .easypix-site {
    --ep-bg: #151615;
    --ep-surface: #20211f;
    --ep-surface-raised: #292b28;
    --ep-category-bg: #292b28;
    --ep-soft: #292b28;
    --ep-border: #41443f;
    --ep-rule: #41443f;
    --ep-ink: #f1f2ec;
    --ep-heading: #f1f2ec;
    --ep-text: #e1e5db;
    --ep-muted: #b6bbb0;
    --ep-meta: #b6bbb0;
    --ep-accent-soft: #3b3019;
    --ep-accent-text: #f3bc4c;
    --ep-link: #f3bc4c;
    --ep-link-hover: #ffd071;
    --ep-focus: #f3bc4c;
    --ep-danger: #ff9a92;
    --ep-danger-soft: #3d2423;
    --ep-sale: #ff939b;
    --ep-success: #a4d5ab;
    --ep-success-soft: #25382b;
    --ep-input-border: #686e63;
    --ep-control-border: #686e63;
    --ep-warning-soft: #3b3019;
    --ep-warning-border: #6d572b;
    --ar-body-color-rgb: 225, 229, 219;
    --ar-body-bg-rgb: 21, 22, 21;
    --ar-emphasis-color: #f1f2ec;
    --ar-emphasis-color-rgb: 241, 242, 236;
    --ar-secondary-color: #b6bbb0;
    --ar-secondary-color-rgb: 182, 187, 176;
    --ar-tertiary-color: #b6bbb0;
    --ar-secondary-bg: #292b28;
    --ar-secondary-bg-rgb: 41, 43, 40;
    --ar-tertiary-bg: #20211f;
    --ar-tertiary-bg-rgb: 32, 33, 31;
    --ar-link-color: #f3bc4c;
    --ar-link-color-rgb: 243, 188, 76;
    --ar-link-hover-color: #ffd071;
    --ar-link-hover-color-rgb: 255, 208, 113;
    --ar-primary: #fca90f;
    --ar-primary-rgb: 252, 169, 15;
    --ar-primary-text-emphasis: #f3bc4c;
    --ar-primary-bg-subtle: #3b3019;
    --ar-info-text-emphasis: #b7dcf2;
    --ar-info-bg-subtle: #202c35;
    --ar-info-border-subtle: #375264;
    --ar-success-text-emphasis: #a4d5ab;
    --ar-success-bg-subtle: #25382b;
    --ar-success-border-subtle: #466c4d;
    --ar-danger-text-emphasis: #ff9a92;
    --ar-danger-bg-subtle: #3d2423;
    --ar-danger-border-subtle: #80534f;
    --ar-warning-text-emphasis: #f3bc4c;
    --ar-warning-bg-subtle: #3b3019;
    --ar-warning-border-subtle: #6d572b;
}
[data-bs-theme="dark"] .easypix-navbar.navbar-stuck { background-color: var(--ep-surface); }
/* Yellow actions always use dark text, including in the dark palette. */
.easypix-cart-toggle, .easypix-cart-toggle:hover,
.easypix-auth-submit, .easypix-auth-submit:hover,
.easypix-cart-primary, .easypix-cart-primary:hover,
.easypix-product-card__action,
.easypix-product-card__action:hover,
.easypix-cart-item-confirm button:first-of-type,
.easypix-site .easypix-product-section :is(.btn-prev, .btn-next):hover,
.easypix-purchase-panel .btn-warning { color: var(--ep-accent-ink); }
.easypix-product-card__action--details { color: var(--ep-text); }
.easypix-product-card__action--details:hover { color: var(--ep-accent-ink); }
/* Product photos and machine-readable codes need an unaltered light canvas. */
.easypix-product-card__image,
.easypix-gallery-stage,
.easypix-product-gallery .easypix-gallery-thumbnail,
.easypix-gallery-zoom,
.easypix-announcement-qr,
.easypix-cart-item-image { background-color: #fff; color: #4a4a49; }
.easypix-product-gallery :is(.easypix-gallery-page, .easypix-gallery-previous, .easypix-gallery-next) { color: #4a4a49; }
.easypix-site .easypix-product-card__action[aria-busy="true"]::after { border-color: rgb(32 32 31 / 25%); border-top-color: #20201f; }
.easypix-sale-notice { color: var(--ep-danger); }
/* Courier names and prices must also fit narrow checkout columns. */
@media (max-width: 575.98px) {
    .easypix-checkout :is(#shipping-options, #payment-options) label { flex-wrap: wrap; row-gap: 8px; overflow-wrap: anywhere; }
    .easypix-checkout :is(#shipping-options, #payment-options) label .ms-auto { flex-shrink: 0; white-space: nowrap; }
    .easypix-checkout #shipping-options label img { max-width: 56px; object-fit: contain; }
}
/* Preserve the supplied yellow logo square while making its lettering white. */
[data-bs-theme="dark"] .easypix-navbar .navbar-brand:has(.easypix-logo) { position: relative; width: fit-content; max-width: 100%; justify-self: start; }
[data-bs-theme="dark"] .easypix-logo,
[data-bs-theme="dark"] .easypix-footer-logo img { filter: brightness(0) invert(1); }
[data-bs-theme="dark"] .easypix-navbar .navbar-brand:has(.easypix-logo)::after {
    position: absolute; inset: 0; pointer-events: none; content: '';
    background: url('/assets/img/easypix-logo.png') left center / 100% 100% no-repeat;
    clip-path: inset(0 0 0 82%);
}
.ep-theme-image--dark { display: none !important; }
[data-bs-theme="dark"] .ep-theme-image--light { display: none !important; }
[data-bs-theme="dark"] .ep-theme-image--dark { display: block !important; }
/* Native and Bootstrap controls inherit the page palette. */
[data-bs-theme="dark"] .easypix-site :is(.modal-content, .offcanvas, .offcanvas-lg, .card, .accordion-item, .accordion-body, .list-group-item) {
    background-color: var(--ep-surface); color: var(--ep-text); border-color: var(--ep-border);
}
[data-bs-theme="dark"] .easypix-site :is(.modal-header, .modal-footer) { border-color: var(--ep-border); }
[data-bs-theme="dark"] .easypix-site :is(.form-control, .form-select, .select2-selection, .select2-dropdown) {
    border-color: var(--ep-input-border); background-color: var(--ep-surface); color: var(--ep-ink); color-scheme: dark;
}
[data-bs-theme="dark"] .easypix-site :is(.form-control, .form-select)::placeholder { color: var(--ep-muted); opacity: 1; }
[data-bs-theme="dark"] .easypix-site :is(.form-control, .form-select):disabled { background-color: var(--ep-surface-raised); color: var(--ep-muted); }
[data-bs-theme="dark"] .easypix-site :is(.form-control, .form-select):focus { border-color: var(--ep-focus); box-shadow: 0 0 0 1px var(--ep-focus); }
[data-bs-theme="dark"] .easypix-site :is(.form-check-input:not(:checked), .count-input) { background-color: var(--ep-surface); border-color: var(--ep-input-border); }
[data-bs-theme="dark"] .easypix-site .form-check-input[type="checkbox"]:checked {
    --ar-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2320201f' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m4 8 2.5 2.5 5.5-5.5'/%3e%3c/svg%3e");
}
[data-bs-theme="dark"] .easypix-site .form-check-input[type="radio"]:checked {
    --ar-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%2320201f'/%3e%3c/svg%3e");
}
[data-bs-theme="dark"] .easypix-site :is(.text-dark, .text-dark-emphasis, .text-heading, .text-body-emphasis) { color: var(--ep-ink) !important; }
[data-bs-theme="dark"] .easypix-site :is(.text-muted, .text-body-secondary, .text-body-tertiary) { color: var(--ep-muted) !important; }
[data-bs-theme="dark"] .easypix-site :is(.text-danger, .text-danger-emphasis) { color: var(--ep-danger) !important; }
[data-bs-theme="dark"] .easypix-site :is(.text-success, .text-success-emphasis) { color: var(--ep-success) !important; }
[data-bs-theme="dark"] .easypix-site :is(.text-info, .text-info-emphasis) { color: #b7dcf2 !important; }
[data-bs-theme="dark"] .easypix-site :is(.bg-white, .bg-body, .bg-light) { background-color: var(--ep-surface) !important; }
[data-bs-theme="dark"] .easypix-site .bg-body-tertiary { background-color: var(--ep-surface-raised) !important; }
[data-bs-theme="dark"] .easypix-site .btn-close { filter: invert(1) grayscale(1); }
[data-bs-theme="dark"] .easypix-site .btn-primary,
[data-bs-theme="dark"] .easypix-site .btn-warning {
    color: var(--ep-accent-ink);
    --ar-btn-color: #20201f; --ar-btn-bg: #fca90f; --ar-btn-border-color: #fca90f;
    --ar-btn-hover-color: #20201f; --ar-btn-hover-bg: #eeb12c; --ar-btn-hover-border-color: #eeb12c;
    --ar-btn-active-color: #20201f; --ar-btn-active-bg: #eeb12c; --ar-btn-active-border-color: #eeb12c;
    --ar-btn-disabled-color: #20201f; --ar-btn-disabled-bg: #fca90f; --ar-btn-disabled-border-color: #fca90f;
}
[data-bs-theme="dark"] .easypix-site :is(.btn-dark, .btn-outline-primary, .btn-outline-secondary) {
    color: var(--ep-text);
    --ar-btn-color: #e1e5db; --ar-btn-bg: #20211f; --ar-btn-border-color: #686e63;
    --ar-btn-hover-color: #20201f; --ar-btn-hover-bg: #fca90f; --ar-btn-hover-border-color: #fca90f;
    --ar-btn-active-color: #20201f; --ar-btn-active-bg: #fca90f; --ar-btn-active-border-color: #fca90f;
}
[data-bs-theme="dark"] .easypix-site :is(.btn-dark, .btn-outline-primary, .btn-outline-secondary):is(:hover, :active) { color: var(--ep-accent-ink); }
[data-bs-theme="dark"] .easypix-site .border-dark { border-color: var(--ep-input-border) !important; }
[data-bs-theme="dark"] .easypix-site .table { --ar-table-bg: var(--ep-surface); --ar-table-color: var(--ep-text); --ar-table-border-color: var(--ep-border); }
[data-bs-theme="dark"] .easypix-site #preloader { background-color: rgb(21 22 21 / 85%) !important; color: var(--ep-ink); }
/* Stored rich text may include light-only inline editor colors. */
[data-bs-theme="dark"] .easypix-site :is(.easypix-rich-text, #productDescription) { color: var(--ep-text); }
[data-bs-theme="dark"] .easypix-site :is(.easypix-rich-text, #productDescription) [style*="color"] { color: var(--ep-text) !important; }
[data-bs-theme="dark"] .easypix-site :is(.easypix-rich-text, #productDescription) [style*="background"] { background-color: transparent !important; }
[data-bs-theme="dark"] .easypix-site :is(.easypix-rich-text, #productDescription) a { color: var(--ep-link) !important; }
/* Parcel-map chrome is ours; provider maps keep their own rendering. */
[data-bs-theme="dark"] .easypix-site #parcelShopModal :is(.modal-content, .modal-header, .modal-body, .modal-footer) { background: var(--ep-surface); color: var(--ep-text); }
[data-bs-theme="dark"] .easypix-site #parcelShopModal :is(.modal-title, .parcelshop-subtitle) { color: var(--ep-ink); }
[data-bs-theme="dark"] .easypix-site #parcelShopModal .parcelshop-pill { background: var(--ep-accent-soft); color: var(--ep-accent-text); }
[data-bs-theme="dark"] .easypix-site #parcelShopModal .parcelshop-map { border-color: var(--ep-border); background: var(--ep-surface); }
[data-bs-theme="dark"] .easypix-site #parcelShopModal .btn-secondary { background: var(--ep-surface-raised); color: var(--ep-text); }
[data-bs-theme="dark"] .easypix-site #parcelShopModal .btn-primary { background: var(--ep-accent); border-color: var(--ep-accent); color: var(--ep-accent-ink); }
/* SweetAlert is appended directly to the page body. */
[data-bs-theme="dark"] .easypix-site .swal2-popup { background: var(--ep-surface); color: var(--ep-text); }
[data-bs-theme="dark"] .easypix-site :is(.swal2-title, .swal2-html-container) { color: var(--ep-text); }
[data-bs-theme="dark"] .easypix-site :is(.swal2-input, .swal2-textarea, .swal2-select) { background: var(--ep-surface); color: var(--ep-ink); border-color: var(--ep-input-border); }
[data-bs-theme="dark"] .easypix-site .swal2-confirm { background: var(--ep-accent); color: var(--ep-accent-ink); }
[data-bs-theme="dark"] .easypix-site .swal2-cancel { background: var(--ep-surface-raised); color: var(--ep-ink); }
.easypix-product-gallery button:focus-visible,
.easypix-gallery-open:focus-visible { outline-color: #4a4a49; }
[data-bs-theme="dark"] .easypix-site .bg-primary.text-white,
[data-bs-theme="dark"] .easypix-site #bundleItemsCount.bg-primary { color: var(--ep-accent-ink) !important; }
[data-bs-theme="dark"] .easypix-site :is(.form-control, .form-select):is(.is-invalid, :user-invalid) { border-color: var(--ep-danger); }
[data-bs-theme="dark"] .easypix-site :is(.form-control, .form-select):is(.is-invalid, :user-invalid):focus { border-color: var(--ep-danger); box-shadow: 0 0 0 1px var(--ep-danger); }
[data-bs-theme="dark"] .easypix-site :is(.bg-warning.text-dark, .bg-warning.text-white, .badge.bg-primary, .btn-primary.text-white, .btn-warning.text-dark) { color: var(--ep-accent-ink) !important; }
