/* ===========================
   TARK RESULTS MODULE (CLEAN)
   scope: .tark-results
   Contains: TOPBAR, TITLE/VIEW SWITCH, RESULTS (grid/list/table), PAGINATION
   =========================== */

.tark-results{
  /* theme tokens */
  --tark-primary:   #2196f3;
  --tark-primary-2: #239bd3;
  --tark-text:      #3C4147;
  --tark-muted:     #6b7280;
  --tark-bg:        #f8fafc;

  --tark-radius: 12px;
  --tark-gap:    16px;
  --tark-shadow: 0 6px 16px rgba(0,0,0,.06);

  /* switches + table + cards */
  --vs-font-size:   13px;
  --vs-pad-y:       6px;
  --vs-pad-x:       10px;

  --tbl-font-size:  13.5px;
  --tbl-cell-pad-y: 8px;
  --tbl-cell-pad-x: 10px;
  --tbl-col-1:      26%;
  --tbl-col-last:   14%;

  --card-brand-col: 200px; /* right column for brand/logo */
  color: var(--tark-text);
}

/* ---------- TOPBAR (compact) ---------- */
.tark-results .filters-topbar.-v2{
  --ftb-gap: 10px;
  background:#fff; border:1px solid #e5e7eb; border-radius:8px;
  padding:10px 12px; margin:12px 0 8px;
}
.tark-results .tark-filters.-topbar{ background:transparent; border:0; padding:0; margin:0; }
.tark-results .filters-topbar.-v2 .ftb-grid{ display:flex; align-items:center; gap:var(--ftb-gap); flex-wrap:nowrap; }
.tark-results .filters-topbar.-v2 .ftb-item{ min-width:0; flex:0 0 auto; }
.tark-results .filters-topbar.-v2 .ftb-q{ flex:1 1 280px; min-width:200px; }
.tark-results .filters-topbar.-v2 .ftb-q input[type="search"]{
  width:100%; padding:8px 10px; border:1px solid #d1d5db; border-radius:8px; background:#fff; font:inherit; box-sizing:border-box;
}
.tark-results .filters-topbar.-v2 input[type="search"],
.tark-results .filters-topbar.-v2 input[type="date"],
.tark-results .filters-topbar.-v2 input[name="date_from"],
.tark-results .filters-topbar.-v2 input[name="date_to"],
.tark-results .filters-topbar.-v2 select{
  height:36px; padding:8px 10px; border:1px solid #d1d5db; border-radius:8px; background:#fff; font:inherit; box-sizing:border-box; max-width:100%;
}
.tark-results .filters-topbar.-v2 .ftb-dates{ display:flex; align-items:center; white-space:nowrap; }
.tark-results .filters-topbar.-v2 .ftb-dates .ftb-label{ margin-right:8px; }
.tark-results .filters-topbar.-v2 .ftb-dates .dash{ padding:0 4px; color:#6b7280; }
.tark-results .filters-topbar.-v2 .ftb-dates input[type="date"],
.tark-results .filters-topbar.-v2 .ftb-dates input[name="date_from"],
.tark-results .filters-topbar.-v2 .ftb-dates input[name="date_to"]{ width:130px; }
.tark-results .filters-topbar.-v2 .ftb-sort select{ min-width:140px; }

.tark-results .filters-topbar.-v2 .sort-toggle,
.tark-results .filters-topbar.-v2 .btn{
  display:inline-flex; align-items:center; gap:8px;
  height:36px; padding:0 10px; line-height:1;
  border-radius:8px; cursor:pointer; user-select:none; text-decoration:none;
  border:1px solid #2a8f1e; background:#3cab28; color:#fff; -webkit-tap-highlight-color:transparent;
}
.tark-results .filters-topbar.-v2 .btn.-ghost{ background:transparent; color:#3cab28; border-color:#3cab28; }
.tark-results .filters-topbar.-v2 .btn.-danger{ border-color:#dc2626; background:#ef4444; color:#fff; }
.tark-results .filters-topbar.-v2 .btn.-danger:hover{ background:#dc2626; border-color:#b91c1c; }
.tark-results .filters-topbar.-v2 .btn.-danger:active{ background:#b91c1c; border-color:#991b1b; transform:translateY(1px); }
.tark-results .filters-topbar.-v2 .btn:focus-visible,
.tark-results .filters-topbar.-v2 .sort-toggle:focus-visible{ outline:none; box-shadow:0 0 0 3px rgba(33,150,243,.20); }
.tark-results .filters-topbar.-v2 .ftb-sort .sort-toggle{ margin-left:var(--ftb-gap); }

@media (max-width:980px){
  .tark-results .filters-topbar.-v2 .ftb-grid{ flex-wrap:wrap; }
  .tark-results .filters-topbar.-v2 .ftb-q{ flex:1 1 100%; }
}

/* ---------- TITLE + VIEW SWITCH ---------- */
.tark-results .training-results-wrap{ display:flex; align-items:center; gap:12px; margin:24px 0 16px; }
.tark-results .training-results-wrap .section-title{ margin:0; }
.tark-results .training-results-wrap .view-switch{ margin-left:auto; display:flex; gap:6px; flex-wrap:wrap; }
.tark-results .view-switch .vs-btn{
  all:unset; display:inline-flex; align-items:center; justify-content:center;
  gap:.4rem; padding:var(--vs-pad-y) var(--vs-pad-x);
  border:1px solid #e5e7eb; border-radius:999px; background:#fff;
  color:#374151; font:var(--vs-font-size)/1 inherit; cursor:pointer;
  transition:box-shadow .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
}
.tark-results .view-switch .vs-btn:hover{ border-color:var(--tark-primary-2); }
.tark-results .view-switch .vs-btn.is-active{ background:var(--tark-primary); color:#fff; border-color:var(--tark-primary); box-shadow:0 4px 12px rgba(33,150,243,.20); }

/* ---------- RESULTS WRAPPER ---------- */
.tark-results #training-results{ display:grid; gap:20px; margin:20px 0; }
.tark-results #training-results.view-grid  { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tark-results #training-results.view-list  { grid-template-columns:1fr; }
.tark-results #training-results.view-table { grid-template-columns:1fr; gap:0; }
@media (max-width:900px){ .tark-results #training-results.view-grid{ grid-template-columns:1fr; } }

/* ============ CARDS (GRID) ============ */
.tark-results .course-card {
  border: 1px solid #e5e7eb;
  border-radius: var(--tark-radius);
  background: #fff;
  padding: 18px;
  box-shadow: var(--tark-shadow);
  display: grid;
  grid-template-columns: 1fr var(--card-brand-col);
  grid-template-areas:
    "title  title"
    "excrp  excrp"
    "events events"
    "price  brand"
    "dprice brand"
    "cta    brand";
  gap: 10px 10px;
}

.tark-results .cc-main,
.tark-results .cc-side {
  display: contents;
}

/* header & excerpt */
.tark-results .cc-title{ grid-area:title; font-size:20px; margin:0; color:#4c1d95; }
.tark-results .cc-title a{ color:inherit; text-decoration:underline; }
.tark-results .cc-excerpt{ grid-area:excrp; margin:0; color:#3C4147; line-height:1.6; }

/* ============ EVENTS + TOGGLE ============ */
.tark-results .cc-events-wrapper {
  grid-area: events;
  display: block;
}

.tark-results .cc-events {
  list-style: none;
  margin: 0;
  padding: 0;
  color: #555;
}

.tark-results .cc-events li {
  margin: 0 0 6px;
  list-style: none;
}

.tark-results .cc-events li::before {
  display: none;
}

.tark-results .cc-events.-collapsed li:nth-child(n+3) {
  display: none;
}

/* Location style: subtly distinct (smaller, italic, muted) */
.tark-results .cc-events .loc{
  font-style: italic;
  color: var(--tark-muted);
  font-size: 12.5px;
  font-weight: 500; /* slightly stronger without full bold */
}

.tark-results .cc-events-toggle {
  display: block;
  margin: 6px 0 0 0;
  padding: 0;
  background: transparent;
  border: none;
  color: #555;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.2s ease;
}

.tark-results .cc-events-toggle:hover {
  color: #2196f3;
  text-decoration: underline;
}

.tark-results .cc-events-toggle::before {
  content: "▼ ";
  font-size: 9px;
  margin-right: 3px;
  display: inline-block;
}

.tark-results .cc-events:not(.-collapsed) + .cc-events-toggle::before {
  content: "▲ ";
}

/* ============ PRICE BLOCKS ============ */
.tark-results .cc-price {
  grid-area: price;
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.tark-results .cc-discount {
  grid-area: dprice;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  row-gap: 2px;
}

.tark-results .cc-price::before {
  content: "Hind";
  display: inline;
  font-size: 12px;
  color: var(--tark-muted);
  font-weight: 400;
}

.tark-results .cc-discount::before {
  content: "Soodushind";
  display: inline;
  font-size: 12px;
  color: var(--tark-muted);
  font-weight: 400;
  flex-shrink: 0;
}

.tark-results .cc-price .p {
  font-weight: 700;
  font-size: 20px;
}

.tark-results .cc-discount .dp {
  font-weight: 700;
  font-size: 18px;
  color: #c62828;
  flex-shrink: 0;
  white-space: nowrap;
}

.tark-results .cc-price .vat,
.tark-results .cc-discount .vat {
  margin-left: 4px;
  font-size: 12px;
  color: #777;
  white-space: nowrap;
}

.tark-results .cc-discount .dl {
  flex-basis: 100%;
  font-size: 12px;
  color: #777;
  margin-top: 2px;
  line-height: 1.3;
}

/* ============ CTA BUTTON ============ */
.tark-results .course-card .button,
.tark-results .course-card a.button,
.tark-results .course-card .cc-btn {
  grid-area: cta;
  justify-self: start;
  align-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  margin-top: 8px;
  background: #3cab28;
  color: #fff;
  border: 1px solid #2a8f1e;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  transition: all 0.2s ease;
  cursor: pointer;
}

.tark-results .course-card .cc-btn:hover {
  background: #2a8f1e;
  border-color: #1f6b16;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(42, 143, 30, 0.3);
}

.tark-results .course-card .cc-btn:active {
  background: #1f6b16;
  transform: translateY(0);
  box-shadow: none;
}

/* ============ COMPANY/BRAND - GRID vaates ÜLEVAL ============ */
.tark-results .cc-company {
  grid-area: brand;
  justify-self: end;
  align-self: start; /* ← VÕTI: jääb üles kinni */
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: 220px;
  margin-top: 0; /* ← Veendu, et pole vahet ülevalt */
}

.tark-results .cc-company strong,
.tark-results .cc-company .cc-name {
  font-size: 13px;
  font-weight: 600;
  color: #222;
  line-height: 1.2;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tark-results .cc-company .cc-logo,
.tark-results img.cc-logo {
  display: block;
  max-height: 60px;
  max-width: 200px;
  width: auto;
  height: auto;
  margin-left: auto;
  object-fit: contain;
  margin-bottom: 4px; /* ← Väike vahe logo ja nime vahel */
}

/* ============ TRAINER FALLBACK (when no company) ============ */
.tark-results .cc-trainer {
  grid-area: brand;
  justify-self: end;
  align-self: start;
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: 220px;
  margin-top: 0;
}

.tark-results .cc-trainer strong,
.tark-results .cc-trainer .cc-name {
  font-size: 13px;
  font-weight: 600;
  color: #222;
  line-height: 1.2;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tark-results .cc-trainer .cc-trainer-photo,
.tark-results img.cc-trainer-photo {
  display: block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  margin-left: auto;
  border: 2px solid #f3f4f6;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  margin-bottom: 4px;
}

@media (max-width:900px){
  /* Mobile layout: title/excerpt full width, brand in bottom right */
  .tark-results .course-card {
    grid-template-columns: 1fr 120px;
    grid-template-areas:
      "title  title"
      "excrp  excrp"
      "events events"
      "price  brand"
      "dprice brand"
      "cta    brand";
  }

  /* MOBILE: Brand should align to BOTTOM (with price/button area) */
  .tark-results .cc-company,
  .tark-results .cc-trainer {
    align-self: end !important; /* Override desktop align-self: start */
  }

  /* Smaller logos on mobile */
  .tark-results .cc-logo {
    max-height: 50px;
    max-width: 110px;
  }

  .tark-results .cc-trainer-photo {
    width: 50px;
    height: 50px;
  }

  .tark-results .cc-company .cc-name,
  .tark-results .cc-trainer .cc-name {
    font-size: 12px;
  }
}

/* ============ LIST VIEW (PLOKID) - KOMPAKTNE ============ */
.tark-results #training-results.view-list .course-card {
  display: grid;
  grid-template-columns: 1fr 240px;
  gap: 8px 20px;
  align-items: start;
  padding: 20px;
}

/* ❌ EEMALDA display: contents LIST vaates */
.tark-results #training-results.view-list .cc-main {
  display: flex;           /* ← Muuda contents → flex */
  flex-direction: column;  /* ← Lisa see */
  gap: 8px;                /* ← Lisa see */
}

/* Vasak pool elemendid - eemalda grid-area */
.tark-results #training-results.view-list .cc-title {
  margin-bottom: 0;
}

.tark-results #training-results.view-list .cc-excerpt {
  margin-bottom: 0;
}

.tark-results #training-results.view-list .cc-events-wrapper {
  /* Enam pole vaja grid-area */
}

/* PAREM POOL - cc-side */
.tark-results #training-results.view-list .cc-side {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-end;
  text-align: right;
  align-self: start;
  justify-self: end;
}

.tark-results #training-results.view-list .cc-company,
.tark-results #training-results.view-list .cc-trainer {
  order: 1;
  margin-bottom: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-end;
}

.tark-results #training-results.view-list .cc-price {
  order: 2;
  margin-bottom: 0;
}

.tark-results #training-results.view-list .cc-discount {
  order: 3;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  gap: 2px;
}

.tark-results #training-results.view-list .cc-discount .dl {
  display: block;
  width: 100%;
  text-align: right;
  margin-top: 2px;
}

.tark-results #training-results.view-list .cc-btn {
  order: 4;
  margin-top: 10px;
  align-self: stretch;
}

.tark-results #training-results.view-list .cc-price::before,
.tark-results #training-results.view-list .cc-discount::before {
  margin-bottom: 0;
  font-size: 11px;
}

.tark-results #training-results.view-list .cc-price,
.tark-results #training-results.view-list .cc-discount {
  line-height: 1.2;
}

@media (max-width: 768px) {
  .tark-results #training-results.view-list .course-card {
    grid-template-columns: 1fr;
  }
  
  .tark-results #training-results.view-list .cc-side {
    justify-self: start;
    align-items: flex-start;
    text-align: left;
  }
  
  .tark-results #training-results.view-list .cc-btn {
    align-self: start;
  }
}



/* ============ TABLE ============ */
.tark-results .tark-table-wrap {
  overflow: auto;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  box-shadow: var(--tark-shadow);
}

.tark-results .tark-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; /* ← Fikseeritud kolumnid */
  font-size: var(--tbl-font-size);
  min-width: 900px; /* ← Muuda 680px → 900px (laiem) */
}

/* Päised - lubame wrap'imist */
.tark-results .tark-table thead th {
  background: #fff;
  color: #111;
  text-align: left;
  font-weight: 700;
  border-bottom: 2px solid #e3e6ea;
  white-space: normal; /* ← Muuda nowrap → normal */
  overflow: visible;   /* ← Muuda hidden → visible */
  text-overflow: clip; /* ← Eemalda ellipsis */
  padding: 10px 8px;   /* ← Veidi rohkem paddingut */
  line-height: 1.3;
}

.tark-results .tark-table th,
.tark-results .tark-table td {
  padding: var(--tbl-cell-pad-y) var(--tbl-cell-pad-x);
  border: 1px solid #e3e6ea;
  vertical-align: top;
  white-space: normal;
  word-break: break-word;
  hyphens: auto;
}

.tark-results .tark-table tbody tr:nth-child(odd) {
  background: #fafbfc;
}

.tark-results .tark-table a {
  color: var(--tark-primary-2);
  text-decoration: underline;
}

/* ✅ KOLUMNITE LAIUSED */
.tark-results .tark-table thead th:nth-child(1),  /* Koolitus */
.tark-results .tark-table tbody td:nth-child(1) {
  width: 20%; /* Pealkiri - laiem */
}

.tark-results .tark-table thead th:nth-child(2),  /* Koht */
.tark-results .tark-table tbody td:nth-child(2) {
  font-size: 12px;
  width: 6%;
}

.tark-results .tark-table thead th:nth-child(3),  /* Algus */
.tark-results .tark-table tbody td:nth-child(3) {
  font-size: 12px;
  width: 9%;
}

.tark-results .tark-table thead th:nth-child(4),  /* Lõpp */
.tark-results .tark-table tbody td:nth-child(4) {
  font-size: 12px;
  width: 9%;
}

/* MAHT kolumn - wrap tekst normaalalt */
.tark-results .tark-table thead th:nth-child(5),  /* Maht */
.tark-results .tark-table tbody td:nth-child(5) {
  width: 8%; 
  max-width: 200px;
  font-size: 12px;
  white-space: normal;
  word-wrap: break-word;
  line-height: 1.4;
}

/* Cursor näitab, et hoveril on tooltip */
.tark-results .tark-table td:nth-child(5)[title] {
  cursor: help;
}

.tark-results .tark-table thead th:nth-child(6),  /* Hind */
.tark-results .tark-table tbody td:nth-child(6) {
  width: 8%;
}

.tark-results .tark-table thead th:nth-child(7),  /* Soodushind */
.tark-results .tark-table tbody td:nth-child(7) {
  color: red;
  font-weight: bold;
  width: 7%;
}

.tark-results .tark-table thead th:nth-child(8),  /* Sooduse tähtaeg */
.tark-results .tark-table tbody td:nth-child(8) {
  width: 10%;
}

/* Firma/Treener veerud (kui on) */
.tark-results .tark-table thead th:nth-child(9),
.tark-results .tark-table tbody td:nth-child(9),
.tark-results .tark-table thead th:nth-child(10),
.tark-results .tark-table tbody td:nth-child(10) {
  width: 20%;
}

/* ✅ MAHT kolumn - ellipsis + tooltip */
.tark-results .tark-table td:nth-child(5) {
  position: relative;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; /* ← Ära murra mahtu mitmerealine */
  max-width: 150px;
}

.tark-results .tark-table td:nth-child(5):hover::after {
  content: attr(data-full-text);
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 10;
  background: #2c3e50;
  color: #fff;
  padding: 8px 12px;
  border-radius: 6px;
  white-space: normal;
  min-width: 200px;
  max-width: 350px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  font-size: 13px;
  line-height: 1.4;
  margin-top: 4px;
}

@media (max-width: 900px) {
  .tark-results .tark-table {
    font-size: 13px;
  }
}

/* ---------- NO RESULTS ---------- */
.tark-results .no-results{ padding:14px 16px; border:1px dashed #e3e6ea; border-radius:10px; background:#fff; color:#555; }

/* ============ RESULTS FOOTER ============ */
.tark-results .results-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}

/* Per-page control styling (right side) */
.tark-results .results-footer .per-page{
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #555;
}
.tark-results .results-footer .per-page .pp-label,
.tark-results .results-footer .per-page .pp-suffix{
  color: #6b7280;
  font-size: 12.5px;
}
.tark-results .results-footer .per-page .pp-select{
  height: 30px;
  padding: 4px 10px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  font: 13px/1.2 inherit;
  color: #374151;
}
@media (max-width: 768px){
  .tark-results .results-footer{ flex-wrap: wrap; gap: 8px; }
  .tark-results .results-footer .per-page{ width: 100%; justify-content: flex-end; }
}

.tark-results .only-upcoming {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #555;
  cursor: pointer;
  user-select: none;
}

.tark-results .only-upcoming input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #3cab28;
}

.tark-results .only-upcoming:hover {
  color: #333;
}

/* Peida logod/fotod tabelivaates */
.tark-results #training-results.view-table .cc-logo,
.tark-results #training-results.view-table .cc-trainer-photo,
.tark-results #training-results.view-table .cc-company img,
.tark-results #training-results.view-table .cc-trainer img {
  display: none !important;
}

/* 1) Plokkvaade: Soodushind, number ja (+km) ühele reale */
.tark-results #training-results.view-list article.course-card .cc-discount{
  display: flex;
  flex-direction: row;   /* ← tühista column */
  flex-wrap: nowrap;     /* ← ära murra */
  align-items: baseline;
  gap: 6px;
}
.tark-results #training-results.view-list article.course-card .cc-discount .vat,
.tark-results #training-results.view-list article.course-card .cc-discount .dp{
  white-space: nowrap;   /* hoia 1085€ ja (+km) koos */
}
/* Tähtaeg (kuni 30.10.2025) uuele reale */
.tark-results #training-results.view-list article.course-card .cc-discount .dl{
  flex-basis: 100%;
  order: 2;
}

/* 2) Kui tahad veidi rohkem ruumi paremas veerus JA väiksemat “tühikut” keskel */
.tark-results #training-results.view-list .course-card{
  grid-template-columns: 1fr 260px;  /* 240px → 260px (valikuline) */
  gap: 8px 14px;                      /* 20px → 14px (valikuline) */
}
/* === LIST/Plokid vaate VAT & joondused (override) === */
.tark-results #training-results.view-list article.course-card .cc-side{
  justify-self: end !important;
  align-items: flex-end !important;
  text-align: right !important;
}

/* Logo/foto + firma/koolitaja nimi paremale */
.tark-results #training-results.view-list article.course-card .cc-company,
.tark-results #training-results.view-list article.course-card .cc-trainer{
  align-items: flex-end !important;
  text-align: right !important;
}

/* "Osalen" nupp: kindel laius/kõrgus ja paremale */
.tark-results #training-results.view-list article.course-card .cc-btn{
  width:170px; max-width:170px; height:40px; line-height:40px;
  align-self:flex-end !important;
  margin-left:auto;                 /* lükkab nupu veeru paremasse äärde */
}

/* Soodushind: number + (+km) samale reale; tähtaeg eraldi reale */
.tark-results #training-results.view-list article.course-card .cc-discount{
  display:flex; flex-direction:row; flex-wrap:wrap;
  align-items:baseline; justify-content:flex-end; text-align:right;
  gap:2px 6px;
}
.tark-results #training-results.view-list article.course-card .cc-discount .dp,
.tark-results #training-results.view-list article.course-card .cc-discount .vat{
  white-space:nowrap;
}
.tark-results #training-results.view-list article.course-card .cc-discount .dl{
  flex-basis:100%; margin-top:2px;  /* "kuni 30.10.2025" alla uuele reale */
}
.tark-results #training-results.view-list .course-card{
  grid-template-columns: 1fr 260px; /* 240 → 260px */
}

/* === LIST / PLOKID – parema veeru korrigeerimised === */
.tark-results #training-results.view-list article.course-card .cc-side{
  justify-self: end !important;
  align-items: flex-end !important;
  text-align: right !important;
}

/* Logo/foto + firma/koolitaja nimi paremale */
.tark-results #training-results.view-list article.course-card .cc-company,
.tark-results #training-results.view-list article.course-card .cc-trainer{
  align-items: flex-end !important;
  text-align: right !important;
}

/* "Osalen" nupp: fikseeritud ja paremale */
.tark-results #training-results.view-list article.course-card .cc-btn{
  width:170px !important;
  height:40px !important;
  padding:0 16px !important;
  line-height:40px !important;
  align-self:flex-end !important;   /* tühista "stretch" */
}

/* Soodushind: number + (+km) ühel real, tähtaeg eraldi real */
.tark-results #training-results.view-list article.course-card .cc-discount{
  display:flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: flex-end !important;
  text-align: right !important;
  gap: 2px 6px !important;
}
.tark-results #training-results.view-list article.course-card .cc-discount .dp,
.tark-results #training-results.view-list article.course-card .cc-discount .vat{
  white-space: nowrap !important;
}
.tark-results #training-results.view-list article.course-card .cc-discount .dl{
  flex-basis: 100% !important;   /* "kuni 30.10.2025" alla uuele reale */
  margin-top: 2px !important;
  text-align: right !important;
}

.tark-results #training-results.view-list .course-card{
  grid-template-columns: 1fr 260px;  /* 240 → 260 (või 280) */
  gap: 8px 14px;                      /* vähenda veergude vahet */
}

/* Tabelivaade: õrn joon iga toimumise vahel samas lahtris */
#training-results.view-table td .tdl{
  display: block;
  padding: 2px 0 6px;
}

#training-results.view-table td .tdl:not(:last-child)::after{
  content: "";
  display: block;
  height: 1px;
  background: #e5e7eb;      /* hele hall */
  width: 88%;               /* mitte äärest ääreni */
  margin: 4px auto 0;       /* joone keskendus */
  opacity: .9;
}

/* (juhuks kui kuskil on white-space:nowrap) */
#training-results.view-table td { white-space: normal; }

/* ============================================================
   ARCHIVE-TRAINER: Provider Cards (Trainers + Companies)
   ============================================================ */

/* Provider Type Filter Buttons - in header, smaller */
.archive-header .provider-type-filter {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: flex-start;
  flex-shrink: 0;
}

.provider-type-filter .ptf-btn {
  all: unset;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: #fff;
  color: #374151;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.provider-type-filter .ptf-btn:hover {
  border-color: var(--tark-primary-2);
  color: var(--tark-primary-2);
  transform: translateY(-1px);
}

.provider-type-filter .ptf-btn.is-active {
  background: #2196f3 !important;
  color: #ffffff !important;
  border-color: #2196f3 !important;
  box-shadow: 0 2px 8px rgba(33, 150, 243, 0.2) !important;
}

.provider-type-filter .ptf-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.20);
}

/* Provider Grid Container */
.provider-grid,
.tark-results .provider-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
  margin: 24px 0;
}

@media (max-width: 768px) {
  .provider-grid,
  .tark-results .provider-grid {
    grid-template-columns: 1fr;
  }
}

/* Ensure provider cards behave as grid items */
.provider-grid .provider-card { width: auto; max-width: 100%; }

/* Base Provider Card - Compact with image in top-right */
.provider-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: var(--tark-radius);
  box-shadow: var(--tark-shadow);
  transition: all 0.2s ease;
}

.provider-card:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

/* Provider Header - Grid with name and image side by side */
.provider-card .provider-header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
}

.provider-name {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #1f2937;
  line-height: 1.3;
}

.provider-name a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.provider-name a:hover {
  color: var(--tark-primary-2);
  text-decoration: underline;
}

/* Trainer Card - Round Photo (smaller, top-right) */
.provider-card.is-trainer .provider-image {
  display: flex;
  justify-content: center;
  align-items: center;
}

.provider-card.is-trainer .provider-image img {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #f3f4f6;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

/* Company Card - Rectangular Logo (smaller, top-right) */
.provider-card.is-company .provider-logo {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.provider-card.is-company .provider-logo img {
  max-width: 140px;
  max-height: 70px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Provider Content - Full width below header */
.provider-content {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.provider-excerpt {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #4b5563;
}

.provider-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--tark-primary-2);
  text-decoration: none;
  transition: all 0.2s ease;
  align-self: flex-start;
}

.provider-link:hover {
  color: var(--tark-primary);
  gap: 10px;
}

/* ===========================================================================
   ⚠️ DEPRECATED - October 2025 CSS Refactoring
   These rules have been moved to:
   - css/3-layouts/two-column-grid.css (grid layout)
   - css/3-layouts/mobile-sidebar.css (mobile overlay + scrim)

   Reason: Duplicate definitions causing conflicts with main.css
   Migration: Phase 1 - Component-based architecture

   DO NOT MODIFY - Will be removed after successful testing
   =========================================================================== */

/*
/* Archive Page Layout */
/*
/* Archive Trainer: 2-column layout on desktop */
/*
body.post-type-archive-trainer .wrap .archive-grid,
.wrap .archive-grid {
  display: grid;
  grid-template-columns: 300px minmax(0,1fr);
  gap: 24px;
  margin-top: 24px;
  align-items: start;
}

.wrap .archive-grid > .sidebar-filters { grid-column: 1; }
.wrap .archive-grid > .archive-main { grid-column: 2; min-width: 0; }

/* Debug (temporary): visualize grid areas */
/*
/* .archive-grid { outline: 2px solid #0ea5e9; }
.archive-grid > .sidebar-filters { outline: 2px dashed #10b981; }
.archive-grid > .archive-main { outline: 2px dashed #8b5cf6; } */
/*

@media (max-width: 980px) {
  body.post-type-archive-trainer .wrap .archive-grid,
  .wrap .archive-grid {
    grid-template-columns: 1fr;
  }

  /* Hide sidebar on mobile - it will show as fixed overlay when button clicked */
/*
  .wrap .archive-grid .sidebar-filters {
    display: none;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1000 !important;
    background: #fff !important;
    overflow-y: auto !important;
    padding: 20px !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: auto !important;
    min-height: 100vh !important;
  }

  .wrap .archive-grid .sidebar-filters.is-open {
    display: block !important;
  }
}

/* Mobile scrim/backdrop */
/*
#archiveFiltersScrim{ position:fixed; left:0; top:0; right:0; bottom:0; background:rgba(0,0,0,.45); z-index:999; }
*/

.archive-main {
  min-width: 0;
}

.archive-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.archive-header-left {
  flex: 1;
  min-width: 0;
}

.archive-header .page-title {
  margin: 0 0 8px;
  font-size: 32px;
  font-weight: 700;
  color: #1f2937;
}

.archive-header .archive-intro {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #6b7280;
}

@media (max-width: 768px) {
  .archive-header {
    flex-direction: column;
  }
}

/* Loading Spinner */
.loading-spinner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px;
  font-size: 16px;
  color: #6b7280;
}

/* No Results for Archive-Trainer */
.tark-results.is-archive-trainer .no-results {
  padding: 40px 24px;
  text-align: center;
  border: 2px dashed #e5e7eb;
  border-radius: 12px;
  background: #f9fafb;
  color: #6b7280;
  font-size: 16px;
  line-height: 1.6;
}

/* ===========================================================================
   ⚠️ DEPRECATED - Moved to css/3-layouts/mobile-sidebar.css
   =========================================================================== */
/*
.filters-toggle {
  display: none;
}

@media (max-width: 980px) {
  .filters-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    margin-bottom: 16px;
    background: #3cab28;
    color: #fff;
    border: 1px solid #2a8f1e;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
  }

  .filters-toggle:hover {
    background: #2a8f1e;
    border-color: #1f6b16;
  }

  .filters-toggle[aria-expanded="true"] {
    background: #1f6b16;
  }
}
*/

/* Mobile Responsive - Provider Cards */
@media (max-width: 600px) {
  .provider-card .provider-header {
    grid-template-columns: 1fr auto;
    gap: 12px;
  }

  .provider-card.is-trainer .provider-image img {
    width: 70px;
    height: 70px;
  }

  .provider-card.is-company .provider-logo img {
    max-width: 100px;
    max-height: 50px;
  }

  .provider-name {
    font-size: 16px;
  }

  .provider-excerpt {
    font-size: 13px;
  }
}

/* ===========================================================================
   ⚠️ DEPRECATED - Moved to css/3-layouts/mobile-sidebar.css

   These duplicate mobile sidebar styles with DEBUG colors (red outline,
   lightblue background, yellow close button) were causing white screen issues.

   Clean implementation is now in mobile-sidebar.css
   =========================================================================== */
/*
.sidebar-filters .sidebar-close-btn {
  display: none;
}

@media (max-width: 980px) {
  .sidebar-filters {
    display: none;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1000 !important;
    background: #fff !important;
    overflow-y: auto !important;
    padding: 20px !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: auto !important;
    min-height: 100vh !important;
  }

  .sidebar-filters.is-open {
    display: block !important;
    outline: 5px solid red !important;
  }

  .sidebar-filters.is-open * {
    visibility: visible !important;
    opacity: 1 !important;
  }

  .sidebar-filters.is-open form,
  .sidebar-filters.is-open .tark-filters {
    display: block !important;
    visibility: visible !important;
    background: lightblue !important;
  }

  .sidebar-filters.is-open .sidebar-close-btn {
    background: yellow !important;
    padding: 10px !important;
  }

  body.sidebar-open {
    overflow: hidden;
  }

  #archiveFiltersScrim,
  #trainerFiltersScrim,
  #companyFiltersScrim {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
  }

  #archiveFiltersScrim:not([hidden]),
  #trainerFiltersScrim:not([hidden]),
  #companyFiltersScrim:not([hidden]) {
    display: block;
  }

  .sidebar-filters .sidebar-close-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #e5e7eb;
  }

  .sidebar-filters .sidebar-close-btn h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #1f2937;
  }

  .sidebar-filters .sidebar-close-btn button {
    all: unset;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f3f4f6;
    color: #6b7280;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
  }

  .sidebar-filters .sidebar-close-btn button:hover {
    background: #e5e7eb;
    color: #374151;
  }

  .sidebar-filters .sidebar-close-btn button:active {
    background: #d1d5db;
  }
}
*/

/* ===========================
   PAST TRAINING INDICATORS
   =========================== */

/* Past training notice - replaces event list */
.cc-past-notice {
  grid-area: events;
  margin-top: 12px;
}

.cc-past-notice .past-msg {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

/* Table view past training indicator */
.tark-table .tdl em {
  font-style: normal;
  font-weight: 600;
}
