/* AQ-2359: только список базовых курсов в бассейне. */
.aq-basic-list { color: var(--aq-color-text-heading); padding-bottom: var(--aq-space-7); }
.aq-basic-list .aq-section-title { margin-bottom: var(--aq-space-4); }
.aq-basic-list .course-intro { text-align: center; font-size: 18px; margin: 0 auto var(--aq-space-4); max-width: 850px; }
.aq-basic-list .course-about { margin: 0 auto var(--aq-space-6); max-width: 850px; }
.aq-basic-list summary { cursor: pointer; }
.aq-basic-list .course-about summary { text-align: center; font-weight: 600; }
.aq-basic-list .course-about p { margin-top: var(--aq-space-3); line-height: 1.6; }
.aq-basic-list .course-choose { font-size: 24px; margin-bottom: var(--aq-space-5); }
.aq-basic-list .course-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--aq-space-7); }
.aq-basic-list .course-card { background: var(--aq-color-surface-default); box-shadow: var(--aq-shadow-sm); display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.aq-basic-list .course-featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 2fr; }
.aq-basic-list .course-photo { display: block; position: relative; min-height: 245px; }
.aq-basic-list .course-photo > img { position: absolute; width: 100%; height: 100%; object-fit: cover; margin: 0; }
.aq-basic-list .course-featured .course-photo::after { content: ''; position: absolute; right: -1px; top: var(--aq-space-6); border: 14px solid transparent; border-left: 0; border-right-color: var(--aq-color-surface-default); }
.aq-basic-list .aq-card-location { left: var(--aq-space-4); right: var(--aq-space-4); bottom: var(--aq-space-4); font-size: 15px; white-space: normal; color: var(--aq-color-text-inverse); }
.aq-basic-list .course-info { padding: var(--aq-space-6); display: flex; flex: 1; flex-direction: column; min-width: 0; }
.aq-basic-list .course-status { font-size: 14px; color: var(--aq-color-text-muted-cool-strong); margin-bottom: var(--aq-space-2); }
.aq-basic-list .course-status-open { color: var(--aq-color-status-success-banner-default); }
.aq-basic-list .course-info h2 { font-size: 27px; line-height: 1.25; margin: 0 0 var(--aq-space-3); }
.aq-basic-list .course-info h2 a { color: var(--aq-color-text-heading); }
.aq-basic-list .course-format { align-self: flex-start; color: var(--aq-color-text-inverse); background: var(--aq-color-accent-default); font-size: 14px; padding: var(--aq-space-1) var(--aq-space-3); margin-bottom: var(--aq-space-4); }
.aq-basic-list .course-schedule { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--aq-space-4); margin-bottom: var(--aq-space-5); }
.aq-basic-list .course-featured .course-schedule { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.aq-basic-list .course-schedule-row { display: flex; align-items: stretch; gap: var(--aq-space-2); }
.aq-basic-list .course-label { display: block; font-size: 13px; line-height: 18px; color: var(--aq-color-text-muted-cool-strong); margin-bottom: var(--aq-space-1); }
.aq-basic-list .course-schedule strong { font-size: 17px; font-weight: 600; line-height: 24px; display: block; }
.aq-basic-list .course-schedule-text { min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.aq-basic-list .course-schedule-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 36px; min-height: 48px; overflow: hidden; background: var(--aq-color-bg-default); border-radius: var(--aq-radius-sm); }
.aq-basic-list .course-schedule-icon img { width: 28px; height: 34px; object-fit: contain; margin: 0; }
.aq-basic-list .course-practice-icon img { width: 36px; height: 46px; object-fit: cover; object-position: center bottom; clip-path: inset(4px 0 0 0); flex-shrink: 0; mix-blend-mode: multiply; }
.aq-basic-list .course-icon-filter { position: absolute; }
.aq-basic-list .course-icon-filter feFlood { flood-color: var(--aq-color-brand-primary); }
.aq-basic-list .course-theory-icon img { filter: url(#course-icon-blue); }
.aq-basic-list .course-trainer { display: flex; align-items: center; gap: var(--aq-space-3); margin-bottom: var(--aq-space-5); }
.aq-basic-list .course-trainer-photo { width: 42px; height: 42px; object-fit: cover; border-radius: var(--aq-radius-full); margin: 0; }
.aq-basic-list .course-trainer strong { font-size: 16px; }
.aq-basic-list .course-bottom { border-top: 1px solid var(--aq-color-border-line-soft); padding-top: var(--aq-space-4); margin-top: auto; }
.aq-basic-list .course-featured .course-bottom { display: flex; align-items: center; justify-content: space-between; gap: var(--aq-space-4); flex-wrap: wrap; }
.aq-basic-list .course-price { margin-bottom: var(--aq-space-4); }
.aq-basic-list .course-price strong { font-size: 27px; font-weight: 700; margin-right: var(--aq-space-3); }
.aq-basic-list .course-price del { font-size: 27px; font-weight: 700; color: var(--aq-color-text-heading); margin-right: var(--aq-space-3); text-decoration-thickness: 1px; }
.aq-basic-list .course-price .course-price-discount { font-size: 20px; font-weight: 400; color: var(--aq-color-text-muted-cool-strong); }
.aq-basic-list .course-price span { display: block; font-size: 13px; color: var(--aq-color-text-muted-cool-strong); margin-top: var(--aq-space-1); }
.aq-basic-list .course-cta { font-size: 15px; white-space: normal; padding: var(--aq-space-3) var(--aq-space-5); text-transform: uppercase; align-self: flex-start; }
.aq-basic-list .course-featured .course-price { margin-bottom: 0; }
.aq-basic-list .course-unavailable { margin-top: var(--aq-space-7); }
.aq-basic-list .course-archive { margin: var(--aq-space-7) 0; padding-top: var(--aq-space-5); border-top: 1px solid var(--aq-color-border-default); color: var(--aq-color-text-muted-cool-strong); }
.aq-basic-list .course-archive a { display: block; margin-top: var(--aq-space-4); }
.aq-basic-list a:focus-visible, .aq-basic-list summary:focus-visible { outline: 2px solid var(--aq-color-accent-default); outline-offset: var(--aq-space-1); }
@media (max-width: 767px) {
  .aq-basic-list .aq-section-title { font-size: 26px; line-height: 1.25; padding: 0 var(--aq-space-4); margin: var(--aq-space-6) 0 var(--aq-space-3); }
  .aq-basic-list .course-intro { text-align: left; font-size: 16px; line-height: 1.45; }
  .aq-basic-list .course-about summary { text-align: left; }
  .aq-basic-list .course-choose { font-size: 22px; }
  .aq-basic-list .course-grid { grid-template-columns: minmax(0, 1fr); gap: var(--aq-space-6); }
  .aq-basic-list .course-featured { display: flex; grid-column: auto; }
  .aq-basic-list .course-featured .course-schedule { grid-template-columns: minmax(0, 1fr); }
  .aq-basic-list .course-photo { min-height: 230px; }
  .aq-basic-list .course-featured .course-photo::after { display: none; }
  .aq-basic-list .course-info { padding: var(--aq-space-5); }
  .aq-basic-list .course-info h2 { font-size: 25px; }
  .aq-basic-list .course-featured .course-bottom { display: block; }
  .aq-basic-list .course-cta { display: block; width: 100%; font-size: 14px; }
  .aq-basic-list .course-price, .aq-basic-list .course-featured .course-price { margin-bottom: var(--aq-space-4); }
}
/* AQ-2559: общий каталог бассейновых курсов использует те же карточки. */
.aq-pool-list .pool-filters { display: flex; flex-wrap: wrap; gap: var(--aq-space-2); align-items: center; margin: var(--aq-space-5) 0 var(--aq-space-6); }
.aq-pool-list .pool-filters a { border: 1px solid var(--aq-color-border-default); padding: var(--aq-space-2) var(--aq-space-4); color: var(--aq-color-brand-primary); font-size: 15px; background: var(--aq-color-surface-default); }
.aq-pool-list .pool-filters .pool-filter-active { background: var(--aq-color-brand-primary); color: var(--aq-color-text-inverse); border-color: var(--aq-color-brand-primary); }
.aq-pool-list .pool-filters .pool-place { margin-left: auto; border: 0; background: transparent; font-size: 14px; text-decoration: underline; }
.aq-pool-list .course-audience { align-self: flex-start; font-size: 14px; font-weight: 700; color: var(--aq-color-brand-primary); margin-bottom: var(--aq-space-3); line-height: 1.5; }
.aq-pool-list .course-audience span { font-weight: 400; }
.aq-pool-list .course-intensive { border-top: 4px solid var(--aq-color-brand-primary); }
.aq-pool-list .course-intensive .course-info { background: var(--aq-color-primary-50); }
.aq-pool-list .course-intensive .course-type-label { display: inline-block; background: var(--aq-color-brand-primary); color: var(--aq-color-text-inverse); padding: var(--aq-space-1) var(--aq-space-3); }
.aq-pool-list .course-intensive .course-format { background: transparent; color: var(--aq-color-brand-primary); padding: 0; }
.aq-pool-list .course-intensive.course-featured .course-photo::after { border-right-color: var(--aq-color-primary-50); }
.aq-pool-list .course-archive summary { font-family: var(--aq-font-family-heading); font-size: 24px; }
@media (max-width: 767px) {
  .aq-pool-list .pool-filters .pool-place { margin-left: 0; padding-left: 0; flex-basis: 100%; }
}
