/* ============================================================
   SAMANSTAR v3 — Industrial Vision Optics for Russia & CIS
   Loaded after style.css + v2.css.
   Adds: RU switch, category hero, product filter sidebar,
   product rows, product detail page, selection helper, RFQ.
   ============================================================ */

/* ---------- 1. RU language switch ---------- */
.hd__link--ru{
  padding:0 12px;font-weight:700;letter-spacing:.06em;color:var(--muted);
  border-left:1px solid var(--line);margin-left:6px;
}
.hd__link--ru:hover{color:var(--brand)}
.lang-note{
  display:none;position:fixed;left:50%;bottom:28px;transform:translateX(-50%);
  z-index:120;background:#0d2b4c;color:#fff;font-size:.9rem;
  padding:14px 22px;border-radius:999px;box-shadow:0 20px 40px -18px rgba(0,0,0,.6);
}
.lang-note.is-on{display:block}

/* ---------- 2. Category page hero ---------- */
.cat-hero{
  background:linear-gradient(160deg,#f2f7fd,#e6effa 55%,#f8fbfe);
  border-bottom:1px solid var(--line);
  padding-top:clamp(26px,3.2vw,46px);padding-bottom:clamp(26px,3.2vw,46px);
}
.cat-hero h1{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem)}
.cat-hero p{margin-top:12px;color:var(--muted);max-width:70ch}
.cat-hero__chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.cat-hero__chips li{
  font-size:.8rem;font-weight:700;color:#3d5877;background:#fff;
  border:1px solid var(--line-2);border-radius:999px;padding:7px 14px;
}

/* ---------- 3. Shop layout: filter rail + results ---------- */
.shop{display:grid;grid-template-columns:252px minmax(0,1fr);gap:28px;align-items:start}
.filters{
  position:sticky;top:92px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-md);overflow:hidden;
}
.filters__head{
  padding:14px 18px;background:var(--brand);color:#fff;
  font-weight:800;font-size:.92rem;letter-spacing:.03em;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.filters__reset{
  font-size:.74rem;font-weight:700;color:#cfe4ff;background:none;border:0;cursor:pointer;
}
.filters__reset:hover{color:#fff;text-decoration:underline}
.fgroup{padding:14px 18px;border-bottom:1px solid var(--line)}
.fgroup:last-child{border-bottom:0}
.fgroup > h4{
  font-size:.76rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
  color:var(--brand);margin-bottom:10px;
}
.fopt{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:.88rem;color:#46586f;cursor:pointer}
.fopt input{width:15px;height:15px;accent-color:var(--brand);flex:none;cursor:pointer}
.fopt:hover{color:var(--brand)}
.fcount{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:13px 18px;margin-bottom:18px;
}
.fcount p{font-size:.88rem;color:var(--muted)}
.fcount b{color:var(--ink)}
.fcount select{
  border:1px solid var(--line-2);border-radius:var(--r-sm);padding:8px 12px;
  font-size:.85rem;background:#fff;
}
.empty{padding:48px 20px;text-align:center;color:var(--muted)}
@media (max-width:980px){
  .shop{grid-template-columns:1fr}
  .filters{position:static}
}

/* ---------- 4. Product rows ---------- */
.plist{display:grid;gap:14px}
.prow{
  display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:20px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:16px 20px 16px 16px;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease);
}
.prow:hover{border-color:#c9dcf1;box-shadow:var(--sh-md);transform:translateY(-2px)}
.prow__media{
  aspect-ratio:4/3;background:linear-gradient(160deg,#f8fbff,#eef4fb);
  border-radius:var(--r-sm);display:grid;place-items:center;padding:8px;
}
.prow__media img{width:100%;height:100%;object-fit:contain}
.prow__main h3{font-size:1rem}
.prow__main h3 a{color:inherit}
.prow__main h3 a:hover{color:var(--brand)}
.prow__code{font-size:.74rem;font-weight:700;letter-spacing:.08em;color:var(--muted-2)}
.prow__desc{margin-top:6px;font-size:.87rem;color:var(--muted)}
.prow__specs{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.prow__specs li{font-size:.73rem;color:#3d5675;background:#eef4fb;border:1px solid #e0e9f5;border-radius:999px;padding:3px 9px;font-weight:600}
.prow__act{display:flex;flex-direction:column;gap:8px;flex:none}
@media (max-width:820px){
  .prow{grid-template-columns:104px minmax(0,1fr);gap:14px}
  .prow__act{grid-column:1/-1;flex-direction:row}
  .prow__act .btn{flex:1}
}

/* ---------- 5. Product detail ---------- */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,3.4vw,48px);align-items:start}
.pdp__gallery{display:grid;gap:12px}
.pdp__main{
  aspect-ratio:4/3;background:linear-gradient(160deg,#f8fbff,#eaf2fb);
  border:1px solid var(--line);border-radius:var(--r-lg);
  display:grid;place-items:center;padding:26px;
}
.pdp__main img{width:100%;height:100%;object-fit:contain}
.pdp__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pdp__thumbs div{
  aspect-ratio:1;border:1px solid var(--line);border-radius:var(--r-sm);
  background:#fff;display:grid;place-items:center;padding:8px;cursor:pointer;
  transition:border-color .2s var(--ease);
}
.pdp__thumbs div:hover,.pdp__thumbs div.is-on{border-color:var(--brand)}
.pdp__thumbs img{width:100%;height:100%;object-fit:contain}
.pdp__title{font-size:clamp(1.4rem,1.15rem + 1vw,1.95rem)}
.pdp__sub{margin-top:10px;color:var(--muted);font-size:.95rem}
.kvrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.kv{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);padding:13px 15px}
.kv b{display:block;font-size:1.02rem;color:var(--brand);line-height:1.2}
.kv span{display:block;margin-top:4px;font-size:.73rem;color:var(--muted);letter-spacing:.02em}
.pdp__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.pdp__meta{margin-top:18px;font-size:.82rem;color:var(--muted-2)}
@media (max-width:900px){
  .pdp{grid-template-columns:1fr}
  .kvrow{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- 6. Spec tables ---------- */
.spectable{width:100%;border-collapse:collapse}
.spectable th,.spectable td{
  text-align:left;padding:11px 14px;font-size:.9rem;border-bottom:1px solid var(--line);
}
.spectable th{
  background:var(--bg);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--brand);font-weight:800;
}
.spectable td:first-child{color:var(--muted);width:38%}
.spectable tr:last-child td{border-bottom:0}
.spectable--2 td:nth-child(3){color:var(--muted);width:22%}
.table-wrap{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#fff}

/* ---------- 7. Technology blocks (MTF / distortion placeholders) ---------- */
.tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tech{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:16px}
.tech__box{
  aspect-ratio:4/3;border-radius:var(--r-sm);border:1px dashed var(--line-2);
  background:linear-gradient(160deg,#f9fcff,#eef4fb);
  display:grid;place-items:center;text-align:center;color:var(--muted-2);
  font-size:.78rem;line-height:1.5;padding:14px;margin-bottom:12px;
}
.tech h4{font-size:.9rem}
.tech p{margin-top:5px;font-size:.8rem;color:var(--muted)}
@media (max-width:820px){.tech-grid{grid-template-columns:1fr}}

/* ---------- 8. Selection helper ---------- */
.picker{
  background:linear-gradient(150deg,#f4f9ff,#e7f0fa);
  border:1px solid #cfe2f7;border-radius:var(--r-xl);
  padding:clamp(22px,3vw,34px);
}
.picker h2{font-size:clamp(1.25rem,1.05rem + .8vw,1.7rem)}
.picker > p{margin-top:10px;color:var(--muted);max-width:62ch}
.picker__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.picker__grid .field label{font-size:.79rem}
.picker__out{
  margin-top:20px;display:none;background:#fff;border:1px solid #cfe2f7;
  border-radius:var(--r-md);padding:18px 20px;
}
.picker__out.is-on{display:block}
.picker__out h3{font-size:.98rem;margin-bottom:8px}
.picker__out p{font-size:.88rem;color:var(--muted)}
.picker__out ul{margin-top:12px;display:grid;gap:8px}
.picker__out li{
  display:flex;gap:9px;align-items:flex-start;font-size:.88rem;color:var(--ink-2);
  background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 13px;
}
.picker__out li b{color:var(--brand)}
@media (max-width:820px){.picker__grid{grid-template-columns:1fr}}

/* ---------- 9. RFQ form ---------- */
.rfq{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rfq .field--full{grid-column:1/-1}
.file-drop{
  border:1px dashed var(--line-2);border-radius:var(--r-sm);background:#fbfdff;
  padding:16px;text-align:center;font-size:.85rem;color:var(--muted);
}
@media (max-width:760px){.rfq{grid-template-columns:1fr}}

/* ---------- 10. Misc ---------- */
.sec-narrow{max-width:920px;margin-inline:auto}
.divider-line{height:1px;background:var(--line);border:0;margin-block:clamp(32px,4vw,56px)}
.lead-2{font-size:1rem;color:var(--muted)}
.link-plain{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
