/**
 * Estilos propios de Bosch Car Palafolls.
 *
 * REGLA: usar primero los controles y variables globales de Elementor.
 * Añadir aquí únicamente estilos que Elementor no pueda expresar y siempre
 * bajo una clase CSS semántica asignada al widget o contenedor afectado.
 * Convención: .bcp-bloque, .bcp-bloque__elemento, .bcp-bloque--modificador.
 */

/* Utilidad accesible para contenido que debe leer un lector de pantalla. */
.bcp-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Base visual no expresable como un único control global de Elementor. */
html {
	background: linear-gradient(180deg, #fcfdff 0%, #f4f7fb 55%, #eff3f8 100%);
}

html,
body {
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	font-family: "Manrope", Helvetica, Arial, sans-serif;
	color: #101519;
	background-color: transparent !important;
	-webkit-font-smoothing: antialiased;
}

body {
	position: relative;
	min-height: 100vh;
	background-image: none;
}

body::before {
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	content: "";
	background-image:
		radial-gradient(1200px 640px at 88% -12%, rgb(0 94 168 / 5.5%), transparent 70%),
		radial-gradient(900px 520px at -8% 24%, rgb(0 94 168 / 3.5%), transparent 72%),
		radial-gradient(800px 440px at 52% 108%, rgb(0 68 124 / 3.5%), transparent 74%),
		url("../images/technical-pattern.svg");
	background-repeat: no-repeat, no-repeat, no-repeat, repeat;
	background-size: auto, auto, auto, 340px 340px;
}

::selection {
	color: #fff;
	background: #0a6bb5;
}

.bcp-section {
	border-bottom: 1px solid rgb(16 21 25 / 8%);
}

body .elementor-element.bcp-section--tint {
	background-color: rgb(225 233 242 / 72%) !important;
	background-image: linear-gradient(180deg, rgb(234 240 247 / 78%), rgb(225 233 242 / 72%)) !important;
}

body .elementor-element.bcp-section--white {
	background-color: rgb(255 255 255 / 62%) !important;
	background-image: none !important;
}

body .elementor-element.bcp-section--plain {
	background-color: transparent;
}

/* Elementor centra el ::before de sus iconos de fuente de forma absoluta.
 * Phosphor Duotone superpone ::before y ::after mediante margin-left:-1em;
 * se restaura ese flujo para que ambas capas compartan el mismo centro. */
.elementor-icon i.ph-duotone::before,
.elementor-icon i.ph-duotone::after {
	position: static;
	display: inline;
	width: auto;
	height: auto;
	transform: none;
}

.bcp-section--blue {
	color: #fff;
}

.bcp-section .elementor-widget-text-editor p:last-child,
.bcp-footer .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

/* Header global. El sticky se configura con Motion Effects de Elementor. */
.bcp-topbar {
	height: 35px;
	min-height: 35px;
	font-family: "IBM Plex Mono", monospace;
	font-size: 11.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	/* Elementor solo expone dos paradas en este degradado concreto. */
	background-image: linear-gradient(180deg, #0c5fa4 0%, #04477e 52%, #03395f 100%) !important;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 28%), inset 0 -1px 0 rgb(0 0 0 / 25%);
}

.bcp-topbar .e-con-inner,
.bcp-topbar .elementor-widget-container,
.bcp-topbar .elementor-icon-list-items {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 28px;
	width: 100%;
	min-height: 0;
	flex-flow: row wrap !important;
}

.bcp-topbar .elementor-icon-list-item {
	display: inline-flex;
	gap: 7px;
	width: auto;
}

.bcp-topbar .bcp-topbar__item {
	flex: 0 0 auto;
	width: auto;
}

.bcp-topbar__item > .elementor-widget-container > span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.bcp-topbar__item i {
	font-size: 15px;
	color: #bbd8f7;
}

.bcp-topbar__stars {
	display: inline-flex;
	gap: 2px;
	color: #f0b429;
	filter: drop-shadow(0 1px 1px rgb(0 0 0 / 25%));
}

.bcp-topbar__stars i {
	font-size: 13px;
	color: inherit;
}

.bcp-topbar .elementor-icon-list-icon,
.bcp-topbar .elementor-icon-list-icon svg,
.bcp-topbar .elementor-icon-list-icon i {
	width: 15px;
	font-size: 15px;
}

.bcp-topbar .elementor-icon-list-item:last-child .elementor-icon-list-icon {
	color: #f0b429;
}

.bcp-site-header__inner {
	z-index: 50;
	min-height: 75px;
	background: linear-gradient(180deg, rgb(255 255 255 / 95%), rgb(245 249 253 / 88%));
	border-bottom: 1px solid rgb(0 60 110 / 14%);
	box-shadow: 0 1px 0 rgb(255 255 255 / 90%), 0 12px 26px -20px rgb(0 50 95 / 55%);
	backdrop-filter: blur(16px);
}

.bcp-site-header__inner > .e-con-inner {
	min-height: 74px;
	gap: 20px !important;
}

.bcp-site-header__inner .bcp-brand,
.bcp-site-header__inner .bcp-header-actions {
	flex-grow: 0;
	height: auto;
	min-height: 0;
}

.bcp-site-header__inner .bcp-brand {
	flex: 0 0 229.140625px;
	width: 229.140625px;
}

.bcp-site-header__inner .bcp-header-actions {
	flex: 0 0 340px;
	width: 340px;
	height: 44px;
}

.bcp-brand__logo img {
	width: auto;
	height: 46px;
	display: block;
}

.bcp-site-header__inner .bcp-brand > .bcp-brand__logo {
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	line-height: 0;
}

.bcp-brand__logo a {
	display: block;
	width: 46px;
	height: 46px;
	line-height: 0;
}

.bcp-brand__copy {
	flex: 1 1 auto;
	width: auto;
	gap: 0;
}

.bcp-brand__name .elementor-heading-title {
	font-family: "Manrope", Helvetica, Arial, sans-serif;
	line-height: 1.1;
	text-transform: uppercase;
}

.bcp-brand__subtitle,
.bcp-brand__subtitle .elementor-widget-container {
	line-height: 1.1;
}

.bcp-main-nav {
	flex: 1 1 auto;
}

.bcp-main-nav .elementor-nav-menu--main .elementor-item {
	flex: 0 0 auto;
	min-height: 37px;
	padding: 9px 12px !important;
	font-family: "Manrope", Helvetica, Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 19px !important;
	border-radius: 9px;
	transition: all 150ms ease !important;
}

.bcp-main-nav .elementor-nav-menu--main .elementor-nav-menu {
	flex-wrap: nowrap;
	justify-content: flex-end;
	gap: 2px;
	margin-left: auto;
}

.bcp-main-nav .elementor-nav-menu--main .elementor-item:hover,
.bcp-main-nav .elementor-nav-menu--main .elementor-item:focus {
	color: #00457e !important;
	background: rgb(0 94 168 / 13%);
	box-shadow: inset 0 -2px 0 #0a6bb5;
}

.bcp-main-nav .elementor-nav-menu--main .elementor-item.elementor-item-active {
	color: #39424c;
	background: transparent;
	box-shadow: none;
}

.bcp-main-nav .elementor-nav-menu--main .elementor-item.elementor-item-active:hover,
.bcp-main-nav .elementor-nav-menu--main .elementor-item.elementor-item-active:focus {
	color: #00457e !important;
	background: rgb(0 94 168 / 13%);
	box-shadow: inset 0 -2px 0 #0a6bb5;
}

.bcp-header-actions .elementor-button {
	display: inline-flex;
	align-items: center;
	min-height: 0;
	padding: 11px 16px;
	font-family: "Manrope", Helvetica, Arial, sans-serif;
	font-size: 14.5px;
	line-height: normal;
	border-radius: 10px;
	transition: none;
}

.bcp-header-actions .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	gap: 9px;
}

.bcp-header-actions .elementor-button-text {
	white-space: nowrap;
}

.bcp-header-actions .elementor-button-icon {
	margin: 0;
	font-size: 18px;
	line-height: 18px;
}

.bcp-header-actions .elementor-button-icon i {
	width: auto;
	font-size: inherit;
	line-height: inherit;
}

.bcp-header-actions > .elementor-widget {
	flex: 0 0 auto;
	width: auto;
}

.bcp-header-actions .bcp-button--primary .elementor-button {
	padding-inline: 18px;
	background-color: transparent !important;
}

.bcp-header-whatsapp .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: #1f9d53;
	border: 1px solid rgb(16 21 25 / 14%) !important;
	border-radius: 10px;
	transition: none;
}

.bcp-header-whatsapp .elementor-icon:hover {
	background: rgb(31 157 83 / 10%);
	border-color: rgb(31 157 83 / 45%) !important;
}

.bcp-header-phone .elementor-button {
	color: #101519 !important;
	background-color: transparent !important;
	border-color: rgb(16 21 25 / 14%) !important;
}

.bcp-header-phone .elementor-button-icon {
	color: #005ea8;
}

.bcp-header-phone .elementor-button:hover {
	color: #101519 !important;
	background-color: rgb(16 21 25 / 5%) !important;
	border-color: rgb(16 21 25 / 14%) !important;
}

.bcp-header-appointment .elementor-button:hover {
	transform: none;
}

/* Botones y estados hover del diseño de referencia. */
.bcp-button {
	width: auto;
}

.bcp-button .elementor-button {
	transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.bcp-home-hero__buttons .elementor-button {
	display: inline-flex;
	align-items: center;
	padding: 15px 24px;
	line-height: normal;
	transition: none;
}

.bcp-home-hero__buttons .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.bcp-home-hero__buttons .elementor-button-icon {
	margin: 0;
	font-size: 20px;
	line-height: 20px;
}

.bcp-home-hero__buttons .elementor-button-icon i {
	width: auto;
	font-size: inherit;
	line-height: inherit;
}

.bcp-button--primary .elementor-button,
.bcp-button--soft .elementor-button:hover {
	color: #fff !important;
	background-color: #0a6bb5 !important;
	background-image: linear-gradient(168deg, #3d96d8 0%, #0a6bb5 42%, #004c88 100%) !important;
	border-color: rgb(0 60 110 / 45%) !important;
	box-shadow: 0 12px 22px -12px rgb(0 60 110 / 60%), inset 0 1px 0 rgb(255 255 255 / 55%), inset 0 -2px 6px rgb(0 32 62 / 35%) !important;
}

.bcp-button--primary .elementor-button:hover {
	background-image: linear-gradient(168deg, #52a6e4 0%, #1478c4 42%, #005d9f 100%) !important;
	transform: translateY(-1px);
}

.bcp-button--outline .elementor-button,
.bcp-button--location .elementor-button,
.bcp-button--soft .elementor-button {
	color: #101519 !important;
	background-color: rgb(255 255 255 / 80%) !important;
	background-image: none !important;
	border-color: rgb(16 21 25 / 16%) !important;
}

.bcp-home-hero__buttons .bcp-button--outline .elementor-button {
	background-color: transparent !important;
}

.bcp-home-hero__buttons .bcp-button--primary .elementor-button {
	background-color: transparent !important;
}

.bcp-home-hero__buttons .bcp-button--outline .elementor-button-icon {
	color: #005ea8;
}

.bcp-home-hero__buttons .bcp-button--whatsapp-soft .elementor-button-icon {
	color: #1f9d53;
}

/* Los modificadores globales de botón se declaran después de la cabecera; esta
 * especificidad conserva los valores exactos del componente de 44 px. */
.bcp-header-actions .bcp-header-phone .elementor-button {
	width: 145px;
	color: #101519 !important;
	background-color: transparent !important;
	border-color: rgb(16 21 25 / 14%) !important;
	transition: none;
}

.bcp-header-actions .bcp-header-phone .elementor-button:hover {
	color: #101519 !important;
	background-color: rgb(16 21 25 / 5%) !important;
	border-color: rgb(16 21 25 / 14%) !important;
}

.bcp-header-actions .bcp-header-appointment .elementor-button {
	width: 131px;
	background-color: transparent !important;
	transition: none;
}

.bcp-header-actions .bcp-header-appointment .elementor-button:hover {
	transform: none;
}

.bcp-button--outline .elementor-button:hover,
.bcp-button--location .elementor-button:hover {
	color: #00457e !important;
	background-color: rgb(0 94 168 / 7%) !important;
	border-color: rgb(0 94 168 / 38%) !important;
}

.bcp-button--location,
.bcp-button--location .elementor-button {
	width: 100%;
}

.bcp-button--location .elementor-button-content-wrapper {
	justify-content: flex-start;
}

.bcp-button--whatsapp .elementor-button {
	color: #fff !important;
	background-color: #1b9a50 !important;
	background-image: linear-gradient(168deg, #3fbf77 0%, #1b9a50 44%, #127040 100%) !important;
	border-color: rgb(8 72 40 / 40%) !important;
}

.bcp-button--whatsapp-soft .elementor-button {
	color: #101519 !important;
	background-color: rgb(31 157 83 / 8%) !important;
	background-image: none !important;
	border-color: rgb(31 157 83 / 35%) !important;
}

.bcp-button--whatsapp-soft .elementor-button:hover {
	background-color: rgb(31 157 83 / 16%) !important;
}

.bcp-button--light .elementor-button {
	color: #00457e !important;
	background-color: #fff !important;
	background-image: linear-gradient(170deg, #fff 0%, #e7edf4 55%, #cfd9e4 100%) !important;
	border-color: transparent !important;
	box-shadow: 0 10px 18px -10px rgb(0 30 60 / 50%), inset 0 1px 0 rgb(255 255 255 / 90%) !important;
}

.bcp-button--ghost-light .elementor-button {
	color: #fff !important;
	background-color: transparent !important;
	background-image: none !important;
	border-color: rgb(255 255 255 / 30%) !important;
}

.bcp-button--ghost-light .elementor-button:hover {
	background-color: rgb(255 255 255 / 18%) !important;
}

.bcp-button--card-link,
.bcp-button--card-link .elementor-button {
	width: auto;
}

.bcp-button--card-link .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 0;
	padding: 0 !important;
	font-size: 15px !important;
	line-height: normal;
	color: #005ea8 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.bcp-button--card-link .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.bcp-button--card-link .elementor-button-icon {
	order: 2;
	margin: 0;
	font-size: 17px;
	line-height: 17px;
}

.bcp-zone-map-column .bcp-button--card-link .elementor-button-content-wrapper {
	gap: 9px !important;
}

.bcp-zone-map-column .bcp-button--card-link .elementor-button-icon {
	font-size: 16px;
	line-height: 16px;
}

.bcp-button--card-link .elementor-button:hover {
	color: #00457e;
	background: transparent;
}

/* Etiquetas y títulos. */
.bcp-eyebrow {
	text-transform: uppercase;
}

.bcp-eyebrow--pill {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	width: fit-content;
	max-width: none;
	padding: 7px 13px;
	background: rgb(0 94 168 / 7%);
	border: 1px solid rgb(0 94 168 / 28%);
	border-radius: 100px;
}

.bcp-eyebrow--pill i {
	display: block;
	width: auto;
	font-size: 14px;
	line-height: 14px;
}

.bcp-home-hero__trust .elementor-icon-list-text {
	padding-inline-start: 0 !important;
}

.bcp-home-hero__title .elementor-heading-title span {
	color: #005ea8;
}

.bcp-home-hero__title .elementor-heading-title,
.bcp-page-hero__title .elementor-heading-title,
.bcp-contact__title .elementor-heading-title {
	text-wrap: balance;
}

body .elementor-element.bcp-home-hero__grid {
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
}

/* Elementor 4 serializa un width:100% del widget; estas dos anchuras reproducen
 * la columna de texto de la referencia y por eso deben prevalecer sobre él. */
body .elementor-widget.bcp-page-hero__title {
	width: 820px !important;
	max-width: 100% !important;
}

.bcp-page-hero__title {
	margin-top: 14px;
}

body .elementor-widget.bcp-page-hero__description {
	width: 700px !important;
	max-width: 100% !important;
	margin-top: 18px;
}

body .bcp-section--used-cars-hero .elementor-widget.bcp-page-hero__title {
	width: 880px !important;
}

body .bcp-section--rental-hero .elementor-widget.bcp-page-hero__title {
	width: 860px !important;
}

body .bcp-section--used-cars-hero .elementor-widget.bcp-page-hero__description {
	width: 720px !important;
}

.bcp-page-hero__buttons {
	margin-top: 30px;
}

.bcp-page-hero__buttons .elementor-button {
	padding: 15px 24px;
	font-size: 16px;
	line-height: normal;
}

.bcp-page-hero__buttons .elementor-button-content-wrapper {
	gap: 10px;
}

.bcp-page-hero__buttons .elementor-button-icon {
	font-size: 20px;
}

/* En Taller, el botón secundario conserva el fondo azulado del hero de la
 * muestra y separa visualmente el icono con el azul Bosch. */
.bcp-section--workshop-hero .bcp-page-hero__buttons .bcp-button--outline .elementor-button {
	background-color: transparent !important;
}

.bcp-section--workshop-hero .bcp-page-hero__buttons .bcp-button--outline .elementor-button-icon {
	color: #005ea8;
}

.bcp-section--rental-hero .bcp-page-hero__buttons .bcp-button--outline .elementor-button {
	background-color: transparent !important;
}

.bcp-section--rental-hero .bcp-page-hero__buttons .bcp-button--outline .elementor-button-icon {
	color: #005ea8;
}

/* Hero de inicio. */
.bcp-home-hero__title {
	margin-top: 22px;
}

.bcp-home-hero__description {
	margin-top: 22px;
	width: 560px;
	max-width: 560px;
	line-height: 1.55;
}

.bcp-home-hero__buttons {
	margin-top: 32px;
}

.bcp-home-hero__trust {
	margin-top: 36px;
}

.bcp-home-hero__trust .elementor-icon-list-items.elementor-inline-items {
	display: flex;
	align-items: center;
	gap: 26px;
	width: auto;
	margin: 0;
}

.bcp-home-hero__trust .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: auto;
	margin: 0;
	padding: 0;
	font-family: "Manrope", Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: normal;
	color: #6e7a88;
}

.bcp-home-hero__trust .elementor-icon-list-icon {
	display: inline-flex;
	width: 19px;
	padding: 0;
}

.bcp-home-hero__trust .elementor-icon-list-icon i {
	width: auto;
	font-size: 19px;
	line-height: 19px;
}

.bcp-home-hero__trust .elementor-icon-list-text {
	padding: 0;
	color: #6e7a88;
}

.bcp-home-hero__media {
	position: relative;
}

.bcp-map,
.bcp-map .elementor-widget-container {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #eef1f6;
}

.bcp-map {
	border: 1px solid rgb(16 21 25 / 10%);
	border-radius: 20px;
}

body .elementor-element.bcp-map {
	height: auto !important;
}

.bcp-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
}

.bcp-home-hero__image img,
.bcp-workshop-image img,
.bcp-sell-image img,
.bcp-single-vehicle__image img {
	width: 100%;
	object-fit: cover;
}

.bcp-home-hero__image img {
	display: block;
	height: 100% !important;
	border-radius: 0;
}

.bcp-home-hero__image {
	aspect-ratio: 4 / 3.4;
	overflow: hidden;
	background: repeating-linear-gradient(135deg, #eef1f6 0 10px, #e4e9f0 10px 20px);
	border: 1px solid rgb(16 21 25 / 10%);
	border-radius: 20px;
}

.bcp-bosch-badge {
	position: absolute;
	bottom: -26px;
	left: -26px;
	z-index: 2;
	width: 296px;
	max-width: none;
	padding: 16px 20px !important;
	gap: 16px !important;
	background: #fff;
	border: 1px solid rgb(16 21 25 / 10%);
	border-radius: 18px;
	box-shadow: 0 20px 45px rgb(16 21 25 / 16%);
}

.bcp-bosch-badge__logo {
	flex: 0 0 80px;
	width: 80px !important;
	height: 80px;
	line-height: 0;
}

.bcp-bosch-badge__logo img {
	display: block;
	width: auto;
	height: 80px;
}

.bcp-bosch-badge__copy {
	width: 158px !important;
	max-width: 158px;
}

.bcp-bosch-badge__copy .elementor-heading-title {
	line-height: 1.2 !important;
}

.bcp-section--home-services h2.elementor-heading-title,
.bcp-section--home-zone h2.elementor-heading-title,
.bcp-section--home-reviews h2.elementor-heading-title {
	/* Neutraliza el 1.2 global de Elementor: la muestra usa normal. */
	line-height: normal !important;
}

/* Localidades: Elementor mantiene nombre, enlace y distancia como controles
 * separados; la clase reúne la interacción y el reparto horizontal del modelo. */
.bcp-zone-title {
	margin-top: 14px;
}

.bcp-zone-description {
	width: 520px;
	max-width: 520px;
	margin-top: 16px;
}

.bcp-city-grid {
	width: 520px;
	max-width: 520px;
	margin-top: 28px;
}

.bcp-city-card {
	position: relative;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 11px;
	min-height: 51px;
	padding: 14px 16px;
	cursor: pointer;
	background-color: #fff;
	border: 1px solid rgb(16 21 25 / 8%);
	border-radius: 12px;
	transition: none;
}

.bcp-city-card:hover {
	border-color: rgb(0 94 168 / 45%) !important;
}

.bcp-city-card__icon {
	flex: 0 0 19px;
	width: 19px;
	height: 19px;
}

.bcp-city-card__icon .elementor-icon-wrapper,
.bcp-city-card__icon .elementor-icon {
	display: block;
	width: 19px;
	height: 19px;
	font-size: 19px;
	line-height: 19px;
	color: #005ea8;
}

.bcp-city-card__icon i {
	display: block;
	width: auto;
	font-size: inherit;
	line-height: inherit;
}

.bcp-city-card .bcp-city-card__name,
.bcp-city-card .bcp-city-card__name .elementor-button {
	position: static;
	flex: 0 0 auto;
	width: auto;
}

.bcp-city-card .bcp-city-card__name .elementor-button {
	display: block;
	padding: 0;
	font-family: "Manrope", Helvetica, Arial, sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 21px;
	color: #101519;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.bcp-city-card .bcp-city-card__name .elementor-button::after {
	position: absolute;
	inset: 0;
	z-index: 2;
	content: "";
}

.bcp-city-card__distance {
	flex: 0 0 auto;
	width: auto;
	margin-left: auto;
	font-family: "IBM Plex Mono", monospace;
	font-size: 11.5px;
	font-weight: 400;
	line-height: 15px;
	color: #6e7a88;
}

/* Tarjetas y el distintivo metálico de los iconos. */
.bcp-card,
.bcp-review-card,
.bcp-score-card,
.bcp-process-card,
.bcp-spec-card,
.bcp-contact-card,
.bcp-form-card {
	height: 100%;
	background: linear-gradient(180deg, #fff 0%, #f7fafd 100%);
	background-color: #fff;
	border: 1px solid rgb(0 60 110 / 13%);
	border-radius: 18px;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 90%), 0 14px 28px -24px rgb(0 50 95 / 55%);
}

.bcp-card .elementor-icon-box-wrapper {
	height: 100%;
	padding: 26px;
}

.bcp-card--service .elementor-icon-box-wrapper {
	padding: 30px;
}

.bcp-card--compact .elementor-icon-box-wrapper {
	padding: 24px;
	padding-bottom: 23px;
}

.bcp-card,
.bcp-loop-card {
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.bcp-card:hover,
.bcp-loop-card:hover {
	border-color: rgb(0 94 168 / 45%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 90%), 0 14px 28px -24px rgb(0 50 95 / 55%);
	transform: translateY(-3px);
}

.bcp-card .elementor-icon,
.bcp-contact-card .elementor-icon,
.bcp-metal-icon .elementor-icon,
.bcp-contact-hours__icon .elementor-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	padding: 2px;
	color: #134a80;
	background: conic-gradient(from 200deg, #fff 0deg, #93a7bc 62deg, #f2f7fc 132deg, #6c8398 208deg, #e4ecf4 286deg, #fff 360deg);
	border: 0;
	border-radius: 20px;
	box-shadow: 0 13px 22px -12px rgb(0 58 105 / 50%), 0 1px 0 rgb(255 255 255 / 90%);
	overflow: hidden;
}

.bcp-card .elementor-icon::before,
.bcp-contact-card .elementor-icon::before,
.bcp-metal-icon .elementor-icon::before,
.bcp-contact-hours__icon .elementor-icon::before {
	position: absolute;
	inset: 2px;
	z-index: 0;
	content: "";
	background: linear-gradient(158deg, #fbfdff 0%, #d3e0ec 30%, #8fa6bc 66%, #dfe9f3 100%);
	border-radius: 17px;
	box-shadow: inset 0 1px 1px rgb(255 255 255 / 95%), inset 0 -6px 10px -4px rgb(31 43 54 / 40%), inset 0 0 0 1px rgb(255 255 255 / 35%);
}

.bcp-card .elementor-icon::after,
.bcp-contact-card .elementor-icon::after,
.bcp-metal-icon .elementor-icon::after,
.bcp-contact-hours__icon .elementor-icon::after {
	position: absolute;
	top: -34%;
	left: -25%;
	z-index: 1;
	width: 106%;
	height: 77%;
	pointer-events: none;
	content: "";
	background: linear-gradient(115deg, rgb(255 255 255 / 85%), rgb(255 255 255 / 0%) 60%);
	transform: rotate(-12deg);
}

.bcp-card .elementor-icon i,
.bcp-card .elementor-icon svg,
.bcp-contact-card .elementor-icon i,
.bcp-contact-card .elementor-icon svg,
.bcp-metal-icon .elementor-icon i,
.bcp-metal-icon .elementor-icon svg,
.bcp-contact-hours__icon .elementor-icon i,
.bcp-contact-hours__icon .elementor-icon svg {
	position: relative;
	z-index: 2;
	filter: drop-shadow(0 1px 0 rgb(255 255 255 / 92%)) drop-shadow(0 -1px 1px rgb(31 43 54 / 35%));
}

.bcp-card .elementor-icon i,
.bcp-contact-card .elementor-icon i,
.bcp-metal-icon .elementor-icon i,
.bcp-contact-hours__icon .elementor-icon i {
	width: 1em;
}

.bcp-metal-icon {
	width: auto;
}

.bcp-metal-icon .elementor-icon-wrapper {
	text-align: left;
}

.bcp-service-card .bcp-metal-icon .elementor-icon {
	width: 62px;
	height: 62px;
}

.bcp-service-card {
	height: 100%;
	padding: 30px;
	border-radius: 20px;
	transition: all 180ms ease;
}

.bcp-service-card__title {
	margin-top: 20px;
}

.bcp-service-card__description {
	margin-top: 11px;
}

.bcp-service-card__tags {
	margin-top: 22px;
	min-height: 24px;
}

.bcp-service-card__tags,
.bcp-service-card__tags .elementor-widget-container {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.bcp-service-card__tags span {
	padding: 5px 10px;
	font-size: 11px;
	line-height: 1.2;
	color: #48525d;
	background: rgb(16 21 25 / 5%);
	border-radius: 6px;
}

.bcp-service-card .bcp-button--card-link {
	margin-top: 24px;
}

.bcp-button--card-link {
	height: 21px;
	line-height: 21px;
}

.bcp-button--card-link .elementor-button {
	font-size: 15px;
	line-height: 21px;
}

.bcp-service-card__title .elementor-heading-title {
	line-height: 1.1739 !important;
}

.bcp-home-services__title {
	margin-top: 14px;
}

.bcp-card--compact {
	border-radius: 16px;
}

.bcp-card--compact:hover {
	border-color: rgb(0 94 168 / 40%);
	transform: none;
}

.bcp-card--compact .elementor-icon {
	width: 56px;
	height: 56px;
	border-radius: 20px;
}

.bcp-card--compact .elementor-icon::before {
	border-radius: 17px;
}

.bcp-card--compact .elementor-icon-box-title {
	margin: 14px 0 0 !important;
	font-size: 17px !important;
}

.bcp-card--compact .elementor-icon-box-description {
	margin-top: 8px !important;
	font-size: 14.5px !important;
	line-height: 1.5 !important;
}

.bcp-card--benefit .elementor-icon-box-title {
	margin: 16px 0 0 !important;
	font-size: 18px !important;
}

.bcp-section--workshop-services .bcp-workshop-image {
	height: 420px;
	margin-top: -38px;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgb(16 21 25 / 10%);
	border-radius: 20px;
}

.bcp-section--workshop-services .bcp-workshop-image img {
	display: block;
	height: 100% !important;
	border-radius: 0;
}

/* Relaciones verticales que el control de margen de Elementor 4 no conserva al
 * regenerar estos widgets concretos. */
.bcp-workshop-services__title {
	margin-top: 76px;
}

.bcp-workshop-services__note {
	margin-top: 12px;
	line-height: normal !important;
}

.bcp-workshop-services__grid {
	margin-top: 34px;
}

.bcp-card .elementor-icon-box-title {
	margin: 18px 0 0 !important;
	font-family: "Manrope", sans-serif !important;
	line-height: normal !important;
}

.bcp-card .elementor-icon-box-description {
	margin: 9px 0 0 !important;
}

.bcp-card .elementor-icon-box-icon {
	margin-bottom: 0 !important;
}

/* Elementor conserva 15 px de separación estructural entre icono y contenido
 * aunque el control figure a cero. Se neutraliza para que mande el margen del título. */
.bcp-card .elementor-icon-box-content {
	margin-top: -15px;
}

.bcp-card--compact .elementor-icon-box-title {
	margin-top: 14px !important;
	font-size: 17px !important;
}

.bcp-card--benefit .elementor-icon-box-title {
	margin-top: 16px !important;
}

.bcp-review-card,
.bcp-score-card,
.bcp-process-card,
.bcp-spec-card,
.bcp-contact-card,
.bcp-form-card {
	padding: 24px;
}

.bcp-review-card .elementor-testimonial-content::first-line,
.bcp-rating {
	color: #e8a317;
}

.bcp-review-card .elementor-testimonial-image {
	display: none;
}

.bcp-review-card .elementor-testimonial-meta-inner {
	width: 100%;
}

.bcp-review-card__stars .elementor-widget-container {
	display: flex;
	gap: 3px;
}

.bcp-review-card__stars {
	height: 14px;
}

.bcp-review-card {
	padding: 26px;
}

.bcp-review-card__text {
	margin-top: 16px;
}

.bcp-review-card__author {
	margin-top: 20px;
}

.bcp-score-card {
	flex: 0 0 auto;
	width: auto;
	height: auto;
	padding: 16px 22px;
}

.bcp-score-card {
	border-radius: 14px;
}

.bcp-reviews-title-wrap,
.bcp-rating__details {
	width: auto !important;
}

.bcp-rating__stars .elementor-widget-container {
	display: flex;
	gap: 3px;
}

.bcp-rating__caption,
.bcp-rating__caption p {
	color: #6e7a88;
}

.bcp-process__number {
	flex: 0 0 16px;
	width: 16px;
	padding-top: 2px;
}

@media (min-width: 1025px) {
	.bcp-process__copy {
		flex: 0 1 auto;
		width: auto;
	}
}

.bcp-process-card {
	padding: 20px;
	background: #fff;
	border-color: rgb(16 21 25 / 8%);
	border-radius: 14px;
	box-shadow: none;
}

.bcp-workshop-prices__note {
	margin-top: 12px;
}

.bcp-workshop-prices__table {
	margin-top: 24px;
}

.bcp-workshop-prices__table .bcp-table__row {
	grid-template-columns: minmax(0, 1fr) auto !important;
	border-bottom: 1px solid rgb(16 21 25 / 7%);
}

.bcp-workshop-prices__table .bcp-table__row + .bcp-table__row,
.bcp-workshop-prices__table .bcp-table__row--last {
	border-top: 0;
}

.bcp-workshop-prices__table .bcp-table__row--last {
	border-bottom: 0;
}

.bcp-workshop-prices__table .bcp-table__cell {
	line-height: normal !important;
}

.bcp-workshop-price__value {
	width: auto;
	white-space: nowrap;
}

.bcp-workshop-prices__callout {
	margin-top: 20px;
}

/* Listados dinámicos de los CPT. */
.bcp-loop-grid .elementor-loop-container {
	align-items: stretch;
}

.bcp-loop-grid .e-loop-item,
.bcp-loop-card {
	height: 100%;
}

.bcp-loop-card {
	overflow: hidden;
	background: linear-gradient(180deg, #fff 0%, #f7fafd 100%);
	border: 1px solid rgb(0 60 110 / 13%);
	border-radius: 20px;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 90%), 0 14px 28px -24px rgb(0 50 95 / 55%);
}

.bcp-loop-card__media {
	position: relative;
}

.bcp-loop-card__image img {
	width: 100%;
	height: 244px;
	object-fit: cover;
	border-radius: 0;
}

.bcp-loop-card__image a {
	display: block;
	width: 100%;
}

.bcp-loop-card--van .bcp-loop-card__image img {
	height: auto !important;
	aspect-ratio: 16 / 10;
}

.bcp-loop-card--car .bcp-loop-card__image img {
	height: auto !important;
	aspect-ratio: 16 / 10;
}

.bcp-loop-card--car .bcp-loop-card__version {
	margin-top: 6px;
	line-height: normal !important;
}

.bcp-loop-card--car .bcp-detail,
.bcp-loop-card--car .bcp-detail p,
.bcp-loop-card--car .bcp-detail .elementor-widget-container {
	line-height: normal !important;
}

.bcp-loop-card--car .bcp-loop-card__price,
.bcp-loop-card--car .bcp-loop-card__price .elementor-widget-container,
.bcp-loop-card--car .bcp-loop-card__price .elementor-heading-title {
	height: 36px;
	font-family: "Manrope", sans-serif !important;
	line-height: 36px !important;
}

.bcp-loop-card--car .bcp-loop-card__monthly {
	margin-top: 3px;
	line-height: 15px !important;
}

.bcp-loop-card--car .bcp-loop-card__monthly p {
	display: inline;
}

.bcp-loop-card--car .bcp-loop-card__footer > .e-con,
.bcp-loop-card--car .bcp-loop-card__footer > .bcp-button--soft {
	width: auto !important;
}

.bcp-loop-card--car .bcp-loop-card__footer > .bcp-button--soft {
	flex: 0 0 auto;
}

.bcp-loop-card--car .bcp-loop-card__footer .bcp-button--soft .elementor-button {
	padding: 11px 16px !important;
	font-size: 14.5px !important;
	line-height: normal !important;
	white-space: nowrap;
	border: 0 !important;
	border-radius: 10px;
	color: #101519 !important;
	background: rgb(16 21 25 / 6%) !important;
	box-shadow: none !important;
}

.bcp-loop-card--car .bcp-loop-card__footer .bcp-button--soft .elementor-button:hover,
.bcp-loop-card--van .bcp-loop-card__footer .bcp-button--soft .elementor-button:hover {
	color: #fff !important;
	background: linear-gradient(168deg, #3d96d8 0%, #0a6bb5 42%, #004c88 100%) !important;
}

.bcp-loop-card--van .bcp-loop-card__subtitle {
	margin-top: 10px;
	line-height: 1.55 !important;
}

.bcp-loop-card--van .bcp-detail,
.bcp-loop-card--van .bcp-detail p,
.bcp-loop-card--van .bcp-detail .elementor-widget-container {
	line-height: normal !important;
}

.bcp-loop-card--van .bcp-loop-card__price .elementor-heading-title {
	font-family: "Manrope", sans-serif !important;
	line-height: 38px !important;
}

.bcp-loop-card--van .bcp-loop-card__price,
.bcp-loop-card--van .bcp-loop-card__price .elementor-widget-container,
.bcp-loop-card--van .bcp-loop-card__price .elementor-heading-title {
	height: 38px;
}

.bcp-loop-card--van .bcp-loop-card__title .elementor-heading-title {
	font-weight: 700 !important;
	line-height: 26px !important;
	letter-spacing: 0 !important;
}

.bcp-loop-card--van .bcp-loop-card__footer .bcp-eyebrow,
.bcp-loop-card--van .bcp-loop-card__footer .bcp-eyebrow p {
	font-size: 11px !important;
	line-height: 14px !important;
}

.bcp-loop-card--van .bcp-loop-card__footer .bcp-button--soft .elementor-button {
	padding: 11px 16px !important;
	font-size: 14.5px !important;
	line-height: normal !important;
	border-radius: 10px !important;
	border: 0 !important;
	white-space: nowrap;
	color: #101519 !important;
	background: rgb(16 21 25 / 6%) !important;
	box-shadow: none !important;
}

.bcp-loop-card--van .bcp-loop-card__footer > .e-con,
.bcp-loop-card--van .bcp-loop-card__footer > .bcp-button--soft {
	width: auto !important;
}

.bcp-loop-card--van .bcp-loop-card__footer > .bcp-button--soft {
	flex: 0 0 auto;
}

.bcp-loop-card__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	width: auto;
	padding: 6px 11px;
	background: rgb(255 255 255 / 88%);
	border: 1px solid rgb(16 21 25 / 14%);
	border-radius: 100px;
	backdrop-filter: blur(8px);
	font-family: "IBM Plex Mono", monospace;
	font-size: 10.5px;
	line-height: normal;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.bcp-loop-card__featured-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	width: auto;
	padding: 6px 11px;
	font-family: "IBM Plex Mono", monospace;
	font-size: 10.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #101519;
	background: linear-gradient(168deg, #3d96d8 0%, #0a6bb5 42%, #004c88 100%);
	border-radius: 100px;
}

.bcp-loop-card__featured-badge,
.bcp-loop-card__featured-badge .elementor-widget-container,
.bcp-loop-card__featured-badge p {
	font-family: "IBM Plex Mono", monospace !important;
	font-size: 10.5px !important;
	font-weight: 600 !important;
	line-height: 19px !important;
	letter-spacing: .1em !important;
	color: #101519 !important;
}

.bcp-loop-card__featured-badge:has(.elementor-widget-container:empty),
.bcp-loop-card__featured-badge:has(p:empty) {
	display: none;
}

.bcp-loop-card--van:has(.bcp-loop-card__featured-badge:not(:empty)),
.bcp-van--furgon-mediano-l2h2 .bcp-loop-card--van {
	background: #fff;
	border-color: rgb(0 94 168 / 35%);
	box-shadow: none;
}

.bcp-loop-card--van:has(.bcp-loop-card__featured-badge:not(:empty)) .bcp-button--soft .elementor-button,
.bcp-van--furgon-mediano-l2h2 .bcp-loop-card__footer .bcp-button--soft .elementor-button {
	position: relative;
	overflow: hidden;
	color: #fff !important;
	background-color: #0a6bb5 !important;
	background-image: linear-gradient(168deg, #3d96d8 0%, #0a6bb5 42%, #004c88 100%) !important;
	border: 1px solid rgb(0 60 110 / 45%) !important;
	box-shadow: 0 12px 22px -12px rgb(0 60 110 / 60%), inset 0 1px 0 rgb(255 255 255 / 55%), inset 0 -2px 6px rgb(0 32 62 / 35%) !important;
}

/* Elementor difiere las imágenes de fondo de contenedores fuera del primer
 * viewport. Esta capa conserva el degradado del botón destacado desde el
 * primer pintado, sin depender del estado interno e-lazyloaded. */
.bcp-van--furgon-mediano-l2h2 .bcp-loop-card__footer .bcp-button--soft .elementor-button::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	content: "";
	background: linear-gradient(168deg, #3d96d8 0%, #0a6bb5 42%, #004c88 100%);
}

.bcp-van--furgon-mediano-l2h2 .bcp-loop-card__footer .elementor-button-content-wrapper {
	position: relative;
	z-index: 1;
}

.bcp-van--furgon-mediano-l2h2 .bcp-loop-card__footer .bcp-button--soft .elementor-button:hover::before {
	background: linear-gradient(168deg, #52a6e4 0%, #1478c4 42%, #005d9f 100%);
}

.bcp-loop-card--van .bcp-loop-card__price .elementor-heading-title::after {
	margin-left: 3px;
	font-family: "Manrope", sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: #6e7a88;
	content: "/día";
}

.bcp-loop-card__footer {
	border-top: 1px solid rgb(16 21 25 / 8%);
}

.bcp-rental-fleet__note {
	margin-top: 12px;
}

.bcp-section--rental-fleet h2.elementor-heading-title {
	line-height: 43px !important;
}

.bcp-loop-grid--vans {
	margin-top: 34px;
}

.bcp-rental-pricing__grid {
	grid-template-columns: 1.15fr .85fr !important;
}

.bcp-rental-rates__table,
.bcp-rental-includes {
	margin-top: 24px;
}

.bcp-rental-rates__note {
	margin-top: 16px;
}

.bcp-rental-rates__table .bcp-table__row--head {
	height: 42px;
}

.bcp-rental-rates__table .bcp-table__row:not(.bcp-table__row--head) {
	height: 58px;
}

.bcp-rental-rates__table .bcp-table__row {
	grid-template-columns: 1.3fr 1fr 1fr 1fr !important;
	gap: 0 !important;
}

.bcp-rental-rates__table .bcp-table__heading,
.bcp-rental-rates__table .bcp-table__heading p,
.bcp-rental-rates__table .bcp-table__heading .elementor-widget-container {
	font-weight: 400 !important;
	line-height: normal !important;
	letter-spacing: .1em !important;
}

.bcp-rental-rates__table .bcp-table__cell,
.bcp-rental-rates__table .bcp-table__cell p,
.bcp-rental-rates__table .bcp-table__cell .elementor-widget-container {
	line-height: normal !important;
}

.bcp-rental-requirements__title {
	margin-top: 34px;
}

.bcp-rental-requirements {
	margin-top: 14px;
}

.bcp-rental-includes .elementor-icon-list-items {
	display: flex;
	flex-direction: column;
	gap: 11px !important;
}

.bcp-rental-requirements .elementor-icon-list-items {
	display: flex;
	flex-direction: column;
	gap: 9px !important;
}

.bcp-rental-includes .elementor-icon-list-item,
.bcp-rental-requirements .elementor-icon-list-item {
	margin: 0 !important;
	padding: 0 !important;
}

.bcp-rental-includes .elementor-icon-list-item {
	height: 22px;
}

.bcp-rental-requirements .elementor-icon-list-item {
	height: 21px;
}

.bcp-loop-card__monthly .elementor-widget-container::before,
.bcp-loop-card__monthly::before {
	content: "o\00a0";
}

.bcp-loop-card__monthly .elementor-widget-container::after,
.bcp-loop-card__monthly::after {
	content: "/mes";
}

.bcp-detail .elementor-widget-container {
	display: block;
}

.bcp-detail {
	position: relative;
	display: block;
	padding-left: 28px;
}

.bcp-detail::before,
.bcp-detail::after {
	position: absolute;
	top: 50%;
	left: 0;
	width: 17px;
	transform: translateY(-50%);
	color: #005ea8;
	font-family: "Phosphor-Duotone";
	font-size: 17px;
	line-height: 1;
	font-weight: 400;
	text-align: center;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.bcp-detail::before { opacity: .2; }

.bcp-detail--users::before { content: "\e68e"; }
.bcp-detail--users::after { content: "\e68f"; }
.bcp-detail--package::before { content: "\e390"; }
.bcp-detail--package::after { content: "\e391"; }
.bcp-detail--feature::before,
.bcp-detail--fuel::before { content: "\e768"; }
.bcp-detail--feature::after,
.bcp-detail--fuel::after { content: "\e769"; }
.bcp-detail--calendar::before { content: "\e10a"; }
.bcp-detail--calendar::after { content: "\e10b"; }
.bcp-detail--gauge::before { content: "\e628"; }
.bcp-detail--gauge::after { content: "\e629"; }
.bcp-detail--gear::before { content: "\e272"; }
.bcp-detail--gear::after { content: "\e273"; }

.bcp-van--furgon-mediano-l2h2 .bcp-detail--feature::before { content: "\e6b8"; }
.bcp-van--furgon-mediano-l2h2 .bcp-detail--feature::after { content: "\e6b9"; }
.bcp-van--furgon-gran-volumen .bcp-detail--feature::before { content: "\e838"; }
.bcp-van--furgon-gran-volumen .bcp-detail--feature::after { content: "\e839"; }

.bcp-taxonomy-filter .e-filter-item {
	box-sizing: border-box;
	height: 39px;
	padding: 9px 15px;
	font-size: 14px !important;
	line-height: 19px !important;
	border: 1px solid rgb(0 60 110 / 18%);
	border-radius: 100px;
}

.bcp-taxonomy-filter .e-filter {
	gap: 14px !important;
}

.bcp-taxonomy-filter .e-filter-item[data-filter="__all"],
.bcp-taxonomy-filter .e-filter-item[data-filter="diesel"] {
	width: 74px !important;
	inline-size: 74px !important;
	min-width: 74px !important;
	max-width: 74px !important;
	flex: 0 0 74px !important;
}

.bcp-taxonomy-filter .e-filter-item[data-filter="gasolina"] {
	width: 92px !important;
	inline-size: 92px !important;
	min-width: 92px !important;
	max-width: 92px !important;
	flex: 0 0 92px !important;
}

.bcp-taxonomy-filter .e-filter-item[data-filter="hibrido"] {
	width: 82px !important;
	inline-size: 82px !important;
	min-width: 82px !important;
	max-width: 82px !important;
	flex: 0 0 82px !important;
}

.bcp-taxonomy-filter .e-filter-item[data-filter="__all"] {
	font-size: 0 !important;
}

.bcp-taxonomy-filter .e-filter-item[data-filter="__all"]::after {
	font-size: 14px;
	content: "Todos";
}

.bcp-taxonomy-filter .e-filter-item[aria-pressed="true"] {
	color: #fff !important;
	background: linear-gradient(168deg, #3d96d8 0%, #0a6bb5 42%, #004c88 100%) !important;
	border-color: rgb(0 60 110 / 45%) !important;
}

.bcp-filter-row {
	width: 100%;
	gap: 14px !important;
}

.bcp-section--used-cars-stock .bcp-filter-row {
	height: 39px;
}

.bcp-loop-grid--cars {
	margin-top: 30px;
}

.bcp-used-cars-stock__note {
	margin-top: 26px;
	line-height: 16px !important;
}

.bcp-section--used-cars-benefits h2.elementor-heading-title {
	line-height: 43px !important;
}

.bcp-section--used-cars-benefits .bcp-card--benefit .elementor-icon-box-title {
	margin-top: 15px !important;
	font-size: 17.5px !important;
}

.bcp-section--used-cars-benefits .bcp-card--benefit .elementor-icon-box-description {
	margin-top: 8px !important;
	font-size: 14.5px !important;
	line-height: 1.55 !important;
}

.bcp-sell-image img {
	height: auto !important;
	aspect-ratio: 16 / 10;
}

.bcp-filter-label,
.bcp-filter-count {
	flex: 0 0 auto;
	width: auto;
}

.bcp-filter-label {
	width: 83.375px;
	height: 16px;
	font-size: 11.5px !important;
	line-height: 16px !important;
	text-transform: uppercase;
}

.bcp-filter-label .elementor-widget-container {
	display: flex;
	align-items: center;
	height: 16px;
}

.bcp-filter-count,
.bcp-filter-count p {
	height: 15px;
	line-height: 15px !important;
}

.bcp-section--used-cars-sell h2.elementor-heading-title {
	text-wrap: balance;
}

.bcp-filter-label i {
	margin-right: 6px;
	font-size: 16px;
	color: #005ea8;
}

.bcp-filter-row .bcp-taxonomy-filter {
	flex: 1 1 auto;
	width: auto;
}

/* Tablas, acordeones y formularios. */
.bcp-table {
	background: #fff;
	border: 1px solid rgb(16 21 25 / 9%);
	border-radius: 16px;
}

.bcp-table__row + .bcp-table__row {
	border-top: 1px solid rgb(16 21 25 / 7%);
}

.bcp-table__row:nth-child(odd) {
	background: rgb(247 249 252 / 90%);
}

.bcp-table__row--head {
	text-transform: uppercase;
	background: #f7f9fc;
}

.bcp-table__heading,
.bcp-table__cell {
	min-width: 0;
}

.bcp-table__heading .elementor-widget-container,
.bcp-table__cell .elementor-widget-container {
	white-space: normal;
}

.bcp-callout {
	padding: 18px 20px;
	color: #1f4e7a;
	background: rgb(0 94 168 / 6%);
	border: 1px solid rgb(0 94 168 / 20%);
	border-radius: 14px;
}

.bcp-accordion .elementor-accordion-item {
	margin-bottom: 12px;
	overflow: hidden;
	background: linear-gradient(180deg, #fff 0%, #f7fafd 100%);
	border: 1px solid rgb(0 60 110 / 13%);
	border-radius: 14px;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 90%), 0 14px 28px -24px rgb(0 50 95 / 55%);
}

.bcp-accordion .elementor-accordion-item:last-child {
	margin-bottom: 0;
}

.bcp-accordion .elementor-tab-title {
	padding: 20px 22px;
	font-size: 17px !important;
	line-height: 24px !important;
}

.bcp-accordion .elementor-accordion-icon {
	color: #005ea8 !important;
}

.bcp-accordion .elementor-tab-content {
	padding: 0 22px 20px 54px;
	border-top: 0;
}

.bcp-accordion .elementor-accordion-item:not(:has(.elementor-active)) {
	height: 65px;
}

.bcp-section--workshop-faq h2.elementor-heading-title,
.bcp-section--rental-faq h2.elementor-heading-title,
.bcp-section--rental-pricing h2.elementor-heading-title {
	line-height: 41px !important;
}

.bcp-map iframe {
	border-radius: 20px;
}

.bcp-contact-card .elementor-icon-box-wrapper {
	display: flex;
	flex-direction: row !important;
	align-items: center;
	gap: 16px !important;
}

.bcp-contact-card .elementor-icon-box-icon {
	margin: 0;
}

.bcp-contact-card .elementor-icon-box-content {
	display: flex;
	flex-direction: column;
	text-align: left;
}

.bcp-contact-card .elementor-icon-box-title {
	order: 2;
	margin: 3px 0 0;
}

.bcp-contact-card .elementor-icon-box-description {
	order: 1;
	margin: 0;
	font-family: "IBM Plex Mono", monospace !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: #6e7a88 !important;
	line-height: 14px !important;
}

.bcp-contact-card--whatsapp .elementor-icon {
	color: #12703c;
	background: conic-gradient(from 200deg, #fff 0deg, #93a7bc 62deg, #f2f7fc 132deg, #6c8398 208deg, #e4ecf4 286deg, #fff 360deg);
}

.bcp-contact-card--whatsapp .elementor-icon::before {
	background: linear-gradient(158deg, #fbfdfc 0%, #d6e7dc 32%, #96b3a2 68%, #e2efe8 100%);
}

.bcp-form-card {
	padding: 32px;
}

.bcp-contact-card {
	height: auto;
	padding: 20px;
	background-color: transparent;
	border-radius: 14px;
}

.bcp-contact-card .elementor-icon-box-wrapper {
	min-height: 46px;
}

.bcp-contact-card .elementor-icon {
	width: 46px;
	height: 46px;
	border-radius: 15px;
}

.bcp-contact-card .elementor-icon::before {
	border-radius: 12px;
}

.bcp-contact-card .elementor-icon i {
	font-size: 22px;
	color: #134a80 !important;
}

.bcp-contact-card--whatsapp .elementor-icon i {
	color: #12703c !important;
}

.bcp-contact-card .elementor-icon-box-title {
	font-size: 20px !important;
	line-height: 27px !important;
}

.bcp-contact-card--address .elementor-icon-box-title {
	font-size: 17px !important;
	line-height: 23px !important;
}

.bcp-contact-hours__heading {
	width: auto;
	gap: 12px !important;
}

.bcp-contact-hours__title,
.bcp-contact-hours__title p {
	font-family: "IBM Plex Mono", monospace !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 14px !important;
	letter-spacing: .1em !important;
	text-transform: uppercase;
	color: #6e7a88 !important;
}

.bcp-contact-hours__icon {
	flex: 0 0 auto;
	width: auto;
}

.bcp-contact-hours__icon .elementor-icon {
	width: 46px;
	height: 46px;
	border-radius: 15px;
}

.bcp-contact-hours__icon .elementor-icon::before {
	border-radius: 12px;
}

.bcp-contact-hours__icon .elementor-icon i {
	color: #134a80 !important;
}

.bcp-contact-hours .bcp-table {
	background: transparent;
	border: 0;
	border-radius: 0;
}

.bcp-contact-hours .bcp-table__row,
.bcp-contact-hours .bcp-table__row:nth-child(odd) {
	background: transparent;
	border: 0;
}

.bcp-contact-hours .bcp-table {
	display: flex;
	flex-direction: column;
	gap: 9px !important;
}

.bcp-contact-hours .bcp-table__row {
	height: 21px;
	padding: 0 !important;
	grid-template-columns: auto 1fr !important;
	gap: 12px !important;
}

.bcp-contact-hours .bcp-table__cell,
.bcp-contact-hours .bcp-table__cell p,
.bcp-contact-hours .bcp-table__cell .elementor-widget-container {
	font-size: 15px !important;
	line-height: 21px !important;
}

.bcp-contact-hours .bcp-table__row > .bcp-table__cell:last-child {
	font-family: "IBM Plex Mono", monospace;
	text-align: right;
}

.bcp-contact-hours .bcp-table__row > .bcp-table__cell:first-child,
.bcp-contact-hours .bcp-table__row > .bcp-table__cell:first-child p,
.bcp-contact-hours .bcp-table__row > .bcp-table__cell:first-child .elementor-widget-container {
	font-weight: 400 !important;
	color: #39424c !important;
}

.bcp-contact-hours .bcp-table__row:last-child > .bcp-table__cell:last-child,
.bcp-contact-hours .bcp-table__row:last-child > .bcp-table__cell:last-child p,
.bcp-contact-hours .bcp-table__row:last-child > .bcp-table__cell:last-child .elementor-widget-container {
	color: #6e7a88 !important;
}

.bcp-contact-form .elementor-field-label {
	font-family: "IBM Plex Mono", monospace !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase;
}

.bcp-contact-form .elementor-field-type-radio .elementor-field-subgroup {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.bcp-contact-form .elementor-field-option {
	position: relative;
}

.bcp-contact-form .elementor-field-type-radio input {
	position: absolute;
	opacity: 0;
}

.bcp-contact-form .elementor-field-type-radio .elementor-field-option label {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 9px 14px;
	font-size: 14px;
	font-weight: 600;
	color: #101519 !important;
	cursor: pointer;
	background: transparent !important;
	border: 1px solid rgb(16 21 25 / 14%);
	border-radius: 10px;
}

.bcp-contact-form .elementor-field-type-radio input:checked + label {
	color: #00457e;
	background: rgb(0 94 168 / 9%);
	border-color: rgb(0 94 168 / 38%);
}

.bcp-contact-form textarea {
	min-height: 112px;
}

.bcp-contact-form .elementor-button {
	font-family: "Manrope", sans-serif !important;
	font-weight: 700 !important;
	background: linear-gradient(168deg, #3d96d8 0%, #0a6bb5 42%, #004c88 100%);
	border: 1px solid rgb(0 60 110 / 45%) !important;
	box-shadow: 0 12px 22px -12px rgb(0 60 110 / 60%), inset 0 1px 0 rgb(255 255 255 / 55%), inset 0 -2px 6px rgb(0 32 62 / 35%);
}

.bcp-contact-form .elementor-button-text {
	font-family: "Manrope", sans-serif !important;
	font-weight: 700 !important;
}

.bcp-contact__title {
	margin-top: 14px;
}

.bcp-contact__title .elementor-heading-title {
	line-height: 58px !important;
}

.bcp-form-card > .elementor-widget-heading .elementor-heading-title {
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	line-height: 28px !important;
}

.bcp-form-card {
	background: #fff;
	border-color: rgb(16 21 25 / 10%);
	border-radius: 20px;
	box-shadow: none;
}

.bcp-form-card > .elementor-widget-text-editor:not(.bcp-contact-form__note) {
	margin-top: 8px;
	line-height: 21px !important;
}

.bcp-form-card > .bcp-contact-form {
	margin-top: 26px;
}

.bcp-form-card > .bcp-contact-form__note {
	margin-top: 16px;
}

.bcp-contact-form .elementor-form-fields-wrapper {
	display: flex;
	gap: 16px 12px;
	margin: 0 !important;
}

.bcp-contact-form .elementor-field-group {
	margin-bottom: 0 !important;
	padding: 0 !important;
}

.bcp-contact-form .elementor-col-50 {
	width: calc(50% - 6px) !important;
}

.bcp-contact-form .elementor-col-100 {
	width: 100% !important;
}

.bcp-contact-form .elementor-field-label {
	line-height: 14px !important;
	margin-bottom: 7px !important;
}

.bcp-contact-form .elementor-field-textual {
	height: 49px;
	padding: 13px 14px !important;
	font-size: 15px !important;
	line-height: 21px !important;
}

.bcp-contact-form .elementor-field-type-radio {
	height: 111px;
}

.bcp-contact-form .elementor-field-type-radio .elementor-field-subgroup {
	gap: 8px;
	height: 90px;
}

.bcp-contact-form .elementor-field-type-radio .elementor-field-option label {
	min-height: 41px;
	padding: 10px 15px;
	font-size: 14.5px;
	line-height: 19px;
}

.bcp-contact-form .elementor-field-type-textarea {
	height: 138px;
}

.bcp-contact-form .elementor-field-type-textarea textarea {
	height: 112px;
}

.bcp-contact-form .elementor-field-type-submit,
.bcp-contact-form .elementor-field-type-submit .elementor-button {
	height: 54px;
}

.bcp-contact-form .elementor-field-type-submit .elementor-button {
	padding: 15px 24px;
	font-size: 16px;
	line-height: 22px;
}

.bcp-map--wide,
.bcp-map--wide .elementor-widget-container {
	aspect-ratio: 21 / 7;
}

.bcp-map--wide iframe {
	border-radius: 0;
}

/* Footer y botón flotante. */
.bcp-footer-cta__title .elementor-heading-title,
.bcp-footer-cta__title {
	color: #101519;
}

.bcp-footer-cta__title .elementor-heading-title {
	color: #101519 !important;
}

.bcp-footer-cta__text,
.bcp-footer-cta__text p {
	color: #dce9f7;
	line-height: 23px !important;
}

.bcp-section--footer-footer-cta .bcp-section__inner > .e-con-inner > :first-child {
	flex: 0 1 586px;
	width: 586px !important;
	min-width: 0;
}

.bcp-section--footer-footer-cta .bcp-footer-cta__buttons {
	flex: 0 0 auto;
	width: auto !important;
	margin-top: 0;
}

.bcp-footer-cta__buttons .elementor-button {
	padding: 15px 24px;
	font-size: 16px;
	line-height: normal;
}

.bcp-footer-cta__buttons .elementor-button-content-wrapper {
	gap: 10px;
}

.bcp-footer-cta__buttons .elementor-button-icon {
	font-size: 20px;
}

.bcp-footer-cta__whatsapp .elementor-button-icon {
	color: #1f9d53;
}

body .elementor-location-footer .elementor-element.bcp-footer {
	color: #dce6f1;
	background-color: #022a48 !important;
	background-image: linear-gradient(180deg, #04385f 0%, #022a48 58%, #011e34 100%) !important;
	border-top: 1px solid rgb(0 40 75 / 50%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 14%);
}

.bcp-footer .bcp-eyebrow,
.bcp-footer .bcp-eyebrow p {
	color: #7fbcee;
}

.bcp-footer__links a,
.bcp-footer__links p {
	color: #c6d6e6;
}

.bcp-footer__links,
.bcp-footer__links p {
	line-height: normal;
}

.bcp-footer__links p {
	margin: 0 0 10px;
}

.bcp-footer__links p:last-child {
	margin-bottom: 0;
}

.bcp-footer__name {
	margin-top: 5px;
}

.bcp-footer__description {
	max-width: 320px;
	margin-top: 16px;
}

.bcp-footer__brand .elementor-heading-title {
	font-family: "Manrope", sans-serif;
	line-height: normal;
}

body .elementor-location-footer .bcp-footer__grid {
	grid-template-columns: 1.4fr repeat(3, 1fr) !important;
}

.bcp-footer__links a:hover {
	color: #fff;
}

.bcp-footer__bottom {
	border-top: 1px solid rgb(255 255 255 / 12%);
}

.bcp-footer__bottom-inner > .e-con-inner {
	align-items: center;
}

@media (min-width: 1025px) {
	.bcp-main-nav .elementor-nav-menu--main .elementor-nav-menu {
		position: relative;
		left: 2px;
	}

	.bcp-main-nav .bcp-menu-item--inicio .elementor-item { width: 62px; }
	.bcp-main-nav .bcp-menu-item--taller .elementor-item { width: 60px; }
	.bcp-main-nav .bcp-menu-item--alquiler-de-furgonetas .elementor-item { width: 175px; }
	.bcp-main-nav .bcp-menu-item--coches-de-ocasion .elementor-item { width: 154px; }
	.bcp-main-nav .bcp-menu-item--contacto .elementor-item { width: 89px; }

	.bcp-main-nav .elementor-nav-menu--main .elementor-item {
		box-sizing: border-box;
		justify-content: center;
	}

	.bcp-section--home-services {
		height: 629.046875px;
	}

	.bcp-section--home-benefits {
		height: 397.5px;
		border-bottom: 0;
	}

	.bcp-section--workshop-faq,
	.bcp-section--rental-faq {
		border-bottom: 0;
	}

	.bcp-section--used-cars-sell {
		border-bottom: 0;
	}

	.bcp-section--contact-map-section {
		border-bottom: 0;
	}

	.bcp-section--footer-footer-cta {
		height: 203px;
	}

	body .elementor-location-footer .bcp-footer__grid {
		height: 194px;
	}
}

.bcp-whatsapp-float {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 60;
	width: auto;
	margin-block-end: 0 !important;
}

.bcp-whatsapp-float .elementor-button {
	display: inline-flex;
	align-items: center;
	padding: 15px 20px !important;
	font-size: 15px !important;
	line-height: normal;
	background-color: transparent !important;
	border-radius: 100px !important;
	box-shadow: 0 14px 26px -12px rgb(10 80 45 / 65%), inset 0 1px 0 rgb(255 255 255 / 45%), inset 0 -2px 6px rgb(0 40 20 / 30%);
	transition: none;
}

.bcp-whatsapp-float .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.bcp-whatsapp-float .elementor-button-icon,
.bcp-whatsapp-float .elementor-button-icon i {
	width: 22px;
	height: 22px;
	margin: 0;
	font-size: 22px;
	line-height: 22px;
}

.bcp-whatsapp-float .elementor-button:hover {
	background-image: linear-gradient(168deg, #4acb83 0%, #22a85a 44%, #16814a 100%) !important;
}

@media (max-width: 1199px) {
	.bcp-header-actions {
		display: none;
	}
}

@media (max-width: 1024px) {
	.bcp-bosch-badge {
		bottom: -18px;
		left: 18px;
	}

	.bcp-main-nav {
		order: 0;
		width: auto;
	}

	body .elementor-element.bcp-home-hero__grid,
	.bcp-rental-pricing__grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body .elementor-location-footer .bcp-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.bcp-section--footer-footer-cta .bcp-section__inner > .e-con-inner > :first-child {
		flex: 0 1 auto;
		width: 100% !important;
	}
}

@media (max-width: 767px) {
	html,
	body,
	.elementor,
	.elementor-location-header,
	.elementor-location-footer {
		width: 100%;
		max-width: 100%;
	}

	.bcp-topbar .elementor-icon-list-items {
		gap: 5px 14px;
	}

	.bcp-topbar .bcp-topbar__item:has(.ph-map-pin),
	.bcp-topbar .bcp-topbar__rating {
		display: none;
	}

	.bcp-site-header__inner,
	.bcp-site-header__inner > .e-con-inner {
		height: 75px;
		min-height: 75px;
	}

	.bcp-site-header__inner > .e-con-inner {
		flex-flow: row nowrap !important;
		gap: 20px !important;
	}

	.bcp-site-header__inner .bcp-brand {
		display: flex;
		flex: 0 0 229.140625px;
		flex-flow: row nowrap !important;
		align-items: center;
		width: 229.140625px !important;
		height: 46px;
		min-height: 46px;
	}

	.bcp-site-header__inner .bcp-brand > .elementor-widget-image {
		flex: 0 0 46px;
		width: 46px !important;
	}

	.bcp-site-header__inner .bcp-brand > .e-con {
		flex: 1 1 auto;
		width: auto !important;
		min-width: 0;
	}

	.bcp-main-nav {
		order: 0;
		flex: 0 0 108.859375px;
		width: 108.859375px !important;
		min-width: 0;
	}

	.bcp-main-nav .elementor-menu-toggle {
		margin-left: auto;
	}

	.bcp-main-nav .elementor-nav-menu--dropdown {
		position: absolute !important;
		top: 90px;
		right: 0;
		left: auto !important;
		width: calc(100vw - 32px) !important;
		max-width: calc(100vw - 32px);
		transform: translateY(11px) !important;
	}

	.bcp-main-nav .elementor-nav-menu--dropdown .elementor-item {
		padding: 9px 20px;
		font-family: "Manrope", Helvetica, Arial, sans-serif;
		font-size: 14px;
		font-weight: 600;
		line-height: 22px;
		color: #39424c;
		background: #fff;
	}

	.bcp-main-nav .elementor-nav-menu--dropdown .elementor-item:hover,
	.bcp-main-nav .elementor-nav-menu--dropdown .elementor-item:focus,
	.bcp-main-nav .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
		color: #00457e;
		background: rgb(0 94 168 / 13%);
		box-shadow: inset 0 -2px 0 #0a6bb5;
	}

	.bcp-bosch-badge {
		position: relative;
		bottom: auto;
		left: auto;
		max-width: none;
		margin: -34px 14px 0;
	}

	.bcp-section--workshop-services .bcp-workshop-image {
		height: 270px;
	}

	.bcp-home-hero__description,
	.bcp-zone-description,
	.bcp-city-grid {
		width: 100%;
		max-width: 100%;
	}

	.bcp-city-card {
		width: 100%;
	}

	.bcp-button,
	.bcp-button .elementor-button {
		width: 100%;
	}

	.bcp-city-card .bcp-city-card__name,
	.bcp-city-card .bcp-city-card__name .elementor-button {
		width: auto;
	}

	.bcp-buttons .elementor-button-content-wrapper {
		justify-content: center;
	}

	.bcp-table {
		display: block;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		overflow-x: auto;
	}

	.bcp-rental-rates__table .bcp-table__row {
		min-width: 620px;
	}

	.bcp-workshop-prices__table .bcp-table__row,
	.bcp-contact-hours .bcp-table__row {
		width: 100%;
		min-width: 0;
	}

	.bcp-process-list {
		flex-wrap: nowrap !important;
	}

	.bcp-process-list > .bcp-process-card {
		flex: 0 0 auto;
		height: auto;
	}

	.bcp-contact-card .elementor-icon-box-wrapper {
		align-items: flex-start;
	}

	.bcp-form-card {
		padding: 22px;
	}

	.bcp-rental-pricing__grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.bcp-filter-row,
	.bcp-section--used-cars-stock .bcp-filter-row {
		flex-wrap: wrap !important;
		height: auto;
		gap: 12px !important;
	}

	.bcp-filter-row .bcp-filter-count {
		margin-left: auto;
	}

	.bcp-filter-row .bcp-taxonomy-filter {
		order: 3;
		flex: 1 0 100%;
		width: 100% !important;
	}

	.bcp-taxonomy-filter .e-filter {
		display: flex !important;
		flex-flow: row wrap !important;
		gap: 8px !important;
	}

	.bcp-contact-form .elementor-field-type-radio > .elementor-field-label {
		display: block;
		min-height: 0;
		padding: 0;
		color: inherit;
		background: none;
		border: 0;
		border-radius: 0;
	}

	.bcp-contact-form .elementor-field-type-radio {
		height: auto;
	}

	.bcp-contact-form .elementor-field-type-radio .elementor-field-subgroup {
		height: auto;
	}

	.bcp-contact-hours .bcp-table__cell,
	.bcp-contact-hours .bcp-table__cell p,
	.bcp-contact-hours .bcp-table__cell .elementor-widget-container {
		font-size: 13.5px !important;
		line-height: 19px !important;
	}

	.bcp-accordion .elementor-accordion-item:not(:has(.elementor-active)) {
		height: auto;
		min-height: 65px;
	}

	.bcp-section--footer-footer-cta .bcp-section__inner > .e-con-inner {
		flex-direction: column !important;
		align-items: flex-start;
	}

	.bcp-section--footer-footer-cta .bcp-section__inner > .e-con-inner > :first-child {
		flex: 0 1 auto;
		width: 100% !important;
	}

	.bcp-section--footer-footer-cta .bcp-footer-cta__buttons {
		width: 100% !important;
	}

	body .elementor-location-footer .bcp-footer__grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.bcp-footer__grid > *,
	.bcp-rental-pricing__grid > *,
	.bcp-loop-grid,
	.bcp-form-card {
		min-width: 0;
	}

	.bcp-whatsapp-float {
		right: 22px;
		bottom: 22px;
	}

	.bcp-whatsapp-float,
	.bcp-whatsapp-float .elementor-button {
		width: auto;
	}
}
