/* Shared TotInk page shell and header geometry.
   This file intentionally controls only the outer rounded shell and top navigation.
   Page-specific hero colors, content cards, and tool layouts stay in each HTML file. */

.page-wrap {
  width: calc(100% - 28px) !important;
  max-width: none !important;
  margin: 16px auto 32px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.68) !important;
  border-radius: 30px !important;
  box-shadow: 0 30px 80px rgba(31, 47, 84, 0.14) !important;
  backdrop-filter: blur(28px) saturate(1.15) !important;
  overflow: hidden !important;
  position: relative !important;
}

.page-wrap > .page-inner {
  position: relative !important;
  z-index: 1 !important;
  min-height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.site-header,
.topbar {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: 10 !important;
  transform: none !important;
  padding: 18px 0 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.site-header > .container,
.topbar > .container,
.topbar > .nav,
header.topbar > .container,
header.topbar > .nav,
.page-wrap .site-header > .container,
.page-wrap .topbar > .container,
.page-wrap .topbar > .nav,
.page-wrap .topbar .nav,
.page-wrap header.topbar > .container,
.page-wrap header.topbar > .nav {
  width: calc(100% - 44px) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.site-header .nav-shell,
.topbar .nav {
  width: calc(100% - 44px) !important;
  min-height: 52px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 9px 10px 9px 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.76) !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, 0.58) !important;
  box-shadow: 0 12px 34px rgba(52, 80, 128, 0.10) !important;
  backdrop-filter: blur(18px) !important;
  box-sizing: border-box !important;
}

.site-header > .container .nav-shell,
.page-wrap .site-header > .container .nav-shell {
  width: 100% !important;
}

.site-header .brand,
.topbar .brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 38px !important;
  padding: 0 !important;
  font-size: 1rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.site-header .brand-logo,
.topbar .brand-logo,
.site-header .brand img,
.topbar .brand img {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  border-radius: 14px !important;
  object-fit: cover !important;
  box-shadow: 0 10px 22px rgba(36, 107, 255, 0.16) !important;
}

.site-header .nav-links,
.topbar .nav-links {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 4px !important;
  min-width: 0 !important;
  flex-wrap: nowrap !important;
}

.site-header .nav-links a,
.topbar .nav-links a {
  min-height: 34px !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  color: rgba(23, 35, 63, 0.72) !important;
  font-size: 0.82rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background 0.16s ease, color 0.16s ease, transform 0.16s ease !important;
}

.site-header .nav-links a:hover,
.site-header .nav-links a.active,
.topbar .nav-links a:hover,
.topbar .nav-links a.active {
  background: rgba(36, 107, 255, 0.10) !important;
  color: #1455dc !important;
  transform: translateY(-1px) !important;
}

.site-header .nav-actions,
.topbar .nav-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

.site-header .nav-actions .btn,
.topbar .nav-actions .btn,
.site-header .nav-action,
.topbar .nav-action {
  min-height: 36px !important;
  height: 36px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  border-radius: 999px !important;
  font-size: 0.82rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

.site-header .lang-switch,
.topbar .lang-switch {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: auto !important;
  min-width: 96px !important;
  max-width: 108px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding-left: 12px !important;
  padding-right: 28px !important;
  border: 1px solid rgba(90, 125, 180, 0.18) !important;
  border-radius: 999px !important;
  background-color: rgba(255, 255, 255, 0.74) !important;
  background-image: linear-gradient(45deg, transparent 50%, rgba(23, 35, 63, 0.68) 50%), linear-gradient(135deg, rgba(23, 35, 63, 0.68) 50%, transparent 50%) !important;
  background-position: calc(100% - 17px) 50%, calc(100% - 12px) 50% !important;
  background-size: 5px 5px, 5px 5px !important;
  background-repeat: no-repeat !important;
  color: rgba(23, 35, 63, 0.88) !important;
  font-size: 0.82rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.site-header .lang-switch .lang-caret,
.topbar .lang-switch .lang-caret {
  display: none !important;
}

@media (max-width: 900px) {
  .page-wrap {
    width: calc(100% - 20px) !important;
    margin-top: 10px !important;
    border-radius: 26px !important;
  }

  .site-header,
  .topbar {
    padding: 10px 0 6px !important;
  }

  .site-header > .container,
  .topbar > .container,
  .topbar > .nav,
  header.topbar > .container,
  header.topbar > .nav,
  .page-wrap .site-header > .container,
  .page-wrap .topbar > .container,
  .page-wrap .topbar > .nav,
  .page-wrap .topbar .nav,
  .page-wrap header.topbar > .container,
  .page-wrap header.topbar > .nav,
  .site-header .nav-shell,
  .topbar .nav {
    width: calc(100% - 22px) !important;
  }

  .site-header > .container .nav-shell,
  .page-wrap .site-header > .container .nav-shell {
    width: 100% !important;
  }

  .site-header .nav-shell,
  .topbar .nav {
    grid-template-columns: auto auto !important;
    gap: 10px !important;
    padding: 9px 10px !important;
  }

  .site-header .nav-links,
  .topbar .nav-links {
    grid-column: 1 / -1 !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .site-header .nav-actions,
  .topbar .nav-actions {
    justify-self: end !important;
  }
}
