/* ============================================================
   Divano - Polish Layer (conservative)  ·  MUST load LAST
   ------------------------------------------------------------
   Purpose: quietly fix clear regressions WITHOUT touching
   Mozn's editorial pages, cards, headings, grid, lightbox,
   forms or the custom .hm-hero. Scope is intentionally tiny:
     1) replace the confusing horizontal body STRIPE with a
        calm, EVEN vertical deep-teal + dark <html> (no flash)
     2) a gentle readability FLOOR for generic/inherited copy
   Identity preserved: emerald -> near-black · tan #E4D3C0 ·
   Dosis / Open Sans. No new hues introduced.
   ============================================================ */

/* ------------------------------------------------------------
   1 · BACKGROUND  - calm, even, vertical deep-teal
   ------------------------------------------------------------
   The theme's <style id="wp-custom-css"> paints a left->right
   stripe   linear-gradient(90deg,#3e5252,#001416)   on
   body / section / #content / footer. Because this file loads
   AFTER it, our later rules win:
     · body carries !important in the theme, so we match it;
     · the container gradients are NOT !important, so a plain
       last-loaded rule of equal specificity neutralises them -
       and Mozn's own backgrounds (.homeProjectsGrid, the hero
       __bg image layers, .ab-card, .ct-card …) sit at higher
       specificity and stay completely untouched.
   The single body gradient then reads as one calm even field.
   ------------------------------------------------------------ */
html {
  background: #0a1516 !important;            /* dark base, ~40% desaturated - kills white flash */
}

body {
  background: linear-gradient(180deg,
              #111e21 0%,
              #0d191a 52%,
              #0a1516 100%) !important;       /* even vertical deep teal, ~40% less saturated */
}

/* strip the theme's horizontal stripe off the big content containers so the
   calm body gradient shows through evenly. background-COLOR only (not the
   `background` shorthand) so it can NEVER wipe a section's background-IMAGE -
   Mozn's image-backed bands (.bg-fixed, hero layers, etc.) stay intact. */
#content,
section,
footer {
  background-color: transparent;
}

/* ------------------------------------------------------------
   1c · HEADER - the desktop header still carried the confusing
   90deg light->dark STRIPE. Give it the same calm, desaturated
   deep teal (semi-transparent so the hero reads through). Scoped
   to >=993px so Mozn's mobile header (tan hamburger panel) is
   left completely untouched.
   ------------------------------------------------------------ */
@media (min-width: 993px) {
  header,
  .site-header,
  header.de_header_2 {
    background: rgba(11, 23, 24, 0.86) !important;
    background-image: none !important;
  }
}

/* ------------------------------------------------------------
   1b · SERVICE CARDS - contain the hover-zoom ::after
   ------------------------------------------------------------
   divano-modern.css draws .box-four-columns::after {position:absolute}
   as a background-image layer, but the card is position:static, so each
   card's ::after escaped and painted its image over the whole section -
   four stacked image layers = the "ghosting". Anchor it to the card. */
.box-four-columns {
  position: relative;
}

/* ------------------------------------------------------------
   2 · READABILITY FLOOR  - gentle, generic copy only
   ------------------------------------------------------------
   A soft-white default + comfortable line-height so inherited
   and legacy text stays legible on the deep background. Set at
   body/element level ONLY, so Mozn's component type keeps its
   intended muted tones and rhythm via higher specificity -
   .ab p, .sv p, .ct p, .cs-* , .pf-* , .hm-* are never fought,
   and paragraph line-height stays governed by divano-modern's
   own  p{ line-height:1.85 }  (its own `p` rule keeps winning).
   ------------------------------------------------------------ */
body {
  color: #e9edeb;                            /* soft-white primary text floor */
  line-height: 1.7;                          /* comfortable generic baseline (defers to component/`p` rules) */
}

/* quiet tan text selection */
::selection      { background: #E4D3C0; color: #06181a; }
::-moz-selection { background: #E4D3C0; color: #06181a; }

/* tan keyboard-focus ring for generic interactive elements;
   component-specific focus states (e.g. .btn-line:focus-visible)
   already define their own and continue to win where present. */
:focus-visible {
  outline: 2px solid #E4D3C0;
  outline-offset: 2px;
}
