/* ==========================================================================
   GUIDA - оценки, известия (входяща кутия, звънче), сортиране
   ========================================================================== */

/* ── Звънче в хедъра ── */
.hdr-bell {
  position: relative; margin-left: auto; display: grid; place-items: center;
  width: calc(46 * var(--u)); min-width: 36px; aspect-ratio: 1; border-radius: 50%;
  background: var(--c11); border: 1px solid var(--c12); color: var(--c14); font-size: calc(20 * var(--u));
}
.hdr-bell:hover, .hdr-bell.active { color: var(--c2); }
.hdr-badge {
  position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
  background: var(--c9); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center;
  box-shadow: 0 0 0 2px var(--c10);
}
.hdr-badge[hidden] { display: none; }

/* ── Оценки ── */
.stars-sm { font-size: calc(12 * var(--fu)); }
.rate-pill { display: inline-flex; align-items: center; gap: 4px; color: var(--c18); font-weight: 700; font-size: calc(13 * var(--fu)); }
.rate-pill small { color: var(--c14); font-weight: 400; }

.rate-sum { display: grid; grid-template-columns: auto 1fr; gap: calc(30 * var(--u)); align-items: center; }
.rate-big { display: grid; justify-items: center; gap: 4px; min-width: calc(110 * var(--u)); }
.rate-big b { font-size: calc(46 * var(--fu)); line-height: 1; color: var(--c2); }
.rate-big .stars { font-size: calc(16 * var(--fu)); }
.rate-big small { color: var(--c14); font-size: calc(12 * var(--fu)); }
.rate-dist { display: grid; gap: 5px; }
.rd-row { display: grid; grid-template-columns: 1em 1fr 2.2em; gap: 8px; align-items: center; font-size: calc(12 * var(--fu)); color: var(--c14); }
.rd-row i { height: 6px; border-radius: 3px; background: var(--c12); position: relative; overflow: hidden; }
.rd-row i::after { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--w, 0%); background: var(--c18); border-radius: 3px; transition: width .4s; }
.rd-row small { text-align: end; }

.rate-stars { display: flex; gap: calc(10 * var(--u)); }
.rs {
  background: none; border: 0; padding: 4px; cursor: pointer; color: var(--c12);
  font-size: calc(38 * var(--u)); line-height: 1; transition: transform .15s, color .15s;
}
.rs.on, .rs.hover { color: var(--c18); }
.rs:active { transform: scale(.88); }
.rs:focus-visible { outline: 2px solid var(--c15); outline-offset: 2px; border-radius: 6px; }
.rate-mine textarea.input { width: 100%; resize: vertical; min-height: 5em; }
.rate-card.flash { animation: rate-flash 1.6s ease; }
@keyframes rate-flash { 0%, 100% { box-shadow: none; } 30% { box-shadow: 0 0 0 3px var(--c18); } }

.reviews { display: grid; gap: calc(16 * var(--u)); border-top: 1px solid var(--c12); padding-top: calc(20 * var(--u)); }
.review p { margin-top: 6px; font-size: calc(15 * var(--fu)); line-height: 1.5; }
.rv-head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: calc(14 * var(--fu)); }
.rv-head small { color: var(--c14); margin-inline-start: auto; }
.review > small { display: inline-flex; gap: 4px; margin-top: 4px; font-size: calc(11 * var(--fu)); }

/* ── Сортиране (чипове) ── */
.sort-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px;
  background: var(--c11); border: 1px solid var(--c12); color: var(--c14); font-size: calc(13 * var(--fu)); font-weight: 500;
}
.chip.active { background: var(--c12); color: var(--c2); border-color: var(--c13); }

/* ── Топ гидове ── */
.guides-top { display: grid; gap: calc(12 * var(--u)); }
.gtop { display: grid; grid-template-columns: auto 1fr auto; gap: calc(14 * var(--u)); align-items: center; padding: calc(12 * var(--u)) 0; border-bottom: 1px solid var(--c12); }
.gtop:last-child { border-bottom: 0; }
.gtop .rank { font-weight: 700; color: var(--c15); width: 1.4em; text-align: center; }
.gtop b { display: block; }
.gtop small { color: var(--c14); }
.gtop-who { display: flex; align-items: center; gap: calc(12 * var(--u)); min-width: 0; }

/* ── Входяща кутия ── */
.note { display: flex; gap: 12px; align-items: flex-start; padding: calc(14 * var(--u)) calc(18 * var(--u)); border-radius: var(--r-btn); background: rgba(0, 228, 255, .08); border: 1px solid rgba(0, 228, 255, .3); color: var(--c14); font-size: calc(14 * var(--fu)); }
.note .bi { color: var(--c15); font-size: 1.2em; }
.notif { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 8px; padding-block: calc(18 * var(--u)); }
.notif.is-new { border-color: var(--c18); }
.notif-main { display: grid; grid-template-columns: auto 1fr auto; gap: calc(14 * var(--u)); align-items: center; color: inherit; }
.notif-icn { width: calc(42 * var(--u)); min-width: 32px; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; background: var(--c12); color: var(--c18); }
.notif-txt { display: grid; gap: 4px; min-width: 0; }
.notif-txt span { color: var(--c14); font-size: calc(14 * var(--fu)); line-height: 1.45; }
.notif-txt small { color: var(--c13); font-size: calc(11 * var(--fu)); }
.notif-go { color: var(--c14); }
.btn-icon-sm { background: none; border: 0; color: var(--c13); padding: 6px; cursor: pointer; font-size: 14px; }
.btn-icon-sm:hover { color: var(--c9); }
.empty-card { text-align: center; display: grid; gap: 10px; justify-items: center; padding-block: calc(50 * var(--u)); }
.empty-card > .bi { font-size: calc(40 * var(--u)); color: var(--c12); }

/* ── Известия в профила ── */
.notify-state { display: flex; align-items: center; gap: 10px; font-size: calc(14 * var(--fu)); color: var(--c14); }
.notify-state .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--c13); flex: 0 0 auto; }
.notify-state.on .dot { background: var(--c7); }
.notify-state.off .dot { background: var(--c9); }
.hint-sm { font-size: calc(12 * var(--fu)); color: var(--c14); line-height: 1.45; }
.check-row { display: flex; gap: 10px; align-items: flex-start; font-size: calc(13 * var(--fu)); color: var(--c14); line-height: 1.45; cursor: pointer; }
.check-row input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--c6); flex: 0 0 auto; }

/* ── Кредит за снимка ── */
.hero-credit {
  position: absolute; right: 10px; bottom: calc(60 * var(--u) + 8px); max-width: 75%; padding: 2px 8px; border-radius: 6px;
  background: rgba(14, 36, 61, .65); color: rgba(255, 255, 255, .8); font-size: 10px; line-height: 1.4;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.drow-name .rate-pill { color: var(--c18); font-weight: 700; font-size: calc(13 * var(--fu)); }
.drow-name .rate-pill .rc { color: var(--c14); font-weight: 400; }

/* ── Профил на гид ── */
.avatar.lg { width: calc(92 * var(--u)); min-width: 64px; }
a.guide-line { color: inherit; }
.guide-line .cap-md { margin: 0 0 4px; }

/* ── Кандидатура за гид ── */
.apply-banner {
  display: grid; grid-template-columns: auto 1fr auto; gap: calc(16 * var(--u)); align-items: center;
  margin-top: calc(26 * var(--u)); padding: calc(18 * var(--u)) calc(22 * var(--u)); border-radius: var(--r-card);
  background: linear-gradient(135deg, rgba(247, 148, 29, .18), rgba(47, 180, 74, .14)); border: 1px solid rgba(255, 170, 0, .45); color: var(--c2);
}
.apply-banner.card { margin-top: 0; }
.apply-banner b { display: block; font-size: calc(17 * var(--fu)); }
.apply-banner small { display: block; color: var(--c14); font-size: calc(13 * var(--fu)); margin-top: 2px; }
.apply-banner > .bi { color: var(--c18); }
.apply-icn { width: calc(50 * var(--u)); min-width: 38px; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; background: var(--c18); color: var(--c16); font-size: calc(22 * var(--u)); }
.apply-wrap { display: grid; gap: calc(26 * var(--u)); }
.apply-intro .cap-md { margin-top: 6px; }
.apply-perks { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.apply-perks li { display: grid; grid-template-columns: auto 1fr; gap: 10px; font-size: calc(14 * var(--fu)); color: var(--c14); line-height: 1.45; }
.apply-perks .bi { color: var(--c18); margin-top: 2px; }
.apply-form .pcap { margin-bottom: -6px; }
.apply-langs { display: flex; flex-wrap: wrap; gap: 8px; }
.lang-chip input { position: absolute; opacity: 0; pointer-events: none; }
.lang-chip span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: var(--c11); border: 1px solid var(--c12); font-size: calc(13 * var(--fu)); cursor: pointer; }
.lang-chip input:checked + span { background: rgba(73, 179, 72, .2); border-color: var(--c6); color: var(--c2); }
.lang-chip input:focus-visible + span { outline: 2px solid var(--c15); outline-offset: 2px; }
.textarea-field { width: 100%; resize: vertical; min-height: 6em; }
.textarea-field.has-error { border-color: var(--c9); }
.select-field select { flex: 1; min-width: 0; background: transparent; border: 0; color: inherit; font: inherit; padding: 0; outline: none; appearance: none; }
.select-field select option { color: #0e243d; }
.apply-photo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.apply-done .auth-success .bi { font-size: calc(48 * var(--u)); color: var(--c6); }
.field-icn > .bi { width: calc(35 * var(--u)); font-size: calc(28 * var(--u)); display: flex; justify-content: center; color: var(--c1); }
.select-field select { height: calc(80 * var(--u)); padding: 0 calc(20 * var(--u)); font-size: calc(22 * var(--fu)); font-weight: 500; color: var(--c1); }
.textarea-field { font-size: calc(18 * var(--fu)); line-height: 1.45; padding: calc(16 * var(--u)) calc(20 * var(--u)); border-radius: var(--r-btn); }
.apply-form .btn-send { font-size: calc(20 * var(--fu)); }

/* ── „Запомни ме“ при входа ── */
.remember { display: flex; align-items: center; gap: 12px; cursor: pointer; font-size: calc(17 * var(--fu)); color: var(--c2); user-select: none; }
.remember input { position: absolute; opacity: 0; pointer-events: none; }
.remember input:checked + .switch-ui { background: var(--c6); }
.remember input:checked + .switch-ui::after { transform: translateX(calc(100% + 4px)); }
.remember input:focus-visible + .switch-ui { outline: 2px solid var(--c15); outline-offset: 2px; }
.price-tag.ticket { color: var(--c15); font-size: calc(14 * var(--fu)); white-space: normal; }

/* ── Долен лист „Всички експонати“ ── */
.all-items-btn { gap: 8px; }
.isheet { position: fixed; inset: 0; z-index: 1500; }
.isheet[hidden] { display: none; }
.isheet-backdrop { position: absolute; inset: 0; background: rgba(5, 15, 30, .62); opacity: 0; transition: opacity .2s; }
.isheet-panel {
  position: absolute; left: 0; right: 0; bottom: 0; max-width: var(--app-w); margin: 0 auto;
  max-height: 82vh; max-height: 82dvh; display: flex; flex-direction: column;
  background: var(--c11); border: 1px solid var(--c12); border-bottom: 0; border-radius: var(--r-card) var(--r-card) 0 0;
  padding-bottom: var(--safe-bottom); box-shadow: 0 -12px 40px rgba(0, 0, 0, .45);
  transform: translateY(100%); transition: transform .22s ease;
}
.isheet.open .isheet-backdrop { opacity: 1; }
.isheet.open .isheet-panel { transform: none; }
.isheet-grip { width: 44px; height: 5px; border-radius: 3px; background: var(--c13); margin: 10px auto 0; cursor: pointer; }
.isheet-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px var(--pad) 12px; }
.isheet-head small { display: block; color: var(--c15); font-size: calc(12 * var(--fu)); text-transform: uppercase; letter-spacing: .04em; }
.isheet-head b { display: block; font-size: calc(20 * var(--fu)); }
.isheet-x { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; border: 0; background: var(--c12); color: var(--c2); cursor: pointer; font-size: 15px; }
.isheet-num { padding: 0 var(--pad) 12px; }
.isheet-body { overflow-y: auto; overscroll-behavior: contain; padding: 0 var(--pad) calc(24 * var(--u)); display: grid; gap: 8px; align-content: start; }
.isheet-sec { margin: 10px 0 2px; display: flex; align-items: center; gap: 6px; }
.isheet-item {
  display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center;
  padding: 8px 12px 8px 8px; border-radius: 14px; background: var(--c12); color: inherit;
}
.isheet-item:active { transform: scale(.99); }
.isheet-item.is-current { background: var(--c13); box-shadow: inset 3px 0 0 var(--c8); }
.isheet-item.is-locked { opacity: .7; }
.si-img { width: 52px; height: 52px; border-radius: 10px; overflow: hidden; display: grid; place-items: center; background: var(--c11); color: var(--c14); }
.si-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.si-txt { display: grid; gap: 2px; min-width: 0; }
.si-txt b { font-size: calc(16 * var(--fu)); line-height: 1.3; overflow-wrap: anywhere; }
.si-code { color: var(--c15); font-weight: 700; font-size: calc(12 * var(--fu)); }
.si-now { color: var(--c18); font-size: calc(12 * var(--fu)); font-weight: 700; white-space: nowrap; }
.si-go { color: var(--c14); }
