/* NeuroSocks — green iridescent / shimmering theme */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap');

:root {
  --ns-green: #10b981;
  --ns-green-mid: #34d399;
  --ns-green-light: #d1fae5;
  --ns-green-pale: #ecfdf5;
  --ns-teal: #14b8a6;
  --ns-emerald: #059669;
  --ns-deep: #047857;
  --ns-ink: #064e3b;
  --ns-muted: #4b7c6f;
  --ns-gradient: linear-gradient(135deg, #6ee7b7 0%, #10b981 35%, #14b8a6 65%, #34d399 100%);
  --ns-gradient-soft: linear-gradient(145deg, #ecfdf5 0%, #d1fae5 40%, #a7f3d0 100%);
  --ns-gradient-shine: linear-gradient(
    120deg,
    #a7f3d0 0%,
    #6ee7b7 20%,
    #10b981 40%,
    #14b8a6 60%,
    #34d399 80%,
    #a7f3d0 100%
  );
  --accent: var(--ns-green);
  --accent-hover: var(--ns-deep);
}

@keyframes ns-shimmer {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

html {
  font-size: 16px;
}

body.u-body {
  font-family: 'Source Sans 3', system-ui, sans-serif !important;
  background: linear-gradient(180deg, #f0fdf4 0%, #ecfdf5 50%, #f0fdf4 100%) !important;
  color: var(--ns-ink) !important;
}

h1, h2, h3, h4, h5, h6,
.u-heading-font,
.u-logo-text {
  font-family: 'Outfit', system-ui, sans-serif !important;
}

/* Header */
.u-header {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(12px);
  border-bottom: 2px solid #a7f3d0 !important;
  box-shadow: 0 4px 24px rgba(16, 185, 129, 0.12) !important;
}

.u-logo.u-logo-text {
  background: var(--ns-gradient-shine);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
}

.u-logo.u-logo-text:hover {
  animation: ns-shimmer 3s ease infinite;
}

/* Hero block — no gray */
.u-section-1 .u-layout-cell-1 {
  background: var(--ns-gradient-soft) !important;
  border: 1px solid #a7f3d0 !important;
  border-radius: 24px !important;
}

.u-section-1 .u-image-2,
.u-section-5 .u-image-1,
.u-section-3 .u-image-1 {
  border-radius: 24px !important;
  box-shadow: 0 20px 50px rgba(16, 185, 129, 0.2);
  border: 2px solid #a7f3d0;
}

/* Feature tiles — replace plain white/gray */
.u-section-1 .u-list-item,
.u-section-6 .u-list-item {
  background: var(--ns-gradient-soft) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(16, 185, 129, 0.1);
  border: 1px solid #a7f3d0 !important;
}

.u-section-1 .u-list-item.u-white,
.u-section-6 .u-list-item {
  background: linear-gradient(160deg, #ffffff 0%, #ecfdf5 50%, #d1fae5 100%) !important;
}

/* ===== Hard contrast fix for all text ===== */
/* Light sections/cards: force dark readable text */
.u-section-1 .u-text,
.u-section-2 .u-text,
.u-section-3 .u-text,
.u-section-5 .u-text,
.u-section-6 .u-text,
.u-section-8 .u-text,
.u-section-1 p,
.u-section-2 p,
.u-section-3 p,
.u-section-5 p,
.u-section-6 p,
.u-section-8 p,
.u-section-1 h1, .u-section-1 h2, .u-section-1 h3, .u-section-1 h4, .u-section-1 h5, .u-section-1 h6,
.u-section-2 h1, .u-section-2 h2, .u-section-2 h3, .u-section-2 h4, .u-section-2 h5, .u-section-2 h6,
.u-section-3 h1, .u-section-3 h2, .u-section-3 h3, .u-section-3 h4, .u-section-3 h5, .u-section-3 h6,
.u-section-5 h1, .u-section-5 h2, .u-section-5 h3, .u-section-5 h4, .u-section-5 h5, .u-section-5 h6,
.u-section-6 h1, .u-section-6 h2, .u-section-6 h3, .u-section-6 h4, .u-section-6 h5, .u-section-6 h6,
.u-section-8 h1, .u-section-8 h2, .u-section-8 h3, .u-section-8 h4, .u-section-8 h5, .u-section-8 h6 {
  color: #064e3b !important;
}

/* Keep links visible in light sections */
.u-section-1 a:not(.u-btn),
.u-section-2 a:not(.u-btn),
.u-section-3 a:not(.u-btn),
.u-section-5 a:not(.u-btn),
.u-section-6 a:not(.u-btn),
.u-section-8 a:not(.u-btn) {
  color: #047857 !important;
}

/* Dark/gradient sections: keep bright text */
.u-section-4 .u-layout-cell-2 .u-text,
.u-section-4 .u-layout-cell-3 .u-text,
.u-section-4 .u-layout-cell-2 p,
.u-section-4 .u-layout-cell-3 p,
.u-section-4 .u-layout-cell-2 h1, .u-section-4 .u-layout-cell-2 h2, .u-section-4 .u-layout-cell-2 h3, .u-section-4 .u-layout-cell-2 h4, .u-section-4 .u-layout-cell-2 h5, .u-section-4 .u-layout-cell-2 h6,
.u-section-4 .u-layout-cell-3 h1, .u-section-4 .u-layout-cell-3 h2, .u-section-4 .u-layout-cell-3 h3, .u-section-4 .u-layout-cell-3 h4, .u-section-4 .u-layout-cell-3 h5, .u-section-4 .u-layout-cell-3 h6,
.u-section-7 .u-text,
.u-section-7 p,
.u-section-7 h1, .u-section-7 h2, .u-section-7 h3, .u-section-7 h4, .u-section-7 h5, .u-section-7 h6,
.u-footer .u-text,
.u-footer p {
  color: #ecfdf5 !important;
}

/* Buttons — white text only on actual buttons */
.u-btn,
.u-btn .u-text,
a.u-btn {
  color: #ffffff !important;
}

/* Footer nav is NOT a button — exclude from white-text rule */
#sec-3003 .u-button-style {
  color: #ffffff !important;
  background: transparent !important;
}

/* Section 2 — testimonials, remove grey borders */
.u-section-2 .u-border-grey-75 {
  border-color: #a7f3d0 !important;
}

.u-section-2 .u-layout-cell-1 .u-container-layout-1,
.u-section-2 .u-layout-cell-2 .u-container-layout-2 {
  background: linear-gradient(160deg, #ffffff 0%, #ecfdf5 100%) !important;
  border-radius: 20px;
}

.u-section-2 .u-carousel-indicators li.u-grey-50,
.u-section-2 .u-carousel-indicators li.u-grey-30 {
  background-color: #a7f3d0 !important;
}

.u-section-2 .u-carousel-indicators li.u-active-black {
  background: var(--ns-gradient) !important;
}

/* Section 4 info cards */
.u-section-4 .u-layout-cell-2,
.u-section-4 .u-layout-cell-3 {
  background: var(--ns-gradient-shine) !important;
  background-size: 200% 200% !important;
  animation: ns-shimmer 8s ease infinite;
  border-radius: 20px !important;
  color: #fff !important;
}

.u-section-4 .u-layout-cell-2 .u-text,
.u-section-4 .u-layout-cell-3 .u-text {
  color: #fff !important;
}

/* Section 5 content block */
.u-section-5 .u-layout-cell-2.u-white {
  background: var(--ns-gradient-soft) !important;
  border: 1px solid #a7f3d0 !important;
  border-radius: 20px !important;
}

/* CTA section 7 */
.u-section-7.u-palette-5-base,
.u-section-7.u-palette-5-base .u-sheet-1,
.u-section-7.u-palette-5-base .u-container-layout,
.u-section-7.u-palette-5-base .u-group-1 {
  background: var(--ns-gradient-shine) !important;
  background-size: 200% 200% !important;
  animation: ns-shimmer 6s ease infinite;
}

.u-section-7 .u-group-1 {
  border-color: rgba(255, 255, 255, 0.5) !important;
}

/* Footer — green gradient instead of gray */
.u-footer.u-grey-90,
footer.u-footer {
  background: linear-gradient(160deg, #047857 0%, #059669 30%, #10b981 60%, #14b8a6 100%) !important;
  color: #ecfdf5 !important;
}

.u-footer .u-text,
.u-footer a {
  color: #ecfdf5 !important;
}

.u-footer a:hover {
  color: #ffffff !important;
}

.u-text-palette-5-base {
  color: var(--ns-emerald) !important;
}

.u-section-6 .u-file-icon img,
.u-section-6 .u-icon img {
  filter: brightness(0) saturate(100%) invert(58%) sepia(52%) saturate(1200%) hue-rotate(115deg) brightness(95%) contrast(90%) !important;
}

.u-section-1 .u-group-1 {
  border-color: var(--ns-green) !important;
  background: rgba(255, 255, 255, 0.85) !important;
}

/* Buttons — shimmering green */
.u-btn.u-palette-5-base,
.u-button-style.u-palette-5-base,
.u-btn.u-palette-4-base,
.u-button-style.u-palette-4-base,
.u-section-1 .u-btn-1,
.u-section-2 .u-btn-1,
.u-section-4 .u-btn-1,
.u-section-5 .u-btn-1,
.u-section-7 .u-btn-1 {
  background: var(--ns-gradient-shine) !important;
  background-size: 200% 200% !important;
  border: none !important;
  color: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 28px rgba(16, 185, 129, 0.4);
  transition: transform 0.2s, box-shadow 0.2s;
}

.u-section-1 .u-btn-1:hover,
.u-section-2 .u-btn-1:hover,
.u-section-4 .u-btn-1:hover,
.u-section-5 .u-btn-1:hover,
.u-section-7 .u-btn-1:hover,
.u-button-style.u-palette-5-base:hover,
.u-button-style.u-palette-4-base:hover {
  background: var(--ns-gradient-shine) !important;
  animation: ns-shimmer 2s ease infinite;
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(5, 150, 105, 0.45);
}

.u-section-7 .u-btn-1.u-white {
  background: #ffffff !important;
  color: var(--ns-deep) !important;
  animation: none;
}

.u-section-7 .u-btn-1.u-white:hover {
  background: #ecfdf5 !important;
  color: var(--ns-deep) !important;
}

/* FAQ */
.u-section-8 .u-accordion-link .u-accordion-link-text {
  color: var(--ns-emerald) !important;
}

.u-section-8 .u-accordion-link {
  border-color: #a7f3d0 !important;
  background: linear-gradient(90deg, #ffffff 0%, #ecfdf5 100%) !important;
}

.u-border-palette-2-base {
  border-color: var(--ns-green-mid) !important;
}

.u-section-6 .u-border-palette-2-base {
  border-top-color: var(--ns-green) !important;
}

/* Sections general background */
.u-section-2,
.u-section-3,
.u-section-5,
.u-section-6,
.u-section-8 {
  background-color: transparent !important;
}

.u-border-grey-25 {
  border-color: #a7f3d0 !important;
}

/* Override Nicepage custom gray hero color */
.u-custom-color-1,
.u-layout-cell.u-custom-color-1 {
  background-color: transparent !important;
}

/* Footer: solid green, no gray glass */
#sec-3003.u-footer,
#sec-3003.u-footer .u-sheet-1,
footer.u-footer.u-grey-90 {
  background: linear-gradient(160deg, #047857 0%, #059669 35%, #10b981 70%, #14b8a6 100%) !important;
  background-color: #047857 !important;
  color: #ffffff !important;
}

#sec-3003 .u-text,
#sec-3003 .u-text-1,
#sec-3003 .u-text-2,
#sec-3003 .u-text-3,
#sec-3003 p,
#sec-3003 span,
#sec-3003 .u-nav-link,
#sec-3003 a:not(.u-btn) {
  color: #ffffff !important;
  opacity: 1 !important;
}

#sec-3003 a:not(.u-btn):hover {
  color: #d1fae5 !important;
}

#sec-3003 .u-nav-link,
#sec-3003 .u-button-style.u-nav-link {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Keep readable text on light cards */
.u-section-1 .u-list-item .u-text,
.u-section-2 .u-layout-cell .u-text,
.u-section-3 .u-text,
.u-section-5 .u-layout-cell-2.u-white .u-text,
.u-section-6 .u-list-item .u-text,
.u-section-8 .u-text {
  color: var(--ns-ink) !important;
}

/* Ensure colored cards stay colored (not transparent) */
.u-section-4 .u-layout-cell-2.u-palette-4-base,
.u-section-4 .u-layout-cell-3.u-palette-4-base {
  background: var(--ns-gradient-shine) !important;
  background-size: 200% 200% !important;
}

/* Keep CTA/footer text bright on dark/gradient areas */
.u-section-7 .u-text,
.u-section-7 .u-line,
.u-footer .u-text,
.u-footer a {
  color: #ecfdf5 !important;
}

.u-section-6 .u-list-item {
  background: linear-gradient(160deg, #ffffff 0%, #ecfdf5 50%, #d1fae5 100%) !important;
}

/* ===== Remove all gray blocks site-wide ===== */
[class*="u-grey"],
.u-border-grey-25,
.u-border-grey-75,
.u-text-grey-30,
.u-active-grey-10 {
  border-color: #a7f3d0 !important;
}

.u-text-body-color {
  color: #064e3b !important;
}

.u-layout-cell:not(.u-image):not(.u-palette-4-base),
.u-list-item,
.u-group,
.u-accordion-link,
.u-accordion-pane {
  background: linear-gradient(160deg, #ffffff 0%, #ecfdf5 55%, #d1fae5 100%) !important;
  border-color: #a7f3d0 !important;
  box-shadow: 0 8px 24px rgba(16, 185, 129, 0.08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#sec-3003 .u-sheet-1 {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.u-section-4 .u-layout-cell-1 {
  background: linear-gradient(160deg, #ffffff 0%, #ecfdf5 100%) !important;
}

.u-section-4 .u-layout-cell-1 .u-text,
.u-section-4 .u-layout-cell-1 p,
.u-section-4 .u-layout-cell-1 h2 {
  color: #064e3b !important;
}

.u-section-2 .u-carousel-indicators li {
  background-color: #a7f3d0 !important;
}

.u-section-2 .u-carousel-indicators li.u-active-black {
  background: linear-gradient(90deg, #10b981, #14b8a6) !important;
}
