/**
 * Innovando Swiss Child Theme CSS
 * Dedicated layer for brand variables, icons, menu behavior and small Flatsome refinements.
 */

/* === Start: Brand tokens === */
:root {
  --innovando-red: #da291c;
  --innovando-ink: #333333;
  --innovando-muted: #777777;
  --innovando-line: #d4d4d4;
  --innovando-soft: #f7f7f7;
  --innovando-white: #ffffff;
  --innovando-radius: 999px;
  --innovando-transition: 180ms ease;
  --innovando-shadow: 0 14px 35px rgba(0, 0, 0, 0.08);
}
/* === End: Brand tokens === */

/* === Start: Accessible focus states === */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid var(--innovando-red);
  outline-offset: 3px;
}
/* === End: Accessible focus states === */

/* === Start: Innovando icon system === */
.innovando-icon {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  height: 1.5em;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
  width: 1.5em;
}

.innovando-icon .innovando-icon-svg,
.innovando-icon svg {
  display: block;
  height: 1.5em;
  overflow: visible;
  transition: opacity var(--innovando-transition), transform var(--innovando-transition);
  width: 1.5em;
}

.innovando-icon-ring,
.innovando-icon-symbol,
.innovando-icon-arc {
  transition: opacity var(--innovando-transition), stroke var(--innovando-transition), transform var(--innovando-transition);
  transform-origin: center;
}

a:hover .innovando-icon svg,
button:hover .innovando-icon svg,
.innovando-icon:hover svg {
  transform: translateY(-1px);
}

a:hover .innovando-icon-arc,
button:hover .innovando-icon-arc,
.innovando-icon:hover .innovando-icon-arc {
  opacity: 1;
  stroke: var(--innovando-red);
  transform: rotate(3deg);
}

a:hover .innovando-icon-symbol,
button:hover .innovando-icon-symbol,
.innovando-icon:hover .innovando-icon-symbol {
  stroke: #5f5f5f;
}
/* === End: Innovando icon system === */

/* === Start: Flatsome primary navigation refinement === */
.header-nav > li > a,
.nav > li > a {
  letter-spacing: 0.01em;
  text-transform: none;
  transition: color var(--innovando-transition), opacity var(--innovando-transition);
}

.header-nav > li > a:hover,
.nav > li > a:hover,
.header-nav > li.active > a,
.nav > li.active > a {
  color: var(--innovando-red);
}

.header-nav .nav-dropdown,
.nav-dropdown {
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  box-shadow: var(--innovando-shadow);
  margin-top: 10px;
  overflow: hidden;
  padding: 10px;
}

.header-nav .nav-dropdown > li > a,
.nav-dropdown > li > a {
  border-radius: 10px;
  color: var(--innovando-ink);
  font-size: 0.95rem;
  line-height: 1.35;
  padding: 10px 12px;
  transition: background-color var(--innovando-transition), color var(--innovando-transition), transform var(--innovando-transition);
}

.header-nav .nav-dropdown > li > a:hover,
.nav-dropdown > li > a:hover {
  background: rgba(218, 41, 28, 0.06);
  color: var(--innovando-red);
  transform: translateX(2px);
}

.header-nav li.has-dropdown > a::after,
.nav li.has-dropdown > a::after {
  border-color: currentColor;
  opacity: 0.65;
  transition: transform var(--innovando-transition), opacity var(--innovando-transition);
}

.header-nav li.has-dropdown:hover > a::after,
.nav li.has-dropdown:hover > a::after,
.header-nav li.has-dropdown.is-innovando-open > a::after,
.nav li.has-dropdown.is-innovando-open > a::after {
  opacity: 1;
  transform: rotate(180deg);
}
/* === End: Flatsome primary navigation refinement === */

/* === Start: WPML and language switcher refinement === */
.wpml-ls,
.wpml-ls ul,
.wpml-ls li {
  line-height: 1;
}

.wpml-ls a {
  align-items: center;
  border-radius: var(--innovando-radius);
  display: inline-flex;
  min-height: 32px;
  padding: 6px 10px;
  transition: background-color var(--innovando-transition), color var(--innovando-transition);
}

.wpml-ls a:hover {
  background: rgba(218, 41, 28, 0.06);
  color: var(--innovando-red);
}
/* === End: WPML and language switcher refinement === */

/* === Start: Quick contacts pattern === */
.innovando-quick-contacts {
  display: grid;
  gap: 10px;
}

.innovando-quick-contact {
  align-items: center;
  color: var(--innovando-ink);
  display: inline-flex;
  gap: 10px;
  text-decoration: none;
  transition: color var(--innovando-transition), transform var(--innovando-transition);
}

.innovando-quick-contact:hover {
  color: var(--innovando-red);
  transform: translateX(1px);
}

.innovando-quick-contact .innovando-icon {
  color: var(--innovando-red);
  height: 22px;
  width: 22px;
}

.innovando-quick-contact__text {
  font-size: 0.95rem;
}
/* === End: Quick contacts pattern === */

/* === Start: Generic card hover refinement === */
.innovando-card,
.box,
.icon-box {
  transition: box-shadow var(--innovando-transition), transform var(--innovando-transition);
}

.innovando-card:hover,
.box:hover,
.icon-box:hover {
  transform: translateY(-2px);
}
/* === End: Generic card hover refinement === */

/* === Start: Reduced motion === */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
/* === End: Reduced motion === */
