/* Calculadora da Taxa Turística — estilos da ferramenta (formulário +
   cartões de resultado). Tokens de cor/tipografia partilhados vêm do
   <style> inline da página (mesmo padrão de assets/css/rnal-lookup.css). */

.ttc-tool {
	background: var(--c-band);
	border-block: 1px solid var(--c-svc-hero-border);
	padding-block: 46.8px 52.2px;
}

.ttc-tool__col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 19.8px;
	max-width: 720px;
}

.ttc-tool__title { font-size: 40px; font-weight: 500; line-height: 45px; color: var(--c-ink); }
.ttc-tool__lead { font-size: 15.3px; font-weight: 400; line-height: 26.3px; color: var(--c-slate); max-width: 620px; }

.ttc-card--form {
	width: 100%;
	max-width: 780px;
	background: var(--c-white);
	border: 1px solid var(--c-svc-input-border);
	border-radius: var(--radius-xl);
	box-shadow: var(--sh-svc-form);
	padding: 25.2px;
}

.ttc-field { display: flex; flex-direction: column; gap: 7.2px; margin-bottom: 14.4px; }
.ttc-field:last-of-type { margin-bottom: 0; }

.ttc-field__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14.4px;
}

.ttc-field__label { font-size: var(--fs-13); font-weight: 600; color: var(--c-ink); }
.ttc-field__hint { font-size: var(--fs-12); font-weight: 400; color: var(--c-muted-2); }

.ttc-input,
.ttc-select {
	min-height: 43.2px;
	padding: 10.8px 14.4px;
	border: 1px solid var(--c-svc-input-border);
	border-radius: var(--radius-md);
	background: var(--c-svc-input-bg);
	font-size: var(--fs-15);
	color: var(--c-ink);
	width: 100%;
}

.ttc-combobox { position: relative; }

.ttc-combobox__icon {
	position: absolute;
	left: 14.4px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--c-svc-input-placeholder);
	pointer-events: none;
}

.ttc-combobox__input { padding-left: 39.6px; }
.ttc-combobox__input::placeholder { color: var(--c-svc-input-placeholder); }

.ttc-combobox__list {
	position: absolute;
	top: calc(100% + 5.4px);
	left: 0;
	right: 0;
	z-index: 20;
	max-height: 288px;
	overflow-y: auto;
	margin: 0;
	padding: 7.2px 0;
	list-style: none;
	background: var(--c-white);
	border: 1px solid var(--c-svc-input-border);
	border-radius: var(--radius-md);
	box-shadow: 0 18px 36px rgba(10, 45, 77, 0.16);
	display: none;
}

.ttc-combobox__list.is-open { display: block; }

.ttc-combobox__group {
	padding: 7.2px 14.4px 5.4px;
	font-size: var(--fs-11);
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: var(--c-muted-2);
}

.ttc-combobox__option {
	padding: 9px 14.4px;
	font-size: var(--fs-14);
	color: var(--c-ink);
	cursor: pointer;
}

.ttc-combobox__option:hover,
.ttc-combobox__option.is-active {
	background: var(--c-svc-card-bg);
	color: var(--c-blue-700);
}

.ttc-combobox__empty {
	padding: 10.8px 14.4px;
	font-size: var(--fs-13);
	color: var(--c-muted-2);
}

.ttc-actions { margin-top: 18px; }
.ttc-submit { width: 100%; }

.ttc-results {
	width: 100%;
	max-width: 780px;
	margin-top: 25.2px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ttc-results:empty { margin-top: 0; }

.ttc-card {
	background: var(--c-white);
	border: 1px solid var(--c-svc-card-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--sh-header);
	padding: 21.6px 25.2px;
}

.ttc-card--result { border-color: var(--c-blue); }
.ttc-card--info { background: var(--c-svc-card-bg); }
.ttc-card--erro { background: #fdecec; border-color: #f3b8b8; color: #a3231f; }

.ttc-card__title { font-size: var(--fs-15); font-weight: 700; color: var(--c-ink); }
.ttc-card__text { margin-top: 7.2px; font-size: var(--fs-14); line-height: 21.6px; color: var(--c-body); }
.ttc-card__note { margin-top: 10.8px; font-size: var(--fs-12); line-height: 18px; color: var(--c-muted-2); }

.ttc-table-wrap { margin-top: 14.4px; width: 100%; overflow-x: auto; border: 1px solid var(--c-svc-card-border); border-radius: var(--radius-lg); }
.ttc-table { width: 100%; border-collapse: collapse; font-size: var(--fs-13); }
.ttc-table td { padding: 10.8px 14.4px; text-align: left; border-bottom: 1px solid var(--c-svc-list-divider); color: var(--c-slate); }
.ttc-table tbody tr:last-child td { border-bottom: 0; }
.ttc-table td:last-child { text-align: right; font-weight: 600; color: var(--c-ink); white-space: nowrap; }
.ttc-table__total td { font-weight: 700; color: var(--c-ink); font-size: var(--fs-15); background: var(--c-svc-card-bg); }

.ttc-list { margin-top: 12.6px; display: flex; flex-direction: column; gap: 9px; padding-left: 18px; list-style: disc; }
.ttc-list li { font-size: var(--fs-13); line-height: 20.7px; color: var(--c-body); }

.ttc-links { margin-top: 10.8px; display: flex; flex-direction: column; gap: 9px; }
.ttc-links a { font-size: var(--fs-14); font-weight: 600; color: var(--c-blue); }
.ttc-links a:hover { text-decoration: underline; }

@media (max-width: 768px) {
	.ttc-tool__title { font-size: 26px; line-height: 30px; }
	.ttc-field__row { grid-template-columns: 1fr; }
}
