/* Chicago Premises Liability Expert - brand overrides
   Loaded last so it wins over the theme and Elementor per-page CSS. */

/* --- utility bar: phone / email must be legible on the navy band --- */
header a[href^="tel:"],
header a[href^="mailto:"]{
  color: #ffffff !important;
  font-weight: 600;
  text-decoration: none;
}
header a[href^="tel:"]:hover,
header a[href^="mailto:"]:hover{
  color: var(--wdtSecondaryColor) !important;
}

/* --- primary nav: six items must sit on one line beside the logo ---
   The UL is display:block with inline-block items, so flex-wrap is inert here;
   white-space:nowrap is what actually stops the wrap. The nav column also has
   to be allowed to grow past its default 750px inside the 1540px header row. */
header ul.wdt-primary-nav{
  white-space: nowrap;
}
header ul.wdt-primary-nav > li{
  white-space: normal;
}
header ul.wdt-primary-nav > li > a{
  white-space: nowrap;
}
@media (min-width: 1025px){
  header .elementor-element-5ade552{
    flex: 1 1 auto !important;
  }
  header ul.wdt-primary-nav > li{
    margin-inline: 0 !important;
  }
  header ul.wdt-primary-nav > li > a{
    padding-inline: 12px !important;
    font-size: 15px !important;
  }
}

/* --- gold reserved for calls to action --- */
.wdt-button-holder.wdt-template-filled .wdt-button{
  background-color: var(--wdtSecondaryColor);
  color: #1c1c1c;
}
.wdt-button-holder.wdt-template-filled .wdt-button:hover{
  background-color: var(--wdtPrimaryColor);
  color: #ffffff;
}

/* --- footer column links must be legible on the navy footer --- */
#footer .elementor-icon-list-text,
#footer .elementor-icon-list-item > a,
footer .elementor-icon-list-text,
footer .elementor-icon-list-item > a{
  color: rgba(255,255,255,.9) !important;
  opacity: 1 !important;
}
#footer .elementor-icon-list-item > a:hover,
footer .elementor-icon-list-item > a:hover{
  color: var(--wdtSecondaryColor,#c5a059) !important;
}

/* --- unverifiable trust signal suppressed ---
   The theme ships a 5-star rating on the retentions block. A star rating implies
   a review that does not exist, which the branding document forbids. Hidden
   rather than deleted so it can be restored if real content ever warrants it.
   The placeholder brand-logo strip in the "why" band is baked into an image and
   is logged in IMAGES_NEEDED.md for replacement. */
.wdt-rating,.wdt-rating-container{display:none !important}

/* --- home Contact section: four equal blocks above one full-width image ---
   The Contact Form 7 embed here was dead on this static host (no PHP to post to),
   so the form card was removed. The heading/blocks container was 60% wide with the
   form card beside it at 40%; it now spans the full row so the four contact blocks
   get equal width and nothing collides. The image below was a cut-out ("curve")
   shaped around the overlapping card and pulled up 170px to sit beneath it — with
   the card gone it becomes a normal full-width framed image. */

.elementor-669 .elementor-element.elementor-element-1975051{--width:100%;}

.elementor-669 .elementor-element.elementor-element-7defd4c > .elementor-widget-container{
  margin:60px 0 0 0;
}
.elementor-669 .elementor-element.elementor-element-7defd4c .wdt-content-image,
.elementor-669 .elementor-element.elementor-element-7defd4c .wdt-content-image > span{
  display:block;
  width:100%;
}
.elementor-669 .elementor-element.elementor-element-7defd4c .wdt-content-image img{
  display:block;
  width:100%;
  height:auto;
  border-radius:40px;
}

/* A long value — the email address — must wrap inside its own block rather than
   run across the next one, which is what the three-column layout did.
   The icon and the value sit in a `display:flex` row, and a flex item defaults to
   `min-width:auto`, so the value could not shrink or wrap and simply overflowed.
   Releasing that floor on the item, and only on it, is what lets the text wrap;
   the icon keeps its 32px and is told not to shrink. */
.elementor-669 .elementor-element.elementor-element-bd4ec55 .wdt-column{min-width:0;}
.elementor-669 .elementor-element.elementor-element-bd4ec55 .wdt-content-detail-group{min-width:0;}
.elementor-669 .elementor-element.elementor-element-bd4ec55 .wdt-content-icon-wrapper{flex:0 0 auto;}
.elementor-669 .elementor-element.elementor-element-bd4ec55 .wdt-content-button{min-width:0;}
.elementor-669 .elementor-element.elementor-element-bd4ec55 .wdt-content-button > a{
  overflow-wrap:break-word;
  word-break:break-word;
}

@media only screen and (max-width:767px){
  .elementor-669 .elementor-element.elementor-element-7defd4c > .elementor-widget-container{
    margin:40px 0 0 0;
  }
  .elementor-669 .elementor-element.elementor-element-7defd4c .wdt-content-image img{
    border-radius:24px;
  }
}

/* --- the gold strip that held the placeholder client logos ---
   `d151ea5` was a gold rounded bar whose only desktop content was a marquee of
   invented brand logos (PETA ACADEMIA / begonia / dixit / PRADA). The marquee is
   gone; without this the bar would still render as an empty gold slab.
   It is collapsed rather than deleted because the rotating circular badge
   (`2a95804`) is absolutely positioned at top:-130px against this container.
   Padding governs the bar's height, not its top edge, so zeroing it removes the
   slab and leaves the badge exactly where it was. */
.elementor-669 .elementor-element.elementor-element-d151ea5:not(.elementor-motion-effects-element-type-background),
.elementor-669 .elementor-element.elementor-element-d151ea5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{
  background-color:transparent;
}
.elementor-669 .elementor-element.elementor-element-d151ea5{
  --border-radius:0px 0px 0px 0px;
  --padding-top:0px;
  --padding-bottom:0px;
  --gap:0px 0px;
  --row-gap:0px;
}

/* --- contact blocks that replaced the site's forms ---
   These reuse the home page's contact-box markup, but that widget's column widths
   come from an inline stylesheet scoped to its own element id, so a copy of the
   markup inherits no width at all: the columns would size to content and the long
   email value would run across the next block. Widths are set here explicitly.
   The icon and value sit in a flex row, so the value needs min-width:0 to wrap
   instead of overflowing. */
.cple-contact-blocks .wdt-column{width:100%;min-width:0;}
.cple-contact-blocks .wdt-content-detail-group{min-width:0;}
.cple-contact-blocks .wdt-content-icon-wrapper{flex:0 0 auto;}
.cple-contact-blocks .wdt-content-button{min-width:0;}
.cple-contact-blocks .wdt-content-button > a{overflow-wrap:break-word;word-break:break-word;}
.cple-contact-blocks .wdt-content-item:after{display:none;}

/* the contact page has room for two across */
@media only screen and (min-width:768px){
  .cple-contact-blocks.cple-contact-blocks-grid .wdt-column{width:50%;}
}

/* --- Contact icons on the expert profile ---
   These replaced three placeholder social links. They are inline SVG rather than
   the theme icon font: that font's subset carries the social marks only, so
   phone/envelope/document rendered as empty boxes. */
.cple-contact-icons li a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.cple-contact-icons li a svg{
  width:15px;
  height:15px;
  fill:currentColor;
}

/* breathing room between the stacked contact blocks that replaced the forms */
.cple-contact-blocks .wdt-column{padding-block:10px;}
.cple-contact-blocks .wdt-content-item .wdt-content-title{margin-bottom:6px;}
.cple-contact-blocks .wdt-content-detail-group{gap:10px;}

/* the certifications list that replaced the rating bars */
.cple-certs .elementor-icon-list-items{list-style:none;margin:0;padding:0;}
.cple-certs .elementor-icon-list-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:14px;
  line-height:1.5;
}
.cple-certs .elementor-icon-list-icon{flex:0 0 auto;line-height:0;margin-top:3px;}
.cple-certs .elementor-icon-list-icon svg{
  width:18px;height:18px;fill:var(--wdtSecondaryColor,#c5a059);
}

/* --- process band: stacked order must read Step 1 to Step 6 ---
   The theme stacked the band as image, then the right column (6,5,4), then the
   left column which it also flipped to column-reverse (3,2,1). Below 1024px the
   left column is restored to normal order and placed first, and the right column
   is reversed so its DOM order 6,5,4 renders as 4,5,6. The desktop circle above
   1024px is untouched. */
@media only screen and (max-width:1024px){
  .elementor-669 .elementor-element.elementor-element-7261733.e-con{--order:0;}
  .elementor-669 .elementor-element.elementor-element-1a1a3e6.e-con{
    --order:1;
    --flex-direction:column;
  }
  .elementor-669 .elementor-element.elementor-element-3d3e8ac.e-con{
    --order:2;
    --flex-direction:column-reverse;
  }
}

/* --- footer: reclaim the space the removed photo strip used to occupy ---
   Container 1751971 carried 100px of top padding that sat above the Instagram
   strip. With the strip gone that padding stacked on top of the columns row's
   own 80px, leaving ~180px of dead space above the footer content. */
.elementor-33 .elementor-element.elementor-element-1751971{--padding-top:0px;}

/* --- testimony page: deliverables + admissibility sit on the dark band ---
   These widgets were added into a navy section and would otherwise inherit the
   dark body text colour, which is all but invisible against it. */
.elementor-836 .cple-deliverables .elementor-icon-list-text,
.elementor-530 .cple-deliverables .elementor-icon-list-text{
  color:var(--wdtAccentTxtColor,#fff);
  font-weight:500;
}
.cple-deliverables .elementor-icon-list-icon svg{fill:var(--wdtSecondaryColor,#c5a059);}
.cple-admissibility,
.cple-admissibility p{color:rgba(255,255,255,.86);}
.cple-admissibility em{font-style:italic;}
.cple-admissibility a{
  color:var(--wdtSecondaryColor,#c5a059);
  text-decoration:underline;
}
.cple-admissibility a:hover{color:#fff;}

/* --- the gold slab left behind by the removed fake-logo marquee ---
   Same shape as the home page: the container also anchors an absolutely
   positioned rotating badge, so it is collapsed rather than deleted. Padding
   governs its height, not its top edge, so the badge does not move. */
.elementor-836 .elementor-element.elementor-element-9e906ba:not(.elementor-motion-effects-element-type-background),
.elementor-836 .elementor-element.elementor-element-9e906ba > .elementor-motion-effects-container > .elementor-motion-effects-layer{
  background-color:transparent;
}
.elementor-836 .elementor-element.elementor-element-9e906ba{
  --border-radius:0px 0px 0px 0px;
  --padding-top:0px;
  --padding-bottom:0px;
  --gap:0px 0px;
  --row-gap:0px;
}

/* --- "Retained by counsel including" --- */
.cple-counsel{margin-top:6px;}
.cple-counsel .cple-counsel-lead{
  font-size:.82rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.72;
  margin:0 0 6px;
}
.cple-counsel .cple-counsel-list{
  font-weight:600;
  line-height:1.9;
  margin:0;
}

/* --- testimony page: case cards ---
   The slot was a testimonial slider, so its title renders as a small grey
   "author" line and its subtitle inherits a dark navy global colour that is
   invisible on the navy card. For a case record the matter name and the court
   citation are the point, so both are made legible and the name is promoted. */
.elementor-836 .elementor-element.elementor-element-7dc5e48 .wdt-content-item .wdt-content-title h3,
.elementor-530 .elementor-element.elementor-element-7dc5e48 .wdt-content-item .wdt-content-title h3{
  color:var(--wdtSecondaryColor,#c5a059) !important;
  opacity:1 !important;
  font-size:clamp(1.15rem,1.05rem + .5vw,1.5rem);
  margin-bottom:6px;
}
.elementor-836 .elementor-element.elementor-element-7dc5e48 .wdt-content-item .wdt-content-subtitle,
.elementor-530 .elementor-element.elementor-element-7dc5e48 .wdt-content-item .wdt-content-subtitle{
  color:#ffffff !important;
  opacity:1 !important;
  font-size:.95rem;
  font-weight:500;
  letter-spacing:.01em;
}

/* --- testimony page: case-record block sizing ---
   The block kept the vertical padding of the testimonial carousel it replaced,
   which left an empty slab under a much shorter card. Tightened to the card. */
.elementor-836 .elementor-element.elementor-element-64b2069{
  --padding-top:32px;
  --padding-bottom:32px;
}
.elementor-836 .elementor-element.elementor-element-7dc5e48 > .elementor-widget-container{
  padding-bottom:0 !important;
}
.elementor-836 .elementor-element.elementor-element-5f66a34{
  --padding-bottom:40px;
}

/* The counsel line sits inside the dark case block, so it needs light type.
   (Before the nesting was repaired it fell outside the block, onto white.) */
.cple-counsel .cple-counsel-lead{color:rgba(255,255,255,.66);}
.cple-counsel .cple-counsel-list{color:rgba(255,255,255,.92);}


/* --- expert profile: keep the pinned sidebar clear of the footer ---
   The sidebar is pinned by ScrollTrigger. Even with the pin bounds refreshed on
   tab change, give the row a little more room below so the column always ends
   above the footer rather than butting against it. */
.elementor-634 .elementor-element.elementor-element-4dd5b9f{
  margin-bottom:160px;
}

/* --- testimony page: counsel logo wall ---
   Replaces the tiny left-aligned name list with a typographic wordmark row,
   patterned on the reference: a muted uppercase eyebrow, centred serif firm
   names each with a small letter-spaced tagline, gold dot separators, and a
   thin gold accent beneath. These are styled text, not logo files.
   The site loads only sans faces (Outfit, Syne, Montserrat, Lato), so the
   wordmarks use a system serif stack rather than pulling another webfont. */
.cple-firmwall{
  text-align:center;
  padding:6px 0 2px;
}
.cple-firmwall .cple-fw-eyebrow{
  margin:0 0 20px;
  font-size:.74rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
  font-weight:500;
}
.cple-firmwall .cple-fw-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px 24px;
  position:relative;
  padding-bottom:24px;
}
.cple-firmwall .cple-fw-row::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:min(680px,86%);
  height:1px;
  background:linear-gradient(90deg,
    rgba(197,160,89,0) 0%,
    rgba(197,160,89,.65) 22%,
    rgba(197,160,89,.65) 78%,
    rgba(197,160,89,0) 100%);
}
.cple-firmwall .cple-fw-firm{
  display:flex;
  flex-direction:column;
  align-items:center;
  line-height:1.1;
}
.cple-firmwall .cple-fw-name{
  font-family:Georgia,"Iowan Old Style","Times New Roman",serif;
  font-size:clamp(.98rem,.78rem + .46vw,1.26rem);
  font-weight:600;
  color:#ffffff;
  letter-spacing:.005em;
  white-space:nowrap;
}
.cple-firmwall .cple-fw-tag{
  margin-top:5px;
  font-size:.58rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
  white-space:nowrap;
}
.cple-firmwall .cple-fw-dot{
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--wdtSecondaryColor,#c5a059);
  flex:0 0 auto;
  align-self:center;
  margin-top:-6px;
}
@media only screen and (max-width:767px){
  .cple-firmwall .cple-fw-row{gap:16px 18px;}
  .cple-firmwall .cple-fw-dot{display:none;}
  .cple-firmwall .cple-fw-name{white-space:normal;}
}

/* --- gold retaining-counsel marquee (Deliverables section, left column) ---
   Styled text only, no image files. The firm set is emitted twice in the track so
   translateX(-50%) returns to an identical frame and the loop is seamless. */
.cple-goldwall{
  background:linear-gradient(135deg,#b8914c 0%,#c5a059 38%,#d9bd7d 62%,#c5a059 100%);
  border-radius:20px;
  overflow:hidden;
  padding:30px 0;
  margin-top:8px;
  position:relative;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.cple-goldwall::before,
.cple-goldwall::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:46px;
  z-index:2;
  pointer-events:none;
}
.cple-goldwall::before{left:0;background:linear-gradient(90deg,#bd964f 0%,rgba(189,150,79,0) 100%);}
.cple-goldwall::after{right:0;background:linear-gradient(270deg,#c5a059 0%,rgba(197,160,89,0) 100%);}

.cple-goldwall-track{
  display:flex;
  align-items:center;
  gap:0 34px;
  width:max-content;
  animation:cple-goldwall-scroll 34s linear infinite;
  will-change:transform;
}
@keyframes cple-goldwall-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.cple-goldwall:hover .cple-goldwall-track{animation-play-state:paused;}

.cple-goldwall .cple-gw-item{
  font-family:Georgia,"Iowan Old Style","Times New Roman",serif;
  font-size:clamp(1.02rem,.86rem + .42vw,1.35rem);
  font-weight:700;
  color:#1a2a3a;
  white-space:nowrap;
  letter-spacing:.005em;
}
.cple-goldwall .cple-gw-sep{
  color:#1a2a3a;
  opacity:.42;
  font-size:1.1rem;
  line-height:1;
}

@media only screen and (max-width:767px){
  .cple-goldwall{padding:16px 0;border-radius:16px;}
  .cple-goldwall-track{gap:0 22px;animation-duration:26s;}
  .cple-goldwall .cple-gw-item{font-size:1rem;}
  .cple-goldwall::before,.cple-goldwall::after{width:26px;}
}

/* respect a reduced-motion preference: stop the scroll and centre the names */
@media (prefers-reduced-motion:reduce){
  .cple-goldwall-track{
    animation:none;
    width:auto;
    flex-wrap:wrap;
    justify-content:center;
    row-gap:8px;
  }
}



/* --- Deliverables section, left column: three images -----------------------
   The two photos sit in a flex row whose 24px horizontal gap comes from 12px of
   padding on each cell. The column's own row-gap was 20px, so the vertical and
   horizontal gaps did not match; both are 24px now.

   The third image is flexed to fill whatever height is left under the photos, so
   its bottom always lands level with the right column's CTA rather than relying
   on a hard-coded height. */
.elementor-836 .elementor-element.elementor-element-d3dc04c{
  --gap:24px 0px;
  --row-gap:24px;
  --column-gap:0px;
}
.elementor-836 .elementor-element.elementor-element-9e906ba{
  flex:1 1 auto;
  min-height:0;
}
.cple-thirdimg,
.cple-thirdimg > .elementor-widget-container{
  height:100%;
  width:100%;
}
.cple-thirdimg img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:30px;
}

/* Stacked layout: nothing is left over to fill, so give the image its own
   landscape ratio instead of a percentage height. */
@media only screen and (max-width:1024px){
  .elementor-836 .elementor-element.elementor-element-9e906ba{
    flex:0 0 auto;
    /* the stacked photos are inset 20px each side; match them */
    padding-inline:20px;
  }
  .cple-thirdimg,
  .cple-thirdimg > .elementor-widget-container{height:auto;}
  .cple-thirdimg img{
    height:auto;
    aspect-ratio:814 / 337;
  }
}

/* ============================================================================
   Pre-launch accessibility fixes — 2026-08-06
   ========================================================================== */

/* --- WCAG AA contrast: gold heading words that sit on WHITE backgrounds ---
   Brand gold #C5A059 measures 5.95:1 on the navy #1A2A3A sections (passes) but
   only 2.46:1 on white, which fails even the 3.0 large-text threshold. Ten
   occurrences across four widgets sit on white; #8A6F2E measures 4.78:1 there.
   Scoped by element ID so the 43 gold headings on navy keep the brand colour. */
.elementor-705 .elementor-element-2b35154 .wdt-heading-colored-elements,
.elementor-788 .elementor-element-3b2fe7e .wdt-heading-colored-elements,
.elementor-836 .elementor-element-e181e14 .wdt-heading-colored-elements,
.elementor-836 .elementor-element-fd3459b .wdt-heading-colored-elements{
  color:#8A6F2E !important;
}

/* --- WCAG AA contrast: carousel pagination arrows were white on gold (2.46:1).
   Dark text on gold matches the CTA buttons and measures 5.95:1. --- */
.wdt-pagination-prev, .wdt-pagination-next,
.wdt-pagination-prev *, .wdt-pagination-next *{
  color:#1C1C1C !important;
}

/* --- Visible keyboard focus (WCAG 2.4.7). The theme sets outline:none with no
   replacement. #8A6F2E reads 4.78:1 on white and 3.06:1 on the navy sections,
   so one ring works on both. :focus-visible keeps mouse clicks unchanged. --- */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.elementor-button:focus-visible,
.wdt-button:focus-visible,
.menu-trigger:focus-visible,
.elementor-social-icon:focus-visible{
  outline:3px solid #8A6F2E !important;
  outline-offset:2px !important;
  border-radius:2px;
}
/* On the navy footer/header the ring needs the lighter brand gold to stay clear */
#footer a:focus-visible,
#footer button:focus-visible,
.site-header a:focus-visible,
header a:focus-visible,
header button:focus-visible,
.elementor-social-icon:focus-visible{
  outline-color:#C5A059 !important;
}

/* --- Footer: sister sites that are not built yet are plain text, not links.
   The colour rule above already covers .elementor-icon-list-text; this just
   stops them reading as interactive. --- */
#footer .elementor-icon-list-item > .elementor-icon-list-text,
footer .elementor-icon-list-item > .elementor-icon-list-text{
  cursor:default;
}

/* --- Icon font recovery — 2026-08-06 -----------------------------------------
   The static clone shipped with an empty themes/physeo/assets/font/ directory,
   so all four @font-face families 404'd and their glyphs rendered as boxes.
   Three families (wdt-icons = "Physeo Icons", ext-icons, wdt-ext-icon) were
   restored from the same vendor's Lumoria theme on this server — their glyph
   maps match physeo's codepoints exactly, so those icons are correct.

   The fourth, 'wdt-ext', exists in no theme on this server and is genuinely
   unrecoverable. wdt-ext.* is served as a copy of wdt-icons purely so the
   @font-face resolves rather than 404ing; its glyph map is DIFFERENT, so every
   visible wdt-ext consumer is remapped below onto a verified glyph in the
   theme's own "Physeo Icons" set:
       \e85a arrow-left   \e85b arrow-right   \e844 calendar
   Without these rules \e803/\e804/\e805 render as envelope/heart/heart-o.     */

/* blog post meta date */
.wdt-blog-calendar::before{
  font-family:"Physeo Icons" !important; content:"\e844" !important;
}
/* blog listing pagination arrows */
.wdt-add-main-left::before{
  font-family:"Physeo Icons" !important; content:"\e85a" !important;
}
.wdt-add-main-arrow::before{
  font-family:"Physeo Icons" !important; content:"\e85b" !important;
}
/* single-post Previous / Next navigation */
.entry-post-navigation > div.post-prev-link > .nav-title-wrap p a::before{
  font-family:"Physeo Icons" !important; content:"\e85a" !important;
}
.entry-post-navigation > div.post-next-link > .nav-title-wrap p a::after{
  font-family:"Physeo Icons" !important; content:"\e85b" !important;
}
/* CTA button arrows */
.wdt-content-button > a::after,
.wdt-content-button.wdt-button-clone > a::after{
  font-family:"Physeo Icons" !important; content:"\e85b" !important;
}
/* carousel / column pagination controls */
.wdt-pagination-prev::before{
  font-family:"Physeo Icons" !important; content:"\e85a" !important;
}
.wdt-pagination-next::before{
  font-family:"Physeo Icons" !important; content:"\e85b" !important;
}

/* --- WCAG AA contrast, home page (template 669 and the shared sections 292 /
   525 / 528). Twenty-two gold heading words sit on white here; same #8A6F2E
   treatment as the other pages, 4.78:1. Added after the first sweep, which had
   silently skipped "/" because the root produced an empty path token. --- */
.elementor-292 .elementor-element-8e26fef .wdt-heading-colored-elements,
.elementor-525 .elementor-element-fc4f05e .wdt-heading-colored-elements,
.elementor-528 .elementor-element-c0faa8a .wdt-heading-colored-elements,
.elementor-669 .elementor-element-69553d6 .wdt-heading-colored-elements,
.elementor-669 .elementor-element-d14ffbf .wdt-heading-colored-elements,
.elementor-669 .elementor-element-6519d15 .wdt-heading-colored-elements,
.elementor-669 .elementor-element-08c103e .wdt-heading-colored-elements,
.elementor-669 .elementor-element-146ebd8 .wdt-heading-colored-elements,
.elementor-669 .elementor-element-096fa60 .wdt-heading-colored-elements{
  color:#8A6F2E !important;
}

/* --- Post navigation: hide the control when there is no adjacent post -------
   The theme renders a placeholder block reading "Not available to show!" with a
   dead href="#" thumbnail whenever a post has no previous (or next) sibling. It
   marks that side with .no-post, so hiding it removes both the filler text and
   the dead link. Affects 4 of the 12 posts (first and last in each direction).
   The surviving side keeps its own justify-content, so it stays on its correct
   edge.                                                                      */
.entry-post-navigation > .post-prev-link.no-post,
.entry-post-navigation > .post-next-link.no-post,
.entry-post-navigation-wrapper > .entry-post-navigation > .post-prev-link.no-post,
.entry-post-navigation-wrapper > .entry-post-navigation > .post-next-link.no-post{
  display:none !important;
}

/* --- Back-to-top must never sit on top of a footer link --------------------
   The button is position:fixed at the viewport's bottom-right; the footer's
   legal links are right-aligned to the same container edge, so at ~1600px the
   two met and the button covered "Privacy Policy". Reserving a gutter wider
   than the button (40px) on that one widget guarantees clearance at every
   width, because both are anchored to the same right edge. Only applied where
   the row is right-aligned — below 1025px the links centre and never collide. */
@media only screen and (min-width:1025px){
  #footer .elementor-element-1c98b32 .elementor-icon-list-items.elementor-inline-items,
  footer .elementor-element-1c98b32 .elementor-icon-list-items.elementor-inline-items{
    padding-right:64px;
  }
}
/* keep the button above footer chrome rather than tunnelling under it */
a[href="#top"], .back-to-top, [class*="back-to-top"]{
  z-index:20;
}

/* --- Refinements to the two fixes above ------------------------------------
   1. When the previous-post side is hidden, let the surviving "Next" block span
      the row so its own justify-content:flex-end puts it back on the right edge
      instead of stranding it mid-row.
   2. Below 1025px the legal links centre, but the wrapped copyright line still
      reached the button around 600px. A bottom gutter on the footer's last row
      gives the button its own band at those widths — vertical clearance is
      width-independent, so it holds everywhere the right-gutter rule does not
      apply.                                                                   */
.entry-post-navigation > .post-prev-link.no-post + .post-next-link,
.entry-post-navigation-wrapper > .entry-post-navigation > .post-prev-link.no-post + .post-next-link{
  flex:1 1 100% !important;
  max-width:100% !important;
}

/* A bottom gutter on the footer itself is the reliable clearance: every footer
   column ends above it, at every width. The row-level rule this replaces only
   padded one column, so at 800-960px a neighbouring column still reached the
   page bottom underneath the button. */
#footer .elementor-element-1751971,
footer#footer .elementor-element-1751971{
  padding-bottom:72px !important;
}
