/*
  CEU4FL Button System
  Shared v2 button language for public pages.
*/

:root {
  --ce-btn-blue: #1c9cff;
  --ce-btn-blue-dark: #147dcc;
  --ce-btn-navy: #101767;
  --ce-btn-orange: #ff9a03;
  --ce-btn-orange-dark: #bf7402;
  --ce-btn-red: #ef4444;
  --ce-btn-red-dark: #b91c1c;
  --ce-btn-whatsapp: #25d366;
  --ce-btn-whatsapp-dark: #128c4a;
  --ce-btn-white: #ffffff;
  --ce-btn-shadow: #d9e2eb;
}

.ce-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  min-width: 158px;
  padding: 15px 30px;
  border: 2px solid var(--ce-btn-border, transparent);
  border-radius: 60px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ce-btn-color);
  background: var(--ce-btn-bg);
  cursor: pointer;
  user-select: none;
  box-shadow: 6px 6px 0 0 var(--ce-btn-shadow-color, var(--ce-btn-shadow));
  transition:
    transform 0.1s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.1s cubic-bezier(0.4, 0, 0.2, 1),
    filter 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease;
}

.ce-btn:hover {
  color: var(--ce-btn-hover-color, var(--ce-btn-color));
  background: var(--ce-btn-hover-bg, var(--ce-btn-bg));
  border-color: var(--ce-btn-hover-border, var(--ce-btn-border));
  filter: brightness(1.03);
}

.ce-btn:focus-visible {
  outline: none;
  box-shadow:
    6px 6px 0 0 var(--ce-btn-shadow-color, var(--ce-btn-shadow)),
    0 0 0 4px rgba(28, 156, 255, 0.2);
}

.ce-btn:active {
  transform: translate(6px, 6px);
  box-shadow: 0 0 0 0 var(--ce-btn-shadow-color, var(--ce-btn-shadow));
}

.ce-btn-raised {
  --ce-btn-highlight: rgba(255, 255, 255, 0.4);
  box-shadow:
    inset 0 6px 0 0 var(--ce-btn-highlight),
    6px 6px 0 0 var(--ce-btn-shadow-color, var(--ce-btn-shadow));
}

.ce-btn-raised:focus-visible {
  box-shadow:
    inset 0 6px 0 0 var(--ce-btn-highlight),
    6px 6px 0 0 var(--ce-btn-shadow-color, var(--ce-btn-shadow)),
    0 0 0 4px rgba(28, 156, 255, 0.2);
}

.ce-btn-raised:active {
  box-shadow:
    inset 0 6px 0 0 var(--ce-btn-highlight),
    0 0 0 0 var(--ce-btn-shadow-color, var(--ce-btn-shadow));
}

.ce-btn-flat {
  box-shadow: 6px 6px 0 0 var(--ce-btn-shadow-color, var(--ce-btn-shadow));
}

.ce-btn-flat:active {
  box-shadow: 0 0 0 0 var(--ce-btn-shadow-color, var(--ce-btn-shadow));
}

.ce-btn-orange {
  --ce-btn-bg: var(--ce-btn-orange);
  --ce-btn-color: var(--ce-btn-navy);
  --ce-btn-border: var(--ce-btn-orange-dark);
  --ce-btn-hover-color: var(--ce-btn-white);
}

.ce-btn-blue {
  --ce-btn-bg: var(--ce-btn-blue);
  --ce-btn-color: var(--ce-btn-white);
  --ce-btn-border: var(--ce-btn-blue-dark);
  --ce-btn-highlight: rgba(255, 255, 255, 0.32);
  --ce-btn-hover-color: var(--ce-btn-navy);
}

.ce-btn-white-blue {
  --ce-btn-bg: var(--ce-btn-white);
  --ce-btn-color: var(--ce-btn-blue);
  --ce-btn-border: var(--ce-btn-blue);
  --ce-btn-hover-bg: var(--ce-btn-blue);
  --ce-btn-hover-color: var(--ce-btn-white);
  --ce-btn-hover-border: var(--ce-btn-blue);
}

.ce-btn-hero-blue {
  --ce-btn-bg: var(--ce-btn-blue);
  --ce-btn-color: var(--ce-btn-white);
  --ce-btn-border: var(--ce-btn-white);
  --ce-btn-hover-bg: var(--ce-btn-white);
  --ce-btn-hover-color: var(--ce-btn-blue);
  --ce-btn-hover-border: var(--ce-btn-white);
}

.ce-btn-whatsapp {
  --ce-btn-bg: var(--ce-btn-whatsapp);
  --ce-btn-color: var(--ce-btn-white);
  --ce-btn-border: var(--ce-btn-whatsapp-dark);
}

.ce-btn-red {
  --ce-btn-bg: var(--ce-btn-red);
  --ce-btn-color: var(--ce-btn-white);
  --ce-btn-border: var(--ce-btn-red-dark);
  --ce-btn-hover-color: var(--ce-btn-navy);
}

.ce-btn-wide {
  min-width: 178px;
  padding-right: 32px;
  padding-left: 32px;
}

.ce-btn-wider {
  min-width: 210px;
  padding-right: 32px;
  padding-left: 32px;
}
