/* «Гармония Дент» — тема 2026: бирюза и свежая зелень из логотипа, мягкие формы, «улыбка» под заголовками.
   Подключается после style.css и только переопределяет оформление. */

@font-face {
	font-family: 'GD Cera';
	src: url(fonts/CeraPro-Light.woff2) format('woff2'), url(fonts/CeraPro-Light.woff) format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'GD Cera';
	src: url(fonts/CeraPro-Medium.woff2) format('woff2'), url(fonts/CeraPro-Medium.woff) format('woff');
	font-weight: 400 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'GD Cera';
	src: url(fonts/CeraPro-Bold.woff2) format('woff2'), url(fonts/CeraPro-Bold.woff) format('woff');
	font-weight: 600 800;
	font-style: normal;
	font-display: swap;
}

:root {
	--gd-teal: #0a93a6;
	--gd-teal-dark: #076b7a;
	--gd-teal-deep: #0b3c46;
	--gd-green: #7cc520;
	--gd-mint: #effaf8;
	--gd-mint-2: #e1f4f1;
	--gd-ink: #14323a;
	--gd-muted: #5d7177;
	--gd-line: #dcebea;
	--gd-radius: 22px;
	--gd-radius-sm: 14px;
	--gd-shadow: 0 10px 30px rgba(11, 60, 70, .08);
	--gd-shadow-hover: 0 18px 40px rgba(11, 60, 70, .14);
	--gd-topbar-h: 42px;
	--gd-smile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 16'%3E%3Cpath d='M4 4 Q60 22 116 4' fill='none' stroke='%237cc520' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------- база ---------- */
body {
	font-family: 'GD Cera', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif !important;
	color: var(--gd-ink);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}
body.gd_has_topbar { padding-top: var(--gd-topbar-h); }
h1, h2, h3, h4, h5, .molh1, .molh2, .inner_spec h2, .inner_spec h3, .uk-h3, .odin_title, .fot_menu_title {
	font-family: 'GD Cera', system-ui, sans-serif !important;
	font-weight: 700;
	color: var(--gd-ink);
	letter-spacing: -.01em;
}
p, li, small, span, a, td, th, input, textarea, select, button { font-family: inherit; }
a { transition: color .2s, background-color .2s, box-shadow .2s, transform .2s; }
.page_content a, .category_desc a, .article_title + .article_date a, .cetegory_section p a { color: var(--gd-teal); }
::selection { background: var(--gd-mint-2); color: var(--gd-ink); }

/* ---------- верхняя полоса с телефонами ---------- */
.gd_topbar {
	position: fixed; top: 0; left: 0; right: 0; z-index: 10000;
	height: var(--gd-topbar-h);
	background: linear-gradient(90deg, var(--gd-teal-deep), var(--gd-teal-dark));
	color: #d9f1ef; font-size: 13.5px;
}
.gd_topbar_in {
	max-width: 1280px; height: 100%; margin: 0 auto; padding: 0 16px;
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.gd_topbar_hours { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.gd_topbar_hours svg { width: 15px; height: 15px; flex: none; color: var(--gd-green); }
.gd_topbar_phones { display: flex; align-items: center; gap: 22px; }
.gd_phone { display: inline-flex; align-items: baseline; gap: 8px; color: #fff !important; white-space: nowrap; }
.gd_phone_city {
	font-size: 11px; text-transform: uppercase; letter-spacing: .08em;
	color: var(--gd-green); font-weight: 700;
}
.gd_phone_num { font-weight: 700; font-size: 16px; letter-spacing: .01em; }
.gd_phone::before {
	content: ''; align-self: center; width: 14px; height: 14px; flex: none;
	background: var(--gd-green);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.gd_phone:hover .gd_phone_num { color: var(--gd-green); }
.main_header { top: var(--gd-topbar-h) !important; }

/* мобильная полоса телефонов */
.gd_mob_phones {
	display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
	padding: 8px 12px; background: var(--gd-mint); border-top: 1px solid var(--gd-line);
}
.gd_mob_phones a {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	padding: 6px 4px; border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(11,60,70,.06);
	color: var(--gd-ink) !important; line-height: 1.2;
}
.gd_mob_phones a span { font-size: 10.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--gd-teal); font-weight: 700; }
.gd_mob_phones a b { font-size: 14px; white-space: nowrap; }
.mobaile_header { flex-wrap: wrap; box-shadow: 0 6px 20px rgba(11,60,70,.08); }
.mobaile_header > .gd_mob_phones { order: 10; flex: 0 0 100%; width: 100%; }
body.gd_mob { padding-top: 54px; }

/* ---------- шапка ---------- */
.main_header, #myHeader, .header_middle { background: rgba(255,255,255,.96) !important; }
.main_header { box-shadow: 0 6px 24px rgba(11,60,70,.07); backdrop-filter: saturate(160%) blur(8px); }
#myHeader.sticky { box-shadow: 0 6px 24px rgba(11,60,70,.10); }
.main_header .phone { display: none !important; }
span.log2, .log2 { font-family: 'GD Cera', sans-serif !important; font-weight: 700; color: var(--gd-ink); letter-spacing: -.01em; }
.log3 { color: var(--gd-muted) !important; }
.menu_link_top, .big_menu .toggle-menu span { color: var(--gd-ink) !important; font-weight: 500; position: relative; }
.menu_link_top::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: -6px; height: 3px; border-radius: 3px;
	background: var(--gd-green); transform: scaleX(0); transition: transform .25s;
}
.menu_link_top:hover::after, .menu_link_top.active_hovver::after { transform: scaleX(1); }
.menu_link_top:hover { color: var(--gd-teal) !important; }
.head_call, .btn-primary.head_call {
	background: linear-gradient(135deg, var(--gd-teal), var(--gd-teal-dark)) !important;
	color: #fff !important; border: 0 !important; border-radius: 999px !important;
	font-weight: 700; padding: 12px 22px !important;
	box-shadow: 0 8px 20px rgba(10,147,166,.30);
}
.head_call:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(10,147,166,.38); }
ul.droppp, li.item_garmonia:hover ul { border-radius: var(--gd-radius-sm) !important; box-shadow: var(--gd-shadow-hover) !important; border: 1px solid var(--gd-line); }
a.drp_don:hover { color: var(--gd-teal) !important; }
.menu-drawer { border-radius: 0 0 var(--gd-radius) var(--gd-radius); }

/* ---------- кнопки ---------- */
.one_click, .btn-primary, .green_button, .to_the_cart, .price-button a, .branch_actions .one_click {
	background: linear-gradient(135deg, var(--gd-teal), var(--gd-teal-dark)) !important;
	color: #fff !important; border: 0 !important; border-radius: 999px !important;
	font-weight: 700 !important; letter-spacing: .01em;
	box-shadow: 0 10px 24px rgba(10,147,166,.28);
}
.one_click:hover, .btn-primary:hover, .green_button:hover, .to_the_cart:hover, .price-button a:hover {
	transform: translateY(-2px); box-shadow: 0 14px 30px rgba(10,147,166,.36); filter: brightness(1.05);
}

/* остальные жёлтые элементы старой темы */
.brand_list a, .doctoro a {
	background: var(--gd-mint) !important; color: var(--gd-teal-dark) !important; font-weight: 700 !important;
	border: 1.5px solid var(--gd-line) !important; box-shadow: none !important;
}
.brand_list a:hover, .doctoro a:hover { background: var(--gd-teal) !important; color: #fff !important; border-color: var(--gd-teal) !important; }
.mystyle { background: var(--gd-teal) !important; color: #fff !important; }
.active_cat { border-color: var(--gd-teal) !important; }
.offerd_item_row { border-color: var(--gd-green) !important; }
span.clinets_icon_offer, .postuplenie { background: linear-gradient(135deg, var(--gd-green), #5fae10) !important; color: #fff !important; }

/* ---------- первый экран ---------- */
.home_page_top {
	background:
		radial-gradient(700px 420px at 6% 18%, rgba(124,197,32,.16), transparent 62%),
		linear-gradient(90deg, rgba(243,251,250,.97) 0%, rgba(243,251,250,.90) 36%, rgba(243,251,250,0) 60%),
		url(images/htb.webp) right/cover no-repeat !important;
	box-shadow: none !important;
	position: relative; overflow: hidden;
	border-radius: 0 0 48px 48px;
}
.home_page_top::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 6px;
	background: linear-gradient(90deg, var(--gd-teal), var(--gd-green));
	opacity: .9;
}
.home_page_top_center h1.home_geo_h1 {
	display: inline-flex !important; width: auto !important; align-items: center; gap: 8px;
	padding: 7px 14px; border-radius: 999px; background: #fff; box-shadow: var(--gd-shadow);
	color: var(--gd-teal-dark) !important; font-size: 15px !important; font-weight: 700 !important;
}
.home_page_top_center h1.home_geo_h1::before {
	content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--gd-green);
	box-shadow: 0 0 0 4px rgba(124,197,32,.18);
}
.home_page_top_center .home_slogan { color: var(--gd-ink) !important; font-family: 'GD Cera', sans-serif !important; font-size: 46px !important; line-height: 1.12 !important; letter-spacing: -.02em; }
.g_t_t small { color: var(--gd-muted) !important; font-size: 20px !important; line-height: 1.5 !important; }

/* ---------- заголовки секций: «улыбка» ---------- */
.inner_spec h2, .inner_spec h3, .product_top_title h2, h2.molh1, .garmonia_big h4, .accordion_title, .cetegory_section h1, .article_title h1, #page > h1 {
	position: relative; padding-bottom: 18px !important;
}
.inner_spec h2::after, .inner_spec h3::after, .product_top_title h2::after, h2.molh1::after, .garmonia_big h4::after, .cetegory_section h1::after, .article_title h1::after, #page > h1::after {
	content: ''; position: absolute; left: 0; bottom: 0; width: 84px; height: 12px;
	background: var(--gd-smile) no-repeat left center / contain;
}
.product_top_title h2::after, h2.molh1::after { left: 50%; transform: translateX(-50%); }

/* ---------- секции и фоны ---------- */
.pop_products_faq, .garmonia_big_back { background: var(--gd-mint) !important; }
.otzivi_block { background: linear-gradient(180deg, #fff, var(--gd-mint)) !important; }

/* ---------- карточки ---------- */
.splide__slide > a, .splide__slide > div, .rev_blok25, .filial-item, .branch_card, .product_services > *, .doctor_item, .one_brand,
.licenziya_page_item, .socials-item, .news_item, .art_item {
	border-radius: var(--gd-radius) !important;
}
.rev_blok25, .filial-item, .socials-item {
	background: #fff !important; box-shadow: var(--gd-shadow) !important; border: 1px solid var(--gd-line) !important;
	transition: transform .25s, box-shadow .25s;
}
.rev_blok25:hover, .filial-item:hover { transform: translateY(-3px); box-shadow: var(--gd-shadow-hover) !important; }
.splide__slide img { border-radius: var(--gd-radius-sm); }
.splide__pagination__page.is-active { background: var(--gd-teal) !important; }
.splide__arrow { background: #fff !important; box-shadow: var(--gd-shadow); }
.splide__arrow svg { fill: var(--gd-teal) !important; }

/* направления клиники */
.product_services a, .product_services li {
	border-radius: var(--gd-radius-sm) !important; transition: background-color .2s, transform .2s;
}
.product_services a:hover, .product_services li:hover { background: var(--gd-mint) !important; transform: translateX(4px); }

/* FAQ */
.accordion-item { border-radius: var(--gd-radius-sm) !important; background: #fff !important; box-shadow: 0 4px 14px rgba(11,60,70,.05); border: 1px solid var(--gd-line) !important; margin-bottom: 10px !important; overflow: hidden; }
.accordion-item-header { font-weight: 600 !important; color: var(--gd-ink) !important; }
.accordion-item-header.active { color: var(--gd-teal) !important; }

/* формы и всплывающие окна */
.popup_inp, .form-control, select.stom_location, select.stom_doctor, .comm, .pop_comment {
	border-radius: 12px !important; border: 1.5px solid var(--gd-line) !important; background: #fbfefe !important;
}
.popup_inp:focus, .form-control:focus, select:focus, textarea:focus { border-color: var(--gd-teal) !important; outline: 3px solid rgba(10,147,166,.15) !important; }
.fancybox-content, #showroom_back_call { border-radius: var(--gd-radius) !important; }
.odin_title { color: var(--gd-ink) !important; }
.pd_consent a { color: var(--gd-teal); }

/* хлебные крошки */
#breadcrumbs a, #breadcrumbs_new a { color: var(--gd-teal) !important; }

/* ---------- подвал ---------- */
footer {
	background:
		radial-gradient(700px 300px at 90% 0%, rgba(124,197,32,.14), transparent 60%),
		linear-gradient(160deg, var(--gd-teal-deep), #082a31) !important;
	color: #cfe6e4 !important; border-radius: 36px 36px 0 0; margin-top: 40px;
}
footer a, footer p, footer span, footer .zakaz_title, footer .fot_big_text, footer li, footer .right1 { color: #cfe6e4 !important; }
footer a:hover { color: #fff !important; }
footer .fot_menu_title, footer .log2_f { color: #fff !important; }
footer .log3_f { color: #9cc9c5 !important; }
footer .log1_f img { background: none; filter: drop-shadow(0 6px 18px rgba(0,0,0,.25)); }
footer .phonn p { color: #fff !important; font-weight: 700; font-size: 18px; }
footer .copyright { border-top: 1px solid rgba(255,255,255,.10) !important; }
footer .legal_info b { color: #fff !important; }

/* ---------- внутренние страницы ---------- */
.page_content, .category_desc { line-height: 1.7; }
.page_content h2, .category_desc h2 { margin-top: 28px; }
.pd_table th { background: var(--gd-mint); }

/* плавающая кнопка связи и баннер cookie */
.gd_cookie { border: 1px solid var(--gd-line); border-radius: var(--gd-radius) !important; }
.gd_cookie .gd_accept { background: var(--gd-teal) !important; color: #fff !important; }

/* ---------- мобильные ---------- */
@media (max-width: 820px) {
	.home_page_top {
		background:
			linear-gradient(180deg, rgba(243,251,250,.94) 0%, rgba(243,251,250,.80) 55%, rgba(243,251,250,.35) 100%),
			url(images/mob_bt.webp) 38% 0/cover no-repeat !important;
		border-radius: 0 0 28px 28px;
	}
	.home_page_top_center .home_slogan { font-size: 30px !important; }
	.g_t_t small { font-size: 17px !important; }
	footer { border-radius: 26px 26px 0 0; }
}
@media (max-width: 1100px) {
	.gd_topbar_hours span.gd_long { display: none; }
}
