.tat-widget-notice { padding: 14px 18px; margin: 15px 0; border-left: 4px solid #216134; background: #f0f5eb; }
.tat-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.tat-managed-icon__library, .tat-managed-icon__image, .tat-managed-icon__svg, .tat-managed-icon__mask { flex: 0 0 auto; line-height: 1; vertical-align: middle; }
.tat-managed-icon__image { max-width: 100%; object-fit: contain; }
.tat-managed-icon__mask { display:block; background:currentColor; -webkit-mask:var(--tat-managed-icon-mask) center/contain no-repeat; mask:var(--tat-managed-icon-mask) center/contain no-repeat; }

/* Native Elementor replacements created by the 2.3 migration. The classes
 * preserve the approved visual baseline while every child remains a standard
 * Elementor element with its normal Content, Style and Advanced controls. */
.tat-native-section {
	box-sizing: border-box;
	width: 100%;
	padding: clamp(72px, 7.4vw, 112px) max(24px, calc((100vw - 1280px) / 2));
	background: var(--tat-paper, #fffdf8);
}
.tat-native-section--cream { background: var(--tat-cream, #f7f6ef); }
.tat-native-section .elementor-widget { margin-block-end: 0; }
.tat-native-eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--tat-green, #216134);
	font-family: var(--tat-sans, Arial, sans-serif);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1.35;
	text-transform: uppercase;
}
.tat-native-eyebrow .elementor-heading-title::after {
	content: "";
	width: calc(var(--tat-eyebrow-marker-size, 13px) * .85);
	height: var(--tat-eyebrow-marker-size, 13px);
	border: 2px solid var(--tat-gold, #d9bb61);
	border-radius: 65% 35% 58% 42%;
	transform: rotate(36deg);
}
.tat-native-section-title .elementor-heading-title {
	margin: 0;
	color: var(--tat-green, #216134);
	font-family: var(--tat-serif, Georgia, serif);
	font-size: clamp(36px, 4.15vw, 64px);
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: 1.04;
}
.tat-native-copy { color: var(--tat-text, #465047); font-size: 17px; line-height: 1.75; }
.tat-native-copy p:last-child { margin-bottom: 0; }
.tat-native-button .elementor-button {
	min-height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 22px;
	border: 1px solid var(--tat-green, #216134);
	border-radius: 999px;
	background: var(--tat-green, #216134);
	color: #fff;
	font-family: var(--tat-sans, Arial, sans-serif);
	font-weight: 700;
}
.tat-native-button--outline .elementor-button { background: transparent; color: var(--tat-green, #216134); }

.tat-native-media {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(42px, 6vw, 86px);
}
.tat-native-media__content { display: flex !important; flex-direction: column; align-items: flex-start; gap: 20px; }
.tat-native-media__image img { width: 100%; min-height: 430px; aspect-ratio: 1.35 / 1; object-fit: cover; border-radius: 0; }

.tat-native-cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 310px;
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 16px;
	margin-block: clamp(64px, 7vw, 108px);
	padding: clamp(42px, 5vw, 72px) !important;
	border-radius: 22px;
	background-color: var(--tat-green, #216134);
	background-position: center;
	background-size: cover;
	color: #fff;
}
.tat-native-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,76,39,.97), rgba(8,76,39,.72) 58%, rgba(8,76,39,.28)); }
.tat-native-cta__title, .tat-native-cta__copy, .tat-native-cta__button { position: relative; z-index: 1; max-width: 720px; }
.tat-native-cta__title .elementor-heading-title { color: #fff; font-family: var(--tat-sans, Arial, sans-serif); font-size: clamp(32px, 3.3vw, 50px); line-height: 1.12; }
.tat-native-cta__copy { color: rgba(255,255,255,.88); }
.tat-native-cta__button .elementor-button { border-color: #fff; background: #fff; color: var(--tat-green, #216134); }

.tat-native-gallery { display: flex !important; flex-direction: column; gap: 18px; }
.tat-native-gallery__grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 30px; }
.tat-native-gallery--columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tat-native-gallery--columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.tat-native-gallery__item { display: flex !important; flex-direction: column; gap: 10px; min-width: 0; }
.tat-native-gallery__image img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 14px; }
.tat-native-gallery__caption { color: var(--tat-text, #465047); font-size: 14px; line-height: 1.45; }
.tat-native-gallery__caption p { margin: 0; }

.tat-native-faq { display: flex !important; flex-direction: column; gap: 28px; background: var(--tat-cream, #f7f6ef); }
.tat-native-faq__accordion .elementor-accordion-item { border: 0; border-bottom: 1px solid rgba(33,97,52,.2); }
.tat-native-faq__accordion .elementor-tab-title { padding: 22px 0; color: var(--tat-green, #216134); font-weight: 700; }
.tat-native-faq__accordion .elementor-tab-content { padding: 0 0 24px; border: 0; color: var(--tat-text, #465047); line-height: 1.7; }

@media (max-width: 1024px) {
	.tat-native-gallery--columns-4,
	.tat-native-gallery--columns-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.tat-native-section { padding: 64px 22px; }
	.tat-native-media { grid-template-columns: 1fr; gap: 34px; }
	.tat-native-media__image { order: 0; }
	.tat-native-media__content { order: 1; }
	.tat-native-media__image img { min-height: 0; aspect-ratio: 4 / 3; border-radius: 14px; }
	.tat-native-section-title .elementor-heading-title { font-size: clamp(34px, 10.5vw, 48px); }
	.tat-native-cta { min-height: 0; margin-block: 54px; padding: 38px 28px !important; border-radius: 16px; }
	.tat-native-gallery__grid,
	.tat-native-gallery--columns-3,
	.tat-native-gallery--columns-4,
	.tat-native-gallery--columns-5 { grid-template-columns: 1fr; }
}
