/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* Header & Footer */
.footer-widgets {
	border-bottom: 1px solid var(--border-color);
}

/* All Archives Images & Expert */
.archives-feature-img {
	height: 100%;
}

.archives-feature-img:hover {
	opacity: 0.9;
}

/* Author Avator */
.author .page-header .avatar {
	border-radius: 50px;
}

/* In-Article Links */
.entry-content a:not(.button) {
	text-decoration: underline;
}

.entry-content a:hover {
	text-decoration: none;
}

/* Expert */
.dynamic-entry-excerpt {
    font-size: 14px;
    line-height: 1.5;
}

/* Meta */
.entry-meta,
.rank-math-breadcrumb p,
.rank-math-breadcrumb a {
	font-size: 14px;
	color: var(--meta-color);
}
.rank-math-breadcrumb a:hover {
	color: var(--accent);
}
.rank-math-breadcrumb p {
	margin-bottom: 0.8em;
}

/* Widgets Title */
.comments-area h3,
.widget h2 {
	border-bottom: 4px solid var(--border-color);
	padding-bottom: 10px;
}

/* Dropdown Menu */
.main-navigation:not(.toggled) ul li.sfHover > ul,
.main-navigation:not(.toggled) ul li:hover > ul {
	border: 1px solid var(--border-color);
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* Off Canvas Menu */
#generate-slideout-menu {
	padding: 10px 15px;
}

/* Search & Read More Buttons */
button.search-submit {
	border-radius: 4px;
	padding: 14px 30px;
}

a.read-more.button,
.wp-block-search__button {
	border-radius: 4px;
}

/* Generate Back-to-top */
a.generate-back-to-top {
	border-radius: 50px;
	box-shadow: 0 0 2px 2px rgba(0,0,0,0.05);
}

/* lists */
.entry-content ul > li,
.entry-content ol > li {
	margin-left: -15px;
	margin-bottom: 10px;
}

/* Order List Styles */
.entry-content ol {
    list-style-type: none;
    counter-reset: my-awesome-counter;
}

.entry-content ol > li {
	counter-increment: my-awesome-counter;
	position: relative;
	padding-left: 35px;
	margin-left: -35px;
}

.entry-content ol > li::before {
    content: counter(my-awesome-counter);
    position: absolute;
    left: 0;
	  top: 0;
    background-color: #f0f0f0;
    color: var(--contrast);
    width: 25px;
    height: 25px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.9em;
}

/* Pagination */
.nav-links .page-numbers {
	display: inline-block;
	padding: 6px 15px;
	margin: 10px 5px;
	font-size: 14px;
	border-radius: 4px;
	text-decoration: none;
	color: var(--contrast);
}

.nav-links .page-numbers:hover {
	color: var(--accent);
	background: var(--base-2);
}

.nav-links .page-numbers.current {
	color: var(--base-3);
	background: var(--accent);
}

/* Table */
table td, .wp-block-table td,
table th, .wp-block-table th,
table {
	border: 1px solid var(--border-color);
	font-size: 14px;
	text-align: left;
}

table {
    border-collapse: collapse;
}

.wp-block-table {
	margin: 2.5em 0;
}

figcaption {
	font-size: 13px;
	text-align: center;
	color: var(--meta-color);
	padding-top: 5px;
}

.wp-block-preformatted {
	font-size: 13px;
	line-height: 1.6;
}

blockquote {
	font-size: 16px;
}

/* Forms & Comments */
form input[type="text"],
form input[type="email"] {
	width: 100%;
	border-radius: 4px;
}

form input[type="submit"],
input[type="search"] {
	border-radius: 4px;
}

form textarea {
	width: 100%;
	height: 100px;
	border-radius: 6px;
}

.comment-form #url {
	display: none;
}

.comment-content p {
	margin-bottom: 15px;
	font-size: 15px;
}

.comment-content {
	padding: 15px;
}

.comment-author-info .entry-meta {
	font-size: 14px;
}

p.logged-in-as {
	font-size: 14px;
	color: var(--contrast-2);
}

/* Right Sidebar */
@media (min-width: 900px) {
	.separate-containers .inside-right-sidebar {
	margin-right: 30px;
}
}
/* Sidebar Last Widget Sticky */
@media (min-width: 769px) {
	.inside-right-sidebar {
		height: 100%;
	}
	
.inside-right-sidebar aside:last-child {
	position: -webkit-sticky;
	position: sticky;
	top: 70px;
  }
}

/* Mobile Header */
.mobile-header-navigation .site-logo.mobile-header-logo img {
	height: 100%;
}
#mobile-header {
	padding-top: 10px;
	padding-bottom: 10px;
}
#mobile-header .menu-toggle {
	margin-right: 10px;
	padding-right: 12px;
}

/* Navigation Search */
.search-modal-form {
	border-radius: 50px;
	border: 2px solid var(--contrast-3);
}
.search-modal-form:hover {
	border: 2px solid var(--accent);
}
.search-modal-form .search-field,
.search-modal-form .search-field:focus {
	border-radius: 50px 0 0px 50px!important;
	outline: none!important;
	border: none!important;
}
.search-modal-fields button,
.search-modal-fields button:hover {
	border-radius: 120px;
	box-shadow: none;
	margin-right: 15px;
}
input[type="search"] {
	font-size: 15px;
}
.search-modal-form .icon-search {
	display: block;
	align-content: center;
	width: 40px;
	height: 40px;
	background: var(--contrast-3);
	color: var(--base-3);
	border-radius: 20px;
}
.search-modal-form .icon-search:hover {
	background-color: var(--accent);
}
.gp-modal__overlay {
	transition: none;
}
.gp-modal--open:not(.gp-modal--transition) .gp-modal__container,
.gp-modal__container {
	transform: none;
}
/* Responsive Layout */
@media (min-width: 800px){
	#main {
		margin-left: 30px;
	}
		.sidebar {
		margin-right: 30px;
	}
}
@media (max-width: 768px) {
	#main, .sidebar {
		margin-left: 10px;
		margin-right: 10px;
	}
	table td, .wp-block-table td,
	table th, .wp-block-table th,
	table {
		font-size: 14px;
	}
	.wp-block-preformatted {
		font-size: 13px;
	}
	blockquote {
		font-size: 15px;
	}
	.entry-meta,
	.rank-math-breadcrumb p {
		font-size: 13px;
	}
	.nav-links .page-numbers {
		font-size: 14px;
	}
}





/* Single posts design only */
/* Rank Math TOC */
.wp-block-rank-math-toc-block {
	background: linear-gradient(180deg, #005EE9 0%, #0045A5 100%);
	padding: 30px;
	margin-left: -30px;
	margin-right: -30px;
	margin-bottom: 40px;
}
.wp-block-rank-math-toc-block h2 {
	font-size: 20px;
	color: var(--base-2);
	border-bottom: 4px solid var(--base-2);
	padding-bottom: 10px;
}
.wp-block-rank-math-toc-block li {
	line-height: 1.7;
	color: var(--base-3);
}
.wp-block-rank-math-toc-block li a {
	color: var(--base-3);
}
@media (max-width: 768px) {
	.wp-block-rank-math-toc-block {
		padding: 20px;
		margin-left: -20px;
		margin-right: -20px;
	}
}

/* Rank Math FAQs */
div#rank-math-faq {
	margin-bottom: 40px;
}
.rank-math-list-item {
	padding: 15px 30px 15px 30px;
	margin-bottom: 1rem;
	margin-left: -30px;
	margin-right: -30px;
	background: linear-gradient(180deg, #005EE9 0%, #0045A5 100%);
}
.rank-math-question {
  border-bottom: 1px solid rgb(255,255,255,0.3);
	color: var(--base-3);
  padding-bottom: .825rem;
  margin-bottom: .825rem;
  position: relative;
  padding-right: 40px;
	font-size: 17px;
}
.rank-math-question:after {
  content: "?";
  position: absolute;
  right: 0;
  top: 0;
  width: 26px;
  line-height: 26px;
  text-align: center;
  color: var(--contrast-3);
  background: var(--base-3);
  border-radius: 40px;
}
.rank-math-answer {
	color: var(--base-3);
}
.rank-math-answer p,
.rank-math-list-item:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
	.rank-math-list-item {
		padding: 15px 20px 15px 20px;
		margin-left: -20px;
		margin-right: -20px;
	}
  .rank-math-question {
		font-size: 16px;
	}
}

/* Author Box */
.ml-author-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 30px;
	background-color: var(--base-3);
	gap: 20px;
}

.ml-author-box .insights-avatar {
	flex: 0 0 120px;
	border-radius: 50%;
	overflow: hidden;
}

.ml-author-box .insights-avatar img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 50%;
}

.insights-author-info {
	flex: 1;
	min-width: 200px;
}

.about-label {
	font-size: 13px;
	color: var(--meta-color);
	display: block;
}

.author-title span {
	font-size: 17px;
	font-weight: 700;
	display: block;
}

.author-description {
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 5px;
}

.author-box-links {
	display: inline-flex;
}

.author-social-links a {
	display: inline-block;
	margin-right: 10px;
	padding: 3px 8px;
	background: var(--contrast-2);
	color: var(--base-3);
	font-size: 12px;
	border-radius: 4px;
	text-decoration: none;
	transition: background 0.3s;
}

.author-social-links a:hover {
	background: var(--accent-2);
	color: var(--base-3);
	text-decoration: none;
}

.author-links a {
	font-size: 14px;
	display: inline-block;
	color: var(--accent);
	font-weight: 500;
	text-decoration: none;
	transition: color 0.3s;
}

.author-links a:hover {
	color: var(--accent-2);
}

@media (max-width: 768px) {
	.ml-author-box {
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 25px 20px;
	}
	.ml-author-box .insights-avatar {
		flex: 0 0 120px;
		width: 120px;
	}
	.author-title span {
		font-size: 16px;
	}
	.author-description {
		font-size: 14px;
	}
}

/* Related Posts */
.related-posts-container {
	background-color: var(--base-3);
	padding: 30px;
}

.related-posts-container h3 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 40px;
	color: var(--contrast);
	text-align: left;
	border-bottom: 4px solid var(--border-color);
	padding-bottom: 10px;
}

.related-posts-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 25px 40px;
}

.related-post-item {
	display: flex;
	align-items: center;
	gap: 15px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.related-post-item:hover {
	transform: translateY(-3px);
}

.related-thumb-wrap {
	flex: 0 0 90px;
	border-radius: 4px;
	overflow: hidden;
}

.related-thumb {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: fill;
	display: block;
	transition: opacity 0.3s ease;
	border-radius: 4px;
}

.related-post-item:hover .related-thumb {
	opacity: 0.9;
}

.related-post-title {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--contrast);
	margin: 0;
}

.related-post-item a {
	display: flex;
	align-items: center;
	gap: 15px;
	text-decoration: none;
	color: inherit;
}

.related-post-item a:hover .related-post-title {
	color: var(--contrast-3);
}

/* Responsive */
@media (max-width: 768px) {
	.related-posts-container {
		padding: 30px 20px 30px 20px;
	}
	.related-posts-container h3 {
		font-size: 17px;
	}
	.related-posts-list {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.related-thumb-wrap {
		flex: 0 0 90px;
	}
}

/* Social Share */
.ml-social-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 50px;
}
.ml-social-sharing {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	gap: 5px;
	padding: 6px;
	font-size: 12px;
	border-radius: 4px;
	text-decoration: none!important;
	transition: background 0.2s ease;
}
.ml-social-sharing svg {
  display: inline-block;
  fill: currentColor;
  flex-shrink: 0;
}
.ml-social-chatgpt { background: #10a37f; color: white; }
.ml-social-perplexity { background: #1a1a1a; color: white; }
.ml-social-facebook { background: #1877f2; color: white; }
.ml-social-twitter { background: #000000; color: white; }
.ml-social-whatsapp { background: #25d366; color: white; }
.ml-social-shareall { background: #666!important; color: white; cursor: pointer; border: none; }
.ml-social-sharing:hover { opacity: 0.8; text-decoration:none; color: #fff!important; }