/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/* ===== autocomplete.css =================================================
  == Styles used by the autocomplete widget.
  ======================================================================= */

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
@namespace html url("http://www.w3.org/1999/xhtml");

/* ::::: autocomplete ::::: */

/* .padded is used by autocomplete widgets that don't have an icon. Gross. -dwh */
textbox:not(.padded) {
  cursor: default;
  padding: 0;
}

textbox[enablehistory="true"] {
  appearance: none;
  border: 0;
  background-color: transparent;
}

textbox[nomatch="true"][highlightnonmatches="true"] {
  color: red;
}

.private-autocomplete-textbox-container {
  -moz-box-align: center;
}

textbox[enablehistory="true"] > .autocomplete-textbox-container {
  appearance: menulist-textfield;
}

textbox:not(.padded) .textbox-input-box {
  margin: 0 3px;
}

.textbox-input-box {
  -moz-box-align: center;
}

/* ::::: autocomplete popups ::::: */

panel[type="private-autocomplete"],
panel[type="private-autocomplete-richlistbox"],
.private-autocomplete-history-popup {
  border-width: 1px;
  -moz-border-top-colors: ThreeDDarkShadow;
  -moz-border-right-colors: ThreeDDarkShadow;
  -moz-border-bottom-colors: ThreeDDarkShadow;
  -moz-border-left-colors: ThreeDDarkShadow;
  padding: 0;
  background-color: -moz-Field;
}

.private-autocomplete-history-popup {
  max-height: 180px;
}

/* ::::: tree ::::: */

.private-autocomplete-tree {
  appearance: none !important;
  border: none !important;
  background-color: transparent !important;
  color: MenuText;
}

.private-autocomplete-treecol {
  appearance: none !important;
  margin: 0 !important;
  border: none !important;
  padding: 0 !important;
}

/* GTK calculates space for a sort arrow */
.private-autocomplete-treecol > .treecol-sortdirection {
  appearance: none !important;
}

.private-autocomplete-treebody::-moz-tree-cell-text {
  padding-inline-start: 8px;
}

treechildren.private-autocomplete-treebody::-moz-tree-row(selected) {
 background-color: Highlight;
}

treechildren.private-autocomplete-treebody::-moz-tree-cell-text(selected) {
  color: HighlightText !important;
}

.private-autocomplete-treebody::-moz-tree-image(treecolAutoCompleteValue) {
  max-width: 16px;
  height: 16px;
}

/* ::::: richlistbox autocomplete ::::: */

.private-autocomplete-richlistbox {
  appearance: none;
  margin: 1px;
  background-color: transparent;
}

.private-autocomplete-richlistitem[selected="true"] {
  background-color: Highlight;
  color: HighlightText;
}

.private-autocomplete-richlistitem {
  padding: 6px 2px;
  color: MenuText;
}

.ac-url-box {
  /* When setting a vertical margin here, half of that needs to be added
     .ac-title-box's translateY for when .ac-url-box is hidden (see below). */
  margin-top: 1px;
}

.private-autocomplete-richlistitem[actiontype="keyword"] .ac-url-box,
.private-autocomplete-richlistitem[actiontype="searchengine"] .ac-url-box,
.private-autocomplete-richlistitem[actiontype="visiturl"] .ac-url-box,
.private-autocomplete-richlistitem[type~="autofill"] .ac-url-box {
  visibility: hidden;
}

.private-autocomplete-richlistitem[actiontype="keyword"] .ac-title-box,
.private-autocomplete-richlistitem[actiontype="searchengine"] .ac-title-box,
.private-autocomplete-richlistitem[actiontype="visiturl"] .ac-title-box,
.private-autocomplete-richlistitem[type~="autofill"] .ac-title-box {
  /* Center the title by moving it down by half of .ac-url-box's height,
     including vertical margins (if any). */
  transform: translateY(.5em);
}

.ac-site-icon {
  width: 16px; 
  height: 16px;
  margin-bottom: -2px;
  margin-inline-start: 3px;
  margin-inline-end: 6px;
}

.ac-type-icon {
  width: 16px; 
  height: 16px;
  margin-inline-start: 6px;
  margin-inline-end: 4px;
}

.ac-extra > .ac-result-type-tag {
  margin: 0 4px;
}

.ac-extra > .ac-comment {
  padding-right: 4px;
}

.ac-ellipsis-after {
  margin: 0 !important;
  padding: 0; 
  min-width: 1em;
}

.ac-normal-text {
  margin: 0 !important;
  padding: 0;
}

.ac-normal-text > html|span {
  margin: 0 !important;
  padding: 0;
}

html|span.ac-emphasize-text {
  box-shadow: inset 0 0 1px 1px rgba(0,0,0,0.1);
  background-color: rgba(0,0,0,0.05);
  border-radius: 2px;
  text-shadow: 0 0 currentColor; /*faux bold effect*/
}

.ac-url-text > html|span.ac-emphasize-text,
.ac-action-text > html|span.ac-emphasize-text {
  box-shadow: none;
}

.ac-normal-text[selected="true"] > html|span.ac-emphasize-text {
  box-shadow: inset 0 0 1px 1px rgba(255,255,255,0.3);
  background-color: rgba(255,255,255,0.2);
}

.ac-title, .ac-url {
  overflow: hidden;
}

/* ::::: textboxes inside toolbarpaletteitems ::::: */

toolbarpaletteitem > toolbaritem > textbox > hbox > hbox > html|*.textbox-input {
  visibility: hidden;
}

toolbarpaletteitem > toolbaritem > * > textbox > hbox > hbox > html|*.textbox-input {
  visibility: hidden;
}
