/* ==========================================================================
   Single Deal Page Styles
   Enqueued only on singular 'deal' post type pages.
   ========================================================================== */

/* ── Back link ─────────────────────────────────────────────────────────── */
.tc-deal-back-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--tc-gold, #EBA318);
	text-decoration: none;
}
.tc-deal-back-link .elementor-button {
	padding-left: 0 !important;
	justify-content: flex-start;
}
.tc-deal-back-link .elementor-button-icon svg {
	fill: var(--tc-gold);
}
.tc-deal-back-link .elementor-button .elementor-button-text {
	font-family: 'DM Sans', sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 18px;
	text-transform: uppercase;
	color: var(--tc-white);
}
.tc-deal-back-link:hover { opacity: 0.8; }

/* ── Pills ─────────────────────────────────────────────────────────────── */
.tc-deal-pill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	border: 1px solid #454545;
	border-radius: 40px;
	padding: 4px 13px;
	color: #fff;
	font-family: 'DM Sans', sans-serif;
	white-space: nowrap;
}
.tc-deal-valid-pill {
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 15px;
	padding: 10px 20px;
}
.tc-deal-pill__label { font-weight: 600; }
.tc-deal-pill__date  { color: var(--tc-gold, #EBA318); font-weight: 500; }
.tc-deal-pill--sm    { font-size: 13px; font-weight: 400; }

.tc-deal-location-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* ── Deal header ────────────────────────────────────────────────── */
.tc-deal-header {
	padding-top: 100px !important;
}

.tc-deal-header .elementor-element-populated {
	padding: 0 !important;
}

.tc-deal-header-title .elementor-container {
	justify-content: space-between;
}

.tc-deal-header-title .elementor-heading-title {
	max-width: 560px;
}

/* ── Meta column: right-align pills ───────────────────────────────────── */
.tc-deal-meta-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

/* ── Sticky left column ────────────────────────────────────────────────── */
.elementor-column.tc-deal-sticky-col {
	position: sticky;
	top: calc(var(--tc-header-height-desktop) + 30px);
	padding-right: 10%;
	margin-bottom: 10px;
}

.tc-deal-content-col {
	/* padding-right: 60px; */
}

.tc-deal-content-col .elementor-widget-image img {
	width: 100%;
	height: auto;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
}

/* Align section columns to top so sticky works */
#deal-content-section.elementor-section > .elementor-container {
	align-items: flex-start;
}

/* ── Right content column ────────────────────────────────────────────────── */
.tc-deal-content-col li .elementor-icon-list-text {
	font-size: 16px !important;
	line-height: 29px !important;
}

.tc-deal-terms,
.tc-deal-body {
	line-height: 29px;
}

.tc-deal-body img {
	height: auto !important;
}

.tc-deal-body table tr {
	display: flex;
	flex-wrap: wrap;
}

.tc-deal-body table td {
	min-width: 180px;
	padding: 0 10px;
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.tc-deal-body > *:first-child {
	margin-top: 0px;
}

.single-deal-post-content .elementor-element {
	padding-left: 0;
	padding-right: 0;
}

.tc-deal-body a {
	color: var(--tc-gold);
	transition: all 300ms ease;
}

.tc-deal-body a:hover {
	opacity: 0.6;
}

.elementor-kit-6 .tc-deal-body h1 {
	font-family: "Gilda Display", Sans-serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.2em;
    letter-spacing: -0.56px;
}

.elementor-kit-6 .tc-deal-body h2 {
	font-family: "Gilda Display", Sans-serif;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.2em;
    letter-spacing: -0.56px;
}

.elementor-kit-6 .tc-deal-body h3 {
	font-family: "Gilda Display", Sans-serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.2em;
    letter-spacing: -0.39px;
}

.tc-deal-body h1:has(+ h1),
.tc-deal-body h2:has(+ h2),
.tc-deal-body h3:has(+ h3) {
	margin-bottom: 0;
}

.tc-deal-body h1 + h1,
.tc-deal-body h2 + h2,
.tc-deal-body h3 + h3 {
	margin-top: 0;
}

.tc-deal-body h5 {
	margin: 0;
}

.elementor-kit-6 .tc-deal-body h4 {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-weight: var(--e-global-typography-text-font-weight);
    color: var(--e-global-color-text);
	font-size: inherit;
	margin: 0;
}

/* ── CTA button ────────────────────────────────────────────────────────── */
.tc-related-deals-all.desktop {
	display: block;

	@media (max-width: 768px) {
		display: none;
	}
}

.tc-related-deals-all.mobile {
	display: none;

	@media (max-width: 768px) {
		display: block;
	}
}

.tc-related-deals-all .elementor-button {
	text-transform: uppercase;
	border: 1px solid var(--tc-gold);
}

.tc-related-deals-all .elementor-button:hover {
	background-color: var(--tc-gold) !important;
	color: var(--tc-black) !important
}

.tc-deal-cta-btn {
	display: inline-block;
	background: var(--tc-gold, #EBA318);
	color: #0A0A0A;
	font-family: 'DM Sans', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	padding: 12px 18px;
	transition: opacity 0.2s ease;
}
.tc-deal-cta-btn:hover { opacity: 0.85; color: #0A0A0A; }

/* ── Related deals slider ──────────────────────────────────────────────── */
.tc-related-deals-title .elementor-heading-title {

	@media (max-width: 767px) {
		font-size: 40px !important;
		line-height: 48px !important;
	}
}

.tc-related-deals-slider {
	position: relative;
	/* overflow: hidden; */
}

.tc-related-deal-card {
	display: flex;
	border: 1px solid rgba(255,255,255, 0.3);
	/* min-height: 500px; */
	overflow: hidden;
	border-radius: 8px;
	padding: 24px;
}
.tc-related-deal-card__media {
	position: relative;
	flex-shrink: 0;
	width: 50%;
	min-height: 100%;
	border-radius: 5px;
    overflow: hidden;
	aspect-ratio: 7/10;
}
.elementor .tc-related-deal-card__media img {
	position: relative;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.tc-related-deal-card__img-placeholder {
	width: 100%;
	height: 100%;
	background: #1a1a1a;
}
.tc-related-deal-card__counter {
	position: absolute;
	top: 14px;
	left: 14px;
	background: rgba(0, 0, 0, 0.65);
	color: #fff;
	font-family: 'DM Sans', sans-serif;
	font-size: 12px;
	font-weight: 500;
	padding: 4px 10px;
	border-radius: 20px;
	z-index: 1;
	border: 1px solid #454545;
}
.tc-related-deal-card__body {
	padding-left: 24px;
	display: flex;
	flex-direction: column;
	gap: 15px;
	flex: 1;
}
.tc-related-deal-card__title {
	font-family: 'DM Sans', serif;
	font-size: 25px;
	line-height: 33px;
	color: #fff;
	margin: 0;
	margin-bottom: 30px;
	font-weight: 400;
}
.tc-related-deal-card__excerpt {
	font-family: 'DM Sans', sans-serif;
	font-size: 16px;
	line-height: 27px;
	color: var(--tc-white);
	margin: 0;
	/* margin-top: auto; */
}
.tc-related-deal-card__details {
	display: inline-block;
	border: 1px solid #fff;
	color: #fff;
	font-family: 'DM Sans', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	align-self: flex-start;
	transition: background 0.2s ease, color 0.2s ease;

	padding: 10px 20px;
	font-size: 14px;
	line-height: 1.4;
	/* min-width: 138px; */
}
.tc-related-deal-card__details:hover {
	background: #fff;
	color: #0A0A0A;
}
.tc-related-deal-card__cta {
	display: inline-block;
	background: var(--tc-gold, #EBA318);
	color: #0A0A0A;
	font-family: 'DM Sans', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	align-self: flex-start;
	transition: opacity 0.2s ease;

	padding: 10px 18px;
	font-size: 14px;
	line-height: 1.4;
}
.tc-related-deal-card__cta:hover { opacity: 0.85; color: #0A0A0A; }

/* ── Controls row (prev | dots | next) ────────────────────────────────── */
.tc-related-deals-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 32px;
	width: max-content;
    margin-right: auto;
    margin-left: auto;
}

/* ── Slider arrows ─────────────────────────────────────────────────────── */
.tc-slider-arrow {
	width: 53px;
	height: 53px;
	flex-shrink: 0;
	background: rgba(255, 255, 255, 1) !important;
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--tc-white);
	transition: background 0.2s ease, border-color 0.2s ease;
	padding: 0;
	line-height: 1;
}
.tc-slider-arrow svg {
	width: 25px;
	height: auto;
	color: var(--tc-black);
}
.tc-slider-arrow:hover {
	background: rgba(255, 255, 255, 0.35) !important;
}
.tc-slider-arrow:hover svg {
	color: var(--tc-black);
}
.tc-slider-arrow.swiper-button-disabled {
	opacity: 0.4;
	cursor: default;
	pointer-events: none;
}

.tc-related-deals-prev,
.tc-related-deals-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
}

.tc-related-deals-prev {
	right: 100%;
	margin-right: 25px;
}

.tc-related-deals-next {
	left: 100%;
	margin-left: 25px;
}

/* ── Swiper pagination dots ────────────────────────────────────────────── */
.tc-related-deals-pagination.swiper-pagination {
	position: absolute;
	bottom: auto !important;
	text-align: center;
	width: 100% !important;
	flex-shrink: 0;
}
.tc-related-deals-pagination .swiper-pagination-bullet {
	background: var(--tc-white, #fff);
	opacity: 1;
	width: 8px;
	height: 8px;
}
.tc-related-deals-pagination .swiper-pagination-bullet-active {
	background: var(--tc-gold, #EBA318);
	width: 24px;
	border-radius: 4px;
}

.tc-related-deals-header-title {
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	padding-top: 140px;
}

.tc-related-deals-header .elementor-element-populated {
	padding: 0 !important;
}

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 1600px) {
	.tc-related-deals-prev {
		left: 20px;
		right: auto;
		margin-right: 0;
	}

	.tc-related-deals-next {
		right: 20px;
		left: auto;
		margin-left: 0;
	}
}
@media (max-width: 1440px) {
	.tc-related-deals-header {padding-left: 20px !important; padding-right: 20px !important;}
}
@media (max-width: 1200px) {
	.tc-deal-content-col .elementor-widget li.elementor-icon-list-item {
		margin-bottom: 8px;
	}
	.tc-deal-content-col li .elementor-icon-list-text {
		font-size: 14px !important;
		line-height: 24px !important;
	}
	.elementor-column.tc-deal-sticky-col {
		padding-right: 0;
	}
	.tc-deal-meta-wrap {
		margin: 20px 0;
		align-items: flex-start;
	}
	.tc-related-deal-card__excerpt {
		line-height: 26px;
	}

	.tc-deal-header {
		padding-top: 65px !important;
	}

	.tc-single-deal-back {
		order: 2 !important;
	}
}
@media (max-width: 768px) {
	.tc-deal-meta-wrap { align-items: flex-start; margin-top: 24px; }
	.elementor-column.tc-deal-sticky-col > .elementor-widget-wrap { position: static; }
	.tc-related-deals-slider { padding: 0; }
	.tc-related-deal-card { flex-direction: column; }
	.tc-related-deal-card__media { width: 100%; min-height: 220px; aspect-ratio: 9/5; }
	.tc-related-deals-header .elementor-heading-title {margin-bottom: 20px;}
	.tc-related-deals-header .elementor-heading-title, .tc-related-deals-all {text-align: center !important;}
	.elementor-column.tc-deal-sticky-col { position: static; padding-right: 0;}
	.tc-related-deals-header-title { padding-top: 60px; }
	.tc-related-deal-card__body { padding: 16px 0; }
	.tc-deal-valid-pill {font-size: 16px;}

	.tc-related-deals-controls {
		flex-wrap: wrap;
		width: auto;
	}

	.tc-related-deals-pagination.swiper-pagination {
		width: 100% !important;
		flex-wrap: wrap;
		row-gap: 10px;
		order: -1;
	}

	.tc-deal-header {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	/* set deals slides to same height */
	.tc-deals-main-swiper .swiper-wrapper {
		align-items: stretch;
	}

	.tc-deals-main-swiper .swiper-slide {
		height: auto;
		display: flex; /* let slide participate properly in stretch */
	}

	.tc-deals-main-swiper .swiper-slide .tc-related-deal-card {
		height: 100%;
		width: 100%;
	}
}
