/* Recorte Brasil Commerce — loja (frontend)
   Identidade: preto (#111) + amarelo laser (#f5c518), Montserrat (do tema). */

.rbc-store {
	--rbc-ink: #0F0F0F;
	--rbc-yellow: #ffd02c;
	--rbc-line: #e5e7eb;
	--rbc-muted: #6b7280;
	--rbc-radius: 14px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 16px 48px;
	font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
	color: var(--rbc-ink);
	box-sizing: border-box;
}
.rbc-store *, .rbc-store *::before, .rbc-store *::after { box-sizing: border-box; }
.rbc-store img { max-width: 100%; height: auto; display: block; }
.rbc-empty { text-align: center; color: var(--rbc-muted); padding: 40px 0; }

/* -------------------- grade -------------------- */
.rbc-grid-products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 20px;
}
.rbc-card-product {
	display: flex; flex-direction: column;
	border: 1px solid var(--rbc-line);
	border-radius: var(--rbc-radius);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background: #fff;
	transition: transform .18s ease, box-shadow .18s ease;
}
.rbc-card-product:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(17,20,24,.12); }
.rbc-card-thumb { aspect-ratio: 1 / 1; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.rbc-card-thumb img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.rbc-thumb-placeholder { color: #9ca3af; font-size: 13px; }
.rbc-card-name { font-size: 15px; font-weight: 700; line-height: 1.3; margin: 14px 16px 6px; }
.rbc-card-price { margin: 0 16px; font-weight: 800; color: var(--rbc-ink); }
.rbc-card-cta {
	margin: 12px 16px 16px; padding: 8px 0; text-align: center;
	background: var(--rbc-yellow); color: var(--rbc-ink);
	font-weight: 700; font-size: 13px; border-radius: 8px;
}

/* -------------------- produto -------------------- */
.rbc-back { display: inline-block; margin-bottom: 16px; color: var(--rbc-muted); text-decoration: none; font-weight: 600; font-size: 14px; }
.rbc-back:hover { color: var(--rbc-ink); }

.rbc-single-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}
@media (max-width: 860px) { .rbc-single-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; } }

/* galeria própria */
.rbc-gallery-stage {
	aspect-ratio: 1 / 1;
	border: 1px solid var(--rbc-line);
	border-radius: var(--rbc-radius);
	overflow: hidden;
	background: #f3f4f6;
	display: flex; align-items: center; justify-content: center;
}
.rbc-gallery-stage img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.rbc-gallery-empty { color: #9ca3af; font-size: 14px; }
.rbc-gallery-empty--brand {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
	width: 100%; height: 100%;
	background: repeating-linear-gradient(135deg, #1a1d21, #1a1d21 14px, #15181c 14px, #15181c 28px);
	color: var(--rbc-yellow); text-align: center;
}
.rbc-gallery-empty--brand strong { color: var(--rbc-yellow); font-size: 16px; letter-spacing: .02em; }
.rbc-gallery-empty--brand span { color: #d1a520; font-size: 12px; font-weight: 600; }
.rbc-video-frame { width: 100%; height: 100%; }
.rbc-video-frame iframe { width: 100%; height: 100%; border: 0; }

.rbc-gallery-thumbs {
	display: grid; gap: 10px; margin-top: 12px;
}
.rbc-gallery-thumbs-row {
	display: flex; gap: 10px; flex-wrap: wrap; align-items: center;
}
.rbc-gallery-thumbs-row--videos {
	padding-top: 2px;
}
.rbc-thumb {
	position: relative; width: 68px; height: 68px; padding: 0;
	border: 2px solid transparent; border-radius: 10px; overflow: hidden;
	cursor: pointer; background: #f3f4f6;
}
.rbc-thumb img { width: 100%; height: 100%; object-fit: cover; }
.rbc-thumb.is-active { border-color: var(--rbc-yellow); }
.rbc-thumb-play {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	background: rgba(17,20,24,.35);
}
.rbc-thumb-play::before {
	content: ''; width: 0; height: 0;
	border-left: 14px solid #fff; border-top: 9px solid transparent; border-bottom: 9px solid transparent;
	margin-left: 3px;
}

/* resumo */
.rbc-title { font-size: 26px; font-weight: 800; line-height: 1.2; margin: 0 0 14px; }
.rbc-price { margin-bottom: 20px; }
.rbc-price-regular { color: var(--rbc-muted); text-decoration: line-through; font-weight: 600; margin-right: 8px; }
.rbc-price-current { font-size: 26px; font-weight: 800; }
.rbc-stock-status {
	min-height: 22px; margin: -10px 0 18px; font-size: 13px; font-weight: 700;
}
.rbc-stock-status.is-available { color: #08783e; }
.rbc-stock-status.is-low { color: #a15c00; }
.rbc-stock-status.is-out { color: #b42318; }
.rbc-stock-status.is-neutral { color: var(--rbc-muted); font-weight: 600; }

.rbc-attributes { margin-bottom: 4px; }
.rbc-attribute {
	display: grid; grid-template-columns: minmax(90px, max-content) 1fr;
	align-items: center; gap: 14px; margin-bottom: 14px; max-width: 480px;
}
.rbc-attribute-label {
	font-size: 14px; font-weight: 700; color: var(--rbc-ink);
}
.rbc-opt-select {
	width: 100%; appearance: none; -webkit-appearance: none;
	border: 1.5px solid var(--rbc-line); border-radius: 10px; background: #fff;
	padding: 11px 40px 11px 14px; font: inherit; font-size: 14px; color: var(--rbc-ink);
	cursor: pointer; transition: border-color .15s, box-shadow .15s;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23555' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 14px center;
}
.rbc-opt-select:hover { border-color: #c9cdd4; }
.rbc-opt-select:focus { outline: none; border-color: var(--rbc-yellow, #ffd02c); box-shadow: 0 0 0 3px rgba(255, 208, 44, .25); }
.rbc-opt-select option:disabled { color: #b7bcc4; }
.rbc-attr-hint { margin: 2px 0 0; font-size: 13px; color: #b32d2e; }
.rbc-clear-variation-wrap {
	display: flex; justify-content: flex-end; max-width: 480px; margin: -4px 0 10px;
}
.rbc-clear-variation {
	appearance: none; border: 0; padding: 2px 0; background: transparent;
	color: #6b7280; font: inherit; font-size: 13px; font-weight: 650;
	text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
.rbc-clear-variation:hover { color: var(--rbc-ink); }
.rbc-clear-variation:focus-visible { outline: 2px solid var(--rbc-yellow); outline-offset: 3px; border-radius: 2px; }
.rbc-clear-variation[hidden] { display: none !important; }
.rbc-add-to-cart:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 560px) {
	.rbc-attribute { grid-template-columns: 1fr; gap: 6px; max-width: none; }
	.rbc-clear-variation-wrap { max-width: none; }
}

.rbc-description { margin: 18px 0; line-height: 1.6; color: #374151; }
/* A imagem da descrição (banner acima do "Adicionar ao carrinho") ocupa a
   largura da coluna — sem isso, a regra global usa só max-width e imagens
   cadastradas em tamanho menor ficavam pequenas, enquanto as grandes
   preenchiam. Assim produto principal e variação ficam iguais. */
.rbc-description img { width: 100%; height: auto; }

.rbc-buy { margin-top: 20px; }
.rbc-add-to-cart {
	width: 100%; padding: 14px; border: 0; border-radius: 10px;
	background: var(--rbc-yellow); color: var(--rbc-ink);
	font-weight: 800; font-size: 15px; cursor: pointer; font-family: inherit;
}
.rbc-add-to-cart:disabled { opacity: .72; cursor: wait; }
.rbc-add-to-cart.is-added { background: #168348; color: #fff; }
.rbc-muted { color: var(--rbc-muted); font-size: 12px; margin-top: 8px; }

/* -------------------- enriquecimento (frontend) -------------------- */
.rbc-enrichment-render { margin-top: 40px; }
.rbc-enrichment-tabs { width: 100%; }
.rbc-enrichment-tablist {
	display: flex; align-items: flex-end; gap: 14px;
	border-bottom: 1px solid var(--rbc-line);
	overflow-x: auto; overflow-y: hidden;
	scrollbar-width: thin;
}
.rbc-enrichment-tablist::-webkit-scrollbar { height: 6px; }
.rbc-enrichment-tablist::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 999px; }
.rbc-enrichment-tab {
	position: relative; flex: 0 0 auto;
	padding: 14px 2px 16px;
	background: transparent; border: 0; border-bottom: 2px solid transparent;
	color: #9ca3af; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 800;
	text-transform: uppercase; letter-spacing: .04em;
}
.rbc-enrichment-tab:hover { color: var(--rbc-ink); }
.rbc-enrichment-tab:focus-visible { outline: 2px solid #1f6feb; outline-offset: 2px; }
.rbc-enrichment-tab.is-active { color: var(--rbc-ink); border-bottom-color: var(--rbc-yellow); }
.rbc-enrichment-panel { padding-top: 24px; }
.rbc-enrichment-panel .rbc-block { border-top: 0; padding-top: 0; }
.rbc-enrichment-extras { display: grid; gap: 28px; margin-top: 24px; }
.rbc-block-title { font-size: 18px; font-weight: 800; margin: 0 0 14px; }
.rbc-spec-table table, .rbc-packaging-table { border-collapse: collapse; width: 100%; }
.rbc-spec-table td, .rbc-spec-table th,
.rbc-packaging-table td, .rbc-packaging-table th {
	border: 1px solid var(--rbc-line); padding: 10px 14px; text-align: left; font-size: 14px;
}
.rbc-spec-table th, .rbc-packaging-table th { background: #f9fafb; font-weight: 700; width: 40%; }
.rbc-packaging-table th {
	text-align: center; text-transform: uppercase; line-height: 1.35;
	font-size: 13px; letter-spacing: .01em; width: 28%;
}
.rbc-packaging-line { display: block; line-height: 1.55; }
.rbc-packaging-line + .rbc-packaging-line { margin-top: 2px; }
@media (max-width: 640px) {
	.rbc-packaging-table th { width: 42%; font-size: 12px; }
	.rbc-packaging-table td, .rbc-packaging-table th { padding: 10px; }
}
.rbc-block--text { line-height: 1.7; color: #374151; }
.rbc-block--text h2 {
	margin: 0 0 16px; color: var(--rbc-ink); font-size: clamp(21px, 2vw, 28px);
	line-height: 1.25; font-weight: 850;
}
.rbc-block--text h3 {
	margin: 22px 0 9px; color: var(--rbc-ink); font-size: 17px;
	line-height: 1.35; font-weight: 800;
}
.rbc-block--text p { margin: 0 0 14px; }
.rbc-block--text ul { margin: 0 0 18px; padding-left: 22px; }
.rbc-block--text li { margin: 6px 0; }
.rbc-block--text .rbc-demo-note {
	margin-top: 24px; padding: 13px 15px; border: 1px solid #f0d36b;
	border-radius: 10px; background: #fff9df; color: #5b4a0c; font-size: 13px;
}
.rbc-spec-table { overflow-x: auto; border-radius: 10px; }

/* -------------------- placeholders (Fase 2) -------------------- */
.rbc-placeholder { text-align: center; padding: 48px 16px; }
.rbc-placeholder .rbc-title { margin-bottom: 8px; }

/* ==================== Fase 2: compra ==================== */
.rbc-buy-row { display: flex; gap: 10px; align-items: stretch; }
.rbc-qty-input {
	width: 72px; padding: 12px; border: 1.5px solid var(--rbc-line); border-radius: 10px;
	font-size: 15px; font-family: inherit; text-align: center;
}
.rbc-buy .rbc-add-to-cart { flex: 1; }
.rbc-link { color: var(--rbc-muted); text-decoration: none; font-weight: 600; }
.rbc-link:hover { color: var(--rbc-ink); }

/* carrinho */
.rbc-cart-grid { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 28px; align-items: start; }
@media (max-width: 820px) { .rbc-cart-grid { grid-template-columns: minmax(0, 1fr); } }
.rbc-cart-head, .rbc-cart-row {
	display: grid; grid-template-columns: 1fr 90px 120px 40px; gap: 12px; align-items: center;
}
.rbc-cart-head { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--rbc-muted); padding-bottom: 10px; border-bottom: 1px solid var(--rbc-line); }
.rbc-cart-row { padding: 16px 0; border-bottom: 1px solid var(--rbc-line); }
.rbc-cart-product { display: flex; gap: 12px; align-items: center; }
.rbc-cart-thumb { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; }
.rbc-cart-product > div { display: flex; flex-direction: column; gap: 2px; }
.rbc-cart-name { font-weight: 700; color: var(--rbc-ink); text-decoration: none; }
.rbc-cart-attrs, .rbc-cart-unit { font-size: 12px; color: var(--rbc-muted); }
.rbc-cart-total { font-weight: 800; }
.rbc-remove { background: none; border: 0; font-size: 22px; color: var(--rbc-muted); cursor: pointer; line-height: 1; }
.rbc-remove:hover { color: #b32d2e; }
.rbc-cart-actions { display: flex; justify-content: space-between; align-items: center; padding-top: 16px; }
.rbc-update { cursor: pointer; }

.rbc-cart-summary, .rbc-checkout-summary {
	border: 1px solid var(--rbc-line); border-radius: var(--rbc-radius); padding: 20px; background: #fff;
}
.rbc-cart-summary h2, .rbc-checkout-summary h2 { margin: 0 0 14px; font-size: 16px; }
.rbc-sum-row { display: flex; justify-content: space-between; padding: 6px 0; }
.rbc-sum-total { border-top: 1px solid var(--rbc-line); margin-top: 8px; padding-top: 12px; font-size: 18px; }
.rbc-checkout-btn {
	display: block; width: 100%; margin-top: 16px; padding: 14px; text-align: center;
	background: var(--rbc-yellow); color: var(--rbc-ink); font-weight: 800; border: 0;
	border-radius: 10px; cursor: pointer; text-decoration: none; font-family: inherit; font-size: 15px;
}

/* checkout */
.rbc-checkout-grid { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 28px; align-items: start; }
@media (max-width: 860px) { .rbc-checkout-grid { grid-template-columns: minmax(0, 1fr); } }
.rbc-fieldset { border: 1px solid var(--rbc-line); border-radius: 12px; padding: 18px; margin: 0 0 18px; }
.rbc-fieldset legend { font-weight: 800; padding: 0 8px; }
.rbc-field { display: block; margin-bottom: 12px; }
.rbc-field span { display: block; font-size: 13px; font-weight: 600; margin-bottom: 4px; }
.rbc-field input, .rbc-field textarea {
	width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1.5px solid var(--rbc-line);
	border-radius: 8px; font-family: inherit; font-size: 14px;
}
.rbc-document { margin-top: 2px; padding-top: 4px; }
.rbc-document-heading { display: block; font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.rbc-document-toggle { display: flex; gap: 10px; margin-bottom: 10px; }
.rbc-document-toggle label {
	display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px;
	border: 1.5px solid var(--rbc-line); border-radius: 9px; background: #fff;
	font-size: 14px; font-weight: 700; cursor: pointer;
}
.rbc-document-toggle label:has(input:checked) { border-color: var(--rbc-ink); background: #f9fafb; }
.rbc-document-toggle input { margin: 0; accent-color: var(--rbc-ink); }
.rbc-document-number { margin-bottom: 8px; }
.rbc-document-status { margin: 0 0 12px; font-size: 12px; color: var(--rbc-muted); }
.rbc-document-status.is-valid { color: #067d3e; font-weight: 650; }
.rbc-document-status.is-invalid { color: #b32d2e; font-weight: 650; }
.rbc-document-number input.is-valid { border-color: #16a34a; box-shadow: 0 0 0 1px #16a34a; }
.rbc-document-number input.is-invalid { border-color: #dc2626; box-shadow: 0 0 0 1px #dc2626; }
.rbc-checkout-btn:disabled { opacity: .55; cursor: not-allowed; }
.rbc-required { color: #b32d2e; font-weight: 800; }
.rbc-field-row { display: flex; gap: 10px; }
.rbc-field-row .rbc-field { flex: 1; }
.rbc-delivery-toggle { display: flex; gap: 18px; margin-bottom: 12px; font-weight: 600; }
.rbc-pickup { background: #f9fafb; border: 1px solid var(--rbc-line); border-radius: 8px; padding: 12px; }
.rbc-payment-option { background: #f9fafb; border: 1px solid var(--rbc-line); border-radius: 8px; padding: 12px; margin-bottom: 12px; }



.rbc-notice-error { background: #fef2f2; border: 1px solid #fecaca; color: #b32d2e; padding: 12px 14px; border-radius: 8px; margin-bottom: 16px; }

/* pedido recebido */
.rbc-received-banner { background: var(--rbc-ink); color: var(--rbc-yellow); font-weight: 800; padding: 18px 20px; border-radius: 10px; margin: 12px 0 20px; }
.rbc-received-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.rbc-received-meta > div { flex: 1 1 160px; border: 1px solid var(--rbc-line); border-radius: 10px; padding: 12px; }
.rbc-received-meta span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--rbc-muted); }
.rbc-received-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.rbc-received-table td { border: 1px solid var(--rbc-line); padding: 12px 14px; }
.rbc-received-total td { font-weight: 800; background: #f9fafb; }

/* ==================== Fase 3: catálogo interativo ==================== */
.rbc-catalog-grid { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 28px; align-items: start; }

.rbc-catalog-side { position: sticky; top: 20px; }
.rbc-side-title { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--rbc-muted); margin: 0 0 10px; }
.rbc-cat-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--rbc-line); border-radius: var(--rbc-radius); overflow: hidden; }
.rbc-cat-list li + li { border-top: 1px solid var(--rbc-line); }
.rbc-cat {
	width: 100%; display: flex; align-items: center; gap: 10px;
	padding: 9px 12px; background: #fff; border: 0; cursor: pointer; text-align: left;
	font-family: inherit; font-size: 14px; font-weight: 600; color: var(--rbc-ink);
}
.rbc-cat:hover { background: #f9fafb; }
.rbc-cat.is-active { background: var(--rbc-ink); color: #fff; }
.rbc-cat-name { flex: 1; min-width: 0; }
.rbc-cat em { font-style: normal; font-size: 12px; opacity: .7; background: rgba(0,0,0,.06); padding: 1px 8px; border-radius: 999px; }
.rbc-cat.is-active em { background: rgba(255,255,255,.18); }

/* miniatura da categoria */
.rbc-cat-media {
	flex: 0 0 auto; width: 38px; height: 38px; border-radius: 9px; overflow: hidden;
	background: #f1f3f5; border: 1px solid var(--rbc-line);
	display: flex; align-items: center; justify-content: center;
}
.rbc-cat-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rbc-cat-media.is-empty::after,
.rbc-cat-media--all::after {
	content: ""; width: 16px; height: 16px; border-radius: 4px;
	background:
		radial-gradient(circle at 5px 5px, var(--rbc-muted) 1.6px, transparent 1.7px),
		radial-gradient(circle at 11px 5px, var(--rbc-muted) 1.6px, transparent 1.7px),
		radial-gradient(circle at 5px 11px, var(--rbc-muted) 1.6px, transparent 1.7px),
		radial-gradient(circle at 11px 11px, var(--rbc-muted) 1.6px, transparent 1.7px);
	opacity: .5;
}
.rbc-cat.is-active .rbc-cat-media { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.1); }

.rbc-catalog-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.rbc-catalog-count { color: var(--rbc-muted); font-size: 14px; }
.rbc-catalog-count strong { color: var(--rbc-ink); }
.rbc-catalog-controls { display: flex; gap: 10px; }
.rbc-search, .rbc-sort {
	padding: 9px 12px; border: 1.5px solid var(--rbc-line); border-radius: 8px;
	font-family: inherit; font-size: 14px; background: #fff;
}
.rbc-search { min-width: 200px; }

.rbc-catalog-products {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px;
}
.rbc-card-product {
	display: flex; flex-direction: column; border: 1px solid var(--rbc-line);
	border-radius: var(--rbc-radius); overflow: hidden; background: #fff;
	transition: transform .18s ease, box-shadow .18s ease;
}
.rbc-card-product:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(17,20,24,.12); }
.rbc-card-link { text-decoration: none; color: inherit; display: flex; flex-direction: column; flex: 1; }
.rbc-card-thumb { position: relative; aspect-ratio: 1 / 1; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.rbc-card-thumb img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.rbc-badge {
	position: absolute; top: 10px; left: 10px; z-index: 1;
	background: var(--rbc-ink); color: var(--rbc-yellow);
	font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em;
	padding: 4px 9px; border-radius: 6px;
}
.rbc-card-cat { display: block; margin: 12px 16px 2px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--rbc-yellow); }
.rbc-card-cat { color: #b8890a; }
.rbc-card-name { font-size: 14px; font-weight: 800; line-height: 1.35; margin: 4px 16px 8px; }
.rbc-card-excerpt {
	margin: 0 16px 14px; color: var(--rbc-muted); font-size: 12.5px; line-height: 1.5;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
}
.rbc-card-price { margin: auto 16px 14px; padding-top: 2px; font-weight: 850; font-size: 16px; }
.rbc-card-actions {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 9px;
	margin: 0 16px 16px;
}
.rbc-card-cta {
	margin: 0; padding: 10px 8px; text-align: center; text-decoration: none;
	font-weight: 800; font-size: 11px; text-transform: uppercase; letter-spacing: .035em;
	border-radius: 8px; transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.rbc-store .rbc-card-cta--details {
	background: #fff; color: var(--rbc-ink); border: 1.5px solid var(--rbc-ink);
}
.rbc-store .rbc-card-cta--details:hover,
.rbc-store .rbc-card-cta--details:focus-visible {
	background: var(--rbc-ink); color: #fff; border-color: var(--rbc-ink);
}
.rbc-store .rbc-card-cta--quote {
	background: var(--rbc-yellow); color: var(--rbc-ink); border: 1.5px solid var(--rbc-yellow);
}
.rbc-store .rbc-card-cta--quote:hover,
.rbc-store .rbc-card-cta--quote:focus-visible {
	background: var(--rbc-ink); color: #fff; border-color: var(--rbc-ink);
}
@media (max-width: 420px) {
	.rbc-card-actions { gap: 7px; margin-left: 12px; margin-right: 12px; }
}

/* placeholder branded (produto sem foto) */
.rbc-thumb-placeholder {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
	width: 100%; height: 100%;
	background: repeating-linear-gradient(135deg, #1a1d21, #1a1d21 12px, #15181c 12px, #15181c 24px);
	color: var(--rbc-yellow);
}
.rbc-thumb-placeholder em { font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: .04em; color: #d1a520; }

/* Fix: garante que cards ocultos pelo filtro (atributo hidden) sumam mesmo
   com display:flex na regra base (especificidade maior vence). */
.rbc-card-product[hidden] { display: none !important; }
.rbc-catalog-products [hidden] { display: none !important; }

/* categorias como âncora (SEO) mantêm o visual de item de lista */
a.rbc-cat { text-decoration: none; }

/* breadcrumb da página de produto */
.rbc-breadcrumb { font-size: 13px; color: var(--rbc-muted); margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.rbc-breadcrumb a { color: var(--rbc-muted); text-decoration: none; }
.rbc-breadcrumb a:hover { color: var(--rbc-ink); text-decoration: underline; }
.rbc-breadcrumb span { color: #c8ccd2; }
.rbc-breadcrumb .rbc-breadcrumb-current { color: var(--rbc-ink); font-weight: 600; }

/* ==================== Drawer de categorias (mobile) ====================
   Colocado no fim para vencer as regras base (.rbc-catalog-side sticky etc.). */
.rbc-filter-toggle { display: none; }
.rbc-drawer-head { display: none; }
.rbc-drawer-overlay { display: none; }

@media (max-width: 820px) {
	.rbc-catalog-grid { grid-template-columns: minmax(0, 1fr); }
	.rbc-catalog-main { min-width: 0; }
	.rbc-catalog-products { grid-template-columns: minmax(0, 1fr); }
	.rbc-catalog-toolbar { gap: 10px; }
	.rbc-search { min-width: 0; flex: 1; }

	.rbc-filter-toggle {
		display: inline-flex; align-items: center; gap: 8px; margin-bottom: 16px;
		padding: 11px 16px; border: 1.5px solid var(--rbc-ink); border-radius: 10px;
		background: #fff; color: var(--rbc-ink); font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
	}

	.rbc-catalog-side {
		position: fixed; top: 0; left: 0; bottom: 0; z-index: 1000;
		width: 84%; max-width: 320px; background: #fff; margin: 0;
		padding: 0 16px 24px; overflow-y: auto;
		transform: translateX(-100%); transition: transform .25s ease;
		box-shadow: 0 0 40px rgba(0,0,0,.25);
	}
	.rbc-store--catalog.is-drawer-open .rbc-catalog-side { transform: translateX(0); }

	.rbc-drawer-head {
		display: flex; justify-content: space-between; align-items: center;
		position: sticky; top: 0; background: #fff; padding: 16px 0 12px; margin-bottom: 8px;
		border-bottom: 1px solid var(--rbc-line); font-weight: 800; font-size: 16px;
	}
	.rbc-drawer-close { background: 0; border: 0; font-size: 28px; line-height: 1; color: var(--rbc-muted); cursor: pointer; padding: 0 4px; }
	.rbc-side-title { display: none; }
	.rbc-cat-list { border-radius: 10px; }

	.rbc-drawer-overlay {
		display: block; position: fixed; inset: 0; z-index: 999;
		background: rgba(0,0,0,.45); opacity: 0; pointer-events: none; transition: opacity .25s ease;
	}
	.rbc-store--catalog.is-drawer-open .rbc-drawer-overlay { opacity: 1; pointer-events: auto; }
}

/* -------------------- Melhor Envio / simulação de frete -------------------- */
.rbc-shipping-calc {
	margin-top: 18px;
	padding: 16px;
	border: 1px solid var(--rbc-line);
	border-radius: 12px;
	background: #fff;
}
.rbc-shipping-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}
.rbc-shipping-head h3 { margin: 0 0 3px; font-size: 16px; font-weight: 800; }
.rbc-shipping-head p { margin: 0; color: var(--rbc-muted); font-size: 12px; line-height: 1.45; }
.rbc-shipping-sandbox {
	flex: 0 0 auto;
	padding: 4px 8px;
	border: 1px solid #e7c848;
	border-radius: 999px;
	background: #fff8d8;
	color: #6b5700;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.rbc-shipping-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.rbc-shipping-postal {
	width: 100%;
	min-height: 42px;
	padding: 10px 12px;
	border: 1.5px solid var(--rbc-line);
	border-radius: 9px;
	font: inherit;
	font-size: 14px;
}
.rbc-shipping-postal:focus { border-color: var(--rbc-ink); outline: none; box-shadow: 0 0 0 2px rgba(17,17,17,.08); }
.rbc-shipping-button {
	min-height: 42px;
	padding: 10px 16px;
	border: 0;
	border-radius: 9px;
	background: var(--rbc-ink);
	color: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}
.rbc-shipping-button:hover { opacity: .9; }
.rbc-shipping-button:disabled { opacity: .55; cursor: wait; }
.rbc-shipping-note { margin: 8px 0 0; color: #8a6d00; font-size: 10.5px; line-height: 1.4; }
.rbc-shipping-status { min-height: 18px; margin-top: 10px; font-size: 12px; color: var(--rbc-muted); }
.rbc-shipping-status.is-error { color: #b32d2e; }
.rbc-shipping-status.is-success { color: #067d3e; }
.rbc-shipping-status.is-loading { color: #5f6368; }
.rbc-shipping-results { display: grid; gap: 8px; margin-top: 8px; }
.rbc-shipping-option {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 14px;
	padding: 11px 12px;
	border: 1px solid var(--rbc-line);
	border-radius: 9px;
	background: #fafafa;
}
.rbc-shipping-identity { display: flex; flex-direction: column; min-width: 0; }
.rbc-shipping-identity strong { font-size: 12.5px; line-height: 1.3; }
.rbc-shipping-identity span { color: var(--rbc-muted); font-size: 11px; line-height: 1.3; }
.rbc-shipping-delivery { color: #4b5563; font-size: 11.5px; white-space: nowrap; }
.rbc-shipping-price { font-size: 13px; white-space: nowrap; }
@media (max-width: 520px) {
	.rbc-shipping-form { grid-template-columns: 1fr; }
	.rbc-shipping-button { width: 100%; }
	.rbc-shipping-option { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
	.rbc-shipping-delivery { grid-column: 1 / -1; }
}


/* -------------------- Checkout: CEP, endereço e seleção de frete -------------------- */
.rbc-checkout-shipping {
	padding-top: 4px;
}
.rbc-checkout-postal-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}
.rbc-checkout-postal-head strong { display: block; font-size: 14px; }
.rbc-checkout-postal-head p { margin: 3px 0 0; color: var(--rbc-muted); font-size: 11.5px; line-height: 1.45; }
.rbc-checkout-postal-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.rbc-checkout-postal-row input {
	width: 100%; min-height: 44px; border: 1px solid var(--rbc-line); border-radius: 8px; padding: 10px 12px; font: inherit;
}
.rbc-checkout-postal-row input:focus { border-color: var(--rbc-ink); outline: none; box-shadow: 0 0 0 2px rgba(17,17,17,.08); }
.rbc-checkout-address-status { min-height: 18px; margin: 5px 0 8px; font-size: 11.5px; color: var(--rbc-muted); }
.rbc-checkout-address-status.is-loading { color: #5f6368; }
.rbc-checkout-address-status.is-success { color: #067d3e; }
.rbc-checkout-address-status.is-error { color: #b32d2e; }
.rbc-checkout-address-fields { margin-top: 6px; }
.rbc-checkout-address-fields[hidden] { display: none !important; }
.rbc-field--uf { flex: 0 0 110px !important; }
.rbc-checkout-shipping-options { display: grid; gap: 8px; margin-top: 8px; }
.rbc-checkout-shipping-option {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 12px;
	padding: 12px;
	border: 1px solid var(--rbc-line);
	border-radius: 9px;
	background: #fafafa;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.rbc-checkout-shipping-option:hover { border-color: #c6c9ce; background: #fff; }
.rbc-checkout-shipping-option.is-selected,
.rbc-checkout-shipping-option:has(input:checked) { border-color: #e0b400; background: #fffaf0; box-shadow: 0 0 0 1px rgba(224,180,0,.12); }
.rbc-checkout-shipping-option input { margin: 0; accent-color: var(--rbc-yellow); }
.rbc-sum-shipping { color: var(--rbc-ink) !important; font-weight: 600; }
@media (max-width: 620px) {
	.rbc-checkout-postal-row { grid-template-columns: 1fr; }
	.rbc-checkout-postal-row .rbc-shipping-button { width: 100%; }
	.rbc-checkout-shipping-option { grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; }
	.rbc-checkout-shipping-option .rbc-shipping-delivery { grid-column: 2 / -1; }
	.rbc-field-row { flex-direction: column; }
	.rbc-field--uf { flex-basis: auto !important; }
}


/* Checkout: campos após CPF/CNPJ só aparecem depois da validação. */
.rbc-store--checkout [data-rbc-after-document][hidden],
.rbc-store--checkout [data-rbc-after-document][aria-hidden="true"] {
	display: none !important;
}


/* -------------------- seção institucional do produto -------------------- */

/* ==================== FAQ do produto e das variações ==================== */
.rbc-faq-section {
	margin-top: 42px;
	padding: clamp(23px, 3vw, 38px);
	border: 1px solid #e5e7eb;
	border-radius: 20px;
	background: linear-gradient(145deg, #ffffff 0%, #fbfbf8 100%);
	box-shadow: 0 18px 45px rgba(17, 24, 39, .06);
}
.rbc-faq-heading { max-width: 800px; margin-bottom: 24px; }
.rbc-faq-kicker {
	display: inline-flex;
	align-items: center;
	margin-bottom: 9px;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--rbc-yellow);
	color: var(--rbc-ink);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.rbc-faq-heading h2 {
	margin: 0 0 9px;
	color: var(--rbc-ink);
	font-size: clamp(25px, 3vw, 38px);
	line-height: 1.15;
	font-weight: 900;
	letter-spacing: -.025em;
}
.rbc-faq-heading p { margin: 0; color: #5f6670; font-size: 15px; line-height: 1.7; }
.rbc-faq-list { display: grid; gap: 10px; }
.rbc-faq-item {
	border: 1px solid #e3e5e8;
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.rbc-faq-item:hover { border-color: #cfd3d8; }
.rbc-faq-item[open] { border-color: #ddbd34; box-shadow: 0 10px 28px rgba(17, 24, 39, .07); }
.rbc-faq-item summary {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 24px;
	align-items: center;
	gap: 13px;
	min-height: 72px;
	padding: 13px 18px;
	cursor: pointer;
	list-style: none;
	color: #18191c;
}
.rbc-faq-item summary::-webkit-details-marker { display: none; }
.rbc-faq-item summary:focus-visible { outline: 3px solid rgba(255, 208, 44, .55); outline-offset: -3px; }
.rbc-faq-number {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: #111;
	color: var(--rbc-yellow);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .05em;
}
.rbc-faq-question { font-size: clamp(15px, 1.6vw, 18px); line-height: 1.45; font-weight: 800; }
.rbc-faq-toggle { position: relative; width: 22px; height: 22px; }
.rbc-faq-toggle::before,
.rbc-faq-toggle::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 14px;
	height: 2px;
	border-radius: 2px;
	background: #171717;
	transform: translate(-50%, -50%);
	transition: transform .18s ease;
}
.rbc-faq-toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.rbc-faq-item[open] .rbc-faq-toggle::after { transform: translate(-50%, -50%) rotate(0deg); }
.rbc-faq-answer {
	padding: 0 58px 20px 73px;
	color: #4b515a;
	font-size: 15px;
	line-height: 1.75;
}
.rbc-faq-answer p { margin: 0 0 10px; }
.rbc-faq-answer p:last-child { margin-bottom: 0; }
.rbc-faq-answer ul,
.rbc-faq-answer ol { margin: 8px 0 0; padding-left: 21px; }
@media (max-width: 600px) {
	.rbc-faq-section { margin-top: 32px; padding: 19px 15px; border-radius: 16px; }
	.rbc-faq-heading { margin-bottom: 18px; padding: 0 3px; }
	.rbc-faq-item summary { grid-template-columns: 36px minmax(0, 1fr) 20px; gap: 10px; min-height: 64px; padding: 11px 12px; }
	.rbc-faq-number { width: 36px; height: 36px; border-radius: 10px; }
	.rbc-faq-answer { padding: 0 15px 17px 58px; font-size: 14px; }
}

.rbc-product-institutional {
	margin-top: 54px;
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid var(--rbc-line);
	border-radius: 20px;
	background:
		radial-gradient(circle at 8% 10%, rgba(255, 208, 44, .18), transparent 31%),
		linear-gradient(135deg, #ffffff 0%, #fbfbfc 100%);
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
	box-shadow: 0 18px 45px rgba(15, 15, 15, .07);
}
.rbc-product-institutional-kicker {
	display: inline-flex;
	margin-bottom: 10px;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--rbc-yellow);
	color: var(--rbc-ink);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.rbc-product-institutional h2 {
	margin: 0 0 15px;
	font-size: clamp(23px, 2.5vw, 34px);
	line-height: 1.2;
	font-weight: 900;
}
.rbc-product-institutional-main > p {
	margin: 0 0 18px;
	color: #374151;
	font-size: 16px;
	line-height: 1.75;
}
.rbc-product-institutional a {
	color: var(--rbc-ink);
	font-weight: 700;
	text-underline-offset: 3px;
}
.rbc-product-fiscal-box {
	display: grid;
	gap: 7px;
	padding: 17px 18px;
	border-left: 5px solid var(--rbc-yellow);
	border-radius: 12px;
	background: #fff8d6;
	color: #30343a;
	line-height: 1.65;
}
.rbc-product-fiscal-box strong { color: var(--rbc-ink); }
.rbc-product-contact-card {
	position: relative;
	padding: 26px;
	border-radius: 17px;
	background: #111;
	color: #fff;
	overflow: hidden;
}
.rbc-product-contact-card::after {
	content: '';
	position: absolute;
	right: -46px;
	top: -46px;
	width: 145px;
	height: 145px;
	border: 28px solid rgba(255, 208, 44, .13);
	border-radius: 50%;
	pointer-events: none;
}
.rbc-product-contact-icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-bottom: 15px;
	border-radius: 13px;
	background: var(--rbc-yellow);
	color: #111;
}
.rbc-product-contact-icon svg { width: 23px; height: 23px; }
.rbc-product-contact-card h3 {
	position: relative;
	z-index: 1;
	margin: 0 0 9px;
	font-size: 21px;
	line-height: 1.3;
	color: #fff;
}
.rbc-product-contact-card > p {
	position: relative;
	z-index: 1;
	margin: 0 0 16px;
	color: rgba(255,255,255,.72);
	font-size: 14px;
	line-height: 1.6;
}
.rbc-product-contact-card ul {
	position: relative;
	z-index: 1;
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 9px;
}
.rbc-product-contact-card li {
	color: rgba(255,255,255,.83);
	font-size: 13px;
	line-height: 1.45;
}
.rbc-product-contact-card li strong { color: #fff; }
.rbc-product-contact-card a { color: var(--rbc-yellow); }
.rbc-product-contact-actions {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 20px;
}
.rbc-product-contact-primary,
.rbc-product-contact-secondary {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 12px;
	border-radius: 9px;
	font-size: 12px;
	font-weight: 900 !important;
	text-decoration: none;
	text-align: center;
}
.rbc-product-contact-primary { background: var(--rbc-yellow); color: #111 !important; }
.rbc-product-contact-secondary { border: 1px solid rgba(255,255,255,.42); color: #fff !important; }
.rbc-product-contact-primary:hover { background: #f5c20f; }
.rbc-product-contact-secondary:hover { border-color: #fff; background: rgba(255,255,255,.08); }
@media (max-width: 850px) {
	.rbc-product-institutional { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
	.rbc-product-institutional { margin-top: 38px; padding: 21px; border-radius: 15px; }
	.rbc-product-contact-card { padding: 21px; }
	.rbc-product-contact-actions { grid-template-columns: 1fr; }
}

/* ==================== Instalação Presencial (carrinho/checkout) ==================== */
.rbc-cart-install { margin-top: 8px; padding: 9px 10px; background: #fafaf7; border: 1px solid #eee; border-radius: 8px; }
.rbc-cart-install.is-on { background: #f2fbf4; border-color: #c7ecd0; }
.rbc-cart-install-toggle { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; cursor: pointer; }
.rbc-cart-install-toggle input { margin-top: 2px; accent-color: var(--rbc-yellow, #ffd02c); }
.rbc-cart-install-desc { margin: 6px 0 0; font-size: 12px; line-height: 1.45; color: #666; }
.rbc-cart-install-line { display: block; font-size: 12px; color: #1a7f37; font-weight: 600; margin-top: 4px; }
.rbc-cart-install--order { margin: 16px 0 4px; padding: 13px 14px; }

/* Página do carrinho: atualização automática */
.rbc-store--cart[data-rbc-cart-root] { transition: opacity .15s ease; }
.rbc-store--cart.is-updating { opacity: .55; pointer-events: none; }
.rbc-cart-autosave { font-size: 12.5px; color: #1a7f37; font-weight: 600; }

/* Checkout: atualização automática do resumo */
[data-rbc-checkout-summary] { transition: opacity .15s ease; }
[data-rbc-checkout-summary].is-updating { opacity: .55; pointer-events: none; }


/* =====================================================================
 * Resumo do pedido (checkout) — hierarquia: item > controles > adicional
 * ================================================================== */
[data-rbc-checkout-summary] { transition: opacity .15s ease; }
[data-rbc-checkout-summary].is-updating { opacity: .5; pointer-events: none; }

/* --- Item --- */
.rbc-sum-line { padding: 14px 0; border-bottom: 1px solid var(--rbc-line, #e7e9ee); }
.rbc-sum-line:first-child { padding-top: 2px; }
.rbc-sum-line-head { display: flex; align-items: flex-start; gap: 8px; }
.rbc-sum-line-name {
	flex: 1; margin: 0; font-size: 13.5px; font-weight: 700; line-height: 1.35;
	color: var(--rbc-ink, #17181c); letter-spacing: -0.01em;
}
.rbc-sum-line-remove {
	flex: 0 0 auto; appearance: none; border: 0; background: none; cursor: pointer;
	width: 22px; height: 22px; padding: 0; margin: -2px -4px 0 0; border-radius: 50%;
	font-size: 17px; line-height: 1; color: #c2c6cc;
	transition: color .15s ease, background .15s ease;
}
.rbc-sum-line-remove:hover { color: #b32d2e; background: #faeaea; }
.rbc-sum-line-attrs { margin: 3px 0 0; font-size: 11.5px; color: var(--rbc-muted, #8a9099); line-height: 1.4; }

/* --- Linha de controles: stepper à esquerda, total à direita --- */
.rbc-sum-line-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }
.rbc-sum-qty { display: inline-flex; align-items: center; gap: 6px; }
.rbc-sum-qty .rbc-mini-qty-btn {
	appearance: none; width: 24px; height: 24px; padding: 0;
	border: 1px solid #dcdfe4; background: #fff; border-radius: 6px; cursor: pointer;
	font-size: 14px; line-height: 1; color: var(--rbc-ink, #17181c);
	display: inline-flex; align-items: center; justify-content: center;
	transition: border-color .15s ease, background .15s ease;
}
.rbc-sum-qty .rbc-mini-qty-btn:hover:not(:disabled) { border-color: var(--rbc-ink, #17181c); background: #fdfbf2; }
.rbc-sum-qty .rbc-mini-qty-btn:disabled { opacity: .35; cursor: default; }
.rbc-sum-qty .rbc-mini-qty-value { min-width: 18px; text-align: center; font-size: 13px; font-weight: 700; }
.rbc-sum-qty-unit { font-size: 11.5px; color: var(--rbc-muted, #8a9099); margin-left: 3px; }
.rbc-sum-line-total { font-size: 13.5px; font-weight: 700; white-space: nowrap; }

/* --- Instalação Presencial: solicitação única do pedido --- */
.rbc-sum-addon {
	margin: 10px 0 0 2px; padding: 9px 0 2px 11px;
	border-left: 2px solid #e7e9ee; transition: border-color .15s ease;
}
.rbc-sum-addon.is-on { border-left-color: #1a7f37; }
.rbc-sum-addon--order { margin: 14px 0 2px; padding: 11px 12px; border: 1px solid #e7e9ee; border-left-width: 3px; border-radius: 9px; background: #fafaf7; }
.rbc-sum-addon--order.is-on { background: #f2fbf4; border-color: #c7ecd0; border-left-color: #1a7f37; }
.rbc-sum-addon-toggle { display: flex; align-items: center; gap: 7px; cursor: pointer; }
.rbc-sum-addon-toggle input { margin: 0; accent-color: var(--rbc-yellow, #ffd02c); }
.rbc-sum-addon-label { font-size: 12.5px; font-weight: 600; color: var(--rbc-ink, #17181c); }
.rbc-sum-addon-price {
	margin-left: auto; padding: 2px 7px; border-radius: 999px;
	background: #fff7d1; color: #6d5200; font-size: 10.5px; font-weight: 700; white-space: nowrap;
}
.rbc-sum-addon.is-on .rbc-sum-addon-price { background: #e6f6ea; color: #176b31; }
.rbc-sum-addon-desc { margin: 5px 0 0; font-size: 11px; color: var(--rbc-muted, #8a9099); line-height: 1.4; }

/* --- Totais --- */
.rbc-sum-totals { padding-top: 12px; }
.rbc-sum-totals .rbc-sum-row { padding: 3px 0; font-size: 12.5px; color: #5b616a; }
.rbc-sum-totals .rbc-sum-total {
	border-top: 1px solid var(--rbc-line, #e7e9ee); margin-top: 9px; padding-top: 12px;
	font-size: 17px; font-weight: 700; color: var(--rbc-ink, #17181c);
}
.rbc-sum-totals .rbc-sum-total span { font-weight: 700; }

/* --- Ação secundária, abaixo do botão principal --- */
.rbc-sum-clear {
	display: block; width: 100%; margin-top: 10px; padding: 6px;
	appearance: none; border: 0; background: none; cursor: pointer;
	color: #a5aab1; font-size: 12px; font-weight: 600;
	transition: color .15s ease;
}
.rbc-sum-clear:hover { color: #b32d2e; }
.rbc-sum-clear:disabled { opacity: .5; cursor: default; }

/* ==================== SEO editorial do catálogo ==================== */
.rbc-catalog-intro {
	margin: 0 0 18px;
	padding: 0 0 18px;
	border-bottom: 1px solid var(--rbc-line);
}
.rbc-catalog-intro .rbc-breadcrumb { margin-bottom: 10px; }
.rbc-catalog-intro h1 {
	margin: 0 0 8px;
	font-size: clamp(24px, 3vw, 36px);
	line-height: 1.14;
	letter-spacing: -.025em;
	color: var(--rbc-ink);
}
.rbc-catalog-intro p {
	max-width: 880px;
	margin: 0;
	color: var(--rbc-muted);
	font-size: 14px;
	line-height: 1.65;
}
@media (max-width: 820px) {
	.rbc-catalog-intro { margin-bottom: 16px; padding-bottom: 16px; }
	.rbc-catalog-intro h1 { font-size: 25px; }
}
