.tm-products-landing {
    --tm-red: #a7191f;
    --tm-red-dark: #7f1116;
    --tm-ink: #252525;
    --tm-muted: #6e6e6e;
    --tm-line: #dedbd7;
    --tm-warm: #f6f2ee;
    color: var(--tm-ink);
    margin-bottom: 72px;
}

.tm-products-landing h1,
.tm-products-landing h2,
.tm-products-landing h3 {
    color: var(--tm-ink);
    font-family: inherit;
    line-height: 1.14;
}

.tm-products-landing h1 { font-size: clamp(2.25rem, 4.3vw, 4.5rem); margin: 0 0 24px; }
.tm-products-landing h2 { font-size: clamp(1.75rem, 3vw, 2.75rem); margin: 0 0 22px; }
.tm-products-landing h3 { font-size: 1.25rem; margin: 0 0 12px; }
.tm-products-landing p { font-size: 1.05rem; line-height: 1.7; }

.tm-products-landing__hero {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    min-height: 560px;
    background: var(--tm-warm);
    margin-bottom: 76px;
    margin-left: calc(50% - 50vw);
    width: 100vw;
}

.tm-products-landing__hero-copy,
.tm-products-landing__showroom-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(36px, 6vw, 78px);
}

.tm-products-landing__eyebrow {
    color: var(--tm-red);
    font-size: .78rem !important;
    font-weight: 700;
    letter-spacing: .14em;
    margin: 0 0 14px;
    text-transform: uppercase;
}

.tm-products-landing__hero-media,
.tm-products-landing__showroom-media,
.tm-products-landing__feature-media,
.tm-products-landing__card-media {
    display: block;
    min-width: 0;
}

.tm-products-landing__hero-media {
    aspect-ratio: 16 / 9;
    min-height: 520px;
    overflow: hidden;
    position: relative;
}

.tm-products-landing__hero-media > .tm-products-landing__image,
.tm-products-landing__hero-media > .tm-products-landing__placeholder {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

@media (min-width: 922px) {
    .tm-products-landing__hero { align-items: stretch; }
    .tm-products-landing__hero-media {
        align-self: stretch;
        aspect-ratio: auto;
        height: 100%;
        min-height: 100%;
    }
}

.tm-products-landing__image,
.tm-products-landing__hero-media img,
.tm-products-landing__showroom-media img,
.tm-products-landing__feature-media img,
.tm-products-landing__card-media img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.tm-products-landing__placeholder {
    align-items: center;
    aspect-ratio: 4 / 3;
    background: linear-gradient(135deg, #eee9e4, #d9d1ca);
    color: #716962;
    display: flex;
    height: 100%;
    justify-content: center;
    min-height: 210px;
    text-align: center;
}

.tm-products-landing__placeholder span { font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.tm-products-landing__placeholder--hero { aspect-ratio: 16 / 9; min-height: 520px; }

.tm-products-landing .woocommerce-breadcrumb {
    color: var(--tm-muted);
    font-size: .82rem;
    margin: 0 0 36px;
}

.tm-products-landing .woocommerce-breadcrumb a { color: var(--tm-red); }

.tm-products-landing__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.tm-products-landing__button {
    background: var(--tm-red);
    border: 1px solid var(--tm-red);
    color: #fff !important;
    display: inline-block;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .05em;
    padding: 14px 22px;
    text-decoration: none;
    text-transform: uppercase;
}
.tm-products-landing__button:hover { background: var(--tm-red-dark); border-color: var(--tm-red-dark); }
.tm-products-landing__button--ghost { background: transparent; color: var(--tm-red) !important; }

.tm-products-landing__section { margin-bottom: 84px; }
.tm-products-landing__categories { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tm-products-landing__card { border: 1px solid var(--tm-line); display: flex; flex-direction: column; }
.tm-products-landing__card-media { aspect-ratio: 3 / 2; overflow: hidden; }
.tm-products-landing__card-media .tm-products-landing__placeholder { aspect-ratio: 3 / 2; min-height: 0; }
.tm-products-landing__card-copy { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.tm-products-landing__card-copy p { font-size: .96rem; margin-bottom: 22px; }
.tm-products-landing__text-link { color: var(--tm-red) !important; font-weight: 700; margin-top: auto; text-decoration: none; }
.tm-products-landing__text-link:hover { color: var(--tm-red-dark) !important; text-decoration: underline; }

.tm-products-landing__feature,
.tm-products-landing__showroom {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 84px;
}
.tm-products-landing__feature-copy { padding: clamp(32px, 5vw, 68px); }
.tm-products-landing__feature--reverse .tm-products-landing__feature-media { order: 2; }
.tm-products-landing__feature--reverse .tm-products-landing__feature-copy { order: 1; }
.tm-products-landing__feature--poltrone .tm-products-landing__feature-copy { padding: clamp(30px, 4vw, 54px); }
.tm-products-landing__feature--poltrone h3 { margin-top: 26px; }
.tm-products-landing__feature--poltrone .tm-products-landing__text-link { display: inline-block; margin-top: 2px; }

.tm-products-landing__text-section { margin: 0 auto 72px; max-width: 920px; padding: 20px 0; }
.tm-products-landing__text-section--tint { background: var(--tm-warm); max-width: none; padding: clamp(36px, 5vw, 64px); }
.tm-products-landing__showroom { background: #242221; color: #fff; margin-bottom: 0; }
.tm-products-landing__showroom h2 { color: #fff; }

.post-type-archive-product .woocommerce-products-header { display: none; }
.post-type-archive-product .site-content > .ast-container { padding-top: 0; }
.post-type-archive-product #primary { margin-top: 0; }
.post-type-archive-product .woocommerce-ordering,
.post-type-archive-product .woocommerce-result-count { margin-top: 16px; }

@media (max-width: 921px) {
    .tm-products-landing__hero { grid-template-columns: 1fr; }
    .tm-products-landing__hero-media { order: -1; }
    .tm-products-landing__hero-media,
    .tm-products-landing__placeholder--hero { min-height: 380px; }
    .tm-products-landing__categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .tm-products-landing { margin-bottom: 48px; }
    .tm-products-landing__hero { margin-bottom: 52px; }
    .tm-products-landing__hero-copy,
    .tm-products-landing__showroom-copy,
    .tm-products-landing__feature-copy { padding: 30px 22px; }
    .tm-products-landing__hero-media,
    .tm-products-landing__placeholder--hero { min-height: 280px; }
    .tm-products-landing__categories,
    .tm-products-landing__feature,
    .tm-products-landing__showroom { grid-template-columns: 1fr; }
    .tm-products-landing__feature--reverse .tm-products-landing__feature-media,
    .tm-products-landing__feature--reverse .tm-products-landing__feature-copy { order: initial; }
    .tm-products-landing__section,
    .tm-products-landing__feature { margin-bottom: 54px; }
    .tm-products-landing__text-section { margin-bottom: 48px; }
}
