/* OriginalPoosh: Persian sneaker boutique. Loaded after the existing utility stylesheet. */
.op-store {
    --op-ink:#17242b; --op-muted:#52616a; --op-line:#dfe6e9;
    --op-surface:#f2f6f8; --op-blue:#087fae; --op-radius:12px;
    color:var(--op-ink); background:#fff; -webkit-font-smoothing:antialiased;
}
.op-store *, .op-store *::before, .op-store *::after { box-sizing:border-box; }
.op-icon { display:inline-block; width:1em; height:1em; flex-shrink:0; vertical-align:middle; }
.op-store :is(a,button,input,select,textarea) { -webkit-tap-highlight-color:transparent; }
.op-store :is(a,button,input,select,textarea):focus-visible { outline:3px solid var(--op-blue); outline-offset:4px; }
.op-store :is(h1,h2,h3,[id]):target { scroll-margin-top:calc(var(--op-header-offset,142px) + 24px); }
.op-store main [id], .op-store main a { scroll-margin-top:calc(var(--op-header-offset,142px) + 24px); }
.op-skip-link { position:fixed; top:8px; right:16px; padding:12px 20px; background:var(--op-ink); color:#fff; z-index:100; transform:translateY(-180%); }
.op-skip-link:focus { transform:none; }
.op-store .container, .op-container { width:min(100%,1400px); margin-inline:auto; padding-inline:clamp(20px,4vw,64px); }
.op-store .op-header { border-bottom:1px solid var(--op-line); box-shadow:none; background:#fff; }
.op-store .op-header-main { min-height:80px; padding-block:14px; gap:32px; }
.op-header-logo { flex-shrink:0; }
.op-header-logo img { width:150px; max-height:44px; object-fit:contain; }
.op-header-main > .flex-grow { max-width:680px; margin-inline:auto; }
.op-store #desktopSearchInputWrapper { background:var(--op-surface); border:1px solid #e4ebee; border-radius:10px; }
.op-store #desktopSearchInputWrapper:focus-within { border-color:var(--op-blue); background:#fff; }
.op-store #desktopSearchInput { height:44px; font-size:14px; }
.op-store :is(#desktopSearchInput,#mobileSearchInput),
.op-store :is(#desktopSearchInput,#mobileSearchInput):focus { border:0; outline:none; box-shadow:none; }
.op-store .op-header .icon-btn { border-radius:10px; min-width:44px; min-height:44px; }
.op-store .op-header .icon-btn:hover { background:var(--op-surface); }
.op-store .op-header nav { min-height:44px; gap:14px; background:#fff; border-bottom:1px solid var(--op-line); }
.op-store .op-header .desktop-nav-item a { color:var(--op-muted); font-size:13px; min-height:36px; }
.op-store .op-header .desktop-nav-item img { display:none; }
.op-store .op-header .desktop-nav-item a:hover { color:var(--op-blue); }
.op-store .op-header .desktop-nav-item .group:focus-within > .absolute { display:block; }
.op-menu-list { display:flex; align-items:center; gap:26px; }
.op-menu-item { position:relative; }
.op-menu-item > a { display:flex; align-items:center; padding-block:8px; }
.op-menu-item > a[aria-current=page] { color:var(--op-blue)!important; font-weight:600; }
.op-menu-dropdown { display:none; position:absolute; top:100%; right:0; min-width:240px; max-height:360px; overflow-y:auto; padding:8px; background:#fff; border:1px solid var(--op-line); border-radius:0 0 10px 10px; box-shadow:0 8px 24px #17242b0f; z-index:10; }
.op-menu-item:hover > .op-menu-dropdown,.op-menu-item:focus-within > .op-menu-dropdown { display:block; }
.op-menu-dropdown a { display:flex; align-items:center; padding:10px 12px; min-height:44px!important; border-radius:5px; }
.op-menu-dropdown a:hover { background:var(--op-surface); }
.op-store main:not(.op-home) { background:var(--op-surface); padding-top:var(--op-header-offset,142px); }
.op-store main:not(.op-home) > .container { padding-top:28px; }
.op-home { padding-top:var(--op-header-offset,142px); background:#fff; }
.op-mobile-nav { border-top:1px solid var(--op-line); box-shadow:0 -3px 16px #17242b06; padding-bottom:env(safe-area-inset-bottom); }
.op-mobile-nav a { display:flex; align-items:center; flex-direction:column; min-height:64px; justify-content:center; color:var(--op-muted); border-bottom:2px solid transparent; }
.op-mobile-nav a[aria-current=page] { color:var(--op-blue); background:#edf6fa; border-bottom-color:var(--op-blue); }
.op-mobile-nav p { font-size:12px; padding-top:5px; }

/* One photographic plane; the quiet right-hand wall carries the Persian copy. */
.op-editorial { position:relative; overflow:hidden; background:#c9d9e7; isolation:isolate; }
.op-editorial-photo { position:absolute; inset:0; z-index:-2; }
.op-editorial-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 67%; }
.op-editorial::after { content:''; position:absolute; inset:0; background:linear-gradient(270deg,#edf4f9ed 0%,#edf4f9d9 24%,#edf4f900 62%); z-index:-1; }
.op-editorial-inner { min-height:360px; display:flex; align-items:center; }
.op-editorial-copy { width:43%; padding-block:30px; }
.op-editorial-brand { font-size:15px; font-weight:600; color:#30536b; margin-bottom:10px; }
.op-editorial h1 { font-size:clamp(36px,3.8vw,52px); font-weight:800; line-height:1.5; margin:0; letter-spacing:0; }
.op-editorial-lead { font-size:14px; line-height:1.95; color:#334d5e; margin-top:12px; max-width:330px; }
.op-editorial-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:22px; }
.op-button { display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:48px; padding:12px 22px; border-radius:8px; font-size:14px; font-weight:600; transition:background .18s,color .18s; }
.op-button .op-icon { font-size:19px; }
.op-button-primary { background:var(--op-blue); color:#fff; }
.op-button-primary:hover { background:#06698f; color:#fff; }
.op-button-secondary { background:#fff; border:1px solid #c5d1d8; color:var(--op-ink); }
.op-button-secondary:hover { background:var(--op-surface); color:var(--op-ink); }
.op-editorial-link { color:#284659; font-size:13px; min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:6px; }
.op-discovery { background:#fff; border-bottom:1px solid var(--op-line); }
.op-discovery-inner { display:flex; align-items:center; gap:28px; min-height:76px; }
.op-discovery-label { color:var(--op-ink); font-weight:600; font-size:13px; white-space:nowrap; }
.op-discovery-links { display:flex; align-items:center; flex-wrap:wrap; column-gap:24px; }
.op-discovery-links a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; color:var(--op-muted); }
.op-discovery-links a:hover { color:var(--op-blue); }

/* Merchandising has its own hierarchy: image, model, price, then the next action. */
.op-section { padding-block:48px; }
.op-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:26px; }
.op-section-heading h2 { font-size:26px; line-height:1.65; font-weight:700; }
.op-section-heading p { margin-top:4px; color:var(--op-muted); font-size:13px; line-height:1.85; }
.op-text-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--op-blue); font-size:13px; font-weight:500; white-space:nowrap; }
.op-text-link:hover { color:#055675; }
.op-text-link .op-icon { font-size:20px; }
.op-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px 24px; }
.op-product-card { display:flex; flex-direction:column; min-width:0; padding:8px; color:var(--op-ink); background:#fff; border:1px solid #e0e7eb; border-radius:14px; box-shadow:0 2px 6px #17242b03; transition:border-color .2s,box-shadow .2s; }
.op-product-card:hover { color:var(--op-ink); border-color:#afc5d1; box-shadow:0 7px 22px #17242b0b; }
.op-product-media { position:relative; overflow:hidden; background:#edf1f3; aspect-ratio:4/5; border-radius:9px; }
.op-product-media img { width:100%; height:100%; object-fit:cover; transition:transform .32s ease; }
.op-product-card:hover .op-product-media img { transform:scale(1.025); }
.op-product-badge { position:absolute; top:10px; right:10px; background:var(--op-blue); color:#fff; padding:6px 9px; border-radius:5px; font-size:12px; font-weight:600; }
.op-product-badge-muted { color:#52616a; background:#fff; }
.op-product-express { position:absolute; bottom:10px; right:10px; padding:5px 8px; border-radius:5px; background:#fffffff2; color:#075f82; font-size:11px; }
.op-product-info { display:flex; flex:1; flex-direction:column; padding:14px 10px 5px; }
.op-product-brand { display:block; min-height:20px; color:var(--op-muted); font-size:12px; line-height:1.65; margin-bottom:5px; }
.op-product-info h3 { font-size:15px; font-weight:600; line-height:1.85; text-align:right; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:8px; }
.op-product-price { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:3px; min-height:52px; margin-top:auto; padding-top:8px; font-size:18px; font-weight:700; }
.op-current-price { display:inline-flex; align-items:baseline; gap:5px; white-space:nowrap; }
.op-product-price small { font-size:12px; font-weight:400; color:var(--op-muted); }
.op-product-price del { color:#74818a; font-size:12px; font-weight:400; }
.op-product-price-row { display:flex; align-items:flex-end; justify-content:space-between; gap:8px; margin-top:auto; }
.op-product-price-row .op-product-price { margin-top:0; min-width:0; }
.op-product-price-row .op-product-details { flex-shrink:0; }
@media (max-width:1023px) {
    .op-product-price-row { gap:6px; }
    .op-product-price-row .op-product-price { font-size:14px; }
    .op-product-price-row .op-product-price small { font-size:10px; }
    .op-product-price-row .op-product-details { width:24px; height:24px; }
}
.op-product-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid #edf0f2; margin-top:14px; padding-top:10px; }
.op-product-stock { display:inline-flex; align-items:center; gap:6px; color:#386255; font-size:12px; }
.op-product-stock::before { content:''; width:5px; height:5px; border-radius:50%; background:#498571; flex-shrink:0; }
.op-product-stock-muted { color:var(--op-muted); }
.op-product-stock-muted::before { background:#88959e; }
.op-product-details { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#f2f6f8; color:var(--op-blue); transition:background .2s; }
.op-product-details .op-icon { font-size:17px; }
.op-product-card:hover .op-product-details { background:#e0eef5; }
.op-image-placeholder { display:grid; place-items:center; height:100%; font-size:13px; color:var(--op-muted); }
.op-category-section { background:var(--op-surface); margin-block:12px; }
.op-category-section .op-section-heading { justify-content:center; text-align:center; }
.op-sale-band .op-section-heading, .op-brand-section .op-section-heading { justify-content:center; text-align:center; }
.op-sale-band .op-section-heading.op-featured-heading { justify-content:space-between; text-align:right; }
.op-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.op-category { display:flex; align-items:center; gap:20px; background:#fff; color:var(--op-ink); border-radius:10px; overflow:hidden; min-height:124px; padding-inline-end:18px; }
.op-category img { width:124px; height:124px; object-fit:cover; flex-shrink:0; }
.op-category > span { font-size:14px; font-weight:600; line-height:1.8; }
.op-category small { display:block; font-weight:400; font-size:12px; color:var(--op-muted); margin-top:6px; }
.op-category > .op-icon { margin-inline-start:auto; font-size:20px; color:var(--op-blue); }
.op-category:hover { box-shadow:0 4px 16px #17242b09; }
.op-sale-band { background:#f2f6f8; border-block:1px solid var(--op-line); margin-top:12px; }
.op-sale-grid { display:grid; grid-template-columns:repeat(var(--sale-columns,2),minmax(0,1fr)); gap:24px; }
.op-sale-grid .op-product-card { display:grid; grid-template-columns:44% minmax(0,1fr); }
.op-sale-grid .op-product-media { aspect-ratio:auto; height:280px; min-height:0; }
.op-sale-grid .op-product-info { justify-content:center; padding:20px 22px 16px 14px; }
.op-sale-grid .op-product-info h3 { font-size:18px; }
.op-sale-grid .op-product-price { font-size:20px; margin-top:10px; }
.op-sale-grid .op-product-price-row { margin-top:10px; }
.op-sale-grid .op-product-price-row .op-product-price { margin-top:0; }
.op-brand-section { background:#f8fafb; border-block:1px solid var(--op-line); margin-top:10px; }
.op-brand-section .op-section-heading { margin-bottom:20px; }
.op-brand-section h2 { font-size:21px; }
.op-brands { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.op-brand { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:120px; gap:16px; color:var(--op-muted); font-size:13px; }
.op-brand + .op-brand { border-inline-start:1px solid var(--op-line); }
.op-brand img { width:144px; height:64px; object-fit:contain; }
.op-brand:hover { color:var(--op-blue); background:#eef4f7; }
.op-campaign .main-banner { overflow:hidden; border-radius:10px; background:var(--op-surface); }
.op-campaign .main-banner img { display:block; width:100%; height:auto; }
.op-campaign .swiper-button-next,.op-campaign .swiper-button-prev { width:40px; height:40px; background:#fffffff5; border-radius:50%; color:var(--op-ink); font-size:30px; }
.op-campaign .swiper-button-next::after,.op-campaign .swiper-button-prev::after { display:none; }
.op-campaign .swiper-button-next { right:12px; }
.op-campaign .swiper-button-prev { left:12px; }
.op-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.op-home-slider .main-banner { border-radius:0; background:#fff; }
.op-home-slider .swiper-slide img { aspect-ratio:4.8; object-fit:contain; background:var(--op-surface); }
.op-home-slider .swiper-slide > a { display:block; }
.op-home-slider .swiper-slide > a:focus-visible { outline-offset:-4px; }
.op-slider-controls { display:flex; align-items:center; justify-content:center; gap:12px; padding-block:10px; min-height:64px; border-bottom:1px solid var(--op-line); }
.op-home-slider .op-slider-controls .swiper-button-next,.op-home-slider .op-slider-controls .swiper-button-prev { position:static; margin:0; width:44px; height:44px; background:#fff; border:1px solid #dce5ea; border-radius:50%; color:#345264; transition:background .18s,border-color .18s,color .18s; }
.op-home-slider .op-slider-controls button:hover { background:#edf6fa; border-color:#a9cbd9; color:var(--op-blue); }
.op-home-slider .op-slider-controls button:active { background:#dfedf4; }
.op-home-slider .op-slider-controls .swiper-pagination { position:static; width:auto; display:flex; align-items:center; transform:none; }
.op-home-slider .op-slider-controls .op-icon { font-size:20px; width:20px; height:20px; stroke-width:2; }
.op-home-slider .swiper-button-next .op-icon { transform:none; }
.op-home-slider .swiper-button-prev .op-icon { transform:rotate(180deg); }
.op-home-slider .swiper-pagination-bullet { display:grid; place-items:center; width:44px; height:44px; margin:0!important; background:transparent; opacity:1; border-radius:6px; }
.op-home-slider .swiper-pagination-bullet::before { content:''; width:6px; height:6px; border-radius:10px; background:#b0bdc4; transition:width .18s,background .18s; }
.op-home-slider .swiper-pagination-bullet-active::before { width:18px; background:var(--op-blue); }
.op-shopping-help { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:28px; border-block:1px solid var(--op-line); }
.op-shopping-help h2 { font-size:22px; font-weight:600; }
.op-shopping-help p { margin-top:8px; color:var(--op-muted); font-size:14px; line-height:1.9; }
.op-banners { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.op-banners a { overflow:hidden; border-radius:10px; }
.op-banners img { width:100%; height:auto; display:block; }
.op-journal { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.op-journal a { display:flex; flex-direction:column; min-width:0; padding:8px; color:var(--op-ink); background:#fff; border:1px solid var(--op-line); border-radius:14px; box-shadow:0 2px 6px #17242b03; transition:border-color .2s,box-shadow .2s,transform .2s; }
.op-journal-media { overflow:hidden; border-radius:8px; }
.op-journal img { display:block; width:100%; height:auto; aspect-ratio:1.7; object-fit:cover; transition:transform .25s; }
.op-journal h3 { font-size:17px; font-weight:600; line-height:1.85; margin:0; padding:16px 10px 12px; transition:color .2s; }
.op-journal a:focus-visible { border-color:var(--op-blue); }
.op-journal a:focus-visible h3 { color:var(--op-blue); }
@media(hover:hover) {
    .op-journal a:hover { border-color:#afc5d1; box-shadow:0 8px 24px #17242b0d; transform:translateY(-3px); }
    .op-journal a:hover img { transform:scale(1.025); }
    .op-journal a:hover h3 { color:var(--op-blue); }
}
@media(prefers-reduced-motion:reduce) {
    .op-journal a:hover,.op-journal a:hover img { transform:none; }
}
.op-journal small { display:block; color:var(--op-blue); font-size:13px; margin-top:10px; }
.op-store .op-footer { margin-top:56px; background:#f2f6f8; border-top:1px solid var(--op-line); }
.op-store main.op-footer-flush ~ .op-footer { margin-top:0; }
.op-store .op-footer svg { width:44px; height:44px; }
.op-store .op-footer svg circle { fill:#e1edf2; }
.op-store .op-footer :is(p,a) { line-height:1.9; }
.op-store .op-footer a:hover { color:var(--op-blue); }

/* Catalog and purchase pages share the same readable, restrained components. */
.op-store .op-listing h1 { font-size:clamp(23px,2.5vw,30px); font-weight:700; line-height:1.6; margin:0; }
.op-store .op-listing-products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; }
.op-store .op-listing .sticky.bg-muted { border:1px solid var(--op-line); border-radius:12px; }
.op-store .op-listing .sticky label { font-size:13px; }
.op-store .op-listing .sticky :is(button,a) { min-height:40px; }
.op-store .op-listing .op-listing-heading { margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--op-line); text-align:center; }
.op-listing-container { padding-top:24px; }
.op-catalog-sort { display:flex; justify-content:center; align-items:center; min-height:44px; border-bottom:1px solid var(--op-line); }
.op-catalog-sort-options { display:flex; align-items:center; gap:28px; }
.op-catalog-sort button { position:relative; display:inline-flex; align-items:center; min-height:44px; padding:0 2px; color:var(--op-muted); background:transparent; border:0; font-size:14px; transition:color .18s; }
.op-catalog-sort button:hover { color:var(--op-blue); }
.op-catalog-sort button[aria-pressed=true] { color:var(--op-blue); font-weight:600; }
.op-catalog-sort button[aria-pressed=true]::after { content:''; position:absolute; inset-inline:0; bottom:-1px; height:2px; border-radius:2px; background:var(--op-blue); }
@media(min-width:1024px) {
    .op-store .op-listing .op-listing-heading { border-bottom:0; padding-bottom:0; margin-bottom:16px; }
}
.op-catalog-infinite-active { overflow-anchor:none; }
.op-catalog-continuation { display:flex; flex-direction:column; align-items:center; gap:12px; margin-block:32px; color:var(--op-muted); font-size:13px; }
.op-catalog-continuation [hidden] { display:none; }
.op-catalog-continuation[hidden] { display:none; }
.op-catalog-continuation [aria-disabled=true] { opacity:.6; cursor:wait; }
.op-listing-description { max-width:760px; margin:8px auto 0; font-size:13px; line-height:1.9; color:var(--op-muted); }
.op-category-shortcuts { display:flex; align-items:center; gap:8px; margin-top:16px; min-width:0; }
.op-listing-categories { display:flex; flex:1; min-width:0; flex-wrap:nowrap; justify-content:safe center; gap:8px; overflow-x:auto; overscroll-behavior-x:contain; scroll-behavior:smooth; scrollbar-width:none; padding:5px; }
.op-listing-categories::-webkit-scrollbar { display:none; }
.op-listing-categories a { flex-shrink:0; }
@media(hover:hover) and (pointer:fine) {
    .op-listing-categories { cursor:grab; user-select:none; }
    .op-listing-categories a { cursor:pointer; }
}
.op-listing-categories.is-dragging { cursor:grabbing; scroll-behavior:auto; scroll-snap-type:none; }
.op-listing-categories.is-dragging a { cursor:grabbing; }
.op-shortcut-scroll { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border:1px solid var(--op-line); border-radius:50%; background:#fff; color:var(--op-blue); }
.op-shortcut-scroll[hidden] { display:none; }
.op-shortcut-scroll:disabled { opacity:.35; cursor:default; }
.op-shortcut-prev .op-icon { transform:rotate(180deg); }
.op-shortcut-scroll .op-icon { width:20px; height:20px; }
.op-shortcut-dots { display:none; }
@media(prefers-reduced-motion:reduce) { .op-listing-categories { scroll-behavior:auto; } }
.op-listing-categories a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:6px 12px; border:1px solid var(--op-line); border-radius:28px; background:#fff; color:var(--op-muted); font-size:13px; white-space:nowrap; transition:color .2s,background .2s,border-color .2s; }
.op-listing-category-icon { display:grid; place-items:center; width:36px; height:36px; flex-shrink:0; border-radius:50%; background:#edf4f7; color:var(--op-blue); }
.op-listing-category-icon img { display:block; width:32px; height:32px; object-fit:contain; }
.op-listing-category-icon .op-icon { width:20px; height:20px; }
.op-availability-switch { display:block; width:44px; height:24px; border-radius:20px; background:#dfe6e9; transition:background .2s; }
.op-availability-switch::after { content:''; display:block; width:20px; height:20px; border-radius:50%; background:#fff; position:absolute; top:2px; left:2px; transition:transform .2s; }
.peer:checked + .op-availability-switch { background:var(--op-blue); }
.peer:checked + .op-availability-switch::after { transform:translateX(20px); }
.peer:focus-visible + .op-availability-switch { outline:2px solid var(--op-blue); outline-offset:3px; }
.op-listing-categories a:hover { color:var(--op-blue); border-color:var(--op-blue); }
.op-listing-categories a[aria-current=page] { background:var(--op-blue); border-color:var(--op-blue); color:#fff; }
.op-listing-products .op-product-media { aspect-ratio:1/1; }
.op-listing-products .op-product-info { padding:12px 8px 4px; }
.op-listing-products .op-product-info h3 { height:3.7em; min-height:3.7em; overflow-wrap:anywhere; }
.op-listing-products .op-product-price { min-height:44px; }
.op-listing-mobile-tools { gap:10px; margin-bottom:12px; }
.op-listing-mobile-tools .op-catalog-tool { display:flex; flex:1; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:44px; padding:8px 12px; border:1px solid var(--op-line); border-radius:12px; background:#fff; color:var(--op-ink); font-size:12px; font-weight:500; transition:border-color .2s,color .2s; }
.op-catalog-tool svg { width:18px; height:18px; flex-shrink:0; color:var(--op-muted); }
.op-listing-mobile-tools .op-catalog-tool.is-active { border-color:#b6d8e6; color:var(--op-blue); }
.op-catalog-tool.is-active svg { color:var(--op-blue); }
.op-filter-count { display:grid; place-items:center; min-width:19px; height:19px; padding-inline:4px; border-radius:50%; background:#e5f2f8; color:var(--op-blue); font-size:11px; }
#filter-drawer #filter-form { height:100%; }
#filter-drawer #filter-form > div,#filter-drawer #filter-form > div > .grow { min-height:0; }
.op-mobile-filter-actions { display:flex; align-items:center; gap:16px; flex-shrink:0; padding:16px; padding-bottom:calc(16px + env(safe-area-inset-bottom)); border-top:1px solid var(--op-line); background:#fff; }
.op-mobile-filter-actions .btn-primary { flex:1; min-width:0; }
.op-mobile-filter-clear { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding-inline:8px; color:#d9364f; font-size:12px; font-weight:600; white-space:nowrap; }
.op-mobile-filter-clear:hover { color:#b51f3b; }
@media(max-width:639px) {
    .op-listing-container { padding-top:18px; }
    .op-store .op-listing .op-listing-heading { margin-bottom:16px; padding-bottom:16px; }
    .op-category-shortcuts { gap:4px; margin-top:10px; }
    .op-shortcut-scroll { display:none; }
    .op-shortcut-dots:not([hidden]) { display:flex; align-items:center; justify-content:center; gap:6px; margin:10px 0 0; height:6px; }
    .op-shortcut-dots span { width:5px; height:5px; border-radius:50%; background:#c9d6dd; }
    .op-shortcut-dots .is-active { background:var(--op-blue); }
    .op-listing-categories { padding:4px 4px 8px; gap:6px; scroll-snap-type:x proximity; scroll-padding-inline:4px; }
    .op-listing-categories::-webkit-scrollbar { display:none; }
    .op-listing-categories a { flex:0 0 78px; flex-direction:column; justify-content:flex-start; gap:7px; padding:4px 2px; border:0; border-radius:0; background:transparent; font-size:11px; line-height:1.7; white-space:normal; text-align:center; scroll-snap-align:center; }
    .op-listing-category-icon { width:48px; height:48px; background:#fff; border:1px solid var(--op-line); }
    .op-listing-category-icon img { width:36px; height:36px; }
    .op-listing-category-icon .op-icon { width:23px; height:23px; }
    .op-listing-categories a > span:last-child { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .op-listing-categories a[aria-current=page] { background:transparent; color:var(--op-blue); font-weight:600; }
    .op-listing-categories a[aria-current=page] .op-listing-category-icon { border-color:var(--op-blue); background:#e5f2f8; }
    .op-listing-products .op-product-info { padding:9px 3px 3px; }
    .op-listing-products .op-product-brand { font-size:10px; margin-bottom:2px; }
    .op-listing-products .op-product-info h3 { height:auto; min-height:0; font-size:12px; line-height:1.85; margin-bottom:4px; }
    .op-listing-products .op-product-price { min-height:28px; padding-top:0; }
}
.op-store .op-detail-surface,.op-store .op-buy-summary { border:1px solid var(--op-line); box-shadow:none; border-radius:14px; }
.op-store .op-buy-summary { top:calc(var(--op-header-offset,136px) + 16px); }
.op-store .product-detail-main h1 { font-size:clamp(22px,2vw,30px); line-height:1.8; }
.op-store #add-to-cart-form .rounded-full { border-radius:8px; }
.op-store .btn-primary,.op-store.op-checkout main a.bg-primary-btn { background:var(--op-blue); color:#fff; min-height:46px; border-radius:8px; }
.op-store .btn-primary:hover,.op-store.op-checkout main a.bg-primary-btn:hover { background:#06698f; }
.op-store .btn-primary:disabled { background:#e5ebee; color:#52616a; cursor:not-allowed; }
.op-store .op-delivery-page [data-checkout-continue]:disabled { background:#e5ebee; color:#667985; cursor:not-allowed; opacity:1; }
.op-detail-surface fieldset input[name=inventory] { display:block; position:absolute; width:1px; height:1px; opacity:0; }
.op-detail-surface fieldset input[name=inventory] + label { width:44px; height:44px; border:1px solid #c8d3da; border-radius:6px; box-shadow:none; background:#fff; }
.op-detail-surface fieldset input[name=inventory]:checked + label { border:2px solid var(--op-blue); background:#edf6fa; color:#075f82; }
.op-detail-surface fieldset input[name=inventory]:focus-visible + label { outline:3px solid var(--op-blue); outline-offset:3px; }
.op-detail-surface :is(.quantity-decrease,.quantity-increase,.quantity-input) { height:44px; min-width:44px; box-shadow:none; border-color:#c8d3da; background:#fff; }
.op-store.op-cart main .shadow,.op-store.op-cart main .shadow-md,.op-store.op-checkout main .shadow { box-shadow:none; border:1px solid var(--op-line); border-radius:12px; }
.op-store.op-cart main h1 { font-size:23px; font-weight:700; }
.op-store .faq-answer { line-height:1.65; }
.op-support-launcher,.op-support-close { display:none; }
.op-support-feedback { position:fixed; bottom:var(--op-support-bottom,84px); right:20px; max-width:280px; padding:14px; background:#fff; border:1px solid var(--op-line); box-shadow:0 4px 24px #17242b14; border-radius:10px; z-index:45; font-size:13px; line-height:1.9; }
.op-support-feedback a { color:var(--op-blue); text-decoration:underline; }

@media(min-width:1600px) { .op-editorial-inner { min-height:420px; } }
@media(max-width:1023px) {
    .op-listing-layout { grid-template-rows:auto; }
    .op-listing-results > #catalog-products { margin-top:0; }
    .op-store main.op-listing { padding-bottom:calc(var(--op-mobile-nav-height,64px) + 16px); }
    .op-mobile-nav > .container { padding-inline:8px; }
    .op-mobile-nav > .container > div { width:20%; }
    .op-support-launcher { display:flex; width:100%; min-height:64px; align-items:center; justify-content:center; flex-direction:column; gap:5px; color:var(--op-muted); font-size:12px; }
    .op-support-launcher:hover { background:var(--op-surface); }
    .op-support-launcher .op-icon { width:25px; height:25px; }
    .op-support-launcher[aria-busy=true] { opacity:.65; }
    .op-chat-open :is(.op-mobile-nav,.op-purchase-bar,.op-support-launcher) { visibility:hidden; }
    .op-store { padding-bottom:var(--op-mobile-nav-height,68px); }
    .op-store .op-mobile-nav { transform:none; }
    .op-store .op-purchase-bar { bottom:var(--op-mobile-nav-height,68px); padding-bottom:16px; transform:none; border-top:1px solid var(--op-line); box-shadow:0 -4px 18px #17242b08; }
    .op-store .product-detail-main,.op-store.op-cart main { padding-bottom:150px; }
    .op-store .container,.op-container { padding-inline:20px; }
    .op-store #headerMobileTop { display:none; }
    .op-store #headerMobileNavigation { position:relative; inset:auto; padding-block:10px; }
    .op-store #headerMobileNavigation > div > .container { padding-inline:16px; }
    .op-store #headerMobileNavigation .op-mobile-search-field { position:relative; min-width:0; padding-right:12px; border-radius:24px; border-color:#dfe6e9; background:var(--op-surface); }
    .op-mobile-search-field > .i-carbon-search { width:20px; height:20px; flex-shrink:0; }
    .op-mobile-search-field input { min-width:0; flex:1; }
    .op-mobile-search-brand { position:absolute; inset:0 42px 0 12px; display:flex; align-items:center; justify-content:space-between; gap:6px; color:#7d8a93; font-size:13px; pointer-events:none; }
    .op-mobile-search-brand img { width:110px; height:20px; object-fit:contain; object-position:left center; mix-blend-mode:multiply; }
    .op-mobile-search-field:has(input:focus) .op-mobile-search-brand,
    .op-mobile-search-field:has(input:not(:placeholder-shown)) .op-mobile-search-brand { display:none; }
    .op-store #headerMobileNavigation input { height:42px; font-size:16px; }
    .op-editorial-copy { width:48%; }
    .op-editorial-actions { gap:16px; }
    .op-editorial-lead { font-size:14px; }
    .op-discovery-inner { gap:20px; }
    .op-discovery-label { display:none; }
    .op-discovery-links { column-gap:24px; }
    .op-products { gap:26px 16px; }
    .op-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .op-category { gap:14px; }
    .op-category img { width:104px; height:124px; }
    .op-sale-grid { grid-template-columns:1fr; gap:16px; }
    .op-sale-grid .op-product-info { padding:16px 12px 12px; }
    .op-brand img { width:100px; height:50px; }
    .op-store .op-buy-summary { top:calc(var(--op-header-offset,110px) + 16px); }
}
@media(max-width:639px) {
    .op-chat-open .op-support-close { display:grid; place-items:center; position:fixed; top:calc(12px + env(safe-area-inset-top)); left:12px; width:44px; height:44px; border:1px solid #dfe6e9; border-radius:50%; color:var(--op-ink); background:#fff; box-shadow:0 2px 8px #17242b16; z-index:60; }
    .op-support-close .op-icon { width:22px; height:22px; }
    .op-editorial-inner { min-height:310px; align-items:flex-start; }
    .op-editorial-photo img { object-position:34% 64%; }
    .op-editorial::after { background:linear-gradient(270deg,#edf4f9f5 0%,#edf4f9c9 35%,#edf4f900 85%); }
    .op-editorial-copy { width:85%; padding-block:22px 24px; }
    .op-editorial-brand { font-size:13px; margin-bottom:7px; }
    .op-editorial h1 { font-size:32px; line-height:1.5; }
    .op-editorial-lead { font-size:13px; max-width:220px; line-height:1.85; margin-top:10px; }
    .op-editorial-actions { gap:14px; margin-top:18px; }
    .op-editorial-link { font-size:12px; }
    .op-button { font-size:13px; padding:11px 17px; min-height:46px; gap:10px; }
    .op-discovery-inner { padding-block:10px; min-height:80px; }
    .op-discovery-links { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px 8px; }
    .op-discovery-links a { justify-content:center; min-height:36px; border-radius:5px; background:var(--op-surface); font-size:12px; padding:4px; text-align:center; }
    .op-section { padding-block:30px; }
    .op-section-heading { margin-bottom:20px; gap:12px; }
    .op-section-heading h2 { font-size:22px; }
    .op-section-heading p { font-size:12px; margin-top:2px; }
    .op-text-link { font-size:12px; gap:7px; }
    .op-text-link .op-icon { font-size:17px; }
    .op-products,.op-store .op-listing-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 14px; }
    .op-product-card { padding:6px; border-radius:11px; }
    .op-store .op-listing > .op-listing-container { padding-inline:12px; }
    .op-store .op-listing-products { column-gap:8px; }
    .op-listing-products .op-product-card { padding:4px; }
    .op-product-media { aspect-ratio:4/5; border-radius:7px; }
    .op-product-info { padding:11px 5px 4px; }
    .op-product-brand { font-size:11px; min-height:18px; margin-bottom:4px; }
    .op-product-info h3 { font-size:14px; line-height:1.8; margin-bottom:4px; }
    .op-product-price { font-size:15px; min-height:48px; gap:2px; padding-top:6px; }
    .op-product-price small { font-size:11px; }
    .op-product-price del { font-size:11px; }
    .op-product-badge { top:7px; right:7px; font-size:11px; padding:5px 7px; }
    .op-product-footer { margin-top:11px; padding-top:8px; gap:5px; }
    .op-product-stock { font-size:11px; gap:4px; }
    .op-product-details { width:27px; height:27px; }
    .op-category-grid { grid-template-columns:1fr; gap:12px; }
    .op-category { min-height:94px; gap:18px; }
    .op-category img { width:94px; height:94px; }
    .op-category > span { font-size:14px; }
    .op-category small { margin-top:4px; }
    .op-sale-grid { grid-template-columns:1fr; gap:16px; }
    .op-sale-grid .op-product-card { grid-template-columns:41% minmax(0,1fr); }
    .op-sale-grid .op-product-media { height:210px; }
    .op-sale-grid .op-product-info { padding:14px; }
    .op-sale-grid .op-product-info h3 { font-size:16px; }
    .op-sale-grid .op-product-price { font-size:17px; }
    .op-brands { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .op-brand { min-height:112px; gap:8px; font-size:12px; }
    .op-brand:nth-child(4) { border-inline-start:0; }
    .op-brand:nth-child(n+4) { border-top:1px solid var(--op-line); }
    .op-brand img { width:104px; height:52px; }
    .op-campaign .swiper-button-next,.op-campaign .swiper-button-prev { width:30px; height:30px; font-size:24px; }
    .op-campaign .swiper-pagination { bottom:1px; }
    .op-shopping-help { align-items:center; flex-direction:row; padding-block:24px; gap:12px; }
    .op-shopping-help h2 { font-size:18px; white-space:nowrap; }
    .op-shopping-help .op-button { font-size:12px; padding:10px 12px; gap:8px; min-height:44px; white-space:nowrap; }
    .op-shopping-help p { font-size:13px; margin-top:6px; }
    .op-banners { grid-template-columns:1fr; gap:16px; }
    .op-journal { grid-template-columns:1fr; gap:28px; }
    .op-journal h3 { font-size:16px; margin:0; padding:14px 8px 10px; }
    .op-store .op-footer { margin-top:32px; padding-top:28px; }
    .op-store .op-footer svg { width:36px; height:36px; }
    .op-store .op-detail-surface { padding-inline:14px; }
}
@media(prefers-reduced-motion:reduce) {
    .op-store *,.op-store *::before,.op-store *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

/* Category shortcuts: original category icons, with labels below like the brand row. */
.op-discovery-inner { display:block; padding-block:24px; }
.op-discovery-label { display:block; margin-bottom:18px; font-size:16px; }
.op-discovery-links { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.op-discovery-links a { display:flex; flex-direction:column; justify-content:flex-start; gap:12px; padding:10px 8px; min-height:144px; color:var(--op-ink); text-align:center; font-size:14px; line-height:1.8; border-radius:10px; }
.op-discovery-icon { display:grid; place-items:center; width:88px; height:88px; border-radius:50%; background:var(--op-surface); }
.op-discovery-icon img { display:block; width:80px; height:80px; object-fit:contain; }
.op-discovery-links a:hover { background:#f8fafb; color:var(--op-blue); }
.op-discovery-links a:focus-visible { outline:2px solid var(--op-blue); outline-offset:3px; }
@media (max-width:639px) {
    .op-discovery-inner { padding-block:18px; }
    .op-discovery-label { font-size:15px; margin-bottom:12px; }
    .op-discovery-links { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
    .op-discovery-links a { min-height:122px; gap:8px; padding:8px 4px; font-size:12px; background:transparent; }
    .op-discovery-icon { width:72px; height:72px; }
    .op-discovery-icon img { width:64px; height:64px; }
}

/* A single admin banner, or the storefront's photographic hero. */
.op-single-banner { background:var(--op-surface); }
.op-single-banner a { display:block; }
.op-single-banner img { display:block; width:100%; height:auto; }
.op-single-banner a:focus-visible { outline-offset:-4px; }
.op-fallback-hero .op-editorial-inner { min-height:420px; }
.op-fallback-hero .op-editorial-copy { width:48%; }
.op-fallback-hero .op-editorial-photo img { object-position:50% 64%; }
@media (max-width:639px) {
    .op-fallback-hero { background:#e8eff5; padding-bottom:260px; }
    .op-fallback-hero .op-editorial-inner { min-height:0; }
    .op-fallback-hero .op-editorial-copy { width:100%; padding-block:28px 16px; }
    .op-fallback-hero h1 { font-size:30px; }
    .op-fallback-hero .op-editorial-lead { max-width:100%; }
    .op-fallback-hero .op-editorial-photo { top:auto; height:280px; }
    .op-fallback-hero .op-editorial-photo img { object-position:20% 68%; }
    .op-fallback-hero::after { background:linear-gradient(180deg,#e8eff5 0%,#e8eff500 70%); top:auto; height:280px; }
}

/* Minimal category rail, matching the catalog shortcuts. */
.op-discovery-inner { padding-block:12px; }
.op-discovery-heading { display:flex; align-items:center; justify-content:center; min-height:36px; margin-bottom:8px; }
.op-discovery-heading .op-discovery-label { display:block; margin:0; padding:0; text-align:center; font-size:15px; }
.op-discovery-slider { margin-inline:0; }
.op-discovery-slider .op-discovery-links { display:flex; flex-wrap:nowrap; gap:0; width:100%; }
.op-discovery-slider .op-discovery-links a { width:100px; height:auto; min-height:100px; gap:7px; padding:4px 2px; font-size:12px; line-height:1.7; background:transparent; }
.op-discovery-slider .op-discovery-icon { width:56px; height:56px; background:#fff; border:1px solid var(--op-line); }
.op-discovery-slider .op-discovery-icon img { width:42px; height:42px; }
@media(max-width:639px) {
    .op-discovery-heading .op-discovery-label { font-size:14px; }
    .op-discovery-slider .op-discovery-links a { width:78px; min-height:96px; font-size:11px; }
    .op-discovery-slider .op-discovery-icon { width:48px; height:48px; }
    .op-discovery-slider .op-discovery-icon img { width:36px; height:36px; }
}
.op-discovery-pagination { display:flex; justify-content:center; align-items:center; min-height:32px; margin-top:2px; }
.op-discovery-pagination .swiper-pagination-bullet { display:grid; place-items:center; flex-shrink:0; width:24px; height:32px; margin:0!important; padding:0; background:transparent; border:0; opacity:1; border-radius:4px; cursor:pointer; }
.op-discovery-pagination .swiper-pagination-bullet::before { content:''; width:6px; height:6px; border-radius:50%; background:#aab9c2; }
.op-discovery-pagination .swiper-pagination-bullet-active::before { background:var(--op-blue); width:8px; height:8px; }
.op-discovery-pagination.swiper-pagination-lock { display:none; }

/* White catalog hero, featuring an actual linked product photograph. */
.op-catalog-hero { background:#fff; border-bottom:1px solid var(--op-line); }
.op-catalog-hero-inner { display:grid; grid-template-columns:0.85fr 1.15fr; align-items:center; gap:clamp(28px,5vw,80px); padding-block:28px; }
.op-catalog-hero-copy h1 { margin:0 0 26px; font-size:clamp(38px,4.6vw,64px); font-weight:800; line-height:1.4; letter-spacing:-1px; }
.op-catalog-hero-copy .op-button { min-height:48px; }
.op-catalog-hero-product { display:block; min-width:0; color:var(--op-ink); }
.op-catalog-hero-photo { overflow:hidden; border-radius:12px; background:var(--op-surface); }
.op-catalog-hero-photo img { display:block; width:100%; height:310px; object-fit:cover; object-position:center 72%; }
.op-catalog-hero-caption { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:12px 0; font-size:13px; line-height:1.8; }
.op-catalog-hero-caption > span:first-child { overflow-wrap:anywhere; }
.op-catalog-hero-detail { display:flex; align-items:center; gap:10px; color:var(--op-blue); white-space:nowrap; }
.op-catalog-hero-detail .op-icon { width:18px; height:18px; }
.op-catalog-hero-product:hover .op-catalog-hero-detail { text-decoration:underline; text-underline-offset:5px; }
@media(max-width:639px) {
    .op-catalog-hero-inner { grid-template-columns:1fr; gap:22px; padding-block:24px 14px; }
    .op-catalog-hero-copy h1 { margin-bottom:18px; font-size:36px; line-height:1.45; letter-spacing:0; }
    .op-catalog-hero-copy h1 br { display:none; }
    .op-catalog-hero-photo img { height:240px; }
    .op-catalog-hero-caption { gap:10px; font-size:12px; padding-top:10px; }
}

/* A single product cutout on one continuous, quiet surface. */
.op-showcase { overflow:hidden; background:#f0f4f6; border-bottom:1px solid #e7edf0; }
.op-showcase-inner { min-height:340px; display:grid; grid-template-columns:0.9fr 1.1fr; align-items:center; gap:32px; }
.op-showcase-copy { padding-block:36px; justify-self:center; }
.op-showcase-copy h1 { max-width:420px; font-size:clamp(28px,2.5vw,36px); line-height:1.65; font-weight:600; margin:0 0 18px; }
.op-showcase-description { max-width:390px; margin:0 0 22px; font-size:14px; line-height:2; color:var(--op-muted); }
.op-showcase-browse { display:inline-flex; align-items:center; gap:16px; min-height:48px; color:var(--op-ink); font-size:14px; font-weight:500; }
.op-showcase-browse-icon { display:grid; place-items:center; width:20px; height:20px; color:var(--op-blue); }
.op-showcase-browse-icon .op-icon { width:19px; height:19px; }
.op-showcase-browse:hover { color:var(--op-blue); }
.op-showcase-visual { position:relative; min-width:0; }
.op-showcase-product { display:block; color:var(--op-ink); }
.op-showcase-shoe { display:block; width:100%; height:290px; object-fit:contain; filter:drop-shadow(0 20px 12px #273b4a16); }
.op-showcase-model { display:flex; align-items:center; justify-content:center; gap:16px; font-size:13px; line-height:1.8; padding:0 0 16px; }
.op-showcase-model .op-icon { width:17px; height:17px; color:var(--op-blue); }
.op-showcase-product:hover .op-showcase-model { color:var(--op-blue); }
@media(max-width:639px) {
    .op-showcase-inner { grid-template-columns:1fr; gap:0; min-height:0; padding-top:24px; }
    .op-showcase-copy { padding:0; text-align:center; }
    .op-showcase-copy h1 { font-size:26px; margin:0 0 10px; max-width:none; }
    .op-showcase-description { margin:0 auto 16px; font-size:13px; max-width:330px; }
    .op-showcase-browse { font-size:13px; gap:12px; }
    .op-showcase-shoe { height:230px; }
    .op-showcase-model { padding-bottom:20px; font-size:12px; }
}

@media(max-width:1023px) {
    .op-store #headerMobileTop { max-height:72px; overflow:hidden; opacity:1; transition:opacity 180ms ease,max-height 220ms ease,padding 220ms ease; }
    .op-store .op-header-compact #headerMobileTop { max-height:10px; padding-top:10px; padding-bottom:0; opacity:0; pointer-events:none; }
    .op-store main.op-home,.op-store main:not(.op-home) { padding-top:var(--op-mobile-header-spacer,var(--op-header-offset,110px)); }
}

/* Keep sale cards identical to the latest-product cards. */
.op-sale-slider .swiper-wrapper { align-items:stretch; }
.op-sale-slider:has(.swiper-pagination-lock) .swiper-wrapper { justify-content:center; }
.op-sale-slider .swiper-slide { height:auto; display:flex; }
.op-sale-slider .op-product-card { width:100%; }
.op-sale-slider .op-sale-pagination { margin-top:16px; }

/* Category hover feedback without changing card or carousel geometry. */
.op-category { transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease; }
.op-category > .op-icon { transition:transform .2s ease; }
.op-discovery-slider .op-discovery-links a { transition:color .2s ease; }
.op-discovery-icon { transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.op-category:focus-visible { background:#f7fbfd; color:var(--op-blue); box-shadow:0 6px 18px #17242b12; }
.op-discovery-links a:focus-visible .op-discovery-icon { background:#dfedf4; }
@media(hover:hover) and (pointer:fine) {
    .op-category:hover { transform:translateY(-3px); background:#f7fbfd; color:var(--op-blue); box-shadow:0 8px 22px #17242b14; }
    .op-category:hover > .op-icon { transform:translateX(-4px); }
    .op-discovery-slider .op-discovery-links a:hover { color:var(--op-blue); }
    .op-discovery-links a:hover .op-discovery-icon { transform:translateY(-4px) scale(1.04); background:#dfedf4; box-shadow:0 5px 12px #087fae16; }
}
@media(prefers-reduced-motion:reduce) {
    .op-category:hover,.op-category:hover > .op-icon,.op-discovery-links a:hover .op-discovery-icon { transform:none; }
}

@media(max-width:1023px) {
    .op-footer-info-grid { width:100%; column-gap:20px; }
    .op-footer-info-grid .op-footer-about { grid-column:1 / -1; width:100%; align-items:center; text-align:center; }
    .op-footer-about p { width:100%; max-width:none; margin-inline:0; text-align:justify; text-align-last:center; }
    .op-footer-info-grid .footer-suggested-categories,.op-footer-info-grid .footer-suggested-brands { width:100%; min-width:0; text-align:center; }
    .op-footer-info-grid :is(.footer-suggested-categories,.footer-suggested-brands) a { overflow-wrap:anywhere; }
}

/* Product detail: photo, identity and purchase controls form one quiet composition. */
.op-store main.op-product-detail { background:#fff; }
.op-product-detail > .container { padding-bottom:24px; }
.op-product-detail .op-detail-layout { display:block; margin-bottom:24px; }
.op-store .op-product-detail .op-detail-surface { padding:0; border:0; border-radius:0; background:#fff; }
.op-product-detail .op-detail-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; margin-bottom:24px; }
.op-detail-grid > .op-detail-gallery,.op-detail-grid > .op-detail-info { grid-column:auto; min-width:0; }
.op-product-detail .op-detail-info { min-height:0; }
.op-detail-gallery { position:relative; }
.op-detail-main-photo { display:block; width:100%; overflow:hidden; border-radius:12px; }
.op-detail-main-photo img,.op-detail-photo { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; background:transparent; border-radius:12px; cursor:zoom-in; }
.op-detail-gallery .product-gallery-mobile-swiper { min-width:0; border-radius:0; }
.op-detail-gallery .swiper-pagination { position:relative; bottom:auto; padding-top:12px; text-align:center; }
.op-detail-gallery button:focus-visible { outline:2px solid var(--op-blue); outline-offset:3px; }
.op-detail-overview { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:20px; padding:0 0 20px; }
.op-detail-identity { min-width:0; }
.op-store .op-product-detail .op-detail-identity h1 { margin:0; font-size:clamp(20px,2vw,28px); font-weight:600; line-height:1.6; overflow-wrap:anywhere; }
.op-detail-subtitle { margin:6px 0 0; color:var(--op-muted); font-size:12px; line-height:1.8; overflow-wrap:anywhere; text-align:right; }
.op-detail-price { display:flex; flex-direction:column; gap:4px; align-items:flex-end; padding-top:3px; }
.op-detail-current-price { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.op-detail-total { color:var(--op-ink); font-size:20px; font-weight:600; line-height:1.5; white-space:nowrap; }
.op-detail-current-price > span { color:var(--op-muted); font-size:10px; }
.op-detail-discount { display:flex; align-items:center; gap:6px; font-size:11px; color:var(--op-muted); }
.op-detail-discount > span { padding:2px 5px; border-radius:5px; background:#fff0f1; color:#b42e43; }
.op-detail-options { display:flex; flex-direction:column; }
.op-detail-form-block { margin:0; }
.op-detail-selection-heading { display:flex; align-items:center; min-height:36px; margin-bottom:8px; font-size:13px; }
.op-detail-size-guide { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0; color:var(--op-muted); font-size:12px; }
.op-detail-size-guide:hover { color:var(--op-blue); }
.op-product-detail #add-to-cart-form > .mb-4 { font-size:12px; color:var(--op-muted); }
.op-product-detail #add-to-cart-form fieldset { gap:8px; }
.op-product-detail #add-to-cart-form fieldset input + label { min-width:46px; width:auto; padding-inline:10px; border-radius:8px; }
.op-detail-quantity-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding-bottom:16px; }
.op-detail-quantity { display:flex; gap:0; width:fit-content; border:0; border-radius:9px; overflow:hidden; background:#f5f7f8; }
.op-detail-surface .op-detail-quantity :is(.quantity-input,.quantity-decrease,.quantity-increase) { border:0; border-radius:0; min-width:38px; height:38px; background:transparent; box-shadow:none; }
.op-detail-quantity .quantity-input { width:38px; font-size:12px; }
.op-detail-quantity button:focus-visible,.op-detail-size-guide:focus-visible { outline:2px solid var(--op-blue); outline-offset:-2px; }
.op-detail-buy { margin:0 0 20px; }
.op-detail-desktop-submit { display:none; }
.op-detail-disclosure { border-block-start:1px solid var(--op-line); }
.op-detail-disclosure summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; cursor:pointer; list-style:none; font-size:13px; font-weight:500; }
.op-detail-disclosure summary::-webkit-details-marker { display:none; }
.op-detail-disclosure summary::after { content:'+'; color:var(--op-muted); font-size:20px; font-weight:400; }
.op-detail-disclosure[open] > summary::after { content:'−'; }
.op-detail-disclosure summary:focus-visible { outline:2px solid var(--op-blue); outline-offset:2px; }
.op-detail-disclosure > :not(summary) { padding-bottom:20px; }
.op-detail-disclosure .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; font-size:13px; }
.op-detail-disclosure .grid > div { border-radius:0; padding:0; background:none; }
.op-detail-spec-label { margin-bottom:4px; color:var(--op-muted); font-size:11px; }
.op-detail-disclosure .line-clamp-1 { overflow:visible; display:block; white-space:normal; }
.op-detail-edit { display:inline-flex; align-items:center; gap:5px; min-height:44px; padding:0; color:var(--op-muted); font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.op-detail-edit:hover { color:var(--op-blue); }
.op-detail-edit:focus-visible { outline:2px solid var(--op-blue); outline-offset:3px; }
.op-product-detail .op-detail-services { border-top:1px solid var(--op-line); padding-top:16px; }
.op-detail-services > div { border:0; border-radius:0; padding:8px 0; font-size:12px; }
.op-detail-information { margin-bottom:32px; background:#fff; }
.op-detail-information .product-description { font-size:14px; line-height:2; overflow-wrap:anywhere; }
.op-detail-information .product-description img { max-width:100%; height:auto; }
.op-detail-bar-price { display:flex; flex-direction:column; gap:2px; flex-shrink:0; font-weight:600; font-size:17px; }
.op-detail-bar-price small { font-size:11px; font-weight:400; color:var(--op-muted); }
@media(min-width:1024px) {
    .op-product-detail .op-detail-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:start; gap:48px; }
    .op-detail-gallery { position:sticky; top:calc(var(--op-header-offset,124px) + 24px); }
    .op-detail-gallery .hidden.space-y-4 > .flex { flex-wrap:wrap; }
    .op-detail-info { padding-block:12px; }
    .op-detail-desktop-submit { display:block; }
}
@media(max-width:1023px) {
    .op-store .op-product-detail > .container { padding-top:12px; padding-inline:16px; }
    .op-product-detail .op-detail-grid { gap:16px; }
    .op-detail-gallery > div > .lg\:hidden > .mb-4 { margin-bottom:0; }
    .op-detail-overview { gap:16px; padding-bottom:8px; }
    .op-mobile-size-ready .op-detail-selection-heading,
    .op-mobile-size-ready .op-detail-selected-variant { display:none; }
    .op-detail-quantity-row { margin-top:0; }
    .op-detail-surface .op-detail-quantity :is(.quantity-input,.quantity-decrease,.quantity-increase) { height:44px; min-width:40px; }
    .op-detail-buy { margin:0; }
    .op-store .op-product-detail .op-purchase-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-radius:0; background:#fff; }
    .op-product-detail .op-purchase-bar > div:last-child { flex:1; max-width:260px; }
}
@media(max-width:359px) {
    .op-detail-overview { grid-template-columns:minmax(0,1fr); gap:8px; }
    .op-detail-price,.op-detail-current-price { align-items:flex-start; }
    .op-detail-current-price { flex-direction:row; align-items:baseline; gap:5px; }
}
/* Mobile size selection uses the same form controls as the desktop page. */
.op-size-picker-trigger { display:none; }
.op-size-picker-trigger[hidden] { display:none!important; }
html.op-size-picker-open,html.op-size-picker-open body { overflow:hidden; }
.op-size-picker { position:fixed; inset:auto 0 0; width:100%; max-width:540px; max-height:75dvh; margin:0 auto; padding:10px 24px calc(24px + env(safe-area-inset-bottom)); border:0; border-radius:24px 24px 0 0; color:var(--op-ink); background:#fff; overflow-y:auto; overscroll-behavior:contain; }
.op-size-picker::backdrop { background:#10232d66; backdrop-filter:blur(3px); }
.op-size-picker[open] { animation:op-size-sheet-in 180ms ease-out; }
.op-size-picker-handle { width:34px; height:4px; margin:0 auto 12px; border-radius:4px; background:#dbe2e6; }
.op-size-picker-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.op-size-picker-heading h2 { font-size:16px; font-weight:600; }
.op-size-picker-close { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:var(--op-muted); background:#f3f6f7; }
.op-size-picker #op-product-variants { display:grid; grid-template-columns:repeat(auto-fit,minmax(60px,1fr)); gap:10px; padding:3px; }
.op-size-picker input[name=inventory] { display:block; position:absolute; width:1px; height:1px; opacity:0; }
.op-size-picker input[name=inventory] + label { display:flex; align-items:center; justify-content:center; width:100%; min-width:0; height:52px; padding:6px; border:1px solid #dce4e8; border-radius:12px; box-shadow:none; background:#fff; color:var(--op-ink); cursor:pointer; transition:background .15s,border-color .15s; }
.op-size-picker input[name=inventory] + label p { font-size:15px; font-weight:500; }
.op-size-picker input[name=inventory]:checked + label { border-color:var(--op-blue); background:#edf6fa; color:#075f82; box-shadow:inset 0 0 0 1px var(--op-blue); }
.op-size-picker input[name=inventory]:focus-visible + label,.op-size-picker-close:focus-visible,.op-size-picker-trigger:focus-visible { outline:2px solid var(--op-blue); outline-offset:3px; }
@keyframes op-size-sheet-in { from { transform:translateY(24px); opacity:0; } to { transform:translateY(0); opacity:1; } }
@media(max-width:1023px) {
    .op-mobile-size-ready #add-to-cart-form > #op-product-variants { display:none; }
    .op-size-picker-trigger { display:flex; align-items:center; justify-content:space-between; gap:16px; flex:0 0 112px; min-height:48px; padding:6px 12px; border:1px solid #dce4e8; border-radius:10px; text-align:right; background:#f7f9fa; color:var(--op-ink); }
    .op-size-picker-trigger > span { display:flex; flex-direction:column; gap:1px; }
    .op-size-picker-trigger small { font-size:10px; color:var(--op-muted); }
    #op-size-picker-value { font-size:14px; font-weight:600; }
    .op-size-picker-trigger svg { flex-shrink:0; color:var(--op-muted); }
    .op-store .op-product-detail .op-purchase-bar { gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .op-size-picker[open] { animation:none; } }

/* Specifications stay open, with a consistent label/value rhythm. */
.op-detail-mobile-photo { display:block; width:100%; overflow:hidden; padding:0; border:0; border-radius:12px; background:transparent; }
@media(max-width:1023px) {
    .op-detail-mobile-photo { width:fit-content; max-width:100%; margin-inline:auto; }
    .op-detail-mobile-photo .op-detail-photo { width:auto; max-width:100%; max-height:min(52svh,400px); margin-inline:auto; }
}
.op-detail-specifications { margin-top:4px; border:1px solid #e9eef1; border-radius:14px; background:#f8fafb; }
.op-detail-specifications > h2 { margin:0; min-height:56px; padding:16px; font-size:14px; line-height:24px; font-weight:600; }
.op-detail-specifications > .op-detail-spec-list { margin:0; padding:0 16px 8px; }
.op-detail-spec-row { display:grid; grid-template-columns:minmax(72px,.38fr) minmax(0,1fr); align-items:baseline; gap:16px; padding-block:12px; border-top:1px solid #e8edf0; }
.op-detail-spec-row dt { margin:0; font-size:11px; line-height:1.9; color:var(--op-muted); }
.op-detail-spec-row dd { margin:0; font-size:13px; line-height:1.9; color:var(--op-ink); overflow-wrap:anywhere; }
.op-detail-specifications > .op-detail-edit { margin-inline:16px; padding-bottom:12px; }

/* On product pages, page scrolling remains native; only the gallery handles pinch. */
.product-gallery-zoom-scroll { scrollbar-width:none; }
.product-gallery-zoom-scroll::-webkit-scrollbar { display:none; }

.op-detail-size-guide { min-height:40px; padding-inline:12px; gap:7px; border:1px solid #dfe8ed; border-radius:10px; background:#f5f8fa; color:#435d6b; font-weight:500; transition:background .15s,border-color .15s; }
.op-detail-size-guide:hover { border-color:#bcd5e0; background:#edf4f7; }
.op-related-products { margin-block:24px 32px; }
.op-related-products .op-section-heading { margin-bottom:16px; }
.op-related-products .op-section-heading h2 { font-size:20px; font-weight:600; }
.op-related-products .op-sale-slider { padding:2px 1px 10px; }

/* Compact navigation and size help share the store's line icon system. */
.op-detail-size-guide { min-height:44px; padding:6px 12px 6px 8px; gap:9px; border:1px solid transparent; border-radius:12px; background:#edf5f9; color:#24617a; font-size:12px; font-weight:500; }
.op-size-guide-icon { display:grid; place-items:center; width:28px; height:28px; flex-shrink:0; border-radius:8px; background:#fff; color:#357991; }
.op-size-guide-icon .op-icon { width:20px; height:20px; }
.op-detail-size-guide:hover { border-color:#d2e5ee; background:#e6f1f6; color:#18536c; }
.op-detail-size-guide:focus-visible { outline:2px solid var(--op-blue); outline-offset:3px; }
@media(max-width:1023px) {
    .op-store .op-mobile-nav { background:#fff; border-top:1px solid #edf0f2; box-shadow:none; }
    .op-store .op-mobile-nav > .container { padding-inline:8px; }
    .op-store .op-mobile-nav :is(a,.op-support-launcher) { width:100%; min-height:60px; padding-block:6px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:2px; border:0; background:transparent; color:#536873; -webkit-tap-highlight-color:transparent; }
    .op-store .op-mobile-nav .op-nav-icon { display:grid; place-items:center; width:36px; height:28px; flex-shrink:0; border-radius:10px; background:transparent; }
    .op-store .op-mobile-nav .op-nav-icon .op-icon { width:24px; height:24px; stroke-width:1.8; }
    .op-store .op-mobile-nav .op-nav-label { padding:0; font-size:11px; font-weight:500; line-height:18px; white-space:nowrap; }
    .op-store .op-mobile-nav :is(a[aria-current=page],a[aria-expanded=true],.op-support-launcher[aria-expanded=true]) { color:#087fae; background:transparent; border:0; }
    .op-store .op-mobile-nav :is(a[aria-current=page],a[aria-expanded=true],.op-support-launcher[aria-expanded=true]) .op-nav-icon { background:#edf5f9; }
    .op-store .op-mobile-nav :is(a[aria-current=page],a[aria-expanded=true],.op-support-launcher[aria-expanded=true]) .op-nav-label { font-weight:600; }
    .op-store .op-mobile-nav :is(a,.op-support-launcher):focus-visible { outline:2px solid var(--op-blue); outline-offset:-4px; border-radius:10px; }
}

.op-filter-close { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:0 12px; border:1px solid #e3eaee; border-radius:10px; background:#f5f8fa; color:#536975; font-size:12px; }
.op-filter-close:hover { background:#edf3f6; }
.op-filter-close:focus-visible { outline:2px solid var(--op-blue); outline-offset:3px; }

/* Size guidance: quiet fields, visible units and a short opening transition. */
#size-guide-modal .op-size-guide-panel { max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; border:1px solid #edf1f3; border-radius:18px; background:#fff; box-shadow:0 16px 60px #10232d18; }
#size-guide-modal:not(.hidden) .op-size-guide-panel { animation:op-size-guide-enter 220ms cubic-bezier(.2,.7,.2,1) both; }
.op-size-guide-header { display:flex; align-items:center; justify-content:space-between; padding:12px 16px 8px; }
.op-size-guide-header h2 { margin:0; font-size:15px; font-weight:600; }
.op-size-guide-header button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:transparent; color:#73818a; }
.op-size-guide-header button:hover { background:#f4f7f8; }
.op-size-guide-form { display:grid; gap:16px; padding:4px 20px 20px; }
.op-size-guide-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.op-size-guide-form :is(legend,.op-size-guide-field > label) { display:block; margin-bottom:7px; font-size:12px; font-weight:500; color:#526772; }
.op-size-guide-segments { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; border-radius:11px; background:#f3f6f8; }
.op-size-guide-segments label { position:relative; display:flex; min-height:40px; align-items:center; justify-content:center; cursor:pointer; }
.op-size-guide-segments input { position:absolute; width:1px; height:1px; opacity:0; }
.op-size-guide-segments span { display:grid; place-items:center; width:100%; min-height:40px; border:1px solid transparent; border-radius:8px; font-size:13px; color:#687b87; transition:background .15s,color .15s; }
.op-size-guide-segments input:checked + span { border-color:#e4edf1; background:#fff; color:#096f97; font-weight:500; }
.op-size-guide-segments input:focus-visible + span { outline:2px solid var(--op-blue); outline-offset:1px; }
.op-size-guide-input { display:flex; align-items:center; gap:8px; min-height:48px; padding-inline:12px; border:1px solid #e9eef1; border-radius:10px; background:#f7f9fa; transition:background .15s,border-color .15s; }
.op-size-guide-input:focus-within { border-color:#a6cadb; background:#fff; }
.op-size-guide-input input { width:100%; min-width:0; height:46px; padding:0; border:0; border-radius:0; outline:none; box-shadow:none; background:transparent; color:var(--op-ink); font-size:16px; text-align:right; appearance:textfield; }
.op-size-guide-input input:focus { border:0; outline:none; box-shadow:none; background:transparent; }
.op-size-guide-input input::-webkit-inner-spin-button,.op-size-guide-input input::-webkit-outer-spin-button { appearance:none; margin:0; }
.op-size-guide-input > span { flex-shrink:0; color:#7d8d97; font-size:10px; }
.op-size-guide-form .op-size-guide-submit { width:100%; min-height:46px; margin-top:2px; border-radius:10px; font-size:13px; font-weight:500; }
.op-size-guide-result:not(.hidden) { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-radius:10px; background:#edf6fa; color:#21647f; }
.op-size-guide-result span { font-size:12px; }
.op-size-guide-result strong { font-size:20px; }
.op-size-guide-header button:focus-visible { outline:2px solid var(--op-blue); outline-offset:1px; }
@keyframes op-size-guide-enter { from { opacity:0; transform:translateY(12px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(prefers-reduced-motion:reduce) { #size-guide-modal:not(.hidden) .op-size-guide-panel { animation:none; } }

@media(max-width:1023px) {
    /* Small editable controls can trigger automatic focus zoom on mobile browsers. */
    .op-product-detail :is(input[type=number],input[type=text],input[type=email],textarea,select) { font-size:16px; }
}

@media(max-width:1023px) {
    /* Reserve measured navigation + purchase-bar space after the footer, not before it. */
    body.op-store:has(.op-product-detail) { padding-bottom:calc(var(--op-support-bottom,156px) - 16px); }
    .op-store main.op-product-detail { padding-bottom:0; }
    .op-store .op-product-detail > .container { padding-bottom:0; }
    .op-product-detail .op-related-products { margin-bottom:0; }
    body.op-store:has(.op-product-detail) .op-footer { margin-top:24px; }
}

/* Cart: one calm list, with product identity and price kept together. */
.op-store main.op-cart-page { background:#fff; }
.op-cart-list { border:1px solid #e6ecef; border-radius:16px; background:#fff; overflow:hidden; }
.op-cart-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 20px 16px; }
.op-store.op-cart .op-cart-title { display:flex; align-items:center; gap:10px; margin:0; font-size:19px; font-weight:600; }
.op-cart-count { font-size:11px; font-weight:400; color:#7a8993; }
.op-cart-items { list-style:none; margin:0; padding:0 20px; }
.op-cart-item { display:grid; grid-template-columns:88px minmax(0,1fr); align-items:start; gap:16px; padding-block:20px; }
.op-cart-item + .op-cart-item { border-top:1px solid #edf1f3; }
.op-cart-photo { display:block; overflow:hidden; border-radius:10px; background:#f6f8f9; }
.op-cart-photo img { display:block; width:100%; height:112px; object-fit:contain; }
.op-cart-photo-placeholder { display:grid; place-items:center; width:100%; height:112px; color:#afbdc6; }
.op-cart-photo-placeholder .op-icon { width:28px; height:28px; }
.op-cart-item-content { display:flex; flex-direction:column; min-width:0; min-height:112px; }
.op-cart-item-top { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.op-cart-item-name { min-width:0; padding-top:5px; font-size:14px; line-height:1.8; color:var(--op-ink); font-weight:500; overflow-wrap:anywhere; }
.op-cart-item-name:hover { color:var(--op-blue); }
.op-cart-item-top form { flex-shrink:0; margin:-4px -8px 0 0; }
.op-cart-remove { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:transparent; color:#8998a1; }
.op-cart-remove:hover { color:#ba3b4c; background:#fff3f4; }
.op-cart-item-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px; margin-top:3px; font-size:11px; line-height:1.8; color:#7b8992; }
.op-cart-item-meta bdi { color:#405661; }
.op-cart-item-prices { display:flex; align-items:baseline; justify-content:flex-end; flex-wrap:wrap; gap:4px 12px; margin-top:auto; padding-top:12px; }
.op-cart-item-prices del { display:inline-flex; gap:4px; color:#98a4ac; font-size:10px; }
.op-cart-item-prices del span { font-size:9px; }
.op-cart-item-price { display:inline-flex; align-items:baseline; gap:5px; color:var(--op-ink); }
.op-cart-item-price bdi { font-size:16px; font-weight:600; white-space:nowrap; }
.op-cart-item-price span { color:#7b8992; font-size:10px; }
.op-cart-empty { display:flex; align-items:center; flex-direction:column; gap:16px; padding:40px 8px; font-size:14px; }
.op-cart-empty-icon { display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:#f2f6f8; color:#7e98a7; }
.op-cart-empty-icon .op-icon { width:28px; height:28px; }
.op-cart-summary { position:sticky; top:calc(var(--op-header-offset,124px) + 16px); }
.op-cart-summary .py-6 { padding-block:16px; }
.op-cart-summary .text-primary { color:var(--op-ink); }
.op-cart-page :is(.op-cart-photo,.op-cart-item-name,.op-cart-remove):focus-visible { outline:2px solid var(--op-blue); outline-offset:2px; }
@media(max-width:1023px) {
    body.op-store.op-cart { padding-bottom:calc(var(--op-support-bottom,156px) - 16px); }
    .op-store main.op-cart-page { padding-bottom:0; }
    .op-store main.op-cart-page > .container { padding-top:8px; padding-bottom:0; padding-inline:16px; }
    body.op-store.op-cart .op-footer { margin-top:24px; }
    .op-cart-heading { padding:16px 16px 8px; }
    .op-store.op-cart .op-cart-title { font-size:18px; }
    .op-cart-items { padding-inline:16px; }
    .op-cart-item { grid-template-columns:80px minmax(0,1fr); gap:12px; padding-block:16px; }
    .op-cart-item-name { font-size:13px; }
    .op-cart-item-prices { gap:4px 8px; }
    .op-cart-item-price bdi { font-size:15px; }
}
@media(max-width:359px) {
    .op-cart-item { grid-template-columns:68px minmax(0,1fr); gap:10px; }
    .op-cart-photo img,.op-cart-photo-placeholder { height:96px; }
    .op-cart-item-content { min-height:96px; }
    .op-cart-item-top { gap:0; }
}

/* Checkout shares the cart's restrained surfaces and progress indicator. */
.op-store main.op-checkout-page { background:#fff; }
.op-store main.op-checkout-page > .container { padding-top:12px; padding-bottom:24px; }
.op-store main.op-checkout-page .op-checkout-panel,.op-store main.op-checkout-page .op-checkout-summary { padding:20px; border:1px solid #e5ecef; border-radius:16px; background:#fff; box-shadow:none; }
.op-checkout-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.op-checkout-panel-heading h1 { margin:0; font-size:19px; font-weight:600; }
.op-checkout-panel-heading > span { color:#85949e; font-size:11px; white-space:nowrap; }
.op-checkout-page .op-checkout-section-title { margin:0; font-size:15px; line-height:1.8; font-weight:600; color:var(--op-ink); }
.op-store main.op-checkout-page .op-address-card,.op-store main.op-checkout-page .op-delivery-choice { height:auto; min-height:100px; padding:16px; border:1px solid #e1e9ee; border-radius:12px; background:#fff; box-shadow:none; }
.op-store main.op-checkout-page input:checked + :is(.op-address-card,.op-delivery-choice) { border-color:#9fc9db; background:#f5fafc; }
.op-checkout-page .peer[type=radio] { display:block; position:absolute; width:1px; height:1px; opacity:0; }
.op-checkout-page input:focus-visible + :is(.op-address-card,.op-delivery-choice) { outline:2px solid var(--op-blue); outline-offset:3px; }
.op-checkout-page .op-address-card :is(.line-clamp-1,.line-clamp-2) { display:block; overflow:visible; white-space:normal; overflow-wrap:anywhere; }
.op-checkout-page .op-address-add { min-height:44px; padding:6px 10px; border:1px solid #e3ebef; border-radius:10px; background:#f6f9fa; font-size:11px; color:#3a6b80; }
.op-checkout-page .op-address-add > div { width:18px; height:18px; }
.op-checkout-page .op-delivery-choices { gap:12px; }
.op-checkout-page .op-delivery-choice img { width:64px; max-height:32px; object-fit:contain; }
.op-checkout-page .op-delivery-choice .text-primary { color:var(--op-ink); font-size:14px; }
.op-checkout-page .op-checkout-summary .py-6 { padding-block:16px; }
.op-checkout-page .op-checkout-summary :is(.text-primary,.font-bold) { color:var(--op-ink); }
.op-checkout-page .op-checkout-summary .font-bold { font-weight:600; }
.op-payment-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; align-items:start; }
.op-payment-items { list-style:none; margin:0; padding:0; }
.op-payment-item { display:flex; align-items:flex-start; gap:16px; padding:16px 0; }
.op-payment-item + .op-payment-item { border-top:1px solid #edf1f3; }
.op-payment-item:first-child { padding-top:0; }
.op-payment-item:last-child { padding-bottom:0; }
.op-payment-item > img { flex-shrink:0; width:72px; height:88px; border-radius:10px; object-fit:contain; background:#f5f8fa; }
.op-payment-item-info { min-width:0; flex:1; }
.op-payment-item-title { margin:0 0 7px; font-size:14px; font-weight:500; line-height:1.8; overflow-wrap:anywhere; }
.op-payment-item-meta { display:flex; flex-wrap:wrap; gap:6px 14px; color:#81929c; font-size:11px; }
.op-payment-item-price { display:flex; align-items:baseline; justify-content:flex-end; flex-wrap:wrap; gap:5px; margin-top:12px; font-size:14px; color:var(--op-ink); }
.op-payment-item-price del { margin-inline-end:6px; color:#97a4ac; font-size:10px; }
.op-payment-item-price small { color:#83929b; font-size:10px; }
.op-checkout-totals { margin-top:12px; }
.op-checkout-total-row { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:12px 0; font-size:12px; line-height:1.8; }
.op-checkout-total-row > span:first-child { color:#71828d; }
.op-checkout-total-row > span:last-child { display:flex; align-items:baseline; justify-content:flex-end; gap:5px; flex-wrap:wrap; text-align:left; }
.op-checkout-total-row small { font-size:10px; font-weight:400; color:#8997a0; }
.op-checkout-total-row .op-checkout-discount { color:#3e7b6d; }
.op-checkout-grand-total { margin-top:4px; padding-top:16px; border-top:1px solid #e8edf0; font-weight:600; }
.op-checkout-grand-total > span:first-child { color:var(--op-ink); }
.op-checkout-grand-total bdi { font-size:19px; }
.op-checkout-coupon { margin-top:16px; padding:16px 0; border-top:1px solid #edf1f3; }
.op-checkout-coupon > label { display:block; margin-bottom:8px; font-size:12px; color:#6e818c; }
.op-checkout-coupon-field { display:flex; align-items:center; gap:8px; padding:4px 4px 4px 12px; border:1px solid #e4ebef; border-radius:10px; background:#f7f9fa; }
.op-checkout-coupon-field input { width:100%; min-width:0; min-height:40px; padding:0 8px; border:0; outline:none; box-shadow:none; background:transparent; font-size:16px; }
.op-checkout-coupon-field input:focus { border:0; outline:none; box-shadow:none; }
.op-checkout-coupon-field:focus-within { border-color:#aacdde; }
.op-checkout-coupon-field button { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:80px; min-height:44px; padding:0 14px; border:1px solid #d5e7ef; border-radius:8px; background:#eaf4f8; color:#176e91; font-size:12px; font-weight:500; white-space:nowrap; }
.op-checkout-coupon-field button:hover { background:#dfedf4; border-color:#bedce9; }
.op-store #op-coupon-feedback:focus { outline:none; box-shadow:none; }
.op-checkout-field-error,.op-checkout-field-success { margin-top:7px; font-size:12px; line-height:1.8; }
.op-checkout-field-error { color:#bc3d50; }
.op-checkout-field-success { color:#3e7b6d; }
.op-checkout-payment-form > p { margin:0 0 14px; color:#83929b; font-size:11px; line-height:1.9; text-align:center; }
.op-checkout-payment-form .btn-primary { display:block; width:100%; min-height:48px; font-size:14px; font-weight:500; border-radius:10px; }
.op-checkout-page :is(button,a):focus-visible { outline:2px solid var(--op-blue); outline-offset:2px; }
.op-checkout-modal-panel { border:1px solid #e4ebef; border-radius:16px; background:#fff; box-shadow:0 16px 60px #10232d14; }
.op-checkout-modal-panel :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]),select,textarea) { min-height:46px; border-color:#e3eaee; border-radius:10px; background:#f8fafb; font-size:16px; }
.op-checkout-modal-panel label { font-size:12px; color:#647b88; }
@media(min-width:1024px) {
    .op-payment-layout { grid-template-columns:minmax(0,1fr) minmax(300px,380px); gap:28px; }
    .op-checkout-summary { position:sticky; top:calc(var(--op-header-offset,124px) + 16px); }
}
@media(max-width:1023px) {
    .op-store main.op-checkout-page > .container { padding-top:8px; padding-bottom:0; padding-inline:16px; }
    .op-store main.op-checkout-page :is(.op-checkout-panel,.op-checkout-summary) { padding:16px; }
    .op-checkout-page .op-checkout-section-title { font-size:14px; }
    .op-checkout-page .op-address-add { padding-inline:8px; font-size:10px; }
    .op-payment-item { gap:12px; }
    .op-payment-item-title { font-size:13px; }
    .op-checkout-page .op-checkout-bar { padding-top:12px; border-radius:0; background:#fff; }
    .op-checkout-bar .flex.flex-col.gap-2 > span { display:none; }
    .op-store.op-checkout:has(.op-checkout-page) { padding-bottom:calc(var(--op-support-bottom,156px) - 16px); }
    .op-store.op-checkout:has(.op-checkout-page) .op-footer { margin-top:24px; }
}

.op-address-locality { flex-wrap:wrap; color:#81939e; font-size:11px; }
.op-address-street { margin-block:6px; color:var(--op-ink); font-size:13px; line-height:1.9; overflow-wrap:anywhere; }

/* Purchase progress reads right-to-left with one clear active step. */
.op-checkout-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:520px; margin:0 auto 24px; padding:12px 0; list-style:none; }
.op-checkout-steps li { position:relative; display:flex; flex-direction:column; align-items:center; gap:9px; min-width:0; color:#8b9aa4; }
.op-checkout-steps li:not(:last-child)::after { content:''; position:absolute; top:15px; inset-inline-start:calc(50% + 24px); width:calc(100% - 48px); height:1px; background:#e6edf1; }
.op-checkout-steps .op-checkout-step-node { display:grid; place-items:center; width:30px; height:30px; border:1px solid #e5ecf0; border-radius:50%; background:#f7f9fa; font-size:12px; font-weight:500; line-height:1; }
.op-checkout-steps .op-checkout-step-label { font-size:11px; line-height:1.7; text-align:center; white-space:nowrap; }
.op-checkout-steps li[aria-current=step] { color:#165e7b; }
.op-checkout-steps li[aria-current=step] .op-checkout-step-node { border-color:var(--op-blue); background:var(--op-blue); color:#fff; box-shadow:0 0 0 4px #edf5f9; }
.op-checkout-steps li[aria-current=step] .op-checkout-step-label { font-weight:600; }
.op-checkout-steps .op-checkout-step-complete { color:#507c8f; }
.op-checkout-steps .op-checkout-step-complete .op-checkout-step-node { border-color:#dcecf3; background:#edf5f9; color:#32758f; }
.op-checkout-steps .op-checkout-step-complete::after { background:#bfdae6; }
@media(max-width:1023px) { .op-checkout-steps { margin-bottom:16px; padding-block:12px; } }

/* Address creation keeps the heading and actions visible while fields scroll. */
#address-add-modal .op-address-modal-panel { display:flex; flex-direction:column; width:100%; max-width:520px; max-height:calc(100dvh - 32px); margin:auto; overflow:hidden; border:1px solid #e7edf0; border-radius:18px; background:#fff; box-shadow:0 18px 70px #10232d1c; }
#address-add-modal:not(.hidden) .op-address-modal-panel { animation:op-size-guide-enter 200ms cubic-bezier(.2,.7,.2,1) both; }
.op-address-modal-header { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-shrink:0; padding:12px 20px; border-bottom:1px solid #edf1f3; }
.op-address-modal-header h2 { margin:0; font-size:16px; font-weight:600; }
.op-address-modal-close { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; color:#7c8d97; background:#f5f8fa; }
.op-address-modal-body { min-height:0; padding:20px; overflow-y:auto; overscroll-behavior:contain; }
.op-address-modal-body fieldset { min-width:0; margin:0; padding:0; border:0; }
.op-address-modal-body fieldset + fieldset { margin-top:24px; }
.op-address-modal-body legend { padding:0; margin-bottom:14px; color:#314c5a; font-size:13px; font-weight:600; }
.op-address-modal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; }
.op-address-modal-wide { grid-column:1 / -1; }
.op-address-modal-field { min-width:0; }
#address-add-modal .op-address-modal-field label { display:block; margin-bottom:6px; font-size:11px; font-weight:400; color:#748893; }
#address-add-modal .op-address-modal-field :is(input,select,textarea) { display:block; width:100%; min-width:0; min-height:46px; padding:10px 12px; border:1px solid #e5ecef; border-radius:10px; background:#f7f9fa; color:var(--op-ink); font-size:16px; outline:none; box-shadow:none; transition:border-color .15s,background .15s; }
#address-add-modal .op-address-modal-field select { padding-inline-end:32px; }
#address-add-modal .op-address-modal-field textarea { min-height:88px; resize:vertical; line-height:1.8; }
#address-add-modal .op-address-modal-field :is(input,select,textarea):focus { border-color:#9fc6d9; background:#fff; box-shadow:0 0 0 3px #edf5f9; }
.op-address-modal-footer { display:flex; align-items:center; justify-content:flex-end; gap:12px; flex-shrink:0; padding:14px 20px; border-top:1px solid #edf1f3; background:#fff; }
.op-address-modal-footer .btn-primary { min-height:46px; min-width:150px; padding:10px 24px; border-radius:10px; font-size:13px; font-weight:500; }
.op-address-modal-cancel { min-height:44px; padding:8px 16px; border:0; border-radius:10px; background:transparent; color:#7a8d98; font-size:12px; }
.op-address-modal-cancel:hover,.op-address-modal-close:hover { background:#edf3f6; }
#address-add-modal button:focus-visible { outline:2px solid var(--op-blue); outline-offset:2px; }
@media(max-width:639px) {
    .op-address-modal-header { padding:10px 16px; }
    .op-address-modal-body { padding:16px; }
    .op-address-modal-footer { padding:12px 16px; }
    .op-address-modal-footer .btn-primary { flex:1; min-width:0; }
}
@media(prefers-reduced-motion:reduce) { #address-add-modal:not(.hidden) .op-address-modal-panel { animation:none; } }

/* Searchable province/city fields keep native values and required validation. */
.op-search-select { position:relative; }
#address-add-modal .op-search-select select.op-search-select-native { position:absolute; width:1px; height:1px; min-height:0; margin:0; padding:0; border:0; opacity:0; pointer-events:none; }
.op-search-select-trigger { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; min-height:46px; padding:10px 12px; border:1px solid #e5ecef; border-radius:10px; background:#f7f9fa; color:#7b8e99; text-align:right; font-size:13px; }
.op-search-select-trigger svg { width:18px; height:18px; flex-shrink:0; }
.op-search-select-trigger span { min-width:0; overflow-wrap:anywhere; }
.op-search-select-trigger[data-selected=true] { color:var(--op-ink); }
.op-search-select-trigger:disabled { color:#9aa8b0; cursor:default; }
html.op-location-picker-open,html.op-location-picker-open body { overflow:hidden; }
.op-location-picker { position:fixed; inset:0; width:calc(100% - 32px); max-width:420px; max-height:calc(100dvh - 32px); height:fit-content; margin:auto; padding:16px; border:1px solid #e4ecef; border-radius:18px; background:#fff; color:var(--op-ink); overflow:hidden; }
.op-location-picker::backdrop { background:#172b384d; backdrop-filter:blur(3px); }
.op-location-picker[open] { animation:op-size-guide-enter 160ms ease-out both; }
.op-location-picker-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.op-location-picker-heading h2 { margin:0; font-size:15px; font-weight:600; }
.op-location-picker-close { display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:50%; background:#f4f7f9; color:#728793; }
.op-location-search { display:flex; align-items:center; gap:9px; padding:0 12px; border:1px solid #e2eaf0; border-radius:11px; background:#f6f9fa; color:#7a919e; }
.op-location-search:focus-within { border-color:#9fc7da; background:#fff; }
.op-location-search svg { flex-shrink:0; }
.op-location-search input,.op-location-search input:focus { width:100%; min-width:0; height:46px; padding:0; border:0; outline:none; box-shadow:none; background:transparent; font-size:16px; color:var(--op-ink); }
.op-location-options { max-height:38dvh; min-height:44px; margin-top:12px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.op-location-option { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:46px; padding:10px 12px; border:0; border-radius:9px; background:#fff; color:#48616f; text-align:right; font-size:13px; }
.op-location-option + .op-location-option { margin-top:2px; }
.op-location-option:hover { background:#f4f8fa; }
.op-location-option[aria-selected=true] { background:#edf6fa; color:#126c90; font-weight:500; }
.op-location-option[aria-selected=true]::after { content:'✓'; font-size:16px; }
.op-location-status { margin:0; padding:8px 12px 0; font-size:12px; line-height:1.8; color:#8598a3; }
.op-location-status:empty { display:none; }
.op-location-retry { min-height:44px; margin-top:8px; padding:8px 12px; color:var(--op-blue); font-size:12px; }
.op-location-retry[hidden] { display:none; }
.op-location-picker button:focus-visible { outline:2px solid var(--op-blue); outline-offset:-2px; }
@media(max-width:639px) { .op-location-picker { inset:auto 0 0; width:100%; max-width:100%; margin:0; padding:12px 16px calc(16px + env(safe-area-inset-bottom)); border-radius:20px 20px 0 0; } }
@media(prefers-reduced-motion:reduce) { .op-location-picker[open] { animation:none; } }

/* One compact continue action, with the amount readable beside it. */
.op-continue-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.op-continue-amount { display:flex; flex-direction:column; gap:2px; min-width:0; color:var(--op-ink); }
.op-continue-amount bdi { font-size:17px; font-weight:600; line-height:1.5; white-space:nowrap; }
.op-continue-amount small { font-size:10px; line-height:1.5; color:#83939d; }
.op-continue-button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44%; min-width:128px; max-width:220px; min-height:44px; padding:10px 16px; border:0; border-radius:10px; background:var(--op-blue); color:#fff; font-size:13px; font-weight:500; white-space:nowrap; }
.op-continue-button:hover { background:#096f96; color:#fff; }
.op-continue-button:focus-visible { outline:2px solid var(--op-blue); outline-offset:3px; }
@media(max-width:1023px) {
    .op-store .op-purchase-bar.op-continue-bar { padding:12px 16px; border-top:1px solid #e9eef1; border-radius:0; background:#fff; box-shadow:none; }
}
@media(max-width:359px) {
    .op-continue-row { gap:10px; }
    .op-continue-amount bdi { font-size:15px; }
    .op-continue-button { min-width:118px; padding-inline:12px; font-size:12px; }
}

.op-delivery-icon { display:grid; place-items:center; width:38px; height:38px; flex-shrink:0; border-radius:11px; background:#f2f6f8; color:#74909e; }
.op-delivery-icon .op-icon { width:24px; height:24px; }
.op-delivery-page input:checked + .op-delivery-choice .op-delivery-icon { background:#e9f3f8; color:#327896; }

.op-payment-bar-price { display:flex; align-items:baseline; gap:5px; flex-wrap:wrap; }
.op-payment-coupon-link { display:inline-flex; align-items:center; min-height:32px; margin:0; padding:2px 0; border:0; background:transparent; color:#28718d; font-size:11px; text-decoration:none; }
.op-payment-coupon-link:hover { color:#145b78; }
.op-checkout-coupon { scroll-margin-block:calc(var(--op-header-offset,64px) + 16px) 160px; }
@media(max-width:1023px) {
    .op-payment-page .op-checkout-payment-form .btn-primary { display:none; }
    .op-store .op-payment-bar .op-continue-button { font-size:12px; }
    .op-store .op-purchase-bar.op-payment-bar { padding-block:8px; }
    .op-payment-bar .op-payment-coupon-link { position:relative; display:flex; width:max-content; min-height:24px; margin-top:-12px; padding:0; font-size:10px; line-height:1.6; }
}

@media(max-width:1023px) {
    html.op-coupon-editing { scroll-behavior:auto; }
    .op-coupon-editing :is(.op-mobile-nav,.op-payment-bar) { visibility:hidden; pointer-events:none; }
}

/* Desktop header: compact rhythm, quiet search and unframed utility actions. */
@media(min-width:1024px) {
    .op-store .op-header { border-bottom:0; }
    .op-store .op-header-main { min-height:64px; padding-block:10px; gap:28px; }
    .op-header-main .op-header-logo img { width:136px; max-height:36px; }
    .op-header-main > .flex-grow { max-width:560px; }
    .op-store .op-header-main #desktopSearchInputWrapper { border-color:transparent; border-radius:12px; background:#f5f7f8; padding-right:12px; }
    .op-store .op-header-main #desktopSearchInputWrapper:focus-within { border-color:#c5dce7; background:#fff; }
    .op-store .op-header-main #desktopSearchInput { height:40px; font-size:13px; }
    .op-header-main #desktopSearchInputWrapper > .i-carbon-search { width:19px; height:19px; color:#85959e; }
    .op-store .op-header-main .icon-btn { width:44px; height:44px; border:0; border-radius:50%; background:transparent; color:#536975; box-shadow:none; }
    .op-store .op-header-main .icon-btn:hover { background:#f3f7f9; color:var(--op-blue); }
    .op-store .op-header-main .op-header-login { min-height:44px; padding-inline:10px; border:0; border-radius:10px; background:transparent; color:#536975; font-size:12px; }
    .op-store .op-header-main .op-header-login:hover { background:#f3f7f9; color:var(--op-blue); }
    .op-store .op-header-main :is(.icon-btn,.op-header-login) > .op-icon { display:block; width:24px; height:24px; flex-shrink:0; stroke-width:2; }
    .op-header-main .icon-btn > span:has(> .cart-count) { top:0; right:-1px; width:17px; height:17px; border:2px solid #fff; font-size:10px; line-height:13px; }
    .op-store .op-header nav.op-menu-nav { border-bottom-color:#edf1f3; }
}

/* Crawlable page context shared by catalog and product pages. */
.op-store .op-seo-breadcrumbs{padding:12px 0;margin:0 0 12px;font-size:12px;line-height:1.9;color:#596975}
.op-store .op-seo-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;list-style:none;padding:0;margin:0}
.op-store .op-seo-breadcrumbs li{display:flex;align-items:center;gap:10px;min-width:0}
.op-store .op-seo-breadcrumbs li+li:before{content:'/';color:#84929b}
.op-store .op-seo-breadcrumbs a:hover{color:#087fa0;text-decoration:underline}
.op-store .op-seo-breadcrumbs a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.op-store .op-category-description{margin:28px 0;padding:20px;border-top:1px solid #e5eaee;line-height:2.1;overflow-wrap:anywhere}
.op-store .op-category-description h2{font-size:18px;font-weight:700;margin:0 0 12px}
.op-store .op-category-description p{margin:0 0 12px}
.op-store .op-category-description a{text-decoration:underline}
.op-store .op-category-description img{max-width:100%;height:auto}
