.academy-public-paths { min-width:0; color:var(--academy-ink,#222722); }
.academy-path-section-head { margin-bottom:18px; }
.academy-public-paths h4 { margin:0 0 9px; font-size:18px; font-weight:650; line-height:1.5; letter-spacing:-.025em; }
.academy-public-paths p { margin:7px 0 0; color:var(--academy-muted,#63665f); font-size:13px; line-height:1.75; word-break:keep-all; overflow-wrap:anywhere; }
.academy-public-paths .academy-path-label { display:block; color:#66634c; font-size:11px; font-weight:650; line-height:1.5; }
.academy-public-paths .academy-path-note { font-size:12px; }
.academy-pattern-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.academy-pattern-card { min-width:0; padding:22px; border:1px solid var(--academy-line,#d9dbd2); border-radius:5px; background:var(--academy-ivory,#f5f4ec); }
.academy-pattern-card h5 { margin:15px 0 8px; color:var(--academy-ink,#222722); font-size:18px; font-weight:600; line-height:1.45; }
.academy-pattern-card .academy-pattern-time { color:var(--academy-ink,#222722); }
.academy-pattern-time strong { display:block; font-size:21px; font-weight:600; font-variant-numeric:tabular-nums; }
.academy-path-steps { display:flex; flex-wrap:wrap; gap:12px 25px; padding:0; margin:0 0 28px; list-style:none; }
.academy-path-steps li { display:flex; align-items:center; gap:8px; color:var(--academy-muted,#63665f); font-size:12px; }
.academy-path-steps span { display:grid; place-items:center; width:25px; height:25px; border:1px solid var(--academy-line,#d9dbd2); border-radius:50%; font-size:11px; }
.academy-path-steps [aria-current="step"] { color:var(--academy-ink,#222722); font-weight:700; }
.academy-path-steps [aria-current="step"] span { background:#354833; border-color:#354833; color:#fff; }
.academy-private-programs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.academy-public-paths .academy-private-program { display:flex; flex-direction:column; align-items:flex-start; min-width:0; min-height:143px; padding:20px 16px; border:1px solid var(--academy-line,#d9dbd2); border-radius:5px; background:var(--academy-surface,#fffef9); color:var(--academy-ink,#222722); font:inherit; text-align:left; cursor:pointer; box-shadow:none; }
.academy-private-program > span { font-size:12px; line-height:1.5; }
.academy-private-program strong { margin:8px 0 14px; font-size:24px; font-weight:600; line-height:1.3; }
.academy-private-program small { margin-top:auto; font-size:11px; line-height:1.5; color:#5a6455; }
.academy-public-paths .academy-private-program[aria-pressed="true"] { border-color:#526849; background:#eef1e9; box-shadow:inset 0 0 0 1px #526849; }
.academy-public-paths .academy-private-program:hover { background:#f1f3ec; }
.academy-private-time { margin-top:26px; padding:25px; border:1px solid var(--academy-line,#d9dbd2); border-radius:5px; background:var(--academy-surface,#fffef9); }
.academy-public-paths .academy-private-summary { margin:5px 0 22px; color:var(--academy-ink,#222722); font-size:16px; font-weight:650; }
.academy-private-selection { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.academy-private-selection > div { min-width:0; }
.academy-public-paths .academy-path-change { flex-shrink:0; min-height:44px; font-size:12px; }
.academy-private-empty { padding:20px; margin:15px 0; background:var(--academy-ivory,#f5f4ec); border-radius:3px; }
.academy-private-empty strong { font-size:14px; line-height:1.6; }
.academy-path-contact { min-height:44px; margin-top:17px; }
.academy-private-week { display:grid; grid-template-columns:auto minmax(150px,260px); align-items:center; gap:8px 14px; margin:18px 0; }
.academy-private-week label { font-size:13px; font-weight:650; }
.academy-private-week select { width:100%; min-height:44px; padding:10px 34px 10px 12px; border:1px solid var(--academy-line,#d9dbd2); border-radius:5px; background:var(--academy-surface,#fffef9); color:var(--academy-ink,#222722); font:inherit; font-size:14px; }
.academy-private-week p { grid-column:1/-1; margin:0; font-size:12px; }
.academy-private-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; margin:22px 0 16px; }
.academy-public-paths :is(.academy-private-days,.academy-private-slots,.academy-private-coaches) button { min-width:0; min-height:44px; padding:11px; border:1px solid var(--academy-line,#d9dbd2); border-radius:5px; background:var(--academy-surface,#fffef9); color:var(--academy-ink,#222722); font:inherit; font-size:13px; cursor:pointer; }
.academy-private-days button { display:flex; flex-direction:column; align-items:center; gap:5px; }
.academy-private-days span { font-size:11px; }
.academy-public-paths :is(.academy-private-days,.academy-private-slots,.academy-private-coaches) button[aria-pressed="true"] { border-color:#526849; background:#eef1e9; box-shadow:inset 0 0 0 1px #526849; }
.academy-public-paths .academy-private-days button:disabled { color:#90928b; background:#f5f5f0; cursor:default; }
.academy-private-slots { display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:9px; }
.academy-private-slots button { font-variant-numeric:tabular-nums; }
.academy-private-slots span { font-size:11px; color:var(--academy-muted,#63665f); }
.academy-private-slots button span:last-child { display:block; margin-top:6px; }
.academy-private-coaches { margin-top:25px; padding-top:22px; border-top:1px solid var(--academy-line,#d9dbd2); }
.academy-private-coaches > div { display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }
.academy-private-coaches button { display:flex; flex-direction:column; align-items:flex-start; gap:5px; max-width:100%; text-align:left; overflow-wrap:anywhere; }
.academy-private-coaches button span { font-size:12px; line-height:1.5; color:var(--academy-muted,#63665f); }
.academy-public-paths .academy-private-chosen { color:#354833; font-weight:600; }
.academy-private-work { padding:18px; margin-top:23px; border:1px solid var(--academy-line,#d9dbd2); border-radius:5px; background:var(--academy-ivory,#f5f4ec); }
.academy-private-work summary { min-height:28px; font-size:14px; font-weight:650; cursor:pointer; }
.academy-private-work dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 24px; margin:14px 0 0; }
.academy-private-work dl > div { display:flex; gap:12px; font-size:12px; line-height:1.6; }
.academy-private-work dt { flex-shrink:0; font-weight:600; }
.academy-private-work dd { margin:0; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.academy-public-paths .academy-private-booking-note { margin-top:21px; font-size:12px; }
.academy-public-paths :is(button,[tabindex]):focus-visible { outline:3px solid #526849; outline-offset:3px; }
.academy-public-paths :is(select,summary):focus-visible { outline:3px solid #526849; outline-offset:3px; }
@media(max-width:900px) { .academy-private-programs { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:640px) {
  .academy-pattern-grid { grid-template-columns:minmax(0,1fr); }
  .academy-pattern-card { padding:20px; }
  .academy-private-programs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .academy-public-paths .academy-private-program { min-height:135px; padding:17px 14px; }
  .academy-private-time { padding:20px 16px; }
  .academy-path-steps { gap:10px 16px; }
  .academy-private-week { grid-template-columns:minmax(0,1fr); }
  .academy-private-days { gap:4px; }
  .academy-public-paths .academy-private-days button { padding:9px 3px; }
  .academy-private-work dl { grid-template-columns:minmax(0,1fr); }
  .academy-private-selection { flex-wrap:wrap; }
}
