/* Agencia Destinos Slider Pro */
.adsp-section{
	position:relative;
	padding:var(--adsp-pt,64px) 0 var(--adsp-pb,64px);
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
}
.adsp-section::before{
	content:"";
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.02);
	pointer-events:none;
}
.adsp-inner{
	position:relative;
	z-index:1;
	max-width:min(1440px, calc(100% - 32px));
	margin:0 auto;
}
.adsp-header{
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:24px;
	margin-bottom:28px;
}
.adsp-align-center .adsp-header{
	flex-direction:column;
	align-items:center;
	text-align:center;
}
.adsp-title{
	margin:0 0 10px;
	font-size:clamp(28px,4vw,48px);
	line-height:1.05;
	font-weight:800;
	color:#111;
}
.adsp-subtitle{
	margin:0;
	max-width:760px;
	font-size:16px;
	line-height:1.7;
	color:#4c4c4c;
}
.adsp-header-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:14px 24px;
	border-radius:999px;
	text-decoration:none;
	background:var(--adsp-button-bg,#fff);
	color:var(--adsp-button-text,#111);
	font-weight:700;
	white-space:nowrap;
	box-shadow:0 10px 25px rgba(0,0,0,.08);
}
.adsp-slider{
	position:relative;
}
.adsp-track{
	display:flex;
	gap:var(--adsp-gap,24px);
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	scroll-behavior:smooth;
	padding:4px 2px 14px;
	-ms-overflow-style:none;
	scrollbar-width:none;
}
.adsp-track::-webkit-scrollbar{ display:none; }

.adsp-card{
	position:relative;
	flex:0 0 calc((100% - (var(--adsp-gap,24px) * (var(--adsp-slides-desktop,4) - 1))) / var(--adsp-slides-desktop,4));
	height:var(--adsp-card-height,560px);
	border-radius:var(--adsp-radius,28px);
	overflow:hidden;
	scroll-snap-align:start;
	background:#111;
	box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.adsp-card-bg,
.adsp-card-overlay,
.adsp-card-content{
	position:absolute;
	inset:0;
}
.adsp-card-bg{
	background-size:cover;
	background-position:center;
	transform:scale(1);
	transition:transform .55s ease;
}
.adsp-card:hover .adsp-card-bg{
	transform:scale(1.04);
}
.adsp-card-overlay{
	background:linear-gradient(to top, rgba(0,0,0,.88) 10%, rgba(0,0,0,var(--adsp-overlay,.55)) 44%, rgba(0,0,0,.08) 100%);
}
.adsp-card-content{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	padding:22px;
	color:var(--adsp-text-color,#fff);
}
.adsp-badge{
	align-self:flex-start;
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:10px 14px;
	border-radius:999px;
	background:var(--adsp-accent-bg,#fff);
	color:var(--adsp-accent-text,#111);
	font-size:14px;
	font-weight:700;
	line-height:1;
}
.adsp-badge::before{
	content:"🏆";
	font-size:14px;
}
.adsp-card-bottom{
	display:flex;
	flex-direction:column;
	gap:10px;
}
.adsp-card-title{
	margin:0;
	font-size:clamp(24px,2.2vw,34px);
	line-height:1.05;
	font-weight:800;
	color:var(--adsp-title-color,#fff);
}
.adsp-card-subtitle{
	font-size:18px;
	line-height:1.3;
	font-weight:500;
	color:var(--adsp-text-color,#fff);
}
.adsp-card-description{
	margin:0;
	font-size:14px;
	line-height:1.55;
	color:rgba(255,255,255,.88);
}
.adsp-meta-row{
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:16px;
	margin-top:6px;
}
.adsp-prices{
	display:flex;
	flex-direction:column;
	gap:4px;
}
.adsp-price{
	font-size:20px;
	line-height:1.25;
	font-weight:800;
	color:var(--adsp-price-color,#fff);
}
.adsp-old-price{
	font-size:14px;
	line-height:1.35;
	text-decoration:line-through;
	opacity:.8;
	color:var(--adsp-text-color,#fff);
}
.adsp-discount{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:56px;
	padding:12px 16px;
	max-width:160px;
	border-radius:999px;
	background:var(--adsp-accent-bg,#fff);
	color:var(--adsp-accent-text,#111);
	font-size:15px;
	font-weight:700;
	line-height:1.25;
	text-align:center;
}
.adsp-card-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:max-content;
	margin-top:10px;
	padding:13px 18px;
	border-radius:999px;
	text-decoration:none;
	background:var(--adsp-button-bg,#fff);
	color:var(--adsp-button-text,#111);
	font-size:14px;
	font-weight:700;
}
.adsp-nav{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:48px;
	height:48px;
	border:0;
	border-radius:999px;
	background:#fff;
	color:#111;
	font-size:28px;
	line-height:1;
	cursor:pointer;
	box-shadow:0 10px 30px rgba(0,0,0,.18);
	z-index:4;
}
.adsp-prev{ left:-12px; }
.adsp-next{ right:-12px; }
.adsp-dots{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:10px;
	margin-top:18px;
}
.adsp-dot{
	width:10px;
	height:10px;
	border-radius:999px;
	background:rgba(0,0,0,.18);
	transition:all .25s ease;
}
.adsp-dot.is-active{
	width:28px;
	background:#111;
}
.adsp-empty-state{
	padding:18px 20px;
	border:1px dashed #d0d7de;
	border-radius:16px;
	background:#fffdf5;
}
@media (max-width: 1024px){
	.adsp-header{ align-items:flex-start; flex-direction:column; }
	.adsp-card{
		flex-basis:calc((100% - (var(--adsp-gap,24px) * (var(--adsp-slides-tablet,2.2) - 1))) / var(--adsp-slides-tablet,2.2));
	}
	.adsp-nav{ display:none; }
}
@media (max-width: 767px){
	.adsp-inner{ max-width:min(100%, calc(100% - 20px)); }
	.adsp-section{ padding:44px 0; }
	.adsp-card{
		flex-basis:calc((100% - (var(--adsp-gap,24px) * (var(--adsp-slides-mobile,1.5) - 1))) / var(--adsp-slides-mobile,1.5));
		height:min(var(--adsp-card-height,560px), 520px);
	}
	.adsp-card-content{ padding:18px; }
	.adsp-card-title{ font-size:clamp(22px,7vw,30px); }
	.adsp-card-subtitle{ font-size:16px; }
	.adsp-discount{ min-height:52px; font-size:14px; }
}
