/* ==========================================================================
   Loveus "Modern" skin
   Scoped to body.loveus-modern (on by default; disable with
   define( 'LOVEUS_CLASSIC_SKIN', true ); in wp-config.php).
   Brand colours stay: orange (--loveus-main) + navy.
   ========================================================================== */

body.loveus-modern {
	--loveus-font-heading: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--loveus-font-body: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--loveus-heading-weight: 800;

	/* Elementor global typography → same family, so builder content matches */
	--e-global-typography-primary-font-family: 'Plus Jakarta Sans';
	--e-global-typography-secondary-font-family: 'Plus Jakarta Sans';
	--e-global-typography-text-font-family: 'Plus Jakarta Sans';
	--e-global-typography-accent-font-family: 'Plus Jakarta Sans';

	--lm-ink: #1b1e30;
	--lm-text: #4a4f64;
	--lm-muted: #7b8094;
	--lm-soft: #f5f6fa;
	--lm-soft-warm: #fff6ef;
	--lm-line: #e8eaf0;
	--lm-radius-lg: 28px;
	--lm-radius: 20px;
	--lm-radius-sm: 12px;
	--lm-shadow-sm: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);
	--lm-shadow: 0 12px 32px -12px rgba(27, 30, 48, .18);
	--lm-shadow-lg: 0 28px 60px -18px rgba(27, 30, 48, .28);
	--lm-glow: 0 12px 28px -10px rgba(245, 134, 52, .65);
	--lm-ease: cubic-bezier(.2, .8, .2, 1);

	color: var(--lm-text);
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: -.005em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

.loveus-modern .text,
.loveus-modern p { line-height: 1.75; }

.loveus-modern h1,
.loveus-modern h2,
.loveus-modern h3,
.loveus-modern h4,
.loveus-modern h5,
.loveus-modern h6 {
	letter-spacing: -.025em;
	line-height: 1.18;
}
/* Zero-specificity default so any explicit heading colour (e.g. white on dark sections) still wins */
:where(.loveus-modern) :where(h1, h2, h3, h4, h5, h6) { color: var(--lm-ink); }
:where(.loveus-modern) :where(.main-footer, .page-banner, .call-to-action, .banner-section) :where(h1, h2, h3, h4, h5, h6) { color: inherit; }

/* Builder (Elementor) headings & text use the same modern family */
.loveus-modern .elementor-heading-title,
.loveus-modern .elementor-widget-text-editor {
	font-family: var(--loveus-font-body) !important;
}
.loveus-modern .elementor-heading-title { letter-spacing: -.025em; }

/* ---------- Buttons ---------- */
.loveus-modern .btn-style-one,
.loveus-modern .btn-style-one .btn-title,
.loveus-modern .btn-style-one .btn-title:before,
.loveus-modern .btn-style-three,
.loveus-modern .btn-style-three .btn-title,
.loveus-modern .btn-style-three .btn-title:before {
	border-radius: 999px;
}
.loveus-modern .btn-style-one,
.loveus-modern .btn-style-three {
	font-family: var(--loveus-font-body);
	font-weight: 700;
	letter-spacing: .01em;
	box-shadow: var(--lm-glow);
	transition: transform .25s var(--lm-ease), box-shadow .25s var(--lm-ease);
}
.loveus-modern .btn-style-one .btn-title,
.loveus-modern .btn-style-three .btn-title {
	padding: 13px 30px;
	font-size: 15px;
}
.loveus-modern .btn-style-one:hover,
.loveus-modern .btn-style-three:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 34px -12px rgba(27, 30, 48, .45);
}

/* ---------- Header: top bar ---------- */
.loveus-modern .main-header .header-top {
	background: var(--lm-ink);
	font-size: 13px;
}
.loveus-modern .main-header .header-top .top-left,
.loveus-modern .main-header .header-top .top-right { padding: 9px 0; }
.loveus-modern .main-header .header-top .info li,
.loveus-modern .main-header .header-top .info li a,
.loveus-modern .main-header .header-top .info .search-toggler {
	font-size: 13px;
	color: rgba(255, 255, 255, .72);
}
.loveus-modern .main-header .header-top .info li a:hover,
.loveus-modern .main-header .header-top .info .search-toggler:hover { color: #fff; }
.loveus-modern .main-header .header-top .info li a .icon { color: var(--loveus-main); padding-right: 7px; }
.loveus-modern .main-header .header-top .info li:before { border-left-color: rgba(255, 255, 255, .14); }
.loveus-modern .main-header .header-top .social-links li { margin-right: 6px; }
.loveus-modern .main-header .header-top .social-links li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	color: rgba(255, 255, 255, .8);
	font-size: 11px;
	transition: background-color .2s, color .2s;
}
.loveus-modern .main-header .header-top .social-links li a:hover { background: var(--loveus-main); color: #fff; }

/* ---------- Header: main bar ---------- */
.loveus-modern .main-header .header-upper {
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 1px 0 var(--lm-line);
}

/* Logo badge: same orange tab, clean rounded shape instead of the tilted corner */
.loveus-modern .main-header .header-upper .logo-box .logo {
	border-radius: 0 0 28px 28px;
	box-shadow: 0 18px 40px -14px rgba(245, 134, 52, .7);
}
.loveus-modern .main-header .header-upper .logo-box .logo:before { display: none; }
.loveus-modern .main-header .header-upper .logo-box { overflow: visible; height: auto; }

/* Menu: pill hover states */
.loveus-modern .main-menu .navigation > li {
	padding: 30px 0;
	margin-right: 4px;
}
.loveus-modern .main-menu .navigation > li > a {
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--lm-ink);
	transition: background-color .2s, color .2s;
}
.loveus-modern .main-menu .navigation > li.menu-item-has-children > a { padding-right: 32px; }
.loveus-modern .main-menu .navigation > li.menu-item-has-children > a:after {
	right: 14px;
	top: 8px;
	font-size: 12px;
	transition: transform .25s var(--lm-ease);
}
.loveus-modern .main-menu .navigation > li:hover > a:after { transform: rotate(180deg); }
.loveus-modern .main-menu .navigation > li > a:before { display: none; }
.loveus-modern .main-menu .navigation > li:hover > a,
.loveus-modern .main-menu .navigation > li.current-menu-item > a,
.loveus-modern .main-menu .navigation > li.current-menu-ancestor > a,
.loveus-modern .main-menu .navigation > li.current > a {
	background: rgba(245, 134, 52, .1);
	color: var(--loveus-main);
}

/* Dropdowns: floating rounded panel */
.loveus-modern .main-menu .navigation > li > ul,
.loveus-modern .main-menu .navigation > li > ul > li > ul {
	width: 260px;
	padding: 8px;
	border-radius: 18px;
	background: #fff;
	border: 1px solid var(--lm-line);
	box-shadow: var(--lm-shadow-lg);
}
.loveus-modern .main-menu .navigation > li > ul { top: calc(100% - 14px); }
.loveus-modern .main-menu .navigation > li > ul > li,
.loveus-modern .main-menu .navigation > li > ul > li > ul > li { border: 0; }
.loveus-modern .main-menu .navigation > li > ul > li:before,
.loveus-modern .main-menu .navigation > li > ul > li > ul > li:before { display: none; }
.loveus-modern .main-menu .navigation > li > ul > li > a,
.loveus-modern .main-menu .navigation > li > ul > li > ul > li > a {
	padding: 10px 14px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 600;
	color: var(--lm-ink);
	transition: background-color .15s, color .15s, padding .2s var(--lm-ease);
}
.loveus-modern .main-menu .navigation > li > ul > li:hover > a,
.loveus-modern .main-menu .navigation > li > ul > li > ul > li:hover > a {
	background: var(--lm-soft-warm);
	color: var(--loveus-main);
	padding-left: 18px;
}

/* Mobile toggler */
.loveus-modern .nav-outer .mobile-nav-toggler {
	width: 48px;
	height: 48px;
	display: none;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: rgba(245, 134, 52, .1);
	font-size: 26px;
	line-height: 1;
	margin-top: 26px;
}
@media (max-width: 1139px) {
	.loveus-modern .nav-outer .mobile-nav-toggler { display: inline-flex; }
}

/* ---------- Mobile menu drawer ---------- */
.loveus-modern .mobile-menu .menu-box {
	background: var(--lm-ink);
	border-radius: 28px 0 0 28px;
	box-shadow: -30px 0 60px rgba(0, 0, 0, .25);
}
.loveus-modern .mobile-menu .menu-backdrop {
	background: rgba(15, 17, 30, .55);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.loveus-modern .mobile-menu .nav-logo { padding: 36px 24px 24px; }
.loveus-modern .mobile-menu .navigation { padding: 0 12px; }
.loveus-modern .mobile-menu .navigation li { border-top: 0; }
.loveus-modern .mobile-menu .navigation:last-child { border-bottom: 0; }
.loveus-modern .mobile-menu .navigation li > ul > li:first-child { border-top: 0; }
.loveus-modern .mobile-menu .navigation li > a {
	padding: 12px 16px;
	border-radius: 14px;
	font-size: 16px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: -.01em;
}
.loveus-modern .mobile-menu .navigation li > a:before { display: none; }
.loveus-modern .mobile-menu .navigation li.current-menu-item > a,
.loveus-modern .mobile-menu .navigation li > a:hover { background: rgba(255, 255, 255, .07); }
.loveus-modern .mobile-menu .navigation li ul li > a { font-size: 15px; margin-left: 12px; opacity: .85; }
.loveus-modern .mobile-menu .navigation li.menu-item-has-children > a { cursor: pointer; padding-right: 56px; }
.loveus-modern .mobile-menu .navigation li:has(> .dropdown-btn.open) > a {
	background: rgba(255, 255, 255, .07);
	color: var(--loveus-main) !important;
}
.loveus-modern .mobile-menu .navigation li > ul {
	margin: 4px 0 8px 18px;
	padding-left: 6px;
	border-left: 2px solid rgba(245, 134, 52, .35);
}
.loveus-modern .mobile-menu .navigation li ul li > a { margin-left: 0; padding: 10px 14px; }
.loveus-modern .mobile-menu .navigation li.menu-item-has-children .dropdown-btn {
	top: 6px;
	right: 6px;
	width: 36px;
	height: 36px;
	line-height: 36px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .08);
}
.loveus-modern .mobile-menu .close-btn {
	top: 18px;
	right: 18px;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .1);
}
.loveus-modern .mobile-menu .social-links { padding: 24px; }

/* ---------- Search popup ---------- */
.loveus-modern .search-popup {
	background: rgba(20, 22, 38, .82);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}
.loveus-modern .search-popup .overlay-layer { background: transparent; }
.loveus-modern .search-popup .search-form input[type="search"] {
	height: 68px;
	padding: 0 190px 0 32px;
	border-radius: 999px;
	font-size: 18px;
	font-family: var(--loveus-font-body);
	background: #fff;
	color: var(--lm-ink);
	border: 0;
}
.loveus-modern .search-popup .search-form fieldset input[type="submit"] {
	right: 8px;
	top: 8px;
	height: 52px;
	line-height: 52px;
	padding: 0 28px;
	border-radius: 999px;
	font-weight: 700;
	font-family: var(--loveus-font-body);
	background: var(--loveus-main);
}
.loveus-modern .search-popup .close-search {
	width: 48px;
	height: 48px;
	line-height: 48px;
	text-align: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, .1);
	font-size: 16px;
}

/* ---------- Decorative "torn paper" edges → clean modern edges ---------- */
.loveus-modern .bottom-rotten-curve,
.loveus-modern .top-rotten-curve { display: none !important; }

/* ---------- Hero slider controls ---------- */
.loveus-modern .banner-carousel .owl-nav .owl-prev,
.loveus-modern .banner-carousel .owl-nav .owl-next,
.loveus-modern .love-carousel .owl-nav .owl-prev,
.loveus-modern .love-carousel .owl-nav .owl-next {
	width: 56px !important;
	height: 56px !important;
	line-height: 56px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, .22) !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, .35) !important;
	color: #fff !important;
	transition: background-color .2s, transform .25s var(--lm-ease);
}
.loveus-modern .banner-carousel .owl-nav .owl-prev:hover,
.loveus-modern .banner-carousel .owl-nav .owl-next:hover,
.loveus-modern .love-carousel .owl-nav .owl-prev:hover,
.loveus-modern .love-carousel .owl-nav .owl-next:hover {
	background: var(--loveus-main) !important;
	border-color: var(--loveus-main) !important;
	transform: scale(1.06);
}
.loveus-modern .owl-theme .owl-dots .owl-dot {
	width: auto !important;
	height: auto !important;
	vertical-align: middle;
}
.loveus-modern .owl-theme .owl-dots .owl-dot span {
	width: 8px !important;
	height: 8px !important;
	margin: 0 4px !important;
	border-radius: 999px !important;
	transition: width .3s var(--lm-ease), background-color .2s;
}
.loveus-modern .owl-theme .owl-dots .owl-dot.active span {
	width: 26px !important;
	background: var(--loveus-main) !important;
	border-color: var(--loveus-main) !important;
}

/* Poster slider on phones: inset rounded card */
@media (max-width: 767px) {
	.loveus-modern .banner-section.loveus-fit { padding: 14px 16px 0; background: #fff; }
	.loveus-modern .banner-section.loveus-fit .banner-carousel .slide-item {
		border-radius: 18px;
		overflow: hidden;
		box-shadow: var(--lm-shadow);
	}
	.loveus-modern .banner-section.loveus-fit .owl-stage-outer { padding-bottom: 12px; }
	/* Builder spacer right after the slider is too tall once the slider is compact */
	.loveus-modern .elementor-widget-banner_slider__o + .elementor-widget-spacer .elementor-spacer-inner { height: 8px !important; }
	.loveus-modern .elementor-widget-banner_slider__o:has(+ .elementor-widget-spacer) { margin-bottom: 0 !important; }
}

/* ---------- Section titles ---------- */
.loveus-modern .sec-title .sub-title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--loveus-font-body);
	font-size: 13px;
	font-weight: 700;
	font-style: normal;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin-bottom: 14px;
}
.loveus-modern .sec-title .sub-title:before {
	content: '';
	width: 28px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}
.loveus-modern .sec-title.centered .sub-title,
.loveus-modern .sec-title.text-center .sub-title { justify-content: center; }
.loveus-modern .sec-title h2 {
	font-size: clamp(32px, 4vw, 50px);
	line-height: 1.08;
	letter-spacing: -.035em;
}
.loveus-modern .sec-title .text { color: var(--lm-text); }

/* ---------- About section & feature cards ---------- */
.loveus-modern .about-section { background-color: var(--lm-soft); }
.loveus-modern .about-section .circle-one,
.loveus-modern .about-section .circle-two { border-color: #eceef4; }
.loveus-modern .about-feature .inner-box {
	padding: 40px 20px 34px;
	border-radius: var(--lm-radius-lg);
	border: 1px solid var(--lm-line);
	box-shadow: var(--lm-shadow-sm);
	transition: transform .3s var(--lm-ease), box-shadow .3s var(--lm-ease);
}
.loveus-modern .about-feature .inner-box:hover {
	transform: translateY(-6px);
	box-shadow: var(--lm-shadow-lg);
}
.loveus-modern .about-feature .icon-box {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	margin: 0 auto 22px;
	border-radius: 24px;
	background: rgba(245, 134, 52, .1);
	font-size: 38px;
	line-height: 1;
}
.loveus-modern .about-feature .inner-box:hover .icon-box { background: rgba(255, 255, 255, .18); }
.loveus-modern .about-feature h4 {
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .02em;
	line-height: 1.35;
}

/* ---------- News / article cards ---------- */
.loveus-modern .news-block .inner-box {
	height: 100%;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--lm-line);
	border-radius: var(--lm-radius-lg);
	background: #fff;
	box-shadow: var(--lm-shadow-sm);
	transition: transform .3s var(--lm-ease), box-shadow .3s var(--lm-ease), border-color .3s;
}
.loveus-modern .news-block .inner-box:hover {
	transform: translateY(-6px);
	border-color: transparent;
	box-shadow: var(--lm-shadow-lg);
}
.loveus-modern .news-block { margin-bottom: 30px; }
.loveus-modern .news-block > article { height: 100%; }
.loveus-modern .news-block .inner-box .lower-content {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 30px 28px 22px;
}
.loveus-modern .news-block .inner-box .image-box + .lower-content { padding-top: 44px; }
.loveus-modern .news-block .inner-box .date-two {
	display: inline-flex;
	align-items: baseline;
	gap: 5px;
	width: auto;
	height: auto;
	padding: 7px 14px;
	border-radius: 999px;
	font-family: var(--loveus-font-body);
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	top: -17px;
	left: 28px;
	box-shadow: var(--lm-glow);
}
.loveus-modern .news-block .inner-box .date-two .month {
	display: inline;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
}
.loveus-modern .no-post-thumb .date-two { align-self: flex-start; margin-bottom: 18px; }
.loveus-modern .news-block .inner-box h3 {
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: -.02em;
	margin-bottom: 12px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.loveus-modern .news-block .inner-box h3 a { color: var(--lm-ink); transition: color .2s; }
.loveus-modern .news-block .inner-box h3 a:hover { color: var(--loveus-main); }
.loveus-modern .news-block .inner-box .text {
	font-size: 15px;
	line-height: 1.65;
	color: var(--lm-text);
	margin-bottom: 18px;
}
.loveus-modern .news-block .inner-box .text p { font-size: inherit; line-height: inherit; margin: 0; }
.loveus-modern .news-block .inner-box .post-meta {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--lm-line);
}
.loveus-modern .news-block .inner-box .post-meta ul li,
.loveus-modern .news-block .inner-box .post-meta ul li a { font-size: 13px; color: var(--lm-muted); }

/* Equal-height card rows */
.loveus-modern .news-section .row,
.loveus-modern .blog-posts > .row { align-items: stretch; }

/* Section header with "All Articles" button */
.loveus-modern .news-section .title-box .link { padding-top: 34px; }

/* ---------- Video + story section (Elementor: Video widgets beside a Heading) ---------- */
.loveus-modern .elementor-section:has(.elementor-widget-video) .elementor-widget-video .elementor-wrapper {
	box-shadow: var(--lm-shadow);
}
.loveus-modern .elementor-section:has(.elementor-widget-video) .elementor-widget-heading .elementor-widget-container {
	position: relative;
	padding: 40px 36px 36px;
	border-radius: var(--lm-radius-lg);
	background: var(--lm-soft-warm);
	border: 1px solid rgba(245, 134, 52, .18);
}
.loveus-modern .elementor-section:has(.elementor-widget-video) .elementor-widget-heading .elementor-widget-container::before {
	content: '\201C';
	display: block;
	height: 44px;
	margin-bottom: 6px;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 88px;
	line-height: 1;
	color: var(--loveus-main);
}
.loveus-modern .elementor-section:has(.elementor-widget-video) .elementor-widget-heading .elementor-heading-title {
	font-size: clamp(19px, 1.9vw, 24px) !important;
	line-height: 1.5 !important;
	font-weight: 700 !important;
	letter-spacing: -.015em;
	color: var(--lm-ink) !important;
}
@media (max-width: 767px) {
	.loveus-modern .elementor-section:has(.elementor-widget-video) .elementor-widget-heading .elementor-widget-container { padding: 30px 24px 26px; margin-top: 10px; }
}

/* ---------- Mission / vision ---------- */
.loveus-modern .mission-vision .image-column img { border-radius: var(--lm-radius-lg); }
.loveus-modern .mission-vision .circle-one,
.loveus-modern .mission-vision .circle-two { border-color: #f4f5f9; }

/* ---------- Media (videos, gallery) ---------- */
.loveus-modern .elementor-widget-video .elementor-wrapper,
.loveus-modern .elementor-widget-video video {
	border-radius: var(--lm-radius);
	overflow: hidden;
}
/* ---------- Gallery (FooGallery on the homepage) ---------- */
/* "Galeri" heading in the section right above the gallery → same style as other section titles */
.loveus-modern .elementor-section:has(+ .elementor-section .foogallery) .elementor-heading-title {
	font-family: var(--loveus-font-heading) !important;
	font-size: clamp(32px, 4vw, 50px) !important;
	font-weight: 800 !important;
	letter-spacing: -.035em;
	line-height: 1.08 !important;
	color: var(--lm-ink) !important;
}
.loveus-modern .elementor-section:has(+ .elementor-section .foogallery) .elementor-widget-heading { margin-bottom: 28px !important; }
.loveus-modern .elementor-section:has(+ .elementor-section .foogallery) .elementor-widget-heading .elementor-widget-container::before {
	content: '';
	display: block;
	width: 44px;
	height: 4px;
	margin-bottom: 16px;
	border-radius: 4px;
	background: var(--loveus-main);
}

/* Responsive grid that fills the content width */
.loveus-modern .foogallery.foogallery-container {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}
.loveus-modern .foogallery .fg-item {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}
.loveus-modern .foogallery .fg-item-inner {
	position: relative;
	border-radius: 20px !important;
	overflow: hidden;
	box-shadow: var(--lm-shadow-sm) !important;
	transition: transform .3s var(--lm-ease), box-shadow .3s var(--lm-ease);
}
.loveus-modern .foogallery .fg-item:hover .fg-item-inner {
	transform: translateY(-4px);
	box-shadow: var(--lm-shadow-lg) !important;
}
.loveus-modern .foogallery .fg-thumb,
.loveus-modern .foogallery .fg-image-wrap {
	display: block !important;
	width: 100% !important;
	border-radius: 0 !important;
}
.loveus-modern .foogallery .fg-image {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 27 / 23;
	object-fit: cover;
	transition: transform .6s var(--lm-ease);
}
.loveus-modern .foogallery .fg-item:hover .fg-image { transform: scale(1.06); }

/* Hover: soft dark gradient + magnifier badge */
.loveus-modern .foogallery .fg-thumb::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 45%, rgba(22, 25, 40, .55));
	opacity: 0;
	transition: opacity .3s;
	pointer-events: none;
}
.loveus-modern .foogallery .fg-thumb::before {
	content: '\f00e';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: absolute;
	right: 14px;
	bottom: 14px;
	z-index: 2;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	border-radius: 50%;
	background: #fff;
	color: var(--loveus-main);
	font-size: 15px;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .3s, transform .3s var(--lm-ease);
	pointer-events: none;
}
.loveus-modern .foogallery .fg-item:hover .fg-thumb::after,
.loveus-modern .foogallery .fg-item:hover .fg-thumb::before,
.loveus-modern .foogallery .fg-thumb:focus-visible::after,
.loveus-modern .foogallery .fg-thumb:focus-visible::before { opacity: 1; transform: none; }
.loveus-modern .foogallery .fg-image-overlay { display: none !important; }

/* Pagination dots → same pills as the slider */
.loveus-modern .fg-paging-container { margin-top: 26px !important; text-align: center; }
.loveus-modern .fg-paging-container .fg-dots { display: inline-flex; align-items: center; gap: 8px; }
.loveus-modern .fg-paging-container .fg-dot-item { margin: 0 !important; }
.loveus-modern .fg-paging-container .fg-dot-link {
	display: block;
	width: 8px !important;
	height: 8px !important;
	border-radius: 999px !important;
	background: #d3d6de !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	overflow: hidden;
	transition: width .3s var(--lm-ease), background-color .2s;
}
.loveus-modern .fg-paging-container .fg-dot-item.fg-selected .fg-dot-link {
	width: 26px !important;
	background: var(--loveus-main) !important;
}

@media (max-width: 767px) {
	.loveus-modern .foogallery.foogallery-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	.loveus-modern .foogallery .fg-item-inner { border-radius: 14px !important; }
	/* odd last photo spans the full row so the grid ends evenly */
	.loveus-modern .foogallery .fg-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.loveus-modern .foogallery .fg-item:last-child:nth-child(odd) .fg-image { aspect-ratio: 16 / 9; }
}

/* ---------- Page banner (inner pages) ---------- */
.loveus-modern .page-banner {
	padding: 150px 0 130px;
	border-radius: 0 0 44px 44px;
	overflow: hidden;
	background-color: var(--lm-ink);
}
.loveus-modern .page-banner .image-layer:before {
	opacity: 1;
	background:
		radial-gradient(1200px 380px at 50% 125%, rgba(245, 134, 52, .28), transparent 60%),
		linear-gradient(180deg, rgba(22, 25, 40, .66) 0%, rgba(22, 25, 40, .9) 100%);
}
.loveus-modern .page-banner h1,
.loveus-modern .page-banner .page-banner-title {
	font-family: var(--loveus-font-heading);
	font-size: clamp(34px, 5vw, 60px);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.08;
	margin-bottom: 22px;
}
.loveus-modern .page-banner .bread-crumb {
	display: inline-block;
	max-width: min(92%, 900px);
	padding: 8px 20px;
	border-radius: 20px;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .18);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .85);
}
.loveus-modern .page-banner .bread-crumb a { color: #fff; font-weight: 600; }
.loveus-modern .page-banner .bread-crumb a:hover { color: var(--loveus-main); }
/* Long post titles: keep the trail on one line, the title is already the page's <h1> */
.loveus-modern .page-banner .bread-crumb .current-item {
	display: inline-block;
	max-width: 38ch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: bottom;
}
.loveus-modern .page-banner.blog-single { padding: 120px 0 100px; }
.loveus-modern .page-banner.blog-single .page-banner-title { font-size: clamp(30px, 4vw, 48px); margin-bottom: 18px; }
@media (max-width: 991px) {
	.loveus-modern .page-banner { padding: 130px 0 90px; border-radius: 0 0 32px 32px; }
	.loveus-modern .page-banner.blog-single { padding: 110px 0 76px; }
}
@media (max-width: 575px) {
	.loveus-modern .page-banner { padding: 110px 0 70px; border-radius: 0 0 24px 24px; }
	.loveus-modern .page-banner.blog-single { padding: 96px 0 60px; }
	.loveus-modern .page-banner .bread-crumb { border-radius: 18px; }
	.loveus-modern .page-banner .bread-crumb .current-item { max-width: 20ch; }
}

/* ---------- Blog detail (on top of upgrade.css) ---------- */
.loveus-modern .sidebar-page-container { padding: 80px 0 72px; }
.loveus-modern .blog-post-detail .image-box { margin-bottom: 32px; }
.loveus-modern .blog-post-detail .image-box .image img { border-radius: var(--lm-radius-lg); }
.loveus-modern .loveus-post-cats a { background: var(--lm-soft-warm); }
.loveus-modern .blog-post-detail .inner h1.entry-title {
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.15;
	letter-spacing: -.035em;
	color: var(--lm-ink);
	margin-bottom: 20px;
	text-wrap: balance;
}

/* Meta row: author · comments · date · read time ........ Share */
.loveus-modern .blog-post-detail .post-meta {
	margin-bottom: 36px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--lm-line);
}
.loveus-modern .blog-post-detail .post-meta ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 26px;
}
.loveus-modern .blog-post-detail .post-meta ul::after { display: none; }
.loveus-modern .blog-post-detail .post-meta ul li {
	margin: 0;
	padding: 0;
	line-height: 1.5;
}
.loveus-modern .blog-post-detail .post-meta ul li:before {
	right: -14px;
	width: 4px;
	height: 4px;
	margin-top: -2px;
	border: 0;
	border-radius: 50%;
	background: #c9ccd6;
}
.loveus-modern .blog-post-detail .post-meta ul li:has(+ .loveus-meta-share):before { display: none; }
.loveus-modern .blog-post-detail .post-meta ul li,
.loveus-modern .blog-post-detail .post-meta ul li a,
.loveus-modern .blog-post-detail .post-meta ul li .loveus-reading-time { font-size: 14px; color: var(--lm-muted); }
.loveus-modern .blog-post-detail .post-meta ul li a:hover { font-weight: inherit; color: var(--lm-ink); }
.loveus-modern .blog-post-detail .post-meta ul li .icon { padding-right: 0; margin-right: 7px; color: var(--loveus-main); }
.loveus-modern .blog-post-detail .post-meta .loveus-meta-share { margin-left: auto; }
.loveus-modern .blog-post-detail .post-meta .loveus-meta-share a {
	display: inline-flex;
	align-items: center;
	padding: 6px 16px;
	border: 1px solid var(--lm-line);
	border-radius: 999px;
	font-weight: 600;
	color: var(--lm-ink);
	transition: border-color .2s, background-color .2s, color .2s;
}
.loveus-modern .blog-post-detail .post-meta .loveus-meta-share a:hover {
	border-color: var(--loveus-main);
	background: var(--loveus-main);
	color: #fff;
}
.loveus-modern .blog-post-detail .post-meta .loveus-meta-share a:hover .icon { color: #fff; }

/* Body copy */
.loveus-modern .blog-post-detail .content { color: var(--lm-text); }
.loveus-modern .blog-post-detail .content > p:first-child {
	font-size: 19px;
	line-height: 1.75;
	color: var(--lm-ink);
}
.loveus-modern .blog-post-detail .content h2,
.loveus-modern .blog-post-detail .content h3,
.loveus-modern .blog-post-detail .content h4 { color: var(--lm-ink); }
.loveus-modern .blog-post-detail .content img { border-radius: var(--lm-radius); }
.loveus-modern .blog-post-detail .content blockquote,
.loveus-modern .blog-post-detail .content .wp-block-quote {
	border-radius: 0 var(--lm-radius) var(--lm-radius) 0;
	background: var(--lm-soft-warm);
}

/* Tags + share bar */
.loveus-modern .post-share-options {
	margin-top: 44px;
	padding: 18px 22px;
	border: 0;
	border-radius: var(--lm-radius);
	background: var(--lm-soft);
}
.loveus-modern .post-share-options p { font-size: 14px; color: var(--lm-ink); }
.loveus-modern .post-share-options .tags a { background: #fff; border: 1px solid var(--lm-line); }
.loveus-modern .post-share-options .tags a:hover { border-color: var(--loveus-main); }
.loveus-modern .post-share-options .social-icons li a,
.loveus-modern .post-share-options .social-icons li button { background: #fff; box-shadow: var(--lm-shadow-sm); }

@media (max-width: 767px) {
	.loveus-modern .sidebar-page-container { padding: 56px 0 56px; }
	.loveus-modern .blog-post-detail .post-meta { margin-bottom: 28px; }
	.loveus-modern .blog-post-detail .post-meta ul { gap: 6px 22px; }
	.loveus-modern .blog-post-detail .post-meta .loveus-meta-share { margin-left: 0; }
	.loveus-modern .blog-post-detail .content > p:first-child { font-size: 17.5px; }
}
@media (max-width: 575px) {
	.loveus-modern .blog-post-detail .inner h1.entry-title { font-size: 26px; }
	/* Wrapped meta lines would leave a dangling dot */
	.loveus-modern .blog-post-detail .post-meta ul { gap: 6px 18px; }
	.loveus-modern .blog-post-detail .post-meta ul li:before { display: none; }
}
.loveus-modern .loveus-post-nav__title,
.loveus-modern .loveus-related__body h3 { font-weight: 800; letter-spacing: -.02em; }
.loveus-modern .loveus-related__card,
.loveus-modern .loveus-post-nav__item { border-radius: var(--lm-radius-lg); }
.loveus-modern .loveus-related__card { border: 1px solid var(--lm-line); box-shadow: var(--lm-shadow-sm); }
.loveus-modern .loveus-related__card:hover { box-shadow: var(--lm-shadow-lg); }

/* ---------- Sidebar ---------- */
.loveus-modern .sidebar .widget {
	padding: 28px;
	margin-bottom: 24px;
	border: 1px solid var(--lm-line);
	border-radius: var(--lm-radius-lg);
	box-shadow: var(--lm-shadow-sm);
	background: #fff;
}
.loveus-modern .sidebar .widget h2,
.loveus-modern .sidebar .widget .widget-title,
.loveus-modern .sidebar .wp-block-search__label {
	font-family: var(--loveus-font-heading);
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--lm-ink);
	margin-bottom: 16px;
}
.loveus-modern .sidebar .widget a { color: var(--lm-text); transition: color .2s; }
.loveus-modern .sidebar .widget a:hover { color: var(--loveus-main); }
.loveus-modern .sidebar .wp-block-tag-cloud a:hover,
.loveus-modern .sidebar .tagcloud a:hover { color: #fff; }
.loveus-modern .sidebar-page-container .sidebar { background: transparent; box-shadow: none; padding: 0; }
.loveus-modern .sidebar .wp-block-latest-posts__list li { padding: 12px 0; border-bottom: 1px dashed var(--lm-line); line-height: 1.5; }
.loveus-modern .sidebar .wp-block-latest-posts__list li:first-child { padding-top: 0; }
.loveus-modern .sidebar .wp-block-latest-posts__list li:last-child { padding-bottom: 0; border-bottom: 0; }
.loveus-modern .sidebar .wp-block-latest-posts__post-title { font-size: 15px; font-weight: 600; }
.loveus-modern .sidebar .widget a[aria-current="page"] { color: var(--loveus-main); }
/* Long archive lists scroll inside their card instead of stretching the sidebar */
.loveus-modern .sidebar .wp-block-archives-list,
.loveus-modern .sidebar .widget_archive ul {
	max-height: 300px;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding-right: 8px;
	scrollbar-width: thin;
	scrollbar-color: var(--lm-line) transparent;
}
/* The "Latest Comments" block with nothing to show is just noise */
.loveus-modern .sidebar .widget:has(.wp-block-latest-comments.no-comments) { display: none; }

/* ---------- Forms (contact, comments) ---------- */
.loveus-modern .default-form .form-group input[type=text],
.loveus-modern .default-form .form-group input[type=email],
.loveus-modern .default-form .form-group input[type=tel],
.loveus-modern .default-form .form-group input[type=url],
.loveus-modern .default-form .form-group select,
.loveus-modern .default-form .form-group textarea,
.loveus-modern .wpcf7 input[type=text],
.loveus-modern .wpcf7 input[type=email],
.loveus-modern .wpcf7 input[type=tel],
.loveus-modern .wpcf7 textarea {
	border-radius: 14px !important;
	border: 1px solid var(--lm-line) !important;
	background: var(--lm-soft) !important;
	font-family: var(--loveus-font-body);
	transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.loveus-modern .default-form .form-group input:focus,
.loveus-modern .default-form .form-group textarea:focus,
.loveus-modern .wpcf7 input:focus,
.loveus-modern .wpcf7 textarea:focus {
	background: #fff !important;
	border-color: var(--loveus-main) !important;
	box-shadow: 0 0 0 4px rgba(245, 134, 52, .15);
}

/* ---------- Footer ---------- */
.loveus-modern .main-footer {
	background-color: transparent;
	color: rgba(255, 255, 255, .66);
}
.loveus-modern footer.main-footer,
.loveus-modern .elementor-section:has(.main-footer) {
	background-color: #161928 !important;
}
.loveus-modern .elementor-section:has(.main-footer) { padding-top: 90px !important; padding-bottom: 40px !important; }
.loveus-modern .main-footer h3,
.loveus-modern .main-footer .footer-widget h2,
.loveus-modern .main-footer .footer-widget h4 {
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -.01em;
	color: #fff;
	margin-bottom: 22px;
}
.loveus-modern .main-footer .text,
.loveus-modern .main-footer p { font-size: 15px; line-height: 1.75; color: rgba(255, 255, 255, .66); }
.loveus-modern .main-footer .links-widget ul li { margin-bottom: 10px; }
.loveus-modern .main-footer .links-widget ul li a,
.loveus-modern .main-footer a {
	color: rgba(255, 255, 255, .7);
	font-size: 15px;
	transition: color .2s, padding .2s var(--lm-ease);
}
.loveus-modern .main-footer .links-widget ul li a:hover { color: #fff; padding-left: 4px; }
.loveus-modern .main-footer .social-links li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .07);
	color: #fff;
	transition: background-color .2s, transform .25s var(--lm-ease);
}
.loveus-modern .main-footer .social-links li a:hover {
	background: var(--loveus-main);
	transform: translateY(-3px);
}
.loveus-modern .main-footer .footer-logo .theme-btn,
.loveus-modern .main-footer .footer-logo .btn-style-one {
	box-shadow: none;
	background: transparent;
	border-radius: 0;
}
.loveus-modern .main-footer .footer-logo .btn-style-one:hover { transform: none; }
.loveus-modern .main-footer .footer-bottom {
	background: #121421;
	border-top: 1px solid rgba(255, 255, 255, .06);
	font-size: 14px;
	color: rgba(255, 255, 255, .55);
	padding: 22px 0;
}

/* ---------- Small screens ---------- */
@media (max-width: 767px) {
	body.loveus-modern { font-size: 15.5px; }
	.loveus-modern .sec-title { margin-bottom: 40px; }
	.loveus-modern .news-block .inner-box .lower-content { padding: 26px 22px 20px; }
	.loveus-modern .about-feature .inner-box { padding: 30px 14px 26px; }
}
