/* Link Soft Underline – CSS
   A very thin, solid underline drawn via background-image for crispness.
   Uses --lsu-color which is set by JS to a gentle (pastel) color each load.
*/

:root {
  --lsu-color: rgba(100, 100, 255, 0.5);
  --lsu-thickness: 1px;
  --lsu-offset: 2px;
}

/* Base style for eligible links */
a:not(.no-soft-underline):not([href^="tel:"]):not([href^="mailto:"]) {
  text-decoration: none !important;
  background-image: linear-gradient(var(--lsu-color), var(--lsu-color));
  background-repeat: no-repeat;
  background-size: 100% var(--lsu-thickness);
  background-position: 0 calc(100% - var(--lsu-offset));
  transition: background-size .2s ease, color .2s ease, opacity .2s ease;
}

/* Slight emphasis on hover/focus */
a:not(.no-soft-underline):not([href^="tel:"]):not([href^="mailto:"]):hover,
a:not(.no-soft-underline):not([href^="tel:"]):not([href^="mailto:"]):focus {
  background-size: 100% calc(var(--lsu-thickness) + 1px);
}

/* Exclusions: navs, menus, buttons, headers/footers, widgets, social/CTAs */
header a, nav a, .nav a, .navigation a, .menu a, .menulinks a,
.footer a, .site-footer a, footer a,
.button, .buttons a, .btn, .btn a, [role="button"] a,
.whatsapp, .whatsapp a, .floating, .cta, .cta a,
.slider a, .slick-slider a, .swiper a
{
  background-image: none !important;
}

/* Keep numeric-looking phone fragments unstyled */
a[href^="tel:"], a.tel, a.phone, a[href^="sms:"] {
  background-image: none !important;
}

/* Utility: opt-out anywhere */
.no-soft-underline { background-image: none !important; }
