/* TP V4 — homepage sections */

/* ── Hero ────────────────────────────────────────────────────── */
.tp4-hero {
    position: relative;
    isolation: isolate;
    min-height: 32rem;
    display: flex;
    align-items: center;
    color: var(--tp4-c-white);
    padding-block: var(--tp4-s-20) var(--tp4-s-24);
    overflow: hidden;
}
.tp4-hero__bg {
    position: absolute; inset: 0; z-index: -2;
    background:
        radial-gradient(circle at 30% 20%, #3a3a35 0%, transparent 55%),
        radial-gradient(circle at 75% 80%, #2a2620 0%, transparent 50%),
        linear-gradient(135deg, #1b1b18 0%, #34302a 100%);
    background-color: var(--tp4-c-gray-900);
}
.tp4-hero__overlay {
    position: absolute; inset: 0; z-index: -1;
    background:
        repeating-linear-gradient(45deg, rgba(255,255,255,0.015) 0 2px, transparent 2px 14px);
}
.tp4-hero__content {
    text-align: center;
    max-width: 56rem;
}
.tp4-hero__eyebrow {
    display: inline-block;
    font-size: var(--tp4-fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    background: rgba(255,255,255,0.12);
    padding: var(--tp4-s-2) var(--tp4-s-4);
    border-radius: var(--tp4-r-pill);
    margin-block-end: var(--tp4-s-5);
    font-weight: var(--tp4-fw-semi);
}
.tp4-hero__title {
    font-size: clamp(var(--tp4-fs-4xl), 5vw, var(--tp4-fs-6xl));
    line-height: 1.05;
    color: var(--tp4-c-white);
    margin-block-end: var(--tp4-s-5);
}
.tp4-hero__sub {
    font-size: var(--tp4-fs-lg);
    color: rgba(255,255,255,0.85);
    margin-block-end: var(--tp4-s-8);
}
.tp4-hero__search {
    display: flex;
    align-items: stretch;
    background: var(--tp4-c-white);
    border-radius: var(--tp4-r-pill);
    padding: var(--tp4-s-2);
    box-shadow: var(--tp4-shadow-lg);
    max-width: 40rem;
    margin: 0 auto var(--tp4-s-6);
    gap: var(--tp4-s-2);
}
.tp4-hero__search-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.5rem; color: var(--tp4-text-muted);
    flex-shrink: 0;
}
.tp4-hero__search-input {
    flex: 1;
    border: 0;
    background: transparent;
    padding: var(--tp4-s-3) 0;
    font-size: var(--tp4-fs-base);
    color: var(--tp4-text);
}
.tp4-hero__search-input:focus { outline: none; box-shadow: none; }
.tp4-hero__search-btn { border-radius: var(--tp4-r-pill); flex-shrink: 0; }
.tp4-hero__quick {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--tp4-s-3);
    font-size: var(--tp4-fs-sm);
    color: rgba(255,255,255,0.75);
}
.tp4-hero__quick a {
    color: var(--tp4-c-white);
    text-decoration: underline;
    text-decoration-color: rgba(255,255,255,0.3);
    text-underline-offset: 3px;
}
.tp4-hero__quick a:hover { color: var(--tp4-c-brand-soft); text-decoration-color: currentColor; }

/* ── Vehicle cascade card ────────────────────────────────────── */
.tp4-vehicle-card {
    background: var(--tp4-c-white);
    border: 1px solid var(--tp4-border);
    border-radius: var(--tp4-r-xl);
    padding: var(--tp4-s-8);
    box-shadow: var(--tp4-shadow);
    margin-block-start: -5rem;       /* overlap hero */
    position: relative;
    z-index: 2;
}
.tp4-vehicle-card__head { margin-block-end: var(--tp4-s-6); }
.tp4-vehicle-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--tp4-s-4);
}
.tp4-vehicle-form__field { display: flex; flex-direction: column; gap: var(--tp4-s-2); }
.tp4-vehicle-form__field label {
    font-size: var(--tp4-fs-xs);
    font-weight: var(--tp4-fw-semi);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--tp4-text-muted);
}
.tp4-vehicle-form__field select, .tp4-vehicle-form__field input {
    height: 2.75rem;
}
.tp4-vehicle-form__btn { height: 2.75rem; }

/* ── Vehicle form ADVANCED (3-field cascade Ano → Marca → Modelo) ── */
.tp4-vehicle-form--adv {
    grid-template-columns: 1fr 1fr 1fr auto;
    align-items: end;
    gap: var(--tp4-s-3);
}
.tp4-vehicle-form--adv .tp4-vehicle-form__btn {
    align-self: stretch;
    padding-inline: 1.5rem;
    gap: 0.4rem;
}
.tp4-vehicle-form--adv .tp4-vehicle-form__field { gap: 0.3rem; }
.tp4-vehicle-form--adv .tp4-vehicle-form__field label {
    display: flex; align-items: center; gap: 0.4rem;
}

@media (max-width: 768px) {
    .tp4-vehicle-form--adv { grid-template-columns: 1fr 1fr; }
    .tp4-vehicle-form--adv .tp4-vehicle-form__btn { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
    .tp4-vehicle-form--adv { grid-template-columns: 1fr; }
}

/* ── Category grid ───────────────────────────────────────────── */
.tp4-cat-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--tp4-s-4);
}
.tp4-cat-card {
    display: flex;
    flex-direction: column;
    background: var(--tp4-c-white);
    border: 1px solid var(--tp4-border);
    border-radius: var(--tp4-r-lg);
    padding: var(--tp4-s-6);
    transition: border-color var(--tp4-dur) var(--tp4-ease), transform var(--tp4-dur) var(--tp4-ease), box-shadow var(--tp4-dur) var(--tp4-ease);
    color: var(--tp4-text);
}
.tp4-cat-card:hover {
    border-color: var(--tp4-c-brand);
    transform: translateY(-2px);
    box-shadow: var(--tp4-shadow-md);
    color: var(--tp4-text);
}
.tp4-cat-card__icon {
    width: 3rem; height: 3rem;
    background: var(--tp4-c-brand-soft);
    color: var(--tp4-c-brand);
    border-radius: var(--tp4-r-md);
    margin-block-end: var(--tp4-s-4);
    display: inline-flex; align-items: center; justify-content: center;
    transition: transform var(--tp4-dur) var(--tp4-ease-out);
}
.tp4-cat-card:hover .tp4-cat-card__icon {
    transform: rotate(-6deg) scale(1.08);
}
.tp4-cat-card__icon svg { stroke-width: 1.5; }
.tp4-cat-card__title {
    font-size: var(--tp4-fs-lg);
    margin-block-end: var(--tp4-s-1);
}
.tp4-cat-card__desc {
    font-size: var(--tp4-fs-sm);
    color: var(--tp4-text-muted);
    margin-block-end: var(--tp4-s-3);
    flex-grow: 1;
}
.tp4-cat-card__more {
    font-size: var(--tp4-fs-sm);
    font-weight: var(--tp4-fw-semi);
    color: var(--tp4-c-brand);
    margin-block-start: auto;
}

/* ── Trust bar ───────────────────────────────────────────────── */
.tp4-trust {
    background: var(--tp4-c-gray-900);
    color: var(--tp4-c-white);
    padding-block: var(--tp4-s-10);
}
.tp4-trust__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--tp4-s-8);
}
.tp4-trust__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--tp4-s-1);
    text-align: center;
}
.tp4-trust__icon {
    width: 3.25rem; height: 3.25rem;
    background: rgba(255, 255, 255, 0.06);
    color: var(--tp4-c-brand-soft);
    border-radius: var(--tp4-r-pill);
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: 0.4rem;
}
.tp4-trust__icon svg { stroke-width: 1.6; }
.tp4-trust__value {
    font-family: var(--tp4-font-display);
    font-size: var(--tp4-fs-3xl);
    font-weight: var(--tp4-fw-black);
    background: linear-gradient(135deg, var(--tp4-c-brand) 0%, #e88450 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.tp4-trust__label {
    font-size: var(--tp4-fs-sm);
    color: rgba(255,255,255,0.8);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: var(--tp4-fw-medium);
}

/* ── Brand bar ───────────────────────────────────────────────── */
.tp4-brand-bar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--tp4-s-3);
    justify-content: center;
}
.tp4-brand-chip {
    display: inline-flex;
    align-items: center;
    padding: var(--tp4-s-3) var(--tp4-s-5);
    background: var(--tp4-c-white);
    border: 1px solid var(--tp4-border);
    border-radius: var(--tp4-r-pill);
    font-size: var(--tp4-fs-sm);
    font-weight: var(--tp4-fw-semi);
    color: var(--tp4-text);
    transition: border-color var(--tp4-dur) var(--tp4-ease), background var(--tp4-dur) var(--tp4-ease), color var(--tp4-dur) var(--tp4-ease);
}
.tp4-brand-chip:hover {
    border-color: var(--tp4-c-brand);
    background: var(--tp4-c-brand-soft);
    color: var(--tp4-c-brand-hover);
}

/* ── Banner (VFV CTA) ────────────────────────────────────────── */
.tp4-banner {
    background: linear-gradient(135deg, var(--tp4-c-accent) 0%, #6d8056 100%);
    color: var(--tp4-c-white);
    padding-block: var(--tp4-s-16) var(--tp4-s-16);
    overflow: hidden;
}
.tp4-banner__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--tp4-s-8);
    align-items: center;
}
.tp4-banner__eyebrow {
    display: inline-block;
    font-size: var(--tp4-fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    background: rgba(255,255,255,0.18);
    padding: var(--tp4-s-1) var(--tp4-s-3);
    border-radius: var(--tp4-r-pill);
    margin-block-end: var(--tp4-s-4);
    font-weight: var(--tp4-fw-semi);
}
.tp4-banner__title {
    color: var(--tp4-c-white);
    font-size: var(--tp4-fs-3xl);
    margin-block-end: var(--tp4-s-3);
}
.tp4-banner__sub {
    font-size: var(--tp4-fs-base);
    color: rgba(255,255,255,0.9);
    margin-block-end: var(--tp4-s-6);
    max-width: 36rem;
}
.tp4-banner__bullets {
    display: flex;
    flex-direction: column;
    gap: var(--tp4-s-2);
    margin-block-end: var(--tp4-s-8);
}
.tp4-banner__bullets li {
    display: flex; align-items: flex-start; gap: var(--tp4-s-3);
    font-size: var(--tp4-fs-base);
    color: rgba(255,255,255,0.95);
}
.tp4-check {
    flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    width: 1.5rem; height: 1.5rem;
    background: rgba(255,255,255,0.18);
    border-radius: 50%;
    font-size: var(--tp4-fs-sm);
    font-weight: var(--tp4-fw-bold);
}
.tp4-banner__visual {
    position: relative;
    min-height: 12rem;
    display: none;
}
.tp4-banner__shape {
    position: absolute;
    width: 24rem; height: 24rem;
    background: rgba(255,255,255,0.1);
    border-radius: 50%;
    right: -8rem; bottom: -8rem;
}
.tp4-banner__shape::before {
    content: ''; position: absolute;
    width: 12rem; height: 12rem;
    background: rgba(255,255,255,0.08);
    border-radius: 50%;
    right: 3rem; top: 3rem;
}

/* ── FAQ accordion ───────────────────────────────────────────── */
.tp4-faq { display: flex; flex-direction: column; gap: var(--tp4-s-3); }
.tp4-faq__item {
    background: var(--tp4-c-white);
    border: 1px solid var(--tp4-border);
    border-radius: var(--tp4-r-lg);
    overflow: hidden;
    transition: border-color var(--tp4-dur) var(--tp4-ease);
}
.tp4-faq__item[open] { border-color: var(--tp4-border-strong); }
.tp4-faq__q {
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--tp4-s-4);
    padding: var(--tp4-s-5) var(--tp4-s-6);
    cursor: pointer;
    font-weight: var(--tp4-fw-semi);
    font-size: var(--tp4-fs-base);
    color: var(--tp4-text);
    list-style: none;
}
.tp4-faq__q::-webkit-details-marker { display: none; }
.tp4-faq__chev { transition: transform var(--tp4-dur) var(--tp4-ease); color: var(--tp4-text-muted); }
.tp4-faq__item[open] .tp4-faq__chev { transform: rotate(180deg); color: var(--tp4-c-brand); }
.tp4-faq__a {
    padding: 0 var(--tp4-s-6) var(--tp4-s-5);
    color: var(--tp4-text-soft);
    line-height: var(--tp4-lh-base);
}

/* ── CTA strip ───────────────────────────────────────────────── */
.tp4-cta-strip {
    background: var(--tp4-c-gray-900);
    color: var(--tp4-c-white);
    padding-block: var(--tp4-s-12);
}
.tp4-cta-strip__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--tp4-s-6);
    align-items: center;
}
.tp4-cta-strip__title {
    color: var(--tp4-c-white);
    font-size: var(--tp4-fs-2xl);
    margin-block-end: var(--tp4-s-1);
}
.tp4-cta-strip__sub {
    color: rgba(255,255,255,0.75);
    margin: 0;
}
.tp4-cta-strip__actions {
    display: flex;
    gap: var(--tp4-s-3);
    flex-wrap: wrap;
}
/* Ghost variant em CTA strip (fundo escuro) — texto branco sempre visível */
.tp4-cta-strip .tp4-btn--ghost {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.30);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.tp4-cta-strip .tp4-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.50);
}
.tp4-cta-strip .tp4-btn--ghost svg { color: #25D366; }

/* ── Footer ──────────────────────────────────────────────────── */
.tp4-footer {
    background: #16161a;
    color: var(--tp4-c-gray-200);
    padding-block: var(--tp4-s-16) var(--tp4-s-8);
}
.tp4-footer__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--tp4-s-10);
    margin-block-end: var(--tp4-s-12);
}
.tp4-footer__brand-name {
    font-family: var(--tp4-font-display);
    font-weight: var(--tp4-fw-bold);
    font-size: var(--tp4-fs-xl);
    color: var(--tp4-c-white);
    display: block;
    margin-block: var(--tp4-s-4) var(--tp4-s-2);
}
.tp4-footer__tag {
    color: var(--tp4-c-gray-300);
    font-size: var(--tp4-fs-sm);
    margin-block-end: var(--tp4-s-5);
}
.tp4-footer__socials {
    display: flex;
    gap: var(--tp4-s-2);
}
.tp4-socbtn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.25rem; height: 2.25rem;
    background: rgba(255,255,255,0.08);
    border-radius: 50%;
    color: var(--tp4-c-gray-200);
    font-weight: var(--tp4-fw-bold);
    font-size: var(--tp4-fs-sm);
    transition: background var(--tp4-dur) var(--tp4-ease), color var(--tp4-dur) var(--tp4-ease);
}
.tp4-socbtn:hover { background: var(--tp4-c-brand); color: var(--tp4-c-white); }
.tp4-footer__col-title {
    color: var(--tp4-c-white);
    font-size: var(--tp4-fs-sm);
    font-weight: var(--tp4-fw-bold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-block-end: var(--tp4-s-4);
}
.tp4-footer__list { display: flex; flex-direction: column; gap: var(--tp4-s-2); }
.tp4-footer__list a {
    color: var(--tp4-c-gray-300);
    font-size: var(--tp4-fs-sm);
}
.tp4-footer__list a:hover { color: var(--tp4-c-white); }
.tp4-footer__bottom {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-block-start: var(--tp4-s-6);
    display: flex;
    flex-direction: column;
    gap: var(--tp4-s-2);
    color: var(--tp4-c-gray-400);
    font-size: var(--tp4-fs-xs);
}
.tp4-footer__bottom p { margin: 0; }
.tp4-footer__legal code {
    background: rgba(255,255,255,0.08);
    color: var(--tp4-c-gray-200);
}

/* ── Footer iteration 6 — real data + 4-col grid + about + meta + badges ── */
.tp4-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; align-items: start; }
@media (max-width: 1023px) { .tp4-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px)  { .tp4-footer__grid { grid-template-columns: 1fr; gap: 2rem; } }

.tp4-footer__brand { display: flex; flex-direction: column; gap: 0.7rem; }
.tp4-footer__logo {
    display: inline-flex; align-items: center; gap: 0.65rem;
    text-decoration: none;
}
.tp4-footer__logo img { max-height: 44px; width: auto; display: block; object-fit: contain; filter: brightness(0) invert(1); opacity: 0.92; }
.tp4-footer__about {
    margin: 0;
    color: var(--tp4-c-gray-300);
    font-size: var(--tp4-fs-sm); line-height: 1.55;
    max-width: 32ch;
}
.tp4-footer__meta {
    margin: 0;
    color: var(--tp4-c-gray-300);
    font-size: 0.78rem; line-height: 1.5;
    display: flex; align-items: flex-start; gap: 0.4rem;
}
.tp4-footer__meta a { color: var(--tp4-c-gray-300); text-decoration: none; }
.tp4-footer__meta a:hover { color: #fff; }
.tp4-footer__meta svg { flex-shrink: 0; margin-top: 1px; opacity: 0.8; }

.tp4-footer__socials {
    list-style: none; padding: 0; margin: 0.6rem 0 0;
    display: flex; gap: 0.5rem;
}
.tp4-footer__socials li { list-style: none; }
.tp4-socbtn svg { width: 18px !important; height: 18px !important; }

.tp4-footer__badges {
    display: flex; flex-wrap: wrap; gap: 0.4rem;
    margin-top: 1rem;
}
.tp4-footer__badge {
    display: inline-flex; align-items: center; gap: 0.3rem;
    padding: 0.35rem 0.65rem;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: var(--tp4-r-pill);
    font-size: 0.72rem; font-weight: var(--tp4-fw-semi);
    letter-spacing: 0.04em;
    color: var(--tp4-c-gray-200);
    text-decoration: none;
    transition: background var(--tp4-dur) var(--tp4-ease-out), border-color var(--tp4-dur) var(--tp4-ease-out), transform var(--tp4-dur) var(--tp4-ease-out);
}
.tp4-footer__badge:hover {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.20);
    transform: translateY(-1px);
}
.tp4-footer__badge svg { color: var(--tp4-c-success); opacity: 0.9; width: 12px !important; height: 12px !important; }
.tp4-footer__badge--apa { color: #ade1c5; }
.tp4-footer__badge--ciab { color: #c7d2fe; }
.tp4-footer__badge--valorcar { color: #fde68a; }
.tp4-footer__badge--ancav { color: #f9a8d4; }

.tp4-footer__bottom {
    flex-direction: row; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 0.75rem;
}
.tp4-footer__bottom-left { display: flex; gap: 1rem; flex-wrap: wrap; }
.tp4-footer__vat { color: var(--tp4-c-gray-400); }
.tp4-footer__legal a { color: var(--tp4-c-gray-200); text-decoration: none; border-bottom: 1px dashed rgba(255,255,255,0.18); }
.tp4-footer__legal a:hover { color: #fff; border-color: rgba(255,255,255,0.4); }

/* ── Content wrap (Páginas singulares envolvidas pelo wrap-content.php) ── */
.tp4-content { padding-block: var(--tp4-s-16); }
.tp4-content__head { margin-block-end: var(--tp4-s-8); text-align: left; }
.tp4-content__eyebrow {
    display: inline-flex; align-items: center; gap: 0.4rem;
    font-size: var(--tp4-fs-xs); letter-spacing: var(--tp4-tracking-wide);
    text-transform: uppercase; color: var(--tp4-c-brand);
    font-weight: var(--tp4-fw-bold); margin: 0 0 0.4rem;
}
.tp4-content__title {
    margin: 0; font-family: var(--tp4-font-display);
    font-weight: var(--tp4-fw-black);
    font-size: clamp(1.85rem, 3.5vw, 2.5rem);
    line-height: 1.1; color: var(--tp4-text);
    letter-spacing: var(--tp4-tracking-tight);
}
.tp4-content__sub { margin: 0.55rem 0 0; color: var(--tp4-text-muted); font-size: var(--tp4-fs-lg); }
.tp4-content__body { color: var(--tp4-text); line-height: 1.7; font-size: var(--tp4-fs-base); }
.tp4-content__body p { margin: 0 0 var(--tp4-s-4); }
.tp4-content__body h2 { font-family: var(--tp4-font-display); margin: var(--tp4-s-8) 0 var(--tp4-s-3); font-size: var(--tp4-fs-2xl); }
.tp4-content__body h3 { margin: var(--tp4-s-6) 0 var(--tp4-s-2); font-size: var(--tp4-fs-xl); }
.tp4-content__body ul, .tp4-content__body ol { padding-left: 1.5rem; margin: 0 0 var(--tp4-s-4); }
.tp4-content__body a { color: var(--tp4-c-brand); text-decoration: underline; text-underline-offset: 3px; }
.tp4-content__body a:hover { color: var(--tp4-c-brand-hover); }

.tp4-content__search-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.85rem; }
.tp4-content__search-link {
    display: block; padding: 1rem 1.25rem;
    background: var(--tp4-c-gray-50);
    border: 1px solid var(--tp4-border);
    border-radius: var(--tp4-r-lg);
    text-decoration: none; color: var(--tp4-text);
    transition: all var(--tp4-dur) var(--tp4-ease-out);
}
.tp4-content__search-link:hover { border-color: var(--tp4-c-brand); background: #fff; }
.tp4-content__search-link strong { display: block; margin-bottom: 0.4rem; }

/* Builder page (Elementor / Gutenberg full-bleed) — sem container interno */
.tp4-content--builder { padding: 0; }
.tp4-content--builder > * { width: 100%; }
.tp4-content--builder .elementor-section,
.tp4-content--builder .elementor-container { max-width: none !important; }
/* Hide duplicate page titles + tp-storefront mu-plugin hero block (substitui
 * pelos elementos próprios do template V4 mais à frente) */
.tp4-content--builder .ignavo-page-header,
.tp4-content--builder .page-header,
.tp4-content--builder > .entry-header,
.tp4-content--builder .tp-vpp-hero { display: none !important; }
/* Make sure the inner viatura listing renders full-width via tp-storefront block */
.tp4-content--builder .tp-vpp,
.tp4-content--builder .tp-sa-page,
.tp4-content--builder .tp-sa-results { width: 100%; max-width: var(--tp4-container); margin-inline: auto; padding-inline: var(--tp4-container-px); }

/* 2026-06-07 — #5: respiro entre H1 da listing de viaturas e topo da sec
 * Aplica-se quando o conteúdo vem do tp-storefront e arranca com .tp-vpp ou .tp-sa-page;
 * a margem é interna ao bloco da listing, não ao container exterior. */
.tp4-content--builder .tp-vpp .tp-vpp__title,
.tp4-content--builder .tp-vpp h1,
.tp4-content--builder .tp-sa-page h1 { margin-top: var(--tp4-s-8); }

/* 2026-06-07 — #8: páginas legais (cookies, política, termos, devoluções) ficam
 * encostadas às laterais quando o WP carrega como builder/Gutenberg em alguns
 * stores. Forçamos um container narrow para qualquer slug legal. */
body.page-template-default.tp4-theme .tp4-content--builder .elementor,
body.tp4-theme[class*="page-id-"] .tp4-content--builder { padding-inline: 0; }
.tp4-content--builder.tp4-content--legal,
.tp4-content--builder.tp4-content--legal .elementor,
.tp4-content--builder.tp4-content--legal .elementor-section,
.tp4-content--builder.tp4-content--legal .elementor-container {
    max-width: 880px !important;
    margin-inline: auto !important;
    padding-inline: var(--tp4-container-px) !important;
}
.tp4-content--builder.tp4-content--legal { padding-block: var(--tp4-s-10); }

/* 2026-06-07 — #3: enquanto o cart drawer está aberto, esconde wp-whatsapp
 * floating popup que se sobrepõe ao painel. Z-index do plugin é 999999999
 * (max int), por isso o caminho fiável é display:none + visibility:hidden.
 * Restaurado automaticamente quando body.tp4-cart-open sai. */
body.tp4-cart-open .wa__btn_popup,
body.tp4-cart-open .wa__popup_chat_box {
    visibility: hidden !important;
    opacity: 0 !important;
    transform: scale(0.7) translateY(20px) !important;
    transition: opacity 180ms ease, transform 200ms ease !important;
    pointer-events: none !important;
}
