/*
Theme Name: Nakov Child
Description: Site-specific customizations for nakov.artwebdesign.eu.
Template: hello-elementor
Version: 1.0.7
Text Domain: nakov-child
*/

/* Front-page-only footer credit. */
.nakov-home-footer-credit {
	padding: 0 20px 20px;
	background: #020a14;
	color: #fff;
	font-size: 13px;
	line-height: 1.4;
	text-align: center;
}

.nakov-home-footer-credit a,
.nakov-home-footer-credit a:hover,
.nakov-home-footer-credit a:focus {
	color: #fff;
	font-size: 13px;
	text-decoration: none;
}

.legal-service-practice-points {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 42px;
	margin: 0;
	padding: 0;
	list-style: none;
}


.single-post h2{
	    font-size: 36px;

}

.legal-service-practice-points li {
	position: relative;
	padding-left: 28px;
}

.legal-service-practice-points li::before {
	content: "✦";
	position: absolute;
	left: 0;
	color: var(--e-global-color-primary, currentColor);
}

.legal-service-practice-points strong,
.legal-service-practice-points span {
	display: block;
}

.legal-service-practice-points strong {
	font-size: 21px;
	font-weight: 500;
	line-height: 1.4;
}

.legal-service-practice-points span {
	margin-top: 4px;
	font-size: 15px;
	line-height: 1.5;
}

.legal-service-points-heading {
	font-size: 40px;
	line-height: 1.2;
	margin-bottom: 40px;
}

/* A point without supporting copy needs a more compact treatment.
 * This keeps text-only service lists balanced instead of looking like
 * oversized paragraph blocks. */
.legal-service-practice-points li:not(:has(span)) {
	padding-left: 24px;
}

.legal-service-practice-points li:not(:has(span)) strong {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.45;
}

@media (max-width: 767px) {

	
.single-post h2{
	    font-size: 26px;

}


	.legal-service-practice-points {
		grid-template-columns: 1fr;
	}

	.legal-service-practice-points strong {
		font-size: 19px;
	}

	.legal-service-practice-points li:not(:has(span)) strong {
		font-size: 17px;
	}
}

/* Desktop mega menu for "Правни услуги". The service names retain enough
 * width to wrap at most twice, while tablet and mobile keep Elementor's
 * original collapsed-navigation behaviour. */
@media (min-width: 1025px) {
	#menu-item-246 > .elementskit-submenu-panel {
		width: min(860px, calc(100vw - 48px)) !important;
		left: 50% !important;
		transform: translateX(-34%) !important;
		padding: 20px 24px !important;
		box-sizing: border-box;
		z-index: 1000;
	}

	#menu-item-246:hover > .elementskit-submenu-panel,
	#menu-item-246:focus-within > .elementskit-submenu-panel {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 36px;
		row-gap: 2px;
	}

	#menu-item-246 > .elementskit-submenu-panel > li {
		width: auto !important;
		margin: 0 !important;
	}

	#menu-item-246 > .elementskit-submenu-panel > li > a {
		min-height: 52px;
		display: flex;
		align-items: center;
		padding: 10px 12px !important;
		white-space: normal;
		line-height: 1.4;
	}
}

/* Standard WordPress pages (without an Elementor page template) need the
 * same readable rhythm as the Elementor layouts.  The site header occupies
 * visual space above the document flow, so these pages need a generous top
 * inset to prevent their title from sitting beneath the logo/navigation. */
body.page-template-default:not(.elementor-page) .site-main {
	max-width: 1140px;
	margin: 0 auto;
	padding: 220px 24px 96px;
}

body.page-template-default:not(.elementor-page) .site-main .page-header {
	margin: 0 0 32px;
}

body.page-template-default:not(.elementor-page) .site-main .entry-title,
body.page-template-default:not(.elementor-page) .site-main .page-content > h1 {
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.15;
	margin: 0;
}

/* Deliberate type scale for native WordPress page content.  Elementor
 * templates keep their own styling; this only normalizes pages such as the
 * privacy policy that are rendered by the default page template. */
body.page-template-default:not(.elementor-page) .site-main .page-content {
	line-height: 1.7;
}

body.page-template-default:not(.elementor-page) .site-main .page-content h2 {
	font-size: clamp(30px, 3vw, 38px);
	line-height: 1.2;
	margin: 56px 0 20px;
}

body.page-template-default:not(.elementor-page) .site-main .page-content h3 {
	font-size: clamp(24px, 2.4vw, 30px);
	line-height: 1.25;
	margin: 42px 0 16px;
}

body.page-template-default:not(.elementor-page) .site-main .page-content h4 {
	font-size: 22px;
	line-height: 1.3;
	margin: 32px 0 14px;
}

body.page-template-default:not(.elementor-page) .site-main .page-content h5,
body.page-template-default:not(.elementor-page) .site-main .page-content h6 {
	font-size: 18px;
	line-height: 1.4;
	margin: 28px 0 12px;
}

body.page-template-default:not(.elementor-page) .site-main .page-content p,
body.page-template-default:not(.elementor-page) .site-main .page-content ul,
body.page-template-default:not(.elementor-page) .site-main .page-content ol {
	margin: 0 0 20px;
}

body.page-template-default:not(.elementor-page) .site-main .page-content li + li {
	margin-top: 6px;
}

/* Refined, performance-friendly scroll motion for the homepage. The classes
 * are added only by premium-motion.js, so content stays fully visible if JS
 * is unavailable. */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 110px;
}

@media (prefers-reduced-motion: no-preference) {
	.home .nakov-reveal {
		opacity: 0;
		transform: translate3d(0, 30px, 0);
		transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1), transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
		will-change: opacity, transform;
	}

	.home .nakov-reveal.nakov-reveal--visible {
		opacity: 1;
		transform: none;
		will-change: auto;
	}

	.home .nakov-reveal .nakov-reveal-card {
		opacity: 0;
		transform: translate3d(0, 20px, 0);
		transition: opacity 560ms cubic-bezier(0.22, 1, 0.36, 1), transform 560ms cubic-bezier(0.22, 1, 0.36, 1);
		transition-delay: var(--nakov-reveal-delay, 0ms);
	}

	.home .nakov-reveal.nakov-reveal--visible .nakov-reveal-card {
		opacity: 1;
		transform: none;
	}

	.home .nakov-reveal .elementor-button,
	.home .nakov-reveal .elementskit-btn {
		transition: transform 240ms ease, box-shadow 240ms ease, background-color 240ms ease;
	}

	.home .nakov-reveal .elementor-button:hover,
	.home .nakov-reveal .elementskit-btn:hover {
		transform: translateY(-2px);
	}
}

/* Anchor destinations remain readable beneath the fixed navigation. */
section[id],
.e-con[id],
.elementor-menu-anchor {
	scroll-margin-top: 110px;
}

@media (max-width: 767px) {
	body.page-template-default:not(.elementor-page) .site-main {
		padding: 70px 20px 64px;
	}

	body.page-template-default:not(.elementor-page) .site-main .page-content h2 {
		margin-top: 42px;
	}

	body.page-template-default:not(.elementor-page) .site-main .page-content h3 {
		margin-top: 32px;
	}
}
