/* Keep the former variable available to existing block/plugin styles. */
:root { --wp--preset--color--text: var(--wp--preset--color--body-text); }

:root {
  --pp-header-height: 88px;
}

body {
  letter-spacing: 0;
}

a:hover,
a:focus {
  color: var(--wp--preset--color--deep-purple);
}

.pp-site-header {
  background: var(--wp--preset--color--pink);
  border-bottom: 1px solid rgba(48, 34, 68, 0.1);
  min-height: var(--pp-header-height);
}

.pp-site-header__inner {
  min-height: var(--pp-header-height);
}

.pp-site-brand {
  min-width: 132px;
  flex-shrink: 0;
}

.pp-site-brand:has(.wp-block-site-logo) .wp-block-site-title {
  display: none;
}

.pp-primary-navigation {
  font-size: 14px;
  --wp--style--block-gap: 16px;
}

.pp-site-header__inner {
  gap: 20px;
  padding-block: 12px;
}

.pp-site-brand .wp-block-site-title {
  margin: 0;
}

.pp-site-brand .wp-block-site-title a {
  color: var(--wp--preset--color--deep-purple);
  font-size: 22px;
  font-weight: 400;
}

.pp-header-actions {
  gap: 16px;
  min-height: 44px;
}

.pp-header-actions .wp-block-loginout a,
.wp-block-button__link,
button,
input[type="button"],
input[type="submit"] {
  border-radius: 4px;
}

.pp-home-slider {
  margin-top: 0;
}

.three-items .course-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  list-style: none;
  margin-left: 0;
  margin-right: 0;
  padding-inline-start: 0;
}

.three-items .course-container > li,
.three-items .course-content,
.three-items .course-content .entry {
  box-sizing: border-box;
  max-width: 100%;
}

.three-items .course-container > li {
  margin-left: 0;
  margin-right: 0;
}

.wp-site-blocks .three-items ul.course-container > li.course {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  float: none;
  min-width: 0;
}

.three-items .course-container::before,
.three-items .course-container::after {
  display: none;
}

.pp-course-sidebar .sensei-lms-course-navigation,
.wp-block-sensei-lms-course-navigation {
  font-size: 14px;
}

.pp-home-journal {
  margin-block: 48px;
}

/* Classic Sensei quiz forms keep their native POST, grading and reset behavior. */
.pp-quiz-shell #sensei-quiz-list,
.pp-quiz-shell #sensei-quiz-list ul.answers {
  list-style: none;
  padding-inline-start: 0;
}

.pp-quiz-shell #sensei-quiz-list ul.answers > li {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
}

.pp-quiz-shell #sensei-quiz-list ul.answers label {
  display: flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
}

.pp-quiz-shell .sensei-quiz-actions-primary,
.pp-quiz-shell .sensei-quiz-actions-secondary {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-block: 16px;
}

.pp-quiz-shell .quiz-submit {
  min-height: 44px;
  max-width: 100%;
  padding: 10px 16px;
  border: 1px solid var(--wp--preset--color--purple);
  background: var(--wp--preset--color--purple);
  color: var(--wp--preset--color--white);
  font: inherit;
  cursor: pointer;
}

.pp-quiz-shell .quiz-submit.is-link {
  background: transparent;
  color: var(--wp--preset--color--purple);
}

.pp-quiz-shell .quiz-submit:focus-visible {
  outline: 2px solid var(--wp--preset--color--deep-purple);
  outline-offset: 3px;
}

.pp-quiz-shell .sensei-message.alert {
  background: var(--wp--preset--color--soft-pink);
  color: var(--wp--preset--color--deep-purple);
  border-inline-start: 4px solid var(--wp--preset--color--pink);
}

.pp-quiz-shell .sensei-message {
  color: var(--wp--preset--color--deep-purple);
}

@media (max-width: 782px) {
  .pp-course-layout {
    box-sizing: border-box;
    padding-inline: 16px;
  }
}

@media (max-width: 900px) {
  .three-items .course-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .three-items .course-container,
  .pp-home-journal .wp-block-post-template {
    grid-template-columns: minmax(0, 1fr);
  }
}

.three-items .course-container img.wp-post-image {
  box-sizing: border-box;
  display: block;
  height: auto;
  max-width: 100%;
}

.pp-page-shell {
  padding-bottom: 48px;
  padding-top: 40px;
}

.pp-main-content {
  min-height: 420px;
}

.pp-course-layout {
  align-items: flex-start;
  gap: 40px;
}

.pp-course-sidebar {
  border-top: 3px solid var(--wp--preset--color--pink);
  color: var(--wp--preset--color--body-text);
}

.pp-course-sidebar h2,
.pp-course-sidebar h3 {
  margin-top: 0;
}

.pp-course-sidebar .wp-block-latest-posts {
  margin-left: 0;
  padding-left: 0;
}

.pp-footer-main {
  color: var(--wp--preset--color--soft-pink);
  margin-top: 64px;
}

.pp-footer-main a,
.pp-footer-main p,
.pp-footer-main .wp-block-navigation-item__content,
.pp-footer-main .wp-block-navigation a:where(:not(.wp-element-button)) {
  color: var(--wp--preset--color--soft-pink);
}

.pp-footer-main .wp-block-navigation .wp-block-navigation-item__content {
  color: var(--wp--preset--color--soft-pink) !important;
}

.pp-footer-main a:hover,
.pp-footer-main a:focus,
.pp-footer-main .wp-block-navigation-item__content:hover,
.pp-footer-main .wp-block-navigation-item__content:focus {
  color: var(--wp--preset--color--pink);
}

.pp-footer-main .wp-block-navigation .wp-block-navigation-item__content:hover,
.pp-footer-main .wp-block-navigation .wp-block-navigation-item__content:focus {
  color: var(--wp--preset--color--pink) !important;
}

.pp-footer-main p {
  margin-bottom: 0;
}

.pp-footer-main input[type="search"] {
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--body-text);
  min-height: 42px;
}

.pp-footer-main .wp-block-search__button {
  background: var(--wp--preset--color--purple);
  border-color: var(--wp--preset--color--purple);
  color: var(--wp--preset--color--white);
  min-height: 42px;
}

.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.wc-block-order-confirmation-downloads__table .button {
  background: var(--wp--preset--color--purple);
  border-radius: 4px;
  color: var(--wp--preset--color--white);
  box-sizing: border-box;
  min-height: 44px;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.wc-block-order-confirmation-downloads__table .button:hover {
  background: var(--wp--preset--color--deep-purple);
  color: var(--wp--preset--color--white);
}

@media (max-width: 782px) {
  :root {
    --pp-header-height: auto;
  }

  .pp-site-header {
    padding-bottom: 14px;
    padding-top: 14px;
  }

  .pp-site-header__inner,
  .pp-header-actions {
    width: 100%;
  }

  .pp-course-layout {
    gap: 28px;
  }

  .pp-page-shell,
  .woocommerce-cart .pp-page-shell,
  .woocommerce-checkout .pp-page-shell,
  .woocommerce-cart main,
  .woocommerce-checkout main,
  .pp-woocommerce-content {
    box-sizing: border-box;
    padding-inline: 16px;
  }

  .woocommerce #customer_login .u-column1,
  .woocommerce #customer_login .u-column2 {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
  }

  .woocommerce #customer_login form.login,
  .woocommerce #customer_login form.register {
    box-sizing: border-box;
    max-width: 100%;
  }

  .wc-block-order-confirmation-downloads__table,
  .wc-block-order-confirmation-downloads__table tbody,
  .wc-block-order-confirmation-downloads__table tr {
    display: block;
    width: 100%;
  }

  .wc-block-order-confirmation-downloads__table thead {
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .wc-block-order-confirmation-downloads__table td {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    overflow-wrap: anywhere;
    text-align: left;
  }

  .wc-block-order-confirmation-downloads__table td::before {
    content: attr(data-title);
    font-weight: 600;
  }

  .wc-block-order-confirmation-downloads__table .button {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 8px 12px;
    text-align: center;
  }

  .pp-footer-main {
    margin-top: 48px;
  }

  .pp-footer-main .wp-block-columns {
    gap: 28px;
  }

  .pp-footer-main .wp-block-search {
    max-width: 100%;
  }

  .pp-footer-main .has-text-align-right {
    text-align: left;
  }
}
