/* ==========================================================================
   Section: Trusted Counsel. Personal Commitment.
   Layout : trusted_counsel_feedback
   Figma  : 57:50 (parent) / 57:114 (client feedback subsection)
   Merges former google_reviews_band + client_professional_feedback layouts.

   Subsection 1 — Client & Professional Feedback (.tcf-client-feedback)
     .................................................................
     Left-aligned H3 heading + 2-up Slick slider of navy testimonial
     cards + custom circular prev / "01/NN" indicator / next controls
     + LEAVE A REVIEW filled primary CTA (centered).

   Subsection 2 — Google Reviews (.tcf-google-reviews)
     .................................................................
     Optional centered small heading + Google Reviews shortcode host +
     two-button row (filled READ ALL ON GOOGLE + outline SHARE YOUR
     EXPERIENCE).

   Design tokens: --color-secondary (#045A83) is the navy that both the
   card background and the primary/outline button colours inherit; the
   heading colour (#233039) is a one-off used inline (only place in the
   theme it appears).
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Parent section shell + centered H2
   -------------------------------------------------------------------------- */
.trusted-counsel-feedback {
	background-color: var(--color-white);
	padding-top: clamp(48px, calc(23.387px + 3.209vw), 85px);
	padding-bottom: clamp(48px, calc(23.387px + 3.209vw), 85px);
}

.trusted-counsel-feedback .container {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.trusted-counsel-feedback-heading {
	text-align: center;
	margin: 0 0 clamp(30px, calc(-16.565px + 6.071vw), 100px) 0;
	padding: 0 0 clamp(30px, calc(1.395px + 3.729vw), 73px) 0;
	border-bottom: 2px solid #333;
}

/* Gap between subsections when BOTH are visible (Figma auto-layout gap: 78px). */
.trusted-counsel-feedback-subsection + .trusted-counsel-feedback-subsection {
	margin-top: clamp(48px, calc(6.756px + 5.377vw), 110px);
}

/* --------------------------------------------------------------------------
   2. Client & Professional Feedback subsection
   -------------------------------------------------------------------------- */
.tcf-client-feedback {
	display: block;
	width: 100%;
	max-width: 1300px;
	margin: auto;
}

.tcf-client-feedback-heading {
	text-align: left;
	margin: 0 0 clamp(32px, 4vw, 76px);
}

/* 2-up slider ----------------------------------------------------------- */
.tcf-client-feedback-slider-wrap {
	width: 100%;
	margin-bottom: clamp(30px, calc(3.391px + 3.469vw), 70px);
}
.tcf-client-feedback-slider {
	margin: 0 -18.5px;
}
.tcf-client-feedback-slider .slick-list {
	overflow: hidden;
}
.tcf-client-feedback-slider .slick-track {
	display: flex;
	align-items: stretch;
}
.tcf-client-feedback-slider .slick-slide {
	height: auto;
}
.tcf-client-feedback-slider .slick-slide > div {
	height: 100%;
}

.tcf-client-feedback-slide {
	padding: 0 18.5px;
	height: 100%;
	box-sizing: border-box;
}

/* Testimonial card ------------------------------------------------------ */
.tcf-client-feedback-card {
	background-color: var(--color-primary);
	color: var(--color-white);
	padding: 42px 52px 42px 52px;
	display: flex;
	flex-direction: column;
	height: 100%;
	box-sizing: border-box;
	border-radius: 0;
	position: relative;
}
.slick-current.slick-active .tcf-client-feedback-card {
	background-color: var(--color-secondary);
}
.tcf-client-feedback-quote-icon {
	display: block;
	width: 19px;
	height: 16px;
	color: var(--color-white);
	flex: 0 0 auto;
}

.tcf-client-feedback-card-quote {
	font-family: var(--font-heading);
	font-style: italic;
	font-weight: var(--fw-400);
	font-size: clamp(18px, 1.6vw, 22px);
	line-height: 1.5;
	color: var(--color-white);
	margin: 35px 0 22px 0;
	padding: 0;
	border: none;
	quotes: none;
	max-width: 450px;
}
.tcf-client-feedback-card-quote::before,
.tcf-client-feedback-card-quote::after {
	content: none;
}

.tcf-client-feedback-card-attribution {
	font-family: var(--font-body);
	font-style: normal;
	font-weight: var(--fw-700);
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--color-white);
	display: block;
	margin: auto 0 10px;
}
.tcfclient-feedback-card-attribution-type {
	line-height: 1.2;
	font-size: 13px;
}
/* Controls row (BELOW the slider) --------------------------------------- */
.tcf-client-feedback-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 23px; /* Figma auto-layout gap between arrows / indicator */
	margin: clamp(24px, 3vw, 43px) 0 clamp(24px, 3vw, 34px);
}

.tcf-client-feedback-arrow {
	appearance: none;
	background: transparent;
	border: 1px solid #000000;
	border-radius: 50%;
	width: 63px;
	height: 63px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #000000;
	transition: background-color 0.3s ease,
	            color 0.3s ease,
	            border-color 0.3s ease,
	            opacity 0.3s ease;
}
.tcf-client-feedback-arrow:hover,
.tcf-client-feedback-arrow:focus {
	background-color: var(--color-secondary);
	border-color: var(--color-secondary);
	color: var(--color-white);
	outline: none;
}
.tcf-client-feedback-arrow.slick-disabled {
	opacity: 0.35;
	cursor: default;
}

.tcf-client-feedback-arrow svg {
	display: block;
	width: 11px;
	height: 21px;
	color: currentColor;
}
.tcf-client-feedback-arrow svg path {
	stroke: currentColor;
}
.tcf-client-feedback-prev svg {
	transform: rotate(180deg); /* mirror the shared chevron-right glyph */
}

.tcf-client-feedback-page-indicator {
	font-family: var(--font-body);
	font-size: 13px;
	line-height: 1;
	color: #233039;
	display: inline-flex;
	align-items: baseline;
	gap: 2px;
	min-width: 60px;
	justify-content: center;
	white-space: nowrap;
}
.tcf-client-feedback-page-sep {
	opacity: 0.85;
	padding: 0 2px;
}

/* LEAVE A REVIEW CTA (centered under the controls) ---------------------- */
.tcf-client-feedback-cta {
	display: flex;
	justify-content: center;
	width: 100%;
}
.tcf-client-feedback-cta-btn.btn, .tcf-client-feedback-cta-btn.btn.btn-primary {
	background-color: var(--color-secondary);
	color: var(--color-white);
	font-family: var(--font-body);
	font-weight: var(--fw-700);
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 18px 10px 18px 10px;
	border-radius: 0;
	outline: none;
	border: none;
	display: inline-block;
	text-align: center;
	transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
	min-width: 240px;
}
.tcf-client-feedback-cta-btn.btn:hover,
.tcf-client-feedback-cta-btn.btn:focus {
	background-color: var(--color-primary);
	color: var(--color-white);
	transform: translateY(-1px);
	outline: none;
}

/* --------------------------------------------------------------------------
   3. Google Reviews subsection
   -------------------------------------------------------------------------- */
.tcf-google-reviews {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(28px, 3vw, 50px);
	width: 100%;
	text-align: center;
}

.tcf-google-reviews-heading {
	margin: 0;
	text-align: left;
	display: block;
	width: 100%;
}

/* Widget host: the shortcode fills this. Give it a soft, centered fallback
   footprint so an unregistered / empty shortcode does not silently collapse
   in the admin preview. */
.tcf-google-reviews-widget {
	width: 100%;
	min-height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-body);
}
.tcf-google-reviews-widget > * {
	max-width: 100%;
}
.tcf-google-reviews-widget--placeholder {
	min-height: 120px;
	border: 1px dashed rgba(4, 90, 131, 0.4);
	color: rgba(51, 51, 51, 0.7);
	font-family: var(--font-body);
}
.tcf-google-reviews-widget--placeholder p {
	margin: 0;
}

/* Buttons row ----------------------------------------------------------- */
.tcf-google-reviews-buttons {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 20px 13px;
	flex-wrap: wrap;
}

.tcf-google-reviews-btn.btn,
.tcf-google-reviews-btn.btn.btn-primary,
.tcf-google-reviews-btn.btn.btn-outline-primary {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: var(--fw-700);
	line-height: 1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	border-radius: 0;
	outline: none;
	display: inline-block;
	text-align: center;
	transition: background-color 0.3s ease,
	            color 0.3s ease,
	            border-color 0.3s ease,
	            transform 0.3s ease;
}

.tcf-google-reviews-btn--primary.btn,
.tcf-google-reviews-btn--primary.btn.btn-primary {
	background-color: var(--color-primary);
	color: var(--color-white);
	border: 1px solid var(--color-primary);;
	padding: 18px 10px 18px 10px;
	min-width: 245px;
}
.tcf-google-reviews-btn--primary.btn:hover,
.tcf-google-reviews-btn--primary.btn:focus {
	background-color: var(--color-secondary);
	border-color: var(--color-secondary);
	color: var(--color-white);
	transform: translateY(-1px);
	outline: none;
}

.tcf-google-reviews-btn--outline.btn,
.tcf-google-reviews-btn--outline.btn.btn-outline-primary {
	background-color: var(--color-white);
	color:var(--color-primary);
	border: 1px solid var(--color-primary);
	padding: 18px 10px 18px 10px;
	min-width: 245px;
}
.tcf-google-reviews-btn--outline.btn:hover,
.tcf-google-reviews-btn--outline.btn:focus {
	background-color: var(--color-secondary);
	color: var(--color-white);
	border-color: var(--color-secondary);
	transform: translateY(-1px);
	outline: none;
}

/* --------------------------------------------------------------------------
   4. Responsive breakpoints (max-width, per project doctrine §8)
   -------------------------------------------------------------------------- */
@media (max-width: 1200px) {
	.tcf-client-feedback-card {
		padding: 40px 30px;
	}
	.tcf-client-feedback-card-quote{
		margin: 20px 0 15px 0;
	}
	.tcf-client-feedback-card-attribution{
		margin: auto 0 5px;
	}
	.tcf-client-feedback-arrow{
		width: 57px; height: 57px;
	}


}

@media (max-width: 991px) {
	.tcf-client-feedback-slider {
		margin: 0;
	}
	.tcf-client-feedback-slide {
		padding: 0;
	}

}

@media (max-width: 767px) {


	.tcf-client-feedback-controls {
		gap: 16px;
		margin-top: 24px;
		margin-bottom: 28px;
	}

	.tcf-client-feedback-arrow {
		width: 50px;
		height: 50px;
	}
	.tcf-client-feedback-arrow svg {
		width: 9px;
		height: 17px;
	}


}

@media (max-width: 480px) {
	.tcf-client-feedback-card {
		padding: 25px 20px;
	}
	.tcf-client-feedback-arrow {
		width: 45px;
		height: 45px;
	}
}
