/* /catalogue — industry doors + searchable product list. Shared across themes:
   own tokens, inherits the site's font, --blue is the site accent (inline). */
.mc{
  --ink:#171a20;
  --muted:#5c5e62;
  --line:#e2e3e6;
  --alt:#f4f5f7;
  --blue-dark:color-mix(in srgb,var(--blue) 78%,#000);
  box-sizing:border-box;
  color:var(--ink);
  font-size:16px;
  line-height:1.5;
  text-align:left;
  --mc-ease:cubic-bezier(.16,1,.3,1);
  --mc-wrap:1280px;
  --mc-gut:clamp(16px,4vw,48px);
  --mc-blue-soft:color-mix(in srgb,var(--blue) 12%,#fff);
  --mc-row-hover:#f6f7fb;
  padding:0 var(--mc-gut) 96px;
  max-width:calc(var(--mc-wrap) + 2 * var(--mc-gut));
  margin:0 auto;
}
.mc ::selection{background:color-mix(in srgb,var(--blue) 25%,#fff);color:var(--ink);}
.mc .visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.mc-ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.mc a:focus-visible,.mc button:focus-visible,.mc input:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}

/* muscat_tesla caps .mt-content at 900px for article pages; the catalogue needs the full width. */
.mt-content:has(.mc){max-width:none;padding:0;}

/* Theme resets: headings, lists and links inside the catalogue use its own styles. */
.mc *,.mc *::before,.mc *::after{box-sizing:border-box;}
.mc h1,.mc h2,.mc h3{font-family:inherit;color:var(--ink);text-transform:none;margin:0;padding:0;font-weight:600;}
.mc ul,.mc li{list-style:none;margin:0;padding:0;}
.mc li::before{content:none;}
.mc p{margin:0;}
.mc a{text-decoration:none;}
.mc button{text-transform:none;letter-spacing:normal;box-shadow:none;min-width:0;line-height:1.2;}
.mc img{max-width:none;}

/* ---------- head ---------- */
.mc-head{padding:clamp(28px,4vw,48px) 0 24px;max-width:760px;}
.mc-crumb{padding:0;margin:0 0 28px;font-size:13px;color:var(--muted);}
.mc-crumb span{margin:0 6px;}
.mc-crumb a{color:var(--muted);text-decoration:none;}
.mc-crumb a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.mc .mc-title{margin:0;font-size:clamp(38px,5.4vw,68px);line-height:1.02;letter-spacing:-.02em;font-weight:600;text-wrap:balance;}
.mc-lede{margin:18px 0 0;font-size:clamp(16px,1.4vw,18px);line-height:1.6;color:var(--muted);max-width:62ch;}

/* ---------- industry doors (collapse once an industry is picked) ---------- */
.mc-doors-wrap{display:grid;grid-template-rows:1fr;margin-top:20px;transition:grid-template-rows .7s var(--mc-ease),margin-top .7s var(--mc-ease),opacity .5s var(--mc-ease);}
.mc-doors-wrap > .mc-doors{min-height:0;overflow:hidden;}
.mc[data-active] .mc-doors-wrap{grid-template-rows:0fr;margin-top:0;opacity:0;}
.mc-doors{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(150px,15vw,210px);gap:12px;}
.mc-door{position:relative;grid-column:span 3;overflow:hidden;border-radius:6px;color:#fff;text-decoration:none;
  display:flex;align-items:flex-end;isolation:isolate;background:#1b2330;}
.mc-door:first-child{grid-column:span 6;}
.mc-door img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
  transform:scale(1.001);transition:transform .9s var(--mc-ease),filter .5s var(--mc-ease);}
.mc-door::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(10,14,22,.86) 0%,rgba(10,14,22,.45) 42%,rgba(10,14,22,.05) 75%);}
.mc-door-text{display:flex;flex-direction:column;gap:4px;padding:18px 20px;}
.mc-door-name{color:#fff;font-weight:600;font-size:clamp(18px,1.6vw,23px);line-height:1.15;text-wrap:balance;}
.mc-door:first-child .mc-door-name{font-size:clamp(22px,2.4vw,32px);}
.mc-door-meta{font-size:13px;color:rgba(255,255,255,.82);font-variant-numeric:tabular-nums;}
.mc-door-go{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.16);
  transition:background .4s var(--mc-ease),transform .5s var(--mc-ease);}
.mc-door:hover img{transform:scale(1.045);}
.mc-door:hover .mc-door-go{background:var(--blue);transform:translateX(2px);}
.mc-door.is-active{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--blue);}
.mc-door.is-active .mc-door-go{background:var(--blue);}

/* ---------- sticky search / filter bar ---------- */
.mc-bar{position:sticky;top:var(--nav-h,68px);z-index:20;margin:0 calc(-1 * var(--mc-gut));
  padding:14px var(--mc-gut) 0;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);scroll-margin-top:var(--nav-h,68px);}
.mc-bar-in{display:flex;align-items:center;gap:12px;}
.mc-search{position:relative;flex:1 1 auto;max-width:620px;display:block;}
.mc-search-ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;}
.mc .mc-search-input{width:100%;height:50px;margin:0;padding:0 16px 0 46px;line-height:normal;box-shadow:none;font:inherit;font-size:16px;color:var(--ink);
  background:var(--alt);border:1px solid transparent;border-radius:6px;caret-color:var(--blue);
  transition:background .3s var(--mc-ease),border-color .3s var(--mc-ease);}
.mc-search-input::placeholder{color:#7a7d82;}
.mc-search-input:hover{border-color:var(--line);}
.mc .mc-search-input:focus{background:#fff;border-color:var(--blue);outline:none;box-shadow:0 0 0 4px var(--mc-blue-soft);}
.mc-hot-toggle{display:inline-flex;align-items:center;gap:8px;height:50px;padding:0 18px;font:inherit;font-size:14px;font-weight:600;
  color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:6px;cursor:pointer;white-space:nowrap;
  transition:background .3s var(--mc-ease),color .3s var(--mc-ease),border-color .3s var(--mc-ease);}
.mc-hot-toggle:hover{border-color:var(--ink);}
.mc-hot-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);}
.mc-hot-toggle[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff;}
.mc-hot-toggle[aria-pressed="true"] .mc-hot-dot{background:#fff;}
.mc-count{margin:0 0 0 auto;font-size:14px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;}
.mc-count b{color:var(--ink);font-weight:600;}
.mc-chips{position:relative;display:flex;gap:6px;overflow-x:auto;padding:12px 0 12px;scrollbar-width:thin;scrollbar-color:var(--line) transparent;
  -webkit-mask-image:linear-gradient(to right,#000 92%,transparent);mask-image:linear-gradient(to right,#000 92%,transparent);}
.mc-chips::-webkit-scrollbar{height:4px;}
.mc-chips::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;}
.mc-chip{flex:none;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;font:inherit;font-size:13.5px;
  color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:999px;cursor:pointer;
  transition:background .3s var(--mc-ease),color .3s var(--mc-ease),border-color .3s var(--mc-ease);}
.mc-chip span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;}
.mc-chip:hover{border-color:var(--ink);}
.mc-chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff;}
.mc-chip.is-active span{color:rgba(255,255,255,.7);}

/* ---------- hot products strip ---------- */
.mc-featured{padding:48px 0 8px;}
.mc-featured-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px;}
.mc-featured-head h2,.mc-ind-head h2,.mc-close h2{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.01em;line-height:1.15;}
.mc-link{display:inline-flex;align-items:center;gap:6px;padding:4px 0;font:inherit;font-size:14px;font-weight:600;color:var(--blue);
  background:none;border:0;cursor:pointer;}
.mc-link .mc-ico{transition:transform .4s var(--mc-ease);}
.mc-link:hover .mc-ico{transform:translateX(3px);}
.mc-feat-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.mc-feat{height:100%;display:flex;flex-direction:column;gap:10px;padding:18px 18px 16px;min-height:128px;
  text-decoration:none;color:var(--ink);background:var(--alt);border-radius:6px;
  transition:background .35s var(--mc-ease),transform .5s var(--mc-ease),box-shadow .5s var(--mc-ease);}
.mc-feat:hover{background:#fff;transform:translateY(-2px);box-shadow:0 10px 30px -12px rgba(23,26,32,.22),0 0 0 1px var(--line);}
.mc-feat-name{font-weight:600;font-size:18px;line-height:1.25;text-wrap:balance;}
.mc-feat-foot{margin-top:auto;display:flex;flex-direction:column;gap:2px;}
.mc-feat-cat{font-size:12.5px;color:var(--muted);}

.mc-part{font-size:13px;color:#55585d;letter-spacing:0;font-feature-settings:"calt" 0;white-space:nowrap;}

/* ---------- list ---------- */
.mc-list{padding-top:8px;}
.mc-ind{padding-top:56px;}
.mc-ind.is-revealed{animation:mc-in .6s var(--mc-ease) both;}
.mc-ind[hidden]{display:none;}
.mc-ind-head{display:grid;grid-template-columns:minmax(180px,.42fr) 1fr;gap:8px 40px;align-items:end;
  padding-bottom:18px;border-bottom:2px solid var(--ink);}
.mc-ind-head p{margin:0;color:var(--muted);font-size:15px;line-height:1.55;max-width:60ch;}
.mc-group{display:grid;grid-template-columns:minmax(180px,.42fr) 1fr;gap:0 40px;border-bottom:1px solid var(--line);}
.mc-group[hidden]{display:none;}
.mc-group-h{position:sticky;top:calc(var(--nav-h,68px) + var(--mc-bar-h,128px));align-self:start;padding:18px 0;
  font-family:inherit;font-size:14px;font-weight:600;color:var(--ink);line-height:1.4;}
.mc-group-n{margin-left:4px;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums;}
.mc-group-body{padding:6px 0 10px;}
.mc-rows{list-style:none;margin:0;padding:0;}
.mc-sub{margin:10px 0 2px;padding:0 12px;font-size:12.5px;font-weight:600;color:var(--muted);}
.mc-sub:first-child{color:var(--blue);margin-top:8px;}
.mc-more{margin:20px 0 0;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:6px;cursor:pointer;transition:border-color .3s var(--mc-ease);}
.mc-more:hover{border-color:var(--ink);}
.mc-more .mc-ico{transition:transform .4s var(--mc-ease);}
.mc-more:hover .mc-ico{transform:translateX(3px);}
.mc-more[hidden],.mc-sub[hidden],.mc-rows[hidden],.mc-close[hidden]{display:none;}
.mc-rows li[hidden]{display:none;}
.mc-row{display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:18px;padding:11px 12px;margin:0;
  border-radius:5px;color:var(--ink);text-decoration:none;transition:background .25s var(--mc-ease);}
.mc-rows li + li .mc-row{box-shadow:inset 0 1px 0 #f0f1f2;}
.mc-row:hover{background:var(--mc-row-hover);box-shadow:none;}
.mc-row-name{font-size:15.5px;line-height:1.4;}
.mc-row-go{color:var(--muted);opacity:0;transform:translateX(-4px);transition:opacity .3s var(--mc-ease),transform .4s var(--mc-ease),color .3s;}
.mc-row:hover .mc-row-go,.mc-row:focus-visible .mc-row-go{opacity:1;transform:none;color:var(--blue);}
.mc-row:hover .mc-row-name{color:var(--blue-dark);}
mark.mc-hit{background:color-mix(in srgb,var(--blue) 18%,#fff);color:inherit;border-radius:2px;padding:0 1px;}

.mc-empty{padding:64px 0 24px;max-width:620px;}
.mc-empty-h{font-size:24px;font-weight:600;margin:0 0 8px;}
.mc-empty-all{margin:0 0 14px;}
.mc-empty p:last-child{color:var(--muted);margin:0;line-height:1.6;}
.mc-empty a{color:var(--blue);text-underline-offset:3px;}

/* ---------- close ---------- */
.mc-close{margin-top:96px;padding:48px clamp(24px,4vw,56px);border-radius:8px;background:var(--ink);color:#fff;
  display:grid;grid-template-columns:1fr auto;gap:12px 48px;align-items:center;}
.mc .mc-close h2{color:#fff;}
.mc .mc-close p{grid-column:1;margin:0;color:rgba(255,255,255,.74);line-height:1.6;max-width:60ch;}
.mc .mc-btn{grid-column:2;grid-row:1 / span 2;display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:6px;
  background:var(--blue);color:#fff;font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap;
  transition:background .3s var(--mc-ease);}
.mc .mc-btn:hover{background:var(--blue-dark);color:#fff;}
.mc-btn .mc-ico{transition:transform .4s var(--mc-ease);}
.mc-btn:hover .mc-ico{transform:translateX(3px);}

@keyframes mc-in{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .mc-door{grid-column:span 4;}
  .mc-door:first-child{grid-column:span 8;}
  .mc-feat-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  .mc-head{padding:12px 0 16px;}
  .mc-lede-more{display:none;}
  .mc .mc-title{font-size:34px;}
  .mc-lede{margin-top:10px;font-size:15.5px;}
  .mc-doors-wrap{margin-top:16px;}
  .mc-crumb{margin-bottom:12px;}
  .mc-doors{grid-template-columns:1fr 1fr;grid-auto-rows:128px;gap:8px;}
  .mc-door,.mc-door:first-child{grid-column:span 1;}
  .mc-door:first-child{grid-column:span 2;grid-row:span 1;}
  .mc-door-text{padding:12px 12px;}
  .mc-door-name,.mc-door:first-child .mc-door-name{font-size:16px;}
  .mc-door-meta{font-size:12px;}
  .mc-door-go{display:none;}
  .mc-bar{padding-top:10px;}
  .mc-bar-in{flex-wrap:wrap;gap:8px;}
  .mc-search{flex:1 1 100%;max-width:none;}
  .mc .mc-search-input{height:46px;}
  .mc-hot-toggle{height:36px;padding:0 12px;font-size:13px;}
  .mc-count{font-size:13px;}
  .mc-chips{padding:10px 0;}
  .mc-featured{padding-top:32px;}
  .mc-feat-grid{grid-template-columns:1fr 1fr;gap:8px;}
  .mc-feat{min-height:0;padding:14px;}
  .mc-feat-name{font-size:16px;}
  .mc-ind{padding-top:40px;}
  .mc-ind-head{grid-template-columns:1fr;}
  .mc-group{grid-template-columns:1fr;}
  .mc-group-h{position:static;padding:16px 0 4px;}
  .mc-row{grid-template-columns:1fr auto;gap:4px 12px;padding:12px;}
  .mc-row-go{display:none;}
  .mc-row-name{font-size:15px;}
  .mc-part{font-size:11.5px;}
  .mc-close{grid-template-columns:1fr;margin-top:64px;}
  .mc .mc-btn{grid-column:1;grid-row:auto;justify-self:start;margin-top:8px;}
}
@media (max-width:420px){
  .mc-row{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  .mc *,.mc *::before,.mc *::after{animation:none!important;transition:none!important;}
}
