/* BELGUO Single Light Sweep Logo v14 - tight letter spacing */

.belguo-single-light-wrap {
  width: 100%;
  display: flex;
  align-items: center;
  margin: 0;
}

.belguo-single-light-wrap--left { justify-content: flex-start; }
.belguo-single-light-wrap--center { justify-content: center; }
.belguo-single-light-wrap--right { justify-content: flex-end; }

.belguo-single-light-link {
  display: inline-flex;
  text-decoration: none;
}

.belguo-single-light {
  --belguo-size: clamp(44px, 8vw, 118px);
  --belguo-color: #111111;
  --belguo-light: #ffffff;
  --belguo-light-rgb: 255,255,255;
  --belguo-speed: 7.2s;
  --belguo-spacing: -0.075em;
  --belguo-font: Futura, "Futura PT", "Trebuchet MS", Arial, sans-serif;
  --belguo-weight: 700;

  position: relative;
  display: inline-block;
  white-space: nowrap;
  isolation: isolate;
  font-family: var(--belguo-font);
  font-size: var(--belguo-size);
  font-weight: var(--belguo-weight);
  line-height: 1;
  letter-spacing: var(--belguo-spacing) !important;
  text-transform: uppercase;
  color: var(--belguo-color);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

.belguo-single-light__text,
.belguo-single-light::before,
.belguo-single-light::after {
  font: inherit;
  line-height: 1;
  letter-spacing: var(--belguo-spacing) !important;
  white-space: nowrap;
}

.belguo-single-light__text {
  position: relative;
  display: inline-block;
  z-index: 2;
  color: var(--belguo-color);
}

.belguo-single-light::before,
.belguo-single-light::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.belguo-single-light::after {
  opacity: 0;
}

/* 1. Main elegant slow sweep */
.belguo-single-light--light-sweep::before {
  z-index: 3;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(
    105deg,
    transparent 0%,
    transparent 31%,
    rgba(var(--belguo-light-rgb), .18) 39%,
    rgba(var(--belguo-light-rgb), .88) 47%,
    var(--belguo-light) 50%,
    rgba(var(--belguo-light-rgb), .88) 53%,
    rgba(var(--belguo-light-rgb), .18) 61%,
    transparent 69%,
    transparent 100%
  );
  background-size: 300% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  opacity: 0;
  animation: belguoSingleSweep var(--belguo-speed) cubic-bezier(.22,.72,.18,1) infinite;
}

/* 2. Soft touch: wider and calmer */
.belguo-single-light--light-sweep-soft::before {
  z-index: 3;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(var(--belguo-light-rgb), .08) 24%,
    rgba(var(--belguo-light-rgb), .28) 36%,
    rgba(var(--belguo-light-rgb), .82) 48%,
    var(--belguo-light) 52%,
    rgba(var(--belguo-light-rgb), .28) 64%,
    rgba(var(--belguo-light-rgb), .08) 76%,
    transparent 100%
  );
  background-size: 330% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  opacity: 0;
  animation: belguoSingleSweepSoft calc(var(--belguo-speed) * 1.12) cubic-bezier(.22,.72,.18,1) infinite;
}

/* 3. Fine highlight: thin premium line */
.belguo-single-light--light-sweep-fine::before {
  z-index: 3;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(
    105deg,
    transparent 0%,
    transparent 41%,
    rgba(var(--belguo-light-rgb), .68) 47%,
    var(--belguo-light) 50%,
    rgba(var(--belguo-light-rgb), .62) 53%,
    transparent 59%,
    transparent 100%
  );
  background-size: 240% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  opacity: 0;
  animation: belguoSingleSweepFine calc(var(--belguo-speed) * .95) cubic-bezier(.22,.72,.18,1) infinite;
}

/* 4. Luxury glass-like one-color sweep */
.belguo-single-light--light-sweep-lux .belguo-single-light__text {
  color: transparent;
  -webkit-text-fill-color: transparent;
  background:
    linear-gradient(180deg, rgba(var(--belguo-light-rgb), .40) 0%, rgba(var(--belguo-light-rgb), 0) 22%),
    linear-gradient(180deg, var(--belguo-color) 0%, var(--belguo-color) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: 0 .014em 0 rgba(var(--belguo-light-rgb), .10);
}

.belguo-single-light--light-sweep-lux::before {
  z-index: 3;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(
    105deg,
    transparent 0%,
    transparent 29%,
    rgba(var(--belguo-light-rgb), .28) 40%,
    rgba(var(--belguo-light-rgb), .95) 49%,
    var(--belguo-light) 53%,
    rgba(var(--belguo-light-rgb), .22) 64%,
    transparent 75%,
    transparent 100%
  );
  background-size: 300% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  opacity: 0;
  animation: belguoSingleSweepLux calc(var(--belguo-speed) * 1.05) cubic-bezier(.22,.72,.18,1) infinite;
}

/* 5. Light edge only */
.belguo-single-light--light-edge .belguo-single-light__text {
  color: var(--belguo-color);
}

.belguo-single-light--light-edge::before {
  z-index: 3;
  color: transparent;
  -webkit-text-stroke: .012em var(--belguo-light);
  filter: drop-shadow(0 0 .08em rgba(var(--belguo-light-rgb), .38));
  opacity: 0;
  animation: belguoSingleEdge calc(var(--belguo-speed) * .98) ease-in-out infinite;
}

/* 6. Slow breathing light, no sweep */
.belguo-single-light--light-breathe .belguo-single-light__text {
  color: var(--belguo-color);
  animation: belguoSingleBreathe var(--belguo-speed) ease-in-out infinite;
}

.belguo-single-light--light-breathe::before {
  z-index: 3;
  color: var(--belguo-light);
  filter: blur(.014em);
  opacity: 0;
  animation: belguoSingleBreatheOverlay var(--belguo-speed) ease-in-out infinite;
}

/* Keyframes with clean ending */
@keyframes belguoSingleSweep {
  0%, 19% { background-position: -175% 50%; opacity: 0; }
  32% { opacity: .92; }
  56% { background-position: 128% 50%; opacity: .92; }
  64%, 100% { background-position: 128% 50%; opacity: 0; }
}

@keyframes belguoSingleSweepSoft {
  0%, 20% { background-position: -185% 50%; opacity: 0; }
  34% { opacity: .78; }
  58% { background-position: 132% 50%; opacity: .78; }
  68%, 100% { background-position: 132% 50%; opacity: 0; }
}

@keyframes belguoSingleSweepFine {
  0%, 22% { background-position: -160% 50%; opacity: 0; }
  34% { opacity: .96; }
  50% { background-position: 118% 50%; opacity: .96; }
  58%, 100% { background-position: 118% 50%; opacity: 0; }
}

@keyframes belguoSingleSweepLux {
  0%, 20% { background-position: -178% 50%; opacity: 0; }
  33% { opacity: .90; }
  57% { background-position: 128% 50%; opacity: .90; }
  66%, 100% { background-position: 128% 50%; opacity: 0; }
}

@keyframes belguoSingleEdge {
  0%, 24%, 100% { opacity: 0; }
  38% { opacity: .72; }
  55% { opacity: .22; }
  70% { opacity: .62; }
  84% { opacity: 0; }
}

@keyframes belguoSingleBreathe {
  0%, 100% {
    text-shadow: none;
  }
  50% {
    text-shadow:
      0 0 .07em rgba(var(--belguo-light-rgb), .36),
      0 0 .16em rgba(var(--belguo-light-rgb), .20);
  }
}

@keyframes belguoSingleBreatheOverlay {
  0%, 100% { opacity: 0; transform: scale(.992); }
  50% { opacity: .28; transform: scale(1.006); }
}

.elementor-widget-container .belguo-single-light-wrap {
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {
  .belguo-single-light,
  .belguo-single-light *,
  .belguo-single-light::before,
  .belguo-single-light::after {
    animation: none !important;
    transition: none !important;
  }
}


/* Webwerp integration safety: keep plugin engine visible inside theme headers. */
.webwerp-belguo-logo-link .belguo-single-light,
.webwerp-footer-logo-wrap .belguo-single-light {
  overflow: visible !important;
  isolation: isolate !important;
}
.webwerp-belguo-logo-link .belguo-single-light::before,
.webwerp-footer-logo-wrap .belguo-single-light::before {
  animation-play-state: running !important;
}
