/* Original square photo area and collection badges remain intact. */
body .item-card--catalogue .item-card-inner { margin-bottom: 0; border-radius: 0; }
body .item-card--catalogue .item-card-media { margin-bottom: 8px; }
body .item-card--catalogue .item-card-img { position: relative; }
body [data-card-gallery] .item-card-img { width: 100%; }
body .item-card-photo { display: block; width: 100%; }
body .item-card-photo[hidden] { display: block; visibility: hidden; }
body .item-card-photo--alternate[hidden] { display: none; }
body .item-card-photo--alternate { position: absolute; inset: 0; height: 100%; }
body .item-card-photo img { display: block; width: 100%; height: auto; object-fit: contain; }
body .item-card-photo--alternate img { height: 100%; transform: scale(var(--photo-scale, 1)); }
body [data-gallery-link] { touch-action: pan-y pinch-zoom; user-select: none; -webkit-user-select: none; }
body [data-gallery-link] img { pointer-events: none; -webkit-user-drag: none; }
/* Swipe indicators sit inside the square, under the watch near its lower edge. */
body .item-card-photo-indicators { position: absolute; z-index: 2; bottom: 2px; left: 16px; right: 16px; display: flex; align-items: center; justify-content: center; gap: 0; height: 26px; margin: 0; pointer-events: none; }
body .item-card-photo-indicators > button { position: relative; display: flex; align-items: center; justify-content: center; flex: none; width: calc(28px / 3 + 4px); height: 26px; padding: 0; margin: 0; min-width: 0; border: 0; border-radius: 0; background: transparent; cursor: pointer; pointer-events: auto; }
body .item-card-photo-indicators > button::after { content: ''; display: block; width: calc(28px / 3); height: 1.5px; background: #b48459; opacity: .24; transition: width .18s ease, opacity .18s ease; }
body .item-card-photo-indicators > .is-current { width: 32px; }
body .item-card-photo-indicators > .is-current::after { width: 28px; opacity: 1; }
body .item-card-photo-indicators > button:focus-visible { outline: 1px solid #b48459; outline-offset: 1px; }
body .item-card-photo-indicators.is-empty { display: none; }
body .item-card-gallery-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body .item-card--catalogue .item-card-info { align-items: stretch; text-align: left; font-family: Raleway, sans-serif; }
body .item-card--catalogue .item-card-heading { align-items: flex-start; }
body .item-card--catalogue .item-card-name { text-align: left; justify-content: flex-start; }
body .item-card--catalogue .item-card-mark { text-align: left; line-height: 1.4; }
body .item-card--catalogue .item-card-head-container { width: 100%; gap: 10px; margin-bottom: 12px; }
/* Availability is a copper text line above the brand, without a badge. */
body .item-card-availability { display: flex; align-items: center; align-self: flex-start; max-width: 100%; padding: 0; border: 0; border-radius: 0; font: 500 12px/1.4 Raleway, sans-serif; text-transform: none; background: transparent; color: #b48459; }
body .item-card-condition { font: 500 12px/1.4 Raleway, sans-serif; color: #888; padding: 0; background: transparent; border: 0; }
body .item-card-condition { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 6px; }
body .item-card-components { display: inline-flex; align-items: baseline; gap: 6px; min-width: 0; max-width: 100%; }
body .item-card-details-separator { flex: none; align-self: center; width: 1px; height: 11px; border-radius: 999px; background: currentColor; opacity: .55; }
body .item-card-location-switch { display: grid; min-width: 0; overflow: hidden; text-align: left; }
body .item-card-location-switch > span { grid-area: 1 / 1; }
body .item-card-stock-copy { animation: dauri-stock-label 5s infinite both; animation-play-state: paused; }
body .item-card-city-copy { opacity: 0; animation: dauri-city-label 5s infinite both; animation-play-state: paused; }
body .item-card-location-switch.is-in-view > span { animation-play-state: running; }
@keyframes dauri-stock-label {
  0%,44%,100% { opacity: 1; transform: translateY(0); }
  50%,94% { opacity: 0; transform: translateY(-5px); }
}
@keyframes dauri-city-label {
  0%,44%,100% { opacity: 0; transform: translateY(5px); }
  50%,94% { opacity: 1; transform: translateY(0); }
}
body .item-card--catalogue .price { align-items: flex-start !important; text-align: left; }
body .item-card--catalogue .price-anim { font-size: 14px; font-weight: 500; line-height: 1.35; }
body .item-card--catalogue .price .stock-label-preorder { display: none; }
html[data-theme=dark] body .item-card-availability { background: transparent; color: #b48459; }
html[data-theme=dark] body .item-card-condition { color: rgba(255,255,255,.6); }
body .item-card--catalogue { scroll-margin-top: 155px; }
@media (max-width: 767px) {
 body .item-card-availability { font-size: 12px; }
 body .item-card--catalogue .item-card-head-container { margin-bottom: 12px; gap: 9px; }
 body .item-card--catalogue .price-anim { font-size: 13px; }
 body .item-card--catalogue { scroll-margin-top: 85px; }
}
@media (prefers-reduced-motion: reduce) {
 body .item-card-photo-indicators > button::after { transition: none; }
 body .item-card-location-switch { display: flex; flex-direction: column; gap: 3px; }
 body .item-card-location-switch > span { animation: none; opacity: 1; transform: none; }
}

/* A partial AJAX batch keeps its last cards in the next consecutive columns. */
@media (min-width: 1181px) and (hover: hover) and (pointer: fine) {
 .catalog-result .catalog-result-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 20px}
 .catalog-result.three-items .catalog-result-items{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}
 .catalog-result .catalog-result-items>.item-card{width:100%;max-width:none;min-width:0}
}

body .item-card-price-row { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 0; }
body .item-card--catalogue .item-card-media { position: relative; }

body .item-card--catalogue { display: flex; flex-direction: column; }
body .item-card--catalogue .item-card-info { display: flex; flex-direction: column; flex: 1; }
body .item-card--catalogue .item-card-head-container { flex: 0 0 auto; }
body .products-tabs .swiper-slide:has(.item-card--catalogue) { height: auto; display: flex; }

/* Lifestyle photos use the whole media area; transparent packshots retain containment. */
body [data-card-gallery] .item-card-inner { position: relative; overflow: hidden; }
body .item-card-media.is-cover .item-card-img { position: static; }
body .item-card-media.is-cover .item-card-photo--cover { position: absolute; inset: 0; width: 100%; height: 100%; }
body .item-card-media.is-cover .item-card-photo--cover img { width: 100%; height: 100%; max-width: none; max-height: none; padding: 0; object-fit: cover; transform: none; }
body .item-card-media.is-cover .item-card-status { z-index: 3; }
/* Keep the controls legible over full-bleed photographs. */
body .item-card-media.is-cover .item-card-photo-indicators > button::after { background: #fff; opacity: .5; box-shadow: 0 0 2px rgba(0,0,0,.4); }
body .item-card-media.is-cover .item-card-photo-indicators > .is-current::after { opacity: 1; }

/* A wrapped completeness line starts flush left, without a leading divider.
   Transform keeps the measured line break stable while hiding the separator. */
body .item-card-condition.is-wrapped .item-card-details-separator { visibility: hidden; }
body .item-card-condition.is-wrapped .item-card-components { transform: translateX(-7px); }
