/*
* WooCommerce Styling (Programme product)
*/

/* Hide default Woo gallery */
body.ps-programme-product .woocommerce-product-gallery{
  display: none;
}

/* Full-width base */
body.ps-programme-product div.product{
  display: block;
}

body.ps-programme-product .summary{
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 18px;
  row-gap: 14px;
}

body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main {
  padding-left: 40px;
  padding-right: 40px;
}

/* Title */
body.ps-programme-product .summary .product_title{
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}

/* Price */
body.ps-programme-product .summary .price{
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  align-self: start;
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.1;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  background: rgba(0,0,0,.02);
}

body.ps-programme-product .summary .price del{
  opacity: .55;
  font-weight: 500;
  margin-right: 8px;
}

body.ps-programme-product .summary .price ins{
  text-decoration: none;
}

body.ps-programme-product .summary .price .woocommerce-Price-currencySymbol{
  opacity: .85;
  font-weight: 600;
  margin-right: 1px;
}

/* Everything below title/price spans full width */
body.ps-programme-product .summary > *:not(.product_title):not(.price){
  grid-column: 1 / -1;
}

/* Short description */
body.ps-programme-product .woocommerce-product-details__short-description{
  margin-top: 6px;
  font-size: 1.02rem;
  line-height: 1.55;
}

/* 50/50 image + long description */
body.ps-programme-product .ps-programme-media-content{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px;
  align-items: start;
  margin: 10px 0 24px;
}

body.ps-programme-product .ps-programme-media-content__image,
body.ps-programme-product .ps-programme-media-content__content{
  min-width: 0;
}

/* Product image */
body.ps-programme-product .ps-programme-media-content__image img,
body.ps-programme-product .ps-course-image__img{
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

/* Long description */
body.ps-programme-product .ps-course-content{
  margin: 0;
  width: 100%;
}

/* Disclaimer section full width */
body.ps-programme-product .ps-purchase-section{
  width: 100%;
  margin: 8px 0 8px;
}

/* enrol + disclaimer wrapper */
body.ps-programme-product .ps-enrol-wrapper, #reviews{
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

/* keep disclaimer spacing tidy */
body.ps-programme-product .ps-purchase-section{
  margin-bottom: 8px;
}

/* ensure cart form follows wrapper width */
body.ps-programme-product .ps-enrol-wrapper form.cart{
  width: 100%;
}

.woocommerce div.product form.cart {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

/* Disclaimer accordion */
body.ps-programme-product .ps-disclaimer-accordion{
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 14px;
  padding: 12px 14px;
  background: rgba(0,0,0,.02);
}

body.ps-programme-product .ps-disclaimer-accordion__summary{
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  list-style: none;
  font-weight: 600;
}

body.ps-programme-product .ps-disclaimer-accordion__summary::-webkit-details-marker{
  display: none;
}

body.ps-programme-product .ps-disclaimer-accordion__chevron{
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.25s ease;
  margin-top: -2px;
}

body.ps-programme-product .ps-disclaimer-accordion[open] .ps-disclaimer-accordion__chevron{
  transform: rotate(-135deg);
}

body.ps-programme-product .ps-disclaimer-accordion__content{
  margin-top: 10px;
  font-size: 0.98rem;
  line-height: 1.55;
  opacity: .92;
}

/* Cart form below disclaimer */
body.ps-programme-product form.cart{
  width: 100%;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed rgba(0,0,0,.18);
  text-align: left;
}

/* Checkbox */
body.ps-programme-product .ps-disclaimer-check{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 0.95rem;
  margin: 12px 0 24px;
}

body.ps-programme-product .ps-disclaimer-check input[type="checkbox"]{
  margin-top: 3px;
}

body.ps-programme-product .ps-disclaimer-check span{
  line-height: 1.4;
}

/* Enrol button */
body.ps-programme-product button.single_add_to_cart_button,
body.ps-programme-product .single_add_to_cart_button.alt{
  background-color: #d9f1fd !important;
  color: #2d2d2d !important;
  border: 0;
  border-radius: 9999px;
  padding: 14px 22px;
  box-shadow: none;
  text-transform: none;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 0;
  margin-right: 0;
}

body.ps-programme-product button.single_add_to_cart_button:hover,
body.ps-programme-product button.single_add_to_cart_button:focus,
body.ps-programme-product .single_add_to_cart_button.alt:hover,
body.ps-programme-product .single_add_to_cart_button.alt:focus{
  background-color: #d9f1fd !important;
  filter: brightness(0.96);
}

/* Hide catergory */
.product_meta {
    display: none;
}

nav.woocommerce-breadcrumb {
    display: none;
}

/* Mobile */
@media (max-width: 768px){
  body.ps-programme-product .ps-programme-media-content{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  article.product_cat-online-programme {
      margin: 0 1.5rem;
  }
}

@media (max-width: 680px){
  body.ps-programme-product .summary{
    grid-template-columns: 1fr;
  }

  body.ps-programme-product .summary .price{
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    width: fit-content;
  }
}