/* Catalog controls stay immediate while the home page carries the expressive motion. */
.catalog-search-section{padding-block:0 30px}
.catalog-search{max-width:940px}
.catalog-search label{display:block;font-size:1.05rem;font-weight:600;margin-bottom:12px}
.catalog-search-control{display:flex;align-items:center;gap:14px;background:#fafbf7;border:1px solid #a5b2b6;border-radius:12px;padding:5px 12px 5px 17px;min-height:62px}
.catalog-search-control>svg{width:24px;height:24px;flex:0 0 24px;fill:none;stroke:#3e555e;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.catalog-search-control:focus-within{outline:3px solid #366eff;outline-offset:3px}
.catalog-search input{appearance:none;-webkit-appearance:none;min-width:0;flex:1;min-height:50px;background:transparent;border:0;font-size:1.05rem;color:var(--text);caret-color:var(--blue);padding:7px 0}
.catalog-search input:focus-visible{outline:none}
.catalog-search input::-webkit-search-cancel-button{display:none}
.catalog-search input::placeholder{color:#586971;opacity:1}
.catalog-search>p{font-size:.875rem;color:#586971;margin-top:10px}
.search-clear{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:10px;color:#2c434d;background:transparent;border:0;border-radius:50%}
.search-clear[hidden]{display:none}
.search-clear svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.search-clear:hover{background:#e8eeea}
.options-carousel{min-width:0;max-width:100%}
.options-rail-controls{display:none;align-items:center;justify-content:flex-end;gap:22px;margin-bottom:20px}
.rail-has-overflow .options-rail-controls{display:flex}
.options-rail-controls>p{font-size:.95rem;color:#586971;max-width:65ch}
.options-rail-controls>div{display:flex;gap:9px;flex-shrink:0}
.rail-button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #84969d;border-radius:50%;padding:12px;background:transparent;color:#263d48}
.rail-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rail-button:disabled{opacity:.36;cursor:default}
.rail-button:not(:disabled):hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.options-rail{display:flex;align-items:flex-start;gap:24px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:4px 2px 20px;scrollbar-width:thin;scrollbar-color:#567084 #dce3df;scroll-padding-inline:2px;-webkit-overflow-scrolling:touch}
.options-rail::-webkit-scrollbar{height:8px}
.options-rail::-webkit-scrollbar-track{background:#dce3df;border-radius:8px}
.options-rail::-webkit-scrollbar-thumb{background:#567084;border-radius:8px}
.options-rail>.optional,.options-rail>.product-card{flex:0 0 clamp(255px,27vw,320px);max-width:calc(100vw - 50px);border-bottom:1px solid var(--line);padding-bottom:24px}
.options-rail .optional h3{font-size:1.45rem;line-height:1.15}
.options-rail .optional>.code{font-size:.875rem;margin-block:9px 15px}
.options-rail .gallery{width:100%;max-width:none}
.options-rail .gallery-main{aspect-ratio:16/10;border-radius:12px}
.options-rail .gallery-control{min-width:42px;height:42px;font-size:1.4rem}
.options-rail .gallery-control.prev{left:9px}
.options-rail .gallery-control.next{right:9px}
.options-rail .thumbnail{flex-basis:60px}
.options-rail .thumbnail img{width:60px;height:38px}
.options-rail .thumbnails{padding-block:12px 8px;gap:7px}
.options-rail .gallery-meta{font-size:.875rem;gap:8px}
.options-rail .optional-description{font-size:1rem;line-height:1.5;margin-top:16px}
.optional-technical{margin-top:18px;border-top:1px solid var(--line)}
.optional-technical summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-block:15px;font-size:1rem;font-weight:600}
.optional-technical summary::-webkit-details-marker{display:none}
.optional-technical summary:after{content:'+';font-size:1.25rem;flex-shrink:0}
.optional-technical[open] summary:after{content:'−'}
.options-rail .optional .technical-copy p{font-size:1rem;line-height:1.6}
.options-rail .optional .technical-copy h3{font-size:1.25rem;margin-block:20px 12px}
.options-rail .product-card h2{font-size:1.45rem}
.options-rail .card-description{font-size:1rem}
@media(max-width:780px){.catalog-search-section{padding-bottom:22px}.catalog-search{max-width:none}.options-rail{gap:20px}.options-rail>.optional,.options-rail>.product-card{flex-basis:285px}}
@media(max-width:520px){.catalog-search-control{padding-left:14px;gap:10px;min-height:60px}.catalog-search input{font-size:1rem}.catalog-search-control>svg{width:21px;height:21px;flex-basis:21px}.search-clear{flex-basis:40px;width:40px;height:44px}.options-rail-controls{gap:14px;align-items:flex-start}.options-rail-controls>p{max-width:23ch;line-height:1.45}.options-rail>.optional,.options-rail>.product-card{flex-basis:min(280px,calc(100vw - 66px));max-width:calc(100vw - 50px)}.options-rail .gallery-meta{flex-wrap:wrap}}
@media(prefers-reduced-motion:no-preference){.rail-button,.search-clear{transition:color 180ms ease,background 180ms ease,border-color 180ms ease,transform 140ms var(--ease-out)}.rail-button:active:not(:disabled):not(:focus-visible),.search-clear:active:not(:focus-visible){transform:scale(.97)}}
@media(forced-colors:active){.rail-button:disabled{opacity:1;color:GrayText;border-color:GrayText}.catalog-search-control{border-color:CanvasText}}

/* Compact captions: gallery count and carousel buttons provide the affordance. */
.gallery-meta{justify-content:flex-end}
.optionals>h2{margin-bottom:24px}
.options-rail-controls{margin-top:-8px}

/* Gray catalogue surface, with controls kept distinct from the page. */
.products-page{--bg:#d9dbde;--line:#b5bac0;--muted:#535c64;background:var(--bg)}
.products-page .catalog-search-control{background:#f6f7f8;border-color:#a3abb3}
.products-page .product-card .card-status{display:inline-block;width:fit-content;margin-top:14px;padding:4px 11px;border:1px solid #718e86;border-radius:100px;color:#254f43;font-size:.88rem;font-weight:600}
.products-page .card-photo,.products-page .gallery-main{background:#c9cdd1}
.products-page .technical-copy,.products-page .description{color:#293139}
.products-page .custom-strip{background:#c8cdd2}
.products-page .options-rail{scrollbar-color:#637383 #bfc5cb}
.products-page .options-rail::-webkit-scrollbar-track{background:#bfc5cb}

/* Deliberate button movement on interaction; fields and results stay steady. */
@media(prefers-reduced-motion:no-preference){
  :is(.products-page,.contact-page) :is(.button,.rail-button,.search-submit,.gallery-control,.nav-contact){transition:transform .4s cubic-bezier(.16,1,.3,1),background .2s,color .2s,box-shadow .4s}
  :is(.products-page,.contact-page) :is(.button,.rail-button,.search-submit,.nav-contact):active{transform:translateY(1px) scale(.93)}
  .products-page .gallery-control:active{transform:translateY(calc(-50% + 1px)) scale(.93)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  :is(.products-page,.contact-page) :is(.button,.nav-contact):hover{transform:translateY(-5px) rotate(-1deg);box-shadow:0 13px 24px #12233e26}
  .products-page :is(.rail-button,.search-submit):hover:not(:active):not(:disabled){transform:translateY(-4px) scale(1.1)}
  .products-page .gallery-control:hover:not(:active):not(:disabled){transform:translateY(calc(-50% - 4px)) scale(1.1)}
  .products-page .card-link::after{display:inline-block;transition:transform .35s cubic-bezier(.16,1,.3,1)}
  .products-page .card-link:hover::after{transform:translate(5px,-5px)}
}

.search-submit{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border:0;border-radius:8px;background:var(--blue);color:white;padding:12px}
.search-submit svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.search-submit:hover{background:#245fff}
.search-submit:active{transform:scale(.97)}
.catalog-search-control{padding-left:19px;gap:10px}
@media(prefers-reduced-motion:no-preference){.search-submit{transition:background 180ms ease,transform 140ms var(--ease-out)}}
@media(max-width:520px){.catalog-search-control{padding-left:14px;padding-right:7px;gap:6px}.search-submit{width:44px;height:44px;flex-basis:44px}}
