
/* ===== Secondary catalogue pages ===== */
.catalog-page{background:#f7f7f7}
.catalog-page .header{background:rgba(247,247,247,.95)}
.category-main{overflow:hidden}
.category-hero{padding:34px 0 38px;background:#f7f7f7}
.breadcrumbs{display:flex;align-items:center;gap:8px;margin-bottom:28px;font-size:12px;color:#777}
.breadcrumbs a{color:#444;text-decoration:none}
.breadcrumbs span{opacity:.55}
.category-hero__grid{display:grid;grid-template-columns:48% 52%;min-height:420px;align-items:center}
.category-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.category-kicker:before{content:"";width:28px;height:1px;background:#222}
.category-hero h1{max-width:610px;margin:0 0 18px;font-size:58px;line-height:.95;letter-spacing:-.065em;font-weight:900}
.category-lead{max-width:570px;margin:0 0 26px;color:#3d3d3d;font-size:17px;line-height:1.48}
.category-facts{display:flex;gap:0;margin:0 0 28px}
.category-fact{min-width:150px;padding:0 20px;border-right:1px solid #ccc}
.category-fact:first-child{padding-left:0}
.category-fact:last-child{border-right:0}
.category-fact strong{display:block;font-size:16px}
.category-fact small{display:block;margin-top:4px;color:#666;font-size:11px}
.category-hero__image{height:410px;display:flex;align-items:center;justify-content:center}
.category-hero__image img{width:100%;height:100%;object-fit:contain;object-position:center}
.category-nav{padding:16px 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;background:#fff}
.category-nav__inner{display:flex;align-items:center;gap:10px;overflow-x:auto;scrollbar-width:none}
.category-nav__inner::-webkit-scrollbar{display:none}
.category-nav a{flex:0 0 auto;padding:10px 14px;border:1px solid #ddd;border-radius:999px;font-size:12px;font-weight:700;text-decoration:none;background:#fff}
.category-nav a:hover{border-color:#111}
.category-section{padding:52px 0}
.category-section--white{background:#fff}
.category-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:26px}
.category-heading h2{margin:0;font-size:36px;line-height:1;letter-spacing:-.055em}
.category-heading p{max-width:520px;margin:0;color:#666;font-size:14px;line-height:1.45}
.product-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.product-tile{min-height:118px;padding:22px;border:1px solid #e1e1e1;border-radius:14px;background:linear-gradient(145deg,#fff,#f5f5f5);transition:.25s ease}
.product-tile:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.06)}
.product-tile span{display:block;margin-bottom:22px;color:#9a9a9a;font-size:11px;font-weight:800}
.product-tile h3{margin:0;font-size:18px;line-height:1.1;letter-spacing:-.035em}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feature-card{min-height:210px;padding:26px;border-radius:16px;background:#171717;color:#fff}
.feature-num{width:36px;height:36px;display:grid;place-items:center;margin-bottom:48px;border:1px solid #555;border-radius:50%;font-size:11px}
.feature-card h3{margin:0 0 10px;font-size:21px;letter-spacing:-.04em}
.feature-card p{margin:0;color:#bdbdbd;font-size:13px;line-height:1.45}
.material-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.material-panel{padding:30px;border:1px solid #e2e2e2;border-radius:16px;background:#fff}
.material-panel h3{margin:0 0 18px;font-size:24px;letter-spacing:-.045em}
.material-list{display:grid;gap:0}
.material-item{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #e8e8e8;font-size:14px;font-weight:700}
.material-item:last-child{border-bottom:0}
.material-item:after{content:"✓";width:25px;height:25px;display:grid;place-items:center;border:1px solid #ccc;border-radius:50%;font-size:11px}
.brand-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.brand-option{padding:18px;border-radius:12px;background:#f4f4f4}
.brand-option strong{display:block;margin-bottom:5px;font-size:14px}
.brand-option small{color:#666;font-size:11px}
.order-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.order-step{position:relative;padding:0 18px 0 0}
.order-step:not(:last-child):after{content:"";position:absolute;top:15px;left:38px;right:12px;border-top:1px dashed #aaa}
.order-step b{position:relative;z-index:1;width:31px;height:31px;display:grid;place-items:center;margin-bottom:18px;border-radius:50%;background:#111;color:#fff;font-size:11px}
.order-step h3{margin:0 0 7px;font-size:15px}
.order-step p{margin:0;color:#666;font-size:11.5px;line-height:1.4}
.category-cta{padding:34px 0 52px}
.category-cta__box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:34px 38px;border-radius:18px;background:#181818;color:#fff}
.category-cta h2{margin:0 0 9px;font-size:34px;line-height:1;letter-spacing:-.055em}
.category-cta p{margin:0;color:#bcbcbc;font-size:14px}
.category-cta .button{background:#fff;color:#111}
.related-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.related-card{position:relative;min-height:155px;display:flex;align-items:center;overflow:hidden;padding:22px;border:1px solid #e4e4e4;border-radius:14px;background:#f7f7f7;text-decoration:none}
.related-card img{position:absolute;right:0;bottom:0;width:50%;height:95%;object-fit:contain}
.related-card span{position:relative;z-index:1;max-width:52%;font-size:16px;font-weight:900;letter-spacing:-.035em}
.category-footer{padding:18px 0 28px;border-top:1px solid #ddd;font-size:11px;color:#777}
.category-footer__inner{display:flex;justify-content:space-between;gap:20px}
.category-footer a{text-decoration:none}

@media(max-width:900px){
  .category-hero__grid{grid-template-columns:1fr 1fr}
  .category-hero h1{font-size:48px}
  .product-list,.feature-grid,.related-categories{grid-template-columns:repeat(2,1fr)}
  .order-steps{grid-template-columns:repeat(3,1fr);gap:22px 10px}
  .order-step:not(:last-child):after{display:none}
}
@media(max-width:760px){
  .catalog-page .header .button{display:flex}
  .category-hero{padding:22px 0 28px}
  .breadcrumbs{margin-bottom:20px}
  .category-hero__grid{display:flex;flex-direction:column}
  .category-hero__copy{width:100%}
  .category-hero h1{font-size:42px}
  .category-lead{font-size:15px}
  .category-facts{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}
  .category-fact{min-width:0;padding:12px!important;border:1px solid #ddd!important;border-radius:10px;background:#fff}
  .category-hero__image{order:-1;width:100%;height:240px;margin-bottom:16px}
  .category-heading{display:block}
  .category-heading h2{font-size:31px;margin-bottom:10px}
  .product-list,.feature-grid,.material-layout,.related-categories{grid-template-columns:1fr}
  .product-tile{min-height:100px}
  .feature-card{min-height:185px}
  .feature-num{margin-bottom:34px}
  .order-steps{grid-template-columns:1fr 1fr;gap:18px}
  .category-cta__box{grid-template-columns:1fr;padding:28px 24px}
  .category-cta h2{font-size:30px}
  .category-cta .button{width:100%}
  .category-footer__inner{display:block}
}
@media(max-width:390px){
  .category-hero h1{font-size:37px}
  .category-facts,.order-steps{grid-template-columns:1fr}
}


body.modal-open{overflow:hidden}
.contact-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;pointer-events:none;transition:.22s ease}
.contact-modal.open{opacity:1;visibility:visible;pointer-events:auto}
.contact-modal__backdrop{position:absolute;inset:0;background:rgba(15,15,15,.54);backdrop-filter:blur(5px)}
.contact-modal__dialog{position:relative;z-index:1;width:min(100%,620px);max-height:calc(100vh - 44px);overflow:auto;padding:34px;border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.24)}
.contact-modal__close{position:absolute;top:14px;right:14px;width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid #ddd;border-radius:50%;background:#fff;color:#111;font-size:25px;line-height:1;cursor:pointer}
.contact-modal__kicker{margin-bottom:10px;color:#777;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.contact-modal h2{margin:0 46px 10px 0;font-size:34px;line-height:1;letter-spacing:-.055em}
.contact-modal__lead{max-width:480px;margin:0 0 16px;color:#666;font-size:14px;line-height:1.45}
.contact-modal__source{display:none;margin:0 0 18px;padding:10px 12px;border-radius:10px;background:#f3f3f3;font-size:12px;font-weight:700}
.contact-modal__source.visible{display:block}
.contact-modal__form{display:grid;gap:12px}
.contact-modal__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-modal input,.contact-modal textarea{width:100%;border:1px solid #d9d9d9;border-radius:11px;background:#fff;color:#111;font:inherit;outline:none}
.contact-modal input{height:50px;padding:0 15px}
.contact-modal textarea{min-height:118px;padding:14px 15px;resize:vertical}
.contact-modal input:focus,.contact-modal textarea:focus{border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.05)}
.contact-modal .button{width:100%;height:50px;border:0;cursor:pointer}
.contact-modal__note{color:#888;font-size:10.5px;line-height:1.35}
.contact-modal__direct{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px;padding-top:18px;border-top:1px solid #e8e8e8}
.contact-modal__direct a{font-size:13px;font-weight:800;text-decoration:none}
.js-open-contact-modal{cursor:pointer}
@media(max-width:600px){
  .contact-modal{padding:12px}
  .contact-modal__dialog{max-height:calc(100vh - 24px);padding:28px 20px 22px;border-radius:16px}
  .contact-modal h2{font-size:30px}
  .contact-modal__row{grid-template-columns:1fr}
}


.sport-page .category-hero__image{height:430px}
.sport-page .category-hero__image img{width:100%;height:100%;object-fit:contain;object-position:center}
.sport-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sport-product-card{position:relative;min-height:270px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e4e4e4;border-radius:16px;background:#fff;color:#111;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.035);transition:transform .25s ease,box-shadow .25s ease}
.sport-product-card__image{position:relative;height:210px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:10px 12px 4px;background:#fff}
.sport-product-card__image:after,.sport-feature-card__image:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0);pointer-events:none;transition:background .25s ease}
.sport-product-card__image img,.sport-feature-card__image img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .35s ease}
.sport-product-card__body{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-top:1px solid #eee}
.sport-product-card__body span{font-size:17px;line-height:1.12;font-weight:900;letter-spacing:-.035em}
.sport-product-card__arrow{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid #ddd;border-radius:50%;font-size:20px}
.sport-product-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.07)}
.sport-product-card:hover .sport-product-card__image:after,.sport-feature-card:hover .sport-feature-card__image:after{background:rgba(0,0,0,.07)}
.sport-product-card:hover .sport-product-card__image img,.sport-feature-card:hover .sport-feature-card__image img{transform:scale(1.025)}
.sport-features-section{background:#fff!important}
.sport-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sport-feature-card{overflow:hidden;border:1px solid #e4e4e4;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.035)}
.sport-feature-card__image{position:relative;height:235px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:10px;background:#fff}
.sport-feature-card__body{min-height:116px;padding:18px 20px 20px;border-top:1px solid #eee}
.sport-feature-card h3{margin:0 0 8px;font-size:20px;line-height:1.08;letter-spacing:-.04em}
.sport-feature-card p{margin:0;color:#666;font-size:12.5px;line-height:1.45}
@media(max-width:900px){
  .sport-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sport-feature-grid{grid-template-columns:1fr}
  .sport-feature-card{display:grid;grid-template-columns:42% 58%}
  .sport-feature-card__image{height:220px}
  .sport-feature-card__body{min-height:0;display:flex;flex-direction:column;justify-content:center;border-top:0;border-left:1px solid #eee}
}
@media(max-width:760px){
  .sport-page .category-hero__image{height:250px}
  .sport-product-grid{grid-template-columns:1fr}
  .sport-product-card{min-height:0}
  .sport-product-card__image{height:225px}
  .sport-feature-card{display:block}
  .sport-feature-card__image{height:225px}
  .sport-feature-card__body{border-left:0;border-top:1px solid #eee}
}


/* =========================================================
   v33 — SPORT: подписи внутри фотографий
   ========================================================= */

/* Что можем изготовить — единая фотоплашка */
.sport-product-card{
  min-height:0 !important;
  height:300px !important;
  display:block !important;
  position:relative !important;
  background:#111 !important;
}

.sport-product-card__image{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  background:#fff !important;
}

.sport-product-card__image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

.sport-product-card__body{
  position:absolute !important;
  z-index:3 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  min-height:0 !important;
  height:44% !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:56px 18px 18px !important;
  border:0 !important;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.94) 0%,
    rgba(0,0,0,.76) 42%,
    rgba(0,0,0,.28) 76%,
    rgba(0,0,0,0) 100%
  ) !important;
  transition:height .34s ease, padding .34s ease, background .34s ease !important;
}

.sport-product-card:hover .sport-product-card__body{
  height:100% !important;
  padding-top:18px !important;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.94) 0%,
    rgba(0,0,0,.82) 48%,
    rgba(0,0,0,.62) 76%,
    rgba(0,0,0,.34) 100%
  ) !important;
}

.sport-product-card__label{
  position:relative !important;
  min-height:42px !important;
  display:flex !important;
  align-items:flex-end !important;
  color:#fff !important;
}

.sport-product-card__label-default,
.sport-product-card__label-hover{
  display:block !important;
  font-size:19px !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  letter-spacing:-.035em !important;
  transition:opacity .22s ease, transform .28s ease !important;
}

.sport-product-card__label-hover{
  position:absolute !important;
  left:0 !important;
  bottom:0 !important;
  opacity:0 !important;
  transform:translateY(10px) !important;
}

.sport-product-card:hover .sport-product-card__label-default{
  opacity:0 !important;
  transform:translateY(-10px) !important;
}

.sport-product-card:hover .sport-product-card__label-hover{
  opacity:1 !important;
  transform:translateY(0) !important;
}

.sport-product-card__arrow{
  color:#fff !important;
  border-color:rgba(255,255,255,.62) !important;
  background:rgba(255,255,255,.08) !important;
}

.sport-product-card:hover .sport-product-card__arrow{
  background:#fff !important;
  color:#111 !important;
  border-color:#fff !important;
}

.sport-product-card:hover .sport-product-card__image:after{
  background:rgba(0,0,0,.05) !important;
}

.sport-product-card:hover .sport-product-card__image img{
  transform:scale(1.025) !important;
}

/* Что прорабатываем — подпись внутри фото */
.sport-feature-card{
  position:relative !important;
  height:330px !important;
  display:block !important;
  overflow:hidden !important;
  background:#111 !important;
}

.sport-feature-card__image{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  background:#fff !important;
}

.sport-feature-card__image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

.sport-feature-card__body{
  position:absolute !important;
  z-index:3 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  min-height:0 !important;
  padding:72px 20px 20px !important;
  border:0 !important;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.92) 0%,
    rgba(0,0,0,.68) 44%,
    rgba(0,0,0,.18) 78%,
    rgba(0,0,0,0) 100%
  ) !important;
}

.sport-feature-card h3{
  margin:0 !important;
  color:#fff !important;
  font-size:22px !important;
  line-height:1.05 !important;
  letter-spacing:-.04em !important;
}

.sport-feature-card p{
  display:none !important;
}

.sport-feature-card:hover .sport-feature-card__image:after{
  background:rgba(0,0,0,.05) !important;
}

.sport-feature-card:hover .sport-feature-card__image img{
  transform:scale(1.025) !important;
}

@media(max-width:900px){
  .sport-feature-card{
    height:300px !important;
    display:block !important;
  }

  .sport-feature-card__body{
    border:0 !important;
  }
}

@media(max-width:760px){
  .sport-product-card{
    height:285px !important;
  }

  .sport-product-card__body{
    height:46% !important;
  }

  .sport-product-card:hover .sport-product-card__body{
    height:100% !important;
  }

  .sport-feature-card{
    height:285px !important;
  }
}


/* =========================================================
   v34 — hover on sport product cards
   ========================================================= */

/* "Рассчитать" точно по центру карточки */
.sport-product-card__label{
  position:static !important;
}

.sport-product-card__label-hover{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) translateY(10px) !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-size:22px !important;
}

.sport-product-card:hover .sport-product-card__label-hover{
  transform:translate(-50%,-50%) translateY(0) !important;
}

/* На hover стрелка уходит, чтобы центр не сбивался */
.sport-product-card__arrow{
  transition:opacity .2s ease, transform .2s ease !important;
}

.sport-product-card:hover .sport-product-card__arrow{
  opacity:0 !important;
  transform:translateX(8px) !important;
}

/* Более лёгкое затемнение при наведении */
.sport-product-card:hover .sport-product-card__body{
  background:linear-gradient(
    to top,
    rgba(0,0,0,.76) 0%,
    rgba(0,0,0,.58) 46%,
    rgba(0,0,0,.34) 76%,
    rgba(0,0,0,.14) 100%
  ) !important;
}

.sport-product-card:hover .sport-product-card__image:after{
  background:rgba(0,0,0,.02) !important;
}


/* =========================================================
   v35 — Материалы и исполнение
   Единый стиль для всех второстепенных страниц
   ========================================================= */

/* Базовые материалы — полностью тёмная плашка */
.material-layout .material-panel:first-child{
  background:#171717 !important;
  border-color:#171717 !important;
  color:#fff !important;
  box-shadow:0 14px 34px rgba(0,0,0,.10);
}

.material-layout .material-panel:first-child h3{
  color:#fff !important;
}

.material-layout .material-panel:first-child .material-item{
  color:#fff !important;
  border-bottom-color:rgba(255,255,255,.15) !important;
}

.material-layout .material-panel:first-child .material-item:after{
  color:#fff !important;
  border-color:rgba(255,255,255,.38) !important;
  background:rgba(255,255,255,.05) !important;
}

/* Брендирование — внутренние карточки тёмные */
.material-layout .material-panel:nth-child(2) .brand-option{
  background:#171717 !important;
  color:#fff !important;
  border:1px solid #171717 !important;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease !important;
}

.material-layout .material-panel:nth-child(2) .brand-option strong{
  color:#fff !important;
}

.material-layout .material-panel:nth-child(2) .brand-option small{
  color:rgba(255,255,255,.68) !important;
}

.material-layout .material-panel:nth-child(2) .brand-option:hover{
  transform:translateY(-2px);
  background:#0f0f0f !important;
  box-shadow:0 10px 24px rgba(0,0,0,.13);
}

/* Мобильная версия */
@media(max-width:760px){
  .material-layout .material-panel:first-child{
    box-shadow:none;
  }

  .material-layout .material-panel:nth-child(2) .brand-option:hover{
    transform:none;
  }
}


/* =========================================================
   v36 — Брендирование тоже в чёрной стилистике
   ========================================================= */

.material-layout .material-panel:nth-child(2){
  background:#171717 !important;
  border-color:#171717 !important;
  color:#fff !important;
  box-shadow:0 14px 34px rgba(0,0,0,.10);
}

.material-layout .material-panel:nth-child(2) h3{
  color:#fff !important;
}

.material-layout .material-panel:nth-child(2) .brand-option{
  background:#171717 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.82) !important;
}

.material-layout .material-panel:nth-child(2) .brand-option strong{
  color:#fff !important;
}

.material-layout .material-panel:nth-child(2) .brand-option small{
  color:rgba(255,255,255,.72) !important;
}

.material-layout .material-panel:nth-child(2) .brand-option:hover{
  background:#111 !important;
  border-color:#fff !important;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

@media(max-width:760px){
  .material-layout .material-panel:nth-child(2){
    box-shadow:none;
  }
}


/* =========================================================
   v37 — Бомберы и куртки: визуальный каталог
   ========================================================= */

.bombers-page .category-hero__image{
  height:430px;
}

.bombers-page .category-hero__image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

@media(max-width:760px){
  .bombers-page .category-hero__image{
    height:250px;
  }
}
