/* Alphatech – Catálogo e Cotação
   As fontes vêm do tema do site. Ajuste as cores pelas variáveis abaixo
   ou pela "Cor de destaque" em Catálogo → Configurações. */

.atc {
	--atc-accent: #1b5fa8;
	--atc-ink: #1d2733;
	--atc-muted: #5d6b7a;
	--atc-line: #d9e0e7;
	--atc-soft: #f4f6f8;
	--atc-paper: #ffffff;
	--atc-error: #b42318;
	--atc-ok: #1f7a4d;
	--atc-mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, Consolas, monospace;
	color: var(--atc-ink);
	font-size: 16px;
	line-height: 1.5;
}

.atc *,
.atc *::before,
.atc *::after { box-sizing: border-box; }

.atc-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;
}

.atc :focus-visible {
	outline: 2px solid var(--atc-accent);
	outline-offset: 2px;
}

/* ---------- Barra de busca ---------- */

.atc-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0 0 24px;
}

.atc-search {
	position: relative;
	flex: 1 1 320px;
}

.atc-search svg {
	position: absolute;
	left: 14px; top: 50%;
	width: 18px; height: 18px;
	transform: translateY(-50%);
	color: var(--atc-muted);
	pointer-events: none;
}

.atc .atc-q,
.atc .atc-cat-select,
.atc .atc-sub-select,
.atc .atc-fab-select {
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--atc-line);
	border-radius: 4px;
	background: var(--atc-paper);
	color: var(--atc-ink);
	font: inherit;
	box-shadow: none;
}

.atc .atc-q { padding-left: 42px; }

.atc-cat { flex: 0 1 260px; }

.atc-count {
	flex: 1 0 100%;
	margin: 0;
	font-size: 14px;
	color: var(--atc-muted);
}

/* ---------- Cartões ---------- */

.atc-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.atc-card { margin: 0; padding: 0; }
.atc-card[hidden] { display: none; }

.atc .atc-card-btn {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 1px solid var(--atc-line);
	border-radius: 6px;
	background: var(--atc-paper);
	color: inherit;
	font: inherit;
	text-align: left;
	text-decoration: none;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
	cursor: pointer;
	overflow: hidden;
	transition: border-color .15s ease;
}

.atc .atc-card-btn:hover,
.atc .atc-card-btn:focus-visible {
	border-color: var(--atc-accent);
	background: var(--atc-paper);
	color: inherit;
}

.atc-card-img {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	padding: 14px 18px;
	border-bottom: 1px solid var(--atc-line);
	background: var(--atc-paper);
}

.atc-card-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.atc-noimg {
	display: flex;
	width: 40%;
	color: var(--atc-line);
}

.atc-noimg svg { width: 100%; height: auto; }

.atc-card-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 12px 14px 14px;
}

.atc-card-code {
	font-family: var(--atc-mono);
	font-size: 13px;
	font-weight: 600;
	color: var(--atc-accent);
	word-break: break-all;
}

.atc-card-name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--atc-ink);
}

.atc-card-cat {
	margin-top: 2px;
	font-size: 13px;
	color: var(--atc-muted);
}

.atc-empty {
	padding: 32px 0;
	color: var(--atc-muted);
	max-width: 60ch;
}

.atc-more-wrap { text-align: center; margin-top: 28px; }

.atc .atc-more,
.atc .atc-add-item {
	margin: 0;
	padding: 0 20px;
	height: 44px;
	border: 1px solid var(--atc-accent);
	border-radius: 4px;
	background: transparent;
	color: var(--atc-accent);
	font: inherit;
	font-weight: 600;
	font-size: 15px;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
	box-shadow: none;
}

.atc .atc-more:hover,
.atc .atc-add-item:hover {
	background: var(--atc-accent);
	color: #fff;
}

.atc .atc-more[hidden] { display: none; }

/* ---------- Janela de detalhes ---------- */

.atc-modal {
	width: min(980px, calc(100% - 24px));
	max-width: none;
	max-height: calc(100vh - 32px);
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: var(--atc-paper);
	color: var(--atc-ink);
	overflow: hidden;
}

.atc-modal::backdrop { background: rgba(17, 27, 38, .6); }

.atc-modal[open] { animation: atc-in .18s ease-out; }

@keyframes atc-in {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.atc-modal[open] { animation: none; }
	.atc .atc-card-btn { transition: none; }
}

.atc-modal-inner {
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	overscroll-behavior: contain;
}

.atc .atc-close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--atc-line);
	border-radius: 50%;
	background: var(--atc-paper);
	color: var(--atc-ink);
	cursor: pointer;
	box-shadow: none;
}

.atc .atc-close:hover { border-color: var(--atc-ink); background: var(--atc-paper); color: var(--atc-ink); }
.atc-close svg { width: 18px; height: 18px; }

.atc-detail { padding: 32px; }

.atc-detail-grid {
	display: grid;
	grid-template-columns: minmax(200px, 320px) 1fr;
	gap: 32px;
	align-items: start;
}

.atc-detail-img {
	margin: 0;
	padding: 20px;
	border: 1px solid var(--atc-line);
	border-radius: 6px;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.atc-detail-img img { width: 100%; height: 100%; object-fit: contain; }
.atc-detail-img .atc-noimg { width: 35%; }

.atc-detail-cat {
	margin: 0 0 6px;
	font-size: 14px;
	color: var(--atc-muted);
}

.atc .atc-detail h2 {
	margin: 0 48px 20px 0;
	font-size: clamp(22px, 2.4vw, 28px);
	line-height: 1.2;
	color: var(--atc-ink);
}

.atc-specs { margin: 0 0 20px; }

.atc-specs > div {
	display: grid;
	grid-template-columns: 170px 1fr;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid var(--atc-line);
}

.atc-specs > div:last-child { border-bottom: 1px solid var(--atc-line); }
.atc-specs dt { margin: 0; font-size: 14px; color: var(--atc-muted); }
.atc-specs dd { margin: 0; font-size: 15px; }
.atc-specs .atc-mono { font-family: var(--atc-mono); font-weight: 600; }

.atc-detail-desc { font-size: 15px; max-width: 70ch; }
.atc-detail-desc > :first-child { margin-top: 0; }

.atc-detail-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	align-items: center;
	margin-top: 20px;
	font-size: 15px;
}

.atc .atc-detail-actions a { color: var(--atc-accent); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.atc .atc-copy {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--atc-accent);
	font: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
	box-shadow: none;
}

.atc .atc-copy:hover { background: none; color: var(--atc-ink); }

.atc-loading,
.atc-load-error { padding: 40px 0; color: var(--atc-muted); }

.atc-modal-quote {
	padding: 28px 32px 32px;
	border-top: 1px solid var(--atc-line);
	background: var(--atc-soft);
}

.atc .atc-modal-quote h3 { margin: 0 0 16px; font-size: 20px; color: var(--atc-ink); }

/* ---------- Formulário ---------- */

.atc-form { max-width: 820px; }

.atc .atc-fs {
	margin: 0 0 24px;
	padding: 0;
	border: 0;
	min-width: 0;
}

.atc .atc-fs legend {
	margin: 0 0 12px;
	padding: 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--atc-ink);
}

.atc-items { display: flex; flex-direction: column; gap: 12px; margin-bottom: 14px; }

.atc-item {
	display: grid;
	grid-template-columns: 1fr 150px 44px;
	gap: 10px;
	align-items: start;
	padding: 14px;
	border: 1px solid var(--atc-line);
	border-radius: 6px;
	background: var(--atc-paper);
}

.atc-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }

.atc .atc-field label {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: var(--atc-ink);
}

.atc .atc-form input[type="text"],
.atc .atc-form input[type="email"],
.atc .atc-form input[type="tel"],
.atc .atc-form input[type="number"],
.atc .atc-form textarea {
	width: 100%;
	height: 44px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--atc-line);
	border-radius: 4px;
	background: var(--atc-paper);
	color: var(--atc-ink);
	font: inherit;
	font-size: 15px;
	box-shadow: none;
}

.atc .atc-form textarea { height: auto; min-height: 88px; padding: 10px 12px; resize: vertical; }

.atc .atc-form input.atc-code-input { font-family: var(--atc-mono); font-size: 14px; }

.atc .atc-form input:focus,
.atc .atc-form textarea:focus { border-color: var(--atc-accent); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--atc-accent) 22%, transparent); }

.atc .atc-form input.atc-invalid,
.atc .atc-form textarea.atc-invalid { border-color: var(--atc-error); }
.atc .atc-form input.atc-invalid:focus { box-shadow: 0 0 0 3px color-mix(in srgb, var(--atc-error) 18%, transparent); }

.atc-hint,
.atc-err { font-size: 13px; line-height: 1.35; }
.atc-hint { color: var(--atc-muted); }
.atc-hint:empty { display: none; }
.atc-err { color: var(--atc-error); }
.atc-err:empty { display: none; }

.atc .atc-remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	margin-top: 27px;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 4px;
	background: transparent;
	color: var(--atc-muted);
	cursor: pointer;
	box-shadow: none;
}

.atc .atc-remove:hover { border-color: var(--atc-line); color: var(--atc-error); background: transparent; }
.atc-remove svg { width: 16px; height: 16px; }

.atc-grid2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.atc-span2 { grid-column: 1 / -1; }

.atc-phone { display: grid; grid-template-columns: 72px 1fr; gap: 8px; }
.atc .atc-form .atc-ddi { text-align: center; padding: 0 6px; }

.atc-consent { margin: 0 0 20px; }

.atc .atc-consent label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-weight: 400;
	font-size: 14px;
	color: var(--atc-muted);
	cursor: pointer;
}

.atc .atc-consent input { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: var(--atc-accent); }
.atc .atc-consent a { color: var(--atc-accent); }

.atc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.atc .atc-submit {
	height: 50px;
	margin: 0;
	padding: 0 28px;
	border: 0;
	border-radius: 4px;
	background: var(--atc-accent);
	color: #fff;
	font: inherit;
	font-size: 16px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
	box-shadow: none;
}

.atc .atc-submit:hover { background: color-mix(in srgb, var(--atc-accent) 85%, #000); color: #fff; }
.atc .atc-submit[disabled] { opacity: .65; cursor: progress; }

.atc-feedback { margin-top: 16px; font-size: 15px; }
.atc-feedback:empty { display: none; }

.atc-feedback.is-error {
	padding: 12px 14px;
	border-left: 3px solid var(--atc-error);
	background: color-mix(in srgb, var(--atc-error) 7%, #fff);
	color: var(--atc-error);
}

.atc-success {
	padding: 24px;
	border: 1px solid color-mix(in srgb, var(--atc-ok) 35%, #fff);
	border-radius: 6px;
	background: color-mix(in srgb, var(--atc-ok) 6%, #fff);
}

.atc-success p { margin: 0 0 14px; font-size: 16px; color: var(--atc-ink); }
.atc-success p strong { color: var(--atc-ok); }

/* ---------- Página do produto ---------- */

.atc-single {
	max-width: 1180px;
	margin: 0 auto;
	padding: 32px 20px 64px;
}

.atc-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 24px;
	font-size: 14px;
	color: var(--atc-muted);
}

.atc .atc-breadcrumb a { color: var(--atc-muted); text-decoration: underline; text-underline-offset: 3px; }
.atc .atc-breadcrumb a:hover { color: var(--atc-accent); }
.atc-breadcrumb > * + *::before { content: "›"; margin-right: 6px; color: var(--atc-line); }
.atc-breadcrumb [aria-current] { font-family: var(--atc-mono); color: var(--atc-ink); }

.atc .atc-single h1 {
	margin: 0 0 20px;
	font-size: clamp(26px, 3vw, 36px);
	line-height: 1.15;
	color: var(--atc-ink);
}

.atc-single-quote {
	margin-top: 40px;
	padding: 28px 32px 32px;
	border: 1px solid var(--atc-line);
	border-radius: 6px;
	background: var(--atc-soft);
}

.atc .atc-single-quote h2,
.atc .atc-related h2 { margin: 0 0 16px; font-size: 22px; color: var(--atc-ink); }

.atc-related { margin-top: 48px; }

/* ---------- Telas pequenas ---------- */

@media (max-width: 760px) {
	.atc-detail { padding: 20px; }
	.atc-detail-grid { grid-template-columns: 1fr; gap: 20px; }
	.atc-detail-img { max-width: 220px; }
	.atc-modal-quote { padding: 22px 20px 24px; }
	.atc-specs > div { grid-template-columns: 1fr; gap: 2px; }
	.atc-grid2 { grid-template-columns: 1fr; }
	.atc-item { grid-template-columns: 1fr 110px 44px; padding: 12px; }
	.atc .atc-submit { width: 100%; }
	.atc-single { padding: 20px 16px 48px; }
	.atc-single-quote { padding: 22px 16px 24px; }
}

@media (max-width: 480px) {
	.atc-cards { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.atc-card-img { padding: 10px; }
	.atc-card-body { padding: 10px; }
	.atc-card-name { font-size: 14px; }
	.atc-item { grid-template-columns: 1fr 44px; }
	.atc-item .atc-f-qty { grid-column: 1; grid-row: 2; }
	.atc-item .atc-remove { grid-column: 2; grid-row: 1; }
}

.atc-copied { font-size: 14px; color: var(--atc-ok); }
.atc-copied:empty { display: none; }

/* ================================================================== */
/* v1.4 – filtros A–Z e fabricante, grade/lista, botão "Veja mais"     */
/* ================================================================== */

.atc-toolbar { margin-bottom: 14px; }
.atc-toolbar .atc-cat { flex: 0 1 230px; }
.atc-count { flex: initial; margin: 0; }

/* Índice A–Z */
.atc-az {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 18px;
}

.atc .atc-az-btn {
	min-width: 34px;
	height: 34px;
	margin: 0;
	padding: 0 8px;
	border: 1px solid var(--atc-line);
	border-radius: 4px;
	background: var(--atc-paper);
	color: var(--atc-ink);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
	cursor: pointer;
}

.atc .atc-az-btn:hover:not(:disabled) { border-color: var(--atc-accent); color: var(--atc-accent); background: var(--atc-paper); }
.atc .atc-az-btn[aria-pressed="true"] { border-color: var(--atc-accent); background: var(--atc-accent); color: #fff; }
.atc .atc-az-btn:disabled { color: var(--atc-line); border-color: var(--atc-soft); background: transparent; cursor: default; }

/* Barra com contagem, limpar e grade/lista */
.atc-listbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin: 0 0 16px;
}

.atc .atc-clear {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--atc-accent);
	font: inherit;
	font-size: 14px;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-transform: none;
	box-shadow: none;
	cursor: pointer;
}

.atc .atc-clear[hidden] { display: none; }

.atc-views {
	display: inline-flex;
	margin-left: auto;
	border: 1px solid var(--atc-line);
	border-radius: 4px;
	overflow: hidden;
}

.atc .atc-view-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	margin: 0;
	padding: 0 12px;
	border: 0;
	border-radius: 0;
	background: var(--atc-paper);
	color: var(--atc-muted);
	font: inherit;
	font-size: 14px;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
	cursor: pointer;
}

.atc .atc-view-btn + .atc-view-btn { border-left: 1px solid var(--atc-line); }
.atc .atc-view-btn svg { width: 16px; height: 16px; }
.atc .atc-view-btn:hover { color: var(--atc-ink); background: var(--atc-soft); }
.atc .atc-view-btn[aria-pressed="true"] { background: var(--atc-soft); color: var(--atc-accent); font-weight: 600; }

/* Cartão: a borda passa para o item, para o "Veja mais" ficar dentro */
.atc-card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--atc-line);
	border-radius: 6px;
	background: var(--atc-paper);
	overflow: hidden;
	transition: border-color .15s ease;
}

.atc-card:hover { border-color: var(--atc-accent); }

.atc .atc-card-btn {
	flex: 1;
	height: auto;
	border: 0;
	border-radius: 0;
}

.atc .atc-card-btn:focus-visible { outline: 2px solid var(--atc-accent); outline-offset: -2px; }

.atc-card-fab { font-size: 13px; color: var(--atc-ink); }
.atc-card-fab:empty, .atc-card-cat:empty { display: none; }

.atc-view-grid .atc-card-code { order: 1; }
.atc-view-grid .atc-card-name { order: 2; }
.atc-view-grid .atc-card-fab { order: 3; margin-top: 2px; }
.atc-view-grid .atc-card-cat { order: 4; margin-top: 0; }

.atc .atc-see-more {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	margin: 0 14px 14px;
	border: 1px solid var(--atc-accent);
	border-radius: 4px;
	color: var(--atc-accent);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.atc .atc-see-more:hover,
.atc .atc-see-more:focus-visible { background: var(--atc-accent); color: #fff; }

/* Cabeçalho da lista (só no modo lista) */
.atc-list-head { display: none; }

/* ---------- Modo lista (como planilha) ---------- */

.atc-catalogo[data-view="list"] .atc-list-head:not([hidden]),
.atc-cards.atc-view-list .atc-card {
	display: grid;
	grid-template-columns: 56px minmax(0, 2.4fr) minmax(0, 1.4fr) minmax(0, 1.3fr) minmax(0, 1.3fr) 120px;
	gap: 16px;
	align-items: center;
	padding: 10px 12px;
}

.atc-catalogo[data-view="list"] .atc-list-head {
	padding-top: 0;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--atc-line);
	font-size: 13px;
	font-weight: 600;
	color: var(--atc-muted);
}

.atc-cards.atc-view-list { display: block; }

.atc-cards.atc-view-list .atc-card {
	border: 0;
	border-bottom: 1px solid var(--atc-line);
	border-radius: 0;
}

.atc-cards.atc-view-list .atc-card:hover { background: var(--atc-soft); }
.atc-cards.atc-view-list .atc-card[hidden] { display: none; }

.atc-cards.atc-view-list .atc-card-btn,
.atc-cards.atc-view-list .atc-card-body { display: contents; }

.atc-cards.atc-view-list .atc-card-img {
	width: 56px;
	height: 56px;
	padding: 4px;
	border: 1px solid var(--atc-line);
	border-radius: 4px;
	aspect-ratio: auto;
}

.atc-cards.atc-view-list .atc-card-name { -webkit-line-clamp: 2; font-size: 15px; }
.atc-cards.atc-view-list .atc-card-code { font-size: 14px; }
.atc-cards.atc-view-list .atc-card-fab { font-size: 14px; }
.atc-cards.atc-view-list .atc-card-cat { font-size: 14px; margin: 0; }
.atc-cards.atc-view-list .atc-card-fab:empty,
.atc-cards.atc-view-list .atc-card-cat:empty { display: block; }

.atc-cards.atc-view-list .atc-see-more { margin: 0; height: 36px; }

@media (max-width: 760px) {
	/* No celular, o índice A–Z vira uma faixa que rola para o lado */
	.atc-az { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
	.atc .atc-az-btn { flex: none; }
	.atc-toolbar .atc-cat { flex: 1 1 45%; }
	.atc-views { margin-left: 0; }
	.atc-catalogo[data-view="list"] .atc-list-head:not([hidden]) { display: none; }
	.atc-cards.atc-view-list .atc-card {
		grid-template-columns: 56px minmax(0, 1fr);
		grid-template-areas: "img name" "img code" "img fab" "btn btn";
		gap: 2px 12px;
		padding: 12px 4px;
	}
	.atc-cards.atc-view-list .atc-card-img { grid-area: img; align-self: start; }
	.atc-cards.atc-view-list .atc-card-name { grid-area: name; }
	.atc-cards.atc-view-list .atc-card-code { grid-area: code; }
	.atc-cards.atc-view-list .atc-card-fab { grid-area: fab; }
	.atc-cards.atc-view-list .atc-card-cat { display: none; }
	.atc-cards.atc-view-list .atc-see-more { grid-area: btn; margin-top: 8px; }
}

@media (prefers-reduced-motion: reduce) {
	.atc-card { transition: none; }
}

/* ================================================================== */
/* v1.5 – campos configuráveis                                         */
/* ================================================================== */

/* Campos no cartão (grade) */
.atc-f { display: block; font-size: 13px; color: var(--atc-muted); line-height: 1.4; min-width: 0; }
.atc-f:empty { display: none; }
.atc-view-grid .atc-f-codigo { order: -1; font-family: var(--atc-mono); font-size: 13px; font-weight: 600; color: var(--atc-accent); word-break: break-all; }
.atc-view-grid .atc-f-nome { font-size: 15px; font-weight: 500; color: var(--atc-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.atc-f-fabricante { color: var(--atc-ink); }
.atc-f-part_number { font-family: var(--atc-mono); }
.atc-view-grid .atc-lab::before { content: attr(data-label) ": "; color: var(--atc-muted); font-family: inherit; font-weight: 400; }
.atc-f .atc-price { color: var(--atc-ink); font-weight: 600; }
.atc-card-links { display: flex; flex-direction: column; gap: 4px; padding: 0 14px 12px; }
.atc-card-links:empty { display: none; }
.atc .atc-card-links a { color: var(--atc-accent); font-size: 13px; text-decoration: underline; text-underline-offset: 2px; }
.atc-card-links .atc-links { margin: 0; padding: 0; list-style: none; }
.atc-f .atc-tags { display: inline-flex; flex-wrap: wrap; gap: 4px; }

/* Modo lista: colunas conforme os campos escolhidos */
.atc-catalogo[data-view="list"] .atc-list-head:not([hidden]),
.atc-cards.atc-view-list .atc-card { grid-template-columns: var(--atc-cols, 56px minmax(0, 2.4fr) minmax(0, 1.4fr) minmax(0, 1.3fr) minmax(0, 1.3fr) 120px); }
.atc-cards.atc-view-list .atc-card-links { display: contents; }
.atc-cards.atc-view-list .atc-f { font-size: 14px; color: var(--atc-ink); }
.atc-cards.atc-view-list .atc-f:empty { display: block; }
.atc-cards.atc-view-list .atc-f-nome { font-size: 15px; font-weight: 500; }
.atc-cards.atc-view-list .atc-f-codigo { font-family: var(--atc-mono); font-weight: 600; color: var(--atc-accent); }
.atc-cards.atc-view-list .atc-f-categoria,
.atc-cards.atc-view-list .atc-f-subcategoria { color: var(--atc-muted); }

@media (max-width: 760px) {
	.atc-cards.atc-view-list .atc-card { grid-template-columns: 56px minmax(0, 1fr); grid-template-areas: none; gap: 2px 12px; }
	.atc-cards.atc-view-list .atc-card-img { grid-column: 1; grid-row: 1 / span 12; }
	.atc-cards.atc-view-list .atc-f { grid-column: 2; }
	.atc-cards.atc-view-list .atc-f:empty { display: none; }
	.atc-cards.atc-view-list .atc-lab::before { content: attr(data-label) ": "; color: var(--atc-muted); }
	.atc-cards.atc-view-list .atc-see-more { grid-column: 1 / -1; grid-area: auto; }
	.atc-cards.atc-view-list .atc-f-categoria { display: block; }
}

/* Etiquetas e preços */
.atc-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.atc-tag { padding: 2px 8px; border: 1px solid var(--atc-line); border-radius: 999px; background: var(--atc-soft); font-size: 13px; color: var(--atc-ink); }
.atc-price { font-weight: 600; }

/* Página / janela: foto + miniaturas */
.atc-detail-media { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.atc-gallery { display: flex; flex-wrap: wrap; gap: 8px; }
.atc .atc-thumb {
	width: 64px; height: 64px;
	margin: 0; padding: 4px;
	border: 1px solid var(--atc-line);
	border-radius: 4px;
	background: var(--atc-paper);
	cursor: pointer;
	box-shadow: none;
}
.atc .atc-thumb:hover, .atc .atc-thumb.is-on { border-color: var(--atc-accent); background: var(--atc-paper); }
.atc-thumb img { width: 100%; height: 100%; object-fit: contain; }
.atc-detail-grid.atc-no-media { grid-template-columns: 1fr; }

/* Seções abaixo dos detalhes */
.atc-sections { display: grid; gap: 28px; margin-top: 32px; }
.atc-modal .atc-sections { margin-top: 28px; }
.atc .atc-section h3 { margin: 0 0 10px; font-size: 18px; color: var(--atc-ink); }
.atc-section { max-width: 820px; font-size: 15px; }
.atc-section > :last-child { margin-bottom: 0; }
.atc-links { margin: 0; padding-left: 18px; }
.atc-links li { margin: 4px 0; word-break: break-word; }
.atc .atc-links a, .atc .atc-section a { color: var(--atc-accent); }
.atc-video { position: relative; max-width: 720px; aspect-ratio: 16 / 9; margin-bottom: 12px; }
.atc-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; }
.atc-specs dd .atc-tags { padding-top: 2px; }
