/* Ensure HTML hidden works (some themes override) */
.ai-smart-search [hidden]{display:none !important;}

/* Smart Search UI (shortcode) */

.ai-smart-search {
  --ai-ss-accent: #d9775d;
  --ai-ss-form-bg: rgba(15, 23, 42, 0.38);
  --ai-ss-panel-bg: rgba(15, 23, 42, 0.28);
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  align-self: stretch !important;
  flex: 1 1 100% !important;
  margin: 0 auto;
}

.ai-smart-search__inner {
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.ai-smart-search__form,
.ai-smart-search__panel {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.ai-smart-search__form {
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 26px 26px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,0.22);
  background: var(--ai-ss-form-bg);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 18px 60px rgba(0,0,0,0.35);
}

.ai-smart-search__input {
  flex: 1;
  width: 100%;
  border: 0;
  outline: none;
  background: transparent;
  color: #ffffff;
  font-size: 24px;
  line-height: 1.35;
  padding: 22px 18px;
}

.ai-smart-search__input::placeholder {
  color: rgba(255,255,255,0.72);
}

.ai-smart-search__submit {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  color: var(--ai-ss-accent);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.ai-smart-search__submit:hover {
  background: var(--ai-ss-accent);
  border-color: rgba(255,255,255,0.18);
  color: #ffffff;
  transform: translateY(-1px);
}

.ai-smart-search__submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.ai-smart-search__submit svg {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
}

.ai-smart-search__panel {
  margin-top: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: var(--ai-ss-panel-bg);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 18px;
  color: rgba(255,255,255,0.92);
}

.ai-smart-search__status {
  display:flex;
  align-items:center;
  font-size: 14px;
  color: rgba(255,255,255,0.75);
  margin-bottom: 12px;
}

.ai-smart-search__answer-title,
.ai-smart-search__results-title,
.ai-smart-search__followups-title {
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
  margin-bottom: 8px;
}

.ai-smart-search__answer-body {
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255,255,255,0.95);
}

.ai-smart-search__results-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.ai-smart-search__result {
  display: block;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  text-decoration: none;
}

.ai-smart-search__result:hover {
  background: var(--ai-ss-accent);
}

.ai-smart-search__result-title {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 4px;
}

.ai-smart-search__result-snippet {
  font-size: 14px;
  color: rgba(255,255,255,0.78);
}

.ai-smart-search__followups-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ai-smart-search__chip {
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.08);
  padding: 8px 12px;
  font-size: 14px;
  cursor: pointer;
  color: rgba(255,255,255,0.92);
}

.ai-smart-search__chip:hover {
  background: rgba(255,255,255,0.12);
}

@media (max-width: 720px) {
  .ai-smart-search__form {
    padding: 14px;
    gap: 10px;
    border-radius: 16px;
  }
  .ai-smart-search__input {
    font-size: 16px;
    padding: 8px 8px;
  }
  .ai-smart-search__submit {
    width: 46px;
    height: 46px;
    border-radius: 999px;
  }
  .ai-smart-search__panel {
    padding: 14px;
  }
}


/* ---- Overrides / polish (v2.3.4) ---- */
.ai-smart-search__input{
  font-size:24px !important;
  line-height:1.35 !important;
  padding:24px 22px !important;
  border:0 !important;
  outline:none !important;
  background: rgba(255,255,255,0.06) !important;
  border-radius:18px !important;
}
.ai-smart-search__input::placeholder{color: rgba(255,255,255,0.62) !important;}

.ai-smart-search__form{
  padding:28px 28px !important;
  gap:22px !important;
  border-radius:32px !important;
}

.ai-smart-search__submit svg{
  width:30px !important;
  height:30px !important;
  display:block !important;
}

/* Close button inside results panel */
.ai-smart-search__panel{
  position: relative;
}
.ai-smart-search__close{
  position:absolute;
  top:16px;
  right:16px;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.18);
  background: var(--ai-ss-panel-bg);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.ai-smart-search__close:hover{
  background: rgba(15, 23, 42, 0.40);
}


/* Loading indicator: show spinner inside submit button */
.ai-smart-search__submit{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ai-smart-search.is-loading .ai-smart-search__submit svg{
  opacity: 0;
}

.ai-smart-search.is-loading .ai-smart-search__submit::after{
  content: '';
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255,255,255,0.55);
  border-top-color: rgba(255,255,255,0.95);
  border-radius: 999px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  animation: aiSmartSearchSpin 0.85s linear infinite;
}

@keyframes aiSmartSearchSpin{
  from{ transform: translate(-50%, -50%) rotate(0deg); }
  to{ transform: translate(-50%, -50%) rotate(360deg); }
}
