/* HP-specific: hide the Didactica voice from primary nav (modern browsers). */
.uc-nav > ul > li:has(> a.caret[href*="unicollege-didactica.html"]){display:none!important}

/* Header layout: brand left, Study Abroad CTA right. */
.uc-header{justify-content:space-between!important;align-items:center!important}
.uc-header-cta{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--brand-sans,Poppins,sans-serif);font-size:14px;font-weight:600;color:var(--navy,#002F56);text-decoration:none;padding:10px 18px;border:2px solid var(--navy,#002F56);border-radius:4px;letter-spacing:.5px;transition:background .15s ease,color .15s ease;white-space:nowrap}
.uc-header-cta:hover{background:var(--navy,#002F56);color:#fff!important}
.uc-header-cta::after{content:"\2192";font-weight:600;display:inline-block}
@media (max-width:900px){.uc-header-cta{font-size:12px;padding:8px 12px;gap:4px}}
@media (max-width:600px){.uc-header-cta{display:none!important}}

/* Make all tables horizontally scrollable on mobile (curriculum/fee tables). */
@media (max-width:900px){
  .uc-container table,.uc-sec table,.entry-content table{display:block!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;white-space:nowrap!important;border-collapse:collapse!important}
  .uc-container table thead,.uc-sec table thead,.entry-content table thead{position:sticky!important;top:0!important;background:#f4f5f8!important;z-index:5!important}
  .uc-container table th,.uc-sec table th{padding:10px 8px!important;font-size:12px!important;border:1px solid #ccc!important}
  .uc-container table td,.uc-sec table td{padding:8px 8px!important;font-size:13px!important;border:1px solid #e0e0e0!important}
}

@media (max-width:768px){
  /* Header */
  .uc-header{padding:24px 16px!important}
  /* Stats grid (HP) */
  .uc-stats-grid{grid-template-columns:repeat(2,1fr)!important}
  /* Submenu cols collapse */
  .submenu--cols{padding:24px 16px!important;gap:24px!important;grid-template-columns:1fr!important;justify-content:flex-start!important}
  .submenu--cols .submenu-col{min-width:auto!important;max-width:100%!important}
  /* Page title */
  .uc-page-title{font-size:28px!important;line-height:1.2!important}
  /* Linkbox menu */
  .uc-linkbox__menu>li{flex:1 1 100%!important;min-width:auto!important}
  /* 3As grid (interior) */
  .uc-3as-grid{grid-template-columns:1fr!important;gap:20px!important}
  /* Features grid (about / mission / accreditation) */
  .uc-feat-grid{grid-template-columns:1fr!important;gap:18px!important}
  /* Keyfacts (about / people) */
  .uc-keyfacts{grid-template-columns:repeat(2,1fr)!important}
  /* 3-col generic (italian-higher-education etc.) */
  .uc-3col,[class*="uc-grid-3"]{grid-template-columns:1fr!important;gap:18px!important}
  /* Approach grid (HP 3As section) */
  .uc-approach{grid-template-columns:1fr!important;gap:14px!important}
  /* Campus grid */
  .uc-campus-grid{grid-template-columns:repeat(2,1fr)!important;gap:14px!important}
  /* HP prog grid handled at 1100px existing breakpoint */
  /* Form inputs - prevent iOS zoom + tap target */
  input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="search"],input[type="password"],textarea,select{font-size:16px!important;min-height:44px!important;padding:10px 12px!important;width:100%!important;box-sizing:border-box!important}
  textarea{min-height:88px!important}
  button,.uc-btn,.cta,.uc-cta{min-height:44px!important;padding:10px 18px!important;font-size:14px!important}
  /* Sections padding */
  .uc-sec{padding:50px 0!important}
  /* Container side-padding tightened */
  .uc-container{padding:0 16px!important}
}

@media (max-width:600px){
  /* Header tighter */
  .uc-header{padding:20px 12px!important}
  .uc-brand{gap:12px!important}
  .uc-brand__tag{font-size:11px!important;line-height:1.2!important}
  /* 27/08/2026: via lo scorrimento orizzontale del menu (era la causa della pagina
     larga 968px sul telefono). Ora il menu desktop si nasconde e c'e' l'hamburger:
     vedi il blocco MOBILE NAV in fondo. */
  /* Hero (HP) */
  .uc-hero h1{font-size:28px!important;line-height:1.15!important}
  .uc-hero p{font-size:15px!important;margin-bottom:20px!important}
  /* International band (HP) */
  .uc-intl-band{padding:40px 16px!important}
  .uc-intl-band h2{font-size:26px!important}
  .uc-intl-band p{font-size:15px!important}
  /* Prog cards (HP) */
  .uc-prog{padding:24px 18px!important}
  .uc-prog h3{font-size:18px!important;line-height:1.25!important}
  .uc-prog p{font-size:13.5px!important;line-height:1.5!important}
  /* Stats (HP) */
  .uc-stats{padding:40px 12px!important}
  /* Sections */
  .uc-sec{padding:36px 0!important}
  .uc-sec-title h2{font-size:24px!important;line-height:1.2!important}
  .uc-sec-title p{font-size:15px!important}
  /* Page title (interior) */
  .uc-page-title{font-size:24px!important}
  /* Lead text (interior) */
  .uc-lead{font-size:18px!important;line-height:1.45!important}
  /* Pull quote */
  .uc-pullquote{font-size:17px!important;padding:8px 0 8px 16px!important;border-left-width:3px!important}
  /* Eyebrow tighter */
  .uc-intl-band .eyebrow,.eyebrow,.uc-eyebrow{font-size:10px!important;letter-spacing:1.5px!important}
  /* Keyfacts (about) */
  .uc-keyfacts .l{font-size:10px!important}
  .uc-keyfacts .n{font-size:24px!important}
  /* Container */
  .uc-container{padding:0 12px!important}
  /* Footer */
  .uc-footer{padding:20px 12px!important}
  .uc-footer-line{flex-direction:column!important;align-items:flex-start!important;gap:6px 0!important;font-size:12px!important}
  .uc-footer-sep{display:none!important}
  /* Chip row (about) */
  .uc-chip-row{gap:8px!important}
  .uc-chip-row .chip{padding:8px 12px!important;font-size:12px!important}
  /* Linkbox */
  .uc-linkbox{padding:20px 12px!important;margin:16px 0 0!important}
  .uc-linkbox__title{font-size:15px!important;padding:0 12px!important;margin-bottom:12px!important}
  .uc-linkbox__menu>li{padding:0 12px!important}
  .uc-linkbox__menu>li a{padding:10px 28px 10px 0!important;font-size:14px!important}
  /* Feat cards (about / mission) */
  .uc-feat{padding:18px 14px!important}
  .uc-feat h3{font-size:17px!important;padding-right:34px!important}
  .uc-feat p{font-size:14px!important;line-height:1.5!important}
  /* 3As cards (interior) */
  .uc-3as-card{padding:20px 16px!important}
  .uc-3as-card h4{font-size:18px!important}
  .uc-3as-card p{font-size:14px!important}
  /* Destination cards (404 popular destinations or destinations grid) */
  .uc-dest-grid{grid-template-columns:1fr!important;gap:12px!important}
  .uc-dest{padding:18px 16px!important}
  .uc-dest h3{font-size:15px!important}
  /* Breadcrumb */
  .uc-breadcrumb{font-size:13px!important;flex-wrap:wrap!important}
  .uc-breadcrumb .sep{margin:0 4px!important}
  /* Approach cards padding */
  .uc-approach>div{padding:22px 18px!important}
  .uc-approach h4{font-size:18px!important}
  .uc-approach p{font-size:14px!important}
}

@media (max-width:480px){
  /* Topbar / header */
  .uc-topbar{height:32px!important}
  .uc-header{padding:16px 8px!important}
  .uc-brand__logo{height:32px!important}
  .uc-brand{gap:10px!important}
  /* Hero */
  .uc-hero h1{font-size:23px!important}
  .uc-hero p{font-size:14px!important;margin-bottom:18px!important}
  .uc-hero .cta{padding:12px 16px!important;font-size:13px!important}
  /* Stats - 1 col */
  .uc-stats-grid{grid-template-columns:1fr!important;gap:0!important;border:none!important;padding:8px 0!important}
  .uc-stats-grid>div{padding:14px 8px!important;border:none!important;border-bottom:1px solid #e0e7f0!important}
  .uc-stats-grid>div:last-child{border-bottom:none!important}
  .uc-stats-grid .n{font-size:26px!important}
  .uc-stats-grid .l{font-size:9px!important}
  /* Prog cards */
  .uc-prog{padding:20px 14px!important}
  .uc-prog h3{font-size:16px!important}
  .uc-prog p{font-size:13px!important}
  /* Page title */
  .uc-page-title{font-size:22px!important}
  /* Lead */
  .uc-lead{font-size:16px!important}
  /* Section title */
  .uc-sec-title h2{font-size:21px!important}
  .uc-sec-title p{font-size:14px!important}
  /* Sec h2 (interior) */
  .uc-sec h2{font-size:19px!important;line-height:1.25!important}
  /* International band */
  .uc-intl-band{padding:30px 12px!important}
  .uc-intl-inner{gap:18px!important}
  .uc-intl-band h2{font-size:22px!important}
  .uc-intl-band p{font-size:14px!important}
  /* Approach (3As HP) - 1 col already at 768 */
  .uc-approach>div{padding:18px 14px!important}
  /* Footer */
  .uc-footer{padding:18px 10px!important}
  .uc-footer-line{font-size:11px!important}
  .uc-footer-copy{font-size:11px!important}
  /* Container tightest */
  .uc-container{padding:0 10px!important}
  /* Linkbox menu items full width */
  .uc-linkbox__menu>li a{font-size:13.5px!important}
  /* Campus grid 1 col */
  .uc-campus-grid{grid-template-columns:1fr!important}
  .uc-campus{padding:20px 14px!important}
  /* Feat */
  .uc-feat{padding:16px 12px!important}
  .uc-feat h3{font-size:16px!important}
  .uc-feat p{font-size:13.5px!important}
}

/* ============================================================
   MOBILE NAV (27/08/2026) — il sito non aveva alcun menu per il
   telefono: le 6 voci in riga tenevano la pagina larga 968px su
   uno schermo da 375, per questo i testi dell'hero uscivano fuori
   e sembravano sovrapposti. Qui: menu desktop nascosto, hamburger
   + pannello a tutta pagina (costruito dallo script MOBILE_JS).
   ============================================================ */
.ucm-burger{display:none}
.ucm-panel{display:none}

@media (max-width:1000px){
  .uc-nav{display:none!important}
  .uc-header__inner{padding:12px 16px!important;gap:12px!important;min-width:0!important;justify-content:space-between!important}
  .uc-brand{min-width:0!important}
  .uc-brand__logo{height:34px!important}
  .uc-brand__tag{font-size:11px!important;line-height:1.25!important;padding-left:12px!important}

  /* rete di sicurezza: nessuna barra orizzontale */
  html,body{overflow-x:hidden!important;max-width:100%!important}

  /* barra in alto: una riga sola, senza voci che finiscono a capo */
  .uc-topbar__inner{padding:6px 16px!important;gap:12px!important;font-size:12px!important;row-gap:4px!important}
  .uc-topbar__spacer{display:none!important}
  .uc-topbar__search{display:none!important}
  .uc-topbar__inner > a[href="#"]{display:none!important}

  .ucm-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:0 10px;background:transparent;border:1px solid var(--line-blue,#DCE4EE);border-radius:6px;cursor:pointer;flex:0 0 auto}
  .ucm-burger span{display:block;height:2px;background:var(--navy,#193458);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
  .ucm-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .ucm-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .ucm-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .ucm-panel{display:block;position:fixed;left:0;right:0;top:0;bottom:0;background:#fff;z-index:300;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateX(100%);transition:transform .25s ease;visibility:hidden}
  .ucm-panel.is-open{transform:translateX(0);visibility:visible}
  .ucm-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-blue,#DCE4EE);position:sticky;top:0;background:#fff;z-index:2}
  .ucm-panel__head strong{font:700 13px/1 var(--brand-body,system-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--navy,#193458)}
  .ucm-close{width:44px;height:44px;border:0;background:transparent;font-size:30px;line-height:1;color:var(--navy,#193458);cursor:pointer}
  .ucm-panel ul{list-style:none;margin:0;padding:0}
  .ucm-panel a{display:block;padding:15px 16px;font:500 17px/1.3 var(--brand-body,system-ui);color:var(--navy,#193458);text-decoration:none;border-bottom:1px solid #EDF1F5}
  .ucm-panel a:active{background:#F4F7FB}
  .ucm-panel details>summary{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;font:500 17px/1.3 var(--brand-body,system-ui);color:var(--navy,#193458);border-bottom:1px solid #EDF1F5;cursor:pointer;list-style:none}
  .ucm-panel details>summary::-webkit-details-marker{display:none}
  .ucm-panel details>summary::after{content:"+";font-size:22px;font-weight:400;color:var(--accent,#C14048);margin-left:12px}
  .ucm-panel details[open]>summary::after{content:"-"}
  .ucm-panel details[open]>summary{background:#F4F7FB}
  .ucm-panel details ul a{padding:12px 16px 12px 30px;font-size:15px;font-weight:400;color:#3A4A63}
  .ucm-panel .ucm-grp{padding:14px 16px 6px 30px;font:700 11px/1.2 var(--brand-body,system-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--accent,#C14048)}
  .ucm-panel__cta{padding:18px 16px 40px}
  .ucm-panel__cta a{display:block;text-align:center;background:var(--navy,#193458);color:#fff!important;border:0;border-radius:26px;padding:14px 20px;font-weight:600;font-size:15px}
  body.ucm-lock{overflow:hidden!important}

  /* HERO home: titolo, testo e bottone dentro lo schermo; video a tutta larghezza */
  .uc-hero__row{grid-template-columns:1fr!important;min-height:0!important}
  .uc-hero__content{padding:32px 20px 34px!important}
  .uc-hero__pretitle{flex-wrap:wrap!important;font-size:11px!important;letter-spacing:1.4px!important;gap:8px!important;margin-bottom:14px!important}
  .uc-hero__pretitle::before{width:24px!important}
  .uc-hero h1{font-size:30px!important;line-height:1.12!important;max-width:none!important;margin-bottom:16px!important}
  .uc-hero__lead{font-size:16px!important;line-height:1.5!important;max-width:none!important;margin-bottom:24px!important}
  .uc-hero__actions{gap:10px!important}
  .uc-hero__btn{padding:12px 22px!important;font-size:14px!important}
  .uc-hero__pager,.uc-hero__controls{display:none!important}
  .uc-hero__media{-webkit-mask-image:none!important;mask-image:none!important;height:240px!important;min-height:240px!important}

  /* Impianto pagine interne: la colonna non deve piu' sfondare (era 395px su 375
     perche' le tabelle larghe allargavano la griglia) */
  .uc-main{grid-template-columns:minmax(0,1fr)!important}
  .uc-main > *{min-width:0!important}
  /* sul telefono prima il contenuto, il menu di sezione va in fondo */
  .uc-sidebar{max-width:100%!important;order:2!important;margin-top:28px!important;padding-top:20px!important;border-top:1px solid var(--line-blue,#DCE4EE)!important}
  .uc-main table{display:block!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}

  /* HERO pagine interne: velo piu' scuro, briciole e titolo leggibili sulla foto */
  .uc-page-hero__inner{padding:40px 20px 28px!important;min-height:220px!important}
  .uc-page-hero__img::after{background:linear-gradient(180deg,rgba(25,36,61,.30) 0%,rgba(25,36,61,.55) 45%,rgba(25,36,61,.86) 100%)!important}
  .uc-page-hero h1{font-size:29px!important;line-height:1.1!important}
  .uc-breadcrumb{font-size:12px!important;margin-bottom:12px!important}
}

/* Rifiniture dal controllo di tutte le 102 pagine (27/08/2026):
   - immagini con max-width in px scritto nel tag (es. 820px su bachelor-applied-languages)
   - tabelle senza classe coperta prima (uc-calendar-table su admissions)
   - griglie a 4 colonne scritte nel tag: i riquadri devono poter stringersi (admission-test) */
/* Valide a ogni larghezza: la pagina /privacy non aveva il vincolo sulle immagini,
   quindi il logo usciva a 2500px e la pagina era larga 2682 anche sul computer. */
img{max-width:100%}
.uc-brand__logo{width:auto!important}

@media (max-width:1000px){
  img{max-width:100%!important}
  table{display:block!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .uc-content [style*="grid-template-columns"] > *{min-width:0!important}
}

/* Riquadri a 3-4 colonne scritti nel tag: sul telefono vanno a 2 colonne,
   altrimenti le parole si spezzano ("Year-/round"). */
@media (max-width:600px){
  .uc-content [style*="repeat(4"], .uc-content [style*="repeat( 4"],
  .uc-content [style*="repeat(3"], .uc-content [style*="repeat( 3"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:560px){
  .uc-brand__tag,.uc-brand__divider{display:none!important}
}

/* Tablet orizzontale e portatili piccoli (1024-1340): il menu desktop chiedeva
   1318px e sfondava la pagina anche qui. Voci piu' compatte, senza hamburger. */
@media (min-width:1001px) and (max-width:1340px){
  .uc-brand__tag,.uc-brand__divider{display:none!important}
  .uc-header__inner{padding:14px 20px!important;gap:14px!important}
  .uc-nav > ul > li > a{padding:24px 11px!important;font-size:16px!important}
  .uc-nav > ul > li > a::after{left:11px!important;right:11px!important}
  .uc-cta{font-size:12px!important;padding:8px 14px!important;margin-left:8px!important}
}