/* Restyles the Superset / infocompliance cookieconsent banner (injected at
   runtime via GTM from fe.sitedataprocessing.com) to match the Finsweet
   cookie modal this site used on Webflow.

   The vendor stylesheet loads async from their CDN and may land after this
   file, so the overrides below are !important by necessity. Selectors track
   the vendor's markup:
     .cc-window > span.cc-message (+ a.cc-link) + div.cc-compliance > a.cc-deny, a.cc-allow
   The vendor swaps .cc-banner for .cc-floating at narrow widths, so these
   selectors deliberately key off .cc-window alone and cover both.
   If the vendor changes that structure this file stops applying and the
   banner reverts to their default yellow bar. It fails visible, not broken. */

.cc-window {
  /* card */
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 24px !important;
  transform: translateX(-50%) !important;
  width: calc(100% - 48px) !important;
  max-width: 1140px !important;
  box-sizing: border-box !important;
  background: #fff !important;
  color: #000 !important;
  border: 1px solid rgba(17, 10, 51, .08) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 48px rgba(17, 10, 51, .16) !important;
  padding: 26px 32px !important;
  font-family: Manrope, Arial, sans-serif !important;
  /* layout */
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  flex-wrap: nowrap !important;
  z-index: 2147483647 !important;
}

/* message column, with the "Cookie settings" title the vendor markup lacks */
.cc-window .cc-message {
  flex: 1 1 auto !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 21px !important;
  color: #000 !important;
  font-family: Manrope, Arial, sans-serif !important;
}

.cc-window .cc-message::before {
  content: "Cookie settings";
  display: block;
  margin-bottom: 6px;
  padding-left: 32px;
  min-height: 24px;
  line-height: 24px;
  font-size: 20px;
  font-weight: 600;
  color: #000;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23E8A33D' stroke-width='1.6' d='M21.5 12a9.5 9.5 0 1 1-9.9-9.49 3.5 3.5 0 0 0 4.2 4.2 3.5 3.5 0 0 0 3.4 3.4c.7.4 1.6.9 2.3 1.89Z'/%3E%3Ccircle cx='9' cy='10' r='1.2' fill='%23E8A33D'/%3E%3Ccircle cx='14' cy='15' r='1.2' fill='%23E8A33D'/%3E%3Ccircle cx='8.5' cy='15.5' r='1' fill='%23E8A33D'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 24px 24px;
}

.cc-window .cc-link,
.cc-window .cc-link:hover {
  color: #110a33 !important;
  opacity: 1 !important;
  text-decoration: underline !important;
  padding: 0 !important;
  font-weight: 600 !important;
}

/* buttons */
.cc-window .cc-compliance {
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: row-reverse !important; /* Allow (primary) sits left of Decline */
  align-items: center !important;
  gap: 12px !important;
}

.cc-window .cc-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  padding: 12px 22px !important;
  border-radius: 100px !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background-color .18s ease, color .18s ease !important;
  flex: 0 0 auto !important;
  max-width: none !important;
  min-width: 0 !important;
  border: 1px solid transparent !important;
}

.cc-window .cc-btn.cc-allow {
  background: #ffc61e !important;
  color: #040e19 !important;
  border-color: transparent !important;
}
.cc-window .cc-btn.cc-allow:hover { background: #f0b400 !important; }

.cc-window .cc-btn.cc-deny {
  background: transparent !important;
  color: #110a33 !important;
  border: 1px solid #110a33 !important;
}
.cc-window .cc-btn.cc-deny:hover {
  background: #110a33 !important;
  color: #fff !important;
}

@media (max-width: 860px) {
  .cc-window {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
    padding: 22px !important;
    bottom: 12px !important;
    width: calc(100% - 24px) !important;
  }
  .cc-window .cc-compliance { width: 100% !important; }
  .cc-window .cc-btn { flex: 1 1 0 !important; }
}

/* revoke handle ("Cookie Policy" tab) the vendor pins bottom-left once a
   choice has been made */
.cc-revoke {
  background: #fff !important;
  color: #110a33 !important;
  border: 1px solid rgba(17, 10, 51, .12) !important;
  border-bottom: none !important;
  border-radius: 8px 8px 0 0 !important;
  box-shadow: 0 -4px 16px rgba(17, 10, 51, .1) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 8px 16px !important;
  text-decoration: none !important;
}
.cc-revoke:hover { background: #f7f5ff !important; text-decoration: none !important; }
