/* Scoped to catalog and product pages. Existing disclosures remain expanded. */
.il-usability-catalog { margin-top: 20px; margin-bottom: 24px; }
.il-usability-catalog h2 { font-size: clamp(22px, 3vw, 32px); margin: 0 0 14px; }
.il-usability-search { display: grid; grid-template-columns: minmax(180px,1fr) minmax(220px,2fr) auto auto; align-items: end; gap: 12px; }
.il-usability-search label { display: grid; gap: 6px; min-width: 0; font-size: 14px; color: #f7fbf8; }
.il-usability-search input, .il-usability-search select { width: 100%; min-width: 0; min-height: 46px; padding: 10px; font-size: 16px; color: #f7fbf8; background: #0b1112; border: 1px solid #64746a; border-radius: 4px; }
.il-usability-search select option { color: #f7fbf8; background: #0b1112; }
.il-usability-search button, .il-usability-reset { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; }
.il-usability-reset { padding: 10px; text-decoration: underline; }
.il-usability-resources { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 8px; }
.il-usability-resources a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; }
.il-usability-search :focus-visible, .il-usability-resources a:focus-visible, .il-purchase-shipping a:focus-visible { outline: 2px solid #d9ff5e; outline-offset: 3px; }
.il-usability-stock { margin: 8px 0; font-size: 14px; font-weight: 700; color: #d9ff5e; }
.il-usability-stock.out-of-stock, .il-usability-stock.available-on-backorder { color: #f7fbf8; }
.il-usability-empty { max-width: 760px; padding: 20px; margin: 20px auto; border: 1px solid #64746a; }
.il-purchase-shipping { margin: 14px 0; padding: 12px 14px; border: 1px solid #64746a; border-radius: 4px; font-size: 14px; line-height: 1.5; }
.il-purchase-shipping p { margin: 5px 0 0 !important; font-size: 14px !important; line-height: 1.5 !important; }
.il-purchase-shipping a { text-decoration: underline; color: #d9ff5e; }
.il-purchase-jump { display: none; }
#il-purchase-options { scroll-margin-top: 260px; }
@media (max-width: 760px) {
    .il-purchase-jump { display: inline-flex; align-items: center; min-height: 44px; margin: 4px 0; color: #d9ff5e; text-decoration: underline; }
    .il-usability-search { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
    .il-usability-search label { grid-column: 1 / -1; }
    .il-usability-catalog { margin-top: 12px; margin-bottom: 16px; }
    body.single-product main.site-main .il-hero { padding: 12px 0 !important; }
    body.single-product main.site-main .il-hero h1 { max-width: none !important; font-size: 24px !important; line-height: 1.15 !important; margin: 8px 0 !important; }
    body.single-product main.site-main .il-hero h1 span, body.single-product main.site-main .il-hero h1 strong { max-width: none !important; width: auto !important; }
    body.single-product main.site-main .il-hero .il-data-chip { margin-bottom: 8px !important; }
    body.single-product main.site-main .il-hero p { max-width: none !important; margin: 8px 0 !important; }
    body.single-product main.site-main div.product { gap: 16px !important; margin-top: 16px !important; }
    body.single-product main.site-main div.product .woocommerce-product-gallery { height: auto !important; }
    body.single-product main.site-main div.product .woocommerce-product-gallery__wrapper, body.single-product main.site-main div.product .woocommerce-product-gallery__image { height: 180px !important; }
    body.single-product main.site-main div.product .woocommerce-product-gallery img.wp-post-image { height: 180px !important; max-height: 180px !important; padding: 0 !important; }
    body.single-product main.site-main div.product .summary { padding: 14px !important; }
    body.single-product main.site-main div.product .summary .product_title { margin: 0 0 12px !important; font-size: 27px !important; line-height: 1.2 !important; }
    body.single-product main.site-main div.product .summary .il-product-dossier { margin: 8px 0 !important; }
    body.single-product main.site-main div.product .summary > .price { margin: 10px 0 !important; }
    body.single-product main.site-main div.product .summary .woocommerce-product-details__short-description { margin-bottom: 12px !important; }
    body.single-product main.site-main div.product .summary .woocommerce-product-details__short-description p { margin: 8px 0 !important; font-size: 15px !important; line-height: 1.5 !important; }
    body.single-product main.site-main div.product .summary .il-research-use-reminder { padding: 12px !important; margin: 12px 0 !important; }
    body.single-product main.site-main div.product .summary .il-research-use-reminder > strong { display: block; font-size: 18px !important; line-height: 1.3 !important; margin: 6px 0 !important; }
    body.single-product main.site-main div.product .summary .il-research-use-reminder p { font-size: 14px !important; line-height: 1.5 !important; margin: 6px 0 !important; }
    body.single-product main.site-main div.product .summary .il-bundle-selector { padding: 12px !important; margin: 12px 0 !important; }
    body.single-product main.site-main div.product .summary .il-bundle-selector-head > strong { display: block; font-size: 18px !important; line-height: 1.3 !important; margin: 6px 0 !important; }
    body.single-product main.site-main div.product .summary .il-bundle-selector p { font-size: 14px !important; line-height: 1.5 !important; margin: 6px 0 12px !important; }
    body.single-product main.site-main div.product .summary .il-bundle-option small, body.single-product main.site-main div.product .summary .il-bundle-option em, body.single-product main.site-main div.product .summary .il-bundle-option span { font-size: 12px !important; }
}
/* IL018: task-focused cart entry and conservative touch polish. */
.woocommerce-cart .il-cart-shortcuts { display: flex; flex-wrap: wrap; gap: 8px 24px; padding-top: 10px; padding-bottom: 10px; }
.woocommerce-cart .il-cart-shortcuts a { display: inline-flex; align-items: center; min-height: 44px; color: #d9ff5e; text-decoration: underline; }
.il-bundle-basis { color: #f7fbf8 !important; font-size: 14px !important; line-height: 1.5 !important; }
.il-bundle-option:focus-visible, .il-cart-shortcuts a:focus-visible { outline: 2px solid #d9ff5e; outline-offset: 3px; }
@media (max-width: 760px) {
    body:not(.woocommerce-checkout) nav.il-primary-nav a { min-height: 44px !important; height: auto !important; }
    body.single-product main.site-main div.product .summary .il-bundle-options { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 8px !important; }
    body.single-product main.site-main div.product .summary .il-bundle-option { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1.4fr) !important; align-items: center; gap: 4px 10px; min-height: 0 !important; padding: 10px !important; text-align: left; }
    body.single-product main.site-main div.product .summary .il-bundle-option span { grid-column: 1; }
    body.single-product main.site-main div.product .summary .il-bundle-option strong { grid-column: 2; grid-row: 1; font-size: 16px !important; }
    body.single-product main.site-main div.product .summary .il-bundle-option small { grid-column: 1; grid-row: 2; font-size: 13px !important; line-height: 1.4 !important; }
    body.single-product main.site-main div.product .summary .il-bundle-option em { grid-column: 2; grid-row: 2; font-size: 13px !important; line-height: 1.4 !important; }
}

/* IL020: accessible progressive header and a quieter purchase hierarchy. */
.il-header-panel { display: contents; }
.il-menu-toggle { display: none; }
@media (min-width: 1025px) {
    .site-header .il-brand { grid-column: 1; grid-row: 1; }
    .site-header .il-primary-nav { grid-column: 2; grid-row: 1; }
    .site-header .il-top-search { grid-column: 3; grid-row: 1; }
    .site-header .il-header-tools { grid-column: 4; grid-row: 1; }
}
@media (min-width: 1025px) and (max-width: 1280px) {
    .site-header .il-header-tools { grid-column: 3; }
    .site-header .il-top-search { grid-column: 1/-1; grid-row: 2; }
}
.site-header :focus-visible { outline: 2px solid #d9ff5e !important; outline-offset: 3px; }
.il-result-summary p, .il-active-filters, .il-home-result-summary { margin: 8px 0 12px; color: #f7fbf8; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.il-result-summary span { color: #c8d6cf; white-space: nowrap; }
.il-active-filters { color: #d3dfd8; }
.il-home-result-summary { grid-column: 1 / -1; }
body.single-product main.site-main div.product .summary .il-research-use-reminder { border: 0 !important; border-left: 3px solid #8fb1ff !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; padding: 8px 12px !important; margin: 12px 0 !important; }
body.single-product main.site-main div.product .summary form.cart { padding-top: 12px !important; border-top: 1px solid #64746a; gap: 12px; flex-wrap: wrap; }
body.single-product main.site-main div.product .summary .variations { width: 100% !important; margin: 0 0 8px !important; }
body.single-product main.site-main div.product .summary .woocommerce-variation-add-to-cart { display: flex !important; align-items: center; flex-wrap: wrap; gap: 12px; }
body.single-product main.site-main div.product .summary .woocommerce-variation-price .price { margin: 4px 0 12px !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
body.single-product main.site-main div.product .summary .il-bundle-selector { flex-basis: 100%; width: 100%; min-width: 0; padding: 12px 0 0 !important; margin: 16px 0 0 !important; border: 0 !important; border-top: 1px solid #64746a !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
body.single-product main.site-main div.product .summary .il-bundle-option { border-radius: 8px !important; box-shadow: none !important; }
body.single-product main.site-main div.product .summary .il-bundle-option strong { margin: 2px 0 !important; }
body.single-product main.site-main div.product .summary .il-bundle-option em { margin-top: 2px !important; }
body.single-product main.site-main div.product .summary .quantity { margin: 0 !important; }
body.single-product main.site-main div.product .summary .single_add_to_cart_button { min-height: 46px; }
@media (max-width: 1024px) {
    body.il-mobile-header .site-header .il-header-grid { grid-template-columns: minmax(0,1fr) auto 44px !important; gap: 8px !important; padding: 8px 0 !important; min-height: 60px !important; }
    body.il-mobile-header .site-header .il-mark { min-width: 0 !important; width: 130px !important; height: 44px !important; grid-template-columns: 34px auto !important; gap: 6px !important; }
    body.il-mobile-header .site-header .il-original-shield { width: 32px !important; }
    body.il-mobile-header .site-header .il-original-wordmark strong { font-size: 21px !important; }
    body.il-mobile-header .site-header .il-original-wordmark em { font-size: 17px !important; }
    body.il-mobile-header .site-header .il-menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px; border: 1px solid #64746a; border-radius: 4px; background: #0b1112; color: #f7fbf8; font: inherit; font-size: 13px; cursor: pointer; }
    body.il-mobile-header .site-header .il-header-tools { grid-column: 3; grid-row: 1; }
    body.il-mobile-header .site-header .il-cart-link { width: 44px !important; height: 44px !important; min-width: 44px !important; }
    body.il-mobile-header .site-header .il-cart-glyph { transform: scale(.72); }
    body.il-mobile-header .site-header .il-header-panel { display: grid; grid-column: 1/-1; gap: 8px; padding: 4px; max-height: 65vh; overflow-y: auto; }
    body.il-mobile-header .site-header .il-header-panel[hidden] { display: none !important; }
    body.il-mobile-header .site-header .il-primary-nav { grid-column: 1/-1; display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; padding-top: 4px !important; gap: 4px !important; overflow: visible !important; }
    body.il-mobile-header .site-header .il-primary-nav a { width: auto !important; font-size: 13px !important; padding: 8px !important; min-height: 44px !important; white-space: normal !important; }
    body.il-mobile-header .site-header .il-primary-nav a::after { content: none !important; display: none !important; }
    body.il-mobile-header .site-header .il-top-search { grid-column: 1/-1; max-width: 100% !important; }
    body.il-mobile-header #il-purchase-options { scroll-margin-top: 90px; }
    body.single-product main.site-main div.product .summary { padding: 12px !important; }
    body.single-product main.site-main div.product .summary .il-bundle-selector-head > strong { font-size: 16px !important; }
    body.single-product main.site-main div.product .summary .il-bundle-options { gap: 6px !important; }
    body.single-product main.site-main div.product .summary .il-bundle-option { padding: 8px !important; }
    body.single-product main.site-main div.product .summary .variations select { min-height: 46px; font-size: 16px; }
}

/* IL021 scoped catalog readability and purchase-information polish. */
body:not(.woocommerce-checkout) main.site-main ul.products li.il-product-card .il-product-type { font-size: 12px !important; line-height: 1.4 !important; }
body:not(.woocommerce-checkout) main.site-main ul.products li.il-product-card .il-product-specs p { font-size: 13px !important; line-height: 1.45 !important; color: #e5eee8 !important; }
body:not(.woocommerce-checkout) main.site-main ul.products li.il-product-card h3 { line-height: 1.3 !important; }
body:not(.woocommerce-checkout) main.site-main ul.products li.il-product-card .il-product-actions .button,
body:not(.woocommerce-checkout) main.site-main ul.products li.il-product-card .il-coa-link { min-height: 44px !important; padding-top: 8px !important; padding-bottom: 8px !important; }
body:not(.woocommerce-checkout) main.site-main ul.products li.il-product-card a:focus-visible { outline: 2px solid #d9ff5e !important; outline-offset: 3px; }
body.single-product main.site-main div.product .summary .il-product-dossier span { font-size: 12px !important; line-height: 1.4 !important; }
body.single-product main.site-main div.product .summary .il-bundle-option small,
body.single-product main.site-main div.product .summary .il-bundle-option em { font-size: 14px !important; line-height: 1.45 !important; }
body.single-product main.site-main div.product .summary .il-bundle-option small { color: #e5eee8 !important; }
.il-purchase-operations { margin: 12px 0; font-size: 14px; line-height: 1.5; }
.il-purchase-operations > div { margin-top: 8px; }
.il-purchase-operations dt { font-weight: 800; color: #f7fbf8; }
.il-purchase-operations dd { margin: 2px 0 0; color: #e5eee8; }
.il-purchase-support a { overflow-wrap: anywhere; }
