/* Arquivo final da cascata: mantém as ações encostadas ao formulário em todos os modelos. */
.ibc .ibc__form-wrap,
.ibc .ibc__form-wrap--simple {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.ibc .ibc__form-wrap .ibc__form {
	margin-bottom: 0 !important;
}

.ibc .ibc__footer[data-ibc-footer] {
	margin: 6px 0 0 !important;
	padding: 0 !important;
}

.ibc .ibc__footer[data-ibc-footer] .ibc__send {
	margin: 0 !important;
	padding: 0 !important;
}

@media (max-width: 760px) {
	.ibc .ibc__footer[data-ibc-footer] {
		margin-top: 6px !important;
	}
}

/* No modo somente opcionais, as ações pertencem visualmente ao formulário. */
.ibc--optionals-only .ibc__form > .ibc__footer[data-ibc-footer] {
	margin-top: 6px !important;
}

/* Cada especificação é um par: rótulo e valor permanecem na mesma linha. */
.ibc .ibc__spec-column ul.ibc__spec-list--details {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.ibc .ibc__spec-column ul.ibc__spec-list--details li {
	display: grid !important;
	grid-template-columns: minmax(190px, 280px) max-content !important;
	justify-content: start !important;
	align-items: baseline !important;
	gap: 20px !important;
	margin: 0 !important;
	padding: 8px 0 8px 13px !important;
}

.ibc .ibc__spec-list--details li b,
.ibc .ibc__spec-list--details li span {
	display: block !important;
	min-width: 0 !important;
}

.ibc .ibc__spec-list--details li b {
	color: var(--ibc-text) !important;
	font-weight: 500 !important;
}

.ibc .ibc__spec-list--details li span {
	color: var(--ibc-text) !important;
	font-weight: 600 !important;
	white-space: nowrap !important;
}

/* O marcador acompanha o centro visual de cada linha em qualquer viewport. */
.ibc .ibc__spec-column ul.ibc__spec-list--details li::before {
	top: 50% !important;
	transform: translateY(-50%) !important;
}

/* A janela de especificações entra de forma discreta, sem deslocar o conteúdo. */
@keyframes ibc-specification-modal-enter {
	from { opacity: 0; transform: translateY(16px) scale(.985); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

.ibc .ibc__spec-modal[open] {
	animation: ibc-specification-modal-enter .34s cubic-bezier(.22, 1, .36, 1) both !important;
}

@media (max-width: 760px) {
	.ibc .ibc__spec-column ul.ibc__spec-list--details li {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		gap: 12px !important;
		width: 100% !important;
		max-width: 100% !important;
		align-items: start !important;
	}

	.ibc .ibc__spec-modal,
	.ibc .ibc__spec-modal--interest {
		width: calc(100vw - 20px) !important;
		max-width: calc(100vw - 20px) !important;
		height: calc(100dvh - 20px) !important;
		max-height: calc(100dvh - 20px) !important;
		margin: auto !important;
		overflow: hidden !important;
	}

	.ibc .ibc__spec-modal-inner,
	.ibc .ibc__spec-modal--interest .ibc__spec-modal-inner {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		height: 100% !important;
		padding: 70px 18px 24px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		overscroll-behavior-y: contain !important;
		touch-action: pan-y !important;
	}

	.ibc .ibc__spec-modal h3,
	.ibc .ibc__spec-modal--interest h3 {
		max-width: 100% !important;
		margin-right: 0 !important;
		padding-right: 0 !important;
		overflow-wrap: anywhere !important;
	}

	.ibc .ibc__spec-modal .ibc__spec-close,
	.ibc .ibc__spec-modal--interest .ibc__spec-close {
		position: absolute !important;
		z-index: 50 !important;
		top: 14px !important;
		right: 14px !important;
		pointer-events: auto !important;
		touch-action: manipulation !important;
		-webkit-tap-highlight-color: transparent !important;
	}

	.ibc .ibc__spec-columns,
	.ibc .ibc__spec-column,
	.ibc .ibc__spec-column ul,
	.ibc .ibc__spec-column li,
	.ibc .ibc__spec-list--details li b,
	.ibc .ibc__spec-list--details li span {
		box-sizing: border-box !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	.ibc .ibc__spec-list--details li b,
	.ibc .ibc__spec-list--details li span {
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	.ibc .ibc__spec-column li {
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ibc .ibc__spec-modal[open] { animation: none !important; }
}

/* Conteúdo já cadastrado, exibido no fluxo de opcionais sem virar checkbox. */
.ibc .ibc__option-group--informative .ibc__series-box {
	display: grid !important;
	gap: 9px !important;
	margin-top: 12px !important;
	padding: 15px 16px !important;
	border: 1px solid var(--ibc-border) !important;
	border-left: 3px solid var(--ibc-gold) !important;
	border-radius: 10px !important;
	background: var(--ibc-card) !important;
}

.ibc .ibc__option-group--informative .ibc__series-box > span {
	color: var(--ibc-gold) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
}

.ibc .ibc__option-group--informative .ibc__series-box strong {
	color: var(--ibc-text) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
}

/* Formulário de opcionais: sempre dois campos por linha no desktop. */
@media (min-width: 761px) {
	.ibc--optionals-only .ibc__form-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.ibc--optionals-only .ibc__form-grid > label:has(textarea) {
		grid-column: auto !important;
	}

	.ibc--optionals-only .ibc__form-grid textarea {
		min-height: 48px !important;
		height: 48px !important;
		resize: vertical !important;
	}
}
