/* Occasionen: Hover-Vorschau und Mehrbild-Galerie */
.occasion-gallery-link { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; border-radius: inherit; background: #fff; }
.occasion-gallery-link > img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.moto-photos .occasion-gallery-link { width: 112px; height: auto; aspect-ratio: 4 / 3; border: 1px solid #d7e0ec; border-radius: 8px; }
.occasion-photo-count { position: absolute; right: 5px; bottom: 5px; padding: 2px 6px; border-radius: 999px; background: rgba(15,23,42,.78); color: #fff; font-size: .72rem; line-height: 1.4; }
.occasion-image-preview { position: fixed; z-index: 5000; display: none; width: min(640px, calc(100vw - 32px), calc((100vh - 32px) * 4 / 3)); aspect-ratio: 4 / 3; overflow: hidden; pointer-events: none; background: rgba(242,242,242,.88); border: 1px solid rgba(185,185,185,.7); border-radius: 10px; box-shadow: 0 18px 48px rgba(30,30,30,.16); }
.occasion-image-preview.is-visible { display: block; }
.occasion-image-preview img { width: 100%; height: 100%; object-fit: contain; }
.occasion-lightbox { position: fixed; inset: 0; z-index: 5200; display: none; align-items: center; justify-content: center; padding: 24px 70px; background: rgba(40,40,40,.86); }
.occasion-lightbox.is-open { display: flex; }
.occasion-lightbox figure { max-width: min(1600px, calc(100vw - 160px)); max-height: calc(100vh - 48px); margin: 0; }
.occasion-lightbox figure img { display: block; max-width: 100%; max-height: calc(100vh - 88px); margin: auto; object-fit: contain; border: 1px solid rgba(185,185,185,.7); border-radius: 10px; background: rgba(242,242,242,.94); box-shadow: 0 18px 48px rgba(0,0,0,.32); }
.occasion-lightbox-counter { padding-top: 8px; color: #fff; text-align: center; }
.occasion-lightbox button { position: absolute; border: 0; border-radius: 999px; background: rgba(255,255,255,.9); color: #172033; cursor: pointer; }
.occasion-lightbox-close { top: 18px; right: 18px; width: 44px; height: 44px; font-size: 1.8rem; }
.occasion-lightbox-prev,.occasion-lightbox-next { top: 50%; width: 48px; height: 48px; transform: translateY(-50%); font-size: 2rem; }
.occasion-lightbox-prev { left: 14px; } .occasion-lightbox-next { right: 14px; }
.occasion-lightbox button:hover,.occasion-lightbox button:focus-visible { background: #fff; outline: 3px solid #7da7e8; }
@media (max-width:700px) { .occasion-lightbox { padding: 64px 12px 72px; } .occasion-lightbox figure { max-width: 100%; } .occasion-lightbox-prev,.occasion-lightbox-next { top: auto; bottom: 14px; transform: none; } .occasion-lightbox-prev { left: calc(50% - 60px); } .occasion-lightbox-next { right: calc(50% - 60px); } }

/* Kompakte Occasion-Produktdetails */
.occasion-product-details { margin-top: .55rem; border-top: 1px solid #e3e9f2; }
.occasion-product-details > summary { display: inline-flex; align-items: center; gap: .42rem; margin-top: .55rem; padding: .38rem .65rem; border: 1px solid #cfd8eb; border-radius: 8px; background: #fff; color: #0044cc; cursor: pointer; font-size: .88rem; font-weight: 700; list-style: none; }
.occasion-product-details > summary::-webkit-details-marker { display: none; }
.occasion-product-details > summary::before { content: "▸"; transition: transform .15s ease; }
.occasion-product-details[open] > summary::before { transform: rotate(90deg); }
.occasion-product-details > summary:hover, .occasion-product-details > summary:focus-visible { background: #f4f7ff; outline: none; }
.occasion-product-details-body { margin-top: .75rem; }
.occasion-product-details .catalog-table { margin-top: 0; font-size: .9rem; }
.occasion-product-details .catalog-table th { width: 28%; white-space: normal; }
@media (max-width: 620px) { .occasion-product-details .catalog-table, .occasion-product-details .catalog-table tbody, .occasion-product-details .catalog-table tr, .occasion-product-details .catalog-table th, .occasion-product-details .catalog-table td { display: block; width: 100%; } .occasion-product-details .catalog-table th { border-bottom: 0; } }

/* v3.8: echte 3-Spalten-Karte mit funktionierendem Vollbreiten-Detailbereich */
#occasion-intel-r1208gz-dual-xeon {
  position: relative;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) 9.5rem;
  grid-template-areas:
    "image content actions"
    "details details details";
  align-items: center;
  column-gap: 1rem;
}
#occasion-intel-r1208gz-dual-xeon .catalog-product-media {
  grid-area: image;
  align-self: center;
}
#occasion-intel-r1208gz-dual-xeon .occasion-product-content {
  grid-area: content;
  align-self: center;
  min-width: 0;
  width: 100%;
  max-width: none;
}
#occasion-intel-r1208gz-dual-xeon .catalog-product-number { margin: 0 0 .25rem; }
#occasion-intel-r1208gz-dual-xeon .catalog-product-head { display: block; margin-bottom: .2rem; }
#occasion-intel-r1208gz-dual-xeon .catalog-product-title,
#occasion-intel-r1208gz-dual-xeon .catalog-product-description {
  width: 100%;
  max-width: none;
}
#occasion-intel-r1208gz-dual-xeon .catalog-product-description {
  margin: 0;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}
#occasion-intel-r1208gz-dual-xeon .occasion-product-actions {
  grid-area: actions;
  align-self: center;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  min-width: 0;
}
#occasion-intel-r1208gz-dual-xeon .occasion-product-actions .catalog-product-price {
  margin: 0 0 2.8rem;
  text-align: right;
  white-space: nowrap;
}
#occasion-intel-r1208gz-dual-xeon > .occasion-product-details {
  grid-area: details;
  min-width: 0;
  width: 100%;
  margin: 0;
  border-top: 0;
}
#occasion-intel-r1208gz-dual-xeon > .occasion-product-details > summary {
  position: absolute;
  right: .75rem;
  top: 50%;
  transform: translateY(.15rem);
  margin: 0;
  white-space: nowrap;
}
#occasion-intel-r1208gz-dual-xeon > .occasion-product-details[open] {
  margin-top: .85rem;
  padding-top: .85rem;
  border-top: 1px solid #e3e9f2;
}
#occasion-intel-r1208gz-dual-xeon > .occasion-product-details .occasion-product-details-body {
  position: static;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
@media (max-width: 760px) {
  #occasion-intel-r1208gz-dual-xeon {
    grid-template-columns: 82px minmax(0, 1fr) 8.5rem;
    column-gap: .75rem;
  }
  #occasion-intel-r1208gz-dual-xeon .catalog-product-media { width: 82px; }
}
@media (max-width: 620px) {
  #occasion-intel-r1208gz-dual-xeon {
    grid-template-columns: 82px minmax(0, 1fr);
    grid-template-areas:
      "image content"
      "image actions"
      "details details";
    align-items: start;
  }
  #occasion-intel-r1208gz-dual-xeon .occasion-product-actions {
    align-items: flex-end;
    margin-top: .45rem;
  }
  #occasion-intel-r1208gz-dual-xeon .occasion-product-actions .catalog-product-price { margin: 0 0 2.75rem; }
  #occasion-intel-r1208gz-dual-xeon > .occasion-product-details > summary { top: auto; bottom: .75rem; }
}
@media (max-width: 420px) {
  #occasion-intel-r1208gz-dual-xeon {
    grid-template-columns: 1fr;
    grid-template-areas: "image" "content" "actions" "details";
  }
  #occasion-intel-r1208gz-dual-xeon .catalog-product-media {
    width: 100%;
    max-width: 220px;
    margin-bottom: .65rem;
  }
  #occasion-intel-r1208gz-dual-xeon .occasion-product-actions .catalog-product-price { margin: 0 0 2.75rem; }
}

/* v3.9: Details-Schalter bleibt beim Oeffnen fest unter dem Preis */
#occasion-intel-r1208gz-dual-xeon > .occasion-product-details > summary,
#occasion-intel-r1208gz-dual-xeon > .occasion-product-details[open] > summary {
  top: 3.25rem;
  bottom: auto;
  transform: none;
}

@media (max-width: 760px) {
  #occasion-intel-r1208gz-dual-xeon > .occasion-product-details > summary,
  #occasion-intel-r1208gz-dual-xeon > .occasion-product-details[open] > summary {
    top: 3.25rem;
    bottom: auto;
    transform: none;
  }
}

@media (max-width: 620px) {
  #occasion-intel-r1208gz-dual-xeon > .occasion-product-details > summary,
  #occasion-intel-r1208gz-dual-xeon > .occasion-product-details[open] > summary {
    top: auto;
    right: .75rem;
    bottom: .75rem;
  }
  #occasion-intel-r1208gz-dual-xeon > .occasion-product-details[open] > summary {
    top: 3.25rem;
    bottom: auto;
  }
}

@media (max-width: 420px) {
  #occasion-intel-r1208gz-dual-xeon > .occasion-product-details > summary,
  #occasion-intel-r1208gz-dual-xeon > .occasion-product-details[open] > summary {
    position: static;
    float: right;
    margin: .45rem 0 .75rem auto;
  }
}


/* Entwurf: Motorradteile als kompakte 3-Spalten-Produktkarten */
.moto-family-intro { margin: .85rem .75rem 1rem; padding-bottom: .85rem; border-bottom: 1px solid #e3e9f2; }
.moto-family-intro h2 { margin: 0 0 .35rem; font-size: 1.25rem; }
.moto-family-intro p { margin: 0; color: #526174; }
.moto-card-group { margin: 0 .75rem 1.15rem; }
.moto-card-group > h3 { margin: 0 0 .2rem; font-size: 1.08rem; color: #173a57; }
.moto-card-group > .family-meta { margin: 0 0 .65rem; color: #526174; }
.moto-product-grid { gap: .65rem; }
.moto-product-card {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) 10.5rem;
  grid-template-areas: "image content actions";
  align-items: center;
  column-gap: 1rem;
}
.moto-product-card .catalog-product-media { grid-area: image; align-self: center; }
.moto-product-content { grid-area: content; min-width: 0; }
.moto-product-content .catalog-product-number { margin: 0 0 .22rem; }
.moto-product-content .catalog-product-title { margin: 0 0 .2rem; }
.moto-product-content .catalog-product-description { margin: 0 0 .4rem; max-width: none; }
.moto-product-meta { display: flex; flex-wrap: wrap; gap: .25rem 1.15rem; color: #44566b; font-size: .9rem; }
.moto-product-actions { grid-area: actions; display: flex; flex-direction: column; align-items: flex-end; justify-content: center; min-width: 0; }
.moto-product-actions .catalog-product-price { margin: 0; white-space: nowrap; text-align: right; }
.moto-card-price-note { margin: .2rem 0 .55rem; color: #607087; font-size: .78rem; line-height: 1.35; text-align: right; }
.moto-inquiry-button { padding: .38rem .65rem; font-size: .88rem; }
.moto-card-catalog > .catalog-note { margin: .75rem; }
@media (max-width: 760px) {
  .moto-product-card { grid-template-columns: 82px minmax(0, 1fr) 8.5rem; column-gap: .75rem; }
  .moto-product-card .catalog-product-media { width: 82px; }
}
@media (max-width: 620px) {
  .moto-product-card { grid-template-columns: 82px minmax(0, 1fr); grid-template-areas: "image content" "image actions"; align-items: start; }
  .moto-product-actions { align-items: flex-end; margin-top: .45rem; }
}
@media (max-width: 420px) {
  .moto-product-card { grid-template-columns: 1fr; grid-template-areas: "image" "content" "actions"; }
  .moto-product-card .catalog-product-media { width: 100%; max-width: 220px; margin-bottom: .65rem; }
}
