/* OFT Produtos — catálogo e página do produto (medidas do Figma em 1920; conteúdo de 1280px) */

.oftp {
	--oftp-azul: var(--oft-azul, #00294e);
	--oftp-ouro: var(--oft-dourado, #c2872a);
	--oftp-cinza: #a7a5a5;
	--oftp-fundo: #f8f8f8;
	--oftp-borda: #ebebeb;
	--oftp-ease: cubic-bezier(.22, 1, .36, 1);
	--oftp-lado: 40px;
	box-sizing: border-box;
	width: min(1280px, 100% - var(--oftp-lado) * 2);
	margin-inline: auto;
	color: var(--oftp-azul);
	font-family: var(--oft-fonte, "Urbanist"), system-ui, -apple-system, "Segoe UI", sans-serif;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-align: start;
}
.oftp *, .oftp *::before, .oftp *::after { box-sizing: border-box; }
.oftp :where(h1, h2, h3, p, ul, ol, figure) { margin: 0; padding: 0; }
.oftp :where(ul, ol) { list-style: none; }
.oftp :where(a) { color: inherit; text-decoration: none; }
.oftp :where(button, input) { font: inherit; color: inherit; }
.oftp img { display: block; max-width: 100%; }
.oftp [hidden] { display: none !important; }
.oftp-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.oftp :where(.oftp-titulo, .oftp-filtro__todos, .oftp-card__marca, .oftp-card__titulo, .oftp-card__resumo, .oftp-btn span, .oftp-info__titulo, .oftp-avaliacao__rotulo) {
	text-box: trim-both cap alphabetic;
}

/* ------------------------------------------------------------------ botões (mesmo padrão das páginas da OFT) */
.oftp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 35px;
	height: 70px;
	padding: 0 10px 0 30px;
	border-radius: 9999px;
	font-size: 16px;
	line-height: 1.2;
	font-weight: 500;
	letter-spacing: -0.48px;
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
	transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, background-color .3s ease;
}
.oftp-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(4, 13, 38, .18); }
.oftp-btn:focus-visible { outline: 2px solid var(--oftp-azul); outline-offset: 3px; }
.oftp-btn__icone { flex: none; width: 61px; height: 61px; transition: transform .45s var(--oftp-ease); }
.oftp-btn:hover .oftp-btn__icone { transform: rotate(45deg); }
.oftp-btn--ouro { background: var(--oftp-ouro); color: #fff; }
.oftp-btn--contorno { background: #fff; color: var(--oftp-azul); border: 1px solid #aaa; }
.oftp-btn--azul {
	justify-content: center;
	gap: 10px;
	padding: 10px 20px;
	background: #1c45c3;
	border: 1px solid #1c45c3;
	border-radius: 100px;
	color: #fff;
	font-size: 20px;
	letter-spacing: -0.6px;
}
.oftp-btn--azul span { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.oftp-btn__download { flex: none; width: 24px; height: 24px; }

/* ------------------------------------------------------------------ catálogo */
.oftp-catalogo { margin-top: 66px; }

.oftp-banner {
	position: relative;
	height: 369px;
	border-radius: 24px;
	overflow: hidden;
	background: #07090d;
}
.oftp-banner picture, .oftp-banner__foto { display: block; width: 100%; height: 100%; }
.oftp-banner__foto { object-fit: cover; object-position: 50% 50%; }
.oftp-banner__logo {
	position: absolute;
	left: 15.625%;
	top: 50%;
	height: 103.905px;
	width: auto;
	max-width: 32%;
	transform: translateY(-50%);
	object-fit: contain;
}

.oftp-topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 91px;
}
.oftp-titulo {
	font-size: 40px;
	line-height: 48px;
	font-weight: 500;
	letter-spacing: -1.2px;
	color: var(--oftp-azul);
}
.oftp-busca {
	position: relative;
	display: flex;
	align-items: center;
	flex: 0 1 413px;
	height: 45px;
	border-radius: 999px;
	background: #f8f8f8;
	box-shadow: inset 0 4px 42.3px rgba(0, 0, 0, .06);
	transition: box-shadow .3s ease;
}
.oftp-busca:focus-within { box-shadow: inset 0 4px 42.3px rgba(0, 0, 0, .06), 0 0 0 1px var(--oftp-ouro); }
.oftp-busca input {
	flex: 1;
	min-width: 0;
	height: 100%;
	padding: 0 8px 0 27px;
	border: 0;
	background: transparent;
	font-size: 14px;
	color: var(--oftp-azul);
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}
.oftp-busca input::placeholder { color: #9c9c9c; font-size: 10px; opacity: 1; }
.oftp-busca input::-webkit-search-cancel-button { cursor: pointer; }
.oftp-busca__botao {
	display: grid;
	place-items: center;
	width: 45px;
	height: 45px;
	margin-right: 4px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}
.oftp-busca__botao svg { width: 16px; height: 16px; }

.oftp-corpo {
	display: flex;
	align-items: flex-start;
	gap: 25px;
	margin-top: 52px;
}

/* filtro */
.oftp-filtro {
	flex: 0 0 360px;
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding: 37px 30px 33px;
	border-radius: 12px;
	background: var(--oftp-fundo);
}
.oftp-filtro__grupo { display: flex; flex-direction: column; gap: 25px; }
.oftp-filtro__todos {
	align-self: flex-start;
	font-size: 14px;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: -0.42px;
	text-transform: uppercase;
	color: var(--oftp-ouro);
	transition: color .25s ease, opacity .25s ease;
}
.oftp-filtro__todos:not(.is-ativo) { opacity: .75; }
.oftp-filtro__todos:hover { opacity: 1; }
.oftp-filtro__lista { display: flex; flex-direction: column; gap: 15px; }
.oftp-chip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 294px;
	max-width: 100%;
	height: 41px;
	padding: 10px 16px;
	border: 1px solid var(--oftp-cinza);
	border-radius: 9999px;
	color: var(--oftp-cinza);
	font-size: 16px;
	line-height: 21px;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .3s ease, border-color .3s ease, color .3s ease, transform .3s var(--oftp-ease);
	-webkit-tap-highlight-color: transparent;
}
.oftp-chip__nome { overflow: hidden; text-overflow: ellipsis; }
.oftp-chip__icone { flex: none; width: 25px; height: 25px; transition: transform .45s var(--oftp-ease), opacity .3s ease; }
.oftp-chip:hover { border-color: var(--oftp-ouro); color: var(--oftp-ouro); }
.oftp-chip:hover .oftp-chip__icone { transform: rotate(45deg); }
.oftp-chip.is-ativo { background: var(--oftp-ouro); border-color: var(--oftp-ouro); color: #fff; }
.oftp-chip.is-ativo .oftp-chip__icone { display: none; }
.oftp-chip:focus-visible, .oftp-filtro__todos:focus-visible { outline: 2px solid var(--oftp-azul); outline-offset: 2px; }

/* grade de produtos */
.oftp-resultado { flex: 1 1 895px; min-width: 0; }
.oftp-grade {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(262px, 1fr));
	gap: 24px 14px;
}
.oftp-card { display: flex; }
.oftp-card__corpo {
	display: flex;
	flex-direction: column;
	gap: 35px;
	width: 100%;
	padding: 23px 23px 23px;
	border: 1px solid var(--oftp-borda);
	border-radius: 23px;
	background: #fff;
	transition: box-shadow .4s ease, transform .4s var(--oftp-ease), border-color .3s ease;
}
.oftp-card__corpo:hover { box-shadow: 0 18px 40px rgba(0, 41, 78, .08); border-color: #e2e2e2; }
.oftp-card__foto {
	display: block;
	height: 243.754px;
	border-radius: 14px;
	overflow: hidden;
	background: var(--oftp-fundo);
}
.oftp-card__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--oftp-ease); }
.oftp-card__corpo:hover .oftp-card__foto img { transform: scale(1.04); }
.oftp-card__info { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 25px; }
.oftp-card__selos { display: flex; flex-wrap: wrap; gap: 8px; }
.oftp-card__rascunho { display: inline-flex; align-items: center; height: 29px; padding: 0 12px; border-radius: 9999px; background: #fff4e0; color: #8a5a12; font-size: 12px; font-weight: 600; }
.oftp-card__marca {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 89px;
	height: 29px;
	padding: 0 14px;
	border-radius: 9999px;
	background: var(--oftp-azul);
	color: #fff;
	font-size: 13px;
	line-height: 21px;
	font-weight: 600;
}
.oftp-card__textos { display: flex; flex-direction: column; gap: 17px; width: 100%; }
.oftp-card__titulo { font-size: 24px; line-height: 28.8px; font-weight: 500; letter-spacing: -0.72px; color: var(--oftp-azul); }
.oftp-card__titulo a { display: block; }
.oftp-card__titulo a:focus-visible { outline: 2px solid var(--oftp-ouro); outline-offset: 4px; border-radius: 4px; }
.oftp-card__tipo { display: block; }
.oftp-card__resumo { font-size: 16px; line-height: 21px; font-weight: 600; color: var(--oftp-azul); }
.oftp-card__botao { width: 100%; margin-top: auto; }

.oftp-card.is-entrando .oftp-card__corpo { animation: oftp-entra .6s var(--oftp-ease) both; animation-delay: calc(var(--oftp-i, 0) * 45ms); }
@keyframes oftp-entra { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

.oftp-vazio {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 28px;
	padding: 48px 40px;
	border-radius: 23px;
	background: var(--oftp-fundo);
	font-size: 20px;
	line-height: 28.8px;
}
.oftp-mais {
	display: flex;
	margin: 40px auto 0;
	align-items: center;
	height: 56px;
	padding: 0 32px;
	border: 1px solid var(--oftp-ouro);
	border-radius: 9999px;
	background: #fff;
	color: var(--oftp-ouro);
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	transition: background-color .3s ease, color .3s ease;
}
.oftp-mais:hover { background: var(--oftp-ouro); color: #fff; }

/* ------------------------------------------------------------------ página do produto */
.oftp-produto {
	display: flex;
	align-items: center;
	gap: 48px;
	margin-top: 76px;
}
.oftp-galeria { flex: 0 0 592px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.oftp-galeria__principal {
	height: 747px;
	border-radius: 24px;
	overflow: hidden;
	background: #04060c;
}
.oftp-galeria__foto { width: 100%; height: 100%; object-fit: cover; transition: opacity .35s ease; }
.oftp-galeria__foto.is-trocando { opacity: 0; }
.oftp-galeria__miniaturas {
	display: flex;
	gap: 13.45px;
	overflow-x: auto;
	scrollbar-width: none;
}
.oftp-galeria__miniaturas::-webkit-scrollbar { display: none; }
.oftp-galeria__miniaturas li { flex: 0 0 107.636px; }
.oftp-galeria__mini {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	padding: 0;
	border: 0;
	border-radius: 26.909px;
	overflow: hidden;
	background: #aaa;
	cursor: pointer;
	opacity: .78;
	transition: opacity .3s ease, box-shadow .3s ease;
}
.oftp-galeria__mini img { width: 100%; height: 100%; object-fit: cover; }
.oftp-galeria__mini:hover, .oftp-galeria__mini[aria-current="true"] { opacity: 1; }
.oftp-galeria__mini[aria-current="true"] { box-shadow: inset 0 0 0 2px var(--oftp-ouro); }
.oftp-galeria__mini[aria-current="true"] img { outline: 2px solid var(--oftp-ouro); outline-offset: -2px; border-radius: 26.909px; }
.oftp-galeria__mini:focus-visible { outline: 2px solid var(--oftp-azul); outline-offset: 2px; }

.oftp-info { flex: 0 1 629px; display: flex; flex-direction: column; gap: 30px; min-width: 0; }
.oftp-info__cabeca { display: flex; flex-direction: column; align-items: flex-start; gap: 25px; }
.oftp-info__marca { width: auto; height: 45.543px; max-width: 240px; object-fit: contain; object-position: left center; }
.oftp-info__marca-texto { font-size: 20px; font-weight: 700; letter-spacing: -0.4px; color: var(--oftp-azul); }
.oftp-info__titulo { font-size: 40px; line-height: 48px; font-weight: 500; letter-spacing: -1.2px; color: var(--oftp-azul); }
.oftp-info__texto { font-size: 20px; line-height: 24px; letter-spacing: -0.2px; color: var(--oftp-azul); }
.oftp-info__texto p { margin: 0 0 24px; }
.oftp-info__texto > :last-child { margin-bottom: 0; }
.oftp-info__texto :where(ul, ol) { margin: 0 0 24px 1.2em; list-style: disc; }
.oftp-info__texto a { color: var(--oftp-ouro); text-decoration: underline; }
.oftp-avaliacao { display: flex; align-items: center; gap: 6px; }
.oftp-avaliacao__rotulo { font-size: 16px; line-height: 19.2px; font-weight: 500; letter-spacing: -0.8px; }
.oftp-estrelas {
	position: relative;
	display: block;
	width: 124px;
	height: 20px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='124' height='20' viewBox='0 0 124 20'%3E%3Cg fill='%23dfe2e7'%3E%3Cpath d='M10.71 0l2.53 7.64h8.18l-6.62 4.72 2.53 7.64-6.62-4.72L4.09 20l2.53-7.64L0 7.64h8.18z'/%3E%3Cpath d='M36.36 0l2.52 7.64h8.19l-6.62 4.72 2.53 7.64-6.62-4.72L29.74 20l2.52-7.64-6.62-4.72h8.19z'/%3E%3Cpath d='M62 0l2.53 7.64h8.18l-6.62 4.72L68.62 20 62 15.28 55.38 20l2.53-7.64-6.62-4.72h8.18z'/%3E%3Cpath d='M87.64 0l2.53 7.64h8.19l-6.62 4.72 2.52 7.64-6.62-4.72L81.03 20l2.52-7.64-6.62-4.72h8.18z'/%3E%3Cpath d='M113.29 0l2.53 7.64H124l-6.62 4.72 2.53 7.64-6.62-4.72L106.67 20l2.53-7.64-6.62-4.72h8.18z'/%3E%3C/g%3E%3C/svg%3E") left center / 124px 20px no-repeat;
}
.oftp-estrelas::after {
	content: "";
	position: absolute;
	inset: 0;
	width: calc(var(--oftp-nota, 1) * 100%);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='124' height='20' viewBox='0 0 124 20'%3E%3Cg fill='%23c2872a'%3E%3Cpath d='M10.71 0l2.53 7.64h8.18l-6.62 4.72 2.53 7.64-6.62-4.72L4.09 20l2.53-7.64L0 7.64h8.18z'/%3E%3Cpath d='M36.36 0l2.52 7.64h8.19l-6.62 4.72 2.53 7.64-6.62-4.72L29.74 20l2.52-7.64-6.62-4.72h8.19z'/%3E%3Cpath d='M62 0l2.53 7.64h8.18l-6.62 4.72L68.62 20 62 15.28 55.38 20l2.53-7.64-6.62-4.72h8.18z'/%3E%3Cpath d='M87.64 0l2.53 7.64h8.19l-6.62 4.72 2.52 7.64-6.62-4.72L81.03 20l2.52-7.64-6.62-4.72h8.18z'/%3E%3Cpath d='M113.29 0l2.53 7.64H124l-6.62 4.72 2.53 7.64-6.62-4.72L106.67 20l2.53-7.64-6.62-4.72h8.18z'/%3E%3C/g%3E%3C/svg%3E") left center / 124px 20px no-repeat;
}
.oftp-acoes { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; width: 572px; max-width: 100%; }
.oftp-acoes__linha { display: flex; gap: 10px; flex-wrap: wrap; }
.oftp-acoes__linha .oftp-btn--ouro { width: 241px; }
.oftp-acoes__linha .oftp-btn--contorno { width: 321px; }
.oftp-acoes .oftp-btn--azul { width: 451px; max-width: 100%; }

.oftp-sem-modelo .oftp-produto { margin-block: 60px 100px; }

/* ------------------------------------------------------------------ notebook (1025–1359): colunas proporcionais */
@media (max-width: 1359.98px) {
	.oftp-filtro { flex-basis: 300px; padding-inline: 24px; }
	.oftp-chip { width: 100%; }
	.oftp-produto { gap: 40px; }
	.oftp-galeria { flex-basis: 46%; }
	.oftp-galeria__principal { height: auto; aspect-ratio: 592 / 747; }
	.oftp-galeria__miniaturas li { flex-basis: calc((100% - 4 * 13.45px) / 5); }
	.oftp-info__titulo { font-size: 36px; line-height: 43px; }
	.oftp-info__texto { font-size: 18px; line-height: 24px; }
	.oftp-acoes, .oftp-acoes .oftp-btn--azul { width: 100%; }
	.oftp-acoes__linha { width: 100%; }
	.oftp-acoes__linha .oftp-btn--ouro, .oftp-acoes__linha .oftp-btn--contorno { width: auto; flex: 1 1 220px; }
}

/* ------------------------------------------------------------------ tablet (≤1024) */
@media (max-width: 1024px) {
	.oftp-catalogo { margin-top: 40px; }
	.oftp-banner { height: clamp(220px, 28.8vw, 369px); border-radius: 20px; }
	.oftp-topo { flex-direction: column; align-items: stretch; gap: 24px; margin-top: 56px; }
	.oftp-titulo { font-size: 34px; line-height: 41px; }
	.oftp-busca { flex: none; width: 100%; height: 52px; }
	.oftp-busca input { font-size: 16px; }
	.oftp-busca input::placeholder { font-size: 14px; }
	.oftp-corpo { flex-direction: column; align-items: stretch; gap: 28px; margin-top: 32px; }
	.oftp-resultado { flex: none; }
	.oftp-filtro {
		position: static;
		flex: none;
		gap: 14px;
		padding: 0;
		border-radius: 0;
		background: none;
	}
	.oftp-filtro__grupo {
		flex-direction: row;
		align-items: center;
		gap: 10px;
		margin-inline: calc(var(--oftp-lado) * -1);
		padding: 2px var(--oftp-lado);
		overflow-x: auto;
		scrollbar-width: none;
		scroll-snap-type: x proximity;
		scroll-padding-inline: var(--oftp-lado);
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--oftp-lado), #000 calc(100% - var(--oftp-lado)), transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0, #000 var(--oftp-lado), #000 calc(100% - var(--oftp-lado)), transparent 100%);
	}
	.oftp-filtro__grupo::-webkit-scrollbar { display: none; }
	.oftp-filtro__lista { flex-direction: row; gap: 10px; }
	.oftp-filtro__todos {
		display: inline-flex;
		align-items: center;
		flex: none;
		height: 41px;
		padding: 0 18px;
		border: 1px solid var(--oftp-ouro);
		border-radius: 9999px;
		font-size: 13px;
		opacity: 1 !important;
		white-space: nowrap;
		scroll-snap-align: start;
	}
	.oftp-filtro__todos.is-ativo { background: var(--oftp-ouro); color: #fff; }
	.oftp-chip { width: auto; flex: none; gap: 10px; padding-right: 8px; scroll-snap-align: start; }
	.oftp-chip.is-ativo { padding-right: 16px; }
	.oftp-grade { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }

	.oftp-produto { flex-direction: column; align-items: stretch; gap: 48px; margin-top: 40px; }
	.oftp-galeria { flex: none; width: 100%; max-width: 640px; margin-inline: auto; }
	.oftp-info { flex: none; }
	.oftp-info__titulo { font-size: 34px; line-height: 41px; }
}

/* seletor dourado de categoria/marca: só no celular */
.oftp-select { display: none; }

/* ------------------------------------------------------------------ celular (≤767): Figma mobile do designer (catálogo 3185:26431, produto 3185:27124, 420px) */
@media (max-width: 767px) {
	.oftp { --oftp-lado: max(20px, calc((100vw - 340px) / 2)); width: 100%; padding-inline: var(--oftp-lado); }
	.oftp-btn { height: 55px; gap: 15px; padding: 0 10px 0 25px; }
	.oftp-btn__icone { width: 43px; height: 43px; }

	/* catálogo: banner da marca de ponta a ponta (746px) com a logo no alto */
	.oftp-catalogo { margin-top: 0; }
	.oftp-banner { height: 746px; aspect-ratio: auto; margin-inline: calc(var(--oftp-lado) * -1); border-radius: 0; background: #050405; }
	.oftp .oftp-banner picture, .oftp .oftp-banner__foto { width: 100%; height: 100%; }
	.oftp .oftp-banner__foto { object-fit: cover; object-position: 50% 50%; }
	.oftp .oftp-banner__logo { left: 50%; top: 130px; width: auto; height: 87px; max-width: 258px; transform: translateX(-50%); }
	.oftp-topo { flex-direction: column; align-items: center; gap: 35px; margin-top: 100px; }
	.oftp-titulo { max-width: 219px; font-size: 24px; line-height: 28.8px; letter-spacing: -0.02em; text-align: center; }
	.oftp-busca { flex: none; width: 100%; height: 45px; }
	.oftp-busca input { padding-left: 22px; font-size: 14px; }
	.oftp-busca input::placeholder { font-size: 10px; }
	.oftp-busca__botao { margin-right: 0; }
	.oftp-busca__botao svg { width: 14.5px; height: 14.5px; }

	/* filtro: caixa cinza com "TODOS OS PRODUTOS" e o seletor dourado */
	.oftp-corpo { gap: 45px; margin-top: 35px; }
	.oftp-filtro { align-items: stretch; gap: 25px; padding: 37px 17.5px; border-radius: 12px; background: var(--oftp-fundo); }
	.oftp-filtro__grupo { flex-direction: column; align-items: center; gap: 25px; margin: 0; padding: 0; overflow: visible; -webkit-mask-image: none; mask-image: none; }
	.oftp-filtro__lista { display: none; }
	.oftp-filtro__todos {
		align-self: center; height: auto; padding: 0; border: 0; border-radius: 0; background: none !important; color: var(--oftp-ouro) !important;
		font-size: 14px; line-height: 1.2; font-weight: 700; letter-spacing: -0.04em;
	}
	.oftp-select {
		display: block; width: 305px; max-width: 100%; height: 41px; padding: 0 44px 0 19.2px;
		border: 0; border-radius: 9999px; outline: none;
		background: var(--oftp-ouro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4.5L9 1' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 20px center / 10px 7px no-repeat;
		color: #fff; font-family: inherit; font-size: 16px; line-height: 21px; font-weight: 400; cursor: pointer;
		-webkit-appearance: none; appearance: none; -webkit-tap-highlight-color: transparent;
	}
	.oftp-select:focus-visible { outline: 2px solid var(--oftp-azul); outline-offset: 2px; }
	.oftp-select option { color: var(--oftp-azul); background: #fff; }

	/* cartões: 2 colunas (167px no Figma de 420) */
	.oftp-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 6px; }
	.oftp-card__corpo { align-items: center; gap: 23.4px; padding: 3px 3px 14.4px; border: 0; border-radius: 13px; background: #eef1f5; }
	.oftp-card__corpo:hover { box-shadow: 0 12px 28px rgba(0, 41, 78, .08); }
	.oftp-card__foto { width: 100%; height: 163.3px; aspect-ratio: auto; border-radius: 9.38px; background: var(--oftp-fundo); }
	.oftp-card__info { align-items: center; gap: 16.7px; width: 100%; }
	.oftp-card__selos { justify-content: center; }
	.oftp-card__marca { min-width: 70px; height: 25px; padding: 0 6.7px; font-size: 12px; line-height: 14.07px; }
	.oftp-card__textos { align-items: center; gap: 11.4px; text-align: center; }
	.oftp-card__titulo { font-size: 16px; line-height: 19.29px; letter-spacing: -0.025em; text-align: center; }
	.oftp-card__resumo { max-width: 112px; font-size: 14px; line-height: 16.8px; font-weight: 400; text-align: center; }
	.oftp-card__botao { width: 130px; height: 35px; gap: 23.4px; padding: 0 6.7px 0 22px; font-size: 10.72px; letter-spacing: -0.03em; }
	.oftp-card__botao .oftp-btn__icone { width: 24.9px; height: 24.9px; }
	.oftp-vazio { grid-column: 1 / -1; padding: 32px 24px; font-size: 17px; line-height: 25px; }

	/* produto: logo da marca + nota em cima, foto com bolinhas, textos e botões centralizados */
	.oftp-produto {
		display: grid; grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas: "marca nota" "galeria galeria" "titulo titulo" "texto texto" "acoes acoes";
		align-items: center; gap: 0; margin-top: 30px;
	}
	.oftp-info, .oftp-info__cabeca { display: contents; }
	.oftp .oftp-info__marca, .oftp .oftp-info__marca-texto { grid-area: marca; justify-self: start; width: auto; height: 39px; max-width: 200px; }
	.oftp-avaliacao { grid-area: nota; justify-self: end; gap: 3.8px; }
	.oftp-avaliacao__rotulo { display: none; }
	.oftp-avaliacao__nota { font-size: 10.07px; line-height: 12.08px; font-weight: 500; letter-spacing: -0.05em; color: var(--oftp-azul); }
	.oftp-estrelas, .oftp-estrelas::after { background-size: 78px 12.6px; }
	.oftp-estrelas { width: 78px; height: 12.6px; }
	.oftp-galeria { grid-area: galeria; width: 100%; max-width: none; gap: 25px; margin-top: 21px; }
	.oftp-galeria__principal { height: 430.3px; aspect-ratio: auto; border-radius: 13.8px; }
	.oftp-galeria__miniaturas { justify-content: center; gap: 17.7px; overflow: visible; }
	.oftp-galeria__miniaturas li { flex: 0 0 8.5px; }
	.oftp-galeria__mini { width: 8.5px; height: 8.5px; aspect-ratio: auto; border-radius: 50%; background: #d9d9d9; opacity: 1; box-shadow: none !important; }
	.oftp-galeria__mini img { display: none; }
	.oftp-galeria__mini[aria-current="true"] { background: #040d26; }
	.oftp-info__titulo { grid-area: titulo; margin-top: 33.2px; font-size: 28px; line-height: 33.6px; letter-spacing: -0.03em; text-align: center; }
	.oftp-info__texto { grid-area: texto; margin-top: 20px; font-size: 16px; line-height: 19.2px; letter-spacing: 0.02em; text-align: center; }
	.oftp-info__texto p { margin-bottom: 19.2px; }
	.oftp-acoes { grid-area: acoes; width: 100%; align-items: stretch; gap: 16px; margin-top: 20px; }
	.oftp-acoes__linha { flex-direction: column; gap: 10px; width: 100%; }
	.oftp-acoes__linha .oftp-btn--ouro, .oftp-acoes__linha .oftp-btn--contorno { width: 100%; flex: none; justify-content: space-between; padding: 0 10px 0 31px; }
	.oftp-acoes__linha .oftp-btn__icone { width: 44.4px; height: 44.4px; }
	.oftp-btn--azul { height: 55px; gap: 10px; padding: 10px; font-size: 16px; letter-spacing: -0.03em; white-space: nowrap; }
	.oftp-btn__download { width: 17.6px; height: 17.6px; }
}

@media (prefers-reduced-motion: reduce) {
	.oftp *, .oftp *::before, .oftp *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
