@layer elementor,theme,base,components,utilities;
/* TechiThrive: small additions on top of app.css (the compiled design). */

@layer components {
	/* Links that replace former <button> elements keep the same box behaviour. */
	.th-ib { display: inline-block; text-align: center; }
	.th-blk { display: block; }

	/* Vertical rhythm for split page sections (was one wrapper with py-10 / sm:py-16). */
	.th-pt { padding-top: 2.5rem; }
	.th-pb { padding-bottom: 2.5rem; }
	.th-pt-16 { padding-top: 4rem; }
	@media (min-width: 640px) {
		.th-pt { padding-top: 4rem; }
		.th-pb { padding-bottom: 4rem; }
	}
}

html { scroll-behavior: smooth; }

/* Logged-in admin bar: keep the sticky header below it. */
.admin-bar header[data-th-header] { top: 32px; }
@media (max-width: 782px) {
	.admin-bar header[data-th-header] { top: 46px; }
}

/* Pop-ups are hidden until opened. */
[data-th-modal][hidden] { display: none !important; }

/* Same look as overflow-x-hidden, but lets the sticky header actually stick. */
.min-h-screen.overflow-x-hidden { overflow-x: clip; }

/* ---- Elementor containers/widgets: neutralise Elementor defaults so Tailwind classes decide ---- */
@layer components {
	.e-con.th-c {
		--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
		--gap: 0px; --row-gap: 0px; --column-gap: 0px;
		display: block; position: static; width: auto; min-width: auto;
		flex: 0 1 auto; flex-direction: row; flex-wrap: nowrap;
		align-items: normal; justify-content: normal; align-content: normal;
		z-index: auto;
	}
	.th-root .elementor-element.th-t,
	.th-root .elementor-element.th-i { width: auto; min-width: auto; margin: 0; }
	.th-root .elementor-widget:not(:last-child) { margin-block-end: 0; }
	.th-root .th-t > .elementor-widget-container,
	.th-root .th-i > .elementor-widget-container { height: auto; }
	.th-root .th-i svg, .th-root .th-i img { display: block; }
	.th-root .th-i.h-full > .elementor-widget-container { height: 100%; }
}

/* Elementor writes global widget typography/colour into the page CSS (unlayered): neutralise for our widgets. */
.th-root .elementor-widget.th-t,
.th-root .elementor-widget.th-i { color: inherit; font: inherit; line-height: inherit; letter-spacing: inherit; text-align: inherit; }

/* hidden attribute must beat display utilities / Elementor container display */
.th-root [hidden], [data-th-modal][hidden] { display: none !important; }

/* Image widgets: same fill behaviour as the original <img class="w-full h-full object-cover"> */
.th-root .elementor-widget-image.th-img img { width: 100%; height: 100%; object-fit: cover; max-width: none; }
.th-root .elementor-widget-image.th-img > .elementor-widget-container { height: 100%; }

/* Compat for values set in the Elementor panel (lowest layer: Tailwind classes still win) + responsive visibility helpers. */
@layer elementor {
	.th-root .e-con {
		padding-block-start: var(--padding-top, 0px); padding-block-end: var(--padding-bottom, 0px);
		padding-inline-start: var(--padding-left, 0px); padding-inline-end: var(--padding-right, 0px);
		margin-block-start: var(--margin-top, 0px); margin-block-end: var(--margin-bottom, 0px);
		margin-inline-start: var(--margin-left, 0px); margin-inline-end: var(--margin-right, 0px);
	}
	.th-root .elementor-widget { position: relative; }
}
@media (min-width: 1025px) { .elementor-hidden-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .elementor-hidden-tablet { display: none !important; } }
@media (max-width: 767px) { .elementor-hidden-mobile { display: none !important; } }

/* Site parts (header/footer from Elementor) behave as if they were direct children of the page wrapper. */}}
.th-root{.elementor-widget-image.th-img{img{max-height:35px!important;max-width:120px!important;width:auto!important;height:auto!important;object-fit:contain!important;}}}
.th-part-header{padding-top:5px!important;padding-bottom:5px!important;}
.th-part, .th-part > .elementor { display: contents; }


/* TTH 2026-10-22: Force compact header - override th-img full-size rule */
@layer components {
  #thx250a623 {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
  #thx250a623 .elementor-widget-image img {
    max-height: 35px !important;
    max-width: 120px !important;
    width: auto !important;
    height: auto !important;
  }
}#thx250a623{img{max-height:35px!important;max-width:120px!important;width:auto!important;height:auto!important;}}}header[data-th-header]{padding-top:6px!important;padding-bottom:6px!important;}header[data-th-header]{img{max-height:35px!important;max-width:120px!important;width:auto!important;height:auto!important;}}img[src*="logo"][src*="logo"][src*="logo"][src*="logo"]{max-height:35px!important;max-width:120px!important;width:auto!important;height:auto!important;object-fit:contain!important;}#thx250a623{padding-top:6px!important;padding-bottom:6px!important;}
