/* Costa AI chat widget, comic theme.
   Loaded after costa-assistant.css on every page (marketing, studio and case studies). */

/* launcher: white disc, red Costa mark */
.costa-ai-launcher {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #fff !important;
  border: 3px solid #111 !important;
  box-shadow: none !important;
  display: grid;
  place-items: center;
  padding: 0;
  overflow: hidden;
  transition:
    transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1),
    background 0.2s;
  animation: none !important;
}
.costa-ai-launcher::before {
  display: none;
}
.costa-ai-launcher:hover {
  transform: scale(1.07);
}
.costa-ai-launcher .icon-chat {
  width: 34px;
  height: 34px;
  object-fit: contain;
  border-radius: 0;
  box-shadow: none;
  filter: drop-shadow(1px 2px 0 rgba(17, 17, 17, 0.18));
}
.costa-ai-launcher .icon-close {
  width: 24px;
  height: 24px;
  color: #e21b1b;
}
.costa-ai-launcher.open {
  background: #e21b1b !important;
}
.costa-ai-launcher.open .icon-close {
  color: #fff;
}

/* panel: clipped to its own rounded corners so the header never pokes out */
.costa-ai-panel {
  width: 380px;
  border: 3px solid #111 !important;
  border-radius: 22px !important;
  overflow: hidden;
  background: #f4f1ec !important;
  box-shadow: 6px 6px 0 #111 !important;
}
.costa-ai-head {
  background: #e21b1b !important;
  color: #fff;
  padding: 14px 16px;
  border-bottom: 3px solid #111;
}
.costa-ai-avatar {
  width: 52px;
  height: 52px;
  padding: 12px;
  border-radius: 50%;
  background: #fff !important;
  border: 2px solid #111;
  object-fit: contain;
}
.costa-ai-head-info b,
[lang="ar"] .costa-ai-head-info b {
  font:
    800 17px/1.2 "Cairo",
    sans-serif;
  letter-spacing: 0;
}
.costa-ai-status {
  font:
    700 12.5px "Cairo",
    sans-serif;
  opacity: 1;
}
.costa-ai-status i {
  background: #fff;
  animation: none;
}
.costa-ai-close {
  border: 2px solid #fff;
  border-radius: 50%;
  opacity: 1;
  width: 32px;
  height: 32px;
}
.costa-ai-close:hover {
  background: #fff;
  color: #e21b1b;
}

/* conversation */
.costa-ai-messages {
  background:
    radial-gradient(rgba(17, 17, 17, 0.08) 1.3px, transparent 1.5px) 0 0/16px 16px,
    #f4f1ec !important;
  padding: 16px;
  gap: 12px;
}
.costa-ai-messages .msg {
  font:
    700 14.5px/1.7 "Cairo",
    sans-serif;
  border-radius: 16px;
  padding: 11px 14px;
  max-width: 88%;
  box-shadow: none;
}
.costa-ai-messages .msg-bot {
  background: #fff !important;
  color: #111 !important;
  border: 2px solid #111 !important;
  border-end-start-radius: 4px;
}
.costa-ai-messages .msg-user {
  background: #e21b1b !important;
  color: #fff !important;
  border: 2px solid #111 !important;
  border-end-end-radius: 4px;
}
.costa-ai-messages .msg-typing {
  display: flex;
  gap: 5px;
  align-items: center;
  padding: 14px 16px;
}
.costa-ai-messages .msg-typing span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #111;
}
.costa-ai-link {
  color: #e21b1b;
  border-bottom: 2px solid #e21b1b;
  font:
    800 13.5px "Cairo",
    sans-serif;
}

/* suggestion chips + input */
.costa-ai-chips {
  background: #f4f1ec !important;
  padding: 0 16px 14px;
}
.costa-ai-chip {
  font:
    800 13px/1.2 "Cairo",
    sans-serif;
  color: #111;
  background: #fff;
  border: 2px solid #111;
  border-radius: 999px;
  padding: 8px 14px;
}
.costa-ai-chip:hover {
  background: #e21b1b;
  color: #fff;
  border-color: #111;
  transform: translateY(-2px);
}
.costa-ai-input {
  background: #fff !important;
  border-top: 3px solid #111 !important;
  padding: 12px 14px;
  gap: 10px;
}
.costa-ai-input input {
  font:
    700 14.5px "Cairo",
    sans-serif;
  color: #111;
  background: #f4f1ec;
  border: 2px solid #111;
  border-radius: 999px;
  padding: 10px 16px;
}
.costa-ai-input input::placeholder {
  color: #3d3934;
  opacity: 1;
}
.costa-ai-input input:focus {
  border-color: #e21b1b;
  outline: 0;
}
.costa-ai-input button {
  width: 40px;
  height: 40px;
  background: #e21b1b;
  border: 2px solid #111;
}
.costa-ai-input button:hover {
  background: #111;
}

@media (max-width: 480px) {
  .costa-ai-launcher {
    width: 52px;
    height: 52px;
  }
  .costa-ai-launcher .icon-chat {
    width: 30px;
    height: 30px;
  }
  .costa-ai-panel {
    width: calc(100vw - 24px);
    box-shadow: 4px 4px 0 #111 !important;
  }
}
html.cm-top .costa-ai-launcher {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.6);
}

/* single scrollable row of suggestion chips; crisp close icon */
.costa-ai-chips {
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 12px;
}
.costa-ai-chips::-webkit-scrollbar {
  display: none;
}
.costa-ai-chip {
  flex: none;
  white-space: nowrap;
}
.costa-ai-launcher .icon-close {
  stroke: #e21b1b;
  stroke-width: 2.6;
}
.costa-ai-launcher.open .icon-close {
  stroke: #fff;
}
/* ---- Hero ask box + "ask any AI about me" menu ---- */
.ask-hero{position:relative;margin:22px 0 4px;max-width:560px}
.ask-box{display:flex;align-items:center;gap:8px;background:#fff;border:3px solid var(--ink);border-radius:40px;box-shadow:5px 5px 0 var(--ink);padding:6px 6px 6px 16px;transition:box-shadow .2s,transform .2s}
.ask-box:focus-within{box-shadow:7px 7px 0 var(--ink);transform:translate(-1px,-1px)}
.ask-dot{flex:none;width:11px;height:11px;border-radius:50%;background:#2fd35a;border:2px solid var(--ink)}
.ask-box input{flex:1;min-width:0;font:700 16px var(--cm-body);border:0;background:transparent;color:var(--ink);outline:none;padding:8px 4px}
.ask-box input::placeholder{color:#6b6b6b;font-weight:600}
.ask-box button{flex:none;width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;border:3px solid var(--ink);font:900 17px/1 var(--cm-body);cursor:pointer;box-shadow:2px 2px 0 var(--ink);transition:transform .15s}
.ask-box button:hover{transform:scale(1.08) rotate(-6deg)}
.ask-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ask-chips button{font:900 13px var(--cm-body);background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:30px;padding:4px 14px;cursor:pointer;box-shadow:2px 2px 0 var(--ink);transition:transform .15s,background .15s,color .15s}
.ask-chips button:hover{background:var(--ink);color:#fff;transform:translate(-1px,-1px)}
.ask-ext{position:relative;margin-top:12px;display:inline-block}
.ask-ext-btn{font:800 14px var(--cm-body);background:transparent;color:#fff;border:0;border-bottom:2px dashed rgba(255,255,255,.7);padding:2px 0;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.ask-ext-btn:hover{border-bottom-style:solid}
.ask-ext-btn i{font-style:normal;transition:transform .25s;display:inline-block}
.ask-ext.open .ask-ext-btn i{transform:rotate(180deg)}
.ask-menu{position:absolute;inset-inline-start:0;bottom:calc(100% + 12px);width:min(380px,86vw);background:#fff;color:var(--ink);border:3px solid var(--ink);border-radius:20px;box-shadow:6px 6px 0 var(--ink);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px) scale(.97);transform-origin:bottom;transition:opacity .2s,transform .25s cubic-bezier(.3,1.5,.5,1),visibility .2s;z-index:60}
.ask-ext.open .ask-menu{opacity:1;visibility:visible;transform:none}
.ask-menu small{display:block;font:900 12px var(--cm-body);color:#6b6b6b;padding:6px 10px 4px}
.ask-menu a{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;color:var(--ink);text-decoration:none;transition:background .15s}
.ask-menu a:hover{background:#f4f1ec}
.ask-menu a b{display:block;font:900 15px var(--cm-body)}
.ask-menu a span{display:block;font:600 12px/1.4 var(--cm-body);color:#6b6b6b}
.ask-menu a em{flex:none;width:38px;height:38px;border-radius:12px;border:2px solid var(--ink);display:grid;place-items:center;font:900 15px var(--cm-body);font-style:normal;background:var(--bg)}
@media(max-width:520px){.ask-hero{max-width:none}.ask-menu{width:calc(100vw - 36px)}}
.ask-menu a em img{width:22px;height:22px;display:block}

.hero .ask-hero{margin-top:18px}

@media(max-width:520px){.hero .ask-menu{width:calc(100vw - 84px)}}

/* ---- hero eyebrow: DESIGN + CODE + AI IN ONE SYSTEM, as a pill like the site's other chips ---- */
.hero .eyebrow-hero{display:inline-flex!important;align-items:center;gap:10px;background:#fff!important;color:#111!important;border:3px solid #111!important;border-radius:999px!important;box-shadow:4px 4px 0 #111;padding:11px 26px!important;transform:none;font:900 clamp(15px,1.7vw,21px)/1 var(--cm-body)!important;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.hero .eyebrow-hero .dot{display:inline-block!important;width:13px;height:13px;border-radius:50%;background:var(--red);border:2px solid #111;flex:none}
.hero .eyebrow-hero span{color:#111!important;font:inherit!important;letter-spacing:inherit}
html[lang="ar"] .hero .eyebrow-hero{direction:ltr}
@media(max-width:560px){.hero .eyebrow-hero{font-size:13.5px!important;letter-spacing:.04em;padding:9px 18px!important;gap:8px}}
/* launcher: bigger white disc, the whole mark visible with room around it */
.costa-ai-launcher { width: 66px !important; height: 66px !important; }
.costa-ai-launcher .icon-chat { width: 38px !important; height: 38px !important; object-fit: contain !important; border-radius: 0 !important; }
@media (max-width: 720px) {
  .costa-ai-launcher { width: 58px !important; height: 58px !important; }
  .costa-ai-launcher .icon-chat { width: 32px !important; height: 32px !important; }
}
