/*
Theme Name: Astra Child - Klinika Terra
Template: astra
Version: 1.0
Description: Child theme dla demo portfolio klinikaterra.pl (psychoterapia)
*/

/* ==========================================================================
   TOKENS
   ========================================================================== */
:root{
  --terra-sand-light:#F4F6F8;
  --terra-sand:#E7ECF1;
  --terra-clay:#E3A72E;
  --terra-clay-deep:#B7860F;
  --terra-charcoal:#1F2933;
  --terra-taupe:#6B7A8A;
  --terra-sage:#2B4C6F;
  --terra-white:#FFFFFF;

  --font-display:'Sora', 'Segoe UI', sans-serif;
  --font-body:'Work Sans', 'Segoe UI', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;

  --radius:4px;
  --gap-section:5rem;
}

@media (max-width:768px){
  :root{ --gap-section:4rem; }
}

/* ==========================================================================
   RESET / BASE
   ========================================================================== */
body{
  background:var(--terra-sand-light);
  color:var(--terra-charcoal);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.7;
}

p{
  text-align:justify;
  hyphens:auto;
  -webkit-hyphens:auto;
}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:500;
  color:var(--terra-charcoal);
  line-height:1.15;
  letter-spacing:-0.01em;
}

a{ color:var(--terra-clay); }
a:hover{ color:var(--terra-clay-deep); }

/* Hide Astra default footer - custom footer built per page */
#colophon{ display:none!important; }

/* ==========================================================================
   LAYOUT UTILITIES
   ========================================================================== */
.kt-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 1.75rem;
}

.kt-section{
  padding:var(--gap-section) 0;
  position:relative;
}

.kt-eyebrow{
  font-family:var(--font-mono);
  font-size:1.5rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--terra-clay);
  display:block;
  margin-bottom:1rem;
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.kt-btn{
  display:inline-flex;
  align-items:center;
  gap:0.6rem;
  font-family:var(--font-body);
  font-weight:600;
  font-size:0.95rem;
  letter-spacing:0.02em;
  padding:0.9rem 1.9rem;
  border-radius:var(--radius);
  text-decoration:none;
  transition:background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  cursor:pointer;
}

.kt-btn-filled{
  background:var(--terra-clay);
  color:var(--terra-charcoal)!important;
  border:1px solid var(--terra-clay);
}
.kt-btn-filled:hover{
  background:transparent;
  color:var(--terra-clay-deep)!important;
  border-color:var(--terra-clay-deep);
}

.kt-btn-outline{
  background:transparent;
  color:var(--terra-charcoal)!important;
  border:1px solid var(--terra-taupe);
}
.kt-btn-outline:hover{
  background:var(--terra-charcoal);
  color:var(--terra-white)!important;
  border-color:var(--terra-charcoal);
}

/* ==========================================================================
   LOGO LOCKUP (Klinika . Terra)
   ========================================================================== */
.kt-logo{
  display:inline-flex;
  align-items:center;
  font-family:var(--font-display);
  font-weight:600;
  font-size:1.5rem;
  letter-spacing:-0.01em;
  line-height:1;
}
.kt-logo-klinika{ color:var(--terra-charcoal); }
.kt-logo-terra{ color:var(--terra-sage); }
.kt-logo-dot{
  display:inline-block;
  width:0.6em;
  height:0.6em;
  border-radius:50%;
  margin:0 0.12em;
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 35%),
    radial-gradient(circle at 60% 65%, #E3A72E 0%, transparent 40%),
    radial-gradient(circle at 30% 65%, #4C7A5E 0%, transparent 45%),
    radial-gradient(circle at 65% 30%, #2B4C6F 0%, #1F2933 75%);
  flex-shrink:0;
}
.kt-logo-lg{ font-size:2.1rem; }
.kt-logo-lg .kt-logo-dot{ width:0.55em; height:0.55em; }
.kt-logo-on-dark .kt-logo-klinika{ color:var(--terra-white); }
.kt-logo-on-dark .kt-logo-terra{ color:#9FC3E0; }

/* ==========================================================================
   CONTOUR DIVIDER (signature element, reused across pages)
   ========================================================================== */
.kt-contour-divider{
  width:100%;
  height:auto;
  display:block;
}
.kt-contour-divider path{
  fill:none;
  stroke:var(--terra-taupe);
  stroke-width:1;
  opacity:0.55;
}
.kt-contour-divider path:nth-child(2){ opacity:0.35; }
.kt-contour-divider path:nth-child(3){ opacity:0.2; }

/* ==========================================================================
   CARDS
   ========================================================================== */
.kt-card{
  background:var(--terra-white);
  border:1px solid rgba(141,122,92,0.25);
  border-radius:var(--radius);
  padding:2.2rem;
}

/* ==========================================================================
   HEADER OVERRIDES (kept minimal, Astra handles structure)
   ========================================================================== */
#masthead{
  background:var(--terra-sand-light);
  border-bottom:1px solid rgba(141,122,92,0.25);
}
.main-header-menu .menu-item > a{
  font-family:var(--font-body);
  font-weight:600;
  color:var(--terra-charcoal);
}

/* ==========================================================================
   CUSTOM FOOTER (built via Custom HTML in Footer Builder, styled here)
   ========================================================================== */
.kt-footer{
  background:var(--terra-charcoal);
  color:var(--terra-sand-light);
  padding:4rem 0 2rem;
}
.kt-footer a{ color:var(--terra-sand-light); }
.kt-footer a:hover{ color:var(--terra-clay); }
.kt-footer p{ color:rgba(244,246,248,0.65); font-size:0.92rem; text-align:left; max-width:320px; margin:0.8rem 0 0; }
.kt-footer-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:2.5rem;
}
@media (max-width:640px){ .kt-footer-grid{ grid-template-columns:1fr; gap:2rem; } }
.kt-footer-brand{ font-family:var(--font-display); font-size:1.4rem; color:var(--terra-white); }
.kt-footer-heading{
  font-family:var(--font-mono);
  font-size:0.75rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--terra-taupe);
  display:block;
  margin-bottom:1rem;
}
.kt-footer-links{ list-style:none; margin:0; padding:0; }
.kt-footer-links li{ margin-bottom:0.7rem; font-size:0.95rem; }
.kt-footer .kt-footer-bottom{
  border-top:1px solid rgba(255,255,255,0.12);
  margin-top:3rem;
  padding-top:1.5rem;
  font-size:0.85rem;
  color:var(--terra-taupe);
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms!important; animation-iteration-count:1!important; transition-duration:0.001ms!important; }
}