/* Asistente conversacional de GEOPERU CORP S.A.C. — independiente del sitio */
.geo-chat-root { --geo-chat-blue: #07356a; --geo-chat-sky: #0bb1dc; --geo-chat-orange: #ff790d; --geo-chat-bg: #f4f9fd; font-family: Montserrat, Arial, sans-serif; }
.geo-chat-launch { position: fixed; bottom: 22px; right: 22px; z-index: 1100; border: 0; color: #fff; background: linear-gradient(135deg, #07508e, #0878bd); border-radius: 100px; box-shadow: 0 10px 32px rgba(0,38,78,.27); display: inline-flex; align-items: center; gap: 10px; cursor: pointer; padding: 12px 17px 12px 13px; font: 800 12px Montserrat,Arial,sans-serif; transition: transform .2s, box-shadow .2s; }
.geo-chat-launch:hover {transform: translateY(-3px); box-shadow: 0 14px 34px rgba(0,38,78,.35)}
.geo-chat-launch:focus-visible, .geo-chat-root button:focus-visible, .geo-chat-root input:focus-visible, .geo-chat-root a:focus-visible { outline: 3px solid var(--geo-chat-orange); outline-offset: 3px; }
.geo-chat-launch .geo-chat-symbol {width: 29px; height: 29px; display: grid; place-items:center; background: #ffffff26; border-radius:50%}
.geo-chat-panel { position:fixed; bottom:91px; right:22px; width:min(385px, calc(100vw - 32px)); height:min(600px, calc(100dvh - 117px)); min-height:330px; z-index:1101; border-radius:18px; background:#fff; display:flex; flex-direction:column; overflow:hidden; box-shadow: 0 16px 54px rgba(1,31,65,.28); border:1px solid #cbddea; }
.geo-chat-panel[hidden] {display:none !important}
.geo-chat-header {flex:none; background:linear-gradient(120deg, #052d61, #0874ac); color:white; padding:16px; display:flex; align-items:center; gap:11px}
.geo-chat-avatar {height:39px; width:39px; display:grid; place-items:center; background:#ffffff24; border-radius:12px; font-weight:900; font-size:19px; flex-shrink:0; border:1px solid #ffffff55; }
.geo-chat-heading { min-width:0; flex:1 }
.geo-chat-heading strong {font-size:14px; display:block; letter-spacing:.1px; line-height:1.3;}
.geo-chat-heading small {font-size:10px; display:flex; align-items:center; gap:6px; color:#d8f5ff; margin-top:4px; font-weight:600}
.geo-chat-dot {height:7px; width:7px; border-radius:50%; background:#5be2a0; display:inline-block; flex-shrink:0}
.geo-chat-close {background:#ffffff1b; border:0; color:#fff; border-radius:9px; width:32px; height:32px; display:grid; place-items:center; font-size:23px; cursor:pointer}
.geo-chat-messages {flex:1; overflow-y:auto; overscroll-behavior:contain; background:var(--geo-chat-bg); padding:18px 13px 13px; display:flex; flex-direction:column; gap:11px; scrollbar-color:#a9c9de transparent}
.geo-chat-message {max-width:92%; font-size:12px; line-height:1.67; white-space:pre-line; overflow-wrap:anywhere; padding:12px 14px; border-radius:14px; box-shadow:0 2px 9px #052e600c; }
.geo-chat-message--bot {align-self:flex-start; color:#14395f; background:#fff; border:1px solid #e1ebf1; border-bottom-left-radius:4px}
.geo-chat-message--user {align-self:flex-end; color:#fff; background:#0874b3; border-bottom-right-radius:4px}
.geo-chat-choices {padding:10px 13px; background:#fff; border-top:1px solid #e5edf4; max-height:156px; overflow-y:auto; display:flex; flex-wrap:wrap; align-content:flex-start; gap:7px; scrollbar-width:thin}
.geo-chat-choices:empty {display:none}
.geo-chat-choice {border:1px solid #b9d8ea; background:#f3faff; color:#07518e; border-radius:9px; padding:9px 11px; cursor:pointer; font:700 11px/1.4 Montserrat,Arial,sans-serif; text-align:left; transition:background .15s}
.geo-chat-choice:hover {background:#e2f5fe}
.geo-chat-choice--accent {background:var(--geo-chat-orange); border-color:var(--geo-chat-orange); color:#fff}
.geo-chat-choice--accent:hover {background:#df6500}
.geo-chat-choice--subtle {color:#607990; background:#fff; border-color:#dae6ee}
.geo-chat-choice--link {text-decoration:none; display:inline-flex; align-items:center; justify-content:center; background:var(--geo-chat-orange); border-color:var(--geo-chat-orange); color:white}
.geo-chat-choice--link:hover {background:#df6500}
.geo-chat-inputbar {padding:11px 12px 8px; background:#fff; display:flex; align-items:center; gap:9px; border-top:1px solid #e8f0f5; flex:none}
.geo-chat-inputbar input {font:500 12px Montserrat,Arial,sans-serif; flex:1; min-width:0; padding:12px 11px; outline:none; border:1px solid #d0e0ea; border-radius:9px; color:#14395f; background:#fff}
.geo-chat-inputbar input:disabled {background:#f5f8fa; color:#8496a4; cursor:not-allowed}
.geo-chat-send {height:40px; width:41px; border:0; background:var(--geo-chat-blue); color:#fff; border-radius:9px; cursor:pointer; flex-shrink:0; display:grid; place-items:center}
.geo-chat-send:disabled {background:#b8c8d4; cursor:not-allowed}
.geo-chat-footnote {flex:none; text-align:center; font:500 9px/1.35 Montserrat,Arial,sans-serif; padding:0 8px 9px; background:#fff; color:#70869a}
.geo-chat-err {color:#ad2b2b; font:600 10px/1.5 Montserrat,Arial,sans-serif; background:#fff2f0; padding:9px 12px; border-radius:9px; border:1px solid #f8d0cb}
.geo-chat-root svg {width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round}
.geo-chat-launch svg {width:24px; height:24px}
.geo-chat-send svg {width:19px; height:19px}
@media(max-width:550px) {
 .geo-chat-launch {right:15px; bottom:15px; padding:12px; border-radius:50%; width:55px; height:55px; justify-content:center}
 .geo-chat-launch .geo-chat-label {display:none}
 .geo-chat-launch .geo-chat-symbol {background:none; width:27px; height:27px}
 .geo-chat-panel {right:8px; bottom:79px; width:calc(100vw - 16px); height:min(610px, calc(100dvh - 94px)); border-radius:16px}
 .geo-chat-message {font-size:12px}
}
@media(prefers-reduced-motion:reduce) {.geo-chat-launch,.geo-chat-choice{transition:none}}
