/*
Theme Name: Consider This Lab
Theme URI: https://considerthislab.com
Author: Michael
Description: Full Site Editing block theme for Consider This Lab.
Version: 2.0
Requires at least: 6.3
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: considerthislab
*/

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

/* ── STARFIELD ── */
#stars { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.star { position: absolute; border-radius: 50%; background: #fff; animation: twinkle var(--dur,4s) ease-in-out infinite var(--delay,0s); }
@keyframes twinkle { 0%,100%{ opacity:var(--min-op,.1); transform:scale(1); } 50%{ opacity:var(--max-op,.7); transform:scale(1.3); } }

/* ── BODY ── */
body { background: #0b0c10; color: #e8e4dc; font-family:'Karla',sans-serif; font-weight:300; line-height:1.8; overflow-x:hidden; position:relative; z-index:1; }

/* ── HEADER ── */
.site-header { position:fixed; top:0; width:100%; z-index:100; padding:1.2rem 2.5rem; display:flex; justify-content:space-between; align-items:center; background:rgba(11,12,16,0.88); backdrop-filter:blur(12px); border-bottom:1px solid #1e2230; }
.site-header .wp-block-site-title a { font-family:'Playfair Display',serif; font-size:1.25rem; color:#c8a96e; text-decoration:none; letter-spacing:0.04em; }
.site-header .wp-block-navigation { gap:2rem; }
.site-header .wp-block-navigation a { color:#8a8a9a; text-decoration:none; font-size:0.8rem; letter-spacing:0.14em; text-transform:uppercase; transition:color .3s; }
.site-header .wp-block-navigation a:hover { color:#c8a96e; }
.site-header .wp-block-navigation .current-menu-item a { color:#c8a96e; }

/* ── PAGE OFFSET ── */
.wp-site-blocks { padding-top:80px; }

/* ── HERO ── */
.hero-section { min-height:100vh; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:6rem 2rem 4rem; position:relative; }
.hero-section::before { content:''; position:absolute; top:30%; left:50%; transform:translate(-50%,-50%); width:600px; height:600px; background:radial-gradient(circle,rgba(200,169,110,0.07) 0%,transparent 70%); pointer-events:none; }
.hero-eyebrow { font-size:0.75rem; letter-spacing:0.25em; text-transform:uppercase; color:#c8a96e; margin-bottom:1.5rem; }
.hero-section h1 { font-family:'Playfair Display',serif !important; font-size:clamp(3rem,8vw,6.5rem) !important; font-weight:700; line-height:1.05; color:#ffffff !important; text-shadow:0 2px 20px rgba(0,0,0,0.8); max-width:900px; }
.hero-section h1 em { color:#c8a96e; font-style:italic; text-shadow:none; }
.hero-sub { color:#8a8a9a !important; max-width:560px; font-size:1.1rem !important; margin:1.5rem 0; }
.hero-saying { border:1px solid #1e2230; border-left:3px solid #c8a96e; padding:1rem 1.8rem; font-family:'Playfair Display',serif; font-style:italic; color:#e8e4dc !important; background:#13161f; max-width:560px; margin:0.5rem 0 2rem; }
.hero-saying p { color:#e8e4dc !important; margin:0; }
.hero-cta { display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; }

/* ── BUTTONS ── */
.wp-block-button__link { font-family:'Karla',sans-serif !important; font-size:0.85rem !important; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; border-radius:2px !important; transition:all .3s; }
.btn-gold .wp-block-button__link { background:#c8a96e !important; color:#0b0c10 !important; border:1px solid #c8a96e !important; }
.btn-gold .wp-block-button__link:hover { background:transparent !important; color:#c8a96e !important; }
.btn-ghost .wp-block-button__link { background:transparent !important; color:#8a8a9a !important; border:1px solid #1e2230 !important; }
.btn-ghost .wp-block-button__link:hover { border-color:#7b9e87 !important; color:#7b9e87 !important; }

/* ── DIVIDER ── */
.ctl-divider { display:flex; align-items:center; gap:1rem; max-width:900px; margin:0 auto; padding:0 2rem; }
.ctl-divider hr { flex:1; border:none; border-top:1px solid #1e2230; }
.ctl-divider-dot { width:6px; height:6px; border-radius:50%; background:#c8a96e; flex-shrink:0; }

/* ── SECTIONS ── */
.section-label { font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase; color:#c8a96e; margin-bottom:0.75rem !important; display:block; }
.section-title { font-family:'Playfair Display',serif !important; font-size:clamp(2rem,4vw,3rem) !important; line-height:1.15 !important; }
.section-inner { max-width:1100px; margin:0 auto; padding:5rem 2rem; }
.section-bg-alt { background:#0f1117; border-top:1px solid #1e2230; border-bottom:1px solid #1e2230; }

/* ── ABOUT ── */
.about-columns .wp-block-column:first-child p { color:#8a8a9a; font-size:1.02rem; }
.about-columns .wp-block-column:first-child strong { color:#e8e4dc; font-weight:500; }
.about-saying-block { border-left:3px solid #c8a96e !important; background:#13161f !important; padding:0.75rem 1.5rem !important; }
.about-saying-block p { font-family:'Playfair Display',serif; font-style:italic; color:#e8e4dc !important; margin:0; }
.about-michael-card { background:#13161f !important; border:1px solid #1e2230 !important; padding:2.5rem !important; position:relative; overflow:hidden; }
.about-michael-card::before { content:''; position:absolute; top:0;left:0;right:0; height:2px; background:linear-gradient(90deg,#c8a96e,#7b9e87); }
.about-michael-card h3 { font-family:'Playfair Display',serif; color:#e8e4dc; margin-bottom:1rem; }
.about-michael-card p { color:#8a8a9a; font-size:0.95rem; margin-bottom:0.9rem; }
.explore-label { font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase; color:#7b9e87; margin:1.5rem 0 0.75rem; display:block; }
.explore-list { list-style:none; padding:0; }
.explore-list li { color:#8a8a9a; font-size:0.9rem; padding:0.3rem 0 0.3rem 1.5rem; position:relative; }
.explore-list li::before { content:'\2192'; color:#c8a96e; position:absolute; left:0; }

/* ── TOPIC CARDS ── */
.topic-card { background:#13161f !important; border:1px solid #1e2230 !important; padding:2rem !important; transition:border-color .3s, transform .3s; }
.topic-card:hover { border-color:#c8a96e !important; transform:translateY(-4px); }
.topic-icon { font-size:1.8rem; margin-bottom:1rem; display:block; }
.topic-card h3 { font-family:'Playfair Display',serif; color:#e8e4dc; margin-bottom:0.5rem; font-size:1.1rem; }
.topic-card p { color:#8a8a9a; font-size:0.88rem; line-height:1.6; }

/* ── BLOG CARDS ── */
.blog-card { background:#13161f !important; border:1px solid #1e2230 !important; padding:2rem !important; text-decoration:none !important; transition:border-color .3s; display:block; }
.blog-card:hover { border-color:#c8a96e !important; }
.wp-block-post-template { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; list-style:none; padding:0; margin-top:3rem; }
.wp-block-post-template li { display:contents; }
.wp-block-post-title a { font-family:'Playfair Display',serif; color:#e8e4dc; text-decoration:none; font-size:1.25rem; line-height:1.3; display:block; margin-bottom:0.75rem; }
.wp-block-post-excerpt__excerpt { color:#8a8a9a; font-size:0.9rem; line-height:1.6; }
.wp-block-post-terms a { font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; color:#7b9e87; text-decoration:none; display:block; margin-bottom:0.75rem; }
.wp-block-read-more { color:#c8a96e; font-size:0.8rem; letter-spacing:0.1em; text-transform:uppercase; text-decoration:none; }

/* ── SUBSCRIBE ── */
.subscribe-card { background:#13161f !important; border:1px solid #1e2230 !important; padding:4rem !important; text-align:center; position:relative; overflow:hidden; }
.subscribe-card::before { content:''; position:absolute; top:0;left:0;right:0; height:2px; background:linear-gradient(90deg,transparent,#c8a96e,transparent); }
.subscribe-card h2 { font-family:'Playfair Display',serif; font-size:2rem; margin-bottom:0.75rem; color:#e8e4dc; }
.subscribe-card p { color:#8a8a9a; margin-bottom:2rem; }
.subscribe-card .wp-block-buttons { justify-content:center; }

/* ── FOOTER ── */
.site-footer { border-top:1px solid #1e2230; padding:3rem 2.5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; background:#0b0c10; }
.site-footer .wp-block-site-title a { font-family:'Playfair Display',serif; color:#c8a96e; text-decoration:none; }
.footer-saying { font-family:'Playfair Display',serif; font-style:italic; font-size:0.85rem; color:#8a8a9a; text-align:center; }
.footer-saying p { margin:0; }
.footer-copy { font-size:0.78rem; color:#8a8a9a; }
.footer-copy p { margin:0; }

/* ── POST CONTENT ── */
.post-hero { padding:7rem 2rem 4rem; text-align:center; border-bottom:1px solid #1e2230; }
.post-hero .wp-block-post-title { font-family:'Playfair Display',serif !important; font-size:clamp(2rem,5vw,3.5rem) !important; color:#ffffff !important; text-shadow:0 2px 20px rgba(0,0,0,0.8); max-width:800px; margin:0.5rem auto; }
.post-meta-bar { color:#8a8a9a; font-size:0.85rem; display:flex; justify-content:center; gap:1.5rem; flex-wrap:wrap; margin-top:1rem; }
.entry-content { max-width:740px; margin:0 auto; padding:4rem 2rem; }
.entry-content h2,.entry-content h3 { font-family:'Playfair Display',serif; color:#e8e4dc; margin:2rem 0 1rem; }
.entry-content p { color:#8a8a9a; font-size:1.05rem; line-height:1.9; margin-bottom:1.25rem; }
.entry-content a { color:#c8a96e; border-bottom:1px solid #1e2230; text-decoration:none; }
.entry-content blockquote { border-left:3px solid #c8a96e; padding:0.75rem 1.5rem; background:#13161f; font-family:'Playfair Display',serif; font-style:italic; margin:2rem 0; }
.entry-content img { max-width:100%; border:1px solid #1e2230; }
.entry-content ul,.entry-content ol { color:#8a8a9a; padding-left:1.5rem; margin-bottom:1.25rem; }

/* ── SCROLL REVEAL ── */
.fade-in { opacity:0; transform:translateY(20px); transition:opacity .7s ease,transform .7s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }

/* ── RESPONSIVE ── */
@media(max-width:900px){ .topics-grid .wp-block-columns { flex-wrap:wrap; } }
@media(max-width:768px){
  .site-header { padding:1rem 1.5rem; }
  .site-header .wp-block-navigation { display:none; }
  .about-columns { flex-direction:column !important; }
  .wp-block-post-template { grid-template-columns:1fr; }
  .site-footer { flex-direction:column; text-align:center; }
}

/* ── ABOUT ME PAGE ── */
.about-michael-card .wp-block-separator { border-color: #1e2230 !important; margin: 1.5rem 0; }
.about-michael-card h3 { margin-top: 1.5rem; }
.about-michael-card h3:first-child { margin-top: 0; }

/* ── QUICK LINK CARDS ON HOMEPAGE ── */
.topic-card .wp-block-buttons { margin-top: 1.5rem; }
.topic-card .wp-block-buttons .btn-ghost .wp-block-button__link { font-size: 0.78rem !important; padding: 0.6rem 1.4rem; }

/* ── PAGE HERO FOR INNER PAGES ── */
.post-hero { padding: 7rem 2rem 4rem; text-align: center; border-bottom: 1px solid #1e2230; background: transparent; }
.post-hero h1 { font-family: 'Playfair Display', serif !important; font-size: clamp(2.5rem,6vw,4.5rem) !important; color: #ffffff !important; text-shadow: 0 2px 20px rgba(0,0,0,0.8); margin: 0.5rem auto; }
.post-hero .wp-block-post-title { font-family: 'Playfair Display', serif !important; font-size: clamp(2rem,5vw,3.5rem) !important; color: #ffffff !important; text-shadow: 0 2px 20px rgba(0,0,0,0.8); }

/* ── ABOUT BLOG INTRO TEXT ── */
.about-intro p { color: #8a8a9a; font-size: 1.05rem; line-height: 1.9; margin-bottom: 1.25rem; }
.about-intro strong { color: #e8e4dc; font-weight: 500; }
