seventh part of syncing LCARStrek with Firefox 29 windows theme changes
[themes.git] / LCARStrek / browser / customizableui / panelUIOverlay.css
index 60267c5442433f43ee25d6e07a95e38067aa86ff..1346de4259848fa04348d8ceca095720bd9911ed 100644 (file)
@@ -4,11 +4,50 @@
 
 /* === BEGIN panelUIOverlay.inc.css === */
 
+#PanelUI-popup #PanelUI-contents:empty {
+    height: 128px;
+}
+
+#PanelUI-popup #PanelUI-contents:empty::before {
+  content: "";
+  background-image: url("chrome://browser/skin/customizableui/whimsy-bw.png");
+  display: block;
+  width: 64px;
+  height: 64px;
+  position: absolute;
+  animation: moveX 3.05s linear 0s infinite alternate,
+             moveY 3.4s linear 0s infinite alternate;
+}
+
+#PanelUI-popup #PanelUI-contents:empty:hover::before {
+  background-image: url("chrome://browser/skin/customizableui/whimsy.png");
+}
+
+@media (min-resolution: 2dppx) {
+  #PanelUI-popup #PanelUI-contents:empty::before {
+    background-image: url("chrome://browser/skin/customizableui/whimsy-bw@2x.png");
+    background-size: 64px 64px;
+  }
+  #PanelUI-popup #PanelUI-contents:empty:hover::before {
+    background-image: url("chrome://browser/skin/customizableui/whimsy@2x.png");
+  }
+}
+
+@keyframes moveX {
+  /* These values are adjusted for the padding on the panel. */
+  from { margin-left: -15px; } to { margin-left: calc(100% - 49px); }
+}
+@keyframes moveY {
+  /* These values are adjusted for the padding and height of the panel. */
+  from { margin-top: -6px; } to { margin-top: 58px; }
+}
+
 #customization-panelHolder {
   border-radius: 4px;
 }
 
 #PanelUI-button {
+  -moz-margin-start: 3px;
 }
 
 #PanelUI-button:-moz-locale-dir(rtl) {
   transform: translateX(-22.35em);
 }
 
+panelmultiview[nosubviews=true] > .panel-viewcontainer > .panel-viewstack > .panel-subviews {
+  display: none;
+}
+
 .panel-viewstack:not([viewtype="main"]) > .panel-mainview > #PanelUI-mainView {
   -moz-box-flex: 1;
 }
   padding: .5em 0;
 }
 
-.panelUI-grid .toolbarbutton-menubutton-button > .toolbarbutton-multiline-text,
+.panelUI-grid .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-multiline-text,
 .panelUI-grid .toolbarbutton-1 > .toolbarbutton-multiline-text {
-  margin: 2px 0 0;
-  text-align: center;
+/*  line-height: 1.1;*/
+  max-height: 2.2em;
+}
+
+.panelUI-grid .toolbarbutton-1:not([auto-hyphens="off"]) > .toolbarbutton-menubutton-button > .toolbarbutton-multiline-text,
+.panelUI-grid .toolbarbutton-1:not([auto-hyphens="off"]) > .toolbarbutton-multiline-text {
   -moz-hyphens: auto;
 }
 
+.panelUI-grid:not([customize-transitioning]) .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-multiline-text,
+.panelUI-grid:not([customize-transitioning]) .toolbarbutton-1 > .toolbarbutton-multiline-text {
+  position: absolute;
+  clip: rect(auto, auto, 2.3em, auto);
+}
+
+.panelUI-grid .toolbarbutton-1 > .toolbarbutton-text,
+.panelUI-grid .toolbarbutton-1 > .toolbarbutton-multiline-text {
+  text-align: center;
+  /* Need to override toolkit theming which sets margin: 0 !important; */
+  margin: 2px 0 0 !important;
+}
+
+.panelUI-grid .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-multiline-text {
+  text-align: center;
+  margin: -1px 0 0;
+}
+
 #wrapper-edit-controls:-moz-any([place="palette"],[place="panel"]) > #edit-controls,
 #wrapper-zoom-controls:-moz-any([place="palette"],[place="panel"]) > #zoom-controls {
   -moz-margin-start: 0;
 }
 
-#PanelUI-contents,
-.panel-mainview:not([panelid="PanelUI-popup"]) {
+#PanelUI-contents {
   max-width: 22.35em;
 }
 
+#BMB_bookmarksPopup,
+.panel-mainview:not([panelid="PanelUI-popup"]) {
+  max-width: 30em;
+}
+
 panelview:not([mainview]) .toolbarbutton-text,
 .cui-widget-panel toolbarbutton > .toolbarbutton-text {
   text-align: start;
@@ -147,7 +216,7 @@ panelview:not([mainview]) .toolbarbutton-text,
   flex: auto;
 }
 
-.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > toolbarbutton > .toolbarbutton-icon {
+.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > toolbarbutton > .toolbarbutton-icon {
   min-width: 0;
   min-height: 0;
   margin: 0;
@@ -158,10 +227,17 @@ toolbaritem[cui-areatype="menu-panel"][sdkstylewidget="true"]:not(.panel-wide-it
 .panel-customization-placeholder-child {
   -moz-appearance: none;
   -moz-box-orient: vertical;
-  width: calc(22.35em / 3 - 2px); /* LCARStrek: XXX: found out to be needed to fit the icons */
+  width: calc(22.35em / 3 - 0.1px - 2px); /* LCARStrek: XXX: found out to be needed to fit the icons */
   height: calc(51px + 2.2em);
 }
 
+/* In order to have button labels constrained appropriately, items inside the toolbarpaletteitem
+ * should have a min-width set so they abide by the width set above (which they do outside of
+ * customize mode because they're in a flexed container) */
+toolbarpaletteitem[place="panel"]:not([haswideitem=true]) > .toolbarbutton-1 {
+  min-width: 0.01px;
+}
+
 /* Help SDK buttons fit in. */
 toolbarpaletteitem[place="palette"] > toolbarbutton[sdk-button="true"] > .toolbarbutton-icon,
 toolbarbutton[sdk-button="true"][cui-areatype="menu-panel"] > .toolbarbutton-icon {
@@ -177,7 +253,7 @@ toolbarbutton[sdk-button="true"][cui-areatype="menu-panel"] > .toolbarbutton-ico
 .panelUI-grid .toolbarbutton-1 > .toolbarbutton-menubutton-button {
   -moz-appearance: none;
   -moz-box-orient: vertical;
-  width: calc(22.35em / 3 - 2px);
+  width: calc(22.35em / 3 - 0.1px - 2px);
   height: calc(49px + 2.2em);
   border: 0;
 }
@@ -228,7 +304,7 @@ toolbarbutton[sdk-button="true"][cui-areatype="menu-panel"] > .toolbarbutton-ico
 }
 
 toolbaritem[cui-areatype="menu-panel"][sdkstylewidget="true"]:not(.panel-wide-item) {
-  width: calc(22.35em / 3);
+  width: calc(22.35em / 3 - 0.1px);
   margin: 0 !important;
 }
 
@@ -241,6 +317,18 @@ toolbaritem[cui-areatype="menu-panel"][sdkstylewidget="true"] > iframe {
   margin: 4px auto;
 }
 
+#PanelUI-multiView[viewtype="subview"] > .panel-viewcontainer > .panel-viewstack > .panel-mainview >  #PanelUI-mainView {
+}
+
+#PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-contents-scroller > #PanelUI-contents > .panel-wide-item,
+#PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-contents-scroller > #PanelUI-contents > .toolbarbutton-1:not([panel-multiview-anchor="true"]),
+#PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-footer > #PanelUI-fxa-status,
+#PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-footer > #PanelUI-footer-inner > toolbarseparator,
+#PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-footer > #PanelUI-footer-inner > #PanelUI-customize,
+#PanelUI-multiView[viewtype="subview"] #PanelUI-mainView > #PanelUI-footer > #PanelUI-footer-inner > #PanelUI-help:not([panel-multiview-anchor="true"]) {
+  opacity: .5;
+}
+
 /*
  * XXXgijs: this is a workaround for a layout issue that was caused by these iframes,
  * which was affecting subview display. Because of this, we're hiding the iframe *only*
@@ -269,7 +357,7 @@ toolbaritem[cui-areatype="menu-panel"][sdkstylewidget="true"]:not(.panel-wide-it
   min-height: 32px;
   /* Explanation for the below formula (A / B - C)
      A
-       Each button is 7em (menuPanelButtonWidth) wide
+       Each button is 22.35em / 3 - 0.1px wide
      B
        Each button has two margins.
      C (44px / 2 = 22px)
@@ -279,7 +367,7 @@ toolbaritem[cui-areatype="menu-panel"][sdkstylewidget="true"]:not(.panel-wide-it
        Total width of button's icon + button padding should therefore be 44px,
        which means each horizontal margin should be the half the button's width - (44/2) px.
   */
-  margin: 4px calc(7em / 2 - 22px);
+  margin: 4px calc((22.35em / 3 - 0.1px) / 2 - 22px);
 }
 
 /* above we treat the container as the icon for the margins, that is so the
@@ -304,8 +392,8 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton {
   -moz-margin-end: 2px;
 }
 
-#edit-controls:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > #copy-button,
-#zoom-controls:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > #zoom-reset-button {
+#edit-controls:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > #copy-button,
+#zoom-controls:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > #zoom-reset-button {
   border-left: none;
   border-right: none;
   border-radius: 0;
@@ -333,6 +421,10 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton {
   display: flex;
   border-top: 1px solid #9C9CFF;
 }
++
+#PanelUI-multiView[viewtype="subview"] #PanelUI-footer-inner {
+  position: relative;
+}
 
 #PanelUI-footer-inner > toolbarseparator {
   border: 0;
@@ -352,8 +444,7 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton {
   padding: 10px 0;
   min-height: 2em;
   box-shadow: none;
-  background-image: none;
-  border: none;  
+  border: none;
   border-radius: 0;
   transition: background-color;
   -moz-box-orient: horizontal;
@@ -369,6 +460,10 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton {
   width: 0; /* Fancy cropping solution for flexbox. */
 }
 
+#PanelUI-help[panel-multiview-anchor="true"] {
+  -moz-image-region: rect(0, 32px, 16px, 16px);
+}
+
 #PanelUI-help,
 #PanelUI-quit {
   min-width: 44px;
@@ -493,7 +588,7 @@ panelview .toolbarbutton-1,
 .subviewbutton,
 .widget-overflow-list .toolbarbutton-1,
 .panelUI-grid .toolbarbutton-1 > .toolbarbutton-menubutton-button,
-.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > toolbarbutton {
+.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > toolbarbutton {
 /*  padding: 2px 6px;
   background-color: hsla(210,4%,10%,0);
   border-radius: 2px;
@@ -506,20 +601,34 @@ panelview .toolbarbutton-1,
 panelview .toolbarbutton-1,
 .subviewbutton,
 .widget-overflow-list .toolbarbutton-1,
-.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > toolbarbutton {
+.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > toolbarbutton {
   border-width: 0;
 }
 
 .subviewbutton.panel-subview-footer {
-  border-radius: 0;
+/*  border-radius: 0;*/
   border: none;
 }
 
-.subviewbutton.panel-subview-footer > .toolbarbutton-text,
 .subviewbutton.panel-subview-footer > .menu-text {
-  -moz-padding-start: 0;
-  -moz-padding-end: 12px;
+  -moz-margin-start: 0px !important;
+  -moz-padding-start: 6px;
+  -moz-padding-end: 6px;
   -moz-box-flex: 0;
+  text-align: center;
+}
+
+.subviewbutton.panel-subview-footer > .toolbarbutton-icon {
+  margin: 0;
+}
+
+.subviewbutton.panel-subview-footer > .toolbarbutton-text {
+  text-align: center;
+  padding: 0;
+}
+
+.subviewbutton.panel-subview-footer > .menu-accel-container {
+  -moz-padding-start: 6px;
 }
 
 .subviewbutton:not(.panel-subview-footer) {
@@ -533,6 +642,22 @@ panelview .toolbarbutton-1,
 /*  font-size: 1.1em;*/
 }
 
+.PanelUI-subView .subviewbutton[shortcut]::after {
+  content: attr(shortcut);
+  float: right;
+  color: #A09090;
+}
+
+.PanelUI-subView.cui-widget-panelview .subviewbutton[shortcut]::after {
+  -moz-margin-start: 10px;
+}
+
+/* This is a <label> but it should fit in with the menu font- and colorwise. */
+#PanelUI-characterEncodingView-autodetect-label {
+  font: menu;
+  color: inherit;
+}
+
 .cui-widget-panelview .subviewbutton:not(.panel-subview-footer) {
   margin-left: 4px;
   margin-right: 4px;
@@ -544,18 +669,18 @@ panelview .toolbarbutton-1,
 }
 
 /*
-panelview toolbarbutton-1:not(:-moz-any([disabled],[checked="true"],[open],:active)):-moz-any(:hover,[_moz-menuactive]),
+panelview .toolbarbutton-1:not(:-moz-any([disabled],[checked="true"],[open],:active)):-moz-any(:hover,[_moz-menuactive]),
 toolbarbutton.subviewbutton:not(:-moz-any([disabled],[checked="true"],[open],:active)):-moz-any(:hover,[_moz-menuactive]),
 menu.subviewbutton:not(:-moz-any([disabled],:active))[_moz-menuactive],
 menuitem.subviewbutton:not(:-moz-any([disabled],:active))[_moz-menuactive],
 .widget-overflow-list .toolbarbutton-1:not(:-moz-any([disabled],[checked="true"],[open],:active)):-moz-any(:hover,[_moz-menuactive]),
-.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem)
+.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true])
     > toolbarbutton:not(:-moz-any([disabled],[checked="true"],[open],:active)):hover {
   background-color: hsla(210,4%,10%,.08);
   border-color: hsla(210,4%,10%,.11);
 }
 
-.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem):not(:-moz-any([disabled],[checked="true"],[open],:active)):-moz-any(:hover,[_moz-menuactive]) {
+.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]):not(:-moz-any([disabled],[checked="true"],[open],:active)):-moz-any(:hover,[_moz-menuactive]) {
   border-color: hsla(210,4%,10%,.11);
 }
 
@@ -564,7 +689,7 @@ toolbarbutton.subviewbutton:not([disabled]):-moz-any([open],[checked="true"],:ho
 menu.subviewbutton:not([disabled])[_moz-menuactive]:active,
 menuitem.subviewbutton:not([disabled])[_moz-menuactive]:active,
 .widget-overflow-list .toolbarbutton-1:not([disabled]):-moz-any([open],[checked="true"],:hover:active,[_moz-menuactive]:active)),
-.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem)
+.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true])
     > toolbarbutton:not([disabled]):-moz-any([open],[checked="true"],:hover:active,[_moz-menuactive]:active)) {
   background-color: hsla(210,4%,10%,.12);
   border-color: hsla(210,4%,10%,.14);
@@ -579,11 +704,13 @@ menuitem.subviewbutton:not([disabled])[_moz-menuactive]:active,
   color: hsl(0,0%,25%)
 }
 
+menuitem.panel-subview-footer:not(:-moz-any([disabled],[open],:active)):hover,
 .subviewbutton.panel-subview-footer:not(:-moz-any([disabled],[open],:active)):hover {
   background-color: hsla(210,4%,10%,.1);
   border-top: 1px solid hsla(210,4%,10%,.12);
 }
 
+menuitem.panel-subview-footer:not([disabled]):-moz-any([open],[checked="true"],:hover:active),
 .subviewbutton.panel-subview-footer:not([disabled]):-moz-any([open],[checked="true"],:hover:active) {
   background-color: hsla(210,4%,10%,.15);
   border-top: 1px solid hsla(210,4%,10%,.12);
@@ -616,8 +743,17 @@ menuitem.subviewbutton:not([disabled])[_moz-menuactive]:active,
 }
 
 #BMB_bookmarksPopup menupopup > .bookmarks-actions-menuseparator {
-  / Hide bottom separator as the styled footer includes a top border serving the same purpose /
-  display: none;
+  / Hide bottom separator as the styled footer includes a top border serving the same purpose.
+   * We can't just use display: none here, otherwise scrollbox.xml will flip out and sometimes
+   * refuse to scroll for us (see bug 984156). Instead, we set it to visibility hidden, force
+   * a minimum height, and then negative-margin that single pixel into oblivion. That seems
+   * to be enough to make scrollbox happy.
+   /
+  -moz-appearance: none;
+  visibility: hidden;
+  min-height: 1px;
+  margin: -1px 0 0;
+  border: none;
 }
 */
 
@@ -666,28 +802,43 @@ menuitem.subviewbutton:not([disabled])[_moz-menuactive]:active,
   height: 16px;
 }
 
-#PanelUI-footer > #PanelUI-footer-inner[panel-multiview-anchor=true],
-toolbarbutton[panel-multiview-anchor=true] {
+toolbarbutton[panel-multiview-anchor="true"],
+toolbarbutton[panel-multiview-anchor="true"] > .toolbarbutton-menubutton-button {
+  color: #000000;
+  background-color: #008484;
+}
+
+#PanelUI-help[panel-multiview-anchor="true"] + toolbarseparator {
+  display: none;
+}
+
+#PanelUI-help[panel-multiview-anchor="true"] {
+  background-image: none;
+}
+
+#PanelUI-help[panel-multiview-anchor="true"]::after {
+  content: "";
+  position: absolute;
+  top: 0;
+  height: 100%;
+  width: 38px;
+  background-image: url("chrome://browser/skin/customizableui/subView-arrow-back-inverted.png");
+  background-repeat: no-repeat;
   background-color: #008484;
+  background-position: left 10px center, 0; /* this doesn't need to be changed for RTL */
 }
 
-toolbarbutton[panel-multiview-anchor=true] {
+toolbarbutton[panel-multiview-anchor="true"] {
   background-image: url("chrome://browser/skin/customizableui/subView-arrow-back-inverted.png");
   background-position: right 5px center;
   background-repeat: no-repeat;
 }
 
-toolbarbutton[panel-multiview-anchor=true]:-moz-locale-dir(rtl) {
+toolbarbutton[panel-multiview-anchor="true"]:-moz-locale-dir(rtl) {
   background-image: url("chrome://browser/skin/customizableui/subView-arrow-back-inverted-rtl.png");
   background-position: left 5px center;
 }
 
-#PanelUI-footer > #PanelUI-footer-inner[panel-multiview-anchor=true],
-toolbarbutton[panel-multiview-anchor=true],
-toolbarbutton[panel-multiview-anchor=true] > .toolbarbutton-menubutton-button {
-  color: #000000;
-}
-
 toolbarpaletteitem[place="palette"] > .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker,
 #bookmarks-menu-button[cui-areatype="menu-panel"] > .toolbarbutton-menubutton-dropmarker {
   display: none;
@@ -708,19 +859,29 @@ toolbarpaletteitem[place="palette"] > #search-container {
   width: 7em;
 }
 
-.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) {
+.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) {
   padding: 0;
   transition-property: background-color, border-color;
   transition-duration: 150ms;
 }
 
-.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > toolbarbutton {
+/* Make direct siblings overlap borders: */
+.toolbaritem-combined-buttons + .toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) {
+/*  border-top-color: transparent !important; */
+}
+
+.toolbaritem-combined-buttons + .toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]),
+toolbarpaletteitem[haswideitem][place="panel"] + toolbarpaletteitem[haswideitem][place="panel"] {
+/*  margin-top: -1px; */
+}
+
+.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > toolbarbutton {
   border: 0;
   padding: .5em;
   margin: 0;
   -moz-box-flex: 1;
-  min-width: calc(22.35em / 3);
-  max-width: calc(22.35em / 3);
+  min-width: calc(22.35em / 3 - 0.1px);
+  max-width: calc(22.35em / 3 - 0.1px);
   /* We'd prefer to use height: auto here but it leads to layout bugs in the panel. Cope:
      1.2em for line height + 2 * .5em padding + margin on the label (2 * 2px) */
   height: calc(2.2em + 4px);
@@ -728,15 +889,15 @@ toolbarpaletteitem[place="palette"] > #search-container {
   -moz-box-orient: horizontal;
 }
 
-#edit-controls:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > #copy-button,
-#zoom-controls:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > #zoom-reset-button {
+#edit-controls:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > #copy-button,
+#zoom-controls:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > #zoom-reset-button {
   /* reduce the width with 2px for this button to compensate for two separators
      of 1px. */
-  min-width: calc(22.35em / 3 - 2px);
-  max-width: calc(22.35em / 3 - 2px);
+  min-width: calc(22.35em / 3 - 0.1px - 2px);
+  max-width: calc(22.35em / 3 - 0.1px - 2px);
 }
 
-#main-window:not([customizing]) .toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > toolbarbutton[disabled] > .toolbarbutton-icon {
+#main-window:not([customizing]) .toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > toolbarbutton[disabled] > .toolbarbutton-icon {
 /*  opacity: .25; */
 }
 
@@ -744,18 +905,18 @@ toolbarpaletteitem[place="palette"] > #search-container {
   min-width: 7ch;
 }
 
-#edit-controls:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > #cut-button:-moz-locale-dir(ltr),
-#edit-controls:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > #paste-button:-moz-locale-dir(rtl),
-#zoom-controls:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > #zoom-out-button:-moz-locale-dir(ltr),
-#zoom-controls:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > #zoom-in-button:-moz-locale-dir(rtl) {
+#edit-controls:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > #cut-button:-moz-locale-dir(ltr),
+#edit-controls:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > #paste-button:-moz-locale-dir(rtl),
+#zoom-controls:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > #zoom-out-button:-moz-locale-dir(ltr),
+#zoom-controls:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > #zoom-in-button:-moz-locale-dir(rtl) {
   border-top-right-radius: 0;
   border-bottom-right-radius: 0;
 }
 
-#edit-controls:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > #cut-button:-moz-locale-dir(rtl),
-#edit-controls:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > #paste-button:-moz-locale-dir(ltr),
-#zoom-controls:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > #zoom-out-button:-moz-locale-dir(rtl),
-#zoom-controls:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > #zoom-in-button:-moz-locale-dir(ltr) {
+#edit-controls:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > #cut-button:-moz-locale-dir(rtl),
+#edit-controls:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > #paste-button:-moz-locale-dir(ltr),
+#zoom-controls:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > #zoom-out-button:-moz-locale-dir(rtl),
+#zoom-controls:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > #zoom-in-button:-moz-locale-dir(ltr) {
   border-top-left-radius: 0;
   border-bottom-left-radius: 0;
 }
@@ -766,7 +927,7 @@ toolbarpaletteitem[place="palette"] > #search-container {
   -moz-box-align: stretch;
 }
 
-.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem) > separator {
+.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]) > separator {
   margin: .5em 0;
   width: 1px;
   height: auto;
@@ -776,7 +937,7 @@ toolbarpaletteitem[place="palette"] > #search-container {
   transition-timing-function: ease;
 }
 
-.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]),.overflowedItem):hover > separator {
+.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), [overflowedItem=true]):hover > separator {
   margin: 0;
 }
 
@@ -802,7 +963,8 @@ toolbarpaletteitem[place="palette"] > #search-container {
   padding-right: 10px;
 }
 
-#widget-overflow-list > .overflowedItem {
+toolbaritem[overflowedItem=true],
+toolbarbutton[overflowedItem=true] {
   width: 100%;
   max-width: 22.35em;
   min-height: 36px;
@@ -816,7 +978,7 @@ toolbarpaletteitem[place="palette"] > #search-container {
   -moz-box-orient: horizontal;
 }
 
-.widget-overflow-list .toolbarbutton-1 > .toolbarbutton-text,
+.widget-overflow-list .toolbarbutton-1:not(.toolbarbutton-combined) > .toolbarbutton-text,
 .widget-overflow-list .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-text {
   text-align: start;
   -moz-padding-start: .5em;
@@ -867,13 +1029,13 @@ toolbarpaletteitem[place="palette"] > #search-container {
 
 /* bookmark panel submenus */
 
-#BMB_bookmarksPopup menupopup {
-  background: transparent;
+#BMB_bookmarksPopup menupopup[placespopup=true] {
+/*  background: transparent;
   border: none;
-  padding: 6px;
+  padding: 6px;*/
 }
 
-#BMB_bookmarksPopup menupopup > hbox {
+#BMB_bookmarksPopup menupopup[placespopup=true] > hbox {
   /* emulating chrome://browser/content/places/menu.xml#places-popup-arrow but without the arrow */
 /*  background: #FFF;
   border: 1px solid rgba(0,0,0,0.25);
@@ -881,6 +1043,15 @@ toolbarpaletteitem[place="palette"] > #search-container {
   margin-top: -4px;*/
 }
 
+#BMB_bookmarksPopup menupopup {
+/*  padding-top: 2px;*/
+}
+
+/* Add some space at the top because there are no headers: */
+#BMB_bookmarksPopup menupopup[placespopup=true] > hbox > .popup-internal-box > .arrowscrollbox-scrollbox > .scrollbox-innerbox  {
+/*  padding-top: 4px;*/
+}
+
 #BMB_bookmarksPopup .menu-text {
 /*  color: #000;*/
 }
@@ -891,6 +1062,27 @@ toolbarpaletteitem[place="palette"] > #search-container {
   padding-bottom: 0;
 }
 
+.subviewbutton > .menu-right,
+.subviewbutton > .menu-iconic-left {
+/*  padding-top: 1px;
+  margin-top: 1px;
+  margin-bottom: 2px;*/
+}
+
+/* Disabled empty item looks too small otherwise, because it has no icon. */
+menuitem.subviewbutton[disabled]:not(.menuitem-iconic),
+/* Same for checkbox menu items, whose icons lose size due to -moz-appearance: none: */
+menuitem[type="checkbox"].subviewbutton {
+  /* This is 16px for an icon + 3px for its margins + 1px for its padding +
+   * 2px for its border, see above */
+/*  min-height: 22px;*/
+}
+
+.subviewbutton > .toolbarbutton-text {
+/*  padding-top: 3px;
+  padding-bottom: 3px;*/
+}
+
 .widget-overflow-list .toolbarbutton-1 > .toolbarbutton-menubutton-button {
   -moz-appearance: none;
   border: 0;