/**
 * Fin-Zvit — global responsive helpers (mobile + tablet + desktop).
 */

/* Astra sets text-transform: capitalize on all headings — wrong for Ukrainian. */
h1,
h2,
h3,
h4,
h5,
h6,
.entry-content :where(h1, h2, h3, h4, h5, h6),
.entry-content :where(h1, h2, h3, h4, h5, h6) a,
.elementor-heading-title,
.fz-footer-heading,
.fz-footer-cta-title,
.fz-sec-title,
.fz-step-title,
.fz-lp-title,
.fz-lp-h2,
.fz-lp-cta-title,
.fz-svc-title,
.fz-svc-h2,
.fz-svc-step-title,
.fz-svc-cta-title,
.fz-svc-benefit-title,
.fz-calc-title,
.fz-calc-hub-title,
.fz-calc-results-title {
	text-transform: none !important;
}

/* Keep intentional uppercase labels */
.fz-sec-kicker,
.fz-lp-kicker,
.fz-calc-kicker,
.fz-svc-badge {
	text-transform: uppercase !important;
}

html {
	overflow-x: clip;
	-webkit-text-size-adjust: 100%;
}

body {
	overflow-x: clip;
}

.site-content,
#content,
.ast-container,
.elementor-section-wrap {
	max-width: 100%;
}

/* Media in Elementor and content */
.entry-content img,
.elementor-widget-wrap img,
.elementor-image img {
	max-width: 100%;
	height: auto;
}

/* Touch-friendly tap targets on phones */
@media (max-width: 767px) {
	.fz-btn,
	.fz-sec-btn,
	.elementor-button,
	.fz-calc-submit,
	.fz-calc-btn-secondary,
	.fz-calc-pdf-btn,
	.ast-custom-button {
		min-height: 44px;
	}

	.ast-container,
	.site-content .ast-container {
		padding-left: 16px;
		padding-right: 16px;
		box-sizing: border-box;
	}

	.fz-page-hero-title,
	.fz-calc-title,
	.fz-calc-hub-title,
	.fz-svc-title,
	.page-slug-contact .elementor-heading-title,
	.page-slug-services .elementor-heading-title,
	.page-slug-posluhy .elementor-heading-title {
		font-size: clamp(1.6rem, 6vw, 2.1rem) !important;
		line-height: 1.2 !important;
	}

	.fz-sec-container,
	.fz-lp-container,
	.fz-svc-container,
	.fz-calc-hub-wrap,
	.fz-calc-wrap {
		padding-left: 16px;
		padding-right: 16px;
		box-sizing: border-box;
	}

	.fz-svc-wrap,
	.fz-lp-wrap {
		margin-left: 0;
		margin-right: 0;
	}

	.fz-svc-hero-cta,
	.fz-lp-hero-cta,
	.fz-sec-cta-row,
	.fz-calc-actions,
	.fz-calc-export-btns {
		flex-direction: column;
		align-items: stretch;
	}

	.fz-svc-hero-cta .fz-sec-btn,
	.fz-lp-hero-cta .fz-sec-btn,
	.fz-sec-cta-row .fz-sec-btn,
	.fz-calc-actions .fz-calc-submit,
	.fz-calc-actions .fz-calc-btn-secondary {
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	.fz-svc-breadcrumb {
		padding-left: 16px;
		padding-right: 16px;
		font-size: 0.82rem;
		line-height: 1.45;
	}

	/* Homepage service cards — stack in one column */
	.elementor-309 .elementor-column.elementor-col-33 , .elementor-526 .elementor-column.elementor-col-33 {
		width: 100% !important;
	}

	.elementor-309 .elementor-inner-column .elementor-widget-heading .elementor-heading-title , .elementor-526 .elementor-inner-column .elementor-widget-heading .elementor-heading-title {
		text-align: center !important;
	}

	.elementor-309 .elementor-inner-column .elementor-widget-text-editor , .elementor-526 .elementor-inner-column .elementor-widget-text-editor {
		text-align: center !important;
	}

	.elementor-309 .elementor-inner-column .elementor-button-wrapper , .elementor-526 .elementor-inner-column .elementor-button-wrapper {
		text-align: center !important;
	}

	/* Astra shrinks html to 85.5% on mobile — keep body copy readable */
	body,
	.entry-content,
	.elementor-widget-text-editor,
	.elementor-icon-box-description,
	.fz-sec-lead,
	.fz-step-desc,
	.fz-pricing-note,
	.fz-page-hero-lead,
	.fz-sec p,
	.fz-calc-label,
	.fz-calc-hint {
		font-size: 16px;
		line-height: 1.6;
	}

	.fz-sec-container {
		padding-left: 16px;
		padding-right: 16px;
	}

	/* Homepage service step numbers (01/02/03) */
	.elementor-309 .elementor-element-c031bcf .elementor-heading-title, .elementor-526 .elementor-element-c031bcf .elementor-heading-title,
	.elementor-309 .elementor-element-7677a84 .elementor-heading-title, .elementor-526 .elementor-element-7677a84 .elementor-heading-title,
	.elementor-309 .elementor-element-e9a6e21 .elementor-heading-title , .elementor-526 .elementor-element-e9a6e21 .elementor-heading-title {
		font-size: 2.5rem !important;
	}

	/* Why-us icon cards and inner columns — single column */
	.elementor-309 .elementor-column.elementor-col-33, .elementor-526 .elementor-column.elementor-col-33,
	.elementor-309 .elementor-inner-section > .elementor-container > .elementor-column , .elementor-526 .elementor-inner-section > .elementor-container > .elementor-column {
		width: 100% !important;
	}

	/* Contact page — tighter vertical rhythm */
	.page-slug-contact .site-content {
		padding-top: 0;
	}

	.page-slug-contact .elementor-section {
		padding-top: 28px !important;
		padding-bottom: 28px !important;
	}

	.page-slug-contact .elementor-widget-icon-box {
		margin-bottom: 8px !important;
	}

	.page-slug-contact .elementor-icon-box-wrapper {
		gap: 10px;
	}

	.page-slug-contact .elementor-icon-box-title {
		margin-bottom: 4px !important;
	}

	.page-slug-contact .elementor-icon-box-description {
		font-size: 1rem !important;
		line-height: 1.45 !important;
	}

	/* Services listing content after hero */
	.page-slug-services .elementor-section:not(.elementor-element-226bc03),
	.page-slug-posluhy .elementor-section:not(.elementor-element-226bc03) {
		padding-top: 24px !important;
	}
}

/* Tablet */
@media (max-width: 1024px) {
	.fz-pricing-table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		margin: 0 -4px;
		padding-bottom: 4px;
	}

	.fz-pricing-table {
		min-width: 560px;
	}
}

@media (max-width: 767px) {
	.fz-pricing-table-wrap {
		margin: 0;
		overflow-x: visible;
	}

	.fz-pricing-table {
		min-width: 0;
	}
}

/* Service / landing / calculator pages — hide default page header */
.page-parent-posluhy .entry-header,
.page-slug-rozrakhuy-vartist-fop .entry-header,
.page-parent-kalkulyatory .entry-header {
	display: none;
}

.page-parent-posluhy .entry-title,
.page-parent-kalkulyatory .entry-title {
	display: none !important;
}

.page-parent-posluhy .site-content,
.page-parent-kalkulyatory .site-content {
	padding-top: 0;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.fz-svc-benefits {
		grid-template-columns: repeat(2, 1fr);
	}

	.fz-calc-hub-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
