/* Shared by every catalogue page, independently of its page-specific stylesheet. */
html body .price-promo-label{position:relative;top:-7px;order:3;display:inline-flex;align-items:center;justify-content:center;height:18px;padding:1px 7px 0;border-radius:999px;background:#21a36a;color:#fff;font-size:9px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
/* Shared course-card motion. */
html body :is(.wr-session,.cg-card,.hm-course,.hm-area,.course-related-card){transition:box-shadow .18s ease,transform .18s ease}
@media(hover:hover) and (pointer:fine){html body :is(.wr-session,.cg-card,.hm-course,.hm-area,.course-related-card):hover{box-shadow:0 18px 40px -34px rgba(0,0,0,.55);transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){html body :is(.wr-session,.cg-card,.hm-course,.hm-area,.course-related-card){transition:none}}
/* End shared course-card motion. */

/* Shared split hero: the Chi siamo geometry is the single source of truth. */
html body .site-hero.site-hero{display:grid!important;grid-template-columns:1.12fr .88fr!important;align-items:stretch!important;gap:0!important;width:min(1380px,calc(100% - 48px))!important;min-height:690px!important;margin:24px auto 0!important;overflow:hidden!important;border-radius:28px!important}
html body .site-hero.site-hero>.site-hero-copy{min-width:0!important;min-height:690px!important;padding:clamp(48px,5.5vw,82px)!important}
html body .site-hero.site-hero>.site-hero-media{position:relative!important;width:100%!important;min-width:0!important;min-height:690px!important;padding:0!important;overflow:hidden!important;border:0!important}
html body .site-hero.site-hero>.site-hero-media>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;object-fit:cover!important}
html body .site-hero.site-hero.cp-no-image{grid-template-columns:1fr!important}
html body .site-hero.site-hero.cp-no-image>.site-hero-copy{width:100%!important}
html body .site-hero.site-hero+section{padding-top:100px!important}
html body .course-hero.site-hero h1>span{display:block!important}
html body .course-hero.site-hero .course-hero-lead{max-width:610px!important;margin:34px 0 0!important;font-size:26px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.025em!important}
html body .course-hero.site-hero .wc-intro{max-width:610px!important;margin:14px 0 0!important;}
html body .course-hero.site-hero .course-hero-features{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px 24px!important;width:100%!important;margin:auto 0 0!important;padding:32px 0 0!important;list-style:none!important}
html body .course-hero.site-hero .course-hero-features li{display:flex!important;align-items:center!important;gap:9px!important;font-size:14px!important;font-weight:700!important;line-height:1.25!important;letter-spacing:.01em!important}
html body .course-hero.site-hero .course-hero-features li::before{content:"";flex:0 0 7px;height:7px;border-radius:50%;background:currentColor;opacity:.9}
html body .hm-hero.site-hero>.site-hero-copy,html body .gift-hero.site-hero>.site-hero-copy{align-items:flex-start!important;}
html body .hm-hero.site-hero>.site-hero-copy>*{margin-left:0!important;margin-right:0!important}
html body .hm-hero.site-hero h1,html body .gift-hero.site-hero h1{margin:0!important;line-height:1.02!important;}
html body .hm-hero.site-hero .hm-lead,html body .gift-hero.site-hero>.site-hero-copy>p:not(.gift-kicker):not(.hm-hero-kicker){max-width:610px!important;margin:34px 0 0!important;font-size:18px!important;line-height:1.65!important;}
html body .hm-hero.site-hero .hm-actions,html body .gift-hero.site-hero .gift-button.white{margin-top:30px!important}
html body .hm-current .hm-method .catalog-hero-link,html body .hm-current .mg-contact,html body .hm-current .hm-attendance-grid .wr-inline-link{transition:color .18s ease,background-color .18s ease,border-color .18s ease!important}
html body .hm-current .hm-venue .wr-button,html body .hm-current .wr-closing .wr-button{transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease!important}
html body .hm-current .hm-area:not(.hm-area-help):is(:hover,:focus-visible){border-color:#181818!important}
html body .hm-current .hm-attendance-grid .wr-inline-link{margin-top:18px!important}
html body .hm-current .hm-venue>div h3,html body .hm-current .hm-venue p,html body .hm-current .hm-venue-transit>span{color:#fff!important}
html body .hm-current .hm-venue-transit strong{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:18px!important;min-width:18px!important;padding:0!important;line-height:1!important;text-align:center!important}
html body .hm-current .hm-method .catalog-hero-link:is(:hover,:focus-visible){border-color:#e60050!important;color:#e60050!important}
html body .hm-current .hm-venue .wr-button:is(:hover,:focus-visible){border-color:#e60050!important;background:#e60050!important;color:#fff!important;transform:translateY(-2px)!important}
html body .hm-current .wr-closing .wr-button:is(:hover,:focus-visible){border-color:#181818!important;background:#181818!important;color:#fff!important;transform:translateY(-2px)!important}
html body .hm-current .mg-contact:is(:hover,:focus-visible){border-color:#181818!important;background:#181818!important;color:#fff!important}
html body .hm-current .hm-attendance-grid article:nth-child(1) .wr-inline-link:is(:hover,:focus-visible){border-color:#62dca2!important;color:#62dca2!important}
html body .hm-current .hm-attendance-grid article:nth-child(2) .wr-inline-link:is(:hover,:focus-visible){border-color:#fff!important;color:#fff!important}
html body .hm-current .hm-attendance-grid article:nth-child(3) .wr-inline-link:is(:hover,:focus-visible){border-color:#e60050!important;color:#e60050!important}
@media(max-width:1000px){html body .site-hero.site-hero{grid-template-columns:1fr 1fr!important}html body .site-hero.site-hero>.site-hero-copy{padding:48px 36px!important}}
@media(max-width:720px){html body .site-hero.site-hero{grid-template-columns:1fr!important;width:calc(100% - 24px)!important;min-height:0!important;margin-top:14px!important;border-radius:20px!important}html body .site-hero.site-hero>.site-hero-copy{min-height:0!important;padding:36px 24px 40px!important}html body .site-hero.site-hero>.site-hero-media{order:-1!important;height:310px!important;min-height:310px!important;aspect-ratio:auto!important}html body .site-hero.site-hero.cp-no-image>.site-hero-copy{padding-top:40px!important}html body .site-hero.site-hero+section{padding-top:62px!important}html body .course-hero.site-hero .course-hero-lead{margin-top:28px!important;font-size:22px!important;line-height:1.28!important}html body .course-hero.site-hero .wc-intro{font-size:17px!important;line-height:1.55!important}html body .course-hero.site-hero .course-hero-features{gap:10px 18px!important;margin-top:38px!important;padding-top:0!important}html body .course-hero.site-hero .course-hero-features li{font-size:13px!important}html body .hm-hero.site-hero .hm-lead,html body .gift-hero.site-hero>.site-hero-copy>p:not(.gift-kicker):not(.hm-hero-kicker){margin-top:28px!important;font-size:17px!important;line-height:1.55!important}html body .hm-hero.site-hero .hm-actions,html body .gift-hero.site-hero .gift-button.white{margin-top:28px!important}}
/* End shared split hero. */

/* menu mobile: "Corsi" uguale alle altre voci (stessa dimensione e linea sotto) */
html body #mg-mobile-menu > details > summary.mg-mobile-courses{font-size:16px !important;border-bottom:1px solid #eee !important}/* etichetta della hero come in home (sfondo bianco trasparente) usata anche nelle altre pagine */
html body .site-hero-copy .hm-hero-kicker{width:auto;align-self:flex-start;background:rgba(255,255,255,.16);border-radius:7px;padding:8px 11px;text-transform:uppercase;letter-spacing:1px;margin:0 0 22px}/* recensioni: testo lungo tagliato a 6 righe con "Leggi tutto" */
.mg-clamp{display:-webkit-box !important;-webkit-box-orient:vertical;line-clamp:6;overflow:hidden}
.hm-review-card .mg-clamp{line-clamp:7}
.mg-clamp.is-open{display:block !important;-webkit-line-clamp:unset;line-clamp:none;overflow:visible}
.mg-readmore{appearance:none;background:none;border:0;padding:0;font:inherit;font-size:14px;font-weight:800;line-height:1.3;color:var(--melograno-brand,#e6004f);text-decoration:underline;text-underline-offset:3px;}
.mg-readmore:hover{color:#181818}
/* home: testo delle recensioni meno in grassetto */
html body .hm-home-reviews .hm-review-card blockquote{font-weight:500 !important}html body .hm-home-reviews .hm-review-card blockquote.mg-clamp,html body .course-student-reviews blockquote.mg-clamp{display:-webkit-box !important}
html body .hm-home-reviews .hm-review-card blockquote.mg-clamp.is-open,html body .course-student-reviews blockquote.mg-clamp.is-open{display:block !important}.mg-clamp{-webkit-line-clamp:7;line-clamp:7}/* "Leggi tutto": più spazio sopra e sotto */
html body blockquote.mg-clamp{margin-bottom:0 !important}
html body .mg-readmore{margin:14px 0 24px !important}html body .mg-readmore{align-self:flex-end !important;text-align:right}
/* niente "rimbalzo" bianco sotto il footer quando su telefono si scorre fino in fondo */
html,body{overscroll-behavior-y:none}
/* footer: colonna "Trova il tuo percorso" con tutte le aree, su due colonne */
/* footer su tablet e telefono: le aree a tutta larghezza, sotto "Il Melograno" e "Ci trovi qui" affiancati */
/* ===== Footer nuovo (proposta 1 · scuro con invito) ===== */
html body footer.mg-footer{display:block;background:#202020;color:#fff;border-radius:28px 28px 0 0;padding:56px 0 24px;overflow:hidden}
@media (max-width:600px){
  html body footer.mg-footer{padding:40px 0 22px;border-radius:24px 24px 0 0}
          }/* ===== Footer stile "Outway": tutto rosso, link in maiuscoletto, nome gigante tagliato in fondo ===== */
html body footer.ow-footer{position:relative;color:#fff;overflow:hidden;}
html body .ow-inner{max-width:1240px;margin:0 auto;padding:68px 32px 0}
html body .ow-top{display:grid;grid-template-columns:1.4fr 1fr 1.15fr 1fr;gap:44px}
html body .ow-title{color:#fff;line-height:1.02;font-weight:700;letter-spacing:-.03em}
html body .ow-line{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1.5px solid rgba(255,255,255,.9);color:#fff;font-weight:600;line-height:1.3;text-decoration:none}
html body .ow-line + .ow-line{margin-top:4px}
html body .ow-line span:last-child{font-size:20px;transition:transform .18s ease}
html body .ow-line:hover span:last-child{transform:translateX(5px)}
html body .ow-note{margin:16px 0 0;font-size:12.5px;line-height:1.55}
html body .ow-col h2{margin:8px 0 20px;color:#fff;line-height:1.4;}
html body .ow-col a{display:block;white-space:nowrap}
html body .ow-col a:hover{color:#181818}
html body .ow-col p{margin:0 0 14px;color:#fff;font-size:14px;line-height:1.55}
html body .ow-legal{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-top:60px;font-size:12.5px;}
html body .ow-legal div{display:flex;gap:20px;flex-wrap:wrap}
html body footer.ow-footer .ow-legal a,html body footer.ow-footer .ow-legal button.wr-cookie-settings{appearance:none !important;background:none !important;border:0 !important;padding:0 !important;min-height:0 !important;font:inherit !important;font-size:12.5px !important;font-weight:400 !important;line-height:1.6 !important;cursor:pointer}
html body footer.ow-footer .ow-legal a:hover,html body footer.ow-footer .ow-legal button.wr-cookie-settings:hover{color:#181818 !important}
html body .ow-mark{position:relative;margin-top:34px;overflow:hidden;pointer-events:none;user-select:none}
html body .ow-mark span{position:absolute;left:50%;transform:translateX(-50%);line-height:.8;font-weight:700;letter-spacing:-.06em;white-space:nowrap}
@media (max-width:980px){
  html body .ow-top{grid-template-columns:1fr 1fr;gap:40px 28px}
  html body .ow-lead{grid-column:1/-1}
  html body .ow-col:nth-of-type(2){order:-1}
}
@media (max-width:600px){
  html body .ow-inner{padding:48px 20px 0}
    html body .ow-top{gap:36px 18px}
  html body .ow-col:nth-of-type(2){grid-column:1/-1}
    html body nav.ow-col[aria-label="Trova il tuo percorso"]{grid-template-columns:1fr 1fr;}
    html body .ow-legal{flex-direction:column;align-items:flex-start;margin-top:44px}
  html body .ow-mark{margin-top:26px}
}@media (max-width:980px){
  html body .ow-top > *{order:3;grid-column:auto}
  html body .ow-top > .ow-lead{order:1;grid-column:1/-1}
  html body .ow-top > nav.ow-col[aria-label="Trova il tuo percorso"]{order:2;grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
  html body .ow-top > nav.ow-col[aria-label="Trova il tuo percorso"] h2{grid-column:1/-1}
}html body .ow-mark{height:12.8vw}
html body .ow-mark span{font-size:19.2vw}@media (max-width:980px){
  html body .ow-top > .ow-lead{order:1 !important;grid-column:1/-1 !important}
  html body .ow-top > nav.ow-col[aria-label="Trova il tuo percorso"]{order:2 !important;grid-column:1/-1 !important}
  html body .ow-top > nav.ow-col[aria-label="Il Melograno"]{order:3 !important;}
  html body .ow-top > div.ow-col{order:4 !important;grid-column:auto !important}
}
/* footer: scuro, arrotondato in alto, testi nel nostro stile (niente maiuscolo spaziato), nome gigante bianco */
html body footer.ow-footer{background:#202020 !important;color:#fff;border-radius:28px 28px 0 0}
html body .ow-line{border-bottom-color:rgba(255,255,255,.35)}
html body .ow-line:hover{color:#ff91b8}
html body .ow-note{color:#bdb7b2}
html body .ow-col h2{font-size:14px;font-weight:600;letter-spacing:normal;text-transform:none;margin:8px 0 16px}
html body .ow-col a{font-size:14px;font-weight:400;letter-spacing:normal;text-transform:none;color:#ccc;margin:0 0 8px;line-height:1.6}
html body .ow-col a:hover{color:#ff91b8}
html body .ow-col p{color:#ccc}
html body .ow-legal{color:#9a948f}
html body footer.ow-footer .ow-legal a,html body footer.ow-footer .ow-legal button.wr-cookie-settings{color:#bdb7b2 !important}
html body footer.ow-footer .ow-legal a:hover,html body footer.ow-footer .ow-legal button.wr-cookie-settings:hover{color:#ff91b8 !important}
html body .ow-mark{color:#fff}
@media (max-width:600px){html body footer.ow-footer{border-radius:24px 24px 0 0}}/* footer: seguici su */
html body .ow-social{display:flex;flex-wrap:wrap;}
html body .ow-social > span{color:#fff;font-size:14px;font-weight:600}
html body .ow-social > div{display:flex;gap:8px}
html body .ow-social a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:#fff;transition:background-color .18s ease,border-color .18s ease}
html body .ow-social a:hover{background:#e60050;border-color:#e60050;color:#fff}
/* footer: frase più piccola, righe WhatsApp/telefono più corte */
html body .ow-title{font-size:clamp(26px,2.3vw,32px);margin-bottom:20px}
html body .ow-line{max-width:300px;font-size:15px;padding:11px 0 9px}
html body .ow-note{max-width:300px}
@media (max-width:600px){html body .ow-title{font-size:28px}html body .ow-line,html body .ow-note{max-width:320px}}/* "Seguici su" nella colonna a destra */
html body .ow-col .ow-social{flex-direction:column;align-items:flex-start;gap:12px;margin-top:22px}
html body .ow-col .ow-social > span{font-size:14px;font-weight:600;color:#fff;}html body .ow-col a.ow-address{margin-bottom:14px;line-height:1.55;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px;white-space:normal}
html body .ow-col a.ow-address:hover{text-decoration-color:currentColor}