/* Shop catalogue (shop.html) and product detail page (product.html). */

/* Product cards */
.site-shop-catalogue{padding-bottom:80px}.site-shop-section-heading{margin-top:26px;padding-top:8px}.site-shop-section-heading span{display:inline-block;color:var(--brand-dark);font-size:24px;font-weight:800;border-bottom:4px solid var(--brand-accent);padding-bottom:6px}.site-shop-section-heading--list{width:100%;margin-top:26px}.site-shop-product-card{margin-top:30px;background:var(--site-product-card-bg,var(--brand-dark));color:var(--site-product-card-text,#FFFFFF);height:calc(100% - 30px);display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(var(--brand-dark-rgb),.08)}.site-shop-product-image{display:flex;align-items:center;justify-content:center;background:#fff;aspect-ratio:270/170;overflow:hidden;padding:14px}.site-shop-product-image img{width:100%;height:100%;object-fit:contain;object-position:center}.site-shop-product-content{padding:24px;display:flex;flex:1;flex-direction:column}.site-shop-product-category{font-weight:500;margin-bottom:8px}.site-shop-product-content h3{font-size:22px;line-height:1.25;margin:0}.site-shop-product-rule{height:1px;background:currentColor;opacity:.75;margin:8px 0 10px}.site-shop-product-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.site-shop-product-price{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:800;margin:0}.site-product-old-price{text-decoration:line-through;opacity:.7;font-size:12px}.site-shop-product-more{font-size:14px;white-space:nowrap}.site-product-instalments{font-size:12px;color:inherit;opacity:.9;margin:8px 0 0}.site-shop-product-button{display:block;width:100%;background:var(--brand-accent);color:var(--brand-accent-text)!important;text-align:center;font-weight:800;padding:11px 14px;margin-top:20px;border:2px solid var(--brand-dark);cursor:pointer}.site-shop-product-button:hover:not(:disabled){background:var(--brand-primary);color:#fff!important}.site-shop-product-button:disabled{opacity:.65;cursor:not-allowed}.site-shop-product-card--list{display:grid;grid-template-columns:minmax(220px,320px) 1fr;height:auto}.site-shop-product-card--list .site-shop-product-image{aspect-ratio:auto;min-height:280px}.site-shop-product-card--list .site-shop-product-content{justify-content:center}
.site-shop-product-category,.site-shop-product-content h3,.site-shop-product-content h3 a,.site-shop-product-more,.site-shop-product-price,.site-product-instalments{color:inherit!important}
/* Grid cards: keep the divider and button rows aligned across a row of cards. */
.site-shop-product-card:not(.site-shop-product-card--list) .site-shop-product-rule{margin-top:auto}
.site-shop-product-card:not(.site-shop-product-card--list) .site-product-instalments{min-height:24px;line-height:24px;text-align:center}
.site-shop-product-card:not(.site-shop-product-card--list) .site-shop-product-meta + .site-card-add-wrap::before{content:"";display:block;height:32px}

/* Product detail page */
.site-product-detail{padding:70px 0 90px}.site-product-detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:54px;align-items:start}.site-product-main-image{background:var(--brand-light);border:1px solid #dde5eb;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}.site-product-main-image img{width:100%;height:100%;object-fit:contain}.site-product-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}.site-product-thumb{border:1px solid #d8e0e7;background:#fff;padding:0;aspect-ratio:1/1;overflow:hidden;cursor:pointer}.site-product-thumb.is-active,.site-product-thumb:focus-visible{border-color:var(--brand-primary);outline:2px solid rgba(var(--brand-primary-rgb),.3)}.site-product-thumb img{width:100%;height:100%;object-fit:cover}.site-product-category-label{color:var(--brand-primary);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.site-product-detail h2{font-size:38px;color:var(--brand-dark);margin:10px 0 16px}.site-product-detail-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;font-size:30px;font-weight:800;color:var(--brand-dark);margin:0 0 10px}.site-product-detail-price strong{font-weight:inherit}.site-product-detail-price .site-product-old-price{font-size:20px;font-weight:600}.site-product-detail-short{font-size:17px;line-height:1.7;color:#5d6974;margin-bottom:20px}.site-product-detail .site-product-instalments{font-size:14px;color:var(--brand-dark);opacity:1}.site-product-detail .site-product-instalments small{color:#5d6974}.site-product-meta{border-top:1px solid #e0e5e9;border-bottom:1px solid #e0e5e9;padding:14px 0;margin:20px 0}.site-product-meta p{margin:5px 0}.site-product-stock{color:#146c43;font-weight:700}.site-product-stock.is-out{color:#b42318}.site-product-detail .site-product-cart-placeholder{width:100%;min-height:52px;background:var(--brand-accent);border:2px solid #111;color:var(--brand-accent-text);font-weight:800;opacity:1;cursor:pointer}.site-product-detail .site-product-cart-placeholder:hover:not(:disabled){background:var(--brand-primary);color:#fff}.site-product-detail .site-product-cart-placeholder:disabled{opacity:.65;cursor:not-allowed}.site-product-long{margin-top:50px}.site-product-long h3{font-size:27px;color:var(--brand-dark);margin-bottom:18px}.site-product-long p,.site-product-long li{line-height:1.75;color:#495764}
@media(max-width:991px){.site-product-detail-grid{grid-template-columns:1fr}.site-shop-product-card--list{grid-template-columns:1fr}.site-shop-product-card--list .site-shop-product-image{min-height:220px}}@media(max-width:767px){.site-product-detail{padding:45px 0 65px}.site-product-detail h2{font-size:30px}.site-product-detail-price{font-size:26px}.site-product-thumbs{grid-template-columns:repeat(4,1fr)}}

/* Item-type filter (All / Courses / Products) */
.site-shop-type-filter{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;margin:30px 0 0;padding:14px 16px;background:#f4f7f9;border:1px solid #e0e6eb}.site-shop-type-filter__label{color:var(--brand-dark);font-weight:800;font-size:15px}.site-shop-type-filter__buttons{display:flex;flex-wrap:wrap;gap:8px}.site-shop-type-button{min-width:96px;padding:10px 18px;border:1px solid #cbd6df;background:#fff;color:var(--brand-dark);font-weight:800;transition:background .2s ease,color .2s ease,border-color .2s ease}.site-shop-type-button:hover,.site-shop-type-button.active{background:var(--brand-dark);color:#fff;border-color:var(--brand-dark)}
/* The shop category list scrolls with the page instead of using the sticky sidebar. */
.site-shop-catalogue .courses-sidebar{position:static;top:auto;z-index:auto;align-self:auto}
@media(max-width:991px){.site-shop-catalogue .site-shop-type-filter{margin-top:24px}}
@media(max-width:767px){.site-shop-type-filter{align-items:flex-start;flex-direction:column}.site-shop-type-filter__buttons{width:100%}.site-shop-type-button{flex:1 1 calc(33.333% - 6px);min-width:0;padding:10px 8px}}

/* List view: rows use the full catalogue width with a fixed media column. */
#list .courses-wrapper > .courses-col{
  width:100%;
  max-width:100%;
  flex:0 0 100%;
}
#list .site-shop-course-item .site-dynamic-item-card.courses-list,
#list .site-shop-product-item .site-shop-product-card--list{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
#list .site-shop-course-item .site-dynamic-item-card.courses-list .courses-image,
#list .site-shop-course-item .site-dynamic-item-card.courses-list .courses-image a{
  flex:0 0 320px;
  width:320px;
  min-width:320px;
}
#list .site-shop-course-item .site-dynamic-item-card.courses-list .courses-content,
#list .site-shop-product-item .site-shop-product-card--list .site-shop-product-content{
  min-width:0;
  width:auto;
}
#list .site-shop-product-item .site-shop-product-card--list{
  grid-template-columns:320px minmax(0,1fr);
}
#list .site-shop-product-item .site-shop-product-card--list .site-shop-product-image{
  width:320px;
  min-width:320px;
  height:320px;
  min-height:0;
  aspect-ratio:1 / 1;
  align-self:start;
}
#list .site-shop-product-item .site-shop-product-content h3,
#list .site-shop-product-item .site-shop-product-content h3 a{
  max-width:100%;
  overflow-wrap:anywhere;
}
@media(max-width:1199px) and (min-width:992px){
  #list .site-shop-course-item .site-dynamic-item-card.courses-list .courses-image,
  #list .site-shop-course-item .site-dynamic-item-card.courses-list .courses-image a{
    flex-basis:280px;
    width:280px;
    min-width:280px;
  }
  #list .site-shop-product-item .site-shop-product-card--list{
    grid-template-columns:280px minmax(0,1fr);
  }
  #list .site-shop-product-item .site-shop-product-card--list .site-shop-product-image{
    width:280px;
    min-width:280px;
    height:280px;
  }
}
@media(max-width:991px){
  #list .site-shop-course-item .site-dynamic-item-card.courses-list .courses-image,
  #list .site-shop-course-item .site-dynamic-item-card.courses-list .courses-image a,
  #list .site-shop-product-item .site-shop-product-card--list .site-shop-product-image{
    width:100%;
    min-width:0;
  }
  #list .site-shop-product-item .site-shop-product-card--list .site-shop-product-image{
    height:auto;
    aspect-ratio:1 / 1;
  }
}

/* List view course rows: the image fills the media column from top to bottom. */
@media (min-width:768px){
  #list .site-shop-course-item .site-dynamic-item-card.courses-list{
    align-items:stretch;
  }
  #list .site-shop-course-item .site-dynamic-item-card.courses-list .courses-image,
  #list .site-shop-course-item .site-dynamic-item-card.courses-list .courses-image a{
    align-self:stretch;
    display:flex;
    min-height:100%;
  }
  #list .site-shop-course-item .site-dynamic-item-card.courses-list .courses-image img{
    width:100%!important;
    height:100%!important;
    min-height:100%;
    object-fit:cover!important;
    object-position:center!important;
  }
}
@media (max-width:767px){
  #list .site-shop-course-item .site-dynamic-item-card.courses-list .courses-image,
  #list .site-shop-course-item .site-dynamic-item-card.courses-list .courses-image a{
    display:block;
    min-height:0;
  }
  #list .site-shop-course-item .site-dynamic-item-card.courses-list .courses-image img{
    width:100%!important;
    height:auto!important;
    min-height:0;
    object-fit:cover!important;
  }
}
