/* RenovaVic — UI para widgets nativos de Elementor Pro.
   No sustituye la estructura de Elementor; solo presenta el menú nativo. */
:root{
  --rv-petroleo:#0B4D6B;
  --rv-turquesa:#00C6D7;
  --rv-celeste:#E6F7FB;
  --rv-blanco:#FFFFFF;
  --rv-tinta:#07374D;
  --rv-menu-shadow:0 10px 28px rgba(11,77,107,.10);
}

/* =========================================================
   ELEMENTOR 4 — WIDGET "MENU" (Nested Menu / .e-n-menu)
   ========================================================= */
.elementor-widget-n-menu .e-n-menu-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
}
.elementor-widget-n-menu .e-n-menu-item{margin:0!important;}
.elementor-widget-n-menu .e-n-menu-title-container{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:10px 16px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--rv-petroleo)!important;
  font-family:Montserrat,Inter,system-ui,sans-serif!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:-.015em!important;
  text-decoration:none!important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.elementor-widget-n-menu .e-n-menu-title-container:hover,
.elementor-widget-n-menu .e-n-menu-title-container:focus-visible{
  color:#007F8D!important;
  background:rgba(0,198,215,.10)!important;
  border-color:rgba(0,198,215,.22)!important;
  box-shadow:0 7px 18px rgba(0,198,215,.10)!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}
.elementor-widget-n-menu .e-n-menu-title-container[aria-current="page"],
.elementor-widget-n-menu .e-n-menu-title-container[aria-expanded="true"],
.elementor-widget-n-menu .e-current .e-n-menu-title-container,
.elementor-widget-n-menu .current-menu-item .e-n-menu-title-container,
.elementor-widget-n-menu .current_page_item .e-n-menu-title-container{
  color:var(--rv-petroleo)!important;
  background:linear-gradient(180deg,#F1FCFD 0%,var(--rv-celeste) 100%)!important;
  border-color:rgba(0,198,215,.28)!important;
  box-shadow:inset 0 -3px 0 var(--rv-turquesa),0 7px 18px rgba(11,77,107,.06)!important;
}
.elementor-widget-n-menu .e-n-menu-title-container .e-n-menu-dropdown-icon{
  margin-inline-start:6px!important;
  color:var(--rv-turquesa)!important;
}
.elementor-widget-n-menu .e-n-menu-content,
.elementor-widget-n-menu .e-n-menu-dropdown{
  overflow:hidden!important;
  border:1px solid rgba(11,77,107,.10)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 20px 55px rgba(11,77,107,.16)!important;
}
.elementor-widget-n-menu .e-n-menu-toggle{
  width:46px!important;
  height:46px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(11,77,107,.14)!important;
  border-radius:14px!important;
  color:var(--rv-petroleo)!important;
  background:#fff!important;
  box-shadow:var(--rv-menu-shadow)!important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease!important;
}
.elementor-widget-n-menu .e-n-menu-toggle[aria-expanded="true"]{
  color:#fff!important;
  background:var(--rv-petroleo)!important;
  border-color:var(--rv-petroleo)!important;
}

/* =========================================================
   COMPATIBILIDAD — WIDGET "WORDPRESS MENU / NAV MENU"
   ========================================================= */
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-nav-menu{
  align-items:center!important;
  gap:8px!important;
}
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:10px 16px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  color:var(--rv-petroleo)!important;
  background:transparent!important;
  font-family:Montserrat,Inter,system-ui,sans-serif!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:-.015em!important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{
  color:#007F8D!important;
  background:rgba(0,198,215,.10)!important;
  border-color:rgba(0,198,215,.22)!important;
  box-shadow:0 7px 18px rgba(0,198,215,.10)!important;
  transform:translateY(-1px)!important;
}
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-widget-nav-menu .elementor-nav-menu--main .current-menu-item>.elementor-item,
.elementor-widget-nav-menu .elementor-nav-menu--main .current_page_item>.elementor-item{
  color:var(--rv-petroleo)!important;
  background:linear-gradient(180deg,#F1FCFD 0%,var(--rv-celeste) 100%)!important;
  border-color:rgba(0,198,215,.28)!important;
  box-shadow:inset 0 -3px 0 var(--rv-turquesa),0 7px 18px rgba(11,77,107,.06)!important;
}
.elementor-widget-nav-menu .elementor-nav-menu--dropdown{
  overflow:hidden!important;
  border:1px solid rgba(11,77,107,.10)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 20px 55px rgba(11,77,107,.16)!important;
}
.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item{
  padding:12px 16px!important;
  border-radius:10px!important;
  color:var(--rv-petroleo)!important;
  font-weight:700!important;
}
.elementor-widget-nav-menu .elementor-menu-toggle{
  width:46px!important;
  height:46px!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(11,77,107,.14)!important;
  border-radius:14px!important;
  color:var(--rv-petroleo)!important;
  background:#fff!important;
  box-shadow:var(--rv-menu-shadow)!important;
}
.elementor-widget-nav-menu .elementor-menu-toggle.elementor-active{
  color:#fff!important;
  background:var(--rv-petroleo)!important;
}

/* =========================================================
   HOME RENOVAVIC V2 — DESKTOP
   ========================================================= */
.elementor-element-564beab7{align-items:stretch!important;}
.elementor-element-36f1ee1a,
.elementor-element-80101b8f,
.elementor-element-680289da,
.elementor-element-277ac8f1{
  width:calc(25% - 14px)!important;
  min-height:205px!important;
}
.elementor-element-42048426{margin-top:auto!important;}
.elementor-element-4661a18c{
  padding-top:68px!important;
  padding-bottom:68px!important;
}
.elementor-element-5227c8c5{overflow:hidden!important;}
.elementor-element-338d8dd9{min-height:148px!important;}
.elementor-element-2f2d2f3e img{max-width:285px!important;}
.elementor-element-6ccf4311,
.elementor-element-3d1b39af{margin-bottom:0!important;}

/* =========================================================
   TABLET — HOME + HEADER
   ========================================================= */
@media(max-width:1024px){
  .elementor-widget-n-menu .e-n-menu-wrapper,
  .elementor-widget-nav-menu .elementor-nav-menu--dropdown{
    margin-top:10px!important;
    padding:10px!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 20px 55px rgba(11,77,107,.16)!important;
  }
  .elementor-widget-n-menu .e-n-menu-heading{gap:4px!important;}
  .elementor-widget-n-menu .e-n-menu-item,
  .elementor-widget-n-menu .e-n-menu-title-container,
  .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item{width:100%!important;}
  .elementor-widget-n-menu .e-n-menu-title-container,
  .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item{
    justify-content:flex-start!important;
    min-height:46px!important;
    padding:11px 14px!important;
    border-radius:11px!important;
    font-size:15px!important;
  }

  .elementor-element-69c2671f,
  .elementor-element-f7d578d3,
  .elementor-element-3de96dd6,
  .elementor-element-e31dc420,
  .elementor-element-4661a18c,
  .elementor-element-81ae383b,
  .elementor-element-a154ade3,
  .elementor-element-338d8dd9{
    padding-left:26px!important;
    padding-right:26px!important;
  }

  .elementor-element-cec58f4d{width:54%!important;}
  .elementor-element-1bbcc279{width:46%!important;}
  .elementor-element-745c3ced .elementor-heading-title{font-size:46px!important;}

  .elementor-element-36f1ee1a,
  .elementor-element-80101b8f,
  .elementor-element-680289da,
  .elementor-element-277ac8f1{
    width:calc(50% - 10px)!important;
    min-height:190px!important;
  }

  .elementor-element-3868ae98,
  .elementor-element-1b370baf,
  .elementor-element-6da1677e,
  .elementor-element-5227c8c5,
  .elementor-element-b7e202c7,
  .elementor-element-1e44ee61{
    width:50%!important;
  }

  .elementor-element-3452565e{width:32%!important;}
  .elementor-element-f5cfee75,
  .elementor-element-a7b5307b{width:34%!important;}

  .elementor-element-008052ec img{max-width:280px!important;}
  .elementor-element-a5f90c97 img{max-width:390px!important;}
}

/* =========================================================
   MÓVIL — HOME COMPLETA + HEADER/HAMBURGUESA
   ========================================================= */
@media(max-width:767px){
  /* Header global: logo + hamburguesa; el CTA superior se oculta para no apretar la fila. */
  .elementor > .e-con:first-child{
    flex-wrap:nowrap!important;
    align-items:center!important;
    min-height:72px!important;
    padding:12px 18px!important;
    gap:10px!important;
  }
  .elementor > .e-con:first-child .elementor-widget-theme-site-logo{
    width:min(54vw,190px)!important;
    flex:0 1 auto!important;
  }
  .elementor > .e-con:first-child .elementor-widget-theme-site-logo img{
    width:100%!important;
    max-width:190px!important;
    height:auto!important;
  }
  .elementor > .e-con:first-child .elementor-widget-nav-menu,
  .elementor > .e-con:first-child .elementor-widget-n-menu{
    width:auto!important;
    margin-left:auto!important;
    flex:0 0 auto!important;
  }
  .elementor > .e-con:first-child .elementor-widget-button{display:none!important;}

  .elementor-widget-n-menu,
  .elementor-widget-nav-menu{width:auto!important;}
  .elementor-widget-n-menu .e-n-menu-toggle,
  .elementor-widget-nav-menu .elementor-menu-toggle{
    margin-left:auto!important;
    width:44px!important;
    height:44px!important;
    border-radius:13px!important;
  }
  .elementor-widget-n-menu .e-n-menu-wrapper,
  .elementor-widget-nav-menu .elementor-nav-menu--dropdown{
    width:min(330px,calc(100vw - 28px))!important;
    max-width:calc(100vw - 28px)!important;
    margin-top:10px!important;
    padding:10px!important;
  }

  /* Ritmo general */
  .elementor-element-69c2671f,
  .elementor-element-f7d578d3,
  .elementor-element-3de96dd6,
  .elementor-element-e31dc420,
  .elementor-element-4661a18c,
  .elementor-element-81ae383b,
  .elementor-element-a154ade3,
  .elementor-element-338d8dd9{
    padding-left:18px!important;
    padding-right:18px!important;
  }

  /* Hero */
  .elementor-element-69c2671f{
    padding-top:46px!important;
    padding-bottom:48px!important;
    gap:30px!important;
  }
  .elementor-element-cec58f4d,
  .elementor-element-1bbcc279{
    width:100%!important;
    max-width:100%!important;
  }
  .elementor-element-745c3ced .elementor-heading-title{
    font-size:38px!important;
    line-height:1.05!important;
  }
  .elementor-element-27d497b4{
    width:100%!important;
    gap:10px!important;
  }
  .elementor-element-92b3d257,
  .elementor-element-346f1d14{width:100%!important;}
  .elementor-element-92b3d257 .elementor-button,
  .elementor-element-346f1d14 .elementor-button{
    width:100%!important;
    min-height:48px!important;
    justify-content:center!important;
  }
  .elementor-element-1bbcc279{
    max-width:340px!important;
    margin:0 auto!important;
    padding:20px!important;
    border-radius:24px!important;
  }

  /* Servicios */
  .elementor-element-f7d578d3{
    padding-top:54px!important;
    padding-bottom:58px!important;
    gap:20px!important;
  }
  .elementor-element-8ca4e17e .elementor-heading-title{
    font-size:31px!important;
    line-height:1.12!important;
  }
  .elementor-element-a47cbe4{margin-bottom:8px!important;}
  .elementor-element-564beab7{gap:14px!important;}
  .elementor-element-36f1ee1a,
  .elementor-element-80101b8f,
  .elementor-element-680289da,
  .elementor-element-277ac8f1{
    width:100%!important;
    min-height:auto!important;
    padding:24px 22px!important;
    border-radius:18px!important;
  }
  .elementor-element-42048426{margin-top:8px!important;}

  /* Viajes */
  .elementor-element-3de96dd6{
    padding-top:54px!important;
    padding-bottom:54px!important;
    gap:32px!important;
  }
  .elementor-element-3868ae98,
  .elementor-element-1b370baf{
    width:100%!important;
    max-width:100%!important;
  }
  .elementor-element-af6ad55e{
    width:100%!important;
    gap:10px!important;
  }
  .elementor-element-af6ad55e .elementor-widget-button{width:100%!important;}
  .elementor-element-af6ad55e .elementor-button{
    width:100%!important;
    min-height:48px!important;
    justify-content:center!important;
  }
  .elementor-element-008052ec img{max-width:230px!important;}

  /* Ecosistema */
  .elementor-element-e31dc420{
    padding-top:56px!important;
    padding-bottom:58px!important;
  }
  .elementor-element-aa331a1a{
    gap:22px!important;
    align-items:stretch!important;
  }
  .elementor-element-f5cfee75,
  .elementor-element-3452565e,
  .elementor-element-a7b5307b{
    width:100%!important;
    max-width:100%!important;
  }
  .elementor-element-3452565e{
    order:-1!important;
    max-width:260px!important;
    margin:0 auto 6px!important;
    padding:22px!important;
  }
  .elementor-element-f5cfee75,
  .elementor-element-a7b5307b{
    background:#fff!important;
    border:1px solid rgba(11,77,107,.08)!important;
    border-radius:18px!important;
    padding:22px!important;
  }

  /* Conductores */
  .elementor-element-4661a18c{
    padding-top:56px!important;
    padding-bottom:56px!important;
    gap:30px!important;
  }
  .elementor-element-6da1677e,
  .elementor-element-5227c8c5{
    width:100%!important;
    max-width:100%!important;
  }
  .elementor-element-a7a60ff8{width:100%!important;}
  .elementor-element-a7a60ff8 .elementor-button{
    width:100%!important;
    min-height:48px!important;
    justify-content:center!important;
  }
  .elementor-element-5227c8c5{
    max-width:420px!important;
    margin:0 auto!important;
    padding:22px!important;
    border-radius:22px!important;
  }
  .elementor-element-a5f90c97 img{max-width:330px!important;}

  /* Sobre RenovaVic */
  .elementor-element-81ae383b{
    padding-top:54px!important;
    padding-bottom:54px!important;
    gap:28px!important;
  }
  .elementor-element-b7e202c7,
  .elementor-element-1e44ee61{
    width:100%!important;
    max-width:100%!important;
  }
  .elementor-element-b7e202c7{
    padding:22px!important;
    border-radius:20px!important;
  }
  .elementor-element-1e44ee61 .elementor-widget-button{width:100%!important;}
  .elementor-element-1e44ee61 .elementor-button{
    width:100%!important;
    min-height:48px!important;
    justify-content:center!important;
  }

  /* CTA final */
  .elementor-element-a154ade3{
    padding-top:50px!important;
    padding-bottom:50px!important;
    gap:14px!important;
  }
  .elementor-element-b56dbc03 .elementor-heading-title{
    font-size:30px!important;
    line-height:1.12!important;
  }
  .elementor-element-719e5b4b{width:100%!important;max-width:300px!important;}
  .elementor-element-719e5b4b .elementor-button{
    width:100%!important;
    min-height:48px!important;
    justify-content:center!important;
  }

  /* Footer */
  .elementor-element-338d8dd9{
    min-height:auto!important;
    padding-top:34px!important;
    padding-bottom:34px!important;
    gap:22px!important;
    text-align:center!important;
  }
  .elementor-element-6c14bcd2,
  .elementor-element-7ddf3575{
    width:100%!important;
    max-width:100%!important;
    align-items:center!important;
  }
  .elementor-element-2f2d2f3e{text-align:center!important;}
  .elementor-element-2f2d2f3e img{max-width:220px!important;}
  .elementor-element-6ccf4311 *,
  .elementor-element-3d1b39af *{text-align:center!important;}
}

@media(max-width:420px){
  .elementor > .e-con:first-child{padding-left:14px!important;padding-right:14px!important;}
  .elementor > .e-con:first-child .elementor-widget-theme-site-logo{width:min(58vw,172px)!important;}
  .elementor-element-745c3ced .elementor-heading-title{font-size:34px!important;}
  .elementor-element-8ca4e17e .elementor-heading-title,
  .elementor-element-f4136c95 .elementor-heading-title,
  .elementor-element-43f23395 .elementor-heading-title{font-size:29px!important;}
  .elementor-element-b56dbc03 .elementor-heading-title{font-size:28px!important;}
}
