/* Academy: proposta 1, Agenda giallorossa. Tutte le regole sono limitate alla nuova sezione. */
#vivaio-main #academy-matches{--line:#d7d7d0;--gray:#656565;padding:40px 5% 38px;border-top:1px solid var(--line);background:var(--paper);line-height:normal;scroll-margin-top:12px}
#academy-matches h3,#academy-matches p,#academy-matches figure{margin:0}
#academy-matches button{border-radius:0}
#academy-matches button:focus-visible,#academy-matches a:focus-visible,#academy-matches summary:focus-visible{outline:3px solid #177ccd;outline-offset:4px}
#vivaio-main #academy-matches .am-title{font-family:BarlowCondensed,Impact,sans-serif;font-size:66px;line-height:.96;letter-spacing:-.025em}
#academy-matches .am-title em{font-style:normal;color:var(--red)}
#academy-matches .am-eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em}
#academy-matches .am-section-line{display:flex;justify-content:space-between;gap:15px;font-size:12px;letter-spacing:.1em;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:25px}
#academy-matches .am-section-line>span:first-child:before{content:'';display:inline-block;width:24px;height:3px;background:var(--red);vertical-align:middle;margin-right:9px}
#academy-matches .am-agenda-grid{display:grid;grid-template-columns:.86fr 1.3fr;gap:7%}
#academy-matches .am-agenda-story>p{font-size:15px;color:var(--gray);line-height:1.5;margin:15px 0 20px}
#academy-matches .am-academy-photo{position:relative;max-width:315px;border-left:5px solid var(--yellow)}
#academy-matches .am-academy-photo img{display:block;width:100%;height:auto;aspect-ratio:1.9;object-fit:cover;object-position:50% 57%}
#academy-matches .am-academy-photo figcaption{position:absolute;left:0;bottom:0;padding:7px 10px;font-size:12px;letter-spacing:.05em;background:#201e1ded;color:white}
#academy-matches .am-photo-credit{display:block;font-size:12px;color:var(--gray);margin-top:5px}
#academy-matches .am-program-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}
#academy-matches .am-program-heading .am-eyebrow{color:var(--red)}
#academy-matches .am-weekend{font:700 22px/normal BarlowCondensed,Impact,sans-serif}
#academy-matches .am-groups{display:flex;gap:7px;flex-wrap:wrap}
#academy-matches .am-groups button{border:1px solid #d5d5ce;background:transparent;color:inherit;font-size:13px;font-weight:700;min-height:40px;padding:9px 16px}
#academy-matches .am-groups button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
#academy-matches .am-groups button:hover{border-color:var(--red)}
#academy-matches .am-agenda-program div.am-program-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin:16px 0;min-width:0}
#academy-matches .am-program-tools > div.am-periods{display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}
#academy-matches .am-program-tools > div.am-periods button{display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:100%;min-height:48px;padding:12px 16px;border:1px solid #b8b8b0;background:white;font:700 16px/1.25 Barlow,Arial,sans-serif;color:var(--ink);text-align:center;white-space:normal}
#academy-matches .am-program-tools > div.am-periods button:hover{border-color:var(--red)}
#academy-matches .am-program-tools > div.am-periods button[aria-pressed=true]{background:var(--red);color:white;border-color:var(--red)}
#academy-matches .am-result-count{font-size:12px;color:var(--gray)}
#academy-matches .am-matches{display:grid;gap:13px;min-width:0}
#academy-matches .am-match-card{background:white;border:1px solid var(--line);border-left:4px solid var(--yellow);min-width:0}
#academy-matches .am-match-top{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:13px 18px 0}
#academy-matches .am-match-top h3{font-family:Barlow,Arial,sans-serif;font-size:12px;line-height:normal;letter-spacing:.075em;color:var(--red)}
#academy-matches .am-location{font-size:12px;font-weight:700;letter-spacing:.03em;padding:4px 6px;background:#f0f0ea}
#academy-matches .am-match-main{display:flex;gap:18px;align-items:center;padding:15px 18px}
#academy-matches .am-match-date{display:flex;align-items:center;gap:7px;border-right:1px solid var(--line);padding-right:17px;flex-shrink:0;line-height:1;font-family:BarlowCondensed,Impact,sans-serif;font-weight:700}
#academy-matches .am-match-date strong{font-size:48px}
#academy-matches .am-match-date>span{font-size:21px}
#academy-matches .am-match-date small{display:block;font-family:Barlow,Arial,sans-serif;font-weight:400;font-size:12px;margin-top:3px}
#academy-matches .am-match-body{flex:1;min-width:0}
#academy-matches .am-competition{font-size:12px;color:var(--gray);margin-bottom:7px}
#academy-matches .am-teams{display:flex;flex-direction:column;gap:3px}
#academy-matches .am-team{font:700 23px/1.05 BarlowCondensed,Impact,sans-serif;text-transform:uppercase}
#academy-matches .am-our-team{color:var(--red)}
#academy-matches .am-versus{display:inline-block;font:700 13px/1.2 Arial,sans-serif;letter-spacing:.06em;color:#c11718;white-space:nowrap}
#academy-matches .am-match-venue{font-size:12px;margin-top:9px;color:var(--gray)}
#academy-matches .am-match-time{display:flex;flex-direction:column;gap:3px;align-items:flex-end}
#academy-matches .am-match-time>span{font-size:12px;letter-spacing:.07em}
#academy-matches .am-match-time strong{font:700 28px/normal BarlowCondensed,Impact,sans-serif}
#academy-matches .am-match-bottom{border-top:1px solid #e9e9e2;padding:9px 18px;display:flex;justify-content:space-between;gap:9px;font-size:12px;color:var(--gray)}
#academy-matches .am-match-bottom a{color:var(--ink);font-weight:600}
#academy-matches .am-match-bottom a:hover,#academy-matches .am-pending>a:hover{text-decoration:underline}
#academy-matches .am-pending{display:flex;align-items:center;gap:13px;padding:15px 17px;background:#eaeae3;min-width:0}
#academy-matches .am-pending-symbol{font:700 29px/normal BarlowCondensed,Impact,sans-serif;color:#858577}
#academy-matches .am-pending .am-eyebrow{font-size:12px;letter-spacing:.07em;color:#64645b}
#academy-matches .am-pending h3{font-family:Barlow,Arial,sans-serif;font-size:13px;line-height:normal;margin:4px 0}
#academy-matches .am-pending div>p:last-child{font-size:12px;line-height:1.4;color:#64645b}
#academy-matches .am-pending>a{font-size:12px;font-weight:600;margin-left:auto;flex-shrink:0}
#academy-matches .am-empty-state{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:321px;padding:25px;background:white;border:1px solid var(--line)}
#academy-matches .am-empty-icon{font-family:BarlowCondensed,Impact,sans-serif;font-size:53px;line-height:.7;color:var(--red);margin-bottom:27px}
#academy-matches .am-empty-state h3{font-size:34px;line-height:normal;margin:12px 0}
#academy-matches .am-empty-state>p:not(.am-eyebrow){font-size:14px;line-height:1.5;color:var(--gray);max-width:340px}
#academy-matches .am-return-next{margin-top:22px;padding:12px 14px;background:var(--ink);border:0;color:white;font-size:12px;font-weight:600}
#academy-matches .am-return-next span{margin-left:18px}
#academy-matches .am-source-note{margin-top:28px;padding-top:16px;border-top:1px solid var(--line);color:var(--gray);font-size:12px;line-height:1.55}
#academy-matches .am-source-summary{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
#academy-matches .am-source-summary>a{font-weight:600;color:var(--ink)}
#academy-matches .am-source-note details{margin-top:7px}
#academy-matches .am-source-note summary{cursor:pointer;width:fit-content;text-decoration:underline;text-underline-offset:3px;padding:7px 0}
#academy-matches .am-sources{max-width:1000px;font-size:13px}
#academy-matches .am-sources p{margin-top:13px}
#academy-matches .am-sources a{text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
@media(max-width:1100px) and (min-width:721px){
 #academy-matches .am-agenda-grid{gap:4%;grid-template-columns:.75fr 1.3fr}
 #vivaio-main #academy-matches .am-title{font-size:58px}
 #academy-matches .am-team{font-size:20px}
 #academy-matches .am-match-main{gap:12px;padding-inline:14px}
 #academy-matches .am-match-date{padding-right:11px}
 #academy-matches .am-match-date strong{font-size:42px}
 #academy-matches .am-match-date>span{font-size:18px}
 #academy-matches .am-match-time strong{font-size:25px}
 #academy-matches .am-pending{flex-wrap:wrap}
 #academy-matches .am-pending>a{margin-left:42px}
}
@media(max-width:720px){
 #vivaio-main #academy-matches{padding:32px 6%}
 #academy-matches .am-section-line{font-size:12px;letter-spacing:.03em;padding-bottom:16px;margin-bottom:23px}
 #academy-matches .am-section-line>span:first-child:before{width:15px;margin-right:6px}
 #vivaio-main #academy-matches .am-title{font-size:57px}
 #academy-matches .am-agenda-grid{display:flex;flex-direction:column;gap:29px}
 #academy-matches .am-agenda-story{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
 #academy-matches .am-title{grid-column:1/-1}
 #academy-matches .am-title br:nth-of-type(2){display:none}
 #academy-matches .am-agenda-story>p{font-size:13px;margin:0;line-height:1.6}
 #academy-matches .am-academy-photo{grid-column:2;grid-row:2 / 4}
 #academy-matches .am-academy-photo figcaption{font-size:12px;padding:5px}
 #academy-matches .am-photo-credit{grid-row:3;font-size:12px;margin:0}
 #academy-matches .am-program-heading{margin-bottom:16px}
 #academy-matches .am-groups{gap:6px}
 #academy-matches .am-groups button{flex:1;padding:10px 9px;min-height:42px;font-size:12px}
 #academy-matches .am-agenda-program div.am-program-tools{align-items:stretch;flex-direction:column;gap:12px;margin:14px 0}
 #academy-matches .am-program-tools > div.am-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
 #academy-matches .am-program-tools > div.am-periods button{padding-inline:10px}
 #academy-matches .am-result-count{font-size:12px}
 #academy-matches .am-match-main{gap:12px;padding:14px}
 #academy-matches .am-match-date{padding-right:10px;gap:5px}
 #academy-matches .am-match-date strong{font-size:40px}
 #academy-matches .am-match-date>span{font-size:17px}
 #academy-matches .am-match-date small{font-size:12px}
 #academy-matches .am-match-time strong{font-size:24px}
 #academy-matches .am-match-time>span{font-size:12px;letter-spacing:0}
 #academy-matches .am-match-top{padding:13px 14px 0}
 #academy-matches .am-match-top h3{font-size:12px}
 #academy-matches .am-location{font-size:12px}
 #academy-matches .am-team{font-size:20px}
 #academy-matches .am-competition{font-size:12px;margin-bottom:7px}
 #academy-matches .am-match-venue{font-size:12px;line-height:1.3}
 #academy-matches .am-match-bottom{padding:10px 14px;font-size:12px;line-height:1.4;gap:7px;flex-wrap:wrap}
 #academy-matches .am-match-bottom a{font-size:12px}
 #academy-matches .am-pending{padding:15px 14px;gap:10px;flex-wrap:wrap}
 #academy-matches .am-pending>div{flex:1;min-width:160px}
 #academy-matches .am-pending h3{font-size:12px}
 #academy-matches .am-pending div>p:last-child{font-size:12px}
 #academy-matches .am-pending>a{margin:3px 0 0 39px}
 #academy-matches .am-empty-state{padding:23px;min-height:300px}
 #academy-matches .am-empty-state h3{font-size:30px}
 #academy-matches .am-empty-state>p:not(.am-eyebrow){font-size:13px}
 #academy-matches .am-source-summary{gap:10px}
 #academy-matches .am-source-note details{margin-top:11px}
 #academy-matches .am-sources{font-size:12px}
}
@media(max-width:350px){
 #vivaio-main #academy-matches .am-title{font-size:50px}
 #academy-matches .am-groups button{padding-inline:6px}
 #academy-matches .am-match-main{gap:9px}
 #academy-matches .am-match-date{padding-right:8px;gap:4px}
 #academy-matches .am-match-date strong{font-size:35px}
 #academy-matches .am-match-date>span{font-size:15px}
 #academy-matches .am-team{font-size:18px}
 #academy-matches .am-match-time strong{font-size:22px}
}

/* Metadati leggibili e spazio per nomi, data e orario sui telefoni. */
#academy-matches .am-section-line{line-height:1.5}
#academy-matches .am-match-top{flex-wrap:wrap}
#academy-matches .am-match-bottom{flex-wrap:wrap;line-height:1.5}
#academy-matches .am-pending{flex-wrap:wrap}
#academy-matches .am-photo-credit{line-height:1.5}
@media(max-width:720px){
 #academy-matches .am-section-line{flex-direction:column;gap:6px}
 #academy-matches .am-academy-photo figcaption{position:static;line-height:1.4;padding:7px}
 #academy-matches .am-match-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px}
 #academy-matches .am-match-time{grid-column:2;flex-direction:row;justify-content:flex-start;align-items:baseline;gap:10px}
 #academy-matches .am-match-bottom a,#academy-matches .am-pending>a{display:inline-flex;align-items:center;min-height:44px}
 #academy-matches .am-groups button{min-height:44px}
}

/* Consultazione mensile del calendario, limitata alle partite Academy. */
#academy-matches [hidden]{display:none!important}
#academy-matches .am-month-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:end;gap:10px;margin:19px 0 5px}
#academy-matches .am-month-nav button{height:44px;border:1px solid var(--line);background:white;color:var(--ink);font-size:20px}
#academy-matches .am-month-nav button:disabled{opacity:.4;cursor:default}
#academy-matches .am-month-nav label{min-width:0}
#academy-matches .am-month-nav label>span{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:6px}
#academy-matches .am-month-nav select{display:block;width:100%;min-width:0;height:44px;border:1px solid var(--line);border-radius:0;background:white;color:var(--ink);font:600 14px Barlow,Arial,sans-serif;padding:0 10px;text-transform:capitalize}
#academy-matches .am-month-nav select:focus-visible{outline:3px solid #177ccd;outline-offset:3px}
#academy-matches .am-more{display:block;width:100%;min-height:46px;margin-top:14px;padding:12px;background:var(--ink);color:white;font:600 13px Barlow,Arial,sans-serif;border:0}
#academy-matches .am-program-heading{gap:12px;flex-wrap:wrap}
#academy-matches .am-match-card h3:focus{outline:2px solid #177ccd;outline-offset:3px}
@media(max-width:350px){#academy-matches .am-month-nav{gap:7px}}

/* Result boxes only: keep category-specific card layouts and scheduled times intact. */
:is(#vivaio-main,#under15-main,#under17-main,#juniores-main) #academy-matches div.am-match-time.am-result-box{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;gap:6px;width:max-content;min-width:112px;max-width:min(100%,180px);padding:12px;border:0;background:var(--yellow);color:var(--ink);text-align:center;line-height:1.25;flex-shrink:0}
:is(#vivaio-main,#under15-main,#under17-main,#juniores-main) #academy-matches div.am-match-time.am-result-box>span{font:700 11px/1.25 Barlow,Arial,sans-serif;letter-spacing:.02em;max-width:100%;white-space:normal}
:is(#vivaio-main,#under15-main,#under17-main,#juniores-main) #academy-matches div.am-match-time.am-result-box>strong{font:700 36px/1 BarlowCondensed,Impact,sans-serif;letter-spacing:.01em;font-variant-numeric:tabular-nums;max-width:100%;white-space:normal;overflow-wrap:normal}
:is(#vivaio-main,#under15-main,#under17-main,#juniores-main) #academy-matches div.am-match-time.am-result-box.am-result-awaiting{min-width:80px;padding:8px;background:transparent;color:var(--gray)}
:is(#vivaio-main,#under15-main,#under17-main,#juniores-main) #academy-matches div.am-match-time.am-result-box.am-result-awaiting>strong{font-size:28px}
:is(#vivaio-main,#under15-main,#under17-main,#juniores-main) #academy-matches div.am-match-time.am-result-box .am-previous-score,:is(#vivaio-main,#under15-main,#under17-main,#juniores-main) #academy-matches div.am-match-time.am-result-box .am-previous-score strong{font:500 11px/1.35 Barlow,Arial,sans-serif;letter-spacing:0;color:#62574f;max-width:100%;white-space:normal}
@media(max-width:720px){
 :is(#vivaio-main,#under15-main,#under17-main,#juniores-main) #academy-matches div.am-match-time.am-result-box{width:112px;min-width:0;max-width:100%}
 :is(#vivaio-main,#under15-main,#under17-main,#juniores-main) #academy-matches div.am-match-time.am-result-box>strong{font-size:34px}
 :is(#vivaio-main,#under15-main,#under17-main,#juniores-main) #academy-matches div.am-match-time.am-result-box.am-result-awaiting{width:max-content;min-width:80px}
}
