@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&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}

/* ── Full screen override ── */
.aac-app{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;z-index:99999!important;max-width:100%!important;overflow:hidden!important;}
.elementor-section,.elementor-container,.e-con,.elementor-column,.elementor-widget-wrap,.elementor-widget-shortcode{padding:0!important;margin:0!important;max-width:100%!important;width:100%!important}
/* iOS Safari full height fix */
@supports (-webkit-touch-callout: none){
  .aac-app{height:-webkit-fill-available!important}
}

/* ── Variables ── */
.aac-app{
  --acc:#7c3aed;--acc-h:#6d28d9;
  --bg:#111;--surf:#1a1a1a;--surf2:#222;--surf3:#2c2c2c;
  --border:rgba(255,255,255,.08);
  --text:#f0ede8;--sub:rgba(240,237,232,.4);
  font-family:'Outfit',-apple-system,sans-serif;
  display:flex;overflow:hidden;
  transition:background .25s,color .25s;
  color:var(--text);background:var(--bg);
}
.aac-app.light{
  --bg:#f5f3ef;--surf:#fff;--surf2:#f0ede8;--surf3:#e8e5e0;
  --border:rgba(0,0,0,.09);--text:#111;--sub:#888;
}

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

.aac-nav{display:flex;flex-direction:column;gap:1px;flex:1;width:100%;padding:0 7px}
.aac-nb{
  width:100%;height:44px;
  border:none;cursor:pointer;background:transparent!important;
  color:rgba(255,255,255,.28);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;transition:color .15s;padding:0;
  position:relative;border-radius:9px!important;box-shadow:none!important;
}
.aac-app.light .aac-nb{color:rgba(0,0,0,.3)}
.aac-nb svg{width:20px;height:20px;fill:currentColor;flex-shrink:0;display:block;transition:fill .15s}
.aac-nb span{font-size:8px;font-weight:600;letter-spacing:.2px;line-height:1;transition:color .15s}
.aac-nb:hover{color:var(--acc)!important;background:transparent!important}
.aac-nb.on{color:var(--acc)!important;background:transparent!important}
.aac-nb.on::after{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:22px;background:var(--acc);border-radius:0 3px 3px 0}

.aac-sb-foot{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 7px}
.aac-soc-btn{
  width:36px;height:32px;border-radius:7px;
  border:none;cursor:pointer;background:transparent;color:rgba(255,255,255,.3);
  display:flex;align-items:center;justify-content:center;
  transition:color .15s;padding:0;text-decoration:none;
}
.aac-app.light .aac-soc-btn{color:rgba(0,0,0,.28)}
.aac-soc-btn:hover{color:var(--acc)!important;background:transparent!important}
.aac-soc-btn svg{width:16px;height:16px;fill:currentColor;display:block}

/* Toggle pill */
.aac-tt{
  width:40px!important;height:22px!important;min-width:40px!important;
  border-radius:11px!important;border:none!important;cursor:pointer!important;
  background:var(--surf3)!important;padding:0!important;margin-top:4px!important;
  -webkit-appearance:none!important;appearance:none!important;
  box-shadow:none!important;flex-shrink:0!important;
}
.aac-tt svg{display:block!important;pointer-events:none!important}

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

/* Top-right toggle */
.aac-topbar{position:absolute;top:10px;right:14px;z-index:20;display:flex;align-items:center}

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

/* ── Messages ── */
.aac-msgs-wrap{flex:1;overflow-y:auto;display:flex;justify-content:center;min-height:0}
.aac-msgs-wrap::-webkit-scrollbar{width:3px}
.aac-msgs-wrap::-webkit-scrollbar-thumb{background:rgba(124,58,237,.2);border-radius:2px}
.aac-msgs{width:100%;max-width:700px;padding:48px 16px 12px;display:flex;flex-direction:column;gap:14px;box-sizing:border-box}

.aac-m{display:flex;max-width:80%;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(--surf);color:var(--text);border-bottom-left-radius:4px;border:1px solid var(--border)}
.aac-m.u .aac-bbl{background:var(--acc);color:#fff;border-bottom-right-radius:4px}

/* typing dots */
.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(--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 ── */
.aac-ir-outer{display:flex;justify-content:center;border-top:1px solid var(--border);background:var(--bg);flex-shrink:0;transition:background .25s}
.aac-ir{width:100%;max-width:700px;padding:10px 16px 16px;display:flex;align-items:flex-end;gap:9px;box-sizing:border-box}
#aac-input{
  flex:1;background:var(--surf);border:1px solid var(--border);border-radius:14px;
  padding:11px 14px;font-size:14px;font-family:inherit;color:var(--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(--sub)}
#aac-input:focus{border-color:var(--acc)}
#aac-send{
  width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;
  min-height:38px!important;max-height:38px!important;
  border-radius:50%!important;background:var(--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:16px;height:16px;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:24px}
.aac-pi::-webkit-scrollbar{width:3px}
.aac-pi::-webkit-scrollbar-thumb{background:rgba(124,58,237,.18);border-radius:2px}
.aac-ptit{font-size:20px;font-weight:700;margin:0 0 4px;letter-spacing:-.3px;color:var(--text)}
.aac-psub{font-size:13px;color:var(--sub);margin:0 0 20px}

/* ── Web grid ── */
.aac-wg{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:11px}
.aac-wc{background:var(--surf);border:1px solid var(--border);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--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:100px;background:var(--surf2);overflow:hidden;display:flex;align-items:center;justify-content:center}
.aac-wt img.ss{width:100%;height:100%;object-fit:cover}
.aac-wt .fv{width:38px;height:38px;border-radius:8px;object-fit:contain}
.aac-wi{padding:9px 11px 11px}
.aac-wn{font-size:12px;font-weight:600;margin:0 0 2px;color:var(--text)}
.aac-wd{font-size:10px;color:var(--sub);margin:0}

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

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

/* ── Contact ── */
.aac-cc{display:flex;flex-direction:column;gap:9px;max-width:360px}
.aac-ccard{display:flex;align-items:center;gap:12px;background:var(--surf);border:1px solid var(--border);border-radius:12px;padding:13px 16px;text-decoration:none;color:var(--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(--sub);margin:0 0 1px}
.aac-cv{font-size:13px;font-weight:600;margin:0;color:var(--text)}

/* ── Contact/Offer inline forms ── */
.aac-fb{max-width:84%!important}
.aac-fin{background:var(--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:0;box-sizing:border-box!important}
.aac-flab{font-size:10px!important;font-weight:700!important;letter-spacing:1.2px!important;color:var(--acc)!important;text-transform:uppercase!important;margin:0!important}
.aac-fi{border:1px solid var(--border)!important;border-radius:8px!important;padding:8px 11px!important;font-size:13px!important;font-family:inherit!important;outline:none!important;background:var(--bg)!important;color:var(--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(--sub)!important}
.aac-fi:focus{border-color:var(--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}
.aac-oi{background:var(--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(--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(--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(--text)!important;word-break:break-word!important}
.aac-oc td{padding:4px 6px!important;border-bottom:1px solid var(--border)!important;word-break:break-word!important;color:var(--text)!important}
.aac-oc p,.aac-oc li{color:var(--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(--surf2)!important;color:var(--text)!important}
.aac-th{background:var(--surf2)!important;color:var(--sub)!important}
.aac-radio{display:flex!important;align-items:center!important;gap:5px!important;font-size:12.5px!important;color:var(--text)!important;cursor:pointer!important;padding:7px 9px!important;border:1px solid var(--border)!important;border-radius:7px!important}
.aac-radio input{accent-color:var(--acc)}

/* ── MOBILE ── */
@media(max-width:768px){
  /* App layout: vertical, sidebar at bottom */
  .aac-app{flex-direction:column!important;height:100%!important}

  /* Sidebar → bottom navigation bar */
  .aac-sb{
    width:100%!important;height:54px!important;min-height:54px!important;
    flex-direction:row!important;align-items:center!important;
    padding:0 4px!important;
    border-right:none!important;border-top:1px solid var(--border)!important;
    order:2!important;flex-shrink:0!important;
  }
  .aac-logo{display:none!important}
  .aac-nav{flex-direction:row!important;gap:0!important;padding:0!important;flex:1!important;height:100%!important}
  .aac-nb{
    height:100%!important;width:auto!important;flex:1!important;
    flex-direction:column!important;justify-content:center!important;
    border-radius:0!important;padding:0!important;
  }
  .aac-nb.on::after{
    width:40%!important;height:2px!important;
    top:0!important;left:30%!important;
    transform:none!important;border-radius:0 0 2px 2px!important;
  }
  .aac-nb span{display:block!important;font-size:7px!important}
  .aac-nb svg{width:19px!important;height:19px!important}
  .aac-sb-foot{flex-direction:row!important;gap:1px!important;margin-left:auto!important;padding-right:4px!important}
  .aac-tt{margin-top:0!important;margin-left:4px!important;width:36px!important;height:20px!important;min-width:36px!important}
  .aac-soc-btn{width:28px!important;height:28px!important}

  /* Main area takes remaining space */
  .aac-main{order:1!important;flex:1!important;min-height:0!important;overflow:hidden!important}
  .aac-topbar{top:6px!important;right:10px!important}

  /* Chat panel */
  .aac-pn{min-height:0!important}
  .aac-msgs-wrap{flex:1!important;min-height:0!important;overflow-y:auto!important}
  .aac-msgs{padding:40px 10px 10px!important;max-width:100%!important;box-sizing:border-box!important}
  .aac-m{max-width:92%!important}
  .aac-bbl{font-size:13px!important;padding:10px 13px!important}
  .aac-ir-outer{flex-shrink:0!important}
  .aac-ir{max-width:100%!important;padding:8px 10px 10px!important}
  #aac-input{font-size:16px!important;-webkit-text-size-adjust:100%!important}
  #aac-send{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;max-width:36px!important;max-height:36px!important}

  /* Panel content */
  .aac-pi{padding:14px 12px!important;overflow-y:auto!important}
  .aac-wg{grid-template-columns:repeat(2,1fr)!important}
  .aac-bg{grid-template-columns:repeat(2,1fr)!important}
  .aac-bt{height:100px!important}
  .aac-sg{grid-template-columns:1fr!important}
  .aac-cc{max-width:100%!important}

  /* Forms */
  .aac-fb{max-width:98%!important}
  .aac-fin{min-width:0!important}
  .aac-fi-row{grid-template-columns:1fr!important}
  .aac-m[style*="95%"]{max-width:100%!important;width:100%!important}
  .aac-m[style*="97%"]{max-width:100%!important;width:100%!important}
  .aac-m[style*="98%"]{max-width:100%!important;width:100%!important}

  /* Greeting grid: 2 cols on mobile */
  .aac-greet-grid{grid-template-columns:repeat(2,1fr)!important}
}

/* Extra small phones */
@media(max-width:380px){
  .aac-nb span{display:none!important}
  .aac-nb{height:100%!important}
}

/* ═══ GREETING PORTFOLIO GRID ═══ */
.aac-greet-grid{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:8px!important;
}
.aac-greet-card{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  text-decoration:none!important;color:var(--text)!important;
  background:var(--surf2)!important;border:1px solid var(--border)!important;
  border-radius:10px!important;overflow:hidden!important;
  transition:border-color .15s!important;
}
.aac-greet-card:hover{border-color:rgba(124,58,237,.3)!important}
.aac-greet-thumb{
  width:100%!important;aspect-ratio:1/1!important;
  background:var(--surf3)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden!important;
}
.aac-greet-thumb img{width:100%!important;height:100%!important;object-fit:cover!important}
.aac-greet-name{
  font-size:11px!important;font-weight:600!important;
  padding:5px 6px 7px!important;text-align:center!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  width:100%!important;box-sizing:border-box!important;
}
@media(max-width:768px){
  .aac-greet-grid{grid-template-columns:repeat(2,1fr)!important}
}
