/* var.103 — Global search by site sections */
.site-search-trigger {
  position: fixed;
  left: max(66px, calc(env(safe-area-inset-left) + 66px));
  bottom: calc(86px + env(safe-area-inset-bottom));
  z-index: 998;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--accent, #2f7d32) 45%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface, #fff) 92%, transparent);
  color: var(--accent, #2f7d32);
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
}
.site-search-trigger:hover { transform: translateY(-2px); }
.site-search-trigger:active { transform: translateY(0); }
.site-search-trigger svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; }
.site-search-trigger__badge {
  position: absolute;
  left: 50%;
  bottom: -7px;
  transform: translateX(-50%);
  padding: 1px 5px;
  border-radius: 999px;
  background: var(--accent, #2f7d32);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .02em;
}
.site-search-dialog {
  width: min(760px, calc(100vw - 28px));
  max-height: min(82vh, 780px);
  padding: 0;
  border: 1px solid rgba(127,127,127,.28);
  border-radius: 18px;
  background: var(--surface, #fff);
  color: var(--text, #202124);
  box-shadow: 0 24px 80px rgba(0,0,0,.28);
  overflow: hidden;
}
.site-search-dialog::backdrop { background: rgba(0,0,0,.42); backdrop-filter: blur(3px); }
.site-search-head { display:flex; align-items:center; gap:10px; padding:14px; border-bottom:1px solid rgba(127,127,127,.2); }
.site-search-field { flex:1; min-width:0; position:relative; }
.site-search-field svg { position:absolute; left:14px; top:50%; width:20px; height:20px; transform:translateY(-50%); fill:none; stroke:currentColor; stroke-width:2; opacity:.65; pointer-events:none; }
.site-search-input {
  width:100%; height:46px; padding:0 14px 0 44px; border:1px solid rgba(127,127,127,.35); border-radius:12px;
  background:var(--surface, #fff); color:inherit; font:inherit; outline:none;
}
.site-search-input:focus { border-color:var(--accent, #2f7d32); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent, #2f7d32) 18%, transparent); }
.site-search-close { width:40px; height:40px; border:0; border-radius:10px; background:transparent; color:inherit; font-size:24px; cursor:pointer; }
.site-search-close:hover { background:rgba(127,127,127,.12); }
.site-search-status { padding:9px 16px; border-bottom:1px solid rgba(127,127,127,.14); font-size:.86em; opacity:.72; }
.site-search-results { max-height:calc(min(82vh, 780px) - 145px); padding:8px; overflow:auto; overscroll-behavior:contain; }
.site-search-group + .site-search-group { margin-top:10px; padding-top:8px; border-top:1px solid rgba(127,127,127,.16); }
.site-search-page-title { margin:0; padding:6px 10px 5px; font-size:.82em; line-height:1.3; text-transform:uppercase; letter-spacing:.045em; color:var(--accent, #2f7d32); }
.site-search-result { display:block; padding:10px 12px; border-radius:10px; color:inherit; text-decoration:none; }
.site-search-result:hover,
.site-search-result[aria-selected="true"] { background:color-mix(in srgb, var(--accent, #2f7d32) 12%, transparent); color:inherit; }
.site-search-section-title { display:block; font-weight:700; line-height:1.3; }
.site-search-snippet { display:block; margin-top:4px; opacity:.72; font-size:.9em; line-height:1.4; }
.site-search-result mark { padding:0 .08em; border-radius:2px; background:color-mix(in srgb, var(--accent, #2f7d32) 24%, transparent); color:inherit; }
.site-search-empty { padding:28px 16px; text-align:center; opacity:.68; }
.site-search-hint { padding:0 14px 12px; font-size:.82em; opacity:.62; }
@media (max-width:640px) {
  .site-search-trigger { left:max(64px, calc(env(safe-area-inset-left) + 64px)); bottom:calc(76px + env(safe-area-inset-bottom)); }
  .site-search-dialog { width:calc(100vw - 16px); max-height:86dvh; border-radius:16px; }
  .site-search-results { max-height:calc(86dvh - 145px); }
  .site-search-hint { display:none; }
}
@media (prefers-reduced-motion:reduce) { .site-search-trigger { transition:none !important; } }
@media print { .site-search-trigger, .site-search-dialog { display:none !important; } }
