/* Copyright 2026 The Chromium Authors
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file. */

/* #css_wrapper_metadata_start
 * #type=style-lit
 * #import=//resources/cr_elements/cr_icons_lit.css.js
 * #import=//resources/cr_components/composebox/composebox.css.js
 * #import=//resources/cr_components/composebox/composebox_shared_style.css.js
 * #scheme=relative
 * #include=cr-icons-lit composebox composebox-shared-style
 * #css_wrapper_metadata_end */

:host {
  --composebox-cancel-button-top: var(--cr-composebox-cancel-button-top, 12px);
  --input-bottom-spacing: 10px;
  --text-input-top-spacing: 10px;
  --text-input-inline-end-spacing: 80px;
  --text-input-inline-start-spacing: 16px;
  --text-input-max-height: 190px;
  --fade-duration: 100ms;
  --cr-composebox-submit-container-size: 40px;
}

#composebox {
  border-radius: inherit;
  display: flex;
  flex-direction: column;
  pointer-events: auto;
  position: relative;
  overflow: hidden;
  transition:
    opacity var(--fade-duration) ease-in-out,
    visibility var(--fade-duration) ease-in-out;
  padding-bottom: 10px;
}

#inputContainer {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
}

#contextEntrypoint::part(entrypoint-button) {
  --cr-icon-button-size: 36px;
}

cr-composebox-tool-chip {
  padding-inline-start: 8px;
}

.carousel-container-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
}

/* Overrides regular carousel CSS (above) for voice. */
#voiceCarouselContainerInner {
  align-items: flex-start;
  /* This is already in shared CSS, but to make it clear
   * that it is 'flex-direction: column' and not 'row':
   */
  flex-direction: column;
}

:host([searchbox-next-enabled]) #carousel {
  --context-non-top-carousel-bottom-margin: 4px;
  --context-non-top-carousel-top-margin: 6px;
}

#errorScrim {
  border-radius: inherit;
}

/* Voice Search Styles */
#voiceSearchButton {
  --cr-icon-button-fill-color: var(--color-composebox-font-light);
  --cr-icon-button-hover-background-color: var(--color-composebox-voice-button-hover-background);
  --cr-icon-button-margin-end: 0px;
  --cr-icon-button-margin-start: 0px;
  --cr-icon-button-size: 36px;
}

:host(:not([searchbox-next-enabled])) #voiceSearchButton,
:host([searchbox-layout-mode='TallBottomContext']) #voiceSearchButton {
  bottom: 12px;
  inset-inline-end: 12px;
  position: absolute;
}

:host([submit-enabled][searchbox-layout-mode='TallBottomContext']) #voiceSearchButton {
  inset-inline-end: calc(var(--cr-composebox-submit-container-size) + 18px);
}

:host([submit-enabled][searchbox-layout-mode='TallBottomContext'][show-dropdown]) #voiceSearchButton {
  bottom: unset;
  top: var(--cr-composebox-voice-icon-top, 60px);
}

:host([searchbox-layout-mode='Compact']) #voiceSearchButton {
  position: absolute;
  inset-inline-end: calc(var(--cr-composebox-submit-container-size) + 12px);
  top: 10px;
}
