
/*
Theme Name: Christiane Dieckmann – Rett-Syndrom
Theme URI: https://christianedieckmann.de/
Author: Christiane Dieckmann
Description: Ruhiges, persönliches WordPress-Theme für den Rett-Syndrom-Onlinekurs.
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: christiane-rett
*/

:root{
  --cream:#f3eee5;
  --paper:#fbfaf7;
  --white:#ffffff;
  --teal:#3f7775;
  --teal-dark:#234b52;
  --teal-soft:#dfeceb;
  --sand:#e8e0d3;
  --orange:#c9824a;
  --text:#29424a;
  --muted:#66777a;
  --line:#e6e5e0;
  --sidebar:360px;
  --radius:12px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:var(--paper);
  font-family: "Segoe UI", Arial, Helvetica, sans-serif;
  line-height:1.65;
}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}

.site-header{
  min-height:300px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(100deg,var(--cream) 0%,#f6f2eb 65%,#e7ece8 100%);
}
.site-header:after{
  content:"";
  position:absolute;
  left:38%;
  right:-10%;
  bottom:-90px;
  height:180px;
  border-top:2px solid rgba(201,130,74,.9);
  border-radius:50%;
  transform:rotate(-3deg);
}
.brand{
  position:relative;
  z-index:3;
  padding:42px 0 20px calc(var(--sidebar) + 38px);
}
.brand-name{
  font-family:Georgia,serif;
  font-size:20px;
  letter-spacing:.08em;
  color:var(--teal-dark);
  margin:0 0 4px;
}
.brand-kicker{
  color:var(--teal);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
}
.hero-title{
  margin:18px 0 0;
  font-family:Georgia,serif;
  font-size:56px;
  line-height:1.02;
  font-weight:500;
  color:#263d46;
}
.hero-subtitle{
  font-size:29px;
  letter-spacing:.08em;
  color:var(--teal);
  margin-top:4px;
}
.hero-note{
  font-family:"Segoe Print","Bradley Hand",cursive;
  color:var(--teal);
  font-size:24px;
  margin-top:8px;
}
.hero-photo{
  position:absolute;
  z-index:2;
  right:5%;
  bottom:-3px;
  width:min(34vw,480px);
  height:305px;
  object-fit:cover;
  object-position:center 18%;
  border-radius:180px 180px 0 0;
  filter:saturate(.88);
}

.layout{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:700px}

.sidebar{
  background:#fff;
  border-right:1px solid var(--line);
  min-height:700px;
}
.progress{
  padding:26px 34px 24px;
  border-bottom:1px solid var(--line);
}
.progress-row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:10px}
.progress-bar{height:10px;background:#e3e8e7;border-radius:99px;overflow:hidden}
.progress-bar span{display:block;height:100%;width:25%;background:var(--teal);border-radius:99px}

.course-nav{padding:8px 0}
.course-nav ul{list-style:none;margin:0;padding:0}
.course-nav li a{
  display:flex;
  align-items:center;
  min-height:52px;
  padding:9px 28px 9px 34px;
  border-bottom:1px solid #f0efec;
  color:var(--text);
  font-size:14px;
  position:relative;
}
.course-nav li a:before{
  content:"›";
  margin-left:auto;
  order:3;
  color:var(--teal);
  font-size:21px;
}
.course-nav li a:hover,.course-nav .current-menu-item a{
  background:var(--teal-soft);
  text-decoration:none;
}
.course-nav li a:after{
  content:"";
  width:22px;height:22px;
  margin-right:18px;
  border:1.5px solid var(--teal);
  border-radius:50%;
  opacity:.85;
}
.sidebar-note{
  padding:36px 46px;
  font-family:"Segoe Print","Bradley Hand",cursive;
  font-size:18px;
  color:var(--teal);
}
.sidebar-note span{display:block;color:var(--orange);font-size:25px;line-height:1}

.content{padding:46px 46px 70px;max-width:1450px}
.welcome-grid{display:grid;grid-template-columns:1fr 300px;gap:44px;align-items:center}
.eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}
.content h1,.content h2{
  font-family:Georgia,serif;
  font-weight:500;
  color:#29414a;
}
.content h1{font-size:44px;line-height:1.12;margin:12px 0 18px}
.content h1:after{
  content:"";
  display:block;
  width:34px;
  border-top:3px solid var(--orange);
  margin-top:20px;
}
.signature{
  font-family:"Segoe Print","Bradley Hand",cursive;
  font-size:23px;color:var(--teal);margin-top:12px;
}
.progress-ring{
  width:190px;height:190px;border-radius:50%;
  background:conic-gradient(var(--teal) 0 25%,#e7eceb 25% 100%);
  display:grid;place-items:center;margin:auto;
  position:relative;
}
.progress-ring:after{
  content:"";position:absolute;inset:14px;background:var(--paper);border-radius:50%;
}
.progress-ring .inside{position:relative;z-index:1;text-align:center}
.progress-ring strong{display:block;font-size:28px;color:var(--teal)}
.progress-ring small{font-size:12px;color:var(--muted)}
.progress-caption{text-align:center;color:var(--teal);margin-top:18px;font-size:14px}

.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:42px}
.card{
  background:#fff;
  border:1px solid #eeeae2;
  border-radius:var(--radius);
  padding:25px 23px 27px;
  box-shadow:0 5px 20px rgba(40,65,74,.035);
}
.card-icon{
  width:48px;height:48px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--cream);color:var(--teal);
  font-size:22px;margin-bottom:16px;
}
.card h2{font-size:23px;margin:0 0 6px}
.card h3{font-size:14px;color:var(--teal);margin:0 0 9px}
.card p{font-size:13px;color:#52666b;margin:0 0 18px}
.card .button{
  display:inline-block;background:var(--orange);color:#fff;
  border-radius:99px;padding:8px 17px;font-size:13px;
}
.card .text-link{font-size:13px;text-decoration:underline;text-underline-offset:4px}

.page-content{
  margin-top:45px;background:#fff;border:1px solid #eeeae2;border-radius:var(--radius);
  padding:34px;max-width:900px;
}

.site-footer{
  background:var(--teal-dark);color:#e9f1ef;padding:28px 30px;
  text-align:center;font-size:13px;
}
.site-footer a{color:#fff}

@media(max-width:1100px){
  :root{--sidebar:290px}
  .hero-title{font-size:46px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .hero-photo{width:35vw}
}
@media(max-width:780px){
  .site-header{min-height:440px}
  .brand{padding:28px 25px}
  .hero-title{font-size:42px}
  .hero-photo{width:58vw;height:220px;right:0}
  .layout{grid-template-columns:1fr}
  .sidebar{min-height:0}
  .course-nav{display:none}
  .sidebar-note{display:none}
  .progress{padding:18px 25px}
  .content{padding:34px 22px}
  .welcome-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
}
