.header-left {display:flex; align-items:center; gap:10px;}
.visually-hidden {position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.search-btn {width:42px; height:42px; border-radius:50%; border:1.5px solid rgba(115,88,49,0.28); background:transparent; color:var(--text-sub); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:background 0.25s var(--ease), border-color 0.25s var(--ease), color 0.25s var(--ease), transform 0.2s var(--ease); padding:0; flex:0 0 auto; touch-action:manipulation; -webkit-tap-highlight-color:transparent; appearance:none; -webkit-appearance:none;}
.search-btn svg {width:18px; height:18px; display:block;}
.search-btn:hover {background:var(--gold-pale); border-color:var(--gold-deep); color:var(--gold-ink);}
.search-btn:focus-visible {outline:2px solid var(--gold-deep); outline-offset:2px;}
.search-btn[aria-expanded="true"] {background:var(--charcoal); border-color:var(--charcoal); color:var(--cream);}
.search-backdrop {position:fixed; inset:0; background:rgba(30,26,23,0.32); opacity:0; visibility:hidden; z-index:998; transition:opacity 0.3s var(--ease), visibility 0.3s var(--ease);}
.search-overlay {position:fixed; top:0; left:0; right:0; background:rgba(254,252,248,0.99); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); border-bottom:1px solid rgba(115,88,49,0.16); box-shadow:0 14px 44px rgba(42,36,32,0.10); max-height:100dvh; overflow-y:auto; transform:translateY(-100%); opacity:0; visibility:hidden; z-index:999; transition:transform 0.4s var(--ease), opacity 0.4s var(--ease), visibility 0.4s var(--ease);}
.search-overlay-inner {max-width:880px; margin:0 auto; padding:36px 40px 28px; position:relative;}
.search-form {position:relative; display:flex; align-items:center; border-bottom:1.5px solid rgba(115,88,49,0.28); padding-bottom:14px;}
.search-input {font-family:'Cormorant Garamond', serif; font-weight:500; font-size:clamp(20px, 3vw, 32px); line-height:1.2; color:var(--text-primary); background:transparent; border:none; outline:none; flex:1 1 auto; width:100%; padding:8px 0; letter-spacing:var(--ls-snug);}
.search-input::placeholder {color:var(--text-muted); font-style:italic;}
.search-input:focus {outline:none;}
.search-close {background:none; border:none; font-size:32px; line-height:1; color:var(--text-sub); cursor:pointer; padding:4px 8px; margin-left:14px; border-radius:50%; width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; transition:background 0.2s var(--ease), color 0.2s var(--ease); touch-action:manipulation; -webkit-tap-highlight-color:transparent; appearance:none; -webkit-appearance:none;}
.search-close:hover {background:var(--gold-pale); color:var(--gold-ink);}
.search-close:focus-visible {outline:2px solid var(--gold-deep); outline-offset:2px;}
.search-results {margin-top:18px; display:flex; flex-direction:column; gap:2px;}
.search-result-item {display:block; padding:14px 14px; color:var(--text-body); text-decoration:none; border-radius:4px; font-family:'Nunito Sans', sans-serif; transition:background 0.18s var(--ease); cursor:pointer; font-size:var(--fs-base); line-height:1.45;}
.search-result-item:hover, .search-result-item.is-active {background:var(--cream-mid); color:var(--text-primary);}
.search-result-item mark {background:var(--gold-pale); color:var(--text-primary); padding:0 2px; font-weight:600;}
.search-result-meta {font-size:11px; text-transform:uppercase; letter-spacing:0.18em; color:var(--gold-ink); font-weight:700; margin-top:2px;}
.search-results-empty {padding:18px 14px; color:var(--text-muted); font-style:italic; font-size:var(--fs-base);}
.search-recents {margin-top:18px;}
.search-recents-label {font-size:11px; text-transform:uppercase; letter-spacing:0.22em; color:var(--gold-ink); font-weight:700; margin-bottom:10px; display:flex; align-items:center; justify-content:space-between;}
.search-recents-clear {background:none; border:none; cursor:pointer; color:var(--text-muted); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; font-weight:600; font-family:inherit; padding:2px 6px;}
.search-recents-clear:hover {color:var(--gold-ink);}
.search-recents-chips {display:flex; flex-wrap:wrap; gap:8px;}
.search-recent-chip {background:var(--cream-mid); border:1px solid rgba(115,88,49,0.18); color:var(--text-body); font-size:13px; padding:6px 12px; border-radius:999px; cursor:pointer; font-family:inherit; transition:background 0.18s var(--ease), border-color 0.18s var(--ease); touch-action:manipulation; -webkit-tap-highlight-color:transparent;}
.search-recent-chip:hover {background:var(--gold-pale); border-color:var(--gold-deep);}
.search-shortcut-hint {margin-top:18px; font-size:12px; color:var(--text-muted); font-family:'Nunito Sans', sans-serif; text-align:right;}
.search-shortcut-hint kbd {font-family:'Nunito Sans', sans-serif; background:var(--cream-mid); border:1px solid rgba(115,88,49,0.22); border-radius:4px; padding:2px 7px; font-size:11px; font-weight:600; color:var(--text-sub);}
body.search-open {position:fixed; width:100%; overflow:hidden;}
.body-text a, .bento-body a, .treatment-body a {color:var(--gold-ink); text-decoration:none; border-bottom:1px solid rgba(115,88,49,0.5); font-weight:600; transition:var(--transition);}
.body-text a:hover, .bento-body a:hover, .treatment-body a:hover {color:var(--charcoal); border-bottom-color:var(--charcoal);}
.bento-card--feature {grid-column:span 3; background:linear-gradient(180deg, #FEFCF8 0%, #F5EFE5 100%); border-color:rgba(115,88,49,0.30); padding-top:72px;}
@media (hover:none) and (pointer:coarse) {
  .search-shortcut-hint {display:none;}
}
@media (max-width:900px) {
  .search-overlay-inner {padding:28px 24px 22px;}
}
@media (max-width:560px) {
  .search-overlay-inner {padding:22px 18px 18px;}
  .search-input {font-size:18px;}
  .search-close {font-size:28px; width:34px; height:34px;}
}