/* =========================================================
   MAX MONTICONE — DESIGN SYSTEM v1
   Theme v0.8.8
   ========================================================= */

:root {
  /* Palette */
  --mm-ivory: #F3F0E8;
  --mm-charcoal: #22231F;
  --mm-sage: #8D947E;
  --mm-sage-light: #D9DED2;
  --mm-warm-white: #FAF8F3;
  --mm-header-band: rgba(34,35,31,.45);

  /* Fonts */
  --mm-font-serif: Georgia, "Times New Roman", serif;
  --mm-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;

  /* Layout */
  --mm-container: 1220px;
  --mm-text: 620px;
  --mm-gutter-desktop: 40px;
  --mm-gutter-tablet: 28px;
  --mm-gutter-mobile: 17px;

  /* Vertical rhythm */
  --mm-section-space-desktop: 80px;
  --mm-section-space-tablet: 64px;
  --mm-section-space-mobile: 56px;
  --mm-gap-desktop: 64px;
  --mm-gap-tablet: 42px;
  --mm-gap-mobile: 30px;

  /* Typography */
  --mm-body: 16px;
  --mm-body-secondary: 15px;
  --mm-eyebrow: 16px;
  --mm-eyebrow-tablet: 15px;
  --mm-eyebrow-mobile: 14px;
  --mm-eyebrow-gap-desktop: 25px;
  --mm-eyebrow-gap-tablet: 22px;
  --mm-eyebrow-gap-mobile: 18px;
  --mm-action: 11px;

  /* Hero */
  --mm-main-hero-desktop: 82svh;
  --mm-main-hero-tablet: 78svh;
  --mm-main-hero-mobile: 72svh;
  --mm-detail-hero-top: 165px;
  --mm-detail-hero-bottom: 82px;
  --mm-detail-hero-top-tablet: 145px;
  --mm-detail-hero-bottom-tablet: 72px;
  --mm-detail-hero-top-mobile: 130px;
  --mm-detail-hero-bottom-mobile: 58px;
}

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--mm-warm-white);
  color: var(--mm-charcoal);
  font-family: var(--mm-font-sans);
  font-size: var(--mm-body);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

*, *::before, *::after { box-sizing: border-box; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }

/* Elimina spazi automatici tra template part, contenuto e footer. */
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.mm-page,
.mm-page > .wp-block-post-content,
.mm-footer { margin: 0 !important; }

h1, h2, h3, h4, h5, h6,
.mm-h1, .mm-h2, .mm-h3,
.mm-title-main, .mm-title-detail, .mm-section-title {
  font-family: var(--mm-font-serif);
  font-weight: 400;
}

/* =========================================================
   HEADER GLOBALE
   ========================================================= */
.mm-header {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 100;
  width: 100%;
  margin: 0 !important;
  background: var(--mm-header-band) !important;
  border: 0 !important;
  color: #fff;
}

.mm-header__inner {
  width: min(var(--mm-container), calc(100% - (var(--mm-gutter-desktop) * 2)));
  max-width: none !important;
  margin: 0 auto !important;
  min-height: 150px;
  padding: 48px 0 28px;
  gap: clamp(36px, 5vw, 84px);
}

.mm-logo { margin: 0 !important; }
.mm-logo a { display: block; }
.mm-logo--header { flex: 0 0 auto; }
.mm-logo--header img {
  width: 211px;
  max-width: 211px;
  max-height: 76px;
  height: auto;
  object-fit: contain;
  object-position: left center;
}
.mm-logo--footer img {
  width: 170px;
  max-width: 170px;
  height: auto;
}

.mm-nav { font-size: 15px; }
.mm-nav .wp-block-navigation__container {
  gap: clamp(24px, 2.35vw, 42px);
}
.mm-nav .wp-block-navigation-item__content,
.mm-nav .wp-block-navigation-item__content:visited {
  color: #fff !important;
  text-decoration: none !important;
  font-family: var(--mm-font-sans);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .075em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: opacity .2s ease;
}
.mm-nav .wp-block-navigation-item__content:hover,
.mm-nav .wp-block-navigation-item__content:focus,
.mm-nav .wp-block-navigation-item__content:active,
.mm-nav .current-menu-item > .wp-block-navigation-item__content,
.mm-nav .current-menu-ancestor > .wp-block-navigation-item__content {
  color: #fff !important;
  opacity: .72;
  text-decoration: none !important;
}
.mm-nav .wp-block-navigation__responsive-container-open,
.mm-nav .wp-block-navigation__responsive-container-close {
  color: #fff !important;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.mm-nav .wp-block-navigation__responsive-container-open {
  border: 0 !important;
  background: var(--mm-charcoal) !important;
}
.mm-nav .wp-block-navigation__responsive-container-close {
  display: flex;
  border: 1px solid rgba(250,248,243,.22) !important;
  background: transparent !important;
}
.mm-nav .wp-block-navigation__responsive-container-open:hover,
.mm-nav .wp-block-navigation__responsive-container-open:focus-visible,
.mm-nav .wp-block-navigation__responsive-container-close:hover,
.mm-nav .wp-block-navigation__responsive-container-close:focus-visible {
  background: var(--mm-sage) !important;
  color: #fff !important;
}
.mm-nav .wp-block-navigation__responsive-container-open svg,
.mm-nav .wp-block-navigation__responsive-container-close svg {
  width: 24px;
  height: 24px;
}
.mm-nav .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--mm-charcoal) !important;
  color: var(--mm-warm-white) !important;
  padding: 30px;
}
.mm-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  color: var(--mm-warm-white) !important;
  font-size: 19px;
  font-weight: 650;
  letter-spacing: .07em;
}

/* =========================================================
   CONTENUTO / DESIGN SYSTEM
   ========================================================= */
.mm-page { overflow: clip; }

.mm-container,
.mm-section-inner {
  width: min(var(--mm-container), calc(100% - (var(--mm-gutter-desktop) * 2)));
  max-width: var(--mm-container);
  margin-inline: auto;
}

.mm-section {
  padding-block: var(--mm-section-space-desktop);
}
.mm-section--ivory { background: var(--mm-ivory); }
.mm-section--sage { background: var(--mm-sage-light); }
.mm-section--dark { background: var(--mm-charcoal); color: var(--mm-warm-white); }
.mm-prose { max-width: var(--mm-text); }

.mm-body {
  font-family: var(--mm-font-sans) !important;
  font-size: var(--mm-body) !important;
  line-height: 1.72 !important;
}
.mm-body-secondary {
  font-family: var(--mm-font-sans) !important;
  font-size: var(--mm-body-secondary) !important;
  line-height: 1.68 !important;
}

.mm-eyebrow {
  margin: 0 0 var(--mm-eyebrow-gap-desktop) !important;
  font-family: var(--mm-font-sans) !important;
  font-size: var(--mm-eyebrow) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: .20em !important;
  text-transform: uppercase !important;
}

.mm-eyebrow:not(.mm-hero-eyebrow) {
  color: var(--mm-sage) !important;
}

/* Eyebrow locali: salvia come base globale.
   Il colore dell'eyebrow della hero viene deciso nella singola pagina.
   La classe dedicata copre le nuove pagine; le esclusioni per antenato
   mantengono autonome anche le hero gia pubblicate. */
[class$="-eyebrow"]:not(.mm-hero-eyebrow):not(.mm-wedding-hero *):not(.mm-interior-hero *):not(.mm-family-hero *):not(.mm-events-hero *):not(.mm-about-hero *):not(.mm-wc-hero *):not(.mm-col-hero *):not(.mm-guide-hero *):not(.mm-album-hero *),
[class*="-eyebrow "]:not(.mm-hero-eyebrow):not(.mm-wedding-hero *):not(.mm-interior-hero *):not(.mm-family-hero *):not(.mm-events-hero *):not(.mm-about-hero *):not(.mm-wc-hero *):not(.mm-col-hero *):not(.mm-guide-hero *):not(.mm-album-hero *) {
  color: var(--mm-sage) !important;
}

/* La guida Interior usa molti <p> con regole cromatiche locali:
   questa specificita impedisce che l'eyebrow venga trasformato in grigio. */
.mm-interior-guide .mm-guide-eyebrow:not(.mm-hero-eyebrow) {
  color: var(--mm-sage) !important;
}
.mm-interior-guide .mm-guide-dont .mm-guide-eyebrow {
  color: var(--mm-sage-light) !important;
}

.mm-title-main,
.mm-h1 {
  margin: 0;
  font-size: clamp(50px, 5vw, 76px);
  line-height: 1;
  letter-spacing: -.035em;
}

.mm-title-detail {
  margin: 0;
  font-size: clamp(52px, 5vw, 76px);
  line-height: .99;
  letter-spacing: -.035em;
}

.mm-section-title,
.mm-h2 {
  margin: 0;
  font-size: clamp(38px, 3vw, 50px);
  line-height: 1.04;
  letter-spacing: -.025em;
}

.mm-h3 {
  margin: 0;
  font-size: clamp(27px, 2.2vw, 34px);
  line-height: 1.08;
}

/* Hero utilities: unica fonte di verita per nuove pagine. */
.mm-hero-home {
  height: 100dvh;
  min-height: 100svh;
}

.mm-hero-main {
  min-height: var(--mm-main-hero-desktop);
}
.mm-hero-main > .mm-hero-inner {
  min-height: var(--mm-main-hero-desktop);
}

.mm-hero-detail {
  min-height: 0;
  height: auto;
  padding-top: var(--mm-detail-hero-top);
  padding-bottom: var(--mm-detail-hero-bottom);
}

/* CTA editoriale standard: titolo a sinistra, testo + azione a destra. */
.mm-editorial-cta__inner {
  width: min(var(--mm-container), calc(100% - (var(--mm-gutter-desktop) * 2)));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
  gap: 80px;
  align-items: center;
}
.mm-editorial-cta__content {
  max-width: 540px;
}

/* Componenti azione */
.mm-cta,
.mm-action-link {
  display: inline-flex;
  gap: .5em;
  align-items: center;
  text-decoration: none;
  font-family: var(--mm-font-sans);
  font-size: var(--mm-action);
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mm-cta { margin-top: 1.5rem; }
.mm-cta:hover,
.mm-action-link:hover { color: var(--mm-sage); }

.mm-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 23px;
  border: 1px solid var(--mm-charcoal);
  border-radius: 0;
  background: var(--mm-charcoal);
  color: var(--mm-warm-white);
  text-decoration: none;
  font-family: var(--mm-font-sans);
  font-size: var(--mm-action);
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mm-button:hover {
  background: var(--mm-sage);
  border-color: var(--mm-sage);
}
.mm-button--light {
  background: var(--mm-warm-white);
  color: var(--mm-charcoal);
}
.mm-button--light:hover {
  background: var(--mm-charcoal);
  border-color: var(--mm-charcoal);
  color: #fff;
}

/* Link testuali nel contenuto editoriale.
   Neutralizza colori hover ereditati da WordPress o dal vecchio sito.
   Pulsanti e collegamenti applicati alle sole fotografie mantengono
   il comportamento definito dai rispettivi componenti. */
.mm-page a:not([class*="button"]):not([class*="photo-link"]):hover,
.mm-page a:not([class*="button"]):not([class*="photo-link"]):focus-visible {
  color: var(--mm-sage) !important;
}

/* La CTA della Home e un pulsante, anche se la classe termina in "link". */
.mm-page .mm-home-service__link:hover,
.mm-page .mm-home-service__link:focus-visible {
  color: var(--mm-warm-white) !important;
}

/* =========================================================
   PAGINA 404
   ========================================================= */
.mm-404 {
  min-height: 78svh;
  display: flex;
  align-items: center;
  padding: clamp(190px, 20vh, 250px) 0 clamp(90px, 10vh, 130px);
  background: var(--mm-ivory);
}

.mm-404__inner {
  width: min(900px, calc(100% - (var(--mm-gutter-desktop) * 2)));
  margin-inline: auto;
}

.mm-404__number {
  margin: 0 0 38px;
  color: var(--mm-sage-light);
  font-family: var(--mm-font-serif);
  font-size: clamp(120px, 17vw, 230px);
  font-weight: 400;
  line-height: .66;
  letter-spacing: -.07em;
}

.mm-404 h1 {
  max-width: 760px;
  margin: 0;
  color: var(--mm-charcoal);
  font-size: clamp(48px, 5vw, 72px);
  line-height: 1;
  letter-spacing: -.035em;
}

.mm-404__text {
  max-width: 650px;
  margin: 30px 0 0;
  color: #44453f;
  font-size: var(--mm-body);
  line-height: 1.72;
}

.mm-404__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 22px 28px;
  margin-top: 38px;
}

.mm-404__actions .mm-button {
  margin: 0;
  gap: 10px;
}

.mm-404__contact {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--mm-charcoal);
  font-family: var(--mm-font-sans);
  font-size: var(--mm-action);
  font-weight: 650;
  letter-spacing: .08em;
  text-decoration: none;
}

.mm-404__contact:hover,
.mm-404__contact:focus-visible {
  color: var(--mm-sage) !important;
}

/* =========================================================
   COMPATIBILITY LAYER — PAGINE GIA COSTRUITE
   Solo regole gia confermate dall'audit.
   ========================================================= */

/* Pagine principali: hero e scala titoli condivise. */
.mm-wedding-hero,
.mm-interior-hero,
.mm-family-hero,
.mm-events-hero {
  min-height: var(--mm-main-hero-desktop) !important;
}
.mm-wedding-hero__content,
.mm-interior-hero__content,
.mm-family-hero__content,
.mm-events-hero__content {
  min-height: var(--mm-main-hero-desktop) !important;
}
.mm-wedding-hero h1,
.mm-interior-hero h1,
.mm-family-hero h1,
.mm-events-hero h1 {
  font-size: clamp(50px, 5vw, 76px) !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
}
.mm-wedding-hero__intro,
.mm-interior-hero__intro,
.mm-family-hero__intro,
.mm-events-hero__intro {
  font-size: var(--mm-body) !important;
}

/* Eyebrow editoriali: stesso componente sulle pagine gia costruite. */
.mm-wedding-eyebrow,
.mm-interior-eyebrow,
.mm-family-eyebrow,
.mm-events-eyebrow,
.mm-about-eyebrow,
.mm-contact-eyebrow,
.mm-wc-cta-eyebrow,
.mm-col-eyebrow,
.mm-guide-eyebrow,
.mm-album-eyebrow {
  font-family: var(--mm-font-sans) !important;
  font-size: var(--mm-eyebrow) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: .20em !important;
  text-transform: uppercase !important;
  margin: 0 0 var(--mm-eyebrow-gap-desktop) !important;
}

/* H2 e body editoriali principali gia omogenei nel progetto. */
.mm-wedding-split h2,
.mm-wedding-feature h2,
.mm-wedding-about h2,
.mm-interior-split h2,
.mm-interior-spaces h2,
.mm-interior-use h2,
.mm-interior-for h2,
.mm-family-split h2,
.mm-family-delivery h2,
.mm-events-split h2,
.mm-events-behind h2,
.mm-events-about h2 {
  font-size: clamp(38px, 3vw, 50px) !important;
  line-height: 1.04 !important;
}

.mm-wedding-split p,
.mm-wedding-feature p,
.mm-wedding-about p,
.mm-interior-split p,
.mm-interior-spaces p,
.mm-interior-use p,
.mm-interior-for p,
.mm-family-split p,
.mm-family-delivery p,
.mm-events-split p,
.mm-events-behind p,
.mm-events-about p {
  font-size: var(--mm-body) !important;
}

/* Chi sono: hero compatta, stessa categoria degli approfondimenti. */
.mm-about-hero {
  min-height: 0 !important;
  height: auto !important;
  padding: var(--mm-detail-hero-top) 0 var(--mm-detail-hero-bottom) !important;
}
.mm-about-hero__content {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 0 !important;
}
.mm-about-hero h1 {
  font-size: clamp(52px, 5vw, 76px) !important;
  line-height: .99 !important;
}
.mm-about-hero__intro {
  font-size: var(--mm-body) !important;
}

/* Approfondimenti fotografici matrimonio/interior:
   stessa famiglia visiva di "Un matrimonio completo". */
.mm-wc-hero,
.mm-col-hero,
.mm-guide-hero,
.mm-album-hero {
  min-height: 0 !important;
  height: 640px !important;
  padding: 0 !important;
}
.mm-wc-hero__inner,
.mm-col-hero > .mm-col-container,
.mm-guide-hero > .mm-guide-container,
.mm-album-hero__inner {
  height: 100% !important;
}
.mm-wc-hero__content {
  padding-top: 0 !important;
}
.mm-wc-hero h1,
.mm-col-hero h1,
.mm-guide-hero h1,
.mm-album-hero h1 {
  font-size: clamp(52px, 5vw, 76px) !important;
}
.mm-wc-hero__text,
.mm-col-hero__copy,
.mm-guide-hero__copy {
  font-size: var(--mm-body) !important;
}

/* =========================================================
   FOOTER GLOBALE
   ========================================================= */
.mm-footer {
  margin: 0 !important;
  padding: 0 !important;
  background: var(--mm-charcoal) !important;
  color: var(--mm-warm-white);
  border: 0 !important;
}
.mm-footer__inner {
  width: min(var(--mm-container), calc(100% - (var(--mm-gutter-desktop) * 2)));
  max-width: none !important;
  margin: 0 auto !important;
  padding: 54px 0 28px;
}
.mm-footer__grid {
  display: grid;
  grid-template-columns: 1.1fr 1.15fr .9fr;
  align-items: stretch;
  border-top: 1px solid rgba(250,248,243,.18);
  border-bottom: 1px solid rgba(250,248,243,.18);
}
.mm-footer__brand,
.mm-footer__menu-wrap,
.mm-footer__contact {
  min-width: 0;
  padding: 38px 42px 42px;
}
.mm-footer__brand { padding-left: 0; }
.mm-footer__contact { padding-right: 0; }
.mm-footer__menu-wrap,
.mm-footer__contact {
  border-left: 1px solid rgba(250,248,243,.18);
}
.mm-footer__description {
  max-width: 320px;
  margin: 20px 0 0;
  color: rgba(250,248,243,.72);
  font-size: 14px;
  line-height: 1.65;
}
.mm-footer__kicker {
  margin: 0 0 22px;
  color: rgba(250,248,243,.48);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .18em;
}
.mm-footer__nav { margin: 0; }
.mm-footer__nav .wp-block-navigation__container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 34px;
  width: 100%;
}
.mm-footer__nav .wp-block-navigation-item__content,
.mm-footer__nav .wp-block-navigation-item__content:visited {
  color: var(--mm-warm-white) !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .055em;
}
.mm-footer__nav .wp-block-navigation-item__content:hover,
.mm-footer__nav .wp-block-navigation-item__content:focus {
  color: var(--mm-warm-white) !important;
  opacity: .62;
}
.mm-footer__instagram-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.mm-footer__instagram-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: inline-block;
}
.mm-footer__instagram-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mm-footer__contact-links {
  margin: 0;
  font-size: 14px;
  line-height: 2;
}
.mm-footer a,
.mm-footer a:visited {
  color: inherit !important;
  text-decoration: none !important;
}
.mm-footer a:hover,
.mm-footer a:focus { opacity: .62; }
.mm-footer__bottom {
  gap: 24px;
  padding-top: 22px;
}
.mm-footer__company,
.mm-footer__legal {
  margin: 0;
  color: rgba(250,248,243,.5);
  font-size: 11px;
  line-height: 1.55;
}

/* =========================================================
   TABLET — 761 / 1050
   ========================================================= */
@media (min-width: 761px) and (max-width: 1050px) {
  .mm-header__inner,
  .mm-container,
  .mm-section-inner,
  .mm-footer__inner {
    width: calc(100% - (var(--mm-gutter-tablet) * 2));
  }

  .mm-header__inner {
    min-height: 132px;
    padding: 38px 0 24px;
    gap: 28px;
  }
  .mm-logo--header img {
    width: 190px;
    max-width: 190px;
    max-height: 69px;
  }

  /* Su tablet il menu diventa compatto per evitare sovrapposizioni. */
  .mm-nav .wp-block-navigation__responsive-container-open {
    display: flex !important;
  }
  .mm-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  .mm-section { padding-block: var(--mm-section-space-tablet); }
  .mm-editorial-cta__inner {
    width: calc(100% - (var(--mm-gutter-tablet) * 2));
    gap: 55px;
  }

  .mm-404__inner {
    width: calc(100% - (var(--mm-gutter-tablet) * 2));
  }
  .mm-eyebrow,
  .mm-wedding-eyebrow,
  .mm-interior-eyebrow,
  .mm-family-eyebrow,
  .mm-events-eyebrow,
  .mm-about-eyebrow,
  .mm-contact-eyebrow,
  .mm-wc-cta-eyebrow,
  .mm-col-eyebrow,
  .mm-guide-eyebrow,
  .mm-album-eyebrow {
    font-size: var(--mm-eyebrow-tablet) !important;
    margin-bottom: var(--mm-eyebrow-gap-tablet) !important;
  }

  .mm-title-main,
  .mm-wedding-hero h1,
  .mm-interior-hero h1,
  .mm-family-hero h1,
  .mm-events-hero h1 {
    font-size: clamp(50px, 6vw, 64px) !important;
  }

  .mm-title-detail,
  .mm-about-hero h1,
  .mm-wc-hero h1,
  .mm-col-hero h1,
  .mm-guide-hero h1,
  .mm-album-hero h1 {
    font-size: clamp(50px, 6vw, 62px) !important;
  }

  .mm-section-title,
  .mm-h2 {
    font-size: clamp(38px, 4.5vw, 44px);
  }

  .mm-wedding-hero,
  .mm-interior-hero,
  .mm-family-hero,
  .mm-events-hero,
  .mm-wedding-hero__content,
  .mm-interior-hero__content,
  .mm-family-hero__content,
  .mm-events-hero__content {
    min-height: var(--mm-main-hero-tablet) !important;
  }

  .mm-hero-detail,
  .mm-about-hero {
    padding-top: var(--mm-detail-hero-top-tablet) !important;
    padding-bottom: var(--mm-detail-hero-bottom-tablet) !important;
  }

  .mm-wc-hero,
  .mm-col-hero,
  .mm-guide-hero,
  .mm-album-hero {
    height: 580px !important;
    padding: 0 !important;
  }

  .mm-footer__brand,
  .mm-footer__menu-wrap,
  .mm-footer__contact {
    padding: 34px 28px 36px;
    border-left: 0;
    text-align: center;
  }
  .mm-footer__grid {
    grid-template-columns: 1fr;
  }
  .mm-footer__menu-wrap,
  .mm-footer__contact {
    border-top: 1px solid rgba(250,248,243,.18);
  }
  .mm-logo--footer,
  .mm-logo--footer a {
    display: inline-block;
  }
  .mm-logo--footer img {
    margin-inline: auto;
  }
  .mm-footer__description {
    max-width: 520px;
    margin: 20px auto 0;
  }
  .mm-footer__nav .wp-block-navigation__container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 20px;
    width: min(100%, 720px);
    margin-inline: auto;
    justify-items: center;
  }
  .mm-footer__nav .wp-block-navigation-item__content {
    text-align: center;
  }
  .mm-footer__contact-links {
    text-align: center;
  }
  .mm-footer__bottom {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
  }
}

/* =========================================================
   SMARTPHONE — <= 760
   ========================================================= */
@media (max-width: 760px) {
  body { font-size: var(--mm-body); }

  .mm-header__inner,
  .mm-container,
  .mm-section-inner,
  .mm-footer__inner {
    width: calc(100% - (var(--mm-gutter-mobile) * 2));
  }

  .mm-header__inner {
    min-height: 108px;
    padding: 28px 0 18px;
    gap: 20px;
  }
  .mm-logo--header img {
    width: 168px;
    max-width: 168px;
    max-height: 61px;
  }
  .mm-nav .wp-block-navigation__responsive-container-open {
    display: flex !important;
  }
  .mm-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  .mm-section { padding-block: var(--mm-section-space-mobile); }
  .mm-editorial-cta__inner {
    width: calc(100% - (var(--mm-gutter-mobile) * 2));
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .mm-404 {
    min-height: 72svh;
    padding: 150px 0 76px;
  }
  .mm-404__inner {
    width: calc(100% - (var(--mm-gutter-mobile) * 2));
  }
  .mm-404__number {
    margin-bottom: 28px;
    font-size: clamp(104px, 38vw, 160px);
  }
  .mm-404 h1 {
    font-size: 43px;
  }
  .mm-404__text {
    margin-top: 24px;
  }
  .mm-404__actions {
    align-items: stretch;
    flex-direction: column;
    gap: 22px;
    margin-top: 32px;
  }
  .mm-404__actions .mm-button {
    width: 100%;
  }
  .mm-404__contact {
    justify-content: center;
  }

  .mm-eyebrow,
  .mm-wedding-eyebrow,
  .mm-interior-eyebrow,
  .mm-family-eyebrow,
  .mm-events-eyebrow,
  .mm-about-eyebrow,
  .mm-contact-eyebrow,
  .mm-wc-cta-eyebrow,
  .mm-col-eyebrow,
  .mm-guide-eyebrow,
  .mm-album-eyebrow {
    font-size: var(--mm-eyebrow-mobile) !important;
    margin-bottom: var(--mm-eyebrow-gap-mobile) !important;
  }

  .mm-title-main,
  .mm-wedding-hero h1,
  .mm-interior-hero h1,
  .mm-family-hero h1,
  .mm-events-hero h1 {
    font-size: 43px !important;
  }

  .mm-title-detail,
  .mm-about-hero h1,
  .mm-wc-hero h1,
  .mm-col-hero h1,
  .mm-guide-hero h1,
  .mm-album-hero h1 {
    font-size: 46px !important;
  }

  .mm-section-title,
  .mm-h2 {
    font-size: 36px !important;
  }

  .mm-wedding-hero,
  .mm-interior-hero,
  .mm-family-hero,
  .mm-events-hero,
  .mm-wedding-hero__content,
  .mm-interior-hero__content,
  .mm-family-hero__content,
  .mm-events-hero__content {
    min-height: var(--mm-main-hero-mobile) !important;
  }

  .mm-hero-detail,
  .mm-about-hero {
    padding-top: var(--mm-detail-hero-top-mobile) !important;
    padding-bottom: var(--mm-detail-hero-bottom-mobile) !important;
  }

  .mm-wc-hero,
  .mm-col-hero,
  .mm-guide-hero,
  .mm-album-hero {
    height: 700px !important;
    padding: 0 !important;
  }

  .mm-about-hero__content {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .mm-wc-hero__inner {
    min-height: 0 !important;
    height: 100% !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: flex-end !important;
  }

  .mm-wc-hero__content {
    width: 100% !important;
    padding: 0 0 48px !important;
  }
  .mm-wc-hero__text {
    font-size: var(--mm-body) !important;
  }

  .mm-footer__inner { padding: 44px 0 24px; }
  .mm-footer__grid { grid-template-columns: 1fr; }
  .mm-footer__brand,
  .mm-footer__menu-wrap,
  .mm-footer__contact {
    padding: 32px 0 34px;
    border-left: 0;
    text-align: center;
  }
  .mm-footer__menu-wrap,
  .mm-footer__contact {
    border-top: 1px solid rgba(250,248,243,.18);
  }
  .mm-logo--footer,
  .mm-logo--footer a {
    display: inline-block;
  }
  .mm-logo--footer img {
    margin-inline: auto;
  }
  .mm-footer__description {
    max-width: 320px;
    margin: 20px auto 0;
  }
  .mm-footer__nav .wp-block-navigation__container {
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px 8px;
    width: 100%;
    justify-items: center;
  }
  .mm-footer__nav .wp-block-navigation-item__content {
    text-align: center;
    font-size: 11px;
    letter-spacing: .035em;
  }
  .mm-footer__contact-links {
    text-align: center;
  }
  .mm-footer__bottom {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding-top: 20px;
    text-align: center;
  }
  .mm-footer__legal { margin-top: 0; }
}

/* =========================================================
   v0.8.3 — DESIGN SYSTEM CONSOLIDATION
   - logo header + circa 12%
   - eyebrow salvia piu robusti
   - approfondimenti fotografici 640 / 580 / 700
   - utility CTA editoriale
   ========================================================= */

/* =========================================================
   v0.8.2 — MATRIMONI / GALLERY
   Maggiore respiro e leggibilita nella colonna testuale.
   La composizione fotografica resta invariata.
   ========================================================= */

@media (min-width: 1051px) {
  .mm-wedding-gallery__layout {
    grid-template-columns: 220px minmax(0, 1fr) !important;
    gap: 42px !important;
  }

  .mm-wedding-gallery__aside h2 {
    font-size: 42px !important;
    line-height: 1 !important;
  }

  .mm-wedding-gallery__aside p {
    margin-bottom: 28px !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .mm-wedding-gallery__categories li {
    padding: 10px 0 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    letter-spacing: .055em !important;
  }
}

@media (min-width: 761px) and (max-width: 1050px) {
  .mm-wedding-gallery__layout {
    grid-template-columns: 200px minmax(0, 1fr) !important;
    gap: 34px !important;
  }

  .mm-wedding-gallery__aside h2 {
    font-size: 40px !important;
  }

  .mm-wedding-gallery__aside p {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .mm-wedding-gallery__categories li {
    padding: 9px 0 !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 760px) {
  .mm-wedding-gallery__aside h2 {
    font-size: 34px !important;
  }

  .mm-wedding-gallery__aside p {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .mm-wedding-gallery__categories li {
    padding: 10px 0 !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }
}


/* =========================================================
   v0.8.5 — MENU MOBILE / HERO DETTAGLIO
   - pulsanti apertura e chiusura coerenti con la palette
   - contenuto della hero matrimonio ancorato correttamente in basso
   ========================================================= */

/* =========================================================
   v0.8.4 — HEADER / BACKEND PAGINE
   - banda antracite semitrasparente globale dietro logo e menu
   - nessuna modifica alla geometria dell'header
   - colonna ORDINE nel backend gestita da functions.php
   ========================================================= */
