/* Original filters, pagination, dialogs and product renderers retain their state rules. */
body.atelier-products {
    --prod-bg: #f5f1ea; --prod-card-bg: #faf8f4; --prod-text: #1a365d;
    --prod-muted: #657080; --prod-text-muted: #657080; --prod-border: #ddd7ce;
    --prod-shadow: none; --prod-shadow-lg: none;
}
.atelier-products .products-page-wrap { padding-top: 0; background: #f5f1ea; }
.atelier-products .products-hero { position: relative; isolation: isolate; margin: 0 calc((min(1220px,100vw) - 100vw) / 2 - 32px) 44px; padding: 66px max(32px,calc((100vw - 1156px) / 2)) 74px; min-height: 460px; background: linear-gradient(100deg,#142b46e8,#142b46c9),url('../images/service-integrated.png') center/cover; color: #fff; border-radius: 0 0 48% 9% / 0 0 6% 3%; gap: 48px; grid-template-columns: minmax(0,1.5fr) minmax(240px,1fr); }
.atelier-products .products-hero h1 { color: #f5f1ea; font-weight: 500; font-size: clamp(2.6rem,4.6vw,4rem); line-height: 1.25; }
.atelier-products .products-hero :is(.products-hero-lead,.products-breadcrumb a,.products-breadcrumb span) { color: #d7dfe6; }
.atelier-products .products-eyebrow { color: #f6ad55; font-weight: 500; }
.atelier-products .products-hero-panel { background: #142b4666; border: 1px solid #ffffff30; box-shadow: none; border-radius: 10px; }
.atelier-products .hero-metric { background: transparent; border-color: #ffffff26; }
.atelier-products .hero-metric span { color: #f5f1ea; font-weight: 500; }
.atelier-products .hero-metric small { color: #d7dfe6; }
.atelier-products .products-secondary-action { background: transparent; color: #fff; border-color: #ffffff66; }
.atelier-products :is(.products-primary-action,.products-secondary-action,.btn-catalog-help,.btn-load-more,.btn-retry-products) { border-radius: 999px; box-shadow: none; }
.atelier-products :is(.products-primary-action,.btn-catalog-help,.btn-retry-products) { background: #ed8936; color: #142b46; }
.atelier-products :is(.products-sidebar,.products-toolbar,.product-card-modern,.modal-box,.compare-section) { background: var(--atelier-card); border: 1px solid var(--atelier-line); box-shadow: none; border-radius: 10px; }
.atelier-products .products-layout { grid-template-columns: 264px minmax(0,1fr); gap: 28px; }
.atelier-products .products-toolbar { background: transparent; border-width: 0 0 1px; border-radius: 0; padding-inline: 0; }
.atelier-products :is(.sidebar-title,.sidebar-block-title,.products-toolbar h2,.product-card-title,.modal-info h2,.modal-section-title,.modal-related-title,.modal-related-card-title,.compare-section .compare-section-title,.compare-product-title,.compare-product-header h4) { color: var(--atelier-ink); font-weight: 600; }
.atelier-products :is(.sidebar-desc,.sidebar-stats,.products-toolbar p,.product-card-desc,.modal-desc,.modal-specs .spec-label,.modal-related-card-meta,.compare-product-category,.compare-matrix-label) { color: var(--atelier-muted); }
.atelier-products :is(.sidebar-search,.sidebar-select,.pill,.mobile-catalog-search,.mobile-filter-toggle,.mobile-filters-close,.modal-close-btn,.modal-more-actions-panel,.compare-section-close,.compare-differences-toggle,.compare-product-remove) { background: #fffdf9; color: var(--atelier-ink); border-color: var(--atelier-line); box-shadow: none; }
.atelier-products :is(.sidebar-search input,.mobile-catalog-search input) { color: var(--atelier-ink); }
.atelier-products :is(.sidebar-search input,.mobile-catalog-search input)::placeholder { color: var(--atelier-muted); }
.atelier-products .category-count { background: #ede8df; color: #657080; }
.atelier-products .pill:is(.active,:hover),.atelier-products .compare-differences-toggle[aria-pressed='true'] { background: var(--atelier-ink); color: #fff; border-color: var(--atelier-ink); }
.atelier-products .pill.active .category-count { background: #ffffff20; color: #fff; }
.atelier-products :is(.products-result-eyebrow,.modal-cat,.product-card-details,.modal-description-toggle,.modal-related-card-action) { color: var(--atelier-accent); }
.atelier-products .product-card-modern:hover { box-shadow: none; border-color: #bb956d; transform: translateY(-3px); }
.atelier-products .product-card-image { background: #fff; border-bottom: 1px solid var(--atelier-line); }
.atelier-products .product-card-body { padding: 20px; }
.atelier-products .product-card-title { font-size: 1.06rem; }
.atelier-products .product-card-specs span { background: #ede8df; color: #566171; border-color: #ddd7ce; }
.atelier-products :is(.product-card-quote,.compare-product-quote,.compare-section-cta-primary,.btn-modal.btn-primary) { background: #ed8936; color: #142b46; box-shadow: none; border-radius: 999px; }
.atelier-products .product-card-details { border-color: #ddd7ce; background: transparent; }
.atelier-products :is(.product-card-wishlist,.product-card-compare) { background: #fffdf9ed; color: #1a365d; border: 1px solid #ddd7ce; box-shadow: none; }
.atelier-products .product-card-compare.in-compare { background: #1a365d; color: #fff; }
.atelier-products .product-card-wishlist.in-wishlist { color: #bf3535; }
.atelier-products :is(.products-empty,.products-error) { background: #faf8f4; border-color: #ddd7ce; color: #657080; border-radius: 10px; }
.atelier-products .products-pagination :is(a,span) { background: #faf8f4; color: #1a365d; border-color: #ddd7ce; }
.atelier-products .products-pagination .page-current { background: #1a365d; color: #fff; }
.atelier-products .modal-header { background: #ede8df; border-color: #ddd7ce; }
.atelier-products :is(.modal-image-link,.modal-thumb-button,.modal-related-card-image) { background: #fff; }
.atelier-products .modal-related-card { background: #fffdf9; border-color: #ddd7ce; box-shadow: none; }
.atelier-products .modal-specs .spec-row:nth-child(odd) { background: #ede8df; }
.atelier-products :is(.modal-specs .spec-value,.compare-matrix-value,.compare-specs .spec-value) { color: #1a365d; }
.atelier-products .btn-modal.btn-outline { background: transparent; border-color: #b5aa9b; color: #1a365d; }
.atelier-products .modal-mobile-actions { background: #faf8f4; border-color: #ddd7ce; }
.atelier-products .compare-matrix { background: #fffdf9; border-color: #ddd7ce; }
.atelier-products :is(.compare-matrix-header,.compare-matrix-row:first-child) { background: #ede8df; }
.atelier-products .compare-bar { background: #142b46; border-color: #ed893660; box-shadow: 0 -8px 24px #142b4612; }
.atelier-products .compare-bar-items { color: #fff; }
.atelier-products .btn-compare-go { background: #ed8936; color: #142b46; border-radius: 999px; box-shadow: none; }
.atelier-products .btn-compare-go:hover { background: #f6ad55; color: #142b46; box-shadow: none; }
.atelier-products .compare-section-cta { border-color: #ddd7ce; }
.atelier-products .compare-section-cta-secondary { color: #1a365d; border-color: #b5aa9b; background: transparent; }
.atelier-products .compare-section-eyebrow { color: #99531f; }
.atelier-products .compare-product-quote { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 7px 12px; text-decoration: none; }

body.atelier-heavy { --he-bg: #f5f1ea; --he-card-bg: #faf8f4; --he-text: #1a365d; --he-muted: #657080; --he-border: #ddd7ce; --he-shadow: none; --he-shadow-lg: none; }
.atelier-heavy .he-hero { background: #142b46; border-radius: 0 0 48% 9% / 0 0 6% 3%; padding-block: 64px 76px; }
.atelier-heavy .he-hero-bg { background: linear-gradient(100deg,#142b46ee,#142b46c9),url('../images/heavy-equipment/heavy_equipment.png') center/cover; }
.atelier-heavy :is(.he-hero-overlay,.he-hero-pattern) { display: none; }
.atelier-heavy .he-hero-title { font-weight: 500; font-size: clamp(2.7rem,4.7vw,4rem); }
.atelier-heavy .he-hero-title-line { color: #f5f1ea; }
.atelier-heavy .he-hero-title-accent { color: #f6ad55; background: none; -webkit-text-fill-color: currentColor; }
.atelier-heavy :is(.he-hero-subtitle,.he-stat-label) { color: #d7dfe6; }
.atelier-heavy .he-stat-num { color: #f6ad55; font-weight: 500; }
.atelier-heavy .he-hero-badge { background: transparent; color: #f6ad55; border: 0; padding-inline: 0; box-shadow: none; }
.atelier-heavy :is(.he-hero-img-main,.he-hero-img-secondary) { border: 1px solid #ffffff30; border-radius: 10px; box-shadow: none; }
.atelier-heavy :is(.he-cta-primary,.he-cta-secondary) { border-radius: 999px; box-shadow: none; }
.atelier-heavy .he-cta-primary { background: #ed8936; color: #142b46; }
.atelier-heavy .he-cta-secondary { background: transparent; color: #fff; border-color: #ffffff66; }
.atelier-heavy :is(.he-categories,.he-filters,.he-seo-blocks) { background: #f5f1ea; padding-block: 56px; }
.atelier-heavy .he-section-title { color: #1a365d; font-size: clamp(1.9rem,3vw,2.7rem); font-weight: 500; }
.atelier-heavy :is(.he-section-desc,.he-product-specs,.he-product-desc,.he-seo-card p) { color: #657080; }
.atelier-heavy :is(.he-category-card,.he-product-card,.he-seo-card,.he-filter-bar,.he-modal-content) { background: #faf8f4; border: 1px solid #ddd7ce; box-shadow: none; border-radius: 10px; }
.atelier-heavy :is(.he-category-card,.he-product-card):hover { border-color: #bb956d; box-shadow: none; }
.atelier-heavy .he-category-icon { background: transparent; border: 1px solid #c6b79f; border-radius: 50%; color: #99531f; }
.atelier-heavy :is(.he-category-name,.he-product-name,.he-seo-card h3,.he-modal-header h3,.he-detail-title,.he-detail-spec-val) { color: #1a365d; font-weight: 600; }
.atelier-heavy :is(.he-filter-search input,.he-filter-bar select,.he-modal-body input,.he-modal-body textarea,.he-modal-body select) { background: #fffdf9; color: #1a365d; border-color: #ddd7ce; }
.atelier-heavy .he-filter-search input::placeholder { color: #657080; }
.atelier-heavy .he-product-image { background: #fff; border-bottom: 1px solid #ddd7ce; }
.atelier-heavy :is(.he-product-actions .btn-primary,.he-product-cta,.he-modal-body button[type='submit']) { background: #ed8936; color: #142b46; border-radius: 999px; box-shadow: none; }
.atelier-heavy :is(.he-product-actions .btn-secondary,.he-product-actions .btn-outline-secondary,.he-detail-actions-modal .btn-secondary) { background: transparent; color: #1a365d; border-color: #b5aa9b; }
.atelier-heavy .he-spare-entry { background: #142b46; border: 1px solid #ed893650; box-shadow: none; border-radius: 10px; }
.atelier-heavy .he-spare-entry-copy h2 { color: #f5f1ea; font-weight: 500; }
.atelier-heavy .he-spare-entry-copy p { color: #d7dfe6; }
.atelier-heavy .he-spare-entry-copy span { color: #f6ad55; }
.atelier-heavy .he-spare-entry-art { mix-blend-mode: lighten; border-radius: 8px; overflow: hidden; }
.atelier-heavy .he-cta { background: #142b46; border-radius: 44% 7% 42% 8% / 6% 3% 6% 3%; }
.atelier-heavy .he-cta-bg { background: transparent; }
.atelier-heavy .he-cta-content h2 { font-weight: 500; color: #f5f1ea; }
.atelier-heavy .he-cta-content p { color: #d7dfe6; }
.atelier-heavy .he-modal-header { border-color: #ddd7ce; background: #ede8df; }
.atelier-heavy :is(.he-modal-close,.he-order-type-tab,.he-detail-spec-item) { background: #ede8df; color: #1a365d; border-color: #ddd7ce; }
.atelier-heavy .he-order-type-tab.active { background: #1a365d; color: #fff; }
.atelier-heavy :is(.he-modal-body .form-group label,.he-rental-options label) { color: #1a365d; }
.atelier-heavy :is(.he-detail-desc,.he-detail-spec-label) { color: #657080; }
.atelier-heavy .he-detail-media { background: #fff; }
.atelier-heavy .he-detail-media { box-shadow: none; border-color: #ddd7ce; border-radius: 10px; }
.atelier-heavy :is(.he-detail-specs-title,.he-detail-badge) { color: #99531f; border-color: #ddd7ce; }
.atelier-heavy .he-detail-actions-modal :is(.btn-primary,.btn-secondary) { border-radius: 999px; box-shadow: none; }
.atelier-heavy .he-detail-actions-modal .btn-primary { color: #142b46; background: #ed8936; }
.atelier-heavy .he-detail-actions-modal .btn-secondary { border: 1px solid #b5aa9b; }
.atelier-heavy #heOrderProductName { color: #99531f !important; }
.atelier-heavy .he-category-icon { box-shadow: none; }
/* Free-set alternatives for the original catalogue's unavailable icon names. */
.atelier-heavy .fa-dig::before { content: '\f85e'; }
.atelier-heavy .fa-crane::before { content: '\f4de'; }
.atelier-heavy .he-compare-table { color: #1a365d; }
.atelier-heavy .he-compare-table th { background: #ede8df; color: #1a365d; }
.atelier-heavy .he-compare-bar { background: #142b46; }
.atelier-heavy .he-pagination :is(a,span) { background: #faf8f4; color: #1a365d; border-color: #ddd7ce; }
.atelier-heavy .he-pagination .page-current { background: #1a365d; color: #fff; }

body.site-atelier.sp-page { background: #f5f1ea; color: #1a365d; }
.site-atelier.sp-page :is(h1,h2,h3) { color: #1a365d; font-weight: 500; }
.site-atelier .sp-shell { max-width: 1220px; padding-inline: 32px; }
.site-atelier .sp-subnav { border-color: #ddd7ce; }
.site-atelier :is(.sp-subnav a,.sp-breadcrumb,.sp-intro,.sp-count,.sp-product-body p,.sp-product-body small) { color: #657080; }
.site-atelier .sp-subnav [aria-current] { color: #99531f; }
.site-atelier .sp-hero { padding-block: 32px 64px; gap: 56px; }
.site-atelier.sp-page h1 { font-size: clamp(2.5rem,4.7vw,4rem); line-height: 1.3; }
.site-atelier .sp-headline-accent { color: #99531f; }
.site-atelier .sp-kicker { color: #99531f; letter-spacing: .04em; }
.site-atelier .sp-montage { max-width: 410px; }
.site-atelier .sp-montage img { border: 1px solid #ddd7ce; box-shadow: none; border-radius: 10px; }
.site-atelier .sp-benefits { color: #d7dfe6; background: #142b46; border: 0; border-radius: 46% 8% 42% 6% / 8% 4% 8% 4%; padding: 28px; }
.site-atelier :is(.sp-primary,.sp-secondary) { border-radius: 999px; box-shadow: none; }
.site-atelier .sp-primary { background: #ed8936; color: #142b46; }
.site-atelier :is(.sp-secondary,.sp-group,.sp-search-row input,.sp-search-row select,.sp-form input,.sp-form textarea,.sp-close) { color: #1a365d; background: #fffdf9; border-color: #ddd7ce; }
.site-atelier .sp-group[aria-pressed='true'] { background: #1a365d; border-color: #1a365d; color: #fff; }
.site-atelier :is(.sp-product,.sp-dialog) { background: #faf8f4; border: 1px solid #ddd7ce; border-radius: 10px; box-shadow: none; color: #1a365d; }
.site-atelier .sp-product:hover { border-color: #bb956d; }
.site-atelier .sp-product-body h3 { font-size: 1rem; font-weight: 600; }
.site-atelier .sp-product-actions { border-color: #ddd7ce; }
.site-atelier .sp-product-actions button { background: #ede8df; color: #1a365d; border-color: #ddd7ce; }
.site-atelier .sp-product-actions button:last-child { background: #ed8936; color: #142b46; }
.site-atelier :is(.sp-detail dt,.sp-fitment,.sp-state) { color: #657080; }
.site-atelier :is(.sp-detail p,.sp-model) { color: #657080; }
.site-atelier .sp-fitment { background: #ede8df; }
.site-atelier .sp-product-group { color: #99531f; }
.site-atelier.sp-page input::placeholder { color: #657080; }
.site-atelier .sp-product-actions { padding-block: 10px; gap: 8px; flex-wrap: wrap; }
.site-atelier .sp-product-actions button { padding: 6px 10px; border-radius: 999px; font-size: .72rem; }
.site-atelier .sp-product-actions button:first-child { background: #ed8936; color: #142b46; }
.site-atelier .sp-product-actions button:last-child { background: #ede8df; color: #1a365d; }
.site-atelier .sp-detail dd { color: #1a365d; }
.site-atelier .sp-dialog-head { border-color: #ddd7ce; }
.site-atelier .sp-help { background: #142b46; border: 0; border-radius: 40% 6% 40% 8% / 5% 3% 5% 3%; padding: 40px; }
.site-atelier .sp-help h2 { color: #f5f1ea; }
.site-atelier .sp-help p { color: #d7dfe6; }
.site-atelier .sp-footer { color: #657080; border-color: #ddd7ce; padding-block: 30px; }
@media (max-width: 1000px) {
    .atelier-products .products-hero { gap: 24px; }
    .atelier-products .products-layout { grid-template-columns: 230px minmax(0,1fr); gap: 20px; }
}
@media (max-width: 768px) {
    .atelier-products .products-hero { grid-template-columns: 1fr; min-height: auto; margin-inline: -32px; padding: 40px 32px 52px; }
    .atelier-products .products-hero-panel { max-width: none; }
    .atelier-products .products-layout { grid-template-columns: minmax(0,1fr); }
    .atelier-products .mobile-catalog-controls { background: #f5f1ea; border-color: #ddd7ce; }
    .atelier-products .products-sidebar { border-radius: 16px 16px 0 0; }
    .atelier-products .products-sidebar .sidebar-header { background: #faf8f4; border-color: #ddd7ce; }
    .site-atelier .sp-hero { gap: 28px; padding-block: 22px 42px; }
}
@media (max-width: 640px) {
    .atelier-products .products-hero { margin-inline: -20px; padding-inline: 20px; }
    .atelier-heavy .he-hero { padding-block: 38px 52px; }
    .atelier-heavy .he-hero-title { font-size: 2.5rem; }
    .atelier-heavy .he-categories-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .atelier-heavy :is(.he-category-card,.he-category-name) { min-width: 0; overflow-wrap: anywhere; }
    .atelier-heavy :is(.he-filter-category,.he-filter-condition,.he-filter-sort) { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); width: 100%; min-width: 0; gap: 8px; }
    .atelier-heavy .he-filter-bar select { min-width: 0; width: 100%; max-width: 100%; }
    .site-atelier .sp-shell { padding-inline: 20px; }
    .site-atelier .sp-help { padding: 28px 20px; }
}
