/*
 * Logged-out trade account layout.
 *
 * WooCommerce inserts an empty notices wrapper before the login form. Give
 * every grid item an explicit position so that wrapper cannot push the form
 * beneath the application panel.
 */
body.woocommerce-account:not(.logged-in) .woocommerce {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  align-items: start;
  gap: clamp(24px, 3.5vw, 52px);
}

body.woocommerce-account:not(.logged-in) .woocommerce::before,
body.woocommerce-account:not(.logged-in) .woocommerce::after {
  display: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-notices-wrapper:empty {
  display: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce > h2 {
  display: none !important;
}

@media (min-width: 768px) {
  body.woocommerce-account:not(.logged-in) .woocommerce {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-notices-wrapper {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    min-width: 0;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce > .dr-account-access-note {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0;
    width: 100%;
    margin: 0;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: center;
    justify-self: stretch;
    min-width: 0;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

@media (max-width: 767px) {
  body.woocommerce-account:not(.logged-in) .woocommerce {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-notices-wrapper,
  body.woocommerce-account:not(.logged-in) .woocommerce > .dr-account-access-note,
  body.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login {
    grid-column: 1 !important;
    grid-row: auto !important;
    min-width: 0;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce > .dr-account-access-note {
    width: 100%;
    margin: 0;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

@media (max-width: 580px) {
  body.woocommerce-account:not(.logged-in) .woocommerce {
    gap: 18px;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce > .dr-account-access-note {
    padding: 24px 20px;
  }

  body.woocommerce-account:not(.logged-in) .woocommerce > .dr-account-access-note h2 {
    font-size: clamp(2rem, 10vw, 2.65rem);
  }
}

/*
 * Complianz consent notice.
 *
 * These rules restore the existing visual-only full-width notice treatment.
 * Complianz remains responsible for consent, preferences and cookie blocking.
 */
.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show {
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
}

.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) {
  grid-template-columns: minmax(170px, 0.55fr) minmax(320px, 1.25fr) minmax(440px, 1fr) !important;
  grid-template-areas:
    "dr-cookie-title dr-cookie-message dr-cookie-actions"
    "dr-cookie-title dr-cookie-links dr-cookie-actions" !important;
  align-items: center !important;
  column-gap: clamp(18px, 2.2vw, 36px) !important;
  row-gap: 7px !important;
  padding: 14px clamp(24px, 4vw, 64px) !important;
}

.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-header {
  grid-area: dr-cookie-title !important;
  grid-column: auto !important;
  align-self: center !important;
}

.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-body {
  grid-area: dr-cookie-message !important;
  grid-column: auto !important;
  align-self: end !important;
}

.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-body .cmplz-message,
.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-body .cmplz-message p {
  margin: 0 !important;
}

.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-buttons {
  grid-area: dr-cookie-actions !important;
  grid-column: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-self: center !important;
  gap: 8px !important;
  width: 100% !important;
}

.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-buttons .cmplz-btn {
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 11px 12px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-documents {
  grid-area: dr-cookie-links !important;
  grid-column: auto !important;
  align-self: start !important;
  justify-content: flex-start !important;
  min-height: 0 !important;
}

.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-divider,
.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-information {
  display: none !important;
}

html:has(.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show) {
  scroll-padding-bottom: 150px;
}

body.dr-experience-enabled:has(.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show) {
  padding-bottom: 150px !important;
}

@media (max-width: 1179px) {
  .cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) {
    grid-template-columns: minmax(0, 1fr) minmax(410px, 0.9fr) !important;
    grid-template-areas:
      "dr-cookie-title dr-cookie-actions"
      "dr-cookie-message dr-cookie-actions"
      "dr-cookie-links dr-cookie-links" !important;
    column-gap: 24px !important;
    padding: 14px clamp(20px, 3vw, 36px) !important;
  }

  html:has(.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show) {
    scroll-padding-bottom: 170px;
  }

  body.dr-experience-enabled:has(.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show) {
    padding-bottom: 170px !important;
  }
}

@media (max-width: 767px) {
  .cmplz-cookiebanner.cmplz-bottom-right.cmplz-show {
    max-height: min(78vh, 560px) !important;
    overflow-y: auto !important;
    border-radius: 12px 12px 0 0 !important;
  }

  .cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "dr-cookie-title"
      "dr-cookie-message"
      "dr-cookie-actions"
      "dr-cookie-links" !important;
    gap: 8px !important;
    padding: 13px 16px 12px !important;
  }

  .cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-header,
  .cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-body,
  .cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-documents {
    align-self: auto !important;
  }

  .cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-buttons .cmplz-view-preferences {
    grid-column: 1 / -1 !important;
  }

  .cmplz-cookiebanner.cmplz-bottom-right.cmplz-show:not(.cmplz-categories-visible) > .cmplz-documents {
    justify-content: center !important;
  }

  html:has(.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show) {
    scroll-padding-bottom: 250px;
  }

  body.dr-experience-enabled:has(.cmplz-cookiebanner.cmplz-bottom-right.cmplz-show) {
    padding-bottom: 250px !important;
  }
}
