/* Hide the original footer and all its contents completely */
.cassie-cookie-modal--footer,
.cassie-cookie-modal .cassie-cookie-modal--footer,
.cassie-cookie-modal--footer *,
.cassie-cookie-modal--save-preferences--container,
.cassie-cookie-modal--save-preferences {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
}

/* Custom footer container */
.cassie-custom-footer {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}

/* Shared button styling */
.cassie-custom-back-button,
.cassie-custom-save-button {
  color: #ffffff !important;
  background-color: #4e4b4a !important;
  border: 1px solid #4e4b4a !important;
  border-radius: 4px !important;
  padding: 12px 24px !important;
  font-family: Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: normal !important;
  cursor: pointer !important;
  min-width: 150px !important;
  width: 150px !important;
  height: 42px !important;
  box-sizing: border-box !important;
  line-height: normal !important;
  transition: background-color 0.2s ease !important;
}

.cassie-custom-back-button:hover,
.cassie-custom-save-button:hover {
  background-color: #3a3938 !important;
  border-color: #3a3938 !important;
}

.cassie-custom-back-button:active,
.cassie-custom-save-button:active {
  background-color: #2a2928 !important;
  transform: translateY(1px);
}

/* Responsive styling for mobile */
@media (max-width: 768px) {
  .cassie-custom-footer {
    flex-direction: column-reverse !important;
    gap: 10px !important;
  }

  .cassie-custom-back-button,
  .cassie-custom-save-button {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.cassie-cookie-modal--header .cassie-cookie-modal--top-header {
  display: none;
}

.cassie-cookie-module {
  position: fixed !important;
  bottom: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  display: flex !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  z-index: 9999 !important;
}

/* Cassie Cookie Banner Styling */

.cassie-pre-banner {
  flex-direction: column !important; /* Stack elements vertically */
  align-items: flex-start !important; /* Optional: align to left */
  justify-content: flex-start !important; /* Optional: top-align */
  width: auto !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

.cassie-pre-banner--text {
  width: 100% !important;
  box-sizing: border-box;
  padding: 0 20px !important;
}

.cassie-pre-banner--button--container {
  display: flex !important;
  flex-direction: row-reverse !important;
  justify-content: center !important;
  align-items: flex-start !important;
  flex-wrap: wrap !important; /* Allow wrapping */
  width: 100% !important;
  box-sizing: border-box;
  padding: 0 20px !important;
  gap: 1rem !important;
  margin-top: 1rem !important;
  row-gap: 1rem !important; /* Space between rows */
}

/* Keep Accept and Reject buttons on same line with auto width */
.cassie-pre-banner--button--container > .cassie-accept-all,
.cassie-pre-banner--button--container > .cassie-reject-all {
  flex: 1 1 0 !important; /* Equal flex-basis, grow equally */
  width: auto !important; /* Override any fixed width */
  max-width: none !important;
  min-width: 150px !important; /* Minimum width for buttons */
  padding: 12px 24px !important; /* Add padding for wider buttons */
}

/* Hide the View All button but keep it in DOM for text extraction */
.cassie-pre-banner .cassie-view-all {
  display: none !important;
  visibility: hidden !important;
}

/* Container for the custom link - will be added via JavaScript */
.cassie-view-all-link {
  flex: 1 1 100%; /* Takes full width to force new line */
  text-align: center;
  margin-top: 0rem;
  padding-top: 0.5rem;
  color: #4e4b4a;
  text-decoration: underline;
  cursor: pointer;
  font-size: 14px;
  font-family: Arial, serif;
}

.cassie-view-all-link:hover {
  color: #3a3938;
}

/* Make it responsive on smaller screens */
@media (max-width: 768px) {
  .cassie-pre-banner {
    width: 95% !important;
    margin: 0 auto !important;
    padding: 10px !important;
  }

  .cassie-pre-banner.cassie-middle-fixed {
    width: 100% !important;
    max-width: 100% !important;
  }

  .cassie-pre-banner--text {
    padding: 0 10px !important;
    font-size: 14px !important;
  }

  .cassie-pre-banner--text h1 {
    font-size: 20px !important;
  }

  .cassie-pre-banner--text p {
    font-size: 13px !important;
  }

  .cassie-pre-banner--button--container {
    flex-direction: column !important; /* Stack vertically on mobile */
    align-items: stretch !important;
    width: 100% !important;
    padding: 0 10px !important;
    gap: 0.5rem !important;
  }

  .cassie-pre-banner--button--container .cassie-pre-banner--button {
    width: 100% !important;
    font-size: 14px !important;
  }

  .cassie-pre-banner--button--container > .cassie-accept-all,
  .cassie-pre-banner--button--container > .cassie-reject-all {
    width: 100% !important;
    max-width: 100% !important;
    min-width: unset !important;
    padding: 10px 16px !important;
    font-size: 13px !important;
  }

  .cassie-view-all-link {
    font-size: 13px !important;
  }
}

/****/

.cassie-expand-cookies--container .cassie-expand-cookies--icon {
  display: none;
}

.cassie-cookie-modal--center .cassie-toggle-switch--slider {
  right: 9px;
  top: 2.7px;
}

.cassie-cookie-module > .cassie-cookie-modal {
  border-right-color: #000;
}

.cassie-view-all--button--icon {
  display: none;
}

.cassie-manage-cookies--container > .cassie-manage-cookies--button {
  background-color: #be0f34;
  min-height: 35px;
  max-height: 35px;
  padding: 0 10px;
}

.cassie-cookie-modal {
  border-radius: 3px;
}

/* Adds a border divider between parent and child cookies */
.cassie-cookie-modal--group .cassie-cookie-children--container {
  border-top: 1px solid var(--banner-secondary-color);
}

/* Adds a border divider between different cookie categories */
.cassie-cookie-modal--tab-group .cassie-cookie-modal--group {
  border-bottom: 1px solid var(--banner-secondary-color);
}

/* Disable current scrolling and sizes banner */
.cassie-cookie-module > .cassie-cookie-modal--center {
  flex-direction: column;
}

@media (min-height: 750px) {
  .cassie-cookie-module > .cassie-cookie-modal--center {
    overflow: hidden;
    height: fit-content;
  }
}

/* Enable scrolling section for cookie categories */
.cassie-cookie-modal--main {
  flex-shrink: 1;
  flex-direction: column;
  max-height: 320px;
  overflow: hidden;
  overflow-y: scroll;
  -ms-overflow-y: scroll;
}

.cassie-cookie-module > .cassie-cookie-modal--center {
  box-shadow: none !important;
  border-radius: 0;
}

/* Style scrollbars */
/* Cookie Menu Scrollbar */
.cassie-cookie-modal--main::-webkit-scrollbar {
  width: 8px;
}

.cassie-cookie-modal--main::-webkit-scrollbar-track {
  box-shadow: 0;
  border-radius: 0;
}

.cassie-cookie-modal--main::-webkit-scrollbar-thumb {
  background: #d2d2d2;
  border-radius: 15px;
}

/* External Scrollbar */
.cassie-cookie-module > .cassie-cookie-modal--center::-webkit-scrollbar {
  height: 15px;
  width: 8px;
}

.cassie-cookie-module > .cassie-cookie-modal--center::-webkit-scrollbar-track {
  background-color: #fff;
  box-shadow: 0;
  border-radius: 0;
}

.cassie-cookie-module > .cassie-cookie-modal--center::-webkit-scrollbar-thumb {
  background: #d2d2d2;
  border-radius: 15px;
}

/* Indents the cassie cookie heading spaces properly */
.cassie-cookie--child > .cassie-cookie--child--heading {
  margin-left: 5%;
}

/* Adds border to bottom of the accept all toggle */
.cassie-cookie-modal--header .cassie-cookie-modal--accept-all {
  font-weight: bold;
  padding-bottom: 2.5%;
  /* Adjust accept all toggle to be aligned with all other toggles may need to rework */
  padding-right: 2.75%;
}

/* Corrects the top margin of the footer */
.cassie-cookie-modal .cassie-cookie-modal--footer {
  /* Remove based on UI opinion */
  flex-shrink: 0;
  margin-top: 5%;
  width: 100%;
}

#cassie_strictly_necessary_expand_icon {
  visibility: hidden;
}

/* Adds border to bottom of the accept all toggle */
.cassie-cookie-modal--header .cassie-cookie-modal--accept-all {
  padding-bottom: 2.5%;
  /* Adjust accept all toggle to be aligned with all other toggles may need to rework */
  padding-right: 2.75%;
  border-bottom: 1px solid var(--banner-secondary-color);
}

/* Rounded edges on banner */
@media (min-height: 750px) {
  .cassie-cookie-module > .cassie-cookie-modal--center {
    border: 1px solid var(--banner-secondary-color);
    border-radius: 3px;
  }
}

/* Don't allow drilldown into cookie script descriptions or show them */
[id^="cassie_children_cookies_container"] {
  visibility: none;
}

[id^="cassie_children_cookies_container"] {
  visibility: none;
}

[id^="cassie_cookie_child"] {
  display: none;
}

[id^="cassie_expand_cookies_icon"] {
  opacity: 0;
  pointer-events: none;
}

[id^="cassie_expand_cookies_container"] {
  pointer-events: none;
}

[id^="cassie_expand_strictly_necessary"] {
  pointer-events: none;
}

/* Define colors of text color and font size. */
.cassie-cookie-modal--header--content a:hover {
  font-family: Arial, Helvetica, sans-serif, serif;
  color: #000;
}

.cassie-cookie-modal--header--content a {
  font-family: Arial, serif;
  color: #000;
  font-weight: bold;
}

.cassie-cookie-modal--header--content {
  font-family: Arial, serif;
  color: #000;
  font-size: 15px;
}

#cassie_accept_all_cookies_text {
  color: #000;
  font-weight: bold !important;
}

#cassie_expand_strictly_necessary {
  color: #000;
}

#cassie_strictly_necessary_expand_icon {
  visibility: hidden;
}
#cassie_strictly_necessary_description {
  color: #000;
  font-family: Arial, serif;
  font-size: 15px;
}

#cassie_accept_all_cookies {
  color: #000;
}

.cassie-cookie-modal--header .cassie-cookie-modal--header--content {
  font-family: Arial, serif;
  color: #000;
  font-size: 15px;
  border-top: none;
}

.cassie-cookie-modal--group-head-container .cassie-cookie-group--description {
  font-family: Arial, serif;
  color: #000;
  font-size: 15px;
}

.cassie-cookie-modal--group-head-container {
  color: #000;
}

.cassie-pre-banner > .cassie-pre-banner--text {
  font-family: Arial, serif;
  color: #000;
  font-size: 15px;
}

.cassie-pre-banner .cassie-accept-all {
  color: #ffffff !important;
  background-color: #4e4b4a !important;
  border-color: #4e4b4a !important;
}

.cassie-pre-banner .cassie-reject-all {
  color: #ffffff !important;
  background-color: #4e4b4a !important;
  border-color: #4e4b4a !important;
}

/* Removed background styling for view-all button since it's now hidden */

p {
  font-size: 14px;
}

h1 {
  font-size: 28px;
  font-style: normal;
  color: #333;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0 auto 15px;
  clear: both;
  margin-block-start: 0.2em;
  margin-block-end: 0.2em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  unicode-bidi: isolate;
}

.cassie-cookie-modal--save-preferences--container
  .cassie-cookie-modal--save-preferences {
  color: #ffffff;
  background-color: #4e4b4a;
  border-color: #4e4b4a;
}

.cassie-cookie-module > .cassie-pre-banner {
  background-color: var(--prebanner-background-color);
  border-color: var(--prebanner-border-color);
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-bottom-color: var(--prebanner-secondary-color);
  border-left: 1px solid;
  border-left-color: var(--prebanner-secondary-color);
  border-radius: 3px;
  border-right: 1px solid;
  border-right-color: var(--prebanner-secondary-color);
  border-top-color: var(--prebanner-secondary-color);
  width: 100% !important;
  text-align: center !important;
  padding: 20px 0 !important;
}

.cassie-pre-banner.cassie-middle-fixed {
  width: 33% !important;
  align-items: center !important;
  max-width: 600px !important;
}

.cassie-cookie-modal--center .cassie-toggle-switch--status {
  font-weight: bold;
  display: none;
}

.cassie-cookie-modal--center .cassie-toggle-switch--slider {
  border-radius: 34px;
  bottom: 0;
  cursor: pointer;
  left: 0;
  position: absolute;
  right: 7px;
  top: 0;
  background-color: #bbbbbb;
}

.cassie-cookie-modal--center .cassie-toggle-switch--slider--active {
  background-color: #4e4b4a;
}

.cassie-cookie-modal--top-header .cassie-close-modal-button {
  display: none;
}

.cassie-cookie-module > .cassie-cookie-modal--center {
  width: 30%; /* Add desired width - adjust as needed */
  max-width: 90%; /* Prevents overflow on small screens */
}

/* This hides the group descriptions for a compact layout */

.cassie-cookie-group--description {
  display: none;
}

/* Footer restyle with back button */

/* Hide the footer image container and middle content to make space */
.cassie-cookie-modal--footer-image--container {
  display: none !important;
}

.cassie-cookie-modal--footer-content {
  display: none !important;
}

/* Make footer-extra behave as a simple container */
.cassie-cookie-modal--footer-extra {
  display: contents !important;
}

/* Footer Layout - Space between back and save buttons */
.cassie-cookie-modal .cassie-cookie-modal--footer {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-shrink: 0;
  margin-top: 5%;
  width: 100%;
  padding: 20px !important;
  box-sizing: border-box !important;
}

/* Style the custom back button */
.cassie-custom-back-button {
  color: #ffffff !important;
  background-color: #4e4b4a !important;
  border: 1px solid #4e4b4a !important;
  border-radius: 4px !important;
  padding: 12px 24px !important;
  font-family: Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: normal !important;
  cursor: pointer !important;
  min-width: 150px !important;
  width: 150px !important;
  height: 42px !important;
  box-sizing: border-box !important;
  line-height: normal !important;
  transition: background-color 0.2s ease !important;
}

.cassie-custom-back-button:hover {
  background-color: #3a3938 !important;
  border-color: #3a3938 !important;
}

.cassie-custom-back-button:active {
  background-color: #2a2928 !important;
  transform: translateY(1px);
}

/* Force save button to match back button exactly */
.cassie-cookie-modal--save-preferences--container {
  margin: 0 !important;
  padding: 0 !important;
}

.cassie-cookie-modal--save-preferences {
  color: #ffffff !important;
  background-color: #4e4b4a !important;
  border: 1px solid #4e4b4a !important;
  border-radius: 4px !important;
  padding: 12px 24px !important;
  font-family: Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: normal !important;
  cursor: pointer !important;
  min-width: 150px !important;
  width: 150px !important;
  max-width: 150px !important;
  height: 42px !important;
  max-height: 42px !important;
  box-sizing: border-box !important;
  line-height: normal !important;
  transition: background-color 0.2s ease !important;
}

.cassie-cookie-modal--save-preferences:hover {
  background-color: #3a3938 !important;
  border-color: #3a3938 !important;
}

/* Responsive styling for mobile */
@media (max-width: 768px) {
  .cassie-cookie-modal .cassie-cookie-modal--footer {
    flex-direction: column-reverse !important;
    gap: 10px !important;
  }

  .cassie-custom-back-button,
  .cassie-cookie-modal--save-preferences {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.cassie-cookie-module > .cassie-cookie-modal--center {
  overflow-y: auto !important;
  max-height: 90vh !important;
}

.cassie-cookie-modal .cassie-cookie-modal--main {
  border: 2px solid var(--banner-secondary-color);
}

.davines-logo {
  background-image: url("https://asset-cdn-irl.cassiecloud.com/Themes/0DD43B3E-7C80-4A2D-9F6B-88E70909CEF7/4/resources/Davines.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 150px;
  aspect-ratio: 32 / 10; /* Adjust ratio as needed, e.g., 16/9, 4/3, 3/2 */
  margin: 0 auto 10px auto;
}

.davinespro-logo {
  background-image: url("https://asset-cdn-irl.cassiecloud.com/Themes/0DD43B3E-7C80-4A2D-9F6B-88E70909CEF7/4/resources/Davines-Pro.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 125px;
  aspect-ratio: 32 / 10; /* Adjust ratio as needed, e.g., 16/9, 4/3, 3/2 */
  margin: 0 auto 10px auto; /* Centers horizontally, 10px bottom margin */
}

.comfortzone-logo {
  background-image: url("https://asset-cdn-irl.cassiecloud.com/Themes/0DD43B3E-7C80-4A2D-9F6B-88E70909CEF7/4/resources/comfort_zone.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 150px;
  aspect-ratio: 4 / 1; /* Adjust ratio as needed, e.g., 16/9, 4/3, 3/2 */
  margin: 0 auto 10px auto; /* Centers horizontally, 10px bottom margin */
}

.comfortzonepro-logo {
  background-image: url("https://asset-cdn-irl.cassiecloud.com/Themes/0DD43B3E-7C80-4A2D-9F6B-88E70909CEF7/4/resources/ComfortZone-Pro.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 150px;
  aspect-ratio: 32 / 10; /* Adjust ratio as needed, e.g., 16/9, 4/3, 3/2 */
  margin: 0 auto 10px auto; /* Centers horizontally, 10px bottom margin */
}

/* Fixes */
.cassie-d-none {
  display: none !important;
}

.cassie-cookie-module > .cassie-cookie-modal {
  border-right: 0;
}

.cassie-cookie-module h1 {
  font-size: 28px;
  font-style: normal;
  color: #333;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0 auto 15px;
  clear: both;
  margin-block-start: 0.2em;
  margin-block-end: 0.2em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  unicode-bidi: isolate;
  font-weight: bold;
}

.cassie-cookie-module p {
  margin-block-start: 1em;
}

.cassie-cookie-module > .cassie-cookie-modal--center {
  margin: auto !important;
  min-width: 400px;
  border: 1px solid var(--banner-secondary-color);
}

@media (max-width: 768px) {
  .cassie-pre-banner {
    width: 95% !important;
    margin: 0 auto !important;
    padding: 10px !important;
  }

  .cassie-pre-banner.cassie-middle-fixed {
    width: auto !important;
    align-self: center;
    margin: 1rem !important;
  }

  .cassie-pre-banner--button--container {
    width: auto !important;
  }

  .cassie-cookie-module > .cassie-cookie-modal--center {
    width: auto !important;
    align-self: center;
    margin: 1rem !important;
    max-width: none !important;
    min-width: unset !important;
  }
}
