/*
Theme Name: CAVELYRA GeneratePress Production
Description: CAVELYRA production child theme for GeneratePress. Implements the locked CAVELYRA visual system and provides optional first-run setup for the approved site architecture.
Author: CAVELYRA
Template: generatepress
Version: 1.4.1
Text Domain: cavelyra
*/

:root{
 --cv-charcoal:#20262B;--cv-offwhite:#F7F4EE;--cv-teal:#4F8583;
 --cv-sage:#A8B8A5;--cv-sand:#D8C7A8;--cv-terracotta:#B87868;
 --cv-content-max:1180px;--cv-reading-max:760px;--cv-radius:8px;
 --cv-space-1:.5rem;--cv-space-2:1rem;--cv-space-3:1.5rem;
 --cv-space-4:2rem;--cv-space-5:3rem;--cv-space-6:4rem;
}
html{scroll-behavior:smooth}
body{background:var(--cv-offwhite);color:var(--cv-charcoal);font-family:"Source Serif 4",Georgia,serif;font-size:17px;line-height:1.75}
h1,h2,h3,h4,h5,h6,button,input,select,textarea,.site-title,.main-navigation,.entry-meta,.widget-title,.wp-block-button,.wp-block-button__link,.cv-label,.cv-category-label{font-family:"DM Sans",Arial,sans-serif}
h1{font-size:clamp(2.25rem,4vw,3rem);line-height:1.15}h2{font-size:clamp(1.75rem,3vw,2rem);line-height:1.2}h3{font-size:clamp(1.35rem,2.3vw,1.5rem);line-height:1.25}h4{font-size:1.125rem;line-height:1.3}
a{color:var(--cv-teal);text-underline-offset:3px}a:hover,a:focus{color:var(--cv-charcoal)}
:focus-visible{outline:3px solid var(--cv-teal);outline-offset:3px}
.site-content,.inside-header,.inside-navigation,.inside-footer-widgets,.site-info{max-width:var(--cv-content-max)}
.site-content{margin-inline:auto}
.entry-content{max-width:var(--cv-reading-max);margin-inline:auto}
.site-header,.main-navigation{background:var(--cv-offwhite)}
.site-header{border-bottom:1px solid rgba(32,38,43,.12)}
.site-title a,.site-logo a{color:var(--cv-charcoal);text-decoration:none;font-weight:700;letter-spacing:-.02em}
.main-navigation a{color:var(--cv-charcoal);font-weight:600;font-size:.92rem}
.main-navigation a:hover,.main-navigation a:focus{color:var(--cv-teal)}
body.category-brain-mind,body.single-post.category-brain-mind{--cv-category:var(--cv-teal)}
body.category-body-health,body.single-post.category-body-health{--cv-category:var(--cv-sand)}
body.category-science-explained,body.single-post.category-science-explained{--cv-category:var(--cv-charcoal)}
body.category-history-of-ideas,body.single-post.category-history-of-ideas{--cv-category:var(--cv-sage)}
body.category-practical-living,body.single-post.category-practical-living{--cv-category:var(--cv-terracotta)}
body.category-blog,body.single-post.category-blog{--cv-category:var(--cv-charcoal)}
.cv-category-label{color:var(--cv-category,var(--cv-teal));font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.6rem}
.single-post .entry-header{max-width:var(--cv-reading-max);margin-inline:auto}
.single-post .entry-title{margin-bottom:.7rem}
.single-post .entry-content img{border-radius:var(--cv-radius)}
.single-post figcaption,.single-post .wp-caption-text{color:rgba(32,38,43,.72);font-family:"DM Sans",Arial,sans-serif;font-size:.82rem;line-height:1.45}
blockquote{margin:2rem 0;padding:1.25rem 1.5rem;border-left:4px solid var(--cv-teal);background:rgba(79,133,131,.08);font-size:1.2rem}
.entry-title a{color:var(--cv-charcoal);text-decoration:none}.entry-title a:hover{color:var(--cv-teal)}
button,input[type=submit],.wp-block-button__link{background:var(--cv-teal);color:var(--cv-offwhite);border:1px solid var(--cv-teal);border-radius:6px;font-family:"DM Sans",Arial,sans-serif;font-weight:650}
button:hover,button:focus,input[type=submit]:hover,input[type=submit]:focus,.wp-block-button__link:hover,.wp-block-button__link:focus{background:var(--cv-charcoal);border-color:var(--cv-charcoal);color:var(--cv-offwhite)}
input,textarea,select{border:1px solid rgba(32,38,43,.25);border-radius:6px;background:#fff;color:var(--cv-charcoal)}
.site-footer,.footer-widgets{background:var(--cv-charcoal);color:var(--cv-offwhite)}
.site-footer a,.footer-widgets a{color:var(--cv-offwhite)}
.site-footer a:hover,.site-footer a:focus,.footer-widgets a:hover,.footer-widgets a:focus{color:var(--cv-sand)}
.footer-widgets .widget-title{color:var(--cv-offwhite)}
.cv-section{padding-block:var(--cv-space-6)}.cv-section--compact{padding-block:var(--cv-space-4)}
.cv-section__header{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:var(--cv-space-4)}
.cv-section__header h2{margin:0}.cv-section__header a{font-family:"DM Sans",Arial,sans-serif;font-weight:600}
.cv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--cv-space-4)}
.cv-card{min-width:0}.cv-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--cv-radius)}
.cv-card__meta{margin-top:.8rem;font-family:"DM Sans",Arial,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.cv-card__title{margin:.35rem 0 0;font-size:1.25rem;line-height:1.3}
.cv-card__title a{color:var(--cv-charcoal);text-decoration:none}.cv-card__title a:hover{color:var(--cv-teal)}
.cv-hero{padding-block:var(--cv-space-6);display:grid;grid-template-columns:1fr 1fr;gap:var(--cv-space-5);align-items:center}
.cv-hero__eyebrow{font-family:"DM Sans",Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:.78rem;color:var(--cv-teal)}
.cv-hero__title{margin:.5rem 0 1rem;font-size:clamp(2.5rem,5vw,4.2rem)}
.cv-hero__text{font-size:1.15rem;max-width:620px}
.cv-hero__media img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--cv-radius)}
.cv-featured{display:grid;grid-template-columns:1.35fr 1fr;gap:var(--cv-space-5);align-items:center}
.cv-featured img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--cv-radius)}
.cv-featured__title{font-size:clamp(1.9rem,3vw,2.7rem);margin:.4rem 0 1rem}
.cv-newsletter{padding:var(--cv-space-5);background:var(--cv-sage);border-radius:var(--cv-radius)}
.cv-newsletter h2{margin-top:0}.cv-newsletter form{display:flex;gap:.75rem;flex-wrap:wrap}.cv-newsletter input[type=email]{flex:1 1 240px}
.cv-breadcrumbs{font-family:"DM Sans",Arial,sans-serif;font-size:.8rem;margin-bottom:1.25rem}
.cv-utility{max-width:760px;margin:5rem auto;text-align:center}
.cv-source-list{font-family:"DM Sans",Arial,sans-serif;font-size:.9rem}
.cv-key-takeaways{padding:1.5rem;background:rgba(168,184,165,.18);border-left:4px solid var(--cv-sage);margin:2rem 0}
.cv-key-takeaways h2{margin-top:0}
.cv-article-dates{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.82rem}
@media(max-width:1024px){:root{--cv-content-max:92%}.cv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){body{font-size:16px}.site-content{width:92%}.entry-content,.single-post .entry-header{max-width:100%}.cv-hero,.cv-featured{grid-template-columns:1fr;gap:var(--cv-space-3)}.cv-grid{grid-template-columns:1fr}.cv-section{padding-block:var(--cv-space-5)}.cv-newsletter{padding:var(--cv-space-4)}blockquote{margin-inline:0;padding:1rem 1.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.cv-container{width:min(var(--cv-content-max),92%);margin-inline:auto}
.cv-hero__placeholder{width:100%;aspect-ratio:16/9;border-radius:var(--cv-radius);background:linear-gradient(135deg,rgba(79,133,131,.12),rgba(216,199,168,.24));}
.cv-hero__media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--cv-radius)}
.cv-featured__content p{max-width:620px}
.cv-category-section--brain-and-mind{--cv-accent:var(--cv-teal)}
.cv-category-section--body-and-health{--cv-accent:var(--cv-sand)}
.cv-category-section--science-explained{--cv-accent:var(--cv-charcoal)}
.cv-category-section--history-of-ideas{--cv-accent:var(--cv-sage)}
.cv-category-section--practical-living{--cv-accent:var(--cv-terracotta)}
.cv-category-section .cv-section__header{border-top:3px solid var(--cv-accent);padding-top:1rem}
.cv-newsletter__placeholder{font-family:"DM Sans",Arial,sans-serif;font-size:.88rem;opacity:.78;padding-top:.75rem}
@media(max-width:767px){.cv-hero__title{font-size:2.35rem}.cv-featured__title{font-size:1.9rem}}

.cv-category-hero{padding-block:clamp(3rem,7vw,6rem);border-bottom:1px solid rgba(32,38,43,.12)}
.cv-category-hero__eyebrow{font-family:"DM Sans",Arial,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cv-category-accent);margin-bottom:.75rem}
.cv-category-hero__title{font-size:clamp(2.5rem,5vw,4rem);line-height:1.08;margin:0 0 1rem}
.cv-category-hero__description{max-width:760px;font-size:1.12rem;margin:0}
.cv-category-hero__description p{margin:0}
.cv-grid--category{grid-template-columns:repeat(3,minmax(0,1fr))}
.cv-card__placeholder{width:100%;aspect-ratio:16/9;border-radius:var(--cv-radius);background:linear-gradient(135deg,rgba(79,133,131,.12),rgba(216,199,168,.24))}
.cv-card__excerpt{margin:.7rem 0 0;font-size:.95rem}
.cv-pagination{margin-top:3rem;font-family:"DM Sans",Arial,sans-serif}
.cv-pagination ul{display:flex;justify-content:center;align-items:center;gap:.45rem;list-style:none;margin:0;padding:0}
.cv-pagination a,.cv-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;min-height:2.5rem;padding:.35rem .7rem;border:1px solid rgba(32,38,43,.18);border-radius:6px;text-decoration:none}
.cv-pagination .current{background:var(--cv-teal);border-color:var(--cv-teal);color:var(--cv-offwhite)}
.cv-category-empty{max-width:760px;margin:1rem auto 0;padding:3rem 2rem;text-align:center;border:1px solid rgba(32,38,43,.12);border-radius:var(--cv-radius);background:rgba(168,184,165,.12)}
.cv-category-empty__label{font-family:"DM Sans",Arial,sans-serif;color:var(--cv-teal);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cv-category-empty h2{margin:.5rem 0 .8rem}
.cv-category-empty p{margin:0 auto 1.5rem;max-width:560px}
@media(max-width:1024px){.cv-grid--category{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.cv-grid--category{grid-template-columns:1fr}.cv-category-hero{padding-block:3rem}.cv-category-empty{padding:2rem 1.25rem}.cv-pagination ul{flex-wrap:wrap}}

/* CAVELYRA button authority layer */
.wp-block-button .wp-block-button__link,
.wp-block-button__link,
a.wp-block-button__link,
button,
input[type="submit"]{
	background:var(--cv-teal);
	color:var(--cv-offwhite);
	border-color:var(--cv-teal);
}
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
button:hover,
button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus{
	background:var(--cv-charcoal);
	color:var(--cv-offwhite);
	border-color:var(--cv-charcoal);
}

.cv-article{padding-block:clamp(2.5rem,6vw,5rem)}
.cv-article__header{max-width:var(--cv-reading-max);margin-inline:auto;margin-bottom:2.5rem}
.cv-article__category{font-family:"DM Sans",Arial,sans-serif;color:var(--cv-category,var(--cv-teal));font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:.75rem}
.cv-article__title{font-size:clamp(2.4rem,5vw,4rem);line-height:1.08;margin:0 0 1rem}
.cv-article__deck{font-size:1.2rem;line-height:1.6;margin:0 0 1.2rem;color:rgba(32,38,43,.78)}
.cv-article__meta{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;font-family:"DM Sans",Arial,sans-serif;font-size:.8rem;color:rgba(32,38,43,.68)}
.cv-article__featured{width:min(1100px,92%);margin:0 auto 3rem}
.cv-article__featured img{display:block;width:100%;max-height:650px;object-fit:cover;border-radius:var(--cv-radius)}
.cv-article__body{max-width:var(--cv-reading-max);margin-inline:auto}
.cv-article__body > *:first-child{margin-top:0}
.cv-article__body h2{margin-top:2.8rem}
.cv-article__body h3{margin-top:2.2rem}
.cv-article__body p{margin:0 0 1.2rem}
.cv-article__body ul,.cv-article__body ol{padding-left:1.4rem}
.cv-article__body li{margin:.4rem 0}
.cv-article__body blockquote{margin:2rem 0}
.cv-article__body img{height:auto}
.cv-article__body figure{margin:2rem 0}
.cv-article__body figcaption{font-family:"DM Sans",Arial,sans-serif}
.cv-article__key-takeaways{margin:3rem auto;max-width:var(--cv-reading-max);padding:1.5rem;background:rgba(168,184,165,.16);border-left:4px solid var(--cv-sage);border-radius:0 var(--cv-radius) var(--cv-radius) 0}
.cv-article__key-takeaways h2{margin-top:0}
.cv-article__sources{max-width:var(--cv-reading-max);margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(32,38,43,.16)}
.cv-article__sources h2{margin-top:0}
.cv-article__related{padding-block:3.5rem;background:rgba(168,184,165,.08);margin-top:4rem}
.cv-article__related-inner{width:min(var(--cv-content-max),92%);margin-inline:auto}
.cv-article__related h2{margin-top:0}
.cv-article__related .cv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.cv-article__newsletter{width:min(var(--cv-content-max),92%);margin:3rem auto 0}
@media(max-width:767px){
	.cv-article{padding-block:2.5rem}
	.cv-article__title{font-size:2.35rem}
	.cv-article__deck{font-size:1.08rem}
	.cv-article__related .cv-grid{grid-template-columns:1fr}
	.cv-article__featured{width:92%;margin-bottom:2.25rem}
}

/* CAVELYRA v1.4.1 button override */
html body a.wp-block-button__link,
html body .wp-block-button .wp-block-button__link,
html body .wp-block-button__link,
html body button,
html body input[type="submit"]{
	background-color:var(--cv-teal) !important;
	background-image:none !important;
	color:var(--cv-offwhite) !important;
	border-color:var(--cv-teal) !important;
}
html body a.wp-block-button__link:hover,
html body a.wp-block-button__link:focus,
html body .wp-block-button .wp-block-button__link:hover,
html body .wp-block-button .wp-block-button__link:focus,
html body .wp-block-button__link:hover,
html body .wp-block-button__link:focus,
html body button:hover,
html body button:focus,
html body input[type="submit"]:hover,
html body input[type="submit"]:focus{
	background-color:var(--cv-charcoal) !important;
	background-image:none !important;
	color:var(--cv-offwhite) !important;
	border-color:var(--cv-charcoal) !important;
}
