.mm-aerial-hero {
  position: relative;
  min-height: 620px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-radius: 0 0 28px 28px;
  background:
    url('/img/cms/vista-dall-alto-puglia-marco-mare.webp')
    center center / cover no-repeat;
}

.mm-aerial-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 39, 76, 0.88) 0%,
    rgba(0, 52, 94, 0.67) 31%,
    rgba(0, 47, 84, 0.22) 57%,
    rgba(0, 0, 0, 0.02) 100%
  );
}

.mm-aerial-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 70px 55px;
  color: #fff;
}

.mm-aerial-title {
  max-width: 570px;
  margin: 0 0 22px;
  color: #24a8ff;
  font-family: "Knewave", cursive;
  font-size: clamp(4.5rem, 7vw, 7rem);
  font-weight: 400;
  line-height: .72;
  letter-spacing: 0;
}

.mm-aerial-title span {
  display: block;
  color: #fff;
  font-size: .88em;
}

.mm-aerial-lead {
  margin: 0 0 22px;
  color: #fff;
  font-size: clamp(1.65rem, 2.6vw, 2.45rem);
  font-weight: 700;
  line-height: 1.15;
}

.mm-aerial-text {
  max-width: 610px;
  margin: 0 0 30px;
  color: rgba(255,255,255,.94);
  font-size: 1.1rem;
  line-height: 1.55;
}

.mm-aerial-btn {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  padding: 14px 25px;
  border: 2px solid #fff;
  border-radius: 50px;
  background: #078df2;
  color: #fff !important;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none !important;
  transition: all .25s ease;
}

.mm-aerial-btn:hover {
  background: #fff;
  color: #075eaa !important;
  transform: translateY(-2px);
}

@media (max-width: 767px) {
  .mm-aerial-hero {
    min-height: 650px;
    align-items: flex-end;
    border-radius: 0 0 20px 20px;
    background-position: 62% center;
  }

  .mm-aerial-overlay {
    background: linear-gradient(
      0deg,
      rgba(0, 31, 61, .96) 0%,
      rgba(0, 38, 73, .76) 50%,
      rgba(0, 30, 60, .12) 100%
    );
  }

  .mm-aerial-content {
    padding: 45px 25px;
  }

  .mm-aerial-title {
    font-size: clamp(3.4rem, 17vw, 5rem);
    letter-spacing: -3px;
  }

  .mm-aerial-text {
    font-size: 1rem;
  }
}
/* =========================================================
   MARCO MARE - CMS SHARED COMPONENTS
   Riutilizzabili nelle CMS personalizzate
   ========================================================= */

.mm-section {
  padding: 90px 55px;
}

.mm-section-inner {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
}

.mm-kicker {
  display: block;
  margin-bottom: 14px;
  color: #078df2;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.mm-heading {
  margin: 0;
  color: #123b5d;
  font-size: clamp(2.2rem, 4vw, 4rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.035em;
}

.mm-copy {
  color: #536575;
  font-size: 1.08rem;
  line-height: 1.75;
}

.mm-copy p {
  margin: 0 0 18px;
}

.mm-copy p:last-child {
  margin-bottom: 0;
}

.mm-copy strong {
  color: #123b5d;
}


/* --- Due colonne: titolo + testo --- */

.mm-split {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(50px, 8vw, 120px);
  align-items: start;
}


/* --- Griglia 3 elementi --- */

.mm-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 75px;
  background: #dce6ed;
  border-top: 1px solid #dce6ed;
  border-bottom: 1px solid #dce6ed;
}

.mm-feature {
  position: relative;
  padding: 45px 38px;
  background: #fff;
}

.mm-feature-number {
  display: block;
  margin-bottom: 45px;
  color: #078df2;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.mm-feature h3 {
  margin: 0 0 15px;
  color: #123b5d;
  font-size: 1.55rem;
  font-weight: 700;
}

.mm-feature p {
  margin: 0;
  color: #667786;
  font-size: 1rem;
  line-height: 1.65;
}


/* --- Testata sezione --- */

.mm-section-head {
  display: flex;
  justify-content: space-between;
  gap: 60px;
  align-items: end;
  margin-bottom: 45px;
}

.mm-section-head > p {
  width: min(100%, 520px);
  margin: 0;
  color: #667786;
  font-size: 1.05rem;
  line-height: 1.65;
}


/* --- Box informativo / contenuto in arrivo --- */

.mm-notice {
  padding: 45px 50px;
  background: #f3f8fb;
  border-left: 4px solid #078df2;
}

.mm-notice span {
  display: block;
  margin-bottom: 10px;
  color: #078df2;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.mm-notice strong {
  color: #123b5d;
  font-size: clamp(1.35rem, 2.3vw, 2rem);
  line-height: 1.25;
}


/* --- CTA finale social --- */

.mm-social-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 50px;
  padding: 65px max(55px, calc((100% - 1320px) / 2));
  background: #063d69;
  color: #fff;
}

.mm-social-cta .mm-kicker {
  color: #65c7ff;
}

.mm-social-cta h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 3.5vw, 3.5rem);
  line-height: 1.08;
}

.mm-social-btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  padding: 15px 26px;
  border: 2px solid #fff;
  border-radius: 50px;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none !important;
  transition: .25s ease;
}

.mm-social-btn:hover {
  background: #fff;
  color: #063d69 !important;
}


/* =========================================================
   MOBILE - SHARED CMS
   ========================================================= */

@media (max-width: 767px) {

  .mm-section {
    padding: 60px 24px;
  }

  .mm-split {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .mm-heading {
    font-size: clamp(2.25rem, 11vw, 3.25rem);
  }

  .mm-feature-grid {
    grid-template-columns: 1fr;
    margin-top: 50px;
  }

  .mm-feature {
    padding: 35px 25px;
  }

  .mm-feature-number {
    margin-bottom: 22px;
  }

  .mm-section-head {
    display: block;
    margin-bottom: 35px;
  }

  .mm-section-head > p {
    margin-top: 25px;
  }

  .mm-notice {
    padding: 32px 25px;
  }

  .mm-social-cta {
    display: block;
    padding: 50px 25px;
  }

  .mm-social-btn {
    margin-top: 30px;
  }
}
/* Vista dall'alto - Storie */

.mm-aerial-stories {
  padding-top: 55px;
}

.mm-aerial-stories .mm-section-head {
  gap: 35px;
}
/* Chi sono */

.mm-about-world,
.mm-about-site {
  padding-top: 55px;
  padding-bottom: 55px;
}

.mm-about-manifesto {
  padding-top: 35px;
  padding-bottom: 65px;
}
.mm-about-manifesto .mm-notice strong {
  font-family: "Knewave", cursive;
  font-weight: 400;
  font-size: clamp(1.7rem, 2.8vw, 2.5rem);
}
/* =========================================================
   SCOPRI IL MIO MONDO
   ========================================================= */

.mm-world-intro {
  padding-top: 25px;
  padding-bottom: 25px;
}

.mm-world-intro .mm-heading {
  max-width: 760px;
}

.mm-world-lead {
  margin: 24px 0 8px;
  color: #123b5d;
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  font-weight: 700;
  line-height: 1.3;
}

.mm-world-copy {
  max-width: 720px;
  margin: 0;
  color: #536575;
  font-size: 1.08rem;
  line-height: 1.65;
}

@media (max-width: 767px) {
  .mm-world-intro {
    padding-top: 45px;
    padding-bottom: 30px;
  }

  .mm-world-lead {
    margin-top: 20px;
  }

  .mm-world-copy {
    font-size: 1rem;
  }
}
/* Scopri il mio mondo - area TikTok */

.mm-world-videos {
  background: #fff;
  padding-top: 55px;
  padding-bottom: 55px;
}

.mm-world-videos .elementor-container {
  max-width: 1320px;
  margin: 0 auto;
}

.mm-world-video-column {
  background: #f3f6f8;
  padding: 35px 20px;
}

.mm-world-video-column .elementor-widget-wrap {
  justify-content: center;
}

/* =========================================================
   CREATOR — pagina CMS
   ========================================================= */
/* MARCO MARE — CMS CREATOR — VERSIONE 1 */
.mm-creator-hero,.mm-creator-story,.mm-creator-project,.mm-creator-work,.mm-creator-drone,.mm-creator-cta{background:#fff!important}
.mm-creator-hero-wrap,.mm-creator-story-wrap,.mm-creator-project-wrap,.mm-creator-work-wrap,.mm-creator-drone-wrap,.mm-creator-cta-wrap{max-width:1320px;margin:0 auto}
.mm-creator-kicker{display:inline-block;margin-bottom:14px;color:#168fca;font-size:12px;font-weight:800;letter-spacing:.16em}
.mm-creator-hero-wrap{display:grid;grid-template-columns:.9fr 1.1fr;min-height:610px;background:#102332;border-radius:18px;overflow:hidden;color:#fff}
.mm-creator-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:64px}
.mm-creator-hero h1{margin:0 0 22px;font-size:52px;line-height:1.03;letter-spacing:-.035em;color:#fff}
.mm-creator-hero p{max-width:590px;margin:0 0 30px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.86)}
.mm-creator-hero-media img{width:100%;height:100%;min-height:610px;object-fit:cover;object-position:center}
.mm-creator-btn{display:inline-flex;align-self:flex-start;align-items:center;gap:12px;padding:14px 22px;border-radius:999px;background:#fff;color:#102332!important;font-weight:800;text-decoration:none!important}
.mm-creator-story-wrap{padding:78px 8%;text-align:center}.mm-creator-story h2,.mm-creator-project h2,.mm-creator-work h2,.mm-creator-drone h2,.mm-creator-cta h2{margin:0 0 18px;color:#102332;font-size:38px;line-height:1.08;letter-spacing:-.025em}.mm-creator-story p{max-width:850px;margin:0 auto;color:#53616c;font-size:18px;line-height:1.7}
.mm-creator-project-wrap{padding:62px 0}.mm-creator-project-head{max-width:720px;margin-bottom:30px}.mm-creator-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.mm-creator-grid article{padding:28px;border:1px solid rgba(16,35,50,.10);border-radius:16px;box-shadow:0 8px 24px rgba(16,35,50,.07)}.mm-creator-grid strong{display:block;margin-bottom:12px;color:#102332;font-size:19px}.mm-creator-grid p{margin:0;color:#63707a;line-height:1.6}
.mm-creator-work-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;padding:70px 8%;background:#f3f8fb;border-radius:18px}.mm-creator-work p{margin:0;color:#53616c;font-size:19px;line-height:1.7}
.mm-creator-drone-wrap{display:grid;grid-template-columns:1fr .65fr;gap:30px;align-items:center;margin-top:28px;padding:64px;background:#102332;border-radius:18px;color:#fff}.mm-creator-drone h2{color:#fff}.mm-creator-drone p{max-width:680px;color:rgba(255,255,255,.78);font-size:18px;line-height:1.65}.mm-creator-link{color:#fff!important;font-weight:800;text-decoration:none!important}.mm-creator-drone-note{justify-self:end;color:#168fca;font-size:13px;font-weight:800;letter-spacing:.18em}
.mm-creator-cta-wrap{margin-top:28px;padding:72px 30px;text-align:center;background:#eaf6fc;border-radius:18px}.mm-creator-cta p{max-width:650px;margin:0 auto 26px;color:#53616c;font-size:18px}.mm-creator-cta .mm-creator-btn{margin:0 auto;background:#102332;color:#fff!important}
@media(max-width:991px){.mm-creator-hero-wrap{grid-template-columns:1fr;min-height:0}.mm-creator-hero-media{order:-1}.mm-creator-hero-media img{min-height:0;max-height:520px}.mm-creator-hero-copy{padding:38px 28px}.mm-creator-hero h1{font-size:38px}.mm-creator-grid{grid-template-columns:repeat(2,1fr)}.mm-creator-work-wrap,.mm-creator-drone-wrap{grid-template-columns:1fr;gap:22px}.mm-creator-drone-note{justify-self:start}}
@media(max-width:575px){.mm-creator-hero-wrap,.mm-creator-work-wrap,.mm-creator-drone-wrap,.mm-creator-cta-wrap{border-radius:0}.mm-creator-hero h1{font-size:34px}.mm-creator-story-wrap,.mm-creator-project-wrap{padding:48px 20px}.mm-creator-grid{grid-template-columns:1fr}.mm-creator-work-wrap,.mm-creator-drone-wrap{padding:44px 24px}.mm-creator-story h2,.mm-creator-project h2,.mm-creator-work h2,.mm-creator-drone h2,.mm-creator-cta h2{font-size:31px}}
/* CREATOR — larghezza container Elementor */
@media (min-width: 992px) {
    .mm-creator-hero > .elementor-container,
    .mm-creator-story > .elementor-container,
    .mm-creator-project > .elementor-container,
    .mm-creator-work > .elementor-container,
    .mm-creator-drone > .elementor-container,
    .mm-creator-cta > .elementor-container {
        width: 100% !important;
        max-width: 1320px !important;
    }
}