/* =========================================================
   ONE51 – Shop-Stylesheet
   Funktioniert mit WordPress + Storefront + WooCommerce
   und mit der HTML-Vorschau (gleiche Klassennamen).
   ========================================================= */

/* ---------- Tokens: Tag ---------- */
:root {
  --one51-blue: #76c0e1;
  --on-blue: #16293a;
  --surface: #fff8ee;
  --surface-raised: #ffffff;
  --surface-tint: #ddf0f9;
  --ink: #16293a;
  --ink-muted: #4a5f70;
  --link: #2b6a8c;
  --line: #173b52;
  --line-soft: #cfe3ee;
  --pink: #ff8fab;
  --sun: #ffd25e;
  --lcd-0: #ddf0f9;
  --lcd-1: #76c0e1;
  --lcd-2: #3a80a6;
  --lcd-3: #173b52;
  --success: #2a7552;
  --danger: #b8440f;
  --focus-ring: #173b52;
  --shadow-pixel: 4px 4px 0 0 #173b52;
  --shadow-pixel-sm: 2px 2px 0 0 #173b52;

  --font-pixel: "Pixelify Sans", "Courier New", monospace;
  --font-arcade: "Press Start 2P", "Courier New", monospace;
  --font-body: "Nunito", ui-rounded, system-ui, sans-serif;

  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-6: 24px; --space-8: 32px; --space-12: 48px;
  --border-pixel: 3px;
  --wrap: 1180px;
}

/* ---------- Tokens: Nacht ---------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --surface: #0f1e29; --surface-raised: #16293a; --surface-tint: #1c3f55;
    --ink: #f2f8fc; --ink-muted: #a7c0d0; --link: #9bd3ec;
    --line: #76c0e1; --line-soft: #2a4d63; --pink: #ff9eb7;
    --success: #6bcb9b; --danger: #ff9a5c; --focus-ring: #ffd25e;
    --shadow-pixel: 4px 4px 0 0 #050c12; --shadow-pixel-sm: 2px 2px 0 0 #050c12;
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --surface: #0f1e29; --surface-raised: #16293a; --surface-tint: #1c3f55;
  --ink: #f2f8fc; --ink-muted: #a7c0d0; --link: #9bd3ec;
  --line: #76c0e1; --line-soft: #2a4d63; --pink: #ff9eb7;
  --success: #6bcb9b; --danger: #ff9a5c; --focus-ring: #ffd25e;
  --shadow-pixel: 4px 4px 0 0 #050c12; --shadow-pixel-sm: 2px 2px 0 0 #050c12;
}

/* ---------- Grundlagen ---------- */
html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--surface);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 24px;
  margin: 0;
}
a { color: var(--link); text-underline-offset: 3px; }
a:hover { color: var(--ink); }
:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
h1, h2, h3, h4,
.o51-display, .product_title, .woocommerce-products-header__title, .entry-title, .page-title {
  font-family: var(--font-pixel);
  color: var(--ink);
  text-wrap: balance;
  letter-spacing: 0;
  font-weight: 600;
}
h1, .page-title, .woocommerce-products-header__title, .entry-title { font-size: 36px; line-height: 42px; }
h2 { font-size: 24px; line-height: 30px; }
h3 { font-size: 20px; line-height: 24px; }
p { max-width: 68ch; }
img { max-width: 100%; height: auto; }
.o51-pixelated, .custom-logo, .o51-logo img { image-rendering: pixelated; }

.o51-wrap, .col-full { max-width: var(--wrap); margin-inline: auto; padding-inline: var(--space-4); box-sizing: border-box; }
@media (min-width: 768px) { .o51-wrap, .col-full { padding-inline: var(--space-8); } }

.screen-reader-text, .o51-sr {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(1px,1px,1px,1px); white-space: nowrap;
}

/* Pixel-Helfer */
.px-corners { clip-path: polygon(0 4px,4px 4px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px)); }
.px-frame { border: var(--border-pixel) solid var(--line); box-shadow: var(--shadow-pixel); border-radius: 0; }

/* ---------- Buttons (ONE51 + WooCommerce) ---------- */
.o51-btn,
.button, button.button, a.button, input.button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit,
.wp-block-button__link, .wp-element-button,
input[type="submit"], button[type="submit"] {
  font-family: var(--font-arcade) !important;
  font-size: 10px !important;
  line-height: 16px !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 400 !important;
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  background: var(--surface-raised);
  color: var(--ink);
  border: var(--border-pixel) solid var(--line) !important;
  border-radius: 0 !important;
  box-shadow: var(--shadow-pixel);
  text-decoration: none;
  cursor: pointer;
  text-shadow: none;
  transition: transform 60ms steps(1), box-shadow 60ms steps(1), background-color 60ms steps(1);
}
.o51-btn:hover, .button:hover, .wp-block-button__link:hover,
input[type="submit"]:hover, button[type="submit"]:hover { background: var(--surface-tint); color: var(--ink); }
.o51-btn:active, .button:active, .wp-block-button__link:active,
input[type="submit"]:active, button[type="submit"]:active {
  transform: translate(2px,2px); box-shadow: var(--shadow-pixel-sm);
}
/* Primär = Markenblau */
.o51-btn--primary,
.button.alt, .woocommerce a.button.alt, .woocommerce button.button.alt,
.add_to_cart_button, .single_add_to_cart_button, .checkout-button, #place_order,
.woocommerce-mini-cart__buttons .checkout {
  background: var(--one51-blue) !important;
  color: var(--on-blue) !important;
}
.o51-btn--primary:hover, .button.alt:hover, .add_to_cart_button:hover,
.single_add_to_cart_button:hover, .checkout-button:hover, #place_order:hover {
  background: #8fcde8 !important; color: var(--on-blue) !important;
}
.o51-btn--heart { background: var(--pink); color: var(--on-blue); }
.o51-btn--heart:hover { background: #ffa6bd; color: var(--on-blue); }
.o51-btn--lg { padding: var(--space-4) var(--space-6); font-size: 12px !important; }
.o51-btn[disabled], .button.disabled, .button:disabled, .single_add_to_cart_button.disabled {
  opacity: .5; cursor: not-allowed; transform: none;
}
.added_to_cart { font-weight: 800; margin-left: var(--space-2); }

/* ---------- Badges ---------- */
.o51-badge, .onsale, .woocommerce span.onsale {
  font-family: var(--font-arcade);
  font-size: 8px; line-height: 12px; letter-spacing: .04em; text-transform: uppercase;
  display: inline-block;
  padding: var(--space-1) var(--space-2);
  border: 2px solid var(--line);
  border-radius: 0;
  box-shadow: var(--shadow-pixel-sm);
  color: var(--on-blue);
  background: var(--one51-blue);
  min-height: 0; min-width: 0; font-weight: 400;
}
.o51-badge--new { background: var(--sun); }
.o51-badge--handmade { background: var(--pink); }
.o51-badge--soldout { background: var(--surface-raised); color: var(--danger); border-color: var(--danger); }
.onsale, .woocommerce span.onsale { background: var(--sun); color: var(--on-blue); }

/* ---------- RPG-Textbox ---------- */
.o51-textbox {
  position: relative;
  background: var(--surface-raised);
  color: var(--ink);
  border: var(--border-pixel) solid var(--line);
  box-shadow: var(--shadow-pixel), inset 0 0 0 3px var(--surface-raised), inset 0 0 0 5px var(--one51-blue);
  padding: var(--space-6) var(--space-6) var(--space-6);
  font-size: 16px; line-height: 24px;
  margin-top: 14px;
}
.o51-textbox p { margin: 0; }
.o51-textbox p + p { margin-top: var(--space-2); }
.o51-textbox__speaker {
  position: absolute; top: -14px; left: var(--space-4);
  font-family: var(--font-arcade); font-size: 10px; line-height: 16px;
  background: var(--one51-blue); color: var(--on-blue);
  border: 2px solid var(--line); padding: 2px var(--space-2); text-transform: uppercase;
}
.o51-textbox__more {
  position: absolute; right: var(--space-4); bottom: var(--space-2);
  font-size: 12px; color: var(--ink);
  animation: o51-blink 1s steps(2, jump-none) infinite;
}
@keyframes o51-blink { 0% { opacity: 1 } 100% { opacity: 0 } }

/* ---------- Ankündigungsleiste ---------- */
.o51-announce {
  background: var(--lcd-3); color: var(--lcd-0);
  font-size: 13px; line-height: 18px; font-weight: 700;
  text-align: center; padding: var(--space-2) var(--space-4);
}
.o51-announce strong { color: var(--sun); font-weight: 800; }

/* ---------- Header (Storefront + Vorschau) ---------- */
.site-header {
  background: var(--one51-blue) !important;
  color: var(--on-blue);
  border-bottom: var(--border-pixel) solid var(--lcd-3);
  padding-top: var(--space-4) !important;
  padding-bottom: 0 !important;
  margin-bottom: var(--space-8) !important;
}
.site-header a { color: var(--on-blue); }
.site-branding .site-title, .site-branding .site-title a { font-family: var(--font-pixel); color: var(--on-blue); }
.site-branding .site-description { color: var(--on-blue); font-weight: 700; }
.site-header .custom-logo-link img, .o51-logo svg { width: 204px; max-width: 100%; height: auto; image-rendering: pixelated; }

/* Hauptnavigation */
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a,
.o51-nav a {
  font-family: var(--font-arcade); font-size: 10px; line-height: 16px;
  letter-spacing: .04em; text-transform: uppercase;
  color: var(--on-blue) !important; text-decoration: none;
  padding: var(--space-3) var(--space-3);
}
.main-navigation ul.menu > li > a:hover,
.main-navigation ul.menu > li.current-menu-item > a,
.o51-nav a:hover, .o51-nav a[aria-current="page"] {
  background: var(--lcd-0); color: var(--on-blue) !important;
}
.main-navigation ul ul, .main-navigation ul.menu ul.sub-menu {
  background: var(--surface-raised) !important;
  border: var(--border-pixel) solid var(--line); box-shadow: var(--shadow-pixel);
}
.main-navigation ul ul a { color: var(--ink) !important; font-family: var(--font-body); font-weight: 700; }
.menu-toggle, button.menu-toggle {
  background: var(--surface-raised) !important; color: var(--ink) !important;
}

/* Warenkorb im Header = Inventar */
.site-header-cart .cart-contents, .o51-cartlink {
  font-family: var(--font-arcade); font-size: 10px; color: var(--on-blue) !important;
  display: inline-flex; align-items: center; gap: var(--space-2); text-decoration: none;
}
.site-header-cart .cart-contents .count, .o51-count {
  font-family: var(--font-arcade); font-size: 8px; line-height: 12px;
  background: var(--pink); color: var(--on-blue);
  border: 2px solid var(--lcd-3); padding: 2px 5px; border-radius: 0; opacity: 1;
}
.site-header-cart .widget_shopping_cart {
  background: var(--surface-raised) !important; border: var(--border-pixel) solid var(--line);
  box-shadow: var(--shadow-pixel); color: var(--ink);
}

/* Suche */
.site-search .widget_product_search input[type="search"],
.o51-search input {
  font-family: var(--font-body); font-size: 15px;
  background: var(--surface-raised); color: var(--ink);
  border: var(--border-pixel) solid var(--lcd-3); border-radius: 0; box-shadow: none;
  padding: var(--space-2) var(--space-3);
}

/* ---------- Formulare ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
input[type="password"], input[type="search"], input[type="url"], textarea, select,
.input-text, .select2-container .select2-selection {
  font-family: var(--font-body); font-size: 16px; color: var(--ink);
  background: var(--surface-raised) !important;
  border: var(--border-pixel) solid var(--line) !important;
  border-radius: 0 !important; box-shadow: none !important;
  padding: var(--space-2) var(--space-3);
}
input:focus, textarea:focus, select:focus { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
label { font-weight: 800; }
.quantity .qty { width: 4.5em; text-align: center; font-family: var(--font-arcade); font-size: 12px; }

/* ---------- Breadcrumb ---------- */
.storefront-breadcrumb { margin: 0 0 var(--space-6); padding: 0; }
.woocommerce-breadcrumb, .o51-crumbs {
  font-size: 13px; line-height: 18px; font-weight: 600; color: var(--ink-muted);
  padding: 0; margin: 0 0 var(--space-6);
}
.woocommerce-breadcrumb a, .o51-crumbs a { color: var(--link); }

/* ---------- Produktraster ---------- */
ul.products {
  list-style: none; margin: 0 0 var(--space-12); padding: 0;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--space-8) var(--space-6);
}
ul.products::before, ul.products::after { display: none !important; }
ul.products li.product {
  width: auto !important; float: none !important; margin: 0 !important;
  position: relative;
  background: var(--surface-raised);
  border: var(--border-pixel) solid var(--line);
  box-shadow: var(--shadow-pixel);
  color: var(--ink);
  display: flex; flex-direction: column;
  text-align: left !important;
  padding: 0 0 var(--space-4);
}
ul.products li.product a.woocommerce-LoopProduct-link {
  color: inherit; text-decoration: none; display: flex; flex-direction: column; flex: 1;
}
/* Produktbühne: Blau mit Pixelraster */
ul.products li.product img,
ul.products li.product .o51-stage {
  width: 100% !important; aspect-ratio: 1 / 1; object-fit: cover;
  margin: 0 0 var(--space-4) !important;
  background-color: var(--one51-blue);
  background-image: radial-gradient(var(--lcd-0) 1.5px, transparent 1.5px);
  background-size: 16px 16px;
  border-bottom: var(--border-pixel) solid var(--line);
  display: block; box-shadow: none;
}
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2, ul.products li.product h3 {
  font-family: var(--font-pixel) !important; font-weight: 600;
  font-size: 20px !important; line-height: 24px;
  padding: 0 var(--space-4) !important; margin: 0 0 var(--space-1) !important;
  color: var(--ink);
}
ul.products li.product .o51-meta {
  font-size: 13px; line-height: 18px; font-weight: 600; color: var(--ink-muted);
  padding: 0 var(--space-4); margin: 0 0 var(--space-3);
}
ul.products li.product .price {
  font-family: var(--font-arcade); font-size: 14px; line-height: 20px;
  color: var(--ink) !important; font-weight: 400 !important;
  padding: 0 var(--space-4); margin: auto 0 var(--space-4) !important; display: block;
}
ul.products li.product .button {
  margin: 0 var(--space-4) !important; align-self: flex-start;
  padding: var(--space-2) var(--space-3);
}
ul.products li.product .onsale,
ul.products li.product .o51-badges {
  position: absolute; top: var(--space-2); left: var(--space-2); z-index: 2; margin: 0;
}
.o51-badges { display: flex; gap: var(--space-1); flex-wrap: wrap; }
ul.products li.product.outofstock .o51-stage,
ul.products li.product.outofstock img { filter: saturate(.35); }

/* Preise */
.price del, .price del .amount { opacity: .6; color: var(--ink-muted) !important; font-size: .85em; }
.price ins { text-decoration: none; background: var(--sun); color: var(--on-blue) !important; padding: 0 4px; font-weight: 400; }

/* Herzchen-Button auf Karten */
.o51-fav {
  position: absolute; top: var(--space-2); right: var(--space-2); z-index: 2;
  width: 36px; height: 36px; padding: 0;
  display: grid; place-items: center;
  background: var(--surface-raised); border: 2px solid var(--line); cursor: pointer;
}
.o51-fav svg { width: 18px; height: 16px; }
.o51-fav[aria-pressed="true"] path { fill: var(--pink); stroke: none; }

/* ---------- Einzelprodukt ---------- */
.single-product div.product { display: grid; gap: var(--space-8); }
@media (min-width: 900px) {
  .single-product div.product { grid-template-columns: 1fr 1fr; align-items: start; }
  .single-product div.product .woocommerce-tabs,
  .single-product div.product .related,
  .single-product div.product .upsells { grid-column: 1 / -1; }
}
.single-product div.product .images,
.single-product div.product .summary { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce-product-gallery__wrapper, .o51-gallery-main {
  background-color: var(--one51-blue);
  background-image: radial-gradient(var(--lcd-0) 1.5px, transparent 1.5px);
  background-size: 16px 16px;
  border: var(--border-pixel) solid var(--line); box-shadow: var(--shadow-pixel);
}
.flex-control-thumbs li img, .o51-thumbs button {
  border: 2px solid var(--line-soft); opacity: 1 !important;
}
.flex-control-thumbs li img.flex-active, .o51-thumbs button[aria-current="true"] { border-color: var(--line); }
.product_title { font-size: 36px !important; line-height: 42px !important; margin: 0 0 var(--space-3); }
.summary .price, .o51-summary .price {
  font-family: var(--font-arcade); font-size: 20px !important; line-height: 28px;
  color: var(--ink) !important; margin: 0 0 var(--space-1);
}
.o51-tax, .wc-gzd-additional-info, .legal-price-info, .shipping-costs-info {
  font-size: 13px; line-height: 18px; font-weight: 600; color: var(--ink-muted);
}
.stock { font-weight: 800; font-size: 14px; }
.stock.in-stock { color: var(--success) !important; }
.stock.out-of-stock { color: var(--danger) !important; }
.stock::before { content: "■ "; }
form.cart, .o51-cartform { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: stretch; margin: var(--space-6) 0; }
form.cart .quantity { margin: 0 !important; }
form.cart .quantity .qty { height: 100%; }
.product_meta { font-size: 13px; color: var(--ink-muted); border-top: 1px solid var(--line-soft); padding-top: var(--space-3); }

/* Tabs */
.woocommerce-tabs ul.tabs, .o51-tabs [role="tablist"] {
  list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-2);
  padding: 0 !important; margin: 0 0 var(--space-4) !important; border: 0 !important;
}
.woocommerce-tabs ul.tabs li { border: 0 !important; margin: 0 !important; padding: 0 !important; background: none !important; }
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li a, .o51-tabs [role="tab"] {
  font-family: var(--font-arcade); font-size: 10px; line-height: 16px; text-transform: uppercase;
  display: block; padding: var(--space-3) var(--space-4) !important;
  background: var(--surface-raised); color: var(--ink) !important;
  border: var(--border-pixel) solid var(--line); text-decoration: none; cursor: pointer;
}
.woocommerce-tabs ul.tabs li.active a, .o51-tabs [role="tab"][aria-selected="true"] {
  background: var(--one51-blue); color: var(--on-blue) !important;
}
.woocommerce-tabs .panel, .o51-tabs [role="tabpanel"] {
  background: var(--surface-raised); border: var(--border-pixel) solid var(--line);
  padding: var(--space-6); margin: 0 !important;
}
.woocommerce-tabs .panel h2:first-child { display: none; }

/* ---------- Hinweise ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, .o51-notice {
  list-style: none;
  background: var(--surface-raised) !important; color: var(--ink) !important;
  border: var(--border-pixel) solid var(--line) !important; border-left-width: 12px !important;
  box-shadow: var(--shadow-pixel); border-radius: 0;
  padding: var(--space-4) var(--space-6) !important; margin: 0 0 var(--space-8) !important;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3);
  font-weight: 700;
}
.woocommerce-message { border-left-color: var(--success) !important; }
.woocommerce-info { border-left-color: var(--one51-blue) !important; }
.woocommerce-error { border-left-color: var(--danger) !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button) { color: var(--link) !important; }
.woocommerce-message .button { order: 2; }

/* ---------- Warenkorb (Inventar) ---------- */
table.shop_table, .o51-table {
  width: 100%; border-collapse: collapse;
  background: var(--surface-raised);
  border: var(--border-pixel) solid var(--line) !important; box-shadow: var(--shadow-pixel);
  border-radius: 0 !important;
}
table.shop_table th, .o51-table th {
  font-family: var(--font-arcade); font-size: 9px; line-height: 14px; text-transform: uppercase; font-weight: 400;
  background: var(--surface-tint); color: var(--ink); text-align: left;
  padding: var(--space-3) var(--space-4);
  border-bottom: var(--border-pixel) solid var(--line);
}
table.shop_table td, .o51-table td {
  padding: var(--space-4); border-bottom: 1px solid var(--line-soft);
  background: transparent !important; vertical-align: middle;
}
table.shop_table td.product-name a, .o51-table .o51-pname { font-family: var(--font-pixel); font-size: 18px; font-weight: 600; color: var(--ink); text-decoration: none; }
table.shop_table .amount, .o51-table .o51-num { font-family: var(--font-arcade); font-size: 12px; font-variant-numeric: tabular-nums; }
table.shop_table td.product-thumbnail img, .o51-thumb {
  width: 64px !important; height: 64px; background: var(--one51-blue); border: 2px solid var(--line); object-fit: cover;
}
a.remove, .o51-remove {
  display: inline-grid; place-items: center; width: 28px; height: 28px;
  border: 2px solid var(--danger); color: var(--danger) !important; background: var(--surface-raised);
  border-radius: 0 !important; font-weight: 800; text-decoration: none; cursor: pointer; padding: 0; font-size: 16px;
}
a.remove:hover, .o51-remove:hover { background: var(--danger) !important; color: var(--surface-raised) !important; }
.cart-collaterals .cart_totals, .o51-totals {
  background: var(--surface-raised); border: var(--border-pixel) solid var(--line); box-shadow: var(--shadow-pixel);
  padding: var(--space-6);
}
.cart_totals h2, .o51-totals h2 { margin-top: 0; }
.cart_totals table.shop_table { box-shadow: none; border: 0 !important; }
.wc-proceed-to-checkout .checkout-button { width: 100%; font-size: 12px !important; padding: var(--space-4) !important; }

/* Kasse */
#payment { background: var(--surface-tint) !important; border: var(--border-pixel) solid var(--line); border-radius: 0 !important; }
#payment div.payment_box { background: var(--surface-raised) !important; color: var(--ink) !important; border-radius: 0; }
#payment div.payment_box::before { display: none; }
#place_order { width: 100%; font-size: 12px !important; padding: var(--space-4) !important; }

/* Pagination */
.woocommerce-pagination .page-numbers li .page-numbers {
  font-family: var(--font-arcade); font-size: 10px; border: 2px solid var(--line); background: var(--surface-raised); color: var(--ink);
}
.woocommerce-pagination .page-numbers li .page-numbers.current { background: var(--one51-blue); color: var(--on-blue); }

/* Sortierung / Ergebniszahl */
.woocommerce-result-count { font-size: 13px; font-weight: 600; color: var(--ink-muted); }
.woocommerce-ordering select { font-weight: 700; }

/* Filter-Chips (einziger runder Baustein) */
.o51-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); list-style: none; padding: 0; margin: 0; }
.o51-chip, .product-categories li a {
  display: inline-block; font-weight: 800; font-size: 14px; line-height: 20px;
  padding: 6px var(--space-4); border-radius: 9999px;
  border: 2px solid var(--line); background: var(--surface-raised); color: var(--ink);
  text-decoration: none; cursor: pointer; font-family: var(--font-body);
}
.o51-chip:hover { background: var(--surface-tint); }
.o51-chip[aria-pressed="true"] { background: var(--one51-blue); color: var(--on-blue); }

/* ---------- Footer ---------- */
.site-footer, .o51-footer {
  background: var(--lcd-3) !important; color: var(--lcd-0) !important;
  border-top: var(--border-pixel) solid var(--line);
  padding-block: var(--space-12) var(--space-8) !important;
  margin-top: var(--space-12);
}
.site-footer a, .o51-footer a { color: var(--lcd-0) !important; }
.site-footer a:hover, .o51-footer a:hover { color: var(--sun) !important; }
.site-footer h2, .site-footer h3, .site-footer .widget-title, .o51-footer h3 {
  font-family: var(--font-arcade); font-size: 10px; line-height: 16px; text-transform: uppercase;
  color: var(--one51-blue) !important; letter-spacing: .04em; border: 0;
}
.site-info { font-size: 13px; color: var(--lcd-0); }
.storefront-handheld-footer-bar { background: var(--one51-blue) !important; border-top: var(--border-pixel) solid var(--lcd-3); }
.storefront-handheld-footer-bar ul li > a { background: var(--one51-blue) !important; color: var(--on-blue) !important; }
.storefront-handheld-footer-bar ul li.cart .count { background: var(--pink); color: var(--on-blue); border: 2px solid var(--lcd-3); border-radius: 0; }

/* ---------- Bewegung reduzieren ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
