/*
 * Xahani-style customizations for GeneratePress
 * Matches the custom CSS blocks used on https://www.xahani.com/
 */

:root {
	--msk-accent: #CC5500;
}

/* ------------------------------------------------------------------
 * Colors: menu + text + logo (same orange xahani uses)
 * ------------------------------------------------------------------ */
.main-navigation,
.main-navigation ul ul {
	background-color: var(--msk-accent);
}

.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items {
	color: #ffffff;
}

.site-header {
	background-color: #ffffff;
}

.main-title a,
.main-title a:hover {
	color: var(--msk-accent);
}

.site-description {
	color: #757575;
}

a {
	color: var(--msk-accent);
}

a:hover,
a:focus,
a:active {
	color: var(--msk-accent);
}

button,
input[type="submit"],
a.button {
	background-color: var(--msk-accent);
	color: #ffffff;
}

button:hover,
input[type="submit"]:hover,
a.button:hover {
	background-color: #e06008;
	color: #ffffff;
}

/* ------------------------------------------------------------------
 * Header
 * ------------------------------------------------------------------ */
.inside-header {
	padding: 30px;
}

/* Kill the gray hamburger GP puts inside the header on mobile —
 * the compact orange bar below is our mobile menu, like xahani. */
.main-navigation.mobile-menu-control-wrapper {
	display: none !important;
}

/* Nav renders as one full-width orange bar below the header,
 * never as a floating box inside it. */
#site-navigation {
	width: 100%;
}

/* ------------------------------------------------------------------
 * #mhead — mobile ad slot
 * ------------------------------------------------------------------ */
#mhead {
	display: none;
}

@media only screen and (max-width: 768px) {
	#mhead {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100px;
		padding-top: 15px;
		margin-bottom: -10px;
	}
}

/* ------------------------------------------------------------------
 * Pagination — orange rounded squares, centered, flex on mobile
 * ------------------------------------------------------------------ */
.paging-navigation {
	text-align: center;
}

.paging-navigation .page-numbers {
	margin: 0 10px;
	display: inline-block;
	text-align: center;
	min-width: 46px;
	height: 46px;
	line-height: 46px;
	border-radius: 4px;
	color: #000;
	font-weight: 600;
	font-size: 14px;
	-webkit-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
	box-shadow: 0 0 25px -5px rgba(0, 0, 0, 0.5);
}

.paging-navigation .page-numbers.prev,
.paging-navigation .page-numbers.next {
	padding: 0 10px;
}

.paging-navigation .page-numbers:hover,
.paging-navigation .page-numbers.current {
	background: #FE794E;
	color: #fff;
}

@media (max-width: 768px) {
	.separate-containers .paging-navigation {
		padding: 10px 5px !important;
	}

	.paging-navigation .nav-links {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.paging-navigation .page-numbers {
		margin: 4px !important;
		box-sizing: border-box;
		flex: 1 0 12%;
	}

	.paging-navigation .page-numbers.prev,
	.paging-navigation .page-numbers.next {
		order: 50;
		flex: 1 0 40%;
		margin-top: 1em;
	}
}

/* ------------------------------------------------------------------
 * Read-more fade button on single posts
 * ------------------------------------------------------------------ */
.read-more-container {
	float: right;
	text-align: right;
}

.read-more-btn {
	display: block;
	margin: 15px auto;
	background-color: #cc5600;
	color: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 8px 20px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.3s;
}

.read-more-btn:hover,
.read-more-btn:active {
	background-color: #eaeaea;
	color: #333;
	border-color: #ccc;
}

.fade-paragraph {
	position: relative;
	max-height: 150px;
	overflow: hidden;
}

.fade-paragraph::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 70%, rgba(255, 255, 255, 1) 100%);
	pointer-events: none;
}

.hidden-content {
	animation: mskFadeIn 0.5s;
}

@keyframes mskFadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}

/* ------------------------------------------------------------------
 * Related stories
 * ------------------------------------------------------------------ */
.related-stories {
	margin-top: 25px;
	font-size: 17px;
	color: #382d2d;
}

.related-stories h2 {
	margin-bottom: 10px;
}

.related-stories ol {
	padding-left: 22px;
}

/* ------------------------------------------------------------------
 * Mobile compact navigation (replaces the desktop nav on mobile)
 * ------------------------------------------------------------------ */
.msk-mobile-nav {
	display: none;
	background-color: var(--msk-accent);
	padding: 0 10px;
}

.msk-mobile-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

.msk-mobile-nav li {
	position: relative;
	display: inline-block;
	float: none;
	margin: 0;
	padding: 0;
}

.msk-mobile-nav a {
	display: inline-block;
	color: #ffffff;
	padding: 12px 14px;
	font-weight: 600;
	font-size: 15px;
}

.msk-mobile-nav a:hover,
.msk-mobile-nav a:focus,
.msk-mobile-nav li.msk-open > a {
	color: #ffffff;
	background-color: var(--msk-accent);
}

.msk-mobile-nav .sub-menu {
	display: none;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 100%;
	background: #ffffff;
	border-radius: 4px;
	min-width: 200px;
	padding: 5px 0;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
	z-index: 9999;
	text-align: left;
}

.msk-mobile-nav li.msk-open > .sub-menu {
	display: block;
}

.msk-mobile-nav .sub-menu li {
	display: block;
	width: 100%;
	margin: 0;
}

.msk-mobile-nav .sub-menu a {
	display: block;
	color: #222222;
	padding: 9px 15px;
	font-weight: 400;
	white-space: nowrap;
}

.msk-mobile-nav .sub-menu a:hover,
.msk-mobile-nav .sub-menu a:focus {
	background: #f5f5f5;
	color: var(--msk-accent);
}

@media (max-width: 768px) {
	#site-navigation {
		display: none;
	}

	.msk-mobile-nav {
		display: block;
	}
}

/* ==================================================================
 * Xahani.com theme look (replicated 1:1 from its generate-style CSS)
 * ================================================================== */
body {
	background-color: #efefef;
	color: #3a3a3a;
}

a {
	color: var(--accent);
}

a:hover,
a:focus,
a:active {
	color: var(--accent);
}

body .grid-container {
	max-width: 1100px;
}

:root {
	--contrast: #222222;
	--contrast-2: #575760;
	--contrast-3: #b2b2be;
	--base: #f0f0f0;
	--base-2: #f7f8f9;
	--base-3: #ffffff;
	--accent: #CC5500;
}

body,
button,
input,
select,
textarea {
	font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

body {
	line-height: 1.5;
}

.main-title {
	font-size: 45px;
}

.main-navigation .main-nav ul ul li a {
	font-size: 14px;
}

.sidebar .widget,
.footer-widgets .widget {
	font-size: 17px;
}

h1 {
	font-weight: 300;
	font-size: 40px;
}

h2 {
	font-weight: 300;
	font-size: 30px;
}

h3 {
	font-size: 20px;
}

.entry-title {
	font-weight: 400;
}

@media (max-width: 768px) {
	.main-title {
		font-size: 30px;
	}

	h1 {
		font-size: 30px;
	}

	h2 {
		font-size: 25px;
	}
}

.top-bar {
	background-color: #636363;
	color: #ffffff;
}

.top-bar a {
	color: #ffffff;
}

.site-header {
	background-color: #ffffff;
	color: var(--accent);
}

.site-header a {
	color: var(--accent);
}

.main-title a,
.main-title a:hover {
	color: var(--accent);
}

.site-description {
	color: #757575;
}

.main-navigation,
.main-navigation ul ul {
	background-color: var(--accent);
}

.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items {
	color: #ffffff;
}

.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a,
.main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a,
.main-navigation .menu-bar-item:hover > a,
.main-navigation .menu-bar-item.sfHover > a {
	color: #ffffff;
	background-color: var(--accent);
}

button.menu-toggle:hover,
button.menu-toggle:focus,
.main-navigation .mobile-bar-items a,
.main-navigation .mobile-bar-items a:hover,
.main-navigation .mobile-bar-items a:focus {
	color: #ffffff;
}

.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: #ffffff;
	background-color: var(--accent);
}

.main-navigation ul ul {
	background-color: #3f3f3f;
}

.main-navigation .main-nav ul ul li a {
	color: #ffffff;
}

.main-navigation .main-nav ul ul li:not([class*="current-menu-"]):hover > a,
.main-navigation .main-nav ul ul li:not([class*="current-menu-"]):focus > a,
.main-navigation .main-nav ul ul li.sfHover:not([class*="current-menu-"]) > a {
	color: #ffffff;
	background-color: #4f4f4f;
}

.main-navigation .main-nav ul ul li[class*="current-menu-"] > a {
	color: #ffffff;
	background-color: #4f4f4f;
}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.one-container .container,
.separate-containers .paging-navigation,
.inside-page-header {
	background-color: #ffffff;
}

.entry-meta {
	color: #595959;
}

.sidebar .widget {
	background-color: #ffffff;
}

.sidebar .widget .widget-title {
	color: #000000;
}

.footer-widgets {
	background-color: #ffffff;
}

.footer-widgets .widget-title {
	color: #000000;
}

.site-info {
	color: #ffffff;
	background-color: #222222;
}

.site-info a {
	color: #ffffff;
}

.site-info a:hover {
	color: #606060;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea,
select {
	color: #666666;
	background-color: #fafafa;
	border-color: #cccccc;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"],
a.button,
a.wp-block-button__link:not(.has-background) {
	color: #ffffff;
	background-color: #666666;
}

button:hover,
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
a.button:hover,
a.button:focus,
a.button:active,
a.wp-block-button__link:not(.has-background):hover,
a.wp-block-button__link:not(.has-background):focus,
a.wp-block-button__link:not(.has-background):active {
	color: #ffffff;
	background-color: #3f3f3f;
}

a.generate-back-to-top {
	background-color: rgba(0, 0, 0, 0.4);
	color: #ffffff;
}

a.generate-back-to-top:hover,
a.generate-back-to-top:focus {
	background-color: rgba(0, 0, 0, 0.6);
	color: #ffffff;
}

/* xahani generated spacing */
.inside-top-bar {
	padding: 10px;
}

/* xahani's wp-custom-css overrides the GP 40px with 30px */
.inside-header {
	padding: 30px;
}

.site-info {
	padding: 20px;
}

@media (max-width: 768px) {
	.separate-containers .inside-article,
	.separate-containers .comments-area,
	.separate-containers .page-header,
	.separate-containers .paging-navigation,
	.one-container .site-content,
	.inside-page-header {
		padding: 30px;
	}

	.site-info {
		padding-right: 10px;
		padding-left: 10px;
	}
}

/* xahani additional css (exact) */
.read-more-container {
	float: right;
}

@media only screen and (max-width: 768px) {
	#mhead {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100px;
		padding-top: 15px;
		margin-bottom: -10px;
	}

	.separate-containers .paging-navigation {
		padding: 10px 5px !important;
	}

	.paging-navigation .nav-links {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.paging-navigation .page-numbers {
		margin: 4px !important;
		box-sizing: border-box;
		flex: 1 0 12%;
	}

	.paging-navigation .page-numbers.prev,
	.paging-navigation .page-numbers.next {
		order: 50;
		flex: 1 0 40%;
		margin-top: 1em;
	}
}

.menu-footer-navigation-container {
	padding-bottom: 5px;
}
