/* Base reset */
#acb-banner,
#acb-tab {
  position: fixed;
  bottom: 0;
  z-index: 100000;
  transition: transform 0.3s ease-in-out;
  font-size: 14px;
}

/* Container to center & constrain banner contents */
.acb-container {
  display: flex;              /* flex layout */
  flex-wrap: wrap;            /* allow wrapping under when needed */
  justify-content: center;    /* center items on each line */
  align-items: center;        /* vertical center on each line */
  max-width: 1200px;          /* desired max content width */
  margin: 0 auto;             /* center container in viewport */
  padding: 0 1em;             /* optional gutter */
  width: 100%;                /* fluid under max-width */
}

/* Banner styling */
#acb-banner {
  left: 0;
  width: 100%;
  transform: translateY(100%);
  padding: 0.5em 0;
}

#acb-banner.acb-visible {
  transform: translateY(0);
}

/* Banner content */
.acb-banner-content {
  flex: 1 1 auto;             /* take available space, but shrink if needed */
  min-width: 0;               /* allow the text to wrap rather than overflow */
  text-align: center;         /* center text for aesthetics */
  margin: 0;                  /* remove prior margins */
  padding: 0;                 /* remove prior padding */
}

/* Close button */
.acb-close {
  flex: 0 0 auto;             /* size to content, no grow/shrink */
  margin-left: 1em;
  margin-right: 1em;   
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  padding: 0.5em 1em;
  border: none;
  cursor: pointer;
  font-size: 1em;
  border-radius: 3px;
  position: static;           /* ensure no absolute positioning */
  transform: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s ease-in-out;
}

.acb-close:hover {
box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.2),
    0 6px 12px rgba(0, 0, 0, 0.15);
}

/* Tab styling */
#acb-tab {
  transform: translateY(100%);
  padding: 0.5em 1em;
  cursor: pointer;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

#acb-tab.acb-visible {
  transform: translateY(0);
}