@font-face{font-family:MelogranoAverta;src:url(/catalog-preview/averta-regular-latin-v1.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+20-7E,U+A1-AC,U+AE-17F,U+300-304,U+306-30C,U+312,U+31B,U+323,U+326-328,U+335,U+2002-2003,U+2009,U+2013-2015,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+203D,U+2042,U+2044,U+2051,U+20AB-20AC,U+20BA,U+2190-2199}@font-face{font-family:MelogranoAverta;src:url(/catalog-preview/averta-regular-extended-v1.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+18F,U+192,U+19D,U+1A0-1A1,U+1AF-1B0,U+1E6-1E7,U+1EA-1EB,U+1FA-1FF,U+218-21B,U+232-233,U+237,U+259,U+272,U+2C6-2C7,U+2D8-2DD,U+374-375,U+37E,U+384-38A,U+38C,U+38E-3A1,U+3A3-3CE,U+3D7,U+1E80-1E85,U+1E9E,U+1EA0-1EF9,U+2070,U+2074-208E,U+2090-2093,U+2113,U+2116,U+2122,U+2126,U+212E,U+215B-215E,U+2202,U+2205-2206,U+220F,U+2211-2212,U+221A,U+221E,U+222B,U+2236,U+2248,U+2260,U+2264-2265,U+25A0-25A1,U+25B2-25B3,U+25B6-25B7,U+25BC-25BD,U+25C0-25C1,U+25C6-25C7,U+25CA-25CB,U+25CF,U+2605-2606,U+2610-2612,U+261A-261F,U+2713,U+2715,U+2780-2788,U+278A-2792,U+2E18}@font-face{font-family:MelogranoAverta;src:url(/catalog-preview/averta-semibold-latin-v1.woff2)format("woff2");font-weight:600;font-display:swap;unicode-range:U+20-7E,U+A1-AC,U+AE-17F,U+300-304,U+306-30C,U+312,U+31B,U+323,U+326-328,U+335,U+2002-2003,U+2009,U+2013-2015,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+203D,U+2042,U+2044,U+2051,U+20AB-20AC,U+20BA,U+2190-2199}@font-face{font-family:MelogranoAverta;src:url(/catalog-preview/averta-semibold-extended-v1.woff2)format("woff2");font-weight:600;font-display:swap;unicode-range:U+18F,U+192,U+19D,U+1A0-1A1,U+1AF-1B0,U+1E6-1E7,U+1EA-1EB,U+1FA-1FF,U+218-21B,U+232-233,U+237,U+259,U+272,U+2C6-2C7,U+2D8-2DD,U+374-375,U+37E,U+384-38A,U+38C,U+38E-3A1,U+3A3-3CE,U+3D7,U+1E80-1E85,U+1E9E,U+1EA0-1EF9,U+2070,U+2074-208E,U+2090-2093,U+2113,U+2116,U+2122,U+2126,U+212E,U+215B-215E,U+2202,U+2205-2206,U+220F,U+2211-2212,U+221A,U+221E,U+222B,U+2236,U+2248,U+2260,U+2264-2265,U+25A0-25A1,U+25B2-25B3,U+25B6-25B7,U+25BC-25BD,U+25C0-25C1,U+25C6-25C7,U+25CA-25CB,U+25CF,U+2605-2606,U+2610-2612,U+261A-261F,U+2713,U+2715,U+2780-2788,U+278A-2792,U+2E18}@font-face{font-family:MelogranoAverta;src:url(/catalog-preview/averta-bold-latin-v1.woff2)format("woff2");font-weight:700;font-display:swap;unicode-range:U+20-7E,U+A1-AC,U+AE-17F,U+300-304,U+306-30C,U+312,U+31B,U+323,U+326-328,U+335,U+2002-2003,U+2009,U+2013-2015,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+203D,U+2042,U+2044,U+2051,U+20AB-20AC,U+20BA,U+2190-2199}@font-face{font-family:MelogranoAverta;src:url(/catalog-preview/averta-bold-extended-v1.woff2)format("woff2");font-weight:700;font-display:swap;unicode-range:U+18F,U+192,U+19D,U+1A0-1A1,U+1AF-1B0,U+1E6-1E7,U+1EA-1EB,U+1FA-1FF,U+218-21B,U+232-233,U+237,U+259,U+272,U+2C6-2C7,U+2D8-2DD,U+374-375,U+37E,U+384-38A,U+38C,U+38E-3A1,U+3A3-3CE,U+3D7,U+1E80-1E85,U+1E9E,U+1EA0-1EF9,U+2070,U+2074-208E,U+2090-2093,U+2113,U+2116,U+2122,U+2126,U+212E,U+215B-215E,U+2202,U+2205-2206,U+220F,U+2211-2212,U+221A,U+221E,U+222B,U+2236,U+2248,U+2260,U+2264-2265,U+25A0-25A1,U+25B2-25B3,U+25B6-25B7,U+25BC-25BD,U+25C0-25C1,U+25C6-25C7,U+25CA-25CB,U+25CF,U+2605-2606,U+2610-2612,U+261A-261F,U+2713,U+2715,U+2780-2788,U+278A-2792,U+2E18}:root{--melograno-brand:#e60050;--melograno-brand-hover:#bd0042;--melograno-brand-deep:#c00043;--melograno-ink:#181818;--melograno-muted:#686868;--melograno-pink:#ffd9e8;--melograno-surface:#fafafa;--melograno-white:#fff;--melograno-line:#e6e6e6;--melograno-line-strong:#ddd;--melograno-line-soft:#eee;--melograno-field:#dedede;--melograno-radius-sm:5px;--melograno-radius-md:7px;--melograno-radius-lg:10px;}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}
/* melograno-components-centralized-1 */
.wr-button{background:var(--melograno-brand);color:var(--melograno-white);border:1px solid #0000;justify-content:center;align-items:center;gap:22px;min-height:var(--melograno-control-height);padding:var(--melograno-control-padding-y) var(--melograno-control-padding-x);font-size:15px;font-weight:600;transition:background .18s;display:inline-flex}
.wr-button:hover{background:var(--melograno-brand-hover)}
.wr-button-white{color:var(--melograno-brand);background:var(--melograno-white)}
.wr-button-white:hover{background:var(--melograno-pink)}
.wr-inline-link{border-bottom:1px solid #0000;align-items:center;gap:10px;padding:10px 0;display:inline-flex}
.wr-inline-link:hover{border-bottom-color:currentColor}
.wr-kicker{letter-spacing:.14em;font-weight:700;margin-bottom:var(--melograno-kicker-gap)!important}
:is(.wr-page button:focus-visible,.wr-page a:focus-visible,.wr-dialog button:focus-visible){outline:3px solid var(--melograno-brand);outline-offset:5px}
summary:focus-visible{outline:3px solid var(--melograno-brand);outline-offset:3px}
/* melograno-layout-centralized-1 */
:root{--melograno-shell-width:1160px;--melograno-page-gutters:96px;--melograno-header-height:94px;--melograno-header-gap:36px;--melograno-header-padding:48px;--melograno-nav-gap:30px;--melograno-logo-width:185px;--melograno-control-height:50px;--melograno-control-padding-y:12px;--melograno-control-padding-x:22px;--melograno-kicker-gap:22px;}
.wr-page,.wr-dialog{color:var(--melograno-ink);--wr-line:var(--melograno-line);--wr-muted:var(--melograno-muted);background:var(--melograno-white);font-family:MelogranoAverta,Arial,sans-serif;line-height:1.6}
.wr-page *{box-sizing:border-box}
.wr-page h1,.wr-page h2,.wr-page h3,.wr-page p,.wr-page figure{margin:0}
.wr-page svg{flex-shrink:0}
.wr-shell{width:min(var(--melograno-shell-width),100% - var(--melograno-page-gutters));margin:0 auto}
.wr-header{align-items:center;height:var(--melograno-header-height);padding:0 var(--melograno-header-padding);display:flex}
.wr-logo{width:var(--melograno-logo-width);height:auto}
.wr-header nav{align-items:center;gap:var(--melograno-nav-gap);margin-left:auto;display:flex}
.wr-header nav a{font-weight:600}
.wr-header a:hover{color:var(--melograno-brand)}
.mg-navigation{background:var(--melograno-white);position:sticky;top:0;}.mg-navigation .mg-header{background:var(--melograno-white);gap:28px;max-width:none;height:80px;padding-inline:max(32px,50vw - 640px)}.mg-header .wr-logo{width:175px}.mg-header .mg-desktop{margin-left:auto;display:flex}.mg-courses-trigger{cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:14px 0;font-weight:600;display:flex}.mg-courses-trigger[aria-expanded=true]{color:var(--melograno-brand)}.mg-contact{align-items:center;font-size:15px;display:inline-flex}.mg-menu-toggle{cursor:pointer;background:0 0;border:0;padding:10px;display:none}.mg-courses-panel{border:1px solid #e1e1e1;max-height:calc(100vh - 105px);max-height:calc(100dvh - 105px);overflow-y:auto;background:var(--melograno-white)!important;box-shadow:0 16px 40px #00000016!important}.mg-panel-title{color:#666;margin-bottom:13px;font-size:14px;font-weight:700}.mg-area-links{grid-template-columns:1fr 1fr;gap:0 28px;}.mg-area-links a{border-bottom:1px solid var(--melograno-line-soft);justify-content:space-between;align-items:center;display:flex}.mg-area-links a:hover,.mg-panel-bottom a:hover{color:var(--melograno-brand)}.mg-panel-bottom{border-top:1px solid var(--melograno-line-strong);justify-content:space-between;display:flex}.mg-panel-bottom a{color:var(--melograno-brand);align-items:center;display:flex}.mg-courses-panel a:focus-visible{outline:3px solid var(--melograno-brand);outline-offset:4px}.mg-courses-trigger:focus-visible{outline:3px solid var(--melograno-brand);outline-offset:4px}.mg-mobile{display:none}@media (max-width:1050px){.mg-header .mg-desktop{gap:18px}.mg-navigation .mg-header{gap:18px;padding-inline:24px}.mg-header .wr-logo{width:155px}}@media (max-width:900px){.mg-header .mg-desktop{display:none}.mg-navigation .mg-header{height:68px;padding-inline:20px}.mg-menu-toggle{margin-left:0;display:block}.mg-contact{margin-left:auto}.mg-header .wr-logo{width:150px}.mg-mobile{overscroll-behavior:contain;border-top:1px solid var(--melograno-line-soft);max-height:calc(100vh - 68px);max-height:calc(100dvh - 68px);padding:10px 24px 22px;display:block;overflow-y:auto}.mg-mobile>a{border-bottom:1px solid var(--melograno-line-soft);justify-content:space-between;align-items:center;padding:15px 0;font-weight:600;display:flex}.mg-mobile-courses{background:0 0;justify-content:space-between;align-items:center;width:100%;padding:15px 0;font-weight:600;display:flex}.mg-mobile-courses[aria-expanded=true] svg{transform:rotate(180deg)}.mg-mobile-areas{grid-template-columns:1fr 1fr;gap:0 22px;padding:0 0 16px;display:grid}.mg-mobile-areas a{border-bottom:1px solid var(--melograno-line-soft);justify-content:space-between;align-items:center;gap:8px;padding:12px 0;font-size:14px;display:flex}.mg-mobile-areas a:last-child{color:var(--melograno-brand);}.mg-courses-panel{display:none!important}}@media (max-width:380px){.mg-menu-toggle{margin-left:auto}.mg-mobile-areas{grid-template-columns:1fr}}[hidden]{display:none!important}.cp-menu-holder{position:relative}.cp-menu-holder .mg-courses-panel{z-index:60;max-width:90vw;position:absolute;top:calc(100% + 22px);left:0}.mg-courses-panel .mg-area-links{gap:0;margin:0;display:grid}.cp-no-image{grid-template-columns:1fr!important}
/* mg-smart-navigation-v1: moved from layout.blade.php */
.mg-navigation { position: sticky; top: 0; z-index: 60;  }
    .mg-navigation.mg-navigation--hidden { transform: translateY(-105%); }
    @media (prefers-reduced-motion: reduce) { .mg-navigation { transition: none; } }

/* mg-unified-kickers-v2 */
html :is(.hm-page,.wc-page,.wr-page) .wr-kicker:not(.wr-kicker-pill){
    
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 0 22px !important;
    padding: 7px 11px 6px !important;
    border-radius: 7px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    
    letter-spacing: 1px !important;
}

/* site-buttons-soft-radius */
:where(.wr-button,.mg-contact){border-radius:10px!important}
/* course-intro-editorial:start */
.wr-creative .course-intro-editorial{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto auto auto auto;column-gap:78px;row-gap:0;align-items:start;}
.wr-creative .course-intro-editorial>h2{grid-column:1;grid-row:1 / span 3;max-width:470px;margin:0;}
.wr-creative .course-intro-editorial .course-intro-accent{color:var(--melograno-brand,#e60050)!important;font-style:normal}
.wr-creative .course-intro-editorial>.course-intro-description{grid-column:2;grid-row:1 / span 2;}
.wr-creative .course-intro-editorial>.course-intro-audience{grid-column:2;grid-row:3;margin-top:24px}
.wr-creative .course-intro-editorial :is(.course-intro-description,.course-intro-audience) p{max-width:680px;margin:0;color:var(--melograno-ink,#181818)!important;}
.wr-creative .course-intro-editorial>.course-intro-description p{font-size:clamp(20px,1.7vw,23px)!important;font-weight:600!important;line-height:1.45!important;letter-spacing:-.015em!important}
@media(max-width:900px){.wr-creative .course-intro-editorial{grid-template-columns:1fr;}.wr-creative .course-intro-editorial>*{grid-column:1!important;grid-row:auto!important}.wr-creative .course-intro-editorial>h2{max-width:650px;margin-bottom:34px}.wr-creative .course-intro-editorial>.course-intro-audience{margin-top:20px}}
@media(max-width:600px){.wr-creative .course-intro-editorial>.course-intro-audience p{font-size:17px!important;line-height:1.58!important}}
/* course-intro-editorial:end */

/* course-session-editorial:start */
.wr-page.wr-creative .wr-dates{background:#f3f3f1}
.wr-page.wr-creative .wr-session-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px}
.wr-page.wr-creative .wr-session{display:flex;flex-direction:column;min-width:0;border:0;letter-spacing:.017em;box-shadow:0 1px 0 rgba(24,24,24,.08)}
.wr-page.wr-creative .wr-session>.course-date-heading{order:1;display:flex;flex-direction:column;align-items:flex-start;gap:13px;}
.wr-page.wr-creative .course-date-heading>.course-mode-with-help{align-self:flex-start;}
.wr-page.wr-creative .course-date-heading time{order:2;padding:0;border:0;}
.wr-page.wr-creative .wr-session>.course-schedule{order:2;}
.wr-page.wr-creative .course-date-heading .wc-mode-tag{display:inline-flex!important;gap:0!important;border-radius:6px!important;min-height:24px;padding:0 9px!important;font-size:10px!important;line-height:1!important;font-weight:700!important;letter-spacing:.1em;text-transform:uppercase}
.wr-page.wr-creative .course-date-heading .course-mode-help{display:none!important}
.wr-page.wr-creative .course-date-heading .wc-mode-tag:before{content:"";height:6px;flex:0 0 6px;border-radius:50%;background:currentColor}
.wr-page.wr-creative .course-date-heading .wc-mode-label{position:relative;margin-left:7px;}
#partenze .wr-session>.wr-session-info{order:3!important;flex-flow:row nowrap!important;}
#partenze .wr-session-info p{width:auto!important;min-height:0;color:#4f4f4f;letter-spacing:.01em}
.wr-page .course-venue-map{-webkit-text-decoration:underline dashed #c4c4c4;text-decoration:underline dashed #c4c4c4;text-decoration-thickness:1px;text-underline-offset:3px}.wr-page .course-venue-map:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}
.wr-page.wr-creative .wr-session>.wr-session-accordion{order:4;border:0}
.wr-page.wr-creative .wr-session-accordion [data-slot="accordion-item"]{border:0}
.wr-page.wr-creative .wr-session-accordion [data-slot="accordion-trigger"]{border-radius:14px;background:#f2f2f0}
.wr-page.wr-creative .wr-teacher{width:100%;gap:13px;letter-spacing:.01em}
.wr-page.wr-creative .wr-teacher>span{display:grid;width:100%;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:4px 8px}
.wr-page.wr-creative .course-teacher-name{display:flex;min-width:0;align-items:baseline;gap:4px;line-height:1.2}
.wr-page.wr-creative .course-teacher-with{flex:0 0 auto;color:#4f4f4f;font-weight:400;letter-spacing:.01em;white-space:nowrap;font-size:13px!important}
.wr-page.wr-creative .wr-teacher strong{min-width:0;font-weight:650;white-space:nowrap}
.wr-page.wr-creative .wr-teacher small{grid-column:2;grid-row:1;color:#181818;font-size:14px!important;font-weight:650;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--melograno-category,#17ccc6);text-decoration-thickness:2px;text-underline-offset:5px}
.wr-page.wr-creative .wr-session-accordion [data-slot="accordion-content"]{padding:14px 4px 6px}
.wr-page.wr-creative.course-type .wr-session>.wr-session-bottom{order:6;justify-content:flex-start;gap:16px;border-top:1px solid #e5e5e3}
.wr-page.wr-creative.course-type .wr-session .wr-price.course-promo{gap:8px;width:100%}.wr-page.wr-creative.course-type .wr-session .wr-price.course-promo del{order:1;}.wr-page.wr-creative.course-type .wr-session .wr-price.course-promo strong{order:2;color:#181818;}.wr-page.wr-creative.course-type .wr-session>.wr-session-bottom>a.course-enroll,.wr-page.wr-creative.course-type .wr-session>.wr-session-bottom>a[href*="/anteprima/iscrizione/"]{width:100%;min-width:0;}
.wr-page.wr-creative .wr-new-dates{background:transparent}
@media(max-width:1050px){.wr-page.wr-creative .wr-teacher>span{grid-template-columns:minmax(0,1fr) auto}.wr-page.wr-creative .wr-teacher small{grid-column:2;grid-row:1;justify-self:end}}
@media(max-width:760px){.wr-page.wr-creative .wr-session-grid{grid-template-columns:1fr;gap:18px}.wr-page.wr-creative .wr-session-info p{font-size:12px}.wr-page.wr-creative .wr-session-accordion [data-slot="accordion-trigger"]{border-radius:12px}.wr-page.wr-creative .wr-teacher>span{grid-template-columns:1fr;align-items:start;gap:7px}.wr-page.wr-creative .wr-teacher small{grid-column:1;grid-row:2;justify-self:start}.wr-page.wr-creative.course-type .wr-session>.wr-session-bottom{gap:12px}.wr-page.wr-creative.course-type .wr-session>.wr-session-bottom>a.course-enroll,.wr-page.wr-creative.course-type .wr-session>.wr-session-bottom>a[href*="/anteprima/iscrizione/"]{min-width:104px;}}
/* course-session-editorial:end */

/* Shared hero frame */
.wr-page main .wr-hero-frame {
    
    
    margin: 20px 24px 0 !important;
    border-radius: 28px !important;
    overflow: hidden;
}

@media (max-width: 720px) {
    .wr-page main .wr-hero-frame {
        margin: 12px 12px 0 !important;
        border-radius: 20px !important;
    }

                }

.catalog-hero-link{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:0 0 10px;color:inherit;font-weight:700;line-height:1.25;letter-spacing:.025em;text-decoration:none;border-bottom:2px solid currentColor;transition:filter .2s ease}
.catalog-hero-link:visited{color:inherit}
.catalog-hero-link:hover{filter:invert(1)}
.catalog-hero-link:focus-visible{outline:2px solid currentColor;outline-offset:6px;border-radius:2px}
@media (max-width:720px){.catalog-hero-link{margin-top:16px;padding-bottom:9px;letter-spacing:.02em}}

/* Kicker optical centering: trims the text box to cap height so the label sits exactly in the middle of the pill on every browser/font rendering (Safari iOS included). The layered !important overrides every per-page kicker padding; browsers without text-box keep the 7/11/6 fallback. */
@supports (text-box: trim-both cap alphabetic){@layer kicker-optical-center{.wr-kicker{padding-top:11px!important;padding-bottom:11px!important;text-box:trim-both cap alphabetic}}}

/* Mode tags (online / in sede / mista): trims the label to cap height so the text sits exactly in the middle of the 24px pill; browsers without text-box keep the top:1px nudge. */
@supports (text-box: trim-both cap alphabetic){.wr-page.wr-creative .course-date-heading .wc-mode-label{top:0;text-box:trim-both cap alphabetic}}

.upcoming-card[data-state="waiting"]{background:#fde6ee!important;}/* Lista d'attesa: scheda rosata quando i posti sono esauriti */
.wr-session:has(.course-waitlist-cta){background:#fde6ee!important;box-shadow:none!important}
.upcoming-card[data-state="waiting"] .upcoming-card-teacher{background:rgba(255,255,255,.6)!important}.wr-session:has(.course-waitlist-cta) .course-teacher-card>summary{background:rgba(255,255,255,.6)!important}
.upcoming-card[data-state="waiting"] .upcoming-card-footer{border-top-color:#f1c2d2!important}.wr-session:has(.course-waitlist-cta) .wr-session-bottom{border-top-color:#f1c2d2!important}
.wr-session .course-waitlist-cta,.upcoming-card[data-state="waiting"] .upcoming-card-action:not(.is-outline){background:#181818!important;border-color:#181818!important;color:#fff!important}
.wr-session .course-waitlist-cta:is(:hover,:focus-visible),.upcoming-card[data-state="waiting"] .upcoming-card-action:not(.is-outline):is(:hover,:focus-visible){background:#000!important;border-color:#000!important}
/* Standard titoli di sezione, ott. 2026: sezione 56/34, chiusura 112/44 (categoria esclusa) */
html body .wr-page:not(.wc-page) main h2:not(.wr-closing h2):not(#about-c1-cta-title):not(#td-closing-title){font-size:clamp(33px,3.68vw,53px)!important;line-height:1.06!important}
html body .wr-page .wr-closing h2, html body .wr-page #about-c1-cta-title, html body .wr-page #td-closing-title{font-size:clamp(44px,7.8vw,112px)!important}
/* Standard spaziatura titoli, ott. 2026: principale e finale -0.055em, sezione -0.05em, tutti 700 */
html body .wr-page main h1, html body .wr-page main h1.mg-long-title{letter-spacing:-0.055em!important;font-weight:700!important}
html body .wr-page main h2:not(.wr-closing h2):not(#about-c1-cta-title):not(#td-closing-title){letter-spacing:-0.05em!important;font-weight:700!important}
html body .wr-page .wr-closing h2, html body .wr-page #about-c1-cta-title, html body .wr-page #td-closing-title{letter-spacing:-0.055em!important;font-weight:700!important}
/* Menu Corsi desktop: spaziatura "Corsi in partenza" */
html body .mg-courses-panel .mg-area-links a:last-child, html body .mg-courses-panel .mg-area-links a:nth-last-child(2):nth-child(odd){border-bottom:0!important}
html body .mg-courses-panel .mg-panel-bottom{margin-top:6px!important;padding-top:16px!important;border-top:1px solid var(--melograno-line-strong,#ddd)!important}
html body .mg-courses-panel .mg-panel-bottom a{font-size:16px!important;transition:color .18s ease}
html body .mg-courses-panel .mg-panel-bottom a svg{transition:transform .18s ease}
html body .mg-courses-panel .mg-panel-bottom a:hover, html body .mg-courses-panel .mg-panel-bottom a:focus-visible{color:var(--melograno-brand-deep)!important;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}
html body .mg-courses-panel .mg-panel-bottom a:hover svg, html body .mg-courses-panel .mg-panel-bottom a:focus-visible svg{transform:translateX(4px)}
/* Standard hero, ott. 2026: titolo 76/42 interlinea 1 (home e titoli corso lunghi esclusi), testo centrato in verticale */
html body .wr-page:not(.hm-page) main h1:not(.mg-long-title):not(#zz1):not(#zz2){font-size:clamp(42px,5.28vw,76px)!important;line-height:1!important;max-width:none!important}
html body .wr-page.course-type .wc-hero h1.mg-long-title:not(#zz1){line-height:1!important}
html body .wr-page main .site-hero-copy:not(#zz1){display:flex!important;flex-direction:column!important;justify-content:center!important}
html body .wr-page main .site-hero-copy:not(#zz1) > :first-child{margin-top:auto!important}
html body .wr-page main .site-hero-copy:not(#zz1) > :last-child:not(ul){margin-bottom:auto!important}
/* Testo sotto il titolo hero: stessa misura su tutte le pagine (18/17) */
html body .wr-page main .td-hero-lead:not(#zz1), html body .wr-page main .upcoming-hero-lead:not(#zz1){font-size:18px!important;line-height:1.65!important}
@media (max-width: 720px){html body .wr-page main .td-hero-lead:not(#zz1), html body .wr-page main .upcoming-hero-lead:not(#zz1){font-size:17px!important}}
/* Buoni regalo: hero allineato allo standard */
html body .gift-page .gift-hero h1:not(#zz1):not(#zz2):not(#zz3){font-size:clamp(42px,5.28vw,76px)!important;line-height:1!important;}
/* Link sottolineato hero sempre su una riga (es. "Avvisami sulle nuove date") */
html body .catalog-hero-link:not(#zz1){min-width:min(245px,100%);max-width:100%;white-space:nowrap;align-self:flex-start}
/* Link sottolineati hero: tutti come quello della home */
html body .site-hero-copy .catalog-hero-link:not(#zz1):not(#zz2){padding:0 0 10px!important;border:0!important;border-bottom:2px solid currentColor!important;color:inherit!important;font-size:17px!important;font-weight:700!important;letter-spacing:.025em!important;line-height:1.25!important;text-decoration:none!important;}
html body :is(.site-hero-copy,.site-hero-copy > div:not(.hm-actions)) > .catalog-hero-link:not(#zz1):not(#zz2){margin-top:50px!important}
html body :is(.site-hero-copy,.site-hero-copy > div:not(.hm-actions)) > *:has(+ .catalog-hero-link){margin-bottom:0!important}
@media (max-width: 720px){html body .site-hero-copy .catalog-hero-link:not(#zz1):not(#zz2){font-size:16px!important;letter-spacing:.02em!important;padding-bottom:9px!important}html body :is(.site-hero-copy,.site-hero-copy > div:not(.hm-actions)) > .catalog-hero-link:not(#zz1):not(#zz2){margin-top:44px!important}}
/* Box rosso finale "Cominciamo?": uguale su tutte le pagine, contenuto centrato */
html body .wr-page .mg-closing:not(#zz1){display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:96px 32px!important;}
html body .wr-page .mg-closing:not(#zz1) > .wr-shell{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;}
html body .wr-page .mg-closing h2:not(#zz1){margin:0!important}
html body .wr-page .mg-closing .mg-closing-btn:not(#zz1){display:inline-flex!important;gap:10px!important;min-width:0!important;margin:40px 0 0!important;padding:15px 26px!important;border:0!important;background:#fff!important;color:#181818!important;font-size:16px!important;font-weight:700!important;line-height:1.2!important;text-decoration:none!important;transition:background-color .18s ease,color .18s ease}
html body .wr-page .mg-closing .mg-closing-btn:not(#zz1) svg{transition:transform .18s ease}
html body .wr-page .mg-closing .mg-closing-btn:not(#zz1):is(:hover,:focus-visible){background:#181818!important;color:#fff!important}
html body .wr-page .mg-closing .mg-closing-btn:not(#zz1):is(:hover,:focus-visible) svg{transform:translateX(3px)}
@media (max-width: 720px){html body .wr-page .mg-closing:not(#zz1){padding:64px 24px!important}html body .wr-page .mg-closing .mg-closing-btn:not(#zz1){margin-top:28px!important;font-size:15px!important;padding:14px 22px!important}}html body .wr-page .mg-closing:not(#zz1), html body .wr-page .mg-closing:not(#zz1) > .wr-shell{gap:0!important;row-gap:0!important}
html body .wr-page .mg-closing h2:not(#zz1):not(#zz2){line-height:.95!important}html body .wr-page .mg-closing h2:not(#zz1):not(#zz2):not(#zz3){margin-top:-.035em!important}
/* Hero nero (Chi siamo): hover del link in rosso istituzionale */
html body .about-c1-hero .site-hero-copy .catalog-hero-link:not(#zz1):not(#zz2):not(#zz3){transition:color .18s ease}
html body .about-c1-hero .site-hero-copy .catalog-hero-link:not(#zz1):not(#zz2):not(#zz3):is(:hover,:focus-visible){filter:none!important;color:var(--melograno-brand,#e60050)!important}
/* ==========================================================================
   Schede corsi — standard unico (Corsi in partenza, categoria, singolo corso)
   Blocchi: tag / data + frequenza / lezioni + fino al / docente / prezzo + bottone
   ========================================================================== */
/* Scheda */
html body article.upcoming-card:not(#zz1):not(#zz2), html body article.wr-session:not(#zz1):not(#zz2){padding:30px 32px!important;border-radius:22px!important}
/* Titolo corso (solo Corsi in partenza) */
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-title, html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-title a{font-size:26px!important;line-height:1.1!important;letter-spacing:-.03em!important;}
/* Tag modalità */
html body article.upcoming-card:not(#zz1):not(#zz2) .wc-mode-tag:not(#zz3){margin-bottom:18px!important}
html body article.wr-session:not(#zz1):not(#zz2) .course-date-heading:not(#zz3){row-gap:18px!important;margin-bottom:2px!important}
/* Data di partenza */
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-date p, html body article.wr-session:not(#zz1):not(#zz2) .course-date-heading, html body article.wr-session:not(#zz1):not(#zz2) .course-date-heading time{font-size:23px!important;line-height:1.15!important;letter-spacing:-.025em!important;font-weight:700!important}
/* Frequenza */
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-date strong, html body article.wr-session:not(#zz1):not(#zz2) .course-schedule, html body article.wr-session:not(#zz1):not(#zz2) .course-schedule strong{font-size:16px!important;font-weight:600!important;line-height:1.35!important;letter-spacing:.01em!important}
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-date strong:not(#zz3){margin-top:2px!important}
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-date:not(#zz3), html body article.wr-session:not(#zz1):not(#zz2) .course-schedule:not(#zz3){margin-bottom:18px!important}
/* Lezioni / fino al */
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-meta:not(#zz3), html body article.wr-session:not(#zz1):not(#zz2) .wr-session-info:not(#zz3){margin-bottom:24px!important}
html body .wr-session-info:not(#zz1):not(#zz2){display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px 14px!important}
html body .wr-session-info:not(#zz1) > .mg-dets:not(#zz2){min-width:0!important;flex:1 1 100%!important;white-space:normal!important}
html body .mg-dets:not(#zz1):not(#zz2){display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px 14px!important;font-size:13px!important;line-height:1.4!important}
html body .mg-dets .mg-det:not(#zz1){display:inline-flex!important;align-items:center!important;gap:0!important;white-space:nowrap}
html body .mg-dets .mg-det svg:not(#zz1):not(#zz2){color:#8a8a8a!important;margin:0 6px 0 0!important;transform:translateY(-1px)}
html body .mg-dets b:not(#zz1), html body .mg-dets strong:not(#zz1){color:#181818!important;}
/* "N lezioni" apre il calendario: grigio, rosso in hover e da aperto */
html body .mg-dets .mg-cal-trig:not(#zz1):not(#zz2){appearance:none;background:none!important;border:0!important;padding:0!important;font:inherit;letter-spacing:inherit;color:inherit!important;text-decoration:underline!important;text-decoration-color:#c9c9c4!important;text-decoration-thickness:1px!important;text-underline-offset:4px!important;transition:color .15s}
html body .mg-dets .mg-cal-trig:not(#zz1):not(#zz2):focus-visible{outline:2px solid #181818;outline-offset:3px;border-radius:4px}
.mg-cal-chev{width:5px;height:5px;margin:0 2px 0 7px;border-right:1.5px solid #8a8a8a;border-bottom:1.5px solid #8a8a8a;transform:rotate(45deg) translateY(-2px);transition:transform .2s,border-color .15s}
html body .mg-dets .mg-cal-trig:not(#zz1):not(#zz2):hover, html body .mg-dets .mg-cal-trig:not(#zz1):not(#zz2).is-open, html body .mg-dets .mg-cal-trig:not(#zz1):not(#zz2):hover b, html body .mg-dets .mg-cal-trig:not(#zz1):not(#zz2).is-open b, html body .mg-dets .mg-cal-trig:not(#zz1):not(#zz2):hover strong, html body .mg-dets .mg-cal-trig:not(#zz1):not(#zz2).is-open strong{color:#e60050!important;text-decoration-color:#e60050!important}
html body .mg-dets .mg-cal-trig:not(#zz1):not(#zz2):hover .mg-cal-chev, html body .mg-dets .mg-cal-trig:not(#zz1):not(#zz2).is-open .mg-cal-chev{border-color:#e60050}
/* Calendario delle date */
.mg-cal-list{background:#f6f5f2;border-radius:10px;padding:6px 12px 10px;font-size:13px;color:#444;line-height:1.3}
.mg-cal-list ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;counter-reset:mgcal}
.mg-cal-list li{counter-increment:mgcal;display:flex;gap:8px;padding:6px 0;border-bottom:1px solid #e9e8e3}
.mg-cal-list li::before{content:counter(mgcal);color:#9a9a9a;font-size:12px;min-width:15px}
.mg-cal-list p{margin:0;padding:6px 0;color:#6d6d6d}
html body article.upcoming-card:not(#zz1):not(#zz2) > .mg-cal-list:not(#zz3), html body article.wr-session:not(#zz1):not(#zz2) > .mg-cal-list:not(#zz3){margin:-12px 0 24px!important}
html body article.wr-session:not(#zz1):not(#zz2) > .mg-cal-list{order:3}
/* Docente */
html body article.wr-session:not(#zz1):not(#zz2) > .wr-session-accordion:not(#zz3){margin-bottom:24px!important}
html body .wr-session .course-teacher-card:not(#zz1) > summary:not(#zz2), html body .upcoming-card-teacher:not(#zz1):not(#zz2){padding:8px 12px!important;min-height:0!important}
html body .wr-session .course-teacher-card:not(#zz1) .wr-teacher img:not(#zz2), html body .upcoming-card-teacher:not(#zz1) img:not(#zz2){width:34px!important;height:34px!important}
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-teacher strong, html body article.wr-session:not(#zz1):not(#zz2) .course-teacher-name strong{font-size:14px!important;font-weight:600!important}
/* Prezzo + bottone */
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-footer:not(#zz3){margin-top:24px!important;padding-top:20px!important;row-gap:12px!important}
html body article.wr-session:not(#zz1):not(#zz2) .wr-session-bottom:not(#zz3){padding-top:20px!important;row-gap:12px!important}
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-actions{row-gap:10px!important}
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-price strong, html body article.wr-session:not(#zz1):not(#zz2) .wr-price strong{font-size:22px!important;line-height:1!important;letter-spacing:-.045em!important}
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-price del, html body article.wr-session:not(#zz1):not(#zz2) .wr-price del{font-size:15px!important}
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-action, html body article.wr-session:not(#zz1):not(#zz2) .wr-session-bottom .wr-button{min-height:48px!important;padding:0 18px!important;font-size:14px!important;font-weight:600!important;letter-spacing:.04em!important;border-radius:10px!important;white-space:nowrap!important;display:flex!important;align-items:center!important;justify-content:center!important}
/* Mobile */
@media (max-width:720px){
html body article.upcoming-card:not(#zz1):not(#zz2), html body article.wr-session:not(#zz1):not(#zz2){padding:22px 20px!important;border-radius:18px!important}
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-title, html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-title a{font-size:23px!important}
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-date p, html body article.wr-session:not(#zz1):not(#zz2) .course-date-heading, html body article.wr-session:not(#zz1):not(#zz2) .course-date-heading time{font-size:22px!important}
html body article.upcoming-card:not(#zz1):not(#zz2) .upcoming-card-price strong, html body article.wr-session:not(#zz1):not(#zz2) .wr-price strong{font-size:20px!important}
}
/* Menu mobile, sottomenu Corsi: testo centrato in altezza tra le righe (Averta sta alta nella riga) */
@media (max-width:900px){html body .mg-mobile-areas a{padding:16px 0 8px}}
/* Schede: «[calendario] 10 lezioni, fino al 3 febbraio · le date ⌄»: «le date» è un link rosso che apre il calendario delle lezioni. Se la riga non ci sta, «date» va a capo e il pallino finisce fuori dal bordo (nascosto da overflow) */
html body .mg-dets.mg-dets--text:not(#zz1):not(#zz2){display:block!important;overflow:hidden;padding:4px!important;margin:-4px!important;white-space:normal!important}
html body .mg-dets--text .mg-dets-row{display:flex;flex-wrap:wrap;align-items:baseline;row-gap:4px;margin-left:-16px}
html body .mg-dets--text .mg-dets-row>*{position:relative;padding-left:16px}
html body .mg-dets--text .mg-dets-line{white-space:normal}
html body .mg-dets--text .mg-dets-line svg{color:#8a8a8a;vertical-align:-2px;margin-right:7px}
html body .mg-dets--text .mg-dets-more::before{content:"";position:absolute;left:6px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:#b9b7b0}
html body .mg-dets .mg-cal-trig.mg-cal-link:not(#zz1):not(#zz2){color:#e60050!important;font-weight:600!important;text-decoration:underline!important;text-decoration-color:currentColor!important;text-decoration-thickness:1.5px!important;text-underline-offset:4px!important;transition:color .15s}
html body .mg-dets .mg-cal-trig.mg-cal-link:not(#zz1):not(#zz2):hover,html body .mg-dets .mg-cal-trig.mg-cal-link:not(#zz1):not(#zz2).is-open{color:#b3003e!important}
html body .mg-dets .mg-cal-trig.mg-cal-link:not(#zz1):not(#zz2):focus-visible{outline-offset:2px}
html body .mg-dets .mg-cal-link .mg-cal-link-chev svg{display:inline-block;vertical-align:-3px;margin-right:-3px;stroke-width:2.2;transition:transform .18s}
html body .mg-dets .mg-cal-link.is-open .mg-cal-link-chev svg{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){html body .mg-dets .mg-cal-trig.mg-cal-link,html body .mg-dets .mg-cal-link .mg-cal-link-chev svg{transition:none}}
/* Calendario delle lezioni nelle schede: ogni data in un riquadro (numero sopra, data sotto), tre per riga sul telefono. Il riepilogo del pagamento resta com'è */
html body article.wr-session > .mg-cal-list,html body article.upcoming-card > .mg-cal-list{padding:0;background:none;color:#181818;line-height:1.25}
html body article.wr-session > .mg-cal-list ol,html body article.upcoming-card > .mg-cal-list ol{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px}
html body article.wr-session > .mg-cal-list li,html body article.upcoming-card > .mg-cal-list li{display:block;padding:7px 9px;border:0;border-radius:8px;background:#f6f5f2}
html body article.wr-session > .mg-cal-list li::before,html body article.upcoming-card > .mg-cal-list li::before{display:block;min-width:0;margin-bottom:1px;font-size:11px;font-weight:700;color:#75756e}
html body article.wr-session > .mg-cal-list p,html body article.upcoming-card > .mg-cal-list p{padding:8px 10px;border-radius:8px;background:#f6f5f2}
