:root {
  --ink: var(--neutral-950);
  --paper: var(--sand-060);
  --white: var(--neutral-000);
  --line: var(--sand-200);
  --muted: var(--neutral-600);
  --ih-muted: var(--neutral-600);
  --ih-accent: var(--sand-700);
  --ih-focus-border: var(--sand-600);
  --ih-hover: var(--sand-040);
  --ih-accent-soft: var(--sand-020);
  --sand-950: #171007;
  --sand-900: #2F200F;
  --sand-800: #593E1C;
  --sand-700: #885E2B;
  --sand-600: #B37B38;
  --sand-500: #C89250;
  --sand-400: #D3A873;
  --sand-300: #DEBE96;
  --sand-200: #E9D4B9;
  --sand-100: #F4E9DC;
  --sand-080: #F6EEE4;
  --sand-060: #F9F3EC;
  --sand-050: #FAF5EF;
  --sand-040: #FDFAF7;
  --sand-020: #FEFDFB;
  --green-950: #0A150F;
  --green-900: #142A1F;
  --green-800: #26503B;
  --green-700: #397959;
  --green-600: #4CA177;
  --green-500: #63B58C;
  --green-400: #82C4A3;
  --green-300: #A1D3BA;
  --green-200: #C1E2D1;
  --green-100: #E0F0E8;
  --green-080: #E6F3ED;
  --green-060: #ECF6F1;
  --green-050: #F0F8F4;
  --green-040: #F3F9F6;
  --green-020: #F9FCFA;
  --lavender-950: #0D0D17;
  --lavender-900: #18182B;
  --lavender-800: #313159;
  --lavender-700: #484984;
  --lavender-600: #6667AB;
  --lavender-500: #7F80B8;
  --lavender-400: #999AC7;
  --lavender-300: #B3B4D5;
  --lavender-200: #CECEE4;
  --lavender-100: #E5E5F1;
  --lavender-080: #EAEAF4;
  --lavender-060: #EFEFF7;
  --lavender-050: #F2F2F8;
  --lavender-040: #F5F5F9;
  --lavender-020: #FAFAFC;
  --blue-950: #090C15;
  --blue-900: #111627;
  --blue-800: #232F52;
  --blue-700: #34457A;
  --blue-600: #465EA4;
  --blue-500: #5E75BA;
  --blue-400: #7E91C8;
  --blue-300: #9EACD6;
  --blue-200: #BFC8E4;
  --blue-100: #DFE3F1;
  --blue-080: #E5E9F4;
  --blue-060: #ECEEF7;
  --blue-050: #EFF1F8;
  --blue-040: #F2F4F9;
  --blue-020: #F9F9FC;
  --neutral-950: #020202;
  --neutral-900: #0F0F0F;
  --neutral-800: #292929;
  --neutral-700: #424242;
  --neutral-600: #5C5C5C;
  --neutral-500: #737373;
  --neutral-400: #8C8C8C;
  --neutral-300: #A6A6A6;
  --neutral-200: #BFBFBF;
  --neutral-100: #D9D9D9;
  --neutral-080: #E1E1E1;
  --neutral-060: #E8E8E8;
  --neutral-050: #ECECEC;
  --neutral-040: #F0F0F0;
  --neutral-020: #F7F7F7;
  --neutral-000: #FFFFFF;
}

h3 { color: var(--sand-700); }

a {
  color: var(--ih-accent);
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--sand-200);
  text-underline-offset: 0.14em;
}

a:hover,
a:focus-visible {
  color: var(--sand-900);
}

.inhotel-root-shell {
  min-height: 100vh;
  color: var(--neutral-950);
}

.inhotel-root-shell .wrap {
  margin: 0 auto;
  padding: 0 22px;
}

#inhotelTopbarMount {
  position: sticky;
  top: 0;
  z-index: 80;
}

#inhotelTopbarMount .topbar {
  position: relative;
  z-index: 80;
  border-bottom: 1px solid var(--sand-200);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.92));
  backdrop-filter: blur(14px);
}

#inhotelTopbarMount .topbar .wrap {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 64px;
  gap: 16px;
}

#inhotelTopbarMount .brand {
  display: flex;
  align-items: center;
  gap: 12px;
  letter-spacing: 0.02em;
}

.inhotel-root-shell .brand-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: inherit;
  text-decoration: none;
}

.inhotel-root-shell .brand-logo {
  display: block;
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.inhotel-root-shell .brand-title {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.01em;
}

#inhotelTopbarMount .nav {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: flex-end;
  color: var(--neutral-600);
  font-size: 14px;
}

#inhotelTopbarMount .nav-section-links,
#inhotelTopbarMount .nav-actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

#inhotelTopbarMount .nav-section-links {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

#inhotelTopbarMount .nav-actions {
  margin-left: auto;
}

#inhotelTopbarMount .nav a {
  color: var(--neutral-600);
  text-decoration: none;
  transition: color 0.16s ease;
}

#inhotelTopbarMount .nav a:hover,
#inhotelTopbarMount .nav a:focus-visible {
  color: var(--neutral-900);
}

#inhotelTopbarMount .language-switcher {
  position: relative;
  display: inline-flex;
  align-items: center;
}

#inhotelTopbarMount .language-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 9px;
  border: 1px solid var(--sand-200);
  border-radius: 999px;
  background: var(--neutral-000);
  color: inherit;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}

#inhotelTopbarMount .language-trigger:hover,
#inhotelTopbarMount .language-trigger:focus-visible,
#inhotelTopbarMount .language-switcher[open] .language-trigger {
  background: var(--ih-hover);
  color: var(--neutral-900);
}

#inhotelTopbarMount .language-flag {
  font-size: 15px;
  line-height: 1;
}

#inhotelTopbarMount .language-chevron {
  font-size: 10px;
  opacity: 0.75;
}

#inhotelTopbarMount .language-menu {
  position: absolute;
  z-index: 90;
  top: calc(100% + 10px);
  right: 0;
  min-width: 170px;
  padding: 6px;
  border: 1px solid var(--sand-200);
  border-radius: 8px;
  background: var(--neutral-000);
  box-shadow: 0 16px 34px rgba(15, 15, 15, 0.12);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.16s ease, transform 0.16s ease;
}

#inhotelTopbarMount .language-switcher[open] .language-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

#inhotelTopbarMount .language-menu .language-option {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 6px;
  color: var(--neutral-950);
  font-size: 13px;
  text-decoration: none;
}

#inhotelTopbarMount .language-menu .language-option:hover,
#inhotelTopbarMount .language-menu .language-option:focus-visible {
  background: var(--ih-hover);
  color: var(--neutral-900);
}

#inhotelTopbarMount .language-code {
  font-size: 11px;
  font-weight: 700;
  opacity: 0.72;
}

.inhotel-root-shell {
  display: flex;
  flex-direction: column;
}

.inhotel-root-shell > main,
.inhotel-root-shell > #main-content {
  flex: 1 0 auto;
  width: 100%;
}

#inhotelTopbarMount .brand-logo {
  width: 60px;
  height: auto;
}

#inhotelTopbarMount .language-trigger {
  min-height: 36px;
  list-style: none;
}

#inhotelTopbarMount .language-trigger::-webkit-details-marker { display: none; }
#inhotelTopbarMount .language-switcher:not([open]) .language-menu { visibility: hidden; }
#inhotelTopbarMount .topbar:not(.docs-topbar) .language-menu .language-option[aria-current],
#inhotelTopbarMount .nav-section-links a[aria-current] { color: var(--ih-accent); font-weight: 600; }

:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 1px solid var(--ih-focus-border);
  outline-offset: 3px;
}

.skip-link { position: absolute; top: 6px; left: 6px; z-index: 100; padding: 8px 12px; background: var(--white); }
.skip-link:not(:focus) { clip-path: inset(50%); }

.site-footer {
  padding: 36px 0 24px;
  background: var(--neutral-800);
  color: var(--neutral-200);
  font-size: 15px;
  line-height: 1.4;
}

.site-footer-inner { display: grid; gap: 32px; }

.site-footer-content {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 4fr;
  gap: 32px;
}

.site-footer-company { display: grid; justify-items: start; gap: 12px; }
.site-footer-company p { margin: 0; }
.site-footer-brand img { display: block; }
.site-footer-registration { display: flex; align-items: center; gap: 8px; }

.site-footer-groups {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.site-footer h2 {
  margin: 0 0 14px;
  color: var(--neutral-040);
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1.25;
  text-transform: uppercase;
}

.site-footer ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.site-footer-groups ul + ul { margin-top: 12px; }
.site-footer-groups ul + ul::before {
  content: "";
  width: min(120px, 100%);
  height: 1px;
  margin-bottom: 4px;
  background: linear-gradient(90deg, var(--neutral-400), transparent);
}
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover { color: var(--white); text-decoration: underline dotted var(--neutral-200); }
.site-footer a:focus-visible { outline-color: var(--ih-focus-border); border-radius: 2px; }
.site-footer .site-footer-socials { display: flex; gap: 8px; }
.site-footer-socials a { display: grid; width: 36px; height: 36px; place-items: center; }
.site-footer-socials svg { width: 18px; height: 18px; fill: currentColor; }

.site-footer-copyright {
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid var(--neutral-600);
  font-size: 13px;
  text-align: center;
}

@media (max-width: 900px) {
  .site-footer-content { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .site-footer-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .site-footer { padding: 30px 0 20px; }
  .site-footer-groups { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 680px) {
  #inhotelTopbarMount .topbar .wrap { gap: 8px; padding: 0 14px; }
  #inhotelTopbarMount .nav-section-links { position: static; transform: none; gap: 10px; }
  #inhotelTopbarMount .nav-actions { margin-left: 10px; }
  #inhotelTopbarMount .nav { font-size: .83rem; }
  #inhotelTopbarMount .brand-logo { width: 60px; }
}
