/*
Theme Name: Porto
Theme URI: https://www.portotheme.com/wordpress/porto
Author: P-THEMES
Author URI: https://www.portotheme.com/
Description: Porto Responsive Wordpress Multi Purpose + eCommerce Theme.
Version: 7.7.2
License: GNU General Public License version 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Tags: woocommerce, business, corporate, e-commerce, blog, news, education, food-and-drink, portfolio, responsive, blue, black, green, white, light, dark, red, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready, block-styles, custom-background, custom-colors, custom-header, custom-logo, footer-widgets, template-editing, grid-layout, one-column, wide-blocks
Text Domain: porto
*/

/*************** ADD YOUR CUSTOM CSS HERE  ***************/

.bypostauthor { display: block; }

/* =========================================================
   MENU - FIX: remove dependency on .sub-arrow on top-level
   ========================================================= */

/* 0) Keep Elementor sub-arrow hidden (avoid duplicate arrows) */
.main-nav .sub-arrow svg{
  display: none !important;
}
.main-nav .sub-arrow{
  display: none !important;
}

/* 1) TOP LEVEL: stable caret on the <a> (no JS dependency) */
.main-nav .elementor-nav-menu > li.menu-item-has-children{
  position: relative !important;
}

/* Reserve space for the arrow and draw it as a background image */
.main-nav .elementor-nav-menu > li.menu-item-has-children > a.elementor-item{
  padding-right: 18px !important;
  background-image: url("https://estrategor.way.pt/wp-content/uploads/2026/01/caret-down-2.svg");
  background-repeat: no-repeat;
  background-position: right 0px center;
  background-size: 14px 14px;
}

/* =========================================================
   SUBMENUS
   ========================================================= */

.main-nav ul.sub-menu.elementor-nav-menu--dropdown{
  min-width: 20em !important;
}

/* ============================================
   MENU - Elementor underline (thin and short)
   ============================================ */

.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li > a.elementor-item{
  display: inline-flex !important;
  width: fit-content !important;
}

/* make sure it does not stretch due to flex */
.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li{
  display: flex;
}

/* underline color + base animation */
.main-nav .elementor-nav-menu--main.e--pointer-underline 
.elementor-item::before,
.main-nav .elementor-nav-menu--main.e--pointer-underline 
.elementor-item::after{
  background-color: #7AC943 !important;
  transform-origin: center;
}

/* underline (base state hidden) */
.main-nav .elementor-nav-menu--main.e--pointer-underline 
.elementor-item::after{
  height: 1px !important;
  bottom: 12px !important;
  transform: scaleX(0);
  transition: transform .25s cubic-bezier(.4,0,.2,1);
}

/* hover - grows from center to sides */
.main-nav .elementor-nav-menu--main.e--pointer-underline 
.elementor-item:hover::after{
  transform: scaleX(1);
}

/* only top-level links */
.main-nav .elementor-nav-menu--main 
> .elementor-nav-menu 
> li 
> a.elementor-item{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* keep padding on sub-menus */
.main-nav .elementor-nav-menu--main 
.sub-menu 
a.elementor-sub-item{
  padding-left: initial;
  padding-right: initial;
}

.main-nav .elementor-nav-menu--main.elementor-nav-menu__container{
  position: relative;
}

/* first-level submenu: anchor to bottom of NAV */
.main-nav .elementor-nav-menu--main.elementor-nav-menu__container
> .elementor-nav-menu
> li
> .sub-menu.elementor-nav-menu--dropdown{
  top: calc(100% + 26px) !important;
  left: 0 !important;
  margin-top: 0 !important;
}

/* =========================================================
   DROPDOWN - avoid overlap on hover out
   ========================================================= */

.main-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item{
  position: relative;
  display: inline-block !important;
  padding-left: 0 !important;
  transition: padding-left 0.25s cubic-bezier(.4,0,.2,1) 0.14s !important;
  will-change: padding-left;
}

/* left icon in dropdown */
.main-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item::before{
  content: "";
  position: absolute;
  left: -2px;
  top: 50%;
  width: 14px;
  height: 14px;
  background: url("https://estrategor.way.pt/wp-content/uploads/2026/01/caret-right.svg") center/contain no-repeat;
  opacity: 0;
  transform: translateY(-50%);
  transition: none !important;
}

/* hover (entry) */
.main-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
.main-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item.highlighted{
  padding-left: 18px !important;
  transition-delay: 0s !important;
}

.main-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover::before{
  opacity: 1;
  transform: translateY(-50%);
  transition: opacity 0.18s ease 0s !important;
}

/* left padding for submenu */
.main-nav .elementor-nav-menu--main .sub-menu.elementor-nav-menu--dropdown{
  padding-left: 10px !important;
}

/* =========================================================
   SUBMENUS with nested submenus (levels inside dropdown)
   ========================================================= */

.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children > a .sub-arrow svg{
  display: none !important;
}

.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children > a .sub-arrow{
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children > a .sub-arrow::before{
  content: "";
  width: 14px;
  height: 14px;
  background: url("https://estrategor.way.pt/wp-content/uploads/2026/01/caret-right.svg") center/contain no-repeat;
  display: block;
  opacity: 1;
  transition: none !important;
}

/* on hover/highlighted, right icon disappears */
.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children > a:hover .sub-arrow::before,
.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children > a.highlighted .sub-arrow::before{
  opacity: 0;
}

/* align with text */
.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children > a{
  display: flex !important;
  align-items: center !important;
  gap: 10px;
}

.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children > a .sub-arrow{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px;
  height: 14px;
  padding: 0 !important;
}

.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children > a .sub-arrow::before{
  width: 14px;
  height: 14px;
  display: block;
}

/* =========================================================
   Sub-submenu (level 2)
   ========================================================= */

.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children{
  position: relative;
}

.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children > .sub-menu{
  position: absolute !important;
  top: 0 !important;
  left: 100% !important;
  margin-left: 0px !important;
  z-index: 9999 !important;
}

.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children > .sub-menu{
  top: calc(100% - 2%) !important; 
}

/* =========================================================
   FIX: SmartMenus highlighted should not "pause" when leaving hover
   ========================================================= */

.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children > a.elementor-sub-item.highlighted:not(:hover){
  padding-left: 0 !important;
}

.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children > a.elementor-sub-item{
  transition-delay: 0s !important;
}

.main-nav .elementor-nav-menu--main .sub-menu .menu-item-has-children > a.elementor-sub-item.highlighted:not(:hover)::before{
  opacity: 0 !important;
}

/* =========================================================
   Active item: hide underline only when NOT hovered
   ========================================================= */

.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li.current-menu-item > a.elementor-item:not(:hover)::before,
.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li.current-menu-item > a.elementor-item:not(:hover)::after,
.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li.current_page_item > a.elementor-item:not(:hover)::before,
.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li.current_page_item > a.elementor-item:not(:hover)::after,
.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li.current-menu-ancestor > a.elementor-item:not(:hover)::before,
.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li.current-menu-ancestor > a.elementor-item:not(:hover)::after,
.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li > a.elementor-item.elementor-item-active:not(:hover)::before,
.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li > a.elementor-item.elementor-item-active:not(:hover)::after{
  opacity: 0 !important;
  transform: scaleX(0) !important;
}

.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li > a.elementor-item:focus:not(:hover)::before,
.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li > a.elementor-item:focus:not(:hover)::after,
.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li > a.elementor-item:focus-visible:not(:hover)::before,
.main-nav .elementor-nav-menu--main.e--pointer-underline
.elementor-nav-menu > li > a.elementor-item:focus-visible:not(:hover)::after{
  opacity: 0 !important;
  transform: scaleX(0) !important;
}

/* submenu of submenu: remove radius on left side */
.main-nav .elementor-nav-menu--main .sub-menu .sub-menu{
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

/* reserve space on the right so underline does not go until the arrow */
.main-nav .elementor-nav-menu--main.e--pointer-underline{
  --arrow-space: 20px;
}

.main-nav .elementor-nav-menu--main.e--pointer-underline .elementor-item::before,
.main-nav .elementor-nav-menu--main.e--pointer-underline .elementor-item::after{
  width: calc(100% - var(--arrow-space)) !important;
  left: 0 !important;
}
