/* UroEase – Nordic Health Theme (Enhanced) */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

/* ================================================================
   CSS VARIABLES
================================================================ */
:root {
  --c-bg:         #f4f8fd;
  --c-panel:      #ffffff;
  --c-alt:        #eaf3fc;
  --c-navy:       #0b3d7a;
  --c-navy-dark:  #072d5c;
  --c-navy2:      #1a6fbe;
  --c-teal:       #00b4d8;
  --c-teal2:      #48cae4;
  --c-mint:       #90e0ef;
  --c-text:       #13243a;
  --c-text-dim:   #4e637a;
  --c-border:     rgba(11,61,122,0.13);
  --c-border2:    rgba(11,61,122,0.25);
  --c-shadow:     rgba(11,61,122,0.09);
  --c-shadow2:    rgba(11,61,122,0.18);
  --c-grad-hero:  linear-gradient(135deg, #072d5c 0%, #0b3d7a 45%, #0d5fa3 100%);
  --c-grad-main:  linear-gradient(135deg, var(--c-navy) 0%, var(--c-navy2) 100%);
  --c-grad-teal:  linear-gradient(135deg, var(--c-teal) 0%, var(--c-teal2) 100%);
  --c-grad-accent:linear-gradient(90deg, var(--c-navy) 0%, var(--c-teal) 100%);
}

/* ================================================================
   ANIMATIONS
================================================================ */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
@keyframes pulseRing {
  0%,100% { box-shadow: 0 0 0 0 rgba(0,180,216,0.0); }
  50%      { box-shadow: 0 0 0 6px rgba(0,180,216,0.15); }
}

/* ================================================================
   GLOBAL BODY
================================================================ */
html body,
html body.u-body {
  font-family: 'Inter', 'Segoe UI', sans-serif !important;
  color: var(--c-text) !important;
  background-color: var(--c-bg) !important;
  -webkit-font-smoothing: antialiased;
}

/* Subtle large decorative blob in the background */
html body.u-body::before {
  content: '' !important;
  position: fixed !important;
  top: -30vh !important;
  right: -20vw !important;
  width: 70vw !important;
  height: 70vw !important;
  background: radial-gradient(circle, rgba(0,180,216,0.06) 0%, transparent 65%) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* ================================================================
   TYPOGRAPHY
================================================================ */
html body h1, html body h2, html body h3,
html body h4, html body h5, html body h6,
html body .u-body h1, html body .u-body h2,
html body .u-body h3, html body .u-body h4 {
  font-family: 'Space Grotesk', 'Segoe UI', sans-serif !important;
  text-transform: none !important;
  letter-spacing: -0.025em !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

html body h1 {
  color: #ffffff !important;
  text-shadow: 0 2px 20px rgba(0,0,0,0.25) !important;
  font-size: clamp(2.1rem, 5vw, 3.6rem) !important;
}
html body h2 {
  color: var(--c-navy) !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
}
html body h3 {
  color: var(--c-navy) !important;
  font-size: 1.2rem !important;
  letter-spacing: -0.01em !important;
}

html body p,
html body .u-text-1, html body .u-text-2,
html body .u-text-3, html body .u-text-4,
html body .u-text-5, html body .u-text-6,
html body .u-text-7, html body .u-text-8,
html body .u-text-default, html body .u-text-variant {
  color: var(--c-text) !important;
  line-height: 1.75 !important;
}

html body a:not(.u-btn):not(.u-button-style):not(.u-nav-link):not(.u-logo) {
  color: var(--c-navy2) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
html body a:not(.u-btn):not(.u-button-style):not(.u-nav-link):not(.u-logo):hover {
  color: var(--c-teal) !important;
}

/* ================================================================
   LOGO
================================================================ */
html body .u-logo.u-logo-text,
html body a.u-logo.u-logo-text {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
  color: var(--c-navy) !important;
  text-decoration: none !important;
  padding: 0.4em 0 !important;
  min-height: auto !important;
  width: auto !important;
  transition: all 0.25s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}
/* Gradient pill accent before the logo */
html body .u-logo.u-logo-text::before {
  content: '' !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  width: 32px !important;
  height: 5px !important;
  background: var(--c-grad-accent) !important;
  border-radius: 99px !important;
  box-shadow: 0 2px 8px rgba(0,180,216,0.35) !important;
  transition: width 0.25s, box-shadow 0.25s !important;
}
html body .u-logo.u-logo-text:hover {
  color: var(--c-navy2) !important;
}
html body .u-logo.u-logo-text:hover::before {
  width: 42px !important;
  box-shadow: 0 3px 14px rgba(0,180,216,0.5) !important;
}

/* ================================================================
   HEADER — frosted glass / white sticky bar
================================================================ */
html body .u-header,
html body .u-header.u-palette-4-light-3,
html body header.u-header,
.u-palette-4-light-3,
section.u-palette-4-light-3,
.u-palette-4-light-3 > .u-container-layout,
.u-palette-4-light-3 > .u-inner-container-layout,
.u-container-layout.u-container-layout.u-palette-4-light-3 {
  background-color: rgba(255,255,255,0.95) !important;
  backdrop-filter: blur(16px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.4) !important;
  border-bottom: 2px solid transparent !important;
  border-image: var(--c-grad-accent) 1 !important;
  box-shadow: 0 2px 20px rgba(11,61,122,0.10) !important;
  color: var(--c-text) !important;
}

section.u-palette-4-light-3::before,
.u-palette-4-light-3 > .u-container-layout::before,
.u-palette-4-light-3 > .u-inner-container-layout::before,
.u-container-layout.u-container-layout.u-palette-4-light-3::before {
  background-color: transparent !important;
}

html body .u-nav-link,
html body .u-palette-4-light-3 .u-nav-link,
html body .u-palette-4-light-3 .u-text-grey-90,
html body .u-palette-4-light-3 .u-text-palette-1-base {
  color: var(--c-text) !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.02em !important;
  transition: color 0.2s !important;
  position: relative !important;
}
html body .u-nav-link:hover,
html body .u-palette-4-light-3 .u-nav-link:hover {
  color: var(--c-teal) !important;
}

/* ================================================================
   ALL SECTIONS — base
================================================================ */
html body section,
html body .u-section-1,
html body .u-section-2,
html body .u-section-3,
html body .u-section-4,
html body .u-section-5,
html body .u-section-6,
html body .u-section-7,
html body .u-section-8 {
  background-color: var(--c-bg) !important;
  position: relative !important;
  z-index: 1 !important;
}

/* ================================================================
   HERO — section-1: striking navy-to-teal gradient
================================================================ */
html body .u-section-1,
html body section.u-white.u-section-1 {
  background: var(--c-grad-hero) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Animated radial glow in hero */
html body .u-section-1::before {
  content: '' !important;
  position: absolute !important;
  bottom: -40% !important;
  left: -15% !important;
  width: 60% !important;
  height: 160% !important;
  background: radial-gradient(ellipse, rgba(0,180,216,0.22) 0%, transparent 65%) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
html body .u-section-1::after {
  content: none !important;
}

html body .u-section-1 .u-sheet {
  position: relative !important;
  z-index: 1 !important;
}

/* Hero text */
html body .u-section-1 h1 {
  color: #ffffff !important;
  text-shadow: 0 2px 24px rgba(0,0,0,0.22) !important;
}
html body .u-section-1 p,
html body .u-section-1 .u-text-1 {
  color: rgba(255,255,255,0.88) !important;
  font-size: 1.1rem !important;
  line-height: 1.8 !important;
}

/* ================================================================
   WHITE SECTIONS
================================================================ */
.u-white,
section.u-white,
html body .u-white,
html body section.u-white {
  background-color: var(--c-panel) !important;
  color: var(--c-text) !important;
}

/* Override for section-1 which is also .u-white */
html body section.u-white.u-section-1 {
  background: var(--c-grad-hero) !important;
}

section.u-white::before,
.u-white > .u-container-layout::before,
.u-white > .u-inner-container-layout::before,
.u-white > .u-audio-main-layout-wrapper::before,
.u-white.u-sidenav::before,
.u-container-layout.u-container-layout.u-white::before {
  background-color: var(--c-panel) !important;
}

/* Section-1 before override */
html body .u-section-1.u-white > .u-container-layout::before,
html body .u-section-1 > .u-container-layout::before {
  background-color: transparent !important;
}

/* Subtle top line on white sections */
section.u-white::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: var(--c-grad-accent) !important;
  opacity: 0.25 !important;
  z-index: 2 !important;
}
html body .u-section-1.u-white::after {
  display: none !important;
}

.u-white .u-text-1, .u-white .u-text-2, .u-white .u-text-3,
.u-white .u-text-4, .u-white .u-text-5, .u-white .u-text-6,
.u-white .u-text-7, .u-white .u-text-8, .u-white p,
.u-white h3, .u-white h2, .u-white h1 {
  color: var(--c-text) !important;
}
.u-white h1 { color: var(--c-navy) !important; }
.u-white h3 { color: var(--c-navy) !important; }

/* ================================================================
   ALTERNATING SECTIONS
================================================================ */
html body .u-section-2,
html body .u-section-4,
html body .u-section-6,
html body .u-section-8,
html body section.u-palette-4-light-3:not(.u-header):not(.u-sticky) {
  background-color: var(--c-alt) !important;
}

section.u-palette-4-light-3:not(.u-header)::before,
.u-palette-4-light-3:not(.u-header) > .u-container-layout::before,
.u-palette-4-light-3:not(.u-header) > .u-inner-container-layout::before {
  background-color: var(--c-alt) !important;
}

html body .u-section-2 h3,
html body .u-section-4 h3,
html body .u-section-6 h3,
html body .u-section-8 h3,
html body .u-palette-4-light-3 h3 {
  color: var(--c-navy) !important;
}

html body .u-section-2 .u-text-1,
html body .u-section-4 .u-text-1,
html body .u-section-6 .u-text-1 {
  color: var(--c-navy) !important;
}

html body .u-section-2::after,
html body .u-section-4::after,
html body .u-section-6::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  height: 1px !important;
  background: var(--c-grad-accent) !important;
  opacity: 0.18 !important;
  z-index: 2 !important;
}

/* Decorative blob in alt sections */
html body .u-section-2::before,
html body .u-section-4::before,
html body .u-section-6::before {
  content: '' !important;
  position: absolute !important;
  top: -30% !important;
  right: -10% !important;
  width: 45% !important;
  height: 100% !important;
  background: radial-gradient(ellipse, rgba(0,180,216,0.07) 0%, transparent 70%) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* ================================================================
   CTA SECTION (section-8) — gradient like hero
================================================================ */
html body .u-section-8,
html body section.u-palette-4-light-3.u-section-8 {
  background: linear-gradient(135deg, #0d5fa3 0%, #0b3d7a 50%, #072d5c 100%) !important;
  position: relative !important;
  overflow: hidden !important;
}
html body .u-section-8::before {
  content: '' !important;
  position: absolute !important;
  top: -50% !important;
  right: -15% !important;
  width: 60% !important;
  height: 200% !important;
  background: radial-gradient(ellipse, rgba(0,180,216,0.18) 0%, transparent 65%) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
html body .u-section-8::after {
  display: none !important;
}
html body .u-section-8 .u-sheet {
  position: relative !important;
  z-index: 1 !important;
}
html body .u-section-8 h2,
html body .u-section-8 .u-text-default {
  color: #ffffff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.2) !important;
}
html body .u-section-8 p,
html body .u-section-8 .u-text-2 {
  color: rgba(255,255,255,0.85) !important;
}

/* ================================================================
   LAYOUT CELLS — rich card style with accent top border
================================================================ */
html body .u-layout-cell.u-white,
html body .u-layout-cell.u-white.u-layout-cell-1,
html body .u-layout-cell.u-white.u-layout-cell-2,
html body .u-layout-cell.u-white.u-layout-cell-3,
html body .u-layout-cell.u-white.u-layout-cell-4 {
  background-color: #ffffff !important;
  border: 1px solid var(--c-border) !important;
  border-top: 3px solid transparent !important;
  border-radius: 12px !important;
  backdrop-filter: none !important;
  box-shadow:
    0 4px 6px -1px rgba(11,61,122,0.06),
    0 10px 28px -4px rgba(11,61,122,0.10) !important;
  transition: transform 0.28s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.28s ease !important;
  position: relative !important;
  overflow: hidden !important;
}
/* Gradient accent bar on top of card */
html body .u-layout-cell.u-white::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: var(--c-grad-accent) !important;
  border-radius: 12px 12px 0 0 !important;
  z-index: 3 !important;
}
html body .u-layout-cell.u-white:hover {
  transform: translateY(-5px) !important;
  box-shadow:
    0 8px 16px -2px rgba(11,61,122,0.10),
    0 20px 44px -6px rgba(11,61,122,0.16) !important;
}

html body .u-layout-cell.u-white .u-container-layout::before,
html body .u-layout-cell.u-white > .u-container-layout::before {
  background-color: transparent !important;
}

/* ================================================================
   IMAGES — rounded & with a reveal hover effect
================================================================ */
html body .u-image img {
  filter: none !important;
  border-radius: 10px !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}
html body .u-image:hover img {
  transform: scale(1.02) !important;
  box-shadow: 0 12px 36px rgba(11,61,122,0.16) !important;
}

/* ================================================================
   FOOTER — rich deep footer
================================================================ */
html body .u-footer,
html body .u-footer.u-grey-90,
html body footer.u-footer,
html body .u-grey-90 {
  background: linear-gradient(160deg, #0f2d52 0%, #0b3d7a 60%, #0d5fa3 100%) !important;
  border-top: none !important;
  box-shadow: 0 -8px 40px rgba(7,20,44,0.25) !important;
  color: rgba(255,255,255,0.75) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Teal shimmer line at top of footer */
html body .u-footer::before,
html body .u-grey-90::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: var(--c-grad-accent) !important;
  opacity: 1 !important;
}

/* Decorative circle in footer background */
html body .u-footer::after,
html body .u-grey-90::after {
  content: '' !important;
  position: absolute !important;
  bottom: -40% !important;
  right: -10% !important;
  width: 50% !important;
  height: 200% !important;
  background: radial-gradient(ellipse, rgba(0,180,216,0.10) 0%, transparent 60%) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

html body .u-footer .u-sheet,
html body .u-grey-90 .u-sheet {
  position: relative !important;
  z-index: 1 !important;
}

html body .u-footer .u-text-1,
html body .u-footer .u-text-2,
html body .u-footer .u-text-legal,
html body .u-grey-90 .u-text-variant,
html body .u-grey-90 .u-text-1,
html body .u-grey-90 p {
  color: rgba(255,255,255,0.72) !important;
  font-size: 0.82rem !important;
  line-height: 1.75 !important;
}

html body .u-footer a,
html body .u-grey-90 a {
  color: var(--c-teal2) !important;
  transition: color 0.2s, opacity 0.2s !important;
}
html body .u-footer a:hover,
html body .u-grey-90 a:hover {
  color: #ffffff !important;
  opacity: 1 !important;
}
html body .u-text-palette-1-light-3,
html body .u-btn.u-text-palette-1-light-3 {
  color: var(--c-teal2) !important;
}

/* ================================================================
   BUTTONS — pill shape with gradient + shimmer
================================================================ */
html body .u-btn-submit,
html body .u-button-style.u-palette-1-dark-3,
html body .u-active-palette-1-dark-3,
html body .u-hover-palette-1-dark-1,
html body a.u-btn.u-btn-submit {
  background: linear-gradient(
    90deg,
    var(--c-navy) 0%,
    var(--c-navy2) 50%,
    var(--c-teal) 100%
  ) !important;
  background-size: 200% auto !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50px !important;
  text-transform: none !important;
  letter-spacing: 0.04em !important;
  font-weight: 600 !important;
  font-family: 'Space Grotesk', sans-serif !important;
  padding: 0.75em 2.2em !important;
  box-shadow:
    0 4px 14px rgba(11,61,122,0.22),
    0 1px 3px rgba(11,61,122,0.12) !important;
  transition: background-position 0.4s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}
html body .u-btn-submit:hover,
html body .u-button-style.u-palette-1-dark-3:hover {
  background-position: right center !important;
  color: #ffffff !important;
  box-shadow:
    0 8px 28px rgba(0,180,216,0.30),
    0 2px 8px rgba(11,61,122,0.18) !important;
  transform: translateY(-2px) scale(1.02) !important;
}

/* ================================================================
   FORM INPUTS — clean + glowing focus
================================================================ */
html body .u-input,
html body .u-input-rectangle,
html body .u-form-group input,
html body .u-form-group textarea {
  background-color: rgba(255,255,255,0.90) !important;
  color: var(--c-text) !important;
  border: 1.5px solid rgba(11,61,122,0.20) !important;
  border-radius: 10px !important;
  font-family: 'Inter', sans-serif !important;
  transition: border-color 0.25s, box-shadow 0.25s, background-color 0.2s !important;
}
html body .u-input:focus,
html body .u-form-group input:focus,
html body .u-form-group textarea:focus {
  border-color: var(--c-teal) !important;
  background-color: #ffffff !important;
  box-shadow:
    0 0 0 4px rgba(0,180,216,0.14),
    0 2px 8px rgba(11,61,122,0.08) !important;
  outline: none !important;
}
html body .u-input::placeholder,
html body .u-input-rectangle::placeholder {
  color: var(--c-text-dim) !important;
  opacity: 0.65 !important;
}

/* Section-8 form inputs on dark bg */
html body .u-section-8 .u-input,
html body .u-section-8 .u-input-rectangle,
html body .u-section-8 .u-form-group input,
html body .u-section-8 .u-form-group textarea {
  background-color: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.30) !important;
  color: #ffffff !important;
}
html body .u-section-8 .u-input::placeholder,
html body .u-section-8 .u-input-rectangle::placeholder {
  color: rgba(255,255,255,0.55) !important;
}
html body .u-section-8 .u-input:focus,
html body .u-section-8 .u-form-group input:focus,
html body .u-section-8 .u-form-group textarea:focus {
  background-color: rgba(255,255,255,0.18) !important;
  border-color: var(--c-teal2) !important;
  box-shadow: 0 0 0 4px rgba(72,202,228,0.25) !important;
}

/* ================================================================
   DIVIDERS
================================================================ */
html body .u-line-horizontal,
html body .u-border-grey-dark-1,
html body .u-line.u-line-horizontal {
  background: var(--c-grad-accent) !important;
  border: none !important;
  height: 2px !important;
  border-radius: 2px !important;
  opacity: 0.22 !important;
}

/* ================================================================
   MOBILE NAV
================================================================ */
html body .u-sidenav,
html body .u-menu-overlay {
  background: linear-gradient(160deg, #0b3d7a 0%, #0d5fa3 100%) !important;
  border-left: 2px solid rgba(0,180,216,0.4) !important;
  backdrop-filter: blur(16px) !important;
}
html body .u-sidenav .u-nav-link {
  color: rgba(255,255,255,0.88) !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 500 !important;
}
html body .u-sidenav .u-nav-link:hover {
  color: var(--c-teal2) !important;
}

/* ================================================================
   OVERLAP HEADER FIX
================================================================ */
html body .u-overlap:not(.u-sticky-scroll) .u-header,
.u-overlap:not(.u-sticky-scroll) .u-header {
  background-color: rgba(255,255,255,0.96) !important;
  backdrop-filter: blur(16px) !important;
}

/* ================================================================
   FORCE ALL SECTION TEXT VISIBLE
================================================================ */
html body .u-section-1 p, html body .u-section-1 .u-text-1 {
  color: rgba(255,255,255,0.88) !important;
}
html body .u-section-2 p, html body .u-section-2 .u-text-2,
html body .u-section-2 .u-text-4, html body .u-section-2 .u-text-6,
html body .u-section-2 .u-text-8, html body .u-section-2 .u-text-default,
html body .u-section-3 p, html body .u-section-3 .u-text-2,
html body .u-section-4 p, html body .u-section-4 .u-text-2,
html body .u-section-5 p, html body .u-section-5 .u-text-2,
html body .u-section-6 p, html body .u-section-6 .u-text-2,
html body .u-section-7 p, html body .u-section-7 .u-text-2 {
  color: var(--c-text) !important;
}
html body .u-section-8 p, html body .u-section-8 .u-text-1,
html body .u-section-8 .u-text-2 {
  color: rgba(255,255,255,0.85) !important;
}

/* ================================================================
   OVERRIDE NICEPAGE BUTTON-STYLE.U-WHITE
================================================================ */
html body .u-button-style.u-white,
html body .u-button-style.u-white[class*="u-border-"],
html body a.u-button-link.u-white,
html body a.u-btn.u-white {
  color: var(--c-navy) !important;
  background-color: transparent !important;
}
html body .u-button-style.u-white:hover {
  color: var(--c-teal) !important;
}

/* Footer nav links */
html body .u-footer .u-btn.u-button-link,
html body .u-footer a.u-button-link {
  color: var(--c-teal2) !important;
  background-color: transparent !important;
  transition: color 0.2s !important;
}
html body .u-footer .u-btn.u-button-link:hover {
  color: #ffffff !important;
}
