/* ============================================================
   search-purpose.css — Search Purpose Page (/search/purpose)
   Namespace prefix: boh-search-purpose
   All values use design tokens from app.css (:root)
   ============================================================ */

/* --- LAYOUT OVERRIDE --- */
html:has(.boh-search-purpose),
body:has(.boh-search-purpose) {
  height: 100%;
  overflow: hidden;
}

body:has(.boh-search-purpose) .boh-shell {
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

body:has(.boh-search-purpose) .boh-shell__header,
body:has(.boh-search-purpose) .boh-shell__bottom {
  display: none;
}

body:has(.boh-search-purpose) .boh-shell__main {
  flex: 1;
  overflow: hidden;
  padding-left: 0;
  padding-right: 0;
}

/* --- ROOT CONTAINER --- */
.boh-search-purpose {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: var(--boh-color-bg);
  font-family: var(--boh-font-sans);
}

/* --- HEADER --- */
.boh-search-purpose__header {
  padding: 2.5rem var(--boh-space-screen) 0.625rem var(--boh-space-screen);
  flex-shrink: 0;
  position: relative;
  z-index: 10;
}

.boh-search-purpose__header-container {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 2.5rem;
}

.boh-search-purpose__back-btn {
  position: absolute;
  left: 0;
  padding: 0.5rem;
  margin-left: -0.5rem;
  color: var(--boh-color-primary);
  background: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s ease;
  text-decoration: none;
}

.boh-search-purpose__back-btn:active {
  transform: scale(0.95);
}

.boh-search-purpose__back-btn svg {
  width: 1.5rem;
  height: 1.5rem;
}

.boh-search-purpose__header-text {
  text-align: center;
}

.boh-search-purpose__title {
  font-family: var(--boh-font-sans);
  font-size: var(--boh-font-size-navtitle);
  font-weight: var(--boh-font-weight-700);
  color: var(--boh-color-primary);
  margin: 0 0 0.125rem 0;
  line-height: var(--boh-line-height-navtitle);
}

.boh-search-purpose__subtitle {
  font-size: 13px;
  color: color-mix(in srgb, var(--boh-color-muted) 70%, transparent);
  margin: 0;
  line-height: 1.3;
}

/* --- SCROLLABLE MAIN --- */
.boh-search-purpose__main {
  flex: 1;
  overflow-y: auto;
  padding-left: var(--boh-space-screen);
  padding-right: var(--boh-space-screen);
  padding-top: 1rem;
  padding-bottom: 6rem;
}

/* --- PURPOSE LIST --- */
.boh-search-purpose__list {
  display: flex;
  flex-direction: column;
}

/* Row item — mirrors React flex items-center gap-4 py-4 border-b */
.boh-search-purpose__row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--boh-color-border) 10%, transparent);
  text-decoration: none;
  background: transparent;
  border-left: none;
  border-right: none;
  border-top: none;
  cursor: pointer;
  outline: none;
  text-align: left;
  width: 100%;
  transition: opacity 0.15s ease;
}

.boh-search-purpose__row:last-child {
  border-bottom: none;
}

.boh-search-purpose__row:active {
  opacity: 0.7;
}

/* Square icon tile — mirrors React w-14 h-14 bg-boh-tile rounded-card */
.boh-search-purpose__icon-tile {
  width: 3.5rem;
  height: 3.5rem;
  background-color: var(--boh-color-tile);
  border-radius: var(--boh-radius-card);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.boh-search-purpose__icon {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--boh-color-gold);
  stroke-width: 1.5;
}

.boh-search-purpose__text {
  display: flex;
  flex-direction: column;
}

.boh-search-purpose__row-title {
  font-weight: var(--boh-font-weight-700);
  color: var(--boh-color-primary);
  font-size: 16px;
  line-height: 1.25;
  margin: 0 0 0.25rem 0;
}

.boh-search-purpose__row-subtitle {
  font-size: 13px;
  color: color-mix(in srgb, var(--boh-color-muted) 70%, transparent);
  line-height: 1.3;
  margin: 0;
}
