/*
 * forte-rocha — vitrine.css
 * Replica o visual aprovado em vitrine.html no tema WordPress.
 * Não usa Tailwind — CSS puro, ligado aos tokens do theme.json via CSS vars.
 */

/* ============================================================
   ESCONDER O QUE O WOO INJETA MAS NÃO USAMOS
   Vitrine não tem carrinho, conta, mini-cart, checkout.
   ============================================================ */

.wp-block-woocommerce-customer-account,
.wp-block-woocommerce-mini-cart,
.wc-block-mini-cart,
.woocommerce-mini-cart,
.woocommerce-store-notice {
  display: none !important;
}

/* Escondido o filter-chip do toolbar quando não tem categorias criadas */
.fr-toolbar .wp-block-woocommerce-product-filter-taxonomy:empty,
.fr-toolbar .wp-block-woocommerce-product-filter-taxonomy .wc-block-product-filter-taxonomy:empty {
  display: none;
}

/* ============================================================
   RESET LEVE + BASE
   ============================================================ */

body { -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
.fr-num { font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }

/* Kicker (uppercase label) — usada em todo lugar */
.fr-kicker {
  font-family: var(--wp--preset--font-family--body);
  font-size: 10px !important;
  font-weight: 500 !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--wp--preset--color--muted);
  line-height: 1.4;
  margin: 0 0 8px 0;
}

/* Container padrão dentro dos blocos custom (que não passam pela layout do WP) */
.fr-container { max-width: 100%; margin: 0 auto; padding: 0 2rem; }
@media (min-width: 1600px) { .fr-container { padding: 0 3rem; } }

/* ============================================================
   HEADER
   ============================================================ */

.fr-header {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--wp--preset--color--border);
  z-index: 40;
  padding: 1rem 0;
}
.fr-header .wp-block-site-logo img { border-radius: 0; }
.fr-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent); }

/* ============================================================
   BADGES (selos)
   ============================================================ */

.fr-badge {
  display: inline-block;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 8px;
  border-radius: 2px;
  line-height: 1.4;
  color: #fff;
  background: var(--wp--preset--color--ink);
  text-decoration: none;
}
.fr-badge--warn    { background: var(--wp--preset--color--warn); }
.fr-badge--success { background: var(--wp--preset--color--success); }
.fr-badge--steel   { background: var(--wp--preset--color--steel); }
.fr-badge--ink     { background: var(--wp--preset--color--ink); }
.fr-badge--muted   { background: var(--wp--preset--color--muted); }
.fr-badge--accent  { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent-ink); }
.fr-badge--outline { background: rgba(255,255,255,0.1); color: #fff; }

/* ============================================================
   BOTÕES (fr-btn)
   ============================================================ */

.fr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px;
  border: 1px solid transparent;
  border-radius: 2px;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: all 120ms ease;
  white-space: nowrap;              /* nunca quebra letra por letra */
  word-break: keep-all;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fr-btn--primary  {
  background: var(--wp--preset--color--border);
  color: var(--wp--preset--color--ink);
}
.fr-btn--primary:hover  {
  background: var(--wp--preset--color--ink);
  color: var(--wp--preset--color--surface);
}
.fr-btn--whatsapp {
  background: var(--wp--preset--color--whatsapp);
  color: #FFFFFF;
}
.fr-btn--whatsapp:hover {
  background: #128C7E;
  color: #FFFFFF;
}
.fr-btn--outline  {
  background: transparent;
  border-color: var(--wp--preset--color--border);
  color: var(--wp--preset--color--text);
}
.fr-btn--outline:hover  { border-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--ink); background: var(--wp--preset--color--border); }
.fr-btn--icon { padding: 12px 14px; }

/* Botão da nav (WhatsApp no header) segue o mesmo padrão */
.fr-header .wp-block-button__link {
  padding: 12px 18px;
  border-radius: 2px;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 13px;
}

/* ============================================================
   HERO PRETO DA VITRINE
   ============================================================ */

.fr-hero {
  background: var(--wp--preset--color--ink);
  color: #fff;
  padding: 3.5rem 0;
}
.fr-hero__kicker { color: rgba(255,255,255,0.5) !important; margin-bottom: 12px !important; }
.fr-hero__title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  line-height: 0.95;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 1.5rem 0;
}
.fr-hero__accent { color: var(--wp--preset--color--accent); }
.fr-hero__text { color: rgba(255,255,255,0.7); max-width: 560px; margin: 0 0 2rem 0; font-size: 1rem; line-height: 1.55; }
.fr-hero__badges { display: flex; flex-wrap: wrap; gap: 8px; }

/* ============================================================
   TOOLBAR STICKY (chips categorias + ordenação)
   ============================================================ */

.fr-toolbar {
  border-bottom: 1px solid var(--wp--preset--color--border);
  padding: 1rem 0;
  z-index: 30;
}

/* Chips do WooCommerce Product Filter Taxonomy */
.fr-toolbar .wc-block-components-filter-chip,
.fr-archive__sidebar .wc-block-components-filter-chip {
  border: 1px solid var(--wp--preset--color--border) !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  font-size: 12px !important;
  background: #fff !important;
  color: var(--wp--preset--color--text) !important;
  transition: all 120ms ease;
  font-family: var(--wp--preset--font-family--body);
}
.fr-toolbar .wc-block-components-filter-chip:hover,
.fr-archive__sidebar .wc-block-components-filter-chip:hover {
  border-color: var(--wp--preset--color--ink) !important;
}
.fr-toolbar .wc-block-components-filter-chip[aria-checked="true"],
.fr-archive__sidebar .wc-block-components-filter-chip[aria-checked="true"] {
  background: var(--wp--preset--color--ink) !important;
  color: #fff !important;
  border-color: var(--wp--preset--color--ink) !important;
}

/* Select de ordenação */
.woocommerce-ordering select {
  border: 1px solid var(--wp--preset--color--border);
  background: #fff;
  padding: 8px 32px 8px 12px;
  font-size: 14px;
  border-radius: 2px;
  cursor: pointer;
  color: var(--wp--preset--color--text);
}

/* ============================================================
   ARCHIVE — SIDEBAR
   ============================================================ */

.fr-archive__sidebar {
  position: sticky;
  top: 160px;
  align-self: flex-start;
}
.fr-archive__sidebar h3.wp-block-heading {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 1.125rem;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--wp--preset--color--border);
}
.fr-archive__sidebar .wc-block-product-filter,
.fr-archive__sidebar .wp-block-woocommerce-product-filter-price,
.fr-archive__sidebar .wp-block-woocommerce-product-filter-attribute,
.fr-archive__sidebar .wp-block-woocommerce-product-filter-taxonomy {
  margin-bottom: 1.5rem;
}
.fr-archive__sidebar h3 {
  font-family: var(--wp--preset--font-family--body);
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--wp--preset--color--muted);
  margin: 0 0 12px 0;
}

.fr-archive__header {
  margin-bottom: 1.5rem;
  padding-bottom: 0;
  display: flex;
  justify-content: flex-end;
}

/* Se tudo na sidebar veio vazio (attributes ainda não populados),
   você pode adicionar .fr-archive__sidebar--empty manualmente pra ocultar.
   Removido o :has() que estava escondendo mais do que devia. */
.fr-archive__sidebar.fr-archive__sidebar--empty {
  display: none;
}

/* ============================================================
   CARD DO VEÍCULO
   ============================================================ */

.fr-card {
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--border);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: all 200ms ease;
  height: 100%;
  text-decoration: none;
}
.fr-card__title { color: var(--wp--preset--color--ink); }

/* O product-template do Woo envolve em <li> — zerar estilos padrão */
.wp-block-woocommerce-product-template > li,
.wp-block-woocommerce-product-template > .wc-block-product-template__product {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  display: flex;
  height: auto;
}
.fr-card:hover {
  border-color: var(--wp--preset--color--ink);
  transform: translateY(-3px);
  box-shadow: var(--wp--preset--shadow--md);
}

.fr-card__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--wp--preset--color--border);
}
.fr-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 500ms ease;
}
.fr-card:hover .fr-card__media img { transform: scale(1.03); }

.fr-card__badges {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  z-index: 2;
}

.fr-card__body { padding: 1.25rem; display: flex; flex-direction: column; flex: 1; }

.fr-card__title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-size: 1.125rem;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink);
  margin: 0 0 12px 0;
  letter-spacing: -0.005em;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
  /* Máx 2 linhas — evita títulos gigantes (68+ chars) estourarem o card */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.125rem * 1.15 * 2);
}

.fr-card__specs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  padding: 12px 0;
  border-top: 1px solid var(--wp--preset--color--border);
  border-bottom: 1px solid var(--wp--preset--color--border);
  margin-bottom: 1rem;
}
.fr-card__specs > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fr-card__specs .fr-spec-label {
  font-family: var(--wp--preset--font-family--body);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wp--preset--color--muted);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fr-card__specs .fr-spec-value {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  font-size: 14px;
  color: var(--wp--preset--color--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fr-card__price { margin-bottom: 1rem; }
.fr-price-value {
  font-family: var(--wp--preset--font-family--mono);
  font-weight: 600;
  font-size: 1.5rem;
  color: var(--wp--preset--color--ink);
  line-height: 1.1;
  white-space: nowrap;
}
.fr-price-parcela {
  font-size: 12px;
  color: var(--wp--preset--color--muted);
  margin-top: 4px;
}

.fr-card__ctas {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin-top: auto;
}
.fr-card__ctas .fr-btn { padding: 12px 14px; font-size: 12px; }

/* Grid do product-collection: escala com a largura da tela */
.wp-block-woocommerce-product-collection {
  width: 100%;
  max-width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
  max-width: 100%;
}
@media (min-width: 1800px) {
  .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
@media (max-width: 1200px) {
  .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 550px) {
  .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   SINGLE — SUMMARY
   ============================================================ */

.fr-single-hero__summary {
  position: sticky;
  top: 100px;
  align-self: flex-start;
}
.fr-summary { display: flex; flex-direction: column; gap: 1.5rem; }
.fr-summary__badges { display: flex; flex-wrap: wrap; gap: 6px; }
.fr-summary__title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.05;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink);
  margin: 0 0 8px 0;
  letter-spacing: -0.01em;
}
.fr-summary__subtitle { color: var(--wp--preset--color--muted); font-size: 1.125rem; }

.fr-summary__price-block {
  border-top: 1px solid var(--wp--preset--color--border);
  border-bottom: 1px solid var(--wp--preset--color--border);
  padding: 1.5rem 0;
}
.fr-summary__price {
  font-family: var(--wp--preset--font-family--mono);
  font-weight: 600;
  font-size: clamp(2.25rem, 6vw, 3rem);
  color: var(--wp--preset--color--accent);
  letter-spacing: -0.02em;
  line-height: 1;
}
.fr-summary__parcela { font-size: 14px; color: var(--wp--preset--color--muted); margin-top: 8px; }
.fr-summary__parcela strong { color: var(--wp--preset--color--ink); }

.fr-summary__quick-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
.fr-summary__quick-specs > div { display: flex; flex-direction: column; gap: 4px; }
.fr-quick-value {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-size: 1.375rem;
  color: var(--wp--preset--color--ink);
}

.fr-summary__ctas { display: flex; flex-direction: column; gap: 8px; }
.fr-summary__ctas .fr-btn { width: 100%; padding: 16px; font-size: 14px; }
.fr-summary__ctas-inline { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.fr-summary__ctas-inline .fr-btn { padding: 14px 8px; font-size: 12px; }

.fr-summary__note {
  font-size: 12px;
  color: var(--wp--preset--color--muted);
  text-align: center;
  margin: 0;
}

/* ============================================================
   SECTIONS COMUNS (ficha, calc, forms, related)
   ============================================================ */

.fr-section { padding: 3.5rem 0; }
.fr-section__title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-size: 1.875rem;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.fr-mb-10 { margin-bottom: 8px; }

/* ============================================================
   FICHA TÉCNICA
   ============================================================ */

.fr-ficha { border-top: 1px solid var(--wp--preset--color--border); }
.fr-ficha__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
}
.fr-ficha__item {
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--border);
  padding: 1rem;
}
.fr-ficha__value {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--wp--preset--color--ink);
  margin-top: 4px;
}

/* ============================================================
   ACESSÓRIOS (checklist)
   ============================================================ */

.fr-accessories { border-top: 1px solid var(--wp--preset--color--border); }
.fr-accessories__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px 24px;
  margin-top: 24px;
}
.fr-accessories__item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9375rem;
  color: var(--wp--preset--color--text);
}
.fr-accessories__check {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--wp--preset--color--success);
  color: #fff;
}
@media (max-width: 600px) {
  .fr-accessories__grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   CALCULADORA DE FINANCIAMENTO
   ============================================================ */

.fr-finance {
  background: var(--wp--preset--color--ink);
  color: #fff;
  border-top: 1px solid var(--wp--preset--color--border);
}
.fr-finance__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.fr-finance__kicker { color: rgba(255,255,255,0.5) !important; }
.fr-finance__title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-size: 2.25rem;
  text-transform: uppercase;
  color: #fff;
  margin: 12px 0 1rem 0;
}
.fr-finance__text { color: rgba(255,255,255,0.7); margin-bottom: 1.5rem; }
.fr-finance__controls { display: flex; flex-direction: column; gap: 1rem; }
.fr-finance__label {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  margin-bottom: 8px;
}

.fr-finance__result {
  background: #fff;
  color: var(--wp--preset--color--ink);
  padding: 2rem;
  border-left: 4px solid var(--wp--preset--color--accent);
}
.fr-finance__parcela {
  font-family: var(--wp--preset--font-family--mono);
  font-weight: 600;
  font-size: 3.5rem;
  color: var(--wp--preset--color--accent);
  line-height: 1;
  margin: 8px 0 1rem 0;
}
.fr-finance__breakdown {
  font-size: 14px;
  color: var(--wp--preset--color--muted);
  border-top: 1px solid var(--wp--preset--color--border);
  padding-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.fr-finance__breakdown > div {
  display: flex;
  justify-content: space-between;
}
.fr-finance__cet {
  font-size: 12px;
  border-top: 1px solid var(--wp--preset--color--border);
  padding-top: 8px;
}
.fr-finance__cta { width: 100%; margin-top: 1.5rem; }

/* Range inputs (usados na calculadora) */
.fr-finance input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  background: rgba(255,255,255,0.2);
  height: 3px;
  border-radius: 999px;
  width: 100%;
  cursor: pointer;
}
.fr-finance input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
}
.fr-finance input[type="range"]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #fff;
  border: 0;
  cursor: pointer;
}

/* ============================================================
   LEAD FORMS (test drive + troca)
   ============================================================ */

.fr-leads { background: var(--wp--preset--color--surface); border-top: 1px solid var(--wp--preset--color--border); }
.fr-leads__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.fr-lead-form {
  border: 1px solid var(--wp--preset--color--border);
  padding: 2rem;
}
.fr-lead-form--tradein { background: rgba(181, 85, 26, 0.05); }
.fr-lead-form__title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-size: 1.5rem;
  text-transform: uppercase;
  margin: 8px 0 0.75rem 0;
}
.fr-lead-form__text { color: var(--wp--preset--color--muted); margin-bottom: 1.5rem; }
.fr-lead-form__body { display: flex; flex-direction: column; gap: 12px; }
.fr-lead-form__grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fr-lead-form input,
.fr-lead-form select,
.fr-lead-form textarea {
  border: 1px solid var(--wp--preset--color--border);
  padding: 12px;
  font-size: 14px;
  font-family: var(--wp--preset--font-family--body);
  background: #fff;
  color: var(--wp--preset--color--text);
  width: 100%;
}
.fr-lead-form input:focus,
.fr-lead-form select:focus,
.fr-lead-form textarea:focus {
  outline: none;
  border-color: var(--wp--preset--color--ink);
}

/* ============================================================
   TRUST STRIP (números de confiança)
   ============================================================ */

.fr-trust {
  background: var(--wp--preset--color--surface);
  border-top: 1px solid var(--wp--preset--color--border);
  border-bottom: 1px solid var(--wp--preset--color--border);
  padding: 3rem 0;
}
.fr-trust__grid {
  display: grid;
  grid-template-columns: repeat(var(--fr-trust-columns, 4), 1fr);
  gap: 2rem;
}
.fr-trust__number {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-size: 2.25rem;
  color: var(--wp--preset--color--accent);
  line-height: 1;
}
.fr-trust__label { margin-top: 8px !important; }

/* ============================================================
   BREADCRUMB
   ============================================================ */

.fr-breadcrumb .woocommerce-breadcrumb {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wp--preset--color--muted);
  margin: 0;
}
.fr-breadcrumb a { color: var(--wp--preset--color--muted); }
.fr-breadcrumb a:hover { color: var(--wp--preset--color--accent); }

/* ============================================================
   BOTÃO FLUTUANTE WHATSAPP
   ============================================================ */

.fr-whatsapp-float {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 50;
  width: 60px;
  height: 60px;
  border-radius: 999px;
  background: var(--wp--preset--color--whatsapp);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
  transition: transform 200ms ease;
  text-decoration: none;
}
.fr-whatsapp-float:hover { transform: scale(1.08); }

/* ============================================================
   RESPONSIVO
   ============================================================ */

@media (max-width: 900px) {
  .fr-archive__sidebar { position: static; order: 2; }
  .fr-single-hero__summary { position: static; }
  .fr-finance__grid { grid-template-columns: 1fr; gap: 2rem; }
  .fr-leads__grid { grid-template-columns: 1fr; }
  .fr-trust__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
}

@media (max-width: 600px) {
  .fr-card__specs { grid-template-columns: repeat(2, 1fr); gap: 12px 8px; }
  .fr-summary__quick-specs { gap: 1rem; }
  .fr-quick-value { font-size: 1.125rem; }
  .fr-finance__parcela { font-size: 2.5rem; }
  .fr-hero { padding: 2.5rem 0; }
}

/* v0.2.0 — geometry and colors from vitrine.html */
.fr-container { width:100%; max-width:1400px; margin-inline:auto; padding-inline:24px; }
.wp-site-blocks > header { position:sticky; top:0; z-index:40; }
body.admin-bar .wp-site-blocks > header { top:32px; }
.wp-site-blocks > main { margin-block-start:0; }
.fr-header > .alignwide { max-width:1400px; padding-inline:24px; margin-inline:auto; gap:24px; }
.fr-header .wp-block-site-title { font-family:var(--wp--preset--font-family--display); font-weight:800; }
.fr-header .wp-block-button.fr-btn { padding:0; border:0; }
.fr-header .wp-block-button__link { background:#B8860B; color:white; }
.fr-btn--primary { background:#0A0A0A; color:white; }
.fr-btn--primary:hover { background:#B8860B; color:white; }
.fr-btn--whatsapp { background:#B8860B; color:white; }
.fr-btn--whatsapp:hover { background:#0A0A0A; color:white; }
.fr-hero__title { text-transform:none; font-size:60px; line-height:.95; margin-bottom:16px; letter-spacing:normal; }
.fr-hero__badges { gap:12px; }
.fr-toolbar { position:sticky; top:80px; background:white; margin:0; }
body.admin-bar .fr-toolbar { top:112px; }
.fr-toolbar__inner { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.fr-toolbar .fr-kicker { margin:0; }
.fr-chip { display:inline-flex; align-items:center; gap:6px; border:1px solid #E5E3DC; border-radius:999px; padding:6px 12px; font-size:12px; cursor:pointer; background:white; }
.fr-chip:has(input:checked) { background:#0A0A0A; color:white; border-color:#0A0A0A; }
.fr-chip input { position:absolute; opacity:0; width:1px; height:1px; }
.fr-chip:focus-within { outline:2px solid #B8860B; outline-offset:3px; }
.fr-sort { margin-left:auto; display:flex; align-items:center; gap:8px; font-size:14px; color:#6B6B66; }
.fr-sort select,.fr-filter-group input[type=number] { border:1px solid #E5E3DC; border-radius:2px; padding:8px 12px; background:white; color:#1B1B1A; font:inherit; max-width:100%; }
.fr-catalog { margin:0; }
.fr-catalog__layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:40px; padding-block:40px; }
.fr-filters { min-width:0; }
.fr-filters details { position:sticky; top:170px; max-height:calc(100vh - 190px); overflow-y:auto; padding-right:8px; }
.fr-filters summary { font-family:var(--wp--preset--font-family--display); font-size:18px; font-weight:800; text-transform:uppercase; border-bottom:1px solid #E5E3DC; padding-bottom:16px; margin-bottom:24px; cursor:pointer; }
.fr-filter-group { padding:0; border:0; margin:0 0 24px; min-width:0; }
.fr-filter-group legend { margin-bottom:12px; }
.fr-filter-group input[type=number] { width:100%; }
.fr-filter-option { display:flex; align-items:center; gap:8px; font-size:14px; margin-bottom:8px; cursor:pointer; }
.fr-filter-option input { accent-color:#0A0A0A; }
.fr-filter-empty { font-size:12px; color:#6B6B66; }
.fr-clear { display:block; color:#6B6B66; text-decoration:underline; margin-top:16px; font-size:14px; }
.fr-catalog__results { min-width:0; }
.fr-result-count { margin-bottom:24px; }
.fr-vehicle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.fr-card { min-width:0; width:100%; cursor:default; }
.fr-card__media { display:block; flex-shrink:0; }
.fr-card__body { padding:20px; }
.fr-card:hover { border-color:#B8860B; }
.fr-card__ctas { margin-top:auto; }
.fr-card__ctas .fr-btn--primary { flex:1; min-width:0; padding-inline:8px; }
.fr-card__specs { grid-template-columns:repeat(4,minmax(0,1fr)); }
.fr-price-value { font-size:24px; white-space:nowrap; }
.fr-pagination { display:flex; flex-wrap:wrap; gap:8px; margin-top:32px; }
.fr-pagination .page-numbers { padding:8px 12px; border:1px solid #E5E3DC; text-decoration:none; }
.fr-pagination .current { background:#0A0A0A; color:white; }
.fr-single-hero,.fr-related { width:100%; max-width:1400px!important; margin-inline:auto!important; padding-inline:24px; }
.fr-single-hero > .wp-block-columns { max-width:100%!important; }
.fr-summary__ctas-inline { grid-template-columns:1fr; }
.fr-related .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:1279px) { .fr-vehicle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:1023px) {
 .fr-catalog__layout { grid-template-columns:1fr; gap:24px; }
 .fr-filters details { position:static; max-height:none; padding:0; }
 .fr-toolbar { position:static; }
 .fr-header > .alignwide { gap:12px; }
}
@media(max-width:767px) {
 .fr-hero__title { font-size:48px; }
 .fr-sort { margin-left:0; }
 .fr-header .wp-block-site-title { font-size:15px!important; }
 .fr-header .wp-block-button__link { padding:10px; font-size:11px; }
 .fr-header .wp-block-site-logo { display:block; flex-shrink:0; }
 .fr-summary__price { font-size:36px; }
 body.admin-bar .wp-site-blocks > header { top:46px; }
}
@media(max-width:639px) {
 .fr-vehicle-grid,.fr-related .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-template { grid-template-columns:1fr; }
 .fr-container,.fr-header > .alignwide,.fr-single-hero,.fr-related { padding-inline:20px; }
 .fr-header .fr-kicker { font-size:8px!important; }
 .fr-hero__title { font-size:clamp(34px,9vw,48px); }
 .fr-card__specs { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .fr-ficha__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) { .fr-card,.fr-card__media img,.fr-whatsapp-float { transition:none; } }
.fr-price-value { color:#B8860B; }

/* 0.2.1: single product proportions matching the supplied reference. */
.fr-single-hero { max-width:1400px!important; padding-inline:24px; }
.fr-single-hero > .wp-block-columns {
 display:grid!important; grid-template-columns:minmax(0,3fr) minmax(0,2fr);
 gap:40px!important; width:100%!important; max-width:none!important; margin:0!important;
 align-items:start;
}
.fr-single-hero > .wp-block-columns > .wp-block-column { width:100%!important; min-width:0; margin:0!important; }
.fr-single-hero__summary { top:110px; }
.fr-summary__title { text-transform:none; font-size:36px; line-height:1.08; overflow-wrap:anywhere; }
.fr-summary__price { color:#B8860B; font-size:48px; }
.fr-summary__ctas-inline { grid-template-columns:1fr 1fr; }
.fr-summary__ctas-inline .fr-btn { white-space:normal; line-height:1.3; min-height:42px; }
.fr-gallery { width:100%; min-width:0; }
.fr-gallery__stage { display:block; position:relative; width:100%; aspect-ratio:4/3; overflow:hidden; background:#F2F0EA; }
.fr-gallery__main { display:block; width:100%!important; height:100%!important; object-fit:contain; margin:0; }
.fr-gallery__zoom { position:absolute; right:12px; top:12px; border-radius:50%; background:white; color:#0A0A0A; width:32px; height:32px; display:grid; place-items:center; font-size:24px; box-shadow:0 2px 8px #0002; }
.fr-gallery__thumbs { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 32px)/5); gap:8px; overflow-x:auto; padding:0 0 8px; margin-top:12px; scroll-snap-type:x proximity; }
.fr-gallery__thumb { padding:0; border:2px solid transparent; background:#F2F0EA; cursor:pointer; aspect-ratio:1; min-width:0; scroll-snap-align:start; }
.fr-gallery__thumb[aria-pressed=true] { border-color:#B8860B; }
.fr-gallery__thumb img { display:block; width:100%; height:100%; object-fit:cover; opacity:1; }
.fr-gallery__thumb:focus-visible,.fr-gallery__stage:focus-visible { outline:2px solid #B8860B; outline-offset:2px; }
.fr-gallery__dialog { border:0; padding:40px 12px 12px; background:#111; max-width:95vw; max-height:95vh; }
.fr-gallery__dialog::backdrop { background:#000d; }
.fr-gallery__dialog img { display:block; max-width:90vw; max-height:80vh; object-fit:contain; }
.fr-gallery__close { position:absolute; top:3px; right:8px; background:transparent; color:white; border:0; font-size:30px; cursor:pointer; }
@media(max-width:900px) {
 .fr-single-hero > .wp-block-columns { grid-template-columns:1fr; gap:28px!important; }
 .fr-single-hero__summary { position:static; }
 .fr-summary__title { font-size:30px; }
 .fr-summary__price { font-size:40px; }
}

/* 0.2.2 — full-width catalog, four columns, white footer copy. */
.fr-catalog__layout { grid-template-columns:minmax(0,1fr); }
.fr-catalog .fr-vehicle-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.fr-footer,.fr-footer p,.fr-footer a,.fr-footer a:visited,
.fr-footer .fr-kicker,.fr-footer .wp-block-site-title,
.fr-footer h1,.fr-footer h2,.fr-footer h3,.fr-footer span { color:#FFFFFF!important; }
.fr-footer a:hover { color:#FFFFFF!important; text-decoration:underline; }
@media(max-width:1100px) { .fr-catalog .fr-vehicle-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:900px) { .fr-catalog .fr-vehicle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:639px) { .fr-catalog .fr-vehicle-grid { grid-template-columns:1fr; } }

/* 0.3.0 — inventory hero carousel */
.fr-slider { position:relative; background:#15191c; color:#fff; margin:0; }
.fr-slider [hidden] { display:none!important; }
.fr-slider__bgvideo {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0; pointer-events:none;
}
.fr-slider__bgvideo-overlay {
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(10,10,10,.55), rgba(10,10,10,.8));
}
.fr-slider__inner { position:relative; z-index:1; }
.fr-slider__controls { position:relative; z-index:1; }
.fr-slider__sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.fr-slider__inner { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:48px; align-items:center; padding-block:36px; min-height:480px; }
.fr-slider__photo { display:flex; align-items:center; justify-content:center; aspect-ratio:16/10; max-height:470px; min-width:0; overflow:hidden; background:#111518; }
.fr-slider__photo img { width:100%; height:100%; max-height:470px; object-fit:contain; display:block; }
.fr-slider__copy { min-width:0; padding-block:20px; }
.fr-slider__eyebrow { color:#d1d4d6; font-size:14px; letter-spacing:.12em; text-transform:uppercase; }
.fr-slider__copy h2 { font-family:var(--wp--preset--font-family--display); color:white; font-size:clamp(25px,2.8vw,42px); line-height:1.08; margin:12px 0 20px; overflow-wrap:anywhere; }
.fr-slider__price { font-family:var(--wp--preset--font-family--mono); color:#D4AF37; font-size:clamp(28px,3.3vw,48px); font-weight:600; line-height:1.2; }
.fr-slider__copy p { color:#d1d4d6; font-size:14px; line-height:1.65; max-width:400px; margin:20px 0; }
.fr-slider__actions { display:flex; flex-wrap:wrap; gap:12px; }
.fr-slider__contact { border:1px solid #7b8389; color:#fff; background:transparent; }
.fr-slider__contact:hover { background:#30373c; color:#fff; }
.fr-slider__controls { display:flex; justify-content:center; align-items:center; gap:16px; padding:0 20px 22px; }
.fr-slider__controls button { cursor:pointer; border:1px solid #72797e; color:white; background:transparent; min-width:40px; min-height:40px; font:inherit; }
.fr-slider__controls [data-slide-step] { font-size:28px; }
.fr-slider__dots { display:flex; gap:4px; flex-wrap:wrap; }
.fr-slider__dots button { min-width:28px; min-height:40px; border:0; position:relative; }
.fr-slider__dots button::after { content:''; width:8px; height:8px; border-radius:50%; background:#858b90; position:absolute; top:16px; left:10px; }
.fr-slider__dots button[aria-pressed=true]::after { background:#D4AF37; }
.fr-slider__controls .fr-slider__pause { padding:6px 12px; font-size:12px; }
.fr-slider a:focus-visible,.fr-slider button:focus-visible { outline:2px solid white; outline-offset:4px; }
@media(max-width:800px) {
 .fr-slider__inner { grid-template-columns:1fr; gap:12px; padding-block:20px; min-height:0; }
 .fr-slider__photo { aspect-ratio:4/3; max-height:360px; }
 .fr-slider__photo img { max-height:360px; }
 .fr-slider__copy { padding-block:12px; }
 .fr-slider__copy h2 { font-size:28px; }
 .fr-slider__price { font-size:34px; }
 .fr-slider__controls { gap:8px; }
 .fr-slider__dots { gap:0; }
 .fr-slider__dots button { min-width:24px; }
 /* Economiza dados moveis: sem video de fundo no celular, so a foto do carro. */
 .fr-slider__bgvideo, .fr-slider__bgvideo-overlay { display:none; }
}
@media (prefers-reduced-motion: reduce) {
 .fr-slider__bgvideo, .fr-slider__bgvideo-overlay { display:none; }
}

/* 0.3.1 — carousel photos fill their frame with a centered crop. */
.fr-slider__photo img { object-fit:cover; object-position:center center; }

/* 0.3.2 — same 4:3 framing as catalog cards, without height caps. */
.fr-slider .fr-slider__photo {
 position:relative;
 display:block;
 width:100%;
 aspect-ratio:4 / 3;
 height:auto;
 max-height:none;
 overflow:hidden;
}
.fr-slider .fr-slider__photo img {
 position:absolute;
 inset:0;
 display:block;
 width:100%;
 height:100%;
 max-height:none;
 object-fit:cover;
 object-position:center center;
}

/* 0.3.3 — compact hero with an upper photo focal point. */
.fr-slider .fr-slider__inner {
 min-height:0;
 padding-block:20px;
 gap:32px;
}
.fr-slider .fr-slider__photo {
 aspect-ratio:auto;
 height:clamp(240px, calc(100svh - 250px), 420px);
}
.fr-slider .fr-slider__photo img { object-position:center 35%; }
.fr-slider .fr-slider__copy { padding-block:0; }
.fr-slider .fr-slider__copy h2 { font-size:clamp(24px,2.5vw,36px); margin:10px 0 14px; }
.fr-slider .fr-slider__price { font-size:clamp(28px,3vw,42px); }
.fr-slider .fr-slider__copy p { margin:14px 0; }
.fr-slider .fr-slider__controls { padding-bottom:14px; }
@media(max-width:800px) {
 .fr-slider .fr-slider__inner { padding-block:12px; gap:16px; }
 .fr-slider .fr-slider__photo { height:clamp(200px,38svh,320px); }
 .fr-slider .fr-slider__copy h2 { font-size:25px; }
 .fr-slider .fr-slider__price { font-size:30px; }
}

/* 0.3.4 — discard maximum top overflow, preserve the bottom of the photo. */
.fr-slider .fr-slider__photo img { object-position:center bottom; }

/* 0.3.5 — fit the original photo first; crop only its decorative backdrop. */
.fr-slider .fr-slider__photo { isolation:isolate; }
.fr-slider .fr-slider__photo img {
 object-fit:contain;
 object-position:center center;
 z-index:1;
}
.fr-slider .fr-slider__photo img.fr-slider__backdrop {
 object-fit:cover;
 object-position:center;
 filter:blur(22px) brightness(.45);
 transform:scale(1.12);
 z-index:0;
 pointer-events:none;
}

/* 0.3.6 — enlarge the selected center region; originals remain intact. */
.fr-slider .fr-slider__photo img.fr-slider__cropped {
 inset:auto;
 max-width:none;
 max-height:none;
 object-fit:fill;
 transform:none;
 clip-path:inset(27% 0 18% 0);
}

/* 0.3.7 — gold accents and defensive suppression of mini-cart contents. */
.wp-block-woocommerce-mini-cart-contents,
.wp-block-woocommerce-filled-mini-cart-contents-block,
.wp-block-woocommerce-empty-mini-cart-contents-block,
.wc-block-mini-cart__drawer,
[data-block-name="woocommerce/mini-cart-contents"] { display:none!important; }
.fr-btn--whatsapp,.fr-header .wp-block-button__link,
.fr-btn--primary:hover { background:#B8860B; color:#0A0A0A; }
.fr-btn--whatsapp:hover { background:#D4AF37; color:#0A0A0A; }
.fr-header .wp-block-button__link:hover { background:#D4AF37; color:#0A0A0A; }

/* 0.3.8 — WhatsApp buttons use the brand green. */
.fr-btn--gold { background:#B8860B; color:#0A0A0A; }
.fr-btn--gold:hover { background:#D4AF37; color:#0A0A0A; }
a.fr-btn--whatsapp,
a.fr-slider__contact,
.fr-header a[href*="wa.me/"],
a.fr-whatsapp-float {
 background:#25D366!important;
 border-color:#25D366!important;
 color:#0A0A0A!important;
}
a.fr-btn--whatsapp:hover,
a.fr-slider__contact:hover,
.fr-header a[href*="wa.me/"]:hover,
a.fr-whatsapp-float:hover {
 background:#1EBE5D!important;
 border-color:#1EBE5D!important;
 color:#0A0A0A!important;
}
.fr-header .wp-block-button.fr-btn--whatsapp { background:transparent; }

/* 0.3.9 — white labels and icons on WhatsApp buttons. */
a.fr-btn--whatsapp,
a.fr-btn--whatsapp:hover,
a.fr-slider__contact,
a.fr-slider__contact:hover,
.fr-header a[href*="wa.me/"],
.fr-header a[href*="wa.me/"]:hover,
a.fr-whatsapp-float,
a.fr-whatsapp-float:hover { color:#FFFFFF!important; }

/* Editable footer, 0.3.16. */
.fr-footer-dynamic { background:var(--wp--preset--color--ink,#101010);padding:3rem 0 1.5rem; }
.fr-footer-dynamic__grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:2rem;margin-bottom:3rem; }
.fr-footer-dynamic p { font-size:.875rem;line-height:1.8;overflow-wrap:anywhere; }
.fr-footer-dynamic .fr-footer-dynamic__name { font-size:1.25rem;font-weight:700; }
.fr-footer-dynamic__bottom { display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem; }
.fr-footer-dynamic__bottom p { font-size:.75rem;margin:0; }



/* 0.3.20: mobile branding uses the existing logo; retain text if no logo is set. */
@media (max-width:800px) {
  .fr-header:has(.wp-block-site-logo img) .wp-block-site-title,
  .fr-header:has(.wp-block-site-logo img) .fr-kicker { display:none!important; }
  .fr-header .wp-block-site-logo { display:block!important; flex:0 0 48px; width:48px; }
  .fr-header .wp-block-site-logo a { display:block; }
  .fr-header .wp-block-site-logo img { display:block; width:48px; height:auto; max-width:100%; }
}

/* Missing vehicle photos: branded message, not an image attachment. */
.fr-photo-pending { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;min-height:220px;height:100%;padding:24px;box-sizing:border-box;background:#f2f1ed;color:#252525;text-align:center; }
.fr-card__media .fr-photo-pending img,.fr-photo-pending .fr-photo-pending__logo { position:static!important;width:96px!important;height:auto!important;max-height:110px;object-fit:contain!important;transform:none!important;filter:none!important;opacity:1!important; }
.fr-photo-pending__text { font-size:14px;font-weight:600;line-height:1.5; }
.fr-photo-pending__brand { font-weight:700; }
.fr-gallery--pending .fr-photo-pending { aspect-ratio:4/3;height:auto; }

/* 0.3.29 — banner refinements, based exclusively on the supplied 0.3.24. */
.fr-slider .fr-slider__photo::after {
 content:"";position:absolute;inset:0;z-index:3;
 border:3px solid #D4AF37;box-sizing:border-box;pointer-events:none;
}
.fr-slider .fr-slider__price { position:relative; }
@media (min-width:801px) {
 .fr-slider .fr-slider__price::before {
  content:"";position:absolute;left:-32px;top:50%;transform:translateY(-50%);
  width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;
  border-left:12px solid #D4AF37;pointer-events:none;
 }
 .fr-slider .fr-slider__bgvideo-overlay {
  background:linear-gradient(90deg,rgba(10,10,10,.3) 0%,rgba(10,10,10,.45) 50%,rgba(10,10,10,.82) 72%,rgba(10,10,10,.88) 100%);
 }
}
@media (max-width:800px) {
 .fr-slider .fr-slider__price::before { content:none;display:none; }
}
