/* ============================================================
   Maison Developer – Custom WooCommerce Styles
   Uses #maison ID prefix for specificity over any theme/plugin.
   Quick view (#maisonQV) and mobile filter are OUTSIDE #maison.
   ============================================================ */

/* ── Hide default WC/Elementor elements ── */
body.maison-wc-page .woocommerce ul.products { all: unset !important; display: contents !important; }
body.maison-wc-page .woocommerce ul.products li.product { all: unset !important; display: block !important; }
body.maison-wc-page .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.maison-wc-page .woocommerce ul.products li.product .price,
body.maison-wc-page .woocommerce ul.products li.product .star-rating,
body.maison-wc-page .woocommerce ul.products li.product > .button,
body.maison-wc-page .woocommerce ul.products li.product .onsale,
body.maison-wc-page .woocommerce-result-count,
body.maison-wc-page .woocommerce-ordering,
body.maison-single-product div.product > .woocommerce-product-gallery,
body.maison-single-product div.product > .summary,
body.maison-single-product div.product > .woocommerce-tabs,
body.maison-single-product div.product .related.products,
body.maison-single-product div.product .product_meta,
body.maison-single-product span.onsale,
body.maison-wc-page .elementor-location-single .elementor-section,
body.maison-wc-page .elementor-location-archive .elementor-section { display: none !important; }
body.maison-wc-page .site-main, body.maison-wc-page main#content, body.maison-wc-page #content,
body.maison-wc-page .entry-content { padding: 0 !important; margin: 0 !important; max-width: 100% !important; }

/* ── Base inside #maison — explicit property reset (NOT all:unset) ── */
#maison { font-family: 'DM Sans', sans-serif !important; color: #1a1a1a !important; line-height: 1.5 !important; -webkit-font-smoothing: antialiased; background: #fff !important; }
#maison * { box-sizing: border-box !important; }
#maison a { text-decoration: none !important; color: inherit !important; }
#maison img { display: block !important; max-width: 100% !important; height: auto !important; border: none !important; }
#maison p, #maison h1, #maison h2, #maison h3 { margin: 0 !important; padding: 0 !important; }
#maison h1, #maison h2, #maison h3 { font-weight: 500 !important; }
#maison svg { display: inline-block !important; vertical-align: middle !important; flex-shrink: 0 !important; }

/* Explicit button/input reset — override theme properties one by one */
#maison button,
#maison input,
#maison select,
#maison label {
    font-family: 'DM Sans', sans-serif !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    color: inherit !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-decoration: none !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    min-height: 0 !important;
    min-width: 0 !important;
    width: auto !important;
    height: auto !important;
    text-align: left !important;
    vertical-align: baseline !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
#maison input[type="text"], #maison input[type="search"] { cursor: text !important; }
#maison input[type="checkbox"] { -webkit-appearance: checkbox !important; appearance: checkbox !important; width: 16px !important; height: 16px !important; accent-color: #1a1a1a !important; }
#maison input[type="range"] { -webkit-appearance: auto !important; appearance: auto !important; display: block !important; width: 100% !important; accent-color: #1a1a1a !important; height: auto !important; }

/* WC price spans inherit */
#maison .woocommerce-Price-amount, #maison .amount { color: inherit !important; font-size: inherit !important; font-weight: inherit !important; font-family: inherit !important; }
#maison del .woocommerce-Price-amount { color: #bbb !important; }
#maison ins { text-decoration: none !important; }
#maison del { opacity: 1 !important; color: #bbb !important; }

/* Container */
#maison .maison-container { max-width: 1280px !important; margin: 0 auto !important; padding: 0 16px !important; }
@media (min-width: 640px) { #maison .maison-container { padding: 0 24px !important; } }
@media (min-width: 1024px) { #maison .maison-container { padding: 0 32px !important; } }

/* ═══════════════ HERO ═══════════════ */
#maison .maison-hero { background: #f5f5f2 !important; border-bottom: 1px solid #f0f0f0 !important; }
#maison .maison-hero__inner { display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 32px 0 !important; }
@media (min-width: 640px) { #maison .maison-hero__inner { flex-direction: row !important; align-items: flex-end !important; justify-content: space-between !important; padding: 40px 0 !important; } }
#maison .maison-hero__label { font-size: 11px !important; color: #999 !important; text-transform: uppercase !important; letter-spacing: 0.12em !important; margin-bottom: 6px !important; }
#maison .maison-hero__title { font-size: clamp(24px, 3vw, 32px) !important; color: #1a1a1a !important; line-height: 1.2 !important; }
#maison .maison-hero__desc { font-size: 14px !important; color: #888 !important; max-width: 420px !important; }

/* ═══════════════ CATEGORY BAR ═══════════════ */
#maison .maison-catbar { background: #fff !important; border-bottom: 1px solid #f0f0f0 !important; }
#maison .maison-catbar__inner { padding: 20px 0 !important; display: flex !important; align-items: center !important; gap: 0 !important; position: relative !important; }
#maison .maison-catbar__scroll { display: flex !important; align-items: center !important; gap: 8px !important; overflow-x: auto !important; flex: 1 !important; min-width: 0 !important; scrollbar-width: none; -ms-overflow-style: none; padding: 4px 48px 4px 48px !important; }
#maison .maison-catbar__scroll::-webkit-scrollbar { display: none; }
#maison .maison-catbar__item { display: inline-flex !important; align-items: center !important; gap: 6px !important; padding: 10px 20px !important; white-space: nowrap !important; border: 1px solid #e5e5e5 !important; border-radius: 30px !important; background: #fff !important; color: #1a1a1a !important; font-size: 13px !important; flex-shrink: 0 !important; transition: all 0.2s !important; cursor: pointer !important; }
#maison .maison-catbar__item:hover { border-color: #1a1a1a !important; background: #f9f9f7 !important; }
#maison .maison-catbar__item--active { background: #1a1a1a !important; color: #fff !important; border-color: #1a1a1a !important; }
#maison .maison-catbar__item--active:hover { background: #333 !important; }
#maison .maison-catbar__item svg { width: 16px !important; height: 16px !important; display: inline-block !important; }
#maison .maison-catbar__count { font-size: 11px !important; color: #aaa !important; }
#maison .maison-catbar__item--active .maison-catbar__count { color: rgba(255,255,255,0.6) !important; }
/* Arrows sit at the edges inside the bar, overlaying the scroll padding area */
#maison .maison-catbar__arrow { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; z-index: 5 !important; flex-shrink: 0 !important; width: 36px !important; height: 36px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #fff !important; border: 1px solid #e5e5e5 !important; border-radius: 50% !important; box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important; padding: 0 !important; cursor: pointer !important; }
#maison .maison-catbar__arrow:hover { border-color: #1a1a1a !important; background: #f9f9f7 !important; }
#maison .maison-catbar__arrow--left { left: 0 !important; }
#maison .maison-catbar__arrow--right { right: 0 !important; }
#maison .maison-catbar__arrow svg { width: 16px !important; height: 16px !important; color: #1a1a1a !important; display: block !important; }
#maison .maison-products-grid.is-loading { opacity: 0.4 !important; pointer-events: none !important; transition: opacity 0.2s !important; }

/* ═══════════════ TOOLBAR ═══════════════ */
#maison .maison-toolbar { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 24px !important; gap: 16px !important; }
#maison .maison-toolbar__left { display: flex !important; align-items: center !important; gap: 12px !important; }
#maison .maison-toolbar__right { display: flex !important; align-items: center !important; gap: 8px !important; }
#maison .maison-toolbar__count { font-size: 13px !important; color: #999 !important; display: none !important; }
#maison .maison-toolbar__count strong { color: #333 !important; font-weight: 500 !important; }
@media (min-width: 640px) { #maison .maison-toolbar__count { display: block !important; } }

/* Shared .maison-btn */
#maison .maison-btn { display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 10px 16px !important; border: 1px solid #e5e5e5 !important; border-radius: 30px !important; background: #fff !important; font-size: 13px !important; color: #555 !important; line-height: 1 !important; position: relative !important; }
#maison .maison-btn:hover { border-color: #999 !important; }
#maison .maison-btn svg { width: 16px !important; height: 16px !important; }
#maison .maison-btn--primary { background: #1a1a1a !important; color: #fff !important; border-color: #1a1a1a !important; }
#maison .maison-btn--primary:hover { background: #000 !important; }
#maison .maison-filter-toggle { display: inline-flex !important; }
@media (min-width: 1024px) { #maison .maison-filter-toggle { display: none !important; } }
#maison .maison-filter-badge { position: absolute !important; top: -6px !important; right: -6px !important; background: #000 !important; color: #fff !important; border-radius: 50% !important; width: 16px !important; height: 16px !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 10px !important; padding: 0 !important; border: none !important; }

/* Sort */
#maison .maison-sort { position: relative !important; }
#maison .maison-sort__dropdown { position: absolute !important; right: 0 !important; top: calc(100% + 8px) !important; background: #fff !important; border: 1px solid #e5e5e5 !important; border-radius: 16px !important; box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important; padding: 4px 0 !important; z-index: 20 !important; min-width: 200px !important; display: none !important; }
#maison .maison-sort__dropdown.is-open { display: block !important; }
#maison .maison-sort__option { display: block !important; width: 100% !important; padding: 10px 16px !important; text-align: left !important; font-size: 13px !important; color: #666 !important; background: none !important; border: none !important; border-radius: 0 !important; }
#maison .maison-sort__option:hover { background: #f9f9f7 !important; }
#maison .maison-sort__option--active { color: #000 !important; background: #f9f9f7 !important; }

/* View toggle */
#maison .maison-view-toggle { display: none !important; border: 1px solid #e5e5e5 !important; border-radius: 30px !important; overflow: hidden !important; }
@media (min-width: 640px) { #maison .maison-view-toggle { display: flex !important; } }
#maison .maison-view-toggle__btn { display: flex !important; align-items: center !important; justify-content: center !important; padding: 10px !important; background: none !important; border: none !important; color: #bbb !important; border-radius: 0 !important; }
#maison .maison-view-toggle__btn:hover { color: #666 !important; }
#maison .maison-view-toggle__btn--active { background: #1a1a1a !important; color: #fff !important; }
#maison .maison-view-toggle__btn svg { width: 16px !important; height: 16px !important; }

/* ═══════════════ SIDEBAR ═══════════════ */
#maison .maison-shop-main { display: flex !important; gap: 0 !important; }
#maison .maison-sidebar { display: none !important; width: 256px !important; flex-shrink: 0 !important; padding-right: 32px !important; }
@media (min-width: 1024px) { #maison .maison-sidebar { display: block !important; } }
#maison .maison-sidebar__header { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 24px !important; }
#maison .maison-sidebar__title { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; letter-spacing: 0.05em !important; text-transform: uppercase !important; font-weight: 500 !important; }
#maison .maison-sidebar__clear { font-size: 12px !important; color: #999 !important; }
#maison .maison-sidebar__clear:hover { color: #000 !important; }
#maison .maison-filter-search { position: relative !important; margin-bottom: 20px !important; padding-bottom: 20px !important; border-bottom: 1px solid #f0f0f0 !important; }
#maison .maison-filter-search__input { display: block !important; width: 100% !important; padding: 10px 16px 10px 40px !important; background: #f5f5f5 !important; border: 1px solid #e5e5e5 !important; border-radius: 30px !important; font-size: 13px !important; color: #1a1a1a !important; cursor: text !important; }
#maison .maison-filter-search__input:focus { border-color: #1a1a1a !important; box-shadow: 0 0 0 1px #1a1a1a !important; }
#maison .maison-filter-search__icon { position: absolute !important; left: 12px !important; top: 50% !important; transform: translateY(-50%) !important; width: 16px !important; height: 16px !important; color: #999 !important; pointer-events: none !important; }
#maison .maison-filter-section { border-bottom: 1px solid #f0f0f0 !important; padding-bottom: 20px !important; margin-bottom: 20px !important; }
#maison .maison-filter-section__head { display: flex !important; align-items: center !important; justify-content: space-between !important; width: 100% !important; margin-bottom: 12px !important; }
#maison .maison-filter-section__label { font-size: 12px !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; color: #333 !important; font-weight: 500 !important; }
#maison .maison-filter-section__chevron { width: 16px !important; height: 16px !important; color: #bbb !important; transition: transform 0.2s !important; }
#maison .maison-filter-section__chevron--up { transform: rotate(180deg) !important; }
#maison .maison-filter-section__body { display: none !important; }
#maison .maison-filter-section__body.is-open { display: block !important; }
#maison .maison-filter-chips { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
#maison .maison-filter-chip { display: inline-flex !important; padding: 6px 12px !important; border: 1px solid #e5e5e5 !important; border-radius: 30px !important; background: #fff !important; font-size: 12px !important; color: #555 !important; }
#maison .maison-filter-chip:hover { border-color: #999 !important; }
#maison .maison-filter-chip--active { background: #1a1a1a !important; color: #fff !important; border-color: #1a1a1a !important; }
#maison .maison-price-range__values { display: flex !important; justify-content: space-between !important; font-size: 13px !important; color: #666 !important; margin-top: 8px !important; }
#maison .maison-filter-checkbox { display: flex !important; align-items: center !important; gap: 12px !important; }
#maison .maison-filter-checkbox span { font-size: 13px !important; color: #555 !important; }

/* ═══════════════ PRODUCT CARD ═══════════════ */
#maison .maison-products-grid { flex: 1 !important; display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 20px !important; }
@media (min-width: 768px) { #maison .maison-products-grid { grid-template-columns: repeat(3, 1fr) !important; } }
#maison .maison-card { position: relative !important; }
#maison .maison-card__image-wrap { position: relative !important; aspect-ratio: 4/5 !important; overflow: hidden !important; background: #f0f0ed !important; margin-bottom: 16px !important; cursor: pointer !important; }
#maison .maison-card__image { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform 0.5s ease !important; }
#maison .maison-card:hover .maison-card__image { transform: scale(1.05) !important; }

/* Badge */
#maison .maison-badge { display: inline-block !important; padding: 4px 10px !important; border-radius: 30px !important; font-size: 10px !important; letter-spacing: 0.05em !important; text-transform: uppercase !important; font-weight: 500 !important; line-height: 1.4 !important; border: none !important; }
#maison .maison-badge--sale { background: #ef4444 !important; color: #fff !important; }
#maison .maison-badge--new { background: #1a1a1a !important; color: #fff !important; }
#maison .maison-badge--bestseller { background: #f59e0b !important; color: #fff !important; }
#maison .maison-card__badge { position: absolute !important; top: 12px !important; left: 12px !important; z-index: 2 !important; }

/* Out of stock */
#maison .maison-card__oos { position: absolute !important; inset: 0 !important; background: rgba(255,255,255,0.6) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 3 !important; }
#maison .maison-card__oos-label { display: inline-block !important; background: #fff !important; padding: 8px 16px !important; border-radius: 30px !important; font-size: 12px !important; text-transform: uppercase !important; color: #666 !important; letter-spacing: 0.05em !important; border: none !important; }

/* Hover actions slide up */
#maison .maison-card__actions { position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important; padding: 12px !important; transform: translateY(100%) !important; transition: transform 0.3s ease !important; z-index: 4 !important; }
#maison .maison-card:hover .maison-card__actions { transform: translateY(0) !important; }
#maison .maison-card__actions-inner { display: flex !important; gap: 8px !important; align-items: center !important; }

/* Quick View — white pill */
#maison .maison-card__quickview-btn { display: flex !important; flex: 1 !important; align-items: center !important; justify-content: center !important; gap: 6px !important; padding: 10px 16px !important; background: rgba(255,255,255,0.95) !important; backdrop-filter: blur(8px) !important; border: none !important; border-radius: 30px !important; font-size: 12px !important; color: #1a1a1a !important; box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important; }
#maison .maison-card__quickview-btn:hover { background: #fff !important; }
#maison .maison-card__quickview-btn svg { width: 14px !important; height: 14px !important; color: #1a1a1a !important; }

/* Add to Cart — dark circle */
#maison .maison-card__addcart-btn { display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; width: 40px !important; height: 40px !important; flex-shrink: 0 !important; background: #1a1a1a !important; border: none !important; border-radius: 50% !important; color: #fff !important; box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important; }
#maison .maison-card__addcart-btn:hover { background: #000 !important; }
#maison .maison-card__addcart-btn svg { width: 16px !important; height: 16px !important; color: #fff !important; }

/* Wishlist — circle top-right */
#maison .maison-card__wishlist { position: absolute !important; top: 12px !important; right: 12px !important; z-index: 4 !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 36px !important; height: 36px !important; padding: 0 !important; background: rgba(255,255,255,0.9) !important; border: none !important; border-radius: 50% !important; opacity: 0 !important; transition: opacity 0.2s !important; box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important; color: #888 !important; }
#maison .maison-card:hover .maison-card__wishlist { opacity: 1 !important; }
#maison .maison-card__wishlist--active { opacity: 1 !important; background: #fef2f2 !important; color: #ef4444 !important; }
#maison .maison-card__wishlist svg { width: 16px !important; height: 16px !important; }

/* Card info — category, name, price only */
#maison .maison-card__category { font-size: 11px !important; color: #999 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; margin-bottom: 4px !important; }
#maison .maison-card__name { font-size: 15px !important; color: #1a1a1a !important; margin-bottom: 6px !important; }
#maison .maison-card__name a { color: #1a1a1a !important; font-size: 15px !important; }
#maison .maison-card__name a:hover { text-decoration: underline !important; }
#maison .maison-card__price { display: flex !important; align-items: center !important; gap: 8px !important; }
#maison .maison-card__price-current { font-size: 16px !important; color: #1a1a1a !important; }
#maison .maison-card__price-original { font-size: 13px !important; color: #bbb !important; text-decoration: line-through !important; }

/* List view */
#maison .maison-products-grid--list { grid-template-columns: 1fr !important; gap: 16px !important; }
#maison .maison-products-grid--list .maison-card { display: flex !important; gap: 20px !important; padding: 16px !important; border: 1px solid #f0f0f0 !important; border-radius: 30px !important; }
#maison .maison-products-grid--list .maison-card__image-wrap { width: 160px !important; height: 160px !important; flex-shrink: 0 !important; margin-bottom: 0 !important; aspect-ratio: auto !important; }

/* No products */
#maison .maison-no-products { text-align: center !important; padding: 80px 0 !important; }
#maison .maison-no-products__title { font-size: 18px !important; color: #999 !important; margin-bottom: 8px !important; }
#maison .maison-no-products__text { font-size: 14px !important; color: #ccc !important; margin-bottom: 16px !important; }
#maison .maison-no-products__clear { font-size: 14px !important; color: #1a1a1a !important; text-decoration: underline !important; }

/* Pagination */
#maison .maison-pagination { display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; padding: 40px 0 !important; }
#maison .maison-pagination a, #maison .maison-pagination span { display: flex !important; align-items: center !important; justify-content: center !important; width: 40px !important; height: 40px !important; border-radius: 50% !important; font-size: 14px !important; color: #555 !important; border: 1px solid #e5e5e5 !important; background: #fff !important; }
#maison .maison-pagination a:hover { border-color: #999 !important; }
#maison .maison-pagination .current { background: #1a1a1a !important; color: #fff !important; border-color: #1a1a1a !important; }

/* ═══════════════════════════════════════════════════
   QUICK VIEW — built entirely by JS with inline styles.
   Only hover animation CSS needed here.
   ═══════════════════════════════════════════════════ */

/* Quick view: built entirely by JS with inline styles — no CSS needed */

/* ═══════════════════════════════════════════════════
   MOBILE FILTER — also outside #maison
   ═══════════════════════════════════════════════════ */
#maisonMobileFilter { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 999998 !important; display: none !important; }
#maisonMobileFilter.is-open { display: block !important; }
#maisonMobileFilter * { box-sizing: border-box !important; font-family: 'DM Sans', sans-serif !important; }
#maisonMobileFilter .maison-mobile-filter__backdrop { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; background: rgba(0,0,0,0.4) !important; }
#maisonMobileFilter .maison-mobile-filter__panel { position: absolute !important; right: 0 !important; top: 0 !important; bottom: 0 !important; width: 320px !important; max-width: 100% !important; background: #fff !important; padding: 24px !important; overflow-y: auto !important; }
#maisonMobileFilter .maison-mobile-filter__close { position: absolute !important; top: 16px !important; right: 16px !important; background: none !important; border: none !important; cursor: pointer !important; padding: 4px !important; }
#maisonMobileFilter .maison-mobile-filter__close svg { width: 20px !important; height: 20px !important; }

/* ═══════════════════════════════════════════════════
   SINGLE PRODUCT PAGE (inside #maison)
   ═══════════════════════════════════════════════════ */
#maison .maison-breadcrumb { display: flex !important; align-items: center !important; gap: 8px !important; padding: 20px 0 !important; }
#maison .maison-breadcrumb a { display: inline-flex !important; align-items: center !important; gap: 6px !important; color: #999 !important; font-size: 13px !important; }
#maison .maison-breadcrumb a:hover { color: #333 !important; }
#maison .maison-breadcrumb__sep { width: 14px !important; height: 14px !important; color: #ccc !important; }
#maison .maison-breadcrumb__current { color: #333 !important; font-size: 13px !important; }

#maison .maison-product-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 40px !important; padding-bottom: 64px !important; }
@media (min-width: 1024px) { #maison .maison-product-grid { grid-template-columns: 1fr 1fr !important; gap: 64px !important; } }

#maison .maison-gallery__main { position: relative !important; aspect-ratio: 4/5 !important; overflow: hidden !important; background: #f7f7f5 !important; margin-bottom: 12px !important; }
#maison .maison-gallery__main img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
#maison .maison-gallery__badge { position: absolute !important; top: 20px !important; left: 20px !important; z-index: 2 !important; }
#maison .maison-gallery__share { position: absolute !important; top: 20px !important; right: 20px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; width: 36px !important; height: 36px !important; background: rgba(255,255,255,0.9) !important; border-radius: 50% !important; box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important; }
#maison .maison-gallery__share svg { width: 16px !important; height: 16px !important; color: #555 !important; }
#maison .maison-gallery__oos-overlay { position: absolute !important; inset: 0 !important; background: rgba(255,255,255,0.5) !important; display: flex !important; align-items: center !important; justify-content: center !important; }
#maison .maison-gallery__oos-label { background: #fff !important; padding: 12px 24px !important; border-radius: 30px !important; font-size: 14px !important; color: #666 !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; }
#maison .maison-gallery__thumbs { display: flex !important; gap: 12px !important; }
#maison .maison-gallery__thumb { display: block !important; width: 80px !important; height: 80px !important; overflow: hidden !important; border: 2px solid transparent !important; }
#maison .maison-gallery__thumb:hover { border-color: #ccc !important; }
#maison .maison-gallery__thumb--active { border-color: #1a1a1a !important; }
#maison .maison-gallery__thumb img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }

#maison .maison-product-info { display: flex !important; flex-direction: column !important; }
@media (min-width: 1024px) { #maison .maison-product-info { padding-top: 16px !important; } }
#maison .maison-product-info__category { font-size: 11px !important; color: #999 !important; text-transform: uppercase !important; letter-spacing: 0.12em !important; margin-bottom: 12px !important; }
#maison .maison-product-info__title { font-size: clamp(28px, 4vw, 38px) !important; color: #1a1a1a !important; line-height: 1.15 !important; margin-bottom: 16px !important; }

#maison .maison-stars { display: flex !important; align-items: center !important; gap: 4px !important; margin-bottom: 24px !important; }
#maison .maison-star { width: 16px !important; height: 16px !important; color: #e5e5e5 !important; }
#maison .maison-star--filled { color: #fbbf24 !important; }
#maison .maison-rating-value { font-size: 14px !important; color: #666 !important; margin-left: 8px !important; }
#maison .maison-rating-count { font-size: 13px !important; color: #999 !important; margin-left: 4px !important; }

#maison .maison-price-block { display: flex !important; align-items: baseline !important; gap: 12px !important; margin-bottom: 28px !important; }
#maison .maison-price-block__current { font-size: 32px !important; color: #1a1a1a !important; }
#maison .maison-price-block__original { font-size: 20px !important; color: #ccc !important; text-decoration: line-through !important; }
#maison .maison-price-block__savings { display: inline-block !important; background: #fef2f2 !important; color: #ef4444 !important; padding: 4px 10px !important; border-radius: 30px !important; font-size: 12px !important; }
#maison .maison-divider { height: 1px !important; background: #f0f0f0 !important; margin-bottom: 28px !important; }
#maison .maison-product-info__desc { font-size: 15px !important; color: #666 !important; line-height: 1.8 !important; margin-bottom: 28px !important; }

/* Specs grid */
#maison .maison-specs-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; margin-bottom: 28px !important; }
#maison .maison-spec-card { display: flex !important; align-items: flex-start !important; gap: 12px !important; background: #f9f9f7 !important; padding: 16px !important; border-radius: 30px !important; }
#maison .maison-spec-card__icon { display: flex !important; align-items: center !important; justify-content: center !important; padding: 8px !important; background: #fff !important; border-radius: 30px !important; color: #888 !important; flex-shrink: 0 !important; }
#maison .maison-spec-card__icon svg { width: 16px !important; height: 16px !important; }
#maison .maison-spec-card__label { font-size: 11px !important; color: #aaa !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; margin-bottom: 2px !important; }
#maison .maison-spec-card__value { font-size: 14px !important; color: #333 !important; }
#maison .maison-spec-card__dropdown-wrap { position: relative !important; margin-top: 2px !important; }
#maison .maison-spec-card__select { display: block !important; width: 100% !important; padding: 4px 24px 4px 0 !important; border-bottom: 1px solid #ddd !important; font-size: 14px !important; color: #333 !important; -webkit-appearance: none !important; appearance: none !important; cursor: pointer !important; }
#maison .maison-spec-card__select:focus { border-bottom-color: #1a1a1a !important; }
#maison .maison-spec-card__chevron { position: absolute !important; right: 2px !important; top: 50% !important; transform: translateY(-50%) !important; width: 14px !important; height: 14px !important; color: #999 !important; pointer-events: none !important; }

/* Quantity + ATC */
#maison .maison-atc-section { margin-bottom: 28px !important; }
#maison .maison-atc-row { display: flex !important; align-items: center !important; gap: 16px !important; margin-bottom: 16px !important; }
#maison .maison-qty { display: flex !important; align-items: center !important; border: 1px solid #e5e5e5 !important; border-radius: 30px !important; background: #f9f9f7 !important; }
#maison .maison-qty__btn { display: flex !important; align-items: center !important; justify-content: center !important; padding: 12px 14px !important; }
#maison .maison-qty__btn:hover { background: #f0f0ed !important; }
#maison .maison-qty__btn svg { width: 16px !important; height: 16px !important; color: #555 !important; }
#maison .maison-qty__value { min-width: 48px !important; text-align: center !important; font-size: 15px !important; color: #1a1a1a !important; }
#maison .maison-atc-btn { display: flex !important; flex: 1 !important; align-items: center !important; justify-content: center !important; gap: 10px !important; padding: 16px !important; background: #1a1a1a !important; color: #fff !important; border-radius: 30px !important; font-size: 14px !important; letter-spacing: 0.04em !important; font-weight: 500 !important; box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important; }
#maison .maison-atc-btn:hover { background: #000 !important; }
#maison .maison-atc-btn svg { width: 18px !important; height: 18px !important; color: #fff !important; }
#maison .maison-atc-btn--disabled { background: #f0f0f0 !important; color: #999 !important; cursor: not-allowed !important; box-shadow: none !important; }
#maison .maison-wishlist-btn { display: flex !important; width: 100% !important; align-items: center !important; justify-content: center !important; gap: 10px !important; padding: 14px !important; border: 1px solid #e5e5e5 !important; border-radius: 30px !important; font-size: 14px !important; color: #555 !important; }
#maison .maison-wishlist-btn:hover { border-color: #999 !important; }
#maison .maison-wishlist-btn--active { background: #fef2f2 !important; border-color: #fecaca !important; color: #ef4444 !important; }
#maison .maison-wishlist-btn svg { width: 18px !important; height: 18px !important; }
#maison .maison-notify-btn { display: flex !important; width: 100% !important; align-items: center !important; justify-content: center !important; padding: 14px !important; border: 1px solid #e5e5e5 !important; border-radius: 30px !important; font-size: 14px !important; color: #555 !important; }

/* Trust badges */
#maison .maison-trust { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; }
#maison .maison-trust--product { padding-top: 24px !important; border-top: 1px solid #f0f0f0 !important; }
#maison .maison-trust__item { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 6px !important; }
#maison .maison-trust--product .maison-trust__icon { width: 40px !important; height: 40px !important; border-radius: 50% !important; background: #f5f5f2 !important; display: flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 4px !important; }
#maison .maison-trust--product .maison-trust__icon svg { width: 18px !important; height: 18px !important; color: #888 !important; }
#maison .maison-trust--product .maison-trust__title { font-size: 12px !important; color: #333 !important; }
#maison .maison-trust--product .maison-trust__sub { font-size: 11px !important; color: #aaa !important; }

/* Downloads */
#maison .maison-downloads { margin-top: 80px !important; }
#maison .maison-downloads__header { display: flex !important; align-items: center !important; gap: 12px !important; margin-bottom: 32px !important; }
#maison .maison-downloads__header svg { width: 20px !important; height: 20px !important; color: #888 !important; }
#maison .maison-downloads__title { font-size: 24px !important; color: #1a1a1a !important; }
#maison .maison-downloads__grid { display: grid !important; grid-template-columns: 1fr !important; gap: 16px !important; }
@media (min-width: 640px) { #maison .maison-downloads__grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (min-width: 1024px) { #maison .maison-downloads__grid { grid-template-columns: repeat(4, 1fr) !important; } }
#maison .maison-download-card { display: flex !important; align-items: flex-start !important; gap: 16px !important; padding: 20px !important; background: #f9f9f7 !important; border: 1px solid transparent !important; border-radius: 30px !important; }
#maison .maison-download-card:hover { background: #f0f0ec !important; border-color: #e5e5e5 !important; }
#maison .maison-download-card__icon { display: flex !important; align-items: center !important; justify-content: center !important; padding: 12px !important; background: #fff !important; border-radius: 30px !important; color: #888 !important; flex-shrink: 0 !important; }
#maison .maison-download-card__icon svg { width: 20px !important; height: 20px !important; }
#maison .maison-download-card__name { font-size: 14px !important; color: #333 !important; margin-bottom: 4px !important; }
#maison .maison-download-card__meta { font-size: 12px !important; color: #aaa !important; }
#maison .maison-download-card__action { display: flex !important; align-items: center !important; gap: 6px !important; margin-top: 10px !important; font-size: 12px !important; color: #999 !important; }
#maison .maison-download-card:hover .maison-download-card__action { color: #1a1a1a !important; }

/* Tabs */
#maison .maison-tabs { margin-top: 80px !important; }
#maison .maison-tabs__nav { display: flex !important; border-bottom: 1px solid #f0f0f0 !important; margin-bottom: 32px !important; }
#maison .maison-tabs__btn { display: inline-flex !important; padding: 14px 24px !important; font-size: 13px !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; color: #aaa !important; position: relative !important; font-weight: 500 !important; }
#maison .maison-tabs__btn:hover { color: #666 !important; }
#maison .maison-tabs__btn--active { color: #1a1a1a !important; }
#maison .maison-tabs__btn--active::after { content: '' !important; position: absolute !important; bottom: 0 !important; left: 0 !important; right: 0 !important; height: 2px !important; background: #1a1a1a !important; display: block !important; }
#maison .maison-tabs__panel { display: none !important; max-width: 768px !important; }
#maison .maison-tabs__panel--active { display: block !important; }
#maison .maison-tab-details__title { font-size: 22px !important; color: #1a1a1a !important; margin-bottom: 20px !important; }
#maison .maison-tab-details__text { font-size: 15px !important; color: #666 !important; line-height: 1.9 !important; margin-bottom: 20px !important; }
#maison .maison-tab-details__features { list-style: none !important; padding: 0 !important; }
#maison .maison-tab-details__feature { display: flex !important; align-items: center !important; gap: 12px !important; margin-bottom: 12px !important; }
#maison .maison-tab-details__check { width: 20px !important; height: 20px !important; border-radius: 50% !important; background: #f0f0ed !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
#maison .maison-tab-details__check svg { width: 12px !important; height: 12px !important; color: #666 !important; }
#maison .maison-tab-details__feature-text { font-size: 14px !important; color: #555 !important; }
#maison .maison-specs-table__title { font-size: 22px !important; color: #1a1a1a !important; margin-bottom: 24px !important; }
#maison .maison-specs-table__row { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 16px 0 !important; }
#maison .maison-specs-table__row + .maison-specs-table__row { border-top: 1px solid #f5f5f5 !important; }
#maison .maison-specs-table__label { font-size: 14px !important; color: #999 !important; }
#maison .maison-specs-table__value { font-size: 14px !important; color: #333 !important; }

/* Related */
#maison .maison-related { margin-top: 80px !important; }
#maison .maison-related__header { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 32px !important; }
#maison .maison-related__title { font-size: 24px !important; color: #1a1a1a !important; }
#maison .maison-related__viewall { display: inline-flex !important; align-items: center !important; gap: 4px !important; font-size: 13px !important; color: #999 !important; }
#maison .maison-related__viewall:hover { color: #333 !important; }
#maison .maison-related__grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 20px !important; }
@media (min-width: 768px) { #maison .maison-related__grid { grid-template-columns: repeat(4, 1fr) !important; } }
#maison .maison-related-card { display: block !important; }
#maison .maison-related-card__image { aspect-ratio: 4/5 !important; overflow: hidden !important; background: #f7f7f5 !important; margin-bottom: 12px !important; }
#maison .maison-related-card__image img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform 0.5s ease !important; }
#maison .maison-related-card:hover .maison-related-card__image img { transform: scale(1.05) !important; }
#maison .maison-related-card__cat { font-size: 11px !important; color: #aaa !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; }
#maison .maison-related-card__name { font-size: 14px !important; color: #1a1a1a !important; margin-top: 4px !important; }
#maison .maison-related-card:hover .maison-related-card__name { text-decoration: underline !important; }
#maison .maison-related-card__price { font-size: 14px !important; color: #555 !important; margin-top: 4px !important; }

.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* ═══════════════════════════════════════════════════
   CART PAGE
   ═══════════════════════════════════════════════════ */
#maison.maison-cart-wrap { background: #fff !important; min-height: 60vh !important; }

/* Cart layout: 2 columns on desktop */
#maison .maison-cart-layout { display: grid !important; grid-template-columns: 1fr !important; gap: 40px !important; }
@media (min-width: 1024px) {
    #maison .maison-cart-layout { grid-template-columns: 2fr 1fr !important; }
}

/* Cart header row - hide on mobile */
#maison .maison-cart-header { display: none !important; }
@media (min-width: 768px) {
    #maison .maison-cart-header { display: grid !important; }
}

/* Cart item row - responsive */
@media (max-width: 767px) {
    #maison .maison-cart__item {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    #maison .maison-cart__item > div:first-child { order: 1 !important; }
    #maison .maison-cart__item > span:nth-child(2) { display: none !important; } /* hide individual price on mobile */
}

/* ═══════════════════════════════════════════════════
   CHECKOUT PAGE
   ═══════════════════════════════════════════════════ */
#maison.maison-checkout-wrap { background: #fff !important; min-height: 60vh !important; }

/* Checkout layout: 2 columns on desktop */
#maison .maison-checkout-layout { display: grid !important; grid-template-columns: 1fr !important; gap: 40px !important; }
@media (min-width: 1024px) {
    #maison .maison-checkout-layout { grid-template-columns: 3fr 2fr !important; }
}

/* Checkout section spacing */
#maison .maison-checkout__section { margin-bottom: 40px !important; }

/* WC Checkout form fields */
#maison .woocommerce-checkout .form-row { margin-bottom: 16px !important; }
#maison .woocommerce-checkout .form-row-wide { width: 100% !important; }
#maison .woocommerce-checkout .form-row-first,
#maison .woocommerce-checkout .form-row-last { width: 48% !important; display: inline-block !important; }
#maison .woocommerce-checkout .form-row-first { float: left !important; }
#maison .woocommerce-checkout .form-row-last { float: right !important; }
#maison .woocommerce-checkout .form-row label {
    display: block !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    color: #666 !important;
    margin-bottom: 6px !important;
    font-weight: 400 !important;
}
#maison .woocommerce-checkout .form-row label .required { color: #ef4444 !important; }
#maison .woocommerce-checkout .form-row input.input-text,
#maison .woocommerce-checkout .form-row textarea,
#maison .woocommerce-checkout .form-row select {
    display: block !important;
    width: 100% !important;
    padding: 14px 16px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 16px !important;
    background: #fff !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    transition: border-color 0.2s !important;
}
#maison .woocommerce-checkout .form-row input.input-text:focus,
#maison .woocommerce-checkout .form-row textarea:focus,
#maison .woocommerce-checkout .form-row select:focus {
    border-color: #1a1a1a !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Order review table */
#maison .woocommerce-checkout-review-order-table { width: 100% !important; border-collapse: collapse !important; }
#maison .woocommerce-checkout-review-order-table th,
#maison .woocommerce-checkout-review-order-table td {
    padding: 12px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    text-align: left !important;
    vertical-align: top !important;
}
#maison .woocommerce-checkout-review-order-table th { color: #999 !important; font-weight: 400 !important; font-size: 12px !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; }
#maison .woocommerce-checkout-review-order-table td { text-align: right !important; }
#maison .woocommerce-checkout-review-order-table .cart_item td { font-size: 14px !important; color: #333 !important; }
#maison .woocommerce-checkout-review-order-table .cart_item td.product-name { text-align: left !important; color: #1a1a1a !important; }
#maison .woocommerce-checkout-review-order-table .order-total th,
#maison .woocommerce-checkout-review-order-table .order-total td {
    font-weight: 600 !important;
    font-size: 18px !important;
    color: #1a1a1a !important;
    border-bottom: none !important;
    padding-top: 16px !important;
}

/* Payment methods */
#maison .wc_payment_methods { list-style: none !important; padding: 0 !important; margin: 0 0 16px !important; }
#maison .wc_payment_method {
    padding: 16px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 16px !important;
    margin-bottom: 12px !important;
}
#maison .wc_payment_method input[type="radio"] {
    -webkit-appearance: radio !important;
    appearance: radio !important;
    width: 18px !important;
    height: 18px !important;
    accent-color: #1a1a1a !important;
}
#maison .wc_payment_method label {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1a1a1a !important;
    cursor: pointer !important;
}
#maison .payment_box {
    padding: 12px 0 0 26px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    color: #666 !important;
}

/* Place order button */
#maison #place_order {
    display: block !important;
    width: 100% !important;
    padding: 18px !important;
    background: #1a1a1a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 30px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-align: center !important;
    cursor: pointer !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    margin-top: 16px !important;
}
#maison #place_order:hover { background: #333 !important; }

/* WC notices */
#maison .woocommerce-error,
#maison .woocommerce-message,
#maison .woocommerce-info {
    font-family: 'DM Sans', sans-serif !important;
    padding: 16px 20px !important;
    border-radius: 16px !important;
    margin-bottom: 20px !important;
    font-size: 14px !important;
    list-style: none !important;
}
#maison .woocommerce-error { background: #fef2f2 !important; color: #dc2626 !important; border: 1px solid #fecaca !important; }
#maison .woocommerce-message { background: #f0fdf4 !important; color: #16a34a !important; border: 1px solid #bbf7d0 !important; }
#maison .woocommerce-info { background: #eff6ff !important; color: #2563eb !important; border: 1px solid #bfdbfe !important; }

/* WC coupon toggle on checkout */
#maison .woocommerce-form-coupon-toggle .woocommerce-info {
    background: #f9f9f7 !important;
    color: #555 !important;
    border: 1px solid #e5e5e5 !important;
}
#maison .woocommerce-form-coupon-toggle .woocommerce-info a { color: #1a1a1a !important; font-weight: 500 !important; }

/* Select2 */
#maison .select2-container .select2-selection--single {
    height: auto !important;
    padding: 14px 16px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 16px !important;
    background: #fff !important;
}
#maison .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 0 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    line-height: 1.4 !important;
}

/* Checkout responsive */
@media (max-width: 767px) {
    #maison .woocommerce-checkout .form-row-first,
    #maison .woocommerce-checkout .form-row-last {
        width: 100% !important;
        float: none !important;
        display: block !important;
    }
}
