/*
Theme Name: Voice123 Theme V2
Author: Voice123 Team
Description: Voice123 WordPress Block Theme (Full Site Editing)
Version: 0.0.3
Requires at least: 6.1
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: voice123-theme-v2
*/

/* =========================================================
   Base Reset
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
a { text-decoration-skip-ink: auto; }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; margin: 0; padding: 0; }


mark { background: none;}
.btn {
	text-transform: uppercase;
} 

/* =========================================================
   Site Header
   ========================================================= */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: #fff;
}

/* =========================================================
   Post Hero
   ========================================================= */
.v123-post-hero {
	text-align: center;
}

/* Title: 54px bold, centered */
.v123-post-hero .wp-block-post-title {
	font-size: 54px;
	font-weight: 700;
	line-height: 1.15;
	color: rgba(0, 0, 0, 0.87);
	text-align: center;
	margin: 0 0 32px;
}

@media (max-width: 768px) {
	.v123-post-hero .wp-block-post-title {
		font-size: clamp(2rem, 8vw, 54px);
	}
}

/* Featured image: full width, rounded 21px */
.v123-post-hero .wp-block-post-featured-image {
	margin: 0 0 40px;
}

.v123-post-hero .wp-block-post-featured-image img {
	width: 100%;
	max-width: 720px;
	max-height: 405px;
	border-radius: 21px;
	object-fit: cover;
	display: block;
	margin:  0 auto;
}

/* Excerpt: 20px semibold, centered */
.v123-post-hero .wp-block-post-excerpt {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.6;
	color: rgba(0, 0, 0, 0.87);
	text-align: center;
	margin: 0 0 32px;
}

.v123-post-hero .wp-block-post-excerpt p {
	margin: 0;
}

/* CTA button: Voice123 orange */
.v123-hero-cta .wp-block-button__link {
	background-color: #FF6600 !important;
	color: #ffffff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0.1px !important;
	border-radius: 4px !important;
	padding: 10px 24px !important;
	text-transform: uppercase;
	border: none;
}

/* =========================================================
   Submenu nav
   ========================================================= */
.v123-submenu {
	background: #fff;
	border-bottom: 1px solid #e0e0e0;
}

.v123-submenu .wp-block-navigation__container {
	display: flex;
	gap: 32px;
	justify-content: center;
	padding: 8px 0;
}

.v123-submenu .wp-block-navigation-item a {
	font-size: 11px;
	font-weight: 700;
	color: #003f75;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 0.5px;
}

/* =========================================================
   Newsletter Banner
   ========================================================= */
.v123-newsletter-banner {
	background: linear-gradient(92.34deg, #e5f2fe 0.33%, #eef6fd 45.45%);
}

.v123-newsletter-banner .wp-block-heading {
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 700;
	color: #354860;
	margin: 0;
	white-space: nowrap;
}

.v123-newsletter-banner .wp-block-buttons {
	justify-content: flex-end;
}

.v123-newsletter-banner .wp-block-button__link {
	border: 2px solid #003f75 !important;
	color: #003f75 !important;
	background: transparent !important;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.1px;
	text-transform: uppercase;
	border-radius: 4px;
	padding: 10px 24px;
}

/* =========================================================
   All About Section (Author Strip)
   ========================================================= */
.v123-all-about {
	background-color: #ffffff;
}

.v123-all-about .wp-block-separator {
	background-color: #e0e0e0;
	border-color: #e0e0e0;
}

.v123-all-about__author-logo {
	height: 28px;
	width: auto;
	display: block;
}

.v123-all-about .wp-block-post-author-name {
	font-size: 15px;
	font-weight: 800;
	color: #003f75;
	margin: 0;
}

.v123-all-about .wp-block-post-date {
	font-size: 13px;
	color: #003f75;
}

@media (max-width: 768px) {
	.v123-all-about .wp-block-columns {
		flex-direction: column;
	}
}

/* =========================================================
   TOC + Listen CTA Row
   ========================================================= */
.v123-toc-listen-row {
	align-items: flex-start;
	gap: 40px;
}


.v123-toc__title {
	font-size: 34px;
	font-weight: 700;
	color: rgba(0, 0, 0, 0.87);
	margin: 0 0 24px;
}

/* Items container filled by toc.js */
.v123-toc__items {
	font-size: 15px;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.87);
	line-height: 1.4;
}

.v123-toc__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.v123-toc__item a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: 1px solid #eef6fd !important;
	border-radius: 12px;
	padding: 16px 20px;
	color: rgba(0, 0, 0, 0.87) !important;
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.v123-toc__item a::after {
	content: '›';
	font-size: 22px;
	line-height: 1;
	flex-shrink: 0;
	margin-left: 12px;
	color:#299BFF80;
	transition: color 0.2s, transform 0.2s;
}

.v123-toc__item a:hover::after,
.v123-toc__item.is-active a::after {
	color: #299bff;
	transform: translateX(2px);
}

.v123-toc__item a:hover,
.v123-toc__item.is-active a {
	background: #eef6fd;
	border-color: #299bff;
	color: #003f75;
}

/* h3 items are indented to show hierarchy */
.v123-toc__item--h3 a {
	padding-left: 36px;
	font-size: 14px;
	border-style: dashed;
}

/* Listen CTA */
.v123-listen-cta {
	background: linear-gradient(to top, #eef6fd, #fff);
	border: 1.26px solid #eef6fd;
	border-radius: 33px;
	padding: 40px 32px;
	text-align: center;
}

.v123-listen-cta .wp-block-image {
	margin: 0 auto 24px;
	max-width: 280px;
}

.v123-listen-cta .wp-block-image img {
	border-radius: 17px;
	object-fit: cover;
}

.v123-listen-cta__title {
	font-size: 34px;
	font-weight: 700;
	color: rgba(0, 0, 0, 0.87);
	margin: 0 0 24px;
	line-height: 1.2;
}

.v123-listen-cta .wp-block-button__link {
	background-color: #354860 !important;
	color: #fff !important;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	border-radius: 4px;
	padding: 14px 28px;
	letter-spacing: 0.1px;
}

/* =========================================================
   Post Content Area
   ========================================================= */
.wp-block-post-content {
	/* max-width: 960px; */
	margin: 0 auto;
	/* padding: 0 80px; */
}

/* =========================================================
   Related Postsß
   ========================================================= */
.v123-related-posts {}

.v123-related-posts__title {
	font-size: 34px;
	font-weight: 700;
	color: rgba(0, 0, 0, 0.87);
	text-align: center;
	text-transform: capitalize;
	margin: 0 0 24px;
}

.v123-related-posts hr.wp-block-separator {
	border: none;
	border-top: 2px solid #e0e0e0;
	margin: 0 0 40px;
}

.v123-related-posts .wp-block-post-template {
	gap: 32px;
}

.v123-related-posts .wp-block-post {
	display: flex;
	flex-direction: column;
}

.v123-related-posts .wp-block-post-featured-image img {
	border-radius: 12px;
	aspect-ratio: 16/10;
	object-fit: cover;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.v123-related-posts .wp-block-post-terms {
	display: block;
	color: rgba(17, 133, 234, 0.8);
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	margin: 12px 0 8px;
}

.v123-related-posts .wp-block-post-title a {
	font-size: 15px;
	font-weight: 700;
	color: rgba(0, 0, 0, 0.87);
	text-decoration: none;
	line-height: 1.4;
}

.v123-related-posts .wp-block-post-excerpt p {
	font-size: 13px;
	font-weight: 300;
	color: rgba(0, 0, 0, 0.87);
	line-height: 1.5;
	margin: 8px 0;
}

.v123-related-posts .wp-block-read-more {
	font-size: 16px;
	font-weight: 700;
	color: #1185ea;
	text-decoration: underline;
	margin-top: auto;
	padding-top: 8px;
}

/* =========================================================
   VO CTA Cards
   ========================================================= */
.v123-vo-cta-card {
	border-radius: 12px;
	overflow: hidden;
}

.v123-vo-cta-card--vo {
	background-color: #eef6fd;
}

.v123-vo-cta-card--audio {
	background-color: #ffffff;
	border: 1px solid #eef6fd;
}

.v123-vo-cta-card .wp-block-image img {
	border-radius: 12px;
	object-fit: cover;
	width: 100%;
	aspect-ratio: 4 / 3;
}

.v123-vo-cta-card .wp-block-heading {
	font-size: clamp(24px, 2.5vw, 32px);
	font-weight: 800;
	color: #003f75;
	text-transform: uppercase;
	line-height: 1.2;
}

.v123-vo-cta-card--audio-btn .wp-block-button__link {
	background: transparent !important;
	color: #003f75 !important;
	border: 1.5px solid #003f75 !important;
}

@media (max-width: 768px) {
	.v123-vo-cta-card .wp-block-columns {
		flex-direction: column;
	}
}

/* =========================================================
   Footer CTA Banner
   ========================================================= */
.v123-footer-cta {
	background-color: #003f75;
	border-radius: 12px;
	position: relative;
	overflow: hidden;
}

.v123-footer-cta .wp-block-heading {
	font-size: clamp(24px, 2.5vw, 33px);
	font-weight: 800;
	color: #eef6fd;
	text-transform: uppercase;
	margin: 0 0 16px;
	max-width: 440px;
}

.v123-footer-cta .wp-block-paragraph {
	font-size: 16px;
	font-weight: 300;
	color: #eef6fd;
	line-height: 1.5;
	max-width: 425px;
	margin: 0 0 32px;
}

.v123-footer-cta .wp-block-button__link {
	background-color: #eef6fd !important;
	color: #003f75 !important;
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	border-radius: 4px;
	padding: 14px 28px;
	letter-spacing: 0.1px;
}

/* =========================================================
   Site Footer
   ========================================================= */
.v123-site-footer {
	background-color: #f5f5f5;
	border-radius: 17px;
}

.v123-site-footer .wp-block-image img {
	height: 44px;
	width: auto;
}

.v123-site-footer__col-title {
	font-size: 11px;
	font-weight: 700;
	color: #828282;
	text-transform: uppercase;
	margin: 0 0 8px;
}

.v123-site-footer a {
	font-size: 11px;
	font-weight: 300;
	color: #828282;
	text-decoration: underline;
	display: block;
	margin-bottom: 4px;
}

/* =========================================================
   Block Group
   ========================================================= */
.wp-block-group.has-background {
	padding: 1.25em;
}

/* =========================================================
   Block Image
   ========================================================= */
.wp-block-image.aligncenter {
	align-self: center;
	width: fit-content;
}

.wp-block-image.alignleft {
	align-self: flex-start;
	width: fit-content;
	margin-right: auto;
}

.wp-block-image.alignright {
	align-self: flex-end;
	width: fit-content;
	margin-left: auto;
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 768px) {
	/* Columns stack vertically on mobile */
	.v123-toc-listen-row {
		flex-direction: column;
	}

	.v123-newsletter-banner .wp-block-heading {
		white-space: normal;
	}

	.v123-footer-cta {
		padding: 40px 32px !important;
	}
}

/* fixes conflicts with v1-material */
.md-theme a:not(.md-button) {
	color: unset;
}



@media only screen and (max-width: 992px) {
    .hide-on-med-and-down {
        display: none !important;
    }
}

@media only screen and (min-width: 993px) {
    .hide-on-large-only {
        display: none !important;
    }
}

