:root{
  --mn-primary:#c2185b;
  --mn-primary-dark:#951143;
  --mn-deep:#2b1a22;
  --mn-accent:#d4af37;
  --mn-accent-dark:#b8962e;
  --mn-light:#fdf0f5;
  --mn-text:#2b1a22;
  --mn-radius:14px;
  font-family:'Poppins',-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
body{
  font-family:'Poppins',-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--mn-text);
  background:#fff;
}
h1,h2,h3,h4,.mn-font-display{
  font-weight:700;
  letter-spacing:-.01em;
}
a{color:var(--mn-primary);}
a:hover{color:var(--mn-primary-dark);}

/* ---------- Top utility bar ---------- */
.mn-topbar{
  background:var(--mn-deep);
  color:#f0d9e2;
  font-size:.82rem;
  padding:6px 0;
}
.mn-topbar a{color:#f0d9e2;text-decoration:none;}
.mn-topbar a:hover{color:#fff;}

/* ---------- Navbar ---------- */
.mn-navbar{
  background:#fff;
  padding:14px 0;
  box-shadow:0 2px 10px rgba(43,26,34,.08);
}
.mn-logo{
  display:flex;align-items:center;gap:10px;
  font-weight:800;font-size:1.5rem;color:var(--mn-deep);text-decoration:none;
}
.mn-logo:hover{color:var(--mn-primary);}
.mn-logo svg{flex-shrink:0;}
.mn-navbar .nav-link{
  font-weight:600;color:var(--mn-text);padding:.5rem .85rem;
}
.mn-navbar .nav-link:hover,
.mn-navbar .nav-link.active{color:var(--mn-primary);}
.btn-mn{
  background:var(--mn-primary);border:none;color:#fff;font-weight:700;
  border-radius:999px;padding:.6rem 1.4rem;transition:background .2s ease;
}
.btn-mn:hover{background:var(--mn-primary-dark);color:#fff;}
.btn-mn-outline{
  background:transparent;border:2px solid var(--mn-primary);color:var(--mn-primary);
  font-weight:700;border-radius:999px;padding:.55rem 1.3rem;transition:all .2s ease;
}
.btn-mn-outline:hover{background:var(--mn-primary);color:#fff;}

/* ---------- Hero ---------- */
.mn-hero{
  position:relative;min-height:560px;display:flex;align-items:center;
  background-size:cover;background-position:center;color:#fff;
  border-radius:0 0 28px 28px;overflow:hidden;
}
.mn-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(43,26,34,.90) 0%,rgba(43,26,34,.56) 48%,rgba(43,26,34,.18) 100%);
}
.mn-hero .container{position:relative;z-index:2;}
.mn-hero h1{font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.08;margin-bottom:1rem;}
.mn-hero p.lead{font-size:1.15rem;max-width:580px;color:#f8e4ec;}
.mn-eyebrow{
  display:inline-block;background:rgba(255,255,255,.18);backdrop-filter:blur(2px);
  padding:.35rem .9rem;border-radius:999px;font-weight:700;font-size:.8rem;
  letter-spacing:.06em;text-transform:uppercase;margin-bottom:1rem;
}

/* ---------- Section heads ---------- */
.mn-section{padding:72px 0;}
.mn-section.soft{background:var(--mn-light);}
.mn-section-head{max-width:760px;margin:0 auto 40px;text-align:center;}
.mn-section-head h2{font-size:clamp(1.7rem,3vw,2.4rem);}
.mn-section-head p{color:#6b5560;font-size:1.05rem;}

/* ---------- Category tiles ---------- */
.mn-tile{
  position:relative;border-radius:var(--mn-radius);overflow:hidden;display:block;
  aspect-ratio:4/5;text-decoration:none;isolation:isolate;
}
.mn-tile img{
  width:100%;height:100%;object-fit:cover;transition:transform .5s ease;
}
.mn-tile:hover img{transform:scale(1.06);}
.mn-tile::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(43,26,34,.90) 0%,rgba(43,26,34,.14) 55%,transparent 75%);
}
.mn-tile-label{
  position:absolute;left:0;right:0;bottom:0;padding:20px;z-index:2;color:#fff;
}
.mn-tile-label h3{font-size:1.15rem;margin-bottom:.15rem;font-weight:700;}
.mn-tile-label span{font-size:.85rem;color:#f0d9e2;}

/* ---------- Info / feature cards ---------- */
.mn-card{
  background:#fff;border-radius:var(--mn-radius);padding:28px;height:100%;
  box-shadow:0 2px 14px rgba(43,26,34,.08);border:1px solid rgba(43,26,34,.06);
}
.mn-card .mn-ico{
  width:52px;height:52px;border-radius:50%;background:var(--mn-light);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--mn-primary);
}
.mn-card h3{font-size:1.1rem;margin-bottom:.5rem;}
.mn-card p{color:#6b5560;font-size:.95rem;margin-bottom:0;}

/* ---------- Promo band ---------- */
.mn-promo{
  background:linear-gradient(120deg,var(--mn-deep),var(--mn-primary-dark));
  border-radius:var(--mn-radius);color:#fff;padding:48px;
}
.mn-promo h2{font-size:1.8rem;}
.mn-promo p{color:#f8e4ec;}

/* ---------- Steps ---------- */
.mn-step-num{
  width:40px;height:40px;border-radius:50%;background:var(--mn-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:14px;
}

/* ---------- Footer ---------- */
.mn-footer{
  background:var(--mn-deep);color:#ceb9c2;padding:56px 0 24px;
}
.mn-footer h5{color:#fff;font-weight:700;font-size:1rem;margin-bottom:1rem;}
.mn-footer a{color:#ceb9c2;text-decoration:none;}
.mn-footer a:hover{color:#fff;}
.mn-footer ul{list-style:none;padding:0;margin:0;}
.mn-footer li{margin-bottom:.55rem;font-size:.92rem;}
.mn-footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:20px;
  font-size:.82rem;color:#9c8792;
}
.mn-footer-bottom a{color:#9c8792;text-decoration:underline;}

/* ---------- Cookie banner ---------- */
.mn-cookie{
  position:fixed;left:16px;right:16px;bottom:16px;max-width:520px;margin:0 auto;
  background:#fff;border-radius:var(--mn-radius);box-shadow:0 8px 30px rgba(43,26,34,.3);
  padding:20px 22px;z-index:1080;display:none;
}
.mn-cookie.show{display:block;}
.mn-cookie p{font-size:.88rem;margin-bottom:12px;color:#2b1a22;}

/* ---------- Credits table ---------- */
.mn-credits-table img{width:90px;height:60px;object-fit:cover;border-radius:6px;}

/* ---------- Social icons (scheda azienda) ---------- */
.mn-social-row{display:flex;gap:8px;flex-wrap:wrap;}
.mn-social-ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;background:var(--mn-light);
  color:var(--mn-primary);font-weight:700;font-size:.78rem;text-decoration:none;
  transition:background .2s ease,color .2s ease;
}
.mn-social-ico:hover{background:var(--mn-primary);color:#fff;}

/* ---------- Vetrina aziende consigliate (directory listing) ---------- */
.vetrina{padding:48px 0;}
.vt-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start;}
.vt-main{min-width:0;}
.vt-intro{margin-bottom:28px;}
.vt-intro h2{font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--mn-deep);font-weight:800;}
.vt-list{display:grid;gap:22px;}
.vt-item{
  display:grid;grid-template-columns:200px 1fr;background:#fff;
  border:1px solid rgba(43,26,34,.1);
  overflow:hidden;transition:box-shadow .2s,transform .2s;
}
.vt-item:hover{box-shadow:0 10px 24px rgba(43,26,34,.14);transform:translateY(-2px);}
.vt-thumb{display:block;background:var(--mn-light);min-width:0;overflow:hidden;}
.vt-thumb img{width:100%;height:100%;min-height:170px;object-fit:cover;}
.vt-body{padding:22px 24px;}
.vt-body h3{font-size:1.3rem;margin-bottom:10px;}
.vt-body h3 a{color:var(--mn-deep);text-decoration:none;}
.vt-body h3 a:hover{color:var(--mn-primary-dark);}
.vt-body p{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:#6b5560;margin-bottom:6px;}
.vt-body p svg{flex:0 0 18px;width:18px;height:18px;stroke:var(--mn-primary);fill:none;stroke-width:2;margin-top:3px;}
.vt-body a[href^="tel:"]{color:var(--mn-deep);text-decoration:none;}
.vt-extra:empty{display:none;}
.vt-btn{margin-top:10px;padding:10px 20px;font-size:.88rem;}
.vt-aside{display:grid;gap:22px;}
.widget-box{background:#fff;border:1px solid rgba(43,26,34,.1);border-radius:var(--mn-radius);padding:24px;}
.widget-box h3{color:var(--mn-deep);margin-bottom:10px;}
.widget-box p{font-size:.93rem;color:#6b5560;margin-bottom:10px;}
.widget-box ul{list-style:none;display:grid;gap:8px;padding:0;margin:0;}
.widget-box li a{text-decoration:none;font-weight:600;color:var(--mn-deep);font-size:.95rem;}
.widget-box li a:hover{color:var(--mn-primary-dark);}
.widget-alert{border-left:6px solid var(--mn-primary);}

/* ---------- Scheda azienda (detail page) ---------- */
.mn-crumbs{font-size:.85rem;color:#f8e4ec;opacity:.85;margin-bottom:10px;}
.mn-crumbs a{color:#fff;text-decoration:underline;}
.vt-dati{
  display:grid;grid-template-columns:200px 1fr;gap:26px;background:#fff;
  border-radius:var(--mn-radius);box-shadow:0 2px 14px rgba(43,26,34,.08);
  padding:24px;margin-bottom:24px;
}
.vt-dati-foto{min-width:0;overflow:hidden;}
.vt-dati-foto img{width:100%;object-fit:cover;aspect-ratio:1/1;}
.vt-dati-info{min-width:0;}
.vt-dati-info h2{font-size:1.6rem;color:var(--mn-deep);margin-bottom:8px;}
.vt-dati-info h2 a{color:inherit;text-decoration:none;}
.vt-dati-info h2 a:hover{color:var(--mn-primary-dark);}
.vt-dati-info p{color:#6b5560;font-size:.97rem;line-height:1.7;display:flex;flex-direction:column;gap:10px;}
.vt-info-row{display:flex;gap:10px;align-items:flex-start;}
.vt-info-row svg{flex:0 0 18px;width:18px;height:18px;stroke:var(--mn-primary);fill:none;stroke-width:2;margin-top:3px;}
.vt-dati-info a{color:var(--mn-deep);}
.scheda-block{background:#fff;border:1px solid rgba(43,26,34,.1);border-radius:var(--mn-radius);padding:26px 28px;margin-bottom:22px;}
.vt-descr{font-size:1.05rem;line-height:1.7;color:var(--mn-text);}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
.gallery-item{display:block;overflow:hidden;background:var(--mn-light);min-width:0;}
.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .2s ease;}
.gallery-item:hover img{transform:scale(1.06);}
@media (max-width:600px){.vt-dati{grid-template-columns:1fr;}}
@media (max-width:1000px){.vt-grid{grid-template-columns:1fr;}}
@media (max-width:600px){.vt-item{grid-template-columns:1fr;}.vt-thumb img{min-height:180px;max-height:220px;}}

@media (max-width:767px){
  .mn-hero{min-height:460px;border-radius:0 0 20px 20px;}
  .mn-section{padding:48px 0;}
  .mn-promo{padding:32px;text-align:center;}
}
