/*
 Theme Name:   Soul and Light – Mystic Depth (GeneratePress Child) v2
 Theme URI:    https://soulandlight.com
 Description:  Self-contained child theme for GeneratePress with Mystic Depth styling (no external CSS files required).
 Author:       ChatGPT
 Template:     generatepress
 Version:      1.1.0
*/

:root{--sl-navy:#0A1A2F;--sl-charcoal:#1B1B26;--sl-ink:#0F1830;--sl-cream:#F3EDE2;--sl-muted:#A9A1C9;--sl-gold:#D7B56D;--sl-gold-weak:rgba(215,181,109,.25);}
body{background:var(--sl-navy);color:var(--sl-cream);font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.65;}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;color:var(--sl-cream);line-height:1.2;}
h1{font-size:clamp(2.25rem,3.5vw,3.75rem);}h2{font-size:clamp(1.75rem,2.6vw,2.5rem);}
p{color:var(--sl-cream);opacity:.92;}a{color:var(--sl-cream);text-decoration:none;}a:hover{color:var(--sl-gold);}
.wp-block-button__link,.button,.button:visited,input[type="submit"],a.sl-button{background:var(--sl-gold);color:var(--sl-navy)!important;border:1px solid var(--sl-gold);padding:.75rem 1.1rem;border-radius:999px;font-weight:600;transition:transform .12s ease,box-shadow .12s ease,background .2s ease;}
.wp-block-button__link:hover,.button:hover,input[type="submit"]:hover,a.sl-button:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(215,181,109,.25);}
.sl-button--outline .wp-block-button__link,.wp-block-button.is-style-outline .wp-block-button__link{background:transparent!important;color:var(--sl-gold)!important;border:1px solid var(--sl-gold);}
.sl-button--outline .wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link:hover{background:rgba(215,181,109,.08)!important;}
.site-header{background:var(--sl-navy);border-bottom:1px solid var(--sl-gold-weak);transition:background .25s ease,border-color .25s ease;}
.home .site-header{background:transparent;border-bottom-color:transparent;position:absolute;width:100%;z-index:50;}
.inside-header{padding-top:.75rem;padding-bottom:.75rem;}
.site-logo img{max-height:44px;}
.main-navigation .main-nav ul li a{color:var(--sl-cream);} .main-navigation .main-nav ul li:hover>a{color:var(--sl-gold);}
.is_stuck .site-logo img{max-height:36px;} .is_stuck .inside-header{padding-top:.35rem;padding-bottom:.35rem;}
.sl-cta-menu a{margin-left:.75rem;}
.sl-hero{min-height:88vh;display:grid;align-items:center;position:relative;padding:9rem 0 7rem;background:radial-gradient(1200px 600px at 70% 0%,rgba(15,24,48,.6),transparent 60%),linear-gradient(180deg,rgba(10,26,47,0) 0%,rgba(10,26,47,.75) 85%),var(--sl-navy);overflow:hidden;}
.sl-hero.sl-sky::after{content:"";position:absolute;inset:0;background-image:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.35) 50%,transparent 51%),radial-gradient(2px 2px at 70% 60%,rgba(255,255,255,.22) 50%,transparent 51%);opacity:.35;pointer-events:none;}
.sl-sub{color:var(--sl-muted);max-width:52ch;margin-top:.75rem;}
.sl-actions{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap;}
.sl-section{padding:80px 0;}@media (max-width:768px){.sl-section{padding:58px 0;}}
.sl-card{background:var(--sl-charcoal);border:1px solid var(--sl-gold-weak);border-radius:18px;padding:28px;box-shadow:0 10px 24px rgba(0,0,0,.25);}
.sl-card h3{margin-top:.25rem;font-size:24px;line-height:1.25;white-space:normal;word-break:normal;hyphens:auto;}
.sl-card p{color:var(--sl-muted);} .sl-card .sl-card-actions{margin-top:1rem;}
.sl-quote{text-align:center;background:linear-gradient(180deg,var(--sl-navy),var(--sl-ink));padding:90px 20px;font-family:'Playfair Display',Georgia,serif;font-style:italic;border-top:1px solid var(--sl-gold-weak);border-bottom:1px solid var(--sl-gold-weak);}
.site-footer{background:var(--sl-navy);color:var(--sl-cream);border-top:1px solid var(--sl-gold-weak);} .site-footer a{color:var(--sl-cream);} .site-footer a:hover{color:var(--sl-gold);}
.sl-glow-gold{background:linear-gradient(180deg,#E8D6A2 0%,var(--sl-gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.container-narrow{max-width:1100px;margin-inline:auto;padding:0 20px;}
/* ===== PATCH: header + background + page title ===== */

/* Make the whole site dark and kill white containers */
html, body { background: var(--sl-navy); }
.site, .site-content, .content-area,
.separate-containers .inside-article,
.separate-containers .site-main,
.separate-containers .page-hero,
.entry-content { background: transparent !important; }

/* Transparent header (and the nav wrapper) on Home */
.home .site-header,
.home .main-navigation,
.home .navigation-branding { background: transparent !important; border-color: transparent !important; }

/* Menu link colors (active + hover) */
.main-navigation .main-nav ul li a { color: var(--sl-cream); }
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li[class*="current"] > a { color: var(--sl-gold); }

/* Hide the big page title on the homepage */
.home .entry-title { display: none; }

/* Make the hero feel full-bleed and remove extra gaps */
.sl-hero { margin: 0; }
.separate-containers .inside-article { padding: 0; box-shadow: none; }

/* Tidy the menu CTA bubble size */
.sl-cta-menu a { padding: 10px 16px !important; border-radius: 999px; font-weight: 600; }

/* Ensure paragraphs/headings in light sections don't turn pale */
.entry-content p, .entry-content h1, .entry-content h2, .entry-content h3 { color: var(--sl-cream); }

/* Mobile nav basics */
.menu-toggle, .menu-toggle:hover { color: var(--sl-cream); }

/* ===== NAV VISIBILITY PATCH ===== */

/* Site title / logo text */
.site-branding a,
.main-title a {
  color: var(--sl-cream) !important;
}

/* Primary menu links (normal, hover, current) */
.main-navigation .main-nav ul li > a {
  color: var(--sl-cream) !important;
  opacity: 0.95;
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus > a,
.main-navigation .main-nav ul li[class*="current"] > a {
  color: var(--sl-gold) !important;
  opacity: 1;
}

/* Make sure the nav in sticky state also uses light colors */
.is_stuck .main-navigation .main-nav ul li > a {
  color: var(--sl-cream) !important;
}
.is_stuck .main-navigation .main-nav ul li:hover > a,
.is_stuck .main-navigation .main-nav ul li[class*="current"] > a {
  color: var(--sl-gold) !important;
}

/* Mobile menu toggle + off-canvas */
.menu-toggle,
.menu-toggle:hover,
.menu-toggle:focus {
  color: var(--sl-cream) !important;
}
.slideout-navigation.do-overlay .inside-navigation,
.offside--left.is-open .inside-navigation,
.offside--right.is-open .inside-navigation {
  background: var(--sl-navy) !important;
}
.slideout-navigation .main-nav ul li > a {
  color: var(--sl-cream) !important;
}
.slideout-navigation .main-nav ul li:hover > a,
.slideout-navigation .main-nav ul li[class*="current"] > a {
  color: var(--sl-gold) !important;
}

/* Optional: slight glow so link*
/* Optional: slightly lighter testimonial cards */
.sl-card {
  background: #232338; /* was #1B1B26 */
  box-shadow: 0 10px 24px rgba(0,0,0,.35);
}
/* Solid header on inner pages; transparent only on home */
body:not(.home) .site-header { 
  position: relative; 
  background: var(--sl-navy) !important; 
  border-bottom: 1px solid var(--sl-gold-weak);
}

/* Make the header slightly darker while scrolling on home (readability) */
.home .site-header {
  backdrop-filter: saturate(120%) blur(2px);
  background: linear-gradient(180deg, rgba(10,26,47,.85), rgba(10,26,47,.70)) !important;
}

/* Section top/bottom separators (subtle) */
.sl-section { position: relative; }
.sl-section::before {
  content:""; position:absolute; left:0; right:0; top:-1px; height:1px;
  background: var(--sl-gold-weak);
  opacity:.25;
}
.sl-section:first-of-type::before{ display:none; }

/* Buttons: slightly brighter on hover */
.wp-block-button__link:hover { filter: brightness(1.04); }
/* Make the hero image a touch darker for text contrast */
.sl-hero { background-blend-mode: overlay; }

/* Extra breathing room under section headings */
.sl-section > .wp-block-heading { margin-bottom: 18px; }
/* === Hero background (set via CSS, not the editor) === */
.home .sl-hero {
  /* your uploaded image */
  background-image: url('https://soulandlight.com/wp-content/uploads/2025/11/soul-and-light-hero-1.png');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;

  /* spacing + height (matches your design) */
  min-height: 88vh;
  padding-top: 9rem;
  padding-bottom: 7rem;

  /* ensure the text is readable */
  color: #F3EDE2;
}



/* Make sure the hero container can show the pseudo-element overlay */
.home .sl-hero { position: relative; overflow: hidden; }

/* Responsive tweaks */
@media (max-width: 1024px){
  .home .sl-hero { min-height: 78vh; padding-top: 7rem; padding-bottom: 5rem; }
}
@media (max-width: 640px){
  .home .sl-hero { min-height: 70vh; padding-top: 6rem; padding-bottom: 4rem; }
}

/* ------------------------------
   BUTTONS (gold theme)
--------------------------------*/
.wp-block-button .wp-block-button__link{
  background:#D7B56D; color:#1b1b26; border:1px solid #D7B56D;
  box-shadow:0 10px 18px rgba(215,181,109,.18);
}
.wp-block-button .wp-block-button__link:hover{
  filter:brightness(1.05);
}
.sl-button--outline .wp-block-button__link{
  background:transparent; color:#F3EDE2; border:1px solid #D7B56D;
  box-shadow:0 10px 18px rgba(215,181,109,.10);
}
.sl-button--outline .wp-block-button__link:hover{
  background:rgba(215,181,109,.10);
}

/* ------------------------------
   MEET BHAVINI (tight spacing)
--------------------------------*/
.sl-meet.sl-section { padding-top:42px; padding-bottom:42px; }
.sl-meet .wp-block-columns{ gap:32px; }
@media (max-width:1024px){
  .sl-meet .wp-block-columns{ display:block; }
}

/* ------------------------------
   SERVICES cards + centered icons
--------------------------------*/
.sl-card{
  background:#1B1B26; border:1px solid rgba(215,181,109,.22);
  border-radius:22px; padding:26px; box-shadow:0 14px 30px rgba(0,0,0,.28);
}
.sl-card .sl-icon{ display:block; margin:4px auto 18px; width:72px; height:72px; }

/* ------------------------------
   QUOTE spacing
--------------------------------*/
.sl-quote{ padding:40px 0 36px; }
.sl-quote p{ margin:0; font-size:1.15rem; color:#EAE5D6; opacity:.9; }

/* ------------------------------
   BLOG grid with images (card look)
--------------------------------*/
.sl-blog{ padding-top:28px; padding-bottom:14px; }
.sl-blog .wp-block-post{
  background:#1B1B26; border:1px solid rgba(215,181,109,.25);
  border-radius:18px; padding:18px; box-shadow:0 10px 24px rgba(0,0,0,.25);
  transition:transform .15s ease, box-shadow .15s ease;
}
.sl-blog .wp-block-post:hover{ transform:translateY(-2px); box-shadow:0 14px 28px rgba(0,0,0,.32); }
.sl-blog .wp-block-post-featured-image img{
  width:100%; height:280px; object-fit:cover; border-radius:14px;
}
@media (max-width:1024px){ .sl-blog .wp-block-post-featured-image img{ height:240px; } }
@media (max-width:782px){ .sl-blog .wp-block-post-featured-image img{ height:210px; } }

/* ------------------------------
   Trim extra gap before final CTA
--------------------------------*/
.sl-section:last-of-type{ margin-bottom:0; padding-bottom:48px; }
