@media(min-width:1001px){
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .program-card{padding:2rem}
  .program-card h3{font-size:clamp(2rem,2.8vw,3rem)}
  .program-card li{align-items:flex-end}
  .program-card li strong{text-align:right}
}
@media(min-width:801px) and (max-width:1000px){
  .cards{grid-template-columns:1fr 1fr}
}
.bandolin-class-image{object-position:center 30%}
.instrument-programs{padding:9rem 6vw;background:#d8d1c4;color:#111}
.instrument-heading{margin-bottom:4rem}
.instrument-heading h2{font-size:clamp(2.8rem,5.5vw,5.7rem);font-weight:500;margin-bottom:0}
.instrument-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:1px;background:#8e887c}
.instrument-layout .program-card{min-height:650px}
.instrument-teacher{background:#111;color:#f7f5f0;display:grid;grid-template-rows:minmax(360px,1.15fr) auto;min-height:650px}
.instrument-teacher>img{height:100%;min-height:430px;object-fit:cover;object-position:center 35%;filter:grayscale(.25) contrast(1.04)}
.instrument-teacher>div{padding:clamp(2rem,6vw,5rem)}
.instrument-teacher h3{font-size:clamp(2.6rem,5vw,5rem);font-weight:500;margin:0 0 1.5rem}
.instrument-teacher>div>p:not(.eyebrow){color:#aaa59d;font-size:1.08rem}
.danilo-instagram{display:inline-grid;place-items:center;margin-top:1rem;width:46px;height:46px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);transition:.25s}
.danilo-instagram:hover{background:var(--gold);color:#111;transform:translateY(-2px)}
.danilo-instagram svg{width:22px;height:22px;fill:currentColor}
.schedule{padding:9rem 6vw;background:#0b0b0b;color:#f7f5f0;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:start}
.schedule-copy h2{font-size:clamp(2.8rem,5.5vw,5.7rem);font-weight:500;margin-bottom:2rem}
.schedule-copy>p:not(.eyebrow){max-width:520px;color:#aaa59d;font-size:1.08rem}
.schedule-note{margin-top:3rem;padding:1.3rem 0;border-top:1px solid #38362f;border-bottom:1px solid #38362f;display:grid;gap:.3rem}
.schedule-note strong{color:var(--gold);text-transform:uppercase;letter-spacing:.15em;font-size:.7rem}
.schedule-note span{color:#c5c1b8}
.availability-key{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:1.5rem;color:#c5c1b8;font-size:.78rem}
.availability-key span{display:flex;align-items:center;gap:.45rem}
.availability-key i{display:block;width:16px;height:16px;border:1px solid #777}
.availability-key i.available{background:#fff}.availability-key i.occupied{background:#7899cf}.availability-key i.break{background:#e4cf21}
.schedule-tools{display:grid;gap:1px;background:#555149}
.availability-wrap{overflow-x:auto;background:#f4f1ea;padding:1rem}
.availability-table{width:100%;min-width:540px;border-collapse:collapse;color:#111;background:#fff;font-size:.78rem}
.availability-table caption{padding:.8rem;background:#111;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.availability-table th,.availability-table td{border:1px solid #777;height:31px;text-align:center}
.availability-table th{padding:.25rem .4rem;background:#eeeae1}
.availability-table td.available{background:#fff}.availability-table td.occupied{background:#7899cf}.availability-table td.break{background:#e4cf21}
.availability-table td.available{padding:0}
.availability-table td.available button{width:100%;height:31px;border:0;background:#fff;color:#111;cursor:pointer;font-size:0}
.availability-table td.available button:after{content:"Elegir";font-size:.64rem;text-transform:uppercase;letter-spacing:.05em}
.availability-table td.available button:hover,.availability-table td.available button:focus-visible{background:#f7df8b;outline:2px solid #111;outline-offset:-2px}
.availability-table td.available button.selected{background:var(--gold)}
.availability-table td.available button.selected:after{content:"Elegido"}
.schedule-form{background:#f4f1ea;color:#111;padding:clamp(1.5rem,4vw,3.2rem);display:grid;gap:1.3rem}
.schedule-form label{display:grid;gap:.5rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700}
.schedule-form input,.schedule-form select{width:100%;min-height:58px;border:1px solid #b9b3a8;background:#fff;padding:.8rem 1rem;color:#111;font:500 1rem/1.2 "DM Sans",sans-serif;border-radius:0}
.schedule-form input:focus,.schedule-form select:focus{outline:2px solid var(--gold);outline-offset:2px}
.schedule-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.schedule-form button{border:0;background:var(--gold);color:#111;min-height:60px;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;font:700 .78rem/1 "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.schedule-form button:disabled{background:#c9c4b9;color:#777;cursor:not-allowed}
.schedule-form>p{margin:0;color:#6b675f;font-size:.78rem}
.slot-selection{border:1px solid #b9b3a8;background:#fff;padding:1rem}
.slot-selection>strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}
.slot-selection>p{margin:.4rem 0;color:#6b675f;font-size:.86rem}
#selected-slots{display:flex;flex-wrap:wrap;gap:.5rem}
#selected-slots span{background:#111;color:#fff;padding:.35rem .6rem;font-size:.75rem}
@media(max-width:800px){
  .instrument-programs{padding:7rem 1.2rem}
  .instrument-layout{grid-template-columns:1fr}
  .instrument-teacher{grid-template-rows:auto auto}
  .instrument-teacher>img{min-height:0;height:auto;aspect-ratio:4/5;object-position:center 28%}
  .instrument-teacher>div{padding:2.4rem 1.5rem 3rem}
  .schedule{padding:7rem 1.2rem;grid-template-columns:1fr;gap:3rem}
  .schedule-row{grid-template-columns:1fr}
}
