.lt-shop-buy-row,.lh-product-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:25px}
.lt-colour-swatches{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.lt-card-view-toggle{display:none}
.lt-colour-swatch{appearance:none;position:relative;display:block;width:17px;height:17px;padding:0;border:1px solid #24282335;border-radius:50%;background:var(--swatch);cursor:pointer;touch-action:manipulation;transition:transform .18s ease,box-shadow .18s ease;box-shadow:inset 0 0 0 1px #ffffff35}
.lt-colour-swatch::after{content:"";position:absolute;inset:-3px;border-radius:50%}
.lt-colour-swatch[aria-pressed="true"]{outline:2px solid var(--lt-brand-green);outline-offset:2px}
.lt-colour-swatch:focus-visible{outline:3px solid var(--lt-brand-green)!important;outline-offset:4px!important}
.lt-color-image-front,.lt-card-image-secondary{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}
.lt-color-image-front,.lt-color-image-back,.lt-card-image-primary,.lt-card-image-secondary{transition:opacity .28s ease,transform .45s ease!important}
.lt-related-image,.lh-product-colours .lh-product-photo{position:relative}
/* Hide an image only when that card actually has a second view. */
@media(hover:hover) and (pointer:fine){
 .lt-colour-swatch:hover{transform:scale(1.1);box-shadow:0 0 0 3px color-mix(in srgb,var(--swatch) 65%,var(--lt-brand-green))}
 :is(.lt-shop-image,.lt-related-card,.lh-product-photo):hover .lt-card-image-secondary.is-ready{opacity:1}
 :is(.lt-shop-image,.lt-related-card,.lh-product-photo):hover .lt-card-image-primary:has(+ .lt-card-image-secondary.is-ready){opacity:0}
}
:is(.lt-shop-image,.lt-related-card,.lh-product-link,.lh-product):focus-visible .lt-card-image-secondary.is-ready{opacity:1}
:is(.lt-shop-image,.lt-related-card,.lh-product-link,.lh-product):focus-visible .lt-card-image-primary:has(+ .lt-card-image-secondary.is-ready){opacity:0}
/* The explicit Front/Back control owns paired views below the existing 600px breakpoint. */
@media(min-width:601px) and (hover:hover) and (pointer:fine){
 :is(.lt-shop-image,.lt-related-card,.lh-product-photo):hover .lt-color-image-front.is-ready{opacity:1}
 :is(.lt-shop-image,.lt-related-card,.lh-product-photo):hover .lt-color-image-back:has(+ .lt-color-image-front.is-ready){opacity:0}
}
@media(min-width:601px){
 :is(.lt-shop-image,.lt-related-card,.lh-product-link,.lh-product):focus-visible .lt-color-image-front.is-ready{opacity:1}
 :is(.lt-shop-image,.lt-related-card,.lh-product-link,.lh-product):focus-visible .lt-color-image-back:has(+ .lt-color-image-front.is-ready){opacity:0}
}
.lt-shop-copy .lt-shop-buy-row .lt-shop-price{min-width:0}
.lh-product-link{display:block}
.lh-product-colours .lh-product-meta-row{margin-top:7px}
.lh-product-colours .lh-product-price{min-width:0}
@media(max-width:600px){.lt-colour-swatches{gap:6px}.lt-colour-swatch{width:16px;height:16px}.lt-shop-buy-row,.lh-product-meta-row{gap:6px}}
@media(max-width:600px){
 .lt-card-view-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border:1px solid #d7dccf;border-radius:999px;background:#fff;color:var(--lt-action-ink);font:700 11px/1 sans-serif;cursor:pointer;white-space:nowrap;touch-action:manipulation}
 .lt-card-view-toggle[aria-pressed="true"]{border-color:var(--lt-brand-green);box-shadow:0 0 0 1px var(--lt-brand-green)}
 .lt-card-view-toggle:focus-visible{outline:3px solid var(--lt-brand-green);outline-offset:3px}
 :is(.lt-shop-card,.lh-product-colours) .lt-color-image-front{opacity:0}
 :is(.lt-shop-card,.lh-product-colours) .lt-color-image-back{opacity:1}
 :is(.lt-shop-card,.lh-product-colours).is-front-view .lt-color-image-front{opacity:1}
 :is(.lt-shop-card,.lh-product-colours).is-front-view .lt-color-image-back:has(+ .lt-color-image-front){opacity:0}
}
@media(prefers-reduced-motion:reduce){
 .lt-colour-swatch,.lt-color-image-front,.lt-color-image-back,.lt-card-image-primary,.lt-card-image-secondary{transition:none!important}
 .lt-colour-swatch:hover{transform:none}
}
