/* Desktop cookie panel: original Shoptet controls and consent behaviour. */
@media (min-width: 768px) {
  .siteCookies.siteCookies--bottom {
    left: 50% !important;
    right: auto !important;
    bottom: 24px !important;
    top: auto !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    width: calc(100% - 48px) !important;
    max-width: 820px !important;
    box-sizing: border-box;
    padding: 24px !important;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 40px rgba(31, 31, 31, .22);
  }
  .siteCookies .siteCookies__form {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px 12px;
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }
  .siteCookies .siteCookies__content,
  .siteCookies .siteCookies__buttonWrap {
    display: contents !important;
  }
  .siteCookies .siteCookies__text {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
  }
  .siteCookies .siteCookies__text p { margin: 0 0 10px; }
  .siteCookies .siteCookies__text p:not(:first-child) {
    display: inline;
    margin-right: 12px;
    font-size: 12px;
    line-height: 1.5;
  }
  .siteCookies .siteCookies__text p:not(:first-child) br { display: none; }
  .siteCookies .siteCookies__links {
    grid-column: 1;
    grid-row: 2;
    margin: 0 !important;
    padding: 0 !important;
  }
  .siteCookies .siteCookies__form .siteCookies__link,
  .siteCookies .siteCookies__form .siteCookies__buttonWrap button.siteCookies__button {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px;
    margin: 0 !important;
    padding: 12px 18px;
    border-radius: 7px;
    font-size: 15px;
    line-height: 20px;
    white-space: nowrap;
  }
  .siteCookies .siteCookies__buttonWrap button[value="reject"] { grid-column: 2; grid-row: 2; }
  .siteCookies .siteCookies__buttonWrap button[value="all"] { grid-column: 3; grid-row: 2; }
}

/* Mobile: keep every consent action visible; only long text may scroll. */
@media (max-width: 767px) {
  .siteCookies.siteCookies--bottom {
    left: 8px !important;
    right: 8px !important;
    top: auto !important;
    bottom: 8px !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 16px !important;
    transform: none !important;
    box-sizing: border-box;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 6px 28px rgba(31, 31, 31, .22);
  }
  .siteCookies .siteCookies__form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: minmax(0, 1fr) auto auto;
    gap: 8px;
    width: 100%;
    max-width: none;
    height: auto !important;
    max-height: calc(55vh - 32px) !important;
    max-height: min(388px, calc(55svh - 32px)) !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  .siteCookies .siteCookies__content,
  .siteCookies .siteCookies__buttonWrap { display: contents !important; }
  .siteCookies .siteCookies__text {
    grid-column: 1 / -1;
    grid-row: 1;
    min-height: 0;
    width: 100%;
    max-width: none;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 2px 0 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    font-size: 14px;
    line-height: 1.45;
    text-align: left;
  }
  .siteCookies .siteCookies__text p { margin: 0 0 8px; }
  .siteCookies .siteCookies__text p:not(:first-child) {
    display: inline;
    margin: 0 8px 0 0;
    font-size: 12px;
    line-height: 1.4;
  }
  .siteCookies .siteCookies__text p:not(:first-child) br { display: none; }
  .siteCookies .siteCookies__links {
    grid-column: 1 / -1;
    grid-row: 3;
    margin: 0 !important;
    padding: 0 !important;
  }
  .siteCookies .siteCookies__form .siteCookies__link,
  .siteCookies .siteCookies__form .siteCookies__buttonWrap button.siteCookies__button {
    position: static !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px;
    height: auto !important;
    margin: 0 !important;
    padding: 11px 8px !important;
    border-radius: 7px;
    font-size: 14px;
    line-height: 20px;
    white-space: normal;
  }
  .siteCookies .siteCookies__buttonWrap button[value="reject"] { grid-column: 1; grid-row: 2; }
  .siteCookies .siteCookies__buttonWrap button[value="all"] { grid-column: 2; grid-row: 2; }
}

/* Detailed settings only. Keep Shoptet's original inputs and submit handlers. */
#colorbox:has(.cookiesDialog) {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  width: min(760px, calc(100% - 32px)) !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
  overflow: visible !important;
  border-radius: 14px;
  z-index: 111010 !important;
}
#colorbox:has(.cookiesDialog) #cboxWrapper,
#colorbox:has(.cookiesDialog) #cboxWrapper > div,
#cboxContent.cookiesDialog,
.cookiesDialog #cboxLoadedContent {
  box-sizing: border-box;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  float: none !important;
}
#colorbox:has(.cookiesDialog) #cboxWrapper { position: relative !important; }
#colorbox:has(.cookiesDialog) #cboxTopLeft,
#colorbox:has(.cookiesDialog) #cboxTopCenter,
#colorbox:has(.cookiesDialog) #cboxTopRight,
#colorbox:has(.cookiesDialog) #cboxMiddleLeft,
#colorbox:has(.cookiesDialog) #cboxMiddleRight,
#colorbox:has(.cookiesDialog) #cboxBottomLeft,
#colorbox:has(.cookiesDialog) #cboxBottomCenter,
#colorbox:has(.cookiesDialog) #cboxBottomRight { display: none !important; }
#cboxContent.cookiesDialog {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 12px 48px rgba(31,31,31,.25);
  overflow: hidden;
  overflow: clip;
}
.cookiesDialog #cboxLoadedContent { overflow: visible !important; }
.cookiesDialog .colorbox-html-content { margin: 0 !important; padding: 0 !important; }
.cookiesDialog .cookiesSetting__form {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 16px;
  box-sizing: border-box;
  width: 100%;
  max-height: calc(100vh - 32px);
  max-height: min(700px, calc(100svh - 32px));
  margin: 0;
  padding: 24px;
  color: #1f1f1f;
}
.cookiesDialog .cookiesSetting__title {
  margin: 0 !important;
  padding: 0 44px 0 0;
  font-size: 24px;
  line-height: 1.25;
}
.cookiesDialog .cookiesSetting__perex {
  margin: 0 !important;
  font-size: 14px;
  line-height: 1.5;
}
.cookiesDialog .cookiesSetting__data {
  min-height: 0;
  margin: 0;
  padding: 0 16px;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #e3e7df;
  border-radius: 8px;
  background: #fff;
}
.cookiesDialog .cookiesSetting__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px;
  align-items: start;
  gap: 10px 16px;
  margin: 0;
  padding: 16px 0;
  border: 0;
  border-bottom: 1px solid #e3e7df;
}
.cookiesDialog .cookiesSetting__item:last-child { border-bottom: 0; }
.cookiesDialog .cookiesSetting__item:first-child { grid-template-columns: minmax(0, 1fr); }
.cookiesDialog .cookiesSetting__item__col1,
.cookiesDialog .cookiesSetting__item__col2 {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  float: none;
}
.cookiesDialog .cookiesSetting__item__name { margin: 0 0 4px; font-size: 15px; line-height: 1.4; }
.cookiesDialog .cookiesSetting__item__text { font-size: 14px; line-height: 1.5; }
.cookiesDialog .cookiesSetting__item__status {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 44px;
  width: 100%;
  margin: 0;
  padding: 10px 8px;
  border-radius: 7px;
  font-size: 14px;
  line-height: 22px;
}
.cookiesDialog .cookiesSetting__bottom {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
  margin: 0;
  padding: 0;
}
.cookiesDialog .cookiesSetting__uncheck { display: block; width: auto; margin: 0; padding: 0; }
.cookiesDialog .cookiesSetting__bottom button {
  position: static;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  height: 100%;
  margin: 0;
  padding: 11px 10px;
  border-radius: 7px;
  font-size: 14px;
  line-height: 20px;
  white-space: normal;
  text-align: center;
}
.cookiesDialog #cboxClose { top: 12px; right: 12px; width: 44px; height: 44px; }
body:has(#colorbox:not([style*="display: none"]) .cookiesDialog) #supportBox-iframe { visibility: hidden !important; }

@media (max-width: 767px) {
  #colorbox:has(.cookiesDialog) { width: calc(100% - 24px) !important; }
  .cookiesDialog .cookiesSetting__form {
    gap: 12px;
    padding: 16px;
    max-height: calc(100vh - 24px);
    max-height: min(700px, calc(100svh - 24px));
  }
  .cookiesDialog .cookiesSetting__title { font-size: 21px; }
  .cookiesDialog .cookiesSetting__data { padding: 0 12px; }
  .cookiesDialog .cookiesSetting__item { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 12px 0; }
  .cookiesDialog .cookiesSetting__item__col2 { justify-self: start; width: 110px; }
  .cookiesDialog .cookiesSetting__bottom { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .cookiesDialog .cookiesSetting__uncheck { grid-column: 1; grid-row: 1; }
  .cookiesDialog .cookiesSetting__button--green { grid-column: 2; grid-row: 1; }
  .cookiesDialog .cookiesSetting__button[value="selection"] { grid-column: 1 / -1; grid-row: 2; }
  .cookiesDialog #cboxClose { top: 6px; right: 6px; }
}
@media (max-height: 480px) and (min-width: 480px) {
  .cookiesDialog .cookiesSetting__form { padding: 12px 16px; gap: 8px; }
  .cookiesDialog .cookiesSetting__title { font-size: 20px; }
  .cookiesDialog .cookiesSetting__perex { font-size: 12px; line-height: 1.35; }
  .cookiesDialog .cookiesSetting__bottom { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cookiesDialog .cookiesSetting__bottom > * { grid-column: auto !important; grid-row: auto !important; }
}
