/*
 Theme Name: Hello Elementor Child
 Template:   hello-elementor
*/
 
:root {
  --cs-blue:    #2B3EE8;
  --cs-blue-l:  #EEF0FD;
  --cs-coral:   #FF5A3C;
  --cs-coral-l: #FFF1EE;
  --cs-ink:     #0D0F1A;
  --cs-ink4:    #9295A8;
  --cs-smoke:   #F4F5F8;
  --cs-smoke2:  #EAECF2;
}
 
/* ── COLOR MENÚ PRINCIPAL ─────────────────────────────────── */
.elementor-nav-menu--main .elementor-nav-menu > li > a {
  color: #565970 !important;
}
.elementor-nav-menu--main .elementor-nav-menu > li > a:hover,
.elementor-nav-menu--main .elementor-nav-menu > li.current-menu-item > a {
  color: #0D0F1A !important;
}
 
/* ── OVERFLOW ─────────────────────────────────────────────── */
.elementor-element-46df0c9,
.elementor-element-a53159d,
.elementor-element-a53159d .elementor-widget-container,
.elementor-nav-menu--main.elementor-nav-menu__container,
.elementor-nav-menu--main .menu-item-has-children {
  overflow: visible !important;
}
 
/* ── DROPDOWN — layout sin tocar display ──────────────────── */
.elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown {
  column-count: 2 !important;
  column-gap: 4px !important;
  padding: 12px !important;
  width: 600px !important;
  min-width: 600px !important;
  border-radius: 20px !important;
  border: 1px solid var(--cs-smoke2) !important;
  box-shadow: 0 8px 40px rgba(13,15,26,.12), 0 2px 8px rgba(13,15,26,.06) !important;
  background: #fff !important;
  list-style: none !important;
  margin: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
 
.elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown > li {
  break-inside: avoid !important;
  padding: 0 !important;
  margin: 0 0 2px 0 !important;
  border: none !important;
  background: none !important;
  float: none !important;
  display: block !important;
}
 
.elementor-nav-menu--main ul.sub-menu.elementor-nav-menu--dropdown > li > a:not(.drop-item) {
  display: none !important;
}
 
/* ── ÍTEM ─────────────────────────────────────────────────── */
.drop-item {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  padding: 11px 12px !important;
  border-radius: 14px !important;
  transition: background .15s !important;
  text-decoration: none !important;
  color: var(--cs-ink) !important;
  line-height: 1 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.drop-item:hover {
  background: var(--cs-smoke) !important;
}
 
/* ── ICONO ────────────────────────────────────────────────── */
.drop-ico {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  border-radius: 12px !important;
  background: var(--cs-blue-l) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  transition: background .15s !important;
}
.drop-item:hover .drop-ico {
  background: var(--cs-blue) !important;
}
.drop-ico img {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
  transition: filter .15s !important;
}
.drop-item:hover .drop-ico img {
  filter: brightness(0) invert(1) !important;
}
 
/* Variante coral */
.ico-ecommerce .drop-ico,
.ico-diseno-web .drop-ico,
.ico-google-ads .drop-ico {
  background: var(--cs-coral-l) !important;
}
.ico-ecommerce .drop-item:hover .drop-ico,
.ico-diseno-web .drop-item:hover .drop-ico,
.ico-google-ads .drop-item:hover .drop-ico {
  background: var(--cs-coral) !important;
}
 
/* ── TEXTO: nombre y descripción separados ────────────────── */
.drop-item > div {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}
 
.drop-name {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--cs-ink) !important;
  display: block !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
}
.drop-desc {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  color: var(--cs-ink4) !important;
  display: block !important;
  margin-top: 3px !important;
  line-height: 1.4 !important;
  padding: 0 !important;
  white-space: normal !important;
}
 
/* ── MOBILE ───────────────────────────────────────────────── */
nav.elementor-nav-menu--dropdown ul.sub-menu.elementor-nav-menu--dropdown {
  column-count: 1 !important;
  width: 100% !important;
  min-width: unset !important;
  border-radius: 0 !important;
  border: none !important;
  border-top: 1px solid var(--cs-smoke2) !important;
  box-shadow: none !important;
  padding: 8px 12px !important;
}
 
nav.elementor-nav-menu--dropdown ul.sub-menu.elementor-nav-menu--dropdown .drop-item {
  padding: 10px 8px !important;
  border-radius: 10px !important;
}
 
nav.elementor-nav-menu--dropdown ul.sub-menu.elementor-nav-menu--dropdown .drop-ico {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
}
 
nav.elementor-nav-menu--dropdown ul.sub-menu.elementor-nav-menu--dropdown .drop-ico img {
  width: 18px !important;
  height: 18px !important;
}
 
nav.elementor-nav-menu--dropdown ul.sub-menu.elementor-nav-menu--dropdown .drop-name {
  font-size: 14px !important;
}
 
nav.elementor-nav-menu--dropdown > ul > li > a {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--cs-ink) !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--cs-smoke2) !important;
  display: block !important;
}
 
/* ── SERVICIOS CARDS ──────────────────────────────────────── */
.srv-card {
  transition: box-shadow .2s, transform .2s !important;
}
.srv-card:hover {
  box-shadow: 0 6px 24px rgba(13,15,26,.1) !important;
  transform: translateY(-2px) !important;
}


