/* SOS Explore — scoped styles */

.sosx-cards, .sosx-chips, .sosx-pop, .sosx-wave {
	--sx-ink:#2B2620;
	--sx-muted:#7a756b;
	--sx-terra:#C2552B;
	--sx-head:'Plus Jakarta Sans', system-ui, sans-serif;
	--sx-serif:'Fraunces', Georgia, serif;
	box-sizing:border-box;
	font-family:var(--sx-head);
	color:var(--sx-ink);
}
.sosx-cards *, .sosx-chips *, .sosx-pop * { box-sizing:border-box; }

/* ---------- Scroll reveal ---------- */
.sosx-reveal {
	opacity:0;
	transform:translateY(26px);
	transition:opacity .7s ease, transform .7s ease;
	transition-delay:var(--d,0ms);
}
.sosx-reveal.is-in { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
	.sosx-reveal { opacity:1; transform:none; }
}

/* ---------- Feature cards ---------- */
.sosx-cards {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:clamp(24px,4vw,56px);
	padding:clamp(20px,3vw,40px) 0;
}
.sosx-card { text-align:center; }
.sosx-card__icon {
	display:inline-flex;
	width:64px; height:64px;
	align-items:center; justify-content:center;
	border:1.5px solid currentColor;
	border-radius:50%;
	padding:14px;
	margin-bottom:14px;
}
.sosx-card__icon svg { width:100%; height:100%; }
.sosx-card__cat { color:var(--sx-muted); font-size:.8rem; font-weight:600; margin:0 0 8px; }
.sosx-card__title {
	font-weight:800;
	font-size:clamp(1.2rem,2vw,1.5rem);
	line-height:1.18;
	margin:0 0 22px;
}
.sosx-card__title a { color:inherit; text-decoration:none; }
.sosx-card__title a:hover { color:var(--sx-terra); }
.sosx-card__media {
	display:block;
	aspect-ratio:4/3;
	border-radius:16px;
	background-size:cover;
	background-position:center;
	transition:transform .4s ease;
}
.sosx-card:hover .sosx-card__media { transform:scale(1.02); }

/* ---------- Destination chips ---------- */
.sosx-chips { padding:clamp(16px,2.5vw,32px) 0; }
.sosx-chips__title { font-weight:800; font-size:clamp(1.3rem,2.2vw,1.7rem); margin:0 0 18px; }
.sosx-chips__row {
	display:flex; gap:14px;
	overflow-x:auto; padding-bottom:8px;
	scrollbar-width:none;
}
.sosx-chips__row::-webkit-scrollbar { display:none; }
.sosx-chip {
	display:inline-flex; align-items:center; gap:10px;
	flex:0 0 auto;
	background:#fff;
	border:1px solid #ece4d6;
	border-radius:999px;
	padding:6px 18px 6px 6px;
	text-decoration:none;
	color:var(--sx-ink);
	font-weight:600;
	box-shadow:0 6px 16px -12px rgba(43,38,32,.5);
	transition:transform .2s ease;
}
.sosx-chip:hover { transform:translateY(-2px); }
.sosx-chip__thumb {
	width:40px; height:40px;
	border-radius:50%;
	background-size:cover; background-position:center;
	flex:0 0 auto;
}
.sosx-chip__name { font-size:.95rem; }

/* ---------- Popular split ---------- */
.sosx-pop {
	display:grid;
	grid-template-columns:1fr 2fr;
	gap:clamp(24px,4vw,48px);
	padding:clamp(20px,3vw,40px) 0;
	align-items:start;
}
.sosx-pop__title { font-weight:800; font-size:1.3rem; margin:0 0 18px; }
.sosx-pop__item {
	display:flex; gap:14px; align-items:center;
	padding:14px 0;
	border-bottom:1px solid #ece4d6;
	text-decoration:none;
	color:var(--sx-ink);
}
.sosx-pop__item:first-of-type { padding-top:0; }
.sosx-pop__thumb {
	width:64px; height:64px;
	border-radius:12px;
	background-size:cover; background-position:center;
	flex:0 0 auto;
}
.sosx-pop__itemtitle {
	font-family:var(--sx-serif);
	font-weight:600;
	font-size:1.02rem;
	line-height:1.25;
}
.sosx-pop__cards { position:relative; min-width:0; }
.sosx-carousel {
	display:flex; gap:18px;
	overflow-x:auto;
	scroll-behavior:smooth;
	scrollbar-width:none;
	cursor:grab;
	padding-bottom:6px;
}
.sosx-carousel::-webkit-scrollbar { display:none; }
.sosx-carousel.is-drag { cursor:grabbing; scroll-behavior:auto; }
.sosx-dest {
	position:relative;
	flex:0 0 clamp(220px,30%,300px);
	aspect-ratio:3/4;
	border-radius:18px;
	overflow:hidden;
	background-size:cover; background-position:center;
	text-decoration:none;
}
.sosx-dest__overlay {
	position:absolute; inset:0;
	background:linear-gradient(to top, rgba(20,16,12,.7), transparent 55%);
}
.sosx-dest__label {
	position:absolute; left:18px; bottom:16px;
	color:#fff;
	display:flex; flex-direction:column; gap:2px;
}
.sosx-dest__name { font-weight:800; font-size:1.3rem; line-height:1.1; }
.sosx-dest__loc { font-size:.85rem; opacity:.92; }
.sosx-carousel__nav {
	position:absolute; top:50%; transform:translateY(-50%);
	z-index:3;
	width:42px; height:42px;
	border-radius:50%;
	border:none;
	background:#fff;
	color:var(--sx-ink);
	font-size:1.5rem; line-height:1;
	cursor:pointer;
	box-shadow:0 8px 20px -8px rgba(43,38,32,.5);
}
.sosx-carousel__nav--prev { left:-10px; }
.sosx-carousel__nav--next { right:-10px; }

/* ---------- Wave divider ---------- */
.sosx-wave { line-height:0; }
.sosx-wave svg { width:100%; height:clamp(50px,7vw,110px); display:block; }
.sosx-wave--flip svg { transform:scaleY(-1); }

/* ---------- Responsive ---------- */
@media (max-width:900px){
	.sosx-cards { grid-template-columns:1fr; }
	.sosx-pop { grid-template-columns:1fr; }
	.sosx-carousel__nav { display:none; }
}
