/*
=========================================================
TPD PHOTOGRAPHIC HOMEPAGE 2.7.0
Target: approved photographic mockup
=========================================================
*/

:root {

    --tpd270-ink: #101b2b;
    --tpd270-navy: #111e2d;
    --tpd270-accent: #c30f4e;
    --tpd270-accent-dark: #900d3b;
    --tpd270-line: #dce1e6;
    --tpd270-muted: #5f6c79;
    --tpd270-soft: #f6f7f8;

}


.tpd270-home {

    background: #fff;

    color: var(--tpd270-ink);

}


.tpd270-wrap {

    width: min(
        1440px,
        calc(100% - 70px)
    );

    margin: 0 auto;

}


.tpd270-home a {

    text-decoration: none;

}



/* =========================================================
   HERO
   ========================================================= */

.tpd270-hero {

    position: relative;

    min-height: 380px;

    overflow: hidden;

    background: #111e2d;

}


.tpd270-hero-image {

    position: absolute;

    inset: 0 0 0 40%;

}


.tpd270-hero-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

}


.tpd270-hero-shade {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            #111e2d 0%,
            rgba(17,30,45,.96) 7%,
            rgba(17,30,45,.67) 27%,
            rgba(17,30,45,.12) 58%,
            rgba(17,30,45,0) 100%
        );

}


.tpd270-hero-inner {

    position: relative;

    z-index: 2;

    min-height: 380px;

}


.tpd270-hero-copy {

    display: flex;

    width: 47%;

    min-height: 380px;

    flex-direction: column;

    justify-content: center;

    color: #fff;

}


.tpd270-red-rule {

    width: 90px;

    height: 4px;

    margin-bottom: 18px;

    background: var(--tpd270-accent);

}


.tpd270-hero h1 {

    margin: 0;

    color: #fff;

    font-size: clamp(
        42px,
        4vw,
        59px
    );

    font-weight: 800;

    line-height: 1.03;

    letter-spacing: -.03em;

}


.tpd270-hero-copy > p {

    max-width: 570px;

    margin: 17px 0 0;

    color: #eef2f6;

    font-size: 16px;

    line-height: 1.55;

}


.tpd270-hero-trust {

    display: flex;

    margin-top: 34px;

}


.tpd270-hero-trust div {

    min-width: 128px;

    padding: 0 24px;

    border-left:
        1px solid
        rgba(255,255,255,.2);

}


.tpd270-hero-trust div:first-child {

    padding-left: 0;

    border-left: 0;

}


.tpd270-hero-trust strong,
.tpd270-hero-trust span {

    display: block;

}


.tpd270-hero-trust strong {

    font-size: 16px;

}


.tpd270-hero-trust span {

    margin-top: 3px;

    color: #c6d0db;

    font-size: 12px;

}



/* =========================================================
   SECTIONS
   ========================================================= */

.tpd270-section {

    padding: 27px 0 30px;

    border-bottom:
        1px solid
        var(--tpd270-line);

}


.tpd270-tight {

    padding-top: 20px;

    padding-bottom: 23px;

}


.tpd270-heading {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;

    margin-bottom: 15px;

}


.tpd270-heading h2 {

    margin: 0;

    color: var(--tpd270-ink);

    font-size: 28px;

    font-weight: 800;

    letter-spacing: -.02em;

}


.tpd270-heading > a {

    color: var(--tpd270-accent);

    font-size: 13px;

    font-weight: 800;

}



/* =========================================================
   APPLIANCES
   ========================================================= */

.tpd270-appliance-grid {

    display: grid;

    grid-template-columns:
        repeat(6, minmax(0,1fr));

    gap: 10px;

}


.tpd270-appliance-card {

    min-width: 0;

    padding: 9px;

    border:
        1px solid
        var(--tpd270-line);

    background: #fff;

}


.tpd270-appliance-photo {

    display: flex;

    height: 160px;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(
            #fafafa,
            #f2f3f4
        );

}


.tpd270-appliance-photo img {

    width: 100%;

    height: 100%;

    object-fit: contain;

}


.tpd270-appliance-card h3 {

    margin:
        10px
        0
        7px;

    font-size: 17px;

}


.tpd270-appliance-card h3 a {

    color: var(--tpd270-ink);

}


.tpd270-part-links {

    border-top:
        1px solid
        #e6e9ec;

}


.tpd270-part-links a {

    display: flex;

    min-height: 30px;

    align-items: center;

    justify-content: space-between;

    color: #33475d;

    font-size: 12px;

    font-weight: 600;

}


.tpd270-part-links a + a {

    border-top:
        1px solid
        #edf0f2;

}


.tpd270-part-links b {

    color: var(--tpd270-accent);

}



/* =========================================================
   MODEL LOOKUP
   ========================================================= */

.tpd270-model {

    background:
        linear-gradient(
            90deg,
            #821039,
            #c30f4e
        );

    color: #fff;

}


.tpd270-model-grid {

    display: grid;

    grid-template-columns:
        .95fr
        1.35fr;

    gap: 50px;

    align-items: center;

    min-height: 102px;

}


.tpd270-model-copy {

    display: flex;

    align-items: center;

    gap: 18px;

}


.tpd270-model-symbol {

    display: flex;

    width: 58px;

    height: 58px;

    flex: 0 0 58px;

    align-items: center;

    justify-content: center;

    border:
        2px solid
        rgba(255,255,255,.85);

    border-radius: 8px;

    font-size: 35px;

}


.tpd270-model-copy h2 {

    margin: 0;

    color: #fff;

    font-size: 21px;

}


.tpd270-model-copy p {

    margin: 4px 0 0;

    color: #f8dbe6;

    font-size: 13px;

}


.tpd270-model-form {

    display: grid;

    grid-template-columns:
        minmax(0,1fr)
        180px;

}


.tpd270-model-form input {

    width: 100%;

    height: 52px;

    padding: 0 17px;

    border: 0;

    border-radius:
        3px
        0
        0
        3px;

    background: #fff;

    color: #152231;

    font-size: 14px;

    outline: 0;

}


.tpd270-model-form button {

    height: 52px;

    border: 0;

    border-radius:
        0
        3px
        3px
        0;

    background: #e4155b;

    color: #fff;

    font-size: 14px;

    font-weight: 800;

    cursor: pointer;

}



/* =========================================================
   BRANDS
   ========================================================= */

.tpd270-brand-grid {

    display: grid;

    grid-template-columns:
        repeat(9, minmax(0,1fr));

    gap: 7px;

}


.tpd270-brand-grid a {

    display: flex;

    min-height: 60px;

    align-items: center;

    justify-content: center;

    padding: 8px;

    border:
        1px solid
        var(--tpd270-line);

    color: #17273a;

    font-size: 15px;

    font-weight: 800;

    text-align: center;

}


.tpd270-brand-grid a:hover {

    color: var(--tpd270-accent);

}



/* =========================================================
   POPULAR PART CATEGORIES
   ========================================================= */

.tpd270-popular-grid {

    display: grid;

    grid-template-columns:
        repeat(10, minmax(0,1fr));

    gap: 8px;

}


.tpd270-popular-card {

    display: block;

    min-width: 0;

    padding:
        8px
        7px
        10px;

    border:
        1px solid
        var(--tpd270-line);

    color: var(--tpd270-ink);

    text-align: center;

}


.tpd270-popular-photo {

    display: flex;

    height: 85px;

    align-items: center;

    justify-content: center;

    margin-bottom: 8px;

    overflow: hidden;

}


.tpd270-popular-photo img {

    width: 100%;

    height: 100%;

    object-fit: contain;

}


.tpd270-popular-card strong {

    font-size: 11px;

}



/* =========================================================
   REPAIR
   ========================================================= */

.tpd270-repair-grid {

    display: grid;

    grid-template-columns:
        repeat(6, minmax(0,1fr));

    gap: 9px;

}


.tpd270-repair-grid a {

    display: grid;

    grid-template-columns:
        57px
        minmax(0,1fr)
        auto;

    gap: 10px;

    min-height: 78px;

    align-items: center;

    padding: 8px;

    border:
        1px solid
        var(--tpd270-line);

}


.tpd270-repair-grid img {

    width: 57px;

    height: 57px;

    object-fit: contain;

}


.tpd270-repair-grid strong {

    color: var(--tpd270-ink);

    font-size: 12px;

    line-height: 1.25;

}


.tpd270-repair-grid b {

    color: var(--tpd270-accent);

}



/* =========================================================
   TRUST
   ========================================================= */

.tpd270-trust {

    background: #edf2f6;

}


.tpd270-trust-grid {

    display: grid;

    grid-template-columns:
        repeat(4,1fr);

}


.tpd270-trust-grid > div {

    padding:
        20px
        25px;

    border-right:
        1px solid
        #d0d8df;

}


.tpd270-trust-grid > div:last-child {

    border-right: 0;

}


.tpd270-trust strong,
.tpd270-trust span {

    display: block;

}


.tpd270-trust strong {

    font-size: 13px;

}


.tpd270-trust span {

    margin-top: 4px;

    color: var(--tpd270-muted);

    font-size: 11px;

}



/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1150px) {

    .tpd270-appliance-grid {

        grid-template-columns:
            repeat(3,1fr);

    }

    .tpd270-brand-grid {

        grid-template-columns:
            repeat(3,1fr);

    }

    .tpd270-popular-grid {

        grid-template-columns:
            repeat(5,1fr);

    }

    .tpd270-repair-grid {

        grid-template-columns:
            repeat(3,1fr);

    }

}


@media (max-width: 760px) {

    .tpd270-wrap {

        width:
            calc(100% - 28px);

    }

    .tpd270-hero {

        min-height: 470px;

    }

    .tpd270-hero-image {

        inset:
            180px
            0
            0
            0;

    }

    .tpd270-hero-shade {

        background:
            linear-gradient(
                180deg,
                #111e2d 0%,
                rgba(17,30,45,.95) 28%,
                rgba(17,30,45,.18) 100%
            );

    }

    .tpd270-hero-copy {

        width: 100%;

        min-height: 250px;

        justify-content: flex-start;

        padding-top: 32px;

    }

    .tpd270-hero h1 {

        font-size: 37px;

    }

    .tpd270-model-grid {

        grid-template-columns: 1fr;

        gap: 15px;

        padding:
            20px
            0;

    }

    .tpd270-model-form {

        grid-template-columns: 1fr;

        gap: 6px;

    }

    .tpd270-model-form input,
    .tpd270-model-form button {

        border-radius: 3px;

    }

    .tpd270-appliance-grid,
    .tpd270-brand-grid,
    .tpd270-popular-grid,
    .tpd270-repair-grid,
    .tpd270-trust-grid {

        grid-template-columns:
            repeat(2,1fr);

    }

}



/* Narrow-looking parts need slightly more visual presence */
.tpd270-popular-card:nth-child(1) .tpd270-popular-photo img,
.tpd270-popular-card:nth-child(6) .tpd270-popular-photo img,
.tpd270-popular-card:nth-child(8) .tpd270-popular-photo img,
.tpd270-popular-card:nth-child(10) .tpd270-popular-photo img {
    transform: scale(1.32);
}



/* =========================================================
   TPD POPULAR PART FINAL IMAGE SCALE
   Clean curated images only — layout unchanged
   ========================================================= */

.tpd270-popular-photo img {
    transform: scale(1.35);
    transform-origin: center center;
}

/* Give the visually narrower items a little more presence */
.tpd270-popular-card:nth-child(1) .tpd270-popular-photo img,
.tpd270-popular-card:nth-child(6) .tpd270-popular-photo img,
.tpd270-popular-card:nth-child(8) .tpd270-popular-photo img,
.tpd270-popular-card:nth-child(10) .tpd270-popular-photo img {
    transform: scale(1.48);
}



/* =========================================================
   TPD POPULAR PART CLIP FIX
   Gaskets / Igniters / Fans only
   ========================================================= */

.tpd270-popular-card:nth-child(7) .tpd270-popular-photo img {
    transform: scale(1.16);
}

.tpd270-popular-card:nth-child(8) .tpd270-popular-photo img {
    transform: scale(1.18);
}

.tpd270-popular-card:nth-child(9) .tpd270-popular-photo img {
    transform: scale(1.16);
}


/* Gasket / Igniter / Fan — larger visible image area, same card/grid */

.tpd270-popular-card:nth-child(7) .tpd270-popular-photo,
.tpd270-popular-card:nth-child(8) .tpd270-popular-photo,
.tpd270-popular-card:nth-child(9) .tpd270-popular-photo {
    height: 105px;
    margin-top: -10px;
    margin-bottom: -2px;
    overflow: visible;
}

.tpd270-popular-card:nth-child(7) .tpd270-popular-photo img,
.tpd270-popular-card:nth-child(8) .tpd270-popular-photo img,
.tpd270-popular-card:nth-child(9) .tpd270-popular-photo img {
    transform: scale(1.30) !important;
}

