/**
 * Simulação de frete (Melhor Envio) na página do produto — estilo do tema.
 * Caixa transparente sobre o azul, campo com borda dourada e cantos suaves.
 * Os seletores cobrem as marcações conhecidas do plugin e, como reserva,
 * qualquer caixa da summary que contenha o campo de CEP.
 */

.single-product .summary .containerCalculator,
.single-product .summary #melhor-envio-shortcode,
.single-product .summary .melhor-envio-calculator,
.single-product .summary div:has(> input.iptCep),
.single-product .summary div:has(> input#inputCep) {
	width: 100%;
	margin: 1.4rem 0 0 !important;
	padding: 1rem 1.1rem 1.1rem !important;
	background: rgba(216, 197, 143, .04) !important;
	border: 1px solid rgba(216, 197, 143, .28) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	color: #f6f2ec !important;
}

/* Evita caixa dentro de caixa quando o fallback :has também acerta o pai. */
.single-product .summary .containerCalculator div:has(> input.iptCep),
.single-product .summary #melhor-envio-shortcode div:has(> input.iptCep) {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

/* Título "Simulação de frete" */
.single-product .summary .containerCalculator > p,
.single-product .summary #melhor-envio-shortcode > p,
.single-product .summary .containerCalculator label,
.single-product .summary #melhor-envio-shortcode label {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin: 0 0 .65rem !important;
	padding: 0 !important;
	color: #d8c58f !important;
	font-size: .68rem !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: .14em;
	line-height: 1.2;
}

.single-product .summary .containerCalculator > p::before,
.single-product .summary #melhor-envio-shortcode > p::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3zM14 9h4l3 3v4h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3zM14 9h4l3 3v4h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Campo do CEP */
.single-product .summary input.iptCep,
.single-product .summary input#inputCep,
.single-product .summary .containerCalculator input[type="text"],
.single-product .summary .containerCalculator input[type="tel"],
.single-product .summary #melhor-envio-shortcode input[type="text"],
.single-product .summary #melhor-envio-shortcode input[type="tel"] {
	width: 100% !important;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 1rem !important;
	background: #243746 !important;
	border: 1px solid #d8c58f !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	color: #f6f2ec !important;
	font-size: .9rem !important;
	letter-spacing: .06em;
	outline: 0;
	transition: border-color .2s, box-shadow .2s;
}

.single-product .summary input.iptCep::placeholder,
.single-product .summary input#inputCep::placeholder,
.single-product .summary .containerCalculator input::placeholder,
.single-product .summary #melhor-envio-shortcode input::placeholder {
	color: #9aa6ae !important;
	opacity: 1;
	letter-spacing: .02em;
}

.single-product .summary input.iptCep:focus,
.single-product .summary input#inputCep:focus,
.single-product .summary .containerCalculator input:focus,
.single-product .summary #melhor-envio-shortcode input:focus {
	border-color: #eadbb0 !important;
	box-shadow: 0 0 0 3px rgba(216, 197, 143, .18) !important;
}

/* Botão (quando o plugin exibe "Calcular") */
.single-product .summary .containerCalculator button,
.single-product .summary .containerCalculator input[type="button"],
.single-product .summary .containerCalculator input[type="submit"],
.single-product .summary #melhor-envio-shortcode button,
.single-product .summary #calcular-frete {
	height: 46px;
	margin-top: .55rem;
	padding: 0 1.1rem !important;
	background: #d8c58f !important;
	border: 1px solid #d8c58f !important;
	border-radius: 6px !important;
	color: #172936 !important;
	font-size: .68rem !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: .1em;
	cursor: pointer;
}

.single-product .summary .containerCalculator button:hover,
.single-product .summary #melhor-envio-shortcode button:hover,
.single-product .summary #calcular-frete:hover {
	background: #eadbb0 !important;
}

/* Carregando e resultados */
.single-product .summary #calcular-frete-loader,
.single-product .summary .containerCalculator [class*="loader"] {
	margin-top: .7rem;
	color: #c4c7c7;
	font-size: .78rem;
}

.single-product .summary .resultado-frete,
.single-product .summary .containerCalculator table,
.single-product .summary #melhor-envio-shortcode table {
	width: 100%;
	margin: .8rem 0 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-collapse: collapse;
	color: #f6f2ec !important;
	font-size: .8rem;
}

.single-product .summary .resultado-frete table {
	margin: 0 !important;
}

.single-product .summary .containerCalculator th,
.single-product .summary .containerCalculator td,
.single-product .summary #melhor-envio-shortcode th,
.single-product .summary #melhor-envio-shortcode td,
.single-product .summary .resultado-frete th,
.single-product .summary .resultado-frete td {
	padding: .6rem .2rem !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(216, 197, 143, .16) !important;
	color: #f6f2ec !important;
	text-align: left;
}

.single-product .summary .containerCalculator th,
.single-product .summary #melhor-envio-shortcode th,
.single-product .summary .resultado-frete th {
	color: #d8c58f !important;
	font-size: .62rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
}

.single-product .summary .containerCalculator tr:last-child td,
.single-product .summary #melhor-envio-shortcode tr:last-child td,
.single-product .summary .resultado-frete tr:last-child td {
	border-bottom: 0 !important;
}

.single-product .summary .containerCalculator small,
.single-product .summary #melhor-envio-shortcode small,
.single-product .summary .resultado-frete small,
.single-product .summary .observation {
	color: #9aa6ae !important;
	font-size: .7rem;
}

.single-product .summary .containerCalculator a,
.single-product .summary #melhor-envio-shortcode a {
	color: #d8c58f;
	font-size: .72rem;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Botões de WhatsApp logo abaixo — mesmo canto suave */
.single-product .product-whatsapp-list .product-whatsapp {
	border-radius: 6px;
}

/* Reserva: classes aplicadas via JS ao bloco que contém o campo de CEP,
   seja qual for a marcação da versão do plugin. */
.single-product .summary .jg-frete-box {
	width: 100%;
	margin: 1.4rem 0 0 !important;
	padding: 1rem 1.1rem 1.1rem !important;
	background: rgba(216, 197, 143, .04) !important;
	border: 1px solid rgba(216, 197, 143, .28) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	color: #f6f2ec !important;
}

.single-product .summary .jg-frete-box *:not(input):not(button):not(svg):not(path) {
	background-color: transparent !important;
	box-shadow: none !important;
}

.single-product .summary .jg-frete-box div,
.single-product .summary .jg-frete-box form {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.single-product .summary .jg-frete-box .jg-frete-title {
	display: block;
	margin: 0 0 .65rem !important;
	padding: 0 !important;
	color: #d8c58f !important;
	font-size: .68rem !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: .14em;
}

.single-product .summary input.jg-frete-input {
	width: 100% !important;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 1rem !important;
	background: #243746 !important;
	border: 1px solid #d8c58f !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	color: #f6f2ec !important;
	font-size: .9rem !important;
	outline: 0;
}

.single-product .summary input.jg-frete-input::placeholder {
	color: #9aa6ae !important;
	opacity: 1;
}

.single-product .summary input.jg-frete-input:focus {
	border-color: #eadbb0 !important;
	box-shadow: 0 0 0 3px rgba(216, 197, 143, .18) !important;
}


/* =========================================================================
   Jordan 2.3 — override claro definitivo para o simulador de frete
   ========================================================================= */
.single-product .summary .containerCalculator,
.single-product .summary #melhor-envio-shortcode,
.single-product .summary .melhor-envio-calculator,
.single-product .summary .jg-frete-box {
	background: #ffffff !important;
	color: #213645 !important;
	border: 1px solid #e5dfd3 !important;
	border-radius: 18px !important;
	box-shadow: 0 14px 36px rgba(24, 38, 49, .06) !important;
}

.single-product .summary .containerCalculator *,
.single-product .summary #melhor-envio-shortcode *,
.single-product .summary .melhor-envio-calculator *,
.single-product .summary .jg-frete-box * {
	color: #213645 !important;
}

.single-product .summary .containerCalculator > p,
.single-product .summary #melhor-envio-shortcode > p,
.single-product .summary .containerCalculator label,
.single-product .summary #melhor-envio-shortcode label,
.single-product .summary .jg-frete-box .jg-frete-title {
	color: #213645 !important;
}

.single-product .summary input.iptCep,
.single-product .summary input#inputCep,
.single-product .summary input.jg-frete-input,
.single-product .summary .containerCalculator input[type="text"],
.single-product .summary .containerCalculator input[type="tel"],
.single-product .summary #melhor-envio-shortcode input[type="text"],
.single-product .summary #melhor-envio-shortcode input[type="tel"] {
	background: #fff !important;
	color: #213645 !important;
	border: 1px solid #c8b783 !important;
}

.single-product .summary input.iptCep::placeholder,
.single-product .summary input#inputCep::placeholder,
.single-product .summary input.jg-frete-input::placeholder,
.single-product .summary .containerCalculator input::placeholder,
.single-product .summary #melhor-envio-shortcode input::placeholder {
	color: #667681 !important;
}

.single-product .summary .resultado-frete,
.single-product .summary .resultado-frete table,
.single-product .summary .containerCalculator table,
.single-product .summary #melhor-envio-shortcode table,
.single-product .summary .melhor-envio-calculator table,
.single-product .summary .containerCalculator th,
.single-product .summary .containerCalculator td,
.single-product .summary #melhor-envio-shortcode th,
.single-product .summary #melhor-envio-shortcode td,
.single-product .summary .resultado-frete th,
.single-product .summary .resultado-frete td {
	background: transparent !important;
	color: #213645 !important;
	border-color: #eee8de !important;
}

.single-product .summary .containerCalculator small,
.single-product .summary #melhor-envio-shortcode small,
.single-product .summary .resultado-frete small,
.single-product .summary .observation {
	color: #667681 !important;
}
