/* SaleShuttle – Staffelpreise (Tabelle oder Kacheln) */
.shtl-ptable-wrap { --shtl-primary: #111827; --shtl-text: inherit; --shtl-pt-on: var(--shtl-pt-active, var(--shtl-primary)); margin: 0 0 1em; font-size: .95em; }
/* Im Warenkorb-Formular (oft eine Flex-Zeile, z. B. Bricks) eine eigene, volle Zeile. */
.shtl-ptable-wrap { flex: 0 0 100%; width: 100%; max-width: 100%; box-sizing: border-box; }
.shtl-ptable-title { margin: 0 0 6px; font-weight: 700; }
.shtl-ptable { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid rgba(0, 0, 0, .12); border-radius: var(--shtl-radius, 8px); overflow: hidden; }
.shtl-ptable th, .shtl-ptable td { padding: 7px 12px; text-align: left; border-bottom: 1px solid rgba(0, 0, 0, .08); }
.shtl-ptable thead th { font-size: .82em; text-transform: uppercase; letter-spacing: .04em; opacity: .7; background: rgba(0, 0, 0, .03); }
.shtl-ptable tbody tr:last-child td { border-bottom: 0; }
.shtl-ptable tbody tr { transition: background .15s; }
.shtl-ptable tbody tr.is-active { background: color-mix(in srgb, var(--shtl-pt-on) 14%, transparent); font-weight: 600; }
.shtl-ptable tbody tr.is-active td:first-child { box-shadow: inset 3px 0 0 var(--shtl-pt-on); }
.shtl-ptable-save { color: var(--shtl-accent, #16a34a); font-weight: 600; }
.shtl-ptable-note { margin: 6px 0 0; font-size: .85em; opacity: .7; }

/* Anklickbare Stufen */
.shtl-ptable-wrap.is-click [data-min] { cursor: pointer; }
.shtl-ptable-wrap.is-click tbody tr:hover:not(.is-active) { background: rgba(0, 0, 0, .03); }
.shtl-ptable-wrap.is-click [data-min]:focus-visible { outline: 2px solid var(--shtl-pt-on); outline-offset: -2px; }

/* Kacheln */
.shtl-pblocks { display: grid; grid-template-columns: repeat(auto-fit, minmax(78px, 1fr)); gap: 8px; }
.shtl-pblock {
	display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 8px; text-align: center;
	border: 1px solid rgba(0, 0, 0, .14); border-radius: var(--shtl-radius, 8px); background: rgba(255, 255, 255, .6);
	transition: border-color .15s, box-shadow .15s, background .15s; line-height: 1.25;
}
.shtl-pblock-qty { font-size: .85em; opacity: .75; }
.shtl-pblock-price { font-weight: 700; font-size: 1.05em; }
.shtl-pblock-save { font-size: .8em; font-weight: 700; color: var(--shtl-accent, #16a34a); }
.shtl-ptable-wrap.is-click .shtl-pblock:hover:not(.is-active) { border-color: rgba(0, 0, 0, .3); }
.shtl-pblock.is-active { border-color: var(--shtl-pt-on); box-shadow: 0 0 0 1px var(--shtl-pt-on) inset; background: color-mix(in srgb, var(--shtl-pt-on) 10%, transparent); }

/* Symbole bei rabattierten Stufen */
.shtl-pbadges { display: inline-flex; align-items: flex-end; gap: 1px; color: var(--shtl-pbadge, var(--shtl-pt-on)); vertical-align: middle; }
.shtl-pbadge { display: inline-flex; line-height: 0; transform-origin: 50% 90%; }
.shtl-ptable .shtl-pbadges { margin-left: 6px; }
.shtl-ptable .shtl-pbadge svg { width: calc(1.5em * var(--s, 1)); height: calc(1.5em * var(--s, 1)); }
.shtl-ptable-wrap.is-blocks.has-badges .shtl-pblocks { padding-top: 1em; }
.shtl-pblock { position: relative; }
.shtl-pblock .shtl-pbadges { position: absolute; top: 0; left: 50%; transform: translate(-50%, -62%); }
.shtl-pblock .shtl-pbadge svg { width: calc(1.5em * var(--s, 1)); height: calc(1.5em * var(--s, 1)); filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .18)); }
.shtl-ptable-wrap.is-blocks.is-badge-size .shtl-pblocks { padding-top: 1.95em; }
.shtl-ptable-wrap.is-blocks.is-badge-size .shtl-pblock .shtl-pbadges { transform: translate(-50%, -72%); }
.shtl-ptable-wrap.is-anim .shtl-pbadge { animation: shtl-flick 1.8s ease-in-out infinite; animation-delay: calc(var(--i, 0) * -.45s); }
@keyframes shtl-flick {
	0%, 100% { transform: rotate(-5deg) scale(1); }
	30% { transform: rotate(4deg) scale(1.07, .95); }
	60% { transform: rotate(-2deg) scale(.96, 1.06); }
}
@media (prefers-reduced-motion: reduce) { .shtl-ptable-wrap.is-anim .shtl-pbadge { animation: none; } }

/* Summe zur gewählten Menge */
.shtl-ptable-sum { margin: 8px 0 0; font-weight: 600; }
.shtl-ptable-sum:empty { display: none; }
.shtl-ptable-ys { color: var(--shtl-accent, #16a34a); }

/* Backend-Vorschau */
.shtl-pv-product { display: grid; gap: 2px; margin-bottom: 10px; }
.shtl-pv-q { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.shtl-pv-qty { width: 80px; }
.shtl-pv-total { margin: 8px 0 0; font-weight: 600; }

/* Variantenprodukt ohne gewählte Variante: Staffeln ausblenden */
.shtl-ptable-wrap.is-novar{display:none}

/* Hinweis auf den besten Staffelpreis unter dem Preis */
.shtl-price-hint{display:block;margin:.2em 0 0;padding:0;border:0;background:none;box-shadow:none;color:inherit;font:inherit;font-size:.8em;font-weight:500;line-height:1.35;text-align:inherit;text-transform:none;opacity:.85}
button.shtl-price-hint{cursor:pointer;text-decoration:underline dotted;text-underline-offset:.2em}
button.shtl-price-hint:hover{opacity:1}
.shtl-price-hint[hidden]{display:none}
