
/* cart toast */
.cart-toast {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 2100;
  background: var(--wine);
  color: var(--cream);
  border: 1px solid rgba(198,160,99,0.4);
  border-radius: var(--radius-sm);
  padding: 0.9rem 1.3rem;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  box-shadow: var(--shadow);
  transform: translateY(calc(100% + 4rem));
  transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
  max-width: 300px;
  font-size: 0.88rem;
}
.cart-toast.is-visible { transform: translateY(0); }
.cart-toast-icon { font-size: 1rem; flex-shrink: 0; color: var(--gold-light); }
.cart-toast-name { font-weight: 600; }

/* product hero */
.produkt-hero {
  background: var(--wine);
  padding: clamp(6rem, 12vw, 9rem) 0 clamp(3rem, 5vw, 4.5rem);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.produkt-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 50% at 50% 0%, rgba(198,160,99,0.1) 0%, transparent 60%);
  pointer-events: none;
}
.produkt-hero-inner { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; }

.produkt-hero-eyebrow {
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.9rem;
  font-family: 'Montserrat', sans-serif;
}
.produkt-hero h1 {
  font-family: 'Cinzel', serif;
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 700;
  color: var(--cream);
  line-height: 1.18;
  margin-bottom: 1rem;
  letter-spacing: 0.02em;
}
.produkt-hero-sub {
  font-size: clamp(0.95rem, 2vw, 1.1rem);
  color: rgba(255,254,246,0.78);
  max-width: 580px;
  margin: 0 auto;
  line-height: 1.75;
}

/* product layout */
.produkt-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}
.produkt-sidebar { position: sticky; top: 100px; }

.produkt-buy {
  background: var(--cream-dark);
  border: 1px solid rgba(180,160,130,0.35);
  border-radius: var(--radius);
  padding: 1.5rem;
  box-shadow: 0 4px 20px rgba(38,19,24,0.07);
}
.produkt-buy-img {
  border-radius: var(--radius-sm);
  overflow: hidden;
  margin-bottom: 1.3rem;
  aspect-ratio: 1;
  background: rgba(180,160,130,0.1);
}
.produkt-buy-img img { width: 100%; height: 100%; object-fit: cover; }

.produkt-preis-wert {
  font-family: 'Cinzel', serif;
  font-size: 2rem;
  font-weight: 700;
  color: var(--wine);
  line-height: 1;
  margin-bottom: 0.25rem;
}
.produkt-mwst {
  font-size: 0.75rem;
  color: #8a7060;
  margin-bottom: 1.2rem;
}

/* option selects */
.shop-option-group { margin-bottom: 1rem; }
.shop-option-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.4rem;
}
.shop-option-label span {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--wine);
  text-transform: uppercase;
  font-family: 'Montserrat', sans-serif;
}
.shop-option-link {
  font-size: 0.75rem;
  color: var(--gold-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
  background: none;
  border: none;
  font-family: 'Montserrat', sans-serif;
  transition: color var(--transition);
  padding: 0;
}
.shop-option-link:hover { color: var(--gold); }

.shop-select {
  width: 100%;
  padding: 0.68rem 2.2rem 0.68rem 1rem;
  border: 1.5px solid rgba(180,160,130,0.5);
  border-radius: var(--radius-sm);
  background: var(--cream);
  color: var(--text);
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23381e24' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  cursor: pointer;
  transition: border-color var(--transition);
}
.shop-select:focus { border-color: var(--gold); outline: none; }

.shop-error {
  font-size: 0.75rem;
  color: #b03030;
  margin-top: 0.25rem;
  display: none;
}
.shop-error.is-visible { display: block; }

/* add to cart */
.btn-cart-add {
  width: 100%;
  margin: 1.1rem 0 0.75rem;
  padding: 0.88rem 1.4rem;
  font-size: 0.88rem;
  gap: 8px;
}

/* payment + delivery info */
.produkt-zahlung {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.78rem;
  color: #7a6050;
  margin-bottom: 0.7rem;
  font-family: 'Montserrat', sans-serif;
}
.zahlung-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(122,96,80,0.4);
}
.produkt-lieferinfo {
  font-size: 0.8rem;
  color: #7a6050;
  line-height: 1.5;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(180,160,130,0.28);
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
.produkt-versand-link {
  color: var(--gold-dark);
  text-decoration: underline;
  font-size: inherit;
  white-space: nowrap;
}
.produkt-versand-link:hover { opacity: 0.75; }

/* versandart selector */
.versand-waehlen { margin: 12px 0 4px; }
.versand-waehlen-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--wine);
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}
.versand-radio {
  display: block;
  cursor: pointer;
  margin-bottom: 5px;
}
.versand-radio input[type="radio"] { display: none; }
.versand-radio-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 10px;
  border: 1.5px solid rgba(180,160,130,0.45);
  border-radius: 8px;
  font-size: 0.82rem;
  color: var(--wine);
  transition: border-color .15s, background .15s;
}
.versand-radio input:checked + .versand-radio-inner {
  border-color: var(--gold);
  background: rgba(244,210,122,0.08);
}
.versand-radio-preis {
  font-weight: 600;
  font-size: 0.8rem;
}
.versand-radio-preis.is-free { color: #3a7a3a; }

/* product content elements */
.produkt-section-title {
  font-family: 'Cinzel', serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--wine);
  margin: 2rem 0 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.55rem;
}
.produkt-section-title::before { content: '♥'; color: var(--gold); font-size: 0.85rem; }

.produkt-lead {
  font-size: 1.02rem;
  line-height: 1.85;
  color: var(--text);
  margin-bottom: 1.4rem;
}
.produkt-hinweis {
  font-size: 0.8rem;
  color: #8a7060;
  font-style: italic;
  padding: 0.75rem 1rem;
  border-left: 2px solid rgba(198,160,99,0.45);
  margin: 1.5rem 0;
  line-height: 1.6;
}
.produkt-infobox {
  background: var(--cream-dark);
  border: 1px solid rgba(180,160,130,0.28);
  border-radius: var(--radius-sm);
  padding: 1.2rem 1.4rem;
  margin: 1.5rem 0;
}
.produkt-infobox h4 {
  font-family: 'Cinzel', serif;
  font-size: 0.92rem;
  color: var(--wine);
  margin-bottom: 0.65rem;
}

/* features */
.features-4-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.9rem;
  margin: 2rem 0;
}
.features-3-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: 1.5rem 0;
}
.features-2-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin: 1.5rem 0;
}
.feature-card {
  background: var(--cream-dark);
  border: 1px solid rgba(180,160,130,0.22);
  border-radius: var(--radius-sm);
  padding: 1.1rem 0.9rem;
  text-align: center;
}
.feature-icon { font-size: 1.4rem; margin-bottom: 0.5rem; }
.feature-card h4 {
  font-family: 'Cinzel', serif;
  font-size: 0.8rem;
  color: var(--wine);
  margin-bottom: 0.35rem;
  font-weight: 700;
}
.feature-card p { font-size: 0.76rem; color: #7a6050; line-height: 1.5; }

/* steps */
.produkt-steps { display: flex; flex-direction: column; gap: 1.1rem; margin: 1.3rem 0; }
.produkt-step { display: flex; gap: 1rem; align-items: flex-start; }
.step-num {
  width: 34px;
  height: 34px;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: var(--wine);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cinzel', serif;
  font-weight: 700;
  font-size: 0.88rem;
  flex-shrink: 0;
  margin-top: 2px;
}
.step-content h4 { font-family: 'Cinzel', serif; font-size: 0.92rem; color: var(--wine); margin-bottom: 0.25rem; }
.step-content p { font-size: 0.86rem; color: #5a4030; line-height: 1.6; }

/* checklist */
.produkt-checklist { display: flex; flex-direction: column; gap: 0.55rem; margin: 0.8rem 0; }
.produkt-check-item {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.88rem;
  color: var(--text);
  line-height: 1.5;
}
.produkt-check-item::before { content: '✓'; color: var(--gold-dark); font-weight: 700; flex-shrink: 0; margin-top: 1px; }

/* FAQ */
.produkt-faq { margin: 1.5rem 0; }
.faq-item { border-bottom: 1px solid rgba(180,160,130,0.28); }
.faq-toggle {
  width: 100%;
  text-align: left;
  padding: 1rem 0;
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Cinzel', serif;
  font-size: 0.9rem;
  color: var(--wine);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  transition: color var(--transition);
}
.faq-toggle:hover { color: var(--gold-dark); }
.faq-icon {
  flex-shrink: 0;
  font-size: 1.1rem;
  line-height: 1;
  transition: transform 0.25s ease;
  color: var(--gold);
  font-style: normal;
}
.faq-item.is-open .faq-icon { transform: rotate(45deg); }
.faq-body {
  font-size: 0.88rem;
  color: #5a4030;
  line-height: 1.7;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
}
.faq-item.is-open .faq-body { max-height: 500px; padding-bottom: 1.1rem; }

/* popup */
.popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(38,19,24,0.65);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s;
}
.popup-overlay.is-open { opacity: 1; pointer-events: auto; }
.popup-modal {
  background: var(--cream);
  border-radius: var(--radius);
  padding: 1.8rem;
  max-width: 480px;
  width: 100%;
  position: relative;
  transform: translateY(16px);
  transition: transform 0.22s;
  max-height: 85vh;
  overflow-y: auto;
}
.popup-overlay.is-open .popup-modal { transform: translateY(0); }
.popup-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 1.1rem;
  gap: 1rem;
}
.popup-title { font-family: 'Cinzel', serif; font-size: 1.1rem; color: var(--wine); }
.popup-close {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text);
  font-size: 1.5rem;
  line-height: 1;
  padding: 0;
  flex-shrink: 0;
  opacity: 0.5;
  transition: opacity var(--transition);
  margin-top: -2px;
}
.popup-close:hover { opacity: 1; }

/* music tracks */
.musik-track {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border-radius: var(--radius-sm);
  text-decoration: none;
  color: var(--text);
  transition: background var(--transition);
  border: 1px solid transparent;
  margin-bottom: 0.4rem;
}
.musik-track:hover { background: var(--cream-dark); border-color: rgba(198,160,99,0.28); }
.musik-track-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--wine);
  font-size: 0.9rem;
}
.musik-track-info h4 { font-family: 'Cinzel', serif; font-size: 0.88rem; color: var(--wine); margin-bottom: 0.15rem; }
.musik-track-info p { font-size: 0.76rem; color: #8a7060; }

/* sub thema items in popup */
.sub-thema-item { margin-bottom: 1.2rem; padding-bottom: 1.2rem; border-bottom: 1px solid rgba(180,160,130,0.22); }
.sub-thema-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.sub-thema-item h4 { font-family: 'Cinzel', serif; font-size: 0.95rem; color: var(--wine); margin-bottom: 0.35rem; }
.sub-thema-item p { font-size: 0.86rem; color: #5a4030; line-height: 1.65; }
.sub-thema-list { margin: 0; padding-left: 1.1rem; list-style: disc; }
.sub-thema-list li { font-size: 0.84rem; color: #5a4030; line-height: 1.65; margin-bottom: 0.15rem; }

/* warenkorb page */
.wk-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 2.5rem;
  align-items: start;
}
.wk-empty { text-align: center; padding: 5rem 0; }
.wk-empty-icon { font-size: 3rem; margin-bottom: 1rem; opacity: 0.35; }
.wk-empty h2 { font-family: 'Cinzel', serif; color: var(--wine); margin-bottom: 0.8rem; }
.wk-empty p { color: #7a6050; margin-bottom: 1.5rem; }

.wk-item {
  display: flex;
  gap: 1.1rem;
  align-items: center;
  padding: 1.2rem 0;
  border-bottom: 1px solid rgba(180,160,130,0.22);
}
.wk-item-img {
  width: 68px;
  height: 68px;
  border-radius: var(--radius-sm);
  object-fit: cover;
  background: var(--cream-dark);
  flex-shrink: 0;
}
.wk-item-info { flex: 1; min-width: 0; }
.wk-item-name { font-family: 'Cinzel', serif; font-size: 0.92rem; color: var(--wine); margin-bottom: 0.25rem; }
.wk-item-optionen { font-size: 0.78rem; color: #8a7060; margin-bottom: 0.35rem; }
.wk-item-versand { font-size: 0.78rem; color: #8a7060; margin-bottom: 0.2rem; }
.wk-qty-stepper {
  display: inline-flex;
  align-items: center;
  border: 1.5px solid rgba(198,160,99,0.5);
  border-radius: 999px;
  overflow: hidden;
  margin: 0.45rem 0;
}
.wk-qty-btn {
  width: 34px;
  height: 32px;
  border: none;
  background: transparent;
  color: var(--wine);
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.18s;
  font-family: 'Montserrat', sans-serif;
}
.wk-qty-btn:hover:not(:disabled) { background: rgba(198,160,99,0.18); }
.wk-qty-btn:disabled { opacity: 0.28; cursor: default; }
.wk-qty-val {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--wine);
  min-width: 26px;
  text-align: center;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: 1px solid rgba(198,160,99,0.35);
  border-right: 1px solid rgba(198,160,99,0.35);
}
.wk-item-remove {
  font-size: 0.75rem;
  color: #a06050;
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.wk-item-preis {
  font-family: 'Cinzel', serif;
  font-size: 1rem;
  color: var(--wine);
  flex-shrink: 0;
}

.wk-summary {
  background: var(--cream-dark);
  border: 1px solid rgba(180,160,130,0.3);
  border-radius: var(--radius);
  padding: 1.4rem;
  position: sticky;
  top: 100px;
}
.wk-summary-title { font-family: 'Cinzel', serif; font-size: 1rem; color: var(--wine); margin-bottom: 1rem; }
.wk-sum-row {
  display: flex;
  justify-content: space-between;
  font-size: 0.88rem;
  color: #5a4030;
  padding: 0.35rem 0;
}
.wk-sum-total {
  font-family: 'Cinzel', serif;
  font-size: 1.4rem;
  color: var(--wine);
  display: flex;
  justify-content: space-between;
  padding-top: 0.8rem;
  border-top: 1px solid rgba(180,160,130,0.28);
  margin-top: 0.5rem;
  margin-bottom: 1.1rem;
}
.wk-hinweis { font-size: 0.72rem; color: #8a7060; text-align: center; margin-top: -0.6rem; margin-bottom: 1rem; font-style: italic; }

/* checkout */
.checkout-section-head {
  font-family: 'Cinzel', serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold-dark, #b8882a);
  margin: 0 0 0.8rem;
}
.checkout-label-opt { font-weight: 400; text-transform: none; letter-spacing: 0; }
.checkout-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23381e24' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.9rem center; padding-right: 2.2rem; }

.gutschein-box { margin-top: 1rem; }
.gutschein-row { display: flex; gap: 0.6rem; }
.gutschein-row .checkout-input { flex: 1; }
.btn-sm-outline { white-space: nowrap; padding: 0.55rem 1rem; border: 1px solid var(--gold-dark, #b8882a); color: var(--gold-dark, #b8882a); background: transparent; border-radius: var(--radius-sm, 10px); font-size: 0.82rem; font-weight: 600; cursor: pointer; transition: background 0.2s, color 0.2s; }
.btn-sm-outline:hover { background: var(--gold-dark, #b8882a); color: #fff; }
.gutschein-msg { font-size: 0.78rem; margin-top: 0.5rem; }
.gutschein-msg.is-success { color: #2a7a2a; }
.gutschein-msg.is-error   { color: #b03030; }

.checkout-checkboxen { display: flex; flex-direction: column; gap: 0.9rem; }
.checkout-check-item { display: flex; flex-direction: column; gap: 0.25rem; }
.checkout-check-label { display: flex; gap: 0.7rem; align-items: flex-start; cursor: pointer; font-size: 0.84rem; color: #5a4030; line-height: 1.55; }
.checkout-checkbox { flex-shrink: 0; width: 18px; height: 18px; margin-top: 0.15rem; accent-color: var(--wine, #381e24); cursor: pointer; }
.checkout-check-label a { color: var(--gold-dark, #b8882a); text-decoration: underline; }

.cs-rabatt { color: #2a7a2a !important; }
.cs-rabatt .cs-item-name, .cs-rabatt .cs-item-price { color: #2a7a2a !important; }

.checkout-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 2.5rem;
  align-items: start;
}
.checkout-box {
  background: var(--cream);
  border: 1px solid rgba(180,160,130,0.28);
  border-radius: var(--radius);
  padding: 1.6rem;
  margin-bottom: 1.2rem;
}
.checkout-box-title {
  font-family: 'Cinzel', serif;
  font-size: 1rem;
  color: var(--wine);
  margin-bottom: 1.1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(180,160,130,0.22);
}
.form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; }
.form-group { margin-bottom: 0.9rem; }
.checkout-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--wine);
  margin-bottom: 0.35rem;
  font-family: 'Montserrat', sans-serif;
}
.checkout-input,
.checkout-textarea {
  width: 100%;
  padding: 0.72rem 1rem;
  border: 1.5px solid rgba(180,160,130,0.48);
  border-radius: var(--radius-sm);
  background: var(--cream);
  color: var(--text);
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  transition: border-color var(--transition);
}
.checkout-input:focus,
.checkout-textarea:focus { border-color: var(--gold); outline: none; }
.checkout-input.has-error,
.checkout-textarea.has-error { border-color: #b03030; }
.checkout-textarea { resize: vertical; min-height: 72px; }

.field-error {
  font-size: 0.73rem;
  color: #b03030;
  margin-top: 0.22rem;
  display: none;
}
.field-error.is-visible { display: block; }

/* payment method */
.zahlungsart-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8rem;
  margin-bottom: 1.3rem;
}
.zahlungsart-option {
  border: 2px solid rgba(180,160,130,0.38);
  border-radius: var(--radius-sm);
  padding: 1rem;
  cursor: pointer;
  text-align: center;
  transition: border-color var(--transition), background var(--transition);
  user-select: none;
}
.zahlungsart-option:hover { border-color: rgba(198,160,99,0.65); }
.zahlungsart-option.is-active { border-color: var(--gold); background: rgba(198,160,99,0.07); }
.zahlungsart-option-icon { font-size: 1.3rem; margin-bottom: 0.35rem; }
.zahlungsart-option-name { font-family: 'Cinzel', serif; font-size: 0.85rem; color: var(--wine); }

.payment-section { display: none; }
.payment-section.is-active { display: block; }

.bank-info {
  background: var(--cream-dark);
  border: 1px solid rgba(180,160,130,0.28);
  border-radius: var(--radius-sm);
  padding: 1.1rem 1.3rem;
  font-size: 0.88rem;
  line-height: 1.8;
  margin-bottom: 1.2rem;
}
.bank-info strong { color: var(--wine); }

/* checkout summary */
.checkout-summary {
  background: var(--cream-dark);
  border: 1px solid rgba(180,160,130,0.3);
  border-radius: var(--radius);
  padding: 1.4rem;
  position: sticky;
  top: 100px;
}
.checkout-summary-title { font-family: 'Cinzel', serif; font-size: 1rem; color: var(--wine); margin-bottom: 1rem; }
.cs-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.8rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(180,160,130,0.18);
  font-size: 0.86rem;
}
.cs-item-name { color: var(--text); line-height: 1.4; }
.cs-item-optionen { font-size: 0.74rem; color: #8a7060; }
.cs-item-price { font-weight: 600; color: var(--wine); flex-shrink: 0; }
.cs-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.9rem;
  margin-top: 0.4rem;
}
.cs-total-label { font-family: 'Cinzel', serif; font-size: 0.92rem; color: var(--wine); }
.cs-total-price { font-family: 'Cinzel', serif; font-size: 1.45rem; color: var(--wine); }
.cs-hinweis { font-size: 0.72rem; color: #8a7060; margin-top: 0.7rem; font-style: italic; text-align: center; }

/* address block */
#adresseBlock { display: none; }
#adresseBlock.is-visible { display: block; }

/* confirmation page */
.bestaetigung-wrap { text-align: center; padding: clamp(5rem, 10vw, 8rem) 0; max-width: 600px; margin: 0 auto; }
.bestaetigung-icon { font-size: 3.5rem; margin-bottom: 1.5rem; }
.bestaetigung-wrap h1 { font-family: 'Cinzel', serif; color: var(--wine); font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: 1rem; }
.bestaetigung-wrap p { color: #5a4030; line-height: 1.75; margin-bottom: 1rem; }

/* admin */
.admin-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.admin-table th { font-family: 'Cinzel', serif; font-size: 0.78rem; color: var(--wine); text-align: left; padding: 0.7rem 1rem; border-bottom: 2px solid rgba(180,160,130,0.35); white-space: nowrap; }
.admin-table td { padding: 0.85rem 1rem; border-bottom: 1px solid rgba(180,160,130,0.18); vertical-align: top; }
.admin-table tr:hover td { background: rgba(180,160,130,0.05); }

.status-badge {
  display: inline-block;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-family: 'Montserrat', sans-serif;
}
.status-offen { background: rgba(180,120,40,0.15); color: #a06020; }
.status-bezahlt { background: rgba(40,120,60,0.15); color: #206040; }
.status-storniert { background: rgba(180,40,40,0.12); color: #902020; }

.btn-sm {
  display: inline-flex;
  align-items: center;
  padding: 0.38rem 0.85rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  font-family: 'Montserrat', sans-serif;
  transition: opacity var(--transition), transform var(--transition);
  white-space: nowrap;
}
.btn-sm:hover { opacity: 0.85; transform: translateY(-1px); }
.btn-sm-gold { background: linear-gradient(135deg, var(--gold-light), var(--gold)); color: var(--wine); }
.btn-sm-danger { background: rgba(180,40,40,0.1); color: #902020; border: 1px solid rgba(180,40,40,0.25); }

/* mobile */
@media (max-width: 920px) {
  .produkt-layout,
  .wk-layout,
  .checkout-layout { grid-template-columns: 1fr; }

  .produkt-sidebar { position: static; order: -1; }
  .wk-summary,
  .checkout-summary { position: static; }

  .features-4-grid { grid-template-columns: repeat(2, 1fr); }
  .features-3-grid { grid-template-columns: repeat(2, 1fr); }
  .form-row-2 { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .features-4-grid { grid-template-columns: repeat(2, 1fr); }
  .features-3-grid { grid-template-columns: 1fr; }
  .features-2-grid { grid-template-columns: 1fr; }
  .zahlungsart-options { grid-template-columns: 1fr 1fr; }
  .wk-item { flex-wrap: wrap; }
  .cart-toast { bottom: 1rem; right: 1rem; left: 1rem; max-width: none; }
  .popup-modal { padding: 1.2rem; }
  .produkt-buy { padding: 1.1rem; }
  .wk-summary { padding: 1.1rem; }
  .checkout-box { padding: 1.1rem; }
  .checkout-summary { padding: 1.1rem; }
}
