/* innigo.de – Shop. Werte aus „innigo Shop v2“ (Claude Design). */
@font-face { font-family: 'Lilita One'; src: url('../fonts/lilita-one-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Nunito'; src: url('../fonts/nunito-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Nunito'; src: url('../fonts/nunito-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Nunito'; src: url('../fonts/nunito-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Nunito'; src: url('../fonts/nunito-800.woff2') format('woff2'); font-weight: 800; font-display: swap; }
@font-face { font-family: 'Nunito'; src: url('../fonts/nunito-900.woff2') format('woff2'); font-weight: 900; font-display: swap; }

:root {
  --cocoa: #3A1D0C; --cocoa-rgb: 58, 29, 12; --muted: #6B4A33; --cream: #FFF7E6; --butter: #FFE9AE; --peach: #FFD3A8;
  --honey: #FFC14D; --mandarin: #FF9124; --orange: #EE6A12; --orange-dark: #C94A06; --blue: #1E4CC0; --star: #E89A00; --white: #fff;
  --font-display: 'Lilita One', 'Arial Rounded MT Bold', sans-serif; --font-body: 'Nunito', system-ui, sans-serif;
}


/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--cream); color: var(--cocoa); font-family: var(--font-body); font-size: 16px; line-height: 1.4; min-height: 100vh; display: flex; flex-direction: column; }
.main { flex: 1; outline: none; }
a { color: var(--orange-dark); text-decoration: none; }
a:hover { color: var(--blue); }
button, input, select, textarea { font-family: inherit; }
img { max-width: 100%; display: block; }
h1, h2, h3 { margin: 0; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--cocoa); color: #fff; padding: 10px 16px; border-radius: 8px; }
.skip-link:focus { left: 8px; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
.page-width { max-width: 1280px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.rte p { margin: 0 0 1em; } .rte p:last-child { margin-bottom: 0; }
.rte a { text-decoration: underline; }

/* ---------- Logo (variant 1a, paw-i) ---------- */
.logo { display: inline-flex; align-items: flex-end; font-family: var(--font-display); font-weight: 400; line-height: 1; padding-top: .12em; }
.logo__i { position: relative; }
.logo__i svg { position: absolute; left: 50%; width: .42em; height: .42em; }
.logo__suffix { font-size: .38em; color: var(--orange); margin-left: .04em; margin-bottom: .06em; }

/* ---------- Typography helpers ---------- */
.display { font-family: var(--font-display); font-weight: 400; }
.h-section { font-family: var(--font-display); font-weight: 400; font-size: 34px; line-height: 1.1; display: flex; align-items: center; gap: 12px; }
.h-section--center { justify-content: center; text-align: center; }
.h-section .icon { color: var(--orange); }
.section-sub { font-size: 15px; }
.stars { color: var(--star); letter-spacing: .02em; }
.text-link { font-weight: 900; font-size: 14px; cursor: pointer; }

/* ---------- Buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; cursor: pointer; font-weight: 900; letter-spacing: .04em; text-decoration: none; transition: background-color .15s; }
.btn--pill { border-radius: 999px; }
.btn--lg { font-size: 15px; padding: 16px 28px; }
.btn--md { font-size: 13px; padding: 10px 18px; border-radius: 10px; letter-spacing: 0; }
.btn--cocoa { background: var(--cocoa); color: #fff; }
.btn--cocoa:hover { background: var(--blue); color: #fff; }
.btn--white { background: #fff; color: var(--orange-dark); }
.btn--white:hover { background: var(--butter); color: var(--orange-dark); }
.btn--primary { background: var(--orange-dark); color: #fff; }
.btn--primary:hover { background: var(--blue); color: #fff; }
.btn[disabled] { opacity: .5; cursor: not-allowed; }
.round-btn { width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--orange); color: #fff; font-size: 18px; font-weight: 900; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.round-btn:hover { background: var(--orange-dark); }
.round-btn--outline { border: 1.5px solid var(--cocoa); background: #fff; color: var(--cocoa); }
.round-btn--outline:hover { background: var(--butter); }

/* ---------- Media / placeholders ---------- */
.media { position: relative; width: 100%; height: 100%; overflow: hidden; }
.media > img { width: 100%; height: 100%; object-fit: cover; }
.media--contain > img { object-fit: contain; object-position: bottom center; }
.media--circle { border-radius: 50%; }
.placeholder { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 8px; text-align: center; color: rgba(var(--cocoa-rgb), .55); font-size: 12px; font-weight: 800; line-height: 1.25; background-image: repeating-linear-gradient(-45deg, rgba(var(--cocoa-rgb), .05) 0 8px, transparent 8px 16px); }
.placeholder .paw { opacity: .45; }

/* ---------- Announcement bar ---------- */
.announcement { background: var(--cocoa); color: var(--butter); font-size: 13px; font-weight: 700; }
.announcement__inner { padding-top: 8px; padding-bottom: 8px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.announcement__group { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; }
.announcement__item { display: flex; gap: 6px; align-items: center; color: inherit; }
.announcement__item:hover { color: #fff; }
.announcement__item .icon { color: var(--honey); }
.announcement__pill { background: var(--honey); color: var(--cocoa); font-weight: 900; padding: 3px 10px; border-radius: 999px; }
.announcement__meta { display: flex; gap: 16px; }

/* ---------- Header ---------- */
.header-wrapper { position: sticky; top: 0; z-index: 20; background: #fff; box-shadow: 0 1px 0 rgba(var(--cocoa-rgb), .1); }
.header { padding-top: 14px; padding-bottom: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px 28px; flex-wrap: wrap; }
.header__logo { display: flex; align-items: center; gap: 8px; color: var(--cocoa); }
.header__logo:hover { color: var(--cocoa); }
.header__logo img { height: auto; }
.header__nav { order: 3; flex: 1 0 100%; display: flex; gap: 2px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; white-space: nowrap; border-top: 1px solid rgba(var(--cocoa-rgb), .08); margin: 0 -24px -14px; padding: 4px 24px 0; }
.header__nav::-webkit-scrollbar { display: none; }
.header__nav-link { padding: 8px 12px; font-weight: 800; font-size: 15px; color: var(--cocoa); border-bottom: 3px solid transparent; display: flex; gap: 6px; align-items: center; }
.header__nav-link:hover { color: var(--orange-dark); }
.header__nav-link[aria-current="page"] { color: var(--orange-dark); border-bottom-color: var(--orange); }
.nav-badge { background: var(--blue); color: #fff; font-size: 10px; font-weight: 900; padding: 2px 6px; border-radius: 4px; }
.header__tools { order: 2; display: flex; align-items: center; gap: 6px; }
.header-search { display: flex; align-items: center; gap: 8px; background: var(--cream); border: 1px solid rgba(var(--cocoa-rgb), .12); border-radius: 999px; padding: 5px 5px 5px 16px; width: clamp(160px, 30vw, 340px); margin: 0; }
.header-search input { flex: 1; min-width: 0; border: 0; background: transparent; outline: none; font-size: 14px; color: var(--cocoa); }
.header-search input::placeholder { color: var(--muted); opacity: 1; }
.header-search button { width: 34px; height: 34px; border-radius: 50%; background: var(--orange); border: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; color: #fff; flex: none; }
.header-search button:hover { background: var(--orange-dark); }
.header__icon { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 50%; color: var(--cocoa); }
.header__icon:hover { background: var(--butter); color: var(--cocoa); }
.header__cart { display: flex; align-items: center; gap: 6px; padding: 4px 10px 4px 4px; border-radius: 999px; color: var(--cocoa); }
.header__cart:hover { background: var(--butter); color: var(--cocoa); }
.header__cart-icon { position: relative; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; }
.header__cart-count { position: absolute; top: -2px; right: -4px; background: var(--orange-dark); color: #fff; font-size: 11px; font-weight: 900; min-width: 19px; height: 19px; padding: 0 4px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.header__cart-total { font-weight: 900; font-size: 15px; }

/* ---------- Hero ---------- */
.hero { background: radial-gradient(circle at 72% 45%, var(--mandarin), var(--orange) 55%, #D9560A); color: #fff; position: relative; overflow: hidden; }
.hero__inner { padding-top: 48px; padding-bottom: 110px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 32px; align-items: center; }
.hero__copy { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.hero__eyebrow { font-size: 13px; font-weight: 900; letter-spacing: .14em; color: var(--butter); }
.hero__title { font-family: var(--font-display); font-weight: 400; font-size: clamp(46px, 6.4vw, 78px); line-height: .98; }
.hero__title em { font-style: normal; color: var(--butter); }
.hero__text { margin: 0; font-size: 19px; line-height: 1.5; max-width: 480px; font-weight: 700; text-wrap: pretty; }
.hero__buttons { display: flex; gap: 12px; flex-wrap: wrap; }
.hero__features { display: flex; gap: 28px; flex-wrap: wrap; margin-top: 10px; }
.hero__feature { display: flex; gap: 10px; align-items: center; font-size: 13px; line-height: 1.3; }
.hero__feature b { font-weight: 900; }
.hero__visual { position: relative; height: 480px; }
.hero__arch { position: absolute; left: 8%; right: 4%; bottom: -40px; height: 78%; border-radius: 50% 50% 0 0; background: var(--honey); opacity: .9; }
.hero__image { position: absolute; inset: 0; }
.hero__image--arch { inset: 4% 4% -40px 8%; border-radius: 999px 999px 0 0; overflow: hidden; border: 6px solid var(--honey); border-bottom: 0; }
.hero__bubble { position: absolute; top: 0; right: 0; background: var(--butter); color: var(--cocoa); border-radius: 60% 40% 55% 45% / 50% 50% 50% 50%; padding: 22px 26px; text-align: center; transform: rotate(6deg); box-shadow: 0 6px 0 rgba(var(--cocoa-rgb), .15); pointer-events: none; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.hero__bubble-top { font-family: var(--font-display); font-size: 20px; line-height: 1.1; }
.hero__bubble-big { font-family: var(--font-display); font-size: 30px; line-height: 1; color: var(--orange-dark); }
.wave { position: absolute; left: 0; width: 100%; display: block; }
.wave--bottom { bottom: -1px; height: 70px; }
.wave--top { top: -1px; height: 50px; }

/* ---------- Category circles ---------- */
.needs { padding-top: 40px; padding-bottom: 16px; display: flex; flex-direction: column; gap: 28px; }
.needs__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 128px), 1fr)); gap: 20px; }
.need { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; color: var(--cocoa); }
.need:hover { color: var(--cocoa); }
.need__circle { width: 100%; max-width: 150px; aspect-ratio: 1 / 1; border-radius: 50%; overflow: hidden; transition: transform .2s; }
.need:hover .need__circle { transform: translateY(-3px); }
.need__label { font-weight: 900; font-size: 18px; }
.need__sub { font-size: 13px; line-height: 1.3; color: var(--muted); min-height: 34px; }
.need__cta { font-size: 12px; font-weight: 900; padding: 7px 16px; border-radius: 999px; letter-spacing: .04em; }

/* ---------- Bestseller strip ---------- */
.strip-section { padding-top: 32px; padding-bottom: 8px; }
.strip { position: relative; background: #fff; border: 1px solid rgba(var(--cocoa-rgb), .08); border-radius: 20px; padding: 34px 20px 18px; }
.strip__label { position: absolute; top: -16px; left: 20px; background: var(--orange-dark); color: #fff; font-weight: 900; font-size: 14px; padding: 7px 16px; border-radius: 10px 10px 10px 0; display: flex; gap: 8px; align-items: center; }
.strip__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 12px; }
.mini-card { display: flex; gap: 12px; align-items: center; padding: 6px; border-radius: 12px; color: var(--cocoa); }
.mini-card:hover { background: var(--cream); color: var(--cocoa); }
.mini-card__img { width: 72px; height: 72px; flex: none; border-radius: 12px; overflow: hidden; background: var(--cream); }
.mini-card__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mini-card__title { font-weight: 800; font-size: 14px; line-height: 1.25; }
.mini-card__price { font-weight: 900; color: var(--orange-dark); font-size: 15px; }
.mini-card__rating { font-size: 11px; font-weight: 700; }

/* ---------- Promo tiles ---------- */
.promos { padding-top: 28px; padding-bottom: 28px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.promo { position: relative; border-radius: 22px; overflow: hidden; min-height: 230px; display: flex; grid-column: span 2; }
.promo--half { grid-column: span 3; min-height: 250px; }
.promo__copy { position: relative; z-index: 1; padding: 26px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; max-width: 58%; pointer-events: none; }
.promo__eyebrow { font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.promo__title { font-family: var(--font-display); font-size: 34px; line-height: 1; }
.promo__title em { font-style: normal; font-size: 1.53em; color: var(--promo-accent, inherit); }
.promo__text { font-size: 14px; font-weight: 700; }
.promo__copy .btn { pointer-events: auto; margin-top: auto; }
.promo__image { position: absolute; right: 0; top: 0; bottom: 0; width: 48%; }
@media (max-width: 1100px) { .promos { grid-template-columns: repeat(2, 1fr); } .promo, .promo--half { grid-column: span 1; } .promo--half:last-child:nth-child(odd) { grid-column: span 2; } }
@media (max-width: 620px) { .promos { grid-template-columns: 1fr; } .promo, .promo--half, .promo--half:last-child:nth-child(odd) { grid-column: span 1; } }

/* ---------- Product cards ---------- */
.carousel-section { background: #fff; margin-top: 12px; }
.carousel-section__inner { padding-top: 44px; padding-bottom: 44px; display: flex; flex-direction: column; gap: 24px; }
.section-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.section-head--end { align-items: flex-end; }
.section-head__controls { display: flex; gap: 8px; align-items: center; }
.section-head__controls .text-link { margin-right: 8px; }
.carousel { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 4px; }
.carousel::-webkit-scrollbar { display: none; }
.carousel > * { flex: 0 0 228px; scroll-snap-align: start; }
.card { position: relative; background: #fff; border: 1px solid rgba(var(--cocoa-rgb), .08); border-radius: 18px; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.card__media { position: relative; aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden; background: var(--cream); display: block; }
.card__badge { position: absolute; top: 8px; left: 8px; background: var(--blue); color: #fff; font-size: 11px; font-weight: 900; padding: 3px 8px; border-radius: 5px; pointer-events: none; z-index: 1; }
.card__wish { position: absolute; top: 20px; right: 20px; width: 32px; height: 32px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 1px 4px rgba(var(--cocoa-rgb), .15); color: var(--orange-dark); border: 0; cursor: pointer; z-index: 1; }
.card__wish[aria-pressed="true"] svg { fill: var(--orange-dark); }
.card__info { display: flex; flex-direction: column; gap: 4px; flex: 1; color: var(--cocoa); }
.card__info:hover { color: var(--cocoa); }
.card__type { font-size: 12px; font-weight: 800; color: var(--orange-dark); text-transform: uppercase; letter-spacing: .08em; }
.card__title { font-weight: 800; font-size: 15px; line-height: 1.3; }
.card__info:hover .card__title { color: var(--orange-dark); }
.card__rating { font-size: 12px; font-weight: 700; }
.card__rating .stars { font-size: 14px; }
.card__foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.card__price { font-family: var(--font-display); font-size: 22px; }
.card__price s { font-family: var(--font-body); font-size: 13px; font-weight: 700; color: var(--muted); margin-left: 4px; }
.card__add { border: 0; background: var(--orange-dark); width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; cursor: pointer; color: #fff; flex: none; }
.card__add:hover { background: var(--blue); }
/* Large grid card (collection / related) */
.card--grid { border: 0; border-radius: 22px; gap: 10px; box-shadow: 0 2px 0 rgba(var(--cocoa-rgb), .08); }
.card--grid .card__media { border-radius: 16px; background: var(--butter); }
.card--grid .card__badge { top: 10px; left: 10px; font-size: 12px; padding: 4px 10px; border-radius: 6px; }
.card--grid .card__info { padding: 0 4px; }
.card--grid .card__title { font-size: 16px; }
.card--grid .card__rating { font-size: 13px; }
.card--grid .card__rating .stars { font-size: inherit; }
.card--grid .card__price { font-size: 24px; margin-top: 2px; }
.card__cta { border: 0; background: var(--orange-dark); color: #fff; font-weight: 900; font-size: 13px; letter-spacing: .04em; padding: 12px; border-radius: 999px; cursor: pointer; width: 100%; }
.card__cta:hover { background: var(--blue); color: #fff; }
.card__cta[disabled] { opacity: .5; cursor: not-allowed; }
a.card__cta { text-align: center; letter-spacing: .04em; }
.js-quick-add { margin: 0; }
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; }

/* ---------- Bundles ---------- */
.bundles { padding-top: 44px; padding-bottom: 44px; display: flex; flex-direction: column; gap: 20px; }
.bundles__head { display: flex; flex-direction: column; gap: 4px; }
.bundles__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 18px; }
.bundle { position: relative; background: #fff; border: 1px solid rgba(var(--cocoa-rgb), .08); border-radius: 20px; overflow: hidden; display: flex; min-height: 200px; }
.bundle__copy { position: relative; z-index: 1; padding: 22px; display: flex; flex-direction: column; gap: 6px; width: 46%; pointer-events: none; }
.bundle__title { font-weight: 900; font-size: 18px; line-height: 1.2; }
.bundle__text { font-size: 13px; line-height: 1.4; }
.bundle__price { font-family: var(--font-display); font-size: 26px; margin-top: 4px; }
.bundle__copy .btn { pointer-events: auto; margin-top: auto; align-self: flex-start; padding: 10px 16px; font-size: 13px; letter-spacing: 0; }
.bundle__copy .btn:hover { background: var(--orange-dark); }
.bundle__image { position: absolute; right: 0; top: 0; bottom: 0; width: 56%; background: var(--cream); }
.bundle__save { position: absolute; top: 12px; right: 12px; z-index: 1; width: 62px; height: 62px; border-radius: 50%; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: 900; font-size: 12px; line-height: 1.1; pointer-events: none; }
.bundle__save b { font-size: 18px; }

/* ---------- USP band ---------- */
.usp { background: var(--honey); }
.usp__inner { padding-top: 30px; padding-bottom: 30px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 24px; }
.usp__item { display: flex; gap: 14px; align-items: center; }
.usp__icon { width: 56px; height: 56px; flex: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; }
.usp__copy { display: flex; flex-direction: column; gap: 2px; }
.usp__title { font-weight: 900; font-size: 15px; text-transform: uppercase; letter-spacing: .03em; }
.usp__text { font-size: 14px; line-height: 1.35; }

/* ---------- Guides ---------- */
.guides { padding-top: 48px; padding-bottom: 48px; display: flex; flex-direction: column; gap: 20px; }
.guides__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 16px; }
.guide { background: #fff; border: 1px solid rgba(var(--cocoa-rgb), .08); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; color: var(--cocoa); }
.guide:hover { color: var(--cocoa); }
.guide__img { aspect-ratio: 4 / 3; background: var(--butter); }
.guide__body { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.guide__title { font-weight: 900; font-size: 16px; }
.guide:hover .guide__title { color: var(--orange-dark); }
.guide__text { font-size: 14px; line-height: 1.4; color: var(--muted); }

/* ---------- Reviews ---------- */
.reviews { background: var(--butter); }
.reviews__inner { padding-top: 48px; padding-bottom: 48px; display: flex; flex-direction: column; gap: 26px; }
.reviews__summary { display: flex; justify-content: center; align-items: center; gap: 10px; font-size: 15px; font-weight: 800; text-align: center; flex-wrap: wrap; }
.reviews__summary .stars { font-size: 20px; }
.reviews__row { display: flex; gap: 14px; align-items: center; }
.reviews__track { flex: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.review { background: #fff; border-radius: 20px; padding: 20px; display: flex; gap: 16px; align-items: flex-start; }
.review[hidden] { display: none; }
.review__photo { width: 72px; height: 72px; flex: none; border-radius: 50%; overflow: hidden; background: var(--cream); }
.review__body { display: flex; flex-direction: column; gap: 8px; }
.review__quote { margin: 0; font-size: 15px; line-height: 1.5; text-wrap: pretty; }
.review__stars { font-size: 16px; }
.review__name { font-weight: 900; font-size: 14px; }
.review__verified { font-weight: 700; color: var(--blue); font-size: 12px; }
@media (max-width: 560px) { .reviews__row > .round-btn { display: none; } }

/* ---------- Subscription CTA ---------- */
.abo { position: relative; background: radial-gradient(circle at 25% 60%, var(--mandarin), var(--orange) 60%); color: #fff; overflow: hidden; }
.abo__inner { padding-top: 70px; padding-bottom: 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 28px; align-items: end; }
.abo__image { height: 240px; position: relative; }
.abo__image .media:not(.media--contain) { border-radius: 22px; border: 6px solid var(--honey); }
.abo__copy { display: flex; flex-direction: column; gap: 8px; padding-bottom: 20px; }
.abo__title { font-family: var(--font-display); font-weight: 400; font-size: 40px; line-height: 1; }
.abo__lead { font-size: 19px; font-weight: 900; color: var(--butter); }
.abo__text { font-size: 16px; font-weight: 700; }
.abo__form-col { display: flex; flex-direction: column; gap: 14px; padding-bottom: 20px; }
.inline-form { display: flex; background: #fff; border-radius: 12px; padding: 5px; gap: 6px; margin: 0; }
.inline-form input { flex: 1; min-width: 0; border: 0; outline: none; font-size: 15px; padding: 0 12px; background: transparent; color: var(--cocoa); }
.inline-form button { border: 0; background: var(--orange-dark); color: #fff; font-weight: 900; font-size: 13px; padding: 13px 18px; border-radius: 9px; cursor: pointer; white-space: nowrap; }
.inline-form button:hover { background: var(--blue); }
.abo__perks { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; font-weight: 800; }
.abo__perks span { display: flex; gap: 6px; align-items: center; }
.form-message { font-size: 14px; font-weight: 800; }

/* ---------- Footer ---------- */
.footer { background: var(--cocoa); color: var(--butter); }
.footer a { color: inherit; }
.footer a:hover { color: #fff; }
.footer__top { padding-top: 48px; padding-bottom: 28px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 28px; }
.footer__brand { display: flex; flex-direction: column; gap: 14px; }
.footer__tagline { font-size: 14px; line-height: 1.5; }
.footer__tagline p { margin: 0; }
.footer__social { display: flex; gap: 8px; }
.footer__social a { width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid var(--butter); display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 12px; }
.footer__social a:hover { background: var(--butter); color: var(--cocoa); }
.footer__col { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.footer__heading { font-weight: 900; color: var(--honey); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.footer__newsletter { background: var(--orange); color: #fff; border-radius: 20px; padding: 22px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.footer__newsletter-title { font-family: var(--font-display); font-size: 22px; line-height: 1.1; display: flex; gap: 8px; align-items: center; }
.footer__newsletter-title .paw { flex: none; }
.footer__newsletter-text { font-size: 13px; font-weight: 700; line-height: 1.4; }
.footer__newsletter .inline-form { border-radius: 10px; padding: 4px; gap: 4px; }
.footer__newsletter .inline-form input { font-size: 14px; padding: 0 10px; }
.footer__newsletter .inline-form button { background: var(--honey); color: var(--cocoa); padding: 10px 14px; border-radius: 8px; }
.footer__newsletter .inline-form button:hover { background: var(--butter); }
.footer__bottom { padding-top: 18px; padding-bottom: 28px; border-top: 1px solid rgba(255, 233, 174, .2); display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 13px; }
.payment-pills { display: flex; gap: 6px; flex-wrap: wrap; }
.payment-pills span { background: #fff; color: var(--cocoa); border-radius: 6px; padding: 4px 9px; font-weight: 900; font-size: 11px; }
.footer__legal { display: flex; gap: 18px; flex-wrap: wrap; }

/* ---------- Collection ---------- */
.page-banner { background: var(--butter); }
.page-banner__inner { padding-top: 36px; padding-bottom: 36px; display: flex; flex-direction: column; gap: 8px; }
.breadcrumbs { font-size: 14px; font-weight: 700; }
.page-banner__title { font-family: var(--font-display); font-weight: 400; font-size: 52px; line-height: 1; color: var(--orange-dark); }
.page-banner__text { max-width: 720px; font-size: 16px; line-height: 1.5; }
.collection { padding-top: 28px; padding-bottom: 64px; display: flex; flex-direction: column; gap: 24px; }
.collection__toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chip { border: 2px solid var(--cocoa); background: #fff; color: var(--cocoa); font-weight: 800; font-size: 14px; padding: 9px 16px; border-radius: 999px; cursor: pointer; }
.chip:hover { color: var(--cocoa); background: var(--butter); }
.chip[aria-current="page"], .chip.is-active { background: var(--cocoa); color: var(--butter); }
.collection__sort { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 700; }
.select { border: 2px solid var(--cocoa); border-radius: 999px; padding: 9px 14px; font-weight: 800; font-size: 14px; background: #fff; color: var(--cocoa); }
.pagination { display: flex; gap: 8px; justify-content: center; align-items: center; font-weight: 800; }
.pagination a, .pagination span { min-width: 40px; height: 40px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border: 2px solid var(--cocoa); color: var(--cocoa); background: #fff; }
.pagination .current { background: var(--cocoa); color: var(--butter); }
.pagination span:has(> a) { border: 0; padding: 0; min-width: 0; background: none; }
.empty-state { text-align: center; padding: 48px 0; display: flex; flex-direction: column; gap: 14px; align-items: center; }
.empty-state__title { font-family: var(--font-display); font-size: 28px; }

/* ---------- Product ---------- */
.product { padding-top: 24px; padding-bottom: 48px; display: flex; flex-direction: column; gap: 20px; }
.product__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 48px; align-items: start; }
.product__gallery { display: flex; flex-direction: column; gap: 12px; }
.product__main-media { position: relative; aspect-ratio: 1 / 1; border-radius: 28px; overflow: hidden; background: var(--butter); }
.product__main-media .card__badge { top: 16px; left: 16px; font-size: 14px; padding: 5px 12px; border-radius: 6px; }
.product__thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.product__thumb { aspect-ratio: 1 / 1; border-radius: 16px; overflow: hidden; background: var(--butter); border: 2px solid transparent; padding: 0; cursor: pointer; }
.product__thumb[aria-current="true"] { border-color: var(--orange-dark); }
.product__info { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 96px; }
.product__head { display: flex; flex-direction: column; gap: 8px; }
.product__type { font-size: 13px; font-weight: 900; color: var(--orange-dark); text-transform: uppercase; letter-spacing: .1em; }
.product__title { font-family: var(--font-display); font-weight: 400; font-size: 42px; line-height: 1.05; }
.product__rating { font-size: 14px; font-weight: 700; }
.product__rating .stars { font-size: 17px; }
.product__price-row { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.product__price { font-family: var(--font-display); font-size: 40px; color: var(--orange-dark); }
.product__compare { font-size: 18px; font-weight: 700; text-decoration: line-through; color: var(--muted); }
.product__tax { font-size: 13px; color: var(--muted); }
.product__short { margin: 0; font-size: 17px; line-height: 1.55; text-wrap: pretty; }
.option { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.option legend { font-weight: 900; font-size: 15px; padding: 0; margin-bottom: 10px; }
.option__values { display: flex; gap: 10px; flex-wrap: wrap; }
.option__value input { position: absolute; opacity: 0; pointer-events: none; }
.option__value span { display: inline-block; border: 2px solid var(--cocoa); background: #fff; color: var(--cocoa); font-weight: 800; font-size: 15px; padding: 12px 20px; border-radius: 14px; cursor: pointer; min-width: 84px; text-align: center; }
.option__value input:checked + span { background: var(--cocoa); color: var(--butter); }
.option__value input:focus-visible + span { outline: 3px solid var(--blue); outline-offset: 2px; }
.option__value input:disabled + span, .option__value.is-unavailable span { opacity: .45; text-decoration: line-through; }
.purchase-options { display: flex; flex-direction: column; gap: 10px; }
.purchase-option { border: 2px solid rgba(var(--cocoa-rgb), .2); background: #fff; border-radius: 16px; padding: 14px 16px; display: flex; justify-content: space-between; align-items: center; gap: 12px; cursor: pointer; }
.purchase-option--abo { background: var(--cream); }
.purchase-option:has(input:checked) { border-color: var(--orange-dark); }
.purchase-option input { position: absolute; opacity: 0; pointer-events: none; }
.purchase-option__label { display: flex; flex-direction: column; gap: 2px; }
.purchase-option__name { display: flex; gap: 10px; align-items: center; font-weight: 800; }
.purchase-option__dot { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--cocoa); background: #fff; box-shadow: inset 0 0 0 3px #fff; flex: none; }
.purchase-option--abo .purchase-option__dot { background: var(--cream); box-shadow: inset 0 0 0 3px var(--cream); }
.purchase-option input:checked ~ .purchase-option__label .purchase-option__dot { background: var(--orange-dark); }
.purchase-option input:focus-visible ~ .purchase-option__label .purchase-option__dot { outline: 3px solid var(--blue); outline-offset: 2px; }
.purchase-option__badge { background: var(--blue); color: #fff; font-size: 11px; font-weight: 900; padding: 2px 7px; border-radius: 4px; }
.purchase-option__note { font-size: 13px; padding-left: 28px; }
.purchase-option__price { font-weight: 900; }
.plan-select { margin-left: 28px; margin-top: 6px; border: 1.5px solid var(--cocoa); border-radius: 10px; padding: 6px 10px; font-weight: 700; font-size: 13px; background: #fff; color: var(--cocoa); }
.product__buy { display: flex; gap: 12px; flex-wrap: wrap; }
.qty { display: flex; align-items: center; border: 2px solid var(--cocoa); border-radius: 999px; background: #fff; }
.qty button { border: 0; background: transparent; width: 48px; height: 52px; font-size: 22px; font-weight: 900; cursor: pointer; color: var(--cocoa); }
.qty input { width: 32px; text-align: center; font-weight: 900; font-size: 17px; border: 0; background: transparent; color: var(--cocoa); -moz-appearance: textfield; appearance: textfield; padding: 0; }
.qty input::-webkit-outer-spin-button, .qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.product__add { flex: 1; min-width: 220px; font-size: 16px; padding: 16px 24px; box-shadow: 0 4px 0 rgba(var(--cocoa-rgb), .2); }
.product__trust { display: flex; gap: 18px; flex-wrap: wrap; font-size: 14px; font-weight: 700; }
.product__error { color: var(--orange-dark); font-weight: 800; font-size: 14px; }
.accordion { display: flex; flex-direction: column; border-top: 2px solid var(--cocoa); }
.accordion details { border-bottom: 1px solid rgba(var(--cocoa-rgb), .2); }
.accordion summary { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; cursor: pointer; font-weight: 900; font-size: 16px; list-style: none; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary::after { content: '+'; font-size: 22px; }
.accordion details[open] summary::after { content: '−'; }
.accordion__body { margin: 0 0 18px; font-size: 15px; line-height: 1.6; text-wrap: pretty; }
.related { background: var(--butter); }
.related__inner { padding-top: 48px; padding-bottom: 48px; display: flex; flex-direction: column; gap: 24px; }
.related__title { font-family: var(--font-display); font-weight: 400; font-size: 36px; }
.related .card--grid .card__media { background: var(--cream); }
.related .card--grid .card__price { font-size: 22px; }

/* ---------- Cart drawer & page ---------- */
.drawer { position: fixed; inset: 0; z-index: 50; display: flex; justify-content: flex-end; visibility: hidden; }
.drawer.is-open { visibility: visible; }
.drawer__overlay { position: absolute; inset: 0; background: rgba(var(--cocoa-rgb), .4); opacity: 0; transition: opacity .25s; }
.drawer.is-open .drawer__overlay { opacity: 1; }
.drawer__panel { position: relative; width: min(420px, 100%); height: 100%; background: var(--cream); display: flex; flex-direction: column; box-shadow: -8px 0 30px rgba(var(--cocoa-rgb), .2); transform: translateX(100%); transition: transform .25s ease; }
.drawer.is-open .drawer__panel { transform: none; }
body.drawer-open { overflow: hidden; }
.cart-head { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; background: #fff; }
.cart-head__title { font-family: var(--font-display); font-size: 28px; line-height: 1.1; white-space: nowrap; font-weight: 400; }
.cart-head__close { border: 0; background: var(--butter); width: 40px; height: 40px; border-radius: 50%; font-size: 18px; font-weight: 900; cursor: pointer; color: var(--cocoa); display: flex; align-items: center; justify-content: center; }
.ship-progress { padding: 16px 24px; background: var(--butter); display: flex; flex-direction: column; gap: 8px; }
.ship-progress__msg { font-size: 14px; font-weight: 800; }
.ship-progress__bar { height: 10px; border-radius: 5px; background: #fff; overflow: hidden; }
.ship-progress__fill { height: 100%; background: var(--orange); border-radius: 5px; transition: width .3s; }
.cart-lines { flex: 1; overflow: auto; padding: 16px 24px; display: flex; flex-direction: column; gap: 12px; }
.cart-line { background: #fff; border-radius: 18px; padding: 12px; display: flex; gap: 12px; }
.cart-line__img { width: 76px; height: 76px; flex: none; border-radius: 12px; overflow: hidden; background: var(--butter); display: block; }
.cart-line__body { flex: 1; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cart-line__title { font-weight: 800; font-size: 15px; line-height: 1.3; color: var(--cocoa); }
.cart-line__meta { font-size: 13px; }
.cart-line__row { display: flex; justify-content: space-between; align-items: center; margin-top: 4px; }
.qty--sm { border-width: 1.5px; }
.qty--sm button { width: 32px; height: 32px; font-size: 16px; }
.qty--sm span { min-width: 20px; text-align: center; font-weight: 900; font-size: 14px; }
.cart-line__total { font-weight: 900; }
.cart-line__total s { font-weight: 700; color: var(--muted); font-size: 13px; margin-right: 4px; }
.cart-foot { padding: 20px 24px; background: #fff; display: flex; flex-direction: column; gap: 12px; }
.cart-foot__row { display: flex; justify-content: space-between; font-weight: 900; font-size: 18px; }
.cart-foot__note { font-size: 13px; }
.cart-foot__checkout { font-size: 16px; padding: 16px; width: 100%; }
.cart-foot__pills { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; font-size: 12px; font-weight: 800; }
.cart-foot__pills span { border: 1px solid rgba(var(--cocoa-rgb), .2); border-radius: 6px; padding: 3px 8px; }
.cart-page { padding-top: 36px; padding-bottom: 64px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); grid-template-areas: "lines progress" "lines foot"; grid-template-rows: auto 1fr; column-gap: 32px; align-items: start; }
.cart-page .cart-lines { grid-area: lines; padding: 0; overflow: visible; }
.cart-page .ship-progress { grid-area: progress; border-radius: 20px 20px 0 0; }
.cart-page .cart-foot { grid-area: foot; border-radius: 0 0 20px 20px; }
@media (max-width: 860px) { .cart-page { grid-template-columns: 1fr; grid-template-areas: "progress" "lines" "foot"; row-gap: 0; } .cart-page .cart-lines { padding: 16px 0; } .cart-page .ship-progress, .cart-page .cart-foot { border-radius: 20px; } }
[data-loading] { opacity: .6; pointer-events: none; }

/* ---------- Generic content pages ---------- */
.content-page { padding-top: 40px; padding-bottom: 64px; max-width: 820px; }
.content-page h1 { font-family: var(--font-display); font-weight: 400; font-size: 46px; line-height: 1.05; margin-bottom: 20px; color: var(--orange-dark); }
.content-page .rte { font-size: 17px; line-height: 1.65; }
.form-card { background: #fff; border-radius: 22px; padding: 28px; display: flex; flex-direction: column; gap: 14px; max-width: 480px; margin: 0 auto; }
.field { display: flex; flex-direction: column; gap: 6px; font-weight: 800; font-size: 14px; }
.field input, .field textarea, .field select { border: 2px solid rgba(var(--cocoa-rgb), .25); border-radius: 12px; padding: 12px 14px; font-size: 15px; font-weight: 600; background: var(--cream); color: var(--cocoa); }
.field input:focus, .field textarea:focus { border-color: var(--orange-dark); outline: none; }
.errors { background: var(--peach); border-radius: 12px; padding: 12px 16px; font-weight: 700; font-size: 14px; }
.errors ul { margin: 0; padding-left: 18px; }
.success { background: var(--butter); border-radius: 12px; padding: 12px 16px; font-weight: 800; font-size: 14px; }
.table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 16px; overflow: hidden; font-size: 14px; }
.table th, .table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid rgba(var(--cocoa-rgb), .1); }
.table th { background: var(--butter); font-weight: 900; }

/* ---------- Blog ---------- */
.article { padding-top: 32px; padding-bottom: 64px; max-width: 820px; display: flex; flex-direction: column; gap: 20px; }
.article__image { border-radius: 24px; overflow: hidden; aspect-ratio: 16 / 9; background: var(--butter); }
.article__meta { font-size: 14px; font-weight: 700; color: var(--muted); }

/* ---------- Small screens ---------- */
@media (max-width: 749px) {
  .page-width { padding-left: 16px; padding-right: 16px; }
  .header__nav { margin: 0 -16px -14px; padding: 4px 16px 0; }
  .announcement__meta, .announcement__group:first-child { display: none; }
  .announcement__inner { justify-content: center; text-align: center; }
  .header__cart-total { display: none; }
  .header-search { width: auto; flex: 1; }
  .header__tools { flex: 1 1 100%; order: 2; }
  .hero__inner { padding-bottom: 90px; }
  .hero__visual { height: 340px; }
  .h-section { font-size: 28px; }
  .page-banner__title { font-size: 40px; }
  .product__title { font-size: 34px; }
  .product__info { position: static; }
  .promo__copy { max-width: 64%; }
  .bundle__copy { width: 54%; }
  .bundle__image { width: 50%; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }

/* ======================================================================
   PHP-Shop: Ergänzungen
   ====================================================================== */
.hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.flashes { padding-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.flash { border-radius: 14px; padding: 12px 16px; font-weight: 800; font-size: 15px; background: var(--butter); border: 2px solid var(--honey); }
.flash--error { background: var(--peach); border-color: var(--orange-dark); }
.lead { font-size: 19px; line-height: 1.5; font-weight: 700; margin: 0 0 12px; }
.h-small { font-family: var(--font-display); font-weight: 400; font-size: 22px; margin: 0 0 8px; display: block; }
.form-note { font-size: 12px; line-height: 1.4; margin: 6px 0 0; opacity: .85; }
.form-note a { color: inherit; text-decoration: underline; }
.abo .form-note, .footer__newsletter .form-note { color: #fff; }
.inline-form--outline { border: 2px solid var(--cocoa); }
.link-btn { border: 0; background: none; padding: 0; color: var(--orange-dark); font-weight: 800; cursor: pointer; text-decoration: underline; font-size: 13px; }
.warn { color: var(--orange-dark); font-weight: 900; }
.media .placeholder { min-height: 100%; }
.page-banner__text { margin: 0; }

/* Header minimal (Kasse) */
.header--minimal { padding-bottom: 14px; }
.header__secure { display: flex; gap: 8px; align-items: center; font-weight: 800; font-size: 14px; color: var(--muted); }

/* Karten */
.card__meta { font-size: 13px; font-weight: 700; color: var(--muted); }
.card__badge--muted { background: var(--cocoa); left: auto; right: 10px; }
a.card__cta { display: block; color: #fff; }
.card form { margin: 0; }

/* Produktseite */
.product__compare-note { font-size: 15px; font-weight: 800; color: var(--muted); }
.product__single { font-weight: 800; font-size: 15px; display: inline-block; border: 2px solid var(--cocoa); border-radius: 14px; padding: 10px 18px; background: #fff; align-self: flex-start; }
.product__form { display: flex; flex-direction: column; gap: 18px; margin: 0; }
.product__stock { margin: 0; font-size: 14px; font-weight: 800; color: #1F7A3A; }
.product__stock.is-low { color: var(--orange-dark); }
.rte ul { margin: 0 0 1em; padding-left: 20px; }
.rte h2 { font-family: var(--font-display); font-weight: 400; font-size: 26px; margin: 28px 0 8px; }
.content-page .rte h2 { font-size: 24px; }
.rte mark { background: var(--peach); padding: 0 4px; border-radius: 4px; }

/* Warenkorb */
.drawer__body { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.cart-line__remove { margin: 2px 0 0; }
.cart-line__remove button { border: 0; background: none; padding: 0; font-size: 12px; font-weight: 800; color: var(--muted); cursor: pointer; text-decoration: underline; }
.qty--sm { margin: 0; }
.qty--sm button[disabled] { opacity: .3; cursor: not-allowed; }
.cart-foot__row--sm { font-size: 15px; font-weight: 700; }
.coupon { margin: 0 0 4px; display: flex; gap: 10px; align-items: center; justify-content: space-between; font-size: 14px; }
.coupon .inline-form { flex: 1; }
.coupon .inline-form input { font-size: 14px; }
.coupon .inline-form button { padding: 10px 14px; }
a.cart-foot__checkout { text-align: center; color: #fff; }
.cart-page .cart-lines .empty-state { background: #fff; border-radius: 20px; }

/* Formulare */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field--full { grid-column: 1 / -1; }
.field > span { font-weight: 800; }
.field small { font-weight: 600; color: var(--muted); }
.field input[aria-invalid], .check input[aria-invalid] { border-color: var(--orange-dark); outline: 2px solid var(--peach); }
.field__error { color: var(--orange-dark); font-weight: 800; font-size: 13px; }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; font-weight: 700; line-height: 1.4; cursor: pointer; }
.check input { width: 20px; height: 20px; margin: 0; flex: none; accent-color: var(--orange-dark); }
.check a { text-decoration: underline; }
@media (max-width: 560px) { .form-grid { grid-template-columns: 1fr; } }

/* Kasse */
.checkout { padding-top: 28px; padding-bottom: 64px; display: flex; flex-direction: column; gap: 16px; }
.checkout__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 420px); gap: 28px; align-items: start; margin: 0; }
.checkout__main { display: flex; flex-direction: column; gap: 18px; }
.checkout__box { border: 0; margin: 0; background: #fff; border-radius: 22px; padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.checkout__box legend { font-family: var(--font-display); font-size: 24px; padding: 0; float: left; width: 100%; margin-bottom: 4px; }
.checkout__box[hidden] { display: none; }
.checkout__aside { position: sticky; top: 100px; }
.checkout__summary { background: #fff; border-radius: 22px; padding: 22px; display: flex; flex-direction: column; gap: 12px; border: 2px solid var(--honey); }
.checkout__summary-title { font-family: var(--font-display); font-weight: 400; font-size: 26px; }
.summary-lines { list-style: none; margin: 0; padding: 0 0 8px; display: flex; flex-direction: column; gap: 8px; border-bottom: 1px solid rgba(var(--cocoa-rgb), .12); }
.summary-lines li { display: grid; grid-template-columns: 32px 1fr auto; gap: 8px; font-size: 14px; font-weight: 700; }
.summary-lines small { display: block; color: var(--muted); font-weight: 600; }
.summary-lines__qty { font-weight: 900; color: var(--orange-dark); }
.checkout .purchase-option__note { padding-left: 28px; }
@media (max-width: 900px) { .checkout__grid { grid-template-columns: 1fr; } .checkout__aside { position: static; } }

/* Bestellung */
.order-hero { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; margin-bottom: 20px; }
.order-hero h1 { margin: 0; }
.order-hero p { margin: 0; font-size: 17px; }
.order-status { display: flex; gap: 10px 22px; flex-wrap: wrap; background: #fff; border-radius: 16px; padding: 14px 18px; margin-bottom: 18px; font-size: 15px; }
.status { display: inline-block; border-radius: 999px; padding: 2px 10px; font-size: 13px; font-weight: 900; background: var(--butter); }
.status--offen { background: var(--peach); }
.status--bezahlt { background: #DDF3E3; color: #1F5F33; }
.status--versendet { background: #DCE6FF; color: var(--blue); }
.status--storniert { background: #eee; color: #666; }
.bank-box { background: var(--butter); border-radius: 20px; padding: 20px 22px; margin-bottom: 20px; }
.bank-box h2 { font-family: var(--font-display); font-weight: 400; font-size: 24px; margin: 0 0 6px; }
.bank-box dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 12px 0 0; font-size: 15px; }
.bank-box dt { font-weight: 800; }
.bank-box dd { margin: 0; font-family: ui-monospace, monospace; font-size: 15px; }
.two-col { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; margin: 20px 0; }
.table { margin-bottom: 8px; }
.table-wrap { overflow-x: auto; border-radius: 16px; }

/* Startseite: Versprechen statt Bewertungen */
.promise__icon { display: flex; align-items: center; justify-content: center; color: var(--orange-dark); background: var(--cream); }
.reviews .review__body { gap: 6px; }

/* Ratgeber */
.guides__grid--wide { grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.article__body p { font-size: 17px; line-height: 1.65; }
.article__more { border-top: 2px solid var(--cocoa); padding-top: 18px; margin-top: 12px; display: flex; flex-direction: column; gap: 10px; }

/* Admin */
.admin { background: var(--cream); }
.admin__bar { background: var(--cocoa); color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 12px 24px; }
.admin__brand { display: flex; align-items: flex-end; gap: 10px; color: #fff; font-weight: 900; }
.admin__brand:hover { color: #fff; }
.admin__nav { display: flex; gap: 6px 18px; flex-wrap: wrap; font-weight: 800; font-size: 14px; }
.admin__nav a { color: var(--butter); }
.admin__nav a:hover { color: #fff; }
.admin__main { padding-top: 24px; padding-bottom: 64px; }
.admin__title { font-family: var(--font-display); font-weight: 400; font-size: 36px; color: var(--orange-dark); margin-bottom: 18px; }
.stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; }
.stat { background: #fff; border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 4px; color: var(--cocoa); }
.stat b { font-family: var(--font-display); font-weight: 400; font-size: 30px; color: var(--orange-dark); }
.stat span { font-size: 13px; font-weight: 700; }
.admin-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 24px; align-items: start; }
@media (max-width: 900px) { .admin-grid { grid-template-columns: 1fr; } }
.admin-side { display: flex; flex-direction: column; }
.log { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.log small { display: block; color: var(--muted); font-weight: 700; }
.table--form input, .table--form select { width: 100%; min-width: 64px; border: 1.5px solid rgba(var(--cocoa-rgb), .25); border-radius: 8px; padding: 6px 8px; font: inherit; font-size: 14px; background: var(--cream); }
.img-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.img-item { display: flex; flex-direction: column; gap: 4px; font-size: 12px; }
.img-item img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; background: var(--butter); }
.img-item .check { font-size: 12px; }
