/*! GEL Travel Settings by Ali Adeel (https://www.linkedin.com/in/ali-adeel-om): gel-trips.css v1.0.0
 *  Cards for [gel_trips]. Needs no Yatra CSS.
 */
.gel-ts-trips { --p: var(--gts-primary, #E88338); --g: var(--gts-gold, #EDAB3E); --r: var(--gts-red, #E15243); --h: var(--gts-head, "Libre Baskerville", serif); --b: var(--gts-body, "Montserrat", sans-serif);
	width: 100%; max-width: 1540px; margin: 0 auto; font-family: var(--b); color: #2f2f2f; }
.gel-ts-trips *, .gel-ts-trips *::before, .gel-ts-trips *::after { box-sizing: border-box; }
.gel-ts-trips a { text-decoration: none; }
.gel-ts-note { padding: 14px 18px; border: 1px dashed var(--gts-primary, #E88338); border-radius: 10px; font: 600 13px/1.5 var(--gts-body, sans-serif); }

/* section head (only when eyebrow / title / intro are given) */
.gel-ts-trips .gel-travel-head { display: grid; grid-template-columns: 1.35fr 1fr; gap: 70px; align-items: end; margin-bottom: 34px; }
.gel-ts-trips .gel-travel-title span { display: block; margin-bottom: 8px; color: var(--g); font-size: 10px; font-weight: 700; letter-spacing: 2.5px; }
.gel-ts-trips .gel-travel-title h2 {
	margin: 0; font-family: var(--h); font-size: clamp(25px, 2vw, 32px); line-height: 1.3; font-weight: 500; font-style: italic;
	background: linear-gradient(100deg, var(--g), var(--p), var(--r)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
.gel-ts-trips .gel-travel-intro { max-width: 520px; margin: 0; color: #6d6d6d; font-size: 13px; line-height: 1.75; }

/* grid */
.gel-ts-trips .gel-yatra-grid { display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gel-ts-trips .gel-yatra-grid.gel-cols-1 { grid-template-columns: minmax(0, 1fr); }
.gel-ts-trips .gel-yatra-grid.gel-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gel-ts-trips .gel-yatra-grid.gel-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* card */
.gel-ts-trips .gel-trip-card {
	display: flex; flex-direction: column; height: 100%; overflow: hidden; background: #fff;
	border: 1px solid var(--gts-line, #E9E9E9); border-radius: 14px; box-shadow: 0 8px 26px rgba(0, 0, 0, .055);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.gel-ts-trips .gel-trip-card:hover { transform: translateY(-5px); border-color: rgba(237, 171, 62, .6); box-shadow: 0 18px 38px rgba(0, 0, 0, .1); }
.gel-ts-trips .gel-trip-image-link { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: #f3ece4; }
.gel-ts-trips .gel-trip-image-link::after { content: ""; position: absolute; inset: auto 0 0 0; height: 38%; background: linear-gradient(180deg, transparent, rgba(22, 21, 19, .28)); pointer-events: none; }
.gel-ts-trips .gel-trip-image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.gel-ts-trips .gel-trip-card:hover .gel-trip-image { transform: scale(1.045); }
.gel-ts-trips .gel-trip-badge, .gel-ts-trips .gel-trip-rating {
	position: absolute; z-index: 1; top: 12px; padding: 6px 11px; border-radius: 30px; font-size: 11px; font-weight: 700; line-height: 1; letter-spacing: .3px;
}
.gel-ts-trips .gel-trip-badge { left: 12px; background: linear-gradient(100deg, var(--p), var(--r)); color: #fff; box-shadow: 0 6px 16px rgba(225, 82, 67, .35); }
.gel-ts-trips .gel-trip-rating { right: 12px; background: rgba(255, 255, 255, .92); color: #2f2f2f; }

.gel-ts-trips .gel-trip-body { flex: 1; display: flex; flex-direction: column; padding: 22px 22px 20px; }
.gel-ts-trips .gel-trip-destination { margin-bottom: 8px; color: var(--p); font-size: 10px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; }
.gel-ts-trips .gel-trip-title {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	margin: 0 0 12px; font-family: var(--h); font-size: 18px; line-height: 1.4; font-weight: 500; font-style: italic;
}
.gel-ts-trips .gel-trip-title a, .gel-ts-trips .gel-trip-title a:hover, .gel-ts-trips .gel-trip-title a:visited { color: #2f2f2f !important; font-style: italic; }
.gel-ts-trips .gel-trip-title a:hover { color: var(--p) !important; }
.gel-ts-trips .gel-trip-duration, .gel-ts-trips .gel-trip-meta { color: #555; font-size: 11.5px; font-weight: 600; line-height: 1.5; }
.gel-ts-trips .gel-trip-duration { margin-bottom: 9px; }
.gel-ts-trips .gel-trip-duration::before { content: "\25F7"; margin-right: 6px; color: var(--g); }
.gel-ts-trips .gel-trip-meta { margin-bottom: 10px; }
.gel-ts-trips .gel-trip-meta::before { content: "\2713"; margin-right: 7px; color: var(--p); font-weight: 700; }
.gel-ts-trips .gel-trip-highlight {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	margin: 0 0 14px; color: #777; font-size: 11.5px; line-height: 1.6;
}
.gel-ts-trips .gel-trip-availability {
	align-self: flex-start; margin: 2px 0 16px; padding: 6px 10px; border: 1px solid rgba(237, 171, 62, .38); border-radius: 30px;
	background: linear-gradient(100deg, rgba(237, 171, 62, .09), rgba(232, 131, 56, .05)); color: #555; font-size: 9.5px; font-weight: 600; letter-spacing: .35px; text-transform: uppercase;
}

.gel-ts-trips .gel-trip-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: auto; padding-top: 16px; border-top: 1px solid #eee; }
.gel-ts-trips .gel-trip-price { color: var(--r); font-family: var(--h); font-size: 16px; font-weight: 700; line-height: 1.3; }
.gel-ts-trips .gel-trip-price span { display: block; margin-bottom: 2px; color: #8a8a8a; font-family: var(--b); font-size: 9px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; }
.gel-ts-trips .gel-trip-was { margin-left: 6px; color: #9a9a9a; font-family: var(--b); font-size: 11px; font-weight: 500; }
.gel-ts-trips a.gel-trip-arrow {
	flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px;
	border: 1px solid rgba(237, 171, 62, .6); border-radius: 50%; background: #fff; color: var(--r); font-size: 19px; line-height: 1;
	box-shadow: 0 5px 14px rgba(0, 0, 0, .06); transition: background .3s ease, color .3s ease, transform .3s ease;
}
.gel-ts-trips a.gel-trip-arrow:hover, .gel-ts-trips .gel-trip-card:hover a.gel-trip-arrow { background: linear-gradient(100deg, var(--g), var(--r)); color: #fff; transform: translateX(2px); }

.gel-ts-trips .gel-travel-footer { display: flex; justify-content: center; margin-top: 34px; }
.gel-ts-trips a.gel-travel-all-btn {
	display: inline-flex; align-items: center; justify-content: center; min-width: 245px; padding: 14px 28px; border-radius: 6px;
	background: linear-gradient(100deg, var(--g), var(--p), var(--r)); color: #fff !important; font-size: 12.5px; font-weight: 700;
	box-shadow: 0 8px 22px rgba(225, 82, 67, .18); transition: transform .3s ease, box-shadow .3s ease;
}
.gel-ts-trips a.gel-travel-all-btn::after { content: "\2192"; margin-left: 10px; font-size: 17px; }
.gel-ts-trips a.gel-travel-all-btn:hover { transform: translateY(-2px); box-shadow: 0 13px 28px rgba(225, 82, 67, .26); }

@media (max-width: 1024px) {
	.gel-ts-trips .gel-travel-head { grid-template-columns: 1fr; gap: 15px; }
	.gel-ts-trips .gel-yatra-grid, .gel-ts-trips .gel-yatra-grid.gel-cols-3, .gel-ts-trips .gel-yatra-grid.gel-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.gel-ts-trips .gel-travel-title h2 { font-size: 24px; }
	.gel-ts-trips .gel-travel-intro { font-size: 12.5px; }
	.gel-ts-trips .gel-yatra-grid, .gel-ts-trips .gel-yatra-grid.gel-cols-2, .gel-ts-trips .gel-yatra-grid.gel-cols-3, .gel-ts-trips .gel-yatra-grid.gel-cols-4 { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.gel-ts-trips .gel-trip-body { padding: 20px 18px 18px; }
	.gel-ts-trips .gel-trip-title { font-size: 17px; }
	.gel-ts-trips a.gel-travel-all-btn { width: 100%; min-width: 0; max-width: 320px; }
}
@media (prefers-reduced-motion: reduce) { .gel-ts-trips * { transition: none !important; } }
