:root{
  --bg:#F3EFE9;
  --accent:#50B9C7;
  --dark:#02627B;
  --muted:#6b7280;

  --brand-h:40px;
  --radius:16px;
  --shadow:0 1px 2px rgba(0,0,0,.04), 0 6px 16px rgba(0,0,0,.06);
  --border:#e6e7ea;
  --card-pad:1rem;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:#0f172a;font-family:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";line-height:1.55}
a{color:var(--dark);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:1rem}

/* Header */
.site-header{display:flex;gap:.5rem;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;background:#fff;position:sticky;top:0;z-index:50}
.brand{display:inline-flex;align-items:center;gap:.5rem}
.brand img{height:var(--brand-h);width:auto;display:block}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Hamburger (mobile-first) */
.nav-toggle{appearance:none;border:0;background:transparent;padding:.4rem;border-radius:.5rem;display:inline-flex;flex-direction:column;gap:.3rem;cursor:pointer}
.nav-toggle:focus{outline:2px solid var(--accent);outline-offset:2px}
.nav-toggle .bar{width:26px;height:3px;background:#0f172a;border-radius:2px;display:block;transition:transform .2s ease, opacity .2s ease}
.nav-toggle[aria-expanded="true"] .bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.menu{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 6px 12px rgba(0,0,0,.06);display:grid;gap:.25rem;padding:.5rem 1rem}
.menu a{padding:.5rem .25rem}
.menu .btn.small{margin:.25rem 0}
.menu.is-collapsed{display:none}
@media (min-width:700px){
  .nav-toggle{display:none}
  .menu{position:static;box-shadow:none;border:0;padding:0;display:flex !important;align-items:center;gap:.75rem}
  .menu a{padding:0}
}

/* Buttons & Inputs */
.btn{background:var(--dark);color:#fff;border:none;border-radius:.6rem;padding:.55rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;line-height:1;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease}
.btn:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 18px rgba(2,98,123,.18)}
.btn.small{padding:.45rem .9rem;font-size:.92rem}
.btn.outline{background:transparent;border:1px solid var(--dark);color:var(--dark)}
input,textarea{width:100%;padding:.6rem;border:1px solid #d1d5db;border-radius:.6rem;background:#fff}

/* Tables */
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:.8rem;overflow:hidden}
.table th,.table td{padding:.6rem;border-bottom:1px solid #eee}
.table th{background:#f8fafc;text-align:left}
.table .right{text-align:right}
.qty{width:80px}

/* Hero */
.hero{position:relative;min-height:48vh;border-radius:var(--radius);overflow:hidden;margin:1rem 0}
.hero-bg{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;filter:saturate(0.95)}
.hero-content{position:relative;z-index:1;color:#fff;text-align:center;padding:6rem 1rem;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom, rgba(2,98,123,.35), rgba(2,98,123,.55))}

/* CARDS */
.cards{display:grid;gap:1.25rem;grid-template-columns:1fr; margin:1.25rem 0}
.card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);
  padding:var(--card-pad);box-shadow:var(--shadow);
  display:grid;grid-template-rows:auto auto 1fr auto;gap:.8rem;min-height:100%;
}
.card h3{margin:.1rem 0 .2rem;font-size:1.15rem}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;display:block}
.bullets{margin:.1rem 0 .25rem;padding-left:1.15rem}
.bullets li{margin:.25rem 0}

/* CTA-Button in Cards: mittig, ohne Vollbreite */
.card .card-cta{justify-self:center}

/* Products etc. */
.grid.products{display:grid;gap:1rem;grid-template-columns:1fr}
.product{background:#fff;border-radius:var(--radius);overflow:hidden;display:grid;box-shadow:var(--shadow);border:1px solid var(--border)}
.product img{width:100%;height:180px;object-fit:cover}
.product .p-body{padding:.9rem;display:grid;gap:.5rem}
.price-row{display:flex;align-items:center;justify-content:space-between}
.price{font-weight:700}

.gift{margin:2rem 0;background:#fff;border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);border:1px solid var(--border)}
.wall,.posts,.list{list-style:none;padding:0;margin:0}
.wall li,.posts li{background:#fff;border-radius:.8rem;padding:.6rem .8rem;margin-bottom:.5rem;box-shadow:var(--shadow);border:1px solid var(--border)}
.muted{color:var(--muted);font-size:.95rem}

/* Grids & Footer */
.grid.two{display:grid;gap:1rem}
.grid.four{display:grid;gap:1rem}
.stat{background:#fff;border-radius:var(--radius);padding:1rem;text-align:center;box-shadow:var(--shadow);border:1px solid var(--border)}
.kpi{font-size:2rem;font-weight:700;color:var(--dark)}
.site-footer{border-top:1px solid #e5e7eb;margin-top:2rem;background:#fff}
.site-footer p{margin:.8rem 0}

/* CTA */
.cta{background:#fff;border-radius:var(--radius);padding:1.25rem;text-align:center;box-shadow:var(--shadow);border:1px solid var(--border)}
.cta h2{color:var(--dark);margin-top:0}

/* Founder */
.founder{margin:1.5rem 0}
.founder-card{max-width:980px;margin:0 auto}
.founder h2{margin:0 0 .5rem;color:var(--dark);text-align:center}
.founder p{font-size:1.05rem;line-height:1.8;margin:.5rem 0}

/* Newsletter */
.newsletter{margin:2rem 0;text-align:center}
.newsletter h2{color:var(--dark);margin:0 0 1rem}
.newsletter-form{max-width:680px;margin:0 auto;display:grid;gap:.75rem;background:#fff;padding:1rem;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border)}
.newsletter-form input[type="email"]{font-size:1rem}
.newsletter-btn{width:100%}
.privacy{font-size:.9rem;color:var(--muted);margin:.25rem 0}
.privacy a{color:var(--dark)}

/* Desktop */
@media (min-width:700px){
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid.products{grid-template-columns:repeat(3,1fr)}
  .grid.two{grid-template-columns:1fr 1fr}
  .grid.four{grid-template-columns:repeat(4,1fr)}
}
