@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

/* ── WIDGET CONTAINER ─────────────────────────────────────────────────────── */
#gc-widget {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 2147483647 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 10px !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
}
#gc-widget *, #gc-widget *::before, #gc-widget *::after {
  box-sizing: border-box !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* ── FAB ──────────────────────────────────────────────────────────────────── */
#gc-widget .gc-fab {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: #ad0517 !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 18px rgba(173,5,23,.4) !important;
  position: relative !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  outline: none !important;
  transition: transform .2s !important;
  min-width: 52px !important;
  min-height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  overflow: visible !important;
}
#gc-widget .gc-fab:hover { transform: scale(1.06) !important; }
#gc-widget .gc-fab svg {
  width: 22px !important; height: 22px !important;
  fill: #fff !important; display: block !important;
  flex-shrink: 0 !important; pointer-events: none !important;
}
#gc-widget .gc-fab-badge {
  position: absolute !important;
  top: 2px !important; right: 2px !important;
  width: 12px !important; height: 12px !important;
  background: #4caf50 !important;
  border-radius: 50% !important;
  border: 2px solid #fff !important;
  display: block !important;
  animation: gc-pulse 1.8s ease infinite !important;
}
@keyframes gc-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(76,175,80,.55); }
  60%      { box-shadow: 0 0 0 6px rgba(76,175,80,0); }
}

/* ── HINT BUBBLE ──────────────────────────────────────────────────────────── */
#gc-widget .gc-bubble-hint {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 14px 14px 4px 14px !important;
  padding: 12px 34px 12px 14px !important;
  max-width: 230px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.12) !important;
  font-size: 13px !important;
  color: #333 !important;
  line-height: 1.5 !important;
  position: relative !important;
  cursor: pointer !important;
  animation: gc-fadein .3s ease !important;
  display: block !important;
}
#gc-widget .gc-bubble-hint strong {
  font-weight: 600 !important; font-size: 13px !important;
  color: #111 !important; display: block !important; margin-bottom: 2px !important;
}
#gc-widget .gc-hint-close {
  position: absolute !important; top: 7px !important; right: 9px !important;
  background: none !important; border: none !important;
  font-size: 16px !important; color: #aaa !important;
  cursor: pointer !important; padding: 0 !important;
  line-height: 1 !important; width: 18px !important; height: 18px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}

/* ── PANEL ────────────────────────────────────────────────────────────────── */
#gc-widget .gc-panel {
  width: 360px !important;
  height: 560px !important;
  max-height: calc(100vh - 90px) !important;
  background: #fff !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 40px rgba(0,0,0,.15) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  animation: gc-slidein .22s ease !important;
  transform-origin: bottom right !important;
  border: none !important;
}
@keyframes gc-fadein  { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
@keyframes gc-slidein { from{opacity:0;transform:scale(.93) translateY(12px)} to{opacity:1;transform:scale(1) translateY(0)} }

/* ── HEADER ───────────────────────────────────────────────────────────────── */
#gc-widget .gc-hdr {
  display: flex !important; align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 14px !important;
  border-bottom: 1px solid #efefef !important;
  flex-shrink: 0 !important; background: #fff !important;
}
#gc-widget .gc-hdr-brand { display: flex !important; align-items: center !important; gap: 10px !important; }
#gc-widget .gc-hdr-avatar {
  width: 36px !important; height: 36px !important;
  border-radius: 8px !important;
  background: #f5f5f5 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important; overflow: hidden !important;
  border: 1px solid #efefef !important;
}
#gc-widget .gc-hdr-avatar img {
  width: 100% !important; height: 100% !important;
  object-fit: contain !important; padding: 4px !important; display: block !important;
}
#gc-widget .gc-hdr-avatar-fb {
  font-size: 15px !important; font-weight: 700 !important; color: #ad0517 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; height: 100% !important;
}
#gc-widget .gc-hdr-name {
  font-size: 14px !important; font-weight: 600 !important;
  color: #111 !important; display: block !important; line-height: 1.2 !important;
}
#gc-widget .gc-hdr-sub {
  font-size: 11px !important; font-weight: 400 !important;
  color: #aaa !important; display: block !important; margin-top: 1px !important;
}
#gc-widget .gc-hdr-right { display: flex !important; align-items: center !important; gap: 8px !important; }
#gc-widget .gc-status {
  display: flex !important; align-items: center !important;
  gap: 5px !important; font-size: 11px !important; color: #888 !important;
}
#gc-widget .gc-dot {
  width: 7px !important; height: 7px !important; border-radius: 50% !important;
  background: #4caf50 !important; display: inline-block !important; flex-shrink: 0 !important;
}
#gc-widget .gc-close-btn {
  width: 28px !important; height: 28px !important; border-radius: 50% !important;
  background: #f5f5f5 !important; border: none !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  color: #888 !important; font-size: 17px !important; padding: 0 !important; line-height: 1 !important;
  transition: background .15s !important;
}
#gc-widget .gc-close-btn:hover { background: #ebebeb !important; }

/* ── TABS ─────────────────────────────────────────────────────────────────── */
#gc-widget .gc-tabs {
  display: flex !important; border-bottom: 1px solid #efefef !important;
  flex-shrink: 0 !important; background: #fff !important;
}
#gc-widget .gc-tab {
  flex: 1 !important; padding: 10px 0 !important;
  background: none !important; border: none !important;
  border-bottom: 2px solid transparent !important;
  font-size: 12px !important; font-weight: 500 !important; color: #bbb !important;
  cursor: pointer !important; text-align: center !important;
  transition: color .15s !important; display: block !important;
  margin: 0 !important; border-radius: 0 !important; outline: none !important;
}
#gc-widget .gc-tab:hover { color: #888 !important; }
#gc-widget .gc-tab.gc-on { color: #111 !important; border-bottom-color: #111 !important; }
#gc-widget .gc-tab.gc-pro-on { color: #2d6a1f !important; border-bottom-color: #2d6a1f !important; }
#gc-widget .gc-tab-sep { width: 1px !important; background: #efefef !important; }

/* ── PRO BADGE ────────────────────────────────────────────────────────────── */
#gc-widget .gc-pro-badge {
  display: flex !important; align-items: center !important; gap: 7px !important;
  padding: 7px 14px !important; background: #f0f7ec !important;
  border-bottom: 1px solid #c8ddb8 !important;
  font-size: 11px !important; font-weight: 500 !important; color: #2d6a1f !important; flex-shrink: 0 !important;
}
#gc-widget .gc-pro-chk {
  width: 15px !important; height: 15px !important; border-radius: 50% !important;
  background: #2d6a1f !important; color: #fff !important; font-size: 9px !important;
  display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important;
}
#gc-widget .gc-pro-out {
  margin-left: auto !important; background: none !important; border: none !important;
  font-size: 11px !important; color: #2d6a1f !important; cursor: pointer !important;
  text-decoration: underline !important; padding: 0 !important; opacity: .7 !important;
}

/* ── VERIFY ───────────────────────────────────────────────────────────────── */
#gc-widget .gc-verify {
  flex: 1 !important; display: flex !important; align-items: center !important;
  justify-content: center !important; padding: 20px !important; overflow-y: auto !important;
}
#gc-widget .gc-verify-in { width: 100% !important; }
#gc-widget .gc-v-eyebrow { font-size: 11px !important; font-weight: 500 !important; color: #bbb !important; margin-bottom: 7px !important; display: block !important; }
#gc-widget .gc-v-title { font-size: 20px !important; font-weight: 600 !important; color: #111 !important; margin: 0 0 6px !important; padding: 0 !important; display: block !important; background: none !important; border: none !important; line-height: 1.3 !important; }
#gc-widget .gc-v-desc { font-size: 13px !important; color: #888 !important; line-height: 1.6 !important; margin: 0 0 18px !important; display: block !important; }
#gc-widget .gc-v-label { display: block !important; font-size: 11px !important; font-weight: 500 !important; color: #888 !important; margin: 0 0 5px !important; }
#gc-widget .gc-v-input {
  width: 100% !important; padding: 10px 12px !important;
  border: 1.5px solid #e8e8e8 !important; border-radius: 10px !important;
  background: #f7f7f7 !important; font-size: 14px !important; color: #111 !important;
  outline: none !important; margin: 0 0 10px !important; display: block !important;
  box-shadow: none !important; transition: border-color .15s !important;
}
#gc-widget .gc-v-input:focus { border-color: #111 !important; background: #fff !important; }
#gc-widget .gc-v-btn {
  width: 100% !important; padding: 11px !important; border-radius: 10px !important;
  background: #ad0517 !important; border: none !important; color: #fff !important;
  font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important;
  display: block !important; text-align: center !important; outline: none !important;
  transition: opacity .15s !important;
}
#gc-widget .gc-v-btn:hover:not(:disabled) { opacity: .85 !important; }
#gc-widget .gc-v-btn:disabled { opacity: .4 !important; cursor: not-allowed !important; }
#gc-widget .gc-v-err { font-size: 12px !important; color: #c0392b !important; margin: 8px 0 0 !important; display: block !important; line-height: 1.5 !important; }
#gc-widget .gc-v-hint { font-size: 12px !important; color: #bbb !important; margin: 14px 0 0 !important; display: block !important; }
#gc-widget .gc-v-hint a { color: #888 !important; text-decoration: underline !important; cursor: pointer !important; }

/* ── MENSAJES ─────────────────────────────────────────────────────────────── */
#gc-widget .gc-msgs {
  flex: 1 !important; overflow-y: auto !important;
  padding: 14px !important; display: flex !important;
  flex-direction: column !important; gap: 10px !important; margin: 0 !important;
}
#gc-widget .gc-msgs::-webkit-scrollbar { width: 4px !important; }
#gc-widget .gc-msgs::-webkit-scrollbar-thumb { background: #e8e8e8 !important; border-radius: 4px !important; }

#gc-widget .gc-welcome { padding: 2px 0 4px !important; }
#gc-widget .gc-welcome-title {
  font-size: 18px !important; font-weight: 600 !important; color: #111 !important;
  margin: 0 0 6px !important; padding: 0 !important; display: block !important;
  background: none !important; border: none !important; line-height: 1.3 !important;
}
#gc-widget .gc-welcome-body { font-size: 13px !important; color: #888 !important; line-height: 1.6 !important; margin: 0 0 14px !important; display: block !important; }
#gc-widget .gc-chips { display: flex !important; flex-wrap: wrap !important; gap: 7px !important; }
#gc-widget .gc-chip {
  padding: 6px 14px !important; border: 1.5px solid #e0e0e0 !important;
  border-radius: 20px !important; background: #fff !important;
  font-size: 12px !important; font-weight: 400 !important; color: #555 !important;
  cursor: pointer !important; display: inline-flex !important;
  white-space: nowrap !important; transition: all .15s !important;
  outline: none !important; margin: 0 !important;
}
#gc-widget .gc-chip:hover { border-color: #111 !important; color: #111 !important; background: #f5f5f5 !important; }

#gc-widget .gc-row { display: flex !important; animation: gc-up .18s ease !important; }
#gc-widget .gc-row.gc-u { justify-content: flex-end !important; }
@keyframes gc-up { from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:translateY(0)} }

#gc-widget .gc-bubble {
  max-width: 84% !important; font-size: 13.5px !important; font-weight: 400 !important;
  line-height: 1.6 !important; padding: 10px 14px !important; border-radius: 18px !important;
  display: block !important; margin: 0 !important; border: none !important;
}
#gc-widget .gc-bubble p { margin: 0 0 5px !important; padding: 0 !important; font-size: 13.5px !important; line-height: 1.6 !important; }
#gc-widget .gc-bubble p:last-child { margin-bottom: 0 !important; }
#gc-widget .gc-bubble a { text-decoration: underline !important; word-break: break-word !important; }
#gc-widget .gc-bubble.gc-bot a { color: #222 !important; }
#gc-widget .gc-bubble.gc-usr a { color: #fff !important; }
#gc-widget .gc-bubble.gc-bot { background: #f2f2f2 !important; color: #222 !important; border-radius: 4px 18px 18px 18px !important; }
#gc-widget .gc-bubble.gc-usr { background: #222 !important; color: #fff !important; border-radius: 18px 18px 4px 18px !important; }
#gc-widget .gc-deriv { margin: 8px 0 0 !important; padding: 8px 10px !important; background: #fff !important; border-radius: 8px !important; border: 1px solid #e8e8e8 !important; }
#gc-widget .gc-deriv p { font-size: 12px !important; color: #888 !important; margin: 0 !important; }
#gc-widget .gc-deriv strong { color: #333 !important; font-weight: 500 !important; }
/* ── INDICADOR DE CARGA ────────────────────────────────────────────────────── */
#gc-widget .gc-typing { display: flex !important; flex-direction: column !important; gap: 8px !important; padding: 3px 0 !important; min-width: 140px !important; }
#gc-widget .gc-typing-lbl { font-size: 11px !important; color: #b0b0b0 !important; letter-spacing: .03em !important; font-weight: 400 !important; }
#gc-widget .gc-typing-track { height: 2px !important; background: #e8e8e8 !important; border-radius: 2px !important; overflow: hidden !important; position: relative !important; }
#gc-widget .gc-typing-track::after { content: '' !important; position: absolute !important; top: 0 !important; height: 100% !important; width: 38% !important; background: linear-gradient(90deg, transparent, #ad0517 50%, transparent) !important; border-radius: 2px !important; animation: gc-sweep 1.6s ease-in-out infinite !important; }
@keyframes gc-sweep { 0% { left: -38% } 100% { left: 110% } }

/* ── INPUT ────────────────────────────────────────────────────────────────── */
#gc-widget .gc-ibar {
  border-top: 1px solid #efefef !important; padding: 10px 12px !important;
  display: flex !important; gap: 8px !important; align-items: flex-end !important;
  background: #fff !important; flex-shrink: 0 !important;
}
#gc-widget .gc-ifield {
  flex: 1 !important; background: #f2f2f2 !important; border-radius: 22px !important;
  display: flex !important; align-items: flex-end !important; padding: 8px 14px !important;
  border: 1.5px solid transparent !important; transition: all .15s !important;
}
#gc-widget .gc-ifield:focus-within { border-color: #ddd !important; background: #fff !important; }
#gc-widget .gc-ifield textarea {
  flex: 1 !important; border: none !important; outline: none !important;
  background: transparent !important; font-size: 13.5px !important;
  color: #222 !important; resize: none !important; max-height: 70px !important;
  line-height: 1.5 !important; width: 100% !important; display: block !important;
  padding: 0 !important; margin: 0 !important; box-shadow: none !important;
  font-weight: 400 !important;
}
#gc-widget .gc-ifield textarea::placeholder { color: #bbb !important; }

/* Botón enviar — icono chat sobre #222 */
#gc-widget .gc-sbtn {
  width: 38px !important; height: 38px !important;
  border-radius: 50% !important;
  background: #222222 !important;
  border: none !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important; padding: 0 !important; margin: 0 !important;
  outline: none !important; transition: opacity .15s !important;
  min-width: 38px !important; min-height: 38px !important;
}
#gc-widget .gc-sbtn:hover:not(:disabled) { opacity: .78 !important; }
#gc-widget .gc-sbtn:disabled { opacity: .3 !important; cursor: not-allowed !important; }
#gc-widget .gc-sbtn svg { fill: #fff !important; display: block !important; width: 16px !important; height: 16px !important; }

#gc-widget .gc-footer { text-align: center !important; font-size: 10.5px !important; color: #bbb !important; padding: 4px 12px 9px !important; flex-shrink: 0 !important; display: block !important; background: #fff !important; }

/* ── INTRO ────────────────────────────────────────────────────────────────── */
#gc-widget .gc-intro {
  flex: 1 !important; display: flex !important; flex-direction: column !important;
  align-items: center !important; justify-content: center !important;
  background: #fff !important; gap: 22px !important; padding: 20px !important;
  position: relative !important; overflow: hidden !important;
  animation: gc-fadein .35s ease !important;
}
#gc-widget .gc-intro-scene { width: 220px !important; height: 130px !important; }
#gc-widget .gc-intro-svg { width: 100% !important; height: 100% !important; display: block !important; overflow: visible !important; }

#gc-widget .gc-i-cab1    { animation: gc-rise .5s cubic-bezier(.22,1,.36,1) .1s  both !important; }
#gc-widget .gc-i-cab2    { animation: gc-rise .5s cubic-bezier(.22,1,.36,1) .22s both !important; }
#gc-widget .gc-i-cab3    { animation: gc-rise .5s cubic-bezier(.22,1,.36,1) .34s both !important; }
#gc-widget .gc-i-countertop { animation: gc-rise .35s cubic-bezier(.22,1,.36,1) .52s both !important; }
#gc-widget .gc-i-upper1  { animation: gc-drop .4s cubic-bezier(.22,1,.36,1) .65s both !important; }
#gc-widget .gc-i-upper2  { animation: gc-drop .4s cubic-bezier(.22,1,.36,1) .78s both !important; }
#gc-widget .gc-i-handle1 { animation: gc-pop .25s cubic-bezier(.34,1.56,.64,1) .92s both !important; }
#gc-widget .gc-i-handle2 { animation: gc-pop .25s cubic-bezier(.34,1.56,.64,1) 1.0s  both !important; }
#gc-widget .gc-i-handle3 { animation: gc-pop .25s cubic-bezier(.34,1.56,.64,1) 1.08s both !important; }
#gc-widget .gc-i-uhandle1{ animation: gc-pop .25s cubic-bezier(.34,1.56,.64,1) 1.16s both !important; }
#gc-widget .gc-i-uhandle2{ animation: gc-pop .25s cubic-bezier(.34,1.56,.64,1) 1.22s both !important; }

@keyframes gc-rise { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
@keyframes gc-drop { from{opacity:0;transform:translateY(-20px)} to{opacity:1;transform:translateY(0)} }
@keyframes gc-pop  { from{opacity:0;transform:scaleY(0)} to{opacity:1;transform:scaleY(1)} }

#gc-widget .gc-intro-text {
  display: flex !important; flex-direction: column !important;
  align-items: center !important; gap: 4px !important;
  animation: gc-fadein .5s ease 1.4s both !important;
}
#gc-widget .gc-intro-brand  { font-size: 18px !important; font-weight: 600 !important; color: #111 !important; letter-spacing: .03em !important; display: block !important; }
#gc-widget .gc-intro-tagline{ font-size: 12px !important; font-weight: 400 !important; color: #ad0517 !important; letter-spacing: .05em !important; display: block !important; }
#gc-widget .gc-intro-bar {
  position: absolute !important; bottom: 0 !important; left: 0 !important;
  height: 2px !important; background: #ad0517 !important;
  border-radius: 0 2px 2px 0 !important;
  animation: gc-bar 5s linear both !important;
}
@keyframes gc-bar { from{width:0} to{width:100%} }

/* ── MOBILE ───────────────────────────────────────────────────────────────── */
@media (max-width: 480px) {
  #gc-widget { bottom: 16px !important; right: 16px !important; }
  #gc-widget .gc-panel { width: calc(100vw - 32px) !important; height: 72vh !important; border-radius: 14px !important; }
}

/* ── HEADER LOGO HORIZONTAL ──────────────────────────────────────────────── */
#gc-widget .gc-hdr-logo-wrap {
  display: flex !important;
  align-items: center !important;
  height: 36px !important;
  max-width: 130px !important;
}
#gc-widget .gc-hdr-logo-img {
  max-height: 32px !important;
  max-width: 130px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}
#gc-widget .gc-hdr-avatar-fb {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #ad0517 !important;
  display: none !important;
}

/* ── INTRO REDISEÑADO ────────────────────────────────────────────────────── */
#gc-widget .gc-intro-logo-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 48px !important;
  animation: gc-fadein .5s ease .1s both !important;
}
#gc-widget .gc-intro-logo {
  max-height: 44px !important;
  max-width: 200px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}
#gc-widget .gc-intro-logo-fb {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #111 !important;
  display: none !important;
}
#gc-widget .gc-intro-scene {
  width: 220px !important;
  height: 110px !important;
  animation: gc-fadein .3s ease .3s both !important;
}
/* Tagline en gris sutil (sin color rojo) */
#gc-widget .gc-intro-tagline {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #aaa !important;
  letter-spacing: .04em !important;
  display: block !important;
  text-align: center !important;
  animation: gc-fadein .5s ease 1.5s both !important;
}
/* Eliminar el gc-intro-text que ya no se usa */
#gc-widget .gc-intro-text { display: none !important; }

/* ── ANIMACIÓN COCINA REDISEÑADA ─────────────────────────────────────────── */
#gc-widget .gc-intro { background: #f5f5f5 !important; }
#gc-widget .gc-intro-tagline { color: #888 !important; }

/* Muebles bajos suben */
#gc-widget .gc-i-cab1    { animation: gc-rise .5s cubic-bezier(.22,1,.36,1) .05s both !important; }
#gc-widget .gc-i-sink    { animation: gc-rise .5s cubic-bezier(.22,1,.36,1) .18s both !important; }
#gc-widget .gc-i-cab3    { animation: gc-rise .5s cubic-bezier(.22,1,.36,1) .31s both !important; }
/* Encimera y zócalo */
#gc-widget .gc-i-countertop { animation: gc-rise .35s cubic-bezier(.22,1,.36,1) .48s both !important; }
#gc-widget .gc-i-baseboard  { animation: gc-rise .35s cubic-bezier(.22,1,.36,1) .52s both !important; }
/* Muebles altos bajan */
#gc-widget .gc-i-upper1  { animation: gc-drop .45s cubic-bezier(.22,1,.36,1) .62s both !important; }
#gc-widget .gc-i-upper2  { animation: gc-drop .45s cubic-bezier(.22,1,.36,1) .75s both !important; }
/* Campana baja al final */
#gc-widget .gc-i-hood    { animation: gc-drop .4s cubic-bezier(.22,1,.36,1) .9s both !important; }

/* Override intro background para versión oscura */
#gc-widget .gc-intro-logo-wrap { animation: gc-fadein .5s ease .2s both !important; }
#gc-widget .gc-intro-logo { filter: none !important; max-height: 36px !important; }

/* ── INTRO FONDO CLARO ───────────────────────────────────────────────────── */
#gc-widget .gc-intro { background: #f8f8f8 !important; }
#gc-widget .gc-intro-logo { filter: none !important; }

/* Recolorear SVG cocina para fondo claro */
#gc-widget .gc-intro-svg rect[fill="#2d2d2d"],
#gc-widget .gc-intro-svg rect[fill="#353535"],
#gc-widget .gc-intro-svg rect[fill="#3a3a3a"],
#gc-widget .gc-intro-svg rect[fill="#444"],
#gc-widget .gc-intro-svg rect[fill="#222"],
#gc-widget .gc-intro-svg rect[fill="#2a2a2a"] { fill: #d8d8d8 !important; }
#gc-widget .gc-intro-svg polygon[fill="#2d2d2d"] { fill: #c8c8c8 !important; }
#gc-widget .gc-intro-svg rect[fill="#888"] { fill: #aaa !important; }
#gc-widget .gc-intro-svg rect[fill="#555"],
#gc-widget .gc-intro-svg rect[fill="#666"] { fill: #bbb !important; }

/* ── VERIFICACIÓN MEJORADA ───────────────────────────────────────────────── */
#gc-widget .gc-v-attempts {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 10px 0 0 !important;
}
#gc-widget .gc-v-dot {
  width: 8px !important; height: 8px !important;
  border-radius: 50% !important;
  background: #e0e0e0 !important;
  display: inline-block !important;
  transition: background .2s !important;
}
#gc-widget .gc-v-dot.used { background: #e74c3c !important; }
#gc-widget .gc-v-attempts-txt {
  font-size: 11px !important; color: #bbb !important; margin-left: 4px !important;
}

#gc-widget .gc-v-guide {
  background: #fffbf0 !important;
  border: 1px solid #f0e0a0 !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  margin-top: 10px !important;
  font-size: 12px !important;
  color: #665500 !important;
  line-height: 1.6 !important;
}
#gc-widget .gc-v-guide p { margin: 0 0 4px !important; font-size: 12px !important; }
#gc-widget .gc-v-guide ul { margin: 4px 0 0 16px !important; padding: 0 !important; }
#gc-widget .gc-v-guide li { margin-bottom: 2px !important; font-size: 12px !important; }
#gc-widget .gc-v-guide code {
  background: #fff3c0 !important; padding: 1px 5px !important;
  border-radius: 3px !important; font-family: monospace !important;
  font-size: 11px !important;
}

#gc-widget .gc-v-blocked {
  text-align: center !important;
  padding: 10px 0 !important;
}
#gc-widget .gc-v-blocked-icon {
  font-size: 32px !important; margin-bottom: 12px !important; display: block !important;
}
#gc-widget .gc-v-contact-box {
  background: #f5f5f5 !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  margin-top: 12px !important;
  text-align: left !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  color: #333 !important;
}
#gc-widget .gc-v-contact-box p { margin: 0 !important; font-size: 13px !important; }
#gc-widget .gc-v-contact-box strong { color: #111 !important; }
#gc-widget .gc-v-link {
  font-size: 12px !important; color: #888 !important;
  text-decoration: underline !important; cursor: pointer !important;
}

/* ── FOOTER CON COPYRIGHT Y PRIVACIDAD ──────────────────────────────────── */
#gc-widget .gc-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}
#gc-widget .gc-footer-sep { color: #ddd !important; }
#gc-widget .gc-footer-link {
  font-size: 10.5px !important;
  color: #bbb !important;
  text-decoration: underline !important;
  text-decoration-color: #ddd !important;
  cursor: pointer !important;
  transition: color .15s !important;
}
#gc-widget .gc-footer-link:hover { color: #888 !important; }

/* Firma Deskmedia — más sutil que los demás links del footer */
#gc-widget .gc-footer-credit {
  font-size: 9.5px !important;
  color: #ccc !important;
  text-decoration: none !important;
  letter-spacing: .01em !important;
  transition: color .2s !important;
}
#gc-widget .gc-footer-credit:hover { color: #999 !important; }

/* ── PANTALLA DE BLOQUEO MEJORADA ───────────────────────────────────────── */
#gc-widget .gc-v-blocked {
  text-align: center !important;
  padding: 8px 0 !important;
}
#gc-widget .gc-v-blocked-icon {
  font-size: 36px !important;
  display: block !important;
  margin-bottom: 14px !important;
  animation: gc-fadein .4s ease !important;
}
#gc-widget .gc-v-blocked h2 {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #111 !important;
  margin: 0 0 8px !important;
}
#gc-widget .gc-v-blocked .gc-v-desc {
  font-size: 13px !important;
  color: #888 !important;
  margin-bottom: 16px !important;
}
#gc-widget .gc-v-contact-box {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  text-align: left !important;
  font-size: 13px !important;
  line-height: 2 !important;
  color: #333 !important;
}
#gc-widget .gc-v-contact-box p { margin: 0 !important; font-size: 13px !important; }
#gc-widget .gc-v-contact-box .gc-contact-title {
  font-weight: 600 !important;
  color: #111 !important;
  font-size: 13px !important;
  display: block !important;
  margin-bottom: 8px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
#gc-widget .gc-v-contact-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: #333 !important;
  margin: 0 !important;
}
#gc-widget .gc-v-contact-row a {
  color: #333 !important;
  text-decoration: none !important;
}
#gc-widget .gc-v-contact-row a:hover { text-decoration: underline !important; }
#gc-widget .gc-v-contact-horario {
  font-size: 11px !important;
  color: #bbb !important;
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid #f0f0f0 !important;
  display: block !important;
  text-align: center !important;
}

#gc-widget .gc-suggest-wrap { margin: 14px 0 2px !important; }
#gc-widget .gc-suggest-title { font-size: 12px !important; color: #8b8b8b !important; margin: 0 0 8px !important; padding-left: 2px !important; }
#gc-widget .gc-chips-inline { margin-top: 0 !important; }
#gc-widget .gc-chip-soft { background: #fff !important; }

/* ── STREAMING CURSOR ─────────────────────────────────────────────────────── */
#gc-widget .gc-bubble.gc-bot.gc-streaming {
  border-left: 2px solid rgba(173,5,23,.18) !important;
  padding-left: 9px !important;
  transition: border-left-color .4s ease !important;
}
#gc-widget .gc-bubble.gc-bot.gc-streaming::after {
  content: '' !important;
  display: inline-block !important;
  width: 2px !important;
  height: 13px !important;
  background: #ad0517 !important;
  border-radius: 1px !important;
  margin-left: 2px !important;
  vertical-align: text-bottom !important;
  opacity: .75 !important;
  animation: gc-cursor 1s ease-in-out infinite !important;
}
@keyframes gc-cursor { 0%,100%{opacity:.75} 50%{opacity:0} }

/* ── LEAD FORM ────────────────────────────────────────────────────────────── */
#gc-widget .gc-lead-trigger {
  padding: 4px 12px 8px !important;
  text-align: center !important;
}
#gc-widget .gc-lead-trigger-btn {
  background: #fff !important;
  border: 1.5px dashed #d0d0d0 !important;
  border-radius: 20px !important;
  padding: 7px 16px !important;
  font-size: 12px !important;
  color: #666 !important;
  cursor: pointer !important;
  transition: border-color .15s, color .15s !important;
  white-space: nowrap !important;
}
#gc-widget .gc-lead-trigger-btn:hover {
  border-color: #ad0517 !important;
  color: #ad0517 !important;
}

#gc-widget .gc-lead-form {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 12px !important;
  margin: 6px 12px 10px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
}
#gc-widget .gc-lead-form-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  background: #fafafa !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
#gc-widget .gc-lead-form-icon {
  font-size: 20px !important;
  flex-shrink: 0 !important;
}
#gc-widget .gc-lead-form-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #111 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
#gc-widget .gc-lead-form-sub {
  font-size: 11px !important;
  color: #999 !important;
  margin: 1px 0 0 !important;
  line-height: 1.3 !important;
}
#gc-widget .gc-lead-close {
  margin-left: auto !important;
  background: none !important;
  border: none !important;
  font-size: 16px !important;
  color: #bbb !important;
  cursor: pointer !important;
  padding: 2px 4px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}
#gc-widget .gc-lead-close:hover { color: #555 !important; }

#gc-widget .gc-lead-fields {
  padding: 12px 14px !important;
}
#gc-widget .gc-lead-row {
  display: flex !important;
  gap: 8px !important;
  margin-bottom: 6px !important;
}
#gc-widget .gc-lead-row-2 > .gc-lead-field {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
#gc-widget .gc-lead-field {
  margin-bottom: 6px !important;
  flex: 1 !important;
}
#gc-widget .gc-lead-field label {
  display: block !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #888 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  margin-bottom: 3px !important;
}
#gc-widget .gc-req { color: #ad0517 !important; }
#gc-widget .gc-lead-field input,
#gc-widget .gc-lead-field select,
#gc-widget .gc-lead-field textarea {
  width: 100% !important;
  padding: 7px 9px !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  color: #333 !important;
  background: #fff !important;
  box-sizing: border-box !important;
  transition: border-color .15s !important;
  font-family: inherit !important;
}
#gc-widget .gc-lead-field input:focus,
#gc-widget .gc-lead-field select:focus,
#gc-widget .gc-lead-field textarea:focus {
  outline: none !important;
  border-color: #ad0517 !important;
}
#gc-widget .gc-lead-field textarea { resize: vertical !important; min-height: 60px !important; }

#gc-widget .gc-lead-privacy {
  margin: 8px 0 !important;
}
#gc-widget .gc-lead-check {
  display: flex !important;
  align-items: flex-start !important;
  gap: 7px !important;
  font-size: 11px !important;
  color: #777 !important;
  cursor: pointer !important;
  line-height: 1.5 !important;
}
#gc-widget .gc-lead-check input[type=checkbox] {
  width: auto !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}
#gc-widget .gc-lead-check a { color: #ad0517 !important; }

#gc-widget .gc-lead-err {
  background: #fce4e4 !important;
  color: #c62828 !important;
  border-radius: 6px !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
  margin: 6px 0 !important;
}
#gc-widget .gc-lead-submit {
  width: 100% !important;
  padding: 10px !important;
  background: #ad0517 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  margin-top: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  transition: background .15s !important;
}
#gc-widget .gc-lead-submit:hover:not([disabled]) { background: #8f0412 !important; }
#gc-widget .gc-lead-submit[disabled] { opacity: .65 !important; cursor: not-allowed !important; }
#gc-widget .gc-lead-spin {
  width: 12px !important; height: 12px !important;
  border: 2px solid rgba(255,255,255,.4) !important;
  border-top-color: #fff !important;
  border-radius: 50% !important;
  animation: gc-spin .7s linear infinite !important;
  display: inline-block !important;
}
@keyframes gc-spin { to { transform: rotate(360deg); } }

/* Lead success */
#gc-widget .gc-lead-success {
  text-align: center !important;
  padding: 20px 14px !important;
  margin: 6px 12px 10px !important;
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 12px !important;
}
#gc-widget .gc-lead-success-icon {
  font-size: 28px !important;
  display: block !important;
  margin-bottom: 8px !important;
}
#gc-widget .gc-lead-success-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #166534 !important;
  margin: 0 0 6px !important;
}
#gc-widget .gc-lead-success-body {
  font-size: 12px !important;
  color: #4b7a5a !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}
@keyframes gc-pulse { 0%,100%{opacity:1} 50%{opacity:.3} }

/* ── MARKDOWN RENDERING ─────────────────────────────────────────────────── */

/* Párrafos en burbuja bot */
#gc-widget .gc-bot p {
  margin: 0 0 6px !important;
  line-height: 1.55 !important;
}
#gc-widget .gc-bot p:last-child { margin-bottom: 0 !important; }

/* Listas */
#gc-widget .gc-bot .gc-md-list {
  margin: 4px 0 8px 0 !important;
  padding-left: 18px !important;
}
#gc-widget .gc-bot .gc-md-list:last-child { margin-bottom: 0 !important; }
#gc-widget .gc-bot .gc-md-list li {
  margin-bottom: 3px !important;
  line-height: 1.5 !important;
  font-size: 13px !important;
}

/* Encabezados dentro del chat */
#gc-widget .gc-bot .gc-md-heading {
  font-weight: 700 !important;
  font-size: 13px !important;
  color: #111 !important;
  margin: 8px 0 4px !important;
  padding-bottom: 2px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

/* Separador */
#gc-widget .gc-bot .gc-md-hr {
  border: none !important;
  border-top: 1px solid #e8e8e8 !important;
  margin: 8px 0 !important;
}

/* Negrita e itálica */
#gc-widget .gc-bot strong {
  font-weight: 700 !important;
  color: #111 !important;
}
#gc-widget .gc-bot em {
  font-style: italic !important;
  color: #444 !important;
}

/* Código inline */
#gc-widget .gc-bot .gc-md-code {
  background: #f4f4f4 !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 3px !important;
  padding: 1px 5px !important;
  font-family: monospace !important;
  font-size: 12px !important;
  color: #ad0517 !important;
}

/* Links dentro de burbujas */
#gc-widget .gc-bot a,
#gc-widget .gc-usr a {
  color: #ad0517 !important;
  text-decoration: underline !important;
  word-break: break-all !important;
}
#gc-widget .gc-bot a:hover { opacity: .8 !important; }

/* Asegurar que los mensajes del usuario no tengan estilos extra */
#gc-widget .gc-usr p {
  margin: 0 !important;
  line-height: 1.5 !important;
}

/* ── MODEL CARDS ──────────────────────────────────────────────────────────── */
#gc-widget .gc-model-cards {
  display: flex !important;
  flex-direction: row !important;
  gap: 8px !important;
  overflow-x: auto !important;
  padding: 6px 0 4px !important;
  margin-top: 8px !important;
  scrollbar-width: thin !important;
}
#gc-widget .gc-model-cards--single {
  justify-content: flex-start !important;
}
#gc-widget .gc-model-cards::-webkit-scrollbar {
  height: 3px !important;
}
#gc-widget .gc-model-cards::-webkit-scrollbar-track {
  background: #f0f0f0 !important;
  border-radius: 2px !important;
}
#gc-widget .gc-model-cards::-webkit-scrollbar-thumb {
  background: #ddd !important;
  border-radius: 2px !important;
}

#gc-widget .gc-model-card {
  flex: 0 0 auto !important;
  width: 130px !important;
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
  transition: box-shadow .15s !important;
}
#gc-widget .gc-model-card:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
}
/* Card única: un poco más ancha */
#gc-widget .gc-model-cards--single .gc-model-card {
  width: 160px !important;
}

#gc-widget .gc-card-img {
  width: 100% !important;
  height: 90px !important;
  background: #f5f5f5 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#gc-widget .gc-model-cards--single .gc-card-img {
  height: 110px !important;
}
#gc-widget .gc-card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 6px !important;
}

#gc-widget .gc-card-body {
  padding: 7px 8px 8px !important;
}
#gc-widget .gc-card-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #111 !important;
  line-height: 1.3 !important;
  margin-bottom: 3px !important;
}
#gc-widget .gc-card-meta {
  font-size: 10px !important;
  color: #888 !important;
  line-height: 1.4 !important;
}

/* Pricing para profesionales */
#gc-widget .gc-card-pricing {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 3px !important;
  margin-top: 5px !important;
}
#gc-widget .gc-card-price-tag {
  background: #f0f4ff !important;
  color: #2a4a8a !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  padding: 2px 5px !important;
  border-radius: 4px !important;
  border: 1px solid #d0d8f0 !important;
  white-space: nowrap !important;
}

/* ── PRESUPUESTO GUIADO ───────────────────────────────────────────────────── */
#gc-widget .gc-lead-guide {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 12px !important;
  margin: 6px 12px 10px !important;
  padding: 14px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
}
#gc-widget .gc-lead-guide-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  margin-bottom: 12px !important;
}
#gc-widget .gc-lead-guide-title {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #111 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  flex: 1 !important;
  padding-right: 10px !important;
}
#gc-widget .gc-lead-guide-opts {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
}
#gc-widget .gc-lead-opt {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 12px 8px !important;
  background: #f9f9f9 !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #333 !important;
  transition: border-color .15s, background .15s !important;
  text-align: center !important;
  line-height: 1.3 !important;
}
#gc-widget .gc-lead-opt:hover {
  border-color: #ad0517 !important;
  background: #fff8f8 !important;
  color: #ad0517 !important;
}
#gc-widget .gc-lead-opt-icon {
  font-size: 20px !important;
  line-height: 1 !important;
}
#gc-widget .gc-lead-guide-fields {
  margin-bottom: 8px !important;
}
#gc-widget .gc-lead-skip {
  width: 100% !important;
  background: none !important;
  border: none !important;
  font-size: 11px !important;
  color: #aaa !important;
  cursor: pointer !important;
  text-align: center !important;
  padding: 4px !important;
}
#gc-widget .gc-lead-skip:hover { color: #666 !important; }

/* ── GARANTIZAR INTERACTIVIDAD (fix themes que heredan pointer-events:none) ── */
#gc-widget,
#gc-widget .gc-panel,
#gc-widget .gc-msgs,
#gc-widget .gc-chip,
#gc-widget .gc-sbtn,
#gc-widget .gc-tabs button,
#gc-widget .gc-ifield textarea,
#gc-widget .gc-fab,
#gc-widget .gc-close-btn,
#gc-widget .gc-lead-opt,
#gc-widget button {
  pointer-events: auto !important;
}

/* ── LEAD PANEL — ocupa todo el área del chat ────────────────────────────── */
#gc-widget .gc-lead-panel {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 10px 12px !important;
  background: #fafafa !important;
}
#gc-widget .gc-lead-panel .gc-lead-guide,
#gc-widget .gc-lead-panel .gc-lead-form,
#gc-widget .gc-lead-panel .gc-lead-success {
  margin: auto 0 !important;
}

/* Ajuste icono SVG en los botones de opción */
#gc-widget .gc-lead-opt-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 28px !important;
  margin-bottom: 2px !important;
  color: #555 !important;
}
#gc-widget .gc-lead-opt:hover .gc-lead-opt-icon {
  color: #ad0517 !important;
}
#gc-widget .gc-lead-opt-icon svg {
  width: 36px !important;
  height: 24px !important;
  stroke: currentColor !important;
}

/* ── LEAD SUCCESS — botón continuar ─────────────────────────────────────── */
#gc-widget .gc-lead-continue {
  display: block !important;
  width: 100% !important;
  margin-top: 14px !important;
  padding: 10px 14px !important;
  background: #fff !important;
  border: 1.5px solid #ad0517 !important;
  border-radius: 8px !important;
  color: #ad0517 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-align: center !important;
  transition: background .15s !important;
}
#gc-widget .gc-lead-continue:hover {
  background: #fff8f8 !important;
}

/* ── CTA DISTRIBUIDOR ────────────────────────────────────────────────────── */
#gc-widget .gc-dist-cta {
  margin: 4px 0 6px 0 !important;
  padding: 8px 12px !important;
  background: #f0f4ff !important;
  border: 1px solid #d0d8f0 !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}
#gc-widget .gc-dist-cta a {
  color: #2a4a8a !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
#gc-widget .gc-dist-cta a:hover {
  text-decoration: underline !important;
}

/* ── CARDS CLICKABLES ────────────────────────────────────────────────────── */
#gc-widget .gc-card-clickable {
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
}
#gc-widget .gc-card-clickable:hover {
  box-shadow: 0 3px 12px rgba(173,5,23,.18) !important;
  border-color: #ad0517 !important;
}
#gc-widget .gc-card-link {
  display: block !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  color: #ad0517 !important;
  text-decoration: none !important;
}
#gc-widget .gc-card-clickable .gc-card-link { color: inherit !important; }
#gc-widget .gc-card-clickable:hover .gc-card-link { color: #ad0517 !important; }

/* Colores disponibles en la card */
#gc-widget .gc-card-colors {
  font-size: 9.5px !important;
  color: #999 !important;
  margin-top: 3px !important;
  line-height: 1.4 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

/* ── VERIFICACIÓN DOS PASOS ──────────────────────────────────────────────── */
#gc-widget .gc-v-dist-name {
  background: #f0f7ff !important;
  border: 1px solid #d0e4f7 !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a4a7a !important;
  margin-bottom: 14px !important;
}

/* ── ENVÍO CÓDIGO POR EMAIL ──────────────────────────────────────────────── */
#gc-widget .gc-v-divider {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 16px 0 12px !important;
  color: #bbb !important;
  font-size: 11px !important;
}
#gc-widget .gc-v-divider::before,
#gc-widget .gc-v-divider::after {
  content: '' !important;
  flex: 1 !important;
  height: 1px !important;
  background: #e8e8e8 !important;
}
#gc-widget .gc-v-email-btn {
  width: 100% !important;
  padding: 10px !important;
  background: #f8f8f8 !important;
  border: 1.5px dashed #ccc !important;
  border-radius: 8px !important;
  color: #555 !important;
  font-size: 12px !important;
  cursor: pointer !important;
  transition: background .15s, border-color .15s !important;
}
#gc-widget .gc-v-email-btn:hover:not(:disabled) {
  background: #f0f7ff !important;
  border-color: #90b8e0 !important;
  color: #1565c0 !important;
}
#gc-widget .gc-v-email-btn:disabled {
  opacity: .6 !important;
  cursor: not-allowed !important;
}
#gc-widget .gc-v-email-ok {
  margin-top: 10px !important;
  padding: 10px 12px !important;
  background: #e8f5e9 !important;
  border: 1px solid #c8e6c9 !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  color: #2e7d32 !important;
}

/* ── TRANSICIÓN FINAL STREAMING → RESPUESTA COMPLETA ───────────────────── */
#gc-widget .gc-bubble.gc-bot:not(.gc-streaming) { border-left: none !important; padding-left: 14px !important; }

/* ── EMAIL AUTORIZADO — sección en paso PIN ─────────────────────────────── */
#gc-widget .gc-v-email-section { margin-top: 4px !important; padding: 12px !important; background: #fafafa !important; border: 1px solid #efefef !important; border-radius: 8px !important; }
#gc-widget .gc-v-email-section .gc-v-input { margin-bottom: 0 !important; }


/* ── EMAIL AUTORIZADO — fila estable input + botón ───────────────────────── */
#gc-widget .gc-v-email-row {
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
}
#gc-widget .gc-v-email-row .gc-v-email-input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  height: 44px !important;
}
#gc-widget .gc-v-email-row .gc-v-email-submit {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 118px !important;
  margin: 0 !important;
  padding: 9px 14px !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}
@media(max-width:430px){
  #gc-widget .gc-v-email-row { flex-direction: column !important; }
  #gc-widget .gc-v-email-row .gc-v-email-submit { width: 100% !important; }
}

/* ── AVATAR DEL BOT EN MENSAJES ─────────────────────────────────────────── */
#gc-widget .gc-msg-av {
  width: 24px !important; height: 24px !important;
  border-radius: 50% !important;
  background: #f5f5f5 !important; border: 1px solid #ebebeb !important;
  overflow: hidden !important; flex-shrink: 0 !important;
  align-self: flex-end !important;
  margin: 0 7px 2px 0 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}
#gc-widget .gc-msg-av img {
  width: 100% !important; height: 100% !important;
  object-fit: contain !important; padding: 3px !important; display: block !important;
}
#gc-widget .gc-msg-av > span {
  font-size: 9px !important; font-weight: 800 !important; color: #ad0517 !important;
  display: none !important; line-height: 1 !important;
}
/* Espacio reservado para mensajes consecutivos del bot (sin repetir avatar) */
#gc-widget .gc-msg-av-gap { width: 31px !important; flex-shrink: 0 !important; }

/* ── BOTÓN COPIAR RESPUESTA ──────────────────────────────────────────────── */
#gc-widget .gc-bubble.gc-bot { position: relative !important; }
#gc-widget .gc-copy-btn {
  position: absolute !important; bottom: 5px !important; right: 6px !important;
  width: 21px !important; height: 21px !important;
  background: rgba(255,255,255,.94) !important; border: 1px solid #e4e4e4 !important;
  border-radius: 5px !important; cursor: pointer !important; padding: 0 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  opacity: 0 !important; transition: opacity .15s, background .15s !important;
  pointer-events: none !important;
}
#gc-widget .gc-bubble.gc-bot:hover .gc-copy-btn {
  opacity: 1 !important; pointer-events: auto !important;
}
#gc-widget .gc-copy-btn svg { fill: #bbb !important; display: block !important; transition: fill .15s !important; }
#gc-widget .gc-copy-btn:hover svg { fill: #666 !important; }
#gc-widget .gc-copy-btn.gc-copied { background: #e8f5e9 !important; border-color: #c8e6c9 !important; }
#gc-widget .gc-copy-btn.gc-copied svg { fill: #2e7d32 !important; }
/* Tooltip "Copiado" */
#gc-widget .gc-copy-btn::after {
  content: 'Copiado' !important; position: absolute !important;
  bottom: 26px !important; right: 0 !important;
  background: #333 !important; color: #fff !important;
  font-size: 10px !important; padding: 3px 8px !important;
  border-radius: 4px !important; white-space: nowrap !important;
  opacity: 0 !important; pointer-events: none !important;
  transition: opacity .2s !important;
}
#gc-widget .gc-copy-btn.gc-copied::after { opacity: 1 !important; }

/* ── BOTÓN IR AL FINAL (scroll) ──────────────────────────────────────────── */
#gc-widget .gc-scroll-down {
  position: sticky !important; bottom: 10px !important;
  align-self: flex-end !important;
  width: 28px !important; height: 28px !important; border-radius: 50% !important;
  background: #fff !important; border: 1px solid #e0e0e0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.10) !important;
  cursor: pointer !important; font-size: 13px !important; color: #888 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  opacity: 0 !important; transform: translateY(6px) !important;
  transition: opacity .22s, transform .22s !important;
  margin-right: 6px !important; padding: 0 !important; z-index: 5 !important;
  pointer-events: none !important; flex-shrink: 0 !important;
  line-height: 1 !important;
}
#gc-widget .gc-scroll-down.gc-scroll-vis {
  opacity: 1 !important; transform: translateY(0) !important; pointer-events: auto !important;
}
#gc-widget .gc-scroll-down:hover { background: #f5f5f5 !important; color: #333 !important; }

/* ── ANIMACIÓN ESCALONADA DE CHIPS ───────────────────────────────────────── */
@keyframes gc-chip-enter { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }

#gc-widget .gc-welcome .gc-chip,
#gc-widget .gc-suggest-wrap .gc-chip {
  animation: gc-chip-enter .22s ease both !important;
}
#gc-widget .gc-welcome .gc-chip:nth-child(1) { animation-delay: .08s !important; }
#gc-widget .gc-welcome .gc-chip:nth-child(2) { animation-delay: .15s !important; }
#gc-widget .gc-welcome .gc-chip:nth-child(3) { animation-delay: .22s !important; }
#gc-widget .gc-welcome .gc-chip:nth-child(4) { animation-delay: .29s !important; }
#gc-widget .gc-suggest-wrap .gc-chip:nth-child(1) { animation-delay: .02s !important; }
#gc-widget .gc-suggest-wrap .gc-chip:nth-child(2) { animation-delay: .08s !important; }
#gc-widget .gc-suggest-wrap .gc-chip:nth-child(3) { animation-delay: .14s !important; }
#gc-widget .gc-suggest-wrap .gc-chip:nth-child(4) { animation-delay: .20s !important; }

/* ── SUGGEST WRAP SIN ETIQUETA — más limpio ──────────────────────────────── */
#gc-widget .gc-suggest-wrap { margin: 12px 0 4px !important; padding-top: 10px !important; border-top: 1px solid #f0f0f0 !important; }

/* ── TIPOGRAFÍA MARKDOWN MEJORADA ────────────────────────────────────────── */
#gc-widget .gc-bot .gc-md-heading {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #111 !important;
  margin: 10px 0 5px !important;
  border-bottom: 1px solid #ebebeb !important;
  padding-bottom: 3px !important;
}
/* Espaciado respuestas largas */
#gc-widget .gc-bot .gc-md-list { margin: 5px 0 10px 0 !important; }
#gc-widget .gc-bot .gc-md-list li { margin-bottom: 4px !important; line-height: 1.55 !important; }

/* ── INPUT DESHABILITADO — estado de carga ───────────────────────────────── */
#gc-widget .gc-ifield textarea:disabled { color: #ccc !important; }
#gc-widget .gc-ifield textarea:disabled::placeholder {
  animation: gc-placeholder-pulse 1.6s ease-in-out infinite !important;
}
@keyframes gc-placeholder-pulse { 0%,100%{opacity:.35} 50%{opacity:.7} }

/* Asegurar que el gc-row no corte el avatar */
#gc-widget .gc-row { align-items: flex-end !important; }

/* ── ORDER STATUS CARD ───────────────────────────────────────────────────── */
#gc-widget .gc-order-card {
  margin-top: 8px !important; border-radius: 10px !important;
  border: 1px solid #e0e8f0 !important; overflow: hidden !important;
  background: #fff !important; box-shadow: 0 1px 5px rgba(0,0,0,.06) !important;
  font-size: 12.5px !important;
}

/* Estado no encontrado */
#gc-widget .gc-order-nf {
  padding: 14px 16px !important; text-align: center !important;
  background: #fafafa !important; border-color: #ebebeb !important;
}
#gc-widget .gc-order-nf-icon { font-size: 22px !important; margin-bottom: 6px !important; display: block !important; }
#gc-widget .gc-order-nf-msg { font-size: 12px !important; color: #666 !important; line-height: 1.6 !important; margin: 0 0 10px !important; }

/* Estado encontrado */
#gc-widget .gc-order-hdr {
  display: flex !important; align-items: flex-start !important;
  justify-content: space-between !important; gap: 8px !important;
  padding: 11px 14px 8px !important;
  background: linear-gradient(135deg, #f0f6ff 0%, #f8fbff 100%) !important;
  border-bottom: 1px solid #e4eef8 !important;
}
#gc-widget .gc-order-num { font-size: 12px !important; font-weight: 600 !important; color: #333 !important; line-height: 1.3 !important; }
#gc-widget .gc-order-num span { color: #1a4a8a !important; }
#gc-widget .gc-order-partial { font-size: 10px !important; color: #d97706 !important; font-weight: 500 !important; margin-top: 2px !important; }
#gc-widget .gc-order-badge {
  font-size: 10px !important; font-weight: 700 !important; color: #2e7d32 !important;
  background: #e8f5e9 !important; border: 1px solid #c8e6c9 !important;
  border-radius: 20px !important; padding: 2px 9px !important;
  white-space: nowrap !important; flex-shrink: 0 !important;
}
#gc-widget .gc-order-progress {
  display: flex !important; align-items: center !important; gap: 8px !important;
  padding: 10px 14px !important;
}
#gc-widget .gc-order-bar {
  flex: 1 !important; height: 7px !important; background: #eef0f3 !important;
  border-radius: 4px !important; overflow: hidden !important;
}
#gc-widget .gc-order-fill {
  height: 100% !important; border-radius: 4px !important;
  background: linear-gradient(90deg, #2e7d32, #66bb6a) !important;
  transition: width .7s cubic-bezier(.4,0,.2,1) !important;
}
#gc-widget .gc-order-pct {
  font-size: 12px !important; font-weight: 700 !important;
  color: #2e7d32 !important; min-width: 34px !important; text-align: right !important;
}
#gc-widget .gc-order-eta {
  font-size: 11px !important; color: #555 !important;
  padding: 0 14px 8px !important;
}
#gc-widget .gc-order-footer {
  display: flex !important; align-items: center !important;
  justify-content: space-between !important; gap: 8px !important;
  padding: 8px 14px !important;
  border-top: 1px solid #f0f4f8 !important;
  background: #fafbfc !important;
  font-size: 11px !important; color: #aaa !important;
  flex-wrap: wrap !important;
}
#gc-widget .gc-order-email {
  font-size: 11.5px !important; font-weight: 600 !important;
  color: #ad0517 !important; text-decoration: none !important;
}
#gc-widget .gc-order-email:hover { text-decoration: underline !important; }
#gc-widget .gc-order-more {
  font-size: 11px !important; color: #888 !important;
  padding: 0 14px 8px !important; font-style: italic !important;
}

/* ── Persistencia temporal: acción para limpiar conversación ───────────── */
#gc-widget .gc-clear-chat {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  font: inherit !important;
  line-height: inherit !important;
}
#gc-widget .gc-clear-chat:hover {
  color: #888 !important;
  text-decoration-color: #bbb !important;
}

/* ── RESPONSIVE MÓVIL PROFESIONAL — panel optimizado ─────────────────────── */
html.gc-chat-mobile-lock,
body.gc-chat-mobile-lock {
  overflow: hidden !important;
  overscroll-behavior: none !important;
  width: 100% !important;
}

@media (max-width: 768px) {
  #gc-widget.gc-mobile-open {
    top: var(--gc-vvtop, 0px) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100vw !important;
    height: var(--gc-vvh, 100dvh) !important;
    max-width: 100vw !important;
    max-height: var(--gc-vvh, 100dvh) !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
    z-index: 2147483647 !important;
  }

  #gc-widget.gc-mobile-open .gc-panel {
    width: 100vw !important;
    height: var(--gc-vvh, 100dvh) !important;
    max-width: 100vw !important;
    max-height: var(--gc-vvh, 100dvh) !important;
    min-height: var(--gc-vvh, 100dvh) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform-origin: center center !important;
    animation: gc-mobile-panel-in .18s ease !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  @keyframes gc-mobile-panel-in {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  #gc-widget.gc-mobile-open .gc-fab,
  #gc-widget.gc-mobile-open .gc-bubble-hint {
    display: none !important;
  }

  #gc-widget.gc-mobile-open .gc-hdr {
    padding: max(10px, env(safe-area-inset-top)) 14px 10px !important;
    min-height: 64px !important;
    flex-shrink: 0 !important;
    position: relative !important;
    z-index: 3 !important;
  }

  #gc-widget.gc-mobile-open .gc-hdr-logo-wrap,
  #gc-widget.gc-mobile-open .gc-hdr-avatar {
    width: 38px !important;
    height: 38px !important;
    flex-shrink: 0 !important;
  }

  #gc-widget.gc-mobile-open .gc-hdr-name {
    font-size: 16px !important;
    max-width: 170px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #gc-widget.gc-mobile-open .gc-hdr-sub {
    font-size: 12px !important;
  }

  #gc-widget.gc-mobile-open .gc-status {
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  #gc-widget.gc-mobile-open .gc-close-btn {
    width: 36px !important;
    height: 36px !important;
    font-size: 22px !important;
    background: #f4f4f4 !important;
  }

  #gc-widget.gc-mobile-open .gc-tabs,
  #gc-widget.gc-mobile-open .gc-pro-badge {
    flex-shrink: 0 !important;
  }

  #gc-widget.gc-mobile-open .gc-tab {
    padding: 12px 0 !important;
    font-size: 13px !important;
  }

  #gc-widget.gc-mobile-open .gc-msgs {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 14px 14px 12px !important;
    gap: 10px !important;
  }

  #gc-widget.gc-mobile-open .gc-row,
  #gc-widget.gc-mobile-open .gc-bubble,
  #gc-widget.gc-mobile-open .gc-bubble * {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  #gc-widget.gc-mobile-open .gc-bubble {
    max-width: 88% !important;
    font-size: 14px !important;
    line-height: 1.58 !important;
  }

  #gc-widget.gc-mobile-open .gc-bubble p {
    font-size: 14px !important;
    line-height: 1.58 !important;
  }

  #gc-widget.gc-mobile-open .gc-chips {
    width: 100% !important;
    gap: 8px !important;
  }

  #gc-widget.gc-mobile-open .gc-chip {
    white-space: normal !important;
    max-width: 100% !important;
    text-align: left !important;
    line-height: 1.35 !important;
    padding: 8px 12px !important;
  }

  #gc-widget.gc-mobile-open .gc-ibar {
    flex-shrink: 0 !important;
    padding: 10px 12px max(10px, env(safe-area-inset-bottom)) !important;
    background: #fff !important;
    position: relative !important;
    z-index: 4 !important;
  }

  #gc-widget.gc-mobile-open .gc-ifield {
    min-height: 44px !important;
    border-radius: 24px !important;
    padding: 10px 14px !important;
  }

  #gc-widget.gc-mobile-open .gc-ifield textarea {
    font-size: 16px !important;
    line-height: 1.45 !important;
    max-height: 112px !important;
  }

  #gc-widget.gc-mobile-open .gc-sbtn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  #gc-widget.gc-mobile-open .gc-footer {
    display: none !important;
  }

  #gc-widget.gc-mobile-open .gc-verify {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 18px 16px max(18px, env(safe-area-inset-bottom)) !important;
    align-items: flex-start !important;
  }

  #gc-widget.gc-mobile-open .gc-verify-in {
    max-width: 520px !important;
    margin: 0 auto !important;
  }

  #gc-widget.gc-mobile-open .gc-v-input,
  #gc-widget.gc-mobile-open input,
  #gc-widget.gc-mobile-open select,
  #gc-widget.gc-mobile-open textarea {
    font-size: 16px !important;
  }

  #gc-widget.gc-mobile-open .gc-v-email-row {
    flex-direction: column !important;
  }

  #gc-widget.gc-mobile-open .gc-v-email-row .gc-v-email-input,
  #gc-widget.gc-mobile-open .gc-v-email-row .gc-v-email-submit {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* ── MOBILE FULLSCREEN FORZADO — estilo panel tipo Chatbase ────────────────
   Este bloque no depende de media queries: solo se activa cuando JS detecta
   móvil y añade .gc-mobile-open. Evita que iPhone/Android mantengan el panel
   flotante si el viewport CSS de la web no coincide con el ancho real. */
html.gc-chat-mobile-lock,
body.gc-chat-mobile-lock {
  overflow: hidden !important;
  overscroll-behavior: none !important;
  touch-action: none !important;
}

#gc-widget.gc-mobile-open {
  position: fixed !important;
  top: var(--gc-vvtop, 0px) !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: 100vw !important;
  height: var(--gc-vvh, 100dvh) !important;
  max-width: 100vw !important;
  max-height: var(--gc-vvh, 100dvh) !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
  z-index: 2147483647 !important;
  overflow: hidden !important;
}

#gc-widget.gc-mobile-open .gc-panel {
  position: relative !important;
  width: 100vw !important;
  height: var(--gc-vvh, 100dvh) !important;
  max-width: 100vw !important;
  max-height: var(--gc-vvh, 100dvh) !important;
  min-height: var(--gc-vvh, 100dvh) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  transform-origin: center center !important;
  animation: gc-mobile-panel-in .18s ease !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 0 !important;
}

#gc-widget.gc-mobile-open .gc-fab,
#gc-widget.gc-mobile-open .gc-bubble-hint {
  display: none !important;
}

#gc-widget.gc-mobile-open .gc-hdr {
  padding: calc(10px + env(safe-area-inset-top, 0px)) 14px 10px !important;
  min-height: calc(58px + env(safe-area-inset-top, 0px)) !important;
  flex-shrink: 0 !important;
  position: relative !important;
  z-index: 5 !important;
  background: #fff !important;
}

#gc-widget.gc-mobile-open .gc-hdr-brand {
  min-width: 0 !important;
}

#gc-widget.gc-mobile-open .gc-hdr-logo-wrap,
#gc-widget.gc-mobile-open .gc-hdr-avatar {
  width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px !important;
  max-width: 38px !important;
}

#gc-widget.gc-mobile-open .gc-hdr-name {
  font-size: 16px !important;
  max-width: 48vw !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#gc-widget.gc-mobile-open .gc-hdr-sub {
  font-size: 12px !important;
}

#gc-widget.gc-mobile-open .gc-hdr-right {
  flex-shrink: 0 !important;
}

#gc-widget.gc-mobile-open .gc-status {
  font-size: 12px !important;
  white-space: nowrap !important;
}

#gc-widget.gc-mobile-open .gc-close-btn {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  font-size: 23px !important;
  background: #f4f4f4 !important;
}

#gc-widget.gc-mobile-open .gc-tabs,
#gc-widget.gc-mobile-open .gc-pro-badge,
#gc-widget.gc-mobile-open .gc-lead-trigger {
  flex-shrink: 0 !important;
}

#gc-widget.gc-mobile-open .gc-tab {
  padding: 12px 0 !important;
  font-size: 13px !important;
}

#gc-widget.gc-mobile-open .gc-msgs {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  padding: 14px 14px 12px !important;
  gap: 10px !important;
  background: #fff !important;
}

#gc-widget.gc-mobile-open .gc-row,
#gc-widget.gc-mobile-open .gc-bubble,
#gc-widget.gc-mobile-open .gc-bubble *,
#gc-widget.gc-mobile-open .gc-order-card,
#gc-widget.gc-mobile-open .gc-lead-form,
#gc-widget.gc-mobile-open .gc-lead-guide {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

#gc-widget.gc-mobile-open .gc-bubble {
  max-width: 88% !important;
  font-size: 14px !important;
  line-height: 1.58 !important;
}

#gc-widget.gc-mobile-open .gc-bubble p,
#gc-widget.gc-mobile-open .gc-bot .gc-md-list li {
  font-size: 14px !important;
  line-height: 1.58 !important;
}

#gc-widget.gc-mobile-open .gc-chips {
  width: 100% !important;
  gap: 8px !important;
}

#gc-widget.gc-mobile-open .gc-chip {
  white-space: normal !important;
  max-width: 100% !important;
  text-align: left !important;
  line-height: 1.35 !important;
  padding: 8px 12px !important;
}

#gc-widget.gc-mobile-open .gc-ibar {
  flex: 0 0 auto !important;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  background: #fff !important;
  border-top: 1px solid #efefef !important;
  position: sticky !important;
  bottom: 0 !important;
  z-index: 6 !important;
  align-items: flex-end !important;
}

#gc-widget.gc-mobile-open .gc-ifield {
  min-height: 46px !important;
  border-radius: 25px !important;
  padding: 10px 14px !important;
}

#gc-widget.gc-mobile-open .gc-ifield textarea {
  font-size: 16px !important;
  line-height: 1.45 !important;
  max-height: 112px !important;
}

#gc-widget.gc-mobile-open .gc-sbtn {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
}

#gc-widget.gc-mobile-open .gc-sbtn svg {
  width: 18px !important;
  height: 18px !important;
}

#gc-widget.gc-mobile-open .gc-footer {
  display: none !important;
}

#gc-widget.gc-mobile-open .gc-verify,
#gc-widget.gc-mobile-open .gc-lead-panel {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  padding: 18px 16px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
  align-items: flex-start !important;
}

#gc-widget.gc-mobile-open .gc-verify-in,
#gc-widget.gc-mobile-open .gc-lead-form,
#gc-widget.gc-mobile-open .gc-lead-guide,
#gc-widget.gc-mobile-open .gc-lead-success {
  max-width: 520px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#gc-widget.gc-mobile-open .gc-v-input,
#gc-widget.gc-mobile-open input,
#gc-widget.gc-mobile-open select,
#gc-widget.gc-mobile-open textarea {
  font-size: 16px !important;
}

#gc-widget.gc-mobile-open .gc-v-email-row,
#gc-widget.gc-mobile-open .gc-lead-row,
#gc-widget.gc-mobile-open .gc-lead-guide-opts {
  flex-direction: column !important;
  grid-template-columns: 1fr !important;
}

#gc-widget.gc-mobile-open .gc-v-email-row .gc-v-email-input,
#gc-widget.gc-mobile-open .gc-v-email-row .gc-v-email-submit,
#gc-widget.gc-mobile-open .gc-lead-row .gc-lead-field {
  width: 100% !important;
  min-width: 0 !important;
}


/* ── MOBILE HEADER FIX ───────────────────────────────────────────────────── */
#gc-widget .gc-hdr-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

#gc-widget.gc-mobile-open .gc-hdr-brand {
  align-items: flex-start !important;
  gap: 10px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

#gc-widget.gc-mobile-open .gc-hdr-info {
  padding-top: 1px !important;
}

#gc-widget.gc-mobile-open .gc-hdr-logo-wrap,
#gc-widget.gc-mobile-open .gc-hdr-avatar {
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
  max-width: 30px !important;
  min-width: 30px !important;
  align-self: flex-start !important;
  margin-top: 2px !important;
}

#gc-widget.gc-mobile-open .gc-hdr-logo-img {
  max-height: 24px !important;
  max-width: 30px !important;
  width: 30px !important;
  height: auto !important;
}

#gc-widget.gc-mobile-open .gc-hdr-name {
  display: block !important;
  max-width: none !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

#gc-widget.gc-mobile-open .gc-hdr-sub {
  display: block !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  margin-top: 2px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* ── CLEAN LINKS / CTAs ─────────────────────────────────────────────────── */
#gc-widget .gc-clean-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 10px !important;
}
#gc-widget .gc-clean-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  max-width: 100% !important;
  padding: 8px 12px !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #222 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
  transition: background .15s ease, border-color .15s ease, transform .15s ease !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
#gc-widget .gc-clean-link:hover {
  background: #f7f7f7 !important;
  border-color: #d8d8d8 !important;
  transform: translateY(-1px) !important;
}
#gc-widget .gc-clean-link:focus {
  outline: 2px solid rgba(193,39,45,.18) !important;
  outline-offset: 2px !important;
}
#gc-widget .gc-bubble a:not(.gc-clean-link) {
  color: #1f5f99 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  word-break: break-word !important;
}
#gc-widget.gc-mobile-open .gc-clean-links {
  gap: 7px !important;
  margin-top: 9px !important;
}
#gc-widget.gc-mobile-open .gc-clean-link {
  width: 100% !important;
  border-radius: 14px !important;
  justify-content: flex-start !important;
  padding: 10px 12px !important;
  font-size: 13px !important;
}

/* ── STORE LOCATOR ───────────────────────────────────────────────────────── */
#gc-widget .gc-store-list {
  margin-top: 10px !important; display: flex !important; flex-direction: column !important; gap: 6px !important;
}
#gc-widget .gc-store-item {
  border: 1px solid #ebebeb !important; border-radius: 8px !important;
  padding: 9px 12px !important; background: #fff !important;
  font-size: 12px !important; line-height: 1.5 !important;
  animation: gc-up .16s ease both !important; transition: border-color .15s !important;
}
#gc-widget .gc-store-item:hover { border-color: #c8d8e8 !important; }
#gc-widget .gc-store-hdr {
  display: flex !important; justify-content: space-between !important;
  align-items: flex-start !important; gap: 6px !important; margin-bottom: 2px !important;
}
#gc-widget .gc-store-name { font-weight: 700 !important; font-size: 12.5px !important; color: #1a1a1a !important; line-height: 1.3 !important; }
#gc-widget .gc-store-dist {
  font-size: 10px !important; font-weight: 600 !important; color: #ad0517 !important;
  background: #fdf0f1 !important; border: 1px solid #f5c8cc !important;
  border-radius: 20px !important; padding: 1px 7px !important; white-space: nowrap !important; flex-shrink: 0 !important;
}
#gc-widget .gc-store-addr { color: #777 !important; font-size: 11px !important; margin-bottom: 5px !important; }
#gc-widget .gc-store-actions { display: flex !important; gap: 10px !important; align-items: center !important; flex-wrap: wrap !important; }
#gc-widget .gc-store-phone { font-size: 11.5px !important; font-weight: 600 !important; color: #333 !important; text-decoration: none !important; }
#gc-widget .gc-store-phone::before { content: '📞 ' !important; }
#gc-widget .gc-store-phone:hover { color: #ad0517 !important; }
#gc-widget .gc-store-web { font-size: 11px !important; color: #1a5fa8 !important; text-decoration: none !important; font-weight: 500 !important; }
#gc-widget .gc-store-web:hover { text-decoration: underline !important; }
/* Botón "Ver todos" — limpio, integrado */
#gc-widget .gc-store-all {
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: 5px !important; margin-top: 8px !important; padding: 8px 12px !important;
  border: 1px solid #e0e0e0 !important; border-radius: 7px !important;
  font-size: 11.5px !important; font-weight: 500 !important; color: #555 !important;
  text-decoration: none !important; background: #fafafa !important; transition: background .15s, color .15s !important;
}
#gc-widget .gc-store-all:hover { background: #f0f0f0 !important; color: #1a1a1a !important; }
/* Botón fallback — tarjeta sutil con icono */
#gc-widget .gc-store-fallback-btn {
  display: flex !important; align-items: center !important; gap: 8px !important;
  margin-top: 8px !important; padding: 10px 14px !important;
  border: 1px solid #e0e0e0 !important; border-radius: 8px !important;
  background: #fafafa !important; color: #1a5fa8 !important;
  font-size: 12.5px !important; font-weight: 600 !important;
  text-decoration: none !important; transition: background .15s, border-color .15s !important;
}
#gc-widget .gc-store-fallback-btn::before { content: '🗺\FE0F\200D' !important; font-size: 14px !important; }
#gc-widget .gc-store-fallback-btn:hover { background: #eef4fb !important; border-color: #c0d4eb !important; }
/* Prompt de búsqueda inline */
#gc-widget .gc-store-prompt { margin-top: 10px !important; }
#gc-widget .gc-store-prompt-lbl { font-size: 11px !important; color: #aaa !important; margin-bottom: 6px !important; }
#gc-widget .gc-store-prompt-row { display: flex !important; gap: 6px !important; margin-bottom: 6px !important; }
#gc-widget .gc-store-input {
  flex: 1 !important; padding: 7px 10px !important;
  border: 1px solid #ddd !important; border-radius: 6px !important;
  font-size: 12.5px !important; outline: none !important; transition: border-color .15s !important;
}
#gc-widget .gc-store-input:focus { border-color: #999 !important; }
#gc-widget .gc-store-search-btn {
  padding: 7px 14px !important; background: #222 !important; color: #fff !important;
  border: none !important; border-radius: 6px !important; font-size: 12.5px !important;
  font-weight: 600 !important; cursor: pointer !important; white-space: nowrap !important; transition: background .15s !important;
}
#gc-widget .gc-store-search-btn:hover { background: #444 !important; }
#gc-widget .gc-store-geo-btn {
  width: 100% !important; padding: 7px !important; border: 1px solid #e0e0e0 !important;
  border-radius: 6px !important; background: #fafafa !important; color: #555 !important;
  font-size: 12px !important; font-weight: 500 !important; cursor: pointer !important; transition: background .15s !important;
}
#gc-widget .gc-store-geo-btn:hover { background: #f0f0f0 !important; }
