.product-default .product-card-colours{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;width:100%;margin:3px 0 9px}
.product-default .product-card-colour{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;padding:2px;margin:0;border:1px solid transparent;border-radius:50%;background:transparent;transition:border-color .15s ease}
.product-card-colour>span{display:block;width:16px;height:16px;border:1px solid rgba(0,0,0,.22);border-radius:50%}
.product-default .product-card-colour:hover,.product-default .product-card-colour:focus-visible{border-color:#222529;outline:none}
.product-widget .product-card-colours{justify-content:flex-start;margin-bottom:5px}
@media(prefers-reduced-motion:reduce){.product-default .product-card-colour{transition:none}}
/* Keep the primary photo visible; colour dots explicitly change its source. */
.product-default figure a>img:first-child{opacity:1!important}
.product-default figure a>img:not(:first-child){opacity:0!important}

/* Product detail uses the same catalogue swatches for variation selection. */
.product-variation-colours{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.product-variation-colour{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 26px;padding:3px;border:1px solid transparent;border-radius:50%;background:transparent;cursor:pointer}
.product-variation-colour>span{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid rgba(0,0,0,.22);border-radius:50%;font-size:11px;line-height:1;color:#555}
.product-variation-colour.is-selected,.product-variation-colour:hover,.product-variation-colour:focus-visible{border-color:#222529;outline:none}

.product-single-filter.product-variation-filter{display:flex;align-items:center;gap:8px}
.product-variation-label{flex:0 0 auto;white-space:nowrap;line-height:26px}
.product-variation-power .js-variation-select{width:min(100%,220px);min-height:40px;padding:7px 34px 7px 12px;border:1px solid #d8d5d1;border-radius:0;background-color:#fff;color:#222529;font-size:14px;font-weight:600}
.product-variation-power .js-variation-select:focus{border-color:#bd3033;box-shadow:0 0 0 2px rgba(189,48,51,.12);outline:0}
.product-variation-filter .product-variation-colours{min-width:0}

/* Product sharing follows the theme's small bordered controls. */
.product-single-share.product-share{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 0}
.product-share-label{color:#777;font-size:12px}
.product-share-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.product-share-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:36px;height:36px;padding:0 10px;border:1px solid #ddd;border-radius:3px;background:#fff;color:#222529;font-size:13px;line-height:1;cursor:pointer}
.product-share-button:hover,.product-share-button:focus-visible{border-color:#e00000;color:#e00000;outline:none}
.product-share-button:disabled{opacity:.65;cursor:wait}
.product-share-button[hidden]{display:none}
.product-share-status{flex-basis:100%;font-size:12px;color:#666;line-height:1.4}
.product-share-status:empty{display:none}

/* Graphic product seals sit beside the frame photo, as on editorial product cards. */
.product-image-badges{position:absolute;z-index:4;top:10px;right:10px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:none}
.product-image-badge{display:block;width:64px;height:64px;flex:0 0 64px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.18))}
.product-image-badge img,.product-default figure .product-image-badge img{display:block!important;width:100%!important;height:100%!important;max-width:none;object-fit:contain;opacity:1!important;position:static!important;transform:none!important}
.product-single-gallery .product-slider-container{position:relative}
.product-image-badges-detail{top:16px;right:16px;gap:8px}
.product-image-badges-detail .product-image-badge{width:82px;height:82px;flex-basis:82px}
@media(max-width:575px){.product-image-badges{top:6px;right:6px;gap:4px}.product-image-badge{width:48px;height:48px;flex-basis:48px}.product-default .product-image-badge:nth-child(n+3){display:none}.product-image-badges-detail{top:10px;right:10px;gap:5px}.product-image-badges-detail .product-image-badge{width:62px;height:62px;flex-basis:62px}}

/* Give each card the same visual rhythm, whether it has swatches or a long name. */
.product-default:not(.product-widget){display:flex;flex-direction:column;min-width:0}
.product-default:not(.product-widget) figure{width:100%;aspect-ratio:1;flex:0 0 auto;overflow:hidden}
.product-default:not(.product-widget) figure>a:first-child{display:block;width:100%;height:100%}
.product-default:not(.product-widget) figure>a:first-child>img{width:100%;height:100%;object-fit:contain}
/* The lens and care packshots have very different built-in canvas margins.
   Keep each package centered in the same square, with similar clear space. */
.product-default:not(.product-widget) figure>a:first-child>img[src*="/lens-care-packshots/"]{display:block;position:relative;top:auto;right:auto;bottom:auto;left:auto;width:100%;height:100%;object-fit:contain;object-position:center;transform:scale(var(--lens-packshot-scale,1));transform-origin:center}
.product-default:not(.product-widget) figure>a:first-child>img[src$="air-optix-plus-hydraglyde.png"]{--lens-packshot-scale:.8}
.product-default:not(.product-widget) figure>a:first-child>img[src$="dailies-aquacomfort-plus.png"]{--lens-packshot-scale:1.02}
.product-default:not(.product-widget) figure>a:first-child>img[src$="aosept-plus-hydraglyde-360ml.png"]{--lens-packshot-scale:1.28}
.product-default:not(.product-widget) figure>a:first-child>img[src$="renu-multiplus-360ml.jpg"]{--lens-packshot-scale:.86}
.product-default:not(.product-widget) figure>a:first-child>img[src$="renu-multiplus-100ml.jpg"]{--lens-packshot-scale:.9}
.product-default:not(.product-widget) figure>a:first-child>img[src$="opti-free-express-355ml.png"]{--lens-packshot-scale:1.4}
.product-default:not(.product-widget) figure>a:first-child>img[src$="boston-simplus-120ml.jpg"]{--lens-packshot-scale:.9}
.product-default:not(.product-widget) .product-details{flex:1;min-width:0;width:100%;justify-content:flex-start}
.product-default .product-card-brand{order:-1;display:flex;align-items:center;justify-content:center;width:100%;height:44px;flex:0 0 44px;margin:0 0 6px}
.product-default .product-card-brand>a{display:flex;align-items:center;justify-content:center;max-width:100%;width:100%;height:100%;overflow:hidden;white-space:normal}
.product-default .product-card-brand img{display:block!important;width:auto!important;height:auto!important;max-width:min(140px,90%)!important;max-height:38px!important;aspect-ratio:auto!important;object-fit:contain!important;opacity:1!important;position:static!important;transform:none!important}
.product-default .product-card-brand span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#303030;text-align:center;line-height:1.2}
.product-default .product-card-brand[data-brand-id="3"] img{transform:scale(1.6)!important}
.product-default .product-card-brand[data-brand-id="4"] img{transform:scale(1.45)!important}
.product-default .product-card-brand[data-brand-id="44"] img{transform:scale(1.75)!important}
.product-default:not(.product-widget) figure>.product-card-brand{position:absolute;z-index:5;top:10px;left:10px;order:0;width:min(142px,calc(100% - 88px));height:46px;flex:none;padding:4px 8px;margin:0;border:1px solid rgba(37,37,37,.08);border-radius:5px;background:rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.product-default:not(.product-widget) figure>.product-card-brand img{max-height:35px!important}
.product-default:not(.product-widget) figure>.label-group{top:64px;left:10px}
.product-single-gallery .product-slider-container>.product-card-brand{position:absolute;z-index:105;top:16px;left:16px;display:flex;align-items:center;justify-content:center;width:min(180px,calc(100% - 120px));height:56px;padding:5px 10px;border:1px solid rgba(37,37,37,.08);border-radius:6px;background:rgba(255,255,255,.95);box-shadow:0 2px 10px rgba(0,0,0,.07)}
.product-single-gallery .product-slider-container>.product-card-brand>a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}
.product-single-gallery .product-slider-container>.product-card-brand img{display:block!important;width:auto!important;height:auto!important;max-width:150px!important;max-height:45px!important;object-fit:contain!important;opacity:1!important;position:static!important;transform:none!important}
.product-single-gallery .product-slider-container>.product-card-brand span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#303030;text-align:center}
.product-single-gallery .product-slider-container>.product-card-brand[data-brand-id="3"] img{transform:scale(1.6)!important}
.product-single-gallery .product-slider-container>.product-card-brand[data-brand-id="4"] img{transform:scale(1.45)!important}
.product-single-gallery .product-slider-container>.product-card-brand[data-brand-id="44"] img{transform:scale(1.75)!important}
.product-single-gallery .product-slider-container>.label-group{top:82px;left:16px}
.product-default:not(.product-widget) .product-title{width:100%;min-height:2.7em;text-align:center}
.product-default:not(.product-widget) .product-title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden;line-height:1.35}
.home-product-card .product-details{align-items:center;text-align:center}
.home-product-card .category-wrap,.home-product-card .category-list,.home-product-card .product-title,.home-product-card .product-title a{width:100%;text-align:center}
.home-product-card .product-title a{margin-inline:auto}
.product-default:not(.product-widget) .product-card-colours{min-height:32px;max-height:32px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;margin:3px 0 7px}
.product-default:not(.product-widget) .product-card-colours::-webkit-scrollbar{display:none}
.product-default:not(.product-widget) .price-box{margin-top:auto;min-height:32px;margin-bottom:8px;text-align:center}
.row>[class*="col-"]>.product-default:not(.product-widget){height:calc(100% - 20px);margin-bottom:20px}
.products-slider .owl-stage{display:flex;align-items:stretch}
.products-slider .owl-item{display:flex;align-items:stretch}
.products-slider .owl-item>.product-default:not(.product-widget){width:100%;height:100%}
.product-widget .product-card-brand{justify-content:flex-start;height:28px;flex-basis:28px;margin-bottom:2px}
.product-widget .product-card-brand>a{justify-content:flex-start}
.product-widget .product-card-brand img{max-width:105px!important;max-height:25px!important}
@media(max-width:575px){.product-default .product-card-brand{height:38px;flex-basis:38px}.product-default .product-card-brand img{max-width:min(115px,90%)!important;max-height:32px!important}.product-default:not(.product-widget) figure>.product-card-brand{top:6px;left:6px;width:min(105px,calc(100% - 68px));height:34px;padding:3px 5px}.product-default:not(.product-widget) figure>.product-card-brand img{max-height:26px!important}.product-default:not(.product-widget) figure>.label-group{top:46px;left:6px}.product-single-gallery .product-slider-container>.product-card-brand{top:10px;left:10px;width:min(140px,calc(100% - 92px));height:44px;padding:4px 7px}.product-single-gallery .product-slider-container>.product-card-brand img{max-width:115px!important;max-height:35px!important}.product-single-gallery .product-slider-container>.label-group{top:62px;left:10px}}

/* Catalog view selector and matching grid/list layouts. */
.catalog-view-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:4px 0 18px}
.catalog-view-label{font-size:12px;font-weight:600;color:#777}
.catalog-view-switch{display:inline-flex;gap:4px;padding:3px;border:1px solid #dedbd5;border-radius:7px;background:#f8f7f5}
.catalog-view-switch button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:5px 10px;border:0;border-radius:4px;background:transparent;color:#555;font-size:12px;line-height:1;cursor:pointer}
.catalog-view-switch button[aria-pressed="true"]{background:#222529;color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.catalog-view-switch button:hover:not([aria-pressed="true"]){background:#e9e6e1;color:#222529}
.catalog-view-switch button:focus-visible{outline:2px solid #222529;outline-offset:2px}
#results[data-view="grid-2"]>.col-6{flex:0 0 50%;max-width:50%}
#results[data-view="list"]>.col-6{flex:0 0 100%;max-width:100%}
#results .product-card-actions{display:flex;align-items:stretch;justify-content:center;gap:8px;width:100%;max-width:230px;margin:0 auto 14px}
#results .product-card-actions .btn-add-cart{display:inline-flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:0;min-height:38px;padding:0 10px;white-space:nowrap;opacity:1}
#results .product-card-wishlist{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid #dedbd5;border-radius:3px;background:#fff;color:#383838;font-size:20px;line-height:1;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
#results .product-card-wishlist:hover,#results .product-card-wishlist[aria-pressed="true"]{border-color:#bd3033;background:#fff7f7;color:#bd3033}
#results .product-card-wishlist:focus-visible{outline:2px solid #222529;outline-offset:2px}
#results .product-card-wishlist:disabled{opacity:.55;cursor:wait}
#results[data-view="list"] .product-default:not(.product-widget){flex-direction:row;align-items:stretch;gap:20px;padding:12px;border:1px solid #e7e2db;border-radius:5px;background:#fff}
#results[data-view="list"] .product-default:not(.product-widget) figure{flex:0 0 min(30%,220px);width:min(30%,220px);aspect-ratio:1;margin:0}
#results[data-view="list"] .product-default:not(.product-widget) figure>.product-card-brand{width:min(120px,calc(100% - 58px))}
#results[data-view="list"] .product-image-badge{width:42px;height:42px;flex-basis:42px}
#results[data-view="list"] .product-default:not(.product-widget) .product-details{align-items:flex-start;justify-content:center;padding:4px 4px 4px 0;min-width:0}
#results[data-view="list"] .product-default:not(.product-widget) .product-title{min-height:0;text-align:left;font-size:18px}
#results[data-view="list"] .product-default:not(.product-widget) .product-title a{display:block;white-space:normal}
#results[data-view="list"] .product-default:not(.product-widget) .product-card-colours{justify-content:flex-start}
#results[data-view="list"] .product-default:not(.product-widget) .price-box{margin:5px 0 12px;min-height:0;text-align:left}
#results[data-view="list"] .product-card-actions{justify-content:flex-start;margin:0;max-width:230px}
@media(max-width:575px){.catalog-view-toolbar{justify-content:space-between;margin:2px 0 14px}.catalog-view-label{font-size:11px}.catalog-view-switch button{padding:5px 8px}.catalog-view-switch button[data-catalog-view="grid-3"]{display:none}.catalog-view-switch button span{font-size:11px}#results .product-card-actions{gap:5px}#results .product-card-actions .btn-add-cart{font-size:11px;padding:0 5px}#results .product-card-wishlist{flex-basis:36px;width:36px;height:36px}#results[data-view="list"] .product-default:not(.product-widget){gap:10px;padding:8px}#results[data-view="list"] .product-default:not(.product-widget) figure{flex:0 0 38%;width:38%}#results[data-view="list"] .product-default:not(.product-widget) figure>.product-card-brand{width:min(72px,calc(100% - 50px))}#results[data-view="list"] .product-image-badge{width:36px;height:36px;flex-basis:36px}#results[data-view="list"] .product-default:not(.product-widget) .product-title{font-size:14px}#results[data-view="list"] .product-card-actions .btn-add-cart i{display:none}}
