.text-green{
	font-weight: 700;
	color: #00A339;
}

.ico-euro {
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  padding: 2px;
}

.hero-main {
  background-repeat: no-repeat;
  background-size: 100% auto;
  margin: 0 auto;
  max-width: var(--page-max-width);
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
  width: 100%;
}
.header-logo__image {
  height: 64px;
  width: 184px;
}

.hero-slider {
    max-height: 571.59px;
    min-height: 571.59px;
    background-size: 1128px auto !important;
    background-repeat: no-repeat !important;
    background-color: #000 !important;
}

#eco-slider-overlay {
    position: relative;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media (min-width: 992px) {
  #top-bar {
    z-index: 399;
    border-bottom-color: rgba(0, 0, 0, 0.05);
    margin-top: 16px;
    padding: 0 16px;
    position: absolute;
    width: 100%;
  }

  

  .top-links-item,
  #top-social li {
    border-left-color: rgba(0, 0, 0, 0.05);
  }

  .dark .top-links-item,
  .dark #top-social li {
    border-left-color: rgba(255, 255, 255, 0.05);
  }

  #top-bar.transparent-topbar {
    background: transparent !important;
  }
}
@media (max-width: 991.98px) {
	    #top-bar .row {
        
        gap: initial !important;
        
    }
	    .top-login-name {
			max-width: 62px !important;
		}
		.ico-euro {
			width: 20px !important;
		min-width: 20px !important;
		min-height: 20px !important;
	}
}
@media (max-width: 991.98px) {

  #top-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 399;
    background: transparent;
    margin-top: 0;
    padding: 8px 12px;
  }

   #top-bar .row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-right: 0;
    margin-left: 0;
  }


  #top-bar .row > .col-12.col-md-auto {
    flex: 0 0 auto;
    width: auto;
    padding-left: 0;
    padding-right: 0;
  }

  .header-logo__image {
    display: block;
    height: 38px;
    width: auto;
  }

  #top-bar .top-links {
    margin-left: auto;
  }

  /* Contenedor del login */
	.top-links-item {
		display: flex;
		align-items: center;
		min-width: 0; 
	}

	.top-login-name {
		display: block;
		max-width: 90px;      
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size: 13px;
	}

	.top-links-item img {
		flex-shrink: 0;
	}

	.top-links-item a,
	.top-links-item:last-child {
		flex-shrink: 0;
	}
  #top-bar .top-links ul {
    display: flex;
    align-items: center;
    gap: 0px;      
    margin: 0;
  }

  #top-bar .top-links-item {
    border: 0 !important;
    padding: 0;
  }

  #top-bar .top-links-item > a {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
  }

  #top-bar .top-links-item > a i {
    font-size: 18px;
    color: #ffffff;
  }
}

/* sideBar Menu
-----------------------------------------------------------------*/
.nav-tree {
  position: relative;
  margin-bottom: 1.5rem;
  float: inline-end;
  text-align: end;
}
.nav-tree ul {
  margin-bottom: 0;
  list-style: none;
}
.nav-tree ul ul {
  display: none;
}
.nav-tree ul ul a {
  padding: 6px 0;
  font-family: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, helvetica, arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  padding-left: 20px;
}
.nav-tree ul ul ul a {
  padding-left: 40px;
}
.nav-tree ul ul ul ul a {
  padding-left: 60px;
}
.nav-tree ul ul ul ul ul a {
  padding-left: 80px;
}
.nav-tree > ul {
  margin: -8px 0;
}
.nav-tree li {
  position: relative;
  padding-bottom: .5rem !important;
}
.nav-tree li a {
  display: block;
  padding: 8px 0;
  color: var(--cnvs-heading-color);
  font-size: 20px;
  font-weight: 600;
  font-family: var(--cnvs-primary-bold-font);
  transition: transform;

}

.nav-tree li i {
  width: 16px;
  text-align: center;
}
.nav-tree li i:not(.sub-menu-indicator) {
  margin-right: 0.5rem;
  position: relative;
}
.nav-tree li i.sub-menu-indicator {
  font-size: calc(1rem * 0.85);
  width: auto;
  margin-left: 0.5rem;
  margin-right: 0;
  transition: transform 0.3s ease;
}
.nav-tree li:hover > a{
  color: #000 !important;
  text-decoration: underline !important;
  cursor: pointer;
}
.nav-tree li.active > a .sub-menu-indicator {
  transform: rotate(90deg);
}
.nav-tree li.current > ul {
  display: block;
}


#side-panel-offers {
	position: fixed;
	top: 0;
	right: calc(-1 * var(--cnvs-side-panel-size));
	width: var(--cnvs-side-panel-size);
	max-width: 100%;
	height: 100%;
	z-index: 10000;
	background-color: #eee;
	color: #000; /* 🔥 forzamos texto negro */
	transition: right .3s ease;
	overflow: hidden;
}

/* Abierto */
body.side-panel-offers-open #side-panel-offers {
	right: 0;
}

/* Si también está abierto el side-panel normal, lo empujamos */
body.side-panel-open.side-panel-offers-open #side-panel {
	right: calc(1 * var(--cnvs-side-panel-size));
}

/* Botón X */
.side-panel-offers-close {
	position: absolute;
	top: 24px;
	right: 24px;
	z-index: 2;
}

.side-panel-offers-close a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 2px solid #00a339;
	border-radius: 10px;
	color: #000;
	text-decoration: none;
	font-size: 18px;
	background: #fff;
}

#side-panel-offers .side-panel-wrap {
	position: relative;
	height: 100%;
	min-height: 100%;
	display: block !important;      
	padding: 72px 20px 24px;        
	overflow-y: auto;              
	box-sizing: border-box;
}

.offers-layout {
	width: 100%;
	display: block !important;      
}

.offers-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	column-gap: 32px;
	row-gap: 24px;
}

@media (max-width: 767.98px) {

	#side-panel-offers {
		right: -100%;
		width: 100%;
	}

	body.side-panel-offers-open #side-panel-offers {
		right: 0;
	}

	.offers-grid {
		grid-template-columns: 1fr;
	}
}

.offers-column p {
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 12px;
	color: #000;
}

.offers-column ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.offers-column li {
	font-size: 0.95rem;
	margin-bottom: 4px;
	cursor: pointer;
}

#side-panel-offers li:hover {
	text-decoration: underline;
}

/* ===== Flota ===== */

.fleet-layout {
	padding: 60px 48px;
	width: 100%;
	color: #000;
}

.fleet-title {
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 40px;
}

.fleet-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	column-gap: 80px;
	row-gap: 60px;
	text-align: center;
}

.fleet-item h4 {
	font-size: 1.1rem;
	font-weight: 600;
	margin-bottom: 10px;
}

.fleet-item img {
	max-width: 210px;
	width: 100%;
	height: auto;
	object-fit: contain;
}

@media (max-width: 768px) {
	.fleet-grid {
		grid-template-columns: 1fr;
		row-gap: 40px;
	}
	.fleet-item img {
		max-width: 260px;
	}
}


/* ===========================================================
   BUSCADOR HOME – 
   =========================================================== */

   /*********Banner Transparente*******/
		.ec-promo-bar-link {
			display: flex;
			align-items: center;
			justify-content: space-between;
			background: rgba(255, 255, 255, 0.25);  
			border-radius: 6px;
			padding: 12px 16px;

			text-decoration: none !important;
			color: #fff;
			font-size: 14px;

			margin-bottom: 20px;
			transition: background 0.2s, opacity 0.2s, transform 0.15s;
			cursor: pointer;
		}

		.ec-promo-bar-link:hover {
			background: rgba(255, 255, 255, 0.32);
			opacity: 0.95;
		}

		.ec-promo-left {
			display: flex;
			align-items: center;
			gap: 12px;
		}

		.ec-promo-tag {
			background: #ff0033;
			color: #fff;
			font-size: 12px;
			font-weight: 600;
			padding: 4px 10px;
			border-radius: 4px;
			text-transform: uppercase;
		}

		.ec-promo-text {
			color: #f1f1f1;
		}

		.ec-promo-right {
			display: flex;
			align-items: center;
			gap: 6px;
		}

		.ec-promo-link-text {
			color: #fff;
			font-weight: 600;
		}

		.ec-promo-arrow {
			font-size: 16px;
		}
    /*********Formulario*******/
		#slider.slider-element,
		#slider .slider-inner,
		#eco-slider-overlay {
			overflow: visible !important;
		}

		#slider {
			position: relative;
			z-index: 50;
			 overflow: hidden;
  			background: #000;
		}
		#slider .ec-hero-bg{
			position: absolute;
			inset: 0;
			width: 100%;
			height: 80%;
			object-fit: contain;
			object-position: center top;
			z-index: 0;
			pointer-events: none;
		}

		#slider .slider-inner{
			position: relative;
			z-index: 1;
		}
		.ec-search-box {
		max-width: 1120px;
		margin: 20px auto;
		background: #ffffff;
		border-radius: 10px;
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
		color: #111;
		}

		.ec-search-inner {
		padding: 24px 28px 22px;
		}

		
		.ec-row {
		display: flex;
		align-items: flex-start;
		gap: 24px;
		}

		.ec-row + .ec-row {
		margin-top: 18px;
		}

		.ec-label {
		font-size: 14px;
		font-weight: 600;
		margin-bottom: 8px;
		}

		.ec-row-vehicle {
		align-items: center;
		justify-content: space-between;
		}

		.ec-vehicle-tabs {
		display: inline-flex;
		border-radius: 6px;
		overflow: hidden;
		border: 1px solid #ddd;
		}

		.ec-vehicle-tab {
		border: none;
		outline: none;
		background: #f8f8f8;
		padding: 10px 22px;
		display: inline-flex;
		align-items: center;
		gap: 8px;
		font-size: 14px;
		cursor: pointer;
		white-space: nowrap;
		}

		.ec-vehicle-tab--active {
		background: #00a339;
		color: #fff;
		}

		.ec-vehicle-icon {
		display: inline-flex;
		align-items: center;
		}

		.ec-row-locations {
		align-items: flex-start;
		}

		.ec-column {
		flex: 1;
		min-width: 0;
		}

		.ec-column-2 {
		flex: 1.3;
		}

		.ec-input-group {
		display: flex;
		flex-direction: column;
		gap: 8px;
		}

		.ec-input-error {
			border: 2px solid #c30000 !important;
			outline: none;
		}

		.ec-field-error{
			display:block;
			width:100%;
			margin-top:6px;
			font-size:12px;
			color:#c30000;
			line-height:1.2;
		}
		.ec-field-error.d-none{ display:none; }

		.ec-input-group--split {
		flex-direction: row;
		gap: 0;
		}

		.ec-input-with-icon,
		.ec-input-simple {
		position: relative;
		border: 1px solid #ddd;
		border-radius: 4px;
		background: #fff;
		display: flex;
		align-items: center;
		}

		.ec-input-with-icon {
			display:flex;
			align-items:center;
			flex: 1.1;
			margin-right: -1px; 
			border-top-right-radius: 0;
			border-bottom-right-radius: 0;
		}

		.ec-input-with-icon .ec-field-error{
			flex: 0 0 100%;
			width: 100%;
			margin-top: 6px;
			font-size: 12px;
			color: #c30000;
			line-height: 1.2;
		}


		.ec-input-simple {
		flex: 0.9;
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
		}

		.ec-input-icon {
		padding: 0 8px 0 12px;
		font-size: 16px;
		color: #00a339;
		}

		.ec-input-with-icon input,
		.ec-input-simple input {
		border: none;
		outline: none;
		padding: 10px 12px;
		font-size: 14px;
		width: 100%;
		background: transparent;
		}

		.ec-checkbox-inline {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		font-size: 13px;
		cursor: pointer;
		}

		.ec-checkbox-inline input[type="checkbox"] {
		width: 16px;
		height: 16px;
		accent-color: #00a339;
		}

		.ec-location-results-wrapper {
		position: absolute;
		background-color: #fff;
			left: 30px;
			right: 0;
			z-index: 50;        
			width: 93%;
		}

				/* ===== Dropdown ubicaciones: scroll (desktop + mobile) ===== */
		#ec-location-results-wrapper.ec-location-results-wrapper{
		max-height: min(420px, 60vh);   /* no se hace gigante */
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		}

		/* Asegura que el layout interno no rompa el scroll */
		#ec-location-results-wrapper .ec-location-results{
		max-height: min(420px, 60vh);
		}

		/* Lista con scroll (en desktop tu layout es 2 columnas, así que limitamos la lista) */
		#ec-location-results-wrapper .ec-location-list{
		max-height: min(420px, 60vh);
		overflow-y: auto;
		}
		.ec-location-results-header {
			display: flex;
			align-items: center;
			padding: 10px 16px;
			border-bottom: 1px solid #ececec;
			gap: 8px;
			display: none;
		}

		.ec-location-results-title {
			/* font-weight: 600; */
			margin-right: 8px;
			font-size: 12px;
		}

		.ec-filter-chip {
			display: inline-flex;
			align-items: center;
			gap: 4px;
			border-radius: 999px;
			border: 1px solid #ddd;
			padding: 4px 10px;
			cursor: pointer;
			user-select: none;
			font-size: 12px;
		}

		.ec-filter-chip input {
			display: none;
		}

		.ec-filter-chip span {
			color: #555;
		}

		.ec-filter-chip input:checked + span {
			font-weight: 600;
			color: #007f3d;
		}

		.ec-location-results {
			display: flex;
			max-height: 420px;
		}

		.ec-location-list {
			width: 40%;
			border-right: 1px solid #ececec;
			overflow-y: auto;
			padding: 8px 0;
		}

		.ec-location-section-title {
			font-size: 11px;
			font-weight: 700;
			padding: 8px 16px;
			text-transform: uppercase;
			color: #888;
		}

		.ec-location-item {
			display: flex;
			align-items: center;
			width: 100%;
			border: none;
			background: transparent;
			padding: 8px 16px;
			cursor: pointer;
			text-align: left;
			gap: 8px;
			transition: background-color .15s, color .15s;
		}

		.ec-location-item:hover {
			background-color: #0cdc67;
			color: #fff;
		}

		.ec-location-item.is-active {
			background-color: #0cdc67;
			color: #fff;
		}

		.ec-location-item.is-active .ec-location-sub {
			color: #e6ffe0;
		}

		.ec-location-icon {
			  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
		}

		.ec-location-main {
			font-size: 13px;
			line-height: 1.2;
		}

		.ec-location-sub {
			font-size: 11px;
			color: #777;
		}

		.ec-location-detail {
			position: relative;
			flex: 1;
			padding: 16px;
			display: flex;
			align-items: stretch;
			overflow: hidden;
		}

		#ec-map-container {
			position: absolute;
			inset: 0;
			border-radius: 8px;
			z-index: 1;
		}

		.ec-location-detail-card-slot {
			position: relative;
			z-index: 2;
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.ec-location-detail-card {
			background-color: #fff;
			border-radius: 8px;
			padding: 16px 18px;
			box-shadow: 0 10px 30px rgba(0,0,0,0.18);
			max-width:250px;
			width: 100%;
		}

		.ec-location-detail-title {
			font-weight: 700;
			margin-bottom: 4px;
		}

		.ec-location-detail-address {
			font-size: 12px;
			color: #555;
			margin-bottom: 12px;
		}

		.ec-location-detail-hours {
			font-size: 11px;
			margin-bottom: 12px;
		}

		.ec-location-detail-hours-row {
			display: flex;
			gap: 4px;
		}

		.ec-location-detail-hours-row span:first-child {
			width: 70px;
			font-weight: 600;
			text-transform: uppercase;
		}

		.ec-location-detail-phone {
			margin-top: 12px;
			margin-bottom: 10px;
		}

		.ec-location-detail-phone button {
			display: inline-flex;
			align-items: center;
			gap: 6px;
			border-radius: 999px;
			padding: 8px 14px;
			border: 1px solid #ddd;
			background-color: #fff;
			font-size: 12px;
			cursor: pointer;
		}

		.ec-location-detail-actions {
			margin-top: 8px;
		}

		.ec-location-detail-actions a {
			display: inline-flex;
			align-items: center;
			gap: 6px;
			border-radius: 999px;
			padding: 8px 14px;
			border: 1px solid #ddd;
			background-color: #fff;
			font-size: 12px;
			text-decoration: none;
		}

		.ec-location-detail-placeholder {
			font-size: 13px;
			color: #555;
			align-self: center;
		}

		.ec-time-select{
			border: none;
			outline: none;
			padding: 10px 12px;
			font-size: 14px;
			width: 100%;
			background: transparent;
		}
		
		.d-none {
			display: none !important;
		}

		.ec-row-footer {
		justify-content: space-between;
		align-items: center;
		}

		.ec-footer-left {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 18px;
		}

		.ec-footer-item {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		}

		.ec-footer-label {
		font-size: 13px;
		color: #555;
		}

		.ec-footer-pill {
		border-radius: 999px;
		border: 1px solid #ddd;
		background: #fff;
		font-size: 13px;
		padding: 6px 14px;
		cursor: pointer;
		}

		.ec-arrow {
		font-size: 10px;
		margin-left: 2px;
		}

		.ec-info {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		width: 16px;
		height: 16px;
		font-size: 11px;
		}

		.ec-footer-right {
		display: flex;
		justify-content: flex-end;
		flex: 0 0 auto;
		gap:20px
		}

		.ec-search-btn {
		background: #ffd800;
		border: none;
		border-radius: 4px;
		padding: 12px 40px;
		font-weight: 600;
		font-size: 14px;
		cursor: pointer;
		color:black;
		}

		.ec-vehicle-tab:not(.ec-vehicle-tab--active):hover,
		.ec-footer-pill:hover {
		background: #f0f0f0;
		}

		.ec-search-btn:hover {
			
		filter: brightness(0.95);
		}

		.ec-label-row {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 12px;
		}

		.ec-label-checkbox {
			font-size: 13px;
			font-weight: 100;
		}

		.ec-input-group-locations {
			display: flex;
			flex-direction: row;      
			align-items: stretch;
			gap: 8px;
		}

		.ec-input-group-locations .ec-input-with-icon {
			flex: 1 1 0;
		}

		.ec-location-out {
			display: none;
		}

		.ec-input-group-locations.has-return .ec-location-out {
			display: flex;
		}

		.ec-column-date {
			flex: 0 0 220px;
			max-width: 220px;
		}
		.ec-column-time {
			flex: 0 0 132px;
			max-width: 132px;
		}
		.link-slider:hover{
			text-decoration: underline !important;

		}


		.ec-footer-right {
			position: relative; 
		} 

		.ec-promo-panel {
			position: absolute;
			right: 51px;
			z-index: 30;
			top: 40px;
			max-width: 320px;
			background-color: #fff;
			border-radius: 4px;
			box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
			font-size: 13px;
		}

		.ec-promo-panel-inner {
			position: relative;
			padding: 12px 14px 0;
		}

		.ec-promo-panel-title {
			font-weight: 600;
			margin: 0 0 8px;
		}

		.ec-promo-panel-label {
			display: block;
			font-weight: 600;
			margin-bottom: 4px;
		}

		.ec-promo-error {
			margin-top: 4px;
			font-size: 12px;
			color: #c30000;
		}

		.ec-promo-input.ec-promo-input--error {
			border-color: #c30000;
		}

		.ec-promo-loading {
			position: absolute;
			inset: 0;
			background-color: rgba(0,0,0,0.35);
			display: flex;
			align-items: center;
			justify-content: center;
			border-radius: 4px;
		}

		.ec-promo-spinner {
			width: 38px;
			height: 38px;
			border-radius: 50%;
			border: 4px solid rgba(255,255,255,0.6);
			border-top-color: #008000; /* verde */
			animation: ec-spin 0.8s linear infinite;
		}

		@keyframes ec-spin {
			to { transform: rotate(360deg); }
		}

		.ec-promo-panel-input-row {
			display: flex;
			align-items: stretch;
			margin-bottom: 8px;
		}

		.ec-promo-input {
			flex: 1;
			border: 1px solid #ccc;
			border-right: none;
			padding: 6px 8px;
			font-size: 13px;
			outline: none;
		}

		.ec-promo-input:focus {
			border-color: #009900; 
		}

		.ec-promo-btn {
			border: 1px solid #ccc;
			border-left: none;
			padding: 0 12px;
			font-size: 16px;
			cursor: pointer;
			background-color: #f5f5f5;
		}
		.ec-promo-btn--active {
			background-color: #ffd200;
			border-color: #ffd200;
		}

		#promoLabel.ec-promo-label-ok #promoLabelText {
			color: #008000;
			font-weight: 600;
		}

		#promoLabel.ec-promo-label-ok #promoLabelText::after {
			content: " ✓";
			margin-left: 4px;
		}

		.ec-promo-panel-divider {
			margin: 4px -14px 0;
			border-top: 1px solid #e0e0e0;
		}

		.ec-promo-panel-help {
			margin: 0 -14px 0;
			padding: 10px 14px 12px;
			background-color: #f3f3f3;
		}

		.ec-promo-panel-help-title {
			font-weight: 600;
			margin: 0 0 4px;
		}

		.ec-promo-panel-help-text {
			margin: 0;
			font-size: 12px;
			line-height: 1.4;
		}

		.ec-tooltip {
			position: relative;
			display: inline-block;
			cursor: pointer;
			font-style: normal;
			font-weight: bold;
			width: 18px;
			height: 18px;
			font-size: 13px;
			line-height: 16px;
			text-align: center;
			color: #000;
		}

		/* Caja del tooltip */
		.ec-tooltip-box {
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			bottom: 125%; /* aparece arriba del icono */
			width: 260px;
			background: #fff;
			padding: 14px;
			font-size: 13px;
			color: #000;
			border-radius: 6px;
			box-shadow: 0 4px 18px rgba(0,0,0,0.25);
			opacity: 0;
			visibility: hidden;
			transition: opacity .25s ease;
			z-index: 9999;
		}

		/* Flechita */
		.ec-tooltip-box::after {
			content: "";
			position: absolute;
			top: 100%;
			left: 50%;
			transform: translateX(-50%);
			border-width: 7px;
			border-style: solid;
			border-color: #fff transparent transparent transparent;
		}

		/* Mostrar tooltip al pasar el mouse */
		.ec-tooltip:hover .ec-tooltip-box {
			opacity: 1;
			visibility: visible;
		}


		/* ==== Modal Hora ==== */
		.ec-modal.d-none{ display:none; }
		.ec-modal{
			position: fixed;
			inset: 0;
			z-index: 10000;
			display: flex;
			align-items: center;    
			justify-content: center;
		}
		.ec-modal-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.45); }
		.ec-modal-dialog{
		position:relative; 
		background:#fff; border-radius:12px; padding:18px 18px 14px;
		width:min(520px, calc(100% - 24px));
		box-shadow:0 16px 50px rgba(0,0,0,.25);
		}
		.ec-modal-close{
		position:absolute; right:10px; top:10px;
		border:0; background:transparent; font-size:22px; cursor:pointer;
		}
		.ec-modal-title{ margin:0 0 8px; font-size:18px; }
		.ec-modal-text{ margin:0 0 14px; font-size:14px; }
		.ec-modal-actions{ display:flex; justify-content:flex-end; gap:10px; }
		.ec-modal-ok{
		border:0; border-radius:10px; padding:10px 14px; cursor:pointer;
		background:#00a339; color:#fff; font-size:14px;
		}
		/* ==== Loader ==== */
		.ec-form-loader{
		position: fixed;
		inset: 0;
		z-index: 9999;
		}

		.ec-form-loader.d-none{ display:none; }

		.ec-form-loader__backdrop{
		position:absolute;
		inset:0;
		background: rgba(0,0,0,.75);
		}

		.ec-form-loader__box{
		position:absolute;
		left:50%;
		top:50%;
		transform: translate(-50%,-50%);
		background:#fff;
		border:1px solid #e5e5e5;
		border-radius:12px;
		padding:18px 20px;
		min-width: 260px;
		text-align:center;
		box-shadow: 0 10px 30px rgba(0,0,0,.15);
		}

		.ec-form-loader__spinner{
		width:34px;
		height:34px;
		border:4px solid #ddd;
		border-top-color:#00a339;
		border-radius:50%;
		margin:0 auto 10px;
		animation: ecSpin 0.9s linear infinite;
		}

		.ec-form-loader__text{
		font-size:14px;
		color:#111;
		}

		@keyframes ecSpin{
		to { transform: rotate(360deg); }
		}

		/* ==== MODAL ==== */
		.ec-modal.d-none {
			display: none !important;
		}

		.ec-modal {
			position: fixed;
			inset: 0;
			z-index: 9999;
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.ec-modal-backdrop {
			position: absolute;
			inset: 0;
			background-color: rgba(0,0,0,0.5);
		}

		.ec-modal-dialog {
			position: relative;
			z-index: 1;
			background-color: #fff;
			padding: 20px 24px;
			border-radius: 6px;
			box-shadow: 0 8px 24px rgba(0,0,0,0.3);
			min-width: 260px;
			max-width: 360px;
			text-align: center;
		}

		.ec-modal-title {
			margin: 0;
			font-size: 18px;
			font-weight: 600;
		}

		.ec-modal-close {
			position: absolute;
			top: 6px;
			right: 8px;
			border: none;
			background: transparent;
			font-size: 20px;
			cursor: pointer;
		}

		.mt-75{
			margin-top: 75px;
		}

		@media (max-width: 991.98px) {
			.mt-75{
				margin-top: 25px;
			}
		.hero-slider {
			max-height: none;
			min-height: auto;
			background-repeat: no-repeat !important;
			background-size: contain !important;  
			background-position: top center !important;
			padding-top: 20px;
			padding-bottom: 0px;
		}

		#eco-slider-overlay {
			height: auto;
		}

		.dn-resp,
		.ec-row-vehicle,
		.ec-vehicle-tabs {
			display: none !important;
		}

		.info-titles{
			    font-size: var(--cnvs-font-size-h4) !important;
		}

		.ec-search-box {
			margin: 16px 8px 24px;
			border-radius: 12px;
			box-shadow: 0 10px 26px rgba(0,0,0,0.25);
		}

		.ec-search-inner {
			padding: 18px 16px 20px;
		}

		.ec-row {
			display: flex;
			flex-direction: column;
			align-items: stretch;
			gap: 12px;
		}

		.ec-row + .ec-row {
			margin-top: 12px;
		}

		.ec-row.ec-row-locations {
			display: flex !important;
			flex-direction: row !important;
			flex-wrap: wrap !important;
			align-items: flex-start;
			gap: 16px;
			padding-top: 0 !important;
		}

		.ec-row-locations .ec-column-2 {
			flex: 0 0 100% !important;
			max-width: 100% !important;
			position: relative;
			padding-bottom: 32px; 
		}

		.ec-row-locations .ec-label-row {
			display: block;
		}

		.ec-row-locations .ec-label-row .ec-label {
			margin-bottom: 8px;
		}

		.ec-row-locations .ec-label-checkbox {
			position: absolute;
			left: 0;
			bottom: 0;
			display: inline-flex;
			align-items: center;
			gap: 6px;
			font-size: 12px;
		}

		.ec-input-group-locations {
			display: flex;
			flex-direction: column;
			gap: 8px;
		}

		.ec-location-in,
		.ec-location-out {
			width: 100%;
		}

		.ec-row-locations .ec-column-date {
			flex: 0 0 100% !important;
			max-width: 100% !important;
		}

		.ec-row-locations .ec-column-time {
			flex: 0 0 50% !important;
			max-width: 47% !important;
		}

		.ec-row-locations .ec-column-time .ec-label {
			font-size: 12px;
			margin-bottom: 6px;
		}

		.ec-row-locations .ec-column-time .ec-input-group {
			flex-direction: column;
			gap: 8px;
		}

		.ec-row-locations .ec-column-time .ec-input-simple,
		.ec-row-locations .ec-column-time input {
			width: 100%;
		}

		.ec-row-footer {
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 12px;
			margin-top: 8px;
		}

		.ec-footer-left,
		.ec-footer-right {
			width: 100%;
		}

		.ec-footer-right {
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 8px;
		}

		.ec-footer-right .ec-footer-item span:first-child {
			white-space: nowrap;
		}

		.ec-search-btn {
			width: 100%;
			text-align: center;
			/* padding: 14px 0; */
			font-size: 15px;
			border-radius: 6px;
		}
		.ec-location-results-header, .ec-location-detail{
			display: none;
		}
		.ec-location-list{
			width: 100%;
		}
		.ec-location-results-wrapper{
			width: 82%;
		}
		 /* El contenedor de inputs debe ser el "ancla" del dropdown */
			.ec-row-locations .ec-column-2{
				position: relative;
			}

			/* Dropdown: pegado a la columna, y lo posicionaremos con JS */
			#ec-location-results-wrapper.ec-location-results-wrapper{
				position: absolute;
				left: 0 !important;
				right: 0 !important;
				width: 100% !important;

				top: var(--ec-loc-top, 100%);
				z-index: 9999;

				/* opcional: estética y control */
				margin-top: 6px;
				border-radius: 10px;
				overflow: hidden;
				box-shadow: 0 10px 26px rgba(0,0,0,0.25);
			}
			 #ec-location-results-wrapper.ec-location-results-wrapper{
				max-height: 280px;         
				overflow-y: auto;
				overflow-x: hidden;
				-webkit-overflow-scrolling: touch; /* scroll suave iOS */
			}

			/* Asegura que la lista no crezca infinito */
			#ec-location-results-wrapper .ec-location-results{
				display: block;            
				max-height: 280px;
			}

			#ec-location-results-wrapper .ec-location-list{
				width: 100%;
				max-height: 280px;
				overflow-y: auto;
			}
		}

		@media (max-width: 767.98px) {

			.mt-75{
				margin-top: 0px;
			}
			.ec-label {
				font-size: 13px;
			}

			.ec-promo-bar-link{
				flex-direction: column;
				align-items: flex-start;
				padding: 4px 4px;
				font-size: 10px !important;
				gap: 0px;
			}

			.ec-promo-left{
				width: 100%;
			}

			.ec-promo-right{
				width: 100%;
				justify-content: center;
			}
			
		}

	/************CALENDARIO*************/
		.daterangepicker {
			border-radius: 16px;
			box-shadow: 0 12px 30px rgba(0,0,0,.18);
			font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
		}

		.daterangepicker .drp-selected {
			font-weight: 600;
			font-size: 14px;
		}

		.daterangepicker .btn-primary {
			background-color: #00a339;
			border-color: #00a339;
			border-radius: 999px;
			padding: 6px 18px;
		}

		.daterangepicker .btn-primary:hover {
			background-color: #009900;
			border-color: #009900;
		}

		.daterangepicker td,
		.daterangepicker th {
			width: 32px;
			height: 32px;
			line-height: 32px;
			border-radius: 999px;
		}

		.daterangepicker td.active, 
		.daterangepicker td.active:hover,
		.daterangepicker .active.start-date,
		.daterangepicker .active.end-date {
			background-color: #00a339;
			color: #fff !important;
		}

		.daterangepicker td.in-range {
			background-color: #e0edff;
			color: #1f2933;
			border-radius: 0; 
		}

		/* .daterangepicker td.start-date.in-range,
		.daterangepicker td.end-date.in-range {
			border-radius: 999px;
		} */

		.daterangepicker td.today:not(.active):not(.in-range) {
			/* border: 1px solid #00a339; */
			color: #00A339;
			font-weight: 700;
		}

		.daterangepicker .prev span,
		.daterangepicker .next span {
			border-color: #4b5563;
		}

		.daterangepicker th.month {
			    font-weight: 700;
    text-transform: uppercase;
    font-size: 14px;
		}

	/* Línea debajo de los días de la semana */
.daterangepicker .calendar-table thead tr:nth-child(2) th {
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 2px;
      font-weight: 600;
    color: darkgrey;
}

/* ===========================================================
   OFERTAS HOME – 
   =========================================================== */

.ec-offer-promo {
	position: relative;
	display: block;
	width: 100%;
	border-radius: 5px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 220px;        
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	transition: all .2s ease;
}

.ec-offer-promo::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0);
	transition: background .3s ease;
}

.ec-offer-promo:hover::before {
	background: rgba(0,0,0,0.35);
}

.ec-offer-badge {
	position: absolute;
	top: 20px;
	left: 20px;
	background-color: #ff0032;
	color: #fff;
	padding: 10px 16px;
	border-radius: 12px;
	z-index: 2;
	text-align: center;
}

.ec-offer-badge-top,
.ec-offer-badge-bottom {
	font-size: 11px;
	font-weight: 600;
	line-height: 1.1;
}

.ec-offer-badge-main {
	display: block;
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
}

.ec-offer-caption {
	position: absolute;
	left: 20px;
	bottom: 60px;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	z-index: 2;
	text-shadow: 0 2px 6px rgba(0,0,0,.5);
}

.ec-offer-footer {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background: #f0f0f0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 22px;
	transform: translateY(100%);
	opacity: 0;
	transition: all .35s ease;
	z-index: 3;
}

/* Botón amarillo */
.ec-offer-btn {
	width: 40px;
	height: 40px;
	background: #ffe500;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	transform: translateX(10px);
	opacity: 0;
	transition: all .3s ease;
}

.ec-offer-promo:hover .ec-offer-footer {
	transform: translateY(0%);
	opacity: 1;
}

.ec-offer-promo:hover .ec-offer-btn {
	transform: translateX(0);
	opacity: 1;
}

.ec-offer-image {
	min-height: 220px; 
	width: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.ec-offer-image.ec-offer-tall {
	min-height: 260px; 
}

@media (min-width: 992px) {

	.ec-offer-promo {
		min-height: 260px;
	}

	.ec-offer-image {
		min-height: 260px;
	}

	.ec-offer-image.ec-offer-tall,
	.ec-offer-tall {
		min-height: 362px;
	}
}

@media (max-width: 480px) {

	.ec-offer-promo {
		min-height: 200px;
	}

	.ec-offer-image {
		min-height: 200px;
	}

	.ec-offer-image.ec-offer-tall {
		min-height: 240px;
	}

	.ec-offer-caption {
		bottom: 0px;
		font-size: 18px;
	}
}


/* ===========================================================
   FLOTAS HOME
   =========================================================== */

.ec-fleet-section {
  background-color: #ffffff;
  font-size: 14px;
}

.ec-fleet-top {
  background-color: #f6f6f6;
  padding-top: 60px;
  padding-bottom: 40px; 
}

.ec-fleet-top h2 {
  font-size: 28px;
  margin-bottom: 10px;
}

.ec-fleet-top p {
  color: #555;
}

.ec-fleet-categories p {
  max-width: 260px;
  margin-left: auto;
  margin-right: auto;
  color: #555;
}

.ec-link-green {
  color: #00A339;
  font-weight: 600;
  text-decoration: none;
  position: relative;
  z-index: 100;
}

.ec-link-green:hover {
  text-decoration: underline !important;
  color: #00A339;
}

/* Bloque de autos (desktop) */
.ec-fleet-cars {
  margin-top: -80px;
  position: relative;
  z-index: 2;
  padding-bottom: 40px;
}

.ec-fleet-car img {
  max-width: 80%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Beneficios */
.ec-fleet-bottom {
  background-color: #ffffff;
}

.ec-fleet-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.ec-fleet-card-content {
  flex-grow: 1;
}

.ec-fleet-card p {
  color: #666;
}

.ec-fleet-card .ec-search-btn {
  margin-top: auto;
  display: block;
  width: 100%;
  padding: 12px 10px;
  white-space: normal;
}

.ec-fleet-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ec-fleet-icon i {
  font-size: 28px;
  color: #c0c0c0;
}

/* ===== Slider MOBILE ===== */

.ec-fleet-mobile {
  display: none; /* oculta slider en desktop */
}

.ec-fleet-swiper {
  width: 100%;
}

.ec-fleet-slide-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}

.ec-fleet-slide-text {
  color: #555;
  font-size: 13px;
  margin-bottom: 4px;
}

.ec-fleet-mobile .ec-fleet-car img {
  max-width: 90%;
  height: auto;
  display: block;
  margin: 24px auto 0;
}

/* bullets */
.ec-fleet-pagination {
  position: static !important;
  margin-top: 18px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
}

.ec-fleet-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: #d8d8d8;
  opacity: 1;
}

.ec-fleet-pagination .swiper-pagination-bullet-active {
  background: #00A339;
}

/* ===== Responsive ===== */

/* Mobile: ocultamos desktop (.dn-resp) y mostramos slider */
@media (max-width: 767.98px) {

  .ec-fleet-top h2 {
    font-size: 22px;
  }

  .ec-fleet-section {
    font-size: 13px;
  }

  /* ocultar versiones desktop marcadas con dn-resp */
  .dn-resp {
    display: none !important;
  }

  /* quitar margin-top negativo en mobile */
  .ec-fleet-cars {
    margin-top: 0;
    padding-bottom: 24px;
  }

  .ec-fleet-mobile {
    display: block;
  }
}

/* ===========================================================
   Noticias HOME
   =========================================================== */


.ec-news-section {
	background-color: #ffffff;
	font-size: 14px;
}

.ec-news-subtitle {
	color: #666;
}

.ec-news-card {
	display: flex;
	flex-direction: column;
}

.ec-news-image {
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 12px;
}

.ec-news-image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	transition: transform .3s ease;
}

.ec-news-card:hover .ec-news-image img {
	transform: scale(1.03);
}

.ec-news-body {
	flex: 1;
}

.ec-news-tag {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	color: #666; 
	text-transform: uppercase;
	margin-bottom: 4px;
}

.ec-news-title {
	font-size: 15px;
	font-weight: 700;
	color: #222;
	margin-bottom: 8px;
}

.ec-news-excerpt {
	color: #555;
	font-size: 13px;
	line-height: 1.6;
	margin-bottom: 12px;
}

/* Link Leer + */
.ec-news-link {
	font-size: 13px;
	font-weight: 700;
	color: #00A339;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.ec-news-link span {
	font-size: 15px;
	line-height: 1;
}

.ec-news-link:hover {
	text-decoration: underline !important;
	color: #00A339;
}

/* Responsive */
@media (max-width: 767.98px) {
	.ec-news-section {
		font-size: 13px;
	}

	.ec-news-section h2 {
		font-size: 22px;
		margin-bottom: 4px;
	}

	.ec-news-subtitle {
		font-size: 13px;
	}

	/* Menos espacio vertical entre cards */
	#section-news .row.g-4 {
		row-gap: 14px;
	}

	/* Layout: imagen izquierda, texto (título + Leer +) derecha */
	.ec-news-card {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		gap: 10px;
	}

	.ec-news-image {
		flex: 0 0 64px;
		max-width: 64px;
		height: 64px;
		margin-bottom: 0;
		border-radius: 8px;
		overflow: hidden;
	}

	.ec-news-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* Columna de texto */
	.ec-news-body {
		flex: 1;
	}

	.ec-news-title {
		font-size: 14px;
		margin-bottom: 2px;
		line-height: 1.3;
	}

	/* En mobile solo queremos título + Leer + */
	.ec-news-tag,
	.ec-news-excerpt {
		display: none;
	}

	/* Leer + justo debajo del texto negro, alineado con él */
	.ec-news-link {
		display: inline-block;
		margin-top: 4px;
		text-align: left;
	}
}





/* ===== Sección ubicaciones (Europcar en México) ===== */

.ec-locations-section {
	background-color: #f6f6f6; /* gris ocupa todo el ancho de la pantalla */
	font-size: 14px;
}

.ec-loc-main {
	/* para que parezca “bloque” centrado como en Europcar */
}

/* Intro izquierda */
.ec-loc-intro p {
	color: #555;
	font-size: 20px;
}

/* Icono tipo hexágono suave */
.ec-loc-icon {
	width: 64px;
	height: 64px;
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.ec-loc-icon i {
	font-size: 24px;
	color: #c0c0c0;
}

/* Columnas de estados */
.ec-loc-col-title {
	font-weight: 700;
	margin-bottom: 4px;
	color: #222;
	font-size: var(--cnvs-font-size-h6) !important; 
}

.ec-loc-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.ec-loc-list li {
	font-size: 13px;
	color: #555;
	line-height: 30px;
}

.ec-loc-list a {
    color: black;
}
/* Botón / link de despliegue */
.ec-loc-toggle {
	display: inline-block;
	margin-top: 8px;
	cursor: pointer;
}

/* Sección texto + toggle */
.ec-description-section {
	background-color: #ffffff;
	font-size: 14px;
}

/* Header del bloque */
.ec-desc-header {
	border-bottom: 1px solid #e0e0e0;
	padding-bottom: 10px;
}

/* Botón toggle */
.ec-desc-toggle {
	background: transparent;
	border: none;
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	color: #333;
	padding: 0;
}

.ec-desc-toggle:focus {
	outline: none;
}

/* Iconos + / - */
.ec-toggle-icon {
	display: inline-block;
	transition: transform .25s ease;
}

/* Cuando está abierto cambiamos el símbolo */
.ec-desc-toggle[aria-expanded="true"] .ec-toggle-icon {
	transform: rotate(180deg);
}

.ec-desc-toggle[aria-expanded="true"] .ec-toggle-icon::before {
	content: "-";
}

.ec-desc-toggle[aria-expanded="false"] .ec-toggle-icon::before {
	content: "+";
}

/* Estilo del texto colapsado */
#ec-desc-content p {
	color: #555;
	line-height: 1.7;
}

/* Alianzas */
.ec-alias-logo {
	max-height: 65px;
	width: auto;
}

@media (max-width: 767.98px) {

    .ec-loc-mobile-item {
        border-bottom: 1px solid #e0e0e0;
        padding: 6px 0;
    }

    .ec-loc-mobile-toggle {
        width: 100%;
        border: 0;
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 4px 0;
        font-weight: 600;
        font-size: 14px;
    }

    .ec-loc-mobile-toggle span {
        text-align: left;
    }

    .ec-loc-mobile-toggle::after {
        content: "+";
        font-size: 18px;
        font-weight: 700;
    }

    .ec-loc-mobile-toggle:not(.collapsed)::after {
        content: "−";
    }

    .ec-loc-mobile-cities {
        padding-top: 4px;
    }

    .ec-loc-mobile-cities .ec-loc-list {
        padding-left: 0;
        margin-bottom: 4px;
    }

    .ec-loc-mobile-cities .ec-loc-list li {
        list-style: none;
        font-size: 13px;
        margin-bottom: 2px;
    }

    .ec-loc-mobile-cities .ec-loc-list li a {
        text-decoration: none;
    }
}

/* ===== SECCIÓN HELP / FOOTER SUPERIOR ===== */

.ec-help-section {
	background-color: #f6f6f6;
	font-size: 14px;
}

.ec-help-section .row.g-4 {
	display: flex;
	flex-wrap: wrap;
}

.ec-help-section .col-lg-4 {
	display: flex;
}

/* === CARDS SUPERIORES === */

.ec-help-card {
	background: #ffffff;
	border-radius: 4px;
	padding: 32px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.04);
	display: flex;
	flex-direction: column;
	flex: 1;               
}

.ec-help-card h4 {
	font-size: 20px;
	margin-bottom: 18px;
}

.ec-help-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ec-help-list li {
	margin-bottom: 8px;
}

.ec-help-list a {
	color: #666666;
	text-decoration: none;
	font-size: 14px;
}

.ec-help-list a:hover {
	text-decoration: underline !important;
}

/* Botón amarillo con flecha */
.ec-help-btn {
	margin-top: auto;
	align-self: flex-end;
	background: #ffe500;
	color: #000;
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: background .2s ease;
	border:0
}

.ec-help-btn:hover {
	background: #ffdf00;
}

.ec-help-card,
.ec-help-card p,
.ec-help-list li a {
	text-align: left !important;
}
/* === BLOQUES INFERIORES === */

.ec-info-links {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.ec-info-links li {
	margin-bottom: 8px;
}

.ec-info-links a {
	color: #333;
	font-size: 14px;
	text-decoration: none;
}

.ec-info-links a:hover {
	text-decoration: underline !important;
}

@media (max-width: 767.98px) {

    .ec-help-mobile-item {
        border-bottom: 1px solid #e0e0e0;
        padding: 8px 0;
    }

    .ec-help-mobile-toggle {
        width: 100%;
        border: 0;
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 4px 0;
        font-weight: 700;
        font-size: 15px;
        text-align: left;
    }

    .ec-help-mobile-toggle span {
        flex: 1;
    }

    .ec-help-mobile-toggle::after {
        content: "+";
        font-size: 18px;
        font-weight: 700;
    }

    .ec-help-mobile-toggle:not(.collapsed)::after {
        content: "−";
    }

    .ec-help-mobile-body {
        padding-top: 4px;
    }

    .ec-help-mobile-body .ec-help-list,
    .ec-help-mobile-body .ec-info-links {
        list-style: none;
        padding-left: 0;
        margin-bottom: 6px;
    }

    .ec-help-mobile-body li {
        font-size: 14px;
        margin-bottom: 2px;
    }

    .ec-help-mobile-body a {
        text-decoration: none;
    }

    .ec-help-mobile-body p {
        font-size: 14px;
        margin-bottom: 8px;
    }
}


/* ===== Franja de reconocimientos ===== */

.ec-awards {
	background-color: #ffffff;
	font-size: 14px;
}

.ec-award-item {
	text-align: center;
}

.ec-award-logo {
    max-height: 56px;
}

/* Logo "E" un poco más grande */
.ec-award-e-logo .ec-award-logo {
    max-height: 64px;
}
.ec-award-text {
	color: #555;
	font-size: 13px;
	text-align: left;
}

.ec-award-sub {
	color: #777;
	font-size: 12px;
}

@media (min-width: 768px) {
    .ec-awards-row {
        text-align: left;
    }
}

/* MOBILE */
@media (max-width: 767.98px) {

    #section-awards .ec-awards-row {
        text-align: left;
    }

    /* Logo E arriba con margen inferior */
    .ec-award-e-logo {
        display: flex;
        justify-content: flex-start;
        margin-bottom: 8px;
    }

    /* Cada premio: icono izq + texto der en fila */
    #section-awards .ec-award-item {
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    #section-awards .ec-award-text {
        font-size: 14px;
        line-height: 1.3;
    }

    #section-awards .ec-award-sub {
        font-size: 13px;
    }
}
/* ===== Footer negro final ===== */

.ec-footer-final {
	background-color: #000000;
	color: #ffffff;
	font-size: 13px;
}

.ec-footer-flag img {
	height: 16px;
	width: auto;
	display: block;
}

.ec-footer-text {
	color: #ffffff;
}

.ec-footer-link {
	color: #ffffff;
	text-decoration: none;
}

.ec-footer-link:hover {
	text-decoration: underline;
}

/* Social icons circulares blancos */
.ec-footer-social-link {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000000;
	font-size: 14px;
	text-decoration: none;
	transition: transform .2s ease, opacity .2s ease;
}

.ec-footer-social-link:hover {
	transform: translateY(-2px);
	opacity: 0.85;
}

/* Ajustes responsive */
@media (max-width: 767.98px) {
	.ec-footer-final {
		text-align: center;
	}
	.ec-footer-left {
		justify-content: center;
	}
}


/* ===== Barra de cookies ===== */
/* =========================
   COOKIE BAR: layout responsive real
   ========================= */

#ec-cookie-bar.ec-cookie-bar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;

  background: #666;
  color: #fff;

  /* elimina padding vertical grande del .container, lo manejamos acá */
  padding: 10px 0;

  box-sizing: border-box;
}



/* Texto: no debe empujar el layout */
#ec-cookie-bar .ec-cookie-text{
  margin: 0;
  line-height: 1.25;
  font-size: 12px;
      width: 75%;
}

#ec-cookie-accept {
	background-color: #037b00;
	color: white;
}
.ec-cookie-btn-more{
	background-color: #d8d8d8;
	color: black;

}
.ec-cookie-btn-more:hover{
	background-color: #d8d8d8;
}
/* Acciones: base */
#ec-cookie-bar .ec-cookie-actions{
  display: flex;
  gap: 8px;
}

/* Botones: base */
#ec-cookie-bar .ec-cookie-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 3px;
  text-decoration: none;

  padding: 10px 12px;
  min-height: 40px;

  font-size: 13px;
  font-weight: 600;

  box-sizing: border-box;
}

/* =========================
   MÓVIL: todo a 100% y botones apilados o 50/50
   ========================= */
@media (max-width: 575.98px){

	
  #ec-cookie-bar .container{
    padding-left: 12px;
    padding-right: 12px;
  }

  #ec-cookie-bar .ec-cookie-actions{
    width: 100%;
    display: flex;
    gap: 8px;
  }

  /* clave: NO width:50% */
  #ec-cookie-bar .ec-cookie-btn{
    flex: 1 1 0;       /* ambos ocupan lo mismo, considerando el gap */
    min-width: 0;      /* evita overflow por contenido largo */
    width: auto;
    white-space: normal;
    text-align: center;
    line-height: 1.1;
  }

  #ec-cookie-bar .ec-cookie-text{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}



/* ===== Newsletter Popup ===== */

.ec-newsletter-modal {
	position: fixed;
	inset: 0;
	z-index: 9998;
	display: none;               /* hidden by default */
	align-items: center;
	justify-content: center;
	font-size: 14px;
}

/* estado visible */
.ec-newsletter-modal.is-visible {
	display: flex;
}

/* overlay oscuro */
.ec-newsletter-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.6);
}

/* caja central */
.ec-newsletter-dialog {
	position: relative;
	z-index: 1;
	background: #ffffff;
	border-radius: 8px;
	max-width: 670px;
	width: 100%;
	box-shadow: 0 8px 24px rgba(0,0,0,0.35);
	overflow: hidden;
}

/* botón cerrar */
.ec-newsletter-close {
	position: absolute;
	top: 12px;
	right: 16px;
	background: transparent;
	border: none;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	color: #333;
	z-index: 2;
}

.ec-newsletter-inner {
	display: flex;
	flex-direction: row;
}

/* columna imagen */
.ec-newsletter-image {
	position: relative;
	flex: 0 0 40%;
	min-height: 320px;
	background-color: #000;
}

.ec-newsletter-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* badge rojo */
.ec-newsletter-badge {
	position: absolute;
	top: 30px;
	left: 30px;
	background: #ff0032;
	color: #fff;
	padding: 12px 16px;
	text-align: center;
	border-radius: 12px;
	font-size: 13px;
}
.ec-newsletter-badge strong {
	display: block;
	font-size: 24px;
}

/* columna contenido */
.ec-newsletter-content {
	flex: 0 0 60%;
	padding: 30px 32px 26px;
}

.ec-newsletter-content h3 {
	font-size: 22px;
}

.ec-newsletter-content p {
	color: #444;
}

.ec-newsletter-error {
	background: #ffdddd;
	color: #b30000;
	border: 1px solid #ffb3b3;
	padding: 8px 12px;
	border-radius: 5px;
	font-size: 13px;
	margin-bottom: 12px;
}

.ec-newsletter-success {
	background: #eaffdd;
	color: #1eb300;
	border: 1px solid #eaffdd;
	padding: 8px 12px;
	border-radius: 5px;
	font-size: 13px;
	margin-bottom: 12px;
}

/* responsive */
@media (max-width: 767.98px) {
	.ec-newsletter-dialog {
		max-width: 95%;
	}

	.ec-newsletter-inner {
		flex-direction: column;
	}

	.ec-newsletter-image {
		flex-basis: auto;
		min-height: 220px;
	}
}

.daterangepicker td.ps-hide{
  visibility: hidden !important;
  pointer-events: none !important;
}

.modal-backdrop-white {
        background-color: #fff !important;
        -webkit-transition: opacity 2s ease-in;
       -moz-transition: opacity 2s ease-in;
        -ms-transition: opacity 2s ease-in;
         -o-transition: opacity 2s ease-in;
            transition: opacity 2s ease-in;
    }

    .modal-select-cookies .modal-content {
        border-color: rgba(0, 153, 0, 0.3);
        border-style: solid;
        border-radius: 5px;
        border-width: 1px;
        padding: 1px;
        margin: auto;
        background: none !important;
    }

    .modal-select-cookies .modal-body {
        border-color: rgba(0, 153, 0, 1) !important;
        border-style: solid !important;
        border-radius: 3px;
        border-width: 1px !important;
        background: #fff;
    }

    .data-processing {
        padding: 45px 25px !important;
        color: #333;
    }

    .didomi-popup-notice-text-container {
        color: #333;
        font-family: Arial, sans-serif;
        font-size: 15px;
        line-height: 160%;
        text-rendering: optimizeLegibility;
    }

    .didomi-popup-notice-text-container .didomi-popup-notice-text span>a {
        text-decoration: underline;
        color: #E3D500;
    }


    .didomi-popup-notice-text {
        color: #333;
    }


    .didomi-notice-data-processing-container {
        padding-top: 15px;
        text-align: justify;
        font-size: 12px;
        line-height: 160%;
    }

    .didomi-notice-data-processing-container .didomi-notice-data-processing-title {
        color: #333;
        font-weight: 700;
    }

    .didomi-notice-data-processing-container .didomi-notice-data-processing-list {
        font-weight: 700;
        color: #999;
    }

    .didomi-popup .didomi-buttons {
        margin-top: 30px;
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-orient: horizontal;
        -moz-box-orient: horizontal;
        -webkit-flex-direction: row;
        -moz-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }

    .didomi-popup .didomi-buttons button {
        padding: 8px 16px !important;
        line-height: 140%;
        height: auto;
        min-width: 200px;
        margin-right: 10px;
    }


    @media (max-width: 624px) {
        .didomi-popup-notice-text-container {
            font-size: 12px;
            line-height: 160%;
        }

        .didomi-notice-data-processing-container {
            padding-top: 15px;
            text-align: justify;
            font-size: 12px;
            line-height: 160%;
        }

        .didomi-buttons {
            align-items: initial !important;
            -webkit-box-orient: vertical !important;
            -moz-box-orient: vertical !important;
            -webkit-flex-direction: column !important;
            -moz-flex-direction: column !important;
            -ms-flex-direction: column !important;
            flex-direction: column !important;
            margin-top: 15px;
        }

        .didomi-buttons button {
            margin: 10px 0 0 !important;
        }
    }

    .didomi-consent-popup-preferences-vendors {
        display: block;
        /*width: 0;*/
        /*height: 0;*/
        font-size: 15px;
        line-height: 160%;
        text-rendering: optimizeLegibility;
        -webkit-font-smoothing: antialiased;
    }


    .didomi-popup-header {
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-orient: horizontal;
        -moz-box-orient: horizontal;
        -webkit-flex-direction: row;
        -moz-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: justify;
        -moz-box-pack: justify;
        -webkit-flex-pack: justify;
        -ms-flex-pack: justify;
        -moz-justify-content: space-between;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        padding: 30px 20px 0;
        font-weight: 700;
        font-family: Arial;
    }

    .didomi-consent-popup-body__explanation p {
        display: block;
        margin-bottom: 16px;
    }


    .didomi-consent-popup-preferences-vendors .didomi-consent-popup-body {
        padding: 20px;
    }

    .didomi-consent-popup-preferences-vendors a.didomi-no-link-style {
        text-decoration: none !important;
        color: #000;
    }

    .didomi-popup-close:hover {
        opacity: .7;
    }

    a.didomi-no-link-style {
        text-decoration: none;
        color: #000;
    }

    .didomi-popup-close {
        font-family: Arial;
        opacity: .5;
        font-size: 30px;
        font-weight: 500;
        line-height: 30px;
        color: #000;
        text-shadow: 0 1px 0 #fff;
        transition: .5s;
    }

    .didomi-consent-popup-preferences-vendors .didomi-consent-popup-container-click-all {
        font-weight: 700;
        background: rgba(0, 0, 0, .05);
        padding: 8px 12px;
        margin: 0 !important;
    }

    .didomi-consent-popup-preferences-vendors .didomi-consent-popup-body_vendors-list {
        height: 280px;
        overflow: auto;
        border: 2px solid rgba(0, 0, 0, .05);
        padding: 12px;
    }

    .didomi-consent-popup-preferences .didomi-consent-popup-vendor {
        flex-wrap: wrap;
    }

    .didomi-consent-popup-preferences .didomi-consent-popup-vendor {
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-orient: horizontal;
        -moz-box-orient: horizontal;
        -webkit-flex-direction: row;
        -moz-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: justify;
        -moz-box-pack: justify;
        -webkit-flex-pack: justify;
        -ms-flex-pack: justify;
        -moz-justify-content: space-between;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        margin-bottom: 8px;
    }


    .didomi-components-accordion {
        flex: 5;
    }

    .didomi-consent-popup-preferences .didomi-consent-popup-vendor .didomi-consent-popup-vendor__buttons {
        -webkit-flex-shrink: 0;
        -webkit-box-flex: 0;
        -moz-flex-shrink: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        margin-left: 15px;
    }

    .didomi-components-accordion .trigger-icon {
        width: 15px;
        font-size: 16px;
        display: inline-block;
        text-align: center;
    }

    .didomi-popup-view span {
        font-size: inherit;
        color: inherit;
        font-weight: inherit;
        line-height: inherit;
        text-rendering: optimizeLegibility;
        -webkit-font-smoothing: antialiased;
    }

    .didomi-components-radio {
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-orient: horizontal;
        -moz-box-orient: horizontal;
        -webkit-flex-direction: row;
        -moz-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: justify;
        -moz-box-pack: justify;
        -webkit-flex-pack: justify;
        -ms-flex-pack: justify;
        -moz-justify-content: space-between;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
    }

    .didomi-components-radio__option {
        margin-right: 5px;
        cursor: pointer;
        height: 25px;
        box-shadow: 1px 1px 0 0 rgba(0, 0, 0, .1);
        background-color: #fff;
        border: 1px solid #eee;
        padding: 0 20px;
        line-height: 12px;
        font-size: 12px;
        color: #b3b3b3;
        font-weight: 700;
        transition: background-color .5s, border-color .5s;
        transition-timing-function: ease, ease;
        transition-timing-function: ease;
    }

    .didomi-components-radio__option:first-child,
    [dir="rtl"] #didomi-host .didomi-components-radio__option:last-child {
        margin-right: 5px;
    }

    .didomi-components-radio__option:hover {
        color: gray;
        border-color: #bbb;
    }

    .didomi-components-radio__option.didomi-components-radio__option--agree {
        background-color: #69ba73;
        color: #fff;
        border: 1px solid rgba(0, 0, 0, .3);
        padding: 0 11.5px;
    }

    .didomi-components-radio__option.didomi-components-radio__option--disagree {
        background-color: #f55;
        color: #fff;
        border: 1px solid rgba(0, 0, 0, .3);
        padding: 0 13.5px;
    }

    .didomi-popup-footer,
    .didomi-popup-footer .didomi-popup-actions {
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-orient: horizontal;
        -moz-box-orient: horizontal;
        -webkit-flex-direction: row;
        -moz-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
    }

    .didomi-popup-footer {
        -webkit-box-pack: justify;
        -moz-box-pack: justify;
        -webkit-flex-pack: justify;
        -ms-flex-pack: justify;
        -moz-justify-content: space-between;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        background-color: hsla(0, 0%, 93%, .4);
        height: 58px;
    }

    .didomi-popup-footer .didomi-popup-actions {
        -webkit-box-pack: end;
        -moz-box-pack: end;
        -webkit-flex-pack: end;
        -ms-flex-pack: end;
        -moz-justify-content: flex-end;
        -webkit-justify-content: flex-end;
        justify-content: flex-end;
    }

    .didomi-popup-footer .didomi-popup-actions {
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-orient: horizontal;
        -moz-box-orient: horizontal;
        -webkit-flex-direction: row;
        -moz-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
    }

    .didomi-popup-footer .didomi-popup-actions {
        -webkit-box-pack: end;
        -moz-box-pack: end;
        -webkit-flex-pack: end;
        -ms-flex-pack: end;
        -moz-justify-content: flex-end;
        -webkit-justify-content: flex-end;
        justify-content: flex-end;
    }


    .didomi-consent-popup-preferences .didomi-popup-footer .didomi-components-button {
        cursor: pointer;
        display: block;
        height: 38px;
        padding: 0 20px;
        font-size: 16px;
        line-height: 18px;
        font-weight: 700;
        text-align: center;
        color: #555;
        background-color: #eee;
        border: 1px solid rgba(34, 34, 34, .2);
    }

    .didomi-consent-popup-preferences .didomi-popup-footer button {
        margin-right: 10px;
    }

    .didomi-consent-popup-preferences-vendors .didomi-vendors-details-title {
        font-weight: 700;
    }

    .didomi-consent-popup-preferences .didomi-consent-popup-vendor .didomi-consent-popup-vendor__right_aligned_buttons {
        float: right;
        margin-top: -2px;
    }

    .didomi-consent-popup-preferences .didomi-vendors-details-purposes-consent ul {
        display: block;
        margin-bottom: 16px;
        list-style: none;
        padding-left: 0;
    }
    .didomi-consent-popup-preferences .didomi-vendors-details-purposes-consent ul li{
        display: list-item;
        margin-left: 20px;
    }

    .didomi-consent-popup-preferences .didomi-vendors-details-purposes-consent [dataTooltip], li[title] span, span[title] {
        cursor: help;
        border-bottom: 1px dashed #000;
    }

    @media (max-width: 400px) {
        .modal-anti-fraud .didomi-popup-view{
            padding: 25px !important;
        }
        .modal-anti-fraud .didomi-popup-view  .didomi-popup-notice-text-container.px-5{
            padding: 0 !important;
        }
    }
.didomi-consent-popup-preferences {
    background: white;
}

.ec-location-empty {
    padding: 12px;
    font-size: 18px;
}

.subscribe-menu{
    background: transparent !important;
    box-shadow: none !important;
    border: 1px solid green !important;
    padding: 10px !important;
    color: green !important;
    font-weight: 700 !important;
}

.bg-white {
    background: white !important;
}

.bg-white-black {
    background: #F0F0F0;
}