/* ARSORA Search 0.3.1 - scoped to avoid changing GERICO styles. */
.arsora-search, .arsora-search * { box-sizing: border-box; }
.arsora-search { font: 400 15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color: #25272b; }
.arsora-search [hidden] { display: none!important; }
.arsora-search-no-scroll { overflow: hidden!important; }
.arsora-search button:focus-visible,.arsora-search input:focus-visible,.arsora-search a:focus-visible { outline: 3px solid #516c7f; outline-offset: 3px; }
.arsora-search-backdrop { position: fixed; inset: 0; z-index: 99995; background: #202124a6; display: flex; align-items: flex-start; justify-content: center; padding: min(8vh,68px) 18px 18px; overflow-y: auto; }
.arsora-search-panel { width: min(760px,100%); max-height: min(84vh,850px); display: flex; flex-direction: column; background: #fff; border-radius: 17px; border: 1px solid #e5e6e8; box-shadow: 0 24px 90px #0003; overflow: hidden; }
.arsora-search-head { display: flex; justify-content: space-between; align-items: center; padding: 22px 26px 7px; }
.arsora-search-brand { font-size: 16px; font-weight: 700; letter-spacing: .035em; }
.arsora-search-brand span { margin-left: 7px; font-weight: 400; letter-spacing: 0; color: #777c82; font-size: 14px; }
.arsora-search-close { appearance: none; border: none; background: none; font-size: 28px; color: #75787c; cursor: pointer; line-height: 1; width: 36px; height: 36px; }
.arsora-search-tabs { display: flex; gap: 18px; padding: 0 26px; border-bottom: 1px solid #edeef0; }
.arsora-search-tabs button { cursor: pointer; font: 500 14px/1.2 system-ui,sans-serif; color: #616872; border: none; border-bottom: 2px solid transparent; background: transparent; padding: 12px 2px 13px; }
.arsora-search-tabs button[aria-pressed="true"] { color: #21272b; border-bottom-color: #b5963f; }
.arsora-search-form { display: flex; align-items: center; gap: 7px; margin: 23px 26px 13px; border: 1px solid #d0d4d8; border-radius: 14px; padding: 7px 8px 7px 15px; }
.arsora-search-magnifier { font-size: 27px; color: #606874; line-height: 1; }
.arsora-search-form input { width: 100%; border: none; outline: none; box-shadow: none; color: #20252a; background: #fff; font: 400 16px/1.4 system-ui,sans-serif; padding: 8px; min-width: 0; }
.arsora-search-form input:focus { outline: none; box-shadow: none; }
.arsora-search-form button { border: none; border-radius: 10px; background: #252e35; color: #fff; padding: 10px 14px; cursor: pointer; font: 500 13px/1.4 system-ui,sans-serif; white-space: nowrap; }
.arsora-search-form button:disabled { opacity: .5; cursor: progress; }
.arsora-search-content { overflow: auto; min-height: 160px; padding: 0 26px 18px; overscroll-behavior: contain; }
.arsora-search-section-title { font: 600 13px/1.4 system-ui,sans-serif; letter-spacing: .02em; color: #6b7178; margin: 23px 0 12px; }
.arsora-search-hint { color: #6b7178; font-size: 14px; margin: 22px 0; }
.arsora-search-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.arsora-search-result { border: 1px solid #e5e7ea; background: #f9fafb; border-radius: 12px; padding: 13px 15px; color: #23282c; text-decoration: none; display: flex; flex-direction: column; gap: 5px; min-width: 0; transition: background .15s,border-color .15s; }
.arsora-search-result:hover { background: #f1f4f5; border-color: #bcc5c9; }
.arsora-search-result-title { font-size: 14px; font-weight: 600; }
.arsora-search-result small { color: #6f767a; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.arsora-search-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.arsora-search-chips button { font: 500 13px/1.35 system-ui,sans-serif; cursor: pointer; color: #454b50; background: #fff; border: 1px solid #d8dee2; padding: 10px 12px; border-radius: 99px; text-align: left; }
.arsora-search-chips button:hover { background: #f5f7f8; }
.arsora-search-answer { background: #f8f9fa; border: 1px solid #e9ecef; padding: 16px; border-radius: 11px; color: #34383b; line-height: 1.75; white-space: pre-line; }
.arsora-search-source { color: #374854; text-decoration: none; border-bottom: 1px solid #c4ced3; padding-bottom: 1px; font-size: 14px; width: fit-content; }
.arsora-search-source:hover { border-color: currentColor; }
.arsora-search-bottom { display: flex; justify-content: flex-end; border-top: 1px solid #eff0f1; padding: 15px 26px 19px; }
.arsora-search-bottom a { color: #27343b; font-weight: 600; font-size: 13px; text-decoration: none; }
.arsora-search-bottom a:hover { text-decoration: underline; }
.arsora-search-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 600px) {
 .arsora-search-backdrop { padding: 0; align-items: stretch; }
 .arsora-search-panel { height: 100dvh; max-height: none; width: 100%; border-radius: 0; }
 .arsora-search-head { padding: 16px 18px 5px; }
 .arsora-search-brand span { display: block; margin: 2px 0 0; font-size: 13px; }
 .arsora-search-tabs { padding: 0 18px; }
 .arsora-search-form { margin: 18px 14px 9px; padding-left: 10px; }
 .arsora-search-form input { font-size: 16px; }
 .arsora-search-form button { padding: 10px 11px; }
 .arsora-search-content { padding: 0 17px 15px; flex: 1; }
 .arsora-search-results { grid-template-columns: 1fr; }
 .arsora-search-bottom { padding: 13px 18px 19px; }
}
@media (prefers-reduced-motion: reduce) { .arsora-search-result { transition: none; } }

/* GERICO integration 0.2.0 */
.nav-search-toggle { appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:7px; background:transparent; border:0; cursor:pointer; color:inherit; font:inherit; font-weight:inherit; white-space:nowrap; padding:24px 0; transition:color .2s ease; }
.nav-search-toggle:hover,.nav-search-toggle:focus-visible { color:#e2c458; }
.nav-search-toggle:focus-visible { outline:2px solid #e2c458; outline-offset:4px; border-radius:3px; }
.nav-search-toggle svg { flex:0 0 18px; width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.arsora-search { --arsora-accent:#b29443; }
.arsora-search-panel { box-shadow:0 25px 85px rgba(14,22,30,.3); }
.arsora-search-head { background:#20242a; color:#fff; padding:19px 26px 15px; }
.arsora-search-brand { color:#fff; }
.arsora-search-brand span { color:#d4d0c4; }
.arsora-search-close { color:#fff; }
.arsora-search-close:hover { color:#e2c458; }
.arsora-search-description { padding:13px 26px 0; margin:0; font-size:12px; color:#69757e; }
.arsora-search-panel .arsora-search-chips button:hover { border-color:#b29443; }
@media(max-width:1160px) and (min-width:861px) { .nav-search-toggle span { display:none; } .nav-search-toggle { min-width:30px; } }
@media(max-width:860px) {
  .main-nav.is-open .nav-search-toggle { width:100%; text-align:left; justify-content:flex-start; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.08); }
  .nav-search-toggle span { display:inline; }
}
@media(max-width:600px) { .arsora-search-head { padding:16px 18px; } .arsora-search-description { padding:12px 18px 0; } }

.arsora-search-privacy { margin: -2px 26px 14px; font-size: 12px; color: #65717b; line-height: 1.5; }
.arsora-search-privacy a { color: #46515c; text-underline-offset: 2px; }
@media (max-width: 600px) { .arsora-search-privacy { margin: 0 17px 12px; } }

/* V0.18.46 - legibility and alignment after enabling AI */
.arsora-search .arsora-search-privacy { margin: 0 26px 10px; padding: 0; max-width: none; font-size: 12px; line-height: 1.55; }
.arsora-search-content { min-height: 110px; }
@media (max-width:600px) { .arsora-search .arsora-search-privacy { margin: 0 17px 10px; } }

/* ARSORA Search 0.4.0 - conversational Q&A (V0.18.51) */
.arsora-search-tabs .arsora-chat-reset {
  margin-left: auto; color: #68747e; font-weight: 500; padding-left: 8px; white-space: nowrap;
  font-size: 12px; text-underline-offset: 3px;
}
.arsora-search-tabs .arsora-chat-reset:hover { color: #24323d; text-decoration: underline; }
.arsora-search[data-mode="ask"] .arsora-search-panel { height: min(78vh, 720px); }
.arsora-search[data-mode="ask"] .arsora-search-head { order: 0; flex-shrink: 0; }
.arsora-search[data-mode="ask"] .arsora-search-description { order: 1; flex-shrink: 0; }
.arsora-search[data-mode="ask"] .arsora-search-tabs { order: 2; flex-shrink: 0; }
.arsora-search[data-mode="ask"] .arsora-search-content { order: 3; flex: 1 1 auto; min-height: 0; padding: 16px 26px 18px; }
.arsora-search[data-mode="ask"] .arsora-search-form { order: 4; flex-shrink: 0; margin: 0 26px 8px; }
.arsora-search[data-mode="ask"] .arsora-search-privacy { order: 5; flex-shrink: 0; margin: 0 26px 10px; font-size: 11px; }
.arsora-search[data-mode="ask"] .arsora-search-bottom { order: 6; flex-shrink: 0; padding: 10px 26px 14px; }
.arsora-search[data-mode="ask"] .arsora-search-magnifier { display: none; }
.arsora-search[data-mode="ask"] .arsora-search-form input { padding-left: 10px; }
.arsora-search .arsora-chat-intro { font-size: 14px; color: #67727c; margin: 4px 0 14px; }
.arsora-chat-conversation { display: flex; flex-direction: column; gap: 16px; padding-bottom: 4px; }
.arsora-chat-turn { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.arsora-chat-turn-user { align-items: flex-end; padding-left: 15%; }
.arsora-chat-turn-assistant { align-items: flex-start; padding-right: 6%; }
.arsora-chat-label { font-size: 11px; font-weight: 600; color: #707982; letter-spacing: .01em; }
.arsora-search .arsora-chat-bubble { margin: 0; padding: 11px 14px; border-radius: 13px; font-size: 14px; line-height: 1.65; white-space: pre-line; overflow-wrap: anywhere; max-width: 100%; }
.arsora-chat-user-bubble { background: #2b333b; color: white; border-bottom-right-radius: 5px; }
.arsora-chat-assistant-bubble { background: #f5f6f7; border: 1px solid #e8ebee; color: #343b41; border-bottom-left-radius: 5px; }
.arsora-chat-pending { color: #707982; }
.arsora-chat-subheading { font-weight: 600; font-size: 11px; color: #68737d; margin: 7px 0 0; }
.arsora-chat-sources { display: flex; flex-wrap: wrap; gap: 8px 15px; padding: 0 0 2px; }
.arsora-chat-sources .arsora-search-source { font-size: 12px; }
.arsora-chat-turn-assistant > .arsora-search-section-title { margin: 6px 0 2px; font-size: 11px; }
.arsora-chat-turn-assistant .arsora-search-chips { gap: 6px; }
.arsora-chat-turn-assistant .arsora-search-chips button { font-size: 12px; padding: 7px 10px; }
@media (max-width: 600px) {
  .arsora-search[data-mode="ask"] .arsora-search-panel { height: 100dvh; max-height: none; }
  .arsora-search[data-mode="ask"] .arsora-search-content { padding: 14px 16px 16px; }
  .arsora-search[data-mode="ask"] .arsora-search-form { margin: 0 14px 7px; }
  .arsora-search[data-mode="ask"] .arsora-search-privacy { margin: 0 16px 9px; }
  .arsora-search[data-mode="ask"] .arsora-search-bottom { padding: 9px 16px 12px; }
  .arsora-chat-turn-user { padding-left: 10%; }
  .arsora-chat-turn-assistant { padding-right: 3%; }
  .arsora-search-tabs .arsora-chat-reset { font-size: 11px; }
}

/* GERICO 0.18.54 - optional conversation handoff */
.arsora-search-bottom { align-items: center; flex-wrap: wrap; gap: 9px 14px; }
.arsora-search .arsora-chat-attach { display: inline-flex; align-items: center; gap: 8px; margin-right: auto; color: #515d66; font-size: 12px; cursor: pointer; line-height: 1.4; }
.arsora-search .arsora-chat-attach input { width: 17px; height: 17px; accent-color: #a3883d; cursor: pointer; }
.arsora-search .arsora-chat-attach [hidden] { display:none; }
@media(max-width:600px){ .arsora-search-bottom { align-items: flex-start; flex-direction: column; gap: 10px; } .arsora-search-bottom a { align-self: flex-end; } }

/* GERICO V0.18.56 - direct contact handoff after a chat */
.arsora-search .arsora-chat-contact-actions { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; margin-top:10px; padding:13px; border:1px solid #e2e6e9; border-radius:12px; background:#fafbfc; }
.arsora-search .arsora-chat-contact-primary { appearance:none; background:#252e35; color:#fff; border:0; border-radius:9px; padding:10px 14px; font:600 13px/1.4 system-ui,sans-serif; cursor:pointer; }
.arsora-search .arsora-chat-contact-primary:hover { background:#3b4852; }
.arsora-search .arsora-chat-contact-phone { color:#293e4c; font-weight:600; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.arsora-search .arsora-chat-contact-note { width:100%; color:#606c75; font-size:12px; line-height:1.5; margin:2px 0 0; }
.arsora-search .arsora-chat-attach-emphasis { font-weight:650; color:#243440; }
@media(max-width:600px){.arsora-search .arsora-chat-contact-actions {align-items:stretch;flex-direction:column;} .arsora-search .arsora-chat-contact-primary {width:100%;} .arsora-search .arsora-chat-contact-phone {text-align:center; padding:5px;} }

/* GERICO V0.18.58 - single consultation opt-in inline with contact CTA. */
.arsora-search .arsora-chat-attach[hidden] { display: none !important; }
.arsora-search .arsora-chat-contact-actions .arsora-chat-attach-inline {
  width: 100%; margin: 5px 0 0; padding: 12px 0 0; border-top: 1px solid #e2e6e9;
  font-size: 13px; font-weight: 600; color: #293641;
}
.arsora-search .arsora-chat-contact-actions .arsora-chat-contact-note { margin: 0; }

/* ARSORA Search 0.6.1 - unified question/search entry point. */
.arsora-search .arsora-search-mode-prompt { align-self:center; font-size:12px; font-weight:500; line-height:1.45; color:#69747d; padding:12px 0; }
.arsora-search .arsora-search-tabs { justify-content:space-between; gap:12px; }
.arsora-search .arsora-search-tabs .arsora-chat-reset { padding:11px 0; }
@media(max-width:600px){.arsora-search .arsora-search-mode-prompt {font-size:11px;}}
