/* Cleorix — additions on top of style.min.css (fonts, FAQ, gallery, SEO text, footer, legal pages) */
/* ---------- Fonts (self-hosted, subset for HU/CS/SK/SL, variable weight) ---------- */
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 400 700; font-display: swap;
	src: url(../fonts/roboto-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+2013-2014, U+2018-201E, U+2022, U+2026, U+20AC, U+2212, U+2032-2033, U+00D7; }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 400 700; font-display: swap;
	src: url(../fonts/roboto-latin-ext.woff2) format("woff2");
	unicode-range: U+010C-0111, U+011A-011B, U+0139-013E, U+0147-0148, U+0150-0151, U+0154-0155, U+0158-0161, U+0164-0165, U+016E-0171, U+017D-017E; }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 600 800; font-display: swap;
	src: url(../fonts/montserrat-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+2013-2014, U+2018-201E, U+2022, U+2026, U+20AC, U+2212, U+2032-2033, U+00D7; }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 600 800; font-display: swap;
	src: url(../fonts/montserrat-latin-ext.woff2) format("woff2");
	unicode-range: U+010C-0111, U+011A-011B, U+0139-013E, U+0147-0148, U+0150-0151, U+0154-0155, U+0158-0161, U+0164-0165, U+016E-0171, U+017D-017E; }
/* metric-matched fallbacks: less layout shift while the web fonts load */
@font-face { font-family: "Roboto Fallback"; src: local("Arial"); size-adjust: 100.3%; ascent-override: 92.7%; descent-override: 24.4%; line-gap-override: 0%; }
@font-face { font-family: "Montserrat Fallback"; src: local("Arial"); size-adjust: 113.4%; ascent-override: 85.4%; descent-override: 22.1%; line-gap-override: 0%; }

:root {
	--font-body: "Roboto", "Roboto Fallback", Arial, Helvetica, sans-serif;
	--font-head: "Montserrat", "Montserrat Fallback", Arial, Helvetica, sans-serif;
}

:root {
	--c-navy: #092442;
	--c-green: #539a32;
	--c-green-dark: #348a0c;
	--c-ink: #222;
	--c-muted: #5b6475;
	--c-line: #e3e7ee;
	--c-footer: #1f2a37;
}

img { max-width: 100%; height: auto; }

/* H1: brand + keyword line */
.promo__title-sub {
	display: block;
	margin-top: 6px;
	font-size: 26px;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: none;
	color: var(--c-green);
}
@media (max-width: 767px) { .promo__title-sub { font-size: 20px; } }

/* menu button reset (was a div) */
button.nav__menu { border: 0; cursor: pointer; line-height: 0; }

/* honeypot */
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.order-error {
	position: sticky; top: 0; z-index: 200;
	background: #c0392b; color: #fff; text-align: center;
	padding: 12px 16px; font-size: 16px; font-weight: 500;
}

.components__lead {
	max-width: 760px; margin: -20px auto 40px; text-align: center;
	font-size: 18px; line-height: 1.45; color: var(--c-muted);
}
.components__wrap--second { margin-top: 40px; }

/* ---------- Real photo gallery ---------- */
.gallery { padding: 70px 0; }
.gallery__title { text-align: center; margin-bottom: 16px; }
.gallery__desc { text-align: center; font-size: 18px; color: var(--c-muted); max-width: 720px; margin: 0 auto 36px; line-height: 1.45; }
.gallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; width: 100%; }
.gallery__item { margin: 0; border-radius: 10px; overflow: hidden; box-shadow: 0 6px 20px rgba(9, 36, 66, .12); background: #eee; }
.gallery__item img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .4s; }
.gallery__item:hover img { transform: scale(1.04); }
.gallery__item:nth-child(n+7) { display: none; }
@media (min-width: 1024px) {
	.gallery__grid { grid-template-columns: repeat(4, 1fr); }
	.gallery__item:nth-child(n+7) { display: block; }
	.gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
}
@media (max-width: 639px) {
	.gallery { padding: 45px 0; }
	.gallery__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.gallery__item:nth-child(n+7) { display: none; }
}

/* ---------- FAQ ---------- */
.faq { padding: 70px 0; }
.faq__title { text-align: center; margin-bottom: 36px; width: 100%; }
.faq__list { max-width: 860px; margin: 0 auto; width: 100%; }
.faq__item { background: #fff; border-radius: 10px; margin-bottom: 12px; box-shadow: 0 3px 12px rgba(9, 36, 66, .08); border: 1px solid var(--c-line); }
.faq__q { list-style: none; cursor: pointer; padding: 18px 56px 18px 22px; position: relative; }
.faq__q::-webkit-details-marker { display: none; }
.faq__q h3 { font-size: 19px; font-weight: 700; color: var(--c-navy); line-height: 1.3; }
.faq__q::after {
	content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
	width: 28px; height: 28px; border-radius: 50%; background: var(--c-green); color: #fff;
	font-size: 22px; line-height: 27px; text-align: center; font-weight: 500;
}
.faq__item[open] .faq__q::after { content: "−"; }
.faq__a { padding: 0 22px 20px; font-size: 16px; line-height: 1.6; color: #333; }
@media (max-width: 639px) {
	.faq { padding: 45px 0; }
	.faq__q h3 { font-size: 16px; }
	.faq__a { font-size: 15px; }
}

/* ---------- SEO text ---------- */
.seo-text { padding: 60px 0; }
.seo-text__title { text-align: center; margin-bottom: 30px; width: 100%; }
.seo-text__body { max-width: 860px; margin: 0 auto; font-size: 16px; line-height: 1.65; color: #333; width: 100%; }
.seo-text__h3 { font-size: 21px; font-weight: 700; color: var(--c-navy); margin: 22px 0 8px; }
.seo-text__body p { margin-bottom: 10px; }
.seo-text__body b { font-weight: 700; }

/* ---------- Footer ---------- */
.site-footer { background: var(--c-footer); color: #c9d1dc; padding: 50px 0 90px; font-size: 14px; line-height: 1.55; }
.site-footer .container { display: block; }
.site-footer__top { display: grid; grid-template-columns: 1.6fr 1fr 1.2fr 1fr; gap: 30px; padding-bottom: 30px; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.site-footer__brand img { width: 150px; margin-bottom: 14px; filter: brightness(0) invert(1); }
.site-footer__ttl { color: #fff; font-weight: 700; font-size: 16px; margin-bottom: 12px; }
.site-footer ul { list-style: none; }
.site-footer li { margin-bottom: 7px; }
.site-footer a { color: #c9d1dc; text-decoration: none; transition: color .2s; word-break: break-word; }
.site-footer a:hover, .site-footer a[aria-current] { color: #8fd16a; }
.site-footer__legal { padding: 24px 0; font-size: 13px; color: #9aa5b4; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.site-footer__legal p { margin-bottom: 10px; }
.site-footer__legal strong { color: #fff; font-weight: 700; }
.site-footer__bottom { padding-top: 18px; font-size: 13px; color: #8390a2; text-align: center; }
@media (max-width: 1023px) { .site-footer__top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 639px) {
	.site-footer { padding: 36px 0 100px; }
	.site-footer__top { grid-template-columns: 1fr; gap: 22px; }
}

/* ---------- Legal / thank-you pages ---------- */
.lp-simple { background: #f4f6f3; color: var(--c-ink); font-family: var(--font-body); min-height: 100vh; display: flex; flex-direction: column; }
.lp-simple__head { background: var(--c-navy); padding: 14px 16px; }
.lp-simple__head-in, .lp-simple__main, .lp-simple__foot-in { max-width: 860px; margin: 0 auto; width: 100%; }
.lp-simple__head-in { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lp-simple__head img { height: 36px; width: auto; }
.lp-simple__head a { color: #8fd16a; font-weight: 500; text-decoration: none; }
.lp-simple__main { flex: 1; padding: 36px 16px 50px; }
.legal { background: #fff; border-radius: 12px; padding: 36px 40px; box-shadow: 0 6px 24px rgba(9, 36, 66, .07); font-size: 15px; line-height: 1.7; }
.legal h1 { font-size: 32px; font-weight: 700; color: var(--c-navy); line-height: 1.2; margin-bottom: 8px; }
.legal h2 { font-size: 20px; font-weight: 700; color: var(--c-navy); margin: 28px 0 8px; }
.legal p, .legal ul { margin-bottom: 10px; }
.legal ul { padding-left: 22px; list-style: disc; }
.legal strong { font-weight: 700; }
.legal a { color: var(--c-green-dark); }
.legal__meta { color: var(--c-muted); font-size: 14px; margin-bottom: 20px; }
.legal__note { background: #fff8e1; border-left: 4px solid #f0b400; padding: 12px 16px; font-size: 13px; color: #6b5a00; margin-top: 30px; }
.lp-simple__foot { background: var(--c-footer); color: #9aa5b4; font-size: 13px; padding: 18px 16px; }
.lp-simple__foot a { color: #c9d1dc; margin-right: 16px; }
@media (max-width: 639px) {
	.legal { padding: 24px 18px; }
	.legal h1 { font-size: 25px; }
}

.thanks { text-align: center; background: #fff; border-radius: 14px; padding: 44px 28px; box-shadow: 0 6px 24px rgba(9, 36, 66, .07); }
.thanks__icon { width: 76px; height: 76px; border-radius: 50%; background: var(--c-green); color: #fff; font-size: 44px; line-height: 76px; margin: 0 auto 20px; }
.thanks h1 { font-size: 30px; color: var(--c-navy); font-weight: 700; margin-bottom: 12px; line-height: 1.2; }
.thanks__lead { font-size: 18px; color: #333; line-height: 1.5; margin-bottom: 26px; }
.thanks__product { max-width: 180px; margin: 0 auto 24px; display: block; }
.thanks__steps { text-align: left; max-width: 520px; margin: 0 auto; list-style: none; padding: 0; counter-reset: s; }
.thanks__steps li { position: relative; padding: 0 0 16px 46px; font-size: 16px; line-height: 1.5; counter-increment: s; }
.thanks__steps li::before { content: counter(s); position: absolute; left: 0; top: -2px; width: 32px; height: 32px; border-radius: 50%; background: #eaf5e3; color: var(--c-green-dark); font-weight: 700; text-align: center; line-height: 32px; }
.thanks__note { margin-top: 18px; font-size: 14px; color: var(--c-muted); }

/* price fit (local currency strings are longer than the original) */
.form__price { flex-wrap: nowrap; }
.form__price-after { font-size: 32px !important; white-space: nowrap; }
.form__price-before { white-space: nowrap; }
.promo .promo__subtitle { font-size: 20px; font-weight: 500; line-height: 1.35; }
@media (max-width: 767px) { .promo .promo__subtitle { font-size: 17px; } .form__price-after { font-size: 28px !important; } }


/* ---------- Typography ---------- */
body, input, textarea, button, .btn { font-family: var(--font-body); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* headings, prices, buttons, numbers */
h1, h2, .title, .main__ttl, .promo__title, .promo__title-sub, .form__title,
.form__price-before, .form__price-after, .btn, .action-form__ttl, .action-form__date,
.stat-box__num, .faq__q h3, .seo-text__h3, .component__ttl, .about-advantages__name,
.slide__main, .slide__name, .order-item__ttl, .doctor__subtitle, .doctor__right--doc-name,
.promo__pack-desc, .timer__block, .banner__prod--text, .popup__prod--title, .site-footer__ttl,
.legal h1, .legal h2, .thanks h1, .geo h1, .geo-card__name, .geo-card__price {
	font-family: var(--font-head);
}
h1, h2, .title, .main__ttl, .promo__title { font-weight: 800; letter-spacing: -0.01em; }
.promo__title { letter-spacing: 0.06em; }
.promo__title-sub, .form__title, .component__ttl, .about-advantages__name, .slide__main,
.order-item__ttl, .faq__q h3, .seo-text__h3, .site-footer__ttl { font-weight: 700; }
.btn { font-weight: 800; letter-spacing: 0.01em; }
.about-advantages__name--small { font-family: var(--font-body); font-weight: 400; }

/* Montserrat is wider than Roboto: keep section titles on 2–3 lines */
.title { font-size: 44px; line-height: 1.15; }
.main__ttl { line-height: 1.2; }
@media (max-width: 1023px) { .title { font-size: 38px; } }
@media (max-width: 767px)  { .title { font-size: 30px; } }
@media (max-width: 479px)  { .title { font-size: 25px; } .promo__title-sub { font-size: 18px; } }

/* readability for a 45+ audience: body copy never below 16px */
.slide__text, .order-item__text, .about-list__item, .doctor__right--text p,
.statistics__text, .component__text, .item__text, .soon__slider-item--text, .steps__second--list-el p,
.gallery__desc, .components__lead { line-height: 1.5; }
@media (max-width: 767px) {
	.slide__text, .order-item__text, .about-list__item, .doctor__right--text p,
	.steps__second--list-el p, .seo-text__body, .faq__a { font-size: 16px; }
}

/* medals were absolutely pinned under the form (bottom:-650px) and overlapped longer
   local texts on mobile/tablet: keep them in the normal flow instead */
@media (max-width: 1023px) {
	.promo__medals { position: static !important; display: flex; justify-content: center; gap: 12px; margin: 14px auto 6px; width: auto !important; max-width: 100% !important; }
	.promo__medals img { margin: 0; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.form__price-after { font-size: 26px !important; }
	.form__price-before { font-size: 18px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.promo .promo__subtitle, .promo .promo__title-sub { max-width: 270px; }
	.promo .promo__subtitle { font-size: 16px; }
}
.form__price { gap: 12px; }
.form__price-before { font-size: 19px; }
