:root {

  --vip-brand:          #2e7d32;
  --vip-brand-contrast: #ffffff;
  --vip-brand-hover:    color-mix(in srgb, var(--vip-brand) 85%, #000);

  --vip-neutral-text:   #3a3a3a;
  --vip-neutral-border: #cfcfcf;
  --vip-neutral-hover:  #f1f1f1;

  --vip-bg:             #ffffff;
  --vip-text:           #2b2b2b;
  --vip-muted:          #5b5b5b;
  --vip-radius:         10px;
}

#cc-main {

  --cc-btn-primary-bg:                 var(--vip-brand);
  --cc-btn-primary-color:              var(--vip-brand-contrast);
  --cc-btn-primary-border-color:       var(--vip-brand);
  --cc-btn-primary-hover-bg:           var(--vip-brand-hover);
  --cc-btn-primary-hover-color:        var(--vip-brand-contrast);
  --cc-btn-primary-hover-border-color: var(--vip-brand-hover);

  --cc-btn-secondary-bg:                 transparent;
  --cc-btn-secondary-color:              var(--vip-neutral-text);
  --cc-btn-secondary-border-color:       var(--vip-neutral-border);
  --cc-btn-secondary-hover-bg:           var(--vip-neutral-hover);
  --cc-btn-secondary-hover-color:        var(--vip-neutral-text);
  --cc-btn-secondary-hover-border-color: var(--vip-neutral-border);

  --cc-toggle-on-bg:        var(--vip-brand);
  --cc-toggle-off-bg:       #b9b9b9;
  --cc-toggle-on-knob-bg:   #ffffff;
  --cc-toggle-off-knob-bg:  #ffffff;
  --cc-toggle-enabled-icon-color:  var(--vip-brand);
  --cc-toggle-disabled-icon-color: #b9b9b9;
  --cc-toggle-readonly-bg:        #d7d7d7;
  --cc-toggle-readonly-knob-bg:   #ffffff;

  --cc-bg:              var(--vip-bg);
  --cc-primary-color:   var(--vip-text);
  --cc-secondary-color: var(--vip-muted);
  --cc-link-color:      var(--vip-brand);
  --cc-modal-border-radius: var(--vip-radius);
  --cc-btn-border-radius:   calc(var(--vip-radius) - 2px);
  --cc-footer-bg:           #fafafa;
  --cc-footer-color:        var(--vip-muted);
  --cc-footer-border-color: #ececec;
  --cc-separator-border-color: #ececec;
  --cc-cookie-category-block-bg:        #f7f7f7;
  --cc-cookie-category-block-border:    #ececec;
  --cc-cookie-category-block-hover-bg:  #f1f1f1;
  --cc-overlay-bg: rgba(0, 0, 0, .55);
}

#cc-main .cm__btn[data-role="all"],
#cc-main .pm__btn[data-role="all"] { font-weight: 700; }

#cc-main .cm__btn[data-role="necessary"],
#cc-main .pm__btn[data-role="necessary"] {
  background: #fdecec; color: #b91c1c; border-color: #e7b6b6;
}
#cc-main .cm__btn[data-role="necessary"]:hover,
#cc-main .pm__btn[data-role="necessary"]:hover {
  background: #fbdada; color: #a91414; border-color: #e0a0a0;
}
html.cc--darkmode #cc-main .cm__btn[data-role="necessary"],
html.cc--darkmode #cc-main .pm__btn[data-role="necessary"] {
  background: #3a2020; color: #f1a9a9; border-color: #5a2e2e;
}

html.cc--darkmode #cc-main,
#cc-main.cc--darkmode {
  --cc-bg:              #1e1e1e;
  --cc-primary-color:   #f2f2f2;
  --cc-secondary-color: #b9b9b9;
  --cc-btn-secondary-color:        #e6e6e6;
  --cc-btn-secondary-border-color: #4a4a4a;
  --cc-btn-secondary-hover-bg:     #2c2c2c;
  --cc-btn-secondary-hover-color:  #ffffff;
  --cc-footer-bg:           #181818;
  --cc-footer-color:        #b9b9b9;
  --cc-footer-border-color: #333333;
  --cc-separator-border-color: #333333;
  --cc-cookie-category-block-bg:       #262626;
  --cc-cookie-category-block-border:   #383838;
  --cc-cookie-category-block-hover-bg: #2e2e2e;
  --cc-overlay-bg: rgba(0, 0, 0, .7);

}

.cc-prefs-fab {
  position: fixed !important; left: 16px !important; bottom: 16px !important;
  top: auto !important; right: auto !important; z-index: 2147483646 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  box-sizing: border-box !important;
  width: auto !important; min-width: 48px !important; height: 48px !important;
  min-height: 0 !important; max-width: none !important; max-height: none !important;
  margin: 0 !important; padding: 0 12px !important;
  border: 1px solid var(--vip-brand) !important; border-radius: 999px !important;
  background: var(--vip-brand) !important; color: var(--vip-brand-contrast) !important;
  font-size: 13px !important; line-height: 1 !important;
  letter-spacing: normal !important; text-transform: none !important; white-space: nowrap !important;
  overflow: hidden !important; cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .18) !important;
  transition: background .15s ease, transform .15s ease, padding .2s ease;
}
.cc-prefs-fab::before {
  content: ""; flex: 0 0 auto; width: 22px; height: 22px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M2 12a10 10 0 1 0 20 0a10 10 0 1 0 -20 0ZM7.7 9a1.3 1.3 0 1 0 2.6 0a1.3 1.3 0 1 0 -2.6 0ZM13.9 9.5a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0ZM8.3 14.5a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0 -2.4 0ZM13.5 14.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0ZM11.2 11.8a.8 .8 0 1 0 1.6 0a.8 .8 0 1 0 -1.6 0Z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M2 12a10 10 0 1 0 20 0a10 10 0 1 0 -20 0ZM7.7 9a1.3 1.3 0 1 0 2.6 0a1.3 1.3 0 1 0 -2.6 0ZM13.9 9.5a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0 -2.2 0ZM8.3 14.5a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0 -2.4 0ZM13.5 14.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0ZM11.2 11.8a.8 .8 0 1 0 1.6 0a.8 .8 0 1 0 -1.6 0Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.cc-prefs-fab__txt {
  max-width: 0; overflow: hidden; white-space: nowrap; opacity: 0;
  font: 600 13px/1 "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
  transition: max-width .25s ease, opacity .2s ease, margin-left .25s ease;
}
.cc-prefs-fab:hover, .cc-prefs-fab:focus-visible { background: var(--vip-brand-hover) !important; padding-left: 15px !important; padding-right: 18px !important; }
.cc-prefs-fab:hover .cc-prefs-fab__txt, .cc-prefs-fab:focus-visible .cc-prefs-fab__txt { max-width: 14em; opacity: 1; margin-left: .55em; }
.cc-prefs-fab:focus-visible { outline: 2px solid var(--vip-brand); outline-offset: 2px; }
html.cc--darkmode .cc-prefs-fab { box-shadow: 0 4px 14px rgba(0, 0, 0, .5); }
@media (prefers-reduced-motion: reduce) { .cc-prefs-fab, .cc-prefs-fab__txt { transition: none; } }

.cc-iframe-ph {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: .8em; min-height: 180px; padding: 1.5em; text-align: center;
  background: #f3f3f3; border: 1px dashed #cccccc; border-radius: var(--vip-radius);
  color: #444; font: 400 14px/1.5 "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.cc-iframe-ph__txt { margin: 0; max-width: 38ch; }

.cc-iframe-ph__btn {
  display: inline-block !important; width: auto !important; height: auto !important;
  min-width: 0 !important; min-height: 0 !important; margin: 0 !important;
  border: 1px solid var(--vip-brand) !important; border-radius: 999px !important; padding: .55em 1.1em !important;
  background: var(--vip-brand) !important; color: var(--vip-brand-contrast) !important;
  font: 600 13px/1 "Roboto", system-ui, sans-serif !important; text-transform: none !important;
  box-shadow: none !important; cursor: pointer !important;
}
.cc-iframe-ph__btn:hover { background: var(--vip-brand-hover) !important; }
html.cc--darkmode .cc-iframe-ph { background: #262626; border-color: #3a3a3a; color: #dddddd; }

#cc-main, #cc-main *, #cc-main *::before, #cc-main *::after { box-sizing: border-box; }
#cc-main { font-family: var(--cc-font-family, system-ui, -apple-system, "Segoe UI", sans-serif); line-height: 1.5; }
#cc-main button { font-family: inherit; line-height: inherit; letter-spacing: normal; text-transform: none; box-shadow: none; }

#cc-main .pm__close-btn {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 40px !important; height: 40px !important;
  min-width: 0 !important; min-height: 0 !important; max-width: none !important; max-height: none !important;
  margin: 0 !important; padding: 0 !important;
  background: transparent !important;
  border: 0 !important; border-radius: 50% !important;
  box-shadow: none !important; transform: none !important;
  position: relative !important; overflow: visible !important;
  line-height: 1 !important; text-transform: none !important; cursor: pointer !important;
}
#cc-main .pm__close-btn:hover { background: var(--vip-neutral-hover) !important; border: 0 !important; }
html.cc--darkmode #cc-main .pm__close-btn:hover { background: #2c2c2c !important; }
#cc-main .pm__close-btn span {
  display: flex !important; width: 100% !important; height: 100% !important;
  margin: 0 !important; padding: 0 !important; position: static !important;
}
#cc-main .pm__close-btn svg {
  width: 100% !important; height: 100% !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  position: static !important; transform: scale(.55) !important;
  stroke: var(--vip-neutral-text) !important;
}
html.cc--darkmode #cc-main .pm__close-btn svg { stroke: #e6e6e6 !important; }
