/* ================================
   SLS GLOBAL STYLES (CLEAN)
   Used by SLS HTML templates + Elementor sections
   Scope your SLS pages by adding class "sls-page" to the BODY or the top-level page wrapper.
   ================================ */

/* --------------------------------
   Color Palette
---------------------------------- */
:root{
  --sls-brown-900:#28160D;
  --sls-brown-700:#4A3225;
  --sls-tan-500:#AE907F;
  --sls-blush-300:#E2BDB4;
  --sls-cream-100:#EEE2D8;
  --sls-white:#FFFFFF;
}

/* --------------------------------
   Hide Theme Page Title (SLS pages only)
---------------------------------- */
.sls-page h1.entry-title,
.sls-page .entry-title,
.sls-page .page-title,
.sls-page .elementor-page-title,
.sls-page header .page-title,
.sls-page header .entry-title{
  display:none !important;
}

/* Reduce extra theme spacing (SLS pages only) */
.sls-page .site-main,
.sls-page #content,
.sls-page .content-area,
.sls-page .site-content{
  padding-top:0 !important;
  margin-top:0 !important;
}

/* --------------------------------
   SAFER: Hide theme “intro” wrappers ONLY on SLS pages
   (prevents breaking non-SLS pages)
---------------------------------- */
.sls-page .entry-header,
.sls-page header.entry-header,
.sls-page .entry-summary,
.sls-page .post-excerpt{
  display:none !important;
}

/* If Elementor is used, hide non-Elementor content above it (SLS pages only)
   Keep rankmath-bridge visible (off-screen) so Rank Math can read it. */
.sls-page .entry-content > *:not(.elementor):not(.rankmath-bridge){
  display:none !important;
}

/* --------------------------------
   Layout Wrapper
---------------------------------- */
.sls-home{
  max-width:1100px;
  margin:0 auto;
  padding:0 12px;
  color:var(--sls-brown-900);
}

.sls-hr{
  border:0;
  border-top:1px solid rgba(40,22,13,.25);
  margin:36px 0;
}

/* --------------------------------
   HERO
---------------------------------- */
.sls-hero{ padding:0; margin:0; }

.sls-hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:center;
}

@media (max-width:900px){
  .sls-hero-grid{ grid-template-columns:1fr; }
  .sls-hero-media{ max-width:420px; margin:0 auto; }
}

.sls-kicker{
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:13px;
  margin:0 0 10px;
  color:var(--sls-brown-700);
  opacity:.9;
}

.sls-mini{
  font-size:14px;
  opacity:.92;
  margin-top:14px;
  color:var(--sls-brown-700);
}

/* --------------------------------
   Badges
---------------------------------- */
.sls-badges{
  list-style:none;
  padding:0;
  margin:14px 0 18px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.sls-badges li{
  border:1px solid rgba(40,22,13,.18);
  background:var(--sls-cream-100);
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
}

/* --------------------------------
   Buttons
---------------------------------- */
.sls-cta-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}

.sls-btn{
  display:inline-block;
  padding:12px 16px;
  border-radius:12px;
  text-decoration:none;
  font-weight:700;
  line-height:1;
  transition:transform .08s ease, opacity .12s ease;
}

.sls-btn:hover{
  transform:translateY(-1px);
  opacity:.96;
}

.sls-btn:focus-visible{
  outline:3px solid rgba(226,189,180,.6);
  outline-offset:3px;
}

.sls-btn-primary{
  background:var(--sls-brown-900);
  color:var(--sls-cream-100);
  border:1px solid rgba(40,22,13,.25);
}

.sls-btn-secondary{
  background:transparent;
  color:var(--sls-brown-900);
  border:1px solid rgba(40,22,13,.25);
}

/* --------------------------------
   Headshot
---------------------------------- */
.sls-hero-media{ text-align:center; }

.sls-headshot{
  margin:0;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(40,22,13,.15);
  background:var(--sls-cream-100);
  box-shadow:0 10px 24px rgba(40,22,13,.08);
}

.sls-headshot img{
  width:100%;
  height:auto;
  display:block;
}

.sls-cred{ margin-top:12px; }

.sls-name{ font-weight:800; margin:0; }

.sls-title{
  margin:4px 0 0;
  font-size:14px;
  color:var(--sls-brown-700);
}

/* --------------------------------
   Sections
---------------------------------- */
.sls-section{ padding-top:48px; }

.sls-section h2{
  margin-bottom:10px;
  color:var(--sls-brown-900);
}

/* --------------------------------
   Cards
---------------------------------- */
.sls-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:14px;
}

@media (max-width:900px){
  .sls-cards{ grid-template-columns:1fr; }
}

.sls-card{
  border:1px solid rgba(40,22,13,.14);
  border-radius:18px;
  padding:16px;
  background:var(--sls-white);
  box-shadow:0 8px 18px rgba(40,22,13,.06);
  position:relative;
}

.sls-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background:var(--sls-blush-300);
  border-radius:18px 0 0 18px;
}

.sls-card h3{ margin-top:0; }

.sls-card a{
  color:var(--sls-brown-900);
  text-decoration:underline;
}

/* --------------------------------
   Centered Sections
---------------------------------- */
.sls-center{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}

.sls-center .sls-cta-row{ justify-content:center; }

/* --------------------------------
   Lists
---------------------------------- */
.sls-list{
  list-style:none;
  padding:0;
  margin:14px auto 0;
  max-width:760px;
  text-align:left;
}

.sls-list li{
  position:relative;
  padding-left:28px;
  margin:10px 0;
}

.sls-list li::before{
  content:"";
  position:absolute;
  left:8px;
  top:0.78em;
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--sls-blush-300);
}

/* --------------------------------
   CTA Box
---------------------------------- */
.sls-cta{
  border:1px solid rgba(40,22,13,.16);
  border-radius:20px;
  padding:18px;
  background:linear-gradient(180deg,var(--sls-cream-100),var(--sls-white));
}

/* --------------------------------
   Resource Links
---------------------------------- */
.sls-links{
  list-style:none;
  padding:0;
  margin-top:12px;
}

.sls-links li{ margin:8px 0; }

/* ================================
   SLS TOP INTRO (Elementor widgets)
   Keep headings/paragraphs consistent with SLS styling
   ================================ */
.sls-page .sls-top{
  margin-top:0;
  padding-top:8px;
}

.sls-page .sls-top .elementor-heading-title{
  color:var(--sls-brown-900) !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

.sls-page .sls-top h1.elementor-heading-title{
  font-size:clamp(34px, 4vw, 48px) !important;
  line-height:1.1 !important;
  margin:0 0 12px !important;
}

.sls-page .sls-top h2.elementor-heading-title{
  font-size:28px !important;
  line-height:1.2 !important;
  margin:28px 0 10px !important;
}

.sls-page .sls-top p,
.sls-page .sls-intro p{
  color:var(--sls-brown-700) !important;
  opacity:.95;
  font-size:16px;
  line-height:1.65;
  margin:0 0 12px;
}

/* Link styling for top/intro */
.sls-page .sls-top a,
.sls-page .sls-intro a{
  color:var(--sls-brown-900);
  text-decoration:underline;
  text-decoration-color:rgba(40,22,13,.35);
}

.sls-page .sls-top a:hover,
.sls-page .sls-intro a:hover{
  text-decoration-color:rgba(40,22,13,.75);
}

/* Intro typography */
.sls-page .sls-intro h1{
  margin:0 0 12px;
  font-size:clamp(34px, 4vw, 48px);
  line-height:1.1;
  font-weight:800;
  color:var(--sls-brown-900);
}

/* Hero title (H2) styled like original hero H1 */
.sls-page .sls-hero h2,
.sls-page .sls-hero-title{
  font-size:clamp(34px, 4vw, 48px);
  line-height:1.1;
  font-weight:800;
  margin:0 0 12px;
  color:var(--sls-brown-900);
}

/* --------------------------------
   Rank Math bridge:
   visible to Rank Math + screen readers, hidden visually (DO NOT display:none)
---------------------------------- */
.rankmath-bridge{
  position:absolute !important;
  left:-9999px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

/* --------------------------------
   Fix: Hide stray .sls-mini that appears outside your template container
   (keeps .sls-mini inside .sls-home)
---------------------------------- */
.sls-page .entry-content .sls-mini{
  display:none !important;
}
.sls-page .entry-content .sls-home .sls-mini{
  display:block !important;
}

/* --------------------------------
   Hide Rank Math FRONTEND analyzer/overlay for logged-in users
   (Do NOT hide rankmath-bridge here)
---------------------------------- */
body.logged-in .rank-math-frontend,
body.logged-in #rank-math-frontend,
body.logged-in .rank-math-frontend-score,
body.logged-in .rank-math-frontend-score-wrap,
body.logged-in .rank-math-frontend-analysis,
body.logged-in .rank-math-frontend-bar,
body.logged-in .rank-math-frontend-header,
body.logged-in .rank-math-frontend-content,
body.logged-in .rank-math-frontend-wrap,
body.logged-in .rank-math-frontend-widget,
body.logged-in .rank-math-frontend-panel,
body.logged-in .rank-math-frontend-seo-score,
body.logged-in .rank-math-seo-score{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
