/* =============================================================================
   css/paginas/carrinho.css — só na página do carrinho
   -----------------------------------------------------------------------------
   O bloco do cupom (.cc-cupom), que aparece entre o total dos produtos e o
   rodapé. Mesma família de cores do resto do site (lumikit-cores.css); os
   valores depois da vírgula nos var() são reserva.
   ============================================================================= */

.cc-cupom {
	margin: 12px 0 0;
	padding: 14px 16px;
	border: 1px solid var(--lk-linha, #e2e7e4);
	border-radius: 10px;
	background: var(--lk-fundo-2, #f0f4f1);
}
.cc-cupom [hidden] { display: none !important; }

/* botão "Tenho um cupom" */
.cc-cupom-abrir {
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-weight: 700;
	color: var(--lk-verde-texto, #256215);
	cursor: pointer;
}
.cc-cupom-abrir:hover { text-decoration: underline; }
.cc-cupom-abrir:focus-visible { outline: 2px solid var(--lk-verde-forte, #298611); outline-offset: 3px; }

/* formulário */
.cc-cupom-form { margin-top: 12px; }
.cc-cupom-form label {
	display: block;
	margin-bottom: 6px;
	font-size: .875rem;
	font-weight: 600;
	color: var(--lk-texto-3, #5a665e);
}
.cc-cupom-linha { display: flex; flex-wrap: wrap; gap: 8px; }
.cc-cupom-linha input[type=text] {
	flex: 1 1 220px;
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid var(--lk-verde-campo, #d6e2d3);
	border-radius: 8px;
	font: inherit;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.cc-cupom-linha input[type=text]:focus-visible {
	outline: 2px solid var(--lk-verde-forte, #298611);
	outline-offset: 1px;
}

/* cupom aplicado */
.cc-cupom-ok {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 14px;
}
.cc-cupom-selo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border: 1px dashed var(--lk-verde-forte, #298611);
	border-radius: 8px;
	background: var(--lk-verde-fundo, #eef8ec);
	color: var(--lk-verde-texto-esc, #1a460f);
	font-size: .95rem;
}
.cc-cupom-selo b { letter-spacing: .04em; }
.cc-cupom-valor {
	font-weight: 700;
	color: var(--lk-verde-texto, #256215);
	font-variant-numeric: tabular-nums;
}
.cc-cupom-remover { margin: 0 0 0 auto; }
.cc-cupom-nota {
	margin: 10px 0 0;
	font-size: .85rem;
	color: var(--lk-texto-4, #7a877d);
}

/* mensagem de erro */
.cc-cupom-msg {
	margin: 10px 0 0;
	font-size: .9rem;
	font-weight: 600;
	color: #b3261e;
}

@media (max-width: 560px) {
	.cc-cupom-remover { margin-left: 0; }
	.cc-cupom-linha button { width: 100%; }
}

/* aviso do limite de unidades do cupom (campanha com max_unidades) */
.cc-cupom-limite {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 10px 0 0;
	padding: 10px 12px;
	border: 1px solid #f0d58a;
	border-radius: 8px;
	background: #fff6e0;
	font-size: .9rem;
	color: #7a5900;
}
.cc-cupom-limite .fa { margin-top: 2px; }
