/* Каталог поставщиков: /poisk-postavshchikov/, категории, карточка /postavshchik/{slug}/ — в стиле лендинга */
.sp{color:#e4e2e7;font-family:Inter,system-ui,sans-serif;padding-bottom:40px}
.sp *{box-sizing:border-box}

/* hero каталога */
.sp-hero{position:relative;isolation:isolate;padding:136px 0 44px;overflow:hidden}
.sp-hero__stars{position:absolute;top:0;left:0;width:100%;z-index:-1;opacity:.8;pointer-events:none}
.sp-hero__light{position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 45%,transparent);mask-image:linear-gradient(#000 45%,transparent);z-index:-3;background-size:cover;background-position:center top;opacity:.75;pointer-events:none}
.sp-hero::after{content:"";position:absolute;right:-200px;top:40px;width:800px;height:800px;z-index:-2;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(61,220,132,.15),rgba(61,220,132,0) 60%)}
.sp-hero__grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:end}
.sp-hero h1{margin:0;font-family:interDisplay,Inter,sans-serif;font-weight:400;font-size:68px;line-height:1.04;letter-spacing:-1.4px;
  background:linear-gradient(90deg,#f4fff8 0%,#c9f7dc 55%,#5fe598 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sp-hero__lead{max-width:640px;margin:20px 0 0;font-size:17px;line-height:1.65;color:rgba(228,226,231,.65)}
.sp-hero__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:460px;justify-self:end;width:100%}
.sp-hero__stats div{padding:20px 18px;border-radius:22px;background:linear-gradient(180deg,rgba(225,235,228,.07),rgba(225,235,228,.02));border:1px solid rgba(225,235,228,.08);backdrop-filter:blur(8px)}
.sp-hero__stats b{display:block;font-family:interDisplay,Inter,sans-serif;font-weight:400;font-size:34px;line-height:1;color:#8ff0b6}
.sp-hero__stats span{display:block;margin-top:8px;font-size:13px;line-height:1.4;color:rgba(228,226,231,.55)}

/* категории */
.sp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}
.sp-chips a{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;font-size:14px;color:rgba(228,226,231,.75);text-decoration:none;background:rgba(225,235,228,.05);border:1px solid rgba(225,235,228,.09);transition:all .2s}
.sp-chips a:hover{color:#e4e2e7;border-color:rgba(95,229,152,.35)}
.sp-chips a[aria-current]{color:#06150c;background:linear-gradient(180deg,#5fe598,#23b45e);border-color:transparent}
.sp-chips i{font-style:normal;font-size:12px;padding:1px 8px;border-radius:999px;background:rgba(225,235,228,.1)}
.sp-chips a[aria-current] i{background:rgba(6,21,12,.15)}

/* сетка карточек */
.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sp-card{display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,rgba(225,235,228,.06),rgba(225,235,228,.02));border:1px solid rgba(225,235,228,.06);transition:transform .35s ease,box-shadow .35s ease,border-color .35s}
.sp-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(0,0,0,.35);border-color:rgba(95,229,152,.2)}
.sp-card__mosaic{position:relative;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:3px;aspect-ratio:4/3;background:#0d2a19;overflow:hidden}
.sp-card__mosaic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.sp-card__mosaic img:first-child{grid-row:1/3}
.sp-card:hover .sp-card__mosaic img{transform:scale(1.04)}
.sp-card__count{position:absolute;left:14px;bottom:14px;padding:5px 12px;border-radius:999px;font-size:12.5px;color:#e4e2e7;background:rgba(6,21,12,.7);backdrop-filter:blur(6px)}
.sp-card__body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;flex:1}
.sp-card__meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:rgba(228,226,231,.5)}
.sp-card__meta a{color:#8ff0b6;text-decoration:none}
.sp-card h2{margin:0;font-family:interDisplay,Inter,sans-serif;font-weight:400;font-size:23px;line-height:1.25;letter-spacing:-.3px}
.sp-card h2 a{color:#e4e2e7;text-decoration:none}
.sp-card h2 a:hover{color:#8ff0b6}
.sp-card p{margin:0;font-size:14.5px;line-height:1.6;color:rgba(228,226,231,.6)}
.sp-card__foot{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:10px}
.sp-contact{display:flex;flex-direction:column;gap:3px;padding:10px 18px 11px;border-radius:18px;text-decoration:none;color:#06150c;background:linear-gradient(180deg,#e9fff1 0%,#9ff0c0 100%);box-shadow:0 10px 28px rgba(61,220,132,.22);transition:transform .25s,box-shadow .25s}
.sp-contact:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(61,220,132,.32)}
.sp-contact small{white-space:nowrap;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgba(6,21,12,.6)}
.sp-contact b{font-family:interDisplay,Inter,sans-serif;font-weight:500;font-size:24px;line-height:1;letter-spacing:-.4px}
.sp-moq{min-width:0;font-size:12.5px;line-height:1.35;color:rgba(228,226,231,.5)}
.sp-card__go{margin-left:auto;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#06150c;background:linear-gradient(180deg,#e9fff1,#9ff0c0);text-decoration:none;font-size:17px;transition:transform .25s}
.sp-card__go:hover{transform:rotate(45deg)}
.sp-empty{padding:48px 32px;border-radius:28px;background:rgba(225,235,228,.04);text-align:center}
.sp-empty h2{margin:0 0 8px;font-weight:500}
.sp-empty p{margin:0;color:rgba(228,226,231,.6)}

/* карточка поставщика */
.sp-single{padding-top:136px}
.sp-single__grid{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:start}
.sp-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sp-gallery__item{display:block;aspect-ratio:1;border-radius:18px;overflow:hidden;background:#0d2a19;cursor:zoom-in}
.sp-gallery__item:first-child{grid-column:1/3;grid-row:1/3;border-radius:24px}
.sp-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.sp-gallery__item:hover img{transform:scale(1.05)}
.sp-gallery__empty{grid-column:1/-1;aspect-ratio:4/3;display:grid;place-items:center;border-radius:24px;background:rgba(225,235,228,.04);color:rgba(228,226,231,.5)}

.sp-info{position:sticky;top:110px;padding:32px;border-radius:32px;background:radial-gradient(120% 90% at 100% 0%,rgba(61,220,132,.16),rgba(61,220,132,0) 55%),linear-gradient(180deg,rgba(225,235,228,.07),rgba(225,235,228,.02));border:1px solid rgba(225,235,228,.08)}
.sp-info h1{margin:0;font-family:interDisplay,Inter,sans-serif;font-weight:400;font-size:42px;line-height:1.1;letter-spacing:-.8px;color:rgba(228,226,231,.95)}
.sp-info__lead{margin:14px 0 0;font-size:15.5px;line-height:1.6;color:rgba(228,226,231,.65)}
.sp-info__price{margin-top:24px;padding:18px 20px;border-radius:20px;background:rgba(6,21,12,.45);border:1px solid rgba(95,229,152,.18)}
.sp-info__price span{display:block;font-size:13px;color:rgba(228,226,231,.55)}
.sp-info__price b{display:block;margin-top:4px;font-family:interDisplay,Inter,sans-serif;font-weight:400;font-size:38px;line-height:1.1;color:#8ff0b6}
.sp-info__price small{display:block;margin-top:6px;font-size:12.5px;line-height:1.45;color:rgba(228,226,231,.45)}
.sp-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 0}
.sp-facts div{padding:12px 14px;border-radius:14px;background:rgba(225,235,228,.04)}
.sp-facts dt{font-size:12px;color:rgba(228,226,231,.5)}
.sp-facts dd{margin:3px 0 0;font-size:14.5px;color:#e4e2e7}

.sp-lock{margin-top:20px;padding:18px;border-radius:22px;background:rgba(225,235,228,.04);border:1px dashed rgba(95,229,152,.3)}
.sp-lock__row{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.sp-lock__ico{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:14px;color:#8ff0b6;background:rgba(61,220,132,.12)}
.sp-lock__row b{display:block;font-size:14.5px;font-weight:600}
.sp-lock__blur{display:block;margin-top:2px;font-family:ui-monospace,Menlo,monospace;font-size:14px;color:rgba(228,226,231,.55);filter:blur(3px);user-select:none}
.sp-lock p{margin:12px 0 0;font-size:13px;line-height:1.5;color:rgba(228,226,231,.5)}
.sp-btn{display:flex;align-items:center;justify-content:center;width:100%;height:52px;padding:0 20px;border-radius:999px;font-size:15.5px;font-weight:500;text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s}
.sp-btn+.sp-btn{margin-top:8px}
.sp-btn:hover{transform:translateY(-1px)}
.sp-btn--light{color:#06150c;background:linear-gradient(180deg,#e9fff1 0%,#9ff0c0 100%);box-shadow:0 10px 30px rgba(61,220,132,.25)}
.sp-btn--glass{color:#e4e2e7;background:rgba(225,235,228,.06);border:1px solid rgba(225,235,228,.12)}
.sp-btn--glass:hover{background:rgba(225,235,228,.1)}

.sp-desc{max-width:860px;margin-top:64px}
.sp-desc h2,.sp-related h2{margin:0 0 18px;font-family:interDisplay,Inter,sans-serif;font-weight:400;font-size:36px;letter-spacing:-.6px;color:rgba(228,226,231,.95)}
.sp-desc__text{font-size:16.5px;line-height:1.75;color:rgba(228,226,231,.72)}
.sp-desc__text p{margin:0 0 16px}
.sp-desc__text h3{margin:28px 0 10px;font-size:20px;font-weight:500;color:#e4e2e7}
.sp-desc__text ul{margin:0 0 16px;padding-left:22px;list-style:disc}
.sp-desc__text li{margin-bottom:6px}
.sp-desc__text li::marker{color:#3ddc84}
.sp-related{margin-top:64px}

/* просмотр фото */
.sp-lb{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(3,10,6,.92);backdrop-filter:blur(6px)}
.sp-lb[hidden]{display:none}
.sp-lb img{max-width:min(92vw,1100px);max-height:86vh;border-radius:18px;object-fit:contain}
.sp-lb button{position:absolute;display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:50%;font-size:30px;line-height:1;color:#e4e2e7;background:rgba(225,235,228,.1);cursor:pointer}
.sp-lb button:hover{background:rgba(225,235,228,.2)}
.sp-lb__close{top:20px;right:20px}
.sp-lb__nav--prev{left:20px}
.sp-lb__nav--next{right:20px}
.sp-lb__count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:14px;color:rgba(228,226,231,.7)}

@media (max-width:1100px){
  .sp-hero__grid,.sp-single__grid{grid-template-columns:1fr;gap:28px}
  .sp-hero h1{font-size:54px}
  .sp-grid{grid-template-columns:repeat(2,1fr)}
  .sp-info{position:static}
}
@media (max-width:640px){
  .sp-hero{padding:112px 0 32px}
  .sp-single{padding-top:112px}
  .sp-hero h1{font-size:38px;letter-spacing:-.8px}
  .sp-hero__lead{font-size:15.5px}
  .sp-hero__stats{gap:6px}
  .sp-hero__stats div{padding:14px 12px;border-radius:18px}
  .sp-hero__stats b{font-size:24px}
  .sp-hero__stats span{font-size:11.5px}
  .sp-chips{flex-wrap:nowrap;overflow-x:auto;margin:28px -16px 0;padding:0 16px 4px;scrollbar-width:none}
  .sp-chips::-webkit-scrollbar{display:none}
  .sp-chips a{flex:none}
  .sp-grid{grid-template-columns:1fr}
  .sp-gallery{gap:6px}
  .sp-gallery__item{border-radius:14px}
  .sp-info{padding:22px;border-radius:26px}
  .sp-info h1{font-size:30px}
  .sp-info__price b{font-size:32px}
  .sp-facts{grid-template-columns:1fr 1fr}
  .sp-desc h2,.sp-related h2{font-size:28px}
  .sp-lb button.sp-lb__nav{display:none}
}

/* вывеска «Выкупим любой товар у этого поставщика» */
.sp-buyout{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;margin-top:48px;padding:44px 48px;border-radius:36px;
  background:radial-gradient(70% 120% at 100% 0%,rgba(61,220,132,.32),rgba(61,220,132,0) 60%),radial-gradient(60% 90% at 0% 100%,rgba(61,220,132,.14),rgba(61,220,132,0) 60%),linear-gradient(180deg,rgba(225,235,228,.08),rgba(225,235,228,.02));
  border:1px solid rgba(95,229,152,.35);box-shadow:0 30px 90px rgba(0,0,0,.35),0 0 120px rgba(61,220,132,.1)}
.sp-buyout::after{content:"¥";position:absolute;z-index:-1;right:-20px;bottom:-70px;font-family:interDisplay,Inter,sans-serif;font-size:300px;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(95,229,152,.12);pointer-events:none}
.sp-buyout__tag{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:999px;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#06150c;background:linear-gradient(180deg,#e9fff1,#5fe598)}
.sp-buyout h2{margin:18px 0 0;font-family:interDisplay,Inter,sans-serif;font-weight:400;font-size:38px;line-height:1.15;letter-spacing:-.7px;color:rgba(228,226,231,.95)}
.sp-buyout h2 span{background:linear-gradient(90deg,#e4e2e7 0%,#a6f2c6 50%,#3ddc84 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sp-buyout p{max-width:560px;margin:16px 0 0;font-size:16px;line-height:1.65;color:rgba(228,226,231,.68)}
.sp-buyout__btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:26px}
.sp-buyout__btns .sp-btn{width:auto;padding:0 30px}
.sp-buyout__btns span{font-size:13.5px;color:rgba(228,226,231,.5)}

.sp-route{display:flex;align-items:center;padding:26px 22px;border-radius:26px;background:rgba(6,21,12,.55);border:1px solid rgba(95,229,152,.18);backdrop-filter:blur(8px)}
.sp-route__pt{display:flex;flex-direction:column;align-items:center;gap:4px;flex:none;width:96px;text-align:center}
.sp-route__pt i{display:grid;place-items:center;width:56px;height:56px;margin-bottom:6px;border-radius:18px;font-style:normal;font-size:26px;background:rgba(225,235,228,.07);border:1px solid rgba(225,235,228,.12)}
.sp-route__pt.is-end i{background:linear-gradient(160deg,rgba(127,240,174,.35),rgba(35,180,94,.25));border-color:rgba(95,229,152,.5);box-shadow:0 0 30px rgba(61,220,132,.3)}
.sp-route__pt b{font-size:14px;font-weight:600;color:#e4e2e7}
.sp-route__pt small{white-space:nowrap;font-size:12px;color:rgba(228,226,231,.5)}
.sp-route__line{position:relative;flex:1;height:2px;margin:0 4px 40px;background:repeating-linear-gradient(90deg,rgba(95,229,152,.6) 0 6px,transparent 6px 12px)}
.sp-route__line span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:13px;font-weight:700;color:#06150c;background:linear-gradient(160deg,#e9fff1,#3ddc84);box-shadow:0 0 18px rgba(61,220,132,.45)}

@media (max-width:1100px){.sp-buyout{grid-template-columns:1fr;gap:28px}}
@media (max-width:640px){
  .sp-buyout{margin-top:36px;padding:28px 20px;border-radius:26px}
  .sp-buyout h2{font-size:27px;letter-spacing:-.4px}
  .sp-buyout p{font-size:15px}
  .sp-buyout__btns .sp-btn{width:100%}
  .sp-route{padding:18px 10px}
  .sp-route__pt{width:74px}
  .sp-route__pt i{width:46px;height:46px;font-size:21px;border-radius:14px}
  .sp-route__pt b{font-size:12.5px}
  .sp-route__pt small{font-size:11px}
  .sp-route__line span{width:24px;height:24px;font-size:11px}
}
