/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-border-style: solid;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
    }
  }
}

.tooltip-wrapper {
  justify-content: center;
  align-items: center;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  position: relative;
}

.tooltip-wrapper:before, .tooltip-wrapper:after {
  content: "";
  opacity: 0;
  pointer-events: none;
  z-index: 1000;
  transition: all .2s ease-in-out;
  position: absolute;
}

.tooltip-wrapper:before {
  content: attr(data-tooltip);
  background-color: #fffffff2;
}

@supports (color: color-mix(in lab, red, red)) {
  .tooltip-wrapper:before {
    background-color: color-mix(in oklab, var(--color-white, #fff) 95%, transparent);
  }
}

.tooltip-wrapper:before {
  color: var(--color-slate-800, oklch(27.9% .041 260.031));
}

.tooltip-wrapper:before:where() {
  background-color: #1d293df2;
}

@supports (color: color-mix(in lab, red, red)) {
  .tooltip-wrapper:before:where() {
    background-color: color-mix(in oklab, var(--color-slate-800, oklch(27.9% .041 260.031)) 95%, transparent);
  }
}

.tooltip-wrapper:before:where() {
  color: var(--color-slate-200, oklch(92.9% .013 255.508));
}

.tooltip-wrapper:before {
  border-radius: var(--radius-md, .375rem);
  padding-inline: calc(var(--spacing, .25rem) * 3);
  padding-block: calc(var(--spacing, .25rem) * 2);
  font-size: var(--text-sm, .875rem);
  line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));
  white-space: nowrap;
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-slate-200, oklch(92.9% .013 255.508));
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  --tw-backdrop-blur: blur(var(--blur-sm, 8px));
  -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
}

.tooltip-wrapper:before:where() {
  border-color: var(--color-slate-700, oklch(37.2% .044 257.287));
}

.tooltip-wrapper:before {
  filter: drop-shadow(0 1px 2px #0000001a);
}

.tooltip-wrapper:after {
  filter: drop-shadow(1px 1px #0000001a);
  border: 7px solid #0000;
  width: 0;
  height: 0;
}

.tooltip-wrapper:hover:before, .tooltip-wrapper:hover:after {
  opacity: 1;
}

.tooltip-wrapper:before {
  top: 50%;
  right: calc(100% + 16px);
  transform: translateY(-50%) translateX(4px);
}

.tooltip-wrapper:after {
  border-left-color: #fffffff2;
  top: 50%;
  right: calc(100% + 3px);
  transform: translateY(-50%) translateX(4px);
}

@supports (color: color-mix(in lab, red, red)) {
  .tooltip-wrapper:after {
    border-left-color: color-mix(in oklab, var(--color-white, #fff) 95%, transparent);
  }
}

.tooltip-wrapper:after:where() {
  border-left-color: #1d293df2;
}

@supports (color: color-mix(in lab, red, red)) {
  .tooltip-wrapper:after:where() {
    border-left-color: color-mix(in oklab, var(--color-slate-800, oklch(27.9% .041 260.031)) 95%, transparent);
  }
}

.tooltip-wrapper:hover:before, .tooltip-wrapper:hover:after {
  transform: translateY(-50%) translateX(0);
}

.tooltip-wrapper[data-position="top"]:before {
  inset: auto auto calc(100% + 12px) calc(50% - 4px);
  transform: translateX(-50%) translateY(4px);
}

.tooltip-wrapper[data-position="top"]:after {
  border: 6px solid #0000;
  border-top-color: #fffffff2;
  inset: auto auto 100% calc(50% - 4px);
  transform: translateX(-50%) translateY(4px);
}

@supports (color: color-mix(in lab, red, red)) {
  .tooltip-wrapper[data-position="top"]:after {
    border-top-color: color-mix(in oklab, var(--color-white, #fff) 95%, transparent);
  }
}

.tooltip-wrapper[data-position="top"]:after:where() {
  border-top-color: #1d293df2;
}

@supports (color: color-mix(in lab, red, red)) {
  .tooltip-wrapper[data-position="top"]:after:where() {
    border-top-color: color-mix(in oklab, var(--color-slate-800, oklch(27.9% .041 260.031)) 95%, transparent);
  }
}

.tooltip-wrapper[data-position="top"]:after, .tooltip-wrapper[data-position="top"]:after:where() {
  border-left-color: #0000;
}

.tooltip-wrapper[data-position="top"]:hover:before, .tooltip-wrapper[data-position="top"]:hover:after {
  transform: translateX(-50%) translateY(0);
}

.tooltip-wrapper[data-position="bottom"]:before {
  inset: calc(100% + 12px) auto auto calc(50% - 4px);
  transform: translateX(-50%) translateY(-4px);
}

.tooltip-wrapper[data-position="bottom"]:after {
  border: 6px solid #0000;
  border-bottom-color: #fffffff2;
  inset: 100% auto auto calc(50% - 4px);
  transform: translateX(-50%) translateY(-4px);
}

@supports (color: color-mix(in lab, red, red)) {
  .tooltip-wrapper[data-position="bottom"]:after {
    border-bottom-color: color-mix(in oklab, var(--color-white, #fff) 95%, transparent);
  }
}

.tooltip-wrapper[data-position="bottom"]:after:where() {
  border-bottom-color: #1d293df2;
}

@supports (color: color-mix(in lab, red, red)) {
  .tooltip-wrapper[data-position="bottom"]:after:where() {
    border-bottom-color: color-mix(in oklab, var(--color-slate-800, oklch(27.9% .041 260.031)) 95%, transparent);
  }
}

.tooltip-wrapper[data-position="bottom"]:after, .tooltip-wrapper[data-position="bottom"]:after:where() {
  border-left-color: #0000;
}

.tooltip-wrapper[data-position="bottom"]:hover:before, .tooltip-wrapper[data-position="bottom"]:hover:after {
  transform: translateX(-50%) translateY(0);
}

.tooltip-wrapper[data-position="right"]:before {
  inset: 50% auto auto calc(100% + 8px);
  transform: translateY(-50%) translateX(-4px);
}

.tooltip-wrapper[data-position="right"]:after {
  border: 6px solid #0000;
  border-right-color: #fffffff2;
  inset: 50% auto auto calc(100% - 4px);
  transform: translateY(-50%) translateX(-4px);
}

@supports (color: color-mix(in lab, red, red)) {
  .tooltip-wrapper[data-position="right"]:after {
    border-right-color: color-mix(in oklab, var(--color-white, #fff) 95%, transparent);
  }
}

.tooltip-wrapper[data-position="right"]:after:where() {
  border-right-color: #1d293df2;
}

@supports (color: color-mix(in lab, red, red)) {
  .tooltip-wrapper[data-position="right"]:after:where() {
    border-right-color: color-mix(in oklab, var(--color-slate-800, oklch(27.9% .041 260.031)) 95%, transparent);
  }
}

.tooltip-wrapper[data-position="right"]:after, .tooltip-wrapper[data-position="right"]:after:where() {
  border-top-color: #0000;
}

.tooltip-wrapper[data-position="right"]:hover:before, .tooltip-wrapper[data-position="right"]:hover:after {
  transform: translateY(-50%) translateX(0);
}

.tooltip-wrapper button:focus-visible {
  outline: none;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}
/*
 * Chatbot de reservas: una sola estructura, una piel por marca.
 *
 * No depende de Tailwind a propósito: así se monta igual en los sitios con
 * @pretor/ui y en los que tienen CSS propio (ademan). Todo cuelga de `.cb` y la
 * piel se elige con `data-skin` (appConfig.chatbotSkin). Las reglas van sin capa
 * y con una clase delante para ganarle al preflight de Tailwind (que va en capa)
 * y a las reglas por elemento de un sitio sin Tailwind.
 */

/* ───────────────────────── Base estructural ───────────────────────── */

.cb {
  --cb-font: system-ui, -apple-system, "Segoe UI", sans-serif;
  --cb-font-display: var(--cb-font);
  --cb-bg: #f3f5f8;
  --cb-surface: #fff;
  --cb-foot-bg: #fff;
  --cb-ink: #1b2536;
  --cb-ink-soft: #4b5869;
  --cb-line: #d9e0ea;
  --cb-accent: #243f6b;
  --cb-accent-hover: #1a2f52;
  --cb-on-accent: #fff;
  --cb-head-bg: var(--cb-accent);
  --cb-head-ink: #fff;
  --cb-head-ink-soft: rgb(255 255 255 / 0.72);
  --cb-user-bg: var(--cb-accent);
  --cb-user-ink: #fff;
  --cb-option-bg: #fff;
  --cb-option-ink: var(--cb-ink);
  --cb-option-line: var(--cb-line);
  --cb-option-hover: #f4f7fb;
  --cb-input-bg: #fff;
  --cb-success: #17663f;
  --cb-success-bg: #edf7f1;
  --cb-success-line: #b9dcc7;
  --cb-danger: #a3271d;
  --cb-danger-bg: #fbefed;
  --cb-danger-line: #ecc4be;
  --cb-radius: 12px;
  --cb-radius-sm: 8px;
  --cb-radius-btn: 8px;
  --cb-stroke: 1.6;
  --cb-cap: round;
  --cb-join: round;
  --cb-focus: var(--cb-accent);
  --cb-ease: cubic-bezier(0.16, 1, 0.3, 1);

  box-sizing: border-box;
  font-family: var(--cb-font);
  font-size: 15px;
  line-height: 1.5;
  color: var(--cb-ink);
  text-align: left;
  -webkit-font-smoothing: antialiased;
}

.cb *,
.cb *::before,
.cb *::after {
  box-sizing: border-box;
}

/* Reset con :where() para quedar en (0,1,0): les gana a las reglas por
   elemento del sitio, pero cede ante las clases de abajo. */
.cb :where(p, h1, dl, dd, dt) {
  margin: 0;
  padding: 0;
}

.cb :where(h1) {
  font: inherit;
  letter-spacing: normal;
  text-wrap: balance;
}

.cb :where(button, input, select, textarea) {
  font: inherit;
  color: inherit;
  margin: 0;
  letter-spacing: inherit;
  text-transform: none;
}

.cb :where(button) {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.cb :where(button:disabled) {
  cursor: not-allowed;
}

.cb :where(a) {
  text-decoration: none;
}

.cb :where(strong) {
  font-weight: 600;
}

.cb :focus-visible {
  outline: 2px solid var(--cb-focus);
  outline-offset: 2px;
}

.cb ::selection {
  background: var(--cb-accent);
  color: var(--cb-on-accent);
}

.cb-icon {
  width: 1.25em;
  height: 1.25em;
  flex: none;
  stroke-width: var(--cb-stroke);
  stroke-linecap: var(--cb-cap);
  stroke-linejoin: var(--cb-join);
}

.cb-icon--brand {
  fill: currentColor;
}

/* Panel */

.cb-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--cb-bg);
}

.cb-panel--float {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  z-index: 50;
  width: min(32rem, calc(100vw - 4rem));
  height: min(90vh, 720px);
  border-radius: var(--cb-radius);
  box-shadow: 0 24px 60px -24px rgb(15 23 42 / 0.45);
  animation: cb-panel-in 260ms var(--cb-ease) both;
}

.cb-panel--page {
  width: 100%;
  height: 100%;
  border-radius: var(--cb-radius);
  box-shadow: 0 18px 50px -28px rgb(15 23 42 / 0.4);
}

.cb-panel--mobile {
  position: fixed;
  inset: 0;
  z-index: 50;
  width: 100vw;
  height: 100dvh;
  max-height: 100dvh;
  min-height: 100dvh;
  animation: cb-panel-in 260ms var(--cb-ease) both;
}

@keyframes cb-panel-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
}

/* Cabecera */

.cb-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: none;
  padding: 0.75rem 0.75rem 0.75rem 1rem;
  background: var(--cb-head-bg);
  color: var(--cb-head-ink);
}

.cb-head-mark {
  display: grid;
  place-items: center;
  flex: none;
  width: 2.5rem;
  height: 2.5rem;
  font-size: 1.15rem;
}

.cb-head-text {
  flex: 1;
  min-width: 0;
}

.cb-title {
  font-family: var(--cb-font-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.25;
}

.cb-subtitle {
  font-size: 0.8rem;
  color: var(--cb-head-ink-soft);
}

.cb-close {
  display: grid;
  place-items: center;
  flex: none;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--cb-head-ink-soft);
  font-size: 1.25rem;
  transition:
    background-color 160ms var(--cb-ease),
    color 160ms var(--cb-ease);
}

.cb-close:hover {
  background: rgb(255 255 255 / 0.12);
  color: var(--cb-head-ink);
}

/* Conversación */

.cb-log {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 1.25rem 1rem 2rem;
  scrollbar-width: thin;
  scrollbar-color: var(--cb-line) transparent;
}

.cb-panel--mobile .cb-log {
  padding-bottom: 8.5rem;
}

.cb-thread {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.cb-msg {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  animation: cb-msg-in 280ms var(--cb-ease) both;
}

.cb-msg--user {
  flex-direction: row-reverse;
}

@keyframes cb-msg-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
}

.cb-avatar {
  display: grid;
  place-items: center;
  flex: none;
  width: 2.25rem;
  height: 2.25rem;
  overflow: hidden;
  border-radius: 999px;
  background: var(--cb-accent);
  color: var(--cb-on-accent);
  font-size: 1.05rem;
}

.cb-avatar-img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.cb-bubble {
  min-width: 0;
  max-width: min(30rem, 86%);
  padding: 0.85rem 1rem;
  border-radius: var(--cb-radius);
  background: var(--cb-surface);
  overflow-wrap: anywhere;
}

.cb-msg--user .cb-bubble {
  background: var(--cb-user-bg);
  color: var(--cb-user-ink);
}

.cb-bubble > * + * {
  margin-top: 0.85rem;
}

.cb-hint {
  font-size: 0.85rem;
  color: var(--cb-ink-soft);
}

/* Opciones */

.cb-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cb-option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: 0.45rem 0.85rem;
  border: 1px solid var(--cb-option-line);
  border-radius: var(--cb-radius-btn);
  background: var(--cb-option-bg);
  color: var(--cb-option-ink);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
  transition:
    background-color 160ms var(--cb-ease),
    border-color 160ms var(--cb-ease),
    color 160ms var(--cb-ease);
}

.cb-option:hover:not(:disabled) {
  background: var(--cb-option-hover);
  border-color: var(--cb-accent);
}

.cb-option:disabled {
  opacity: 0.5;
}

/* Fecha en línea ("sábado, 3 oct"): bloque de texto, no flex, para que los
   separadores conserven sus espacios. Las pieles de fichas la vuelven grid. */
.cb-option--date {
  display: inline-block;
  padding-block: 0.6rem;
}

.cb-options--times {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(4.75rem, 1fr));
}

.cb-option--time {
  font-variant-numeric: tabular-nums;
}

.cb-pros {
  display: grid;
  gap: 0.5rem;
}

.cb-pro {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  width: 100%;
  padding: 0.65rem;
  border: 1px solid var(--cb-option-line);
  border-radius: var(--cb-radius-sm);
  background: var(--cb-option-bg);
  color: var(--cb-ink);
  text-align: left;
  transition:
    background-color 160ms var(--cb-ease),
    border-color 160ms var(--cb-ease);
}

.cb-pro:hover:not(:disabled) {
  background: var(--cb-option-hover);
  border-color: var(--cb-accent);
}

.cb-pro-img {
  display: block;
  width: 3.25rem;
  height: 3.25rem;
  max-width: none;
  flex: none;
  border-radius: 999px;
  object-fit: cover;
}

.cb-pro-text {
  display: grid;
  gap: 0.1rem;
}

.cb-pro-name {
  font-weight: 600;
}

.cb-pro-spec {
  font-size: 0.85rem;
  color: var(--cb-ink-soft);
}

/* Botones */

.cb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  min-height: 2.75rem;
  padding: 0.6rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--cb-radius-btn);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  transition:
    background-color 160ms var(--cb-ease),
    border-color 160ms var(--cb-ease),
    color 160ms var(--cb-ease);
}

.cb-btn:disabled {
  opacity: 0.5;
}

.cb-btn--primary,
.cb-btn--confirm {
  background: var(--cb-accent);
  color: var(--cb-on-accent);
}

.cb-btn--primary:hover:not(:disabled),
.cb-btn--confirm:hover:not(:disabled) {
  background: var(--cb-accent-hover);
}

.cb-btn--secondary {
  border-color: var(--cb-option-line);
  background: var(--cb-option-bg);
  color: var(--cb-ink);
  font-weight: 500;
}

.cb-btn--secondary:hover:not(:disabled) {
  background: var(--cb-option-hover);
}

.cb-btn--google {
  border-color: var(--cb-option-line);
  background: #fff;
  color: #1f1f1f;
  font-weight: 500;
}

.cb-btn--google:hover:not(:disabled) {
  background: #f6f8fa;
}

.cb-btn--whatsapp {
  background: #157a3c;
  color: #fff;
}

.cb-btn--whatsapp:hover {
  background: #11652f;
}

.cb-btn--danger {
  width: auto;
  background: var(--cb-danger);
  color: #fff;
}

.cb-row {
  display: flex;
  gap: 0.6rem;
}

.cb-row > .cb-btn {
  flex: 1;
}

.cb-row--split {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.cb-stack {
  display: grid;
  gap: 0.6rem;
}

/* Formularios */

.cb-form {
  display: grid;
  gap: 0.9rem;
}

.cb-field {
  display: grid;
  gap: 0.3rem;
}

.cb-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--cb-ink);
}

.cb-input {
  display: block;
  width: 100%;
  min-height: 2.75rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--cb-option-line);
  border-radius: var(--cb-radius-sm);
  background: var(--cb-input-bg);
  color: var(--cb-ink);
  font-size: 16px; /* 16px: iOS no hace zoom al enfocar */
  line-height: 1.35;
  caret-color: var(--cb-accent);
  transition:
    border-color 160ms var(--cb-ease),
    box-shadow 160ms var(--cb-ease);
}

.cb-input::placeholder {
  color: var(--cb-ink-soft);
  opacity: 0.85;
}

.cb-input:hover:not(:disabled) {
  border-color: var(--cb-ink-soft);
}

.cb-input:focus {
  outline: none;
  border-color: var(--cb-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cb-accent) 22%, transparent);
}

.cb-input:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.cb-input--error,
.cb-input--error:hover:not(:disabled) {
  border-color: var(--cb-danger);
}

.cb-input--area {
  resize: none;
}

.cb-input--select {
  width: 7rem;
  flex: none;
}

.cb-row--doc .cb-input:not(.cb-input--select) {
  flex: 1;
  min-width: 0;
}

.cb-error {
  font-size: 0.78rem;
  color: var(--cb-danger);
}

.cb-field-hint {
  font-size: 0.78rem;
  color: var(--cb-ink-soft);
}

/* Fichas: confirmación, resumen, error, sin cupos */

.cb-card,
.cb-notice {
  padding: 0.9rem 1rem;
  border: 1px solid var(--cb-option-line);
  border-radius: var(--cb-radius-sm);
  background: var(--cb-option-bg);
}

.cb-card--success {
  border-color: var(--cb-success-line);
  background: var(--cb-success-bg);
}

.cb-card--error {
  border-color: var(--cb-danger-line);
  background: var(--cb-danger-bg);
  color: var(--cb-danger);
}

.cb-card-title,
.cb-notice-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.65rem;
  font-weight: 600;
}

.cb-card--success .cb-card-title {
  color: var(--cb-success);
}

.cb-card-text {
  margin-bottom: 0.85rem;
}

.cb-sum {
  display: grid;
  gap: 0.35rem;
  font-size: 0.875rem;
}

.cb-sum-row {
  display: grid;
  grid-template-columns: 6.5rem 1fr;
  gap: 0.75rem;
}

.cb-sum-row dt {
  color: var(--cb-ink-soft);
}

.cb-sum-row dd {
  min-width: 0;
  color: var(--cb-ink);
  overflow-wrap: anywhere;
}

.cb-notice-text {
  font-size: 0.875rem;
  color: var(--cb-ink-soft);
}

.cb-notice-actions {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.85rem;
}

@media (min-width: 30rem) {
  .cb-notice-actions {
    grid-template-columns: 1fr 1fr;
  }
}

/* Pie */

.cb-foot {
  position: relative;
  display: flex;
  align-items: center;
  flex: none;
  min-height: 4.25rem;
  padding: 0.75rem;
  border-top: 1px solid var(--cb-line);
  background: var(--cb-foot-bg);
}

.cb-foot--mobile {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  min-height: 5rem;
  padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
}

.cb-foot-inner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}

.cb-foot-main {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-width: 0;
}

.cb-foot-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  width: 100%;
}

.cb-foot-grid--single {
  grid-template-columns: 1fr;
}

.cb-foot-stack {
  display: grid;
  justify-items: center;
  gap: 0.5rem;
  width: 100%;
}

.cb-foot-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
}

.cb-foot-note {
  padding-inline: 1rem;
  font-size: 0.75rem;
  color: var(--cb-ink-soft);
  text-align: center;
}

.cb-foot-busy {
  display: grid;
  place-items: center;
  width: 100%;
}

.cb-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0.5rem 0.9rem;
  border: 1px solid var(--cb-option-line);
  border-radius: var(--cb-radius-btn);
  background: var(--cb-option-bg);
  color: var(--cb-ink);
  min-width: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
  transition:
    background-color 160ms var(--cb-ease),
    border-color 160ms var(--cb-ease);
}

.cb-action:hover:not(:disabled) {
  background: var(--cb-option-hover);
  border-color: var(--cb-accent);
}

.cb-action:disabled {
  opacity: 0.45;
}

.cb-action--compact {
  width: 100%;
  max-width: 20rem;
  min-height: 2.25rem;
  padding-block: 0.3rem;
  font-size: 0.8rem;
}

.cb-restart {
  display: grid;
  place-items: center;
  flex: none;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--cb-option-line);
  border-radius: var(--cb-radius-btn);
  background: transparent;
  color: var(--cb-ink-soft);
  font-size: 1.1rem;
  transition:
    color 160ms var(--cb-ease),
    border-color 160ms var(--cb-ease);
}

.cb-restart:hover {
  border-color: var(--cb-accent);
  color: var(--cb-accent);
}

/* Escribiendo */

.cb-typing {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  height: 1.25rem;
}

.cb-typing span {
  display: block;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 999px;
  background: var(--cb-ink-soft);
  animation: cb-typing 1.2s ease-in-out infinite;
}

.cb-typing span:nth-child(2) {
  animation-delay: 0.15s;
}

.cb-typing span:nth-child(3) {
  animation-delay: 0.3s;
}

@keyframes cb-typing {
  0%,
  60%,
  100% {
    transform: translateY(0);
    opacity: 0.45;
  }
  30% {
    transform: translateY(-5px);
    opacity: 1;
  }
}

/* Lanzador y aviso */

.cb-dock {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.cb-launcher {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  width: 3.5rem;
  height: 3.5rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: var(--cb-accent);
  color: var(--cb-on-accent);
  font-size: 1.5rem;
  box-shadow: 0 10px 28px -10px rgb(15 23 42 / 0.55);
  transition:
    transform 150ms cubic-bezier(0.4, 0, 0.2, 1),
    background-color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

.cb-launcher:hover {
  background: var(--cb-accent-hover);
  transform: scale(1.1);
}

.cb-launcher-label {
  display: none;
}

/* La sacudida de siempre mientras el aviso invita (la misma "tada" de antes). */
.cb-launcher--nudge {
  animation: cb-tada 2.4s ease-in-out infinite;
}

@keyframes cb-tada {
  0% {
    transform: scale(1);
  }
  10%,
  20% {
    transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  80%,
  90% {
    transform: scale(1.1) rotate(3deg);
  }
  40%,
  60% {
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}

.cb-teaser {
  position: absolute;
  right: 0;
  bottom: calc(100% + 1rem);
  width: min(20rem, calc(100vw - 2rem));
  padding: 1rem 2.75rem 1rem 1rem;
  border-radius: var(--cb-radius);
  background: var(--cb-surface);
  color: var(--cb-ink);
  box-shadow: 0 16px 40px -18px rgb(15 23 42 / 0.45);
  cursor: pointer;
  animation: cb-msg-in 320ms var(--cb-ease) both;
}

.cb-teaser::after {
  content: "";
  position: absolute;
  right: 1.35rem;
  bottom: -0.4rem;
  width: 0.8rem;
  height: 0.8rem;
  background: inherit;
  transform: rotate(45deg);
}

.cb-teaser-close {
  position: absolute;
  top: 0.15rem;
  right: 0.15rem;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  background: transparent;
  color: var(--cb-ink-soft);
  font-size: 1rem;
}

.cb-teaser-close:hover {
  color: var(--cb-ink);
}

.cb-teaser-title {
  margin-bottom: 0.35rem;
  font-family: var(--cb-font-display);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.3;
}

.cb-teaser-text {
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--cb-ink-soft);
}

@media (min-width: 80rem) {
  .cb-teaser {
    width: 24rem;
  }

  .cb-teaser-title {
    font-size: 1.1rem;
  }

  .cb-teaser-text {
    font-size: 0.95rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cb *,
  .cb *::before,
  .cb *::after,
  .cb-panel,
  .cb-launcher {
    animation: none !important;
    transition: none !important;
  }
}
/*
 * GAC (gac, gac-santiago): el marino institucional de grupoabogadoschile.cl.
 * Burbujas clásicas, borde fino en vez de sombra, Inter como el sitio.
 */

.cb[data-skin="gac"] {
  --cb-font: Inter, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --cb-bg: #eef2f7;
  --cb-surface: #fff;
  --cb-foot-bg: #fff;
  --cb-ink: #1b2536;
  --cb-ink-soft: #4f5d70;
  --cb-line: #d6deea;
  --cb-accent: #243f6b;
  --cb-accent-hover: #1a2f52;
  --cb-head-bg: #1f3860;
  --cb-user-bg: #243f6b;
  --cb-option-line: #c9d4e3;
  --cb-option-hover: #f4f7fb;
  --cb-radius: 14px;
  --cb-radius-sm: 10px;
  --cb-radius-btn: 8px;
  --cb-stroke: 1.7;
}

.cb[data-skin="gac"] .cb-head {
  border-bottom: 2px solid #d4a53c;
}

.cb[data-skin="gac"] .cb-head-mark {
  border-radius: 999px;
  background: rgb(255 255 255 / 0.1);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.18);
}

.cb[data-skin="gac"] .cb-msg--bot .cb-bubble {
  border: 1px solid var(--cb-line);
  border-top-left-radius: 4px;
}

.cb[data-skin="gac"] .cb-msg--user .cb-bubble {
  border-top-right-radius: 4px;
}

.cb[data-skin="gac"] .cb-msg--user .cb-avatar {
  background: #d4a53c;
  color: #1a2f52;
}

.cb[data-skin="gac"] .cb-option {
  color: #1f3860;
}

.cb[data-skin="gac"] .cb-option--date .cb-date-wd::first-letter {
  text-transform: uppercase;
}

/* El launcher sigue al color de marca del tema (en gac es el mismo marino). */
.cb[data-skin="gac"] .cb-launcher {
  background: var(--bg-main-color, var(--cb-accent));
  box-shadow:
    0 0 0 3px rgb(255 255 255 / 0.9),
    0 12px 28px -10px rgb(26 47 82 / 0.6);
}

.cb[data-skin="gac"] .cb-launcher:hover {
  background: color-mix(in srgb, var(--bg-main-color, var(--cb-accent)) 75%, black);
}

.cb[data-skin="gac"] .cb-teaser {
  border: 1px solid var(--cb-line);
}

.cb[data-skin="gac"] .cb-teaser::after {
  border-right: 1px solid var(--cb-line);
  border-bottom: 1px solid var(--cb-line);
}

.cb[data-skin="gac"] .cb-teaser-title {
  color: #1f3860;
}

/* Oscuro (ThemeScript pone .dark en <html>) */

.dark .cb[data-skin="gac"] {
  --cb-bg: #0e1726;
  --cb-surface: #172338;
  --cb-foot-bg: #131e30;
  --cb-ink: #e6ebf2;
  --cb-ink-soft: #a3b0c2;
  --cb-line: #2a3a54;
  --cb-accent: #7ea6e0;
  --cb-accent-hover: #9dbbe8;
  --cb-on-accent: #0e1726;
  --cb-head-bg: #15284a;
  --cb-user-bg: #2f5288;
  --cb-user-ink: #fff;
  --cb-option-bg: #172338;
  --cb-option-line: #33476a;
  --cb-option-hover: #1d2c45;
  --cb-input-bg: #101b2c;
  --cb-success: #7fd1a3;
  --cb-success-bg: #12291f;
  --cb-success-line: #24533b;
  --cb-danger: #f2a197;
  --cb-danger-bg: #2e1513;
  --cb-danger-line: #5c2a25;
}

.dark .cb[data-skin="gac"] .cb-option {
  color: #d5e2f5;
}

.dark .cb[data-skin="gac"] .cb-teaser-title {
  color: #d5e2f5;
}

.dark .cb[data-skin="gac"] .cb-launcher {
  background: #2f5288;
  color: #fff;
  box-shadow:
    0 0 0 3px rgb(14 23 38 / 0.9),
    0 12px 28px -10px rgb(0 0 0 / 0.7);
}

.dark .cb[data-skin="gac"] .cb-btn--danger {
  color: #2e1513;
}
/*
 * Mirasur: el estudio jurídico de marino y oro. La conversación se lee como
 * correspondencia: sin burbujas, cada mensaje del estudio abre con un filete
 * dorado y las respuestas de la persona van al margen derecho, con raya.
 * Marcellus en los títulos, Hanken Grotesk en el texto, esquinas rectas.
 */

.cb[data-skin="mirasur"] {
  --cb-font: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  --cb-font-display: Marcellus, "Times New Roman", serif;
  --cb-bg: #f7f4ed;
  --cb-surface: #fffdf8;
  --cb-foot-bg: #faf8f3;
  --cb-ink: #0f2440;
  --cb-ink-soft: #4e5a6b;
  --cb-line: #e3dccb;
  --cb-gold: #c19a4b;
  --cb-gold-ink: #7d5f22;
  --cb-accent: #0f2440;
  --cb-accent-hover: #0a1a30;
  --cb-head-bg: #0f2440;
  --cb-head-ink: #f7f4ed;
  --cb-head-ink-soft: rgb(247 244 237 / 0.7);
  --cb-option-bg: #fffdf8;
  --cb-option-line: #d8cfb9;
  --cb-option-hover: #0f2440;
  --cb-input-bg: #fffdf8;
  --cb-success: #2c5e3f;
  --cb-success-bg: #fffdf8;
  --cb-success-line: #c19a4b;
  --cb-radius: 0;
  --cb-radius-sm: 0;
  --cb-radius-btn: 0;
  --cb-stroke: 1.3;
  --cb-cap: square;
  --cb-join: miter;
  --cb-focus: #c19a4b;
}

.cb[data-skin="mirasur"] ::selection {
  background: #c19a4b;
  color: #0f2440;
}

.cb[data-skin="mirasur"] .cb-head {
  padding-block: 0.9rem;
  border-bottom: 1px solid var(--cb-gold);
}

.cb[data-skin="mirasur"] .cb-head-mark {
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--cb-gold);
  color: var(--cb-gold);
  font-size: 1rem;
}

.cb[data-skin="mirasur"] .cb-title {
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.01em;
}

.cb[data-skin="mirasur"] .cb-subtitle {
  margin-top: 0.15rem;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cb-gold);
}

.cb[data-skin="mirasur"] .cb-close:hover {
  background: rgb(193 154 75 / 0.14);
}

.cb[data-skin="mirasur"] .cb-log {
  padding: 1.5rem 1.5rem 2.5rem;
  scrollbar-color: #d8cfb9 transparent;
}

.cb[data-skin="mirasur"] .cb-thread {
  gap: 1.5rem;
}

/* Correspondencia: sin avatar ni globo */

.cb[data-skin="mirasur"] .cb-avatar {
  display: none;
}

.cb[data-skin="mirasur"] .cb-msg {
  animation-name: cb-mirasur-in;
  animation-duration: 420ms;
}

@keyframes cb-mirasur-in {
  from {
    opacity: 0;
    filter: blur(3px);
  }
}

.cb[data-skin="mirasur"] .cb-msg--bot .cb-bubble {
  width: 100%;
  max-width: none;
  padding: 0.95rem 0 0;
  border-top: 1px solid var(--cb-gold);
  background: none;
  font-size: 0.97rem;
  line-height: 1.65;
}

.cb[data-skin="mirasur"] .cb-msg--bot .cb-bubble > .cb-text:first-child {
  font-family: var(--cb-font-display);
  font-size: 1.08rem;
  line-height: 1.5;
}

.cb[data-skin="mirasur"] .cb-msg--bot .cb-bubble strong {
  font-weight: 600;
  color: var(--cb-accent);
}

.cb[data-skin="mirasur"] .cb-msg--user .cb-bubble {
  max-width: 78%;
  padding: 0;
  background: none;
  color: var(--cb-gold-ink);
  font-size: 0.92rem;
  font-weight: 500;
  text-align: right;
}

.cb[data-skin="mirasur"] .cb-msg--user .cb-bubble::before {
  content: "— ";
  color: var(--cb-gold);
}

.cb[data-skin="mirasur"] .cb-msg--typing .cb-bubble {
  border-top: 0;
  padding-top: 0;
}

/* Opciones: botones rectos, versalitas espaciadas como el sitio */

.cb[data-skin="mirasur"] .cb-options {
  gap: 0.5rem;
}

.cb[data-skin="mirasur"] .cb-option,
.cb[data-skin="mirasur"] .cb-action {
  min-height: 2.6rem;
  padding-inline: 0.9rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.cb[data-skin="mirasur"] .cb-option:hover:not(:disabled),
.cb[data-skin="mirasur"] .cb-action:hover:not(:disabled) {
  border-color: var(--cb-accent);
  color: #f7f4ed;
}

.cb[data-skin="mirasur"] .cb-option--time {
  font-size: 0.85rem;
  letter-spacing: 0.04em;
}

.cb[data-skin="mirasur"] .cb-pro:hover:not(:disabled) {
  color: #f7f4ed;
}

.cb[data-skin="mirasur"] .cb-pro:hover:not(:disabled) .cb-pro-spec {
  color: rgb(247 244 237 / 0.75);
}

.cb[data-skin="mirasur"] .cb-pro-img {
  border-radius: 0;
}

.cb[data-skin="mirasur"] .cb-pro-name {
  font-family: var(--cb-font-display);
  font-weight: 400;
  font-size: 1.02rem;
}

/* Botones */

.cb[data-skin="mirasur"] .cb-btn {
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.cb[data-skin="mirasur"] .cb-btn--primary,
.cb[data-skin="mirasur"] .cb-btn--confirm {
  background: var(--cb-gold);
  color: #0f2440;
}

.cb[data-skin="mirasur"] .cb-btn--primary:hover:not(:disabled),
.cb[data-skin="mirasur"] .cb-btn--confirm:hover:not(:disabled) {
  background: #d0ae69;
}

.cb[data-skin="mirasur"] .cb-btn--secondary {
  background: transparent;
  border-color: rgb(15 36 64 / 0.3);
  font-weight: 600;
}

.cb[data-skin="mirasur"] .cb-btn--secondary:hover:not(:disabled) {
  background: transparent;
  border-color: var(--cb-accent);
}

.cb[data-skin="mirasur"] .cb-btn--google {
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.9rem;
}

/* Formulario */

.cb[data-skin="mirasur"] .cb-label {
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cb-gold-ink);
}

.cb[data-skin="mirasur"] .cb-input {
  border-width: 0 0 1px;
  padding-inline: 0;
  background: transparent;
}

.cb[data-skin="mirasur"] .cb-input--select {
  padding-inline: 0.25rem;
}

.cb[data-skin="mirasur"] .cb-input--area {
  border-width: 1px;
  padding: 0.6rem 0.75rem;
  background: var(--cb-surface);
}

.cb[data-skin="mirasur"] .cb-input:focus {
  box-shadow: 0 1px 0 0 var(--cb-gold);
  border-color: var(--cb-gold);
}

/* Fichas: una hoja con filete dorado */

.cb[data-skin="mirasur"] .cb-card,
.cb[data-skin="mirasur"] .cb-notice {
  padding: 1rem 1.1rem;
  border-color: var(--cb-line);
  border-top: 2px solid var(--cb-gold);
  background: var(--cb-surface);
}

.cb[data-skin="mirasur"] .cb-card--error {
  border-top-color: var(--cb-danger);
}

.cb[data-skin="mirasur"] .cb-card-title,
.cb[data-skin="mirasur"] .cb-notice-title {
  font-family: var(--cb-font-display);
  font-weight: 400;
  font-size: 1.05rem;
}

.cb[data-skin="mirasur"] .cb-sum {
  gap: 0;
}

.cb[data-skin="mirasur"] .cb-sum-row {
  padding-block: 0.45rem;
  border-bottom: 1px solid var(--cb-line);
}

.cb[data-skin="mirasur"] .cb-sum-row:last-child {
  border-bottom: 0;
}

.cb[data-skin="mirasur"] .cb-sum-row dt {
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cb-gold-ink);
  padding-top: 0.2rem;
}

.cb[data-skin="mirasur"] .cb-sum-row dd::first-letter {
  text-transform: uppercase;
}

/* Pie */

.cb[data-skin="mirasur"] .cb-foot {
  border-top-color: var(--cb-line);
}

.cb[data-skin="mirasur"] .cb-restart:hover {
  border-color: var(--cb-gold);
  color: var(--cb-gold-ink);
}

/* Escribiendo: tres rombos dorados */

.cb[data-skin="mirasur"] .cb-typing span {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 0;
  background: var(--cb-gold);
  transform: rotate(45deg);
  animation-name: cb-mirasur-typing;
}

@keyframes cb-mirasur-typing {
  0%,
  100% {
    opacity: 0.25;
  }
  40% {
    opacity: 1;
  }
}

/* Lanzador: el monograma cuadrado del logo */

.cb[data-skin="mirasur"] .cb-launcher {
  border: 1px solid var(--cb-gold);
  border-radius: 0;
  background: #0f2440;
  color: var(--cb-gold);
  box-shadow: 0 14px 30px -14px rgb(10 26 48 / 0.7);
}

.cb[data-skin="mirasur"] .cb-launcher:hover {
  background: #0a1a30;
}

.cb[data-skin="mirasur"] .cb-teaser {
  border-top: 1px solid var(--cb-gold);
  background: #0f2440;
  color: #f7f4ed;
}

.cb[data-skin="mirasur"] .cb-teaser-title {
  font-weight: 400;
  font-size: 1.05rem;
}

.cb[data-skin="mirasur"] .cb-teaser-text {
  color: rgb(247 244 237 / 0.78);
}

.cb[data-skin="mirasur"] .cb-teaser-close {
  color: rgb(247 244 237 / 0.6);
}

.cb[data-skin="mirasur"] .cb-teaser-close:hover {
  color: #f7f4ed;
}

/* Oscuro */

.dark .cb[data-skin="mirasur"] {
  --cb-bg: #0b1628;
  --cb-surface: #102038;
  --cb-foot-bg: #0d1a2f;
  --cb-ink: #ece6d8;
  --cb-ink-soft: #b3ad9f;
  --cb-line: #24344f;
  --cb-gold-ink: #d6b571;
  --cb-accent: #ece6d8;
  --cb-accent-hover: #fff;
  --cb-on-accent: #0b1628;
  --cb-head-bg: #081221;
  --cb-option-bg: #102038;
  --cb-option-line: #2c3e5c;
  --cb-option-hover: #c19a4b;
  --cb-input-bg: transparent;
  --cb-success: #9fd3b0;
  --cb-success-bg: #102038;
  --cb-danger: #f0a094;
  --cb-danger-bg: #2a1614;
  --cb-danger-line: #5a2b26;
}

.dark .cb[data-skin="mirasur"] .cb-option:hover:not(:disabled),
.dark .cb[data-skin="mirasur"] .cb-action:hover:not(:disabled),
.dark .cb[data-skin="mirasur"] .cb-pro:hover:not(:disabled) {
  border-color: #c19a4b;
  color: #0b1628;
}

.dark .cb[data-skin="mirasur"] .cb-btn--secondary {
  border-color: #3a4d6e;
}

.dark .cb[data-skin="mirasur"] .cb-btn--danger {
  color: #2a1614;
}

/* Tooltip de hover del lanzador (ui/Tooltip): esquinas rectas, como la piel. */
.cb[data-skin="mirasur"] .tooltip-wrapper::before {
  border-radius: 0;
}
/*
 * CMDental: la clínica luminosa. Cabecera blanca, burbujas muy redondeadas con
 * sombra suave (sin borde), opciones en píldora y las fechas como fichas de
 * calendario. Inter y el celeste del sitio; el texto sobre celeste usa el tono
 * profundo para no bajar del 4.5:1.
 */

.cb[data-skin="cmdental"] {
  --cb-font: Inter, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --cb-bg: #f1f5f9;
  --cb-surface: #fff;
  --cb-foot-bg: #fff;
  --cb-ink: #0f172a;
  --cb-ink-soft: #526072;
  --cb-line: #e2e8f0;
  --cb-blue: #2196f3;
  --cb-accent: #1668b5;
  --cb-accent-hover: #125a9c;
  --cb-head-bg: #fff;
  --cb-head-ink: #0f172a;
  --cb-head-ink-soft: #526072;
  --cb-user-bg: #1668b5;
  --cb-option-bg: #e8f3fe;
  --cb-option-ink: #135ea4;
  --cb-option-line: transparent;
  --cb-option-hover: #d3e8fc;
  --cb-input-bg: #fff;
  --cb-radius: 22px;
  --cb-radius-sm: 16px;
  --cb-radius-btn: 999px;
  --cb-stroke: 1.9;
  --cb-focus: #2196f3;
}

.cb[data-skin="cmdental"].cb-panel--float,
.cb[data-skin="cmdental"].cb-panel--page {
  border-radius: 24px;
}

.cb[data-skin="cmdental"] .cb-head {
  border-bottom: 1px solid var(--cb-line);
}

.cb[data-skin="cmdental"] .cb-head-mark {
  border-radius: 999px;
  background: var(--cb-blue);
  color: #fff;
}

.cb[data-skin="cmdental"] .cb-title {
  font-weight: 700;
  letter-spacing: -0.01em;
}

.cb[data-skin="cmdental"] .cb-close:hover {
  background: #f1f5f9;
  color: #0f172a;
}

.cb[data-skin="cmdental"] .cb-avatar {
  width: 2rem;
  height: 2rem;
  font-size: 0.95rem;
  background: #e3f1fd;
  color: var(--cb-blue);
}

.cb[data-skin="cmdental"] .cb-msg--user .cb-avatar {
  background: #fff3e2;
  color: #a35f0c;
}

.cb[data-skin="cmdental"] .cb-msg {
  animation-name: cb-cmdental-in;
}

@keyframes cb-cmdental-in {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
}

.cb[data-skin="cmdental"] .cb-msg--bot .cb-bubble {
  border-bottom-left-radius: 6px;
  box-shadow:
    0 1px 2px rgb(15 23 42 / 0.05),
    0 6px 18px -10px rgb(15 23 42 / 0.18);
}

.cb[data-skin="cmdental"] .cb-msg--user .cb-bubble {
  border-bottom-right-radius: 6px;
}

/* Opciones en píldora */

.cb[data-skin="cmdental"] .cb-option {
  font-weight: 600;
}

.cb[data-skin="cmdental"] .cb-option:hover:not(:disabled) {
  border-color: transparent;
}

/* Fechas como fichas de calendario */

.cb[data-skin="cmdental"] .cb-options--dates {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5.25rem, 1fr));
  gap: 0.5rem;
}

.cb[data-skin="cmdental"] .cb-option--date {
  display: grid;
  justify-items: center;
  gap: 0.1rem;
  min-height: 0;
  padding: 0.6rem 0.4rem 0.65rem;
  border: 1px solid var(--cb-line);
  border-radius: 16px;
  background: #fff;
  color: var(--cb-ink);
}

.cb[data-skin="cmdental"] .cb-option--date:hover:not(:disabled) {
  border-color: var(--cb-blue);
  background: #f5faff;
}

.cb[data-skin="cmdental"] .cb-date-sep {
  display: none;
}

.cb[data-skin="cmdental"] .cb-date-wd {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cb-ink-soft);
}

.cb[data-skin="cmdental"] .cb-date-d {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.cb[data-skin="cmdental"] .cb-date-m {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--cb-accent);
}

.cb[data-skin="cmdental"] .cb-pro {
  border-color: var(--cb-line);
  background: #fff;
}

/* Botones y campos */

.cb[data-skin="cmdental"] .cb-btn--secondary,
.cb[data-skin="cmdental"] .cb-action,
.cb[data-skin="cmdental"] .cb-restart {
  border-color: var(--cb-line);
  background: #fff;
  color: var(--cb-ink);
}

.cb[data-skin="cmdental"] .cb-btn--secondary:hover:not(:disabled),
.cb[data-skin="cmdental"] .cb-action:hover:not(:disabled) {
  border-color: #bcd9f6;
  background: #f5faff;
}

.cb[data-skin="cmdental"] .cb-restart {
  border-radius: 999px;
}

.cb[data-skin="cmdental"] .cb-input {
  border-color: #d5dde8;
  border-radius: 12px;
}

.cb[data-skin="cmdental"] .cb-card,
.cb[data-skin="cmdental"] .cb-notice {
  border-color: var(--cb-line);
  background: #f8fafc;
}

.cb[data-skin="cmdental"] .cb-card--success {
  border-color: #c3ead6;
  background: #effaf4;
}

.cb[data-skin="cmdental"] .cb-card--error {
  border-color: var(--cb-danger-line);
  background: var(--cb-danger-bg);
}

.cb[data-skin="cmdental"] .cb-notice {
  background: #f0f7fe;
  border-color: #d3e8fc;
}

/* Escribiendo */

.cb[data-skin="cmdental"] .cb-typing span {
  background: var(--cb-blue);
}

/* Lanzador: el círculo celeste */

/* El launcher sigue al color de marca del tema (en cmdental es el mismo celeste). */
.cb[data-skin="cmdental"] .cb-launcher {
  background: var(--bg-main-color, var(--cb-blue));
  color: #fff;
  box-shadow: 0 12px 28px -10px
    color-mix(in srgb, var(--bg-main-color, var(--cb-blue)) 65%, transparent);
}

.cb[data-skin="cmdental"] .cb-launcher:hover {
  background: color-mix(in srgb, var(--bg-main-color, var(--cb-blue)) 90%, black);
}

.cb[data-skin="cmdental"] .cb-teaser {
  border-radius: 18px;
}

.cb[data-skin="cmdental"] .cb-teaser-title {
  font-weight: 700;
}

/* Oscuro */

.dark .cb[data-skin="cmdental"] {
  --cb-bg: #0b1220;
  --cb-surface: #152033;
  --cb-foot-bg: #111a2b;
  --cb-ink: #e5ecf5;
  --cb-ink-soft: #9fb0c5;
  --cb-line: #23324a;
  --cb-accent: #5fb2f7;
  --cb-accent-hover: #86c5fa;
  --cb-on-accent: #0b1220;
  --cb-head-bg: #111a2b;
  --cb-head-ink: #e5ecf5;
  --cb-head-ink-soft: #9fb0c5;
  --cb-user-bg: #1668b5;
  --cb-user-ink: #fff;
  --cb-option-bg: #13304f;
  --cb-option-ink: #b9dcfb;
  --cb-option-hover: #1a3d63;
  --cb-input-bg: #0f1828;
  --cb-success: #86d9ac;
  --cb-success-bg: #10261c;
  --cb-success-line: #1f4a35;
  --cb-danger: #f3a196;
  --cb-danger-bg: #2c1514;
  --cb-danger-line: #5a2a25;
}

.dark .cb[data-skin="cmdental"] .cb-option--date,
.dark .cb[data-skin="cmdental"] .cb-pro,
.dark .cb[data-skin="cmdental"] .cb-btn--secondary,
.dark .cb[data-skin="cmdental"] .cb-action,
.dark .cb[data-skin="cmdental"] .cb-restart {
  border-color: var(--cb-line);
  background: var(--cb-surface);
  color: var(--cb-ink);
}

.dark .cb[data-skin="cmdental"] .cb-option--date:hover:not(:disabled),
.dark .cb[data-skin="cmdental"] .cb-btn--secondary:hover:not(:disabled),
.dark .cb[data-skin="cmdental"] .cb-action:hover:not(:disabled) {
  border-color: #2f6ea8;
  background: #182740;
}

.dark .cb[data-skin="cmdental"] .cb-card,
.dark .cb[data-skin="cmdental"] .cb-notice {
  border-color: var(--cb-line);
  background: #111b2c;
}

.dark .cb[data-skin="cmdental"] .cb-card--success {
  border-color: var(--cb-success-line);
  background: var(--cb-success-bg);
}

.dark .cb[data-skin="cmdental"] .cb-close:hover {
  background: #1b2738;
  color: #fff;
}

.dark .cb[data-skin="cmdental"] .cb-avatar {
  background: #13304f;
  color: #86c5fa;
}

.dark .cb[data-skin="cmdental"] .cb-btn--danger {
  color: #2c1514;
}
/*
 * Ademán: la lámina cronofotográfica del sitio. Todo el panel es petróleo con
 * filetes dorados al 16 %, esquinas rectas, Josefin Sans en versalitas para
 * rótulos y Albert Sans para el texto. Las opciones se ordenan en una retícula
 * de celdas (la misma de las láminas) y las fechas se leen como cuadros
 * numerados. Cada mensaje entra con un barrido, como el cuadro siguiente.
 */

.cb[data-skin="ademan"] {
  --cb-font: "Albert Sans", "Helvetica Neue", Arial, sans-serif;
  --cb-font-display: "Josefin Sans", Futura, "Century Gothic", sans-serif;
  --cb-petrol: #00303c;
  --cb-petrol-deep: #00222b;
  --cb-petrol-raised: #063a47;
  --cb-gold: #e3b34c;
  --cb-gold-soft: #f0d59a;
  --cb-bg: var(--cb-petrol);
  --cb-surface: var(--cb-petrol-raised);
  --cb-foot-bg: var(--cb-petrol-deep);
  --cb-ink: #e9efec;
  --cb-ink-soft: #a9c2c3;
  --cb-line: rgb(227 179 76 / 0.2);
  --cb-accent: var(--cb-gold);
  --cb-accent-hover: var(--cb-gold-soft);
  --cb-on-accent: var(--cb-petrol-deep);
  --cb-head-bg: var(--cb-petrol-deep);
  --cb-head-ink: #e9efec;
  --cb-head-ink-soft: #a9c2c3;
  --cb-option-bg: var(--cb-petrol);
  --cb-option-ink: #e9efec;
  --cb-option-line: rgb(227 179 76 / 0.28);
  --cb-option-hover: var(--cb-petrol-raised);
  --cb-input-bg: var(--cb-petrol-deep);
  --cb-success: var(--cb-gold);
  --cb-success-bg: transparent;
  --cb-success-line: var(--cb-gold);
  --cb-danger: #f0a08f;
  --cb-danger-bg: rgb(155 44 31 / 0.18);
  --cb-danger-line: rgb(240 160 143 / 0.45);
  --cb-radius: 0;
  --cb-radius-sm: 0;
  --cb-radius-btn: 0;
  --cb-stroke: 1.5;
  --cb-cap: square;
  --cb-join: miter;
  --cb-focus: var(--cb-gold);

  font-size: 15.5px;
}

.cb[data-skin="ademan"] ::selection {
  background: var(--cb-gold);
  color: var(--cb-petrol-deep);
}

.cb[data-skin="ademan"].cb-panel--float,
.cb[data-skin="ademan"].cb-panel--page {
  border: 1px solid var(--cb-line);
  box-shadow: 0 30px 60px -30px rgb(0 18 23 / 0.75);
}

/* Cabecera: rótulo de lámina */

.cb[data-skin="ademan"] .cb-head {
  gap: 0.9rem;
  padding: 0.85rem 0.6rem 0.85rem 1.1rem;
  border-bottom: 1px solid var(--cb-line);
}

.cb[data-skin="ademan"] .cb-head-mark {
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid rgb(227 179 76 / 0.45);
  color: var(--cb-gold);
  font-size: 1rem;
}

.cb[data-skin="ademan"] .cb-title {
  font-size: 1.3rem;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.cb[data-skin="ademan"] .cb-subtitle {
  margin-top: 0.3rem;
  font-family: var(--cb-font-display);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--cb-gold);
}

.cb[data-skin="ademan"] .cb-close:hover {
  background: rgb(227 179 76 / 0.12);
  color: var(--cb-gold-soft);
}

.cb[data-skin="ademan"] .cb-log {
  padding: 1.6rem 1.25rem 2.5rem;
  scrollbar-color: var(--cb-gold) var(--cb-petrol-deep);
}

.cb[data-skin="ademan"] .cb-thread {
  gap: 1.6rem;
}

/* Mensajes: texto sobre la lámina, sin globo */

.cb[data-skin="ademan"] .cb-avatar {
  display: none;
}

.cb[data-skin="ademan"] .cb-msg {
  animation-name: cb-ademan-in;
  animation-duration: 460ms;
}

@keyframes cb-ademan-in {
  from {
    opacity: 0.2;
    clip-path: inset(0 100% 0 0);
  }
  to {
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}

.cb[data-skin="ademan"] .cb-msg--bot .cb-bubble {
  width: 100%;
  max-width: none;
  padding: 0;
  background: none;
  line-height: 1.6;
}

.cb[data-skin="ademan"] .cb-msg--bot .cb-bubble::before {
  content: "";
  display: block;
  width: 1.75rem;
  height: 1px;
  margin-bottom: 0.9rem;
  background: var(--cb-gold);
}

.cb[data-skin="ademan"] .cb-msg--bot .cb-bubble > * + * {
  margin-top: 1rem;
}

.cb[data-skin="ademan"] .cb-msg--bot .cb-bubble strong {
  font-weight: 600;
  color: var(--cb-gold-soft);
}

.cb[data-skin="ademan"] .cb-msg--user .cb-bubble {
  max-width: 80%;
  padding: 0.55rem 0.85rem 0.45rem;
  border: 1px solid rgb(227 179 76 / 0.4);
  background: none;
  color: var(--cb-gold-soft);
  font-family: var(--cb-font-display);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-transform: uppercase;
}

.cb[data-skin="ademan"] .cb-msg--typing .cb-bubble::before {
  display: none;
}

/* Retícula: las opciones son celdas de la lámina */

/* Filetes por celda (derecho e inferior) y el marco arriba/izquierda: una
   fila incompleta queda abierta, como una hoja de contactos, sin rellenos. */
.cb[data-skin="ademan"] .cb-options {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr));
  gap: 0;
  border-top: 1px solid var(--cb-option-line);
  border-left: 1px solid var(--cb-option-line);
}

.cb[data-skin="ademan"] .cb-options > .cb-option {
  border-right: 1px solid var(--cb-option-line);
  border-bottom: 1px solid var(--cb-option-line);
}

.cb[data-skin="ademan"] .cb-options--dates {
  grid-template-columns: repeat(auto-fill, minmax(6.25rem, 1fr));
}

.cb[data-skin="ademan"] .cb-options--times {
  grid-template-columns: repeat(auto-fill, minmax(4.75rem, 1fr));
}

.cb[data-skin="ademan"] .cb-option {
  justify-content: flex-start;
  min-height: 3rem;
  padding: 0.6rem 0.75rem;
  border: 0;
  border-radius: 0;
  font-family: var(--cb-font-display);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-align: left;
  text-transform: uppercase;
}

.cb[data-skin="ademan"] .cb-option:hover:not(:disabled) {
  background: var(--cb-option-hover);
  color: var(--cb-gold-soft);
}

.cb[data-skin="ademan"] .cb-option--time {
  justify-content: center;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
}

.cb[data-skin="ademan"] .cb-option--date {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 0.15rem;
  min-height: 0;
  padding: 0.6rem 0.7rem 0.7rem;
}

.cb[data-skin="ademan"] .cb-date-sep {
  display: none;
}

.cb[data-skin="ademan"] .cb-date-wd {
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  color: var(--cb-ink-soft);
}

.cb[data-skin="ademan"] .cb-date-d {
  font-size: 2.1rem;
  font-weight: 200;
  line-height: 1;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.cb[data-skin="ademan"] .cb-date-m {
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  color: var(--cb-gold);
}

.cb[data-skin="ademan"] .cb-option--date:hover:not(:disabled) .cb-date-d {
  color: var(--cb-gold);
}

.cb[data-skin="ademan"] .cb-pros {
  gap: 1px;
  border: 1px solid var(--cb-option-line);
  background: var(--cb-option-line);
}

.cb[data-skin="ademan"] .cb-pro {
  border: 0;
}

.cb[data-skin="ademan"] .cb-pro-img {
  border-radius: 0;
}

.cb[data-skin="ademan"] .cb-pro-name {
  font-family: var(--cb-font-display);
  font-weight: 400;
  font-size: 1.05rem;
}

/* Botones: los del sitio (dorado y de filete) */

.cb[data-skin="ademan"] .cb-btn,
.cb[data-skin="ademan"] .cb-action {
  min-height: 3rem;
  padding: 0.7rem 0.75rem 0.6rem;
  font-family: var(--cb-font-display);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cb[data-skin="ademan"] .cb-btn--secondary,
.cb[data-skin="ademan"] .cb-action {
  border-color: rgb(233 239 236 / 0.55);
  background: transparent;
  color: var(--cb-ink);
}

.cb[data-skin="ademan"] .cb-btn--secondary:hover:not(:disabled),
.cb[data-skin="ademan"] .cb-action:hover:not(:disabled) {
  border-color: var(--cb-gold);
  background: rgb(227 179 76 / 0.12);
  color: var(--cb-gold-soft);
}

.cb[data-skin="ademan"] .cb-btn--google {
  border-color: #fff;
  font-family: var(--cb-font);
  font-size: 0.92rem;
  letter-spacing: 0;
  text-transform: none;
}

/* WhatsApp va en dorado, como el llamado principal del sitio */
.cb[data-skin="ademan"] .cb-btn--whatsapp {
  background: var(--cb-gold);
  color: var(--cb-petrol-deep);
}

.cb[data-skin="ademan"] .cb-btn--whatsapp:hover {
  background: var(--cb-gold-soft);
}

.cb[data-skin="ademan"] .cb-btn--primary:disabled {
  border-color: var(--cb-option-line);
  background: transparent;
  color: var(--cb-ink-soft);
  opacity: 1;
}

.cb[data-skin="ademan"] .cb-btn--danger {
  color: var(--cb-petrol-deep);
}

.cb[data-skin="ademan"] .cb-action--compact {
  min-height: 2.25rem;
  font-size: 0.72rem;
}

.cb[data-skin="ademan"] .cb-restart {
  border-color: var(--cb-line);
  color: var(--cb-ink-soft);
}

.cb[data-skin="ademan"] .cb-restart:hover {
  border-color: var(--cb-gold);
  color: var(--cb-gold);
}

/* Formulario */

.cb[data-skin="ademan"] .cb-label {
  font-family: var(--cb-font-display);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cb-ink-soft);
}

.cb[data-skin="ademan"] .cb-input {
  border-color: var(--cb-option-line);
  color: var(--cb-ink);
}

.cb[data-skin="ademan"] .cb-input::placeholder {
  color: rgb(169 194 195 / 0.75);
}

.cb[data-skin="ademan"] .cb-input:hover:not(:disabled) {
  border-color: rgb(227 179 76 / 0.55);
}

.cb[data-skin="ademan"] .cb-input:focus {
  border-color: var(--cb-gold);
  box-shadow: none;
}

.cb[data-skin="ademan"] .cb-input--select option {
  background: var(--cb-petrol-deep);
  color: var(--cb-ink);
}

/* Fichas */

.cb[data-skin="ademan"] .cb-card,
.cb[data-skin="ademan"] .cb-notice {
  padding: 1rem 1.1rem;
  border-color: var(--cb-option-line);
  background: var(--cb-petrol-deep);
}

.cb[data-skin="ademan"] .cb-card--success {
  border-color: var(--cb-gold);
}

.cb[data-skin="ademan"] .cb-card--error {
  border-color: var(--cb-danger-line);
  background: var(--cb-danger-bg);
}

.cb[data-skin="ademan"] .cb-card-title,
.cb[data-skin="ademan"] .cb-notice-title {
  font-family: var(--cb-font-display);
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.cb[data-skin="ademan"] .cb-notice-title {
  color: var(--cb-gold);
}

.cb[data-skin="ademan"] .cb-sum {
  gap: 0;
  font-size: 0.92rem;
}

.cb[data-skin="ademan"] .cb-sum-row {
  padding-block: 0.5rem;
  border-bottom: 1px solid var(--cb-line);
}

.cb[data-skin="ademan"] .cb-sum-row:last-child {
  border-bottom: 0;
}

.cb[data-skin="ademan"] .cb-sum-row dt {
  padding-top: 0.15rem;
  font-family: var(--cb-font-display);
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cb-gold);
}

.cb[data-skin="ademan"] .cb-sum-row dd::first-letter {
  text-transform: uppercase;
}

/* Pie */

.cb[data-skin="ademan"] .cb-foot {
  border-top-color: var(--cb-line);
}

/* Escribiendo: tres cuadros que se encienden en orden */

.cb[data-skin="ademan"] .cb-typing {
  gap: 0.3rem;
}

.cb[data-skin="ademan"] .cb-typing span {
  width: 1.4rem;
  height: 2px;
  border-radius: 0;
  background: var(--cb-gold);
  animation-name: cb-ademan-typing;
  animation-duration: 1.35s;
  animation-timing-function: steps(1, end);
}

.cb[data-skin="ademan"] .cb-typing span:nth-child(2) {
  animation-delay: 0.45s;
}

.cb[data-skin="ademan"] .cb-typing span:nth-child(3) {
  animation-delay: 0.9s;
}

@keyframes cb-ademan-typing {
  0% {
    opacity: 1;
  }
  33% {
    opacity: 0.25;
  }
  100% {
    opacity: 0.25;
  }
}

/* Lanzador: el rectángulo dorado ASISTENTE */

.cb[data-skin="ademan"] .cb-launcher {
  width: auto;
  height: 3.5rem;
  padding: 0 1.25rem;
  border: 1px solid var(--cb-gold);
  border-radius: 0;
  background: var(--cb-gold);
  color: var(--cb-petrol-deep);
  font-family: var(--cb-font-display);
  font-size: 1.3rem;
  box-shadow: 0 10px 30px -12px rgb(0 34 43 / 0.55);
}

.cb[data-skin="ademan"] .cb-launcher:hover {
  border-color: var(--cb-gold-soft);
  background: var(--cb-gold-soft);
}

.cb[data-skin="ademan"] .cb-launcher:focus-visible {
  outline-color: var(--cb-petrol-deep);
  outline-offset: 3px;
}

.cb[data-skin="ademan"] .cb-launcher-label {
  display: inline;
  padding-top: 0.15em;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (max-width: 40rem) {
  .cb[data-skin="ademan"] .cb-launcher {
    width: 3.5rem;
    padding: 0;
  }

  .cb[data-skin="ademan"] .cb-launcher-label {
    display: none;
  }
}

.cb[data-skin="ademan"] .cb-teaser {
  border-top: 1px solid var(--cb-gold);
  background: #e7edeb;
  color: #0a2730;
}

.cb[data-skin="ademan"] .cb-teaser-title {
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: -0.01em;
}

.cb[data-skin="ademan"] .cb-teaser-text {
  color: #3c5a61;
}

.cb[data-skin="ademan"] .cb-teaser-close {
  color: #3c5a61;
}

.cb[data-skin="ademan"] .cb-teaser-close:hover {
  color: #0a2730;
}

/* Tooltip de hover del lanzador (ui/Tooltip): esquinas rectas, como la piel. */
.cb[data-skin="ademan"] .tooltip-wrapper::before {
  border-radius: 0;
}
