.catalog-test{min-height:calc(100vh - 76px);background:linear-gradient(180deg,#effaf9 0,#fff 480px)}
.catalog-search{padding:78px 0 58px;text-align:center}
.test-label{display:inline-flex;padding:7px 13px;border-radius:999px;background:#dff7f4;color:#087f8c;font-size:11px;font-weight:850;letter-spacing:1px;text-transform:uppercase}
.catalog-search h1{max-width:850px;margin:18px auto 16px;font-size:clamp(38px,5vw,64px);line-height:1.06;letter-spacing:-2.5px}
.catalog-lead{max-width:700px;margin:0 auto;color:var(--muted);font-size:18px}
.catalog-search-form{max-width:830px;margin:34px auto 14px;padding:8px;display:grid;grid-template-columns:1fr auto;gap:8px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 55px rgba(8,94,104,.13)}
.catalog-search-form input{min-width:0;border:0;outline:0;padding:10px 16px;font:inherit;font-size:17px;color:var(--ink);background:transparent}
.catalog-search-form input::placeholder{color:#8ba0a4}
.catalog-search-form .button{min-width:145px}
.search-hint{margin:0 auto;max-width:720px;color:var(--muted);font-size:12px}
.catalog-status{min-height:24px;margin-top:14px;font-size:14px;font-weight:700;color:var(--sea)}
.catalog-status.error{color:#c43f32}
.catalog-results-section{padding:32px 0 100px}
.results-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:26px}
.results-heading h2{margin:8px 0 0;font-size:clamp(30px,4vw,44px);line-height:1.1;letter-spacing:-1.5px}
.results-count{color:var(--muted);font-size:13px}
.catalog-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.product-result{display:flex;flex-direction:column;min-height:230px;padding:25px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 40px rgba(13,78,86,.06)}
.product-result__image{position:relative;display:flex;align-items:center;justify-content:center;height:190px;margin:0 0 20px;overflow:hidden;border:1px solid #e5f0ef;border-radius:17px;background:linear-gradient(145deg,#f5fbfa,#eef7f6)}
.product-result__image img{position:relative;z-index:1;width:auto;height:auto;max-width:calc(100% - 24px);max-height:calc(100% - 24px);padding:0;object-fit:contain;background:transparent}
.product-result__image span{display:none;color:rgba(8,127,140,.28);font-size:36px;font-weight:900;letter-spacing:-2px}
.product-result__image.is-placeholder span{display:block}
.product-result__image.is-placeholder:after{content:"";position:absolute;left:50%;bottom:43px;width:80px;height:12px;border-top:3px solid rgba(8,127,140,.18);border-radius:50%;transform:translateX(-50%)}
.product-result__top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}
.product-result__badge{display:inline-flex;align-items:center;gap:7px;color:#087f5b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}
.product-result__badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#19b77d;box-shadow:0 0 0 4px #def7ed}
.product-result__number{color:#9aabad;font-size:11px}
.product-result h3{margin:0 0 12px;font-size:19px;line-height:1.35}
.product-result__details{margin:0 0 14px}
.product-result__description{display:-webkit-box;overflow:hidden;margin:0;color:#526b70;font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:4}
.product-result__features{display:grid;gap:5px;margin:0;padding:0;list-style:none;color:#526b70;font-size:13px;line-height:1.4}
.product-result__features li{position:relative;padding-left:15px}
.product-result__features li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--aqua)}
.product-result__details-loading{width:72%;height:14px;overflow:hidden;color:transparent;border-radius:7px;background:linear-gradient(100deg,#edf5f4 20%,#f9fcfc 40%,#edf5f4 60%);background-size:300% 100%;animation:skeleton 1.3s infinite}
.product-result__meta{margin:0;color:var(--muted);font-size:13px}
.product-result__bottom{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:auto;padding-top:22px}
.product-result__price small{display:block;color:var(--muted);font-size:11px;font-weight:500}
.product-result__price strong{font-size:28px;line-height:1;color:var(--sea)}
.product-result .button{padding:12px 18px}
.catalog-empty{padding:60px 25px;text-align:center;border:1px dashed #b9d8d5;border-radius:24px;background:rgba(255,255,255,.65)}
.catalog-empty>div{font-size:48px;color:var(--sea)}
.catalog-empty h3{margin:5px 0;font-size:21px}
.catalog-empty p{max-width:530px;margin:0 auto;color:var(--muted);font-size:14px}
.catalog-empty[hidden]{display:none}
.catalog-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:30px}
.catalog-pagination[hidden]{display:none}
.catalog-pagination button{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:.2s ease}
.catalog-pagination button:hover:not(:disabled){border-color:var(--sea);color:var(--sea);transform:translateY(-1px)}
.catalog-pagination button.is-active{border-color:var(--sea);background:var(--sea);color:#fff;box-shadow:0 8px 22px rgba(8,127,140,.2)}
.catalog-pagination button:disabled{opacity:.38;cursor:default}
.catalog-pagination .pagination-arrow{font-size:24px;font-weight:500}
.search-skeleton{height:230px;border-radius:22px;background:linear-gradient(100deg,#f1f7f6 20%,#fff 40%,#f1f7f6 60%);background-size:300% 100%;animation:skeleton 1.3s infinite}
@keyframes skeleton{to{background-position:-150% 0}}
@keyframes search-button-gradient{
  0%{background-position:0 50%}
  50%{background-position:100% 50%}
  100%{background-position:0 50%}
}
.order-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}
.order-modal[hidden]{display:none}
.order-backdrop{position:absolute;inset:0;background:rgba(4,35,40,.72);backdrop-filter:blur(5px)}
.order-dialog{position:relative;width:min(590px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:34px;border-radius:26px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.3)}
.order-dialog h2{margin:9px 40px 14px 0;font-size:30px;line-height:1.15}
.order-close{position:absolute;right:18px;top:16px;width:38px;height:38px;border:0;border-radius:50%;background:var(--foam);font-size:25px;color:var(--ink);cursor:pointer}
.selected-product{margin:0 0 22px;padding:15px 17px;border-left:3px solid var(--sea);border-radius:0 12px 12px 0;background:var(--foam);font-size:13px}
.selected-product b{display:block;margin-bottom:3px}
.selected-product strong{color:var(--sea)}
.order-dialog form>label{display:block;margin-bottom:13px;font-size:12px;font-weight:750}
.order-dialog input,.order-dialog textarea{width:100%;margin-top:6px;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#fbfdfd;color:var(--ink);font:inherit;font-size:14px;outline:none}
.order-dialog input:focus,.order-dialog textarea:focus{border-color:var(--sea);box-shadow:0 0 0 3px rgba(8,127,140,.1)}
.order-dialog .check{display:flex;gap:9px;align-items:flex-start;font-weight:400}
.order-dialog .check input{width:17px;height:17px;margin:1px 0 0}
.order-dialog .check a{color:var(--sea);text-decoration:underline}
.order-submit{width:100%}
body.modal-open{overflow:hidden}
.catalog-footer{padding:15px 0 24px}
.catalog-footer .footer-bottom{margin-top:0}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){
  .catalog-search{padding:52px 0 40px}
  .catalog-search-form{grid-template-columns:1fr;padding:7px}
  .catalog-search-form input{padding:13px 12px}
  .catalog-search-form .button{width:100%}
  .catalog-search-form .button.is-searching{
    background:linear-gradient(110deg,#ff735c,#ff9b70,#0a98a5,#087582,#ff735c);
    background-size:320% 100%;
    color:#fff;
    opacity:1;
    cursor:wait;
    animation:search-button-gradient 2.1s ease-in-out infinite;
    box-shadow:0 10px 26px rgba(8,127,140,.2);
  }
  .catalog-results{grid-template-columns:1fr}
  .results-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .product-result__bottom{align-items:stretch;flex-direction:column}
  .product-result .button{width:100%}
  .order-modal{padding:10px}
  .order-dialog{padding:27px 18px;max-height:calc(100vh - 20px)}
}
@media(prefers-reduced-motion:reduce){
  .catalog-search-form .button.is-searching{animation:none;background:#087f8c}
}
