/* Aurora tooth selector only. This file intentionally scopes to the existing AI engine. */
.ai-picker-aurora .ai-visual-controls,
.ai-picker-aurora .ai-orientation-strip,
.ai-picker-aurora .ai-visual-diagram,
.ai-picker-aurora .ai-visual-legend{display:none!important;}

.ai-aurora-mouth-wrap{display:block;margin:18px 0 14px;}

.ai-aurora-mouth-board{
  position:relative;
  height:clamp(475px,42vw,590px);
  border-radius:28px;
  background:radial-gradient(ellipse at center,#fff 0%,#f8fcff 42%,#f0f8ff 74%,#e7f3ff 100%);
  border:1px solid #b9e0ff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.78),0 24px 55px -46px rgba(11,55,109,.55);
  overflow:hidden;
  touch-action:manipulation;
}

.ai-aurora-mouth-board:before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:12%;
  bottom:12%;
  border-radius:50%;
  border:8px solid rgba(185,224,255,.58);
  filter:blur(.2px);
}

.ai-aurora-mouth-axis{
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(11,110,170,.22),transparent);
}

.ai-aurora-mouth-label{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  color:#356489;
  text-transform:uppercase;
  pointer-events:none;
}

.ai-aurora-upper{top:48.5%;}
.ai-aurora-lower{top:59%;}

.ai-aurora-tooth{
  appearance:none;
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:var(--w);
  height:var(--h);
  transform:translate(-50%,-50%) rotate(var(--rot));
  border:1px solid transparent;
  background:rgba(255,255,255,.02);
  border-radius:999px;
  display:grid;
  place-items:center;
  cursor:pointer;
  padding:0;
  z-index:2;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease,background .16s ease;
}

.ai-aurora-tooth:hover,
.ai-aurora-tooth:focus-visible{
  transform:translate(-50%,-50%) rotate(var(--rot)) scale(1.1);
  outline:none;
  z-index:6;
}

.ai-aurora-tooth img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 5px 8px rgba(92,73,47,.16));
  transition:filter .16s ease;
}

.ai-aurora-tooth.is-selected{
  background:radial-gradient(circle at 50% 45%,rgba(225,6,0,.34),rgba(180,0,0,.16) 58%,transparent 74%);
  box-shadow:0 0 0 2px rgba(225,6,0,.92),0 0 0 7px rgba(225,6,0,.12),0 14px 26px -16px rgba(120,0,0,.9);
  z-index:5;
}

.ai-aurora-tooth.is-selected img{
  filter:brightness(0) saturate(100%) invert(12%) sepia(99%) saturate(7480%) hue-rotate(358deg) brightness(108%) contrast(122%) drop-shadow(0 8px 12px rgba(120,0,0,.34));
}

.ai-aurora-tooth-num{
  position:absolute;
  left:50%;
  bottom:-15px;
  transform:translateX(-50%) rotate(calc(var(--rot) * -1));
  font-size:10px;
  line-height:1;
  font-weight:900;
  color:#87745d;
  background:rgba(255,255,255,.72);
  border-radius:999px;
  padding:2px 4px;
  opacity:.78;
}

.ai-aurora-tooth.is-selected .ai-aurora-tooth-num{
  background:#e10600;
  color:#fff;
  opacity:1;
}

.ai-aurora-mouth-instruction{
  display:flex;
  justify-content:center;
  margin-top:10px;
}

.ai-aurora-mouth-instruction span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:1px solid #e3dccf;
  color:#687981;
  font-size:13px;
  font-weight:900;
  box-shadow:0 10px 24px -20px rgba(17,54,66,.5);
}

.ai-picker-aurora .ai-picker-action-note-aurora{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:12px 0 0!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  background:#e7f3ff!important;
  border:1px solid #b9e0ff!important;
  color:#356489!important;
  box-shadow:0 12px 28px -24px rgba(11,55,109,.55)!important;
}

.ai-picker-aurora .ai-picker-action-note-aurora .ai-info-icon{
  flex:0 0 24px!important;
  width:24px!important;
  height:24px!important;
  background:#0b6eaa!important;
  color:#fff!important;
}

.ai-picker-aurora .ai-picker-action-note-aurora .ai-picker-action-text{
  flex:1 1 auto!important;
  min-width:0!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.35!important;
}

.ai-aurora-confirm{
  appearance:none;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 16px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#071b45,#0b5ed7);
  color:#fff;
  font:950 13px/1 'Plus Jakarta Sans',sans-serif;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 14px 26px -18px rgba(11,94,215,.8);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

.ai-aurora-confirm:hover:not(:disabled){
  transform:translateY(-1px);
  filter:saturate(1.06);
  box-shadow:0 18px 32px -20px rgba(11,94,215,.9);
}

.ai-aurora-confirm:disabled{
  cursor:not-allowed;
  opacity:.5;
  filter:grayscale(.25);
  box-shadow:none;
}

/* Result CTA polish: stable icon/text/arrow layout for the recommendation button. */
.ai-result-v22 .ai-v22-sidebar-cta{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 28px!important;
  align-items:center!important;
  justify-items:center!important;
  gap:10px!important;
  min-height:56px!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#08245d 0%,#0b5ed7 100%)!important;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 18px 34px -22px rgba(11,94,215,.9)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}

.ai-result-v22 .ai-v22-sidebar-cta:hover{
  transform:translateY(-1px)!important;
  filter:saturate(1.06)!important;
  box-shadow:0 22px 42px -24px rgba(11,94,215,.95)!important;
}

.ai-result-v22 .ai-v22-sidebar-cta svg{
  width:20px!important;
  height:20px!important;
  justify-self:center!important;
  stroke:currentColor!important;
  fill:none!important;
}

.ai-result-v22 .ai-v22-sidebar-cta span{
  min-width:0!important;
  justify-self:start!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:950!important;
  line-height:1.15!important;
  letter-spacing:0!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
}

.ai-result-v22 .ai-v22-sidebar-cta i{
  display:grid!important;
  place-items:center!important;
  justify-self:end!important;
  width:28px!important;
  height:28px!important;
  padding:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  font-size:17px!important;
  font-weight:950!important;
  font-style:normal!important;
  line-height:1!important;
}

@media(max-width:760px){
  .ai-picker-aurora{display:flex;flex-direction:column;align-items:stretch;}
  .ai-picker-aurora .ai-picker-title{order:1;}
  .ai-picker-aurora .ai-picker-sub{order:2;margin-bottom:12px!important;}
  .ai-picker-aurora .ai-picker-visual-layout{order:3;}
  .ai-picker-aurora .ai-picker-info-pill{display:none!important;}
  .ai-picker-aurora .ai-visual-main{display:flex;flex-direction:column;}
  .ai-picker-aurora .ai-aurora-mouth-wrap{order:1;margin-top:0;}
  .ai-picker-aurora .ai-picker-action-note-aurora{order:2;}
  .ai-picker-aurora .ai-tooth-ai-helper{order:3;}
  .ai-picker-aurora .ai-picker-board-hint{order:4;}
  .ai-aurora-mouth-board{height:430px;border-radius:24px;}
  .ai-aurora-mouth-board:before{left:4%;right:4%;top:13%;bottom:13%;border-width:6px;}
  .ai-aurora-mouth-label{font-size:10px;}
  .ai-aurora-upper{top:47.5%;}
  .ai-aurora-lower{top:58.5%;}
  .ai-aurora-tooth{width:calc(var(--w) * .76);height:calc(var(--h) * .76);}
  .ai-aurora-tooth-num{font-size:9px;bottom:-13px;}
  .ai-picker-aurora .ai-picker-action-note-aurora{align-items:stretch!important;flex-wrap:wrap!important;}
  .ai-picker-aurora .ai-picker-action-note-aurora .ai-info-icon{margin-top:2px!important;}
  .ai-picker-aurora .ai-picker-action-note-aurora .ai-picker-action-text{flex:1 1 calc(100% - 44px)!important;}
  .ai-aurora-confirm{display:none!important;}
  .ai-picker-aurora .ai-tooth-ai-bubble.is-default-message{display:none!important;}
  .ai-picker-aurora .ai-tooth-ai-helper{
    margin:10px 0 0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .ai-picker-aurora .ai-tooth-ai-head,
  .ai-picker-aurora .ai-tooth-ai-bubble,
  .ai-picker-aurora .ai-tooth-ai-choice-alert,
  .ai-picker-aurora .ai-tooth-ai-quick-actions,
  .ai-picker-aurora .ai-tooth-ai-form{
    display:none!important;
  }
  .ai-picker-aurora .ai-tooth-ai-examples{
    display:flex!important;
    margin:0!important;
    justify-content:flex-start!important;
  }
  .ai-picker-aurora .ai-tooth-ai-examples button:not(.ai-tooth-ai-clear){
    display:none!important;
  }
  .ai-picker-aurora .ai-tooth-ai-helper.is-mobile-ai-open{
    margin:14px 0!important;
    padding:14px!important;
    border:2px solid #8BBEFF!important;
    border-radius:16px!important;
    background:linear-gradient(180deg,#F2F8FF 0%,#FFFFFF 100%)!important;
    box-shadow:0 18px 42px rgba(15,99,230,.13),0 0 0 5px rgba(15,99,230,.04)!important;
  }
  .ai-picker-aurora .ai-tooth-ai-helper.is-mobile-ai-open .ai-tooth-ai-head{
    display:grid!important;
  }
  .ai-picker-aurora .ai-tooth-ai-helper.is-mobile-ai-open .ai-tooth-ai-bubble{
    display:block!important;
  }
  .ai-picker-aurora .ai-tooth-ai-helper.is-mobile-ai-open .ai-tooth-ai-choice-alert{
    display:grid!important;
  }
  .ai-picker-aurora .ai-tooth-ai-helper.is-mobile-ai-open .ai-tooth-ai-quick-actions{
    display:flex!important;
  }
  .ai-picker-aurora .ai-tooth-ai-helper.is-mobile-ai-open .ai-tooth-ai-form{
    display:grid!important;
  }
  .ai-picker-aurora .ai-tooth-ai-helper.is-mobile-ai-open .ai-tooth-ai-examples{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin-top:10px!important;
  }
  .ai-picker-aurora .ai-tooth-ai-helper.is-mobile-ai-open .ai-tooth-ai-examples button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}

@media(max-width:420px){
  .ai-aurora-mouth-board{height:395px;}
  .ai-aurora-tooth{width:calc(var(--w) * .66);height:calc(var(--h) * .66);}
  .ai-aurora-upper{top:46.6%;}
  .ai-aurora-lower{top:58.2%;}
}

/* Mobile result fix: show the full recommendation page, not only the compact cockpit. */
@media(max-width:760px){
  body.diagnostic-result-mode #ai-engine.odx-ai-engine,
  body.diagnostic-result-mode #ai-engine:not(.vis){
    display:block!important;
  }

  body.diagnostic-result-mode .ai-exp-command,
  body.diagnostic-result-mode .ai-exp-sticky-result{
    display:none!important;
  }

  body.diagnostic-result-mode{
    padding-bottom:0!important;
  }

  body.diagnostic-result-mode .odx-live,
  body.diagnostic-result-mode .odx-active-panel,
  body.diagnostic-result-mode .odx-ai-engine{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  body.diagnostic-result-mode .ai-result-v22{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    gap:14px!important;
    overflow:visible!important;
  }

  body.diagnostic-result-mode .ai-v22-hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"copy" "side" "map"!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  body.diagnostic-result-mode .ai-v22-hero-copy{grid-area:copy!important;}
  body.diagnostic-result-mode .ai-v22-sidebar{
    grid-area:side!important;
    position:relative!important;
    top:auto!important;
    width:100%!important;
    max-width:100%!important;
  }
  body.diagnostic-result-mode .ai-v22-map{grid-area:map!important;}

  body.diagnostic-result-mode .ai-v22-ai-check,
  body.diagnostic-result-mode .ai-v22-guide,
  body.diagnostic-result-mode .ai-v22-metrics,
  body.diagnostic-result-mode .ai-v22-options,
  body.diagnostic-result-mode .ai-v22-material,
  body.diagnostic-result-mode .ai-v22-after,
  body.diagnostic-result-mode .ai-v22-actions{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  body.diagnostic-result-mode .ai-v22-option-grid,
  body.diagnostic-result-mode .ai-v22-metric-grid,
  body.diagnostic-result-mode .ai-v22-guide-points,
  body.diagnostic-result-mode .ai-v22-after{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
}
