.brand-mark { overflow: hidden; background: #f8f1e8 url('assets/soulshine-demo-motiv.jpg') center / cover no-repeat; }
.brand-mark .brand-image { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: inherit; }

.hero-art { overflow: hidden; background: #c9aa8b url('assets/soulshine-demo-motiv.jpg') center / cover no-repeat; }
.hero-art > .sun-orb, .hero-art > .hero-product, .hero-art > .hero-card { display: none; }
.hero-art .hero-demo-image { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; display: block; object-fit: cover; }

.product-art { overflow: hidden; }
.product-art .product-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.product-art.has-image .product-badge { position: relative; z-index: 2; }
.product-art.has-image .product-icon { display: none; }
.detail-art.has-image .product-icon { display: none; }
.detail-product-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.image-picker { display: grid; gap: 6px; }
.image-picker input[type="file"] { padding: 11px; }
.image-picker small { color: var(--muted); font-size: .76rem; line-height: 1.45; }
.product-image-preview { min-height: 150px; display: grid; place-items: center; overflow: hidden; border: 1px dashed var(--line); border-radius: 14px; background: #faf5ef; color: var(--muted); text-align: center; }
.product-image-preview img { width: 100%; height: 180px; display: block; object-fit: cover; }
.product-image-preview span { padding: 18px; font-size: .82rem; }
.image-actions { display: flex; justify-content: flex-end; margin-top: -3px; }
.catalog-transfer-actions { align-items: center; flex-wrap: wrap; }
.catalog-import-label { display: inline-flex; align-items: center; }
.catalog-import-label input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

.category-manager-grid { display: grid; grid-template-columns: minmax(290px, .8fr) minmax(340px, 1.2fr); gap: 20px; align-items: start; }
.category-manager-list { display: grid; gap: 12px; }
.category-manager-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; }
.category-manager-card > div:first-child { display: grid; grid-template-columns: 44px 1fr; column-gap: 12px; align-items: center; }
.category-manager-icon { grid-row: span 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: #f3e5d7; color: var(--brown); font-size: 1.55rem; }
.category-manager-card h3 { margin: 0; color: var(--brown); font: 400 1.25rem Georgia, serif; }
.category-manager-card p { grid-column: 2; margin: 3px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.4; }
.category-manager-meta { display: grid; justify-items: end; gap: 7px; text-align: right; }
.category-manager-meta small, .category-help { color: var(--muted); font-size: .74rem; line-height: 1.5; }
.category-help { margin: 16px 0 0; }
.category-sage { background: linear-gradient(145deg, #9aa487, #65705b); }

@media (max-width: 840px) {
  .category-manager-grid { grid-template-columns: 1fr; }
}

.admin-portal .announcement,
.admin-portal .site-header,
.admin-portal .privacy-notice,
.admin-portal .site-footer { display: none; }
.admin-portal .admin-page-title { padding-top: 48px; }
.admin-portal .admin-section { padding-bottom: 84px; }

.settings-card + .settings-card { margin-top: 16px; }
.master-data-card { max-width: 780px; }
.master-data-card .check-label { margin-top: 8px; }
.product-link-status { display: inline-block; color: var(--brown); font-size: .72rem; font-weight: 800; }
.product-link-status.is-hidden { color: var(--muted); font-weight: 700; }
.tax-note { margin: 13px 0 0; color: var(--muted); font-size: .71rem; line-height: 1.5; }
.imprint-layout { max-width: 780px; padding-bottom: 86px; }
.imprint-card { padding: 30px; }
.imprint-card h2 { margin: 26px 0 8px; color: var(--brown); font: 400 1.55rem Georgia, serif; }
.imprint-card h2:first-child { margin-top: 0; }
.imprint-card p { color: var(--muted); line-height: 1.65; }
.imprint-card a { color: var(--brown); font-weight: 800; }
.imprint-alert { margin-bottom: 18px; padding: 15px 18px; border-left: 4px solid var(--clay); border-radius: 10px; background: #fff5e9; color: var(--brown); line-height: 1.55; }
.imprint-missing { color: var(--danger); font-style: italic; }
.admin-portal .admin-page-title::after { content: 'Eigene lokale Verwaltungsadresse: admin.html'; display: block; margin-top: 12px; color: var(--muted); font-size: .78rem; }

.payment-select-fallback { display: none; }
.checkout-payment-methods { margin-top: 2px; }
.checkout-payment-methods h3 { margin: 2px 0 10px; color: var(--brown); font: 400 1.15rem Georgia, serif; }
.checkout-payment-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.payment-option { display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 10px; min-height: 74px; padding: 10px; border: 1px solid var(--line); border-radius: 15px; background: var(--paper); text-align: left; transition: border-color .18s, box-shadow .18s, transform .18s; }
.payment-option:hover { transform: translateY(-1px); border-color: var(--clay); box-shadow: 0 7px 16px rgba(78,53,31,.08); }
.payment-option.is-selected { border: 2px solid var(--brown); padding: 9px; background: #fffaf4; }
.payment-option-copy { display: grid; gap: 2px; }
.payment-option-copy strong { color: var(--brown); font-size: .8rem; line-height: 1.2; }
.payment-option-copy small { color: var(--muted); font-size: .66rem; line-height: 1.35; }
.payment-visual { display: grid; place-items: center; min-width: 48px; height: 36px; padding: 0 5px; border-radius: 9px; background: linear-gradient(145deg, #4e3829, #8d684b); color: #fff; font-size: .58rem; font-weight: 900; letter-spacing: .05em; text-align: center; }
.payment-visual-paypal { background: linear-gradient(145deg, #003087, #009cde); }
.payment-visual-card { background: linear-gradient(145deg, #222, #585858); }
.payment-visual-apple-pay { background: linear-gradient(145deg, #111, #494949); }
.payment-visual-google-pay { background: linear-gradient(145deg, #4285f4, #34a853); }
.payment-visual-klarna { background: #ffb3c7; color: #1a1a1a; }
.payment-visual-sepa { background: linear-gradient(145deg, #174b87, #2461aa); }
.payment-visual-invoice { background: linear-gradient(145deg, #8d4964, #bf6e88); }
.payment-visual-cash { background: linear-gradient(145deg, #486d45, #86a65e); }
.payment-option-check { color: var(--brown); font-size: 1.12rem; font-weight: 900; opacity: 0; }
.payment-option.is-selected .payment-option-check { opacity: 1; }
.payment-checkout-note { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; background: #f6eee4; color: var(--muted); font-size: .73rem; line-height: 1.45; }
.payment-empty { margin: 0; padding: 13px; border: 1px dashed var(--line); border-radius: 12px; color: var(--muted); font-size: .78rem; }
.payment-provider-notice { margin-bottom: 16px; padding: 17px 19px; border-left: 4px solid var(--clay); }
.payment-provider-notice strong { color: var(--brown); }
.payment-provider-notice p { margin: 5px 0 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.payment-settings-list { display: grid; gap: 14px; }
.payment-settings-card { padding: 19px 20px; }
.payment-settings-head { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; }
.payment-settings-head .payment-visual { width: 62px; height: 44px; flex: 0 0 62px; }
.payment-settings-head h4 { margin: 0; color: var(--brown); font: 400 1.22rem Georgia, serif; }
.payment-settings-head p { margin: 2px 0 0; color: var(--muted); font-size: .75rem; }
.payment-rules { display: grid; gap: 6px; margin-left: auto; }
.payment-active, .payment-dispatch { margin: 0; font-size: .72rem; white-space: nowrap; }
.payment-server-hint { margin: 13px 0 0; color: var(--muted); font-size: .71rem; line-height: 1.45; }
.payment-save-actions { margin-top: 18px; }
.confirmation-payment-link { display: inline-block; margin-left: 8px; color: var(--brown); font-weight: 800; }
.cart-payment-methods { margin: 10px 0 13px; }
.cart-payment-methods > small { display: block; margin-bottom: 7px; color: var(--muted); font-size: .67rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.payment-badge-list { display: flex; flex-wrap: wrap; gap: 6px; }
.payment-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 6px 3px 3px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--muted); font-size: .6rem; font-weight: 800; }
.payment-badge .payment-visual { min-width: 31px; width: auto; height: 23px; padding: 0 3px; border-radius: 5px; font-size: .46rem; }
.payment-badge-empty { color: var(--muted); font-size: .68rem; }
.footer-payment-methods { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; width: min(1160px, calc(100% - 40px)); margin: 20px auto 0; padding: 15px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .72rem; }
.footer-payment-methods .payment-badge { background: #fffaf4; }

.account-button { display: inline-flex; align-items: center; gap: 7px; min-height: 43px; padding: 0 13px; border: 1px solid var(--line); border-radius: 100px; background: #fff; color: var(--brown); font-size: .78rem; font-weight: 800; white-space: nowrap; }
.account-button:hover { border-color: var(--brown); background: #f8efe5; }
.account-button > span:first-child { display: grid; place-items: center; width: 18px; height: 18px; border: 1.5px solid currentColor; border-radius: 50%; font-size: .6rem; }
.account-section { padding-bottom: 88px; }
.customer-auth-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.customer-auth-grid[hidden], .customer-dashboard[hidden] { display: none !important; }
.account-card { padding: 26px; }
.account-card h2, .account-card h3, .account-dashboard-top h2 { margin: 0; color: var(--brown); font: 400 2rem Georgia, serif; }
.account-card h3 { font-size: 1.55rem; }
.account-card > p:not(.eyebrow) { color: var(--muted); font-size: .83rem; line-height: 1.55; }
.account-form { display: grid; gap: 14px; margin-top: 19px; }
.account-form label { color: var(--muted); font-size: .76rem; font-weight: 700; }
.account-form input { display: block; width: 100%; margin-top: 5px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); outline: none; }
.account-form input:focus { border-color: var(--clay); box-shadow: 0 0 0 3px rgba(186,137,102,.14); }
.account-form .button { margin-top: 4px; }
.account-demo-note { grid-column: 1 / -1; margin: 2px 0 0; padding: 14px 16px; border-left: 4px solid var(--clay); border-radius: 11px; background: #fff6ec; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.customer-dashboard { display: grid; gap: 22px; }
.account-dashboard-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 5px 1px; }
.account-dashboard-top p:not(.eyebrow) { margin: 5px 0 0; color: var(--muted); font-size: .82rem; }
.account-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 20px; align-items: start; }
.customer-orders { display: grid; gap: 15px; }
.account-order-summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 15px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: #fffaf4; }
.account-order-summary strong { color: var(--brown); font: 400 1.35rem Georgia, serif; }
.account-order-summary span { max-width: 330px; color: var(--muted); font-size: .75rem; text-align: right; }
.account-order-card { padding: 21px; }
.account-order-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.account-order-head h3 { margin: 2px 0; color: var(--brown); font: 400 1.55rem Georgia, serif; }
.account-order-head p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .73rem; }
.account-order-copy { margin: 15px 0; color: var(--muted); font-size: .82rem; }
.shipment-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 18px 0; padding: 0; list-style: none; }
.shipment-timeline li { position: relative; display: grid; gap: 6px; color: var(--muted); font-size: .65rem; text-align: center; }
.shipment-timeline li::before { position: absolute; z-index: 0; top: 12px; left: -50%; width: 100%; height: 2px; background: var(--line); content: ''; }
.shipment-timeline li:first-child::before { display: none; }
.shipment-timeline li span { position: relative; z-index: 1; display: grid; place-items: center; width: 26px; height: 26px; margin: 0 auto; border: 2px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--muted); font-size: .68rem; font-weight: 900; }
.shipment-timeline li.is-complete { color: var(--brown); }
.shipment-timeline li.is-complete::before { background: var(--sage); }
.shipment-timeline li.is-complete span { border-color: var(--sage); background: var(--sage); color: #fff; }
.shipment-timeline li.is-current strong { color: var(--brown); }
.account-order-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.account-order-meta p { display: grid; gap: 2px; margin: 0; padding: 11px 12px; border-radius: 11px; background: #fbf6ef; color: var(--muted); font-size: .72rem; }
.account-order-meta strong { color: var(--brown); font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; }
.account-tracking { grid-column: 1 / -1; }
.account-tracking.is-empty { border: 1px dashed var(--line); background: transparent; }
.account-order-items { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--line); color: var(--muted); font-size: .77rem; }
.account-order-items > strong:first-child { color: var(--brown); }
.account-order-total { grid-row: 1 / span 2; grid-column: 2; align-self: center; color: var(--brown); font-size: 1rem; }
.account-checkout-hint { margin: -2px 0 17px; padding: 11px 12px; border-radius: 10px; background: #f8efe5; color: var(--muted); font-size: .73rem; line-height: 1.45; }

@media (max-width: 860px) {
  .account-layout { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .brand-mark { width: 36px; height: 36px; }
  .product-image-preview img { height: 150px; }
  .category-manager-card { align-items: flex-start; flex-direction: column; }
  .category-manager-meta { justify-items: start; text-align: left; }
  .checkout-payment-options { grid-template-columns: 1fr; }
  .payment-settings-head { align-items: flex-start; flex-wrap: wrap; }
  .payment-rules { width: 100%; margin-left: 0; }
  .footer-payment-methods { align-items: flex-start; flex-direction: column; }
  .account-button { width: 43px; justify-content: center; padding: 0; border-radius: 50%; }
  .account-button > span:last-child { display: none; }
  .customer-auth-grid { grid-template-columns: 1fr; }
  .account-demo-note { grid-column: auto; }
  .account-dashboard-top, .account-order-summary { align-items: flex-start; flex-direction: column; }
  .account-order-summary span { text-align: left; }
  .account-order-meta { grid-template-columns: 1fr; }
  .shipment-timeline { gap: 2px; }
  .shipment-timeline li { font-size: .56rem; }
}
}
