/* ==========================================================
   PARTFIT HOME MODEL 3 V1
   Hero intentionally not styled here.
   ========================================================== */

.hm3-shell,
.hm3-shell *{
    box-sizing:border-box;
}

.hm3-shell{
    width:min(
        1416px,
        calc(100% - 32px)
    );

    margin-left:auto;
    margin-right:auto;
}

.hm3-search-section{
    padding-top:38px;
}

.hm3-needs-section,
.hm3-garages-section{
    padding-top:52px;
}

.hm3-section-head{
    margin-bottom:20px;
}

.hm3-section-head-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
}

.hm3-kicker{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:7px;
    color:#64707c;
    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.hm3-kicker::before{
    content:"";
    width:25px;
    height:2px;
    border-radius:4px;
    background:#ef233c;
}

.hm3-title{
    margin:0;
    color:#071a2a;
    font-family:"Barlow Condensed",sans-serif;
    font-size:clamp(30px,3vw,44px);
    font-weight:900;
    line-height:.98;
}

.hm3-title span{
    color:#ef233c;
}

.hm3-sub{
    margin:8px 0 0;
    color:#6e7783;
    font-size:13px;
    line-height:1.5;
}

.hm3-all-link,
.hm3-vin-shortcut,
.hm3-near-btn{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:9px;
    text-decoration:none;
    white-space:nowrap;
    font-size:11px;
    font-weight:800;
}

.hm3-all-link{
    color:#e62434;
}

.hm3-all-link svg,
.hm3-vin-shortcut svg,
.hm3-near-btn svg{
    width:16px;
    height:16px;
}

.hm3-vin-shortcut,
.hm3-near-btn{
    padding:0 14px;
    border:1px solid #dfe4e8;
    background:#fff;
    color:#18232d;
    cursor:pointer;
}

.hm3-vin-shortcut:hover,
.hm3-near-btn:hover{
    border-color:#ef233c;
    color:#ef233c;
}


/* ==========================================================
   QUICK SEARCH
   ========================================================== */

.hm3-searchbox{
    padding:16px;
    border:1px solid #e2e7eb;
    border-radius:15px;
    background:#fff;
    box-shadow:
        0 7px 24px
        rgba(15,23,42,.055);
}

.hm3-tabs{
    display:flex;
    gap:4px;
    width:max-content;
    max-width:100%;
    margin-bottom:14px;
    padding:3px;
    border-radius:9px;
    background:#f2f4f6;
}

.hm3-tab{
    min-height:36px;
    padding:0 19px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#394550;
    font-family:inherit;
    font-size:11px;
    font-weight:800;
    cursor:pointer;
}

.hm3-tab.is-active{
    background:#ef233c;
    color:#fff;
    box-shadow:
        0 4px 12px
        rgba(239,35,60,.18);
}

.hm3-panel{
    display:none;
}

.hm3-panel.is-active{
    display:block;
}

.hm3-vehicle-form{
    display:grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr))
        165px;
    gap:9px;
}

.hm3-select-wrap,
.hm3-reference-input{
    min-width:0;
    min-height:46px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 12px;
    border:1px solid #dfe5e9;
    border-radius:9px;
    background:#f8fafb;
}

.hm3-select-wrap svg,
.hm3-reference-input svg{
    width:16px;
    height:16px;
    flex:0 0 auto;
    color:#83909c;
}

.hm3-select-wrap select,
.hm3-reference-input input{
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:#27323d;
    font-family:inherit;
    font-size:11px;
}

.hm3-select-wrap select:disabled{
    opacity:.52;
}

.hm3-search-submit{
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:0;
    border-radius:9px;
    background:linear-gradient(
        135deg,
        #f3213a,
        #e1132c
    );
    color:#fff;
    font-family:inherit;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}

.hm3-search-submit svg{
    width:16px;
    height:16px;
}

.hm3-reference-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) 165px;
    gap:9px;
}


/* ==========================================================
   NEED CARDS
   ========================================================== */

.hm3-needs-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.hm3-need-card{
    position:relative;
    min-height:178px;
    overflow:hidden;
    border-radius:13px;
    background:#111827;
    color:#fff;
    text-decoration:none;
    box-shadow:
        0 5px 16px
        rgba(15,23,42,.07);
}

.hm3-need-card img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.01);
    transition:transform .25s ease;
}

.hm3-need-card:hover img{
    transform:scale(1.045);
}

.hm3-need-shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(6,18,28,.02) 20%,
            rgba(6,18,28,.36) 56%,
            rgba(6,18,28,.92) 100%
        );
}

.hm3-need-copy{
    position:absolute;
    left:16px;
    right:52px;
    bottom:15px;
    z-index:2;
}

.hm3-need-copy strong{
    display:block;
    font-family:"Barlow Condensed",sans-serif;
    font-size:22px;
    font-weight:900;
    line-height:1;
}

.hm3-need-copy small{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.77);
    font-size:9px;
    line-height:1.3;
}

.hm3-need-arrow{
    position:absolute;
    right:14px;
    bottom:14px;
    z-index:2;
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    background:#fff;
    color:#111827;
}

.hm3-need-arrow svg{
    width:16px;
    height:16px;
}


/* ==========================================================
   GARAGES
   ========================================================== */

.hm3-garage-head-actions{
    display:flex;
    align-items:center;
    gap:14px;
}

.hm3-near-btn.is-loading{
    opacity:.6;
    pointer-events:none;
}

.hm3-garages-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
}

.hm3-garage-card{
    min-width:0;
    overflow:hidden;
    border:1px solid #e1e6ea;
    border-radius:13px;
    background:#fff;
    color:#18232d;
    text-decoration:none;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.hm3-garage-card:hover{
    transform:translateY(-2px);
    border-color:#ef233c;
    box-shadow:
        0 10px 24px
        rgba(15,23,42,.075);
}

.hm3-garage-photo{
    position:relative;
    height:135px;
    overflow:hidden;
    background:#edf1f4;
}

.hm3-garage-photo > img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.hm3-garage-fallback{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        linear-gradient(
            145deg,
            #eef2f4,
            #dce4e9
        );
}

.hm3-garage-fallback span{
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#fff;
    color:#e62434;
    font-family:"Barlow Condensed",sans-serif;
    font-size:25px;
    font-weight:900;
    box-shadow:
        0 4px 13px
        rgba(15,23,42,.08);
}

.hm3-garage-badge{
    position:absolute;
    top:9px;
    right:9px;
    padding:5px 8px;
    border-radius:6px;
    background:rgba(22,31,42,.88);
    color:#fff;
    font-size:7px;
    font-weight:900;
    letter-spacing:.03em;
    text-transform:uppercase;
}

.hm3-garage-badge.verified{
    background:#079a59;
}

.hm3-garage-body{
    padding:13px;
}

.hm3-garage-name{
    display:block;
    overflow:hidden;
    color:#111b25;
    font-family:"Barlow Condensed",sans-serif;
    font-size:18px;
    font-weight:900;
    line-height:1.05;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.hm3-garage-type{
    display:block;
    min-height:14px;
    margin-top:4px;
    overflow:hidden;
    color:#e62434;
    font-size:8px;
    font-weight:800;
    line-height:1.25;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.hm3-garage-meta{
    min-height:24px;
    display:flex;
    align-items:center;
    gap:11px;
    margin-top:9px;
    color:#687480;
    font-size:9px;
}

.hm3-garage-meta span{
    display:inline-flex;
    align-items:center;
    gap:4px;
}

.hm3-garage-meta svg{
    width:12px;
    height:12px;
    color:#ed2638;
}

.hm3-garage-meta b{
    color:#f2a700;
}

.hm3-garage-view{
    min-height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:11px;
    border:1px solid #ef233c;
    border-radius:7px;
    color:#e62434;
    font-size:9px;
    font-weight:900;
}

.hm3-garage-view svg{
    width:13px;
    height:13px;
}


/* Map banner */

.hm3-map-banner{
    min-height:285px;
    display:grid;
    grid-template-columns:.82fr 1.18fr;
    overflow:hidden;
    border:1px solid #dde3e7;
    border-radius:15px;
    background:#071a2a;
}

.hm3-map-copy{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:32px;
    background:
        radial-gradient(
            circle at 0 0,
            rgba(239,35,60,.16),
            transparent 50%
        ),
        #071a2a;
    color:#fff;
}

.hm3-map-icon{
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:15px;
    border-radius:11px;
    background:#ef233c;
}

.hm3-map-icon svg{
    width:23px;
    height:23px;
}

.hm3-map-copy h3{
    margin:0;
    font-family:"Barlow Condensed",sans-serif;
    font-size:32px;
    font-weight:900;
    line-height:1;
}

.hm3-map-copy h3 span{
    display:block;
    color:#ef3448;
}

.hm3-map-copy p{
    max-width:410px;
    margin:12px 0 19px;
    color:rgba(255,255,255,.72);
    font-size:11px;
    line-height:1.55;
}

.hm3-map-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.hm3-map-primary,
.hm3-map-secondary{
    min-height:39px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 14px;
    border-radius:8px;
    font-family:inherit;
    font-size:9px;
    font-weight:900;
    text-decoration:none;
    cursor:pointer;
}

.hm3-map-primary{
    border:0;
    background:#ef233c;
    color:#fff;
}

.hm3-map-primary svg{
    width:14px;
    height:14px;
}

.hm3-map-secondary{
    border:1px solid rgba(255,255,255,.23);
    background:rgba(255,255,255,.05);
    color:#fff;
}

.hm3-map-wrap{
    min-width:0;
    min-height:285px;
}

#hm3GarageMap{
    width:100%;
    height:100%;
    min-height:285px;
    z-index:1;
}


/* ==========================================================
   LAPTOP
   ========================================================== */

@media(
    min-width:821px
)
and
(
    max-width:1180px
){

    .hm3-shell{
        width:calc(100% - 28px);
    }

    .hm3-needs-section,
    .hm3-garages-section{
        padding-top:42px;
    }

    .hm3-vehicle-form{
        grid-template-columns:
            repeat(3,minmax(0,1fr))
            145px;
    }

    .hm3-garages-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }

    .hm3-garage-photo{
        height:110px;
    }

}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:820px){

    .hm3-section-head-row{
        align-items:flex-start;
    }

    .hm3-vehicle-form{
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .hm3-search-submit{
        grid-column:1 / -1;
    }

    .hm3-needs-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .hm3-garages-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .hm3-map-banner{
        grid-template-columns:1fr;
    }

    .hm3-map-copy{
        padding:25px;
    }

    .hm3-map-wrap,
    #hm3GarageMap{
        min-height:300px;
    }

}


/* ==========================================================
   PHONE
   ========================================================== */

@media(max-width:520px){

    .hm3-shell{
        width:calc(100% - 20px);
    }

    .hm3-search-section{
        padding-top:28px;
    }

    .hm3-needs-section,
    .hm3-garages-section{
        padding-top:38px;
    }

    .hm3-section-head-row{
        display:block;
    }

    .hm3-title{
        font-size:31px;
    }

    .hm3-sub{
        font-size:11px;
    }

    .hm3-vin-shortcut,
    .hm3-section-head .hm3-all-link{
        margin-top:13px;
    }

    .hm3-searchbox{
        padding:10px;
        border-radius:12px;
    }

    .hm3-tabs{
        width:100%;
    }

    .hm3-tab{
        flex:1;
        min-width:0;
        padding:0 7px;
        font-size:9px;
    }

    .hm3-vehicle-form{
        grid-template-columns:
            1fr
            1fr;
    }

    .hm3-select-wrap:first-child{
        grid-column:1 / -1;
    }

    .hm3-reference-form{
        grid-template-columns:1fr;
    }

    .hm3-select-wrap,
    .hm3-reference-input,
    .hm3-search-submit{
        min-height:43px;
    }

    .hm3-needs-grid{
        gap:8px;
    }

    .hm3-need-card{
        min-height:142px;
    }

    .hm3-need-copy{
        left:11px;
        right:40px;
        bottom:11px;
    }

    .hm3-need-copy strong{
        font-size:18px;
    }

    .hm3-need-copy small{
        font-size:7px;
    }

    .hm3-need-arrow{
        right:9px;
        bottom:9px;
        width:27px;
        height:27px;
    }

    .hm3-garage-head-actions{
        margin-top:13px;
        justify-content:space-between;
    }

    .hm3-garage-head-actions .hm3-all-link{
        margin-top:0;
    }

    .hm3-garages-grid{
        gap:8px;
    }

    .hm3-garage-photo{
        height:92px;
    }

    .hm3-garage-body{
        padding:10px;
    }

    .hm3-garage-name{
        font-size:15px;
    }

    .hm3-garage-type{
        font-size:6.5px;
    }

    .hm3-garage-meta{
        display:block;
        font-size:8px;
    }

    .hm3-garage-meta span{
        margin-right:6px;
    }

    .hm3-garage-view{
        font-size:8px;
    }

    .hm3-map-copy{
        padding:23px 18px;
    }

    .hm3-map-copy h3{
        font-size:28px;
    }

    .hm3-map-wrap,
    #hm3GarageMap{
        min-height:280px;
    }

}

@media(max-width:370px){

    .hm3-garages-grid{
        grid-template-columns:1fr;
    }

}

/* END PARTFIT HOME MODEL 3 V1 */


/* =========================================================
   PARTFIT HOME CONTENT POLISH V3
   Catalogue / Products / Brands / Pro / Garages
   ========================================================= */

/*
 * Make all home content sections use the same visual width.
 */
.hm3-shell,
.hcm2{
    width:min(1416px,calc(100% - 32px)) !important;
    max-width:1416px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}


/* ---------------------------------------------------------
   Vertical rhythm
   --------------------------------------------------------- */

.hm3-needs-section{
    padding-top:34px !important;
}

.hcm2{
    margin-top:30px !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

.hcm2-section{
    margin-bottom:34px !important;
}

.hm3-garages-section{
    padding-top:8px !important;
}


/* ---------------------------------------------------------
   Section headings
   --------------------------------------------------------- */

.hcm2-head{
    margin-bottom:14px !important;
}

.hcm2-title{
    font-size:30px !important;
    line-height:1 !important;
}

.hcm2-sub{
    margin-top:5px !important;
    font-size:11px !important;
    line-height:1.4 !important;
}

.hcm2-more{
    font-size:10px !important;
}


/* =========================================================
   PRODUCT CARDS — MODEL 2 STYLE
   ========================================================= */

.hcm2-products{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:12px !important;
}

.hcm2-product{
    position:relative !important;
    border-radius:12px !important;
    border:1px solid #e2e7eb !important;
    background:#fff !important;
    box-shadow:
        0 4px 13px rgba(15,23,42,.045) !important;
}

.hcm2-product:hover{
    transform:translateY(-2px) !important;
    border-color:#ef9ca6 !important;
    box-shadow:
        0 10px 24px rgba(15,23,42,.075) !important;
}


/*
 * Taller image area like model 2.
 */
.hcm2-image{
    position:relative !important;
    height:174px !important;
    padding:15px !important;
    overflow:hidden !important;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7f8fa 100%
        ) !important;
}

.hcm2-image img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
}


/*
 * Important:
 * Current product images are category/brand fallbacks,
 * not direct product photos.
 */
.hcm2-image-note{
    position:absolute;
    top:8px;
    left:8px;
    z-index:2;

    padding:4px 7px;

    border-radius:999px;

    background:rgba(8,25,39,.78);

    color:#fff;

    font-size:6px;
    line-height:1;
    font-weight:900;

    letter-spacing:.06em;
    text-transform:uppercase;
}


/*
 * Body hierarchy.
 */
.hcm2-body{
    padding:12px 12px 13px !important;
}

.hcm2-brand{
    margin-bottom:4px !important;

    color:#101820 !important;

    font-size:8px !important;
    line-height:1 !important;
    font-weight:900 !important;
}

.hcm2-category{
    margin-bottom:5px;

    overflow:hidden;

    color:#ef233c;

    font-size:7px;
    line-height:1.15;
    font-weight:900;

    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.hcm2-name{
    min-height:38px !important;

    color:#111827 !important;

    font-family:"Barlow Condensed",sans-serif !important;
    font-size:16px !important;
    line-height:1.13 !important;
    font-weight:800 !important;

    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    overflow:hidden !important;
}

.hcm2-meta{
    min-height:30px !important;

    margin-top:8px !important;

    padding-top:8px !important;

    border-top:1px solid #f0f1f3 !important;
}

.hcm2-ref{
    color:#7b8490 !important;

    font-size:8px !important;
    font-weight:700 !important;
}

.hcm2-arrow{
    width:26px !important;
    height:26px !important;
    flex-basis:26px !important;

    border-radius:7px !important;

    background:#f7f8fa !important;
    color:#e92336 !important;
}


/* =========================================================
   BRAND CARDS
   ========================================================= */

.hcm2-brands{
    gap:9px !important;
}

.hcm2-brand-card{
    height:74px !important;
    border-radius:11px !important;
    box-shadow:none !important;
}

.hcm2-brand-card img{
    max-width:105px !important;
    height:42px !important;
}


/* =========================================================
   PARTFIT PRO
   ========================================================= */

.pfpro{
    min-height:205px !important;
    border-radius:15px !important;
}


/* =========================================================
   GARAGES
   ========================================================= */

.hm3-garages-section{
    margin-top:0 !important;
}

.hm3-garages-grid{
    margin-top:0 !important;
}


/* =========================================================
   LAPTOP
   ========================================================= */

@media (min-width:701px) and (max-width:1180px){

    .hm3-shell,
    .hcm2{
        width:calc(100% - 24px) !important;
    }

    .hcm2-products{
        grid-template-columns:
            repeat(5,minmax(0,1fr)) !important;
    }

    .hcm2-image{
        height:145px !important;
        padding:11px !important;
    }

    .hcm2-name{
        font-size:14px !important;
    }

    .hcm2-brands{
        grid-template-columns:
            repeat(6,minmax(0,1fr)) !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:700px){

    .hm3-shell,
    .hcm2{
        width:calc(100% - 20px) !important;
    }

    .hm3-needs-section{
        padding-top:27px !important;
    }

    .hcm2{
        margin-top:25px !important;
    }

    .hcm2-section{
        margin-bottom:27px !important;
    }

    .hcm2-title{
        font-size:25px !important;
    }

    /*
     * Horizontal product carousel.
     */
    .hcm2-products{
        display:flex !important;

        width:auto !important;

        margin-left:-10px !important;
        margin-right:-10px !important;

        padding:
            0
            10px
            6px !important;

        gap:9px !important;

        overflow-x:auto !important;

        scroll-snap-type:x mandatory;

        scrollbar-width:none;
    }

    .hcm2-products::-webkit-scrollbar{
        display:none;
    }

    .hcm2-product{
        flex:0 0 62% !important;
        scroll-snap-align:start;
    }

    .hcm2-image{
        height:145px !important;
    }

    .hcm2-name{
        font-size:15px !important;
    }

    /*
     * Keep logos compact.
     */
    .hcm2-brands{
        grid-template-columns:
            repeat(3,minmax(0,1fr)) !important;
    }

    .hcm2-brand-card{
        height:63px !important;
    }

    .hcm2-brand-card img{
        height:35px !important;
    }

    .pfpro{
        min-height:230px !important;
    }

    .hm3-garages-section{
        padding-top:3px !important;
    }
}


/* END PARTFIT HOME CONTENT POLISH V3 */


/* =========================================================
   PARTFIT HOME VISUAL SYSTEM V4
   Preserve current spacing — unify visual identity only
   ========================================================= */

:root{
    --pf-home-navy:#071a2a;
    --pf-home-red:#ef233c;
    --pf-home-red-dark:#df182f;
    --pf-home-muted:#7a8490;
    --pf-home-border:#e3e7eb;
    --pf-home-soft:#f6f8f9;
}


/* ---------------------------------------------------------
   SAME KICKER FOR ALL SECTIONS
   --------------------------------------------------------- */

.hcm2-kicker,
.hm3-kicker{
    min-height:12px !important;

    display:flex !important;
    align-items:center !important;

    gap:9px !important;

    margin:0 0 8px !important;

    color:#697581 !important;

    font-size:8px !important;
    line-height:1 !important;
    font-weight:900 !important;

    letter-spacing:.13em !important;
    text-transform:uppercase !important;
}

.hcm2-kicker::before,
.hm3-kicker::before{
    content:"" !important;

    width:25px !important;
    height:2px !important;

    flex:0 0 25px !important;

    border-radius:10px !important;

    background:var(--pf-home-red) !important;
}


/* ---------------------------------------------------------
   SAME TITLES
   --------------------------------------------------------- */

.hcm2-title,
.hm3-title{
    margin:0 !important;

    color:var(--pf-home-navy) !important;

    font-family:"Barlow Condensed",sans-serif !important;

    font-weight:900 !important;

    letter-spacing:-.01em !important;
}

.hcm2-title span,
.hm3-title span{
    color:var(--pf-home-red) !important;
}


/* ---------------------------------------------------------
   SAME DESCRIPTION COLOR
   --------------------------------------------------------- */

.hcm2-sub,
.hm3-sub{
    color:var(--pf-home-muted) !important;
}


/* ---------------------------------------------------------
   SAME RIGHT LINKS
   --------------------------------------------------------- */

.hcm2-more,
.hm3-all-link{
    color:var(--pf-home-red) !important;

    font-weight:900 !important;

    text-decoration:none !important;

    transition:
        color .15s ease,
        transform .15s ease !important;
}

.hcm2-more:hover,
.hm3-all-link:hover{
    color:var(--pf-home-red-dark) !important;
}


/* ---------------------------------------------------------
   SAME CARD BORDER LANGUAGE
   --------------------------------------------------------- */

.hcm2-product,
.hcm2-brand-card,
.hm3-garage-card{
    border-color:var(--pf-home-border) !important;
}


/* ---------------------------------------------------------
   Product placeholder badge:
   remove harsh black badge
   --------------------------------------------------------- */

.hcm2-image-note{
    display:inline-flex !important;
    align-items:center !important;
    gap:5px !important;

    padding:4px 7px !important;

    border:1px solid #e4e8ec !important;

    background:rgba(255,255,255,.94) !important;

    color:#66727e !important;

    box-shadow:0 2px 6px rgba(15,23,42,.04) !important;

    font-size:6px !important;
    font-weight:900 !important;
}

.hcm2-image-note::before{
    content:"" !important;

    width:5px !important;
    height:5px !important;

    border-radius:50% !important;

    background:var(--pf-home-red) !important;
}


/* ---------------------------------------------------------
   Brand cards:
   identical neutral presentation
   --------------------------------------------------------- */

.hcm2-brand-card{
    position:relative !important;

    overflow:hidden !important;

    background:#fff !important;

    box-shadow:
        0 3px 10px rgba(15,23,42,.035) !important;
}

.hcm2-brand-card::before{
    content:"" !important;

    position:absolute !important;

    left:50% !important;
    top:0 !important;

    width:34px !important;
    height:2px !important;

    transform:translateX(-50%) !important;

    border-radius:0 0 5px 5px !important;

    background:var(--pf-home-red) !important;

    opacity:.70 !important;
}


/*
 * The logo itself keeps its real brand identity.
 * Decorative page accents stay PartFit red.
 */
.hcm2-brand-card img{
    position:relative !important;
    z-index:1 !important;
}


/* ---------------------------------------------------------
   PARTFIT PRO uses exactly the same PartFit red
   --------------------------------------------------------- */

.pfpro-kicker,
.pfpro-title span,
.pfpro-coming small{
    color:var(--pf-home-red) !important;
}

.pfpro-kicker::before{
    background:var(--pf-home-red) !important;
}


/* ---------------------------------------------------------
   GARAGES
   --------------------------------------------------------- */

.hm3-garage-type,
.hm3-garage-view{
    color:var(--pf-home-red) !important;
}

.hm3-garage-view{
    border-color:var(--pf-home-red) !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media(max-width:700px){

    .hcm2-kicker,
    .hm3-kicker{
        margin-bottom:7px !important;
        font-size:7px !important;
    }

    .hcm2-kicker::before,
    .hm3-kicker::before{
        width:20px !important;
        flex-basis:20px !important;
    }
}


/* END PARTFIT HOME VISUAL SYSTEM V4 */


/* =========================================================
   PARTFIT HOME MOBILE TYPOGRAPHY V5
   Preserve positions / fix direction + scale
   ========================================================= */

@media(max-width:700px){

    /*
     * These homepage sections currently contain French text.
     * Keep them LTR even if another inherited direction exists.
     */
    .hm3-needs-section,
    .hm3-garages-section,
    .hcm2{
        direction:ltr !important;
        text-align:left !important;
    }


    .hm3-section-head,
    .hcm2-head{
        direction:ltr !important;
        text-align:left !important;
    }


    .hm3-section-head-row{
        display:flex !important;

        flex-direction:column !important;

        align-items:stretch !important;

        gap:8px !important;
    }


    /*
     * Kicker:
     * red line always on LEFT in French.
     */
    .hm3-kicker,
    .hcm2-kicker{
        width:100% !important;

        display:flex !important;
        flex-direction:row !important;

        align-items:center !important;
        justify-content:flex-start !important;

        gap:8px !important;

        direction:ltr !important;
        text-align:left !important;

        margin:
            0
            0
            7px !important;

        color:#707b87 !important;

        font-size:7px !important;
        line-height:1 !important;
        font-weight:900 !important;

        letter-spacing:.13em !important;
        text-transform:uppercase !important;
    }


    .hm3-kicker::before,
    .hcm2-kicker::before{
        content:"" !important;

        display:block !important;

        width:20px !important;
        height:2px !important;

        flex:
            0
            0
            20px !important;

        margin:0 !important;

        border-radius:10px !important;

        background:#ef233c !important;
    }


    /*
     * Prevent an old rule from adding another decoration.
     */
    .hm3-kicker::after,
    .hcm2-kicker::after{
        content:none !important;
        display:none !important;
    }


    /*
     * Fix the "." appearing before Parcourir.
     * This was bidi/RTL reordering.
     */
    .hm3-title,
    .hcm2-title{
        width:100% !important;

        margin:0 !important;

        direction:ltr !important;

        unicode-bidi:isolate !important;

        text-align:left !important;

        color:#071a2a !important;

        font-family:
            "Barlow Condensed",
            sans-serif !important;

        font-size:28px !important;
        line-height:1 !important;
        font-weight:900 !important;

        letter-spacing:-.01em !important;
    }


    .hm3-title span,
    .hcm2-title span{
        color:#ef233c !important;
    }


    .hm3-title::before,
    .hm3-title::after,
    .hcm2-title::before,
    .hcm2-title::after{
        content:none !important;
        display:none !important;
    }


    .hm3-sub,
    .hcm2-sub{
        direction:ltr !important;

        margin-top:5px !important;

        color:#7b8590 !important;

        font-size:9px !important;
        line-height:1.4 !important;

        text-align:left !important;
    }


    /*
     * Section action link stays on the right,
     * without becoming a huge separate block.
     */
    .hm3-section-head .hm3-all-link,
    .hcm2-head .hcm2-more{
        align-self:flex-end !important;

        width:auto !important;

        margin:
            4px
            0
            0 !important;

        padding:0 !important;

        color:#ef233c !important;

        direction:ltr !important;

        font-size:8px !important;
        line-height:1.2 !important;
        font-weight:900 !important;

        text-align:right !important;

        white-space:nowrap !important;
    }


    /*
     * Pièces / Marques header stays one compact line.
     */
    .hcm2-head{
        display:flex !important;

        flex-direction:row !important;

        align-items:flex-end !important;
        justify-content:space-between !important;

        gap:10px !important;
    }


    .hcm2-head > div:first-child{
        min-width:0 !important;
        flex:1 1 auto !important;
    }


    .hcm2-head .hcm2-more{
        flex:0 0 auto !important;
    }

}

/* END PARTFIT HOME MOBILE TYPOGRAPHY V5 */


/* =========================================================
   PARTFIT HOME EYE COMFORT V6
   Better visual separation between homepage sections
   ========================================================= */

/*
|--------------------------------------------------------------------------
| Global rhythm
|--------------------------------------------------------------------------
*/

.hm3-needs-section{
    padding-bottom:46px !important;
}

.hcm2{
    margin-top:0 !important;
}

.hcm2-section{
    position:relative !important;

    margin:0 !important;

    padding-top:42px !important;
    padding-bottom:42px !important;
}


/*
|--------------------------------------------------------------------------
| Gentle separators
|--------------------------------------------------------------------------
*/

.hcm2-section + .hcm2-section{
    border-top:1px solid #e9edf0 !important;
}


/*
|--------------------------------------------------------------------------
| Pièces section
|--------------------------------------------------------------------------
*/

.hcm2-section:first-of-type{
    padding-top:38px !important;
}


/*
|--------------------------------------------------------------------------
| Marques section
| Slightly different background to rest the eye
|--------------------------------------------------------------------------
*/

.hcm2-section:nth-of-type(2){
    margin-left:-14px !important;
    margin-right:-14px !important;

    padding-left:14px !important;
    padding-right:14px !important;

    border-radius:16px !important;

    background:#f8fafb !important;
}


/*
|--------------------------------------------------------------------------
| PartFit Pro
|--------------------------------------------------------------------------
*/

.hcm2-section:has(.pfpro){
    padding-top:48px !important;
    padding-bottom:48px !important;

    border-top:0 !important;
}


/*
|--------------------------------------------------------------------------
| Section headers
|--------------------------------------------------------------------------
*/

.hm3-section-head,
.hcm2-head{
    margin-bottom:20px !important;
}

.hm3-title,
.hcm2-title{
    line-height:1.04 !important;
}

.hm3-sub,
.hcm2-sub{
    margin-top:7px !important;

    color:#7b8490 !important;

    line-height:1.55 !important;
}


/*
|--------------------------------------------------------------------------
| Catalogue cards breathing space
|--------------------------------------------------------------------------
*/

.hm3-needs-grid{
    row-gap:14px !important;
    column-gap:14px !important;
}


/*
|--------------------------------------------------------------------------
| Products
|--------------------------------------------------------------------------
*/

.hcm2-products{
    gap:14px !important;
}


/*
|--------------------------------------------------------------------------
| Brands
|--------------------------------------------------------------------------
*/

.hcm2-brands{
    gap:11px !important;
}


/*
|--------------------------------------------------------------------------
| Garages
|--------------------------------------------------------------------------
*/

.hm3-garages-section{
    position:relative !important;

    margin-top:0 !important;

    padding-top:50px !important;
    padding-bottom:48px !important;

    border-top:1px solid #e9edf0 !important;
}

.hm3-garages-grid{
    margin-top:4px !important;

    gap:14px !important;
}


/*
|--------------------------------------------------------------------------
| Map separation
|--------------------------------------------------------------------------
*/

.hm3-map-banner{
    margin-top:24px !important;
}


/*
|--------------------------------------------------------------------------
| PartFit Pro breathing room
|--------------------------------------------------------------------------
*/

.pfpro{
    box-shadow:
        0 10px 30px
        rgba(7,26,42,.08) !important;
}


/*
|--------------------------------------------------------------------------
| Desktop / Laptop
|--------------------------------------------------------------------------
*/

@media(min-width:701px){

    .hm3-needs-section,
    .hcm2,
    .hm3-garages-section{
        scroll-margin-top:120px;
    }

}


/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media(max-width:700px){

    .hm3-needs-section{
        padding-bottom:34px !important;
    }

    .hcm2-section{
        padding-top:30px !important;
        padding-bottom:30px !important;
    }

    .hcm2-section:first-of-type{
        padding-top:28px !important;
    }

    .hcm2-section:nth-of-type(2){
        margin-left:-8px !important;
        margin-right:-8px !important;

        padding-left:8px !important;
        padding-right:8px !important;

        border-radius:13px !important;
    }

    .hcm2-section:has(.pfpro){
        padding-top:34px !important;
        padding-bottom:34px !important;
    }

    .hm3-garages-section{
        padding-top:36px !important;
        padding-bottom:36px !important;
    }

    .hm3-section-head,
    .hcm2-head{
        margin-bottom:15px !important;
    }

    .hm3-needs-grid,
    .hcm2-products,
    .hm3-garages-grid{
        gap:10px !important;
    }

    .hm3-map-banner{
        margin-top:18px !important;
    }

}


/* END PARTFIT HOME EYE COMFORT V6 */
