/* ==========================================================================
   AI Search — pill, bottom sheet (mobile) and inline bar (desktop)
   ========================================================================== */:root{--ai-green:#364A4B;--ai-green-dark:#2a3a3b;--ai-sage:#B8BA99;--ai-offwhite:#F2F1EC;--ai-gray:#636463;--ai-shadow:0 8px 30px rgba(0, 0, 0, 0.18)}/* --------------------------------------------------------------------------
   Shared bits
   -------------------------------------------------------------------------- */.ai-badge{display:inline-block;padding:2px 7px;border-radius:20px;background:linear-gradient(120deg, var(--ai-sage), #d7dabf);color:var(--ai-green-dark);font-family:'Cinzel',serif;font-size:0.85rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;box-shadow:0 2px 6px rgba(54, 74, 75, 0.25)}.ai-sparkle{flex:0 0 auto;width:18px;height:18px;fill:currentColor}/* Composer (shared by sheet + desktop bar) */.ai-composer{display:flex;align-items:center;gap:8px;margin:0}.ai-composer__input{flex:1 1 auto;min-width:0;height:46px;padding:0 18px;border:1px solid #dcdcd6;border-radius:46px;background:#fff;color:#252525;font-size:1.6rem;/* >=16px prevents iOS focus zoom */outline:none;transition:border-color 0.2s ease,box-shadow 0.2s ease;-webkit-appearance:none;appearance:none}.ai-composer__input:focus{border-color:var(--ai-sage);box-shadow:0 0 0 3px rgba(184, 186, 153, 0.35)}.ai-composer__input::placeholder{color:#9d9e9d;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ai-composer__mic,.ai-composer__send{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:none;border-radius:50%;cursor:pointer;transition:background 0.2s ease,transform 0.15s ease}.ai-composer__mic{background:var(--ai-offwhite);color:var(--ai-green)}.ai-composer__mic:hover{background:#e6e5de}.ai-composer__mic.listening{background:#c0392b;color:#fff;animation:ai-mic-pulse 1.2s ease-out infinite}.ai-composer__send{background:var(--ai-green);color:#fff}.ai-composer__send:hover{background:var(--ai-green-dark);transform:scale(1.05)}.ai-composer__send:disabled{opacity:0.7;cursor:default;transform:none}.ai-composer__send .ai-spinner{display:none;width:18px;height:18px;border:2px solid rgba(255, 255, 255, 0.35);border-top-color:#fff;border-radius:50%;animation:ai-spin 0.7s linear infinite}.ai-composer.loading .ai-composer__send svg{display:none}.ai-composer.loading .ai-composer__send .ai-spinner{display:block}@keyframes ai-spin{to{transform:rotate(360deg)}}@keyframes ai-mic-pulse{0%{box-shadow:0 0 0 0 rgba(192, 57, 43, 0.45)}70%{box-shadow:0 0 0 12px rgba(192, 57, 43, 0)}100%{box-shadow:0 0 0 0 rgba(192, 57, 43, 0)}}/* --------------------------------------------------------------------------
   Mobile: sticky "Ask AI" pill
   -------------------------------------------------------------------------- */#ai-pill{position:fixed;left:50%;bottom:max(16px, env(safe-area-inset-bottom));transform:translateX(-50%);z-index:9000;display:none;/* shown only on mobile below */align-items:center;gap:8px;height:50px;padding:0 26px;border:none;border-radius:50px;background:var(--ai-green);color:#fff;font-family:'Cinzel',serif;font-size:1.5rem;font-weight:700;letter-spacing:1.5px;box-shadow:var(--ai-shadow);cursor:pointer;animation:ai-pill-glow 3s ease-in-out infinite}#ai-pill .ai-badge{position:absolute;top:-9px;right:-6px;transform:rotate(6deg)}@keyframes ai-pill-glow{0%,100%{box-shadow:0 8px 30px rgba(0, 0, 0, 0.18),0 0 0 0 rgba(184, 186, 153, 0.55)}50%{box-shadow:0 8px 30px rgba(0, 0, 0, 0.18),0 0 0 10px rgba(184, 186, 153, 0)}}/* --------------------------------------------------------------------------
   Mobile: bottom sheet
   -------------------------------------------------------------------------- */#ai-sheet-backdrop{position:fixed;inset:0;z-index:10001;background:rgba(0, 0, 0, 0.45);opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease}#ai-sheet-backdrop.visible{opacity:1;visibility:visible}#ai-sheet{position:fixed;left:0;right:0;bottom:0;z-index:10002;display:flex;flex-direction:column;max-height:88vh;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -12px 40px rgba(0, 0, 0, 0.25);transform:translateY(105%);transition:transform 0.34s cubic-bezier(0.32, 0.72, 0.24, 1);visibility:hidden}#ai-sheet.visible{transform:translateY(0);visibility:visible}.ai-sheet__handle{flex:0 0 auto;padding:12px 0 4px;cursor:grab;touch-action:none}.ai-sheet__handle::before{content:"";display:block;width:44px;height:5px;margin:0 auto;border-radius:5px;background:#d4d4cd}.ai-sheet__header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:6px 20px 12px;border-bottom:1px solid #efefe9}.ai-sheet__title{display:flex;align-items:center;gap:8px;margin:0;color:var(--ai-green);font-family:'Cinzel',serif;font-size:1.7rem;font-weight:700;letter-spacing:1px}.ai-sheet__close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;border-radius:50%;background:var(--ai-offwhite);color:var(--ai-gray);font-size:2rem;line-height:1;cursor:pointer}.ai-sheet__messages{flex:1 1 auto;min-height:140px;padding:16px 16px 8px;overflow-y:auto;-webkit-overflow-scrolling:touch}.ai-sheet__examples{flex:0 0 auto;display:flex;gap:8px;padding:8px 16px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ai-sheet__examples::-webkit-scrollbar{display:none}.ai-example-chip{flex:0 0 auto;padding:8px 14px;border:1px solid var(--ai-sage);border-radius:30px;background:#fff;color:var(--ai-green);font-size:1.25rem;white-space:nowrap;cursor:pointer}.ai-example-chip:active{background:var(--ai-offwhite)}.ai-sheet__footer{flex:0 0 auto;padding:10px 14px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #efefe9;background:#fff}/* Chat messages */.ai-msg{display:flex;margin-bottom:10px}.ai-msg--user{justify-content:flex-end}.ai-msg--user > *,.ai-msg--user{max-width:85%}.ai-msg--user{align-self:flex-end;padding:10px 14px;border-radius:18px 18px 4px 18px;background:var(--ai-green);color:#fff;font-size:1.35rem;line-height:1.4}.ai-msg--assistant{justify-content:flex-start}.ai-msg__body{max-width:92%;padding:10px 14px;border-radius:18px 18px 18px 4px;background:var(--ai-offwhite);color:#252525;font-size:1.3rem;line-height:1.45}.ai-msg__summary{display:block}.ai-msg__meta{display:block;margin-top:6px;color:var(--ai-gray);font-size:1.2rem}.ai-msg__error{color:#a33}.ai-typing{display:inline-flex;gap:5px;padding:4px 2px}.ai-typing span{width:7px;height:7px;border-radius:50%;background:var(--ai-sage);animation:ai-typing-bounce 1.2s ease-in-out infinite}.ai-typing span:nth-child(2){animation-delay:0.15s}.ai-typing span:nth-child(3){animation-delay:0.3s}@keyframes ai-typing-bounce{0%,60%,100%{transform:translateY(0);opacity:0.5}30%{transform:translateY(-5px);opacity:1}}body.ai-sheet-open{overflow:hidden}/* --------------------------------------------------------------------------
   Desktop: inline AI bar at the top of the results column
   -------------------------------------------------------------------------- */#ai-bar{display:none;/* desktop only, below */position:relative;margin-bottom:18px;padding:2px;border-radius:60px;background:linear-gradient(115deg, var(--ai-sage), var(--ai-green) 65%);box-shadow:0 4px 18px rgba(54, 74, 75, 0.16)}#ai-bar .ai-badge{position:absolute;top:-10px;right:22px;transform:rotate(3deg);z-index:1}#ai-bar .ai-composer{background:#fff;border-radius:58px;padding:5px 6px 5px 16px}#ai-bar .ai-composer__icon{flex:0 0 auto;display:flex;align-items:center;color:var(--ai-green)}#ai-bar .ai-composer__input{border:none;box-shadow:none;background:transparent}#ai-bar .ai-composer__input:focus{box-shadow:none}#ai-bar.loading .ai-composer{opacity:0.85}/* --------------------------------------------------------------------------
   AI results summary bar (both platforms)
   -------------------------------------------------------------------------- */#ai-results-bar{display:none;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #e3e3db;border-left:4px solid var(--ai-green);border-radius:12px;background:var(--ai-offwhite)}#ai-results-bar.visible{display:flex}#ai-results-bar .ai-sparkle{width:22px;height:22px;color:var(--ai-green)}.ai-results-bar__text{flex:1 1 auto;min-width:0}.ai-results-bar__count{display:block;color:var(--ai-green);font-weight:700;font-size:1.35rem}.ai-results-bar__summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ai-gray);font-size:1.2rem;line-height:1.35}.ai-results-bar__actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.ai-results-bar__actions button{padding:8px 14px;border-radius:30px;font-family:'Cinzel',serif;font-size:1.1rem;font-weight:700;letter-spacing:0.5px;cursor:pointer;white-space:nowrap}.ai-results-bar__refine{border:1px solid var(--ai-green);background:#fff;color:var(--ai-green)}.ai-results-bar__map{border:1px solid var(--ai-green);background:var(--ai-green);color:#fff;display:none/* mobile only */}.ai-results-bar__clear{border:none;background:transparent;color:var(--ai-gray);font-size:1.6rem;padding:4px 8px !important}/* --------------------------------------------------------------------------
   Responsive behaviour (site breakpoint: 1280px)
   -------------------------------------------------------------------------- */@media screen and (max-width: 1280px){#ai-pill{display:flex}#ai-results-bar{flex-wrap:wrap}}@media screen and (min-width: 1281px){#ai-bar{display:block}#ai-sheet,#ai-sheet-backdrop,#ai-pill{display:none !important}}@media screen and (max-width: 1280px){.ai-results-bar__map{display:inline-block}}