/* Rota Motos — páginas: início, estoque e página da moto. */

/* Início: destaque principal */
.rm-hero { padding: 72px 0 56px; }
.rm-hero__in { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.rm-hero__text { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.rm-hero__title { font-weight: 800; font-size: clamp(42px, 5.4vw, 76px); line-height: 1.02; letter-spacing: -0.03em; }
.rm-hero__lead { font-size: 18px; line-height: 1.6; color: var(--rm-soft); max-width: 520px; }
.rm-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.rm-hero__media { flex: 1 1 560px; min-width: 0; aspect-ratio: 4 / 3; background: #E6E5E0; border-radius: 28px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: #6B7076; overflow: hidden; }
.rm-hero__img { width: 100%; height: 100%; object-fit: cover; }

/* Início: busca rápida */
.rm-search-wrap { padding: 0 24px; }
.rm-search.rm-wrap { max-width: 1280px; padding: 24px; background: #fff; border: 1px solid var(--rm-line); border-radius: 24px; display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; box-shadow: 0 24px 48px -32px rgba(17, 19, 21, 0.25); }
.rm-search .rm-field { flex: 1 1 180px; }
.rm-search__btn { flex: 0 0 auto; border-radius: 12px; min-height: 48px; padding: 0 32px; }

/* Início: diferenciais, estilos, serviços */
.rm-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.rm-benefit { display: flex; gap: 14px; align-items: flex-start; padding: 8px 0; }
.rm-benefit svg { flex: none; color: var(--rm-accent); }
.rm-benefit__title { font-weight: 600; }
.rm-benefit__text { font-size: 14px; color: var(--rm-muted); margin-top: 4px; }

.rm-estilo { background: #fff; border: 1px solid var(--rm-line); border-radius: 20px; padding: 20px; display: flex; flex-direction: column; gap: 18px; min-height: 180px; justify-content: space-between; transition: border-color 0.15s; }
.rm .rm-estilo:hover { border-color: var(--rm-accent); }
.rm-estilo__media { aspect-ratio: 16 / 9; background: #EFEEEA; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #858A90; }
.rm-estilo__row { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.rm-estilo__name { display: block; font-family: var(--rm-head); font-weight: 700; font-size: 18px; }
.rm-estilo__count { display: block; font-size: 13px; color: var(--rm-muted); }

.rm-service { background: #fff; border: 1px solid var(--rm-line); border-radius: 24px; padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.rm-service__n { font-family: var(--rm-head); font-weight: 800; font-size: 14px; color: var(--rm-accent); }
.rm-service h3 { font-weight: 700; font-size: 24px; }
.rm-service p { color: var(--rm-soft); line-height: 1.6; }
.rm-service .rm-link { margin-top: auto; }

/* Início: simulador */
.rm-sim { background: var(--rm-ink); color: #fff; border-radius: 32px; padding: clamp(32px, 5vw, 64px); display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.rm-sim__text { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.rm-sim__text p { color: #B9BBB7; line-height: 1.6; }
.rm-sim__title { font-weight: 800; font-size: clamp(32px, 4vw, 44px); line-height: 1.05; letter-spacing: -0.02em; }
.rm-sim__form { flex: 1 1 460px; min-width: 0; background: var(--rm-dark2); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 18px; }
.rm-sim__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 14px; }
.rm-field--dark > label { font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #B9BBB7; }
.rm-field--dark input, .rm-field--dark select { background: var(--rm-ink); border-color: #3A3E42; color: #fff; }
.rm-sim__result { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding-top: 18px; border-top: 1px solid #2C3034; }
.rm-sim__label { display: block; font-size: 13px; color: #B9BBB7; }
.rm-sim__value { display: block; font-family: var(--rm-head); font-weight: 800; font-size: 34px; line-height: 1.2; }
.rm-sim__note { font-size: 12px; color: #A3A7A3; }

/* Início: showroom */
.rm-showroom { display: flex; flex-wrap: wrap; gap: 48px; align-items: stretch; }
.rm-showroom__text { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.rm-showroom__text .rm-btn { align-self: flex-start; }
.rm-info { display: flex; flex-direction: column; gap: 14px; font-size: 15px; }
.rm-info dt { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rm-muted); }
.rm-info dd { margin-top: 4px; }
.rm-showroom__map { flex: 1.4 1 520px; min-width: 0; min-height: 340px; background: #E6E5E0; border-radius: 24px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.rm-showroom__map iframe { width: 100%; height: 100%; min-height: 340px; border: 0; }

/* Estoque */
.rm-estoque { padding-bottom: 96px; }
.rm-estoque__in { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.rm-filters { flex: 1 1 260px; max-width: 300px; min-width: 0; background: #fff; border: 1px solid var(--rm-line); border-radius: 24px; padding: 24px; display: flex; flex-direction: column; gap: 24px; }
.rm-filters__head { display: flex; justify-content: space-between; align-items: center; }
.rm-filters__title { font-family: var(--rm-head); font-weight: 700; font-size: 18px; }
.rm-field-group { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.rm-field-group legend { padding: 0; margin-bottom: 10px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rm-muted); }
.rm-segs { display: flex; gap: 8px; }
.rm-seg { flex: 1; position: relative; }
.rm-seg input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.rm-seg span { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 4px; border-radius: 12px; border: 1px solid var(--rm-line2); font-size: 14px; font-weight: 600; text-align: center; }
.rm-seg input:checked + span { background: var(--rm-ink); border-color: var(--rm-ink); color: #fff; }
.rm-seg input:focus-visible + span { outline: 3px solid var(--rm-accent); outline-offset: 2px; }
.rm-pair { display: flex; gap: 8px; }
.rm-pair label { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--rm-muted); }

.rm-estoque__main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.rm-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.rm-active { display: flex; flex-wrap: wrap; gap: 8px; }
.rm-sort label { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--rm-muted); }
.rm-sort select { min-height: 44px; padding: 0 12px; border: 1px solid var(--rm-line2); border-radius: 12px; background: #fff; color: var(--rm-ink); font: 400 14px var(--rm-body); }

/* Página da moto */
.rm-moto-top { padding-top: 24px; }
.rm-moto-top__in { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }
.rm-gallery { flex: 999 1 620px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.rm-gallery__main { aspect-ratio: 3 / 2; background: #E6E5E0; border-radius: 28px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: #6B7076; overflow: hidden; }
.rm-gallery__main img { width: 100%; height: 100%; object-fit: cover; }
.rm-gallery__empty { font-size: 14px; font-weight: 500; }
.rm-gallery__thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.rm-gallery__thumb { aspect-ratio: 4 / 3; padding: 0; border: 1px solid var(--rm-line); border-radius: 14px; background: var(--rm-media); overflow: hidden; cursor: pointer; }
.rm-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rm-gallery__thumb[aria-current="true"] { border: 2px solid var(--rm-accent); }

.rm-buybox { flex: 1 1 380px; min-width: 0; }
.rm-buybox__card { background: #fff; border: 1px solid var(--rm-line); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 20px; }
.rm .rm-buybox .rm-btn--outline { background: transparent; border-color: var(--rm-ink); }
.rm-buybox__links { display: flex; justify-content: center; flex-wrap: wrap; gap: 0 24px; font-size: 14px; }
.rm-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.rm-tag { padding: 6px 12px; border-radius: 999px; background: var(--rm-chip); font-size: 12px; font-weight: 600; }
.rm-tag--outline { background: transparent; border: 1px solid var(--rm-ink); }
.rm-moto__title { font-weight: 800; font-size: clamp(30px, 3.4vw, 40px); line-height: 1.05; letter-spacing: -0.02em; }
.rm-moto__title + p { margin-top: 8px; }
.rm-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 10px; }
.rm-stat { background: var(--rm-bg); border-radius: 14px; padding: 12px; }
.rm-stat span { display: block; font-size: 12px; color: var(--rm-muted); }
.rm-stat strong { display: block; margin-top: 2px; font-weight: 600; }
.rm-price { border-top: 1px solid #EEEDE8; padding-top: 18px; display: flex; flex-direction: column; gap: 2px; }
.rm-price__label { font-size: 13px; color: var(--rm-muted); }
.rm-price__value { font-family: var(--rm-head); font-weight: 800; font-size: 44px; line-height: 1.1; letter-spacing: -0.02em; }
.rm-price__note { font-size: 14px; color: var(--rm-soft); margin-top: 2px; }
.rm-price__fine { font-size: 12px; color: var(--rm-muted); }

.rm-moto-body { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }
.rm-moto-body__main { flex: 999 1 620px; min-width: 0; display: flex; flex-direction: column; gap: 40px; }
.rm-block { display: flex; flex-direction: column; gap: 16px; }
.rm-specs { background: #fff; border: 1px solid var(--rm-line); border-radius: 20px; overflow: hidden; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rm-specs > div { padding: 16px 20px; border-bottom: 1px solid #EEEDE8; display: flex; justify-content: space-between; gap: 12px; }
.rm-specs dt { color: var(--rm-muted); font-size: 14px; }
.rm-specs dd { font-weight: 600; font-size: 14px; text-align: right; }
.rm-itens { display: flex; flex-wrap: wrap; gap: 10px; }
.rm-itens li { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 12px; background: #fff; border: 1px solid var(--rm-line); font-size: 14px; }
.rm-itens svg { color: var(--rm-accent); flex: none; }
.rm-proposta { flex: 1 1 380px; min-width: 0; scroll-margin-top: 24px; background: #fff; border: 1px solid var(--rm-line); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.rm-proposta .rm-muted { font-size: 14px; margin-top: -8px; }

@media (min-width: 981px) {
	.rm-buybox { position: sticky; top: 24px; }
}

@media (max-width: 720px) {
	.rm-filters { max-width: none; flex-basis: 100%; }
	.rm-hero { padding: 40px 0 40px; }
	.rm-section { padding-top: 64px; }
	.rm-section--last { padding-bottom: 64px; }
	.rm-specs { grid-template-columns: 1fr; }
	.rm-gallery__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.rm-price__value { font-size: 38px; }
	.rm-search.rm-wrap { padding: 16px; }
	.rm-search__btn { width: 100%; }
}
