/* The ticket stub sits above the full programme so wide timetables stay readable. */
.summit-course.family-design .quick-course {
  --ticket-pad: clamp(18px, 3vw, 40px);
  padding: 0 var(--ticket-pad) var(--ticket-pad);
  border: 1px solid #d6dfdc;
  border-radius: 18px;
  overflow: hidden;
}
.summit-course .quick-course .quick-top {
  position: relative;
  align-items: center;
  padding: var(--ticket-pad);
  margin: 0 calc(-1 * var(--ticket-pad)) 26px;
  background: #152b39;
  color: white;
  border-bottom: 2px dashed #9badac;
}
.summit-course .quick-top::before,
.summit-course .quick-top::after {
  content: '';
  position: absolute;
  bottom: -11px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #f5f4ed;
}
.summit-course .quick-top::before { left: -10px; }
.summit-course .quick-top::after { right: -10px; }
.summit-course.family-design .quick-top h3,
.summit-course.family-design .quick-top p,
.summit-course.family-design .quick-top .quick-price,
.summit-course.family-design .quick-top .quick-price :is(small, span, strong) {
  color: white;
}
.summit-course.family-design .quick-top .quick-price {
  background: transparent;
  border: 0;
  padding: 0;
}
.summit-course.family-design .quick-top .quick-price strong {
  display: block;
  font: 400 clamp(38px, 5vw, 64px)/1.15 Anton, sans-serif;
}
.summit-course .quick-price::before {
  content: '';
  display: block;
  width: 40px;
  height: 4px;
  background: #e5fa43;
  margin: 0 0 9px auto;
}
.summit-course.family-design .quick-course .availability-action {
  background: #25d366;
  color: #082d18;
  padding: 14px 20px;
  border-radius: 8px;
}
.summit-course.family-design .quick-course .availability-action small { color: inherit; }
.summit-course.family-design .quick-course .availability-action:hover { background: #43df7e; }
@media (max-width: 620px) {
  .summit-course .quick-course .quick-top { display: grid; gap: 18px; }
  .summit-course.family-design .quick-top .quick-price { text-align: left; align-items: flex-start; }
  .summit-course .quick-price::before { margin-left: 0; }
}

.course-weeks {
  display: grid;
  gap: .4em;
  margin: 0;
  padding: 0;
  list-style: none;
}
.summit-course .quick-course .level-tag {
  display: inline-block;
  padding: .22em .65em;
  margin-block: .12em;
  border-radius: 1em;
  font: 700 .9rem/1.4 Space, sans-serif;
  color: #132327;
}
.level-principiante { background: #a7ce29; }
.level-base { background: #54c385; }
.level-intermedio { background: #ffb740; }
.level-avanzato { background: #ff8452; }
.summit-course.family-design .quick-course .formula-level:has(.level-tag) {
  background: transparent;
  padding-inline: 0;
}
.summit-course .quick-course .duration-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .5rem 1rem;
  padding: 1rem 0;
  border-top: 1px solid #d5dfdc;
  line-height: 1.5;
}
.duration-line b { font-size: .85rem; letter-spacing: .06em; }
.duration-line span { flex: 1 1 16rem; }
.summit-course .quick-course .time-row { flex-wrap: wrap; }

.summit-course.family-design[data-theme] {
  --accent: #215bc0;
  --tint: #edf3ff;
}
.summit-course.family-design .quick-facts {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.4fr) minmax(0, .85fr);
}
.summit-course.family-design .quick-facts > div {
  background: #edf3ff;
  min-width: 0;
}
.summit-course .fact-duration dd { font-size: 1rem; }
.summit-course.family-design .quick-course :is(.christmas-program, .formula-option) {
  display: block;
  background: white;
  border: 1px solid #c5d5ea;
  border-radius: 14px;
  overflow: hidden;
  padding: 0;
}
.summit-course.family-design .quick-course .formula-grid { grid-template-columns: 1fr; }
.summit-course .quick-course .pass-head {
  background: #152b39;
  color: white;
  padding: clamp(16px, 3vw, 28px);
  border-bottom: 2px dashed #b2c6df;
}
.summit-course.family-design .quick-course .pass-head h4 {
  background: transparent;
  color: white;
  margin: 0;
  padding: 0;
  font: 700 1.25rem/1.4 Space,sans-serif;
}
.summit-course.family-design .pass-head .level-explanation { color: white; margin: 8px 0; }
.pass-meta { display: grid; grid-template-columns: 1fr 1.6fr 1fr; gap: 16px; margin: 18px 0 0; }
.pass-meta dt { font-size: .8rem; color: #e1edff; }
.pass-meta dd { margin: 4px 0 0; font-weight: 700; }
.pass-paper { padding: clamp(12px, 2vw, 24px); }
.summit-course.family-design .pass-paper .christmas-prices { margin: 0 auto; }
@media (max-width: 840px) {
  .summit-course.family-design .quick-facts { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .pass-meta { grid-template-columns: 1fr; gap: 8px; }
  .pass-meta > div { display: grid; grid-template-columns: 6rem 1fr; gap: 8px; }
  .pass-meta dd { margin: 0; }
}
.summit-course.family-design .quick-facts>div:first-child{border-left:1px solid #dce4e9}
.course-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px;margin-top:20px}
.summit-course.family-design .course-actions .button{margin:0;display:inline-flex;align-items:center}
.summit-course.family-design .course-actions .online-action{background:#e5fa43;color:#152b39;border-radius:8px;padding:14px 22px}
.summit-course.family-design .period-picker>div{grid-template-columns:repeat(auto-fit,minmax(min(145px,100%),1fr))}
.summit-course.family-design .course-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:42rem}
.summit-course.family-design .quick-course .course-actions .button{width:100%;max-width:none;min-height:60px;justify-content:center;gap:12px;padding:12px 16px;text-transform:none}
.summit-course.family-design .course-actions .button .action-copy{font:700 1rem/1.3 Space,sans-serif;letter-spacing:0}
.summit-course.family-design .course-actions .button>span:last-child{font-size:1.15rem}
.group-name{margin:1.4rem 0 1rem}
.season-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:1.25rem}
.season-choices button{background:white;border:1px solid #b2c4ce;color:#152b39;border-radius:6px;padding:14px 10px;font:700 1rem/1.3 Space,sans-serif;cursor:pointer}
.season-choices button[aria-pressed=true]{background:#152b39;color:#edff4c;border-color:#152b39}
.season-ticket{border:1px solid #bbcbd5;border-radius:14px;overflow:hidden;margin-top:1.1rem}
.season-ticket[hidden]{display:none}
.season-head{background:#152b39;color:white;padding:clamp(18px,3vw,32px);border-bottom:2px dashed #aabec9}
.season-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.summit-course.family-design .season-heading :is(h3,h4){font:400 clamp(1.65rem,4vw,3.3rem)/1.05 Anton,sans-serif;color:white;margin:0;padding:0;background:transparent}
.summit-course.family-design .season-heading .quick-price{flex:none;background:transparent;color:white;text-align:right;padding:0;border:0}
.season-heading .quick-price::before{display:none}
.summit-course.family-design .season-heading .quick-price strong{font:400 clamp(1.9rem,4vw,3.5rem)/1.05 Anton,sans-serif;color:white}
.summit-course.family-design .season-heading .quick-price span{display:block;color:#d3e1eb;font-size:.8rem}
.season-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 0;padding-top:16px;border-top:1px solid #ffffff40}
.season-meta dt{font-size:.85rem;color:#c5d8e4}.season-meta dd{margin:4px 0 0;font-weight:700}
.season-paper{background:white;padding:clamp(12px,2.5vw,26px)}
.season-paper table{width:100%;border-collapse:collapse;font:inherit}
.season-paper th,.season-paper td{padding:10px;text-align:left;border-bottom:1px solid #dce5eb}
.season-paper thead{color:#435e70}.season-paper tbody th{font-weight:400}.season-paper tbody tr:nth-child(odd){background:#f0f4f7}
.season-paper tr>*:last-child{text-align:right;white-space:nowrap}
.season-note-copy{margin:18px 0}
@media(max-width:560px){.summit-course.family-design .course-actions{grid-template-columns:1fr}.season-choices{gap:5px}.season-choices button{font-size:.875rem;padding:10px 4px}.season-meta{grid-template-columns:1fr;gap:6px}.season-meta>div{display:grid;grid-template-columns:4rem 1fr}.season-meta dd{margin:0}.season-heading{align-items:flex-start}.season-paper th,.season-paper td{padding:8px 5px}}
/* Shared timetable and tariff layout. */
.summit-course.family-design .quick-course table:is(.christmas-prices,.season-paper table){
 width:100%;max-width:none;table-layout:auto;border:0;border-collapse:collapse;border-radius:0;background:white;font:400 1rem/1.45 Space,sans-serif
}
.summit-course.family-design .quick-course table :is(thead,tbody) tr>:is(th,td){
 font:inherit;font-variant-numeric:tabular-nums;color:#152f3a;background:transparent;border:0;border-bottom:1px solid #d9e4eb;text-align:right;padding:10px;white-space:normal
}
.summit-course.family-design .quick-course table thead tr>th{font-weight:700;color:#405c6c;background:white}
.summit-course.family-design .quick-course table tr>:first-child{text-align:left}
.summit-course.family-design .quick-course table tbody tr:nth-child(odd){background:#eff4f7}
.summit-course.family-design .quick-course table tbody tr:nth-child(even){background:white}
@media(max-width:560px){.summit-course.family-design .quick-course table :is(thead,tbody) tr>:is(th,td){padding:8px 5px;font-size:.875rem}}
