/*
 * Design System - AELITA
 * components/tucson-page.css - Hyundai Tucson model page (cars_brands term 66).
 *
 * Composition follows the Stitch mockup "Hyundai Tucson — Реалізація макету
 * (AELITA)", expressed with AELITA brand tokens: MyriadSetPro, one red accent
 * (#CB002C), sharp corners (--radius: 0), no decorative shadows.
 *
 * Loaded only for term_id 66 (see inc/enqueue.php). Everything is scoped under
 * .a-tucson so no other page or term is affected.
 */

/* -------------------------------------------------------------------- */
/* Page shell                                                           */
/* -------------------------------------------------------------------- */
.a-tucson {
	padding-block: 0 var(--space-9);
	color: var(--text-primary);
	font-family: var(--font-body);
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	overflow-x: clip;
}

/* The full-width breadcrumb bar sits at the very top; content follows below it. */
.a-tucson > .a-container {
	padding-top: var(--space-6);
}

/* Slightly larger type scale on desktop — the default scale reads small on
 * wide screens. Scoped to this page only (header/footer keep the site scale). */
@media (min-width: 992px) {
	.a-tucson {
		--fs-body: 17px;
		--fs-small: 15px;
		--fs-caption: 13px;
		--fs-h4: 19px;
		--fs-h3: 26px;
		--fs-h2: 30px;
		--fs-display: clamp(34px, 5vw, 42px);
	}
}

.a-tucson ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* The legacy theme uppercases headings; the mockup uses sentence case. */
.a-tucson :where(h1, h2, h3, summary) {
	text-transform: none;
}

.a-tucson :where(#cars, #specs, #trims, #colors, #features, #gallery, #consult) {
	/* Keep anchored sections clear of the sticky header. */
	scroll-margin-top: 88px;
}

/* -------------------------------------------------------------------- */
/* Hero                                                                 */
/* -------------------------------------------------------------------- */
.a-tucson__hero {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-6);
	align-items: center;
	margin-bottom: var(--space-8);
}

@media (min-width: 992px) {
	.a-tucson__hero {
		grid-template-columns: 6fr 6fr;
	}
}

.a-tucson__title {
	margin: 0 0 var(--space-3);
	font-family: var(--font-display-strong);
	font-size: var(--fs-display);
	font-weight: var(--fw-bold);
	line-height: var(--lh-display);
	letter-spacing: -0.01em;
	color: var(--c-ink-900);
}

.a-tucson__subtitle {
	margin: 0 0 var(--space-3);
	font-family: var(--font-display);
	font-size: var(--fs-h4);
	font-weight: var(--fw-semibold);
	color: var(--text-primary);
}

.a-tucson__lead {
	margin: 0 0 var(--space-5);
	max-width: var(--measure);
	color: var(--text-secondary);
}

.a-tucson__hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}

.a-tucson__hero-media {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
}

.a-tucson__hero-image {
	display: block;
	width: 100%;
	max-width: 560px;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.a-tucson__hero-caption {
	font-size: var(--fs-caption);
	font-weight: var(--fw-semibold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--c-ink-300);
}

/* -------------------------------------------------------------------- */
/* Anchor sub-navigation                                                */
/* -------------------------------------------------------------------- */
.a-tucson__subnav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2) var(--space-3);
	margin-bottom: var(--space-8);
	padding: var(--space-3) var(--space-5);
	border: var(--border-w) solid var(--border);
	background-color: var(--bg-muted);
	font-size: var(--fs-small);
	font-weight: var(--fw-semibold);
}

.a-tucson__subnav-link {
	color: var(--text-primary);
	text-decoration: none;
}

.a-tucson__subnav-link:hover {
	color: var(--c-red-600);
}

.a-tucson__subnav-sep {
	color: var(--c-ink-300);
}

/* -------------------------------------------------------------------- */
/* Sections                                                             */
/* -------------------------------------------------------------------- */
.a-tucson__section {
	padding-block: var(--space-8);
	border-top: var(--border-w) solid var(--border);
}

.a-tucson__section-head {
	margin-bottom: var(--space-6);
}

.a-tucson__section-title {
	display: flex;
	align-items: baseline;
	gap: var(--space-3);
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--fs-h2);
	font-weight: var(--fw-semibold);
	line-height: var(--lh-heading);
	color: var(--c-ink-900);
}

.a-tucson__section-num {
	font-family: var(--font-body);
	font-size: var(--fs-h4);
	font-weight: var(--fw-regular);
	color: var(--c-ink-300);
}

.a-tucson__section-note {
	margin: var(--space-2) 0 0;
	font-size: var(--fs-small);
	color: var(--text-secondary);
}

.a-tucson__disclaimer {
	margin: var(--space-4) 0 0;
	font-size: var(--fs-caption);
	color: var(--text-secondary);
}

.a-tucson__catalog {
	margin: var(--space-5) 0 0;
}

.a-tucson__link {
	color: var(--c-red-600);
	font-weight: var(--fw-semibold);
	text-decoration: none;
}

.a-tucson__link:hover {
	color: var(--c-red-700);
	text-decoration: underline;
}

.a-tucson__empty {
	margin: 0;
	color: var(--text-secondary);
}

.a-tucson__cars-year {
	margin: 0 0 var(--space-5);
	max-width: var(--measure);
	font-size: var(--fs-body);
	color: var(--text-secondary);
}

/* -------------------------------------------------------------------- */
/* 01 - Cars slider                                                     */
/* -------------------------------------------------------------------- */
.a-tucson__slider {
	position: relative;
}

.a-tucson__slides .a-tucson__slide {
	padding-inline: var(--space-2);
}

/* The car-card is block-level; keep it aligned inside a slick slide. */
.a-tucson__slide .a-car-card {
	height: 100%;
}

.a-tucson__slider-nav {
	display: flex;
	justify-content: flex-end;
	gap: var(--space-2);
	margin-top: var(--space-4);
}

.a-tucson__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--space-6) + var(--space-3));
	height: calc(var(--space-6) + var(--space-3));
	border: var(--border-w) solid var(--border);
	background-color: var(--bg);
	color: var(--c-ink-700);
	cursor: pointer;
	transition: background-color var(--dur-press) var(--ease-out),
		border-color var(--dur-press) var(--ease-out),
		color var(--dur-press) var(--ease-out);
}

@media (hover: hover) and (pointer: fine) {
	.a-tucson__arrow:hover {
		background-color: var(--c-red-600);
		border-color: var(--c-red-600);
		color: var(--text-on-brand);
	}
}

/* Remove the default Slick glyphs; the arrows carry their own SVG. */
.a-tucson .slick-prev::before,
.a-tucson .slick-next::before {
	content: none;
}

/* When Slick turns the buttons into in-slider controls, pin them to the
 * bottom-right instead of Slick's default vertical centre. */
.a-tucson__slider .slick-prev,
.a-tucson__slider .slick-next {
	position: static;
	transform: none;
}

.a-tucson__slider .slick-list {
	margin-inline: calc(var(--space-2) * -1);
}

/* -------------------------------------------------------------------- */
/* 02 - Specifications                                                  */
/* -------------------------------------------------------------------- */
.a-tucson__spec-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-3);
}

@media (min-width: 768px) {
	.a-tucson__spec-grid--4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

.a-tucson__spec {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	padding: var(--space-4);
	border: var(--border-w) solid var(--border);
	background-color: var(--bg-muted);
}

.a-tucson__spec-value {
	font-family: var(--font-display);
	font-size: var(--fs-h4);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__spec-label {
	font-size: var(--fs-caption);
	color: var(--text-secondary);
}

.a-tucson__engine {
	margin-top: var(--space-6);
}

.a-tucson__engine-label {
	display: block;
	margin-bottom: var(--space-3);
	font-size: var(--fs-small);
	font-weight: var(--fw-semibold);
	color: var(--text-primary);
}

.a-tucson__engine-switch {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-bottom: var(--space-4);
}

.a-tucson__engine-button {
	padding: var(--space-2) var(--space-5);
	border: var(--border-w) solid var(--border);
	background-color: var(--bg-muted);
	color: var(--c-ink-700);
	font-family: var(--font-body);
	font-size: var(--fs-small);
	font-weight: var(--fw-semibold);
	cursor: pointer;
	transition: background-color var(--dur-press) var(--ease-out),
		border-color var(--dur-press) var(--ease-out),
		color var(--dur-press) var(--ease-out);
}

.a-tucson__engine-button[aria-selected="true"] {
	background-color: var(--c-red-600);
	border-color: var(--c-red-600);
	color: var(--text-on-brand);
}

@media (hover: hover) and (pointer: fine) {
	.a-tucson__engine-button:not([aria-selected="true"]):hover {
		border-color: var(--text-secondary);
		color: var(--c-ink-900);
	}
}

[data-engine-panel][hidden] {
	display: none;
}

/* -------------------------------------------------------------------- */
/* 03 - Trims                                                           */
/* -------------------------------------------------------------------- */
.a-tucson__trims {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-4);
}

@media (min-width: 600px) {
	.a-tucson__trims {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 992px) {
	.a-tucson__trims {
		grid-template-columns: repeat(4, 1fr);
	}
}

.a-tucson__trims-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-5);
}

.a-tucson__trim {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding: var(--space-5);
	border: var(--border-w) solid var(--border);
	background-color: var(--bg);
}

.a-tucson__trim-name {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--fs-h4);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__trim-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	font-size: var(--fs-small);
	color: var(--text-secondary);
}

.a-tucson__trim-list li {
	position: relative;
	padding-left: var(--space-4);
}

.a-tucson__trim-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	background-color: var(--c-red-600);
}

.a-tucson__trim-more {
	margin-top: auto;
	font-size: var(--fs-small);
}

.a-tucson__trim-more summary {
	cursor: pointer;
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__trim-more summary::marker {
	color: var(--c-red-600);
}

.a-tucson__trim-more p {
	margin: var(--space-2) 0 0;
	color: var(--text-secondary);
}

/* -------------------------------------------------------------------- */
/* 04 - Colours                                                         */
/* -------------------------------------------------------------------- */
.a-tucson__colors {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4) var(--space-6);
}

.a-tucson__color {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-2);
	width: 76px;
	text-align: center;
}

.a-tucson__swatch {
	display: block;
	width: 40px;
	height: 40px;
	border: var(--border-w) solid var(--c-ink-100);
	box-shadow: inset 0 0 0 1px rgba(22, 22, 24, 0.06);
}

.a-tucson__color-name {
	font-size: var(--fs-caption);
	font-weight: var(--fw-semibold);
	line-height: 1.25;
	color: var(--c-ink-700);
}

.a-tucson__color-finish {
	font-size: var(--fs-caption);
	color: var(--text-secondary);
}

.a-tucson__interior {
	margin: var(--space-5) 0 0;
	font-size: var(--fs-small);
	color: var(--text-primary);
}

.a-tucson__interior-label {
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

/* -------------------------------------------------------------------- */
/* 05 - Features                                                        */
/* -------------------------------------------------------------------- */
.a-tucson__features {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-4);
}

@media (min-width: 768px) {
	.a-tucson__features {
		grid-template-columns: repeat(3, 1fr);
	}
}

.a-tucson__feature {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	padding: var(--space-5);
	border: var(--border-w) solid var(--border);
	background-color: var(--bg);
	overflow: hidden;
}

/* The wrapper clamps the photo to the card's dimensions and clips the zoom.
 * Scaling happens on the <img> only, so no sibling or card can be resized. */
.a-tucson__feature-media {
	overflow: hidden;
	margin: calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-3);
	aspect-ratio: 16 / 10;
}

.a-tucson__feature-image {
	display: block;
	width: 100%;
	height: 100%;
	/* Legacy Bootstrap ships img{max-width:100%!important}; override it so the
	 * image can bleed to the card edges. */
	max-width: none !important;
	object-fit: cover;
	transform: scale(1);
	transform-origin: center;
	transition: transform var(--dur-overlay) var(--ease-out);
}

@media (hover: hover) and (pointer: fine) {
	.a-tucson__feature:hover .a-tucson__feature-image,
	.a-tucson__feature:focus-within .a-tucson__feature-image {
		transform: scale(1.06);
	}
}

@media (prefers-reduced-motion: reduce) {
	.a-tucson__feature-image {
		transition: none;
	}

	.a-tucson__feature:hover .a-tucson__feature-image,
	.a-tucson__feature:focus-within .a-tucson__feature-image {
		transform: none;
	}
}

.a-tucson__feature-title {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--fs-h4);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__feature-text {
	margin: 0;
	font-size: var(--fs-small);
	color: var(--text-secondary);
}

/* -------------------------------------------------------------------- */
/* 06 - Documents & consultation                                        */
/* -------------------------------------------------------------------- */
.a-tucson__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-3);
	margin-bottom: var(--space-3);
}

.a-tucson__consult {
	max-width: 820px;
	padding: var(--space-6);
	border: var(--border-w) solid var(--border);
	background-color: var(--bg-muted);
}

.a-tucson__consult-title {
	margin: 0 0 var(--space-2);
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__consult-text {
	margin: 0 0 var(--space-5);
	color: var(--text-secondary);
}

.a-tucson__form-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--space-3);
}

.a-tucson__field {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	flex: 1 1 200px;
	min-width: 0;
}

.a-tucson__field-label {
	font-size: var(--fs-caption);
	font-weight: var(--fw-semibold);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--text-secondary);
}

.a-tucson__field input {
	width: 100%;
	min-height: calc(var(--space-6) + var(--space-3));
	padding: var(--space-2) var(--space-3);
	border: var(--border-w) solid var(--border);
	background-color: var(--bg);
	color: var(--text-primary);
	font-family: var(--font-body);
	font-size: var(--fs-body);
}

.a-tucson__field input:focus-visible {
	outline: 2px solid var(--focus-ring);
	outline-offset: 1px;
	border-color: var(--focus-ring);
}

.a-tucson__field.has-error input {
	border-color: var(--status-danger);
}

.a-tucson__submit {
	flex: 0 0 auto;
	align-self: flex-end;
	white-space: normal;
	max-width: 100%;
}

.a-tucson__privacy {
	margin: var(--space-4) 0 0;
	font-size: var(--fs-caption);
	color: var(--text-secondary);
}

.a-tucson__privacy a {
	color: var(--link);
}

.a-tucson__form-status:empty {
	display: none;
}

.a-tucson__form-status {
	margin-top: var(--space-4);
	font-size: var(--fs-small);
	color: var(--status-success);
}

.a-tucson__form-status.is-error {
	color: var(--status-danger);
}

.a-tucson__form.is-sent {
	display: none;
}

/* -------------------------------------------------------------------- */
/* 02b - Dimensions diagram                                              */
/* -------------------------------------------------------------------- */
.a-tucson__diagram {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-5);
	margin-bottom: var(--space-6);
}

@media (min-width: 768px) {
	.a-tucson__diagram {
		grid-template-columns: 1.7fr 1fr 1fr;
		align-items: end;
	}
}

.a-tucson__diagram-item {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	margin: 0;
}

.a-tucson__diagram-image {
	display: block;
	width: 100%;
	height: auto;
}

.a-tucson__diagram-dims {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

/* Desktop: put every photo container on one shared baseline. Subgrid keeps
 * the image row and the caption row aligned across the three columns without
 * fixed offsets, so the side view (shorter by its aspect ratio) does not float
 * above the front/rear photos. Mobile keeps the original stacked flow. */
@supports (grid-template-rows: subgrid) {
	@media (min-width: 768px) {
		.a-tucson__diagram {
			grid-template-rows: auto auto;
			align-items: stretch;
		}

		.a-tucson__diagram-item {
			display: grid;
			grid-row: span 2;
			grid-template-rows: subgrid;
		}

		.a-tucson__diagram-image {
			align-self: end;
		}
	}
}

.a-tucson__diagram-dim {
	display: flex;
	flex-direction: column;
}

.a-tucson__diagram-value {
	font-family: var(--font-display);
	font-size: var(--fs-h4);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__diagram-label {
	font-size: var(--fs-caption);
	color: var(--text-secondary);
}

.a-tucson__diagram .a-tucson__disclaimer {
	grid-column: 1 / -1;
	margin-top: 0;
}

/* -------------------------------------------------------------------- */
/* Data tables (technical specs + equipment)                            */
/* -------------------------------------------------------------------- */
.a-tucson__table-block {
	margin-top: var(--space-7);
}

.a-tucson__subsection-title {
	margin: 0 0 var(--space-4);
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__table-groups {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.a-tucson__tgroup {
	border: var(--border-w) solid var(--border);
}

.a-tucson__table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	contain: paint;
}

.a-tucson__table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	font-size: var(--fs-small);
	line-height: 1.4;
	color: var(--text-primary);
}

.a-tucson__table th,
.a-tucson__table td {
	padding: var(--space-2) var(--space-3);
	border-bottom: var(--border-w) solid var(--border);
	text-align: left;
	vertical-align: middle;
	overflow-wrap: break-word;
}

.a-tucson__table tbody tr:last-child th,
.a-tucson__table tbody tr:last-child td {
	border-bottom: 0;
}

.a-tucson__table thead th {
	background-color: var(--c-ink-100);
	color: var(--c-ink-900);
	font-size: var(--fs-small);
	font-weight: var(--fw-semibold);
	line-height: 1.3;
	text-align: center;
	vertical-align: middle;
}

.a-tucson__table-corner {
	text-align: left;
}

.a-tucson__table-rowhead {
	background-color: var(--bg-muted);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__table--spec .a-tucson__col-label {
	width: 34%;
}

.a-tucson__table--spec .a-tucson__col-value {
	width: 16.5%;
}

.a-tucson__table--equip {
	background-color: var(--bg-muted);
}

.a-tucson__table--equip .a-tucson__col-label {
	width: 52%;
}

.a-tucson__table--equip .a-tucson__col-value {
	width: 12%;
}

.a-tucson__table td.a-tucson__cell {
	text-align: center;
	vertical-align: middle;
}

.a-tucson__cell.is-yes {
	color: var(--status-success);
	font-weight: var(--fw-bold);
	font-size: var(--fs-body);
}

.a-tucson__cell.is-no {
	color: var(--c-ink-300);
}

/* Stacked variant (narrow screens): label + "engine — value" lines. */
.a-tucson__stacked {
	display: none;
	margin: 0;
}

.a-tucson__stacked-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-1) var(--space-3);
	padding: var(--space-3) var(--space-4);
	border-bottom: var(--border-w) solid var(--border);
}

.a-tucson__stacked-row:last-child {
	border-bottom: 0;
}

.a-tucson__stacked-label {
	flex: 1 1 100%;
	margin: 0;
	font-size: var(--fs-small);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__stacked-value {
	margin: 0;
	font-size: var(--fs-small);
	color: var(--text-primary);
}

.a-tucson__stacked-col {
	color: var(--text-secondary);
}

/* Equipment matrix on narrow screens: one row per option, one compact mark
 * per trim. The desktop table is hidden here, so without this the expanded
 * group had no visible content and appeared not to open. */
.a-tucson__stacked-values {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	flex: 1 1 100%;
	gap: var(--space-2);
	margin: 0;
}

.a-tucson__stacked-trim {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-2);
	padding: var(--space-1) var(--space-2);
	border: var(--border-w) solid var(--border);
	font-size: var(--fs-caption);
	color: var(--text-secondary);
}

.a-tucson__stacked-trim-name {
	min-width: 0;
}

.a-tucson__stacked-trim.is-yes {
	color: var(--c-ink-900);
}

.a-tucson__stacked-trim-mark {
	flex: 0 0 auto;
	font-weight: var(--fw-bold);
}

.a-tucson__stacked-trim.is-yes .a-tucson__stacked-trim-mark {
	color: var(--status-success);
}

.a-tucson__stacked-trim.is-no .a-tucson__stacked-trim-mark {
	color: var(--c-ink-300);
}

@media (max-width: 767px) {
	.a-tucson__wide {
		display: none;
	}

	.a-tucson__stacked {
		display: block;
	}
}

.a-tucson__group-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	width: 100%;
	padding: var(--space-2) var(--space-4);
	border: 0;
	background-color: var(--bg-muted);
	font-family: var(--font-display);
	font-size: var(--fs-small);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
	text-align: left;
	cursor: pointer;
}

.a-tucson__group-toggle:focus-visible {
	outline: 2px solid var(--focus-ring);
	outline-offset: -2px;
}

.a-tucson__group-icon {
	position: relative;
	width: 14px;
	height: 14px;
	flex: 0 0 auto;
}

.a-tucson__group-icon::before,
.a-tucson__group-icon::after {
	content: "";
	position: absolute;
	background-color: var(--c-red-600);
}

/* Horizontal bar — always visible. */
.a-tucson__group-icon::before {
	top: 6px;
	left: 0;
	width: 14px;
	height: 2px;
}

/* Vertical bar — visible when collapsed (plus), hidden when expanded (minus). */
.a-tucson__group-icon::after {
	top: 0;
	left: 6px;
	width: 2px;
	height: 14px;
	transform: scaleY(1);
	transition: transform var(--dur-press) var(--ease-out);
}

.a-tucson__group-toggle[aria-expanded="true"] .a-tucson__group-icon::after {
	transform: scaleY(0);
}

.a-tucson__group-body[hidden] {
	display: none;
}

/* -------------------------------------------------------------------- */
/* Price note, FAQ, contacts                                            */
/* -------------------------------------------------------------------- */
.a-tucson__price-note {
	margin-top: var(--space-6);
	padding: var(--space-5);
	border: var(--border-w) solid var(--border);
	background-color: var(--bg-muted);
}

.a-tucson__price-title {
	margin: 0 0 var(--space-2);
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__price-text {
	margin: 0 0 var(--space-4);
	max-width: var(--measure);
	color: var(--text-secondary);
}

.a-tucson__price-cta {
	margin: 0;
}

.a-tucson__faq {
	margin: var(--space-6) 0;
}

.a-tucson__faq-title {
	margin: 0 0 var(--space-4);
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__faq-list {
	margin: 0;
}

.a-tucson__faq-item {
	padding: var(--space-4) 0;
	border-top: var(--border-w) solid var(--border);
}

.a-tucson__faq-item:last-child {
	border-bottom: var(--border-w) solid var(--border);
}

.a-tucson__faq-q {
	margin: 0 0 var(--space-2);
	font-size: var(--fs-body);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__faq-a {
	margin: 0;
	max-width: var(--measure);
	font-size: var(--fs-small);
	color: var(--text-secondary);
}

.a-tucson__contacts {
	margin-top: var(--space-6);
	padding-top: var(--space-5);
	border-top: var(--border-w) solid var(--border);
}

.a-tucson__contacts-title {
	margin: 0 0 var(--space-2);
	font-family: var(--font-display);
	font-size: var(--fs-h4);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__contacts-line {
	margin: 0 0 var(--space-1);
	color: var(--text-primary);
}

.a-tucson__contacts-phone {
	font-family: var(--font-display);
	font-size: var(--fs-h4);
	font-weight: var(--fw-semibold);
	color: var(--c-red-600);
	text-decoration: none;
}

.a-tucson__contacts-phone:hover {
	color: var(--c-red-700);
	text-decoration: underline;
}

/* Consultation section layout: content + banner */
.a-tucson__consult-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-5);
	align-items: start;
}

.a-tucson__consult-main {
	min-width: 0;
}

@media (min-width: 992px) {
	.a-tucson__consult-layout {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	}
}

.a-tucson__banner-link {
	display: block;
}

.a-tucson__banner-image {
	display: block;
	width: 100%;
	height: auto;
	border: var(--border-w) solid var(--border);
}

/* Sales CTA band (below the trim grid) */
.a-tucson__expert {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-5);
	padding: var(--space-5);
	border: var(--border-w) solid var(--border);
	background-color: var(--bg-muted);
}

@media (min-width: 768px) {
	.a-tucson__expert {
		gap: var(--space-6);
		padding: var(--space-6);
	}
}

.a-tucson__expert-body {
	flex: 1 1 420px;
	min-width: 0;
}

.a-tucson__expert-name {
	margin: 0;
	font-family: var(--font-display-strong);
	font-size: var(--fs-h3);
	font-weight: var(--fw-bold);
	line-height: var(--lh-heading);
	color: var(--c-ink-900);
}

.a-tucson__expert-text {
	margin: var(--space-2) 0 0;
	max-width: var(--measure);
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	color: var(--text-secondary);
}

.a-tucson__expert-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}

/* -------------------------------------------------------------------- */
/* 06 - Gallery                                                          */
/* -------------------------------------------------------------------- */
.a-tucson__gallery-label {
	margin: var(--space-6) 0 var(--space-3);
	font-family: var(--font-display);
	font-size: var(--fs-h4);
	font-weight: var(--fw-semibold);
	color: var(--c-ink-900);
}

.a-tucson__gallery {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-3);
}

@media (min-width: 768px) {
	.a-tucson__gallery {
		grid-template-columns: repeat(4, 1fr);
	}
}

.a-tucson__gallery-item {
	margin: 0;
	overflow: hidden;
}

.a-tucson__gallery-link {
	display: block;
	height: 100%;
	cursor: zoom-in;
}

.a-tucson__gallery-image {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.a-tucson__gallery-link:focus-visible {
	outline: 2px solid var(--focus-ring);
	outline-offset: 2px;
}

/* -------------------------------------------------------------------- */
/* Small screens: never allow horizontal scroll                        */
/* -------------------------------------------------------------------- */
@media (max-width: 480px) {
	.a-tucson__consult {
		padding: var(--space-4);
	}

	.a-tucson__form-status img {
		max-width: 100%;
		height: auto;
	}
}
