/* Postavitev */
.ge-container { max-width: var(--ge-container-max); margin-inline: auto; padding-inline: 2rem; }
.ge-section { padding-block: clamp(5rem, 8vw, 7rem); }
.ge-section--tight { padding-block: clamp(3rem, 5vw, 4rem); }

/* Nadnaslov (eyebrow): Hero.tsx vrstica 104 */
.ge-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--ge-font-display); font-weight: 500; font-size: .75rem;
  letter-spacing: .25em; text-transform: uppercase;
}

/* Kartica: rounded-2xl + shadow-card, dvig ob hoverju */
.ge-card {
  background: var(--ge-color-card); color: var(--ge-color-card-foreground);
  border-radius: 1rem; box-shadow: var(--ge-shadow-card);
  transition: transform .3s ease, box-shadow .3s ease;
}
.ge-card--hover:hover { transform: translateY(-4px); box-shadow: var(--ge-shadow-card-hover); }

/* Gumbi: button.tsx osnova. Za Elementor gradnik Gumb gre modifikator na gradnik, stil na .elementor-button. */
.ge-btn,
.elementor-widget-button[class*="ge-btn--"] .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  white-space: nowrap; border-radius: 9999px; border: 1px solid transparent;
  padding: .875rem 1.75rem; line-height: 1;
  font-family: var(--ge-font-display); font-size: 14px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; text-decoration: none;
  cursor: pointer; transition: all .3s ease;
  background: var(--ge-color-primary); color: var(--ge-color-primary-foreground);
}
.ge-btn:hover,
.elementor-widget-button[class*="ge-btn--"] .elementor-button:hover { background: hsl(var(--ge-primary) / .9); color: var(--ge-color-primary-foreground); }
.ge-btn:focus-visible,
.elementor-widget-button[class*="ge-btn--"] .elementor-button:focus-visible { outline: 2px solid var(--ge-color-ring); outline-offset: 2px; }
.ge-btn svg, .elementor-widget-button[class*="ge-btn--"] .elementor-button svg { width: 1rem; height: 1rem; flex-shrink: 0; }

/* hero: bg-accent, shadow-lg, dvig */
.ge-btn--accent.ge-btn, .elementor-widget-button.ge-btn--accent .elementor-button {
  background: var(--ge-color-accent); color: var(--ge-color-accent-foreground);
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / .10), 0 4px 6px -4px rgb(0 0 0 / .10);
}
.ge-btn--accent.ge-btn:hover, .elementor-widget-button.ge-btn--accent .elementor-button:hover {
  background: hsl(var(--ge-accent) / .9); color: var(--ge-color-accent-foreground);
  box-shadow: 0 20px 25px -5px rgb(0 0 0 / .10), 0 8px 10px -6px rgb(0 0 0 / .10);
  transform: translateY(-2px);
}

/* elegant/primary: slate */
.ge-btn--primary.ge-btn, .elementor-widget-button.ge-btn--primary .elementor-button { background: var(--ge-color-primary); color: var(--ge-color-primary-foreground); }
.ge-btn--primary.ge-btn:hover, .elementor-widget-button.ge-btn--primary .elementor-button:hover { background: hsl(var(--ge-primary) / .85); }

/* outline na svetli podlagi */
.ge-btn--outline.ge-btn, .elementor-widget-button.ge-btn--outline .elementor-button { background: var(--ge-color-background); color: var(--ge-color-foreground); border-color: var(--ge-color-input); }
.ge-btn--outline.ge-btn:hover, .elementor-widget-button.ge-btn--outline .elementor-button:hover { background: var(--ge-color-accent); color: var(--ge-color-accent-foreground); border-color: var(--ge-color-accent); }

/* heroOutline na temni/foto podlagi: Hero.tsx vrstica 139 */
.ge-btn--outline-light.ge-btn, .elementor-widget-button.ge-btn--outline-light .elementor-button {
  background: hsl(var(--ge-primary) / .10); color: rgb(255 255 255 / .80); border-color: rgb(255 255 255 / .30);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.ge-btn--outline-light.ge-btn:hover, .elementor-widget-button.ge-btn--outline-light .elementor-button:hover { color: #fff; border-color: rgb(255 255 255 / .60); background: hsl(var(--ge-primary) / .10); }

/* velikosti */
.ge-btn--lg.ge-btn, .elementor-widget-button.ge-btn--lg .elementor-button { padding: 1rem 2.5rem; }
