/* Server-backed theme overrides. No local/demo price or order state. */
/* Fill the card without the prototype's 8% inset or altering photo colours. */
.product-card__image .product-photo{inset:0;width:100%;height:100%;max-height:none;object-fit:contain;mix-blend-mode:normal}
/* Shared round controls use SVG geometry, independent of font baselines. */
.cms-round-button,.back-to-top{display:inline-grid;place-items:center;flex:none;padding:0;line-height:0;box-sizing:border-box;touch-action:manipulation}
.cms-round-button svg,.back-to-top svg{display:block;width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.cms-round-button:focus-visible,.cms-gallery-open:focus-visible,.cms-gallery-thumbs button:focus-visible,.cms-photo-viewer button:focus-visible,.cms-photo-viewer a:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.product-detail__image[data-product-gallery]{min-width:0;padding:0;border:0;background:transparent;border-radius:0}
.cms-gallery-main{position:relative;isolation:isolate;touch-action:pan-y pinch-zoom}
.cms-gallery-open{display:block;position:relative;border-radius:24px;overflow:hidden;background:#fff;cursor:zoom-in;border:1px solid #e4e7e8}
.cms-gallery-open #product-main-photo{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.cms-gallery-hint,.cms-gallery-arrow{position:absolute;width:44px;height:44px;border:1px solid #fff9;border-radius:50%;background:rgba(255,255,255,.94);color:var(--navy);box-shadow:0 3px 16px #173b5912;backdrop-filter:blur(12px)}
.cms-gallery-hint{right:14px;top:14px}
.cms-gallery-arrow{z-index:2;top:50%;transform:translateY(-50%);cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.cms-gallery-arrow[data-gallery-inline-step="-1"]{left:14px}.cms-gallery-arrow[data-gallery-inline-step="1"]{right:14px}
.cms-gallery-position{position:absolute;left:16px;bottom:16px;z-index:1;padding:7px 12px;border-radius:20px;background:#ffffffed;color:var(--navy);font-size:.75rem;font-variant-numeric:tabular-nums;pointer-events:none;backdrop-filter:blur(12px)}
.cms-gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 3px 5px;scrollbar-width:thin;scrollbar-color:#b9c8d0 transparent;scroll-snap-type:x proximity}
.cms-gallery-thumbs button{width:76px;height:76px;flex:none;border:2px solid transparent;background:#fff;padding:4px;border-radius:14px;cursor:pointer;opacity:.65;scroll-snap-align:center;transition:opacity .18s,border-color .18s}
.cms-gallery-thumbs button[aria-pressed=true]{border-color:var(--navy);opacity:1}.cms-gallery-thumbs button:hover{opacity:1}
.cms-gallery-thumbs button img{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px}
.cms-photo-viewer-open{overflow:hidden}
.cms-photo-viewer{width:min(1280px,calc(100% - 48px));height:calc(100dvh - 48px);max-width:none;max-height:100dvh;margin:auto;padding:0;border:1px solid #ffffff14;border-radius:24px;background:#172936;color:#fff;box-shadow:0 28px 100px #0005;overflow:hidden}
.cms-photo-viewer::backdrop{background:#0c1727bd;backdrop-filter:blur(12px)}
.cms-photo-viewer__panel{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:14px;padding:20px 24px}
.cms-photo-viewer__toolbar,.cms-photo-viewer__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.cms-photo-viewer__toolbar p{margin:0;font-size:.95rem;line-height:1.45;color:#f0f4f7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cms-photo-viewer__close,.cms-photo-viewer__arrow{width:48px;height:48px;border:1px solid #ffffff26;border-radius:50%;background:#ffffff12;color:#fff;cursor:pointer;transition:background .18s,color .18s}
.cms-photo-viewer__stage{position:relative;display:grid;place-items:center;min-height:0;min-width:0;touch-action:pan-y pinch-zoom}
.cms-photo-viewer__stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;min-height:0;object-fit:contain;border-radius:12px}
.cms-photo-viewer__arrow{position:absolute;z-index:1;top:50%;transform:translateY(-50%);background:#fffffff2;color:var(--navy);box-shadow:0 4px 24px #0002}
.cms-photo-viewer__arrow[data-gallery-step="-1"]{left:12px}.cms-photo-viewer__arrow[data-gallery-step="1"]{right:12px}
.cms-viewer-thumbs{display:flex;gap:8px;max-width:100%;min-width:0;justify-self:center;overflow-x:auto;padding:3px;scrollbar-width:thin;scrollbar-color:#8093a2 transparent;overscroll-behavior-inline:contain}
.cms-viewer-thumbs button{display:block;width:58px;height:58px;flex:none;border:2px solid transparent;border-radius:10px;background:#fff;padding:3px;opacity:.5;cursor:pointer;transition:opacity .18s,border-color .18s}
.cms-viewer-thumbs button[aria-pressed=true]{opacity:1;border-color:#f5b5d4}.cms-viewer-thumbs button:hover{opacity:1}
.cms-viewer-thumbs img{display:block;width:100%;height:100%;object-fit:contain;border-radius:5px}
.cms-photo-viewer__footer{font-size:.8rem;color:#c1ced8;min-height:44px}
.cms-photo-viewer__footer [data-gallery-count]{min-width:44px;font-variant-numeric:tabular-nums}
.cms-photo-viewer__footer .button{min-height:44px;padding:.55rem 1rem;border:1px solid #ffffff30;border-radius:24px;background:transparent;color:#fff;font-size:.8rem}
.cms-photo-viewer__footer .button:hover,.cms-photo-viewer__footer .button[aria-pressed=true]{background:#ffffff16}
.cms-photo-viewer__footer .text-link{color:#e2eaf0;font-size:.8rem;padding:.65rem 0}
.cms-photo-viewer :focus-visible{outline-color:#f5b5d4}
.cms-photo-viewer__error{position:absolute;left:50%;bottom:145px;transform:translateX(-50%);width:max-content;max-width:80%;padding:12px 16px;border-radius:12px;background:#fff;color:var(--navy);font-size:.85rem;margin:0;text-align:center}
.cms-instruction{display:grid;grid-template-columns:48px minmax(0,1fr) 36px;align-items:center;gap:14px;width:min(100%,440px);box-sizing:border-box;margin:1.4rem 0;padding:18px;border:1px solid #d2e2ef;border-radius:20px;background:#edf4fa;color:var(--navy);text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s}
.cms-instruction__file{position:relative;display:grid;place-items:center;width:48px;height:52px;border-radius:12px;background:#fff;color:var(--navy)}
.cms-instruction__file svg{width:29px;height:34px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cms-instruction__file>span{position:absolute;left:3px;bottom:6px;padding:2px 5px;border-radius:4px;background:#d7437d;color:#fff;font-size:9px;font-weight:700;line-height:1.3;letter-spacing:.06em}
.cms-instruction__copy{display:grid;gap:5px;min-width:0}.cms-instruction__copy strong{font-size:15px;line-height:1.35;font-weight:700}.cms-instruction__copy>span{font-size:11px;line-height:1.5;color:#536c81}
.cms-instruction__download{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff}.cms-instruction__download svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cms-instruction:focus-visible{outline:3px solid var(--navy);outline-offset:4px}.cms-instruction:active{background:#dbeaf6}
@media(hover:hover){.cms-instruction:hover{background:#e1eef8;border-color:#a4c3dc;box-shadow:0 6px 20px #245b9112}}
@media(max-width:400px){.cms-instruction{gap:10px;padding:14px;grid-template-columns:44px minmax(0,1fr) 32px}.cms-instruction__file{width:44px}.cms-instruction__copy strong{font-size:14px}.cms-instruction__download{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.cms-instruction{transition:none}}
@media(hover:hover){.cms-gallery-arrow:hover,.cms-photo-viewer__arrow:hover,.carousel-controls .cms-round-button:not(:disabled):hover{background:var(--navy);color:#fff}.cms-photo-viewer__close:hover{background:#ffffff26}}
@media(max-width:700px){.cms-gallery-open{border-radius:20px}.cms-gallery-hint{right:10px;top:10px}.cms-gallery-arrow[data-gallery-inline-step="-1"]{left:10px}.cms-gallery-arrow[data-gallery-inline-step="1"]{right:10px}.cms-gallery-thumbs button{width:64px;height:64px}.cms-photo-viewer{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.cms-photo-viewer__panel{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));gap:12px}.cms-photo-viewer__toolbar p{font-size:.82rem}.cms-photo-viewer__close,.cms-photo-viewer__arrow{width:44px;height:44px}.cms-photo-viewer__arrow[data-gallery-step="-1"]{left:4px}.cms-photo-viewer__arrow[data-gallery-step="1"]{right:4px}.cms-photo-viewer__footer{gap:8px}.cms-viewer-thumbs button{width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){.cms-gallery-arrow,.cms-gallery-thumbs button,.cms-photo-viewer__arrow,.cms-photo-viewer__close,.cms-viewer-thumbs button{transition:none}}
[hidden]{display:none!important} .cms-header-search{margin:0;gap:0}.cms-header-search button{flex:none;width:32px}.cms-header-search input{min-width:0}.cms-toolbar{grid-template-columns:minmax(0,1fr) minmax(200px,.5fr) auto}.cms-card-description{color:var(--muted);font-size:.83rem;line-height:1.55;margin-bottom:1.4rem}.cms-no-photo{position:static!important;text-align:center;padding:1rem;color:var(--muted)}.cms-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin:2rem 0}.cms-result-count,.cms-help{color:var(--muted);font-size:.85rem}.cms-quantity-label{display:flex;align-items:center;gap:.7rem;font-size:.85rem;margin-bottom:1rem}.cms-quantity-label input{width:82px;min-height:46px;border:1px solid var(--line);border-radius:10px;padding:.5rem;background:white;color:var(--navy)}.cms-feedback:empty{display:none}.cms-feedback{position:fixed;z-index:100;bottom:1rem;left:50%;transform:translateX(-50%);width:min(520px,calc(100% - 2rem));padding:1rem 1.25rem;background:var(--navy);color:#fff;border-radius:16px;box-shadow:var(--shadow)}.cms-feedback p{margin:0}.cms-feedback a{display:inline-block;text-decoration:underline}.cms-specs{margin:0}.cms-specs>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.75rem 0}.cms-specs dd{margin:0;text-align:right}.cms-description{overflow-wrap:anywhere}.cms-description img{max-width:100%;height:auto}.cms-image-placeholder{min-height:340px;display:grid;place-items:center;text-align:center;color:var(--muted)}.cms-favorite-list{display:grid;gap:1rem}.cms-favorite-list article{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;background:white;border:1px solid var(--line);border-radius:20px}.cms-favorite-list h2{font-size:1.3rem;margin:0}.cms-favorite-list button{flex:none}.cms-stock{font-size:.85rem;color:var(--muted)}.product-detail__price del{font-size:1rem;color:var(--muted)}.product-purchase small{display:block;margin-top:1rem}.product-purchase form>.button{width:100%}.category-discovery__grid{grid-template-columns:repeat(7,minmax(0,1fr))}.article-toc a{display:block;padding:.6rem 0;color:var(--navy)}.cms-safe-note{padding:1rem;border-radius:12px;background:#e8eef2;font-size:.85rem}.cms-product-overview{max-width:800px}.cms-ajax-busy{opacity:.65;pointer-events:none}.home-page .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cms-pagination a{min-width:110px}.cms-footer-note{font-size:.75rem;color:var(--muted)}
@media(max-width:1100px){.cms-header-search{display:none}.home-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.product-grid .cms-card-description{display:none}}
@media(max-width:900px){.category-discovery__grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:124px}}
@media(max-width:700px){.cms-toolbar{grid-template-columns:1fr}.cms-toolbar>label,.cms-toolbar>button{grid-column:1/-1}.cms-favorite-list article{align-items:start;flex-direction:column}.cms-specs>div{flex-direction:column;gap:.25rem}.cms-specs dd{text-align:left}.cms-image-placeholder{min-height:220px}.home-page .product-card{padding:.8rem}.home-page .product-card h3{font-size:1rem;min-height:3.9em;line-height:1.3}.home-page .cms-card-description{display:none}.home-page .product-card__buy>div{flex-direction:column;align-items:start}.home-page .product-card .button{padding:.65rem;font-size:.8rem}.cms-feedback{bottom:1rem}.cms-quantity-label{flex-wrap:wrap}.product-card__buy del{font-size:.8rem}}
/* CMS editorial content, native selection controls and optional product stories. */
.cms-rich-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,70px);margin:3rem 0}
.cms-rich-row>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:24px}
.cms-rich-row--reverse>img{order:2}.cms-rich-row>div{min-width:0;overflow-wrap:anywhere}
.cms-rich-row p,.cms-rich-row li{line-height:1.7}.cms-rich-panorama{margin:3rem 0}.cms-rich-panorama>img{width:100%;height:auto;display:block;border-radius:24px}.cms-rich-panorama figcaption{padding:1.5rem 0;max-width:850px;overflow-wrap:anywhere}
.cms-choice{display:inline-flex;align-items:center;gap:.5rem;min-height:46px;padding:.65rem 1rem;border:1px solid var(--line);border-radius:24px;cursor:pointer;font-size:.85rem;background:white}
.cms-choice:has(input:checked){background:var(--navy);color:white;border-color:var(--navy)}.cms-choice input{width:16px;height:16px;margin:0;accent-color:var(--pink)}.cms-choice:focus-within{outline:3px solid var(--pink);outline-offset:3px}
.cms-selection-actions{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0}.cms-article-meta{font-size:.8rem}.article-body img{max-width:100%;height:auto}.article-body{overflow-wrap:anywhere}
@media(max-width:700px){.cms-rich-row{grid-template-columns:minmax(0,1fr);gap:1.5rem}.cms-rich-row--reverse>img{order:0}.cms-rich-panorama,.cms-rich-row{margin:2rem 0}.cms-choice{font-size:.8rem}}

/* Published archive cards retain their documentation, without commerce controls. */
.cms-archive-notice{padding:1.2rem;background:#f1f4f3;border-radius:14px;color:var(--navy)}
.cms-archive-notice p{margin:.6rem 0 1rem;line-height:1.6}
.cms-archive-label{font-size:.85rem;color:var(--muted);font-weight:600}
.cms-archive-link{margin:1rem 0 1.6rem;color:var(--muted)}
.cms-archive-search{display:flex;align-items:end;gap:1rem;margin:1.5rem 0}.cms-archive-search label{flex:1}
.product-detail__copy>p{overflow-wrap:anywhere;line-height:1.65}
@media(max-width:700px){.cms-archive-search{align-items:stretch;flex-direction:column}}

.cms-description dl{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:.75rem 1.5rem}.cms-description dt{font-weight:600}.cms-description dd{margin:0;overflow-wrap:anywhere}
@media(max-width:600px){.cms-description dl{grid-template-columns:1fr;gap:.35rem}.cms-description dd{margin-bottom:1rem}}

/* VM712: full feature list follows the visual product story. */
.cms-description--features{margin:3rem 0 4rem;padding:clamp(1.5rem,4vw,3rem);background:#f5f8fa;border-radius:24px}
.cms-description--features>h2{margin:.3rem 0 2rem}
.vm712-feature-groups,.product-feature-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2.5rem}
.vm712-feature-groups section,.product-feature-groups section{min-width:0}
.vm712-feature-groups h3,.product-feature-groups h3{font-size:1.2rem;line-height:1.3;margin:0 0 .8rem;color:var(--navy)}
.vm712-feature-groups ul,.product-feature-groups ul{margin:0;padding-left:1.25rem}
.vm712-feature-groups li,.product-feature-groups li{line-height:1.6;margin:.55rem 0;overflow-wrap:anywhere}
.vm712-feature-groups .vm712-completeness,.product-feature-groups .product-completeness{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1.5rem}
.vm712-feature-groups .vm712-completeness p,.product-feature-groups .product-completeness p{margin:.4rem 0 0;line-height:1.7}
@media(max-width:700px){.cms-description--features{margin:2rem 0 3rem}.vm712-feature-groups,.product-feature-groups{grid-template-columns:1fr;gap:1.5rem}.vm712-feature-groups .vm712-completeness,.product-feature-groups .product-completeness{grid-column:auto}}

/* Keep the catalog sort arrow centered with a stable inset at every browser zoom. */
.cms-toolbar .store-field select{
  -webkit-appearance:none;
  appearance:none;
  padding-right:52px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 7 6 6 6-6' fill='none' stroke='%232b3d50' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 20px center;
  background-size:18px 18px;
}

/* Give the catalog entry a clear, quiet emphasis in both navigation layouts. */
.main-nav .nav-catalog{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:40px;
  padding:.55rem .9rem;
  border:1px solid rgba(36,91,145,.22);
  border-radius:999px;
  background:rgba(36,91,145,.08);
  color:var(--navy);
  font-weight:700;
  white-space:nowrap;
}
.main-nav .nav-catalog svg{
  width:17px;
  height:17px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
}
.main-nav .nav-catalog:hover{
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
  opacity:1;
}
.main-nav .nav-catalog:focus-visible{
  outline:3px solid var(--pink);
  outline-offset:3px;
}
@media(min-width:781px) and (max-width:950px){
  .header-main{gap:.75rem}
  .main-nav{gap:.55rem}
  .main-nav a{font-size:.78rem;white-space:nowrap}
  .main-nav .nav-catalog{min-height:36px;padding:.4rem .65rem;gap:.35rem}
  .main-nav .nav-catalog svg{width:15px;height:15px}
}
@media(max-width:780px){
  .main-nav .nav-catalog{
    justify-self:start;
    min-height:44px;
    margin-bottom:.5rem;
    padding:.65rem 1rem;
    border:1px solid rgba(36,91,145,.22);
  }
}

/* Accessible cart quantity controls. */
.cms-cart-quantity{display:flex;align-items:center;gap:8px}.cms-cart-quantity .cms-quantity-label{margin:0;flex-direction:column;align-items:center;gap:4px}.cms-quantity-step{width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:10px;background:white;color:var(--navy);font-size:1.4rem;cursor:pointer}.cms-quantity-step:focus-visible{outline:2px solid var(--navy);outline-offset:2px}

/* Cart controls: one stepper and a plain delete action. */
.cms-cart-quantity input[type=number]{appearance:textfield;-moz-appearance:textfield;text-align:center}.cms-cart-quantity input[type=number]::-webkit-inner-spin-button,.cms-cart-quantity input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.cart-line__controls .remove-item{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 0;border:0;border-radius:0;background:transparent;color:#c43d3d;font:inherit;font-weight:500;text-decoration:none;cursor:pointer}.cart-line__controls .remove-item:hover{background:transparent;color:#a32b2b;text-decoration:underline}.cart-line__controls .remove-item:focus-visible{outline:2px solid #c43d3d;outline-offset:3px}.cart-line__controls .remove-item svg{flex:none}

/* Align the step buttons with the number field below its label. */
.cms-cart-quantity{align-items:flex-end}.cms-cart-quantity .cms-quantity-step,.cms-cart-quantity input[type=number]{height:46px;min-height:46px;box-sizing:border-box}.cms-cart-quantity .cms-quantity-step{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;line-height:1}
