/* ============================================================
   MOD ÎNTUNECAT — html[data-theme="dark"]
   1) Variabilele temei sunt redefinite (acoperă majoritatea site-ului).
   2) Regulile cu culori fixe (#fff, #4f5863 …) sunt suprascrise explicit;
      lista a fost extrasă automat din style.css, home.css și structura.css.
   Contraste verificate: text 15:1, text secundar 8:1, accent 6.7:1.
   ============================================================ */

/* și pe body: WordPress își declară variabilele --wp--preset--* pe body,
   așa că o redefinire doar pe html ar fi umbrită */
html[data-theme="dark"],
html[data-theme="dark"] body{
  color-scheme: dark;

  --dk-bg: #0e141d;        /* fundalul paginii */
  --dk-bg-2: #131b26;      /* secțiunile care erau ivory */
  --dk-card: #18212d;      /* carduri, butoane, submeniu */
  --dk-navy: #090e15;      /* secțiunile care erau navy (servicii, subsol) */
  --dk-text: #ebe8e1;
  --dk-body: #c3c9d1;      /* textul de paragraf care era gri închis */
  --dk-line: rgba(235,232,225,.12);

  --grs-ivory: var(--dk-bg-2);
  --grs-ivory-2: #1b2430;
  --grs-navy: var(--dk-navy);
  --grs-navy-2: #0d141d;
  --grs-cont: var(--dk-text);
  --grs-mute: #a2abb7;
  --grs-line: var(--dk-line);
  --grs-line-dark: rgba(235,232,225,.1);
  --grs-terra: #e2835f;
  --grs-terra-2: #e2835f;
  --grs-gold: #d1aa70;
  --grs-teal: #287571;

  --wp--preset--color--base: var(--dk-bg);
  --wp--preset--color--surface: var(--dk-bg-2);
  --wp--preset--color--contrast: var(--dk-text);
  --wp--preset--color--charcoal: var(--dk-card);
  --wp--preset--color--muted: #a2abb7;
  --wp--preset--color--line: var(--dk-line);
  --wp--preset--color--accent: #e2835f;
  --wp--preset--color--accent-2: #f0a284;
}
html[data-theme="dark"] body{ background: var(--dk-bg); color: var(--dk-body); }

/* tranziție lină la comutare (nu și la încărcare — clasa o pune JS-ul) */
html.grs-theme-anim, html.grs-theme-anim *{ transition: background-color .35s ease, color .35s ease, border-color .35s ease !important; }

/* ---------- Fundaluri albe → fundalul paginii ---------- */
html[data-theme="dark"] :is(
  .grs-contact-page, .grs-car-page, .grs-cariere-page, .grs-contact, .grs-map-section,
  .grs-works, .grs-proc, .grs-page-body, .grs-intro, .grs-cert, .grs-404, .grs-video,
  .grs-svc--page, .grs-team, .grs-part, .grs-ev, .grs-prac
){ background-color: var(--dk-bg); }

/* ---------- Fundaluri ivory → nuanța a doua ---------- */
html[data-theme="dark"] :is(.grescu-features, .grs-studio, .grs-car-value:hover){ background-color: var(--dk-bg-2); }

/* ---------- Carduri și controale albe → card ---------- */
html[data-theme="dark"] :is(
  .grs-formsheet, .grs-cap, .grs-proj:hover, .grs-works__item:hover, .grs-svd__others a, .grs-docs__list a,
  .grs-job:hover .grs-job__meta span, .grs-job[open] .grs-job__meta span, .grs-car-none__tags li,
  .grs-car-position__tags span, .grs-job__tag, .grs-dim__label, .grs-callout, .grs-proc__dot,
  .grs-cert__module,
  .grs-proj, .grs-works__item, .grs-car-none
){ background-color: var(--dk-card); }
/* organigrama echipei: casetele pe nuanța a doua, cardurile pe card, linii și chenare discrete */
html[data-theme="dark"] :is(.grs-oc__nivel, .grs-dep){ background-color: var(--dk-bg-2); border-color: var(--dk-line); }
html[data-theme="dark"] :is(.grs-om, .grs-team__cariere){ background-color: var(--dk-card); border-color: var(--dk-line); }
html[data-theme="dark"] .grs-team__cariere{ border-left-color: var(--grs-terra); }
html[data-theme="dark"] .grs-om__foto{ background-color: #1d2734; }
html[data-theme="dark"] .grs-om__init{ background: linear-gradient(160deg, #2a2522 0%, #33281f 100%); }
html[data-theme="dark"] .grs-oc{ --grs-oc-leg: rgba(226, 131, 95, .45); }
/* separat de lista de mai sus: :is() ia specificitatea celui mai specific
   argument, iar starea „activ" de mai jos ar pierde */
html[data-theme="dark"] .grs-proj-filter__btn{ background-color: var(--dk-card); }
html[data-theme="dark"] :is(.grs-proj:hover, .grs-works__item:hover){ background-color: #1d2734; }
/* buton care folosea culoarea textului ca fundal: devine deschis cu text închis */
html[data-theme="dark"] .grs-cta__primary{ background: var(--dk-text); color: var(--dk-bg); }
html[data-theme="dark"] .grs-cta__primary::before{ background: #ad4f2d; }
html[data-theme="dark"] .grs-cta__primary:is(:hover, :focus-visible){ color: #fff; }

/* ---------- Fundaluri care foloseau „contrast" (navy) — rămân închise ---------- */
html[data-theme="dark"] :is(.grescu-utility, .grs-footer, .grs-car-cta, .grs-social-icon:hover){ background-color: var(--dk-navy); }
html[data-theme="dark"] .grescu-utility{ border-bottom: 1px solid var(--dk-line); }
html[data-theme="dark"] .grs-footer__wave-main{ fill: var(--dk-navy); }
html[data-theme="dark"] .grs-footer__wave-back{ fill: rgba(9,14,21,.45); }
/* butoanele active de filtru: inversate (deschis pe închis) */
html[data-theme="dark"] :is(.grs-car-filter__btn.is-active, .grs-proj-filter__btn.is-active){
  background-color: var(--dk-text); border-color: var(--dk-text); color: var(--dk-bg);
}
html[data-theme="dark"] .grs-proj-filter__btn.is-active sup{ color: rgba(14,20,29,.6); }

/* ---------- Text gri închis fix → text de paragraf deschis ---------- */
html[data-theme="dark"] :is(
  .grs-studio__tagline, .grs-cop-auth__list li, .grs-cop-why__body, .grs-cop-service__lead, .grs-cop-service__bullets li,
  .grs-cop-project__meta span, .grs-car-hero__note, .grs-job__num, .grs-job__meta span, .grs-job__list li,
  .grs-car-foot__text, .grs-car-value__body, .grs-car-position__tags span, .grs-car-position__body, .grs-job__tag, .grs-job__body,
  .grs-jobs__footnote p, .grs-field label, .grs-checkbox, .grs-car-none__text, .wp-block-post-content p,
  .wp-block-post-content ul.wp-block-list li, .grs-cta__desc, .grs-cta__note, .grs-cta__contact-addr, .grs-intro__lede,
  .grs-404__text, .grs-hc__lede, .grs-ev__text, .grs-prac__lead, .grs-prac__text p,
  .grs-vals__text, .grs-cert__type, .grs-cert__detail, .grs-car-none__mail, .grs-cert__lede,
  .grs-form__multumim p:last-child, .grs-form__aviz
){ color: var(--dk-body); }
html[data-theme="dark"] :is(.grs-form__stare, .grs-form__aviz--eroare){ color: var(--grs-terra); }
html[data-theme="dark"] :is(.grs-north, .grs-worker, .grs-intro__title em, .grs-404__title em, .grs-car-none__profiles-lbl){ color: var(--grs-mute); }
/* filtrele de la Cariere: separat de lista de mai sus — :is() ia specificitatea
   celui mai specific argument și ar acoperi culoarea butonului activ
   (text deschis pe fond deschis) */
html[data-theme="dark"] .grs-car-filter__btn{ color: var(--dk-body); }

/* fundalurile crem semitransparente (hover / deschis) devin gri mediu pe
   fondul închis, cu text greu de citit → nuanțe închise */
html[data-theme="dark"] :is(.grs-job:hover, .grs-cop-why__item:hover){ background: var(--dk-bg-2); }
html[data-theme="dark"] .grs-job[open]{ background: var(--dk-card); }

/* ---------- Linii navy transparente → linii deschise ---------- */
html[data-theme="dark"] :is(
  .grescu-site-header, .grescu-features, .grs-studio__item, .grs-studio__social, .grs-cop-auth__list li,
  .grs-cop-project__meta span, .grs-car-meta, .grs-car-filters, .grs-car-filter__btn, .grs-car-filter__btn:hover,
  .grs-job__meta span, .grs-car-foot, .grs-jobs__footnote, .grs-field input, .grs-field textarea,
  .grs-field input:hover, .grs-field textarea:hover, .grs-checkbox__box, .grs-car-none__profiles, .grs-car-none__tags li,
  .grs-proj, .grs-proj:hover, .grs-works__item, .grs-works__item:hover,
  .grescu-site-header .is-menu-open .wp-block-navigation__responsive-container-close
){ border-color: var(--dk-line); }
html[data-theme="dark"] :is(.grs-field input, .grs-field textarea){ color: var(--dk-text); background-color: transparent; }

/* ---------- Antet ---------- */
html[data-theme="dark"] .grescu-site-header{ background: var(--dk-bg); }
html[data-theme="dark"] .grescu-site-header::before{ opacity: 0; }
html[data-theme="dark"].is-scrolled .grescu-site-header{ box-shadow: 0 10px 30px -18px rgba(0,0,0,.8); }
html[data-theme="dark"] .grescu-site-header .wp-block-navigation__responsive-container.is-menu-open{ background: var(--dk-bg) !important; }
html[data-theme="dark"] .grescu-site-header .wp-block-navigation .wp-block-navigation__submenu-container{
  background: var(--dk-card) !important; border-color: var(--dk-line) !important;
}
/* meniul de pe telefon: submeniul fără cutie, butonul deschis lizibil */
html[data-theme="dark"] .grescu-site-header .wp-block-navigation .is-menu-open .wp-block-navigation__submenu-container{ background: transparent !important; }
html[data-theme="dark"] .grescu-site-header .is-menu-open .grs-mnav-tog{ border-color: var(--dk-line); }
html[data-theme="dark"] .grescu-site-header .is-menu-open .has-child.grs-open > .grs-mnav-tog{ color: var(--dk-bg); }
html[data-theme="dark"] .grescu-site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
html[data-theme="dark"] .grescu-site-header .wp-block-navigation .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content{
  background: var(--dk-bg-2);
}
/* pe prima pagină, după scroll, antetul devine plin */
html[data-theme="dark"].is-scrolled body.home .grescu-site-header{ background: var(--dk-bg); }

/* ---------- Secțiuni navy: se deosebesc de fundal printr-o linie ---------- */
html[data-theme="dark"] .grs-svc--dark{ box-shadow: inset 0 0 0 1px var(--dk-line); }

/* ---------- Pagina unui serviciu ---------- */
html[data-theme="dark"] .grs-sv{ --sv-card: var(--dk-card); --sv-grid: rgba(235,232,225,.035); --sv-body: var(--dk-body); }
html[data-theme="dark"] .grs-svi{ box-shadow: 0 30px 60px -40px rgba(0,0,0,.8); }
html[data-theme="dark"] .grs-sv-btn{ background: var(--dk-text); color: var(--dk-bg); }
html[data-theme="dark"] .grs-sv-btn::before{ background: #ad4f2d; }
html[data-theme="dark"] .grs-sv-btn:is(:hover, :focus-visible){ color: #fff; }
html[data-theme="dark"] .grs-sv-card--cta{ background: var(--dk-navy); border-color: var(--dk-line); }
html[data-theme="dark"] .grs-sv-card:hover{ box-shadow: 0 24px 40px -28px rgba(0,0,0,.9); }

/* ---------- Ilustrații și imagini ---------- */
/* desenele cu linii navy (orizontul din pagina Contact) */
html[data-theme="dark"] .grs-skyline g,
html[data-theme="dark"] .grs-skyline [stroke="#0f1a2a"]{ stroke: var(--dk-text); }
html[data-theme="dark"] .grs-skyline [fill^="rgba(15,26,42"]{ fill: rgba(235,232,225,.06); }
/* vizualurile generate ale proiectelor sunt „imagini" deschise: le estompăm ușor */
html[data-theme="dark"] :is(.grs-proj__svg, .grs-works__visual svg, .grs-featured__diagram){ filter: brightness(.82) contrast(1.05); }
html[data-theme="dark"] :is(.grs-works__visual img, .grs-proj__slide img, .grs-team__photo img, .grs-ev__img){ filter: brightness(.92); }
html[data-theme="dark"] .grs-prac__poster img{ box-shadow: 0 30px 60px -30px rgba(0,0,0,.9); }
html[data-theme="dark"] .grs-part__item img{ filter: grayscale(1) invert(1) brightness(1.6); opacity: .7; }
html[data-theme="dark"] .grs-part__item:hover img{ filter: invert(1) brightness(1.6); opacity: 1; }

/* ---------- Diverse ---------- */
html[data-theme="dark"] .grs-exemplu{ background: rgba(226,131,95,.08); }
html[data-theme="dark"] .grs-practica-tab{ box-shadow: 0 -6px 24px rgba(0,0,0,.5); }
html[data-theme="dark"] .grs-more--teal,
html[data-theme="dark"] .grs-prac__text a,
html[data-theme="dark"] .grs-prac__hero .grs-sec-head__label,
html[data-theme="dark"] :is(.grs-prac__facts dt, .grs-prac__list li::before){ color: #5cbdb8; }
html[data-theme="dark"] .grs-prac__dl:hover{ color: #5cbdb8; }
html[data-theme="dark"] ::selection{ background: rgba(226,131,95,.35); color: #fff; }

/* ---------- Prima pagină (acasa.css) ---------- */
html[data-theme="dark"],
html[data-theme="dark"] body{
  --grs-page: var(--dk-bg);
  --grs-paper: var(--dk-card);
  --grs-peach: rgba(226,131,95,.14);
  --grs-ft-bg: var(--dk-navy);
}
html[data-theme="dark"] :is(.grs-fp__text, .grs-cert__module){ background-color: var(--dk-card); }
html[data-theme="dark"] .grs-fp__text{ box-shadow: 0 30px 60px -40px rgba(0,0,0,.8); }
html[data-theme="dark"] .grs-hsv__cell--cta{ background: var(--dk-navy); box-shadow: inset 0 0 0 1px var(--dk-line); }
html[data-theme="dark"] .grs-hsv__cell--cta:hover{ background: #0d151f; }
html[data-theme="dark"] .grs-intro__fact-art{ color: rgba(235,232,225,.28); }
html[data-theme="dark"] .grs-idee__side p{ color: var(--dk-body); }
html[data-theme="dark"] .grs-btn-dark{ background: var(--dk-text); border-color: var(--dk-text); color: var(--dk-bg); }
html[data-theme="dark"] .grs-btn-dark:hover{ background: #ad4f2d; border-color: #ad4f2d; color: #fff; }
html[data-theme="dark"] .grs-ft{ border-top: 1px solid var(--dk-line); }
html[data-theme="dark"] .grs-theme-btn{ background: transparent; border-color: var(--dk-line); color: var(--dk-text); }
html[data-theme="dark"] .grs-theme-btn:hover{ border-color: #e2835f; color: #e2835f; }

/* ---------- Despre noi, Contact, harta (pagini.css) ---------- */
html[data-theme="dark"] :is(.grs-ab-txt p, .grs-ab-real__cols p, .grs-ab-why__body){ color: var(--dk-body); }
html[data-theme="dark"] .grs-ab-txt :is(em, .grs-ab-quote p){ color: var(--dk-text); }
html[data-theme="dark"] :is(.grs-ab-hero__sub, .grs-ab-split__title em, .grs-ab-real__lead){ color: var(--grs-mute); }
html[data-theme="dark"] :is(.grs-ab-band, .grs-ab-values, .grs-ab-why__list li:hover){ background-color: var(--dk-bg-2); }
html[data-theme="dark"] .grs-cmap__card{ background: rgba(24,33,45,.96); box-shadow: 0 20px 40px -24px rgba(0,0,0,.9); }
html[data-theme="dark"] .grs-cmap__frame{ filter: grayscale(45%) brightness(.85); }
html[data-theme="dark"] .grs-harta{ --on: #d2683f; --on-h: #e2835f; --off: #1d2733; background: var(--dk-bg); }
html[data-theme="dark"] .grs-harta__judete path{ stroke: var(--dk-bg); }
html[data-theme="dark"] .grs-harta__judete .is-off:hover{ fill: #273342; }
html[data-theme="dark"] .grs-harta__tip{ background: var(--dk-text); color: var(--dk-bg); }

/* comutatorul în modul întunecat */
html[data-theme="dark"] .grs-theme{ background: rgba(235,232,225,.1); box-shadow: inset 0 0 0 1px var(--dk-line); }
html[data-theme="dark"] .grs-theme button[aria-checked="true"]{ background: var(--dk-text); color: var(--dk-bg); }
