/* ==========================================================================
   The Capital — The Circle Section
   Full-width 50/50 split: image left, text right.
   ========================================================================== */

/* ------------------------------------------------------------------
   1. Section Layout
   ------------------------------------------------------------------ */
.tc-circle {
	overflow: hidden;
	margin-bottom: 90px;

	@media (max-width: 767px) {
		margin-bottom: 0;
		padding-left: 15px !important;
		padding-right: 15px !important;
	}	
}

.tc-circle > .elementor-container,
.tc-circle > .elementor-row {
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	max-height: 100vh;
}

/* ------------------------------------------------------------------
   2. Image Column — full-bleed cover
   ------------------------------------------------------------------ */
.tc-circle-img-col {
	padding: 0 !important;
	overflow: hidden;

	@media (min-width: 767px) {
		width: 50% !important;
	}
}

.tc-circle-img-col .tc-circle-img img,
.tc-circle-img-col .tc-circle-img .elementor-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	min-height: 600px;
	max-height: 100vh;
}

/* Remove Elementor's default image widget margin */
.tc-circle-img-col .elementor-widget-image {
	margin-bottom: 0;
	height: 100%;
}

.tc-circle-img-col .elementor-widget-image img {
	height: 100%;
	object-fit: cover;
}

.tc-circle-img-col .elementor-widget-image .elementor-widget-container {
	height: 100%;
}

/* ------------------------------------------------------------------
   3. Content Column — centred text with dark background
   ------------------------------------------------------------------ */
.tc-circle-content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: stretch;

	@media (min-width: 767px) {
		width: 50% !important;
	}
}

.tc-circle-content .elementor-element-populated {
	height: 100%;
	align-content: center;
	padding: 80px 19%;
	background-position: 400px center !important;

	@media (max-width: 1440px) {
		padding: 80px 15%;
	}

	@media (max-width: 1200px) {
		background-position: 250px center !important;
		padding: 80px 40px;
	}

	@media (max-width: 767px) {
		background-position: center center !important;
		padding: 120px 20px;
		padding-bottom: 40px;
		background-size: contain;
		margin: 30px 0;
	}
}

.tc-circle-content-top .elementor-element-populated {
	padding: 0 15px !important;
	margin-top: 0;
}

.tc-circle-content-top .tc-circle-subtitle {
	margin-bottom: 0 !important;
	margin-top: 20px;
	padding: 0 40px;
}


/* Centre all widget containers */
.tc-circle-content .elementor-widget-container {
	width: 100%;
}

/* ------------------------------------------------------------------
   4. Divider
   ------------------------------------------------------------------ */
.tc-circle-divider .elementor-divider-separator {
	border-color: rgba(255, 255, 255, 0.25) !important;
}

/* ------------------------------------------------------------------
   5. Title
   ------------------------------------------------------------------ */
.tc-circle-title {
	margin-bottom: 10px;
}

.tc-circle-heading-1 .elementor-heading-title {
	font-size: 70px !important;
	margin-top: 8px;
}

/* ------------------------------------------------------------------
   6. Subtitle
   ------------------------------------------------------------------ */
.tc-circle-subtitle{
	font-size: 21px !important;
	margin-bottom: 40px !important;
}

/* ------------------------------------------------------------------
   6b. Heading 2 (offer heading)
   ------------------------------------------------------------------ */
.tc-circle-heading-2 {

	@media (max-width: 767px) {
		padding: 0 30px;
	}
}

.tc-circle-heading-2 .elementor-heading-title {
	font-size: 39px !important;
}

/* ------------------------------------------------------------------
   6c. Body text
   ------------------------------------------------------------------ */
.tc-circle-text {
	@media (max-width: 767px) {
		padding: 0 30px;
	}
}

.tc-circle-text,
.tc-circle-text .elementor-widget-container {
	font-size: 16px !important;
}

/* ------------------------------------------------------------------
   7. Offer Heading  ("Get up to 20% off your stay!")
   ------------------------------------------------------------------ */
.tc-circle-offer {
	margin-bottom: 16px;
}

/* ------------------------------------------------------------------
   8. Description
   ------------------------------------------------------------------ */
.tc-circle-desc {
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 32px;
}

/* ------------------------------------------------------------------
   9. Buttons Row
   ------------------------------------------------------------------ */
.tc-circle-btns .elementor-row,
.tc-circle-btns .elementor-container {
	display: flex;
	justify-content: center;
	gap: 14px;
}

/* ------------------------------------------------------------------
   10. Responsive
   ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.tc-circle-content::before {
		font-size: 340px;
		right: -30px;
		bottom: -10px;
	}
}

@media (max-width: 767px) {
	/* Stack: image on top, text below */
	.tc-circle > .elementor-container,
	.tc-circle > .elementor-row {
		flex-direction: column !important;
		max-height: none !important;
	}

	.tc-circle-img-col,
	.tc-circle-content {
		width: 100% !important;
	}

	.tc-circle-img-col .tc-circle-img img,
	.tc-circle-img-col .tc-circle-img .elementor-image img {
		min-height: 400px;
		max-height: 500px;
	}

	.tc-circle-content {

	}

	.tc-circle-heading-1 .elementor-heading-title {
		font-size: 46px !important;
	}

	.tc-circle-subtitle .elementor-heading-title,
	.tc-circle-subtitle .elementor-widget-container {
		font-size: 20px !important;
	}

	.tc-circle-heading-2 .elementor-heading-title {
		font-size: 35px !important;
	}

	.tc-circle-text,
	.tc-circle-text .elementor-widget-container {
		font-size: 14px !important;
	}

	.tc-circle-content::before {
		font-size: 240px;
		right: -20px;
		bottom: 0;
	}
}
