
/* ══════════════════════════════════════════════════════════════════════════════
   AIRY THEME  –  чистый, воздушный, iOS-style
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── Hide new icon elements by default (non-airy themes) ── */
.lv-icon    { display: none; }
.lv-name    { display: none; }
.sub-icon   { display: none; }
.cnt-dog    { display: none; }
.cnt-person { display: none; }

/* ── CSS Variables ── */
[data-theme="airy"] {
  --bg:            #f2f2f7;
  --surface:       #ffffff;
  --surface-2:     #f5f5f7;
  --border:        #e5e5ea;
  --text:          #1c1c1e;
  --text-muted:    #8e8e93;
  --primary:       #FF8C00;
  --primary-hover: #e07b00;
  --primary-light: #fff3e0;
  --charcoal:      #ffffff;
  --shadow:        0 1px 4px rgba(0,0,0,.06);
  --shadow-md:     0 2px 12px rgba(0,0,0,.09);
  --radius:        10px;
  --radius-lg:     16px;
}

/* ── Typography ── */
[data-theme="airy"] body,
[data-theme="airy"] input,
[data-theme="airy"] select,
[data-theme="airy"] textarea,
[data-theme="airy"] button { font-family: 'Outfit', sans-serif; }
[data-theme="airy"] .dh-date,
[data-theme="airy"] .dh-time,
[data-theme="airy"] .tlist-date,
[data-theme="airy"] .card-date,
[data-theme="airy"] .card-time { font-family: 'Outfit', sans-serif; }

/* ── Header ── */
[data-theme="airy"] .app-header {
  background: #ffffff;
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
  border-bottom: 1px solid var(--border);
  color: var(--text);
}
[data-theme="airy"] .app-header::after  { display: none; }
[data-theme="airy"] .header-title       { color: var(--text); }
[data-theme="airy"] .header-user        { color: var(--text-muted); }
[data-theme="airy"] .app-header .btn-ghost { color: var(--text-muted); border-color: transparent; }
[data-theme="airy"] .app-header .btn-ghost:hover { color: var(--text); background: var(--surface-2); }
[data-theme="airy"] .app-header .btn-outline { color: var(--primary); border-color: var(--primary); background: transparent; }
[data-theme="airy"] .hdr-title { color: var(--text) !important; font-family: 'Outfit', sans-serif !important; letter-spacing: 0 !important; }
[data-theme="airy"] .hdr-back  { color: var(--text-muted) !important; border-color: var(--border) !important; background: transparent !important; }
[data-theme="airy"] .hdr-back:hover { color: var(--text) !important; background: var(--surface-2) !important; }

/* ── Left panel ── */
[data-theme="airy"] .tlist-column {
  background: transparent;
  border-right: none;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,.10));
}
[data-theme="airy"] .tlist-toolbar {
  background: #fff;
  border: none;
  border-radius: 14px 14px 0 0;
  border-bottom: 1px solid #e8e4de;
}
[data-theme="airy"] .tlist-toolbar-title { color: var(--text); }
[data-theme="airy"] .tlist-toolbar .btn-ghost { color: var(--text-muted); }
[data-theme="airy"] .training-list-panel {
  background: #fff;
  border-radius: 0 0 14px 14px;
  border: none;
  flex: 1;
}
[data-theme="airy"] .training-detail-panel { background: var(--bg); }

/* Toolbar select */
[data-theme="airy"] .tlist-toolbar .select-sm {
  background-color: #f4f4f4;
  color: var(--text);
  border-color: #ddd;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}
[data-theme="airy"] .tlist-toolbar .select-sm option { background: #fff; color: var(--text); }

/* ── Training list items ── */
[data-theme="airy"] .tlist-item {
  border-radius: 8px;
  margin: 1px 8px;
  border: 1.5px solid transparent;
  border-bottom-color: #e8e4de;
}
[data-theme="airy"] .tlist-item:last-child { border-bottom-color: transparent; }
[data-theme="airy"] .tlist-item:hover { background: #f7f4ef; border-color: var(--border); }
[data-theme="airy"] .tlist-item.selected {
  background: #f7f4ef;
  border: 1.5px solid transparent;
  border-left: 3px solid var(--primary);
}

/* Scrollbar */
[data-theme="airy"] .training-list-panel::-webkit-scrollbar { width: 8px; }
[data-theme="airy"] .training-list-panel::-webkit-scrollbar-track { background: transparent; }
[data-theme="airy"] .training-list-panel::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,.15); border-radius: 3px;
  border: 2px solid transparent; background-clip: content-box;
}
[data-theme="airy"] .training-list-panel::-webkit-scrollbar-thumb:hover {
  background: rgba(0,0,0,.28); background-clip: content-box;
}

/* ── Detail header ── */
[data-theme="airy"] .detail-header {
  background: #fff;
  border-radius: 14px;
  box-shadow: none;
  margin: 14px 14px 0;
  border: none;
}
[data-theme="airy"] .dh-date { font-size: 18px; font-weight: 600; }
[data-theme="airy"] .dh-time { font-size: 18px; font-weight: 500; color: var(--primary); }
[data-theme="airy"] .detail-loc-link { font-family: 'Outfit', sans-serif; font-size: 18px; font-weight: 500; }

/* ── Count icons ── */
[data-theme="airy"] .cnt-dog,
[data-theme="airy"] .cnt-person { display: inline-block; flex-shrink: 0; }
[data-theme="airy"] .cnt-dog    { width: 26px; height: 26px; }
[data-theme="airy"] .cnt-person { width: 22px; height: 22px; }
[data-theme="airy"] .cnt-emoji  { display: none; }
[data-theme="airy"] .dh-count-item {
  display: flex;
  align-items: center;
  gap: 6px;
}
[data-theme="airy"] .dh-yes-num {
  font-family: 'Outfit', sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
}
[data-theme="airy"] .icon-pin       { width: 22px; height: 22px; }
[data-theme="airy"] .icon-pencil,
[data-theme="airy"] .icon-trash,
[data-theme="airy"] .icon-clipboard { width: 18px; height: 18px; }
[data-theme="airy"] .tlist-count { display: inline-flex; align-items: center; gap: 3px; font-size: 13px; width: 38px; }
[data-theme="airy"] .tlist-count .cnt-dog    { width: 16px; height: 16px; }
[data-theme="airy"] .tlist-count .cnt-person { width: 15px; height: 15px; }
[data-theme="airy"] .card-count { display: inline-flex; align-items: center; gap: 3px; }
[data-theme="airy"] .card-count .cnt-dog    { width: 20px; height: 20px; }
[data-theme="airy"] .card-count .cnt-person { width: 18px; height: 18px; }
[data-theme="airy"] .card-meta .icon-pin { width: 15px; height: 15px; }

/* ── Subtype tags ── */
[data-theme="airy"] .subtype-tag {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: 'Outfit', sans-serif;
  font-size: 12px; font-weight: 500;
  padding: 3px 9px; border-radius: 20px; border: none;
}
[data-theme="airy"] .subtype-tag[data-sub="Техно"] { background: #fdefd8; color: #c8650a; }
[data-theme="airy"] .subtype-tag[data-sub="Лес"]   { background: #d9f3df; color: #1f7a3a; }
[data-theme="airy"] .subtype-tag[data-sub="База"]  { background: #e8e8f0; color: #4a4a6a; }
[data-theme="airy"] .sub-emoji { display: none; }
[data-theme="airy"] .sub-icon  { display: inline-block; width: 12px; height: 12px; flex-shrink: 0; vertical-align: middle; }

/* ── Level badges ── */
[data-theme="airy"] .level-badge {
  width: 32px; height: 32px; min-width: 32px;
  border-radius: 8px; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border: none; flex-shrink: 0;
}
[data-theme="airy"] .lv-letter { display: none; }
[data-theme="airy"] .lv-icon   { display: block; width: 24px; height: 24px; flex-shrink: 0; }
[data-theme="airy"] .level-beginner  { background: #d3f5ec; color: #0d7a5b; }
[data-theme="airy"] .level-approved  { background: #fff0d6; color: #a05c00; }
[data-theme="airy"] .level-certified { background: #e8e0ff; color: #5b3fc4; }
[data-theme="airy"] .level-name-approved  { color: var(--text); }
[data-theme="airy"] .level-name-certified { color: var(--text); }

/* ── Mobile training cards ── */
[data-theme="airy"] .training-card {
  margin: 0 12px; border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0,0,0,.07);
  overflow: hidden; border: none;
}
[data-theme="airy"] .cards-container { background: var(--bg); padding: 4px 0; }
[data-theme="airy"] .card-header { background: #fff; }
[data-theme="airy"] .card-date, [data-theme="airy"] .card-time,
[data-theme="airy"] .card-loc   { font-family: 'Outfit', sans-serif; }

/* ── iOS toggle ── */
[data-theme="airy"] .ios-toggle.on { background: var(--primary); }

/* ── Table headers ── */
[data-theme="airy"] .detail-table thead th,
[data-theme="airy"] .att-table th,
[data-theme="airy"] .stats-table th {
  background: #f5f5f7 !important;
  color: var(--text-muted) !important;
  font-family: 'Outfit', sans-serif;
  font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.05em;
}
[data-theme="airy"] .detail-table tbody td,
[data-theme="airy"] .att-table td { font-family: 'Outfit', sans-serif; }
[data-theme="airy"] .detail-table tbody tr:hover td { background: #f7f4ef; }
[data-theme="airy"] .detail-table .my-dog-row td { background: #fff9f2 !important; }

/* ── Modal headers ── */
[data-theme="airy"] .modal-header {
  background: var(--surface) !important;
  color: var(--text) !important;
  border-bottom: 1px solid var(--border);
}
[data-theme="airy"] .modal-header h2 {
  font-family: 'Outfit', sans-serif;
  color: var(--text);
  text-transform: none;
  letter-spacing: 0;
  font-size: 16px;
}
[data-theme="airy"] .modal-close {
  color: var(--text-muted) !important;
}
[data-theme="airy"] .modal-close:hover {
  color: var(--text) !important;
  background: var(--surface-2) !important;
}

/* ── Modal / bottom sheet body ── */
[data-theme="airy"] .modal-overlay { background: rgba(0,0,0,.35); }
[data-theme="airy"] .modal-box, [data-theme="airy"] .bs-box {
  font-family: 'Outfit', sans-serif;
  border-radius: 20px;
}
[data-theme="airy"] .bs-header { border-bottom: 1px solid var(--border); }
[data-theme="airy"] .bs-title-name { font-family: 'Outfit', sans-serif; }

/* ══════════════════════════════════════════════════════════════════════════════
   LOCATION PAGE  –  location.html
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── Cards ── */
[data-theme="airy"] .card {
  background: var(--surface);
  border: none;
  border-radius: 16px;
  box-shadow: var(--shadow);
}
[data-theme="airy"] .card-hdr {
  border-bottom: 1px solid var(--border);
  background: transparent;
}
[data-theme="airy"] .card-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
}

/* ── Hero ── */
[data-theme="airy"] .loc-hero { border-radius: 16px; }
[data-theme="airy"] .loc-name {
  font-family: 'Outfit', sans-serif !important;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0;
}

/* ── Weather ── */
[data-theme="airy"] .wx-tile,
[data-theme="airy"] .wind-tile {
  background: var(--surface-2);
  border-radius: 12px;
}
[data-theme="airy"] .wx-val,
[data-theme="airy"] .wind-ms { font-family: 'Outfit', sans-serif; }
[data-theme="airy"] .wx-lbl,
[data-theme="airy"] .wind-lbl { font-family: 'Outfit', sans-serif; }

/* ── Tags ── */
[data-theme="airy"] .tag {
  font-family: 'Outfit', sans-serif;
  background: var(--surface-2);
  border: none;
  border-radius: 8px;
  color: var(--text);
}
[data-theme="airy"] .tag-danger  { background: #fef2f2; color: #dc2626; }
[data-theme="airy"] .tag-warning { background: #fffbeb; color: #d97706; }
[data-theme="airy"] .tag-info    { background: #eff6ff; color: #1d4ed8; }
[data-theme="airy"] .tag-success { background: #f0fdf4; color: #16a34a; }
[data-theme="airy"] .tag-muted   { background: var(--surface-2); color: var(--text-muted); font-style: italic; border: none; }
[data-theme="airy"] .tgroup-lbl { font-family: 'Outfit', sans-serif; }

/* ── Note blocks ── */
[data-theme="airy"] .note-block {
  background: var(--surface-2);
  border-radius: 12px;
  font-family: 'Outfit', sans-serif;
}

/* ── Practical info rows ── */
[data-theme="airy"] .info-row { border-bottom-color: var(--border); }
[data-theme="airy"] .info-lbl { font-family: 'Outfit', sans-serif; }
[data-theme="airy"] .info-val { font-family: 'Outfit', sans-serif; }

/* ── Trainings list ── */
[data-theme="airy"] .trainings-list li {
  font-family: 'Outfit', sans-serif;
  border-bottom-color: var(--border);
}

/* ── Location modals (modal-backdrop / .modal / .modal-hdr) ── */
[data-theme="airy"] .modal-backdrop { background: rgba(0,0,0,.35); }
[data-theme="airy"] .modal {
  font-family: 'Outfit', sans-serif;
  border-radius: 20px 20px 0 0;
}
@media (min-width: 580px) {
  [data-theme="airy"] .modal { border-radius: 20px; }
}
[data-theme="airy"] .modal-hdr {
  background: var(--surface);
  border-bottom: 1px solid var(--border);
}
[data-theme="airy"] .modal-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
[data-theme="airy"] .modal-close {
  background: var(--surface-2);
  color: var(--text-muted);
}
[data-theme="airy"] .modal-close:hover {
  background: var(--border);
  color: var(--text);
}

/* ── Chips ── */
[data-theme="airy"] .chip {
  font-family: 'Outfit', sans-serif;
  background: var(--surface-2);
  border-color: var(--border);
  color: var(--text-muted);
}
[data-theme="airy"] .chip:hover { border-color: var(--primary); color: var(--primary); }
[data-theme="airy"] .chip.selected {
  background: var(--primary-light);
  border-color: var(--primary);
  color: var(--primary);
}
[data-theme="airy"] .chip.danger-chip.selected  { background: #fef2f2; border-color: #dc2626; color: #dc2626; }
[data-theme="airy"] .chip.warning-chip.selected { background: #fffbeb; border-color: #f59e0b; color: #d97706; }
[data-theme="airy"] .chip.info-chip.selected    { background: #eff6ff; border-color: #93c5fd; color: #1d4ed8; }
[data-theme="airy"] .chip-add-row input { font-family: 'Outfit', sans-serif; }

/* ── Signal options ── */
[data-theme="airy"] .signal-opt {
  font-family: 'Outfit', sans-serif;
  background: var(--surface-2);
  border-color: var(--border);
}
[data-theme="airy"] .signal-opt.selected {
  background: #f0fdf4;
  border-color: #16a34a;
  color: #16a34a;
}

/* ── Autofill block ── */
[data-theme="airy"] .autofill-block {
  background: var(--surface-2);
  border-radius: 12px;
}
[data-theme="airy"] .autofill-hint { font-family: 'Outfit', sans-serif; }

/* ── Form fields ── */
[data-theme="airy"] .field label { font-family: 'Outfit', sans-serif; }
[data-theme="airy"] .field input,
[data-theme="airy"] .field textarea,
[data-theme="airy"] .field select {
  font-family: 'Outfit', sans-serif;
  border-color: var(--border);
  background: var(--surface);
  border-radius: 10px;
}

/* ── Buttons on location page ── */
[data-theme="airy"] .btn {
  font-family: 'Outfit', sans-serif;
  border-radius: 10px;
}
[data-theme="airy"] .btn-primary { background: var(--primary); color: #fff; }
[data-theme="airy"] .btn-primary:hover { background: var(--primary-hover); }
[data-theme="airy"] .btn-ghost {
  background: transparent;
  color: var(--text-muted);
  border-color: var(--border);
}
[data-theme="airy"] .btn-ghost:hover { background: var(--surface-2); }
[data-theme="airy"] .btn-outline {
  color: var(--primary);
  border-color: var(--primary);
  background: transparent;
}
[data-theme="airy"] .btn-outline:hover { background: var(--primary-light); }
