/* Stable catalogue card geometry across home, catalogue, search and recommendations. */
.product-card.lomo-catalogue-card { display:flex;flex-direction:column;padding:0;background:var(--bg);transform:none;transition:box-shadow 160ms ease; }
.product-card.lomo-catalogue-card .product-info { display:flex;flex-direction:column;flex:1;gap:8px;padding:16px; }
.product-card.lomo-catalogue-card .product-info form { margin-top:auto; }
.product-card.lomo-catalogue-card:hover,
.product-card.lomo-catalogue-card:focus-within { transform:none;box-shadow:0 6px 20px rgb(29 37 44 / 7%); }
.product-card.lomo-catalogue-card .product-image img,
.product-card.lomo-catalogue-card:hover .product-image img { transform:none;transition:none; }

/* The existing native input remains the submitted quantity; arrows are progressive enhancement. */
.lomo-quantity { display:inline-flex;align-items:stretch;flex:0 0 auto;min-height:44px;border:1px solid var(--line);background:var(--bg); }
.lomo-quantity .lomo-quantity-button { display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:0;background:var(--bg);color:var(--ink);font:inherit;font-size:20px;line-height:1;cursor:pointer; }
.lomo-quantity .lomo-quantity-input { width:64px;min-height:44px;padding:8px 4px;border:0;border-inline:1px solid var(--line);border-radius:0;background:var(--bg);color:var(--ink);font:inherit;font-size:14px;line-height:1.4;text-align:center;font-variant-numeric:tabular-nums;appearance:textfield; }
.lomo-quantity-input::-webkit-inner-spin-button,
.lomo-quantity-input::-webkit-outer-spin-button { appearance:none;margin:0; }
.lomo-quantity-button[hidden] { display:none; }
.lomo-quantity-button:disabled { opacity:.4;cursor:default; }
.lomo-quantity-button:hover:not(:disabled) { background:var(--soft);color:var(--accent); }
.lomo-quantity :focus-visible { outline:2px solid var(--accent);outline-offset:2px;position:relative;z-index:1; }
#shopping-cart form:has([data-lomo-quantity-ready="true"]) [data-lomo-quantity-update] { display:none; }
.lomo-quantity-status { font-size:13px;margin:12px 0 0;color:var(--muted); }
.lomo-quantity-status:empty { display:none; }
.lomo-quantity-status.is-error { color:var(--ink); }

/* Colour/opacity/shadow changes only: no movement, resizing or changing padding. */
.lomo-catalogue-card .btn,
.lomo-pdp-purchase .btn,
.lomo-quantity-button,
.lomo-heart,
.lomo-drawer-close,
.lomo-drawer-reset,
.lomo-drawer-apply,
.editorial-header .main-nav a,
.lomo-catalogue-filters .lomo-drawer-trigger,
.editorial-header .header-btn { transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease,opacity 160ms ease; }
.lomo-catalogue-card .btn:active,
.lomo-pdp-purchase .btn:active,
.lomo-quantity-button:active,
.lomo-heart:active,
.lomo-drawer-close:active,
.lomo-drawer-reset:active,
.lomo-drawer-apply:active,
.lomo-catalogue-filters .lomo-drawer-trigger:active,
.editorial-header .header-btn:active { transform:none;opacity:.88; }
.bag-notice,.bag-notice.is-visible { transform:none;transition:opacity 160ms ease; }
@keyframes lomo-polish-reveal { from { opacity:0; } to { opacity:1; } }
.lomo-pdp-accordion[open] > .lomo-pdp-accordion-body,
.lomo-pdp-accordion[open] > dl { animation:lomo-polish-reveal 160ms ease; }
@media(min-width:1051px) { .editorial-header .nav-dropdown { animation:lomo-polish-reveal 160ms ease; } }
@media(max-width:1050px) { .editorial-header nav.main-nav.open { animation:lomo-polish-reveal 160ms ease; } }
@media(max-width:480px) { .lomo-pdp-purchase #button-cart { flex-basis:100%;margin-top:8px; } }
@media(prefers-reduced-motion:reduce) {
 .product-card.lomo-catalogue-card,.lomo-catalogue-card .btn,.lomo-pdp-purchase .btn,.lomo-quantity-button,.lomo-heart,.lomo-drawer-close,.lomo-drawer-reset,.lomo-drawer-apply,.editorial-header .main-nav a,.lomo-catalogue-filters .lomo-drawer-trigger,.editorial-header .header-btn,.editorial-header .nav-dropdown,.editorial-header nav.main-nav.open,.lomo-pdp-accordion[open] > .lomo-pdp-accordion-body,.lomo-pdp-accordion[open] > dl,.bag-notice { transition:none !important;animation:none !important; }
}
