/*
Theme Name: Mediagroup Editoriale
Theme URI: https://mediagroup.srl
Author: Mediagroup
Description: Tema a blocchi per il sito-vetrina Mediagroup, con homepage, immagini, menu e sezioni modificabili da WordPress.
Version: 1.9.10
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: mediagroup-editoriale
*/
/* Mediagroup 1.4 — stylesheet consolidato. Nessuna sovrapposizione di regole V1.1/V1.2/V1.3. */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:clip}
body{overflow-wrap:break-word}
.wp-site-blocks,.wp-block-post-content{max-width:100%;overflow-x:clip}
.wp-block-image img{display:block;max-width:100%;height:auto}
.wp-block-navigation__responsive-container-open{min-width:44px;min-height:44px;align-items:center;justify-content:center}
.wp-block-navigation__responsive-container.is-menu-open{padding:24px}
.wp-block-button__link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.mg-small-label{font-size:.72rem;font-family:Arial,Helvetica,sans-serif;letter-spacing:.14em;line-height:1.35;font-weight:700;text-transform:uppercase}
.mg-card-link{font-size:.76rem!important;font-family:Arial,Helvetica,sans-serif;letter-spacing:.055em;font-weight:700;margin-top:13px!important}
.mg-card-link a{color:var(--wp--preset--color--contrast,#171717);text-decoration:none}
.mg-card-link a:hover,.mg-card-link a:focus-visible{text-decoration:underline}
/* Hero: fotografia originale a destra, testo nero su gradiente bianco a sinistra. */
.wp-block-group.mg-hero{position:relative!important;display:flex;align-items:center;min-height:clamp(440px,43vw,590px);width:100%;max-width:none!important;margin:0!important;padding:48px max(32px,calc((100vw - 1280px)/2));isolation:isolate;overflow:hidden;background:var(--wp--preset--color--base,#fff)}
.mg-hero>.wp-block-image.mg-hero-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none!important;margin:0!important;z-index:-2}
.mg-hero-photo img{width:100%;height:100%!important;object-fit:cover}

.mg-hero .mg-hero-copy{position:relative;flex:0 1 550px;max-width:550px;width:50%;margin:0!important;padding:0!important}
.mg-hero .mg-small-label{margin-bottom:24px;color:#444}
.mg-hero h1.mg-hero-title{max-width:11.8ch;margin:0 0 25px;color:#181818;font-family:Georgia,'Times New Roman',serif;line-height:1.04;letter-spacing:-.035em;font-weight:400;text-wrap:balance}
.mg-hero .mg-hero-description{max-width:44ch;color:#252525;line-height:1.52}
.mg-hero .wp-block-buttons{margin-top:25px}
.mg-hero .wp-block-button__link{background:var(--wp--preset--color--accent,#e22329)!important;color:#fff!important;border-radius:0!important;font-size:.85rem;font-weight:700}
.mg-hero::before{position:absolute;inset:0;z-index:-1;content:"";pointer-events:none;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 20%,rgba(255,255,255,.91) 34%,rgba(255,255,255,.56) 49%,rgba(255,255,255,.09) 69%,transparent 82%)}
/* Sezioni contenuto */
.wp-block-group.mg-section{max-width:none!important;margin:0!important;padding:64px max(24px,calc((100vw - 1280px)/2))!important}
.mg-section>.mg-section-content,.mg-section>.mg-story-columns{width:100%;max-width:1280px!important;margin:0 auto!important}
.mg-section h2{font-size:clamp(1.75rem,2.55vw,2.55rem)!important;font-weight:400!important;line-height:1.16!important;margin:15px 0 36px!important}
.mg-section .mg-small-label{color:#191919;margin:0!important}
.mg-services-grid,.mg-projects-grid{display:grid!important;gap:clamp(16px,1.75vw,28px)!important;margin:0!important;align-items:start}
.mg-services-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.mg-projects-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.mg-services-grid>.wp-block-column,.mg-projects-grid>.wp-block-column{min-width:0!important;flex-basis:auto!important;margin:0!important;width:auto!important}
.mg-services-grid .wp-block-image,.mg-projects-grid .wp-block-image{margin:0 0 9px!important}
.mg-services-grid img,.mg-projects-grid img{width:100%!important;height:auto!important;aspect-ratio:1.6;object-fit:cover}
.mg-services-grid h3{font-size:clamp(1.17rem,1.58vw,1.57rem)!important;line-height:1.17!important;margin:6px 0!important}
.mg-projects-grid h3{font-size:clamp(1.05rem,1.2vw,1.27rem)!important;line-height:1.24!important;margin:7px 0 3px!important}
.mg-services-grid p:not(.mg-card-link),.mg-projects-grid p:not(.mg-card-link){font-size:clamp(.95rem,1vw,1.04rem)!important;line-height:1.45;margin:0 0 5px!important}
.mg-projects-grid p.mg-card-meta{font-size:.87rem!important;color:var(--wp--preset--color--muted,#626262)}
.mg-story{padding-top:38px!important;padding-bottom:70px!important}
.mg-story-columns{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(26px,3vw,54px)!important;align-items:center}
.mg-story-columns>.wp-block-column{min-width:0;flex:initial!important;width:auto!important;flex-basis:auto!important}
.mg-story-columns .wp-block-image{margin:0!important}
.mg-story-columns img{display:block;width:100%;aspect-ratio:1.54;object-fit:cover}
.mg-story-columns h2{margin:16px 0 20px!important}
.mg-story-columns p{line-height:1.6}
.mg-story-columns .wp-block-buttons{margin-top:20px}
.mg-projects{padding-top:56px!important;padding-bottom:70px!important}
.mg-projects .mg-section-content>.mg-card-link{margin-top:28px!important}
/* Continuazione del percorso professionale: ogni elemento resta un blocco nativo modificabile. */
.wp-block-group.mg-bridge{position:relative!important;max-width:none!important;display:flex;min-height:315px;align-items:center;overflow:hidden;isolation:isolate;padding:45px max(24px,calc((100vw - 1280px)/2));background:linear-gradient(115deg,#141414 0%,#262626 58%,#0e1520 100%)}
.mg-bridge>.wp-block-image.mg-bridge-photo{position:absolute;inset:0;width:100%;height:100%;margin:0!important;max-width:none!important;z-index:-2}
.mg-bridge-photo img{width:100%;height:100%!important;object-fit:cover;object-position:center}
.mg-bridge::before{position:absolute;inset:0;content:'';background:rgba(0,0,0,.72);z-index:-1}
.mg-bridge .mg-bridge-copy{margin:0!important;max-width:930px!important;color:#fff!important}
.mg-bridge :is(.mg-small-label,h2,p){color:#fff!important}
.mg-bridge h2{font-size:clamp(1.8rem,2.65vw,2.7rem)!important;line-height:1.14!important;margin:14px 0!important}
.mg-bridge p{max-width:72ch;line-height:1.55}
.mg-bridge .wp-block-buttons{margin-top:20px}
.mg-bridge .wp-block-button__link{color:#fff!important;border:2px solid #fff!important;background:transparent!important}
/* Stili editor: la stessa resa front-end è condivisa con editor di pagina e del sito. */
.editor-styles-wrapper .mg-hero{min-height:510px}
@media(min-width:781px) and (max-width:1150px){
 .mg-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mg-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mg-hero .mg-hero-copy{width:55%;max-width:490px!important}

}
@media(max-width:780px){
 .wp-block-group.mg-hero{padding:38px 26px;min-height:460px}
 
 
 .mg-hero::before{background:linear-gradient(90deg,rgba(255,255,255,.99),rgba(255,255,255,.95) 35%,rgba(255,255,255,.80) 60%,rgba(255,255,255,.42))}
 .mg-hero .mg-hero-copy{max-width:78%!important;width:78%}

 .wp-block-group.mg-section{padding:48px 25px!important}
 .mg-services-grid,.mg-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px!important}
 .mg-story-columns{grid-template-columns:1fr!important;gap:24px!important}
 .wp-block-group.mg-bridge{padding:42px 25px}
}
@media(max-width:540px){
 .wp-block-group.mg-hero{min-height:435px;padding:30px 20px}
 
 
 .mg-hero::before{background:linear-gradient(90deg,rgba(255,255,255,.99),rgba(255,255,255,.97) 38%,rgba(255,255,255,.86) 72%,rgba(255,255,255,.54))}
 .mg-hero .mg-hero-copy{width:100%;max-width:100%!important}
 .mg-hero h1.mg-hero-title{max-width:12ch;margin-bottom:18px}
 .mg-hero .mg-small-label{margin-bottom:15px}
 .mg-hero .mg-hero-description{max-width:32ch;margin-bottom:24px}
 .mg-services-grid,.mg-projects-grid{grid-template-columns:1fr!important;gap:28px!important}
 .mg-services-grid img,.mg-projects-grid img{aspect-ratio:1.72}
 .mg-story-columns{gap:20px!important}
 .wp-block-group.mg-bridge{padding:38px 20px;min-height:300px}
 .mg-bridge h2{font-size:1.75rem!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Approved MediaGroup logo in editable Site Logo block. */
.wp-block-site-logo img { width: min(240px, 52vw); max-width: 100%; height: auto; object-fit: contain; }
@media (max-width: 600px) { .wp-block-site-logo img { width: min(190px, 52vw); } }

/* V1.6 — migliorie concordate: contenitori più ampi, schede mobile affiancate e sezione personale fotografica. */
.wp-block-post-content > .alignfull.mg-section, .wp-block-post-content > .alignfull.mg-bridge {width:100%;max-width:none!important;}
.mg-section .mg-section-content > .wp-block-columns {width:100%;max-width:none!important;}
.mg-services-grid,.mg-projects-grid {width:100%!important;max-width:none!important;}
.mg-services-grid > .wp-block-column,.mg-projects-grid > .wp-block-column {width:100%!important;}
.mg-bridge-photo {pointer-events:none;}
.mg-bridge-photo img {filter:grayscale(1);}
/* Pagine interne: stessa gerarchia editoriale, nessun contenuto codificato in CSS. */
.wp-block-post-content .mg-services-grid, .wp-block-post-content .mg-projects-grid,.wp-block-post-content .mg-story-columns {width:100%;max-width:none!important;}
.wp-block-post-content > .mg-services-grid, .wp-block-post-content > .mg-projects-grid {padding:10px 0 24px;}
@media (max-width:540px) {
 .mg-services-grid > .wp-block-column,.mg-projects-grid > .wp-block-column {display:grid!important;grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:0 14px!important;align-items:start;}
 .mg-services-grid > .wp-block-column > .wp-block-image,.mg-projects-grid > .wp-block-column > .wp-block-image {grid-column:1;grid-row:1 / span 4;margin:0!important;}
 .mg-services-grid > .wp-block-column > :not(.wp-block-image),.mg-projects-grid > .wp-block-column > :not(.wp-block-image) {grid-column:2;min-width:0;}
 .mg-services-grid .wp-block-image img,.mg-projects-grid .wp-block-image img {aspect-ratio:1/1.13;object-fit:cover;}
 .mg-services-grid h3,.mg-projects-grid h3 {font-size:1.15rem!important;}
 .mg-services-grid p:not(.mg-card-link),.mg-projects-grid p:not(.mg-card-link) {font-size:.9rem!important;}
 .mg-services-grid,.mg-projects-grid {gap:24px!important;}
 .mg-hero::before{background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.93) 35%,rgba(255,255,255,.65) 65%,rgba(255,255,255,.25) 100%)}
}

/* V1.7 — pagine interne: geometria approvata, senza modificare i contenuti salvati.
   Selettori limitati alle pagine (homepage esclusa); griglie basate sui blocchi
   Columns standard, le colonne si possono duplicare/eliminare in Gutenberg. */
body.page:not(.home) main.wp-block-group:has(> .wp-block-post-title) {
  width:calc(100% - 48px)!important;
  max-width:1280px!important;
  margin-inline:auto!important;
  padding:40px 0 55px!important;
}
body.page:not(.home) main.wp-block-group > .wp-block-post-title {
  width:100%!important; max-width:none!important;
  margin:0 0 19px!important; padding:0!important;
  text-align:left!important;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2rem,2.6vw,2.65rem)!important;
  font-weight:400!important; line-height:1.14!important;
}
body.page:not(.home) main.wp-block-group > .wp-block-spacer {display:none!important}
body.page:not(.home) main.wp-block-group > .wp-block-post-content {
  width:100%!important; max-width:none!important;
  margin:0!important; padding:0!important;
}
body.page:not(.home) .wp-block-post-content > :where(p,h2,h3,div,figure,ul,.wp-block-columns) {
  max-width:100%!important;
}
body.page:not(.home) .wp-block-post-content > .mg-small-label {
  margin:0 0 10px!important;
}
body.page:not(.home) .wp-block-post-content > p:not(.mg-small-label) {
  margin:0 0 15px!important;
  line-height:1.5!important;
}
body.page:not(.home) .wp-block-post-content > h2 {
  margin:0 0 12px!important;
  font-size:clamp(1.55rem,2vw,2rem)!important;
}
body.page:not(.home) .wp-block-post-content > .wp-block-columns {
  margin:14px 0 0!important;
  gap:clamp(16px,1.5vw,22px)!important;
  align-items:start!important;
}
body.page:not(.home) .wp-block-post-content .mg-services-grid,
body.page:not(.home) .wp-block-post-content .mg-projects-grid {
  display:grid!important; width:100%!important; max-width:none!important;
  padding:0!important; row-gap:26px!important;
}
body.page:not(.home) .wp-block-post-content .mg-services-grid {grid-template-columns:repeat(4,minmax(0,1fr))!important}
body.page:not(.home) .wp-block-post-content .mg-projects-grid {grid-template-columns:repeat(5,minmax(0,1fr))!important}
body.page:not(.home) .wp-block-post-content :is(.mg-services-grid,.mg-projects-grid) > .wp-block-column {
  min-width:0!important;width:auto!important;margin:0!important;flex:none!important;
}
body.page:not(.home) .wp-block-post-content :is(.mg-services-grid,.mg-projects-grid) .wp-block-image {
  margin:0 0 8px!important;
}
body.page:not(.home) .wp-block-post-content :is(.mg-services-grid,.mg-projects-grid) img {
  width:100%!important; height:auto!important;
  aspect-ratio:1.75!important; object-fit:cover!important;
}
body.page:not(.home) .wp-block-post-content :is(.mg-services-grid,.mg-projects-grid) h3 {
  margin:4px 0 5px!important;font-size:clamp(1.05rem,1.35vw,1.32rem)!important;
}
body.page:not(.home) .wp-block-post-content :is(.mg-services-grid,.mg-projects-grid) p {
  margin:0 0 7px!important;line-height:1.4!important;
}
body.page:not(.home) .wp-block-post-content .mg-story-columns {
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(24px,3vw,40px)!important;align-items:start!important;
}
body.page:not(.home) .wp-block-post-content .mg-story-columns > .wp-block-column {
  min-width:0!important;flex:none!important;width:auto!important;
}
body.page:not(.home) .wp-block-post-content .mg-story-columns img {
  aspect-ratio:1.65;object-fit:cover;
}
body.page:not(.home) .wp-block-post-content .mg-story-columns h2 {
  margin:8px 0 13px!important;
  font-size:clamp(1.5rem,2vw,2rem)!important;
}
body.page:not(.home) .wp-block-post-content .mg-story-columns p {margin:0 0 13px!important}
/* Contatti: misure compatte, senza inventare contenuti o form. */
body.page:not(.home) .wp-block-post-content > p a {overflow-wrap:anywhere}
@media(max-width:1100px) {
  body.page:not(.home) .wp-block-post-content .mg-projects-grid {grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.page:not(.home) .wp-block-post-content .mg-services-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px) {
  body.page:not(.home) main.wp-block-group:has(> .wp-block-post-title) {
    width:calc(100% - 40px)!important;padding:28px 0 40px!important;
  }
  body.page:not(.home) main.wp-block-group > .wp-block-post-title {margin-bottom:16px!important}
  body.page:not(.home) .wp-block-post-content :is(.mg-services-grid,.mg-projects-grid) {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 14px!important;
  }
  body.page:not(.home) .wp-block-post-content .mg-story-columns {grid-template-columns:1fr!important;gap:18px!important}
  body.page:not(.home) .wp-block-post-content :is(.mg-services-grid,.mg-projects-grid) > .wp-block-column {
    display:block!important;
  }
}
@media(max-width:420px) {
  body.page:not(.home) .wp-block-post-content :is(.mg-services-grid,.mg-projects-grid) {grid-template-columns:1fr!important;gap:17px!important}
  body.page:not(.home) .wp-block-post-content :is(.mg-services-grid,.mg-projects-grid) > .wp-block-column {
    display:grid!important;grid-template-columns:minmax(0,36%) minmax(0,1fr)!important;
    column-gap:13px!important;align-items:start!important;
  }
  body.page:not(.home) .wp-block-post-content :is(.mg-services-grid,.mg-projects-grid) > .wp-block-column > .wp-block-image {
    grid-column:1;grid-row:1 / span 4;margin:0!important;
  }
  body.page:not(.home) .wp-block-post-content :is(.mg-services-grid,.mg-projects-grid) > .wp-block-column > :not(.wp-block-image) {grid-column:2}
  body.page:not(.home) .wp-block-post-content :is(.mg-services-grid,.mg-projects-grid) img {aspect-ratio:1/1.1!important}
}

/* V1.8 — griglie adattive: il numero delle schede non e' codificato nel layout.
   I contenuti rimangono colonne Gutenberg modificabili/duplicabili/eliminabili.
   Non applicare alla sezione Storia, che richiede due colonne editoriali fisse. */
.mg-services-grid,
.mg-projects-grid,
body.page:not(.home) .wp-block-post-content .mg-services-grid,
body.page:not(.home) .wp-block-post-content .mg-projects-grid {
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr))!important;
  column-gap:clamp(16px,1.5vw,22px)!important;
  align-items:start!important;
}
/* La larghezza del singolo blocco Colonna viene governata dalla griglia,
   non dalla quota percentuale salvata eventualmente da Gutenberg. */
.mg-services-grid > .wp-block-column,
.mg-projects-grid > .wp-block-column,
body.page:not(.home) .wp-block-post-content .mg-services-grid > .wp-block-column,
body.page:not(.home) .wp-block-post-content .mg-projects-grid > .wp-block-column {
  min-width:0!important;
  width:auto!important;
  flex-basis:auto!important;
  max-width:none!important;
}
/* Conserva la disposizione immagine/testo gia' approvata sui telefoni. */
@media(max-width:540px) {
  .mg-services-grid,.mg-projects-grid,
  body.page:not(.home) .wp-block-post-content .mg-services-grid,
  body.page:not(.home) .wp-block-post-content .mg-projects-grid {
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* V1.9 — Gallery masonry, indipendente da Servizi/Produzioni.
   Blocchi immagini e video aggiungibili/rimuovibili dall'editor Gutenberg.
   Proporzioni originali rispettate, senza ritagli artificiali. */
body.page .wp-block-post-content .mg-gallery-intro{margin:0 0 20px!important}
body.page .wp-block-post-content .mg-gallery-masonry{
  display:block!important;columns:3 250px;column-gap:16px;
  width:100%;max-width:none!important;margin:0!important;
}
body.page .wp-block-post-content .mg-gallery-masonry > :is(.wp-block-image,.wp-block-video){
  display:inline-block;width:100%;max-width:100%;break-inside:avoid;
  margin:0 0 16px!important;vertical-align:top;
}
body.page .wp-block-post-content .mg-gallery-masonry img,
body.page .wp-block-post-content .mg-gallery-masonry video{
  display:block;width:100%;height:auto!important;max-width:100%;object-fit:contain;
}
body.page .wp-block-post-content .mg-gallery-masonry .wp-block-image a{display:block}
@media(max-width:780px){body.page .wp-block-post-content .mg-gallery-masonry{columns:2 200px;column-gap:12px}}
@media(max-width:470px){body.page .wp-block-post-content .mg-gallery-masonry{columns:1;column-gap:0}}


/* V1.9.2 — Overlay delle didascalie native Gutenberg, solo Gallery.
   Facoltativo: senza figcaption, nessuna fascia. Titolo in <strong>,
   descrizione libera (eventualmente su una seconda riga) nella stessa didascalia.
   Mantiene foto/video, lightbox link e controlli video nativi. */
body.page .wp-block-post-content .mg-gallery-masonry > :is(.wp-block-image,.wp-block-video){
  position:relative;overflow:hidden;
}
body.page .wp-block-post-content .mg-gallery-masonry > :is(.wp-block-image,.wp-block-video) > figcaption{
  position:absolute;bottom:0;left:0;right:0;z-index:2;
  margin:0!important;padding:30px 14px 13px!important;
  border:0;background:linear-gradient(transparent,rgba(0,0,0,.82));
  color:#fff!important;font:400 13px/1.45 Arial,Helvetica,sans-serif!important;
  text-align:left!important;opacity:0;visibility:hidden;
  transform:translateY(4px);transition:opacity .2s ease,transform .2s ease,visibility .2s;
  pointer-events:none;overflow-wrap:anywhere;
}
body.page .wp-block-post-content .mg-gallery-masonry > :is(.wp-block-image,.wp-block-video) > figcaption strong{
  display:block;color:#fff;font-weight:700;font-size:15px;line-height:1.35;
}
@media(hover:hover) and (pointer:fine){
  body.page .wp-block-post-content .mg-gallery-masonry > :is(.wp-block-image,.wp-block-video):hover > figcaption,
  body.page .wp-block-post-content .mg-gallery-masonry > :is(.wp-block-image,.wp-block-video):focus-within > figcaption{
    opacity:1;visibility:visible;transform:none;
  }
}
@media(hover:none),(pointer:coarse){
  body.page .wp-block-post-content .mg-gallery-masonry > :is(.wp-block-image,.wp-block-video) > figcaption{
    opacity:1;visibility:visible;transform:none;
    padding:9px 12px!important;background:rgba(0,0,0,.73);
    font-size:12px!important;
  }
  body.page .wp-block-post-content .mg-gallery-masonry > :is(.wp-block-image,.wp-block-video) > figcaption strong{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  body.page .wp-block-post-content .mg-gallery-masonry > :is(.wp-block-image,.wp-block-video) > figcaption{transition:none}
}
/* Nell'editor le didascalie devono rimanere sempre visibili e selezionabili. */
.editor-styles-wrapper .mg-gallery-masonry > :is(.wp-block-image,.wp-block-video) > figcaption{
  position:static!important;opacity:1!important;visibility:visible!important;
  transform:none!important;pointer-events:auto!important;
  background:none!important;color:inherit!important;padding:6px 0!important;
}

/* V1.9.3 – Gallery lightbox only; the masonry layout and overlay remain unchanged. */
body.page .mg-gallery-masonry .mg-gallery-video-open{position:absolute;inset:0;z-index:3;border:0;background:transparent;cursor:zoom-in;color:transparent;font-size:0}
body.page .mg-gallery-masonry .wp-block-video:has(.mg-gallery-video-open):hover .mg-gallery-video-open{background:rgba(0,0,0,.05)}
body.mg-lightbox-open{overflow:hidden}
.mg-lb{position:fixed;inset:0;z-index:100000;background:rgba(7,9,13,.96);color:#fff;display:flex;flex-direction:column;align-items:stretch;padding:18px max(15px,calc((100vw - 1180px)/2));overflow:auto;font-family:Arial,Helvetica,sans-serif}
.mg-lb[hidden]{display:none!important}
.mg-lb-top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:38px}
.mg-lb-title{font-size:19px;font-weight:700;margin:0;line-height:1.3}
.mg-lb-close,.mg-lb-nav{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;cursor:pointer;padding:8px 14px;font-size:18px}
.mg-lb-media{display:flex;align-items:center;justify-content:center;min-height:160px;margin-top:12px;flex:1;max-height:70vh}
.mg-lb-media img,.mg-lb-media video{max-width:100%;max-height:70vh;width:auto;height:auto;object-fit:contain}
.mg-lb-media video{width:100%;max-width:1100px}
.mg-lb-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0}
.mg-lb-count{font-size:13px;color:#ddd}
.mg-lb-details{border-top:1px solid rgba(255,255,255,.25);padding:12px 0 8px;font-size:15px;line-height:1.55}
.mg-lb-details:empty{display:none}
.mg-lb-details p{margin:4px 0;color:#fff}
.mg-lb-details strong{font-weight:700}
@media(max-width:600px){.mg-lb{padding:12px}.mg-lb-title{font-size:16px}.mg-lb-media,.mg-lb-media img,.mg-lb-media video{max-height:57vh}.mg-lb-details{font-size:13px}}

/* V1.9.4 – Approved light editorial gallery lightbox; presentation only. */
.mg-lb{
 background:rgba(24,27,31,.76);
 color:#171717;
 padding:clamp(14px,2.5vh,26px) max(18px,calc((100vw - 1180px)/2));
 justify-content:flex-start;
}
.mg-lb::before{
 content:"";position:absolute;z-index:-1;
 top:clamp(8px,1.5vh,18px);bottom:clamp(8px,1.5vh,18px);
 left:max(9px,calc((100vw - 1210px)/2));right:max(9px,calc((100vw - 1210px)/2));
 background:#f2f2f2;border:1px solid #d9d9d9;
 border-radius:8px;box-shadow:0 16px 44px rgba(0,0,0,.18);
}
.mg-lb-top{min-height:38px}
.mg-lb-title{color:#171717;font-family:Georgia,serif;font-size:clamp(18px,2vw,24px)}
.mg-lb-close,.mg-lb-nav{
 background:#fff;border:1px solid #d2d2d2;color:#202020;
 border-radius:50%;box-shadow:0 1px 5px rgba(0,0,0,.10);
 width:42px;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;
}
.mg-lb-close:hover,.mg-lb-nav:hover{background:#eaeaea}
.mg-lb-close:focus-visible,.mg-lb-nav:focus-visible{outline:2px solid #c9313f;outline-offset:2px}
.mg-lb-media{margin-top:10px;max-height:64vh;min-height:100px;flex:0 1 auto}
.mg-lb-media img,.mg-lb-media video{
 max-height:64vh;max-width:100%;object-fit:contain;
 border:1px solid #d4d4d4;
 box-shadow:0 3px 11px rgba(0,0,0,.10);background:#fff;
}
.mg-lb-bottom{margin:14px 0 8px}
.mg-lb-count{color:#555}
.mg-lb-details{border-top:1px solid #d0d0d0;padding:13px 0 14px;color:#171717}
.mg-lb-details p{color:#222;margin:6px 0}
.mg-lb-details strong{color:#191919}
@media(max-width:600px){
 .mg-lb{padding:12px 18px}
 .mg-lb::before{left:6px;right:6px;top:6px;bottom:6px}
 .mg-lb-title{font-size:18px}
 .mg-lb-media,.mg-lb-media img,.mg-lb-media video{max-height:53vh}
 .mg-lb-close,.mg-lb-nav{width:36px;height:36px}
 .mg-lb-details{font-size:13px}
}
/* Keep the light panel above the dimmed scrim and below all modal controls. */
.mg-lb::before{z-index:0;pointer-events:none}
.mg-lb > *{position:relative;z-index:1}

/* V1.9.5 – Lightbox: pannello centrato, dimensioni basate sul contenuto,
   nessuna area descrizioni riservata se vuota; nessun cambiamento alla masonry. */
.mg-lb{
  display:flex;align-items:center;justify-content:center;
  padding:12px!important;overflow:hidden;
}
.mg-lb::before{content:none!important}
.mg-lb-card{
  box-sizing:border-box;position:relative;z-index:1;
  display:flex;flex-direction:column;
  width:min(1180px,100%);max-height:calc(100dvh - 24px);
  padding:clamp(12px,1.35vw,20px);
  background:#f2f2f2;border:1px solid #d9d9d9;
  border-radius:8px;box-shadow:0 16px 44px rgba(0,0,0,.18);
  overflow:hidden;
}
.mg-lb-card > *{position:relative;min-width:0}
.mg-lb-top{flex:none;min-height:32px}
.mg-lb-title{font:600 clamp(16px,1.55vw,20px)/1.32 Arial,Helvetica,sans-serif!important}
.mg-lb-title:empty{display:none}
.mg-lb-media{
  flex:0 1 auto;min-height:0;max-height:none;
  margin:8px 0 0;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.mg-lb-media img,.mg-lb-media video{
  display:block;max-width:100%;width:auto;height:auto;
  max-height:calc(100dvh - 165px);
  object-fit:contain;min-height:0;
}
.mg-lb-media video{width:auto;max-width:100%;aspect-ratio:16/9}
.mg-lb-bottom{flex:none;margin:10px 0 5px}
.mg-lb-details{flex:0 1 auto;min-height:0;overflow-y:auto;max-height:30dvh;padding:11px 0 2px}
.mg-lb-details:empty{display:none!important}
/* Se il testo occupa spazio, la fotografia ha un limite inferiore;
   conserva sempre le proporzioni e non viene mai coperta dai dettagli. */
.mg-lb-card:has(.mg-lb-details:not(:empty)) .mg-lb-media img,
.mg-lb-card:has(.mg-lb-details:not(:empty)) .mg-lb-media video{
  max-height:calc(70dvh - 100px);
}
@media(max-width:600px){
 .mg-lb{padding:6px!important}
 .mg-lb-card{max-height:calc(100dvh - 12px);padding:10px}
 .mg-lb-title{font-size:17px!important}
 .mg-lb-media img,.mg-lb-media video{max-height:calc(100dvh - 148px)}
 .mg-lb-card:has(.mg-lb-details:not(:empty)) .mg-lb-media img,
 .mg-lb-card:has(.mg-lb-details:not(:empty)) .mg-lb-media video{max-height:calc(68dvh - 85px)}
 .mg-lb-details{max-height:32dvh}
}


/* V1.9.6 — esclusivo per «I nostri lavori». Servizi e altre pagine invariati. */
body.mg-works-page-196 .wp-block-post-content > .wp-block-group:has(> .wp-block-columns) {
 width:100%!important; max-width:1040px!important;
 margin:0 auto 24px!important; padding:0!important;
}
body.mg-works-page-196 .wp-block-post-content > .wp-block-group:has(> .wp-block-columns) > .wp-block-columns,
body.mg-works-page-196 .wp-block-post-content > .wp-block-columns {
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:26px!important;width:100%!important;max-width:1040px!important;
 margin:0 auto 24px!important;padding:0!important;
}
body.mg-works-page-196 .wp-block-post-content > .wp-block-group > .wp-block-columns > .wp-block-column,
body.mg-works-page-196 .wp-block-post-content > .wp-block-columns > .wp-block-column {
 min-width:0!important;flex:initial!important;width:auto!important;flex-basis:auto!important;
 margin:0!important;padding:0!important;
}
body.mg-works-page-196 .wp-block-post-content > .wp-block-group > .wp-block-columns .wp-block-image,
body.mg-works-page-196 .wp-block-post-content > .wp-block-columns .wp-block-image {margin:0 0 10px!important;}
body.mg-works-page-196 .wp-block-post-content > .wp-block-group > .wp-block-columns .wp-block-image img,
body.mg-works-page-196 .wp-block-post-content > .wp-block-columns .wp-block-image img {
 display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;
}
body.mg-works-page-196 .wp-block-post-content > .wp-block-group > .wp-block-columns h3,
body.mg-works-page-196 .wp-block-post-content > .wp-block-columns h3 {
 font-size:clamp(1.18rem,1.7vw,1.5rem)!important;line-height:1.25!important;margin:0 0 5px!important;
}
body.mg-works-page-196 .wp-block-post-content > .wp-block-group > .wp-block-columns p,
body.mg-works-page-196 .wp-block-post-content > .wp-block-columns p {
 font-size:0.94rem!important;line-height:1.45!important;margin:0 0 8px!important;
}
body.mg-works-page-196 .wp-block-post-content > .wp-block-group > .wp-block-columns .mg-card-link,
body.mg-works-page-196 .wp-block-post-content > .wp-block-columns .mg-card-link {margin-top:8px!important;}
body.mg-works-page-196 .mg-works-archive-196 {
 max-width:1100px;margin:64px auto 0;padding:38px 0 0;border-top:1px solid #dedede;
}
body.mg-works-page-196 .mg-works-archive-196 h2 {font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(1.6rem,2.2vw,2.1rem);margin:0 0 22px;}
@media(max-width:700px){
 body.mg-works-page-196 .wp-block-post-content > .wp-block-group > .wp-block-columns,
 body.mg-works-page-196 .wp-block-post-content > .wp-block-columns {grid-template-columns:1fr!important;gap:22px!important;}
 body.mg-works-page-196 .mg-works-archive-196 {margin-top:36px;padding-top:26px;}
}



/* MediaGroup v1.9.8 — only the hero; no other page, Gallery or grid selectors. */
.wp-block-group.mg-hero{min-height:var(--mg-hero-height,clamp(440px,43vw,590px));}
.mg-hero-photo img{object-position:var(--mg-hero-image-x,74%) var(--mg-hero-image-y,50%);}
.mg-hero .mg-hero-copy{transform:translate(var(--mg-hero-text-x,0px),var(--mg-hero-text-y,0px));max-width:var(--mg-hero-copy-width,550px);}
/* Gutenberg user font sizes take precedence; no !important and do not style manually-sized elements. */
.mg-hero .mg-small-label:not([style*="font-size"]):not([class*="-font-size" i]){font-size:var(--mg-hero-label-size,.72rem);}
.mg-hero :is(h1,h2,h3,h4,h5,h6).mg-hero-title:not([style*="font-size"]):not([class*="-font-size" i]){font-size:var(--mg-hero-title-size,clamp(2.7rem,4.6vw,4.95rem));}
.mg-hero .mg-hero-description:not([style*="font-size"]):not([class*="-font-size" i]){font-size:var(--mg-hero-description-size,clamp(1rem,1.22vw,1.15rem));}
.mg-hero .wp-block-button__link:not([style*="font-size"]):not([class*="-font-size" i]){font-size:var(--mg-hero-button-size,.85rem);}
body.mg-hero-desktop-fade-custom .mg-hero::before{
 background:linear-gradient(var(--mg-hero-fade-direction,90deg),
  rgba(255,255,255,var(--mg-hero-fade-opacity,1)) var(--mg-hero-fade-start,0%),
  rgba(255,255,255,calc(var(--mg-hero-fade-opacity,1) * .93)) calc(var(--mg-hero-fade-start,0%) + (var(--mg-hero-fade-end,82%) - var(--mg-hero-fade-start,0%)) * .40),
  rgba(255,255,255,calc(var(--mg-hero-fade-opacity,1) * .56)) calc(var(--mg-hero-fade-start,0%) + (var(--mg-hero-fade-end,82%) - var(--mg-hero-fade-start,0%)) * .66),
  transparent var(--mg-hero-fade-end,82%));
}
@media(max-width:767px){
 .wp-block-group.mg-hero{min-height:var(--mg-hero-mobile-height,670px);display:flex;align-items:flex-end;padding:45px 20px var(--mg-hero-mobile-bottom-space,18px);}
 .mg-hero>.wp-block-image.mg-hero-photo{height:100%;}
 .mg-hero-photo img{object-position:var(--mg-hero-mobile-image-x,65%) var(--mg-hero-mobile-image-y,37%);}
 .mg-hero .mg-hero-copy{position:relative;width:var(--mg-hero-mobile-copy-width,100%);max-width:100%!important;flex:0 0 auto;transform:translate(var(--mg-hero-mobile-text-x,0px),var(--mg-hero-mobile-text-y,0px));}
 .mg-hero .mg-small-label:not([style*="font-size"]):not([class*="-font-size" i]){font-size:var(--mg-hero-mobile-label-size,.72rem);}
 .mg-hero :is(h1,h2,h3,h4,h5,h6).mg-hero-title:not([style*="font-size"]):not([class*="-font-size" i]){font-size:var(--mg-hero-mobile-title-size,clamp(2.25rem,9vw,3rem));}
 .mg-hero .mg-hero-description:not([style*="font-size"]):not([class*="-font-size" i]){font-size:var(--mg-hero-mobile-description-size,.96rem);}
 .mg-hero .wp-block-button__link:not([style*="font-size"]):not([class*="-font-size" i]){font-size:var(--mg-hero-mobile-button-size,.85rem);}
 body.mg-hero-mobile-fade-custom .mg-hero::before{
  background:linear-gradient(var(--mg-hero-mobile-fade-direction,0deg),
   rgba(255,255,255,var(--mg-hero-mobile-fade-opacity,.99)) var(--mg-hero-mobile-fade-start,0%),
   rgba(255,255,255,calc(var(--mg-hero-mobile-fade-opacity,.99) * .84)) calc(var(--mg-hero-mobile-fade-start,0%) + (var(--mg-hero-mobile-fade-end,75%) - var(--mg-hero-mobile-fade-start,0%)) * .52),
   transparent var(--mg-hero-mobile-fade-end,75%));
 }
 body.mg-hero-has-mobile .mg-hero>.mg-hero-photo img{visibility:hidden;}
 body.mg-hero-has-mobile .mg-hero{background-image:var(--mg-hero-mobile-image);background-size:cover;background-position:var(--mg-hero-mobile-image-x,65%) var(--mg-hero-mobile-image-y,37%);}
}

/* v1.9.10 — Il <picture> della hero usa lo stesso ingombro della precedente immagine.
   Non altera posizioni, sfumature, tipografia o layout approvati. */
.mg-hero-photo picture{display:block;width:100%;height:100%;}
/* Landmark semantico homepage: wrapper neutro senza spaziature aggiuntive. */
.wp-site-blocks > .mg-main-landmark{width:100%;max-width:none!important;margin-block:0!important;padding:0!important;}
.mg-main-landmark > .wp-block-post-content{margin-block-start:0;}
