
/* v23 — micro-refinamentos de UI solicitados */

/* Page headers: retirar o ícone grande redundante, mantendo o badge/eyebrow com ícone */
.page-card {
  padding-left: 58px !important;
  min-height: 220px !important;
}
.page-card-icon {
  display: none !important;
}

/* SCROLL: agora é botão funcional, com ícone visível na bola */
.hero-scroll {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  cursor: pointer !important;
  user-select: none;
}
.hero-scroll .word {
  color: rgba(13,32,56,.72) !important;
  transition: color .28s ease, transform .28s ease;
}
.hero-scroll .line {
  position: relative;
  overflow: hidden;
  background: rgba(199,161,89,.38) !important;
}
.hero-scroll .line::after {
  content: "";
  position: absolute;
  left: 0;
  top: -30%;
  width: 1px;
  height: 34%;
  background: var(--gold);
  animation: scrollLine 1.55s ease-in-out infinite;
}
.hero-scroll .down {
  background: rgba(255,255,255,.72) !important;
  color: var(--gold) !important;
  box-shadow: 0 14px 30px rgba(8,40,71,.10), inset 0 0 0 1px rgba(255,255,255,.72);
  transition: transform .28s ease, background .28s ease, color .28s ease, border-color .28s ease;
}
.hero-scroll .down .fa-icon,
.hero-scroll .scroll-fa {
  display: block !important;
  font-size: 13px !important;
  line-height: 1 !important;
}
.hero-scroll:hover .word {
  color: var(--navy) !important;
  transform: translateY(-2px);
}
.hero-scroll:hover .down {
  transform: translateY(4px);
  background: var(--navy) !important;
  color: #fff !important;
  border-color: var(--navy) !important;
}
@keyframes scrollLine {
  0% { transform: translateY(-100%); opacity: 0; }
  25% { opacity: 1; }
  100% { transform: translateY(330%); opacity: 0; }
}

/* Social rail: sem circunferência; separadores leves; mais respiro */
.social-rail {
  right: 22px !important;
  top: 342px !important;
  background: rgba(255,255,255,.16) !important;
  box-shadow: none !important;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 0 !important;
  padding: 10px 0 !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.social-rail a {
  width: 44px !important;
  height: 46px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(8,40,71,.10) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--navy) !important;
}
.social-rail a:last-child {
  border-bottom: 0 !important;
}
.social-rail a:hover {
  color: var(--gold) !important;
  background: transparent !important;
  transform: translateY(-1px) scale(1.08) !important;
}
.social-rail .fa-icon {
  font-size: 15px !important;
}

/* Menu: hover menos básico, mais sofisticado e discreto */
.header-v22 .menu.menu-v22 > a,
.header-v22 .menu.menu-v22 .menu-trigger {
  isolation: isolate;
  overflow: hidden;
  border-radius: 18px !important;
  min-height: 42px !important;
  padding: 0 13px !important;
}
.header-v22 .menu.menu-v22 > a::before,
.header-v22 .menu.menu-v22 .menu-trigger::before {
  content: "";
  position: absolute;
  inset: 4px;
  z-index: -1;
  opacity: 0;
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,255,255,.54)),
    radial-gradient(circle at 18% 20%, rgba(199,155,66,.18), transparent 38%);
  border: 1px solid rgba(199,155,66,.18);
  box-shadow: 0 16px 34px rgba(4,18,38,.065);
  transform: translateY(4px) scale(.985);
  transition: opacity .26s ease, transform .26s ease;
}
.header-v22 .menu.menu-v22 > a:hover,
.header-v22 .menu.menu-v22 > a.active,
.header-v22 .menu.menu-v22 .menu-trigger:hover,
.header-v22 .menu.menu-v22 .menu-trigger.active,
.header-v22 .menu.menu-v22 .has-dropdown.active .menu-trigger {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  transform: translateY(-1px);
}
.header-v22 .menu.menu-v22 > a:hover::before,
.header-v22 .menu.menu-v22 > a.active::before,
.header-v22 .menu.menu-v22 .menu-trigger:hover::before,
.header-v22 .menu.menu-v22 .menu-trigger.active::before,
.header-v22 .menu.menu-v22 .has-dropdown.active .menu-trigger::before {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.header-v22 .menu.menu-v22 > a::after,
.header-v22 .menu.menu-v22 .menu-trigger::after {
  left: 50% !important;
  right: auto !important;
  bottom: 2px !important;
  width: 22px !important;
  height: 2px !important;
  border-radius: 999px;
  transform: translateX(-50%) scaleX(0) !important;
  background: var(--gold-500) !important;
}
.header-v22 .menu.menu-v22 > a:hover::after,
.header-v22 .menu.menu-v22 > a.active::after,
.header-v22 .menu.menu-v22 .menu-trigger:hover::after,
.header-v22 .menu.menu-v22 .menu-trigger.active::after,
.header-v22 .menu.menu-v22 .has-dropdown.active .menu-trigger::after {
  transform: translateX(-50%) scaleX(1) !important;
}

/* Dropdown Amanze: linha inteira clicável, com respiro e hover premium */
.header-v22 .submenu {
  width: 278px !important;
  padding: 8px !important;
  border-radius: 20px !important;
  display: grid !important;
  gap: 4px !important;
}
.header-v22 .submenu-link {
  width: 100% !important;
  min-height: 50px !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  border-radius: 15px !important;
  position: relative;
  overflow: hidden;
}
.header-v22 .submenu-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(199,155,66,.13), rgba(255,255,255,.0));
  opacity: 0;
  transition: opacity .24s ease;
}
.header-v22 .submenu-link:hover,
.header-v22 .submenu-link.active {
  transform: none !important;
  background: rgba(8,40,71,.045) !important;
}
.header-v22 .submenu-link:hover::before,
.header-v22 .submenu-link.active::before {
  opacity: 1;
}
.header-v22 .submenu-link span,
.header-v22 .submenu-link .fa-icon {
  position: relative;
  z-index: 1;
}

/* Footer: reduzir logotipo e contactos directos sem caixas pesadas */
.footer-logo {
  width: 116px !important;
  max-width: 116px !important;
  margin-bottom: 16px !important;
}
.footer-contact-inline,
.footer-contact-inline a,
.footer-contact-inline span {
  color: #cbd7e5 !important;
  font-size: 14px !important;
  line-height: 1.75;
}
.footer-contact-inline a {
  transition: color .22s ease;
}
.footer-contact-inline a:hover {
  color: var(--gold) !important;
}
.footer-contact-direct {
  margin-top: 12px;
}
.footer-contact-direct a {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  color: var(--gold) !important;
  font-weight: 800;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.footer-contact-direct a:hover {
  color: #fff !important;
  transform: translateX(3px);
}

/* Contactos: CTA directo nos números, sem cartões/caixas */
.contact-actions-direct {
  display: grid !important;
  gap: 13px !important;
  margin-top: 24px !important;
}
.contact-actions-direct a,
.contact-phone-line {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--navy) !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}
.contact-phone-line {
  flex-wrap: wrap;
}
.contact-phone-line a {
  color: var(--navy) !important;
  text-decoration: underline;
  text-decoration-color: rgba(199,161,89,.46);
  text-underline-offset: 4px;
}
.contact-actions-direct a:hover,
.contact-phone-line a:hover {
  color: var(--gold) !important;
  transform: none !important;
}
.contact-phone-line > .fa-icon,
.contact-actions-direct .fa-icon {
  color: var(--gold) !important;
  font-size: 15px !important;
}

/* Ajuste responsivo para page-card sem ícone */
@media (max-width: 760px) {
  .page-card {
    padding-left: 30px !important;
    min-height: auto !important;
  }
  .social-rail {
    display: none !important;
  }
}
