/*
Theme Name: Hello Elementor Modern
Theme URI: https://eevaluare.ro/
Description: Modernizare vizuală — fonturi Inter + Manrope, meniu curat cu separator, butoane portocaliu din logo, font mare, header integrat.
Author: eevaluare.ro
Author URI: https://eevaluare.ro/
Template: hello-elementor
Version: 10.2.0
Text Domain: hello-elementor-modern
*/

/* =================================================================
   DESIGN TOKENS
   Albastru eliminat din butoane/meniu. Portocaliu logo = accent principal.
   ================================================================= */
:root {
  --em-brand-50:  #FFF7ED;
  --em-brand-100: #FFEDD5;
  --em-brand-500: #F39200;   /* portocaliu logo */
  --em-brand-600: #D07D00;
  --em-brand-700: #B06A00;

  --em-blue-500: #2E5FE8;    /* albastru logo — doar pt link-uri, nu meniu/butoane */
  --em-blue-50:  #EEF2FF;

  --em-ink-50:  #F9FAFB;
  --em-ink-100: #F1F5F9;
  --em-ink-200: #E2E8F0;
  --em-ink-300: #CBD5E1;
  --em-ink-500: #64748B;
  --em-ink-700: #334155;
  --em-ink-800: #1E293B;
  --em-ink-900: #0F172A;

  --em-radius-sm: 8px;
  --em-radius-md: 14px;
  --em-radius-pill: 999px;

  --em-shadow-sm: 0 2px 6px rgba(15, 23, 42, 0.06);
  --em-shadow-md: 0 10px 24px -8px rgba(15, 23, 42, 0.14);
  --em-shadow-brand: 0 12px 28px -10px rgba(243, 146, 0, 0.40);

  --em-font-sans: "Inter", "InterVariable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --em-font-display: "Manrope", "ManropeVariable", "Inter", system-ui, sans-serif;

  --em-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --em-t: 220ms var(--em-ease);
}

/* =================================================================
   TIPOGRAFIE — font mai mare, fără culori forțate
   ================================================================= */
html body.em-modern,
html body.em-modern p,
html body.em-modern li,
html body.em-modern .elementor-widget-text-editor {
  font-family: var(--em-font-sans) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html body.em-modern {
  font-size: 17px !important;
  line-height: 1.7 !important;
}
@media (min-width: 768px) {
  html body.em-modern { font-size: 18px !important; }
}
@media (min-width: 1200px) {
  html body.em-modern { font-size: 19px !important; }
}

html body.em-modern p,
html body.em-modern .elementor-widget-text-editor {
  line-height: 1.75 !important;
}

/* Headings — Manrope bold, mai mari cu ~15% */
html body.em-modern h1,
html body.em-modern h2,
html body.em-modern h3,
html body.em-modern h4,
html body.em-modern h5,
html body.em-modern h6,
html body.em-modern .elementor-heading-title {
  font-family: var(--em-font-display) !important;
  letter-spacing: -0.025em !important;
  font-weight: 800 !important;
}

/* Scale headings up slightly via em (relative to parent) */
html body.em-modern h1,
html body.em-modern .elementor-widget-heading h1.elementor-heading-title {
  font-size: 1.15em !important;
}
html body.em-modern h2,
html body.em-modern .elementor-widget-heading h2.elementor-heading-title {
  font-size: 1.12em !important;
}

::selection { background: var(--em-brand-500); color: #fff; }

/* Anchor links nu trec sub header-ul sticky */
html { scroll-behavior: smooth; scroll-padding-top: 110px; }

/* Link-uri din conținut — urmează culoarea sesiunii, hover mai închis */
html body.em-modern a:not(.elementor-button):not(.hfe-menu-item):not(.elementor-social-icon) {
  color: var(--em-brand-600) !important;
}
html body.em-modern a:not(.elementor-button):not(.hfe-menu-item):not(.elementor-social-icon):hover {
  color: var(--em-brand-700) !important;
}

/* =================================================================
   BUTTONS — portocaliu din logo, mai cald, fără albastru
   ================================================================= */
html body.em-modern .elementor-button,
html body.em-modern .elementor-button-link,
html body.em-modern .hfe-button-wrapper a.hfe-button-link,
html body.em-modern .wp-block-button__link {
  font-family: var(--em-font-sans) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  letter-spacing: 0 !important;
  border-radius: var(--em-radius-pill) !important;
  transition: transform var(--em-t), box-shadow var(--em-t), filter var(--em-t) !important;
  box-shadow: var(--em-shadow-brand) !important;
  border: none !important;
  background: linear-gradient(135deg, var(--em-brand-500) 0%, var(--em-brand-700) 100%) !important;
  color: #FFFFFF !important;
  padding: 0.9em 2em !important;
}

html body.em-modern .elementor-button:hover,
html body.em-modern .wp-block-button__link:hover,
html body.em-modern .hfe-button-wrapper a.hfe-button-link:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.06);
  box-shadow: 0 16px 36px -12px rgba(243, 146, 0, 0.50) !important;
}

html body.em-modern .elementor-button:active {
  transform: translateY(0) !important;
}

/* =================================================================
   FORMS
   ================================================================= */
html body.em-modern .wpforms-field input[type="text"],
html body.em-modern .wpforms-field input[type="email"],
html body.em-modern .wpforms-field input[type="tel"],
html body.em-modern .wpforms-field input[type="url"],
html body.em-modern .wpforms-field input[type="number"],
html body.em-modern .wpforms-field textarea,
html body.em-modern .wpforms-field select,
html body.em-modern .elementor-field-group input.elementor-field,
html body.em-modern .elementor-field-group textarea.elementor-field,
html body.em-modern .elementor-field-group select.elementor-field {
  border-radius: var(--em-radius-md) !important;
  border: 1.5px solid var(--em-ink-200) !important;
  font-family: var(--em-font-sans) !important;
  font-size: 1rem !important;
  transition: border-color var(--em-t), box-shadow var(--em-t);
}

html body.em-modern .wpforms-field input:focus,
html body.em-modern .wpforms-field textarea:focus,
html body.em-modern .elementor-field:focus {
  outline: none !important;
  border-color: var(--em-brand-500) !important;
  box-shadow: 0 0 0 4px var(--em-brand-50) !important;
}

/* =================================================================
   IMAGES
   ================================================================= */
html body.em-modern .elementor-widget-image > .elementor-widget-container > img,
html body.em-modern .elementor-widget-image > .elementor-widget-container > a > img,
html body.em-modern .wp-block-image img {
  border-radius: var(--em-radius-md);
}

/* =================================================================
   HERO (18a8aeb) — scrim întunecat pt lizibilitate text alb peste foto.
   Garantat lizibil indiferent de culoarea sesiunii sau de imagine.
   ================================================================= */
html body.em-modern .elementor-element-18a8aeb {
  position: relative;
}
html body.em-modern .elementor-element-18a8aeb > .elementor-background-overlay {
  /* peste overlay-ul Elementor existent, adăugăm un degrade lizibil */
  background-image: linear-gradient(100deg, rgba(8, 13, 26, 0.74) 0%, rgba(8, 13, 26, 0.50) 42%, rgba(8, 13, 26, 0.18) 100%) !important;
  opacity: 1 !important;
}
/* fallback dacă nu există .elementor-background-overlay */
html body.em-modern .elementor-element-18a8aeb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(8, 13, 26, 0.55) 0%, rgba(8, 13, 26, 0.28) 45%, rgba(8, 13, 26, 0.05) 100%);
  z-index: 0;
  pointer-events: none;
}
html body.em-modern .elementor-element-18a8aeb > .elementor-container {
  position: relative;
  z-index: 2;
}
/* Textul hero: alb cu o umbră subtilă pt contrast suplimentar */
html body.em-modern .elementor-element-18a8aeb .elementor-heading-title,
html body.em-modern .elementor-element-18a8aeb .elementor-widget-text-editor,
html body.em-modern .elementor-element-18a8aeb p {
  color: #FFFFFF !important;
  text-shadow: 0 1px 12px rgba(8, 13, 26, 0.35);
}

/* =================================================================
   HEADER — sticky, compact, separat vizual
   ================================================================= */
html body.em-modern .hfe-header,
html body.em-modern header.site-header,
html body.em-modern .elementor-location-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  transition: box-shadow var(--em-t), border-color var(--em-t);
  border-bottom: 1px solid var(--em-ink-200) !important;
  background: #FFFFFF !important;
}

/* Header interior: padding doar jos, sus lipit de edge */
html body.em-modern .elementor-location-header .elementor-container,
html body.em-modern .elementor-location-header .elementor-section .elementor-container,
html body.em-modern .hfe-header .elementor-container {
  padding-top: 0 !important;
  padding-bottom: 0.5rem !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Body: zero margin sus */
html body.em-modern {
  margin: 0 !important;
  padding-top: 0 !important;
}

/* Header: zero gap, fundal solid alb opac, nicio transparență */
html body.em-modern .hfe-header,
html body.em-modern header.site-header,
html body.em-modern .elementor-location-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
  background: #FFFFFF !important;
}

/* Secțiunea Elementor din header: fundal alb solid, zero margin sus */
html body.em-modern .elementor-location-header .elementor-section,
html body.em-modern .elementor-location-header .elementor-top-section,
html body.em-modern .elementor-location-header > .elementor > .elementor-section {
  margin-top: 0 !important;
  padding-top: 0.4rem !important;
  background-color: #FFFFFF !important;
}

/* Skip-link (element invizibil deasupra header-ului) */
html body.em-modern .skip-link {
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden;
}

/* Logo — mai mare, zero padding/margin, doar 2px sus/jos */
html body.em-modern .elementor-location-header .elementor-widget-image,
html body.em-modern .hfe-header .elementor-widget-image {
  margin: 0 !important;
  padding: 2px 0 !important;
}
html body.em-modern .elementor-location-header .elementor-widget-image .elementor-widget-container,
html body.em-modern .hfe-header .elementor-widget-image .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}
html body.em-modern .elementor-location-header .elementor-widget-image img,
html body.em-modern .hfe-header .elementor-widget-image img,
html body.em-modern .elementor-location-header .hfe-site-logo img {
  max-height: 90px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.em-modern.em-scrolled .hfe-header,
html body.em-modern.em-scrolled header.site-header,
html body.em-modern.em-scrolled .elementor-location-header {
  box-shadow: 0 4px 20px -8px rgba(15, 23, 42, 0.12);
  border-bottom-color: var(--em-ink-300) !important;
}

/* =================================================================
   NAV MENU — CURAT, integrat, fără albastru.
   Text negru/gri, hover cu bar portocaliu jos, current page subliniat.
   ================================================================= */
html body.em-modern .hfe-nav-menu .menu-item > a,
html body.em-modern .elementor-nav-menu .menu-item > a,
html body.em-modern .hfe-nav-menu > ul > li > a,
html body.em-modern .elementor-nav-menu > ul > li > a {
  font-family: var(--em-font-display) !important;
  font-size: 1.2rem !important;   /* ~19px bază */
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  color: var(--em-ink-700) !important;
  padding: 0.8em 1.2em !important;
  position: relative;
  transition: color var(--em-t) !important;
}

@media (min-width: 1024px) {
  html body.em-modern .hfe-nav-menu .menu-item > a,
  html body.em-modern .elementor-nav-menu .menu-item > a,
  html body.em-modern .hfe-nav-menu > ul > li > a,
  html body.em-modern .elementor-nav-menu > ul > li > a {
    font-size: 1.35rem !important;   /* ~21.5px */
    padding: 0.8em 1.3em !important;
  }
}

/* Bar portocaliu jos (indicator) — hidden by default, apare pe hover + current */
html body.em-modern .hfe-nav-menu .menu-item > a::after,
html body.em-modern .elementor-nav-menu .menu-item > a::after {
  content: "";
  position: absolute;
  left: 20%;
  right: 20%;
  bottom: 0.2em;
  height: 3px;
  background: var(--em-brand-500);
  border-radius: var(--em-radius-pill);
  transform: scaleX(0);
  transition: transform var(--em-t);
  pointer-events: none;
}

/* Hover */
html body.em-modern .hfe-nav-menu .menu-item > a:hover,
html body.em-modern .elementor-nav-menu .menu-item > a:hover {
  color: var(--em-ink-900) !important;
}
html body.em-modern .hfe-nav-menu .menu-item > a:hover::after,
html body.em-modern .elementor-nav-menu .menu-item > a:hover::after {
  transform: scaleX(1);
}

/* Current page — buton evidențiat cu culoarea sesiunii (brand) */
html body.em-modern .hfe-nav-menu .menu-item.current-menu-item > a,
html body.em-modern .hfe-nav-menu .menu-item.current_page_item > a,
html body.em-modern .elementor-nav-menu .menu-item.current-menu-item > a,
html body.em-modern .elementor-nav-menu .menu-item.current_page_item > a {
  background: linear-gradient(135deg, var(--em-brand-500) 0%, var(--em-brand-600) 100%) !important;
  color: #FFFFFF !important;
  border-radius: var(--em-radius-pill) !important;
  padding: 0.65em 1.4em !important;
  box-shadow: var(--em-shadow-brand) !important;
  font-weight: 700 !important;
}
html body.em-modern .hfe-nav-menu .menu-item.current-menu-item > a::after,
html body.em-modern .hfe-nav-menu .menu-item.current_page_item > a::after,
html body.em-modern .elementor-nav-menu .menu-item.current-menu-item > a::after,
html body.em-modern .elementor-nav-menu .menu-item.current_page_item > a::after {
  display: none !important; /* nu mai trebuie bar — avem pill */
}

@media (max-width: 1023px) {
  html body.em-modern .hfe-nav-menu .menu-item > a,
  html body.em-modern .elementor-nav-menu .menu-item > a {
    font-size: 1rem !important;
  }
}

/* =================================================================
   MOBIL MENU — modern, strict, elegant 2026
   ================================================================= */

/* Hamburger toggle — clean, minimal */
html body.em-modern .hfe-nav-menu__toggle {
  padding: 0.5rem !important;
  border: none !important;
  background: transparent !important;
}

html body.em-modern .hfe-nav-menu-icon i,
html body.em-modern .hfe-nav-menu-icon svg {
  font-size: 1.6rem !important;
  color: var(--em-ink-800) !important;
}

@media (max-width: 1023px) {

  /* Header layout: logo stânga, hamburger dreapta */
  html body.em-modern .elementor-location-header .elementor-section > .elementor-container,
  html body.em-modern .elementor-location-header .elementor-top-section > .elementor-container {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  /* Ambele coloane: auto width, nu 50% */
  html body.em-modern .elementor-location-header .elementor-col-50 {
    width: auto !important;
    flex: none !important;
  }

  /* Logo column (491c971c): stânga */
  html body.em-modern .elementor-location-header .elementor-element-491c971c {
    order: 1 !important;
  }

  /* Menu column (7a4cbf13): dreapta */
  html body.em-modern .elementor-location-header .elementor-element-7a4cbf13 {
    order: 2 !important;
    text-align: right !important;
  }

  /* Toggle hamburger: aliniat dreapta */
  html body.em-modern .hfe-nav-menu__toggle {
    margin-left: auto !important;
  }
  /* Reseteaza rounded borders — strict, edge-to-edge */
  html body.em-modern .hfe-nav-menu__layout-horizontal .menu-item ul,
  html body.em-modern nav.hfe-nav-menu__layout-horizontal,
  html body.em-modern .hfe-dropdown,
  html body.em-modern .hfe-nav-menu__layout-horizontal .sub-menu {
    border-radius: 0 !important;
  }

  /* Meniu deschis: fundal alb solid, full width, shadow elegant */
  html body.em-modern .hfe-nav-menu__layout-horizontal ul.menu {
    background: #FFFFFF !important;
    border: none !important;
    border-radius: 0 !important;
    border-top: 2px solid var(--em-brand-500) !important;
    box-shadow: 0 16px 48px -16px rgba(15, 23, 42, 0.18) !important;
    padding: 0.5rem 0 !important;
    width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
  }

  /* Item-uri de meniu pe mobil — mari, curat spațiate */
  html body.em-modern .hfe-nav-menu .menu-item > a,
  html body.em-modern .hfe-nav-menu > ul > li > a {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    padding: 1rem 1.5rem !important;
    border-bottom: 1px solid var(--em-ink-100) !important;
    border-radius: 0 !important;
    display: block !important;
    color: var(--em-ink-800) !important;
    transition: background var(--em-t), color var(--em-t), padding-left var(--em-t) !important;
  }

  /* Ultimul item: fără border */
  html body.em-modern .hfe-nav-menu .menu-item:last-child > a {
    border-bottom: none !important;
  }

  /* Hover pe mobil: indent subtil + accent stânga */
  html body.em-modern .hfe-nav-menu .menu-item > a:hover {
    background: var(--em-ink-50) !important;
    padding-left: 2rem !important;
    color: var(--em-ink-900) !important;
  }

  /* Current page pe mobil: bordură stânga accent, font bold */
  html body.em-modern .hfe-nav-menu .menu-item.current-menu-item > a,
  html body.em-modern .hfe-nav-menu .menu-item.current_page_item > a {
    background: var(--em-brand-50) !important;
    border-left: 4px solid var(--em-brand-500) !important;
    color: var(--em-ink-900) !important;
    font-weight: 700 !important;
    padding-left: calc(1.5rem - 4px) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Bar-ul ::after: dezactivat pe mobil */
  html body.em-modern .hfe-nav-menu .menu-item > a::after {
    display: none !important;
  }

  /* Logo pe mobil: puțin mai mic */
  html body.em-modern .elementor-location-header .elementor-widget-image img {
    max-height: 60px !important;
  }

  /* H1 pe mobil: nu se suprapune pe text */
  html body.em-modern h1,
  html body.em-modern .elementor-heading-title {
    font-size: 1em !important;
    line-height: 1.25 !important;
    margin-bottom: 0.75rem !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  html body.em-modern h2 {
    font-size: 0.95em !important;
    line-height: 1.25 !important;
    margin-bottom: 0.6rem !important;
  }

  html body.em-modern h3 {
    line-height: 1.3 !important;
    margin-bottom: 0.5rem !important;
  }
}

/* =================================================================
   CONTENT LAYOUT — secțiuni, coloane text+imagine, carduri
   Organizare vizuală, spacing generos, responsive corect.
   ================================================================= */

/* --- Secțiuni principale: full width, fără constrangere --- */
html body.em-modern .elementor-top-section > .elementor-container {
  max-width: 100%;
}

/* --- Coloane 50/50 (text + imagine): spațiu normal --- */
html body.em-modern .elementor-top-section .elementor-col-50 > .elementor-element-populated {
  padding: 1rem;
}

/* --- Text widgets: evidențiat cu margine stângă accent --- */
html body.em-modern .elementor-col-50 .elementor-widget-text-editor > .elementor-widget-container {
  border-left: 3px solid var(--em-brand-500);
  padding-left: 1.25rem;
  border-radius: 2px;
}

/* --- Imagini în coloane: rounded, shadow subtil, puțin mai mici --- */
html body.em-modern .elementor-col-50 .elementor-widget-image img {
  border-radius: var(--em-radius-md);
  box-shadow: var(--em-shadow-sm);
  max-width: 85%;
  height: auto;
  object-fit: cover;
}

/* --- Headings în secțiuni: spațiu sub ele --- */
html body.em-modern .elementor-top-section .elementor-widget-heading {
  margin-bottom: 0.5rem;
}

/* --- Secțiuni alternante: fundal gri deschis pe pare (ritm vizual) --- */
html body.em-modern .elementor-top-section:nth-of-type(even):not([style*="background"]) {
  background: var(--em-ink-50);
}

/* --- Spacing vertical între secțiuni: minimal --- */

/* --- Coloane 25% (banci, parteneri): centrate, spacing uniform --- */
html body.em-modern .elementor-col-25 > .elementor-element-populated {
  padding: 0.75rem;
  text-align: center;
}

html body.em-modern .elementor-col-25 .elementor-widget-image img {
  border-radius: var(--em-radius-sm);
  max-height: 80px;
  width: auto;
  margin: 0 auto;
}

/* --- Icon list (telefon, email etc.): spacing mai bun --- */
html body.em-modern .elementor-widget-icon-list .elementor-icon-list-items {
  gap: 0.5em;
}

html body.em-modern .elementor-widget-icon-list .elementor-icon-list-item {
  padding: 0.3em 0;
}

/* =================================================================
   RESPONSIVE — mobil + tabletă
   ================================================================= */

/* Tabletă: 768-1023px */
@media (min-width: 768px) and (max-width: 1023px) {
  html body.em-modern .elementor-col-25 {
    width: 50% !important;
  }
}

/* Mobil: sub 767px */
@media (max-width: 767px) {
  /* Coloane 50 se stivuiesc vertical */
  html body.em-modern .elementor-col-50 {
    width: 100% !important;
  }

  /* Ordine: imaginea să apară PRIMA pe mobil (vizual mai atractiv) */
  html body.em-modern .elementor-top-section .elementor-row {
    display: flex;
    flex-direction: column;
  }

  /* Coloana cu imagine primește order -1 dacă are imagine */
  html body.em-modern .elementor-col-50:has(.elementor-widget-image) {
    order: -1;
  }

  /* Coloane 25 devin 50% pe mobil */
  html body.em-modern .elementor-col-25 {
    width: 50% !important;
  }

  /* Imagini pe mobil: puțin mai mici */
  html body.em-modern .elementor-col-50 .elementor-widget-image img {
    max-width: 80%;
    margin-bottom: 0.75rem;
  }
}

/* =================================================================
   SECȚIA CTA "INTRAȚI ÎN LEGĂTURĂ" (6ad9a431)
   ================================================================= */
html body.em-modern .elementor-element-6ad9a431 {
  position: relative;
}
html body.em-modern .elementor-element-6ad9a431::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.80);
  z-index: 0;
  pointer-events: none;
}
html body.em-modern .elementor-element-6ad9a431 > .elementor-container,
html body.em-modern .elementor-element-6ad9a431 > .elementor-column-gap-default {
  position: relative;
  z-index: 1;
}

/* =================================================================
   FOOTER — secția 5631dfa7: fundal întunecat, coloane egale,
   tipografie curată, spacing uniform.
   ================================================================= */

/* Fundal elegant dark navy */
html body.em-modern .elementor-element-5631dfa7 {
  background: linear-gradient(180deg, var(--em-ink-900) 0%, #060A14 100%) !important;
  padding: 3rem 0 2rem !important;
  position: relative;
}

/* Accent line sus */
html body.em-modern .elementor-element-5631dfa7::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--em-brand-500), var(--em-brand-600));
  pointer-events: none;
}

/* Coloane — forțăm 33% egal (erau 25% = 75% total, 25% gol) */
html body.em-modern .elementor-element-5631dfa7 .elementor-col-25 {
  width: 33.333% !important;
}

/* Tot textul din footer: alb / gri deschis */
html body.em-modern .elementor-element-5631dfa7,
html body.em-modern .elementor-element-5631dfa7 * {
  color: var(--em-ink-300) !important;
}

/* Headings din footer (Linkuri utile, Banci partenere, Contact) */
html body.em-modern .elementor-element-5631dfa7 .elementor-heading-title {
  color: #FFFFFF !important;
  font-family: var(--em-font-display) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase;
  text-align: left !important;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid rgba(255,255,255,0.12);
  display: inline-block;
}

/* Toate widget-urile din footer: text-align left */
html body.em-modern .elementor-element-5631dfa7 .elementor-widget {
  text-align: left !important;
}
html body.em-modern .elementor-element-5631dfa7 .elementor-widget-container {
  text-align: left !important;
}
html body.em-modern .elementor-element-5631dfa7 .elementor-widget-heading .elementor-widget-container {
  text-align: left !important;
}

/* Banci partenere sub-headings (BCR, BRD, etc.) — mai mici, fără border */
html body.em-modern .elementor-element-5631dfa7 .elementor-col-25:nth-child(3) .elementor-heading-title {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  text-transform: none;
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0.25rem;
  color: var(--em-ink-300) !important;
  opacity: 0.85;
}
/* Păstrăm titlul "Banci partenere" mare */
html body.em-modern .elementor-element-5631dfa7 .elementor-col-25:nth-child(3) .elementor-widget-heading:first-child .elementor-heading-title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  border-bottom: 2px solid rgba(255,255,255,0.12);
  padding-bottom: 0.5rem;
  margin-bottom: 0.75rem;
  color: #FFFFFF !important;
  opacity: 1;
}

/* Link-uri din footer — culoarea sesiunii, luminată pt contrast pe navy.
   :not() ridică specificitatea peste regula linkurilor de conținut. */
html body.em-modern .elementor-element-5631dfa7 a:not(.elementor-button):not(.elementor-social-icon) {
  color: var(--em-brand-500) !important; /* fallback */
  color: color-mix(in srgb, var(--em-brand-500) 62%, #ffffff) !important;
  transition: color var(--em-t);
}
html body.em-modern .elementor-element-5631dfa7 a:not(.elementor-button):not(.elementor-social-icon):hover {
  color: #FFFFFF !important;
}

/* Logo din footer — lățime rezonabilă */
html body.em-modern .elementor-element-5631dfa7 .elementor-widget-image img {
  max-width: 160px !important;
  height: auto;
  filter: brightness(0) invert(1);
  opacity: 0.85;
  margin-bottom: 1rem;
}

/* ANPC badges — mai mici, inline */
html body.em-modern .elementor-element-5631dfa7 .elementor-col-25:nth-child(2) .elementor-widget-image img {
  max-width: 90px !important;
  filter: none;
  opacity: 1;
  display: inline-block;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  border-radius: 4px;
}

/* Social icons */
html body.em-modern .elementor-element-5631dfa7 .elementor-social-icon {
  background: rgba(255,255,255,0.1) !important;
  border-radius: 50% !important;
  transition: background var(--em-t);
}
html body.em-modern .elementor-element-5631dfa7 .elementor-social-icon:hover {
  background: var(--em-brand-500) !important;
}
html body.em-modern .elementor-element-5631dfa7 .elementor-social-icon svg,
html body.em-modern .elementor-element-5631dfa7 .elementor-social-icon i {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}

/* Icon list (adresă, email, telefon) */
html body.em-modern .elementor-element-5631dfa7 .elementor-icon-list-item {
  padding: 0.35em 0;
}
html body.em-modern .elementor-element-5631dfa7 .elementor-icon-list-icon i,
html body.em-modern .elementor-element-5631dfa7 .elementor-icon-list-icon svg {
  color: var(--em-brand-500) !important;
  fill: var(--em-brand-500) !important;
}
html body.em-modern .elementor-element-5631dfa7 .elementor-icon-list-text {
  font-size: 0.9rem !important;
}

/* Copyright — textul cu global-marketing.ro link-ul se ascunde */
html body.em-modern .elementor-element-5631dfa7 a[href*="global-marketing"] {
  font-size: 0 !important;
  line-height: 0 !important;
  visibility: hidden;
  height: 0;
  display: block;
  overflow: hidden;
}

/* Text editor din footer (copyright) */
html body.em-modern .elementor-element-5631dfa7 .elementor-widget-text-editor {
  font-size: 0.8rem !important;
  opacity: 0.6;
  margin-top: 1rem;
}

/* Responsive footer */
@media (max-width: 767px) {
  html body.em-modern .elementor-element-5631dfa7 .elementor-col-25 {
    width: 100% !important;
    margin-bottom: 1.5rem;
    text-align: center;
  }
  html body.em-modern .elementor-element-5631dfa7 .elementor-heading-title {
    display: block;
  }
  html body.em-modern .elementor-element-5631dfa7 .elementor-widget-image img {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  html body.em-modern .elementor-element-5631dfa7 .elementor-col-25 {
    width: 50% !important;
    margin-bottom: 1.5rem;
  }
}

/* Copyright bar (38741ab) — aceeași culoare ca footer-ul */
html body.em-modern .elementor-element-38741ab {
  background: #060A14 !important;
  padding: 1rem 0 !important;
  border-top: 1px solid rgba(255,255,255,0.08);
}
html body.em-modern .elementor-element-38741ab,
html body.em-modern .elementor-element-38741ab * {
  color: var(--em-ink-500) !important;
  font-size: 0.85rem !important;
}
html body.em-modern .elementor-element-38741ab a:not(.elementor-button):not(.elementor-social-icon) {
  color: var(--em-ink-300) !important;
}
html body.em-modern .elementor-element-38741ab .elementor-widget {
  text-align: center !important;
}
html body.em-modern .elementor-element-38741ab .elementor-widget-container {
  text-align: center !important;
}

/* =================================================================
   FORMULAR CONTACT — card cu shadow, câmpuri mari, buton vizibil
   ================================================================= */

/* Container formular — card alb cu shadow, rounded */
html body.em-modern .elementor-element-241a822 {
  background: #FFFFFF;
  border-radius: var(--em-radius-md);
  box-shadow: 0 8px 32px -12px rgba(15, 23, 42, 0.12);
  padding: 2rem 2rem 1.5rem !important;
  border: 1px solid var(--em-ink-100);
}

/* Heading-ul formularului */
html body.em-modern .elementor-element-756c1e66 .elementor-heading-title {
  font-size: 1.5rem !important;
  margin-bottom: 0.5rem !important;
}

/* Label-uri mai vizibile */
html body.em-modern .elementor-element-241a822 .elementor-field-label {
  font-family: var(--em-font-display) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  color: var(--em-ink-800) !important;
  margin-bottom: 0.4em !important;
}

/* Câmpuri input — mai mari, fundal ușor gri */
html body.em-modern .elementor-element-241a822 input.elementor-field,
html body.em-modern .elementor-element-241a822 textarea.elementor-field {
  border-radius: var(--em-radius-sm) !important;
  border: 1.5px solid var(--em-ink-200) !important;
  background: var(--em-ink-50) !important;
  padding: 0.9em 1.1em !important;
  font-size: 1rem !important;
  font-family: var(--em-font-sans) !important;
  transition: border-color var(--em-t), box-shadow var(--em-t), background var(--em-t);
  color: var(--em-ink-900) !important;
}

html body.em-modern .elementor-element-241a822 textarea.elementor-field {
  min-height: 140px !important;
  resize: vertical;
}

html body.em-modern .elementor-element-241a822 input.elementor-field:focus,
html body.em-modern .elementor-element-241a822 textarea.elementor-field:focus {
  border-color: var(--em-brand-500) !important;
  box-shadow: 0 0 0 4px var(--em-brand-50) !important;
  background: #FFFFFF !important;
  outline: none !important;
}

/* Checkbox acceptare — mai mic, discret */
html body.em-modern .elementor-element-241a822 .elementor-field-type-acceptance {
  font-size: 0.8rem !important;
  color: var(--em-ink-500) !important;
  line-height: 1.4 !important;
  margin-top: 0.5rem;
}
html body.em-modern .elementor-element-241a822 .elementor-field-type-acceptance label {
  font-weight: 400 !important;
  font-size: 0.8rem !important;
  color: var(--em-ink-500) !important;
}

/* Buton submit — mare, proeminent */
html body.em-modern .elementor-element-241a822 .elementor-button[type="submit"],
html body.em-modern .elementor-element-241a822 button.elementor-button {
  font-size: 1.1rem !important;
  padding: 1em 2.5em !important;
  margin-top: 0.75rem !important;
  width: auto !important;
  min-width: 200px;
}

/* Spacing între câmpuri */
html body.em-modern .elementor-element-241a822 .elementor-field-group {
  margin-bottom: 1rem !important;
}

/* Responsive formular */
@media (max-width: 767px) {
  html body.em-modern .elementor-element-241a822 {
    padding: 1.25rem 1rem 1rem !important;
  }
  html body.em-modern .elementor-element-241a822 .elementor-button[type="submit"],
  html body.em-modern .elementor-element-241a822 button.elementor-button {
    width: 100% !important;
  }
}

/* =================================================================
   MOBIL — strângem spațiul vertical excesiv (pagina e foarte lungă)
   ================================================================= */
@media (max-width: 767px) {
  /* Hero: mai puțin padding sus (header-ul sticky deja ocupă spațiu) */
  html body.em-modern .elementor-element-18a8aeb > .elementor-container {
    padding-top: 48px !important;
    padding-bottom: 28px !important;
  }
  /* Secțiuni CTA full-width cu padding mare: reducem ~40% */
  html body.em-modern .elementor-element-cf6627 > .elementor-container {
    padding-top: 64px !important;
    padding-bottom: 72px !important;
  }
  html body.em-modern .elementor-element-6ad9a431 > .elementor-container {
    padding-top: 56px !important;
    padding-bottom: 60px !important;
  }
}

/* =================================================================
   FOCUS — accessibility
   ================================================================= */
html body.em-modern *:focus-visible {
  outline: 3px solid var(--em-brand-500) !important;
  outline-offset: 3px !important;
  border-radius: var(--em-radius-sm);
}

/* =================================================================
   REDUCED MOTION
   ================================================================= */
@media (prefers-reduced-motion: reduce) {
  html body.em-modern *,
  html body.em-modern *::before,
  html body.em-modern *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}


/* =================================================================
   MOBIL — fix suprapunere imagini peste text (pagina Servicii, id 91)
   Secțiunile de servicii sunt rânduri pe 2 coloane: imagine | text.
   Pe mobil/tabletă coloanele se așază una sub alta (flex-wrap). Coloana
   cu imaginea (container flex) se prăbușea la înălțimea unui singur rând
   de text — widget-container moștenește height:100%, care în contextul
   flex prăbușit se rezolvă la ~line-height — iar poza (overflow:visible)
   se revărsa peste titlul și textul de dedesubt (ex. poza cu mașina
   peste „Evaluarea bunurilor mobile"). Scoatem coloana-imagine din
   contextul flex (display:block) și lăsăm containerul imaginii să-și ia
   înălțimea din conținut. Rezolvă toate cele 5 secțiuni afectate;
   layout-ul desktop (2 coloane) rămâne neschimbat (regula e doar ≤1023px).
   ================================================================= */
@media (max-width: 1023px) {
  html body.em-modern.elementor-page-91 .e-con:has(> .elementor-widget-image) {
    display: block !important;
  }
  html body.em-modern.elementor-page-91 .elementor-widget-image > .elementor-widget-container {
    height: auto !important;
  }
}


/* =================================================================
   MOBIL — header compact: logo stânga + hamburger dreapta pe un rând
   Pe ecrane înguste (~≤500px) meniul orizontal HFE (ascuns cu
   visibility:hidden dar rămas în flux) rezerva ~220px lățime, deci
   coloana cu hamburgerul nu mai încăpea lângă logo și trecea pe al
   doilea rând → header înalt (~190px) cu hamburgerul centrat și un
   spațiu gol mare (vizibil mai ales când meniul e deschis).
   Fix: scoatem meniul orizontal din flux (position:absolute — la
   deschidere HFE îl face oricum dropdown absolut) și strângem coloana
   de meniu la lățimea hamburgerului. Header redevine un singur rând
   (~105px); dropdown-ul se deschide curat sub el.
   ================================================================= */
@media (max-width: 1023px) {
  /* Meniul orizontal ascuns nu mai rezervă lățime în flux */
  html body.em-modern .elementor-location-header nav.hfe-nav-menu__layout-horizontal {
    position: absolute !important;
  }
  /* Coloana/widget-ul de meniu se strâng la lățimea hamburgerului */
  html body.em-modern .elementor-location-header .elementor-element-7a4cbf13,
  html body.em-modern .elementor-location-header .elementor-element-4c250729,
  html body.em-modern .elementor-location-header .elementor-element-4c250729 > .elementor-widget-container,
  html body.em-modern .elementor-location-header .elementor-element-4c250729 .hfe-nav-menu {
    width: auto !important;
    max-width: -moz-fit-content !important;
    max-width: fit-content !important;
    margin-left: auto !important;
  }
}
