/*
Theme Name: Eggxi
Theme URI: https://unlockdesign.com/
Author: unlockdesign
Author URI: https://unlockdesign.com/
Description: Eggxi personal blog theme converted from the Eggxi Bootstrap 5 HTML template.
Version: 1.1.21
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: eggxi
Tags: blog, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, elementor, full-width-template
*/

/* Visually hide text while keeping it available to screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Header site logo size (overridden by Customizer value when set). */
.header-middle .ulockd-main-logo img,
.header-middle .custom-logo-link img,
.header-middle .custom-logo {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 90px;
}

/* Footer logo — keep smaller than header brand mark. */
.ulockd-footer .logo-widget .ulockd-footer-logo,
.ulockd-footer .logo-widget .custom-logo-link {
	display: inline-block;
	max-width: 160px;
}

.ulockd-footer .logo-widget img,
.ulockd-footer .logo-widget .custom-logo {
	display: block;
	width: auto;
	max-width: 160px;
	height: auto;
	max-height: 64px;
}

.header-middle .welcm-ht {
	display: flex;
	align-items: center;
	min-height: 60px;
}

/* Header promo banner — pin to the right */
.header-middle .row {
	align-items: center;
}

.header-middle .header-middle-banner {
	display: flex !important;
	justify-content: flex-end !important;
	align-items: center;
	width: 100%;
	text-align: right !important;
}

.header-middle .header-middle-banner .header_banner,
.header-middle .header-middle-banner .header-banner-widget {
	display: block;
	margin-left: auto;
	max-width: 100%;
}

.header-middle .header-middle-banner .header_banner img,
.header-middle .header-middle-banner .header-banner-widget img {
	display: block;
	margin-left: auto;
	max-width: 100%;
	height: auto;
}

@media (max-width: 991.98px) {
	.header-middle .header-middle-banner {
		justify-content: center !important;
		text-align: center !important;
	}

	.header-middle .header-middle-banner .header_banner img,
	.header-middle .header-middle-banner .header-banner-widget img {
		margin-left: auto;
		margin-right: auto;
	}
}

/* Category badges on cards — link text must stay white on teal/orange pills */
.home1_blog_post .details .tag,
.home1_blog_post .details .tag a,
.home1_post_style .thumb .tag,
.home1_post_style .thumb .tag a,
.fblog_post .tag,
.fblog_post .tag a,
.recent_latest_post .media .tag,
.recent_latest_post .media .tag a,
.sidebar_recent_post_widget .media .tag,
.tag.bgc-thm,
.tag.bgc-thm a,
.tag.bgc-orange,
.tag.bgc-orange a {
	color: #ffffff !important;
}

/* Responsive 16:9 video embeds (post format: video). */
.responsive-video-container,
.ulockd-project-sm-thumb.responsive-video-container {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	background: #000;
}

.responsive-video-container iframe,
.responsive-video-container video,
.responsive-video-container embed,
.responsive-video-container object,
.ulockd-project-sm-thumb.responsive-video-container iframe,
.ulockd-project-sm-thumb.responsive-video-container video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: 100%;
	border: 0;
}

.wp-block-embed__wrapper,
.wp-has-aspect-ratio .wp-block-embed__wrapper {
	position: relative;
}

.blog_single_post_wrap.format-video .wp-block-embed {
	margin: 0;
}

/* Responsive audio embeds (post format: audio — SoundCloud / Spotify / MP3). */
.responsive-audio-container,
.ulockd-project-sm-thumb.responsive-audio-container {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	background: #111;
}

.responsive-audio-container iframe,
.ulockd-project-sm-thumb.responsive-audio-container iframe {
	display: block;
	width: 100%;
	min-height: 166px;
	height: 450px; /* matches HTML .h450 visual player */
	max-width: 100%;
	border: 0;
}

.responsive-audio-container audio,
.responsive-audio-container .wp-audio-shortcode,
.ulockd-project-sm-thumb.responsive-audio-container audio {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.blog_single_post_wrap.format-audio .wp-block-embed,
.blog_single_post_wrap.format-audio .wp-block-audio {
	margin: 0;
}

@media (max-width: 767.98px) {
	.responsive-audio-container iframe,
	.ulockd-project-sm-thumb.responsive-audio-container iframe {
		height: 300px;
		min-height: 166px;
	}
}

/* Featured Post grid — title fit & readability */
.feature_blog_post .home1_blog_post .thumb .overlay {
	background: linear-gradient(
		180deg,
		rgba(29, 41, 62, 0) 0%,
		rgba(29, 41, 62, 0.55) 45%,
		rgba(29, 41, 62, 0.92) 100%
	);
	height: 70%;
}

.feature_blog_post .home1_blog_post.style4 .thumb .overlay {
	height: 85%;
}

.feature_blog_post .home1_blog_post .details .title,
.feature_blog_post .home1_blog_post .details .title a {
	color: #ffffff;
	line-height: 1.3;
	max-width: 100%;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.feature_blog_post .home1_blog_post.style2 .details .title {
	font-size: 22px;
	-webkit-line-clamp: 3;
	margin-top: 8px;
	margin-bottom: 6px;
}

.feature_blog_post .home1_blog_post.style3 .details .title {
	font-size: 18px;
	-webkit-line-clamp: 3;
	margin-top: 6px;
	margin-bottom: 4px;
}

.feature_blog_post .home1_blog_post.style4 .details .title {
	font-size: 15px;
	-webkit-line-clamp: 2;
	margin-top: 6px;
	margin-bottom: 4px;
}

.feature_blog_post .home1_blog_post .details .post_meta li span {
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

/* Main blog cards (.home1_post_style) — keep titles compact & even */
.home1_post_style .details .title {
	font-size: 16px;
	line-height: 1.35;
	font-weight: 700;
	margin-top: 8px;
	margin-bottom: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.home1_post_style .details .title a {
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.three-grid-slider .owl-item .home1_post_style {
	height: 100%;
}

.three-grid-slider .home1_post_style .thumb img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* Sidebar search — align input + button (WP default form was broken) */
.widget_search .eggxi-search-form,
.home_sidebar .eggxi-search-form,
.blog-sidebar-home .eggxi-search-form,
.widget_search form.search-form {
	display: flex;
	align-items: stretch;
	width: 100%;
	margin: 0 0 30px;
	gap: 0;
}

.widget_search .eggxi-search-form label,
.widget_search form.search-form > label {
	display: none;
}

.widget_search .eggxi-search-form .search-field,
.widget_search form.search-form .search-field,
.home_sidebar .eggxi-search-form .search-field {
	flex: 1 1 auto;
	width: 1%;
	min-width: 0;
	height: 48px;
	margin: 0;
	border: 1px solid #e5e5e5;
	border-right: 0;
	border-radius: 3px 0 0 3px;
	padding: 0 14px;
	box-shadow: none;
}

.widget_search .eggxi-search-form .search-submit,
.widget_search form.search-form .search-submit,
.home_sidebar .eggxi-search-form .search-submit {
	flex: 0 0 auto;
	height: 48px;
	margin: 0;
	padding: 0 18px;
	border: 0;
	border-radius: 0 3px 3px 0;
	line-height: 48px;
	white-space: nowrap;
}

/* Sidebar newsletter — fit input + button inside the card */
.sidebar_newslatter_widget .subscriber-form,
.home_sidebar .subscriber-form,
.blog-sidebar-home .subscriber-form {
	display: flex;
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	margin: 0;
	gap: 0;
	position: relative;
}

.sidebar_newslatter_widget .subscriber-form > label,
.sidebar_newslatter_widget .subscriber-form .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	clip-path: inset(50%) !important;
	border: 0 !important;
	white-space: nowrap !important;
}

.sidebar_newslatter_widget .subscriber-form input,
.sidebar_newslatter_widget .subscriber-form input[type="email"],
.home_sidebar .subscriber-form input,
.blog-sidebar-home .subscriber-form input {
	flex: 1 1 auto;
	width: 1% !important;
	min-width: 0;
	max-width: none;
	height: 45px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid #dedede;
	border-right: 0;
	border-radius: 5px 0 0 5px;
	background-color: #f3f3f3;
	box-shadow: none;
}

.sidebar_newslatter_widget .subscriber-form button,
.sidebar_newslatter_widget .subscriber-form .btn,
.home_sidebar .subscriber-form button,
.blog-sidebar-home .subscriber-form button {
	flex: 0 0 auto;
	width: auto !important;
	min-width: 88px;
	height: 45px;
	margin: 0;
	padding: 0 16px;
	border: 0;
	border-radius: 0 5px 5px 0;
	line-height: 45px;
	white-space: nowrap;
}

/* Sidebar widget lists — tighten long titles */
.home_sidebar .widget_recent_entries ul li,
.home_sidebar .widget_recent_comments ul li,
.blog-sidebar-home .widget_recent_entries ul li,
.blog-sidebar-home .widget_recent_comments ul li {
	margin-bottom: 12px;
	line-height: 1.4;
	font-size: 14px;
}

.home_sidebar .saw_title,
.blog-sidebar-home .saw_title,
.home_sidebar .widget .widgettitle,
.home_sidebar .widget h2,
.blog-sidebar-home .widget h2 {
	font-size: 20px;
	margin-top: 0;
	margin-bottom: 15px;
}

/* Sidebar widgets — more space between blocks */
.home_sidebar .widget,
.blog-sidebar-home .widget,
.blog_sidebar_panel .widget {
	margin-bottom: 40px;
}

/* Keep space under the last widget so content doesn't sit on the footer */
.home_sidebar .widget:last-child,
.blog-sidebar-home .widget:last-child,
.blog_sidebar_panel .widget:last-child {
	margin-bottom: 60px;
}

.home_sidebar,
.blog-sidebar-home {
	padding-bottom: 40px;
}

/* Fallback theme category widget spacing */
.home_sidebar .sidebar_category_widget,
.blog-sidebar-home .sidebar_category_widget,
.home_sidebar .sidebar_recent_post_widget,
.blog-sidebar-home .sidebar_recent_post_widget,
.home_sidebar .sidebar_about_widget,
.home_sidebar .sidebar_tag_widget,
.home_sidebar .sidebar_follow_widget,
.home_sidebar .sidebar_newslatter_widget {
	margin-bottom: 40px;
}

.home_sidebar .sidebar_category_widget:last-child,
.blog-sidebar-home .sidebar_category_widget:last-child,
.home_sidebar > *:last-child {
	margin-bottom: 60px;
}

/* One scroll-to-top only — hide Qode Essential Addons duplicate */
#qodef-back-to-top {
	display: none !important;
}

/* Categories widget — hard max 10 visible items */
.widget_categories > ul > li:nth-child(n + 11),
.widget_categories ul.wp-block-categories-list > li:nth-child(n + 11),
.wp-block-categories-list > li:nth-child(n + 11),
.wp-block-categories > li:nth-child(n + 11),
.home_sidebar .widget_categories ul > li:nth-child(n + 11),
.blog-sidebar-home .widget_categories ul > li:nth-child(n + 11) {
	display: none !important;
}

/* Footer Latest News + Tags — readable on dark footer */
.ulockd-footer .footer-news-widget,
.ulockd-footer .footer-tag-widget {
	margin-bottom: 28px;
}

.ulockd-footer .footer-news-widget .title,
.ulockd-footer .footer-tag-widget .title,
.ulockd-footer .footer-twitter-widget .title,
.ulockd-footer .footer-link-widget .title,
.ulockd-footer .footer-about-widget .title,
.ulockd-footer .footer-flickr-widget .title,
.ulockd-footer .footer-newsletter-widget .title {
	color: #ffffff;
	margin-top: 0;
	margin-bottom: 18px;
	font-size: 18px;
}

.ulockd-footer .ulockd-media-box .media {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 18px;
}

.ulockd-footer .ulockd-media-box .media:last-child {
	margin-bottom: 0;
}

.ulockd-footer .footer-news-thumb {
	flex: 0 0 70px;
	width: 70px;
	min-width: 70px;
	display: block;
	overflow: hidden;
	border-radius: 4px;
	background: #2a2a2a;
}

.ulockd-footer .footer-news-thumb img {
	width: 70px !important;
	max-width: 70px !important;
	height: 70px !important;
	object-fit: cover;
	border-radius: 4px;
	display: block;
}

.ulockd-footer .ulockd-media-box .media-body {
	min-width: 0;
	flex: 1 1 auto;
}

.ulockd-footer .ulockd-media-box .post-date,
.ulockd-footer .ulockd-media-box .post-date time {
	color: #bdbdbd;
	font-size: 12px;
	line-height: 1.3;
}

.ulockd-footer .ulockd-media-box .media-heading,
.ulockd-footer .ulockd-media-box .media-heading a {
	color: #f2f2f2 !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	margin: 4px 0 6px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.ulockd-footer .ulockd-media-box .media-body p {
	color: #a8a8a8;
	font-size: 13px;
	line-height: 1.4;
	margin: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.ulockd-footer .footer-tag-widget {
	margin-top: 8px;
	margin-bottom: 0;
}

.ulockd-footer .footer-tag-widget .title {
	margin-bottom: 14px;
}

.ulockd-footer .footer-tag-widget ul,
.ulockd-footer .footer-tag-widget .footer-tag-list,
.ulockd-footer .widget_tag_cloud .tagcloud,
.ulockd-footer .widget_tag_cloud > div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ulockd-footer .footer-tag-widget li,
.ulockd-footer .widget_tag_cloud a {
	display: block;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	float: none !important;
	max-width: 100%;
	background: transparent !important;
}

.ulockd-footer .footer-tag-widget li:hover {
	background: transparent !important;
}

.ulockd-footer .footer-tag-widget li:nth-child(n + 11) {
	display: none !important;
}

.ulockd-footer .footer-tag-widget li a,
.ulockd-footer .widget_tag_cloud a {
	display: inline-flex;
	align-items: center;
	max-width: 150px;
	color: #ececec !important;
	background: #1c1c1c;
	border: 1px solid #3d3d3d !important;
	border-radius: 999px;
	padding: 6px 12px !important;
	font-size: 12px !important;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.ulockd-footer .footer-tag-widget li a:hover,
.ulockd-footer .widget_tag_cloud a:hover {
	color: #ffffff !important;
	border-color: var(--eggxi-primary, #427882) !important;
	background-color: var(--eggxi-primary, #427882) !important;
}

.ulockd-footer .footer-tag-empty {
	color: #9a9a9a;
	font-size: 13px;
}

.ulockd-footer .footer-twitter-widget p,
.ulockd-footer .footer-twitter-widget {
	color: #a8a8a8;
	font-size: 14px;
	line-height: 1.5;
}

.ulockd-footer .footer-link-widget a {
	color: #cfcfcf;
}

.ulockd-footer .footer-link-widget a:hover {
	color: #ffffff;
}

/* Footer Flickr Feed — uniform 90×90 thumbs */
.ulockd-footer .footer-flickr-widget ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ulockd-footer .footer-flickr-widget li,
.ulockd-footer .footer-flickr-widget li.list-inline-item {
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.ulockd-footer .footer-flickr-widget li .thumb {
	width: 90px !important;
	height: 90px !important;
	margin-bottom: 0 !important;
	overflow: hidden;
	border-radius: 3px;
}

.ulockd-footer .footer-flickr-widget li .thumb a {
	display: block;
	width: 100%;
	height: 100%;
}

.ulockd-footer .footer-flickr-widget li .thumb img,
.ulockd-footer .footer-flickr-widget li .thumb .img-whp {
	width: 90px !important;
	height: 90px !important;
	max-width: none !important;
	object-fit: cover;
	display: block;
}

/* Popular Tag sidebar — fix broken fixed-width pills */
.sidebar_tag_widget .stw_tag_widget {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left !important;
}

.sidebar_tag_widget .stw_tag_widget li,
.sidebar_tag_widget .stw_tag_widget li.list-inline-item,
.sidebar_tag_widget .stw_tag_widget li.hvr-bgc-thm {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 0;
	max-width: 100%;
	height: auto !important;
	line-height: 1.3 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #dedede !important;
	border-radius: 999px !important;
	background: #fff;
	overflow: hidden;
	float: none !important;
}

.sidebar_tag_widget .stw_tag_widget li:nth-child(n + 11) {
	display: none !important;
}

.sidebar_tag_widget .stw_tag_widget li a {
	display: block;
	padding: 8px 14px;
	color: #555 !important;
	font-size: 12px !important;
	font-weight: 500;
	line-height: 1.3;
	text-transform: uppercase;
	text-decoration: none;
	white-space: normal;
	word-break: break-word;
	text-align: center;
}

.sidebar_tag_widget .stw_tag_widget li:hover,
.sidebar_tag_widget .stw_tag_widget li.hvr-bgc-thm:hover {
	background-color: var(--eggxi-primary, #427882) !important;
	border-color: var(--eggxi-primary, #427882) !important;
	cursor: pointer;
}

.sidebar_tag_widget .stw_tag_widget li:hover a {
	color: #ffffff !important;
}

/* Space between inner page banner and page content */
body.page .ulockd-inner-home + .site-main > .container,
body.page-template-default .site-main > .container {
	padding-top: 80px !important;
}

@media (max-width: 767.98px) {
	body.page .ulockd-inner-home + .site-main > .container,
	body.page-template-default .site-main > .container {
		padding-top: 48px !important;
	}
}
