/* ================================
   VARIAVEIS
================================ */
:root {
    --cor-principal: #000000;
    --cor-secundaria: #888888;
    --cor-fundo: #FFFFFF;
    --cor-acao: #0000FF;
    --cor-destaque: #FF6347;
    --cor-texto: var(--cor-principal);
    --cor-texto-secundario: var(--cor-secundaria);
    --cor-superficie: var(--cor-fundo);
    --cor-borda: var(--cor-secundaria);
    --raio-pequeno: 10px;
    --raio: 16px;
    --sombra-sutil: 0 8px 24px color-mix(in srgb, var(--cor-principal) 10%, transparent);
    --foco: 0 0 0 3px color-mix(in srgb, var(--cor-acao) 24%, transparent);
}

/* ================================
   BASE
================================ */
* { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body {
    min-width: 320px;
    margin: 0;
    overflow-x: hidden;
    background: var(--cor-fundo);
    color: var(--cor-texto);
    font: 16px/1.55 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
button, input, select, textarea { font: inherit; }
[hidden] { display: none !important; }
.container { width: min(calc(100% - 32px), 1160px); margin-inline: auto; }
.app-content { min-height: 70vh; padding-block: 36px 64px; }
.app-content h1 { margin: 0 0 22px; font-size: clamp(2rem, 8vw, 3.4rem); }
h1, h2, h3, p, td, th { overflow-wrap: break-word; }
h1 { max-width: 760px; margin: 0; font-size: clamp(2.25rem, 10vw, 4.7rem); line-height: 1.02; letter-spacing: -.055em; }
h2 { margin: 0; font-size: clamp(1.75rem, 6vw, 2.7rem); line-height: 1.12; letter-spacing: -.035em; }
h3 { margin: 0; line-height: 1.25; }
a { color: var(--cor-acao); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
a:active { color: var(--cor-principal); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--cor-acao); outline-offset: 3px; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; transform: translateY(-150%); background: var(--cor-fundo); color: var(--cor-principal); }
.skip-link:focus { transform: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ================================
   CABECALHO E NAVEGACAO
================================ */
.site-header { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid var(--cor-secundaria); background: var(--cor-principal); color: var(--cor-fundo); }
.header-inner { min-height: 68px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; flex: none; text-decoration: none; }
.brand img { display: block; width: auto; max-width: 150px; height: auto; }
.menu-toggle { width: 46px; height: 46px; display: grid; place-content: center; gap: 5px; border: 1px solid var(--cor-secundaria); border-radius: var(--raio-pequeno); background: transparent; color: var(--cor-fundo); cursor: pointer; }
.menu-toggle > span:not(.sr-only) { width: 21px; height: 2px; display: block; background: currentColor; }
.main-menu { position: absolute; top: 68px; right: 0; left: 0; display: none; padding: 10px 16px 18px; border-bottom: 1px solid var(--cor-secundaria); background: var(--cor-principal); }
.main-menu.is-open { display: grid; }
.main-menu a { min-height: 48px; display: flex; align-items: center; border-bottom: 1px solid var(--cor-secundaria); color: var(--cor-fundo); text-decoration: none; font-weight: 700; }
.main-menu a:hover, .main-menu a:focus-visible { color: var(--cor-fundo); text-decoration: underline; text-decoration-color: var(--cor-acao); text-decoration-thickness: 3px; }
.app-menu { position: static; display: flex; gap: 16px; padding: 0; overflow-x: auto; border: 0; scrollbar-color: var(--cor-secundaria) var(--cor-principal); }
.app-menu a { flex: none; border: 0; font-size: .82rem; }

/* ================================
   HERO E BUSCA
================================ */
.hero { padding: 48px 0 54px; background: var(--cor-principal); color: var(--cor-fundo); }
.hero-grid { display: grid; gap: 34px; }
.eyebrow { margin: 0 0 9px; color: var(--cor-acao); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hero .eyebrow, .section-dark .eyebrow, .contact-topics .eyebrow { color: var(--cor-fundo); text-decoration: underline; text-decoration-color: var(--cor-acao); text-decoration-thickness: 3px; }
.hero-text { max-width: 650px; margin: 20px 0; color: var(--cor-fundo); font-size: 1.08rem; }
.trust-list { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 0; color: var(--cor-fundo); list-style: none; font-size: .9rem; }
.trust-list li::before, .benefit-list li::before, .contact-topics li::before { margin-right: 7px; color: var(--cor-destaque); content: "✓"; font-weight: 900; }
.search-card { padding: 22px 18px; border: 1px solid var(--cor-secundaria); border-radius: var(--raio); background: var(--cor-superficie); color: var(--cor-texto); box-shadow: var(--sombra-sutil); }
.card-heading { display: flex; align-items: center; gap: 12px; }
.card-heading p { margin: 0; color: var(--cor-texto-secundario); font-size: .82rem; font-weight: 700; }
.card-heading h2 { font-size: 1.3rem; }
.step-number { width: 38px; height: 38px; flex: none; display: grid; place-items: center; border-radius: var(--raio-pequeno); background: var(--cor-principal); color: var(--cor-fundo); font-weight: 900; }
.method-picker { margin: 22px 0 18px; padding: 0; border: 0; }
.method-picker legend, label { display: block; margin-bottom: 7px; font-weight: 750; }
.method-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
.method-options label { min-width: 0; margin: 0; }
.method-options input { position: absolute; opacity: 0; }
.method-options span { min-height: 48px; display: grid; place-items: center; padding: 6px; border: 1px solid var(--cor-borda); border-radius: 9px; color: var(--cor-principal); font-size: .78rem; text-align: center; cursor: pointer; }
.method-options input:checked + span { border-color: var(--cor-acao); background: var(--cor-acao); color: var(--cor-fundo); }
.method-options input:focus-visible + span { outline: 3px solid var(--cor-acao); outline-offset: 2px; }
.fields-grid, .search-input { display: grid; gap: 13px; }
.piece-field { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--cor-borda); }
.compact { margin-bottom: 15px; }

/* ================================
   SECOES E CARDS
================================ */
.section { padding: 64px 0; }
.section-title { max-width: 680px; margin-bottom: 28px; }
.section-title > p:last-child, .steps p { color: var(--cor-texto-secundario); }
.steps { display: grid; gap: 12px; padding: 0; list-style: none; }
.steps li, .offer-card, .dashboard-grid article, .detail { padding: 22px; border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
.steps span { display: block; margin-bottom: 22px; color: var(--cor-destaque); font-size: .8rem; font-weight: 900; }
.section-dark { background: var(--cor-principal); color: var(--cor-fundo); }
.benefits-grid { display: grid; gap: 30px; }
.benefits-grid > div > p:last-child { color: var(--cor-fundo); }
.benefit-list { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.benefit-list li { position: relative; padding: 15px 0; border-bottom: 1px solid var(--cor-secundaria); }
.section-soft { border-block: 1px solid var(--cor-secundaria); background: var(--cor-fundo); }
.empty-state { padding: 34px 20px; border: 1px dashed var(--cor-borda); border-radius: var(--raio); color: var(--cor-texto-secundario); text-align: center; }
.empty-state span { width: 52px; height: 52px; display: grid; place-items: center; margin: 0 auto 13px; border-radius: 50%; background: var(--cor-principal); color: var(--cor-fundo); font-size: 1.5rem; }
.empty-state h3 { color: var(--cor-texto); }
.empty-state p { max-width: 570px; margin: 7px auto 0; }
.merchant { padding: 24px 0 64px; }
.merchant-card { display: grid; gap: 22px; padding: 28px 22px; border-radius: var(--raio); background: var(--cor-destaque); color: var(--cor-principal); }
.merchant-card .eyebrow { color: var(--cor-principal); }
.merchant-card p:last-child { margin-bottom: 0; }
.offer-grid, .dashboard-grid { display: grid; gap: 16px; }
.offer-card { display: flex; flex-direction: column; }
.offer-card h2 { margin-top: 10px; font-size: 1.35rem; }
.offer-card .button { margin-top: auto; }
.dashboard-grid article h2 { font-size: 1.25rem; }
.price { display: block; margin-block: 14px; color: var(--cor-principal); font-size: 1.55rem; }
.offer-card .price { color: var(--cor-destaque); }

/* ================================
   FORMULARIOS
================================ */
.form-page { max-width: 560px; margin-inline: auto; }
.form-card, .filters { display: grid; gap: 16px; padding: 20px; border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); box-shadow: var(--sombra-sutil); }
.form-grid { grid-template-columns: minmax(0, 1fr); }
input, select, textarea { width: 100%; min-height: 52px; padding: 12px 13px; border: 1px solid var(--cor-borda); border-radius: var(--raio-pequeno); outline: 0; background: var(--cor-superficie); color: var(--cor-texto); font-size: 16px; }
textarea { min-height: 130px; resize: vertical; }
input::placeholder, textarea::placeholder { color: var(--cor-texto-secundario); opacity: 1; }
input:hover, select:hover, textarea:hover { border-color: var(--cor-principal); }
input:focus, select:focus, textarea:focus { border-color: var(--cor-acao); box-shadow: var(--foco); }
input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; opacity: .65; }
input[type="checkbox"] { width: 22px; min-height: 22px; accent-color: var(--cor-acao); vertical-align: middle; }
fieldset { min-width: 0; border: 1px solid var(--cor-borda); border-radius: 12px; }
.checkbox-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.full { grid-column: 1 / -1; }
.filters { margin-bottom: 28px; box-shadow: none; }

/* ================================
   BOTOES E ESTADOS
================================ */
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 11px 20px; border: 2px solid var(--cor-principal); border-radius: var(--raio-pequeno); background: var(--cor-superficie); color: var(--cor-principal); cursor: pointer; font-weight: 850; text-align: center; text-decoration: none; transition: transform .15s ease, background-color .15s ease, color .15s ease; }
.button.primary { border-color: var(--cor-principal); background: var(--cor-principal); color: var(--cor-fundo); }
.button.secondary { border-color: var(--cor-principal); background: var(--cor-superficie); color: var(--cor-principal); }
.section-dark .button.secondary, .site-header .button.secondary { border-color: var(--cor-fundo); background: transparent; color: var(--cor-fundo); }
.button:hover { border-color: var(--cor-acao); background: var(--cor-acao); color: var(--cor-fundo); text-decoration: none; }
.button:active { transform: translateY(1px); background: var(--cor-principal); color: var(--cor-fundo); }
.button:disabled { cursor: not-allowed; opacity: .55; transform: none; }

/* ================================
   ALERTAS, BADGES E TABELAS
================================ */
.alert { margin: 18px 0; padding: 12px 14px; border: 1px solid currentColor; border-left-width: 5px; border-radius: var(--raio-pequeno); background: var(--cor-superficie); font-size: .9rem; }
.alert ul { margin: 5px 0 0; padding-left: 20px; }
.alert-error { color: var(--cor-principal); border-left-color: var(--cor-destaque); }
.alert-info { color: var(--cor-principal); border-left-color: var(--cor-acao); }
.status { display: inline-block; padding: 5px 9px; border: 1px solid currentColor; border-radius: 99px; font-size: .8rem; font-weight: 800; }
.status-atualizado { border-color: var(--cor-acao); background: var(--cor-acao); color: var(--cor-fundo); }
.status-desatualizado { border-color: var(--cor-secundaria); background: var(--cor-superficie); color: var(--cor-principal); }
.status-nao_confirmado { border-color: var(--cor-destaque); background: var(--cor-destaque); color: var(--cor-principal); }
.warning { padding: 10px; border-left: 4px solid var(--cor-destaque); background: var(--cor-superficie); color: var(--cor-principal); }
.actions, .inline-actions, .pagination { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 22px; }
.table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--cor-borda); border-radius: 12px; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px; border-bottom: 1px solid var(--cor-borda); text-align: left; }
th { background: var(--cor-principal); color: var(--cor-fundo); }
.inline-actions { gap: 5px; margin-block: 0; }
.pagination { gap: 7px; margin-top: 25px; }
.pagination a { min-width: 44px; min-height: 44px; display: grid; place-items: center; border: 1px solid var(--cor-borda); border-radius: 8px; text-decoration: none; }
.pagination a:hover, .pagination .active { border-color: var(--cor-acao); background: var(--cor-acao); color: var(--cor-fundo); }

/* ================================
   CONTATO
================================ */
.contact-page { max-width: 1080px; margin-inline: auto; }
.contact-intro { max-width: 760px; margin-bottom: 30px; }
.contact-intro h1 { margin-bottom: 14px; }
.contact-intro > p:last-child { color: var(--cor-texto-secundario); font-size: 1.05rem; }
.contact-layout { display: grid; gap: 22px; }
.contact-topics, .contact-form-card { padding: 22px 18px; border: 1px solid var(--cor-borda); border-radius: var(--raio); background: var(--cor-superficie); }
.contact-topics { align-self: start; background: var(--cor-principal); color: var(--cor-fundo); }
.contact-topics h2, .contact-form-card h2 { font-size: clamp(1.45rem, 5vw, 2rem); }
.contact-topics ul { display: grid; gap: 0; margin: 20px 0; padding: 0; list-style: none; }
.contact-topics li { padding: 12px 0; border-bottom: 1px solid var(--cor-secundaria); }
.contact-note { margin: 22px 0 0; color: var(--cor-fundo); font-size: .9rem; }
.contact-form-card { box-shadow: var(--sombra-sutil); }
.contact-form-card > p { margin: 8px 0 20px; color: var(--cor-texto-secundario); }
.contact-form, .contact-fields { display: grid; gap: 20px; }
.contact-fields { gap: 17px; }
.field label { margin-bottom: 7px; }
.optional, .field-help { color: var(--cor-texto-secundario); font-size: .88rem; font-weight: 400; }
.field-help { margin: 5px 0 0; }
.field-error { margin: 6px 0 0; color: var(--cor-principal); font-size: .88rem; font-weight: 700; }
.field-error::before { color: var(--cor-destaque); content: "Atenção: "; }
.contact-form [aria-invalid="true"] { border-color: var(--cor-destaque); box-shadow: 0 0 0 2px var(--cor-destaque); }
.consent-field { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 12px; padding: 15px; border: 1px solid var(--cor-borda); border-radius: 12px; background: var(--cor-superficie); }
.consent-field input { margin: 2px 0 0; }
.consent-field label { margin: 0; cursor: pointer; }
.contact-form .button { width: 100%; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* ================================
   RODAPE
================================ */
.site-footer { padding: 42px 0; border-top: 4px solid var(--cor-destaque); background: var(--cor-principal); color: var(--cor-fundo); }
.footer-grid { display: grid; gap: 27px; }
.site-footer nav { display: grid; gap: 12px; }
.site-footer nav a { color: var(--cor-fundo); text-decoration-color: var(--cor-acao); }
.copyright { padding-top: 22px; border-top: 1px solid var(--cor-secundaria); font-size: .85rem; }

/* ================================
   RESPONSIVIDADE
================================ */
@media (max-width: 699px) {
    .actions .button, .inline-actions .button { flex: 1 1 100%; }
    .table-wrap table, .table-wrap thead, .table-wrap tbody, .table-wrap tr, .table-wrap th, .table-wrap td { display: block; }
    .table-wrap thead { position: absolute; clip: rect(0, 0, 0, 0); }
    .table-wrap tr { padding: 10px; border-bottom: 1px solid var(--cor-borda); }
    .table-wrap td { padding: 7px 6px; border: 0; }
}
@media (min-width: 700px) {
    .brand img { max-width: 180px; }
    .container { width: min(calc(100% - 56px), 1160px); }
    .hero { padding: 70px 0; }
    .search-card, .contact-topics, .contact-form-card { padding: 30px; }
    .fields-grid, .form-grid, .offer-grid, .contact-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .search-input { grid-template-columns: minmax(0, 1fr) auto; }
    .steps, .filters, .dashboard-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .filters { align-items: end; }
    .benefits-grid { grid-template-columns: 1fr 1fr; align-items: center; }
    .merchant-card { grid-template-columns: 1fr auto; align-items: center; padding: 36px; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .copyright { grid-column: 1 / -1; }
    .contact-form .button { width: auto; min-width: 190px; justify-self: start; }
}
@media (min-width: 960px) {
    .menu-toggle { display: none; }
    .main-menu { position: static; display: flex; gap: 30px; padding: 0; border: 0; }
    .main-menu a { min-height: 68px; border: 0; font-size: .9rem; }
    .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(420px, 500px); align-items: center; gap: 60px; }
    .section { padding: 88px 0; }
    .steps li { min-height: 210px; padding: 28px; }
    .merchant { padding: 32px 0 88px; }
    .offer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .contact-layout { grid-template-columns: minmax(280px, .75fr) minmax(0, 1.5fr); gap: 30px; align-items: start; }
}

/* ==============================
   LOGIN
============================== */
.login-page {
    width: 100%;
    min-height: 100vh;
    min-height: 100svh;
    position: relative;
    isolation: isolate;
    background-color: #050505;
    background-image: url("../img/motor.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: #fff;
}
.login-overlay {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    pointer-events: none;
}
.login-overlay {
    z-index: -1;
    background: radial-gradient(circle at 50% 44%, rgba(255, 99, 71, .08), transparent 40%), linear-gradient(180deg, rgba(0, 0, 0, .38), rgba(0, 0, 0, .58));
}
.login-back-link { position: fixed; z-index: 3; top: max(14px, env(safe-area-inset-top)); left: max(14px, env(safe-area-inset-left)); min-height: 44px; display: inline-flex; align-items: center; padding: 9px 14px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 10px; background: rgba(0, 0, 0, .48); color: #fff; font-size: .85rem; font-weight: 750; text-decoration: none; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: border-color .15s ease, background-color .15s ease, color .15s ease; }
.login-back-link:hover { border-color: #ff6347; background: rgba(255, 99, 71, .18); color: #fff; text-decoration: none; }
.login-container { position: relative; z-index: 2; width: 100%; min-height: 100vh; min-height: 100svh; display: grid; place-items: center; padding: max(76px, calc(env(safe-area-inset-top) + 62px)) 14px max(18px, env(safe-area-inset-bottom)); }
.login-card { width: min(100%, 420px); padding: 24px 20px 22px; border: 1px solid rgba(255, 255, 255, .15); border-radius: 22px; background: rgba(8, 8, 8, .76); box-shadow: 0 24px 70px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .07), 0 0 50px rgba(255, 99, 71, .04); backdrop-filter: blur(18px) saturate(120%); -webkit-backdrop-filter: blur(18px) saturate(120%); }
.login-logo { width: fit-content; display: block; margin: 0 auto 20px; }
.login-logo img { width: auto; max-width: 142px; max-height: 42px; display: block; }
.login-heading { text-align: center; }
.login-kicker { margin: 0 0 5px; color: #ff6347; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.login-page .login-title { margin: 0; color: #fff; font-size: clamp(2rem, 10vw, 2.65rem); line-height: 1.08; letter-spacing: -.04em; }
.login-subtitle { margin: 8px 0 20px; color: #b5b5b5; font-size: .91rem; }
.login-form { display: grid; gap: 14px; }
.login-field label { margin-bottom: 6px; color: #ededed; font-size: .84rem; font-weight: 700; }
.login-page .login-input { min-height: 50px; padding: 12px 14px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 11px; background: rgba(0, 0, 0, .55); color: #fff; caret-color: #ff6347; }
.login-page .login-input::placeholder { color: #888; }
.login-page .login-input:hover { border-color: rgba(255, 255, 255, .36); }
.login-page .login-input:focus { border-color: #ff6347; box-shadow: 0 0 0 3px rgba(255, 99, 71, .18), 0 0 20px rgba(255, 99, 71, .08); }
.login-password-wrapper { position: relative; }
.login-password-wrapper .login-input { padding-right: 52px; }
.login-password-toggle { position: absolute; top: 3px; right: 3px; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 9px; background: transparent; color: #aaa; cursor: pointer; }
.login-password-toggle:hover { color: #fff; }
.login-password-toggle svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.login-eye-closed, .login-password-toggle[aria-pressed="true"] .login-eye-open { display: none; }
.login-password-toggle[aria-pressed="true"] .login-eye-closed { display: block; }
.login-forgot-link { justify-self: end; margin-top: -3px; color: #ff8069; font-size: .82rem; font-weight: 700; text-decoration: none; }
.login-forgot-link:hover, .login-links a:hover { color: #fff; text-decoration: underline; }
.login-button { width: 100%; min-height: 51px; margin-top: 3px; border: 1px solid #ff6347; border-radius: 11px; background: #ff6347; color: #000; cursor: pointer; font-weight: 850; box-shadow: 0 10px 26px rgba(255, 99, 71, .2); transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease; }
.login-button:hover { border-color: #ff8069; background: #ff8069; box-shadow: 0 12px 32px rgba(255, 99, 71, .3); }
.login-button:active { transform: translateY(1px); }
.login-alert, .login-card > .alert { margin: 0 0 15px; padding: 10px 12px; border: 1px solid rgba(255, 99, 71, .55); border-radius: 10px; background: rgba(255, 99, 71, .1); color: #fff; font-size: .84rem; }
.login-links { margin: 20px 0 0; color: #aaa; font-size: .84rem; text-align: center; }
.login-links a { color: #ff8069; font-weight: 800; text-decoration: none; }

.password-field { position: relative; display: block; }
.password-field input { padding-right: 52px; }
.password-toggle { position: absolute; top: 50%; right: 4px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: inherit; cursor: pointer; transform: translateY(-50%); }
.password-toggle:hover { background: rgba(0, 0, 0, .06); }
.password-toggle[aria-pressed="true"] { opacity: .6; }

@media (min-width: 480px) {
    .login-container { padding: max(76px, calc(env(safe-area-inset-top) + 62px)) 24px max(18px, env(safe-area-inset-bottom)); }
    .login-card { padding: 30px 32px 27px; border-radius: 25px; }
}
@media (max-height: 620px) {
    .login-container { place-items: start center; }
    .login-card { margin-block: 8px; }
    .login-logo { margin-bottom: 12px; }
    .login-subtitle { margin-bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .login-button, .login-back-link { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .button { transition: none; }
}

/* ========================================
   NAVEGACAO - IDENTIDADE AchaAuto
======================================== */
.site-header { border-bottom-color: #242424; }
.header-inner { min-height: 72px; }
.main-menu { top: 72px; }
.main-menu a { color: #d8d8d8; font-weight: 650; }
.main-menu .menu-cta { min-height: 44px; margin-top: 8px; padding: 0 18px; border: 0; border-radius: var(--raio-pequeno); background: var(--cor-destaque); color: var(--cor-principal); }
.menu-toggle[aria-expanded="true"] > span:first-child { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.menu-toggle > span { transition: transform .18s ease, opacity .18s ease; }

/* ========================================
   HOME - BASE E HERO
======================================== */
.home-page { background: #080808; color: var(--cor-fundo); }
.home-page .eyebrow { color: var(--cor-destaque); text-decoration: none; }
.home-hero { position: relative; background: #000; }
.home-hero-grid { min-height: 670px; display: grid; align-items: end; }
.home-hero-copy { position: relative; z-index: 2; padding: 54px 0 315px; }
.home-hero h1 { max-width: 720px; font-size: clamp(2.55rem, 12vw, 5.3rem); }
.home-hero .hero-text { max-width: 610px; color: #c8c8c8; }
.hero-actions { display: grid; gap: 10px; margin-top: 28px; }
.home-page .button.primary { border-color: var(--cor-destaque); background: var(--cor-destaque); color: #000; }
.home-page .button.primary:hover { border-color: #fff; background: #fff; color: #000; }
.button.ghost { border-color: #555; background: transparent; color: #fff; }
.button.ghost:hover { border-color: #fff; background: #fff; color: #000; }
.hero-media { position: absolute; inset: auto 0 0; height: 420px; overflow: hidden; opacity: .88; }
.hero-media::after { position: absolute; inset: 0; background: linear-gradient(to bottom, #000 0%, transparent 35%, #000 100%); content: ""; }
.hero-media img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 61%; }
.quick-search-wrap { position: relative; z-index: 3; padding-bottom: 32px; }
.quick-search { display: grid; gap: 14px; padding: 18px; border: 1px solid #333; border-radius: var(--raio); background: #141414; }
.quick-search label { color: #fff; }
.quick-search input { border-color: #3d3d3d; background: #090909; color: #fff; }
.quick-search input:hover { border-color: #888; }

/* ========================================
   HOME - COMO FUNCIONA E CATEGORIAS
======================================== */
.home-section { padding: 72px 0; }
.home-heading { max-width: 720px; margin-bottom: 30px; }
.home-heading > p:last-child, .process-grid p, .feature-copy p, .category-placeholder p { color: #a9a9a9; }
.process-grid { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: etapa; }
.process-grid li { min-height: 220px; padding: 24px; border: 1px solid #292929; border-radius: var(--raio); background: #111; }
.process-grid span { display: inline-grid; width: 42px; height: 42px; place-items: center; margin-bottom: 46px; border: 1px solid #444; border-radius: 50%; color: var(--cor-destaque); font-size: .78rem; font-weight: 900; }
.process-grid h3 { font-size: 1.25rem; }
.categories-section { background: #0d0d0d; }
.category-grid { display: grid; gap: 10px; }
.category-grid a { min-height: 76px; display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border: 1px solid #303030; border-radius: 12px; color: #fff; text-decoration: none; }
.category-grid a:hover { border-color: var(--cor-destaque); color: var(--cor-destaque); }
.category-placeholder { padding: 26px; border-left: 3px solid var(--cor-destaque); background: #151515; }
.text-link { color: #fff; font-weight: 800; }

/* ========================================
   HOME - BLOCOS VISUAIS E LOJISTAS
======================================== */
.feature-section { overflow: hidden; }
.feature-grid { display: grid; gap: 30px; }
.feature-media { min-height: 330px; overflow: hidden; border-radius: var(--raio); background: #111; }
.feature-media img { width: 100%; height: 100%; min-height: 330px; display: block; object-fit: cover; }
.feature-reverse { background: #000; }
.feature-reverse .feature-media img { max-height: 560px; object-position: center 58%; }
.feature-copy { align-self: center; }
.feature-copy h2 { max-width: 640px; }
.feature-copy p:not(.eyebrow) { max-width: 590px; margin: 20px 0 28px; font-size: 1.04rem; }
.home-page .merchant { background: #0d0d0d; }
.home-page .merchant-card { border: 1px solid #ff8069; background: var(--cor-destaque); }
.merchant-card ul { display: grid; gap: 7px; padding-left: 20px; }

/* ========================================
   RODAPE COMPLETO
======================================== */
.site-footer { padding: 58px 0 24px; border-top-width: 1px; border-top-color: #292929; }
.footer-grid { gap: 34px; }
.site-footer h2 { margin-bottom: 14px; color: #fff; font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; }
.site-footer p { color: #aaa; }
.footer-brand p { max-width: 290px; }
.footer-note p { max-width: 330px; margin: 0; }
.site-footer nav a { color: #aaa; text-decoration: none; }
.site-footer nav a:hover { color: var(--cor-destaque); }
.copyright { margin: 4px 0 0; border-top-color: #292929; color: #777 !important; }

/* ========================================
   RESPONSIVIDADE DA HOME
======================================== */
@media (min-width: 560px) {
    .hero-actions { display: flex; flex-wrap: wrap; }
    .hero-actions .button { min-width: 170px; }
    .quick-search { grid-template-columns: minmax(0, 1fr) auto; align-items: end; padding: 22px; }
    .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 700px) {
    .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-grid { grid-template-columns: 1.25fr .8fr .8fr 1fr; }
    .copyright { grid-column: 1 / -1; }
}
@media (min-width: 960px) {
    .main-menu { top: auto; }
    .main-menu .menu-cta { margin: 12px 0; }
    .home-hero-grid { min-height: 710px; grid-template-columns: minmax(0, .95fr) minmax(420px, .9fr); align-items: center; }
    .home-hero-copy { padding: 64px 0 120px; }
    .hero-media { top: 0; right: 0; bottom: 0; left: 50%; height: auto; }
    .hero-media::after { background: linear-gradient(90deg, #000 0%, transparent 45%), linear-gradient(0deg, #000 0%, transparent 28%); }
    .hero-media img { object-position: center 58%; }
    .quick-search-wrap { margin-top: -98px; padding-bottom: 42px; }
    .quick-search { width: min(760px, 70%); }
    .home-section { padding: 104px 0; }
    .process-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .feature-grid { grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(54px, 7vw, 110px); }
    .feature-media { min-height: 520px; }
    .feature-media img { min-height: 520px; }
    .feature-reverse .feature-media { order: 2; }
}

/* ========================================
   ASSINATURAS - MOBILE FIRST
======================================== */
.page-heading { max-width: 720px; margin-bottom: 24px; }
.page-heading > p:last-child { color: var(--cor-texto-suave); }
.subscription-page, .admin-subscriptions { padding-block: 14px 32px; }
.subscription-grid, .admin-subscription-list { display: grid; gap: 16px; }
.plan-card, .subscription-status-card, .admin-subscription-card, .access-blocked {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--cor-borda);
    border-radius: var(--raio);
    background: #fff;
    box-shadow: var(--sombra);
}
.plan-card { border-top: 4px solid var(--cor-destaque); }
.plan-label { color: var(--cor-destaque-escura); font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.plan-card h2, .subscription-status-card h2, .admin-subscription-card h2 { margin-top: 8px; overflow-wrap: anywhere; }
.plan-price { margin: 12px 0; color: var(--cor-principal); font-size: clamp(2rem, 10vw, 3rem); font-weight: 900; line-height: 1; }
.plan-price small { color: var(--cor-texto-suave); font-size: .95rem; font-weight: 700; }
.benefit-list { display: grid; gap: 8px; margin: 20px 0 0; padding: 18px 18px 18px 38px; border-radius: var(--raio-pequeno); background: var(--cor-fundo-suave); }
.subscription-badge { display: inline-flex; min-height: 32px; align-items: center; padding: 5px 11px; border-radius: 999px; font-size: .78rem; font-weight: 850; }
.subscription-badge.active { background: #dff7e8; color: #176b3a; }
.subscription-badge.inactive { background: #fff0ed; color: #a52d1c; }
.subscription-details { display: grid; gap: 0; margin: 20px 0; }
.subscription-details > div { min-width: 0; display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--cor-borda); }
.subscription-details dt { color: var(--cor-texto-suave); font-weight: 650; }
.subscription-details dd { margin: 0; font-weight: 800; text-align: right; overflow-wrap: anywhere; }
.subscription-actions { display: grid; gap: 10px; }
.button.danger { border-color: #b42318; color: #b42318; }
.button.danger:hover { background: #b42318; color: #fff; }
.access-blocked { max-width: 680px; margin: 20px auto; text-align: center; }
.access-blocked h1 { margin-top: 16px; }
.access-blocked .button { width: 100%; margin-top: 10px; }
.admin-subscription-card { display: grid; gap: 10px; }
.admin-subscription-main p { margin-bottom: 0; color: var(--cor-texto-suave); }

@media (min-width: 720px) {
    .subscription-page, .admin-subscriptions { padding-block: 32px 54px; }
    .subscription-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
    .plan-card, .subscription-status-card, .admin-subscription-card { padding: 28px; }
    .admin-subscription-card { grid-template-columns: minmax(180px, 1fr) minmax(300px, 1.25fr); align-items: center; }
    .admin-subscription-card .subscription-actions { grid-column: 1 / -1; grid-template-columns: repeat(2, max-content); }
    .access-blocked .button { width: auto; margin-inline: 4px; }
}

/* ========================================
   ADMINISTRAÇÃO - MOBILE FIRST
======================================== */
.admin-page { min-height: 100vh; display: flex; flex-direction: column; background: #f5f5f5; }
.admin-header { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid #292929; background: var(--cor-principal); color: var(--cor-fundo); }
.admin-header-inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; }
.admin-menu span { min-height: 48px; display: flex; align-items: center; border-bottom: 1px solid #444; color: #888; font-weight: 650; }
.admin-menu .admin-menu-exit { color: var(--cor-destaque); }
.admin-menu-disabled { cursor: not-allowed; }
.admin-content { width: min(calc(100% - 32px), 1160px); flex: 1; padding-block: 34px 56px; }
.admin-welcome { max-width: 760px; margin-bottom: 28px; }
.admin-welcome h1 { margin-bottom: 12px; font-size: clamp(2rem, 10vw, 4rem); }
.admin-welcome > p:last-child { color: #666; }
.admin-dashboard-grid { display: grid; gap: 14px; }
.admin-dashboard-card { min-width: 0; min-height: 190px; display: flex; flex-direction: column; padding: 22px; border: 1px solid #c7c7c7; border-radius: var(--raio); background: #fff; color: #000; text-decoration: none; box-shadow: var(--sombra-sutil); }
.admin-dashboard-card:not(.is-disabled):hover { border-color: var(--cor-acao); transform: translateY(-2px); }
.admin-dashboard-card h2 { font-size: 1.25rem; letter-spacing: -.02em; }
.admin-dashboard-card p { margin: 12px 0 24px; color: #666; }
.admin-dashboard-card span { margin-top: auto; color: var(--cor-acao); font-weight: 850; }
.admin-dashboard-card.is-disabled { background: #ededed; box-shadow: none; }
.admin-dashboard-card.is-disabled span { color: #777; }
.admin-footer { padding: 22px 0; border-top: 3px solid var(--cor-destaque); background: #000; color: #aaa; font-size: .85rem; }
.admin-login-page .login-card { border-top: 3px solid var(--cor-destaque); }

@media (min-width: 640px) {
    .admin-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
    .admin-menu { gap: 22px; }
    .admin-menu span { min-height: 72px; border: 0; font-size: .86rem; }
    .admin-content { padding-block: 56px 80px; }
    .admin-dashboard-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ========================================
   MEU PLANO - DARK PREMIUM, MOBILE FIRST
======================================== */
.meu-plano-page {
    position: relative;
    z-index: 0;
    width: 100%;
    max-width: 720px;
    min-height: 64vh;
    margin-inline: auto;
    padding: 24px 0 44px;
    color: #fff;
}
.meu-plano-page::before {
    position: fixed;
    z-index: -1;
    inset: 72px 0 0;
    background:
        radial-gradient(circle at 50% 10%, rgba(255, 99, 71, .1), transparent 30rem),
        #050505;
    content: "";
    pointer-events: none;
}
.meu-plano-header {
    max-width: 620px;
    margin: 0 auto 26px;
    text-align: center;
}
.meu-plano-header .eyebrow {
    color: #ff6347;
}
.meu-plano-header h1 {
    max-width: none;
    margin-bottom: 12px;
    color: #fff;
    font-size: clamp(2.35rem, 12vw, 4rem);
}
.meu-plano-header > p:last-child {
    max-width: 540px;
    margin: 0 auto;
    color: #aaa;
}
.meu-plano-container {
    width: 100%;
    max-width: 620px;
    margin-inline: auto;
    gap: 0;
    overflow: hidden;
    border: 1px solid #3a3a3a;
    border-radius: 28px;
    background: linear-gradient(155deg, #242424, #111 72%);
    box-shadow: 0 26px 70px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .06);
}
.meu-plano-page .meu-plano-card,
.meu-plano-page .meu-plano-status {
    min-width: 0;
    padding: 26px 22px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #fff;
    box-shadow: none;
}
.meu-plano-page .meu-plano-card {
    border-top: 0;
    border-bottom: 1px solid #3b3b3b;
}
.meu-plano-page .plan-label {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #d0d0d0;
    letter-spacing: .1em;
}
.meu-plano-page .plan-label::before {
    width: 8px;
    height: 8px;
    flex: none;
    border-radius: 50%;
    background: #ff6347;
    box-shadow: 0 0 0 4px rgba(255, 99, 71, .12);
    content: "";
}
.meu-plano-page .meu-plano-card h2,
.meu-plano-page .meu-plano-status h2 {
    color: #fff;
}
.meu-plano-page .meu-plano-card h2 {
    margin-top: 14px;
    font-size: clamp(1.65rem, 8vw, 2.25rem);
}
.meu-plano-page .plan-price {
    margin: 24px 0 12px;
    color: #fff;
    font-size: clamp(2.6rem, 14vw, 4.25rem);
    letter-spacing: -.055em;
}
.meu-plano-page .plan-price small {
    color: #aaa;
    font-size: .9rem;
    letter-spacing: 0;
}
.meu-plano-page .meu-plano-card > p:not(.plan-price),
.meu-plano-page .meu-plano-status > p {
    color: #b8b8b8;
}
.meu-plano-page .benefit-list {
    margin-top: 22px;
    padding: 0;
    border-radius: 0;
    background: transparent;
}
.meu-plano-page .benefit-list li {
    padding: 14px 0;
    border-color: #383838;
    color: #e3e3e3;
}
.meu-plano-page .subscription-badge {
    border: 1px solid #555;
    background: #181818;
    color: #d8d8d8;
}
.meu-plano-page .subscription-badge.active {
    border-color: rgba(255, 99, 71, .65);
    background: rgba(255, 99, 71, .1);
    color: #ff8069;
}
.meu-plano-page .meu-plano-status {
    display: flex;
    flex-direction: column;
}
.meu-plano-page .meu-plano-status h2 {
    margin-top: 14px;
    font-size: clamp(1.45rem, 7vw, 2rem);
}
.meu-plano-page .subscription-details {
    margin: 22px 0;
}
.meu-plano-page .subscription-details > div {
    align-items: baseline;
    padding: 14px 0;
    border-color: #383838;
}
.meu-plano-page .subscription-details dt {
    color: #999;
}
.meu-plano-page .subscription-details dd {
    color: #f4f4f4;
}
.meu-plano-page .meu-plano-status form {
    width: 100%;
    margin-top: auto;
}
.meu-plano-page .button.primary.full {
    width: 100%;
    min-height: 54px;
    margin-top: auto;
    border: 1px solid #ff6347;
    border-radius: 14px;
    background: #ff6347;
    color: #000;
    box-shadow: 0 12px 28px rgba(255, 99, 71, .16);
}
.meu-plano-page .button.primary.full:hover {
    border-color: #fff;
    background: #fff;
    color: #000;
}
.meu-plano-page > .alert {
    max-width: 620px;
    margin-inline: auto;
    border-color: #555;
    border-left-color: #ff6347;
    background: #181818;
    color: #fff;
}

@media (min-width: 720px) {
    .meu-plano-page {
        width: calc(100% - 40px);
        max-width: 1150px;
        padding-block: 42px 64px;
    }
    .meu-plano-container {
        max-width: 1100px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .meu-plano-page .meu-plano-card,
    .meu-plano-page .meu-plano-status { padding: 34px 38px; }
}
.subscription-cancel-form {
    margin-top: 0.75rem;
}

.subscription-status-card .button.full {
    min-height: 48px;
    width: 100%;
}

@media (max-width: 560px) {
    .meu-plano-container { grid-template-columns: minmax(0, 1fr); }
    .meu-plano-card, .meu-plano-status { overflow-wrap: anywhere; }
}

/* Catálogo Mestre — componentes mobile-first */
.catalog-grid,.offer-list,.responsive-records{display:grid;gap:1rem;margin:1.25rem 0}.catalog-card,.store-offer,.responsive-records>article,.master-detail{background:var(--surface,#fff);border:1px solid var(--border,#ddd);border-radius:var(--radius,12px);padding:1rem}.catalog-card h2,.responsive-records h2{margin:.35rem 0}.store-offer{display:grid;gap:1rem}.contact-actions,.pending-actions{display:flex;flex-wrap:wrap;gap:.75rem}.contact-actions .button,.pending-actions .button{min-height:48px;display:inline-flex;align-items:center;justify-content:center}.availability-note{font-weight:700}.product-identifiers{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1rem}.product-identifiers dt{font-weight:700}.product-identifiers dd{margin:0;overflow-wrap:anywhere}.pending-actions label{flex:1 1 100%}.pending-actions select{width:100%}
@media (min-width:700px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.store-offer{grid-template-columns:1fr auto;align-items:center}.contact-actions{justify-content:flex-end}.responsive-records{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1050px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Gerenciamento administrativo do Catálogo Mestre */
.catalog-admin-heading,.catalog-detail-heading{display:grid;gap:1rem;align-items:end;margin-bottom:1.5rem}.catalog-admin-heading h1,.catalog-product-form h1{margin-bottom:.5rem}.catalog-heading-actions{margin:0}.catalog-filters{grid-template-columns:minmax(0,1fr)}.catalog-admin-list>article{display:flex;min-width:0;flex-direction:column;gap:1rem}.catalog-card-title{display:flex;align-items:start;justify-content:space-between;gap:1rem}.catalog-card-title h2{margin-top:.5rem;font-size:1.35rem}.catalog-card-title>strong{flex:none}.catalog-card-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;margin:0}.catalog-card-fields div{min-width:0}.catalog-card-fields dt{color:var(--cor-texto-secundario);font-size:.78rem;font-weight:800;text-transform:uppercase}.catalog-card-fields dd{margin:0;overflow-wrap:anywhere}.catalog-admin-list .inline-actions{margin-top:auto}.catalog-status{font-size:.72rem}.catalog-product-form{max-width:760px}.catalog-product-form .form-card{margin-top:1.5rem}.duplicate-warning{margin:1.5rem 0;padding:1rem;border:2px solid var(--cor-destaque);border-radius:var(--raio);background:var(--cor-superficie)}.duplicate-warning h2{font-size:1.55rem}.duplicate-warning .responsive-records{margin-bottom:0}.duplicate-warning article{display:grid;gap:.75rem}.duplicate-warning .button{width:100%}.catalog-detail-heading .button{width:100%}.offer-list .store-offer{min-width:0}.offer-list .contact-actions .button{flex:1 1 100%}
@media (min-width:700px){.catalog-admin-heading,.catalog-detail-heading{grid-template-columns:minmax(0,1fr) auto}.catalog-heading-actions{justify-content:flex-end}.catalog-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-search{grid-column:span 2}.catalog-card-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-detail-heading .button{width:auto}.offer-list .contact-actions .button{flex:0 1 auto}}

/* Código e imagem oficial do produto mestre */
.achaauto-code{margin:.45rem 0 0;color:var(--cor-destaque);font-size:1rem;font-weight:900;letter-spacing:.08em}.catalog-master-detail{display:grid;min-width:0;gap:1rem;margin-bottom:1.5rem}.catalog-master-detail .master-detail{margin:0}.catalog-product-image,.catalog-product-preview{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border:1px solid var(--cor-borda);border-radius:var(--raio);background:var(--cor-superficie)}.catalog-product-image{max-height:520px}.catalog-product-preview{max-height:360px}.catalog-image-placeholder{display:grid;width:100%;min-height:180px;place-items:center;border:1px dashed var(--cor-borda);border-radius:var(--raio);background:var(--cor-fundo);color:var(--cor-texto-secundario);font-weight:800}.catalog-image-field{display:grid;min-width:0;gap:1rem;padding-top:1rem;border-top:1px solid var(--cor-borda)}.catalog-image-field h2{margin:0;font-size:1.3rem}.catalog-image-field label{min-width:0}.catalog-image-field input[type=file]{max-width:100%}.catalog-image-field small{display:block;margin-top:.45rem;color:var(--cor-texto-secundario)}.catalog-remove-image{display:flex;align-items:center;gap:.65rem;padding:.85rem;border:1px solid var(--cor-borda);border-radius:var(--raio);font-weight:700}.catalog-remove-image input{width:auto;margin:0}
@media (min-width:700px){.catalog-master-detail{grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);align-items:start}.catalog-product-image,.catalog-image-placeholder{position:sticky;top:1rem}}

/* Resultados da busca e painel de filtragem técnica */
body.search-page{min-height:100vh;isolation:isolate;background-color:#d9d9d9;background-image:url("../img/fundob.jpeg");background-position:center;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}body.search-page::before{position:fixed;z-index:-1;inset:0;background:rgba(0,0,0,.6);content:"";pointer-events:none}.search-results-page{min-width:0}.search-results-page>h1,.results-toolbar{padding:.75rem 1rem;border-radius:var(--raio-pequeno);background:rgba(255,255,255,.9);box-shadow:var(--sombra-sutil)}.search-results-page>h1{width:fit-content;max-width:100%}.search-filters{grid-template-columns:minmax(0,1fr);background:rgba(255,255,255,.94)}.search-layout{display:grid;min-width:0;gap:1.5rem}.search-results-column{min-width:0}.search-filter-trigger{width:100%;margin:0 0 1rem;gap:.55rem;border-color:#151820;background:#151820;color:#fff}.filter-active-dot{width:.55rem;height:.55rem;border-radius:50%;background:#ff6347}.search-filter-sidebar{min-width:0;overflow:hidden;border:1px solid #30343e;border-radius:12px;background:#151820;color:#f5f7fb}.search-filter-mobile-header{display:none;min-height:56px;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #30343e}.search-filter-mobile-header button{width:44px;height:44px;padding:0;border:0;background:transparent;color:#fff;font-size:2rem;cursor:pointer}.search-filter-heading{padding:24px 20px 18px}.search-filter-heading h2,.refined-filters h2{margin:0;color:#f5f7fb;font-size:1.15rem;letter-spacing:-.01em}.search-filter-heading p{margin:.2rem 0 0;color:#9299a8;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.vehicle-systems{display:grid;padding-bottom:18px}.vehicle-system-item{position:relative;min-height:54px;display:flex;align-items:center;gap:13px;padding:10px 20px;border-left:4px solid transparent;color:#afb5c1;text-decoration:none;font-weight:750;transition:background-color .15s,color .15s}.vehicle-system-item:hover,.vehicle-system-item:focus-visible{background:#1d212b;color:#fff;text-decoration:none}.vehicle-system-item.is-active{border-left-color:#ff6347;background:#20242e;color:#4d7cff}.vehicle-system-icon{width:24px;height:24px;display:grid;flex:none;place-items:center}.vehicle-system-icon svg{width:22px;height:22px;fill:currentColor}.refined-filters{display:grid;gap:12px;padding:22px 20px;border-top:1px solid #343842}.refined-filters h2{margin-bottom:5px}.refined-filters label{margin:0;color:#d9dde5;font-size:.86rem}.refined-filters select{min-height:48px;border-color:#3a3f4b;background:#0f1218;color:#f5f7fb}.price-filter{display:grid;gap:9px;margin-top:7px}.price-filter-title,.price-filter-limits{display:flex;align-items:center;justify-content:space-between;gap:10px}.price-filter-title output{color:#ff6347;font-size:.78rem;font-weight:800}.price-filter input[type=range]{min-height:26px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;accent-color:#ff6347;cursor:pointer}.price-filter input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:#494e59}.price-filter input[type=range]::-webkit-slider-thumb{width:18px;height:18px;margin-top:-7px;border:3px solid #151820;border-radius:50%;background:#ff6347;box-shadow:0 0 0 1px #ff6347;-webkit-appearance:none}.price-filter input[type=range]{-webkit-appearance:none}.price-filter input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:#494e59}.price-filter input[type=range]::-moz-range-progress{height:4px;background:#ff6347}.price-filter input[type=range]::-moz-range-thumb{width:14px;height:14px;border:3px solid #151820;border-radius:50%;background:#ff6347}.price-filter-limits{color:#9299a8;font-size:.75rem}.refined-filter-actions{display:grid;gap:10px;margin-top:4px;text-align:center}.filter-apply{min-height:46px;border-color:#ff6347;background:#ff6347;color:#151820}.refined-filter-actions a{color:#7b9bff;font-size:.82rem}.oem-catalog-button{width:calc(100% - 40px);min-height:50px;margin:0 20px 22px;border:1px solid #454a55;border-radius:10px;background:#101319;color:#668cff;font:inherit;font-weight:800}.oem-catalog-button:disabled{cursor:not-allowed;opacity:.72}.results-toolbar{display:grid;gap:1rem;margin:0 0 1.25rem}.results-toolbar h2{font-size:clamp(1.25rem,5vw,1.8rem);letter-spacing:-.025em}.sort-form{display:grid;gap:.4rem}.sort-form label{margin:0}.sort-form select{min-width:0}.search-product-grid{display:grid;min-width:0;gap:1rem}.search-product-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:1rem;min-width:0;overflow:hidden;padding:1rem;border:1px solid #333;border-radius:var(--raio);background:#000;color:#fff}.search-product-media{width:92px;aspect-ratio:1;overflow:hidden;border:1px solid #888;border-radius:var(--raio-pequeno);background:#fff}.search-product-media img{display:block;width:100%;height:100%;object-fit:contain}.search-product-placeholder{width:100%;height:100%;display:grid;place-items:center;padding:.5rem;background:#fff;color:#888;font-size:.75rem;font-weight:800;text-align:center}.search-product-info{display:flex;min-width:0;flex-direction:column}.search-product-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .6rem}.product-brand{margin:0;color:#fff;font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.validated-badge{display:inline-flex;align-items:center;gap:.2rem;color:#fff;font-size:.7rem;font-weight:800}.search-product-card h3{margin:.35rem 0;font-size:1.05rem;line-height:1.25}.search-product-card h3 a{color:#fff;text-decoration:none}.search-product-card h3 a:hover{text-decoration:underline;text-decoration-color:#0000ff}.product-vehicle-type,.product-category,.product-reference{margin:.2rem 0;color:#bbb;font-size:.82rem}.product-reference{overflow-wrap:anywhere}.search-product-price{margin-top:auto;padding-top:.8rem}.search-product-price span{display:block;color:#bbb;font-size:.75rem}.search-product-price strong{display:block;color:#ff6347;font-size:1.45rem;line-height:1.15}.search-product-action{grid-column:1/-1;width:100%;border-color:#0000ff!important;background:#0000ff!important}.search-product-action:hover{border-color:#fff!important;background:#fff!important;color:#0000ff!important}.search-pagination{justify-content:center}.search-pagination a{color:#000}.search-pagination .active{color:#fff}
@media (min-width:700px){.search-filters{grid-template-columns:minmax(0,1fr) 90px minmax(150px,190px) auto;align-items:end}.results-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end}.sort-form{grid-template-columns:auto minmax(180px,220px);align-items:center}.search-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-product-card{grid-template-columns:130px minmax(0,1fr);padding:1.15rem}.search-product-media{width:130px}.search-product-card h3{font-size:1.15rem}}
@media (min-width:960px){.search-filter-trigger{display:none}.search-layout{grid-template-columns:280px minmax(0,1fr);align-items:start}.search-filter-sidebar{position:sticky;top:88px}.search-filter-overlay{display:none!important}}
@media (max-width:959px){.js-enabled body.search-filters-open{overflow:hidden}.js-enabled .search-filter-sidebar{position:fixed;z-index:60;top:0;bottom:0;left:0;width:min(85vw,340px);max-width:calc(100vw - 42px);overflow-y:auto;border-radius:0 12px 12px 0;transform:translateX(-105%);visibility:hidden;transition:transform .22s ease,visibility .22s}.js-enabled .search-filter-sidebar.is-open{transform:translateX(0);visibility:visible}.js-enabled .search-filter-mobile-header{display:flex;position:sticky;z-index:2;top:0;background:#151820}.js-enabled .search-filter-overlay{position:fixed;z-index:50;inset:0;display:block;background:rgba(4,6,10,.68);backdrop-filter:blur(2px)}}
@media (max-width:420px){.container{width:min(calc(100% - 20px),1160px)}.search-product-card{grid-template-columns:78px minmax(0,1fr);gap:.75rem;padding:.75rem}.search-product-media{width:78px}.validated-badge{width:100%}.search-product-price strong{font-size:1.25rem}.search-filter-heading{padding-top:20px}.vehicle-system-item{min-height:52px}}

/* Superfícies translúcidas da busca pública */
.search-results-page{color:#f5f5f5}
.search-results-page>h1,.results-toolbar{border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.35);color:#fff}
.search-filters{border-color:rgba(255,255,255,.18);background:rgba(0,0,0,.35);color:#f5f5f5}
.search-filters label,.sort-form label{color:#f5f5f5}
.search-filters input,.sort-form select{border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.94);color:#111}
.search-filters input:hover,.sort-form select:hover{border-color:#fff}
.search-filters input:focus,.sort-form select:focus{border-color:#fff;background:#fff;box-shadow:0 0 0 3px rgba(77,124,255,.45)}
.search-filters .button.primary{border-color:#111;background:#111;color:#fff}
.search-filters .button.primary:hover,.search-filters .button.primary:focus-visible{border-color:#fff;background:#262626;color:#fff}
.search-product-card{border-color:rgba(255,255,255,.18);background:rgba(0,0,0,.35)}
.search-results-page .empty-state{border-color:rgba(255,255,255,.45);background:rgba(0,0,0,.35);color:#f1f1f1}
.search-pagination a{border-color:rgba(255,255,255,.35);background:rgba(0,0,0,.35);color:#fff}
.search-pagination a:hover,.search-pagination a:focus-visible{background:rgba(0,0,0,.45);color:#fff}

/* Detalhe público do catálogo */
body:has(.catalogo-detalhe-page){background-color:#080a0d;background-image:linear-gradient(rgba(5,7,10,.9),rgba(5,7,10,.94)),url("../img/fundob.jpeg");background-position:center;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;color:#f7f8fb}.catalogo-detalhe-page{--catalogo-surface:rgba(24,27,33,.96);--catalogo-surface-2:rgba(18,21,27,.98);--catalogo-border:#343945;--catalogo-muted:#a6acb9;display:grid;min-width:0;gap:24px}.catalogo-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px 11px;color:var(--catalogo-muted);font-size:.76rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.catalogo-breadcrumb a{min-height:42px;display:inline-flex;align-items:center;color:#d8dce5;text-decoration:none}.catalogo-breadcrumb a:hover{color:#fff}.catalogo-breadcrumb strong{max-width:100%;color:#668cff;overflow-wrap:anywhere}.catalogo-layout,.catalogo-detalhes-grid,.catalogo-coluna-info{display:grid;min-width:0;gap:18px}.catalogo-card{min-width:0;overflow:hidden;border:1px solid var(--catalogo-border);border-radius:6px;background:var(--catalogo-surface);box-shadow:0 16px 44px rgba(0,0,0,.18)}.catalogo-galeria{display:flex;min-height:420px;flex-direction:column;padding:18px}.catalogo-oem-badge{width:max-content;max-width:100%;display:inline-flex;align-items:center;margin-bottom:16px;padding:5px 10px;border:1px solid #00d7a2;color:#00d7a2;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.catalogo-imagem-principal{min-height:260px;display:grid;flex:1;place-items:center;overflow:hidden;background:#080b10}.catalogo-imagem-principal img{display:block;width:100%;height:100%;max-height:520px;object-fit:contain}.catalogo-sem-imagem{min-height:260px;display:grid;place-items:center;align-content:center;gap:9px;padding:24px;color:var(--catalogo-muted);text-align:center}.catalogo-sem-imagem span{color:#668cff;font-size:3rem;line-height:1}.catalogo-miniaturas{display:flex;gap:10px;margin-top:16px;overflow-x:auto}.catalogo-miniatura{width:76px;height:76px;flex:none;padding:4px;border:1px solid var(--catalogo-border);border-radius:3px;background:#0d1016;cursor:pointer}.catalogo-miniatura.is-active{border:2px solid #176fff}.catalogo-miniatura img{display:block;width:100%;height:100%;object-fit:contain}.catalogo-produto-info{padding:24px}.catalogo-marca{width:max-content;max-width:100%;margin:0 0 12px;padding:5px 8px;background:#252a35;color:#c5cad4;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere}.catalogo-produto-info h1{max-width:none;margin:0;color:#fff;font-size:clamp(1.65rem,7vw,2.45rem);line-height:1.1;letter-spacing:-.035em}.catalogo-identificadores{display:flex;flex-wrap:wrap;gap:16px 0;margin:24px 0 0}.catalogo-identificadores>div{min-width:145px;padding-right:22px}.catalogo-identificadores>div+div{padding-left:22px;border-left:1px solid var(--catalogo-border)}.catalogo-identificadores dt{color:#b7bdc9;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.catalogo-identificadores dd{margin:3px 0 0;color:#fff;font-weight:750;overflow-wrap:anywhere}.catalogo-identificadores .catalogo-codigo{color:#4784ff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.catalogo-card-titulo{min-height:68px;display:flex;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid var(--catalogo-border)}.catalogo-card-titulo>span{flex:none;color:#287cff;font-size:1.45rem}.catalogo-card-titulo>span.is-tomato{color:#ff6347}.catalogo-card-titulo>span.is-green{color:#00d7a2}.catalogo-card-titulo h2{color:#fff;font-size:clamp(1.05rem,4.5vw,1.35rem);letter-spacing:-.01em}.catalogo-lista-lojas{display:grid}.catalogo-loja-item{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;padding:20px;border-bottom:1px solid var(--catalogo-border);background:var(--catalogo-surface-2)}.catalogo-loja-item:last-child{border-bottom:0}.catalogo-loja-item.is-best-price::before{position:absolute;inset:0 auto 0 0;width:4px;background:#ff6347;content:""}.catalogo-loja-iniciais,.catalogo-veiculo-marca{display:grid;place-items:center;border:1px solid var(--catalogo-border);border-radius:3px;color:#e6e8ed;font-weight:800}.catalogo-loja-iniciais{width:46px;height:46px}.catalogo-loja-dados{min-width:0}.catalogo-loja-dados h3{color:#fff;font-size:1rem}.catalogo-loja-dados p{margin:3px 0;color:var(--catalogo-muted);font-size:.8rem}.catalogo-disponibilidade{display:block;color:#00d7a2;font-size:.76rem;font-weight:700}.catalogo-preco{grid-column:2;min-width:0}.catalogo-preco span{display:block;color:var(--catalogo-muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.catalogo-preco strong{display:block;color:#fff;font-size:1.45rem;line-height:1.1;overflow-wrap:anywhere}.catalogo-loja-acoes{grid-column:1/-1}.catalogo-loja-acoes .button{width:100%;min-height:52px;border-color:#164cff;border-radius:2px;background:#164cff;color:#fff}.catalogo-vazio,.catalogo-sem-resultados{display:grid;gap:5px;margin:0;padding:28px 20px;color:var(--catalogo-muted);text-align:center}.catalogo-vazio strong{color:#fff}.catalogo-especificacoes dl{display:grid;margin:0;padding:12px 20px 22px}.catalogo-especificacoes dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px;padding:13px 0;border-bottom:1px solid #2b3039}.catalogo-especificacoes dl>div:last-child{border-bottom:0}.catalogo-especificacoes dt{color:#c1c6d0}.catalogo-especificacoes dd{margin:0;color:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:750;text-align:right;overflow-wrap:anywhere}.catalogo-compatibilidade-header{flex-wrap:wrap}.catalogo-filtro{width:100%;margin:0}.catalogo-filtro input{min-height:46px;border-color:var(--catalogo-border);border-radius:3px;background:#202329;color:#fff}.catalogo-filtro input:hover{border-color:#666e7e}.catalogo-veiculos{display:grid;padding:12px 18px 18px}.catalogo-veiculo-item{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid #20242b}.catalogo-veiculo-item:last-child{border-bottom:0}.catalogo-veiculo-marca{width:44px;height:38px;border-radius:99px;color:#cbd0da;font-size:.72rem}.catalogo-veiculo-item>div{display:grid;min-width:0}.catalogo-veiculo-item strong{color:#fff}.catalogo-veiculo-item>div span,.catalogo-veiculo-item time{color:var(--catalogo-muted);font-size:.78rem}.catalogo-veiculo-item time{grid-column:2}.catalogo-erro{max-width:680px;padding:34px;border:1px solid var(--catalogo-border);border-radius:6px;background:var(--catalogo-surface)}.catalogo-erro h1{margin-bottom:15px;color:#fff;font-size:clamp(2rem,8vw,3.4rem)}.catalogo-erro>p:not(.catalogo-kicker){color:#c5cad4}.catalogo-kicker{margin:0 0 8px;color:#668cff;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.catalogo-erro .button{margin-top:12px;border-color:#164cff;background:#164cff;color:#fff}
@media (min-width:560px){.catalogo-loja-item{grid-template-columns:46px minmax(0,1fr) auto;align-items:center}.catalogo-preco{grid-column:3;grid-row:1;text-align:right}.catalogo-loja-acoes{grid-column:2/-1}.catalogo-veiculo-item{grid-template-columns:44px minmax(0,1fr) auto}.catalogo-veiculo-item time{grid-column:3;grid-row:1;text-align:right}}
@media (min-width:760px){.catalogo-galeria{padding:20px}.catalogo-imagem-principal{min-height:430px}.catalogo-detalhes-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.catalogo-compatibilidade-header{flex-wrap:nowrap}.catalogo-filtro{width:220px;margin-left:auto}.catalogo-especificacoes dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.catalogo-especificacoes dl>div:nth-last-child(-n+2){border-bottom:0}}
@media (min-width:1040px){.catalogo-layout{grid-template-columns:minmax(0,1.42fr) minmax(390px,1fr);align-items:stretch;gap:24px}.catalogo-galeria{min-height:690px}.catalogo-coluna-info{grid-template-rows:auto minmax(0,1fr)}.catalogo-loja-item{grid-template-columns:46px minmax(0,1fr) auto;gap:14px 12px}.catalogo-loja-acoes{grid-column:3;grid-row:1}.catalogo-loja-acoes .button{width:145px;padding-inline:12px}.catalogo-preco{grid-column:2;grid-row:2;text-align:left}.catalogo-loja-item:has(.catalogo-loja-acoes){align-items:center}}
@media (max-width:359px){.catalogo-detalhe-page{gap:16px}.catalogo-galeria,.catalogo-produto-info{padding:14px}.catalogo-card-titulo,.catalogo-loja-item{padding-inline:14px}.catalogo-identificadores>div{width:100%;padding:0}.catalogo-identificadores>div+div{padding:12px 0 0;border-top:1px solid var(--catalogo-border);border-left:0}.catalogo-preco strong{font-size:1.25rem}}

/* Importação de estoque: seleção explícita e mobile-first dos dois fluxos. */
.import-page{display:grid;gap:1.25rem}.import-page .page-heading{margin-bottom:0}.import-model{margin:0}.import-form{display:grid;gap:1.25rem}.import-flow-fieldset{min-width:0;margin:0;padding:0;border:0}.import-flow-fieldset legend{margin-bottom:.75rem;font-size:1.1rem;font-weight:850}.import-flow-grid{display:grid;gap:1rem}.import-flow-card{position:relative;display:block;margin:0;cursor:pointer}.import-flow-card>input[type=radio]{position:absolute;top:1rem;left:1rem;width:1.25rem;height:1.25rem;margin:0;accent-color:var(--cor-acao)}.import-flow-content{min-height:100%;display:flex;flex-direction:column;gap:.7rem;padding:1.1rem 1rem 1rem 3rem;border:2px solid #c8c8c8;border-radius:var(--raio);background:var(--cor-superficie);box-shadow:var(--sombra-sutil);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.import-flow-content>strong{font-size:1.25rem}.import-flow-content>b{min-height:48px;display:flex;align-items:center;justify-content:center;margin-top:auto;padding:.7rem;border-radius:var(--raio-pequeno);background:#161616;color:#fff;text-align:center}.import-flow-card:hover .import-flow-content{border-color:var(--cor-acao)}.import-flow-card:has(>input[type=radio]:checked) .import-flow-content{border-color:var(--cor-destaque);box-shadow:0 0 0 3px rgba(255,99,71,.2),var(--sombra)}.import-flow-card:has(>input[type=radio]:checked) .import-flow-content>b{background:var(--cor-destaque);color:#000}.complete-update{display:flex;align-items:flex-start;gap:.65rem;margin-top:.2rem;padding:.8rem;border:1px solid #bbb;border-radius:var(--raio-pequeno);background:#f5f5f5}.complete-update input{width:1.15rem;height:1.15rem;flex:none;margin:.15rem 0 0;accent-color:var(--cor-acao)}.complete-update span{display:grid;gap:.2rem}.complete-update strong{font-size:.9rem}.complete-update small{color:var(--cor-texto-secundario);line-height:1.4}.import-confirmation{margin:0;padding:.85rem 1rem;border-left:4px solid var(--cor-destaque);background:#f3f3f3;font-weight:750}.import-submit{width:100%;min-height:52px}.import-report{display:grid;gap:1rem;padding:1.25rem;border:2px solid var(--cor-acao);border-radius:var(--raio);background:var(--cor-superficie);box-shadow:var(--sombra-sutil)}.import-report h2{margin:0}.import-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.import-summary div{min-width:0;padding:.85rem;border-radius:var(--raio-pequeno);background:#eee}.import-summary dt{color:var(--cor-texto-secundario);font-size:.75rem;font-weight:800;text-transform:uppercase}.import-summary dd{margin:.2rem 0 0;font-size:1.55rem;font-weight:900}.import-details summary{min-height:44px;display:flex;align-items:center;font-weight:800;cursor:pointer}.import-details .table-wrap{margin-top:.75rem}
@media (min-width:700px){.import-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.import-submit{width:auto;justify-self:start}}
@media (prefers-reduced-motion:reduce){.import-flow-content{transition:none}}
.import-workflow,.import-mapping-form{display:grid;gap:1.15rem}.mapping-grid{display:grid;gap:.85rem}.mapping-card{display:grid;gap:.35rem;margin:0;padding:1rem;border:1px solid #c8c8c8;border-radius:var(--raio-pequeno);background:#f7f7f7}.mapping-card>span{color:var(--cor-texto-secundario);font-size:.75rem;font-weight:800;text-transform:uppercase}.mapping-card>strong{font-size:1.05rem;overflow-wrap:anywhere}.mapping-card select{width:100%;min-width:0}.profile-save{display:flex;align-items:center;gap:.55rem}.profile-save input{width:1.15rem;height:1.15rem;margin:0}.import-cancel{margin:0}.import-workflow .table-wrap{max-width:100%;overflow:auto}.import-workflow table{min-width:680px}@media (min-width:700px){.mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1000px){.mapping-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Localização da busca: controles móveis primeiro, sem rolagem horizontal. */
.search-location-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:1rem}.search-location-fields label{min-width:0}.search-filter-caption{display:block}.search-filter-caption small{display:block;color:inherit;font-size:.7rem;font-weight:500}.search-filters select{width:100%;min-width:0;border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.94);color:#111}.search-filters select:hover{border-color:#fff}.search-filters select:focus{border-color:#fff;background:#fff;box-shadow:0 0 0 3px rgba(77,124,255,.45)}.search-filters .button.primary{width:100%;min-height:52px}.cep-feedback{margin:-.5rem 0 1rem;padding:.65rem .85rem;border-radius:var(--raio-pequeno);background:rgba(0,0,0,.62);color:#fff;font-size:.88rem}.cep-feedback.is-success{border-left:4px solid #00d7a2}.cep-feedback.is-warning{border-left:4px solid #ffb347}
@media (max-width:340px){.search-location-fields{grid-template-columns:minmax(0,1fr)}}
@media (min-width:700px){.search-filters{grid-template-columns:minmax(210px,1fr) minmax(230px,280px) minmax(150px,190px) auto}.search-filter-caption{min-height:2.35rem}.search-filters .button.primary{width:auto}.search-location-fields{gap:.75rem}}
.catalogo-distancia{display:block;margin:.2rem 0;color:#7ba3ff;font-size:.78rem;font-weight:800}

/* Catálogo da loja e revisão de vínculos: cards mobile-first. */
.store-catalog-page,.store-catalog-search,.store-offer-form,.pending-search,.pending-actions{display:grid;gap:1rem}.store-catalog-grid,.pending-list{display:grid;gap:1rem}.store-catalog-grid>article,.pending-list>article{min-width:0;padding:1rem;border:1px solid #c8c8c8;border-radius:var(--raio);background:var(--cor-superficie);box-shadow:var(--sombra-sutil)}.store-catalog-grid h2,.pending-list h2{overflow-wrap:anywhere}.store-catalog-grid details>summary{width:100%;list-style:none;cursor:pointer}.store-catalog-grid details>summary::-webkit-details-marker{display:none}.store-offer-form{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd}.candidate-card{display:grid;grid-template-columns:24px minmax(0,1fr);gap:.65rem;margin:.65rem 0;padding:.85rem;border:1px solid #ccc;border-radius:var(--raio-pequeno);cursor:pointer}.candidate-card:has(input:checked){border-color:var(--cor-acao);box-shadow:0 0 0 2px rgba(0,0,255,.12)}.candidate-card input{width:20px;height:20px;margin:.15rem 0 0}.candidate-card span{display:grid;gap:.25rem;min-width:0}.candidate-card small,.candidate-card b{overflow-wrap:anywhere}.candidate-card b{color:var(--cor-acao);font-size:.78rem}.pending-actions fieldset{min-width:0;margin:0;padding:.75rem;border:1px solid #ddd;border-radius:var(--raio-pequeno)}.import-history dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.import-history dl div{padding:.6rem;background:#f2f2f2}.import-history dt{font-size:.72rem;font-weight:800;text-transform:uppercase}.import-history dd{margin:.15rem 0 0;font-size:1.25rem;font-weight:900}@media(min-width:700px){.store-catalog-search,.pending-search{grid-template-columns:minmax(0,1fr) minmax(180px,240px) auto;align-items:end}.store-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-history dl{grid-template-columns:repeat(5,minmax(0,1fr))}}
