/*
 * Lovasok.hu Kiegészítő – design.css
 * Kleo + GeoDirectory styles, matched to eladolovak.lovasok.hu.
 * Everything is scoped under body.lvk-design, so turning the module off
 * restores the original look. Colours come from CSS variables set in the
 * plugin settings.
 *
 *  1. Base                 5. Footer
 *  2. Network bar          6. GeoDirectory
 *  3. Header               7. Buttons, forms
 *  4. Mobile header        8. Utility classes
 */

/* ===== 1. Base ========================================================= */

body.lvk-design {
	color: var(--lvk-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.lvk-design a {
	color: var(--lvk-primary);
	transition: color .15s ease, background-color .15s ease, border-color .15s ease;
}
body.lvk-design a:hover,
body.lvk-design a:focus {
	color: var(--lvk-primary-dark);
}

/* No underline in header, footer and card links */
body.lvk-design #header a,
body.lvk-design #footer a,
body.lvk-design #socket a,
body.lvk-design .geodir-post-title a,
body.lvk-design .geodir-entry-title a,
body.lvk-design .lvk-btn-gold {
	text-decoration: none;
}

body.lvk-design h1,
body.lvk-design h2,
body.lvk-design h3,
body.lvk-design h4,
body.lvk-design h5 {
	color: var(--lvk-text);
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.25;
}

body.lvk-design ::selection {
	background: var(--lvk-primary);
	color: #fff;
}

body.lvk-design a:focus-visible,
body.lvk-design button:focus-visible,
body.lvk-design input:focus-visible,
body.lvk-design select:focus-visible,
body.lvk-design textarea:focus-visible,
body.lvk-design .btn:focus-visible {
	outline: 2px solid var(--lvk-accent);
	outline-offset: 2px;
}

/* ===== 2. Network bar (LOVASOK.HU · LOVAK · LOVARDÁK · PIACTÉR) ========= */

body.lvk-design #header .social-header,
body.lvk-design .social-header {
	background: var(--lvk-primary-dark);
	border: 0;
	color: #fff;
}

body.lvk-design .social-header ul {
	margin: 0;
	padding: 0;
}

/* Centered links, same as eladolovak */
@media (min-width: 992px) {
	body.lvk-design.lvk-topbar-center .social-header .top-bar {
		display: flex;
		justify-content: center;
	}
	body.lvk-design.lvk-topbar-center .social-header .top-bar > div {
		float: none;
		width: auto;
	}
}

body.lvk-design #header .social-header a,
body.lvk-design .social-header a {
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	line-height: 38px;
	padding: 0 20px;
	background: transparent;
	transition: color .15s ease;
}
body.lvk-design #header .social-header a:hover,
body.lvk-design #header .social-header a:focus {
	color: var(--lvk-highlight);
	background: transparent;
}

/* Active site: menu item class lvk-net-active, or lvk-net-<name> where the
   name comes from the settings (that rule is added inline) */
body.lvk-design #header .social-header .lvk-net-active > a {
	color: var(--lvk-highlight);
}

/* ===== 3. Header (logo + menu) ========================================= */

body.lvk-design #header .kleo-main-header {
	background: var(--lvk-primary);
	border: 0;
}

body.lvk-design.lvk-header-shadow #header .kleo-main-header {
	box-shadow: 0 2px 12px rgba(0, 0, 0, .12);
}

/* Keep the logo proportional */
body.lvk-design #header .logo img,
body.lvk-design #logo_img {
	height: auto;
	max-height: 48px;
	width: auto;
	object-fit: contain;
}
body.lvk-design #header .logo a,
body.lvk-design #header .navbar-brand {
	color: #fff;
	font-weight: 700;
}

/* Main menu links and icons (search, cart etc.) */
body.lvk-design #header .kleo-main-header .navbar-nav > li > a,
body.lvk-design #header .kleo-main-header .kleo-toggle-menu > a,
body.lvk-design #header .kleo-main-header .kleo-search-wrap a,
body.lvk-design #header .kleo-main-header .kleo-mobile-icons a {
	color: rgba(255, 255, 255, .9);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	background: transparent;
}

body.lvk-design #header .kleo-main-header .navbar-nav > li > a:hover,
body.lvk-design #header .kleo-main-header .navbar-nav > li > a:focus,
body.lvk-design #header .kleo-main-header .navbar-nav > li.current-menu-item > a,
body.lvk-design #header .kleo-main-header .navbar-nav > li.current-menu-ancestor > a,
body.lvk-design #header .kleo-main-header .navbar-nav > li.open > a,
body.lvk-design #header .kleo-main-header .kleo-toggle-menu > a:hover,
body.lvk-design #header .kleo-main-header .kleo-search-wrap a:hover {
	color: #fff;
	background: transparent;
}

/* Kleo active underline / caret colour */
body.lvk-design #header .kleo-main-header .navbar-nav > li > a:before,
body.lvk-design #header .kleo-main-header .navbar-nav > li > a:after {
	border-color: rgba(255, 255, 255, .6);
}

/* Dropdowns: white panel, dark text */
body.lvk-design #header .navbar-nav .dropdown-menu {
	background: #fff;
	border: 1px solid var(--lvk-border);
	border-radius: var(--lvk-radius);
	box-shadow: 0 12px 32px rgba(17, 24, 39, .14);
	padding: 6px 0;
}
body.lvk-design #header .navbar-nav .dropdown-menu > li > a {
	color: var(--lvk-text);
	font-size: 14px;
	font-weight: 500;
	padding: 8px 18px;
	border: 0;
	white-space: normal;
	background: transparent;
}
body.lvk-design #header .navbar-nav .dropdown-menu > li > a:hover,
body.lvk-design #header .navbar-nav .dropdown-menu > li > a:focus,
body.lvk-design #header .navbar-nav .dropdown-menu > li.current-menu-item > a {
	background: var(--lvk-bg);
	color: var(--lvk-primary);
}

/* Long dropdown in two columns – menu item class: lvk-2col */
@media (min-width: 992px) {
	body.lvk-design #header .navbar-nav > li.lvk-2col > .dropdown-menu {
		column-count: 2;
		column-gap: 0;
		min-width: 460px;
	}
	body.lvk-design #header .navbar-nav > li.lvk-2col > .dropdown-menu > li {
		break-inside: avoid;
	}
}

/* Menu buttons (Appearance → Menus → CSS Classes):
   lvk-btn-light   – white button (e.g. Bejelentkezés)
   lvk-btn-outline – outlined button (e.g. Hirdetés feladása, Regisztráció)
   lvk-cta         – gold button */
body.lvk-design #header .navbar-nav > li.lvk-btn-light > a,
body.lvk-design #header .navbar-nav > li.lvk-btn-outline > a,
body.lvk-design #header .navbar-nav > li.lvk-cta > a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border-radius: 8px;
	padding: 10px 16px;
	line-height: 1.2;
	margin: 0;
	font-weight: 600;
	text-transform: none;
}
body.lvk-design #header .navbar-nav > li.lvk-btn-light > a {
	background: #fff;
	color: var(--lvk-text);
}
body.lvk-design #header .navbar-nav > li.lvk-btn-light > a:hover,
body.lvk-design #header .navbar-nav > li.lvk-btn-light > a:focus {
	background: #f3f4f6;
	color: var(--lvk-text);
}
body.lvk-design #header .navbar-nav > li.lvk-btn-outline > a {
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25);
	color: #fff;
	background: transparent;
}
body.lvk-design #header .navbar-nav > li.lvk-btn-outline > a:hover,
body.lvk-design #header .navbar-nav > li.lvk-btn-outline > a:focus {
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6);
	background: rgba(255, 255, 255, .06);
	color: #fff;
}
body.lvk-design #header .navbar-nav > li.lvk-cta > a {
	background: var(--lvk-accent);
	color: var(--lvk-on-accent);
}
body.lvk-design #header .navbar-nav > li.lvk-cta > a:hover,
body.lvk-design #header .navbar-nav > li.lvk-cta > a:focus {
	filter: brightness(1.06);
	color: var(--lvk-on-accent);
}

@media (min-width: 992px) {
	body.lvk-design #header .navbar-nav > li.lvk-btn-light,
	body.lvk-design #header .navbar-nav > li.lvk-btn-outline,
	body.lvk-design #header .navbar-nav > li.lvk-cta {
		display: flex;
		align-items: center;
		align-self: stretch;
		margin-left: 8px;
	}
}

/* ===== 4. Mobile header ================================================ */

@media (max-width: 991px) {
	/* Network bar: single row, scrolls horizontally */
	body.lvk-design .social-header ul {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	body.lvk-design .social-header ul::-webkit-scrollbar {
		display: none;
	}
	body.lvk-design .social-header ul > li {
		float: none;
		flex: 0 0 auto;
	}
	body.lvk-design #header .social-header a {
		font-size: 12px;
		padding: 0 10px;
		line-height: 34px;
	}

	body.lvk-design #header .logo img,
	body.lvk-design #logo_img {
		max-height: 40px;
	}

	/* Hamburger: white bars */
	body.lvk-design #header .navbar-toggle {
		border: 0;
		border-radius: 8px;
		background: transparent;
	}
	body.lvk-design #header .navbar-toggle .icon-bar {
		background-color: #fff;
		border-radius: 2px;
	}
	body.lvk-design #header .navbar-toggle:hover,
	body.lvk-design #header .navbar-toggle:focus {
		background: rgba(255, 255, 255, .08);
	}

	/* Opened mobile menu */
	body.lvk-design #header .primary-menu {
		background: var(--lvk-primary);
		border-top: 1px solid rgba(255, 255, 255, .1);
	}
	body.lvk-design #header .primary-menu .navbar-nav > li > a {
		padding-top: 12px;
		padding-bottom: 12px;
		border-bottom: 1px solid rgba(255, 255, 255, .08);
	}
	body.lvk-design #header .navbar-nav .dropdown-menu {
		border: 0;
		box-shadow: none;
		border-radius: 0;
		background: var(--lvk-primary-dark);
		column-count: 1;
		min-width: 0;
	}
	body.lvk-design #header .navbar-nav .dropdown-menu > li > a {
		color: rgba(255, 255, 255, .85);
	}
	body.lvk-design #header .navbar-nav .dropdown-menu > li > a:hover,
	body.lvk-design #header .navbar-nav .dropdown-menu > li > a:focus {
		background: rgba(255, 255, 255, .06);
		color: #fff;
	}
	body.lvk-design #header .navbar-nav > li.lvk-btn-light,
	body.lvk-design #header .navbar-nav > li.lvk-btn-outline,
	body.lvk-design #header .navbar-nav > li.lvk-cta {
		padding: 6px 15px;
	}
	body.lvk-design #header .navbar-nav > li.lvk-btn-light > a,
	body.lvk-design #header .navbar-nav > li.lvk-btn-outline > a,
	body.lvk-design #header .navbar-nav > li.lvk-cta > a {
		display: flex;
		justify-content: center;
		border-bottom: 0;
	}
}

/* ===== 4/C. Header layout (Kleo "Normal" header) ======================
   Desktop: logo + label | primary menu (centered) | secondary menu (right)
   Mobile:  logo + label | search icon | hamburger; the secondary menu shows
            under the primary one when the hamburger is open.
   Enabled by body.lvk-header-layout. Never target Kleo's random
   "nav-xxxxxxxx" class – only .primary-menu / .secondary-menu. */

/* Logo + label (text comes from the inline --lvk-logo-text) */
body.lvk-design.lvk-header-layout #header .logo {
	display: flex;
	align-items: center;
	margin: 0;
}
body.lvk-design.lvk-header-layout #header .logo a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	text-decoration: none;
}
body.lvk-design.lvk-header-layout.lvk-has-logo-text #header .logo a::after {
	content: var(--lvk-logo-text);
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1;
	white-space: nowrap;
}

@media (min-width: 992px) {
	body.lvk-design.lvk-header-layout #header .kleo-main-header > .container {
		display: flex;
		align-items: center;
		gap: 24px;
	}
	body.lvk-design.lvk-header-layout #header .kleo-main-header > .container::before,
	body.lvk-design.lvk-header-layout #header .kleo-main-header > .container::after {
		display: none;
	}
	body.lvk-design.lvk-header-layout #header .kleo-main-header .navbar-header {
		float: none;
		flex: 0 0 auto;
		margin: 0;
	}
	/* Primary menu, centered */
	body.lvk-design.lvk-header-layout #header .kleo-main-header .primary-menu {
		float: none;
		flex: 1 1 auto;
		min-width: 0;
		padding: 0;
	}
	body.lvk-design.lvk-header-layout #header .kleo-main-header .primary-menu > .navbar-nav {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		float: none;
		margin: 0;
	}
	/* Secondary menu on the right, buttons in one row */
	body.lvk-design.lvk-header-layout #header .kleo-main-header .secondary-menu {
		float: none;
		flex: 0 0 auto;
		padding: 0;
	}
	body.lvk-design.lvk-header-layout #header .kleo-main-header .secondary-menu > .navbar-nav {
		display: flex;
		align-items: center;
		gap: 8px;
		float: none;
		margin: 0;
	}
	body.lvk-design.lvk-header-layout #header .kleo-main-header :is(.primary-menu, .secondary-menu) > .navbar-nav > li {
		float: none;
	}
	body.lvk-design.lvk-header-layout #header .kleo-main-header .secondary-menu > .navbar-nav > li.lvk-btn-light,
	body.lvk-design.lvk-header-layout #header .kleo-main-header .secondary-menu > .navbar-nav > li.lvk-btn-outline,
	body.lvk-design.lvk-header-layout #header .kleo-main-header .secondary-menu > .navbar-nav > li.lvk-cta {
		margin-left: 0;
	}
	/* Mobile search icon is not needed on desktop */
	body.lvk-design.lvk-header-layout #header .lvk-m-search {
		display: none;
	}
}

@media (max-width: 991px) {
	/* Top row: logo left, icons + hamburger right */
	body.lvk-design.lvk-header-layout #header .kleo-main-header .navbar-header {
		display: flex !important;
		align-items: center;
		gap: 4px;
		float: none;
		width: 100%;
		min-height: 64px;
		margin: 0;
		padding: 0;
	}
	body.lvk-design.lvk-header-layout #header .kleo-main-header .navbar-header::before,
	body.lvk-design.lvk-header-layout #header .kleo-main-header .navbar-header::after {
		display: none;
	}
	body.lvk-design.lvk-header-layout #header .kleo-main-header .navbar-header .logo {
		order: 1;
		flex: 1 1 auto;
		position: static !important;
		width: auto !important;
		min-width: 0;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
		transform: none !important;
		line-height: 1 !important;
	}
	body.lvk-design.lvk-header-layout #header .kleo-main-header .navbar-header .kleo-mobile-icons {
		order: 2;
		display: flex;
		align-items: center;
		gap: 2px;
		float: none;
		position: static !important;
		margin: 0;
	}
	body.lvk-design.lvk-header-layout #header .kleo-main-header .navbar-header .kleo-mobile-switch {
		order: 3;
		float: none;
		position: static !important;
		margin: 0;
	}
	body.lvk-design.lvk-header-layout #header .kleo-main-header .navbar-toggle {
		float: none;
		margin: 0 !important;
		padding: 10px !important;
	}
	body.lvk-design.lvk-header-layout.lvk-has-logo-text #header .logo a::after {
		font-size: 16px;
	}

	/* Show the secondary menu while the primary one is open (Bootstrap .in / .collapsing) */
	body.lvk-design.lvk-header-layout #header .kleo-main-header .primary-menu:is(.in, .collapsing) ~ .secondary-menu {
		display: block !important;
		height: auto !important;
		overflow: visible !important;
		visibility: visible !important;
		padding: 8px 0 16px;
		border-top: 0;
	}
	body.lvk-design.lvk-header-layout #header .kleo-main-header .secondary-menu > .navbar-nav {
		display: flex;
		flex-direction: column;
		gap: 8px;
		margin: 0;
		padding: 0 15px;
	}
	body.lvk-design.lvk-header-layout #header .kleo-main-header .secondary-menu > .navbar-nav > li {
		float: none;
		padding: 0 !important;
	}
	/* Kleo search item is redundant on mobile, the header has its own icon */
	body.lvk-design.lvk-header-layout.lvk-has-m-search #header .kleo-main-header :is(.primary-menu, .secondary-menu) :is(#nav-menu-item-search, .kleo-search-nav) {
		display: none !important;
	}
}

/* Secondary menu items as buttons, no extra classes needed.
   Only the <a> becomes a button; the <li> keeps the full header height so
   dropdowns (e.g. Fiókom) still open from the bottom of the header.
   !important beats Kleo's inline style="line-height:88px".
   Items with a user icon (Bejelentkezés / Fiókom) get the white style. */
@media (min-width: 992px) {
	body.lvk-design.lvk-header-layout #header:not(#lvk-a) .kleo-main-header .secondary-menu > .navbar-nav > li:not(#nav-menu-item-search):not(.kleo-search-nav) {
		display: flex;
		align-items: center;
		align-self: stretch;
	}
	body.lvk-design.lvk-header-layout #header:not(#lvk-a) .kleo-main-header .secondary-menu > .navbar-nav > li:not(#nav-menu-item-search):not(.kleo-search-nav) > a {
		display: inline-flex !important;
		align-items: center;
		gap: 8px;
		height: 40px;
		margin: 0 !important;
		padding: 0 16px !important;
		border: 1px solid rgba(255, 255, 255, .28) !important;
		border-radius: 8px !important;
		background: transparent !important;
		color: #fff !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
		white-space: nowrap;
		transition: background-color .15s ease, border-color .15s ease, color .15s ease;
	}
	body.lvk-design.lvk-header-layout #header:not(#lvk-a) .kleo-main-header .secondary-menu > .navbar-nav > li:not(#nav-menu-item-search):not(.kleo-search-nav) > a:hover,
	body.lvk-design.lvk-header-layout #header:not(#lvk-a) .kleo-main-header .secondary-menu > .navbar-nav > li:not(#nav-menu-item-search):not(.kleo-search-nav):hover > a {
		border-color: rgba(255, 255, 255, .6) !important;
		background: rgba(255, 255, 255, .06) !important;
		color: #fff !important;
	}
	/* Item with a user icon: white button */
	body.lvk-design.lvk-header-layout #header:not(#lvk-a) .kleo-main-header .secondary-menu > .navbar-nav > li:not(#lvk-b):not(#lvk-c) > a:has(.fa-user, .fa-user-circle, .avatar) {
		border-color: #fff !important;
		background: #fff !important;
		color: var(--lvk-text) !important;
	}
	body.lvk-design.lvk-header-layout #header:not(#lvk-a) .kleo-main-header .secondary-menu > .navbar-nav > li:not(#lvk-b):not(#lvk-c) > a:has(.fa-user, .fa-user-circle, .avatar):hover,
	body.lvk-design.lvk-header-layout #header:not(#lvk-a) .kleo-main-header .secondary-menu > .navbar-nav > li:not(#lvk-b):not(#lvk-c):hover > a:has(.fa-user, .fa-user-circle, .avatar) {
		border-color: #f3f4f6 !important;
		background: #f3f4f6 !important;
		color: var(--lvk-text) !important;
	}
	body.lvk-design.lvk-header-layout #header:not(#lvk-a) .kleo-main-header .secondary-menu > .navbar-nav > li > a i {
		margin: 0 !important;
		font-size: 13px;
		width: auto;
	}
	body.lvk-design.lvk-header-layout #header:not(#lvk-a) .kleo-main-header .secondary-menu > .navbar-nav > li > a .avatar {
		width: 24px;
		height: 24px;
		border-radius: 50%;
		margin: 0 !important;
	}
	/* Dropdown caret inside the button */
	body.lvk-design.lvk-header-layout #header:not(#lvk-a) .kleo-main-header .secondary-menu > .navbar-nav > li > a .caret {
		margin: 0 0 0 2px;
	}
	/* Align the account dropdown to the right so it stays on screen */
	body.lvk-design.lvk-header-layout #header .kleo-main-header .secondary-menu > .navbar-nav > li:last-child > .dropdown-menu {
		left: auto !important;
		right: 0 !important;
	}
}
@media (max-width: 991px) {
	body.lvk-design.lvk-header-layout #header:not(#lvk-a) .kleo-main-header .secondary-menu > .navbar-nav > li:not(#nav-menu-item-search):not(.kleo-search-nav) > a {
		display: flex !important;
		align-items: center;
		justify-content: center;
		gap: 8px;
		height: 44px;
		margin: 0 !important;
		padding: 0 16px !important;
		border: 1px solid rgba(255, 255, 255, .28) !important;
		border-radius: 8px !important;
		background: transparent !important;
		color: #fff !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
	}
	body.lvk-design.lvk-header-layout #header:not(#lvk-a) .kleo-main-header .secondary-menu > .navbar-nav > li:not(#lvk-b):not(#lvk-c) > a:has(.fa-user, .fa-user-circle, .avatar) {
		border-color: #fff !important;
		background: #fff !important;
		color: var(--lvk-text) !important;
	}
}

/* Mobile search icon (output on kleo_mobile_header_icons) */
body.lvk-design #header .lvk-m-search {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 8px;
	color: #fff;
	text-decoration: none;
}
body.lvk-design #header .lvk-m-search:hover,
body.lvk-design #header .lvk-m-search:focus-visible {
	background: rgba(255, 255, 255, .08);
	color: #fff;
}
body.lvk-design #header .lvk-m-search svg {
	display: block;
}

/* ===== 4/D. Kleo overrides with ID weight (header colours, menu font) ===
   Kleo prints strong rules from its theme options for the header colours
   and menu typography. #header:not(#lvk-a) gives two IDs worth of weight. */

/* Network bar: colour + centering */
body.lvk-design #header:not(#lvk-a) .social-header {
	background: var(--lvk-primary-dark) !important;
	border: 0 !important;
}
body.lvk-design #header:not(#lvk-a) .social-header :is(.container, .top-bar, .top-menu, .top-menu > ul) {
	background: transparent !important;
	border: 0 !important;
}
body.lvk-design.lvk-topbar-center #header:not(#lvk-a) .social-header .top-bar {
	display: flex !important;
	justify-content: center !important;
}
body.lvk-design.lvk-topbar-center #header:not(#lvk-a) .social-header .top-menu {
	float: none !important;
	flex: 1 1 auto;
	width: auto !important;
	text-align: center;
}
body.lvk-design.lvk-topbar-center #header:not(#lvk-a) .social-header .top-menu > ul {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center !important;
	float: none !important;
	width: 100%;
	margin: 0 !important;
}
body.lvk-design.lvk-topbar-center #header:not(#lvk-a) .social-header .top-menu > ul > li {
	float: none !important;
}
body.lvk-design #header:not(#lvk-a) .social-header .top-menu > ul > li > a {
	line-height: 46px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .02em !important;
	text-transform: uppercase !important;
	background: transparent !important;
}
body.lvk-design #header:not(#lvk-a) .social-header .top-menu > ul > li > a:hover,
body.lvk-design #header:not(#lvk-a) .social-header .top-menu > ul > li.lvk-net-active > a {
	color: var(--lvk-highlight) !important;
}

@media (max-width: 991px) {
	body.lvk-design #header:not(#lvk-a) .social-header .top-menu > ul > li > a {
		line-height: 40px !important;
		font-size: 12px !important;
	}
}

/* Header background */
body.lvk-design #header:not(#lvk-a) .kleo-main-header {
	background: var(--lvk-primary) !important;
}

/* Menu font as on eladolovak: 15px, 500, no uppercase */
@media (min-width: 992px) {
	body.lvk-design #header:not(#lvk-a) .kleo-main-header :is(.primary-menu, .secondary-menu) > .navbar-nav > li > a {
		font-size: 15px !important;
		font-weight: 500 !important;
		letter-spacing: 0 !important;
		text-transform: none !important;
		color: rgba(255, 255, 255, .9) !important;
	}
	body.lvk-design #header:not(#lvk-a) .kleo-main-header :is(.primary-menu, .secondary-menu) > .navbar-nav > li > a:hover,
	body.lvk-design #header:not(#lvk-a) .kleo-main-header :is(.primary-menu, .secondary-menu) > .navbar-nav > li.current-menu-item > a,
	body.lvk-design #header:not(#lvk-a) .kleo-main-header :is(.primary-menu, .secondary-menu) > .navbar-nav > li.current-menu-ancestor > a {
		color: #fff !important;
	}
	/* Buttons keep their own colours */
	body.lvk-design #header:not(#lvk-a) .kleo-main-header .navbar-nav > li.lvk-btn-light > a {
		color: var(--lvk-text) !important;
		font-weight: 600 !important;
	}
	body.lvk-design #header:not(#lvk-a) .kleo-main-header .navbar-nav > li.lvk-btn-outline > a {
		font-weight: 600 !important;
	}
	body.lvk-design #header:not(#lvk-a) .kleo-main-header .navbar-nav > li.lvk-cta > a {
		color: var(--lvk-on-accent) !important;
		font-weight: 600 !important;
	}
}

/* Menu items typed in all caps -> sentence case (setting: lvk-menu-sentence).
   Primary menu text links only; buttons and items with icons are skipped. */
body.lvk-design.lvk-menu-sentence #header:not(#lvk-a) .kleo-main-header .primary-menu > .navbar-nav > li:not(.lvk-btn-light):not(.lvk-btn-outline):not(.lvk-cta) > a:not(:has(i, img, svg, .avatar)) {
	text-transform: lowercase !important;
}
body.lvk-design.lvk-menu-sentence #header:not(#lvk-a) .kleo-main-header .primary-menu > .navbar-nav > li:not(.lvk-btn-light):not(.lvk-btn-outline):not(.lvk-cta) > a:not(:has(i, img, svg, .avatar))::first-letter {
	text-transform: uppercase !important;
}

/* ===== 4/B. Dropdown menus (Kleo) ======================================
   Kleo paints dropdown links green with a strong generated rule (background,
   white text, row borders). The :not(#lvk-…) parts add ID weight without
   referring to any real or generated ID. Open/close (display) is left to Kleo. */

/* Desktop: white card, light green highlight */
@media (min-width: 992px) {
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) {
		min-width: 230px;
		padding: 6px !important;
		margin-top: 8px !important;
		background: #fff !important;
		border: 1px solid var(--lvk-border) !important;
		border-radius: var(--lvk-radius) !important;
		box-shadow: 0 16px 40px rgba(17, 24, 39, .16) !important;
	}
	/* Invisible bridge between the item and the dropdown so hover is not lost */
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b)::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: -10px;
		height: 10px;
	}
	/* Long lists (12+ items) go into two columns */
	/* ...centered under the parent item so neither side overflows */
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b):has(> li:nth-child(12)) {
		column-count: 2;
		column-gap: 4px;
		width: 480px;
		min-width: 0;
		left: 50% !important;
		right: auto !important;
		margin-left: -240px !important;
	}
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) > li {
		float: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		break-inside: avoid;
	}
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) > li > a {
		display: block;
		margin: 0 !important;
		padding: 9px 12px !important;
		border: 0 !important;
		border-radius: 8px !important;
		background: transparent !important;
		box-shadow: none !important;
		color: #374151 !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		line-height: 1.35 !important;
		letter-spacing: 0 !important;
		text-transform: none !important;
		white-space: normal !important;
		transition: background-color .12s ease, color .12s ease;
	}
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) > li > a:hover,
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) > li > a:focus,
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) > li:hover > a {
		background: rgba(25, 76, 61, .08) !important;
		background: color-mix(in srgb, var(--lvk-primary) 8%, transparent) !important;
		color: var(--lvk-primary) !important;
	}
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) > li.current-menu-item > a,
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) > li.active > a {
		background: rgba(25, 76, 61, .12) !important;
		background: color-mix(in srgb, var(--lvk-primary) 12%, transparent) !important;
		color: var(--lvk-primary) !important;
		font-weight: 600 !important;
	}
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) > li > a:focus-visible {
		outline: 2px solid var(--lvk-accent);
		outline-offset: -2px;
	}
}

/* Mobile (open hamburger): green background, light text */
@media (max-width: 991px) {
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) {
		margin: 0 !important;
		padding: 4px 0 !important;
		background: var(--lvk-primary-dark) !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		column-count: 1;
		float: none !important;
		width: 100% !important;
		min-width: 0;
		left: auto !important;
		margin-left: 0 !important;
	}
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) > li {
		margin: 0 !important;
		border: 0 !important;
		background: transparent !important;
	}
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) > li > a {
		padding: 11px 15px 11px 28px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: rgba(255, 255, 255, .85) !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 1.35 !important;
		text-transform: none !important;
		white-space: normal !important;
	}
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) > li > a:hover,
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) > li > a:focus,
	body.lvk-design #header .navbar-nav .dropdown-menu:not(#lvk-a):not(#lvk-b) > li.current-menu-item > a {
		background: rgba(255, 255, 255, .08) !important;
		color: #fff !important;
	}
}

/* ===== 5. Footer ======================================================= */

body.lvk-design.lvk-footer #footer {
	background: var(--lvk-footer);
	color: #9ca3af;
	border-top: 0;
	padding-top: 48px;
	padding-bottom: 32px;
}
body.lvk-design.lvk-footer #footer h1,
body.lvk-design.lvk-footer #footer h2,
body.lvk-design.lvk-footer #footer h3,
body.lvk-design.lvk-footer #footer h4,
body.lvk-design.lvk-footer #footer h5,
body.lvk-design.lvk-footer #footer .widget-title {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0;
	margin-bottom: 20px;
}
body.lvk-design.lvk-footer #footer a {
	color: #d1d5db;
}
body.lvk-design.lvk-footer #footer a:hover,
body.lvk-design.lvk-footer #footer a:focus {
	color: #fff;
}

/* Gold bullet lists in footer widgets */
body.lvk-design.lvk-footer #footer .widget ul {
	list-style: disc;
	padding-left: 1.25em;
	margin-left: 0;
}
body.lvk-design.lvk-footer #footer .widget ul li {
	padding: 6px 0;
	border: 0;
	font-size: 16px;
}
body.lvk-design.lvk-footer #footer .widget ul li::marker {
	color: var(--lvk-accent);
}

/* Footer buttons: gold with dark text */
body.lvk-design.lvk-footer #footer .btn,
body.lvk-design.lvk-footer #footer .button,
body.lvk-design.lvk-footer #footer input[type="submit"],
body.lvk-design.lvk-footer #footer a.lvk-btn-gold {
	display: inline-block;
	background: var(--lvk-accent);
	border: 0;
	color: var(--lvk-on-accent);
	font-weight: 700;
	text-transform: uppercase;
	border-radius: 4px;
	padding: 12px 24px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
}
body.lvk-design.lvk-footer #footer .btn:hover,
body.lvk-design.lvk-footer #footer .button:hover,
body.lvk-design.lvk-footer #footer input[type="submit"]:hover,
body.lvk-design.lvk-footer #footer a.lvk-btn-gold:hover {
	filter: brightness(1.06);
	color: var(--lvk-on-accent);
}

/* Social icons: gold circle, white icon */
body.lvk-design.lvk-footer #footer .kleo-social-icons a,
body.lvk-design.lvk-footer #socket .kleo-social-icons a,
body.lvk-design.lvk-footer .lvk-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--lvk-accent);
	color: #fff;
}
body.lvk-design.lvk-footer #footer .kleo-social-icons a:hover,
body.lvk-design.lvk-footer #socket .kleo-social-icons a:hover,
body.lvk-design.lvk-footer .lvk-social a:hover {
	filter: brightness(1.08);
	color: #fff;
}

/* Footer widget content (Custom HTML widgets)
   lvk-flinks   – link list
   lvk-fnote    – muted text
   lvk-fbrand   – logo + name
   lvk-social   – social icons
   lvk-btn-gold – gold button */
body.lvk-design.lvk-footer #footer .widget {
	margin-bottom: 32px;
}
body.lvk-design.lvk-footer #footer .lvk-flinks {
	margin: 0;
	padding-left: 1.25em;
	list-style: disc;
}
body.lvk-design.lvk-footer #footer .lvk-flinks li {
	padding: 5px 0;
	font-size: 16px;
	line-height: 1.45;
}
body.lvk-design.lvk-footer #footer .lvk-flinks li::marker {
	color: var(--lvk-accent);
}
body.lvk-design.lvk-footer #footer .lvk-flinks a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #d1d5db;
	text-decoration: none;
	transition: color .15s ease, gap .15s ease;
}
body.lvk-design.lvk-footer #footer .lvk-flinks a::after {
	content: "›";
	color: #6b7280;
	opacity: 0;
	transition: opacity .15s ease;
}
body.lvk-design.lvk-footer #footer .lvk-flinks a:hover {
	color: #fff;
	gap: 9px;
}
body.lvk-design.lvk-footer #footer .lvk-flinks a:hover::after {
	opacity: 1;
}
body.lvk-design.lvk-footer #footer .lvk-fnote {
	margin: 0 0 18px;
	color: #9ca3af;
	font-size: 14px;
	line-height: 1.6;
}
body.lvk-design.lvk-footer #footer .lvk-fbrand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -.01em;
	text-decoration: none;
}
body.lvk-design.lvk-footer #footer .lvk-fbrand img {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #fff;
	object-fit: cover;
}
body.lvk-design.lvk-footer .lvk-social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}
body.lvk-design.lvk-footer .lvk-social a i {
	color: #fff;
	font-size: 16px;
	line-height: 1;
}
body.lvk-design.lvk-footer #footer a.lvk-btn-gold {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	letter-spacing: .02em;
}
@media (max-width: 767px) {
	body.lvk-design.lvk-footer #footer {
		padding-top: 36px;
	}
	body.lvk-design.lvk-footer #footer .widget {
		margin-bottom: 28px;
	}
}

/* Kleo overrides in the footer (ID weight):
   Kleo turns off list markers, so the bullet is drawn with ::before,
   and it colours footer icons, which we force back to white. */
body.lvk-design.lvk-footer #footer:not(#lvk-a) .lvk-flinks {
	padding-left: 0 !important;
	list-style: none !important;
}
body.lvk-design.lvk-footer #footer:not(#lvk-a) .lvk-flinks > li {
	position: relative;
	padding: 5px 0 5px 18px !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	list-style: none !important;
}
body.lvk-design.lvk-footer #footer:not(#lvk-a) .lvk-flinks > li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: calc(5px + .725em - 3px);
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--lvk-accent);
}
body.lvk-design.lvk-footer #footer:not(#lvk-a) .lvk-flinks > li > a {
	color: #d1d5db !important;
}
body.lvk-design.lvk-footer #footer:not(#lvk-a) .lvk-flinks > li > a:hover {
	color: #fff !important;
}
body.lvk-design.lvk-footer #footer:not(#lvk-a) .lvk-social a {
	background: var(--lvk-accent) !important;
	color: #fff !important;
	border: 0 !important;
	transition: transform .15s ease, filter .15s ease;
}
body.lvk-design.lvk-footer #footer:not(#lvk-a) .lvk-social a i,
body.lvk-design.lvk-footer #footer:not(#lvk-a) .lvk-social a i::before {
	color: #fff !important;
	opacity: 1 !important;
}
body.lvk-design.lvk-footer #footer:not(#lvk-a) .lvk-social a:hover {
	transform: translateY(-2px);
	filter: brightness(1.08);
}
body.lvk-design.lvk-footer #footer:not(#lvk-a) .widget-title {
	margin: 0 0 18px !important;
	padding: 0 !important;
	border: 0 !important;
	color: #fff !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	letter-spacing: .01em !important;
	text-transform: uppercase !important;
}
body.lvk-design.lvk-footer #footer:not(#lvk-a) .widget-title::after,
body.lvk-design.lvk-footer #footer:not(#lvk-a) .widget-title::before {
	display: none !important;
}

/* Copyright bar (printed on wp_footer) */
body.lvk-design .lvk-copyright {
	margin: 0;
	padding: 20px 15px;
	background: var(--lvk-footer-dark);
	border-top: 1px solid rgba(255, 255, 255, .06);
	color: #9ca3af;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

/* Kleo socket */
body.lvk-design.lvk-footer #socket {
	background: var(--lvk-footer-dark);
	border-top: 0;
	color: #9ca3af;
	font-size: 14px;
	padding-top: 20px;
	padding-bottom: 20px;
}
body.lvk-design.lvk-footer #socket a {
	color: #d1d5db;
}
body.lvk-design.lvk-footer #socket a:hover,
body.lvk-design.lvk-footer #socket a:focus {
	color: #fff;
}

/* ===== 6/A. GeoDirectory grid list (home page blocks) ===================
   span.geodir-listings > h5 + ul.geodir-category-list-view.geodir-gridview
   > li.geodir-post > .gd-list-item-left > image, title, address
   Styled after the "Kiemelt eladó ló hirdetések" cards on eladolovak. */

/* Block title (e.g. "Lovas képzések") */
body.lvk-design.lvk-gd .geodir-listings > h5 {
	color: var(--lvk-text);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -.01em;
	text-transform: none;
	margin: 0 0 20px;
}

/* CSS grid instead of floats, equal height cards */
body.lvk-design.lvk-gd ul.geodir-category-list-view.geodir-gridview {
	display: grid;
	grid-template-columns: repeat(var(--lvk-cols, 4), minmax(0, 1fr));
	gap: 20px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}
body.lvk-design.lvk-gd ul.geodir-gridview.gridview_onehalf { --lvk-cols: 2; }
body.lvk-design.lvk-gd ul.geodir-gridview.gridview_onethird { --lvk-cols: 3; }
body.lvk-design.lvk-gd ul.geodir-gridview.gridview_onefourth { --lvk-cols: 4; }
body.lvk-design.lvk-gd ul.geodir-gridview.gridview_onefifth { --lvk-cols: 5; }

/* Keep clearfix pseudo elements out of the grid */
body.lvk-design.lvk-gd ul.geodir-gridview::before,
body.lvk-design.lvk-gd ul.geodir-gridview::after {
	display: none;
}

@media (max-width: 991px) {
	body.lvk-design.lvk-gd ul.geodir-category-list-view.geodir-gridview {
		--lvk-cols: 2;
	}
}
/* Mobile: horizontal scroll-snap row, no JS.
   The next card peeks in to show the row can be swiped. */
@media (max-width: 575px) {
	body.lvk-design.lvk-gd ul.geodir-category-list-view.geodir-gridview {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 78%;
		gap: 12px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 4px;
	}
	body.lvk-design.lvk-gd ul.geodir-category-list-view.geodir-gridview::-webkit-scrollbar {
		display: none;
	}
	body.lvk-design.lvk-gd ul.geodir-gridview > li.geodir-post {
		scroll-snap-align: start;
	}
	body.lvk-design.lvk-gd .geodir-listings > h5 {
		font-size: 20px;
		margin-bottom: 14px;
	}
}
/* Setting: stack cards on mobile instead */
@media (max-width: 575px) {
	body.lvk-design.lvk-gd.lvk-mobile-stack ul.geodir-category-list-view.geodir-gridview {
		grid-template-columns: minmax(0, 1fr);
		grid-auto-flow: row;
		overflow: visible;
		scroll-snap-type: none;
	}
}

/* "Lista nézet 1" = one column */
body.lvk-design.lvk-gd ul.geodir-category-list-view.geodir-gridview.gridview_one {
	--lvk-cols: 1;
}
/* Archive lists (e.g. /lovardak/) stack on mobile; the swipe row is only
   for home page blocks */
@media (max-width: 575px) {
	body.lvk-design.lvk-gd .geodir-loop-container ul.geodir-category-list-view.geodir-gridview {
		grid-template-columns: minmax(0, 1fr);
		grid-auto-flow: row;
		grid-auto-columns: auto;
		overflow: visible;
		scroll-snap-type: none;
		gap: 16px;
	}
}

/* Card */
body.lvk-design.lvk-gd ul.geodir-gridview > li.geodir-post {
	display: flex;
	flex-direction: column;
	float: none;
	width: auto;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important; /* overrides GD/Kleo "padding: 20px 0 0 0 !important" (gap above the image) */
	list-style: none !important;
	background: #fff;
	border: 1px solid var(--lvk-border);
	border-radius: var(--lvk-radius);
	overflow: hidden;
	box-shadow: none;
	transition: box-shadow .2s ease, transform .2s ease;
}
body.lvk-design.lvk-gd ul.geodir-gridview > li.geodir-post:hover {
	box-shadow: 0 10px 28px rgba(17, 24, 39, .10);
}
@media (hover: hover) {
	body.lvk-design.lvk-gd ul.geodir-gridview > li.geodir-post:hover {
		transform: translateY(-2px);
	}
}

/* Empty <p> and <br> in the template only add gaps */
body.lvk-design.lvk-gd li.geodir-post > p:empty,
body.lvk-design.lvk-gd li.geodir-post .gd-list-item-left > p:empty,
body.lvk-design.lvk-gd li.geodir-post .gd-list-item-left > br {
	display: none;
}

body.lvk-design.lvk-gd li.geodir-post .gd-list-item-left {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

/* Image: 4:3, cover.
   GD positions the image absolutely inside a ratio box, which left an empty
   strip above it. Put it back in normal flow; !important is needed here and
   kept to this narrow scope. */
body.lvk-design.lvk-gd li.geodir-post .geodir-post-slider,
body.lvk-design.lvk-gd li.geodir-post .geodir-image-container,
body.lvk-design.lvk-gd li.geodir-post .geodir-image-wrapper,
body.lvk-design.lvk-gd li.geodir-post ul.geodir-images,
body.lvk-design.lvk-gd li.geodir-post ul.geodir-images > li,
body.lvk-design.lvk-gd li.geodir-post .geodir-link-image {
	position: relative !important;
	display: block !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	list-style: none;
	border: 0;
	line-height: 0;
}
body.lvk-design.lvk-gd li.geodir-post .geodir-image-container {
	overflow: hidden;
	background: #f3f4f6;
}
body.lvk-design.lvk-gd li.geodir-post .geodir-images img {
	position: static !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 !important;
	top: auto !important;
	left: auto !important;
	transform: none;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform .35s ease;
}
/* No radius on the image itself: the card (overflow + radius) rounds the top
   corners and the bottom edge stays straight */
body.lvk-design.lvk-gd li.geodir-post:not(#lvk-a) :is(.geodir-post-slider, .geodir-image-container, .geodir-image-wrapper, ul.geodir-images, ul.geodir-images > li, .geodir-link-image, .geodir-images img) {
	border-radius: 0 !important;
}

/* Setting: show the whole image (logos) */
body.lvk-design.lvk-gd.lvk-img-contain li.geodir-post .geodir-images img {
	object-fit: contain;
	background: #fff;
}
@media (hover: hover) {
	body.lvk-design.lvk-gd li.geodir-post:hover .geodir-images img {
		transform: scale(1.03);
	}
	body.lvk-design.lvk-gd.lvk-img-contain li.geodir-post:hover .geodir-images img {
		transform: none;
	}
}

/* GD link icon: white circle in the top right corner.
   Same size and background in every state – GD has its own image hover
   rule that the !important values cancel out. */
body.lvk-design.lvk-gd li.geodir-post .geodir-link-image > i,
body.lvk-design.lvk-gd li.geodir-post .geodir-link-image:hover > i,
body.lvk-design.lvk-gd li.geodir-post .geodir-link-image:focus > i {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	bottom: auto !important;
	left: auto !important;
	z-index: 2;
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, .92) !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
	color: var(--lvk-text) !important;
	font-size: 14px !important;
	line-height: 1 !important;
	transform: none !important;
	opacity: 0;
	transition: opacity .2s ease;
}
body.lvk-design.lvk-gd li.geodir-post .geodir-link-image > i::before {
	font-size: 14px !important;
	line-height: 1 !important;
}
body.lvk-design.lvk-gd li.geodir-post:hover .geodir-link-image > i,
body.lvk-design.lvk-gd li.geodir-post .geodir-link-image:focus-visible > i {
	opacity: 1;
}
/* No hover on touch screens, so hide it there */
@media (hover: none) {
	body.lvk-design.lvk-gd li.geodir-post .geodir-link-image > i {
		display: none !important;
	}
}

/* Title: dark, bold, max two lines */
body.lvk-design.lvk-gd li.geodir-post .geodir-post-title {
	padding: 16px 16px 12px;
	margin: 0;
}
body.lvk-design.lvk-gd li.geodir-post .geodir-entry-title {
	margin: 0;
	padding: 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -.01em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
body.lvk-design.lvk-gd li.geodir-post .geodir-entry-title a {
	color: var(--lvk-text);
}
body.lvk-design.lvk-gd li.geodir-post .geodir-entry-title a:hover,
body.lvk-design.lvk-gd li.geodir-post .geodir-entry-title a:focus {
	color: var(--lvk-primary);
}

/* Address under a divider, pinned to the bottom of the card */
body.lvk-design.lvk-gd li.geodir-post .geodir-post-address-container {
	margin: auto 16px 0;
	padding: 12px 0 16px;
	border-top: 1px solid #f3f4f6;
}
body.lvk-design.lvk-gd li.geodir-post .geodir-field-address {
	float: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
	padding-left: 20px;
	position: relative;
	color: var(--lvk-muted);
	font-size: 14px;
	line-height: 1.45;
}
body.lvk-design.lvk-gd li.geodir-post .geodir-field-address .geodir_post_meta_icon {
	position: absolute;
	left: 0;
	top: 1px;
	margin: 0;
	color: #9ca3af;
	font-size: 13px;
}
/* Hide the "Cím:" style label inside cards */
body.lvk-design.lvk-gd li.geodir-post .geodir-field-address .geodir_post_meta_title {
	display: none;
}

/* Pagination, styled after eladolovak: 40×40 squares, 8px radius,
   grey border, green active page. GD/Bootstrap joined borders are removed.
   Covers home page blocks (.geodir-wgt-pagination) and archives
   (.geodir-loop-paging-container > nav.geodir-pagination > ul.page-numbers). */
body.lvk-design.lvk-gd ul.geodir-category-list-view.geodir-gridview {
	margin-bottom: 0 !important;
}
/* Wrappers (div / nav) stay plain blocks that grow with their content.
   Only the outermost one gets vertical spacing. */
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .geodir-loop-paging-container,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) nav,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .geodir-pagination {
	display: block !important;
	width: auto;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
	margin: 28px 0 24px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .geodir-loop-paging-container nav,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .geodir-loop-paging-container .geodir-pagination,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) nav .geodir-pagination,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .geodir-pagination nav {
	margin: 0 !important;
}

/* The list is the flex row; it wraps and has no fixed height.
   WP uses "page-numbers" on the list and on the links, hence the a/span
   selectors for the button styles below. */
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) ul.page-numbers,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) ul.pagination,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) nav.geodir-pagination:not(:has(ul)),
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) div.geodir-pagination:not(:has(ul)) {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	list-style: none;
	line-height: normal;
}
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .pagination > li,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) ul.page-numbers > li,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .page-item {
	display: block;
	float: none;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) a.page-numbers,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) span.page-numbers,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .page-link,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .pagination > li > a,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .pagination > li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	margin: 0 !important;
	border: 1px solid #d1d5db !important;
	border-radius: 8px !important;
	background: #fff;
	color: #374151;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	line-height: 1;
	float: none;
	box-shadow: none;
}
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) a.page-numbers:hover,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) a.page-link:hover,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .pagination > li > a:hover {
	border-color: var(--lvk-primary) !important;
	color: var(--lvk-primary);
	background: #fff;
}
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) span.page-numbers.current,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .active > .page-link,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .pagination > .active > a,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .pagination > .active > span {
	background: var(--lvk-primary);
	border-color: var(--lvk-primary) !important;
	color: #fff;
}
/* Disabled arrow on the first/last page */
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .disabled > .page-link,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .pagination > .disabled > span,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .pagination > .disabled > a,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) span.page-numbers.prev,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) span.page-numbers.next {
	border-color: #e5e7eb !important;
	background: #fff;
	color: #cbced5;
	cursor: default;
	pointer-events: none;
}
/* Result count (when "Pagination info" is on in the GD widget) */
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .gd-pagination-details,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .geodir-pagination-details,
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .pagination-info {
	margin-left: 8px;
	color: var(--lvk-muted);
	font-size: 14px;
	font-weight: 400;
}
body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) span.page-numbers.dots {
	border-color: transparent !important;
	background: transparent;
	min-width: 0;
	padding: 0 4px;
}
@media (max-width: 575px) {
	body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) ul.page-numbers,
	body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) ul.pagination,
	body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) nav.geodir-pagination:not(:has(ul)) {
		gap: 6px;
	}
	body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .geodir-loop-paging-container,
	body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) > nav,
	body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) > .geodir-pagination {
		margin-top: 20px !important;
	}
	body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) a.page-numbers,
	body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) span.page-numbers,
	body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .page-link,
	body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .pagination > li > a,
	body.lvk-design.lvk-gd :is(.geodir-wgt-pagination, .geodir-loop-paging-container) .pagination > li > span {
		min-width: 32px;
		height: 32px;
		padding: 0 8px;
		border-radius: 7px !important;
		font-size: 13px;
	}
}

/* Archive pagination: .geodir-loop-paging-container is the outer wrapper */
body.lvk-design.lvk-gd .geodir-loop-paging-container {
	display: block !important;
	height: auto !important;
	overflow: visible !important;
	margin: 32px 0 24px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}
body.lvk-design.lvk-gd .geodir-loop-paging-container > nav,
body.lvk-design.lvk-gd .geodir-loop-paging-container > .geodir-pagination {
	margin: 0 !important;
}

/* Space before the next block title */
body.lvk-design.lvk-gd .geodir-listings + .geodir-listings,
body.lvk-design.lvk-gd .elementor-widget + .elementor-widget .geodir-listings > h5 {
	margin-top: 24px;
}

/* ===== 6/C. Category tiles (home page, Elementor image widgets) ========
   Detected automatically: any Elementor section with at least 4 columns that
   only holds linked image widgets. Can also be set by hand with the section
   class lvk-cat-grid. :is() is forgiving, so the class still works in
   browsers without :has().
   Grid, no orphan tiles:
     desktop: 6 columns; short rows (≤4) keep the tile size and are centered
     tablet:  3 columns (6 -> 3+3); short rows 2 columns (4 -> 2+2)
     mobile:  2 columns
   Short rows are detected with :has() or marked with lvk-cat-short. */

body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) {
	--lvk-cat-gap: 20px;
	--lvk-cat-cols: 6;
	margin: 0 0 var(--lvk-cat-gap) !important;
	padding: 0 !important;
}

body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) > .elementor-container {
	display: grid !important;
	grid-template-columns: repeat(var(--lvk-cat-cols), minmax(0, 1fr));
	gap: var(--lvk-cat-gap);
	padding: 0 10px; /* matches the usual 10px Elementor column padding */
	box-sizing: border-box;
}

/* Short row: same tile size as a full row, centered */
body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))).lvk-cat-short__KEEP > .elementor-container,
body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))):not(:has(> .elementor-container > .elementor-column:nth-child(5))) > .elementor-container {
	grid-template-columns: repeat(var(--lvk-cat-short-cols, 4), calc((100% - (var(--lvk-cat-cols) - 1) * var(--lvk-cat-gap)) / var(--lvk-cat-cols)));
	justify-content: center;
}

body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) > .elementor-container > .elementor-column {
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	flex: none !important;
}
body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) > .elementor-container > .elementor-column > .elementor-widget-wrap {
	padding: 0 !important;
	margin: 0 !important;
}
body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) .elementor-widget-image,
body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}

/* Tile */
body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) .elementor-widget-image a {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--lvk-radius);
	background: #e5e7eb;
	box-shadow: 0 1px 2px rgba(17, 24, 39, .06);
	transition: box-shadow .2s ease, transform .2s ease;
	-webkit-tap-highlight-color: transparent;
}
body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) .elementor-widget-image img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 0;
	border-radius: 0 !important;
	transition: transform .35s ease, filter .35s ease;
}

/* Hover: lift, shadow, zoom and a thin gold bar at the bottom */
body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) .elementor-widget-image a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: var(--lvk-accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .3s ease;
}
@media (hover: hover) {
	body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) .elementor-widget-image a:hover {
		transform: translateY(-3px);
		box-shadow: 0 12px 28px rgba(17, 24, 39, .18);
	}
	body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) .elementor-widget-image a:hover img {
		transform: scale(1.05);
		filter: saturate(1.08);
	}
	body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) .elementor-widget-image a:hover::after {
		transform: scaleX(1);
	}
}
body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) .elementor-widget-image a:focus-visible {
	outline: 3px solid var(--lvk-accent);
	outline-offset: 3px;
}

/* Tablet (Elementor breakpoint 1024px) */
@media (max-width: 1024px) {
	body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) {
		--lvk-cat-gap: 16px;
		--lvk-cat-cols: 3;
		--lvk-cat-short-cols: 2;
	}
}

/* Mobile (Elementor breakpoint 767px), two columns everywhere */
@media (max-width: 767px) {
	body.lvk-design .elementor-section:is(.lvk-cat-grid, :has(> .elementor-container > .elementor-column:nth-child(4)):has(.elementor-widget-image a img):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-image)))) {
		--lvk-cat-gap: 12px;
		--lvk-cat-cols: 2;
		--lvk-cat-short-cols: 2;
	}
}

/* ===== 6/D. GeoDirectory search bar (.geodir-loc-bar) =================
   White rounded bar: [type] | [keyword] | [near] [search] [filters]
   Visibility (gd-hide, gd-show, li.more, inline display on
   .geodir-more-filters) is handled by GD's JS – no display rules here. */

body.lvk-design.lvk-gd .geodir-loc-bar {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 12px 0;
	margin: 0;
}
body.lvk-design.lvk-gd .geodir-loc-bar-in {
	background: transparent;
	border: 0;
	padding: 0;
}
body.lvk-design.lvk-gd .geodir-loc-bar-in::before,
body.lvk-design.lvk-gd .geodir-loc-bar-in::after {
	display: none;
}

/* Bar */
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search {
	display: flex;
	align-items: stretch;
	gap: 6px;
	float: none;
	width: 100%;
	margin: 0;
	padding: 6px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--lvk-border);
	border-radius: var(--lvk-radius);
	box-shadow: 0 6px 24px rgba(17, 24, 39, .08);
	transition: box-shadow .2s ease, border-color .2s ease;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search:focus-within {
	border-color: var(--lvk-primary);
	box-shadow: 0 0 0 3px rgba(25, 76, 61, .12), 0 6px 24px rgba(17, 24, 39, .08);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--lvk-primary) 15%, transparent), 0 6px 24px rgba(17, 24, 39, .08);
}

/* Fields (.gd-hide fields stay hidden through GD's own rule) */
body.lvk-design.lvk-gd .geodir-loc-bar .gd-search-input-wrapper {
	position: relative;
	float: none;
	flex: 1 1 0;
	min-width: 0;
	width: auto;
	margin: 0;
	padding: 0;
}
body.lvk-design.lvk-gd .geodir-loc-bar .gd-search-field-cpt {
	flex: 0 1 240px;
}
/* Thin divider between fields */
body.lvk-design.lvk-gd .geodir-loc-bar .gd-search-input-wrapper ~ .gd-search-input-wrapper::before {
	content: "";
	position: absolute;
	left: -4px;
	top: 10px;
	bottom: 10px;
	width: 1px;
	background: var(--lvk-border);
	pointer-events: none;
}

body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select,
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search input[type="text"] {
	display: block;
	width: 100% !important;  /* replaces GD's fixed % widths */
	max-width: none !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 14px;
	box-sizing: border-box;
	border: 0 !important;
	border-radius: 8px !important;
	background-color: transparent;
	box-shadow: none !important;
	color: var(--lvk-text);
	font-size: 15px;
	font-weight: 500;
	line-height: 48px;
	outline: 0;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search input[type="text"]::placeholder {
	color: #9ca3af;
	font-weight: 400;
	opacity: 1;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select:hover,
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search input[type="text"]:hover,
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select:focus,
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search input[type="text"]:focus {
	background-color: var(--lvk-bg);
}

/* Select: custom arrow */
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: 36px;
	cursor: pointer;
	text-overflow: ellipsis;
	white-space: nowrap;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b7280' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 12px 8px;
}

/* Icon at the start of a field; clicking it clears the field (GD).
   The wrapper fills the field height and centers the icon, so GD's own
   top/margin values can't push it up. */
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search-input-label {
	position: absolute !important;
	left: 6px !important;
	top: 0 !important;
	bottom: 0 !important;
	right: auto !important;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	color: var(--lvk-primary);
	font-size: 15px;
	line-height: 1 !important;
	background: transparent;
	cursor: pointer;
}
/* Position and size only – visibility is up to GD */
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search-input-label > i {
	position: static !important;
	top: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	line-height: 1 !important;
	vertical-align: middle;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search-input-label .geodir-search-input-label-clear {
	color: var(--lvk-muted);
}
/* Text starts after the icon.
   GD sets "padding-left: 24px !important" with a stronger selector, so the
   :not(#lvk-…) parts add ID weight (non-existent IDs, always true). */
body.lvk-design.lvk-gd .geodir-loc-bar .gd-search-input-wrapper .geodir-search-input-label ~ input[type="text"]:not(#lvk-a):not(#lvk-b) {
	padding-left: 44px !important;
	padding-right: 14px !important;
	text-indent: 0 !important;
}

/* Styled dropdown list where supported (Chrome/Edge 135+).
   Other browsers keep the native list. */
@supports (appearance: base-select) {
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select,
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select::picker(select) {
		appearance: base-select;
	}
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select {
		display: flex;
		align-items: center;
	}
	/* Keep our background arrow, hide the built-in one */
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select::picker-icon {
		display: none;
	}
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select:open {
		background-color: var(--lvk-bg);
	}
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select::picker(select) {
		margin-top: 10px;
		padding: 6px;
		/* at least as wide as the field, up to 380px */
		min-width: anchor-size(width);
		width: max-content;
		max-width: min(380px, calc(100vw - 32px));
		max-height: min(420px, 60vh);
		overflow-y: auto;
		box-sizing: border-box;
		background: #fff;
		border: 1px solid var(--lvk-border);
		border-radius: var(--lvk-radius);
		box-shadow: 0 16px 40px rgba(17, 24, 39, .16);
		scrollbar-width: thin;
		scrollbar-color: #d1d5db transparent;
	}
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select option {
		display: flex;
		align-items: center;
		gap: 8px;
		padding: 9px 12px;
		border-radius: 8px;
		color: #374151;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.3;
		cursor: pointer;
		transition: background-color .12s ease, color .12s ease;
	}
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select option:hover,
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select option:focus-visible {
		background: var(--lvk-bg);
		color: var(--lvk-primary);
		outline: 0;
	}
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select option:checked {
		background: rgba(25, 76, 61, .08);
		background: color-mix(in srgb, var(--lvk-primary) 9%, transparent);
		color: var(--lvk-primary);
		font-weight: 600;
	}
	/* Checkmark on the selected option */
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select option::checkmark {
		order: 1;
		margin-left: auto;
		color: var(--lvk-primary);
		font-weight: 700;
	}
}

/* Buttons: green search + outlined filters */
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search button.geodir_submit_search,
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search button.geodir-show-filters {
	position: relative;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	float: none;
	width: 48px;
	min-width: 48px;
	height: 48px;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 8px !important;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search button.geodir_submit_search {
	width: auto;
	padding: 0 22px !important;
	background: var(--lvk-primary) !important;
	border: 1px solid var(--lvk-primary) !important;
	color: #fff !important;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search button.geodir_submit_search:hover,
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search button.geodir_submit_search:focus-visible {
	background: var(--lvk-primary-dark) !important;
	border-color: var(--lvk-primary-dark) !important;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search button.geodir-show-filters {
	background: #fff !important;
	border: 1px solid #d1d5db !important;
	color: var(--lvk-text) !important;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search button.geodir-show-filters:hover,
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search button.geodir-show-filters:focus-visible {
	border-color: var(--lvk-primary) !important;
	color: var(--lvk-primary) !important;
}

/* Hidden button labels ("Search"). Kleo (Bootstrap 3) has no
   .visually-hidden class, so it is defined here; screen readers still read it */
body.lvk-design.lvk-gd .geodir-loc-bar .visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Mobile: fields stacked, buttons in one row */
@media (max-width: 767px) {
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search {
		flex-wrap: wrap;
		gap: 4px;
	}
	body.lvk-design.lvk-gd .geodir-loc-bar .gd-search-input-wrapper,
	body.lvk-design.lvk-gd .geodir-loc-bar .gd-search-field-cpt {
		flex: 1 1 100%;
	}
	body.lvk-design.lvk-gd .geodir-loc-bar .gd-search-input-wrapper ~ .gd-search-input-wrapper::before {
		left: 10px;
		right: 10px;
		top: -2px;
		bottom: auto;
		width: auto;
		height: 1px;
	}
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search button.geodir_submit_search {
		flex: 1 1 auto;
	}
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search select,
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-search input[type="text"] {
		font-size: 16px; /* prevents iOS zoom */
	}
}

/* Advanced filters panel: card with grouped grid */
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-filter-container {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-more-filters {
	margin: 10px 0 0;
	padding: 20px;
	background: #fff;
	border: 1px solid var(--lvk-border);
	border-radius: var(--lvk-radius);
	box-shadow: 0 6px 24px rgba(17, 24, 39, .08);
	box-sizing: border-box;
	width: 100%;
}
body.lvk-design.lvk-gd .geodir-loc-bar .customize_filter_inner {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	max-height: none;
}
body.lvk-design.lvk-gd .geodir-loc-bar .customize_filter_inner > .clearfix {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px 24px;
	align-items: start;
}
body.lvk-design.lvk-gd .geodir-loc-bar .customize_filter_inner > .clearfix::before,
body.lvk-design.lvk-gd .geodir-loc-bar .customize_filter_inner > .clearfix::after {
	display: none;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-filter-cat {
	float: none;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-filter-cat > span {
	display: block;
	margin: 0 0 8px;
	padding: 0 0 8px;
	border-bottom: 1px solid #f3f4f6;
	color: var(--lvk-text);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-filter-cat ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-filter-cat li {
	/* no display here: GD hides/shows the "More" items */
	float: none;
	width: auto;
	margin: 0;
	padding: 4px 0 4px 24px; /* hanging indent for multi-line labels */
	border: 0;
	background: transparent;
	line-height: 1.35;
	list-style: none;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-filter-cat li input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0 8px 0 -24px;
	vertical-align: -3px;
	accent-color: var(--lvk-primary);
	cursor: pointer;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-filter-cat li label {
	display: inline;
	margin: 0;
	padding: 0;
	color: #374151;
	font-size: 14px;
	font-weight: 400;
	cursor: pointer;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-filter-cat li input[type="checkbox"]:checked + label {
	color: var(--lvk-primary);
	font-weight: 600;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-filter-cat li.bordernone {
	padding-left: 0;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-filter-cat .expandmore {
	display: inline-block;
	margin-top: 4px;
	color: var(--lvk-primary);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-filter-cat .expandmore:hover {
	text-decoration: underline;
}

/* Search button at the bottom of the panel */
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-advance-search {
	margin: 20px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid #f3f4f6;
	text-align: right;
	background: transparent;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-advance-search button.geodir_submit_search {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	float: none;
	width: auto;
	height: 44px;
	margin: 0 !important;
	padding: 0 24px !important;
	background: var(--lvk-primary) !important;
	border: 1px solid var(--lvk-primary) !important;
	border-radius: 8px !important;
	color: #fff !important;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-advance-search button.geodir_submit_search::after {
	content: "Szűrés";
}
body.lvk-design.lvk-gd .geodir-loc-bar .geodir-advance-search button.geodir_submit_search:hover {
	background: var(--lvk-primary-dark) !important;
	border-color: var(--lvk-primary-dark) !important;
}
@media (max-width: 767px) {
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-more-filters {
		padding: 16px;
	}
	body.lvk-design.lvk-gd .geodir-loc-bar .geodir-advance-search button.geodir_submit_search {
		width: 100%;
	}
}

/* ===== 6/E. List toolbar: sort + view (select2) ========================
   .geodir-loop-actions-container > .clearfix > .geodir-tax-sort + .geodir-list-view-select
   The original <select> is hidden by select2, so select2's markup is styled. */

body.lvk-design.lvk-gd .geodir-loop-actions-container {
	margin: 0 0 24px !important; /* space before the list */
	padding: 10px 12px;
	background: #fff;
	border: 1px solid var(--lvk-border);
	border-radius: var(--lvk-radius);
	box-shadow: 0 1px 2px rgba(17, 24, 39, .04);
}
body.lvk-design.lvk-gd .geodir-loop-actions-container > .clearfix {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
body.lvk-design.lvk-gd .geodir-loop-actions-container > .clearfix::before,
body.lvk-design.lvk-gd .geodir-loop-actions-container > .clearfix::after {
	display: none;
}
body.lvk-design.lvk-gd .geodir-loop-actions-container .geodir-tax-sort,
body.lvk-design.lvk-gd .geodir-loop-actions-container .geodir-list-view-select {
	float: none;
	margin: 0;
	padding: 0;
	min-width: 0;
}
/* Small label in front of each select */
body.lvk-design.lvk-gd .geodir-loop-actions-container .geodir-tax-sort,
body.lvk-design.lvk-gd .geodir-loop-actions-container .geodir-list-view-select {
	display: flex;
	align-items: center;
	gap: 8px;
}
body.lvk-design.lvk-gd .geodir-loop-actions-container .geodir-tax-sort::before {
	content: "Rendezés";
	color: var(--lvk-muted);
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
}
body.lvk-design.lvk-gd .geodir-loop-actions-container .geodir-list-view-select::before {
	content: "Nézet";
	color: var(--lvk-muted);
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
}

/* select2 box */
body.lvk-design.lvk-gd .geodir-loop-actions-container .select2-container {
	min-width: 160px;
	max-width: 100%;
}
body.lvk-design.lvk-gd .geodir-loop-actions-container .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	height: 40px !important;
	margin: 0;
	background: #fff;
	border: 1px solid #d1d5db !important;
	border-radius: 8px !important;
	box-shadow: none;
	outline: 0;
	transition: border-color .15s ease, box-shadow .15s ease;
}
body.lvk-design.lvk-gd .geodir-loop-actions-container .select2-container .select2-selection--single:hover {
	border-color: var(--lvk-primary) !important;
}
body.lvk-design.lvk-gd .geodir-loop-actions-container .select2-container--focus .select2-selection--single,
body.lvk-design.lvk-gd .geodir-loop-actions-container .select2-container--open .select2-selection--single {
	border-color: var(--lvk-primary) !important;
	box-shadow: 0 0 0 3px rgba(25, 76, 61, .15);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--lvk-primary) 18%, transparent);
}
body.lvk-design.lvk-gd .geodir-loop-actions-container .select2-selection__rendered {
	flex: 1 1 auto;
	padding: 0 36px 0 14px !important;
	color: var(--lvk-text) !important;
	font-size: 14px;
	font-weight: 500;
	line-height: 38px !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
/* Custom arrow instead of the select2 triangle */
body.lvk-design.lvk-gd .geodir-loop-actions-container .select2-selection__arrow {
	position: absolute;
	top: 0 !important;
	right: 12px !important;
	width: 12px !important;
	height: 100% !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b7280' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 12px 8px;
	transition: transform .2s ease;
}
body.lvk-design.lvk-gd .geodir-loop-actions-container .select2-selection__arrow b {
	display: none !important;
}
body.lvk-design.lvk-gd .geodir-loop-actions-container .select2-container--open .select2-selection__arrow {
	transform: rotate(180deg);
}

/* Open select2 list (appended to <body>, so not scoped to the toolbar) */
body.lvk-design.lvk-gd .select2-container--default.select2-container--open .select2-dropdown {
	overflow: hidden;
	margin-top: 4px;
	background: #fff;
	border: 1px solid var(--lvk-border) !important;
	border-radius: 10px !important;
	box-shadow: 0 16px 40px rgba(17, 24, 39, .16);
}
body.lvk-design.lvk-gd .select2-container--default.select2-container--open .select2-dropdown--above {
	margin-top: -4px;
}
body.lvk-design.lvk-gd .select2-container--default .select2-results > .select2-results__options {
	max-height: 320px;
	padding: 6px;
}
body.lvk-design.lvk-gd .select2-container--default .select2-results__option {
	margin: 0;
	padding: 9px 12px;
	border-radius: 7px;
	color: #374151;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
}
body.lvk-design.lvk-gd .select2-container--default .select2-results__option--highlighted[aria-selected],
body.lvk-design.lvk-gd .select2-container--default .select2-results__option--highlighted {
	background: var(--lvk-bg) !important;
	color: var(--lvk-primary) !important;
}
body.lvk-design.lvk-gd .select2-container--default .select2-results__option[aria-selected="true"],
body.lvk-design.lvk-gd .select2-container--default .select2-results__option--selected {
	background: rgba(25, 76, 61, .08);
	background: color-mix(in srgb, var(--lvk-primary) 9%, transparent);
	color: var(--lvk-primary);
	font-weight: 600;
}
body.lvk-design.lvk-gd .select2-container--default .select2-search--dropdown {
	padding: 8px 8px 0;
}
body.lvk-design.lvk-gd .select2-container--default .select2-search--dropdown .select2-search__field {
	height: 36px;
	padding: 0 10px;
	border: 1px solid #d1d5db;
	border-radius: 7px;
}

@media (max-width: 575px) {
	body.lvk-design.lvk-gd .geodir-loop-actions-container > .clearfix {
		flex-direction: column;
		align-items: stretch;
	}
	body.lvk-design.lvk-gd .geodir-loop-actions-container .geodir-tax-sort,
	body.lvk-design.lvk-gd .geodir-loop-actions-container .geodir-list-view-select {
		justify-content: space-between;
	}
	body.lvk-design.lvk-gd .geodir-loop-actions-container .select2-container {
		flex: 1 1 auto;
		width: auto !important; /* overrides the select2 inline width */
	}
	body.lvk-design.lvk-gd .geodir-loop-actions-container .geodir-tax-sort::before,
	body.lvk-design.lvk-gd .geodir-loop-actions-container .geodir-list-view-select::before {
		flex: 0 0 72px; /* equal label width so the selects line up */
	}
}

/* ===== 6/F. Listing page (GD single) ====================================
   Top row: featured image (.geodir-post-slider) + map (.geodir-wgt-map),
   then tabs (.geodir-tabs). Only stable GD/Leaflet classes are used, no
   generated IDs (sdel-…, geodir_images_…, elementor-element-…).
   Tab visibility (inline display) is handled by GD's JS. */

/* -- Listing header: [lvk_adatlap_fejlec] ------------------------------ */
body.lvk-design .lvk-head {
	margin: 0 0 20px;
}
body.lvk-design .lvk-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
	color: var(--lvk-muted);
	font-size: 13px;
	line-height: 1.4;
}
body.lvk-design .lvk-crumbs li {
	margin: 0;
	padding: 0;
	list-style: none;
	min-width: 0;
}
body.lvk-design .lvk-crumbs li + li::before {
	content: "/";
	margin-right: 6px;
	color: #d1d5db;
}
body.lvk-design .lvk-crumbs a {
	color: var(--lvk-muted);
	text-decoration: none;
}
body.lvk-design .lvk-crumbs a:hover {
	color: var(--lvk-primary);
	text-decoration: underline;
}
body.lvk-design .lvk-crumbs li[aria-current="page"] span {
	display: inline-block;
	max-width: 40ch;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	vertical-align: bottom;
	color: #374151;
}
body.lvk-design .lvk-head .lvk-head-title {
	margin: 0 0 12px;
	padding: 0;
	color: var(--lvk-text);
	font-size: 32px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.02em;
	text-transform: none;
}
body.lvk-design .lvk-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.lvk-design .lvk-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 5px 12px;
	border-radius: 999px;
	background: #f3f4f6;
	color: #374151;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	list-style: none;
}
body.lvk-design .lvk-chip a {
	color: inherit;
	text-decoration: none;
}
body.lvk-design .lvk-chip a:hover {
	color: var(--lvk-primary);
}
body.lvk-design .lvk-chip--type {
	background: var(--lvk-primary);
	color: #fff;
}
body.lvk-design .lvk-chip--place .lvk-chip-icon {
	color: var(--lvk-primary);
}
body.lvk-design .lvk-chip--muted {
	background: transparent;
	box-shadow: inset 0 0 0 1px var(--lvk-border);
	color: var(--lvk-muted);
}
@media (max-width: 767px) {
	body.lvk-design .lvk-head .lvk-head-title {
		font-size: 24px;
	}
	body.lvk-design .lvk-crumbs li[aria-current="page"] span {
		max-width: 22ch;
	}
}

/* -- Featured image / slideshow ----------------------------------------- */
body.lvk-design .geodir-post-slider .geodir-image-container {
	margin-bottom: 0 !important;
	overflow: hidden;
	border-radius: var(--lvk-radius);
	background: #f3f4f6;
	box-shadow: 0 1px 2px rgba(17, 24, 39, .06);
}
body.lvk-design .geodir-post-slider ul.geodir-images:not(.geodir-gallery) {
	margin: 0;
	padding: 0;
	list-style: none;
}
body.lvk-design .geodir-post-slider ul.geodir-images:not(.geodir-gallery) > li {
	margin: 0;
	list-style: none;
}
body.lvk-design .geodir-post-slider .geodir-images:not(.geodir-gallery) img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	border-radius: 0;
}
/* Featured image next to the map: same height on desktop and tablet.
   Only in sections that contain both the image and the GD map widget.
   Height comes from the settings: --lvk-hero-h (default 555px, the map height). */
@media (min-width: 768px) {
	body.lvk-design .elementor-section:has(.geodir-wgt-map) .geodir-post-slider .geodir-image-container {
		border: 1px solid var(--lvk-border); /* the map has a 1px border too, so the heights match exactly */
	}
	/* Image wrappers must not limit the height (GD max-height / ratio box) */
	body.lvk-design .elementor-section:has(.geodir-wgt-map) .geodir-post-slider:not(#lvk-a) :is(.geodir-image-container, .geodir-image-wrapper, ul.geodir-images, ul.geodir-images > li) {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		aspect-ratio: auto !important;
	}
	body.lvk-design .elementor-section:has(.geodir-wgt-map) .geodir-post-slider:not(#lvk-a) .geodir-images:not(.geodir-gallery) img {
		position: static !important;
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		height: var(--lvk-hero-h, 555px) !important;
		min-height: var(--lvk-hero-h, 555px) !important;
		max-height: var(--lvk-hero-h, 555px) !important;
		aspect-ratio: auto !important;
		transform: none !important;
		object-fit: cover !important;
		object-position: center !important;
	}
}

/* Slideshow dots and arrows (more than one image) */
body.lvk-design .geodir-post-slider .flex-control-paging li a {
	width: 9px;
	height: 9px;
	background: rgba(255, 255, 255, .6);
	box-shadow: none;
}
body.lvk-design .geodir-post-slider .flex-control-paging li a.flex-active {
	background: #fff;
}

/* -- Map (top row and Map tab) ------------------------------------------ */
body.lvk-design .geodir-wgt-map .geodir_map_container {
	overflow: hidden;
	border: 1px solid var(--lvk-border);
	border-radius: var(--lvk-radius);
	background: #f3f4f6;
}
body.lvk-design .geodir-wgt-map .leaflet-bar {
	overflow: hidden;
	border: 0 !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 12px rgba(17, 24, 39, .15) !important;
}
body.lvk-design .geodir-wgt-map .leaflet-bar a {
	width: 34px;
	height: 34px;
	line-height: 34px;
	border-bottom-color: #f3f4f6;
	color: var(--lvk-text);
	font-weight: 600;
	text-decoration: none;
}
body.lvk-design .geodir-wgt-map .leaflet-bar a:hover {
	background: var(--lvk-bg);
	color: var(--lvk-primary);
}
/* Fullscreen button (GD icon) */
body.lvk-design .geodir-wgt-map .triggermap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 4px 12px rgba(17, 24, 39, .15);
	color: var(--lvk-text);
	cursor: pointer;
}
body.lvk-design .geodir-wgt-map .triggermap:hover {
	color: var(--lvk-primary);
}
/* Routing inputs */
body.lvk-design .geodir-wgt-map .leaflet-routing-container {
	border-radius: 10px !important;
}
body.lvk-design .geodir-wgt-map .leaflet-routing-geocoder input {
	border: 1px solid #d1d5db;
	border-radius: 6px;
	padding: 6px 10px;
}

/* -- Tabs ---------------------------------------------------------------- */
body.lvk-design .geodir-tabs .geodir-tab-head {
	margin: 0 0 16px;
	padding: 6px;
	background: #fff;
	border: 1px solid var(--lvk-border);
	border-radius: var(--lvk-radius);
	box-shadow: 0 1px 2px rgba(17, 24, 39, .04);
	line-height: 0;
}
body.lvk-design .geodir-tabs .geodir-tab-head dt {
	display: none;
}
body.lvk-design .geodir-tabs .geodir-tab-head dd {
	display: inline-block;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	line-height: 1;
	vertical-align: top;
}
body.lvk-design .geodir-tabs .geodir-tab-head dd a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 10px 14px;
	border: 0 !important;
	border-radius: 8px;
	background: transparent !important;
	color: #4b5563 !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}
body.lvk-design .geodir-tabs .geodir-tab-head dd a i {
	margin: 0;
	color: var(--lvk-muted);
	font-size: 13px;
	transition: color .15s ease;
}
body.lvk-design .geodir-tabs .geodir-tab-head dd a:hover {
	background: rgba(25, 76, 61, .07) !important;
	background: color-mix(in srgb, var(--lvk-primary) 7%, transparent) !important;
	color: var(--lvk-primary) !important;
}
body.lvk-design .geodir-tabs .geodir-tab-head dd a:hover i {
	color: var(--lvk-primary);
}
body.lvk-design .geodir-tabs .geodir-tab-head dd.geodir-tab-active a {
	background: var(--lvk-primary) !important;
	color: #fff !important;
}
body.lvk-design .geodir-tabs .geodir-tab-head dd.geodir-tab-active a i {
	color: rgba(255, 255, 255, .85);
}

/* Mobile tab switcher (shown by GD on small screens, visibility untouched) */
body.lvk-design .geodir-tabs #geodir-tab-mobile-menu {
	position: relative;
	margin: 0 0 8px;
	padding: 12px 40px 12px 14px;
	background: #fff;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	color: var(--lvk-text);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}
body.lvk-design .geodir-tabs #geodir-tab-mobile-menu .geodir-mobile-active-tab i {
	margin-right: 8px;
	color: var(--lvk-primary);
}
body.lvk-design .geodir-tabs #geodir-tab-mobile-menu > .fa-sort-down {
	position: absolute;
	right: 14px;
	top: 50%;
	margin-top: -9px;
	color: var(--lvk-muted);
}
@media (max-width: 767px) {
	body.lvk-design .geodir-tabs .geodir-tab-head dd {
		display: block;
	}
	body.lvk-design .geodir-tabs .geodir-tab-head dd a {
		display: flex;
		width: 100%;
		box-sizing: border-box;
	}
}

/* -- Tab content card ------------------------------------------------------ */
body.lvk-design .geodir-tabs .geodir-tabs-content {
	margin: 0 !important;
	padding: 24px 28px !important;
	list-style: none;
	background: #fff;
	border: 1px solid var(--lvk-border);
	border-radius: var(--lvk-radius);
	box-shadow: 0 1px 2px rgba(17, 24, 39, .04);
	color: var(--lvk-text);
	font-size: 15px;
	line-height: 1.65;
}
body.lvk-design .geodir-tabs .geodir-tabs-content > li {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
	background: transparent;
}
@media (max-width: 767px) {
	body.lvk-design .geodir-tabs .geodir-tabs-content {
		padding: 18px 16px !important;
	}
}

/* Field group heading (e.g. "Alapinformációk") */
body.lvk-design .geodir-tabs-content .geodir-post-meta-container > h2[class^="fieldset-"],
body.lvk-design .geodir-tabs-content .geodir-post-meta-container > h2[class*=" fieldset-"] {
	margin: 0 0 8px;
	padding: 0 0 12px;
	border-bottom: 1px solid var(--lvk-border);
	color: var(--lvk-text);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.3;
}

/* Field row: label in a fixed left column, value on the right; stacked on mobile */
body.lvk-design .geodir-tabs-content .geodir_post_meta {
	display: flow-root;
	margin: 0;
	padding: 12px 0 12px 240px;
	border-bottom: 1px solid #f3f4f6;
	color: var(--lvk-text);
	font-size: 15px;
	line-height: 1.6;
}
body.lvk-design .geodir-tabs-content .geodir-post-meta-container:last-child .geodir_post_meta {
	border-bottom: 0;
}
body.lvk-design .geodir-tabs-content .geodir_post_meta > .geodir_post_meta_icon {
	float: left;
	width: 220px;
	margin: 0 0 0 -240px;
	padding: 0;
	color: var(--lvk-muted);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
}
body.lvk-design .geodir-tabs-content .geodir_post_meta > .geodir_post_meta_icon > i {
	width: 16px;
	margin-right: 6px;
	color: var(--lvk-primary);
	text-align: center;
}
body.lvk-design .geodir-tabs-content .geodir_post_meta_title {
	color: var(--lvk-muted);
	font-weight: 500;
}
/* Description without a label (Profil tab): full width, readable line length */
body.lvk-design .geodir-tabs-content .geodir_post_meta:not(:has(> .geodir_post_meta_icon)) {
	padding-left: 0;
	border-bottom: 0;
	max-width: 75ch;
	font-size: 16px;
	line-height: 1.75;
}
body.lvk-design .geodir-tabs-content .geodir_post_meta p {
	margin: 0 0 .75em;
}
body.lvk-design .geodir-tabs-content .geodir_post_meta p:last-child {
	margin-bottom: 0;
}
body.lvk-design .geodir-tabs-content .geodir_post_meta a {
	color: var(--lvk-primary);
	font-weight: 600;
	text-decoration: none;
}
body.lvk-design .geodir-tabs-content .geodir_post_meta a:hover {
	text-decoration: underline;
}

/* Multi-value fields as chips */
body.lvk-design .geodir-tabs-content .geodir_post_meta > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.lvk-design .geodir-tabs-content .geodir_post_meta > ul > li {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 4px 11px;
	border-radius: 999px;
	background: rgba(25, 76, 61, .08);
	background: color-mix(in srgb, var(--lvk-primary) 8%, transparent);
	color: var(--lvk-primary);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	list-style: none;
}
body.lvk-design .geodir-tabs-content .geodir_post_meta > ul > li::before {
	display: none;
}

@media (max-width: 767px) {
	body.lvk-design .geodir-tabs-content .geodir_post_meta {
		padding-left: 0;
	}
	body.lvk-design .geodir-tabs-content .geodir_post_meta > .geodir_post_meta_icon {
		float: none;
		display: block;
		width: auto;
		margin: 0 0 4px;
	}
}

/* -- Image custom fields inside tabs ---------------------------------------
   The file name is hidden for images only; for PDFs etc. it is the link text.
   Images have alt text. */
body.lvk-design .geodir-custom-field-file.geodir-cf-type-image .geodir-cf-file-name {
	display: none !important;
}
body.lvk-design .geodir-custom-field-file.geodir-cf-type-image {
	display: inline-block;
	margin: 0 10px 10px 0;
	vertical-align: top;
}
body.lvk-design .geodir-custom-field-file.geodir-cf-type-image > a {
	display: block;
	overflow: hidden;
	border-radius: 10px;
	background: #f3f4f6;
}
body.lvk-design .geodir-custom-field-file.geodir-cf-type-image img {
	display: block;
	width: 240px !important;
	max-width: 100%;
	height: auto !important;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transition: transform .35s ease;
}
@media (hover: hover) {
	body.lvk-design .geodir-custom-field-file.geodir-cf-type-image > a:hover img {
		transform: scale(1.04);
	}
}
@media (max-width: 575px) {
	body.lvk-design .geodir-custom-field-file.geodir-cf-type-image {
		display: block;
		margin-right: 0;
	}
	body.lvk-design .geodir-custom-field-file.geodir-cf-type-image img {
		width: 100% !important;
	}
}
/* Non-image files (e.g. PDF) */
body.lvk-design .geodir-custom-field-file:not(.geodir-cf-type-image) .geodir-cf-file-name i {
	margin-right: 6px;
	color: var(--lvk-primary);
}

/* -- Photos tab: gallery grid --------------------------------------------- */
body.lvk-design .geodir-tabs-content .geodir-image-container {
	margin-bottom: 0 !important;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}
/* Empty "<p><br></p>" right before the tabs (Elementor text editor) */
body.lvk-design p:has(> br:only-child):has(+ .geodir-single-tabs-container) {
	display: none;
}
body.lvk-design .geodir-tabs-content ul.geodir-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.lvk-design .geodir-tabs-content ul.geodir-gallery::before,
body.lvk-design .geodir-tabs-content ul.geodir-gallery::after {
	display: none;
}
body.lvk-design .geodir-tabs-content ul.geodir-gallery > li {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.lvk-design .geodir-tabs-content ul.geodir-gallery > li > a {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 10px;
	background: #f3f4f6;
}
body.lvk-design .geodir-tabs-content ul.geodir-gallery img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform .35s ease, filter .35s ease;
}
/* Zoom icon: white circle in the middle, on hover */
body.lvk-design .geodir-tabs-content ul.geodir-gallery > li > a > i {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 42px !important;
	height: 42px !important;
	margin: -21px 0 0 -21px !important;
	padding: 0 !important;
	border-radius: 50%;
	background: rgba(255, 255, 255, .95) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
	color: var(--lvk-text) !important;
	font-size: 15px !important;
	line-height: 1 !important;
	opacity: 0;
	transform: scale(.85) !important;
	transition: opacity .2s ease, transform .2s ease;
}
@media (hover: hover) {
	body.lvk-design .geodir-tabs-content ul.geodir-gallery > li > a:hover img {
		transform: scale(1.04);
		filter: brightness(.9);
	}
	body.lvk-design .geodir-tabs-content ul.geodir-gallery > li > a:hover > i {
		opacity: 1;
		transform: scale(1) !important;
	}
}
@media (hover: none) {
	body.lvk-design .geodir-tabs-content ul.geodir-gallery > li > a > i {
		display: none !important;
	}
}
@media (max-width: 575px) {
	body.lvk-design .geodir-tabs-content ul.geodir-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}
}

/* ===== 6/G. Add listing form (GD classic form) =========================
   Looks only. Visibility (errors, hidden fields, autocomplete list), the
   select2 widgets, the map and the uploader keep working as GD wrote them:
   nothing here sets display on elements GD shows or hides. Fields outside
   .geodir_form_row (spam trap, hidden inputs) are never targeted. */

/* Form card */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) {
	background: #fff;
	border: 1px solid var(--lvk-border);
	border-radius: var(--lvk-radius);
	padding: 28px 32px 32px;
	box-shadow: 0 1px 2px rgba(17, 24, 39, .04);
	color: var(--lvk-text);
	margin-bottom: 24px;
}

/* Section headings ("Adataid", "Töltsd ki…") */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) .geodir-fieldset-row {
	clear: both;
	margin: 36px 0 20px;
	padding: 0 0 12px;
	border: 0;
	border-bottom: 1px solid var(--lvk-border);
	background: none;
	color: var(--lvk-primary);
	font-family: var(--lvk-font-heading, inherit);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir-fieldset-row:first-of-type {
	margin-top: 0;
}

/* Rows: label on top, field below, full width */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row {
	clear: both;
	float: none;
	width: auto;
	margin: 0 0 22px;
	padding: 0;
	border: 0;
	background: none;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > label {
	display: block;
	float: none;
	width: auto;
	margin: 0 0 7px;
	padding: 0;
	color: var(--lvk-text);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	text-align: left;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > label > span {
	color: #b42318;
	font-weight: 600;
	margin-left: 2px;
}

/* Wrappers GD floats at 70% (inline style) */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > [role~="radiogroup"],
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .geodir_taxonomy_field,
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .gd-input-group,
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .geodir-add-files {
	float: none !important;
	width: auto !important;
	max-width: 100%;
	margin-left: 0;
}

/* Text fields */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row input.geodir_textfield,
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row input[type="text"],
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row input[type="email"],
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row input[type="url"],
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row input[type="tel"],
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row input[type="number"],
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row textarea.geodir_textarea {
	box-sizing: border-box;
	float: none;
	width: 100%;
	max-width: 100%;
	height: 46px;
	margin: 0;
	padding: 10px 14px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	color: var(--lvk-text);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.5;
	transition: border-color .15s ease, box-shadow .15s ease;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row textarea.geodir_textarea {
	height: auto;
	min-height: 160px;
	resize: vertical;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row input:is([type="text"], [type="email"], [type="url"], [type="tel"], [type="number"]):hover,
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row textarea.geodir_textarea:hover {
	border-color: #9ca3af;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row input:is([type="text"], [type="email"], [type="url"], [type="tel"], [type="number"]):focus,
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row textarea.geodir_textarea:focus {
	border-color: var(--lvk-primary);
	box-shadow: 0 0 0 3px rgba(25, 76, 61, .15);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--lvk-primary) 18%, transparent);
	outline: 0;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row :is(input, textarea)::placeholder {
	color: #9ca3af;
	opacity: 1;
}

/* Help text and error text */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .geodir_message_note {
	clear: both;
	float: none;
	margin: 6px 0 0;
	padding: 0 !important;
	color: var(--lvk-muted);
	font-size: 13px;
	font-style: normal;
	line-height: 1.5;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .geodir_message_error {
	clear: both;
	float: none;
	margin: 6px 0 0;
	padding: 0;
	background: none;
	color: #b42318;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
}

/* Field with a visible error (GD shows the message with an inline style) */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row:has(> .geodir_message_error[style]:not([style*="none"]):not(:empty)) :is(input.geodir_textfield, textarea.geodir_textarea, .select2-selection) {
	border-color: #d92d20;
}

/* Package choice: one bordered row per package */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > [role~="radiogroup"] .geodir_package {
	float: none;
	width: auto;
	margin: 0 0 8px;
	padding: 12px 14px;
	border: 1px solid var(--lvk-border);
	border-radius: 10px;
	background: #fff;
	line-height: 1.45;
	transition: border-color .15s ease, background-color .15s ease;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > [role~="radiogroup"] .geodir_package:has(input:checked) {
	border-color: var(--lvk-primary);
	background: #f3f8f5;
	box-shadow: inset 0 0 0 1px var(--lvk-primary);
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > [role~="radiogroup"] .gd-radios {
	font-weight: 500;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > [role~="radiogroup"] .gd-radios input {
	width: 18px;
	height: 18px;
	margin: 0 8px 0 0;
	vertical-align: -3px;
	cursor: pointer;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > [role~="radiogroup"] .geodir-price-name {
	color: var(--lvk-price);
	font-weight: 600;
	white-space: nowrap;
}

/* Checkbox lists: grid, no inner scroll box */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row ul.gd_multi_choice {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 2px 18px;
	float: none;
	width: auto;
	max-height: none;
	overflow: visible;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid var(--lvk-border);
	border-radius: 10px;
	background: #fcfbf8;
	list-style: none;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row ul.gd_multi_choice > li {
	float: none;
	width: auto;
	margin: 0;
	padding: 5px 0 5px 26px;
	text-indent: -26px;
	background: none;
	border: 0;
	font-size: 14.5px;
	line-height: 1.45;
	list-style: none;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row ul.gd_multi_choice > li::before {
	content: none;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row ul.gd_multi_choice > li > input {
	width: 17px;
	height: 17px;
	margin: 0 6px 0 0;
	text-indent: 0;
	vertical-align: -3px;
	cursor: pointer;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row ul.gd_multi_choice > li:has(> input:checked) {
	color: var(--lvk-primary);
	font-weight: 600;
}

/* Single radio and checkbox fields */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .gd-radios,
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .gd-radios-list {
	margin-right: 16px;
}

/* select2: same size and frame as the text fields.
   The inline pixel width select2 writes is replaced with 100%. */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-container {
	width: 100% !important;
	max-width: 100%;
	float: none;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-container .select2-selection--single,
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-container .select2-selection--multiple {
	box-sizing: border-box;
	min-height: 46px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-container .select2-selection--single {
	height: 46px;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-container .select2-selection:hover {
	border-color: #9ca3af;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-container--focus .select2-selection,
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-container--open .select2-selection {
	border-color: var(--lvk-primary);
	box-shadow: 0 0 0 3px rgba(25, 76, 61, .15);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--lvk-primary) 18%, transparent);
	outline: 0;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-selection--single .select2-selection__rendered {
	padding: 0 40px 0 14px;
	color: var(--lvk-text);
	font-size: 15px;
	line-height: 44px;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-selection--single .select2-selection__placeholder {
	color: #9ca3af;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-selection--single .select2-selection__arrow {
	top: 0;
	right: 6px;
	width: 32px;
	height: 44px;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-selection--single .select2-selection__arrow b {
	border-color: var(--lvk-muted) transparent transparent;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-color: transparent transparent var(--lvk-muted);
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-selection--multiple .select2-selection__rendered {
	box-sizing: border-box;
	max-width: 100%;
	padding: 4px 8px;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-selection--multiple .select2-search--inline {
	max-width: 100%;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-selection--multiple .select2-search__field {
	max-width: 100%;
	height: 34px;
	margin: 2px 0 0 4px;
	padding: 0;
	border: 0;
	box-shadow: none;
	font-size: 15px;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-selection--multiple .select2-search__field::placeholder {
	color: #9ca3af;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-selection--multiple .select2-selection__choice {
	margin: 4px 6px 0 0;
	padding: 3px 10px;
	border: 0;
	border-radius: 999px;
	background: #e8f1ec;
	color: var(--lvk-primary);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .select2-selection--multiple .select2-selection__choice__remove {
	margin-right: 5px;
	color: var(--lvk-primary);
	font-weight: 700;
}

/* Address with the locate-me button attached on the right */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .gd-input-group {
	display: flex;
	align-items: stretch;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .gd-input-group > input {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .gd-input-group > input:not(:last-child) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .gd-input-group > .gd-input-group-addon {
	position: static;
	flex: 0 0 auto;
	box-sizing: border-box;
	align-content: center;
	width: 48px;
	height: auto;
	margin: 0 0 0 -1px;
	padding: 0;
	border: 1px solid #d1d5db;
	border-radius: 0 8px 8px 0;
	background: #f5f4f0;
	color: var(--lvk-primary);
	font-size: 16px;
	line-height: 44px;
	text-align: center;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .gd-input-group > .gd-input-group-addon:hover {
	background: var(--lvk-primary);
	border-color: var(--lvk-primary);
	color: #fff;
}

/* Address suggestions (jQuery UI list; GD positions and shows it) */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .ui-autocomplete {
	max-height: 280px;
	overflow-y: auto;
	margin: 4px 0 0;
	padding: 6px;
	border: 1px solid var(--lvk-border);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(17, 24, 39, .12);
	list-style: none;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .ui-autocomplete .ui-menu-item {
	margin: 0;
	list-style: none;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .ui-autocomplete .ui-menu-item-wrapper {
	margin: 0;
	padding: 8px 10px;
	border: 0;
	border-radius: 6px;
	color: var(--lvk-text);
	font-size: 14.5px;
	cursor: pointer;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .ui-autocomplete .ui-state-active {
	background: #eef5f1;
	color: var(--lvk-primary);
}

/* Secondary buttons: "Cím beállítása a térképen", "Fájlok kiválasztása" */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row input.geodir_button[type="button"] {
	box-sizing: border-box;
	height: auto;
	min-height: 44px;
	margin: 0;
	padding: 10px 18px;
	border: 1px solid var(--lvk-primary);
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	color: var(--lvk-primary);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	text-transform: none;
	white-space: normal;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row input.geodir_button[type="button"]:hover,
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row input.geodir_button[type="button"]:focus-visible {
	background: var(--lvk-primary);
	color: #fff;
}

/* Map */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > .geodir_map_container {
	margin-top: 12px !important;
	overflow: hidden;
	border: 1px solid var(--lvk-border);
	border-radius: 10px;
}

/* Image upload: dashed drop zone. The invisible file input that the
   uploader lays over it is left alone. */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .gd_images_desc {
	margin: 0 0 10px;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .geodir-files-dropbox {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .plupload-upload-uic {
	box-sizing: border-box;
	width: auto;
	margin: 0;
	padding: 26px 20px 20px;
	border: 2px dashed #cfd8d3;
	border-radius: 12px;
	background: #f8faf9;
	text-align: center;
	transition: border-color .15s ease, background-color .15s ease;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .plupload-upload-uic:hover {
	border-color: var(--lvk-primary);
	background: #f1f7f3;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .geodir-dropbox-title {
	margin: 0 0 12px;
	color: var(--lvk-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .geodir-dropbox-title small {
	display: block;
	margin-top: 4px;
	color: var(--lvk-muted);
	font-size: 13px;
	font-weight: 400;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row :is(.geodir-dropbox-file-types, .geodir-dropbox-file-limit) {
	margin: 10px 0 0;
	color: var(--lvk-muted);
	font-size: 12.5px;
	line-height: 1.5;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .geodir-dropbox-file-limit {
	margin-top: 2px;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .plupload-thumbs {
	margin-top: 12px;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .plupload-thumbs:empty {
	margin-top: 0;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .plupload-thumbs img {
	border-radius: 8px;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row .geodir-files-dropbox > span:not([style]) {
	color: var(--lvk-muted);
	font-size: 13px;
}

/* Submit */
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row:has(> button[type="submit"]) {
	margin: 32px 0 0;
	padding: 24px 0 0 !important;
	border-top: 1px solid var(--lvk-border);
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > button[type="submit"] {
	box-sizing: border-box;
	min-width: 240px;
	min-height: 52px;
	margin: 0;
	padding: 12px 32px;
	border: 1px solid var(--lvk-primary);
	border-radius: 10px;
	background: var(--lvk-primary);
	box-shadow: 0 6px 16px rgba(25, 76, 61, .18);
	color: var(--lvk-on-primary, #fff);
	font-family: inherit;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > button[type="submit"]:hover,
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > button[type="submit"]:focus-visible {
	background: var(--lvk-primary-dark);
	border-color: var(--lvk-primary-dark);
	box-shadow: 0 8px 20px rgba(25, 76, 61, .24);
	transform: translateY(-1px);
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > button[type="submit"]:disabled {
	opacity: .6;
	cursor: wait;
	transform: none;
}
body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row:has(> button[type="submit"]) > .geodir_message_note {
	text-align: center;
}

/* Help panel next to the form (Elementor toggle in the same section) */
body.lvk-design :is(.elementor-section, .e-con):has(.geodir-add-listing) .elementor-toggle:not(#lvk-a) .elementor-toggle-item {
	margin: 0 0 8px;
	border: 1px solid var(--lvk-border);
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
}
body.lvk-design :is(.elementor-section, .e-con):has(.geodir-add-listing) .elementor-toggle:not(#lvk-a) .elementor-tab-title {
	padding: 14px 16px;
	border: 0;
	background: #fff;
	color: var(--lvk-text);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	transition: background-color .15s ease;
}
body.lvk-design :is(.elementor-section, .e-con):has(.geodir-add-listing) .elementor-toggle:not(#lvk-a) .elementor-tab-title:hover,
body.lvk-design :is(.elementor-section, .e-con):has(.geodir-add-listing) .elementor-toggle:not(#lvk-a) .elementor-tab-title.elementor-active {
	background: #f3f8f5;
}
body.lvk-design :is(.elementor-section, .e-con):has(.geodir-add-listing) .elementor-toggle:not(#lvk-a) .elementor-tab-title :is(a, .elementor-toggle-title) {
	color: inherit;
	text-decoration: none;
}
body.lvk-design :is(.elementor-section, .e-con):has(.geodir-add-listing) .elementor-toggle:not(#lvk-a) .elementor-toggle-icon {
	color: var(--lvk-accent);
}
body.lvk-design :is(.elementor-section, .e-con):has(.geodir-add-listing) .elementor-toggle:not(#lvk-a) .elementor-tab-content {
	padding: 4px 16px 14px;
	border: 0;
	border-top: 1px solid var(--lvk-border);
	color: #374151;
	font-size: 14px;
	line-height: 1.6;
}
body.lvk-design :is(.elementor-section, .e-con):has(.geodir-add-listing) .elementor-toggle:not(#lvk-a) .elementor-tab-content p {
	margin: 10px 0 0;
}

@media (max-width: 767px) {
	body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) {
		padding: 20px 16px 24px;
	}
	body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) .geodir-fieldset-row {
		font-size: 18px;
	}
	body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row :is(input, textarea, .select2-selection__rendered, .select2-search__field) {
		font-size: 16px;
	}
	body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row ul.gd_multi_choice {
		grid-template-columns: 1fr;
	}
	body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row input.geodir_button[type="button"],
	body.lvk-design.lvk-gd .geodir-add-listing:not(#lvk-a) form > .geodir_form_row > button[type="submit"] {
		width: 100%;
		min-width: 0;
	}
}

/* ===== 6/B. GeoDirectory cards (AUI / Bootstrap templates) ============= */

body.lvk-design.lvk-gd .geodir-loop-container .card,
body.lvk-design.lvk-gd .geodir-listings .card,
body.lvk-design.lvk-gd .lvk-card {
	border: 1px solid var(--lvk-border);
	border-radius: var(--lvk-radius);
	overflow: hidden;
	background: #fff;
	box-shadow: none;
	transition: box-shadow .2s ease, transform .2s ease;
}
body.lvk-design.lvk-gd .geodir-loop-container .card:hover,
body.lvk-design.lvk-gd .geodir-listings .card:hover {
	box-shadow: 0 10px 28px rgba(17, 24, 39, .10);
}
@media (hover: hover) {
	body.lvk-design.lvk-gd .geodir-loop-container .card:hover,
	body.lvk-design.lvk-gd .geodir-listings .card:hover {
		transform: translateY(-2px);
	}
}

/* Image at the top of the card */
body.lvk-design.lvk-gd .geodir-loop-container .card .card-img-top,
body.lvk-design.lvk-gd .geodir-loop-container .card .geodir-image-container img {
	object-fit: cover;
}

body.lvk-design.lvk-gd .geodir-loop-container .card .card-body {
	padding: 16px;
}

/* Card titles only, the listing page title is not affected */
body.lvk-design.lvk-gd .card .geodir-post-title,
body.lvk-design.lvk-gd .card .geodir-entry-title {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}
body.lvk-design.lvk-gd .geodir-loop-container .geodir-post-title a,
body.lvk-design.lvk-gd .geodir-loop-container .geodir-entry-title a {
	color: var(--lvk-text);
}
body.lvk-design.lvk-gd .geodir-post-title a:hover,
body.lvk-design.lvk-gd .geodir-entry-title a:hover {
	color: var(--lvk-primary);
}

/* Muted meta rows (address, category) */
body.lvk-design.lvk-gd .geodir-loop-container .card .geodir-field-address,
body.lvk-design.lvk-gd .geodir-loop-container .card .geodir_post_meta {
	color: var(--lvk-muted);
	font-size: 14px;
}

/* Divider + footer */
body.lvk-design.lvk-gd .geodir-loop-container .card .card-footer {
	background: #fff;
	border-top: 1px solid #f3f4f6;
}

/* GD price field */
body.lvk-design.lvk-gd .geodir-field-price,
body.lvk-design.lvk-gd .lvk-price {
	color: var(--lvk-price);
	font-weight: 700;
	font-size: 18px;
}

/* Round favourite button on the image */
body.lvk-design.lvk-gd .geodir-loop-container .card .geodir-addtofav a,
body.lvk-design.lvk-gd .geodir-loop-container .card .gd-list-favorite {
	background: rgba(255, 255, 255, .92);
	border-radius: 50%;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
}

/* Outlined badge (e.g. "Ellenőrzött") – class: lvk-badge */
body.lvk-design .lvk-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 8px;
	border: 1px solid var(--lvk-price);
	border-radius: 999px;
	color: var(--lvk-price);
	background: transparent;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
}

/* Section titles above lists (GD widget titles) */
body.lvk-design.lvk-gd .geodir-widget .widget-title,
body.lvk-design.lvk-gd .widget .gd-widget-title {
	color: var(--lvk-text);
	font-weight: 700;
}

/* AyeCode UI (GD) colours */
body.lvk-design.lvk-gd .bsui .text-primary {
	color: var(--lvk-primary) !important; /* AUI sets this with !important */
}
body.lvk-design.lvk-gd .bsui .bg-primary {
	background-color: var(--lvk-primary) !important; /* AUI sets this with !important */
}
body.lvk-design.lvk-gd .bsui .page-link {
	color: var(--lvk-primary);
	border-color: var(--lvk-border);
}
body.lvk-design.lvk-gd .bsui .page-item.active .page-link {
	background-color: var(--lvk-primary);
	border-color: var(--lvk-primary);
	color: #fff;
}

/* ===== 7. Buttons and forms ============================================ */

body.lvk-design .btn-primary,
body.lvk-design .btn.btn-primary,
body.lvk-design #main input[type="submit"]:not(.btn-link),
body.lvk-design #main button[type="submit"]:not(.btn-link),
body.lvk-design.lvk-gd .bsui .btn-primary,
body.lvk-design.lvk-gd .geodir_submit_search,
body.lvk-design.lvk-gd .geodir_button {
	background-color: var(--lvk-primary);
	border-color: var(--lvk-primary);
	color: #fff;
	border-radius: 8px;
	font-weight: 600;
}
body.lvk-design .btn-primary:hover,
body.lvk-design .btn-primary:focus,
body.lvk-design #main input[type="submit"]:not(.btn-link):hover,
body.lvk-design #main button[type="submit"]:not(.btn-link):hover,
body.lvk-design.lvk-gd .bsui .btn-primary:hover,
body.lvk-design.lvk-gd .bsui .btn-primary:focus,
body.lvk-design.lvk-gd .bsui .btn-primary:active,
body.lvk-design.lvk-gd .geodir_submit_search:hover,
body.lvk-design.lvk-gd .geodir_button:hover {
	background-color: var(--lvk-primary-dark);
	border-color: var(--lvk-primary-dark);
	color: #fff;
}

body.lvk-design.lvk-gd .bsui .btn-outline-primary {
	color: var(--lvk-primary);
	border-color: var(--lvk-primary);
	border-radius: 8px;
}
body.lvk-design.lvk-gd .bsui .btn-outline-primary:hover {
	background-color: var(--lvk-primary);
	color: #fff;
}

/* Gold button anywhere: lvk-btn-gold */
body.lvk-design .lvk-btn-gold,
body.lvk-design .lvk-btn-gold:visited {
	display: inline-block;
	background: var(--lvk-accent);
	color: var(--lvk-on-accent);
	font-weight: 700;
	border: 0;
	border-radius: 6px;
	padding: 10px 20px;
}
body.lvk-design .lvk-btn-gold:hover,
body.lvk-design .lvk-btn-gold:focus {
	filter: brightness(1.06);
	color: var(--lvk-on-accent);
}

body.lvk-design .form-control,
body.lvk-design input[type="text"],
body.lvk-design input[type="email"],
body.lvk-design input[type="search"],
body.lvk-design input[type="password"],
body.lvk-design input[type="tel"],
body.lvk-design input[type="url"],
body.lvk-design input[type="number"],
body.lvk-design select,
body.lvk-design textarea {
	border-color: #d1d5db;
	border-radius: 6px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
body.lvk-design .form-control:focus,
body.lvk-design input[type="text"]:focus,
body.lvk-design input[type="email"]:focus,
body.lvk-design input[type="search"]:focus,
body.lvk-design input[type="password"]:focus,
body.lvk-design input[type="tel"]:focus,
body.lvk-design input[type="url"]:focus,
body.lvk-design input[type="number"]:focus,
body.lvk-design select:focus,
body.lvk-design textarea:focus {
	border-color: var(--lvk-primary);
	box-shadow: 0 0 0 3px rgba(25, 76, 61, .15);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--lvk-primary) 18%, transparent);
	outline: 0;
}

body.lvk-design input[type="checkbox"],
body.lvk-design input[type="radio"] {
	accent-color: var(--lvk-primary);
}
body.lvk-design.lvk-gd .bsui .custom-control-input:checked ~ .custom-control-label::before,
body.lvk-design.lvk-gd .bsui .form-check-input:checked {
	background-color: var(--lvk-primary);
	border-color: var(--lvk-primary);
}

/* 16px inputs on mobile so iOS does not zoom in */
@media (max-width: 767px) {
	body.lvk-design input,
	body.lvk-design select,
	body.lvk-design textarea {
		font-size: 16px;
	}
}

/* ===== 8. Utility classes (page builder "Extra class name") ============ */

/* Section backgrounds */
body.lvk-design .lvk-section-light {
	background: var(--lvk-bg);
}
body.lvk-design .lvk-section-muted {
	background: #ececec;
}

/* "Miért válaszd…" style card (Roboto, light green border)
   .lvk-feature > .lvk-feature-icon + h3/h4 + p */
body.lvk-design .lvk-feature {
	background: #fcfbf8;
	border: 1px solid var(--lvk-feature-border);
	border-radius: 8px;
	padding: 16px;
	color: #474e48;
	font-family: var(--lvk-font-alt, inherit);
	height: 100%;
}
body.lvk-design .lvk-feature h3,
body.lvk-design .lvk-feature h4 {
	color: #474e48;
	font-family: var(--lvk-font-alt, inherit);
	font-size: 17px;
	font-weight: 500;
	margin: 14px 0 6px;
}
body.lvk-design .lvk-feature p {
	font-size: 14px;
	line-height: 1.6;
	margin: 0;
}
body.lvk-design .lvk-feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 6px;
	background: var(--lvk-feature-icon-bg);
	color: var(--lvk-feature-icon);
	font-size: 18px;
}

/* ===== 9. Reduced motion ============================================== */

@media (prefers-reduced-motion: reduce) {
	body.lvk-design *,
	body.lvk-design *::before,
	body.lvk-design *::after {
		transition-duration: 0s !important;
		animation-duration: 0s !important;
	}
}
