/*
 * Ported from the CCM19 overrides in Kramp's _astro/BaseLayout.C2DD4hBR.css.
 * Same provider selectors and responsive rules; Lighthouse colors and fonts.
 * Presentation only: no consent logic, hidden controls, or script exemptions.
 */
.ccm-root,
.ccm-root .ccm-widget,
.ccm-root .ccm-modal,
.ccm-root .ccm-widget button,
.ccm-root .ccm-widget input,
.ccm-root .ccm-widget select {
  font-family: Montserrat, Arial, sans-serif !important;
}

.ccm-root .ccm-widget .ccm-modal-inner,
.ccm-root .ccm-widget.ccm--alignment--bottom .ccm-modal-inner,
.ccm-root .ccm-widget.ccm--alignment--top .ccm-modal-inner,
.ccm-root .ccm-modal.ccm-control-panel .ccm-modal-inner {
  color: #272233 !important;
  background-color: #f6f4ef !important;
  border: 1px solid #d9d5cf !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 70px #27223333 !important;
}

.ccm-root .ccm-modal--header,
.ccm-root .ccm-modal--body,
.ccm-root .ccm-modal--footer,
.ccm-root .ccm-control-panel .ccm-modal--header,
.ccm-root .ccm-control-panel .ccm-modal--footer,
.ccm-root .ccm-control-panel .ccm-modal--footer.ccm-link-container-sub-footer {
  background-color: #f6f4ef !important;
  background-image: none !important;
  border-color: #d9d5cf !important;
}

.ccm-root .ccm-widget--title,
.ccm-root .ccm-modal--title,
.ccm-root .ccm--h1,
.ccm-root .ccm-modal--header h1,
.ccm-root .ccm-modal--header h2,
.ccm-root .ccm-modal--header h3 {
  color: #272233 !important;
  letter-spacing: -.02em !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-weight: 500 !important;
}

.ccm-root .ccm-widget,
.ccm-root .ccm-widget p,
.ccm-root .ccm-widget .ccm-modal--body,
.ccm-root .ccm-widget .ccm-widget--text,
.ccm-root .ccm-widget--introduction {
  color: #615c6b !important;
  line-height: 1.65 !important;
}

.ccm-root .ccm-widget--text:after {
  background-image: linear-gradient(#f6f4ef00, #f6f4ef) !important;
}

.ccm-root .ccm-widget--buttons { gap: 10px !important; }

.ccm-root .ccm-widget--buttons .button,
.ccm-root .ccm-widget--buttons button,
.ccm-root .ccm--action-buttons .button,
.ccm-root .ccm--action-buttons button,
.ccm-root .ccm-control-panel .ccm-modal--footer > .button,
.ccm-root .ccm-control-panel .ccm-modal--footer > button {
  letter-spacing: .03em !important;
  text-transform: none !important;
  border-style: solid !important;
  border-width: 1px !important;
  border-radius: 3px !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 50px !important;
  padding: 12px 25px !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  transition: box-shadow .2s, background-color .2s, border-color .2s, color .2s !important;
  display: inline-flex !important;
}

.ccm-root .button.ccm--button-primary,
.ccm-root button.ccm--button-primary {
  color: #fff !important;
  background-color: #b62469 !important;
  border-color: #b62469 !important;
  box-shadow: 0 8px 22px #27223324 !important;
}

.ccm-root .button.ccm--button-primary:hover,
.ccm-root button.ccm--button-primary:hover,
.ccm-root .button.ccm--button-primary:focus,
.ccm-root button.ccm--button-primary:focus {
  color: #fff !important;
  background-color: #952058 !important;
  border-color: #952058 !important;
  box-shadow: 0 10px 25px #27223333 !important;
}

.ccm-root .button.ccm--decline-cookies,
.ccm-root button.ccm--decline-cookies,
.ccm-root .ccm-widget--buttons .button:not(.ccm--button-primary),
.ccm-root .ccm-widget--buttons button:not(.ccm--button-primary),
.ccm-root .ccm-control-panel .ccm-modal--footer > .button:not(.ccm--button-primary),
.ccm-root .ccm-control-panel .ccm-modal--footer > button:not(.ccm--button-primary),
.ccm-root .ccm-control-panel .ccm--save-settings:not(.ccm--button-primary) {
  color: #272233 !important;
  background-color: #f6f4ef !important;
  border-color: #272233 !important;
  box-shadow: 0 8px 22px #27223324 !important;
}

.ccm-root .button.ccm--decline-cookies:hover,
.ccm-root button.ccm--decline-cookies:hover,
.ccm-root .button.ccm--decline-cookies:focus,
.ccm-root button.ccm--decline-cookies:focus,
.ccm-root .ccm-widget--buttons .button:not(.ccm--button-primary):hover,
.ccm-root .ccm-widget--buttons button:not(.ccm--button-primary):hover,
.ccm-root .ccm-control-panel .ccm-modal--footer > .button:not(.ccm--button-primary):hover,
.ccm-root .ccm-control-panel .ccm-modal--footer > button:not(.ccm--button-primary):hover,
.ccm-root .ccm-control-panel .ccm--save-settings:not(.ccm--button-primary):hover {
  color: #fff !important;
  background-color: #272233 !important;
  border-color: #272233 !important;
  box-shadow: 0 10px 25px #27223333 !important;
}

.ccm-root .button.ccm-info-button,
.ccm-root button.ccm-info-button {
  color: #615c6b !important;
  box-shadow: none !important;
  background: transparent !important;
  border-color: #d9d5cf !important;
}

.ccm-root .button.ccm-info-button:hover,
.ccm-root button.ccm-info-button:hover {
  color: #272233 !important;
  background: #e8e5df !important;
  border-color: #272233 !important;
}

.ccm-root .ccm-widget--buttons .button:focus-visible,
.ccm-root .ccm-widget--buttons button:focus-visible,
.ccm-root .ccm-control-panel .ccm-modal--footer > .button:focus-visible,
.ccm-root .ccm-control-panel .ccm-modal--footer > button:focus-visible {
  outline-offset: 3px !important;
  outline: 2px solid #b62469 !important;
}

.ccm-root .ccm-modal--footer .ccm-link-container a:link,
.ccm-root .ccm-modal--footer .ccm-link-container a:visited,
.ccm-root .ccm-link-container a:link,
.ccm-root .ccm-link-container a:visited {
  color: #272233 !important;
  text-underline-offset: 3px !important;
  font-weight: 600 !important;
}

.ccm-root .ccm-modal--footer .ccm-link-container a:hover,
.ccm-root .ccm-link-container a:hover { color: #b62469 !important; }

.ccm-root .ccm-powered-by,
.ccm-root .ccm-powered-by a:link,
.ccm-root .ccm-powered-by a:visited { color: #615c6b !important; }

.ccm-root .ccm-dismiss-button,
.ccm-root .ccm-widget .ccm-dismiss-button,
.ccm-root .ccm-widget--language-switch,
.ccm-root .ccm-widget--language-select {
  color: #615c6b !important;
  border-color: #d9d5cf !important;
}

.ccm-root .ccm-dismiss-button:hover,
.ccm-root .ccm-widget .ccm-dismiss-button:hover,
.ccm-root .ccm-widget .ccm-dismiss-button:focus { color: #272233 !important; }

.ccm-root .ccm-control-panel--purpose,
.ccm-root .ccm-control-panel--purpose--name,
.ccm-root .ccm-control-panel--purpose > input[type=checkbox] + label,
.ccm-root .ccm-control-panel--purposes .ccm--group-title,
.ccm-root .ccm-control-panel--purpose--description { color: #272233 !important; }

.ccm-root .ccm--tcf-enabled .ccm-control-panel--purpose:nth-of-type(odd),
.ccm-root .ccm-details--embedding-assets-table thead tr th,
.ccm-root .ccm-details--embedding-assets-table tbody tr td {
  color: #272233 !important;
  background-color: #e8e5df !important;
}

.ccm-root input[type=checkbox].ccm-checkbox-type--switch:checked + label:before,
.ccm-root input[type=checkbox].ccm-checkbox-type--switch:indeterminate + label:before {
  background-color: #b62469 !important;
  border-color: #b62469 !important;
}

.ccm-root input[type=checkbox].ccm-checkbox-type--switch:checked + label:after,
.ccm-root input[type=checkbox].ccm-checkbox-type--switch:indeterminate + label:after {
  background-color: #fff !important;
}

.ccm-root input[type=checkbox].ccm-checkbox-type--checkbox:checked + label:after {
  color: #fff !important;
  background-color: #b62469 !important;
}

.ccm-root .ccm-settings-summoner--link,
.ccm-settings-summoner--link {
  box-shadow: none !important;
  filter: drop-shadow(0 3px 8px #27223359) !important;
}

.ccm-root .ccm-settings-summoner--link:hover,
.ccm-settings-summoner--link:hover {
  box-shadow: none !important;
  filter: drop-shadow(0 5px 12px #27223373) !important;
}

@media screen and (max-width: 640px) {
  .ccm-root .ccm-widget .ccm-modal-inner,
  .ccm-root .ccm-modal.ccm-control-panel .ccm-modal-inner {
    border-radius: 4px !important;
  }
  .ccm-root .ccm-widget--buttons { gap: 8px !important; }
  .ccm-root .ccm-widget--buttons .button,
  .ccm-root .ccm-widget--buttons button,
  .ccm-root .ccm-control-panel .ccm-modal--footer > .button,
  .ccm-root .ccm-control-panel .ccm-modal--footer > button {
    width: 100% !important;
    margin: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ccm-root .ccm-widget--buttons .button,
  .ccm-root .ccm-widget--buttons button,
  .ccm-root .ccm-control-panel .ccm-modal--footer > .button,
  .ccm-root .ccm-control-panel .ccm-modal--footer > button {
    transition: none !important;
  }
}