
:root{--fet-green:#0b6f3b;--fet-dark:#173221;--fet-soft:#f5f8f6;--fet-line:#dfe8e2;--fet-orange:#e58a1f;--fet-text:#4e5a52}
.catalog-main{background:#fff;color:var(--fet-text)}
.catalog-shell{width:min(1380px,92vw);margin:auto}
.catalog-hero{padding:62px 5vw 46px;background:linear-gradient(135deg,#f7faf8,#eef5f0);border-bottom:1px solid var(--fet-line)}
.catalog-hero .catalog-shell{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.catalog-hero h1{font-size:clamp(38px,5vw,68px);line-height:1.02;margin:8px 0 18px;color:var(--fet-dark)}
.catalog-hero p{max-width:800px;font-size:18px;line-height:1.6}
.catalog-kicker{font-size:12px;font-weight:900;letter-spacing:.13em;color:var(--fet-green)}
.catalog-hero-note{padding:24px;border:1px solid var(--fet-line);border-radius:18px;background:#fff}
.catalog-hero-note strong{display:block;color:var(--fet-dark);font-size:19px;margin-bottom:8px}
.catalog-section{padding:58px 5vw}
.catalog-heading{margin-bottom:28px}.catalog-heading h2{font-size:34px;color:var(--fet-dark);margin:7px 0 8px}.catalog-heading p{max-width:900px;line-height:1.6}
.family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.family-card{display:flex;flex-direction:column;min-height:260px;padding:26px;border:1px solid var(--fet-line);border-radius:18px;background:#fff;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.035);transition:.18s}
.family-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.07)}
.family-code{font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--fet-green)}
.family-card h3{font-size:25px;line-height:1.15;color:var(--fet-dark);margin:14px 0 10px}
.family-card p{line-height:1.55;margin:0 0 18px}.family-card .family-meta{margin-top:auto;font-weight:800;color:var(--fet-green)}
.family-card.engineering{background:#f7f9f7}
.catalog-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 28px}
.catalog-toolbar input{min-width:280px;flex:1;max-width:520px;border:1px solid #ccd9d0;border-radius:12px;padding:13px 15px;font:inherit}
.catalog-count{font-weight:800;color:var(--fet-green)}
.product-group{padding:34px 0;border-top:1px solid var(--fet-line)}
.group-head{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start;margin-bottom:20px}
.group-head h2{margin:4px 0 8px;color:var(--fet-dark);font-size:30px}.group-head p{margin:0;line-height:1.55}
.video-dummy{border:1px solid var(--fet-line);border-radius:14px;background:linear-gradient(135deg,#f5f8f6,#eaf2ed);min-height:118px;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;color:var(--fet-green);font-weight:900;cursor:pointer}
.video-dummy span{display:block;font-size:30px;margin-bottom:4px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.product-card{border:1px solid var(--fet-line);border-radius:16px;background:#fff;padding:20px;display:flex;flex-direction:column;min-height:330px}
.product-card .sku{font:800 11px/1.3 Arial,sans-serif;letter-spacing:.06em;color:var(--fet-green)}
.product-card h3{font-size:20px;line-height:1.2;color:var(--fet-dark);margin:9px 0 10px}
.product-card .desc{font-size:14px;line-height:1.5;margin:0 0 14px}
.product-facts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:5px 0 17px}
.product-facts div{padding:9px;background:var(--fet-soft);border-radius:9px;font-size:12px}
.product-facts b{display:block;color:var(--fet-dark);font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
.product-actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}
.product-actions a,.product-actions button,.request-submit{border:0;border-radius:10px;padding:11px 13px;font:800 12px Arial,sans-serif;text-decoration:none;cursor:pointer}
.request-btn,.request-submit{background:var(--fet-green);color:#fff}.video-btn{background:#edf4ef;color:var(--fet-green)}
.catalog-note{padding:18px 20px;background:#fff8ef;border-left:4px solid var(--fet-orange);margin:25px 0;line-height:1.55}
.request-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;align-items:start}
.request-summary,.request-form{border:1px solid var(--fet-line);border-radius:18px;padding:24px;background:#fff}
.request-summary h2,.request-form h2{color:var(--fet-dark);margin-top:0}
.request-summary dl{display:grid;grid-template-columns:120px 1fr;gap:9px 12px;font-size:14px}.request-summary dt{font-weight:800;color:var(--fet-dark)}.request-summary dd{margin:0}
.request-form label{display:block;font-weight:800;color:var(--fet-dark);font-size:13px;margin:13px 0 5px}
.request-form input,.request-form textarea,.request-form select{width:100%;box-sizing:border-box;border:1px solid #ccd9d0;border-radius:10px;padding:11px 12px;font:inherit}.request-form textarea{min-height:110px}
.request-help{font-size:13px;line-height:1.5;margin-top:14px}
.back-family{display:inline-block;margin:25px 0;color:var(--fet-green);font-weight:800;text-decoration:none}
.video-modal{position:fixed;inset:0;background:rgba(10,20,14,.72);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}
.video-modal.open{display:flex}.video-box{width:min(820px,94vw);background:#fff;border-radius:18px;padding:28px;position:relative}.video-box h3{color:var(--fet-dark);margin-top:0}.video-box p{line-height:1.6}.video-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:28px;cursor:pointer}
@media(max-width:1000px){.family-grid,.product-grid{grid-template-columns:repeat(2,1fr)}.catalog-hero .catalog-shell,.request-layout{grid-template-columns:1fr}.group-head{grid-template-columns:1fr}.video-dummy{min-height:90px}}
@media(max-width:650px){.family-grid,.product-grid{grid-template-columns:1fr}.product-facts{grid-template-columns:1fr}.catalog-section{padding:42px 5vw}.catalog-hero{padding:42px 5vw}.catalog-toolbar input{min-width:100%}}

/* V0.40c — compact navigation + FET orange hover + SKU image slots */
.catalog-hero{padding:34px 5vw 26px}
.catalog-hero h1{font-size:clamp(34px,4vw,54px);margin:6px 0 12px}
.catalog-hero p{font-size:16px;line-height:1.48;margin-bottom:8px}
.catalog-hero-note{padding:17px 19px}
.catalog-section{padding:34px 5vw}
.catalog-heading{margin-bottom:18px}
.catalog-heading h2{font-size:29px;margin:5px 0 6px}
.family-grid{gap:12px}
.family-card{min-height:170px;padding:18px;border:2px solid var(--fet-line);border-radius:14px}
.family-card h3{font-size:21px;margin:8px 0 7px}
.family-card p{font-size:13px;line-height:1.4;margin-bottom:10px}
.family-card:hover,.family-card:focus{border-color:var(--fet-orange);outline:none;transform:translateY(-2px)}
.group-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 20px}
.group-menu a{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:10px 13px;border:2px solid var(--fet-line);border-radius:11px;background:#fff;color:var(--fet-dark);font-weight:850;font-size:13px;text-decoration:none}
.group-menu a:hover,.group-menu a:focus{border-color:var(--fet-orange);outline:none}
.product-group{padding:24px 0}
.group-head{grid-template-columns:1fr 230px;gap:18px;margin-bottom:14px}
.group-head h2{font-size:26px}
.video-dummy{min-height:76px;padding:11px;border:2px solid var(--fet-line)}
.video-dummy:hover,.video-dummy:focus{border-color:var(--fet-orange)}
.video-dummy span{font-size:22px}
.product-grid{gap:12px}
.product-card{padding:0;border:2px solid var(--fet-line);border-radius:13px;min-height:0;overflow:hidden}
.product-card:hover{border-color:var(--fet-orange)}
.sku-image{height:145px;background:#f7faf8;border-bottom:1px solid var(--fet-line);overflow:hidden}
.sku-image img{width:100%;height:100%;object-fit:cover;display:block}
.product-card-body{padding:15px;display:flex;flex-direction:column;flex:1}
.product-card h3{font-size:18px;margin:6px 0 7px}
.product-card .desc{font-size:12.5px;line-height:1.4;margin-bottom:10px}
.product-facts{gap:6px;margin:3px 0 11px}
.product-facts div{padding:7px;font-size:11px}
.product-actions{margin-top:auto}
.product-actions .request-btn{width:100%;text-align:center;box-sizing:border-box;border:2px solid var(--fet-green)}
.product-actions .request-btn:hover,.product-actions .request-btn:focus{border-color:var(--fet-orange);outline:none}
.catalog-toolbar{margin-bottom:14px}
.back-family{margin:12px 0 18px}
@media(max-width:1000px){.group-menu{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.group-menu{grid-template-columns:1fr}.sku-image{height:165px}}

/* V0.40d — server-side request feedback */
.request-submit:disabled{opacity:.6;cursor:wait}
.request-status{margin-top:12px;padding:10px 12px;border-radius:9px;font-size:13px;line-height:1.4;display:none}
.request-status.sending,.request-status.success,.request-status.error{display:block}
.request-status.sending{background:#f3f6f4;color:#4e5a52}
.request-status.success{background:#eaf6ee;color:#0b6f3b;border:1px solid #b9ddc6}
.request-status.error{background:#fff1ef;color:#9d2a20;border:1px solid #efc0bb}

/* V0.40e — family icons + technical TXT popup */
.family-desc-row{display:grid;grid-template-columns:1fr 92px;gap:12px;align-items:center;min-height:76px}
.family-desc-row p{margin:0}
.family-icon{width:92px;height:62px;object-fit:cover;border-radius:9px;border:1px solid var(--fet-line)}
.product-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:7px}
.product-actions .request-btn{width:auto}
.tech-btn{background:#f4f7f5;color:var(--fet-green);border:2px solid var(--fet-line)!important}
.tech-btn:hover,.tech-btn:focus{border-color:var(--fet-orange)!important;outline:none}
.spec-popup{position:fixed;z-index:10020;display:none;max-height:68vh;overflow:auto;background:#fff;border:8px solid #8FC9DC;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.14);padding:16px 18px;color:var(--fet-text);font-size:13px;line-height:1.45}
.spec-popup.open{display:block}
.spec-heading{font-weight:900;color:var(--fet-dark);font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin:9px 0 4px;border-bottom:1px solid var(--fet-line);padding-bottom:3px}
.spec-heading:first-child{margin-top:0}
.spec-line{white-space:pre-wrap}.spec-gap{height:6px}.spec-error{color:#9d2a20}.spec-loading{color:var(--fet-green);font-weight:800}
@media(max-width:650px){.family-desc-row{grid-template-columns:1fr 78px}.family-icon{width:78px;height:56px}.product-actions{grid-template-columns:1fr}.spec-popup{max-height:60vh}}

/* V0.40i-r1 — persistent Technical Data popup */
.product-actions{grid-template-columns:38px 1fr;align-items:stretch}
.tech-btn{
  width:38px;height:38px;padding:0!important;border-radius:9px!important;
  font-size:0!important;display:flex;align-items:center;justify-content:center
}
.tech-btn::before{content:"ⓘ";font-size:22px;line-height:1;color:var(--fet-green)}
.spec-popup{padding:16px 18px 14px}
.spec-popup-footer{
  position:sticky;bottom:-14px;margin:16px -18px -14px;padding:10px 18px;
  background:#fff;border-top:1px solid #dfe8e2;text-align:right
}
.spec-close-btn{
  border:2px solid var(--fet-green);background:var(--fet-green);color:#fff;
  border-radius:8px;padding:8px 18px;font-weight:900;cursor:pointer
}
.spec-close-btn:hover,.spec-close-btn:focus{border-color:var(--fet-orange);outline:none}


/* V0.40j-r1 — Catalog figure convention aligned with the rest of the FET website */
.family-card{
  position:relative;
  min-height:220px;
  padding-right:128px;
}
.family-desc-row{
  display:block;
  min-height:0;
}
.family-icon{
  position:absolute;
  right:18px;
  top:18px;
  width:92px;
  height:184px;
  object-fit:contain;
  border-radius:9px;
  border:1px solid var(--fet-line);
  background:#fff;
}
.sku-image img{
  object-fit:contain;
  background:#fff;
}
@media(max-width:650px){
  .family-card{min-height:196px;padding-right:112px}
  .family-icon{right:16px;top:16px;width:78px;height:156px}
}
