/*
Theme Name: Made To Thrive 2026 Base
Author: Made To Thrive
Author URI: https://madetothrive.com/
Theme URI: 
Tags: full-site-editing, editor-style, block-styles, block-patterns
Text Domain: made-to-thrive-2026-base
Requires at least: 6.3
Requires PHP: 7.4
Tested up to: 6.3
Version: 1.0.0

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Styles intended only for the front.*/
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {

	html {
		scroll-behavior: auto;
	}
}

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	color: #013D36;
}

/* Single post share menu: Font Awesome icons */
.single-post__share-list a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.single-post__share-icon {
	width: 1.25rem;
	text-align: center;
}

/* Single Post Styles */
.single-post__header,
.single-post__content {
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	padding: 0 60px;
	margin-bottom: 40px;
}
.single-post__featured img {
	width:100%;
	height:auto;
	border-radius:20px;
}
.single-post__breadcrumbs {
	font-size: 15px;
    margin: 16px 0 0;
}
.single-post__breadcrumbs ol {
	padding:0;
	list-style:none;
	display:flex;
	gap:8px;
}
.single-post__meta {
	    font-size: 15px;
    margin-bottom: 36px;
}
.single-post__meta-item {
	margin-right:10px;
}
.breadcrumbs-separator {
	font-size:27px;
}
.single-post__breadcrumbs a {
	text-decoration:none;
}
.single-post__header h1 {
	    font-size: 54px;
    line-height: 60px;
    margin: 23px 0;
    max-width: 68%;
    font-weight: 300;
    letter-spacing: 0.01rem;
}
.single-post__share-list .screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important;
}
.single-post__content .inside {
	width:780px;
}
.single-post__content h2 {
    font-size: 37px;
    line-height: 42px;
    margin: 30px 0;
    padding: 0 40px 0 0;
}
.single-post__content h3 {
	font-size: 28px;
	line-height: 34px;
	margin: 20px 0;
}
.single-post__content p {
	font-size: 17px;
    line-height: 27px;
    margin: 25px 0;
}
.single-post__content p a {
	color:#6B7861;
}
.single-post__content .wp-block-separator {
    border: none;
    border-top: 1px solid;
}
.single-post__content ol, .single-post__content ul {
	    font-size: 17px;
    line-height: 27px;
    margin: 30px 0;
    padding: 0 15px;
}
.single-post__content ol li, .single-post__content ul li {
	margin:20px 0
}
.single-post__tags, .single-post__disclaimer, .single-post__actions, .single-post__related, .single-post__nav{
	    max-width: 1400px;
    margin: 0 auto;
    padding: 0 60px;
}
 .single-post__actions button{
	    display: inline-flex;
	    align-items: center;
	    gap: 0.75rem;
	    padding: 0.875rem 30px;
	    background-color: var(--button-bg-color, #013D36);
	    color: #ffffff;
	    text-decoration: none;
	    border-radius: 30px;
	    font-size: 14px;
	    font-weight: 500;
	    transition: background-color 0.3s ease, transform 0.2s ease, outline 0.2s ease;
	    border: none;
	    cursor: pointer;
	    white-space: nowrap;
	    text-transform: uppercase;
	    letter-spacing: 0.1rem;
	    height: 57px;
}
 .single-post__actions button:hover {
	 background:#6B7861!important;
 }
.single-post__buttons {
	display:flex;
	gap:20px;
	position: relative;
}
.single-post__share-list {
	padding: 8px 0 0 13px;
	margin: 0;
	display: flex;
	list-style: none;
	gap: 12px;
}
.single-post__notice {
	padding-left:195px;
	padding-top:10px;
}
.single-post__share-list a {
	text-decoration:none;
}
 .single-post__actions button img {
	    width: 1.25rem;
    height: 1.25rem;
    object-fit: contain;
    display: inline-block;
}
.single-post__disclaimer {
	font-size:12px;
	opacity:0.2;
	margin: 32px auto;
}
.single-post__tags .inside {
	display:block;
	max-width:780px;
	font-size:17px;
	line-height:27px;
}
.single-post__tags .inside a {
	text-decoration:none;
}
.single-post__related {
	position:relative;
	margin-top: 50px;
}
.single-post__related:before, .single-post__nav:before {
	content:"";
	display:block;
	width:100%;
	height:1px;
	background:#013D36;
}
.single-post__related h2 {
	    font-size: 54px;
    margin: 43px 0 23px;
}

/* Related posts grid - matching archive-wrap styles */
.single-post__related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 60px 45px;
	align-items: start;
	max-width: 1400px;
	margin: 0 auto;
}

.single-post__related-card {
	width: 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.single-post__related-link {
	display: flex;
	flex-direction: column;
	flex: 1;
	height: 100%;
	text-decoration: none;
}

.single-post__related-link:hover .single-post__related-card-title,
.single-post__related-link:hover .read-article {
	color: #6B7861;
}

.single-post__related-card-title {
	font-size: 24px;
	line-height: 30px;
	margin: 17px 0 17px;
	letter-spacing: 0.01rem;
}

.single-post__related-image {
	width: 100%;
	height: 192px;
	object-fit: cover;
	border-radius: 20px;
}

.single-post__related-grid .read-article {
	font-size: 15px;
	border-bottom: 1px solid;
	width: fit-content;
	line-height: 20px;
}
.single-post__nav {
	position:relative;
	margin: 60px auto 40px;
}
.single-post__nav-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}
.single-post__nav a {
	text-decoration:none;
	font-size:17px;
	padding:20px 0;
	display: flex;
	align-items: center;
	gap: 19px;
}
.single-post__nav a:hover {
	color:#6B7861;
}
.single-post__nav-item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding-top: 30px;
}
.single-post__nav-arrow.pagination-arrow {
	width: 9.215px;
	height: 17.43px;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	margin: 0;
}
.single-post__nav-arrow.pagination-arrow svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* Responsive grid adjustments for related posts */
@media (max-width: 1024px) {
	.single-post__related-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}

@media (max-width: 768px) {
	.single-post__related-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.single-post__header, .single-post__content {
		padding: 0 25px;
	}
	.single-post__tags, .single-post__disclaimer, .single-post__actions, .single-post__related, .single-post__nav {
	    padding: 0 30px;
	}
	.single-post__related-image {
		width:100%;
		height:auto;
		aspect-ratio:8/4;
	}
	.single-post__nav-inner {
		display:block;
		padding-top: 30px;
	}
	.single-post__nav-item {
		width:100%;
		padding:0;
	}
	.single-post__nav-item--older {
		width:100%;
		display:block;
		text-align:right;
	}
	.single-post__nav-item--older a {
		display:flex;
		justify-content:flex-end;
	}
}

/* Site width: 100% max-width: 100% */
.wp-site-blocks,
.wp-block-group__inner-container,
.wp-block-template-part {
	width: 100%;
	max-width: 100%;
}

figure.wp-block-image.size-full {
	padding: 60px;
}
figure.wp-block-image figcaption {
	font-family:'Inter';
	font-size:10px;
	opacity:0.4;
	margin-top:17px;
}
.wp-block-columns.custom-columns {
	padding: 0 60px 100px;
	max-width:1200px;
	margin: 0 auto;
	gap: 119px;
}
.wp-block-columns.custom-columns .wp-block-buttons .wp-block-button__link {
	    width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 30px;
    background-color: var(--button-bg-color, #013D36);
    color: #ffffff;
    text-decoration: none;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 100;
    transition: background-color 0.3s ease, transform 0.2s ease, outline 0.2s ease;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    height: 57px;
}
.wp-block-columns.custom-columns .wp-block-buttons .wp-block-button__link:hover {
	background:#6B7861;
}
.wp-block-columns.custom-columns p {
	font-size: 17px;
    line-height: 27px;
    margin-bottom: 55px;
}
.wp-block-columns.custom-columns h2.has-h-4-font-size {
	line-height:43px;
	letter-spacing: 0.005rem;
}
.wp-block-columns.category-filters p {
	font-size:17px;
	padding-top:14px
}
.wp-block-columns.category-filters {max-width:1400px;margin: 60px auto 15px;padding:0 60px;}
.wp-block-columns.category-filters .wp-block-navigation-item__content {
	    align-self: flex-start;
    max-width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 31px;
    background-color: transparent;
    text-decoration: none;
    border-radius: 50px;
    text-transform: uppercase;
    transition: background-color 0.3s ease;
    font-size: 14px;
    font-weight: 100;
    letter-spacing: 0.1rem;
    height: 57px;
    border: 1px solid #013D36;
    color: #013D36;
}

.wp-block-columns.category-filters .wp-block-navigation-item__content a {
	pointer-events: auto;
	cursor: pointer;
	text-decoration: none;
	color: inherit;
}
.wp-block-columns.category-filters .wp-block-navigation__container {
	gap:20px;
}

/* Ensure navigation item links are always clickable */
.wp-block-navigation-item__content a {
	pointer-events: auto !important;
	cursor: pointer;
	text-decoration: none;
	display: block;
	width: 100%;
	height: 100%;
}
.wp-block-columns.category-filters .wp-block-navigation-item:hover .wp-block-navigation-item__content {
	color:white!important;
	background:#013D36!important;
}

/* Page Header and Title */
.page-header {
	display: none;
}
.privacy-policy .page-header {
	display:block;
	text-align:center;
	margin:40px auto 0;
}
.privacy-policy .page-content, .page-id-121 .page-content {
	max-width:95%;
	margin: 0 auto;
}
/* Show page header on 404 page */
body.error404 .page-header {
	display: block;
}
.error404 .page-title {
	text-align:center;
	padding:80px 0 0;
}
.page-title {
	font-family: var(--wp--preset--font-family--times-now);
	font-size: 74px;
	font-weight: 200;
	line-height: 81px;
	color: #013D36;
	margin: 0 0 1rem 0;
}

@media (max-width: 768px) {
	.page-title {
		font-size: 48px;
		line-height: 56px;
	}
	.single-post__header h1 {
		font-size:41px;
		line-height:48px;
		width:100%;
		max-width:100%;
	}
	.single-post__content .inside {
	    width: 100%;
	}
}

/* 404 Error Page Styles */
.error-404-content {
	text-align: center;
	padding: 2rem 1rem 100px;
	max-width: 600px;
	margin: 0 auto;
}

.error-404-message {
	font-size: 1.125rem;
	line-height: 1.6;
	margin: 0 0 2rem 0;
	color: #013D36;
}

.error-404-button-wrapper {
	margin-top: 1rem;
}

.error-404-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	padding: 0.875rem 1.5rem;
	background-color: #013D36;
	color: #ffffff;
	text-decoration: none;
	transition: background-color 0.3s ease, transform 0.2s ease, outline 0.2s ease;
	border: none;
	cursor: pointer;
	white-space: nowrap;
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: 0.13rem;
	font-weight: 100;
	border-radius: 30px;
}

.error-404-button:hover,
.error-404-button:focus {
	background-color: #6B7861;
}

.error-404-button:active {
	transform: translateY(0);
}

.error-404-button:focus-visible {
	outline: 3px solid #ffffff;
	outline-offset: 3px;
}

@media (max-width: 500px) {
	.error-404-content {
		padding: 1.5rem 1rem;
	}
	.single-post__content h2 {
		padding:0;
	}
	.error-404-message {
		font-size: 1rem;
		margin-bottom: 1.5rem;
	}

	.error-404-button {
		padding: 0.75rem 1.25rem;
		font-size: 0.9375rem;
		width: 100%;
		max-width: 300px;
	}
	figure.wp-block-image.size-full {
	    padding: 30px 30px 10px;
	}
	.wp-block-columns.category-filters .wp-block-navigation__container {
    gap: 10px;
}
	.wp-block-columns.category-filters .wp-block-navigation-item__content {
		    padding: 0.5rem 23px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.error-404-button {
		transition: none;
	}
}

/* Archive Page Styles */
.block-area-before-all-posts {
	margin-bottom:55px
}
.archive-wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 60px 45px;
	align-items: start;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 60px;
}

.archive-wrap article {
	width: 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.archive-wrap article h2 {
	font-size:24px;
	line-height:30px;
	margin: 17px 0 17px;
	letter-spacing: 0.01rem;
}
.archive-wrap article a {
	display: flex;
	flex-direction: column;
	flex: 1;
	height: 100%;
	text-decoration:none;
}
.archive-wrap article a:hover h2, .archive-wrap article a:hover .read-article {
	color:#6B7861;
}
.archive-wrap article .read-article {
	font-size: 15px;
    border-bottom: 1px solid;
    width: fit-content;
    line-height: 20px;
}
.archive-wrap article img {
	width: 100%;
	height: auto;
	aspect-ratio: 8/4;
	object-fit: cover;
	border-radius: 20px;
}
.archive-header {
	max-width: 1400px;
	margin: 25px auto 38px;
	padding: 0 60px;
}
.archive-header h1 {
	font-size:54px;
	line-height:60px;
	margin:0;
	letter-spacing: 0.03rem;
}
.archive-header .right ul {
	list-style:none;
	padding:0;
	display:flex;
	gap: 25px;
	margin: 31px 0 50px;
	flex-wrap: wrap;
}
.archive-header .right ul li a {
	    align-self: flex-start;
    max-width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 31px;
    background-color: transparent;
    text-decoration: none;
    border-radius: 50px;
    text-transform: uppercase;
    transition: background-color 0.3s ease;
    font-size: 14px;
    font-weight: 100;
    letter-spacing: 0.1rem;
    height: 57px;
    border: 1px solid #013D36;
    color: #013D36;
}
.archive-header .right ul li a:hover {
	color:white;
	background:#013D36;
}
/* Pagination Styles */
.archive-wrap > nav.pagination,
.archive-wrap nav.pagination {
	grid-column: 1 / -1 !important;
	border-top: 1px solid #013D36;
	padding-top: 57px;
	margin-top: 24px;
	padding-bottom: 54px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	max-width: 100%;
	width: 100%;
}
.archive-wrap nav.pagination .nav-links {
	display: flex;
	justify-content: center;
	width: 100%;
	gap: 19px;
}
.pagination-arrow {
	margin: 2px 20px 0;
	display: block;
}
.archive-wrap nav.pagination a,
.archive-wrap .nav-links a,
.archive-wrap .wp-block-query-pagination a {
	color: #013D36;
	text-decoration: none;
	font-size: 17px;
	transition: color 0.3s ease;
	display: block;
}

.archive-wrap nav.pagination a:hover,
.archive-wrap .nav-links a:hover,
.archive-wrap .wp-block-query-pagination a:hover {
	color: #6B7861;
}

.archive-wrap nav.pagination .nav-previous,
.archive-wrap nav.pagination .nav-next,
.archive-wrap .nav-links .nav-previous,
.archive-wrap .nav-links .nav-next,
.archive-wrap .wp-block-query-pagination-previous,
.archive-wrap .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.archive-wrap nav.pagination .nav-previous .pagination-arrow,
.archive-wrap nav.pagination .nav-next .pagination-arrow,
.archive-wrap .nav-links .nav-previous .pagination-arrow,
.archive-wrap .nav-links .nav-next .pagination-arrow,
.archive-wrap .wp-block-query-pagination-previous .pagination-arrow,
.archive-wrap .wp-block-query-pagination-next .pagination-arrow {
	width: 9.215px;
	height: 17.43px;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
}

.archive-wrap nav.pagination .nav-previous .pagination-arrow svg,
.archive-wrap nav.pagination .nav-next .pagination-arrow svg,
.archive-wrap .nav-links .nav-previous .pagination-arrow svg,
.archive-wrap .nav-links .nav-next .pagination-arrow svg,
.archive-wrap .wp-block-query-pagination-previous .pagination-arrow svg,
.archive-wrap .wp-block-query-pagination-next .pagination-arrow svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* Responsive grid adjustments */
@media (max-width: 1024px) {
	.archive-wrap {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}

@media (max-width: 768px) {
	.archive-wrap {
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 0 30px;
	}
	.wp-block-columns.custom-columns {
		gap:30px;
	}
	.wp-block-columns.category-filters {
	    max-width: 1400px;
	    margin: 20px auto 15px;
	    padding: 0 30px;
	}
	.archive-header {
		padding: 0 30px;
	}
}
@media (max-width:500px) {
	.wp-block-columns.custom-columns {
		padding: 0 30px 40px;
	}
	.wp-block-columns.custom-columns h2.has-h-4-font-size {
    line-height: 38px;
    letter-spacing: 0.005rem;
		font-size:29px!important;
	}
	.wp-block-columns.custom-columns p {
    font-size: 17px;
	    line-height: 27px;
	    margin-bottom: 35px;
	}
}