.oheim-shop__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.oheim-shop__item{border:1px solid rgba(0,0,0,.1);border-radius:10px;padding:12px}
.oheim-shop__thumbnail img,.oheim-shop-product__thumbnail img{width:100%;height:auto;display:block;border-radius:8px}
.oheim-shop__placeholder{width:100%;padding-top:66%;background:rgba(0,0,0,.04);border-radius:8px}
.oheim-shop__title{font-size:1rem;margin:.6rem 0 .4rem}
.oheim-shop__price{opacity:.8;margin-bottom:.6rem}
.oheim-shop__add-to-cart,.oheim-shop-product__add-to-cart{width:100%}

 .oheim-cart__row{display:grid;grid-template-columns:56px auto 1fr 84px auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.oheim-cart__title{min-width:0}
.oheim-cart__quantity{width:84px}
.oheim-cart__remove{font-size:18px;line-height:1;padding:6px 10px}
/* Warenkorb Aktionen: Link und Button optisch konsistent darstellen */
.oheim-cart__actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.oheim-cart__actions .oheim-cart__continue,
.oheim-cart__actions .oheim-cart__clear{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 12px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  background:rgba(0,0,0,.04);
  text-decoration:none;
  cursor:pointer;
}
.oheim-cart__actions .oheim-cart__continue:hover,
.oheim-cart__actions .oheim-cart__clear:hover{
  background:rgba(0,0,0,.06);
}

.oheim-shop__filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 14px}
.oheim-shop__filters label{display:flex;gap:6px;align-items:center}
.oheim-shop__filters select,.oheim-shop__filters input{max-width:220px}

/* Block B: Produktdetail */
.oheim-shop-product__navigation{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px;gap:12px;flex-wrap:wrap}
.oheim-shop-product__pagination{display:flex;gap:10px;align-items:center}
.oheim-shop-product__card{border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:14px}
.oheim-shop-product__top{display:grid;grid-template-columns:minmax(240px,1fr) minmax(280px,1.1fr);gap:18px;align-items:start}
@media (max-width:720px){.oheim-shop-product__top{grid-template-columns:1fr}}

.oheim-shop-product__main-image{width:100%;height:auto;display:block;border-radius:10px}
.oheim-shop-product__thumbnails{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.oheim-shop-product__thumbnails .oheim-shop-product__thumbnail{border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:0;overflow:hidden;background:transparent;cursor:pointer}
.oheim-shop-product__thumbnails .oheim-shop-product__thumbnail img{width:100%;height:auto;display:block}

.oheim-shop-product__main--empty{padding:18px;background:rgba(0,0,0,.04);border-radius:10px}
.oheim-shop-product__title{margin:0 0 10px}
.oheim-shop-product__excerpt{opacity:.9;margin:0 0 12px}
.oheim-shop-product__actions{display:flex;gap:10px;align-items:end;margin-top:14px;flex-wrap:wrap}
.oheim-shop-product__quantity{display:flex;flex-direction:column;gap:6px}
.oheim-shop-product__quantity input{width:110px}

.oheim-shop-product__details{margin-top:16px}

/* Admin: Galerie Metabox */
.oheim-gallery-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:12px;margin-top:8px}
.oheim-gallery-admin-slot{border:1px dashed rgba(0,0,0,.2);border-radius:10px;padding:10px}
.oheim-gallery-admin-thumb img{max-width:100%;height:auto;display:block;border-radius:8px}
.oheim-gallery-admin-empty{opacity:.6}
.oheim-gallery-admin-actions{margin-top:8px;display:flex;gap:10px;align-items:center}

/* Breadcrumbs */
.oheim-shop-product__breadcrumbs{display:flex;gap:8px;align-items:center;font-size:.95rem;opacity:.85}
.oheim-shop-product__breadcrumb-separator{opacity:.6}

/* Product price & meta */
.oheim-shop-product__price-wrap{margin:.6rem 0 1rem}
.oheim-shop-product__price{font-size:1.4rem;font-weight:700;margin-bottom:.2rem}
.oheim-shop-product__tax,.oheim-shop-product__shipping{font-size:.95rem;opacity:.85}
.oheim-shop-product__stock{margin:.8rem 0 1rem;font-weight:600}

/* Product props */
.oheim-shop-product__properties{margin-top:18px;padding-top:14px;border-top:1px solid rgba(0,0,0,.08);display:grid;gap:6px}
.oheim-shop-product__property{font-size:.98rem}

/* Checkout */
.oheim-checkout{border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:14px}
.oheim-checkout__intro{opacity:.85}
.oheim-checkout__field{display:block;margin:12px 0}
.oheim-checkout__label{display:block;margin-bottom:6px;font-weight:600}
.oheim-checkout__field input{width:100%}
.oheim-checkout__field textarea{width:100%;resize:vertical}
.oheim-checkout__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.oheim-checkout__field{margin:0}
.oheim-checkout__field--full{grid-column:1 / -1}
@media (max-width: 640px){.oheim-checkout__grid{grid-template-columns:1fr}}
.oheim-checkout__check{display:flex;gap:10px;align-items:flex-start;margin:10px 0}
.oheim-checkout__next{width:100%;margin-top:10px}

/* Cart icon (in navigation) */
.oheim-cart-icon{display:inline-flex;align-items:center;gap:6px;margin-left:10px;text-decoration:none}
.oheim-cart-icon__count{font-weight:700}

.oheim-cart__thumbnail img{width:56px;height:56px;object-fit:cover;border-radius:8px;display:block}
.oheim-cart__summary{margin-top:14px;padding-top:14px;border-top:1px solid rgba(0,0,0,.08)}
.oheim-cart__totals-line{display:flex;justify-content:space-between;gap:10px;padding:6px 0}
.oheim-cart__totals-total{margin-top:10px;border-top:1px solid rgba(0,0,0,.08);padding-top:6px}
.oheim-cart__continue{text-decoration:none;display:inline-block;margin-right:12px}


/* Produkt: Props unter den Bildern */
.oheim-shop-product__properties--under-media{margin-top:12px; font-size:0.95em;}
.oheim-shop-product__properties--under-media .oheim-shop-product__property{margin:0 0 6px;}

/* Mini-Warenkorb (Checkout): kleine Produktbilder + kompakte Zeilen */
.oheim-cart-mini__row{display:flex; align-items:center; gap:8px;}
.oheim-cart-mini__image{width:32px; height:32px; object-fit:cover; border-radius:4px; flex:0 0 32px;}
.oheim-cart-mini__row strong{margin-left:auto;}
.oheim-cart-mini__row--sub{opacity:.85; font-size:.92em; padding-left:40px;}
.oheim-cart-mini__subtext{display:block;}
.oheim-checkout-review__tax-note{margin-top:10px; opacity:.8; font-size:.9em;}

/* Widerruf Einstieg / Formular */
.oheim-shop__withdrawal-entry{margin:0 0 16px;display:flex;justify-content:flex-end}
.oheim-shop__withdrawal-button,.oheim-withdrawal__submit,.oheim-thanks__withdrawal-button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 12px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  background:rgba(0,0,0,.04);
  text-decoration:none;
  cursor:pointer;
}
.oheim-shop__withdrawal-button:hover,.oheim-withdrawal__submit:hover,.oheim-thanks__withdrawal-button:hover{background:rgba(0,0,0,.06)}
.oheim-withdrawal{border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:14px}
.oheim-withdrawal__field{display:block;margin:12px 0}
.oheim-withdrawal__label{display:block;margin-bottom:6px;font-weight:600}
.oheim-withdrawal__field input[type="text"],.oheim-withdrawal__field input[type="email"],.oheim-withdrawal__field textarea{width:100%;box-sizing:border-box}
.oheim-withdrawal__help{display:block;margin-top:5px;opacity:.8}
.oheim-withdrawal__notice{padding:10px 12px;border-radius:10px;margin:12px 0;background:rgba(0,0,0,.04)}
.oheim-withdrawal__notice--success{border:1px solid rgba(0,0,0,.12)}
.oheim-withdrawal__notice--error{border:1px solid rgba(0,0,0,.18)}


/* A3.1: Produktverfügbarkeit und Bestands-Hinweise */
.oheim-stock-notice,
.oheim-cart__notice,
.oheim-checkout__stock-notice{
  margin:.65rem 0 0;
  padding:.65rem .8rem;
  border-radius:8px;
  background:rgba(0,0,0,.04);
}
.oheim-stock-notice[hidden],
.oheim-cart__notice[hidden],
.oheim-checkout__stock-notice[hidden]{display:none}
.oheim-cart__notice.is-error,
.oheim-checkout__stock-notice.is-error,
.oheim-cart__row.is-unavailable{
  border-color:rgba(120,0,0,.28);
  background:rgba(120,0,0,.035);
}
.oheim-cart__subline--stock{
  margin-top:.35rem;
  font-weight:600;
}
.oheim-cart__line-notice{
  box-sizing:border-box;
  width:100%;
  margin:.45rem 0 .75rem;
  padding:.65rem .8rem;
  border-radius:8px;
  background:rgba(0,0,0,.04);
  font-size:.92em;
  line-height:1.4;
}
.oheim-checkout-progress__link{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.oheim-checkout-progress__link:hover .oheim-checkout-progress__label,
.oheim-checkout-progress__link:focus-visible .oheim-checkout-progress__label{
  text-decoration:underline;
}
.oheim-cart__checkout.is-disabled{
  opacity:.6;
}
.oheim-shop-product__withdrawal-note{margin:.6rem 0;padding:.65rem .8rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:rgba(0,0,0,.035);font-size:.92em;line-height:1.4}
.oheim-checkout-review__withdrawal{margin:.8rem 0;padding:.7rem .85rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:rgba(0,0,0,.035)}
.oheim-checkout-review__withdrawal-title{display:list-item;cursor:pointer;font-weight:700}
.oheim-checkout-review__withdrawal[open] .oheim-checkout-review__withdrawal-title{margin-bottom:.35rem}
.oheim-checkout-review__withdrawal-list{margin:.25rem 0 0;padding-left:1.25rem}
.oheim-checkout-review__withdrawal-list li+li{margin-top:.35rem}
.oheim-checkout-review__withdrawal-products{font-weight:600}
.oheim-withdrawal__order{margin:12px 0;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,.035)}
.oheim-withdrawal__items{margin:16px 0;padding:0;border:0}
.oheim-withdrawal__items legend{font-weight:700;margin-bottom:6px}
.oheim-withdrawal__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:start;margin:10px 0;padding:12px;border:1px solid rgba(0,0,0,.12);border-radius:9px}
.oheim-withdrawal__item.is-excluded{opacity:.78;background:rgba(0,0,0,.035)}
.oheim-withdrawal__item label{margin:0}
.oheim-withdrawal__quantity{display:flex;align-items:center;gap:6px}
.oheim-withdrawal__quantity input{width:5rem}
.oheim-withdrawal__item-detail,.oheim-withdrawal__item-note{grid-column:1/-1;font-size:.92em;line-height:1.4}
.oheim-withdrawal__item-note{opacity:.85}
@media (max-width:640px){.oheim-withdrawal__item{grid-template-columns:1fr}.oheim-withdrawal__quantity,.oheim-withdrawal__item-detail,.oheim-withdrawal__item-note{grid-column:1}}
