*{box-sizing:border-box}

body{
  margin:0;
  background:#ffffff;
  color:#2e3742;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.m2-wh-page{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  padding:32px 0 60px;
}

.m2-wh-breadcrumb{
  margin-bottom:22px;
  color:#2e3742;
  font-size:14px;
}
.m2-wh-breadcrumb a{color:#4AB9FF;text-decoration:none}

.m2-wh-head{
  padding:30px;
  border-radius:22px;
  color:#1b2733;
  background:linear-gradient(135deg,#075fc4,#103967);
  box-shadow:0 18px 55px rgba(14,44,84,.18);
  margin-bottom:40px;
}
.m2-wh-head h1{
  margin:0 0 12px;
  font-size:clamp(32px,6vw,54px);
  line-height:1;
}
.m2-wh-head p{
  max-width:800px;
  margin:0;
  font-size:17px;
  opacity:.92;
}

.m2-wh-featured h2,
.m2-wh-region h2{
  font-size:22px;
  margin:0 0 18px;
  display:flex;
  align-items:baseline;
  gap:10px;
}
.m2-wh-region h2 small{
  font-size:13px;
  font-weight:500;
  color:#2e3742;
}

.m2-wh-featured{margin-bottom:44px}
.m2-wh-region{margin-bottom:38px}

.m2-wh-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:18px;
}

.m2-wh-card{
  display:block;
  border-radius:14px;
  overflow:hidden;
  background:#ffffff;
  border:1px solid #e4eaf2;
  text-decoration:none;
  color:#2e3742;
  transition:.18s ease;
}
.m2-wh-card:hover{
  border-color:#4AB9FF;
  box-shadow:0 8px 22px rgba(18,103,214,.14);
  transform:translateY(-2px);
}

.m2-wh-thumb{
  display:block;
  position:relative;
  height:132px;
  background-size:cover;
  background-position:center;
  background-color:#5c6774;
}
.m2-wh-thumb-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#2e3742;
  font-weight:900;
  letter-spacing:2px;
  font-size:14px;
}

.m2-wh-live{
  position:absolute;
  top:8px;
  right:8px;
  background:#e00000;
  color:#1b2733;
  font-style:normal;
  font-size:10px;
  font-weight:900;
  letter-spacing:.8px;
  padding:4px 9px;
  border-radius:999px;
}

.m2-wh-card b{
  display:block;
  padding:12px 14px 14px;
  font-size:14px;
  line-height:1.3;
  font-weight:700;
}

.m2-wh-card-hd{
  border-color:#5c6774;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
}

@media (max-width:600px){
  .m2-wh-page{padding:20px 0 50px}
  .m2-wh-head{padding:22px}
  .m2-wh-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .m2-wh-thumb{height:100px}
}

/* FAQ */
.m2-wh-faq{
  margin-top:48px;
  padding-top:32px;
  border-top:1px solid #e2e9f2;
}
.m2-wh-faq h2{font-size:22px;margin:0 0 18px}
.m2-wh-faq details{
  background:#ffffff;
  border:1px solid #e4eaf2;
  border-radius:12px;
  margin-bottom:10px;
  overflow:hidden;
}
.m2-wh-faq summary{
  cursor:pointer;
  padding:16px 20px;
  font-weight:700;
  font-size:16px;
  list-style:none;
}
.m2-wh-faq summary::-webkit-details-marker{display:none}
.m2-wh-faq summary:hover{background:#ffffff}
.m2-wh-faq p{
  margin:0;
  padding:0 20px 18px;
  color:#2e3742;
  line-height:1.6;
}

/* griglia webcam in home: font allineato al resto del sito (22/07) */
.m2-home-wh-grid .m2-wh-card b{
  font-family:'Manrope','Inter',system-ui,-apple-system,sans-serif;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
}
.m2-home-wh-tutte{
  margin:18px 0 0;
}
.m2-home-wh-tutte a{
  font-family:'Manrope','Inter',system-ui,-apple-system,sans-serif;
  font-weight:700;
  color:#1f6fb8;
  text-decoration:none;
}

/* intestazione sezione webcam in home (22/07) */
.m2-home-webcam-head .m2-eyebrow{
  font-family:'Manrope','Inter',system-ui,sans-serif;
  font-size:12px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:#1f6fb8;display:block;margin-bottom:6px;
}
.m2-home-webcam-head h2{
  font-family:'Manrope','Inter',system-ui,sans-serif;
  font-size:30px;font-weight:800;margin:0 0 8px;color:#102235;
}
.m2-home-webcam-head p{
  font-family:'Inter','Manrope',system-ui,sans-serif;
  font-size:15px;color:#5c6774;margin:0 0 18px;
}

/* intestazione sezione webcam in home (22/07) */
.m2-home-webcam-head .m2-eyebrow{
  font-family:'Manrope','Inter',system-ui,sans-serif;
  font-size:12px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:#1f6fb8;display:block;margin-bottom:6px;
}
.m2-home-webcam-head h2{
  font-family:'Manrope','Inter',system-ui,sans-serif;
  font-size:30px;font-weight:800;margin:0 0 8px;color:#102235;
}
.m2-home-webcam-head p{
  font-family:'Inter','Manrope',system-ui,sans-serif;
  font-size:15px;color:#5c6774;margin:0 0 18px;
}
