/* ==========================================================================
   Elbrus.info — hotels directory

   Loaded after the theme stylesheet and written entirely in its custom
   properties, so light, dark and "match system" need no separate rules here.
   Nothing in this file touches a selector the theme already styles.
   ========================================================================== */

/* ---------- 1 Article measure -------------------------------------------- */

/* This template has no sidebar; do not inherit the theme's narrow first
   desktop grid column. Keep wide comparisons scrollable on small screens. */
.eh-body { grid-template-columns: minmax(0, 1fr); }
.eh-tablewrap { max-inline-size: 100%; overflow-x: auto; }
.eh-tablewrap table { min-inline-size: 38rem; }

/* Directory entries read a little wider than a running article: an address and
   two links should not wrap after four words. Grids and the table are free of
   the measure altogether. */
.eh-prose > * { max-inline-size: 48rem; }
.eh-prose > .eh-districts,
.eh-prose > .eh-tablewrap,
.eh-prose > .eh-related { max-inline-size: 100%; }

/* ---------- 2 Contents ---------------------------------------------------- */

.eh-toc {
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  background: var(--paper-raised);
  padding: var(--s-4) var(--s-5); margin-block: var(--s-6);
}
.eh-toc__title {
  font-family: var(--mono); font-size: var(--fs-note);
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--ink-muted); margin: 0 0 var(--s-3);
}
.eh-toc ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-4);
  font-size: var(--fs-small);
}
.eh-toc li + li { margin-block-start: 0; }
.eh-toc a { color: var(--ink-2); text-decoration: none; border-block-end: 1px solid var(--line-strong); }
.eh-toc a:hover { color: var(--ice); border-block-end-color: currentColor; }

/* ---------- 3 District cards ---------------------------------------------- */

.eh-districts {
  display: grid; gap: var(--s-4); margin-block: var(--s-6);
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
}
.eh-district {
  display: grid; gap: var(--s-2); align-content: start;
  padding: var(--s-5);
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  background: var(--paper-raised);
  text-decoration: none; color: inherit;
}
a.eh-district:hover { border-color: var(--ice); }
.eh-district__name { font-family: var(--serif); font-size: var(--fs-h3); line-height: var(--lh-head); }
a.eh-district:hover .eh-district__name { color: var(--ice); }
.eh-district__text { font-size: var(--fs-small); line-height: var(--lh-body); color: var(--ink-2); }
.eh-district__count {
  font-family: var(--mono); font-size: var(--fs-note);
  letter-spacing: .06em; color: var(--ink-muted);
}

/* ---------- 4 Hotel entries ----------------------------------------------- */

.eh-hotel {
  border-block-start: 1px solid var(--line);
  padding-block: var(--s-5) var(--s-4);
  scroll-margin-block-start: calc(var(--header-h) + 1.5rem);
}
.eh-hotel:target { background: var(--ice-wash); border-radius: var(--radius); }
.eh-hotel h2, .eh-hotel h3 { margin-block-start: 0; }
.eh-hotel__kind {
  font-family: var(--mono); font-size: var(--fs-note);
  text-transform: uppercase; letter-spacing: .08em;
  color: var(--ink-muted); margin-block-start: var(--s-2);
}
.eh-hotel__where { font-size: var(--fs-small); color: var(--ink-2); }
.eh-hotel__k {
  font-family: var(--mono); font-size: var(--fs-note);
  text-transform: uppercase; letter-spacing: .08em;
  color: var(--ink-muted); margin-inline-end: var(--s-2);
}

/* Two link buttons at most: the hotel's own site and the public source the
   address came from. Long or punycode addresses may wrap anywhere. */
.eh-hotel__links {
  display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-3);
  margin-block-start: var(--s-3);
}
.eh-hotel__links a {
  display: inline-flex; align-items: center; min-block-size: 2.25rem;
  padding: .35rem .8rem; border-radius: 999px;
  font-size: var(--fs-small); text-decoration: none;
  overflow-wrap: anywhere; word-break: break-word;
}
.eh-hotel__links .eh-site { border: 1px solid var(--ice); color: var(--ice-strong); }
.eh-hotel__links .eh-site:hover { background: var(--ice-wash); }
.eh-hotel__links .eh-src { border: 1px solid var(--line-strong); color: var(--ink-muted); }
.eh-hotel__links .eh-src:hover { border-color: var(--oxide); color: var(--oxide); }
.eh-hotel__date {
  font-family: var(--mono); font-size: var(--fs-note);
  letter-spacing: .05em; color: var(--ink-muted);
  margin-block-start: var(--s-3);
}

/* ---------- 5 Index lists, questions, related ----------------------------- */

.eh-index { list-style: none; margin: 0; padding: 0; font-size: var(--fs-small); }
.eh-index li { border-block-start: 1px solid var(--line); padding-block: .5rem; }
.eh-index li + li { margin-block-start: 0; }

.eh-faq h3 { font-size: var(--fs-h4); }
.eh-faq p { color: var(--ink-2); }

.eh-related {
  display: grid; gap: var(--s-4); margin-block-start: var(--s-7);
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}
.eh-relcard {
  display: grid; gap: var(--s-2); padding: var(--s-4);
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  background: var(--paper-raised); text-decoration: none; color: inherit;
}
a.eh-relcard:hover { border-color: var(--ice); }
.eh-relcard__title { font-family: var(--serif); font-size: var(--fs-h4); }
a.eh-relcard:hover .eh-relcard__title { color: var(--ice); }
.eh-relcard__why { font-size: var(--fs-note); color: var(--ink-muted); }

/* ---------- 6 Site-wide navigation block ---------------------------------- */

/* Rendered from the footer of every ordinary page. Quiet by design: it names
   the five Russian pages and nothing else. */
.eh-sitenav {
  border-block-start: 1px solid var(--line);
  background: var(--paper-sunk);
  padding-block: var(--s-5);
}
.eh-sitenav__inner {
  inline-size: var(--shell); margin-inline: auto;
  display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s-3) var(--s-5);
}
.eh-sitenav__label {
  font-family: var(--mono); font-size: var(--fs-note);
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--ink-muted); margin: 0;
}
.eh-sitenav__list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-4);
  font-size: var(--fs-small);
}
.eh-sitenav__list a { color: var(--ink-2); text-decoration: none; }
.eh-sitenav__list a:hover { color: var(--ice); text-decoration: underline; }
.eh-sitenav__list a[aria-current="page"] { color: var(--ink); font-weight: 600; }

@media (min-width: 48rem) {
  .eh-hotel { padding-block: var(--s-6) var(--s-5); }
}

/* Expanded refuge catalogue: confined to the existing directory template. */
.eh-prose .er-table-wrap{max-inline-size:100%;overflow-x:auto;border:1px solid var(--line,#d8d8d2);border-radius:8px;margin-block:1.5rem;-webkit-overflow-scrolling:touch}
.er-table{width:100%;min-width:580px;border-collapse:collapse;font-size:.88rem;line-height:1.55}.er-table th,.er-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line,#d8d8d2)}.er-table thead{background:var(--paper-raised)}.er-table caption{text-align:left;padding:12px 16px;font-weight:600}.er-table tbody th{width:27%}.er-table tbody td:nth-child(2){width:23%}
.er-category{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.6rem}.er-status{border-left:3px solid var(--sect-places,#617258);padding:.7rem 1rem;background:var(--paper-raised);font-size:.94rem}
.er-facts{margin:1.4rem 0}.er-facts>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;padding:.7rem 0;border-bottom:1px solid var(--line,#d8d8d2)}.er-facts dt{font-weight:600}.er-facts dd{margin:0}.er-citations{font-size:.8rem;color:var(--ink-muted)}.er-citations a{display:inline-block;padding:5px}
.er-faq details{border-bottom:1px solid var(--line,#d8d8d2);padding:1rem 0}.er-faq summary{cursor:pointer;font-weight:600;padding:.4rem 0;line-height:1.5}.er-faq details[open] summary{margin-bottom:1rem}.er-sources{font-size:.85rem;overflow-wrap:anywhere}.er-group>.er-card{margin-block:2rem}.eh-prose [id]{scroll-margin-top:100px}
@media(max-width:600px){.er-facts>div{grid-template-columns:1fr;gap:4px}.er-table th,.er-table td{padding:10px 12px}.er-status{padding:.6rem .8rem}}

.eh-prose>#comparison{max-inline-size:100%}.er-table-wrap:focus-visible,.er-faq summary:focus-visible{outline:2px solid var(--ice);outline-offset:3px}@media(max-width:600px){.eh-prose [id]{scroll-margin-top:220px}}
