.sns-ai-assistant-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
}
.sns-ai-assistant-overlay[hidden] {
  display: none !important;
}
.sns-ai-assistant-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}
.sns-ai-assistant-overlay__dialog {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(100%, 48rem);
  overflow: hidden;
}
.sns-ai-assistant-overlay__header {
  display: flex;
  justify-content: flex-end;
}
.sns-ai-assistant-overlay__close {
  border: 0;
  background: transparent;
  cursor: pointer;
  line-height: 1;
}
.sns-ai-assistant-overlay__body {
  overflow: auto;
}

/* Structural + functional styles for the AI search UI (theme may override visually). */
.sns-ai-assistant-search {
  width: 100%;
}
.sns-ai-assistant-search__inner {
  width: 100%;
}
.sns-ai-assistant-search__form {
  display: block;
  margin: 0;
}
.sns-ai-assistant-search__field {
  width: 100%;
}
.sns-ai-assistant-search__panel {
  width: 100%;
}
.sns-ai-assistant-search__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.sns-ai-assistant-search__input {
  width: 100%;
  min-width: 0;
  margin: 0;
}
.sns-ai-assistant-search__button {
  flex-shrink: 0;
  margin: 0;
}
.sns-ai-assistant-search__button--loading {
  opacity: 0.7;
  cursor: wait;
}
.sns-ai-assistant-search__status {
  margin-top: 0.75rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(180, 60, 40, 0.35);
  border-radius: 0.5rem;
  background: rgba(180, 60, 40, 0.08);
  color: inherit;
  font-size: 0.875rem;
  line-height: 1.45;
}
.sns-ai-assistant-search__status[hidden] {
  display: none;
}
.sns-ai-assistant-search__loading {
  margin-top: 1.5rem;
}
.sns-ai-assistant-search__loading-indicator {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: flex-start;
}
.sns-ai-assistant-search__loading-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.35;
  animation: sns-ai-assistant-pulse 1.2s ease-in-out infinite;
}
.sns-ai-assistant-search__loading-dot:nth-child(2) {
  animation-delay: 0.15s;
}
.sns-ai-assistant-search__loading-dot:nth-child(3) {
  animation-delay: 0.3s;
}
.sns-ai-assistant-search__loading-label {
  margin: 0.75rem 0 0;
  transition: opacity 0.2s ease;
}
.sns-ai-assistant-search__loading-label--changing {
  opacity: 0.55;
}
.sns-ai-assistant-search__skeleton {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
}
.sns-ai-assistant-search__skeleton-line {
  display: block;
  height: 0.875rem;
  border-radius: 0.375rem;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.06) 25%, rgba(0, 0, 0, 0.12) 50%, rgba(0, 0, 0, 0.06) 75%);
  background-size: 200% 100%;
  animation: sns-ai-assistant-shimmer 1.4s ease-in-out infinite;
}
.sns-ai-assistant-search__skeleton-line--lg {
  width: 92%;
  height: 1.125rem;
}
.sns-ai-assistant-search__skeleton-line--md {
  width: 68%;
}
.sns-ai-assistant-search__results {
  margin-top: 2rem;
  opacity: 0;
  transform: translateY(0.5rem);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.sns-ai-assistant-search__results--visible {
  opacity: 1;
  transform: translateY(0);
}
.sns-ai-assistant-search__answer p {
  margin: 0 0 1rem;
}
.sns-ai-assistant-search__answer p:last-child {
  margin-bottom: 0;
}
.sns-ai-assistant-search__answer ol,
.sns-ai-assistant-search__answer ul {
  margin: 0 0 1rem 1.25rem;
  padding: 0;
}
.sns-ai-assistant-search__answer ol {
  list-style: decimal;
}
.sns-ai-assistant-search__answer ul {
  list-style: disc;
}
.sns-ai-assistant-search__answer li {
  display: list-item;
  margin-bottom: 0.5rem;
}
.sns-ai-assistant-search__answer li:last-child {
  margin-bottom: 0;
}
.sns-ai-assistant-search__answer ol:last-child,
.sns-ai-assistant-search__answer ul:last-child,
.sns-ai-assistant-search__answer p:last-child {
  margin-bottom: 0;
}
.sns-ai-assistant-search__answer strong {
  font-weight: 700;
}
.sns-ai-assistant-search__sources-wrap {
  margin-top: 2rem;
}
.sns-ai-assistant-search__sources-wrap--reveal {
  animation: sns-ai-assistant-fade-in 0.4s ease both;
}
.sns-ai-assistant-search__sources-title {
  margin: 0 0 1rem;
}
.sns-ai-assistant-search__sources {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}
.sns-ai-assistant-search__source-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  text-decoration: none;
  color: inherit;
}
.sns-ai-assistant-search__source-title {
  flex: 1 1 auto;
  min-width: 0;
}
.sns-ai-assistant-search__source-arrow {
  flex-shrink: 0;
}
.sns-ai-assistant-search__rich-results {
  margin-top: 1.5rem;
  position: relative;
  z-index: 2;
  pointer-events: auto;
}
.sns-ai-assistant-search__rich-results--reveal {
  animation: sns-ai-assistant-fade-in 0.4s ease both;
}
.sns-ai-assistant-search__rich-results--pending .sns-ai-assistant-search__rich-results-skeleton {
  display: grid;
  gap: 0.75rem;
}
.sns-ai-assistant-search__rich-results-skeleton {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 1rem 1.25rem;
  border-left: 0.25rem solid rgba(35, 212, 156, 0.45);
  background: rgba(0, 0, 0, 0.03);
}
.sns-ai-assistant-search__rich-results-skeleton-label {
  margin: 0;
  font-size: 0.875rem;
  opacity: 0.7;
}
.sns-ai-assistant-search__rich-result + .sns-ai-assistant-search__rich-result {
  margin-top: 0.75rem;
}
.sns-ai-assistant-search__rich-result--contact a {
  color: inherit;
  text-decoration: none;
}
.sns-ai-assistant-search__rich-result--contact a:hover, .sns-ai-assistant-search__rich-result--contact a:focus-visible {
  color: #23d49c;
}
.sns-ai-assistant-search__rich-result--contact .link-phone,
.sns-ai-assistant-search__rich-result--contact .link-email,
.sns-ai-assistant-search__rich-result--contact a.sns-ai-assistant-search__link-address {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.sns-ai-assistant-search__rich-result--contact .link-phone:hover, .sns-ai-assistant-search__rich-result--contact .link-phone:focus-visible,
.sns-ai-assistant-search__rich-result--contact .link-email:hover,
.sns-ai-assistant-search__rich-result--contact .link-email:focus-visible,
.sns-ai-assistant-search__rich-result--contact a.sns-ai-assistant-search__link-address:hover,
.sns-ai-assistant-search__rich-result--contact a.sns-ai-assistant-search__link-address:focus-visible {
  text-decoration: underline;
  color: #23d49c;
}
.sns-ai-assistant-search__rich-result--contact .sns-ai-assistant-search__link-address--static,
.sns-ai-assistant-search__rich-result--contact .sns-ai-assistant-search__link-address--static:hover,
.sns-ai-assistant-search__rich-result--contact .sns-ai-assistant-search__link-address--static:focus-visible {
  text-decoration: none;
  color: inherit;
}
.sns-ai-assistant-search__rich-result--contact .link-phone,
.sns-ai-assistant-search__rich-result--contact .link-email {
  display: inline-block;
  padding-left: 1.5rem;
  background-size: 1rem 1rem;
}
.sns-ai-assistant-search__rich-result--contact .link-phone {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M14.6665 11.2802V13.2802C14.6672 13.4659 14.6292 13.6497 14.5548 13.8198C14.4804 13.9899 14.3713 14.1426 14.2345 14.2681C14.0977 14.3937 13.9362 14.4892 13.7603 14.5487C13.5844 14.6082 13.398 14.6303 13.2131 14.6136C11.1617 14.3907 9.19113 13.6897 7.45979 12.5669C5.84901 11.5433 4.48335 10.1777 3.45979 8.56689C2.33311 6.8277 1.63195 4.84756 1.41313 2.78689C1.39647 2.60254 1.41838 2.41673 1.47746 2.24131C1.53654 2.06589 1.63151 1.90469 1.7563 1.76797C1.8811 1.63126 2.033 1.52203 2.20232 1.44724C2.37164 1.37245 2.55469 1.33374 2.73979 1.33356H4.73979C5.06333 1.33038 5.37699 1.44495 5.6223 1.65592C5.86761 1.86689 6.02784 2.15986 6.07313 2.48023C6.15754 3.12027 6.31409 3.74871 6.53979 4.35356C6.62949 4.59218 6.6489 4.8515 6.59573 5.10081C6.54256 5.35012 6.41903 5.57897 6.23979 5.76023L5.39313 6.60689C6.34216 8.27592 7.7241 9.65786 9.39313 10.6069L10.2398 9.76023C10.4211 9.58099 10.6499 9.45746 10.8992 9.40429C11.1485 9.35112 11.4078 9.37053 11.6465 9.46023C12.2513 9.68593 12.8797 9.84248 13.5198 9.92689C13.8436 9.97258 14.1394 10.1357 14.3508 10.3852C14.5622 10.6348 14.6746 10.9533 14.6665 11.2802Z' stroke='%233B3B3C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 0 0.3125rem;
}
.sns-ai-assistant-search__rich-result--contact .link-email {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2.66683 2.6665H13.3335C14.0668 2.6665 14.6668 3.2665 14.6668 3.99984V11.9998C14.6668 12.7332 14.0668 13.3332 13.3335 13.3332H2.66683C1.9335 13.3332 1.3335 12.7332 1.3335 11.9998V3.99984C1.3335 3.2665 1.9335 2.6665 2.66683 2.6665Z' stroke='%233B3B3C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14.6668 4L8.00016 8.66667L1.3335 4' stroke='%233B3B3C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 0 0.3125rem;
}
.sns-ai-assistant-search__contact-cards {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}
@media (min-width: 48rem) {
  .sns-ai-assistant-search__inner--overlay .sns-ai-assistant-search__contact-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 64rem) {
  .sns-ai-assistant-search__inner--embed .sns-ai-assistant-search__contact-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.sns-ai-assistant-search__contact-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.25rem 1.5rem;
  border-left: 0.25rem solid #23d49c;
  background: #ebebeb;
}
.sns-ai-assistant-search__contact-title {
  margin: 0 0 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 0.0625rem solid #b9bdbc;
  font-size: 1rem;
  line-height: 1.5;
}
.sns-ai-assistant-search__contact-title strong {
  font-weight: 700;
}
.sns-ai-assistant-search__contact-links {
  display: flex;
  flex-direction: column;
}
.sns-ai-assistant-search__contact-item {
  margin: 0 0 0.625rem;
}
.sns-ai-assistant-search__contact-item:last-child {
  margin-bottom: 0;
}
.sns-ai-assistant-search__link-address {
  display: inline-block;
  padding-left: 1.5rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 21s7-5.6 7-11a7 7 0 1 0-14 0c0 5.4 7 11 7 11Z' stroke='%233B3B3C' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='10' r='2.25' stroke='%233B3B3C' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat 0 0.3125rem;
  background-size: 1rem 1rem;
  white-space: pre-line;
}
.sns-ai-assistant-search__link-address--static {
  cursor: default;
}
.sns-ai-assistant-search__contact-note {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: rgba(0, 0, 0, 0.62);
}

@keyframes sns-ai-assistant-pulse {
  0%, 80%, 100% {
    opacity: 0.35;
    transform: scale(1);
  }
  40% {
    opacity: 1;
    transform: scale(1.15);
  }
}
@keyframes sns-ai-assistant-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes sns-ai-assistant-fade-in {
  from {
    opacity: 0;
    transform: translateY(0.35rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .sns-ai-assistant-search__results,
  .sns-ai-assistant-search__sources-wrap--reveal,
  .sns-ai-assistant-search__rich-results--reveal {
    animation: none;
    transition: none;
  }
  .sns-ai-assistant-search__results {
    opacity: 1;
    transform: none;
  }
}
.sns-ai-assistant-search-trigger-wrap {
  display: flex;
  align-items: center;
}

.sns-ai-assistant-search-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: inherit;
}
.sns-ai-assistant-search-trigger__icon {
  display: block;
  fill: currentColor;
}

.sns-ai-assistant-overlay__dialog {
  max-height: min(92vh, 52rem);
  margin: 4vh auto;
}

body.sns-ai-assistant-overlay-open {
  overflow: hidden;
}

.sns-ai-assistant-footer {
  margin-top: 0.75rem;
}
.sns-ai-assistant-footer__disclaimer {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: rgba(0, 0, 0, 0.55);
}
.sns-ai-assistant-footer__credit {
  margin: 0.35rem 0 0;
  font-size: 0.75rem;
  line-height: 1.35;
}
.sns-ai-assistant-footer__credit-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
  opacity: 0.7;
}
.sns-ai-assistant-footer__credit-link:hover, .sns-ai-assistant-footer__credit-link:focus {
  opacity: 1;
}

.sns-ai-assistant-privacy {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.45;
}
.sns-ai-assistant-privacy__warning {
  margin: 0 0 0.5rem;
  font-weight: 600;
}
.sns-ai-assistant-privacy__notice {
  margin: 0 0 0.5rem;
}
.sns-ai-assistant-privacy__consent {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  margin: 0;
  padding: 0.35rem 0.45rem;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: box-shadow 0.2s ease, background-color 0.2s ease;
}
.sns-ai-assistant-privacy__consent--attention {
  background: rgba(180, 60, 40, 0.08);
  box-shadow: 0 0 0 2px rgba(180, 60, 40, 0.45);
}
.sns-ai-assistant-privacy__consent-input {
  margin-top: 0.2rem;
}
.sns-ai-assistant-privacy__consent-label a {
  text-decoration: underline;
}

/*# sourceMappingURL=search-ui.css.map */
