/* =========================================================
   THEME TOKENS
   ========================================================= */
:root{
  --navy: #1c2a44;
  --gold: #d4af37;
  --hover-blue: #9bb4d6;
  --text-dark: #0f1520;
  --center-width: 1028px;     /* content width */
  --center-pad: 20px;         /* side padding for rows */
  --brand-shift-desktop: -40px;  /* adjust title/logo left shift */
}

/* =========================================================
   GLOBAL BACKGROUND + SOFT VEIL
   ========================================================= */
html, body { min-height: 100%; }

html{
  background: url("https://landeslawcorp.com/wp-content/uploads/2025/11/Img_adobe_columns2.jpeg?v=3")
              center center / cover no-repeat fixed !important;
  position: relative;
  z-index: 0;
  filter: brightness(1.08) contrast(1.05) saturate(1.1);
  scroll-behavior: smooth;
}


/* light veil across page */
html::before{
  content:"";
  position: fixed;
  inset: 0;
  background: rgba(235,235,235,.30);
  z-index: -2;
}

/* expose background everywhere */
body, .site, .site-main, .site-content, .content-area,
.entry-content-wrap, .entry-content, .wp-site-blocks, .wrap,
.container, .wp-block-group, .content-bg, .content-bg::before, .content-bg::after{
  background: transparent !important;
  box-shadow: none !important;
}

/* =========================================================
   CENTER STRIP
   ========================================================= */
.site-main{ position: relative; margin-bottom: 0 !important; }
.site-main::before{
  content:"";
  position: fixed;
  top:0; left:50%;
  transform: translateX(-50%);
  width: calc(var(--center-width) + (var(--center-pad) * 2) + 20px);
  height:100%;
  background: rgba(255,255,255,.70);
  backdrop-filter: blur(2px);
  z-index:-1; pointer-events:none;
}

/* Cap content width & center */
.entry-content > .wp-block-kadence-rowlayout,
.entry-content > .wp-block-kadence-rowlayout .kt-row-layout-inner,
.entry-content > .wp-block-kadence-rowlayout .kt-row-column-wrap{
  max-width: var(--center-width);
  margin-left:auto; margin-right:auto;
  background: transparent !important;
}
.entry-content > .wp-block-kadence-rowlayout{
  margin: 2rem auto;
  padding-left: var(--center-pad);
  padding-right: var(--center-pad);
}
@media (max-width:1140px){
  .entry-content > .wp-block-kadence-rowlayout{
    padding-left: 1rem; padding-right: 1rem;
  }
}
.entry-content .wp-block-kadence-rowlayout .kt-row-column-wrap{
  background: transparent !important; border:0 !important;
}

/* =========================================================
   HERO (first row)
   ========================================================= */
.entry-content > .wp-block-kadence-rowlayout:first-child{
  position:relative;
  color: var(--text-dark);
  padding: 2.5rem 0;
  background: transparent !important;
}
.entry-content > .wp-block-kadence-rowlayout:first-child::before{
  content:""; position:absolute; inset:0; left:50%;
  width:100vw; transform:translateX(-50%);
  background: rgba(248,248,248,.72); z-index:-1;
}

/* grid / equal heights */
.entry-content > .wp-block-kadence-rowlayout:first-child .kt-row-layout-inner{
  display:grid;
  grid-template-columns: minmax(240px, 360px) 1fr;
  align-items:stretch; gap:2rem;
}
.entry-content > .wp-block-kadence-rowlayout:first-child .kt-row-layout-inner > div:last-child{
  display:flex; flex-direction:column; justify-content:space-between;
}
.entry-content > .wp-block-kadence-rowlayout:first-child .kt-row-layout-inner > div:first-child{
  display:flex; align-items:stretch; overflow:visible !important;
}

/* portrait styling */
.entry-content > .wp-block-kadence-rowlayout:first-child .kt-row-layout-inner > div:first-child img,
.entry-content > .wp-block-kadence-rowlayout:first-child .kt-row-layout-inner > div:first-child figure.wp-block-image img,
.hero-portrait img, .ezra-photo img{
  height:100% !important; width:auto !important; object-fit:contain !important;
  max-height:none !important; border-radius:12px !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.25), 0 0 0 1px rgba(255,255,255,.40);
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.25)) !important;
  transition: box-shadow .25s ease, filter .25s ease;
}
.hero-portrait img:hover, .ezra-photo img:hover{
  box-shadow: 0 8px 20px rgba(0,0,0,.30), 0 0 0 1px rgba(255,255,255,.50);
  filter: drop-shadow(0 6px 16px rgba(0,0,0,.30)) !important;
}

/* hero text spacing */
.entry-content > .wp-block-kadence-rowlayout:first-child h1,
.entry-content > .wp-block-kadence-rowlayout:first-child h2{ margin:0 0 .75rem 0; }
.entry-content > .wp-block-kadence-rowlayout:first-child p{ margin:0 0 1.25rem 0; line-height:1.5; }
.entry-content > .wp-block-kadence-rowlayout:first-child a{ color:#1d2a50; }

/* mobile hero */
@media (max-width:900px){
  .entry-content > .wp-block-kadence-rowlayout:first-child .kt-row-layout-inner{
    grid-template-columns: 1fr; gap:1.25rem;
  }
  .entry-content > .wp-block-kadence-rowlayout:first-child .kt-row-layout-inner > div:last-child{
    min-height:unset; justify-content:flex-start;
  }
  .hero-portrait img, .ezra-photo img{
    height: clamp(220px, 28vh, 340px); margin:0 auto;
  }
}

/* =========================================================
   BUTTONS
   ========================================================= */
.wp-block-button__link, .kt-button, button.kt-button,
a.kt-button, .kb-button[class*="kb-button"], .wp-block-button .wp-block-button__link{
  font-size:.85rem !important; padding:.45rem 1rem !important; line-height:1.1 !important;
  border-radius:50px !important;
  background: rgba(52,84,138,.70) !important; color:#fff !important;
  border:1px solid rgba(255,255,255,.40) !important;
  box-shadow:0 3px 8px rgba(0,0,0,.25); transition:all .25s ease-in-out;
}
.wp-block-button__link:hover, .kt-button:hover, button.kt-button:hover,
a.kt-button:hover, .kb-button[class*="kb-button"]:hover{
  background: rgba(255,255,255,.95) !important; color:#0c254c !important;
  box-shadow:0 4px 10px rgba(0,0,0,.2); transform: translateY(-1px);
}
.btn-sm.wp-block-button__link, .btn-sm.kt-button, button.btn-sm.kt-button{
  font-size:.8rem !important; padding:.35rem .85rem !important;
}

/* =========================================================
   CORE AREAS CARDS (add class "core-areas" to that row)
   ========================================================= */
.core-areas .wp-block-kadence-column .kt-inside-inner-col{
  background: rgba(255,255,255,.86) !important;
  padding: 18px 22px !important; border-radius:12px !important;
  box-shadow:0 10px 24px rgba(0,0,0,.18) !important;
  border:1px solid rgba(12,37,76,.06) !important;
  backdrop-filter: blur(2px);
  transition: box-shadow .25s ease, transform .25s ease;
}
.core-areas .kt-row-layout-inner{ row-gap:18px !important; }
.core-areas .wp-block-kadence-column .kt-inside-inner-col:hover{
  box-shadow:0 14px 28px rgba(0,0,0,.22) !important; transform: translateY(-2px);
}

/* =========================================================
   ANCHOR OFFSET
   ========================================================= */
.wp-block-kadence-rowlayout[id], h1[id], h2[id], h3[id]{ scroll-margin-top: 90px; }
@media (max-width: 768px){
  .wp-block-kadence-rowlayout[id], h1[id], h2[id], h3[id]{ scroll-margin-top: 70px; }
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer, footer{
  background:#111 !important; color:#e0e0e0 !important;
}

/* === Footer Copyright Styling === */
.site-footer .footer-copyright {
  text-align: center;
  color: #CAA76D !important;     /* gold */
  font-size: 0.95rem;
  letter-spacing: 0.4px;
  text-transform: none;          /* keep lowercase */
}
.site-footer .footer-copyright a {
  color: #CAA76D !important;     /* gold link */
  text-decoration: none;
  font-weight: 500;
}
.site-footer .footer-copyright a:hover {
  color: #ffffff !important;     /* white on hover */
  text-decoration: underline;
}

/* Remove extra gap above the black footer */
.footer-container,
.footer-row,
footer.site-footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.site-footer .footer-inner,
.site-footer .site-middle-footer-inner{
  padding-top: 0 !important;
}

/* =========================================================
   HEADERS & TITLES
   ========================================================= */
/* Keep the header site title gold at all times */
.site-header .site-branding a,
.site-header .site-branding .site-title,
.site-header .site-branding .site-title a{
  color: #CAA76D !important;
}
.site-header .site-branding a:hover,
.site-header .site-branding .site-title:hover,
.site-header .site-branding .site-title a:hover{
  color: #CAA76D !important;
}

/* Tighten spacing around page titles */
.tight-heading {
  margin-top: -10px !important;
  margin-bottom: -10px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* /* =========================================================
   IMAGE: BLACK BORDER + SUBTLE GOLD GLOW
   ========================================================= */
.gold-border { overflow: hidden; }

.gold-border img,
.gold-border figure {
  border: 3px solid #000000 !important;      /* black border */
  border-radius: 100px !important;
  /* very soft glow */
  box-shadow:
    0 0 8px rgba(202,167,109,0.25),
    0 0 2px rgba(202,167,109,0.25);
  transition: box-shadow .25s ease-in-out;
}

.gold-border:hover img,
.gold-border:hover figure {
  /* still subtle on hover */
  box-shadow:
    0 0 12px rgba(202,167,109,0.35),
    0 0 4px rgba(202,167,109,0.30);
}

/* Kill bottom spacing before footer on all pages (helps Contact page) */
.entry-content { padding-bottom: 0 !important; }
.entry-content > *:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }

/* Common Kadence wrappers that add bottom gap */
.entry-content-wrap,
.content-area,
.site-content,
.site-main {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* If the last block is a Kadence form or columns, also zero its bottom margin */
.wp-block-kadence-advancedform,
.wp-block-kadence-form,
.wp-block-columns:last-child,
.wp-block-kadence-rowlayout:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Footer’s own inner padding just to be safe */
.site-footer .footer-inner,
.site-footer .site-middle-footer-inner {
  padding-top: 0 !important;
}
/* CONTACT PAGE: kill extra gap above footer */
.page-id-235 .site-main,
.page-id-235 .site-content,
.page-id-235 .content-area,
.page-id-235 .entry-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* All Kadence rows/sections on Contact page */
.page-id-235 .wp-block-kadence-rowlayout,
.page-id-235 .wp-block-kadence-rowlayout:last-child,
.page-id-235 .wp-block-kadence-section,
.page-id-235 .wp-block-kadence-section:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Kadence form wrapper - no bottom padding */
.page-id-235 .kb-adv-form-wrap,
.page-id-235 .wp-block-kadence-advanced-form,
.page-id-235 form.kb-adv-form {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* CONTACT PAGE: match footer spacing to Home/About */
.page-id-235 .entry-content,
.page-id-235 .entry-content > *:last-child,
.page-id-235 .wp-block-kadence-rowlayout:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Remove bottom padding Kadence form adds */
.page-id-235 .wp-block-kadence-form,
.page-id-235 .wp-block-kadence-advancedform {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* =========================
   KADENCE CONTACT FORM: AFTER SUBMIT
   ========================= */

/* Make the Kadence success message readable and centered */
.kb-form-message,
.kb-form-success,
.kb-adv-form-message,
.kb-adv-form-success {
  color: #111 !important;
  background: rgba(255,255,255,0.96) !important;
  border: 1px solid #ddd !important;
  border-radius: 10px !important;
  padding: 28px 34px !important;
  text-align: center !important;
  max-width: 720px !important;
  margin: 32px auto !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.10) !important;
}

/* Hide the Kadence form itself once the success message exists */
form:has(.kb-form-success),
form:has(.kb-adv-form-success) {
  display: none !important;
}
/* Footer background = header background */
.site-footer {
  background-color: #1e2a38 !important;
}

/* Footer text + links = header gold */
.site-footer,
.site-footer a {
  color: #d9b36c !important;
}

/* Softer, thinner gold glow underline on hover for Results H5 titles */
.results-row h5 {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.results-row h5::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 0%;
  height: 1px;  /* thinner line */
  background: #C8A86E;
  box-shadow:
    0 0 6px rgba(200,168,110,0.25),  /* softer glow */
    0 0 1px rgba(200,168,110,0.45);  /* slightly tighter glow */
  transition: width 0.25s ease-in-out;
}

.results-row h5:hover::after {
  width: 100%;
}
/* Soft thin gold-blur underline on hover for H3 + H4 + H5 within content sections */
.core-practice h3,
.core-practice h4,
.results-section h3,
.results-section h4,
.results-row h5 {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.core-practice h3::after,
.core-practice h4::after,
.results-section h3::after,
.results-section h4::after,
.results-row h5::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0%;
  height: 1px;  /* thin line */
  background: #C8A86E;
  box-shadow:
    0 0 6px rgba(200,168,110,0.25),
    0 0 1px rgba(200,168,110,0.45);
  transition: width 0.25s ease-in-out;
}

.core-practice h3:hover::after,
.core-practice h4:hover::after,
.results-section h3:hover::after,
.results-section h4:hover::after,
.results-row h5:hover::after {
  width: 100%;
}
/* =====================================
   ABOUT PAGE MOBILE/TABLET (page-id-235)
   Make Ezra image larger + visually centered
   ===================================== */
@media (max-width: 1024px) {

  /* Make the image bigger and fluid */
  .page-id-235 .hero-portrait img,
  .page-id-235 .ezra-photo img {
    width: 80% !important;     /* increase image size */
    max-width: 420px !important;
    height: auto !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important; /* visually center */
  }

  /* Also center the column containing the image */
  .page-id-235 .hero-portrait,
  .page-id-235 .ezra-photo,
  .page-id-235 .wp-block-kadence-column:first-child {
    text-align: center !important;
  }

  /* Left-align all text next to the image */
  .page-id-235 .entry-content p,
  .page-id-235 .entry-content h1,
  .page-id-235 .entry-content h2,
  .page-id-235 .entry-content h3,
  .page-id-235 .entry-content h4,
  .page-id-235 .entry-content h5,
  .page-id-235 .entry-content h6 {
    text-align: left !important;
  }

}
/* ABOUT PAGE (page-id-1): tighten space around the H1 */
.page-id-1 .entry-content > .wp-block-kadence-rowlayout:first-child{
  padding-top: 1.5rem !important;    /* was 2.5rem */
  padding-bottom: 1.5rem !important; /* was 2.5rem */
}

.page-id-1 .entry-content > .wp-block-kadence-rowlayout:first-child h1{
  margin-top: 0 !important;
  margin-bottom: 0.5rem !important;  /* small space under title */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* ABOUT PAGE (page-id-1): aggressively tighten space around the H1 */
.page-id-1 .entry-content > .wp-block-kadence-rowlayout:first-child {
  margin-top: 0 !important;          /* kill extra gap above row */
  margin-bottom: 0.5rem !important;  /* small gap below row */
  padding-top: 0.75rem !important;   /* much less padding */
  padding-bottom: 0.75rem !important;
}

/* ABOUT PAGE: reduce BOTTOM spacing another ~20px */
.page-id-1 .entry-content > .wp-block-kadence-rowlayout:first-child {
  padding-bottom: 0.25rem !important;   /* was 0.75rem — reduced by ~20px */
  margin-bottom: 0 !important;
}

/* ABOUT PAGE: reduce BOTTOM spacing by another ~20px */
.page-id-1 .entry-content > .wp-block-kadence-rowlayout:first-child {
  padding-bottom: 0 !important;   /* fully tightened */
  margin-bottom: 0 !important;
}

/* ABOUT PAGE: remove another ~20px under the H1 section */
.page-id-1 .entry-content h1:first-of-type {
  margin-bottom: -40px !important;   /* was -20px — now 20px tighter */
  padding-bottom: 0 !important;
}

/* Ensure the row below closes the gap tightly */
.page-id-1 .entry-content > .wp-block-kadence-rowlayout:first-child {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
