/* ============================================================
   DESIGN V2 — angelehnt an theprotocole.com
   Runde Panels, Pillen-Buttons, Versal-Überschriften, Glas-Navigation,
   heller warmer Grund mit Espresso als dunklem Akzent. Schrift: Nunito.
   Wird NACH den Seiten-Styles geladen (öffentliche Seiten, nicht Admin).
   ============================================================ */
:root {
  --color-bg:        #F2F1EC;
  --color-surface:   #FAF9F6;
  --color-surface-2: #E8E4DC;
  --color-border:    #DCD6CB;
  --color-text:      #2E1C16;
  --color-heading:   #2B120E;
  --color-muted:     #7A6D64;
  --ink:             #2B120E;   /* tiefes Espresso – der dunkle Akzent */
  --ink-soft:        #4A2C22;
  --cream:           #F2F1EC;
  --color-primary:       #2B120E;
  --color-primary-hover: #4A2C22;
  --color-accent:        #2B120E;
  --font-main: 'Nunito', system-ui, -apple-system, sans-serif;
  --font-head: 'Nunito', system-ui, -apple-system, sans-serif;
  --radius:    14px;
  --radius-lg: 24px;
  --radius-xl: 28px;
  --shadow:    0 1px 2px rgba(43,18,14,0.04);
  --shadow-lg: 0 18px 40px rgba(43,18,14,0.10);
}
body { font-size: 15px; line-height: 1.6; }

/* Überschriften: breite Grotesk, Versalien, leicht */
h1, h2, h3, h4 {
  font-family: var(--font-head); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.01em; line-height: 1.08; color: var(--color-heading);
}
h2 { font-size: clamp(1.6rem, 3.2vw, 2.6rem); }
.label-style { font-family: var(--font-main); font-weight: 500; font-size: 0.72rem; letter-spacing: 0.14em; color: var(--color-muted); }

/* Buttons: Pillen */
.btn { border-radius: 999px; font-weight: 500; font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 14px 28px; }
.btn--primary { background: var(--ink); color: var(--cream); }
.btn--primary:hover { background: var(--ink-soft); }
.btn--ghost { color: var(--ink); border: 1px solid var(--color-border); padding: 11px 22px; }
.btn--ghost:hover { border-color: var(--ink); text-decoration: none; }
.btn--cream { background: var(--cream); color: var(--ink); }
.btn--cream:hover { background: #fff; text-decoration: none; }
.btn--glass { color: var(--cream); border: 1px solid rgba(242,241,236,0.6); background: rgba(242,241,236,0.08); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.btn--glass:hover { background: rgba(242,241,236,0.2); text-decoration: none; }

/* Ankündigungsleiste: schlicht */
.announcebar { background: transparent; border: 0; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; }
.announcebar__item svg { color: var(--color-muted); }

/* Fortschrittsanzeige "Kostenloser Versand" — füllt sich mit dem Warenkorb */
.shipbar__track { display: none; width: 60px; height: 4px; border-radius: 99px; background: rgba(43,18,14,0.16); overflow: hidden; margin-left: 2px; vertical-align: middle; }
.shipbar--active .shipbar__track { display: inline-block; }
.shipbar__fill { display: block; height: 100%; width: 0%; background: var(--ink); border-radius: 99px; transition: width 0.4s ease; }
.shipbar--done .shipbar__fill { background: #5C7A5C; }
.shipbar--done .shipbar__label { color: #4A6B4C; }
@media (max-width: 720px) {
  .announcebar__item.shipbar { display: inline-flex; }
  /* Sobald der Warenkorb Inhalt hat, bekommt die Fortschrittsanzeige die
     eine Zeile für sich (statt zusätzlich zu umbrechen) */
  .announcebar:has(.shipbar--active) .announcebar__item:not(.shipbar) { display: none; }
}

/* Navigation: schwebende Glas-Pille über dem Hero */
.navbar, .navbar.scrolled { background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; border: 0;
  top: 12px; margin: 12px 0; padding: 0 24px; }
.home .navbar { margin-bottom: -72px; }   /* Startseite: Pille schwebt über dem Hero */
.navbar__inner {
  max-width: 1120px; height: 60px; padding: 0 14px 0 24px;
  background: rgba(250,249,246,0.74); border: 1px solid rgba(255,255,255,0.7); border-radius: 999px;
  backdrop-filter: saturate(1.2) blur(16px); -webkit-backdrop-filter: saturate(1.2) blur(16px);
  transition: box-shadow 0.3s ease;
}
.navbar.scrolled .navbar__inner { box-shadow: 0 10px 30px rgba(43,18,14,0.10); }
.navbar__logo { width: 112px; height: 38px; }
.navbar__links { gap: 26px; }
.navbar__links > li > a { font-size: 0.74rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); }
.navbar__links > li > a:hover, .nav-icons a:hover { color: var(--color-muted); }
.dropdown__inner { border-radius: 20px; background: rgba(250,249,246,0.95); backdrop-filter: blur(16px); }
.nav-icons { gap: 6px; }
.nav-icons a { width: 38px; height: 38px; border-radius: 50%; align-items: center; justify-content: center; }
.nav-icons a:hover { background: rgba(43,18,14,0.06); }
.nav-icons svg { width: 19px; height: 19px; }
#cart-badge { background: var(--ink); top: 2px; right: 0; }
/* Handy: Menü-Links in der Glas-Karte, Hero beginnt darunter */
@media (max-width: 820px) {
  .navbar, .navbar.scrolled, .home .navbar { top: 8px; margin: 8px 0; padding: 0 12px; }
  .navbar__inner { height: auto; border-radius: 24px; padding: 8px 10px 12px 18px; }
  .navbar__links { gap: 20px; }
  .navbar__links > li > a { font-size: 0.7rem; }
}

/* Hero: gerahmtes, abgerundetes Vollbild, Text unten mittig */
.herofull { margin: 0 12px; border-radius: var(--radius-xl); min-height: clamp(560px, 90vh, 860px);
  align-items: flex-end; justify-content: center; text-align: center; }
.herofull__scrim { background: linear-gradient(to top, rgba(30,14,10,0.62) 0%, rgba(30,14,10,0.18) 45%, rgba(30,14,10,0.05) 70%, rgba(30,14,10,0.22) 100%); }
.herofull__slide img { object-position: center 35%; }
.herofull__content { max-width: 820px; padding: 0 24px 96px; margin: 0 auto; }
.herofull__title { color: var(--cream); font-size: clamp(2.1rem, 5.4vw, 4.4rem); line-height: 1.02; margin-bottom: 18px; }
.hero-name { font-family: 'Caveat', cursive; text-transform: none; letter-spacing: 0; font-weight: 600; font-size: 1.25em; color: #F4DCC8; }
.herofull__text { color: rgba(242,241,236,0.88); font-size: 0.95rem; max-width: 440px; margin: 0 auto 28px; }
.herofull__cta { justify-content: center; }
.hero-nav { background: rgba(242,241,236,0.16); border: 1px solid rgba(242,241,236,0.45); color: var(--cream); box-shadow: none; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.hero-nav:hover { background: rgba(242,241,236,0.3); color: var(--cream); }
.hero-dots { bottom: 40px; }
.hero-dot { background: rgba(242,241,236,0.45); }
.hero-dot:hover { background: rgba(242,241,236,0.75); }
.hero-dot.active { background: var(--cream); }
@media (max-width: 700px) {
  .herofull { min-height: 86vh; }
  .herofull__scrim { background: linear-gradient(to top, rgba(30,14,10,0.7) 0%, rgba(30,14,10,0.2) 55%, rgba(30,14,10,0.15) 100%); }
  .herofull__content { padding-bottom: 64px; }
  .hero-dots { bottom: 26px; }
}

/* Trust-Leiste: ruhiges Panel unter dem Hero */
.trust.trust-wrap { margin-top: 12px; }
.trust { border-radius: var(--radius-lg); background: var(--color-surface); border: 1px solid var(--color-border); box-shadow: none; padding: 24px 28px; }
.trust__item svg { color: var(--ink); width: 26px; height: 26px; }
.trust__item strong { font-family: var(--font-head); font-weight: 500; text-transform: uppercase; font-size: 0.76rem; letter-spacing: 0.02em; }
.trust__item span { font-size: 0.8rem; }

/* Sektionsköpfe: links, Versalien */
.sec-head { text-align: left; margin-bottom: 28px; }
.sec-head--row { display: flex; justify-content: space-between; align-items: flex-end; }
.sec-head .label-style { margin-bottom: 12px; }
.section { padding: 72px 0; }

/* Kategorie-Kacheln: große, runde Fotokarten, Titel oben, Pille unten */
.cat-grid { gap: 14px; }
.cat-tile { aspect-ratio: 3/4.2; border-radius: var(--radius-lg); padding: 20px; flex-direction: column; align-items: flex-start; justify-content: space-between; }
.cat-tile:hover { transform: none; }
.cat-tile::after { background: linear-gradient(to bottom, rgba(30,14,10,0.42) 0%, rgba(30,14,10,0) 38%, rgba(30,14,10,0) 62%, rgba(30,14,10,0.35) 100%); }
.cat-tile__label { font-family: var(--font-head); font-weight: 400; text-transform: uppercase; font-size: clamp(0.95rem, 1.4vw, 1.2rem); letter-spacing: -0.01em; line-height: 1.1; }
.cat-tile__cta { position: relative; z-index: 1; background: var(--cream); color: var(--ink); border-radius: 999px; padding: 9px 16px;
  font-size: 0.68rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; transition: background 0.2s; }
.cat-tile:hover .cat-tile__cta { background: #fff; }
@media (max-width: 560px) { .cat-tile { padding: 14px; } .cat-tile__cta { padding: 7px 12px; } }

/* Produktkarten */
.pgrid { gap: 14px; }
.pcard { display: block; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 8px 8px 16px; }
.pcard:hover { transform: none; border-color: #C9C1B4; }
.pcard__img { position: relative; aspect-ratio: 1; overflow: hidden; display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center; border-radius: 18px; margin-bottom: 14px; }
.pcard:hover .pcard__img { box-shadow: none; }
.pcard__was { font-size: 0.74rem; padding: 0 8px; margin-top: 2px; line-height: 1.5; color: var(--color-muted); }
.pcard__was span { display: block; }
.pcard__save { color: #3F6B4C; font-weight: 700; }
.pcard__badge { position: absolute; top: 10px; left: 10px; padding: 5px 10px; border-radius: 999px; background: var(--cream); color: var(--ink);
  font-size: 0.64rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; box-shadow: 0 2px 8px rgba(43,18,14,0.10); }
.pcard__name { font-family: var(--font-head); text-transform: uppercase; font-weight: 400; font-size: 0.8rem; letter-spacing: 0; line-height: 1.25; padding: 0 8px; }
.pcard__price { font-weight: 400; color: var(--color-muted); font-size: 0.85rem; padding: 0 8px; margin-top: 6px; }

/* Qualität & Video */
.quality__img, .feat__media { border-radius: var(--radius-lg); box-shadow: none; }
.badge-cert { color: var(--ink); border: 1px solid var(--ink); font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; font-size: 0.68rem; padding: 7px 14px; }
.feat__text p { line-height: 1.75; }

/* So funktioniert's: Foto-Panel mit Glas-Pillen (neu) */
.making { position: relative; margin: 0 12px; border-radius: var(--radius-xl); overflow: hidden; padding: 88px 24px;
  background: linear-gradient(140deg, #6B4A3B, #2B120E) center/cover; }
.making::before { content: ''; position: absolute; inset: 0; background: rgba(30,14,10,0.45); }
.making > * { position: relative; }
.making h2 { color: var(--cream); text-align: center; margin-bottom: 40px; }
.making__steps { list-style: none; max-width: 560px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; counter-reset: step; }
.making__step { counter-increment: step; display: flex; align-items: center; gap: 18px; padding: 12px 24px 12px 12px; border-radius: 999px;
  color: var(--cream); background: rgba(242,241,236,0.10); border: 1px solid rgba(242,241,236,0.35);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.making__step::before { content: counter(step); flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: var(--cream); color: var(--ink); font-family: var(--font-head); font-size: 0.95rem; }
.making__step strong { display: block; font-family: var(--font-head); font-weight: 400; text-transform: uppercase; font-size: 0.95rem; }
.making__step span { font-size: 0.82rem; color: rgba(242,241,236,0.8); }
.making__cta { text-align: center; margin-top: 36px; }
@media (max-width: 560px) { .making { padding: 64px 14px; } .making__step { border-radius: 26px; } }

/* Bewertungen */
.revcard { border-radius: var(--radius-lg); background: var(--color-surface); }
.revcard__stars { color: var(--ink); }
.revcard__text { font-style: normal; font-size: 0.95rem; }
.revcard__who { font-weight: 500; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.7rem; }

/* Newsletter: der eine dunkle Block */
.newsletter { background: var(--ink); border-radius: var(--radius-xl); padding: 64px 28px; color: var(--cream); }
.newsletter h2 { color: var(--cream); }
.newsletter .label-style { color: rgba(242,241,236,0.6); }
.newsletter p { color: rgba(242,241,236,0.75) !important; }
.newsletter form { max-width: 480px; background: rgba(242,241,236,0.08); border: 1px solid rgba(242,241,236,0.25); border-radius: 999px; padding: 6px; }
.newsletter input { background: transparent; border: 0; color: var(--cream); border-radius: 999px; padding: 12px 18px; }
.newsletter input::placeholder { color: rgba(242,241,236,0.55); }
.newsletter input:focus { outline: none; }
.newsletter .btn--primary { background: var(--cream); color: var(--ink); }
.newsletter .btn--primary:hover { background: #fff; }
#nl-msg { color: rgba(242,241,236,0.85) !important; }
@media (max-width: 480px) { .newsletter form { border-radius: 24px; } }

/* Footer: abgerundetes Panel */
.footer2 { background: var(--color-surface-2); border: 0; border-radius: var(--radius-xl); margin: 72px 12px 12px; padding: 64px 0 28px; }
.footer2 h4 { font-family: var(--font-head); font-weight: 400; font-size: 0.8rem; letter-spacing: 0; color: var(--ink); }
.footer2 ul a:hover, .footer2__socials a:hover { color: var(--ink); }
.footer2__bottom { border-top-color: var(--color-border); font-size: 0.75rem; }

/* Einfacher Footer (Rechtsseiten, Produkt, Personalisierung) */
.footer { background: var(--color-surface-2); border: 0; border-radius: var(--radius-xl); margin: 72px 12px 12px; padding: 32px 0; }
.footer .footer__links a:hover { color: var(--ink); }

/* Formulare & Eingaben */
input:not([type=checkbox]):not([type=radio]), select, textarea { border-radius: var(--radius); }
.form-card { border-radius: var(--radius-lg); }
