/* MAP Product Experience v1.0.0 — 3:4 gallery ratio */
.map-product-page{background:#f7f8fb;color:#111827}
.map-product-shell{width:min(1500px,calc(100% - 28px));margin:0 auto;padding:18px 0 80px}
.map-product-breadcrumbs{margin-bottom:12px;font-size:13px}.map-product-breadcrumbs .woocommerce-breadcrumb{margin:0}
.map-product-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:12px;align-items:start}
.map-product-gallery,.map-product-purchase,.map-product-accordion,.map-product-row-section{border:1px solid #e4e8ef;border-radius:12px;background:#fff;box-shadow:0 2px 9px rgba(15,23,42,.04)}
.map-product-gallery{padding:12px;display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px}
.map-product-thumbs{display:flex;flex-direction:column;gap:8px;max-height:720px;overflow-y:auto}
.map-product-thumb{width:72px;height:72px;padding:3px;overflow:hidden;border:1px solid #e1e6ee;border-radius:8px;background:#fff;cursor:pointer}
.map-product-thumb.is-active{border:2px solid #174fb4}.map-product-thumb img{width:100%!important;height:100%!important;margin:0!important;object-fit:contain!important}
.map-product-main-media{position:relative;width:100%;min-height:580px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;background:#fff}
.map-product-main-slide{position:absolute;inset:0;margin:0;display:none;align-items:center;justify-content:center}.map-product-main-slide.is-active{display:flex}
.map-product-main-slide a{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.map-product-main-slide img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:10px!important;object-fit:contain!important;transition:transform .22s ease}
.map-product-main-slide:hover img{transform:scale(1.06)}
.map-product-sale-badge{position:absolute;top:8px;left:8px;z-index:3;padding:6px 9px;border-radius:6px;background:#e11d2e;color:#fff;font-size:12px;font-weight:900}
.map-gallery-arrow{position:absolute;top:50%;z-index:3;width:42px;height:42px;margin-top:-21px;border:1px solid #e1e6ee;border-radius:50%;background:rgba(255,255,255,.95);color:#0a1f4d;font-size:30px;line-height:1;cursor:pointer}
.map-gallery-prev{left:10px}.map-gallery-next{right:10px}.map-hover-zoom{position:absolute;bottom:12px;left:50%;padding:7px 11px;transform:translateX(-50%);border:1px solid #e1e6ee;border-radius:20px;background:rgba(255,255,255,.94);color:#111827;font-size:11px;font-weight:800}
.map-product-purchase{padding:18px}.map-product-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.map-product-badge{padding:5px 8px;border-radius:5px;color:#fff;font-size:10px;font-weight:900}.map-product-badge-green{background:#168a42}.map-product-badge-purple{background:#6d28d9}
.map-product-title{margin:0 0 10px;color:#111827;font-size:clamp(25px,2.3vw,38px);line-height:1.12;font-weight:900}
.map-product-rating{min-height:24px;display:flex;align-items:center;gap:8px;margin-bottom:12px}.map-product-rating .star-rating{margin:0}.map-product-rating a{color:#0b3d91;font-size:13px;font-weight:800;text-decoration:none}
.map-product-oem{margin-bottom:10px;color:#344054;font-size:15px}.map-product-oem span{color:#0b3d91;font-weight:900}
.map-product-stock{display:flex;align-items:center;gap:6px;margin:10px 0;font-size:13px;font-weight:800}.map-product-stock.is-in{color:#168a42}.map-product-stock.is-out{color:#c62828}.map-stock-dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.map-product-price{margin:8px 0 14px;color:#e11d2e;font-size:34px;font-weight:900;line-height:1.1}.map-product-price del{margin-left:6px;color:#98a2b3;font-size:17px}.map-product-price ins{color:inherit;text-decoration:none}
.map-vehicle-box{margin-bottom:13px;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:10px;background:linear-gradient(135deg,#083d91,#0b63ce);color:#fff}.map-vehicle-box div{display:flex;flex-direction:column;gap:3px}.map-vehicle-label{color:#b9d3ff;font-size:9px;font-weight:900;letter-spacing:.08em}.map-vehicle-box strong{color:#fff;font-size:14px}.map-vehicle-box a{flex:0 0 auto;padding:8px 11px;border:1px solid rgba(255,255,255,.45);border-radius:7px;background:rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:900;text-decoration:none}
.map-product-short-description{max-height:72px;margin-bottom:12px;overflow:hidden;color:#667085;font-size:13px;line-height:1.45}
.map-product-quantity-row{margin-bottom:12px;display:flex;align-items:center;gap:12px}.map-product-quantity-row label{font-size:13px;font-weight:900}.map-quantity-control{display:inline-flex;align-items:center;border:1px solid #d9dee8;border-radius:7px;overflow:hidden}.map-quantity-control>button{width:36px;height:36px;border:0;background:#f7f8fa;color:#111827;font-size:20px;cursor:pointer}.map-quantity-control .quantity{margin:0!important}.map-quantity-control input.qty{width:48px!important;height:36px!important;padding:0!important;border:0!important;border-left:1px solid #d9dee8!important;border-right:1px solid #d9dee8!important;text-align:center!important}
.map-product-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.map-product-actions .button{min-height:48px;margin:0!important;border:0!important;border-radius:8px!important;font-size:14px!important;font-weight:900!important}.map-add-to-cart{background:#ff5a00!important;color:#fff!important}.map-buy-now{background:#083d91!important;color:#fff!important}
.map-product-trust{margin-top:14px;padding-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid #eceff3}.map-product-trust div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.map-product-trust span{font-size:21px}.map-product-trust strong{font-size:11px}.map-product-trust small{color:#667085;font-size:9px}
.map-product-accordions{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.map-product-accordion{overflow:hidden}.map-product-accordion summary{padding:15px 17px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.map-product-accordion summary::-webkit-details-marker{display:none}.map-product-accordion summary:after{content:"+";font-size:22px;font-weight:700;color:#0b3d91}.map-product-accordion[open] summary:after{content:"−"}.map-product-accordion summary span{display:flex;flex-direction:column;gap:3px}.map-product-accordion summary strong{font-size:14px;color:#111827}.map-product-accordion summary small{font-size:11px;color:#667085}.map-accordion-content{padding:0 17px 17px;color:#475467;font-size:13px;line-height:1.55}
.map-product-row-section{margin-top:12px;padding:14px}.map-product-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.map-product-row-head h2{margin:0;color:#0a1f4d;font-size:22px;font-weight:900}.map-product-row-head a{color:#0b3d91;font-size:12px;font-weight:800;text-decoration:none}.map-product-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.map-related-card{overflow:hidden;border:1px solid #e5e9f0;border-radius:9px;background:#fff}.map-related-image{height:190px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}.map-related-image img{width:100%!important;height:100%!important;margin:0!important;padding:5px!important;object-fit:contain!important}.map-related-card h3{min-height:38px;margin:0;padding:6px 8px 0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.25}.map-related-card h3 a{color:#111827;text-decoration:none}.map-related-bottom{padding:7px 8px 9px;display:flex;align-items:center;justify-content:space-between;gap:6px}.map-related-bottom>span{color:#e11d2e;font-size:16px;font-weight:900}.map-related-bottom .button{min-height:28px!important;padding:0 10px!important;border-radius:7px!important;background:#ff5a00!important;color:#fff!important;font-size:10px!important;font-weight:900!important}
@media(max-width:1050px){.map-product-top{grid-template-columns:1fr}.map-product-gallery{max-width:760px;margin:0 auto;width:100%}.map-product-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.map-product-shell{width:calc(100% - 10px);padding-top:10px}.map-product-gallery{grid-template-columns:1fr;padding:8px}.map-product-thumbs{order:2;max-height:none;overflow-x:auto;overflow-y:hidden;flex-direction:row}.map-product-thumb{flex:0 0 58px;width:58px;height:58px}.map-product-main-media{min-height:390px}.map-hover-zoom{display:none}.map-product-purchase{padding:13px}.map-product-title{font-size:24px}.map-product-actions{grid-template-columns:1fr}.map-product-trust{grid-template-columns:repeat(3,1fr)}.map-product-accordions{grid-template-columns:1fr}.map-product-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}}


/* v4.1.1 product page readability and control corrections */
.map-product-top-nav{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:14px;
    flex-wrap:wrap;
}
.map-back-home{
    min-height:38px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #0b3d91;
    border-radius:8px;
    background:#fff;
    color:#0b3d91;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.map-back-home:hover{background:#0b3d91;color:#fff}
.map-product-breadcrumbs{margin-bottom:0!important;font-size:14px!important}

.map-product-badge{
    min-height:30px!important;
    padding:7px 11px!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    font-size:12px!important;
    letter-spacing:.02em;
}
.map-product-badge-green{
    background:#07863a!important;
    box-shadow:0 3px 10px rgba(7,134,58,.25);
}

.map-product-title{
    font-size:clamp(30px,2.5vw,42px)!important;
    line-height:1.1!important;
}

.map-product-technical-summary{
    margin:0 0 14px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.map-product-technical-summary>div{
    min-width:0;
    padding:10px 11px;
    border:1px solid #dfe5ee;
    border-radius:8px;
    background:#f8fafc;
}
.map-product-technical-summary span{
    display:block;
    margin-bottom:3px;
    color:#667085;
    font-size:11px;
    font-weight:700;
}
.map-product-technical-summary strong{
    display:block;
    overflow:hidden;
    color:#0a1f4d;
    font-size:14px;
    font-weight:900;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.map-product-rating a{font-size:15px!important}
.map-product-stock{font-size:15px!important}
.map-product-price{font-size:38px!important}
.map-product-short-description{
    max-height:none!important;
    font-size:15px!important;
    line-height:1.55!important;
}
.map-product-quantity-row label{font-size:15px!important}

.map-quantity-control{
    display:inline-flex!important;
    align-items:center!important;
    overflow:hidden!important;
}
.map-quantity-control>button{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 42px!important;
    border:0!important;
    background:#f3f6fa!important;
    color:#0a1f4d!important;
    font-size:24px!important;
    font-weight:900!important;
    line-height:1!important;
    visibility:visible!important;
    opacity:1!important;
}
.map-product-qty-input{
    width:58px!important;
    height:42px!important;
    min-width:58px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-left:1px solid #d9dee8!important;
    border-right:1px solid #d9dee8!important;
    background:#fff!important;
    color:#111827!important;
    font-size:16px!important;
    font-weight:800!important;
    text-align:center!important;
    appearance:textfield;
    -moz-appearance:textfield;
}
.map-product-qty-input::-webkit-outer-spin-button,
.map-product-qty-input::-webkit-inner-spin-button{
    margin:0;
    -webkit-appearance:none;
}

.map-product-actions .button{
    min-height:52px!important;
    font-size:16px!important;
}
.map-product-trust strong{font-size:13px!important}
.map-product-trust small{font-size:11px!important}
.map-product-accordion summary strong{font-size:16px!important}
.map-product-accordion summary small{font-size:13px!important}
.map-accordion-content{font-size:15px!important}
.map-product-row-head h2{font-size:25px!important}
.map-related-card h3{min-height:44px!important;font-size:13px!important}
.map-related-bottom>span{font-size:18px!important}

@media(max-width:700px){
    .map-product-top-nav{gap:8px}
    .map-back-home{
        min-height:36px;
        padding:0 11px;
        font-size:12px;
    }
    .map-product-breadcrumbs{
        width:100%;
        font-size:11px!important;
    }
    .map-product-title{font-size:27px!important}
    .map-product-technical-summary{grid-template-columns:1fr}
    .map-product-short-description{font-size:14px!important}
    .map-product-actions .button{font-size:15px!important}
}


/* v4.1.2 — transmission summary visibility */
.map-product-technical-summary{
    margin-top:2px!important;
    margin-bottom:15px!important;
}

.map-product-technical-summary>div{
    min-height:58px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.map-product-technical-summary span{
    font-size:12px!important;
}

.map-product-technical-summary strong{
    font-size:15px!important;
}

@media(max-width:700px){
    .map-product-technical-summary{
        grid-template-columns:1fr!important;
    }
}


/* v4.1.3 compact equal-height purchase panel */
.map-product-top{align-items:stretch!important}
.map-product-gallery,.map-product-purchase{height:100%}
.map-product-purchase{padding:15px!important;display:flex;flex-direction:column}
.map-product-title{margin-bottom:8px!important}
.map-product-technical-summary{margin-bottom:10px!important;gap:7px!important}
.map-product-technical-summary>div{min-height:54px!important;padding:8px 10px!important}
.map-product-rating{margin-bottom:8px!important}
.map-product-stock{margin:7px 0!important}
.map-product-price{margin:5px 0 10px!important}
.map-vehicle-box{margin-bottom:9px!important;padding:10px 12px!important}
.map-product-short-description{margin-bottom:9px!important;font-size:14px!important;line-height:1.4!important}
.map-product-quantity-row{margin-bottom:9px!important}
.map-product-actions .button{min-height:48px!important}
.map-product-trust{margin-top:10px!important;padding-top:10px!important}
.map-add-to-cart.is-loading{opacity:.72!important;cursor:wait!important}
.map-add-to-cart.is-added{background:#07863a!important}
@media(max-width:1050px){.map-product-gallery,.map-product-purchase{height:auto}}


/* v4.1.4 purchase action correction */
.map-product-title{
    font-size:clamp(27px,2.15vw,36px)!important;
    line-height:1.12!important;
}

.map-product-actions [disabled]{
    opacity:.7!important;
    cursor:wait!important;
}

.map-add-to-cart.is-added{
    background:#07863a!important;
}

.map-add-to-cart.is-loading,
.map-buy-now.is-loading{
    opacity:.72!important;
}

@media(max-width:700px){
    .map-product-title{
        font-size:24px!important;
    }
}


/* v4.1.5 compact and fast product page */
.map-product-shell{padding-top:12px!important}
.map-product-top{
    grid-template-columns:minmax(0,1fr) minmax(380px,.88fr)!important;
    align-items:stretch!important;
}
.map-product-gallery{
    padding:9px!important;
    grid-template-columns:70px minmax(0,1fr)!important;
}
.map-product-thumb{width:62px!important;height:62px!important}
.map-product-main-media{
    min-height:430px!important;
    max-height:470px!important;
}
.map-product-main-slide img{
    max-height:460px!important;
    padding:7px!important;
}
.map-product-purchase{
    padding:13px!important;
    height:100%!important;
}
.map-product-title{
    font-size:clamp(25px,2vw,34px)!important;
    margin-bottom:6px!important;
}
.map-product-technical-summary{
    margin-bottom:7px!important;
    gap:7px!important;
}
.map-product-technical-summary>div{
    min-height:48px!important;
    padding:7px 9px!important;
}
.map-product-technical-summary span{font-size:10px!important}
.map-product-technical-summary strong{font-size:13px!important}
.map-product-rating{margin-bottom:5px!important}
.map-product-stock{margin:5px 0!important}
.map-product-price{
    margin:3px 0 7px!important;
    font-size:32px!important;
}
.map-product-short-description{
    margin-bottom:6px!important;
    font-size:13px!important;
    line-height:1.35!important;
}
.map-product-quantity-row{margin-bottom:7px!important}
.map-product-actions .button{min-height:44px!important}
.map-product-trust{
    margin-top:7px!important;
    padding-top:7px!important;
}
.map-product-trust span{font-size:17px!important}
.map-product-trust strong{font-size:11px!important}
.map-product-trust small{font-size:9px!important}
.map-hover-zoom,.map-vehicle-box{display:none!important}
.added_to_cart.wc-forward,
.woocommerce-message a.wc-forward{display:none!important}
.woocommerce-notices-wrapper{margin:0!important}

@media(max-width:1050px){
    .map-product-main-media{
        min-height:390px!important;
        max-height:none!important;
    }
    .map-product-purchase{height:auto!important}
}
@media(max-width:700px){
    .map-product-main-media{min-height:330px!important}
    .map-product-top{grid-template-columns:1fr!important}
}


/* v4.1.7 native WooCommerce AJAX performance fix */
.added_to_cart.wc-forward,
.woocommerce-message a.wc-forward{
    display:none!important;
}

.map-product-actions [disabled]{
    opacity:.68!important;
    cursor:wait!important;
}

.map-add-to-cart.is-added{
    background:#07863a!important;
}


/* v4.2.0 vehicle compatibility experience */
.map-fitment-summary-button{
    width:100%;
    margin:0 0 10px;
    padding:10px 12px;
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid #cfe0f8;
    border-radius:9px;
    background:#f4f8ff;
    color:#0a1f4d;
    text-align:left;
    cursor:pointer;
}
.map-fitment-summary-button:hover{border-color:#0b63ce;background:#edf5ff}
.map-fitment-summary-icon{
    width:30px;height:30px;flex:0 0 30px;
    display:inline-flex;align-items:center;justify-content:center;
    border-radius:50%;background:#07863a;color:#fff;
    font-size:16px;font-weight:900;
}
.map-fitment-summary-button>span:nth-child(2){
    min-width:0;flex:1;display:flex;flex-direction:column;gap:2px
}
.map-fitment-summary-button strong{color:#0a1f4d;font-size:13px;font-weight:900}
.map-fitment-summary-button small{color:#667085;font-size:10px}
.map-fitment-summary-arrow{color:#0b3d91;font-size:25px;line-height:1}

.map-fitment-status{
    margin-bottom:12px;padding:11px 12px;
    display:flex;align-items:flex-start;gap:9px;border-radius:9px
}
.map-fitment-status>span{
    width:26px;height:26px;flex:0 0 26px;
    display:inline-flex;align-items:center;justify-content:center;
    border-radius:50%;color:#fff;font-weight:900
}
.map-fitment-status>div{display:flex;flex-direction:column;gap:2px}
.map-fitment-status strong{font-size:13px}
.map-fitment-status small{color:#667085;font-size:11px}
.map-fitment-confirmed{border:1px solid #b7e2c4;background:#f0fbf3}
.map-fitment-confirmed>span{background:#07863a}
.map-fitment-check{border:1px solid #f0d8a7;background:#fff9eb}
.map-fitment-check>span{background:#d97706}

.map-fitment-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px
}
.map-fitment-item{
    min-width:0;padding:10px 11px;
    border:1px solid #e0e6ef;border-radius:8px;background:#fff
}
.map-fitment-item span{
    display:block;margin-bottom:3px;
    color:#667085;font-size:10px;font-weight:700
}
.map-fitment-item strong{
    display:block;overflow:hidden;
    color:#0a1f4d;font-size:13px;font-weight:900;
    line-height:1.3;text-overflow:ellipsis
}

.map-fitment-actions{
    margin-top:12px;display:flex;flex-wrap:wrap;gap:8px
}
.map-fitment-actions a{
    min-height:36px;padding:0 12px;
    display:inline-flex;align-items:center;justify-content:center;
    border:1px solid #0b3d91;border-radius:7px;
    color:#0b3d91;font-size:11px;font-weight:900;text-decoration:none
}
.map-fitment-actions a:first-child{background:#0b3d91;color:#fff}

.map-vehicle-compatibility-accordion[open]{
    border-color:#bfd4f1;
    box-shadow:0 7px 20px rgba(11,61,145,.08)
}

@media(max-width:900px){
    .map-fitment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
    .map-fitment-grid{grid-template-columns:1fr}
    .map-fitment-actions{display:grid;grid-template-columns:1fr}
}


/* v4.2.1 compatibility completion */
.map-fitment-confidence{
    margin-top:12px;
    padding:12px;
    border:1px solid #dce5f1;
    border-radius:9px;
    background:#f8fafc;
}

.map-fitment-confidence-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:8px;
}

.map-fitment-confidence-head strong{
    color:#0a1f4d;
    font-size:13px;
}

.map-fitment-confidence-head span{
    color:#07863a;
    font-size:14px;
    font-weight:900;
}

.map-fitment-confidence-bar{
    height:8px;
    overflow:hidden;
    border-radius:999px;
    background:#e3e9f1;
}

.map-fitment-confidence-bar span{
    height:100%;
    display:block;
    border-radius:999px;
    background:linear-gradient(90deg,#07863a,#39b85f);
}

.map-fitment-confidence-sources{
    margin-top:9px;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.map-fitment-confidence-sources span{
    padding:4px 7px;
    border-radius:999px;
    background:#edf8f0;
    color:#087438;
    font-size:9px;
    font-weight:800;
}

.map-oem-primary,
.map-oem-cross{
    padding:12px;
    border:1px solid #dfe5ee;
    border-radius:8px;
    background:#f8fafc;
}

.map-oem-primary + .map-oem-cross{
    margin-top:8px;
}

.map-oem-primary span,
.map-oem-cross span,
.map-info-grid span{
    display:block;
    margin-bottom:4px;
    color:#667085;
    font-size:10px;
    font-weight:700;
}

.map-oem-primary strong{
    display:block;
    color:#0b3d91;
    font-size:20px;
    font-weight:900;
    word-break:break-word;
}

.map-oem-cross strong,
.map-info-grid strong{
    display:block;
    color:#0a1f4d;
    font-size:13px;
    font-weight:900;
    line-height:1.35;
}

.map-info-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}

.map-info-grid>div{
    padding:11px;
    border:1px solid #dfe5ee;
    border-radius:8px;
    background:#f8fafc;
}

.map-installation-panel p,
.map-package-panel p{
    margin:10px 0 0;
}

@media(max-width:520px){
    .map-info-grid{
        grid-template-columns:1fr;
    }
}


/* v4.2.2 final compatibility presentation */
.map-fitment-status.map-fitment-confirmed{
    border:1px solid #9fd6ae!important;
    background:linear-gradient(135deg,#effbf2,#f8fffa)!important;
}

.map-fitment-status.map-fitment-confirmed strong{
    color:#067534!important;
    font-size:14px!important;
    letter-spacing:.02em;
}

.map-fitment-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.map-fitment-item{
    position:relative;
    min-height:72px;
    padding:12px 12px 12px 45px!important;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.map-fitment-item-icon{
    position:absolute;
    left:12px;
    top:50%;
    width:24px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transform:translateY(-50%);
    border-radius:6px;
    background:#eaf2ff;
    color:#0b3d91;
    font-size:14px;
    font-weight:900;
}

.map-fitment-item-label{
    display:block;
    margin-bottom:4px;
    color:#667085;
    font-size:10px;
    font-weight:800;
}

.map-fitment-item strong{
    font-size:14px!important;
}

.map-fitment-item.is-empty{
    background:#fafbfc!important;
}

.map-fitment-item.is-empty .map-fitment-item-icon{
    background:#f0f2f5;
    color:#98a2b3;
}

.map-fitment-item.is-empty strong{
    color:#98a2b3!important;
}

.map-oem-copy-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.map-oem-copy-row strong{
    min-width:0;
    flex:1;
}

.map-copy-oem{
    min-height:36px;
    padding:0 12px;
    border:1px solid #0b3d91;
    border-radius:7px;
    background:#fff;
    color:#0b3d91;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
    white-space:nowrap;
}

.map-copy-oem:hover,
.map-copy-oem.is-copied{
    background:#0b3d91;
    color:#fff;
}

@media(max-width:620px){
    .map-fitment-grid{
        grid-template-columns:1fr!important;
    }

    .map-oem-copy-row{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* v4.2.3 compact compatibility empty state */
.map-fitment-empty-state{
    min-height:150px;
    padding:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    border:1px solid #f0d8a7;
    border-radius:10px;
    background:linear-gradient(135deg,#fff9eb,#fffdf7);
}

.map-fitment-empty-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#d97706;
    color:#fff;
    font-size:22px;
    font-weight:900;
}

.map-fitment-empty-copy{
    max-width:520px;
}

.map-fitment-empty-copy strong{
    display:block;
    margin-bottom:6px;
    color:#7a4300;
    font-size:16px;
    font-weight:900;
}

.map-fitment-empty-copy p{
    margin:0;
    color:#7a5b2e;
    font-size:13px;
    line-height:1.5;
}

@media(max-width:620px){
    .map-fitment-empty-state{
        align-items:flex-start;
        flex-direction:column;
        padding:18px;
    }
}


/* v4.2.4 desktop overlay accordions */
@media (min-width: 769px) {
    .map-product-accordions{
        position:relative;
        overflow:visible;
    }

    .map-product-accordion{
        position:relative;
        overflow:visible!important;
    }

    .map-product-accordion[open]{
        z-index:80;
    }

    .map-product-accordion[open] > .map-accordion-content{
        position:absolute;
        top:calc(100% + 8px);
        left:0;
        z-index:120;
        width:min(720px, calc(100vw - 80px));
        max-height:560px;
        overflow:auto;
        padding:20px!important;
        border:1px solid #cfd9e8;
        border-radius:12px;
        background:#fff;
        box-shadow:0 24px 60px rgba(15,23,42,.22);
    }

    .map-product-accordion:nth-child(even)[open] > .map-accordion-content{
        left:auto;
        right:0;
    }

    .map-accordion-overlay-close{
        position:sticky;
        top:0;
        float:right;
        z-index:2;
        width:32px;
        height:32px;
        margin:-8px -8px 8px 8px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        border:0;
        border-radius:50%;
        background:#0b3d91;
        color:#fff;
        font-size:22px;
        line-height:1;
        cursor:pointer;
        box-shadow:0 4px 12px rgba(11,61,145,.22);
    }

    .map-product-accordion[open] > summary{
        position:relative;
        z-index:121;
        border-color:#0b63ce;
        background:#f4f8ff;
    }

    .map-product-accordion[open] > summary::after{
        content:"−"!important;
    }
}

/* Mobile/tablet: normal downward accordion */
@media (max-width: 768px) {
    .map-accordion-overlay-close{
        display:none!important;
    }

    .map-product-accordion[open] > .map-accordion-content{
        position:static!important;
        width:auto!important;
        max-height:none!important;
        overflow:visible!important;
        box-shadow:none!important;
    }
}


/* v4.3.0 selected vehicle product-page status */
.map-selected-vehicle-fitment{
    margin-top:2px;
    margin-bottom:8px;
}
