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

.elementor-widget-shortcode,.elementor-widget-shortcode .elementor-widget-container,.elementor-shortcode{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important}

/* ── Variables ── */
.aac-app{
  --c-bg:#f5f3ef;--c-surf:#fff;--c-surf2:#f0ede8;--c-surf3:#e8e5e0;
  --c-border:rgba(0,0,0,.1);--c-text:#1a1a1a;--c-sub:#8a8680;
  --c-acc:#7c3aed;--c-acc-h:#6d28d9;
  --c-msg-bot:#fff;--c-msg-user:#7c3aed;
  font-family:'Outfit',-apple-system,BlinkMacSystemFont,sans-serif;
}
.aac-app.dark{
  --c-bg:#1a1a1a;--c-surf:#222;--c-surf2:#2a2a2a;--c-surf3:#333;
  --c-border:rgba(255,255,255,.08);--c-text:#f0ede8;--c-sub:#888;
  --c-msg-bot:#2a2a2a;
}

/* ── Shell ── */
.aac-app{
  display:flex;width:100%!important;height:100vh;min-height:560px;
  background:var(--c-bg);color:var(--c-text);overflow:hidden;
  transition:background .25s,color .25s;
}

/* ── Sidebar ── */
.aac-sb{
  width:54px;flex-shrink:0;
  background:var(--c-surf);
  border-right:1px solid var(--c-border);
  display:flex;flex-direction:column;align-items:center;
  padding:14px 0 10px;transition:background .25s;
}
.aac-logo{
  width:28px;height:28px;border-radius:7px;
  background:var(--c-acc);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;flex-shrink:0;overflow:hidden;
  box-shadow:0 2px 8px rgba(124,58,237,.3);
}
.aac-logo img{width:100%;height:100%;object-fit:cover;border-radius:7px}
.aac-logo span{color:#fff;font-weight:700;font-size:13px;line-height:1}

.aac-nav{display:flex;flex-direction:column;gap:1px;flex:1;width:100%;padding:0 6px}
.aac-nb{
  width:44px;height:40px;border-radius:8px;
  border:none;cursor:pointer;
  background:transparent;color:var(--c-sub);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;transition:color .15s;padding:0;
  position:relative;
}
.aac-nb svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;transition:stroke .15s}
.aac-nb span{font-size:7.5px;font-weight:500;letter-spacing:.1px;line-height:1;transition:color .15s}
.aac-nb:hover{color:var(--c-text)}
.aac-nb.on{color:var(--c-acc)}
.aac-nb.on::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:22px;background:var(--c-acc);border-radius:0 2px 2px 0}

.aac-sb-foot{display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 6px}
.aac-soc-btn{
  width:32px;height:32px;border-radius:7px;
  border:none;cursor:pointer;background:transparent;color:var(--c-sub);
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;padding:0;text-decoration:none;
}
.aac-soc-btn:hover{color:var(--c-acc);background:rgba(124,58,237,.08)}
.aac-soc-btn svg{width:14px;height:14px;fill:currentColor;display:block}

/* ── Main ── */
.aac-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;position:relative}

/* ── Top bar (theme toggle top-right) ── */
.aac-topbar{
  position:absolute;top:12px;right:16px;
  display:flex;align-items:center;gap:8px;
  z-index:20;
}
.aac-tt{
  width:44px!important;height:24px!important;
  min-width:44px!important;border-radius:12px!important;
  border:none!important;cursor:pointer!important;
  background:var(--c-surf3)!important;
  padding:0!important;-webkit-appearance:none!important;
  box-shadow:none!important;flex-shrink:0!important;
  transition:background .25s!important;
}
.aac-tt svg{display:block!important;pointer-events:none!important}

/* ── Panels ── */
.aac-pn{display:none;flex:1;flex-direction:column;overflow:hidden;min-height:0}
.aac-pn.on{display:flex}

/* ── Chat ── */
.aac-msgs-wrap{flex:1;overflow-y:auto;display:flex;justify-content:center}
.aac-msgs{
  width:100%;max-width:680px;
  padding:48px 16px 16px;
  display:flex;flex-direction:column;gap:14px;
}
.aac-msgs-wrap::-webkit-scrollbar{width:4px}
.aac-msgs-wrap::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:2px}
.dark .aac-msgs-wrap::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1)}

.aac-m{display:flex;max-width:75%;animation:ain .18s ease}
@keyframes ain{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.aac-m.b{align-self:flex-start}
.aac-m.u{align-self:flex-end;flex-direction:row-reverse}
.aac-bbl{
  padding:11px 15px;border-radius:18px;
  font-size:14px;line-height:1.6;word-break:break-word;
}
.aac-m.b .aac-bbl{background:var(--c-msg-bot);color:var(--c-text);border-bottom-left-radius:4px;border:1px solid var(--c-border)}
.aac-m.u .aac-bbl{background:var(--c-msg-user);color:#fff;border-bottom-right-radius:4px}

.aac-tp .aac-bbl{padding:13px 16px}
.aac-dots{display:flex;gap:4px;align-items:center}
.aac-dots span{width:6px;height:6px;background:var(--c-sub);border-radius:50%;animation:abn .9s ease-in-out infinite}
.aac-dots span:nth-child(2){animation-delay:.15s}
.aac-dots span:nth-child(3){animation-delay:.3s}
@keyframes abn{0%,60%,100%{transform:none;opacity:.4}30%{transform:translateY(-4px);opacity:1}}

/* ── Input row ── */
.aac-ir-outer{display:flex;justify-content:center;border-top:1px solid var(--c-border);background:var(--c-bg);transition:background .25s;flex-shrink:0}
.aac-ir{width:100%;max-width:680px;padding:10px 16px 16px;display:flex;align-items:flex-end;gap:9px}
#aac-input{
  flex:1;background:var(--c-surf);border:1px solid var(--c-border);
  border-radius:14px;padding:11px 14px;font-size:14px;font-family:inherit;
  color:var(--c-text);outline:none;resize:none;max-height:110px;overflow-y:auto;
  line-height:1.5;transition:border-color .15s,background .25s;-webkit-appearance:none;
}
#aac-input::placeholder{color:var(--c-sub)}
#aac-input:focus{border-color:var(--c-acc)}
#aac-send{
  width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;
  min-height:36px!important;max-height:36px!important;
  border-radius:50%!important;background:var(--c-acc)!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;outline:none!important;
  box-shadow:none!important;transition:opacity .15s,transform .1s!important;
  -webkit-appearance:none!important;
}
#aac-send::after{
  content:'';display:block;width:15px;height:15px;background:white;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M3.478 2.405a.75.75 0 00-.926.94l2.432 7.905H13.5a.75.75 0 010 1.5H4.984l-2.432 7.905a.75.75 0 00.926.94 60.519 60.519 0 0018.445-8.986.75.75 0 000-1.218A60.517 60.517 0 003.478 2.405z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M3.478 2.405a.75.75 0 00-.926.94l2.432 7.905H13.5a.75.75 0 010 1.5H4.984l-2.432 7.905a.75.75 0 00.926.94 60.519 60.519 0 0018.445-8.986.75.75 0 000-1.218A60.517 60.517 0 003.478 2.405z'/%3E%3C/svg%3E") center/contain no-repeat;
}
#aac-send:hover{opacity:.85!important}
#aac-send:active{transform:scale(.9)!important}
#aac-send:disabled{opacity:.3!important;cursor:not-allowed!important}

/* ── Panel inner ── */
.aac-pi{flex:1;overflow-y:auto;padding:28px 24px}
.aac-pi::-webkit-scrollbar{width:4px}
.aac-pi::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:2px}
.dark .aac-pi::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08)}
.aac-ptit{font-size:20px;font-weight:600;margin:0 0 4px;letter-spacing:-.3px;color:var(--c-text)}
.aac-psub{font-size:13px;color:var(--c-sub);margin:0 0 22px}
.aac-ph2{font-size:13px;font-weight:600;color:var(--c-sub);text-transform:uppercase;letter-spacing:.8px;margin:0 0 10px}

/* ── Portfolio grid ── */
.aac-wg{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}
.aac-wc{
  background:var(--c-surf);border:1px solid var(--c-border);
  border-radius:12px;overflow:hidden;text-decoration:none;
  color:var(--c-text);transition:transform .15s,border-color .15s;display:block;
}
.aac-wc:hover{transform:translateY(-2px);border-color:rgba(124,58,237,.25)}
.aac-wt{width:100%;height:90px;background:var(--c-surf2);overflow:hidden;display:flex;align-items:center;justify-content:center}
.aac-wt img{width:100%;height:100%;object-fit:cover}
.aac-wt .fb{font-size:22px;font-weight:700;color:var(--c-acc)}
.aac-wi{padding:9px 10px 10px}
.aac-wn{font-size:12px;font-weight:600;margin:0 0 2px;color:var(--c-text)}
.aac-wd{font-size:10px;color:var(--c-sub);margin:0}

/* ── Behance grid ── */
.aac-bg{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:4px}
.aac-bc{background:var(--c-surf);border:1px solid var(--c-border);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--c-text);transition:transform .15s,border-color .15s;display:block}
.aac-bc:hover{transform:translateY(-2px);border-color:rgba(0,87,255,.2)}
.aac-bt{width:100%;height:120px;background:var(--c-surf2);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:36px}
.aac-bt img{width:100%;height:100%;object-fit:cover}
.aac-bi{padding:9px 11px 11px}
.aac-bn{font-size:12.5px;font-weight:600;margin:0 0 3px;color:var(--c-text)}
.aac-bd{font-size:11px;color:var(--c-sub);margin:0}

/* ── About ── */
.aac-ah{background:rgba(124,58,237,.07);border:1px solid rgba(124,58,237,.12);border-radius:14px;padding:22px;margin-bottom:18px}
.aac-ah h2{font-size:20px;font-weight:600;margin:0 0 8px;letter-spacing:-.3px;color:var(--c-text)}
.aac-ah p{font-size:13.5px;color:var(--c-sub);line-height:1.7;margin:0}
.aac-sg{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.aac-sc{background:var(--c-surf);border:1px solid var(--c-border);border-radius:10px;padding:13px}
.aac-sc h4{font-size:13px;font-weight:600;margin:0 0 3px;color:var(--c-text)}
.aac-sc p{font-size:12px;color:var(--c-sub);margin:0;line-height:1.5}

/* ── Contact ── */
.aac-cc{display:flex;flex-direction:column;gap:9px;max-width:340px}
.aac-ccard{
  display:flex;align-items:center;gap:12px;
  background:var(--c-surf);border:1px solid var(--c-border);
  border-radius:12px;padding:13px 16px;
  text-decoration:none;color:var(--c-text);
  transition:border-color .15s,transform .12s;cursor:pointer;
}
.aac-ccard:hover{border-color:rgba(124,58,237,.3);transform:translateX(3px)}
.aac-ci2{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.aac-ci2 svg{width:19px;height:19px}
.aac-cl{font-size:10.5px;color:var(--c-sub);margin:0 0 1px}
.aac-cv{font-size:13px;font-weight:600;margin:0;color:var(--c-text)}

/* ── Inline forms ── */
.aac-fb{max-width:80%!important}
.aac-fin{
  background:var(--c-surf)!important;border:1px solid rgba(124,58,237,.15)!important;
  border-radius:14px!important;border-bottom-left-radius:4px!important;
  padding:12px!important;display:flex!important;flex-direction:column!important;gap:7px!important;
  min-width:250px;box-sizing:border-box!important;
}
.aac-flab{font-size:10px!important;font-weight:700!important;letter-spacing:1.2px!important;color:var(--c-acc)!important;text-transform:uppercase!important;margin:0!important}
.aac-fi{
  border:1px solid var(--c-border)!important;border-radius:8px!important;
  padding:8px 11px!important;font-size:13px!important;font-family:inherit!important;
  outline:none!important;background:var(--c-bg)!important;color:var(--c-text)!important;
  width:100%!important;box-sizing:border-box!important;height:34px!important;
  -webkit-appearance:none!important;transition:border-color .15s!important;
}
.aac-fi::placeholder{color:var(--c-sub)!important}
.aac-fi:focus{border-color:var(--c-acc)!important}
.aac-fi-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
.aac-fbtn{
  border:none!important;border-radius:8px!important;height:34px!important;
  font-size:13px!important;font-weight:600!important;font-family:inherit!important;
  color:#fff!important;cursor:pointer!important;width:100%!important;
  -webkit-appearance:none!important;box-shadow:none!important;transition:opacity .15s!important;
}
.aac-fbtn:hover{opacity:.87!important}
.aac-fbtn:disabled{opacity:.4!important;cursor:not-allowed!important}

/* offer */
.aac-oi{background:var(--c-surf)!important;border:1px solid rgba(124,58,237,.13)!important;border-radius:14px!important;border-bottom-left-radius:4px!important;padding:12px!important;width:100%!important;box-sizing:border-box!important}
.aac-oc{font-size:12.5px!important;line-height:1.6!important;color:var(--c-text)!important;max-height:260px!important;overflow-y:auto!important;margin-bottom:10px!important}
.aac-oc::-webkit-scrollbar{width:3px}
.aac-oc::-webkit-scrollbar-thumb{background:rgba(124,58,237,.18);border-radius:2px}
.aac-oc h2{font-size:12.5px!important;font-weight:700!important;color:var(--c-acc)!important;margin:9px 0 3px!important}
.aac-oc table{width:100%!important;border-collapse:collapse!important;font-size:11.5px!important;table-layout:fixed!important;margin:4px 0!important}
.aac-oc th{background:rgba(124,58,237,.07)!important;padding:4px 6px!important;text-align:left!important;color:var(--c-text)!important;word-break:break-word!important}
.aac-oc td{padding:4px 6px!important;border-bottom:1px solid var(--c-border)!important;word-break:break-word!important;color:var(--c-text)!important}
.aac-oc p,.aac-oc li{color:var(--c-text)!important;font-size:12px!important}
.aac-oa{display:flex!important;gap:6px!important;flex-wrap:wrap!important}
.aac-oa-btn{flex:1!important;min-width:68px!important;border:none!important;border-radius:7px!important;padding:7px 5px!important;font-size:11.5px!important;font-weight:600!important;font-family:inherit!important;cursor:pointer!important;-webkit-appearance:none!important;box-shadow:none!important;transition:opacity .15s!important}
.aac-oa-btn:hover{opacity:.86!important}
.aac-ok{color:#fff!important}
.aac-ed{background:var(--c-surf2)!important;color:var(--c-text)!important}
.aac-th{background:var(--c-surf2)!important;color:var(--c-sub)!important}
.aac-radio{display:flex!important;align-items:center!important;gap:5px!important;font-size:12.5px!important;color:var(--c-text)!important;cursor:pointer!important;padding:7px 9px!important;border:1px solid var(--c-border)!important;border-radius:7px!important}
.aac-radio input{accent-color:var(--c-acc)}

/* inline portfolio cards in chat */
.aac-pc-list{display:flex;flex-direction:column;gap:5px;max-width:340px;margin-top:4px}
.aac-pc{display:flex;align-items:center;gap:9px;background:var(--c-surf2);border:1px solid var(--c-border);border-radius:9px;padding:7px 11px;text-decoration:none;color:var(--c-text);transition:border-color .13s}
.aac-pc:hover{border-color:rgba(124,58,237,.28)}
.aac-pc-ico{width:26px;height:26px;border-radius:6px;background:var(--c-surf3);overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:10px;font-weight:700;color:var(--c-acc)}
.aac-pc-ico img{width:100%;height:100%;object-fit:cover}
.aac-pc-n{font-size:12.5px;font-weight:500;color:var(--c-text)}
.aac-pc-d{font-size:10px;color:var(--c-sub)}

@media(max-width:600px){
  .aac-sb{width:46px}
  .aac-nb{height:40px}
  .aac-nb span{display:none}
  .aac-msgs{padding:44px 10px 10px;max-width:100%}
  .aac-m{max-width:90%}
  .aac-ir{max-width:100%;padding:8px 10px 12px}
  .aac-pi{padding:16px 12px}
  .aac-wg{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
  .aac-sg{grid-template-columns:1fr}
  .aac-bg{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .aac-fb{max-width:96%!important}
  .aac-m[style*="96%"]{max-width:100%!important;width:100%!important}
}
