/* Enrutamiento Cotizador — UI fixes */

/* Departamento dropdown: vertical center label like other inputs */
.ccb-order-field.ccb-order-dropdown .ccb-order-dropdown__input,
.ccb-order-form .ccb-order-dropdown__input {
	display: flex !important;
	align-items: center !important;
	min-height: 48px !important;
	box-sizing: border-box !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.ccb-order-field.ccb-order-dropdown .ccb-dropdown__label,
.ccb-order-form .ccb-dropdown__label {
	display: flex !important;
	align-items: center !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.ccb-order-field.ccb-order-dropdown .ccb-order-dropdown__icon,
.ccb-order-form .ccb-order-dropdown__icon {
	display: flex !important;
	align-items: center !important;
	align-self: center !important;
}

/* Department / order-form dropdown: keep list usable with scroll */
.calc-container .ccb-dropdown__list,
.calc-container .ccb-dropdown-field .ccb-dropdown__list,
.calc-container .ccb-order-form .ccb-dropdown__list,
.calc-main-wrapper .ccb-dropdown__list,
.ccb-wrapper .ccb-dropdown__list,
.calc-form-wrapper .ccb-dropdown__list,
.ccb-order-dropdown__list,
.ccb-order-dropdown.active .ccb-order-dropdown__list,
.ccb-order-field.ccb-order-dropdown .ccb-order-dropdown__list {
	max-height: 240px !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	z-index: 10050 !important;
}

.calc-container .ccb-dropdown__list ul li,
.calc-main-wrapper .ccb-dropdown__list ul li,
.ccb-wrapper .ccb-dropdown__list ul li,
.ccb-order-dropdown__list ul li {
	padding: 10px 14px !important;
	line-height: 1.35;
}

.calc-container .ccb-dropdown-field.active .ccb-dropdown__list,
.calc-main-wrapper .ccb-dropdown-field.active .ccb-dropdown__list,
.ccb-order-dropdown.active .ccb-order-dropdown__list {
	visibility: visible !important;
	opacity: 1 !important;
}

/* Prevent layout jump when all product sections/accordions are collapsed */
.calc-container,
.calc-main-wrapper,
.ccb-wrapper .calc-fields-container,
.calc-fields {
	min-height: 120px;
}

.calc-container .ccb-section,
.calc-container .calc-section,
.calc-main-wrapper .ccb-section {
	transition: none;
}

.calc-container .ccb-section__fields,
.calc-container .calc-section-content {
	overflow: hidden;
}

/* Keep sticky summary from yanking page when left column collapses */
.calc-container .ccb-sticky,
.calc-container .calc-summary,
.calc-main-wrapper .calc-list-inner {
	align-self: flex-start;
}

/*
 * CCB + Elementor: when every section is collapsed the flex widget
 * shrink-wraps to content width, so accordion bars look "narrow".
 * Force the calculator slot to keep full column width either way.
 */
.elementor-widget:has(.ccb-main-widget),
.elementor-shortcode:has(.ccb-main-widget),
.ccb-main-widget,
.ccb-app-container {
	width: 100% !important;
	max-width: 100% !important;
	align-self: stretch !important;
	flex: 1 1 auto !important;
	box-sizing: border-box !important;
}

.ccb-page-breaker.horizontal {
	width: 85% !important;
	max-width: 85% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

.ccb-page-breaker__content,
.ccb-vertical-layout {
	width: 100% !important;
	box-sizing: border-box !important;
}

.ccb-vertical-layout > .ccb-fields-block {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
}

/* Side summary / order form: fixed 37% of calculator row */
.ccb-vertical-layout > .ccb-subtotal-wrapper {
	flex: 0 0 37% !important;
	width: 37% !important;
	max-width: 37% !important;
	min-width: 37% !important;
	box-sizing: border-box !important;
}

.ccb-fields-wrapper,
.ccb-fields-list,
.ccb-field.ccb_field_with_section,
.ccb-section {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}
