/* One booking link and one dates button per lesson, shared by both search pages. */
.fs-mobile-result .fs-mobile-daytime,
.fs-mobile-result .fs-toggle-cell { display:none; }
@media (max-width:767px) {
  :is(#lessonResults,#fsLevelFinderResults) .fs-lessons-table { width:100%; min-width:0; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-lessons-table thead { display:none; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-lessons-table tbody { display:block; width:100%; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-lessons-table tr.fs-mobile-result {
    display:grid !important; grid-template-columns:minmax(0,1fr) max-content 52px 44px;
    grid-template-rows:auto auto; column-gap:4px; row-gap:0; align-items:center;
    width:100%; min-width:0; box-sizing:border-box; padding:10px 6px; margin:0 0 8px;
    border:1px solid #e2e8f0; border-radius:10px; background:#fff; box-shadow:none;
  }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result > td {
    min-width:0; width:auto !important; padding:0 !important; border:0; margin:0;
    text-align:left !important; font-size:13px; line-height:1.35; box-sizing:border-box;
  }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result > td::before { display:none !important; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result .fs-desktop-day,
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result > td[data-label="Time"] { display:none !important; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result > td[data-label="Day"] { grid-column:1; grid-row:1; align-self:end; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-daytime { display:block; font-weight:700; white-space:nowrap; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result > td[data-label="Location"] { grid-column:1; grid-row:2; align-self:start; font-size:12px; white-space:nowrap; color:#475569; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result > td[data-label="Price"] { grid-column:2; grid-row:1 / 3; font-weight:700; white-space:nowrap; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result > td[data-label="Book"] { grid-column:3; grid-row:1 / 3; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result > td.fs-toggle-cell { display:block !important; grid-column:4; grid-row:1 / 3; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result td[data-label="Book"] a.button {
    display:inline-flex !important; align-items:center; justify-content:center; width:52px !important;
    min-width:0 !important; max-width:none !important; min-height:44px; padding:0 3px !important;
    box-sizing:border-box; margin:0; font-size:0 !important; line-height:1.2; white-space:nowrap; border-radius:6px; background:#083b46; color:#fff;
  }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result td[data-label="Book"] a.button::before { content:"Book"; font-size:12px; line-height:1.2; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result td[data-label="Book"] .label { display:block; padding:0; font-size:11px; line-height:1.25; text-align:center; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-details-toggle {
    display:flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px;
    padding:0; margin:0; border:1px solid #cbd5e1; border-radius:8px; background:#f8fafc; color:#0f172a;
    box-shadow:none; cursor:pointer; box-sizing:border-box;
  }
  :is(#lessonResults,#fsLevelFinderResults) .fs-details-toggle:focus-visible { outline:2px solid #0369a1; outline-offset:2px; }
  .fs-details-chevron { width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); }
  .fs-details-toggle[aria-expanded="true"] .fs-details-chevron { transform:translateY(2px) rotate(225deg); }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result > td.fs-lesson-detail { display:none !important; }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result.fs-details-open > td.fs-lesson-detail {
    display:flex !important; grid-column:1 / -1; gap:12px; justify-content:space-between;
    align-items:center; padding:7px 2px !important; border-top:1px solid #eef2f6; margin-top:5px;
  }
  :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result.fs-details-open > td.fs-lesson-detail::before {
    display:block !important; content:attr(data-label); position:static; width:auto; flex:0 0 auto;
    padding:0; font-weight:600; color:#475569; text-align:left;
  }
}

/* Sold-out lessons remain readable and visible, with no booking action. */
:is(#lessonResults,#fsLevelFinderResults) tr.fs-is-sold-out,
:is(#lessonResults,#fsLevelFinderResults) tr.fs-is-sold-out > td { background:#fff1f2 !important; }
:is(#lessonResults,#fsLevelFinderResults) tr.fs-is-sold-out { border-color:#fecdd3; }
:is(#lessonResults,#fsLevelFinderResults) .fs-sold-out:disabled {
 display:inline-flex;align-items:center;justify-content:center;min-height:44px;
 padding:10px 16px;border:1px solid #fecaca;border-radius:6px;background:#fee2e2;color:#991b1b;
 opacity:1;cursor:not-allowed;font-size:14px;line-height:1.2;box-shadow:none;
}
@media(max-width:767px){
 :is(#lessonResults,#fsLevelFinderResults) .fs-mobile-result .fs-sold-out:disabled{
 width:52px!important;min-width:0;max-width:none!important;min-height:44px;padding:4px!important;
 font-size:11px!important;white-space:normal;box-sizing:border-box;margin:0;
 }
}
