
/*
 * MeshCore Italia Hardware UI v2
 * Scoped to .mci-hardware-page / .mc-hw-wrap
 * Designed to coexist with Blocksy.
 */

.mci-hardware-page{
  --mci-accent: var(--theme-palette-color-1, #2fb36f);
  --mci-accent-2: #65d996;
  --mci-panel: rgba(255,255,255,.055);
  --mci-panel-strong: rgba(255,255,255,.085);
  --mci-line: rgba(255,255,255,.12);
  --mci-muted: rgba(255,255,255,.68);
  --mci-shadow: 0 18px 60px rgba(0,0,0,.24);
  --mci-radius: 22px;
}

.mci-hardware-page .entry-content,
.mci-hardware-page .ct-container-full{
  overflow: visible;
}

.mc-hw-wrap{
  max-width: 1240px;
  margin: 0 auto;
  padding: 26px 22px 86px;
  position: relative;
}

/* Hardware sub-navigation */
.mc-hw-subnav{
  position: sticky;
  top: 48px;
  z-index: 40;
  margin: 0 0 34px;
  border: 1px solid var(--mci-line);
  border-radius: 18px;
  background: rgba(10,10,10,.84);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 12px 40px rgba(0,0,0,.26);
}
.mc-hw-subnav__inner{
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}
.mc-hw-subnav__inner::-webkit-scrollbar{display:none}
.mc-hw-subnav__brand{
  display:flex;
  align-items:center;
  gap:9px;
  flex: 0 0 auto;
  padding: 9px 12px;
  margin-right: 5px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: #fff;
}
.mc-hw-subnav__brand svg{width:22px;height:22px;color:var(--mci-accent)}
.mc-hw-subnav a{
  flex: 0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding: 8px 13px;
  color: rgba(255,255,255,.82);
  text-decoration:none!important;
  border-radius: 11px;
  font-size: .89rem;
  font-weight: 650;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.mc-hw-subnav a:hover,
.mc-hw-subnav a.is-active{
  color:#fff;
  background: rgba(255,255,255,.09);
}
.mc-hw-subnav a.is-active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}

/* Breadcrumb */
.mc-hw-breadcrumb{
  margin: 0 0 20px;
  font-size: .83rem;
  color: var(--mci-muted);
}
.mc-hw-breadcrumb::before{
  content:"";
  display:inline-block;
  width:6px;height:6px;border-radius:50%;
  background:var(--mci-accent);
  margin-right:9px;
  transform:translateY(-1px);
}

/* Hero */
.mc-hw-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
  gap: 38px;
  align-items:stretch;
  margin: 0 0 24px;
}
.mc-hw-hero{
  padding: 54px 0 48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.mc-hw-kicker{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:7px 11px;
  border:1px solid rgba(47,179,111,.33);
  border-radius:999px;
  background:rgba(47,179,111,.09);
  color:var(--mci-accent-2);
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  margin-bottom:16px;
}
.mc-hw-hero h1{
  font-size: clamp(2.85rem, 6vw, 5.4rem);
  line-height: .98;
  letter-spacing: -.055em;
  margin: 0 0 24px;
  max-width: 900px;
}
.mc-hw-lead{
  max-width: 790px;
  margin:0;
  font-size: clamp(1.02rem,1.7vw,1.25rem);
  line-height:1.7;
  color:rgba(255,255,255,.75);
}
.mc-hw-hero .mc-hw-tag{margin-top:20px}

.mc-hw-hero-layout > .mc-hw-photo{
  margin: 0;
  border-radius: 28px;
  overflow:hidden;
  min-height:430px;
  position:relative;
  border:1px solid var(--mci-line);
  box-shadow:var(--mci-shadow);
  background:#111;
}
.mc-hw-hero-layout > .mc-hw-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.70) 100%);
  pointer-events:none;
}
.mc-hw-hero-layout > .mc-hw-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
}
.mc-hw-hero-layout > .mc-hw-photo figcaption{
  position:absolute;
  left:18px;right:18px;bottom:14px;
  z-index:2;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:.71rem;
  line-height:1.35;
}

/* Generic photos inside sections */
.mc-hw-photo{
  margin: 24px 0;
  border-radius: var(--mci-radius);
  overflow:hidden;
  border:1px solid var(--mci-line);
  background:var(--mci-panel);
}
.mc-hw-photo img{
  display:block;
  width:100%;
  height:auto;
}
.mc-hw-photo figcaption{
  padding:10px 14px;
  margin:0;
  color:var(--mci-muted);
  font-size:.76rem;
}

/* Section */
.mc-hw-section{
  padding: 58px 0 18px;
  scroll-margin-top:130px;
}
.mc-hw-section + .mc-hw-section{
  border-top:1px solid rgba(255,255,255,.07);
}
.mc-hw-section h2{
  margin:0 0 13px;
  font-size:clamp(2rem,3.5vw,3.15rem);
  line-height:1.05;
  letter-spacing:-.04em;
}
.mc-hw-section > p{
  max-width:900px;
  font-size:1.02rem;
  line-height:1.78;
  color:rgba(255,255,255,.76);
}

/* Grid + cards */
.mc-hw-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  margin:28px 0!important;
}
.mc-hw-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.mc-hw-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}

.mc-hw-card{
  position:relative;
  min-width:0;
  min-height:215px;
  padding:25px!important;
  border:1px solid var(--mci-line)!important;
  border-radius:var(--mci-radius)!important;
  background:
    radial-gradient(circle at 90% 10%, rgba(47,179,111,.10), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.070), rgba(255,255,255,.025))!important;
  box-shadow:none!important;
  overflow:hidden;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.mc-hw-card:hover{
  transform:translateY(-4px);
  border-color:rgba(101,217,150,.36)!important;
  box-shadow:0 20px 55px rgba(0,0,0,.24)!important;
}
.mc-hw-card__icon{
  width:44px;height:44px;
  display:grid;place-items:center;
  margin:0 0 28px;
  border-radius:13px;
  background:rgba(47,179,111,.11);
  border:1px solid rgba(47,179,111,.24);
  color:var(--mci-accent-2);
}
.mc-hw-card__icon svg{width:22px;height:22px}
.mc-hw-card h3{
  margin:0 0 11px!important;
  font-size:1.32rem;
  line-height:1.14;
  letter-spacing:-.025em;
}
.mc-hw-card p{
  color:rgba(255,255,255,.66);
  line-height:1.62;
  font-size:.94rem;
}
.mc-hw-card p:last-child{margin-bottom:0}

/* Buttons */
.mc-hw-btn{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  margin:10px 8px 0 0!important;
  padding:10px 14px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:.86rem!important;
  font-weight:750!important;
  line-height:1.2!important;
  transition:all .18s ease!important;
}
.mc-hw-btn:hover{
  background:var(--mci-accent)!important;
  border-color:var(--mci-accent)!important;
  color:#07130c!important;
  transform:translateY(-1px);
}
.mc-hw-btn::after{
  content:"→";
  font-size:1rem;
  opacity:.8;
}

/* Tags */
.mc-hw-tag{
  display:inline-flex!important;
  align-items:center;
  min-height:29px;
  padding:5px 10px!important;
  margin:5px 5px 0 0!important;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px!important;
  background:rgba(255,255,255,.055)!important;
  color:rgba(255,255,255,.85)!important;
  font-size:.76rem!important;
  font-weight:700!important;
}

/* Table */
.mc-hw-table-wrap{
  border:1px solid var(--mci-line);
  border-radius:20px;
  overflow:auto;
  margin:25px 0;
  background:rgba(255,255,255,.025);
}
.mc-hw-table{
  width:100%!important;
  min-width:720px;
  border-collapse:separate!important;
  border-spacing:0!important;
  margin:0!important;
}
.mc-hw-table th,.mc-hw-table td{
  padding:16px 18px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.075)!important;
  text-align:left!important;
  vertical-align:top!important;
}
.mc-hw-table th{
  width:28%!important;
  color:#fff;
  font-weight:750!important;
  background:rgba(255,255,255,.025);
}
.mc-hw-table tr:last-child th,.mc-hw-table tr:last-child td{border-bottom:0!important}

/* Callout */
.mc-hw-callout{
  position:relative;
  margin:34px 0!important;
  padding:22px 24px 22px 66px!important;
  border:1px solid rgba(47,179,111,.24)!important;
  border-radius:17px!important;
  background:rgba(47,179,111,.075)!important;
  color:rgba(255,255,255,.78);
  line-height:1.65;
}
.mc-hw-callout::before{
  content:"i";
  position:absolute;
  left:22px;top:22px;
  width:27px;height:27px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--mci-accent);
  color:#07130c;
  font-weight:900;
  font-family:Georgia,serif;
}

/* Slots / placeholders */
.mc-hw-slot{
  display:grid;
  place-items:center;
  min-height:180px;
  margin:18px 0!important;
  padding:28px!important;
  border:1px dashed rgba(255,255,255,.19)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.025)!important;
  text-align:center;
  color:rgba(255,255,255,.62);
}
.mc-hw-small{font-size:.86rem;color:var(--mci-muted)}

/* Status pill */
.mc-hw-status{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  color:var(--mci-accent-2)!important;
  background:rgba(47,179,111,.09);
  border:1px solid rgba(47,179,111,.24);
  font-size:.78rem!important;
  font-weight:800!important;
}

/* TOC */
.mc-hw-toc{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:10px 0 22px;
  padding:15px;
  border:1px solid var(--mci-line);
  border-radius:16px;
  background:rgba(255,255,255,.025);
}
.mc-hw-toc__label{
  display:flex;align-items:center;
  padding:7px 9px;
  color:var(--mci-muted);
  font-size:.79rem;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.mc-hw-toc a{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:9px;
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.77);
  text-decoration:none!important;
  font-size:.82rem;
  font-weight:650;
}
.mc-hw-toc a:hover{background:rgba(47,179,111,.12);color:#fff}

/* Search / catalog */
.mc-hw-search{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  margin:18px 0 30px;
  padding:14px;
  border:1px solid var(--mci-line);
  border-radius:17px;
  background:rgba(255,255,255,.035);
}
.mc-hw-search__field{
  width:100%;
  min-height:48px;
  padding:0 15px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:12px!important;
  background:rgba(0,0,0,.18)!important;
  color:#fff!important;
  outline:none!important;
}
.mc-hw-search__field:focus{border-color:rgba(47,179,111,.55)!important}
.mc-hw-search__count{
  display:flex;align-items:center;
  padding:0 12px;
  color:var(--mci-muted);
  font-size:.82rem;
}

/* subtle reveal */
.mc-hw-card,.mc-hw-section{
  opacity:1;
  transform:none;
}
.js-mci-ready .mc-hw-reveal{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .45s ease,transform .45s ease;
}
.js-mci-ready .mc-hw-reveal.is-visible{
  opacity:1;
  transform:none;
}

/* Light mode compatibility, if ever used */
[data-color-mode="light"] .mci-hardware-page{
  --mci-panel:rgba(0,0,0,.035);
  --mci-panel-strong:rgba(0,0,0,.055);
  --mci-line:rgba(0,0,0,.11);
  --mci-muted:rgba(0,0,0,.62);
}

/* Responsive */
@media(max-width:1020px){
  .mc-hw-hero-layout{grid-template-columns:1fr;gap:8px}
  .mc-hw-hero-layout > .mc-hw-photo{min-height:340px;max-height:520px}
  .mc-hw-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mc-hw-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .mc-hw-wrap{padding:18px 15px 56px}
  .mc-hw-subnav{top:5px;border-radius:14px;margin-bottom:22px}
  .mc-hw-subnav__brand{font-size:.87rem}
  .mc-hw-hero{padding:28px 0 30px}
  .mc-hw-hero h1{font-size:clamp(2.65rem,14vw,4rem)}
  .mc-hw-hero-layout > .mc-hw-photo{min-height:260px}
  .mc-hw-grid,
  .mc-hw-grid.cols-3,
  .mc-hw-grid.cols-2{grid-template-columns:1fr!important}
  .mc-hw-card{min-height:0}
  .mc-hw-section{padding-top:45px}
  .mc-hw-section h2{font-size:2rem}
  .mc-hw-search{grid-template-columns:1fr}
  .mc-hw-search__count{min-height:28px;padding-left:4px}
}
