/* Pastel premium theme overrides for the existing layout
   File: styles-psych-pastel.css
   Goal: calm, premium, high-contrast, non-clinical pastel palette
*/

:root{
  --bg0: #fbfaf8;
  --bg1: #f3f1ee;
  --surface: rgba(255,255,255,.68);
  --surface-strong: rgba(255,255,255,.86);
  --border: rgba(25, 28, 33, .10);
  --border-strong: rgba(25, 28, 33, .14);

  --text: #171a1f;
  --muted: rgba(23,26,31,.72);

  --accent: #2f6f62;       /* deep sage */
  --accent-2: #6a5acd;     /* muted lavender */
  --accent-3: #c07a4a;     /* soft terracotta (sparingly) */

  --shadow-1: 0 10px 30px rgba(16, 24, 40, .10);
  --shadow-2: 0 18px 60px rgba(16, 24, 40, .14);

  --radius-xl: 22px;
}

html, body{
  background:
    radial-gradient(1100px 620px at 18% 12%, rgba(47,111,98,.16), transparent 60%),
    radial-gradient(900px 520px at 82% 22%, rgba(106,90,205,.12), transparent 58%),
    radial-gradient(900px 520px at 55% 92%, rgba(192,122,74,.10), transparent 62%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  color: var(--text);
}

body{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Header glass: light, readable */
.header.glass{
  background: rgba(255,255,255,.58) !important;
  border-bottom: 1px solid var(--border) !important;
  backdrop-filter: blur(14px) saturate(1.15);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
}

/* Brand */
.brand-text strong{ color: var(--text) !important; }
.brand-text span{ color: var(--muted) !important; }

/* Nav links */
.nav-links a{
  color: rgba(23,26,31,.82) !important;
}
.nav-links a:hover{
  color: var(--text) !important;
}

/* Lang switch */
.lang-switch a{
  border: 1px solid var(--border) !important;
  background: rgba(255,255,255,.40) !important;
  color: rgba(23,26,31,.78) !important;
}
.lang-switch a.active{
  background: rgba(47,111,98,.12) !important;
  border-color: rgba(47,111,98,.28) !important;
  color: var(--text) !important;
}

/* Social icons */
.socials a{
  border: 1px solid var(--border) !important;
  background: rgba(255,255,255,.40) !important;
  color: rgba(23,26,31,.78) !important;
}
.socials a:hover{
  background: rgba(255,255,255,.62) !important;
  border-color: var(--border-strong) !important;
  color: var(--text) !important;
}

/* HERO overlay tuning */
.hero::before, .hero::after{
  opacity: .10 !important;
}
.hero-media img{
  filter: saturate(.92) contrast(.96) brightness(1.02);
}

/* Section lead */
.section-lead{ color: var(--muted) !important; }

/* Cards */
.card, .testimonial, .cta{
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-1) !important;
  border-radius: var(--radius-xl) !important;
}
.card:hover{
  box-shadow: var(--shadow-2) !important;
  border-color: var(--border-strong) !important;
}

/* Case media rounding */
.case-media{
  border-radius: calc(var(--radius-xl) - 4px) !important;
  overflow: hidden;
  border: 1px solid var(--border) !important;
  background: rgba(255,255,255,.55) !important;
}

/* Typography */
.hero-title{
  color: var(--text) !important;
  letter-spacing: -0.02em;
}
.hero-lead{
  color: rgba(23,26,31,.78) !important;
}

/* Buttons */
.btn{
  border-radius: 999px !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 10px 24px rgba(16, 24, 40, .10) !important;
}

.btn.btn-primary{
  background: linear-gradient(135deg, rgba(47,111,98,.92), rgba(47,111,98,.74)) !important;
  color: #ffffff !important;
  border-color: rgba(47,111,98,.35) !important;
}
.btn.btn-primary:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.btn.btn-secondary{
  background: rgba(255,255,255,.60) !important;
  color: var(--text) !important;
  border-color: var(--border-strong) !important;
}
.btn.btn-secondary:hover{
  background: rgba(255,255,255,.78) !important;
  transform: translateY(-1px);
}

/* Muted text */
.muted, .muted *{ color: var(--muted) !important; }
.small{ color: rgba(23,26,31,.60) !important; }

/* Footer */
.footer{
  background: rgba(255,255,255,.58) !important;
  border-top: 1px solid var(--border) !important;
}
.footer h3{ color: var(--text) !important; }
.footer .section-lead{ color: rgba(23,26,31,.70) !important; }

/* Forms */
.form input, .form textarea{
  background: rgba(255,255,255,.78) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: 16px !important;
}
.form input::placeholder, .form textarea::placeholder{
  color: rgba(23,26,31,.55) !important;
}
.form input:focus, .form textarea:focus{
  outline: none !important;
  border-color: rgba(47,111,98,.40) !important;
  box-shadow: 0 0 0 4px rgba(47,111,98,.12) !important;
}

/* Messenger row: adapt to light theme */
.messenger-row a{
  border: 1px solid var(--border) !important;
  background: rgba(255,255,255,.44) !important;
}
.messenger-row a:hover{
  background: rgba(255,255,255,.72) !important;
  border-color: var(--border-strong) !important;
}

/* Reduce any “neon/glow” effects if present in base CSS */
.neu{
  box-shadow: 0 12px 28px rgba(16, 24, 40, .12) !important;
}

/* Accessibility: ensure links are visible */
a{ color: var(--accent) }
a:hover{ color: rgba(47,111,98,.86) }

/* Mobile: tighten hero overlay */
@media (max-width: 768px){
  .hero-media img{ filter: saturate(.90) contrast(.97) brightness(1.02); }
  .card, .testimonial, .cta{ border-radius: 18px !important; }
}


.grid-4{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:22px;
  margin-top:34px;
}

/* Tablet: 2×4 */
@media (max-width: 980px){
  .grid-4{
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile: 1×8 */
@media (max-width: 560px){
  .grid-4{
    grid-template-columns: 1fr;
  }
}
