/* Overrides for the CCM19 cookie banner: compact bar at the bottom, brand look.
   CCM19 injects its own stylesheet after this one, hence the !important flags. */

/* the banner container: pinned to the bottom, no full-screen layer */
.ccm-root #ccm-widget.ccm-widget {
  position: fixed !important;
  inset: auto 16px 16px 16px !important;
  width: auto !important; height: auto !important;
  max-width: 880px !important; margin: 0 auto !important;
  display: block !important; transform: none !important;
  background: transparent !important; padding: 0 !important;
}
.ccm-root #ccm-widget .ccm-modal-inner {
  position: relative !important;
  width: 100% !important; max-width: none !important; max-height: none !important;
  margin: 0 !important; padding: 16px 20px !important;
  background: #FAF8F3 !important; color: #1C1918 !important;
  border: 1px solid rgba(181,164,154,.35) !important; border-radius: 6px !important;
  box-shadow: 0 18px 40px -18px rgba(28,25,24,.28), 0 2px 6px rgba(28,25,24,.06) !important;
  font-family: 'Nunito Sans', sans-serif !important;
  display: grid !important;
  grid-template-columns: 1fr auto; grid-template-areas: "text buttons" "links buttons";
  column-gap: 20px; row-gap: 6px; align-items: center;
}

/* header (language switch + close) is not needed in the compact bar */
.ccm-root #ccm-widget .ccm-modal--header { display: none !important; }
/* only the short text: hide the long title */
.ccm-root #ccm-widget .ccm-widget--title { display: none !important; }

.ccm-root #ccm-widget .ccm-modal--body { display: contents !important; }
.ccm-root #ccm-widget .ccm-widget--text {
  grid-area: text; min-height: 0 !important; max-height: none !important; overflow: visible !important; padding: 0 !important; margin: 0 !important;
}
.ccm-root #ccm-widget .ccm-inner-overflow { max-height: none !important; overflow: visible !important; padding: 0 !important; }
.ccm-root #ccm-widget .ccm-widget--introduction,
.ccm-root #ccm-widget .ccm-widget--introduction * {
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 14px !important; line-height: 1.55 !important; color: #1C1918 !important; margin: 0 !important;
}

.ccm-root #ccm-widget .ccm-widget--buttons {
  grid-area: buttons; display: flex !important; flex-direction: row !important;
  gap: 8px !important; margin: 0 !important; padding: 0 !important; flex-wrap: nowrap !important;
}
.ccm-root #ccm-widget .ccm-widget--buttons button {
  flex: 0 0 auto !important; width: auto !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important;
  padding: 9px 12px !important; border-radius: 0 !important;
  font-family: 'Nunito Sans', sans-serif !important; font-size: 11px !important; font-weight: 800 !important;
  letter-spacing: .1em !important; text-transform: uppercase !important; line-height: 1.2 !important;
  cursor: pointer; transition: background-color .22s, color .22s, border-color .22s !important;
}
/* "Reject all" and "Accept all" deliberately look the same, so neither choice is pushed */
.ccm-root #ccm-widget .ccm-widget--buttons button.ccm--decline-cookies,
.ccm-root #ccm-widget .ccm-widget--buttons button.ccm--save-settings {
  background: #1C1918 !important; color: #EDEBE5 !important; border: 1.5px solid #1C1918 !important;
}
.ccm-root #ccm-widget .ccm-widget--buttons button:not(.ccm--decline-cookies):not(.ccm--save-settings) {
  background: transparent !important; color: #1C1918 !important; border: 1.5px solid rgba(28,25,24,.25) !important;
}
.ccm-root #ccm-widget .ccm-widget--buttons button:hover { background: #B5A49A !important; border-color: #B5A49A !important; color: #FAF8F3 !important; }
.ccm-root #ccm-widget .ccm-widget--buttons button:active { background: #8a7469 !important; border-color: #8a7469 !important; }
.ccm-root #ccm-widget .ccm-widget--buttons button:focus-visible { outline: 2px solid #B5A49A !important; outline-offset: 2px !important; }

/* footer: just the two legal links, no CCM19 credit */
.ccm-root #ccm-widget .ccm-modal--footer { grid-area: links; display: block !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; }
.ccm-root #ccm-widget .ccm-powered-by { display: none !important; }
.ccm-root #ccm-widget .ccm-link-container { display: flex !important; gap: 14px; margin: 0 !important; padding: 0 !important; font-size: 0 !important; }
.ccm-root #ccm-widget .ccm-link-container a {
  font-family: 'Nunito Sans', sans-serif !important; font-size: 12px !important; color: rgba(28,25,24,.6) !important;
  text-decoration: underline !important; text-underline-offset: 3px; margin: 0 !important;
}
.ccm-root #ccm-widget .ccm-link-container a:hover { color: #1C1918 !important; }
.ccm-root #ccm-widget .ccm-link-container a:focus-visible { outline: 2px solid #B5A49A !important; outline-offset: 2px; }

/* no floating cookie icon after a choice is made */
.ccm-root .ccm-settings-summoner { display: none !important; }

@media (max-width: 640px) {
  .ccm-root #ccm-widget.ccm-widget { inset: auto 10px 10px 10px !important; }
  .ccm-root #ccm-widget .ccm-modal-inner {
    grid-template-columns: 1fr; grid-template-areas: "text" "buttons" "links";
    row-gap: 12px; padding: 14px 16px !important;
  }
  .ccm-root #ccm-widget .ccm-widget--buttons { gap: 6px !important; }
  .ccm-root #ccm-widget .ccm-widget--buttons button { flex: 1 1 auto !important; padding: 10px 4px !important; font-size: 10px !important; letter-spacing: .03em !important; white-space: nowrap !important; }
}
