/* RepairPro WP - ajustes propios sobre el CSS original de la plantilla */

.btn-bordered-white {
	border: 2px solid #fff;
}
.btn-bordered-white:hover {
	background-color: #fff;
	color: #222;
}

.repairpro-service-card {
	box-shadow: 0 0 20px rgba(0,0,0,.08);
	transition: transform .25s ease, box-shadow .25s ease;
}
.repairpro-service-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 25px rgba(0,0,0,.15);
}
.repairpro-service-card .thumb img {
	display: block;
}
.repairpro-service-card .our-services-details a {
	text-decoration: none;
}

.repairpro-two-tone-lead {
	color: #e6483a;
}

/* Tarjetas de producto de la tienda: bordes y organización clara */
.repairpro-product-card {
	position: relative;
	border: 1px solid #eee;
	border-radius: 4px;
	padding: 20px 15px 25px;
	background: #fff;
	transition: box-shadow .2s ease, transform .2s ease;
}
.repairpro-product-card:hover {
	box-shadow: 0 8px 20px rgba(0,0,0,.08);
	transform: translateY(-3px);
}
.repairpro-product-card img {
	margin: 0 auto;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #fafafa;
	border-radius: 3px;
}
.repairpro-badge-oferta {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	background: #d9351f;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 3px;
}
.repairpro-shop-cats li {
	margin: 0 4px 8px;
}
.repairpro-above-overlay {
	position: relative;
	z-index: 2;
}

/* Botón "Reserva Ahora" tipo píldora, centrado verticalmente junto al menú */
.header-nav-wrapper .container-fluid {
	position: relative;
}

/* Todo lo de esta sección es SOLO para pantallas de escritorio (min 992px).
   En celular, el menú debe comportarse como el menú original de la plantilla
   (ícono de hamburguesa, cerrado por defecto). */
@media (min-width: 992px) {
	#menuzord {
		padding-right: 170px;
		float: none !important;
		text-align: center;
	}
	#menuzord .menuzord-menu {
		float: none !important;
		display: inline-block !important;
		text-align: left;
	}
	.menuzord-menu > li > a {
		font-size: 16px !important;
		font-weight: 700 !important;
	}
	.menuzord-menu > li {
		padding: 6px 0 !important;
	}
	.menuzord-menu > li > a {
		padding: 10px 16px !important;
	}
}
.menuzord-cta {
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
}
.btn-cta-square {
	border-radius: 2px;
	padding: 14px 30px;
	margin: 0;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #fff !important;
	border: none;
	box-shadow: 0 4px 10px rgba(0,0,0,.15);
	transition: filter .2s ease, transform .2s ease;
}
.btn-cta-square:hover {
	filter: brightness(0.9);
	transform: translateY(-1px);
	color: #fff !important;
}
.header-nav .header-nav-wrapper {
	padding: 0;
}
.header-nav .menuzord-cta a {
	padding: 10px 22px;
}

/* Insignia de descuento en tarjetas de servicio */
.repairpro-thumb-wrap {
	position: relative;
	overflow: hidden;
}
.repairpro-badge-descuento {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	background: #fff;
	color: #d9351f;
	font-weight: 700;
	font-size: 13px;
	padding: 5px 10px;
	border-radius: 3px;
	box-shadow: 0 2px 6px rgba(0,0,0,.15);
}

/* Tamaño de imágenes en tarjetas (Personalizador → Tamaño de Imágenes y Videos) */
.repairpro-img-pequena {
	height: 180px;
	width: 100%;
	object-fit: cover;
}
.repairpro-img-mediana {
	height: 260px;
	width: 100%;
	object-fit: cover;
}
.repairpro-img-grande {
	height: 340px;
	width: 100%;
	object-fit: cover;
}
@media (max-width: 600px) {
	.repairpro-img-pequena,
	.repairpro-img-mediana,
	.repairpro-img-grande {
		height: auto;
		aspect-ratio: 1 / 1;
	}
	.repairpro-thumb-wrap img {
		height: auto !important;
		aspect-ratio: 1 / 1 !important;
		object-fit: cover !important;
		width: 100% !important;
	}
	.repairpro-img-single {
		height: auto !important;
		aspect-ratio: 1 / 1 !important;
		object-fit: cover !important;
		width: 100% !important;
	}
}

/* Tarjeta de experto: foto completa + franja de color con el nombre */
.repairpro-team-card {
	position: relative;
	overflow: hidden;
}
.repairpro-team-card img {
	width: 100%;
	display: block;
}
.repairpro-team-card .repairpro-team-caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 10px 15px;
	text-align: center;
}
.repairpro-team-card .repairpro-team-caption h4,
.repairpro-team-card .repairpro-team-caption a {
	color: #fff;
	margin: 0;
}
.repairpro-team-card .repairpro-team-caption p {
	color: rgba(255,255,255,.85);
	margin: 0;
	font-size: 12px;
}

/* Tarjeta de precios: foto + franja de color con precio y características */
.repairpro-pricing-card img {
	width: 100%;
	display: block;
}
.repairpro-pricing-body {
	padding: 30px 25px;
	text-align: left;
}
.repairpro-pricing-valor {
	font-size: 42px;
	font-weight: 700;
	color: #fff;
	line-height: 1;
}
.btn-white {
	background-color: #fff;
	color: #222;
}
.btn-white:hover {
	background-color: #222;
	color: #fff;
}
/* Buscador centrado en toda la barra del encabezado medio */
.repairpro-header-middle .container-fluid {
	position: relative;
	min-height: 80px;
}
.header-search-center {
	position: absolute;
	left: calc(50% - 19px);
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 5;
	width: 300px;
}
.repairpro-search-with-access {
	display: flex;
	align-items: center;
	gap: 14px;
}
.repairpro-header-middle .menuzord-brand {
	margin-left: 57px;
}
@media (max-width: 992px) {
	.repairpro-header-middle .menuzord-brand {
		margin-left: 0;
	}
}
.header-search-center .search-form {
	flex: 1 1 auto;
}
.header-search-center .search-form .input-group {
	width: 100%;
}
.header-search-center .search-form input[type="search"] {
	height: 44px;
	font-size: 15px;
	border: 1px solid #e6e6e6;
	border-radius: 3px 0 0 3px;
	padding: 0 14px;
}
.header-search-center .search-form .btn {
	height: 44px;
	padding: 0 18px;
	font-size: 16px;
	border-radius: 0 3px 3px 0;
}
.repairpro-access-icon {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #e6e6e6;
	border-radius: 50%;
	color: #333;
	font-size: 18px;
}
.repairpro-access-icon:hover {
	background-color: #E8590C;
	border-color: #E8590C;
	color: #fff;
}
.repairpro-contact-row {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 30px;
}

/* Slider del hero: 3 fotos que se van alternando con transición suave */
.repairpro-hero-slider {
	position: relative;
	min-height: 560px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.repairpro-hero-slides {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	z-index: 0;
}
.repairpro-hero-slide {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 1.2s ease-in-out;
}
.repairpro-hero-slide.is-active {
	opacity: 1;
}
.repairpro-hero-overlay {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(10, 10, 10, 0.55);
	z-index: 1;
}
.repairpro-hero-content {
	position: relative;
	z-index: 2;
}

/* Botones del hero: mucho más visibles sobre cualquier foto */
.repairpro-hero-btn {
	box-shadow: 0 4px 14px rgba(0,0,0,.35);
	font-weight: 700;
}
.repairpro-hero-btn-secondary {
	background-color: rgba(255,255,255,.15);
	border: 2px solid #fff;
	color: #fff !important;
	font-weight: 700;
}
.repairpro-hero-btn-secondary:hover {
	background-color: #fff;
	color: #222 !important;
}

/* "Por qué elegirnos": garantiza que nunca se recorte el contenido (título + 6 beneficios) */
.repairpro-elegirnos-section {
	height: auto !important;
	min-height: 400px;
	overflow: visible !important;
}
.repairpro-elegirnos-section .bg-white-transparent-9 {
	overflow: visible;
}

/* Bloques de "¿Por qué elegirnos?": sistema propio en flexbox, sin depender
   de clases antiguas de la plantilla que podían chocar entre sí. */
.repairpro-benefit-item {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	margin-bottom: 25px;
}
.repairpro-benefit-icon {
	flex: 0 0 50px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: #E8590C;
	display: flex;
	align-items: center;
	justify-content: center;
}
.repairpro-benefit-icon i {
	color: #fff;
	font-size: 20px;
	line-height: 1;
}
.repairpro-benefit-text h5 {
	margin: 0 0 6px;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: .5px;
	font-size: 13px;
	color: #222;
}
.repairpro-benefit-text p {
	margin: 0;
	font-size: 13px;
	color: #777;
}

/* Tienda del Inicio: tarjeta más viva, con categoría, insignia de oferta y carrito */
.repairpro-product-thumb {
	display: block;
	overflow: hidden;
	border-radius: 3px;
}
.repairpro-product-thumb img {
	transition: transform .3s ease;
}
.repairpro-product-card:hover .repairpro-product-thumb img {
	transform: scale(1.05);
}
.repairpro-badge-oferta {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	background: #3aab5c;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 9px;
	border-radius: 3px;
}
.repairpro-product-cat {
	display: block;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #999;
	margin-top: 12px;
}
.repairpro-product-card .price {
	display: block;
	font-size: 15px;
	margin: 5px 0 12px;
}
.repairpro-product-card .price del {
	color: #aaa;
	font-size: 13px;
	margin-right: 6px;
}
.repairpro-product-card .price ins {
	text-decoration: none;
	color: #d9351f;
	font-weight: 700;
}
.repairpro-product-cart a.button {
	display: inline-block !important;
	background-color: #222 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 30px !important;
	padding: 8px 20px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: .5px;
	transition: background-color .2s ease;
}
.repairpro-product-cart a.button:hover {
	background-color: #E8590C !important;
}

/* "¿Por qué elegirnos?": cuadrícula propia de 2 columnas siempre (compacto),
   sin depender de los puntos de quiebre de Bootstrap que lo apilaban en 1 sola. */
.repairpro-benefits-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5px 25px;
}
.repairpro-benefits-grid .repairpro-benefit-item {
	margin-bottom: 18px;
}
@media (max-width: 480px) {
	.repairpro-benefits-grid {
		grid-template-columns: 1fr;
	}
}

/* Barra de beneficios (24h / Ayuda / Pago): más delgada y centrada,
   con espacio moderado entre cada bloque en vez de ocupar todo el ancho. */
.repairpro-beneficios-bar {
	padding: 0;
}
.repairpro-beneficios-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	align-items: start;
}
.repairpro-beneficio-item {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	padding: 1px 15px;
}
.repairpro-beneficio-item i {
	font-size: 30px;
	flex-shrink: 0;
	margin-top: 2px;
}
.repairpro-beneficio-item h4 {
	margin: 0 0 2px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
}
.repairpro-beneficio-item p {
	margin: 0;
	font-size: 11px;
	line-height: 1.2;
}
@media (max-width: 767px) {
	.repairpro-beneficios-row {
		grid-template-columns: 1fr;
	}
}

/* ============================================================
   VERSIÓN MÓVIL DEL ENCABEZADO (pantallas menores a 992px)
   Se oculta lo secundario (barra superior, datos de contacto)
   y se deja solo lo esencial: logo + menú. Todo lo que se
   oculta aquí sigue disponible en el pie de página.
   ============================================================ */
@media (max-width: 991px) {
	/* Ocultar la franja superior (FAQ/Ayuda/Acceso, carrito, redes) */
	.header-top {
		display: none;
	}

	/* Header-middle: solo el logo, centrado, sin los datos de contacto */
	.repairpro-header-middle .container-fluid {
		min-height: auto;
		padding-top: 12px;
		padding-bottom: 12px;
	}
	.repairpro-header-middle .repairpro-contact-row {
		display: none;
	}
	.repairpro-header-middle .menuzord-brand {
		float: none !important;
		display: inline-block;
		margin: 0 auto !important;
	}
	.repairpro-header-middle .col-xs-12.col-sm-4.col-md-3:first-child {
		text-align: center;
	}

	/* Menú: que el ícono de hamburguesa quede centrado y con más aire */
	#menuzord {
		text-align: center;
	}
	.menuzord-responsive .showhide {
		float: none !important;
		display: inline-block !important;
	}
}

/* ============================================================
   CONTRASTE Y TAMAÑO DE TEXTO SOBRE FONDOS OSCUROS
   El gris estándar de la plantilla (#808080) y los tamaños muy
   chicos (11-13px) casi no se leían sobre fondo negro/oscuro
   (pie de página, galería, barra de título de páginas internas).
   ============================================================ */
#footer .text-gray,
#footer .text-black-777,
.bg-black-333 .text-gray,
.repairpro-breadcrumb a,
.repairpro-breadcrumb li {
	color: #dddddd !important;
}
#footer .font-11 {
	font-size: 13px !important;
}
#footer .font-12 {
	font-size: 14px !important;
}
#footer .font-13 {
	font-size: 15px !important;
}
.repairpro-breadcrumb {
	font-size: 14px;
}
.repairpro-breadcrumb a:hover {
	color: #fff !important;
}

/* Fila única móvil: hamburguesa + nombre + lupa + acceso + carrito */
.repairpro-mobile-row {
	display: none;
}
.repairpro-mobile-search-box {
	display: none;
}
@media (max-width: 991px) {
	.repairpro-header-middle .container-fluid {
		position: relative;
	}
	.repairpro-mobile-row {
		display: flex !important;
		flex-wrap: nowrap;
		align-items: center;
		gap: 12px;
		padding: 12px 0;
	}
	.repairpro-mobile-hamburger {
		flex: 0 0 auto;
		background: none;
		border: none;
		padding: 6px 4px;
	}
	.repairpro-mobile-hamburger span {
		display: block;
		width: 24px;
		height: 3px;
		background: #333;
		margin: 4px 0;
		border-radius: 1px;
	}
	.repairpro-mobile-sitename {
		flex: 1 1 auto;
		font-size: 18px;
		font-weight: 700;
		color: #333;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.repairpro-mobile-sitename img {
		max-height: 34px;
		width: auto;
	}
	.repairpro-mobile-icons {
		flex: 0 0 auto;
		display: flex;
		gap: 16px;
		align-items: center;
	}
	.repairpro-mobile-icons a {
		color: #333;
		font-size: 18px;
		position: relative;
	}
	.repairpro-mobile-search-toggle {
		background-color: #E8590C;
		color: #fff !important;
		width: 38px;
		height: 38px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 4px;
		font-size: 16px !important;
	}
	.repairpro-mobile-cart-count {
		position: absolute;
		top: -8px;
		right: -10px;
		background: #E8590C;
		color: #fff;
		font-size: 10px;
		width: 16px;
		height: 16px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.repairpro-mobile-search-box {
		padding: 0 0 12px;
	}
	.repairpro-mobile-search-box.is-open {
		display: block;
	}
	.repairpro-mobile-search-box .search-form .input-group {
		width: 100%;
	}
	/* La barra del menú desplegable queda "invisible" hasta que se abre */
	.header-nav .header-nav-wrapper {
		background: transparent !important;
	}
	.header-nav .header-nav-wrapper .container-fluid {
		padding: 0;
	}
	#menuzord.menuzord {
		background: transparent !important;
		padding: 0;
	}
	#menuzord .showhide {
		display: none !important;
	}
}

/* Iconos de acceso y carrito en escritorio, entre el menú y "Reserva Ahora" */
@media (min-width: 992px) {
	#menuzord {
		padding-right: 370px !important;
	}
	.repairpro-nav-icons {
		position: absolute;
		top: 50%;
		right: 230px;
		transform: translateY(-50%);
		display: flex;
		align-items: center;
		gap: 16px;
		z-index: 3;
		white-space: nowrap;
	}
	.repairpro-cart-big {
		color: #fff;
		font-size: 20px;
		font-weight: 700;
	}
	.repairpro-access-icon-nav {
		width: 38px;
		height: 38px;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 2px solid #fff;
		border-radius: 50%;
		color: #fff;
		font-size: 16px;
	}
	.repairpro-access-icon-nav:hover {
		background-color: #fff;
		color: #E8590C;
	}
}

/* Tooltip: al pasar el mouse sobre carrito/acceso, muestra su nombre debajo */
[data-tooltip] {
	position: relative;
}
[data-tooltip]::after {
	content: attr(data-tooltip);
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(2px);
	background: #222;
	color: #fff;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	padding: 5px 9px;
	border-radius: 3px;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: opacity .15s ease, transform .15s ease;
	pointer-events: none;
	z-index: 20;
	margin-top: 8px;
}
[data-tooltip]:hover::after {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(6px);
}

/* Página de Tienda: lista de "Últimos productos" en la barra lateral */
.repairpro-mini-products {
	list-style: none;
	margin: 0;
	padding: 0;
}
.repairpro-mini-products li {
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px dashed #eee;
}
.repairpro-mini-products li:last-child {
	border-bottom: none;
	margin-bottom: 0;
}
.repairpro-mini-products a {
	display: flex;
	align-items: center;
	gap: 12px;
}
.repairpro-mini-products img {
	width: 55px;
	height: 55px;
	object-fit: contain;
	background: #fafafa;
	border-radius: 3px;
	flex-shrink: 0;
}
.repairpro-mini-products span {
	display: block;
	font-size: 13px;
	color: #333;
	line-height: 1.3;
}
.repairpro-mini-products em {
	display: block;
	font-style: normal;
	color: #E8590C;
	font-weight: 700;
	font-size: 13px;
	margin-top: 3px;
}
.repairpro-price-filter .price_slider_amount {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 15px;
}
.repairpro-price-filter .price_slider_amount .button {
	background-color: #222 !important;
	color: #fff !important;
	border-radius: 3px;
	padding: 6px 14px !important;
	font-size: 12px;
}

/* Selector "Clase de servicio" tipo botón deslizante (3 opciones) */
.repairpro-toggle-group {
	display: flex;
	border: 1px solid #e0e0e0;
	border-radius: 30px;
	overflow: hidden;
	margin-top: 5px;
}
.repairpro-toggle-option {
	flex: 1;
	margin: 0;
	text-align: center;
	cursor: pointer;
}
.repairpro-toggle-option input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}
.repairpro-toggle-option span {
	display: block;
	padding: 10px 8px;
	font-size: 12px;
	font-weight: 600;
	color: #555;
	transition: background-color .2s ease, color .2s ease;
}
.repairpro-toggle-option:not(:last-child) span {
	border-right: 1px solid #e0e0e0;
}
.repairpro-toggle-option input:checked + span {
	background-color: #E8590C;
	color: #fff;
}

/* Menú "pegado" arriba al hacer scroll, con CSS nativo en vez del plugin
   de JavaScript (que recalculaba en cada scroll y podía colgar la página). */
.repairpro-sticky-nav {
	position: sticky;
	top: 0;
	z-index: 999;
}

/* Logo: tamaño fijo y a prueba de desbordes, en cualquier parte del sitio donde aparezca */
.menuzord-brand img,
.custom-logo-link img,
.repairpro-mobile-sitename img {
	max-height: 42px !important;
	width: auto !important;
	height: auto !important;
}
@media (min-width: 992px) {
	.repairpro-header-middle .menuzord-brand img {
		max-height: 50px !important;
	}
}

/* Ícono compacto de "Reserva Ahora" en el encabezado móvil */
.repairpro-mobile-reserva {
	background-color: #E8590C;
	color: #fff !important;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px !important;
}

/* Botones promocionales del Hero (anuncios/noticias que el cliente ve primero) */
.repairpro-promo-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 20px;
}
.repairpro-promo-btn {
	display: inline-block;
	background-color: #fff;
	color: #E8590C !important;
	font-weight: 700;
	font-size: 13px;
	padding: 8px 18px;
	border-radius: 30px;
	text-transform: uppercase;
	letter-spacing: .5px;
	box-shadow: 0 3px 10px rgba(0,0,0,.25);
	transition: transform .15s ease;
}
.repairpro-promo-btn:hover {
	transform: translateY(-2px);
	color: #E8590C;
}

/* Barra de aviso de cierre puntual (solo visible el día configurado) */
.repairpro-aviso-cierre {
	background-color: #c0392b;
	color: #fff;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	padding: 10px 15px;
}
.repairpro-aviso-cierre i {
	margin-right: 6px;
}

/* Tarjeta de reserva rápida y visible, al lado del texto del Hero
   (pensada para que cualquier persona, sin experiencia con webs, pueda
   reservar sin tener que abrir ninguna ventana emergente). */
.repairpro-hero-slider {
	min-height: 620px;
}
.repairpro-quick-booking {
	background-color: rgba(255,255,255,.97);
	border-radius: 6px;
	padding: 30px;
	box-shadow: 0 10px 40px rgba(0,0,0,.25);
}
.repairpro-quick-booking h4 {
	margin: 0 0 20px;
	font-weight: 700;
	color: #222;
	text-align: center;
}
.repairpro-quick-booking label {
	font-weight: 600;
	font-size: 13px;
	color: #444;
	margin-bottom: 4px;
}
.repairpro-quick-booking .form-control {
	height: 44px;
	font-size: 14px;
}
.repairpro-quick-booking textarea.form-control {
	height: auto;
}
.repairpro-promo-row-left {
	justify-content: flex-start;
}
.repairpro-hero-slider .row.align-items-center {
	display: flex;
	flex-wrap: wrap;
}
@media (max-width: 767px) {
	.repairpro-hero-slider {
		min-height: 0;
		padding: 40px 0;
	}
	.repairpro-hero-text {
		text-align: center !important;
		margin-bottom: 30px;
	}
	.repairpro-promo-row-left {
		justify-content: center;
	}
}

/* Botón de WhatsApp del Hero */
.repairpro-hero-btn-whatsapp {
	background-color: #25D366;
	color: #fff !important;
	font-weight: 700;
}
.repairpro-hero-btn-whatsapp:hover {
	background-color: #1ebc59;
	color: #fff !important;
}

/* Tarjeta de reserva rápida: un poco más compacta */
.repairpro-quick-booking {
	padding: 22px 25px;
}
.repairpro-quick-booking h4 {
	margin-bottom: 14px;
	font-size: 18px;
}
.repairpro-quick-booking .form-group {
	margin-bottom: 12px !important;
}
.repairpro-quick-booking .form-control {
	height: 38px;
	font-size: 13px;
	padding: 6px 10px;
}
.repairpro-quick-booking textarea.form-control {
	height: auto;
	min-height: 60px;
}
.repairpro-quick-booking label {
	margin-bottom: 2px;
	font-size: 12px;
}
.repairpro-quick-booking .btn-lg {
	padding: 10px 20px;
	font-size: 14px;
}

/* Carrusel propio de Servicios y Noticias (sin depender de librerías viejas) */
.repairpro-carousel-wrap {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
}
.repairpro-carousel {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	gap: 20px;
	padding: 5px 0 15px;
	flex: 1 1 auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.repairpro-carousel::-webkit-scrollbar {
	display: none;
}
.repairpro-carousel .item {
	flex: 0 0 auto;
	scroll-snap-align: start;
	width: 100%;
}
.repairpro-carousel[data-items="2"] .item { width: calc(50% - 10px); }
.repairpro-carousel[data-items="3"] .item { width: calc(33.333% - 14px); }
.repairpro-carousel[data-items="4"] .item { width: calc(25% - 15px); }
.repairpro-carousel[data-items="6"] .item { width: calc(16.666% - 17px); }
@media (max-width: 991px) {
	.repairpro-carousel[data-items] .item {
		width: calc(50% - 10px);
	}
}
@media (max-width: 600px) {
	.repairpro-carousel[data-items] .item {
		width: 85%;
	}
}
.repairpro-carousel-arrow {
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border: 1px solid #ddd;
	background: #fff;
	color: #444;
	border-radius: 50%;
	font-size: 16px;
	box-shadow: 0 2px 8px rgba(0,0,0,.15);
	transition: background-color .2s ease, color .2s ease;
	cursor: pointer;
}
.repairpro-carousel-arrow:hover {
	background-color: #E8590C;
	border-color: #E8590C;
	color: #fff;
}
@media (max-width: 767px) {
	.repairpro-carousel-arrow {
		display: none;
	}
}

/* Botones "Ver más" con color configurable: leve oscurecido al pasar el mouse */
.repairpro-btn-vermas {
	transition: filter .2s ease;
}
.repairpro-btn-vermas:hover {
	filter: brightness(0.88);
	color: #fff !important;
}

/* Botón "Compartir": estilo base (para páginas de servicio/producto/blog),
   y una variante especial más grande y blanca cuando está en el Hero.
   Con menú de respaldo (WhatsApp/Facebook) para navegadores que no tienen
   el menú nativo de compartir del celular. */
.repairpro-share-wrap {
	position: relative;
	display: inline-block;
}
.repairpro-share-toggle {
	background-color: #f2f2f2;
	border: 1px solid #ddd;
	color: #444 !important;
	font-weight: 600;
	font-size: 13px;
	padding: 10px 18px;
}
.repairpro-share-toggle:hover {
	background-color: #E8590C;
	border-color: #E8590C;
	color: #fff !important;
}
.repairpro-hero-content .repairpro-share-toggle {
	background-color: rgba(255,255,255,.15);
	border: 2px solid #fff;
	color: #fff !important;
	font-weight: 700;
	font-size: 15px;
	padding: 14px 26px;
	backdrop-filter: blur(2px);
	margin-top: 20px;
	margin-left: 10px;
}
.repairpro-hero-content .repairpro-share-toggle:hover {
	background-color: #fff;
	color: #222 !important;
}
.repairpro-share-menu {
	display: none;
	position: absolute;
	bottom: calc(100% + 8px);
	left: 0;
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 8px 25px rgba(0,0,0,.2);
	overflow: hidden;
	min-width: 170px;
	z-index: 30;
}
.repairpro-share-menu.is-open {
	display: block;
}
.repairpro-share-menu a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	border-bottom: 1px solid #f0f0f0;
}
.repairpro-share-menu a:last-child {
	border-bottom: none;
}
.repairpro-share-menu a:hover {
	background-color: #f7f7f7;
}
.repairpro-share-menu .fa-whatsapp {
	color: #25D366;
}
.repairpro-share-menu .fa-facebook {
	color: #1877F2;
}
