/* Product Creator – generiert, Quelle: frontend.src.css */
/* Product Creator – Frontend
   Alle Farben, Radien und Schriften kommen als CSS-Variablen aus den Design-Einstellungen.
   Eigene Anpassungen: Design → Custom CSS (überschreibt alles hier). */

:not(#pc-boost) .pc-root { box-sizing: border-box; color: var(--pc-ink); background: var(--pc-bg); font-family: var(--pc-body); font-size: 15px; line-height: 1.45; -webkit-font-smoothing: antialiased; }
:not(#pc-boost) .pc-root *, :not(#pc-boost) .pc-root *::before, :not(#pc-boost) .pc-root *::after { box-sizing: border-box; }
:not(#pc-boost) .pc-root button, :not(#pc-boost) .pc-root input, :not(#pc-boost) .pc-root select { font-family: inherit; color: inherit; margin: 0; }
:not(#pc-boost) .pc-root img { max-width: 100%; display: block; }
:not(#pc-boost) .pc-root [hidden] { display: none !important; }
:not(#pc-boost) :where(.pc-root) :where(button, input, select) { text-transform: none; letter-spacing: normal; box-shadow: none; text-shadow: none; line-height: 1.2; height: auto; outline-offset: 2px; }
:not(#pc-boost) :where(.pc-root) :where(button, input, select):focus-visible { outline: 2px solid var(--pc-accent); }

:not(#pc-boost) .pc-product { width: 100%; max-width: var(--pc-maxw); margin-left: auto; margin-right: auto; }
:not(#pc-boost) .pc-cq { container: pcmain / inline-size; }
:not(#pc-boost) .pc-info { container: pcinfo / inline-size; }
:not(#pc-boost) .pc-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
@container pcmain (min-width: 720px) {
	:not(#pc-boost) .pc-view-komplett .pc-layout { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; }
	:not(#pc-boost) .pc-gal-right .pc-media { order: 2; }
	:not(#pc-boost) .pc-media { position: sticky; top: 24px; }
}

/* Galerie */
:not(#pc-boost) .pc-media { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
:not(#pc-boost) .pc-gallery { position: relative; aspect-ratio: var(--pc-ratio); border-radius: var(--pc-r); background: var(--pc-surf); display: flex; align-items: center; justify-content: center; overflow: hidden; box-shadow: var(--pc-shadow); }
:not(#pc-boost) .pc-gallery-img { width: 82%; height: 82%; object-fit: contain; mix-blend-mode: multiply; transition: transform .7s ease, opacity .2s ease; }
:not(#pc-boost) .pc-badge { position: absolute; top: 14px; left: 14px; padding: 6px 12px; border-radius: 999px; background: var(--pc-badge-bg); color: var(--pc-badge-fg); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; z-index: 2; }
:not(#pc-boost) .pc-dots { position: absolute; left: 0; right: 0; bottom: 12px; display: none; justify-content: center; gap: 6px; z-index: 2; }
:not(#pc-boost) .pc-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: var(--pc-ink-12); cursor: pointer; transition: width .2s ease; }
:not(#pc-boost) .pc-dot.is-active { width: 22px; background: var(--pc-ink); }
:not(#pc-boost) .pc-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
:not(#pc-boost) .pc-thumb { aspect-ratio: 1 / 1; padding: 0; border: 2px solid transparent; border-radius: var(--pc-r-sm); background: var(--pc-surf); display: flex; align-items: center; justify-content: center; overflow: hidden; cursor: pointer; }
:not(#pc-boost) .pc-thumb img { width: 86%; height: 86%; object-fit: contain; mix-blend-mode: multiply; }
:not(#pc-boost) .pc-thumb.is-active { border-color: var(--pc-accent); }
@container pcmain (max-width: 719px) {
	:not(#pc-boost) .pc-thumbs { display: none; }
	:not(#pc-boost) .pc-dots { display: flex; }
}

/* Info-Spalte */
:not(#pc-boost) .pc-info { display: flex; flex-direction: column; gap: var(--pc-gap); min-width: 0; margin: 0; }
:not(#pc-boost) .pc-block { display: flex; flex-direction: column; gap: 10px; }
:not(#pc-boost) .pc-head { gap: 10px; }
:not(#pc-boost) .pc-cat { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--pc-accent-text); }
:not(#pc-boost) .pc-root .pc-title { margin: 0; font-family: var(--pc-head); font-weight: 800; font-size: min(var(--pc-title-size), 11cqi); line-height: 1; text-transform: var(--pc-tt); color: var(--pc-ink); letter-spacing: 0; }
:not(#pc-boost) .pc-title-rule { width: 40px; height: 2px; background: var(--pc-ink); }
:not(#pc-boost) .pc-price { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 10px; }
:not(#pc-boost) .pc-price-value { white-space: nowrap; font-family: var(--pc-head); font-weight: 800; font-size: 36px; line-height: 1; }
:not(#pc-boost) .pc-price-old { font-size: 18px; opacity: .5; }
:not(#pc-boost) .pc-price-note { font-size: 13px; opacity: .65; white-space: nowrap; }
:not(#pc-boost) .pc-price-in-btn .pc-price { display: none !important; }
@container pcmain (max-width: 719px) { :not(#pc-boost) .pc-price-value { font-size: 28px; } }

:not(#pc-boost) .pc-step-row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
:not(#pc-boost) .pc-step { font-family: var(--pc-head); font-weight: 800; font-size: 18px; text-transform: var(--pc-tt); }
:not(#pc-boost) .pc-no-num .pc-num { display: none; }
:not(#pc-boost) .pc-optional, :not(#pc-boost) .pc-hint { font-family: var(--pc-body); font-weight: 600; font-size: 13px; text-transform: none; opacity: .65; }
:not(#pc-boost) .pc-hint.is-low { color: #b45309; opacity: 1; }
:not(#pc-boost) .pc-help { margin: -4px 0 0; font-size: 13px; opacity: .7; }

/* Größen */
:not(#pc-boost) .pc-size-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(62px, 1fr)); gap: 8px; }
:not(#pc-boost) .pc-size { min-width: 0; min-height: 52px; padding: 0 4px; border: 1px solid var(--pc-line); border-radius: var(--pc-r-sm); background: var(--pc-field); color: var(--pc-ink); font-family: var(--pc-head); font-weight: 800; font-size: 16px; cursor: pointer; }
:not(#pc-boost) .pc-size.is-active { background: var(--pc-accent); border-color: var(--pc-accent); color: var(--pc-on-accent); }
:not(#pc-boost) .pc-size.is-soldout, :not(#pc-boost) .pc-size:disabled { background: linear-gradient(to top right, transparent calc(50% - .75px), #cfcfcf 50%, transparent calc(50% + .75px)), var(--pc-field); color: #b5b5b5; cursor: not-allowed; }
:not(#pc-boost) .pc-soldout-hide .pc-size.is-soldout { display: none; }
:not(#pc-boost) .pc-size-select, :not(#pc-boost) .pc-opt-select { min-height: 52px; padding: 0 12px; border: 2px solid var(--pc-line); border-radius: var(--pc-r-sm); background: var(--pc-field); color: var(--pc-ink); font-size: 15px; width: 100%; }
:not(#pc-boost) .pc-size-select { display: none; }
:not(#pc-boost) .pc-sizes-dropdown .pc-size-grid { display: none; }
:not(#pc-boost) .pc-sizes-dropdown .pc-size-select { display: block; }
:not(#pc-boost) .pc-invalid .pc-size, :not(#pc-boost) .pc-invalid .pc-option, :not(#pc-boost) .pc-invalid select, :not(#pc-boost) .pc-input.is-invalid, :not(#pc-boost) .pc-picker.is-invalid { border-color: #b32d2e !important; }
:not(#pc-boost) .pc-border-kraeftig .pc-size, :not(#pc-boost) .pc-border-kraeftig .pc-tile { border-width: 2px; }

/* Options-Kacheln: so viele nebeneinander wie Platz ist */
:not(#pc-boost) .pc-opt-kacheln { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 8px; }
:not(#pc-boost) .pc-tile { min-width: 0; min-height: 84px; padding: 12px 6px 10px; border: 1px solid var(--pc-line); border-radius: var(--pc-r-sm); background: var(--pc-field); color: var(--pc-ink); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; cursor: pointer; }
:not(#pc-boost) .pc-tile .pc-opt-label { max-width: 100%; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:not(#pc-boost) .pc-tile .pc-opt-price { font-size: 11px; font-weight: 500; opacity: .75; white-space: nowrap; }
:not(#pc-boost) .pc-opt-icon { display: inline-flex; }
:not(#pc-boost) .pc-no-icons .pc-opt-icon { display: none; }
:not(#pc-boost) .pc-tile.is-active { background: var(--pc-accent); border-color: var(--pc-accent); color: var(--pc-on-accent); }
@container pcmain (max-width: 719px) {
	:not(#pc-boost) .pc-opt-kacheln { grid-template-columns: repeat(auto-fit, minmax(84px, 1fr)); }
	:not(#pc-boost) .pc-tile { min-height: 74px; }
	:not(#pc-boost) .pc-tile .pc-opt-label { font-size: 11px; letter-spacing: .05em; }
}
:not(#pc-boost) .pc-opt-liste { display: grid; gap: 8px; }
:not(#pc-boost) .pc-row { min-height: 54px; padding: 10px 14px; border: 2px solid var(--pc-line); border-radius: var(--pc-r-sm); background: var(--pc-field); color: var(--pc-ink); display: flex; align-items: center; gap: 12px; text-align: left; cursor: pointer; }
:not(#pc-boost) .pc-row .pc-opt-label { flex: 1; font-weight: 700; }
:not(#pc-boost) .pc-row .pc-opt-price { font-size: 13px; opacity: .75; }
:not(#pc-boost) .pc-radio { width: 18px; height: 18px; flex: none; border-radius: 50%; border: 2px solid var(--pc-line); }
:not(#pc-boost) .pc-row.is-active { border-color: var(--pc-accent); }
:not(#pc-boost) .pc-row.is-active .pc-radio { border-color: var(--pc-accent); box-shadow: inset 0 0 0 4px var(--pc-field); background: var(--pc-accent); }

/* Eingaben (Spieler / Nummer / Name) */
:not(#pc-boost) .pc-inputs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px; border-radius: var(--pc-r-sm); background: var(--pc-surf); color: #111; }
:not(#pc-boost) .pc-dark .pc-inputs { background: rgba(255,255,255,.06); color: var(--pc-ink); }
:not(#pc-boost) .pc-fields-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
:not(#pc-boost) .pc-fields-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
:not(#pc-boost) .pc-fields-numname { grid-template-columns: 130px minmax(0, 1fr); }
@container pcmain (max-width: 719px) {
	:not(#pc-boost) .pc-fields-numname { grid-template-columns: 96px minmax(0, 1fr); }
	:not(#pc-boost) .pc-fields-3 { grid-template-columns: minmax(0, 1fr); }
}
:not(#pc-boost) .pc-field { position: relative; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
:not(#pc-boost) .pc-field-label { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-family: var(--pc-head); font-weight: 800; font-size: 15px; letter-spacing: .03em; text-transform: var(--pc-tt); }
:not(#pc-boost) .pc-count { font-family: var(--pc-body); font-size: 12px; font-weight: 600; opacity: .6; }
:not(#pc-boost) .pc-input { width: 100%; min-height: 68px; padding: 0 16px; border: 2px solid var(--pc-line); border-radius: var(--pc-r-sm); background: var(--pc-field); color: var(--pc-ink); font-family: var(--pc-head); font-weight: 800; font-size: 26px; text-transform: uppercase; outline: none; }
:not(#pc-boost) .pc-input:focus { border-color: var(--pc-accent); }
:not(#pc-boost) .pc-input::placeholder { color: currentColor; opacity: .3; }
:not(#pc-boost) .pc-fields-numname .pc-field:first-child .pc-input { text-align: center; padding: 0 8px; }

:not(#pc-boost) .pc-picker { width: 100%; min-height: 68px; padding: 8px 16px 8px 8px; border: 2px solid var(--pc-line); border-radius: var(--pc-r-sm); background: var(--pc-field); color: var(--pc-ink); display: flex; align-items: center; gap: 14px; text-align: left; cursor: pointer; }
:not(#pc-boost) .pc-picker.is-set { border-color: var(--pc-accent); }
:not(#pc-boost) .pc-picker > svg { flex: none; transition: transform .2s ease; }
:not(#pc-boost) .pc-picker[aria-expanded="true"] > svg { transform: rotate(180deg); }
:not(#pc-boost) .pc-picker-nr { width: 50px; height: 50px; flex: none; border-radius: var(--pc-r-sm); background: var(--pc-surf); color: var(--pc-ink); display: inline-flex; align-items: center; justify-content: center; font-family: var(--pc-head); font-weight: 800; font-size: 24px; }
:not(#pc-boost) .pc-dark .pc-picker-nr { background: rgba(255,255,255,.08); }
:not(#pc-boost) .pc-picker.is-set .pc-picker-nr { background: var(--pc-accent); color: var(--pc-on-accent); }
:not(#pc-boost) .pc-picker-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
:not(#pc-boost) .pc-picker-top { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; opacity: .55; }
:not(#pc-boost) .pc-picker-main { font-family: var(--pc-head); font-weight: 800; font-size: 21px; line-height: 1.05; text-transform: var(--pc-tt); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:not(#pc-boost) .pc-list { border: 1px solid var(--pc-line); border-radius: var(--pc-r-sm); background: var(--pc-field); color: var(--pc-ink); box-shadow: 0 18px 40px rgba(0,0,0,.14); overflow: hidden; }
:not(#pc-boost) .pc-list-search { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--pc-line); }
:not(#pc-boost) .pc-list-search svg { opacity: .5; }
:not(#pc-boost) .pc-list-search input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font-size: 15px; }
:not(#pc-boost) .pc-list-items { max-height: 290px; overflow-y: auto; }
:not(#pc-boost) .pc-list-item { width: 100%; min-height: 54px; padding: 8px 14px 8px 10px; border: 0; border-bottom: 1px solid var(--pc-line); background: transparent; display: flex; align-items: center; gap: 12px; text-align: left; cursor: pointer; }
:not(#pc-boost) .pc-list-item:hover, :not(#pc-boost) .pc-list-item:focus-visible { background: var(--pc-accent-08); outline: none; }
:not(#pc-boost) .pc-list-nr { width: 38px; height: 38px; flex: none; border-radius: var(--pc-r-sm); background: var(--pc-surf); color: #111; display: inline-flex; align-items: center; justify-content: center; font-family: var(--pc-head); font-weight: 800; font-size: 18px; }
:not(#pc-boost) .pc-list-name { flex: 1; font-family: var(--pc-head); font-weight: 800; font-size: 18px; text-transform: var(--pc-tt); }
:not(#pc-boost) .pc-list-check { visibility: hidden; color: var(--pc-accent-text); display: inline-flex; }
:not(#pc-boost) .pc-list-item[aria-selected="true"] .pc-list-nr { background: var(--pc-accent); color: var(--pc-on-accent); }
:not(#pc-boost) .pc-list-item[aria-selected="true"] .pc-list-check { visibility: visible; }
:not(#pc-boost) .pc-list-empty { display: block; padding: 14px; font-size: 13px; opacity: .6; }

/* Menge & Warenkorb */
:not(#pc-boost) .pc-buy { gap: 8px; }
:not(#pc-boost) .pc-buy-row { display: flex; gap: 10px; }
:not(#pc-boost) .pc-qty { display: inline-flex; align-items: center; border: 2px solid var(--pc-ink); border-radius: var(--pc-r-btn); overflow: hidden; font-weight: 800; flex: none; }
:not(#pc-boost) .pc-qty-btn { width: 44px; height: 56px; border: 0; background: transparent; font-size: 20px; cursor: pointer; }
:not(#pc-boost) .pc-qty-input { width: 34px; border: 0; background: transparent; text-align: center; font-weight: 800; font-size: 16px; -moz-appearance: textfield; appearance: textfield; padding: 0; }
:not(#pc-boost) .pc-qty-input::-webkit-outer-spin-button, :not(#pc-boost) .pc-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
:not(#pc-boost) .pc-cart-btn { position: relative; flex: 1; min-width: 0; min-height: 60px; padding: 0 20px; border: 2px solid var(--pc-accent); border-radius: var(--pc-r-btn); display: flex; align-items: center; justify-content: center; gap: 10px; font-family: var(--pc-head); font-weight: 800; font-size: 19px; text-transform: var(--pc-tt); letter-spacing: .02em; white-space: nowrap; cursor: pointer; overflow: hidden; }
:not(#pc-boost) .pc-btn-gefuellt .pc-cart-btn { background-color: var(--pc-accent); color: var(--pc-on-accent); }
:not(#pc-boost) .pc-btn-umriss .pc-cart-btn { background-color: transparent; color: var(--pc-accent-text); }
:not(#pc-boost) .pc-cart-btn:disabled { opacity: .45; cursor: not-allowed; }
:not(#pc-boost) .pc-cart-btn.is-loading { opacity: .7; pointer-events: none; }
:not(#pc-boost) .pc-arrow { display: inline-block; flex: none; }
:not(#pc-boost) .pc-btn-label { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
:not(#pc-boost) .pc-btn-total { flex: none; }
@container pcinfo (max-width: 480px) {
	:not(#pc-boost) .pc-buy-row .pc-cart-btn { font-size: 16px; padding: 0 12px; gap: 6px; }
	:not(#pc-boost) .pc-buy-row .pc-arrow { display: none; }
	:not(#pc-boost) .pc-qty-btn { width: 34px; }
	:not(#pc-boost) .pc-qty-input { width: 28px; }
}
:not(#pc-boost) .pc-error { font-size: 13px; font-weight: 700; color: #b32d2e; }
:not(#pc-boost) .pc-error.is-ok { color: inherit; }
:not(#pc-boost) .pc-notice { font-size: 12px; opacity: .7; }

/* Vertrauenszeile */
:not(#pc-boost) .pc-trust { flex-direction: row; flex-wrap: wrap; gap: 8px 20px; font-size: 13px; opacity: .85; }
:not(#pc-boost) .pc-trust-item { display: inline-flex; align-items: center; gap: 6px; }
:not(#pc-boost) .pc-trust-item::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--pc-ink); flex: none; }
:not(#pc-boost) .pc-trust-item strong { font-weight: 700; }
@container pcmain (max-width: 719px) {
	:not(#pc-boost) .pc-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; opacity: 1; }
	:not(#pc-boost) .pc-trust-item { padding: 10px 6px; border-radius: var(--pc-r-sm); background: var(--pc-dark); color: #fff; flex-direction: column; gap: 2px; text-align: center; font-size: 11px; }
	:not(#pc-boost) .pc-trust-item::before { display: none; }
	:not(#pc-boost) .pc-trust-item strong { font-family: var(--pc-head); font-size: 14px; }
}

/* Infos */
:not(#pc-boost) .pc-infos { gap: 0; }
:not(#pc-boost) .pc-acc { border-bottom: 1px solid var(--pc-line); }
:not(#pc-boost) .pc-acc summary { min-height: 54px; display: flex; align-items: center; justify-content: space-between; list-style: none; cursor: pointer; font-family: var(--pc-head); font-weight: 800; font-size: 18px; text-transform: var(--pc-tt); }
:not(#pc-boost) .pc-acc summary::-webkit-details-marker { display: none; }
:not(#pc-boost) .pc-acc-icon { width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--pc-line); display: inline-flex; align-items: center; justify-content: center; font-family: var(--pc-body); font-weight: 400; transition: transform .2s ease; }
:not(#pc-boost) .pc-acc[open] .pc-acc-icon { transform: rotate(45deg); }
:not(#pc-boost) .pc-acc-body { padding: 0 0 16px; font-size: 14px; opacity: .85; }
:not(#pc-boost) .pc-acc-body p { margin: 0 0 8px; }

/* Klebender Button auf dem Handy */
:not(#pc-boost) .pc-sticky { display: none; }
@media (max-width: 760px) {
	:not(#pc-boost) .pc-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: var(--pc-bg); box-shadow: 0 -8px 24px rgba(0,0,0,.12); transform: translateY(110%); transition: transform .25s ease; display: block; }
	:not(#pc-boost) .pc-sticky.is-on { transform: none; }
	:not(#pc-boost) .pc-sticky .pc-cart-btn { width: 100%; min-height: 56px; font-size: 18px; }
}

/* ---------- Effekte ---------- */
:not(#pc-boost) .pc-cart-btn, :not(#pc-boost) .pc-size, :not(#pc-boost) .pc-tile, :not(#pc-boost) .pc-row, :not(#pc-boost) .pc-arrow, :not(#pc-boost) .pc-card { transition: transform var(--pc-speed) ease, box-shadow var(--pc-speed) ease, background-color var(--pc-speed) ease, background-size var(--pc-speed) ease, border-color var(--pc-speed) ease, color var(--pc-speed) ease; }

/* Produkttitel */
:not(#pc-boost) .pc-title-ohne .pc-title-rule, :not(#pc-boost) .pc-title-marker .pc-title-rule, :not(#pc-boost) .pc-title-etikett .pc-title-rule { display: none; }
:not(#pc-boost) .pc-title-akzent .pc-title-rule { width: 64px; height: 5px; border-radius: 3px; background: var(--pc-accent); }
:not(#pc-boost) .pc-title-marker .pc-title { align-self: flex-start; padding: 0 .1em; background: linear-gradient(transparent 56%, var(--pc-accent-35) 56%, var(--pc-accent-35) 92%, transparent 92%); }
:not(#pc-boost) .pc-title-etikett .pc-title { align-self: flex-start; padding: .1em .3em .05em; background: var(--pc-accent); color: var(--pc-on-accent); transform: skewX(-7deg); box-shadow: 6px 6px 0 var(--pc-ink-12); }

/* Schritt-Überschriften */
:not(#pc-boost) .pc-step-balken .pc-step { padding-left: 10px; border-left: 4px solid var(--pc-accent); }
:not(#pc-boost) .pc-step-unterstrichen .pc-step { padding-bottom: 7px; background: linear-gradient(var(--pc-accent), var(--pc-accent)) left bottom / 26px 3px no-repeat; }

/* Warenkorb-Button (Hover; .pc-demo-hover zeigt ihn dauerhaft – nur Admin-Vorschau) */
:not(#pc-boost) .pc-btnfx-pfeil .pc-cart-btn:hover .pc-arrow, :not(#pc-boost) .pc-demo-hover.pc-btnfx-pfeil .pc-cart-btn .pc-arrow { transform: translateX(7px); }
:not(#pc-boost) .pc-btnfx-heben .pc-cart-btn:hover, :not(#pc-boost) .pc-demo-hover.pc-btnfx-heben .pc-cart-btn { transform: translateY(-3px); box-shadow: 0 14px 26px var(--pc-btn-glow); }
:not(#pc-boost) .pc-btnfx-glanz .pc-cart-btn::after { content: ""; position: absolute; top: 0; bottom: 0; left: -70%; width: 42%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.5), transparent); transform: skewX(-18deg); pointer-events: none; }
:not(#pc-boost) .pc-btnfx-glanz .pc-cart-btn:hover::after { animation: pcShine .9s ease; }
:not(#pc-boost) .pc-demo-hover.pc-btnfx-glanz .pc-cart-btn::after { animation: pcShine 2.4s ease-in-out infinite; }
@keyframes pcShine { from { left: -70%; } to { left: 130%; } }
:not(#pc-boost) .pc-btnfx-fuellen .pc-cart-btn { background-image: linear-gradient(rgba(0,0,0,.22), rgba(0,0,0,.22)); background-size: 0% 100%; background-repeat: no-repeat; }
:not(#pc-boost) .pc-btnfx-fuellen.pc-btn-umriss .pc-cart-btn { background-image: linear-gradient(var(--pc-accent), var(--pc-accent)); }
:not(#pc-boost) .pc-btnfx-fuellen .pc-cart-btn:hover, :not(#pc-boost) .pc-demo-hover.pc-btnfx-fuellen .pc-cart-btn { background-size: 100% 100%; }
:not(#pc-boost) .pc-btnfx-fuellen.pc-btn-umriss .pc-cart-btn:hover, :not(#pc-boost) .pc-demo-hover.pc-btnfx-fuellen.pc-btn-umriss .pc-cart-btn { color: var(--pc-on-accent); }
:not(#pc-boost) .pc-btnfx-versatz .pc-cart-btn { box-shadow: 5px 5px 0 var(--pc-ink); overflow: visible; }
:not(#pc-boost) .pc-btnfx-versatz .pc-cart-btn:hover, :not(#pc-boost) .pc-demo-hover.pc-btnfx-versatz .pc-cart-btn { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--pc-ink); }
:not(#pc-boost) .pc-cart-btn:disabled { transform: none !important; }

/* Ausgewählte Kachel */
:not(#pc-boost) .pc-sel-rahmen .pc-size.is-active, :not(#pc-boost) .pc-sel-rahmen .pc-tile.is-active, :not(#pc-boost) .pc-sel-haken .pc-size.is-active, :not(#pc-boost) .pc-sel-haken .pc-tile.is-active { background: var(--pc-accent-08); color: var(--pc-ink); border-color: var(--pc-accent); box-shadow: inset 0 0 0 1px var(--pc-accent); }
:not(#pc-boost) .pc-sel-haken .pc-size.is-active, :not(#pc-boost) .pc-sel-haken .pc-tile.is-active { position: relative; overflow: visible; }
:not(#pc-boost) .pc-sel-haken .pc-size.is-active::after, :not(#pc-boost) .pc-sel-haken .pc-tile.is-active::after { content: "✓"; position: absolute; top: -8px; right: -8px; width: 20px; height: 20px; border-radius: 50%; background: var(--pc-accent); color: var(--pc-on-accent); font: 800 11px/20px system-ui, sans-serif; text-align: center; box-shadow: 0 0 0 2px var(--pc-bg); }

/* Kacheln beim Drüberfahren */
:not(#pc-boost) .pc-tile-heben .pc-size:not(.is-active):not(:disabled):hover, :not(#pc-boost) .pc-tile-heben .pc-tile:not(.is-active):hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0,0,0,.12); border-color: var(--pc-ink); }
:not(#pc-boost) .pc-tile-heben .pc-card:hover, :not(#pc-boost) .pc-demo-hover.pc-tile-heben .pc-card:first-child { transform: translateY(-4px); }
:not(#pc-boost) .pc-tile-akzent .pc-size:not(.is-active):not(:disabled):hover, :not(#pc-boost) .pc-tile-akzent .pc-tile:not(.is-active):hover, :not(#pc-boost) .pc-tile-akzent .pc-row:not(.is-active):hover { border-color: var(--pc-accent); box-shadow: inset 0 0 0 1px var(--pc-accent); }

/* Produktbild */
:not(#pc-boost) .pc-gal-zoom .pc-gallery:hover .pc-gallery-img, :not(#pc-boost) .pc-demo-hover.pc-gal-zoom .pc-gallery-img { transform: scale(1.07); }
:not(#pc-boost) .pc-gal-rahmen .pc-gallery { outline: 2px solid var(--pc-accent); outline-offset: -12px; }
:not(#pc-boost) .pc-gal-muster .pc-gallery { background-image: repeating-linear-gradient(135deg, var(--pc-ink-12) 0 2px, transparent 2px 14px); }
:not(#pc-boost) .pc-gal-verlauf .pc-gallery { background-image: radial-gradient(circle at 50% 42%, rgba(255,255,255,.95), rgba(255,255,255,0) 62%); }

/* ---------- Produktraster ---------- */
:not(#pc-boost) .pc-shop { width: 100%; max-width: var(--pc-maxw); margin: 0 auto; container: pcshop / inline-size; background: transparent; }
:not(#pc-boost) .pc-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
:not(#pc-boost) .pc-tab { min-height: 38px; padding: 0 16px; border: 1px solid var(--pc-line); border-radius: 999px; background: var(--pc-field); font-family: var(--pc-head); font-weight: 800; font-size: 14px; text-transform: var(--pc-tt); cursor: pointer; }
:not(#pc-boost) .pc-tab.is-active { background: var(--pc-accent); border-color: var(--pc-accent); color: var(--pc-on-accent); }
:not(#pc-boost) .pc-grid { display: grid; grid-template-columns: repeat(var(--pc-cols, 4), minmax(0, 1fr)); gap: 22px; }
@container pcshop (max-width: 900px) { :not(#pc-boost) .pc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container pcshop (max-width: 640px) { :not(#pc-boost) .pc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
:not(#pc-boost) .pc-card { display: flex; flex-direction: column; gap: 10px; color: var(--pc-ink); text-decoration: none; border-radius: var(--pc-r); }
:not(#pc-boost) .pc-card:hover { color: var(--pc-ink); }
:not(#pc-boost) .pc-card-img { position: relative; aspect-ratio: 1 / 1; border-radius: var(--pc-r); background: var(--pc-surf); display: flex; align-items: center; justify-content: center; overflow: hidden; }
:not(#pc-boost) .pc-card-img img { width: 84%; height: 84%; object-fit: contain; mix-blend-mode: multiply; }
:not(#pc-boost) .pc-card-out { position: absolute; right: 10px; bottom: 10px; padding: 4px 10px; border-radius: 999px; background: var(--pc-field); font-size: 11px; font-weight: 700; }
:not(#pc-boost) .pc-card-info { display: flex; flex-direction: column; gap: 4px; padding: 0 2px; }
:not(#pc-boost) .pc-card-name { font-family: var(--pc-head); font-weight: 800; font-size: 17px; line-height: 1.1; text-transform: var(--pc-tt); }
:not(#pc-boost) .pc-card-price { font-size: 14px; opacity: .8; }
:not(#pc-boost) .pc-card-polaroid .pc-card { padding: 8px 8px 12px; border: var(--pc-bw) solid var(--pc-line); background: var(--pc-bg); }
:not(#pc-boost) .pc-card-polaroid .pc-card-img { border-radius: max(0px, calc(var(--pc-r) - 4px)); }
:not(#pc-boost) .pc-card-klassisch .pc-card { border: var(--pc-bw) solid var(--pc-line); overflow: hidden; gap: 0; }
:not(#pc-boost) .pc-card-klassisch .pc-card-img { border-radius: 0; }
:not(#pc-boost) .pc-card-klassisch .pc-card-info { padding: 12px 14px; background: var(--pc-surf); }
:not(#pc-boost) .pc-card.is-hidden { display: none; }
:not(#pc-boost) .pc-empty { opacity: .6; }
