/* Wunder Organisation Credits – responsive front-end refinements */
:root{--woc-red:#e11b18;--woc-red-dark:#c71614;--woc-line:#e2e6ed;--woc-ink:#172033}

/* Organisation registration */
.woc-registration-wrap{max-width:760px;margin:0 auto;padding:24px;border:1px solid var(--woc-line);border-radius:14px;background:#fff}
.woc-registration-wrap h2{margin-top:0}
.woc-registration-wrap .form-row{margin-bottom:18px}
.woc-registration-wrap label{display:block;margin-bottom:7px;font-weight:700}
.woc-registration-wrap input[type=text],.woc-registration-wrap input[type=email],.woc-registration-wrap input[type=tel],.woc-registration-wrap select{width:100%;min-height:48px;border:1px solid #ccd3df;border-radius:8px;padding:10px 12px;background:#fff}
.woc-registration-wrap button[type=submit]{background:var(--woc-red)!important;border:1px solid var(--woc-red)!important;color:#fff!important;border-radius:6px!important;min-height:48px;padding:11px 18px;font-weight:700}

/* Shop top actions and session cards */
.woc-shop-top-actions{gap:10px!important}
.woc-shop-top-actions .woc-shop-dashboard-button{background:var(--woc-red)!important;border-color:var(--woc-red)!important;color:#fff!important}
.woc-shop-top-actions .woc-shop-view-cart-button{background:#fff!important;border:1px solid var(--woc-red)!important;color:var(--woc-red)!important}
.woc-session-shop-actions{gap:8px!important}
.woc-session-shop-actions .woc-session-view-cart{background:#fff!important;border:1px solid var(--woc-red)!important;color:var(--woc-red)!important}

/* Cart */
.woc-cart-continue-shopping{border:1px solid var(--woc-red)!important;background:#fff!important;color:var(--woc-red)!important;border-radius:6px!important}

/* Checkout extras */
#woc-credit-status-panel{box-sizing:border-box}
.woc-checkout-view-cart{color:var(--woc-red)!important}

@media (max-width:782px){
  .woc-registration-wrap{margin:0 12px;padding:20px 16px}
  .woc-registration-wrap h2{font-size:clamp(28px,8vw,38px);line-height:1.15}
  .woc-registration-wrap button[type=submit]{width:100%}

  .woc-shop-top-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%;justify-content:stretch!important}
  .woc-shop-top-actions .button{width:100%;text-align:center}
  .woc-session-shop-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
  .woc-session-shop-actions .button{width:100%;text-align:center}

  .woocommerce ul.products li.product .woc-session-shop-actions{max-width:100%}
  .woocommerce ul.products li.product .button{min-height:44px}

  .woc-cart-continue-shopping{width:100%!important;text-align:center!important;margin-bottom:10px!important}

  #woc-credit-status-panel{padding:15px 14px!important;font-size:14px!important}
  #woc-credit-status-panel #woc-credit-balance{font-size:16px!important}
}

@media (max-width:480px){
  .woc-registration-wrap{padding:18px 14px}
  .woc-shop-top-actions{grid-template-columns:1fr!important}
  .woocommerce ul.products.columns-2,.woocommerce ul.products.columns-3,.woocommerce ul.products.columns-4{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}
  .woocommerce ul.products li.product{width:100%!important;margin-right:0!important}
}


/* v2.0.15 mobile-first refinements across the public purchase journey */
.woc-login-product-nav{display:flex;justify-content:center;margin-top:18px}
.woc-login-products-button{background:#fff!important;border:1px solid var(--woc-red)!important;color:var(--woc-red)!important;border-radius:4px!important;text-decoration:none!important}

@media (max-width:782px){
  /* Keep the Shop navigation prominent and usable on touch screens. */
  .woc-shop-top-actions{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)!important}
  .woc-shop-top-actions .button{min-height:46px!important;padding:10px 12px!important;white-space:normal!important;line-height:1.2!important}

  /* WooCommerce Cart / Checkout Blocks: stack main content and sidebar cleanly. */
  .wc-block-components-sidebar-layout{display:block!important}
  .wc-block-components-sidebar-layout .wc-block-components-main,
  .wc-block-components-sidebar-layout .wc-block-components-sidebar{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
  .wc-block-components-sidebar-layout .wc-block-components-sidebar{margin-top:24px!important}
  .wc-block-checkout__actions_row{gap:10px!important}
  .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{min-height:48px!important}
  .wc-block-components-address-form__first_name,
  .wc-block-components-address-form__last_name,
  .wc-block-components-address-form__city,
  .wc-block-components-address-form__state,
  .wc-block-components-address-form__postcode{grid-column:1/-1!important}

  /* Registration/login controls become comfortably tappable. */
  .woc-registration-wrap input,.woc-registration-wrap select,
  .woc-login-card input{font-size:16px!important}
  .woc-login-product-nav{padding-top:14px}
  .woc-login-product-nav .woc-login-products-button{min-height:46px}
}

@media (max-width:480px){
  /* Keep Dashboard + Cart beside each other as requested, even on phones. */
  .woc-shop-top-actions{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important;gap:8px!important}
  .woc-shop-top-actions .button{font-size:13px!important;padding:9px 8px!important}

  /* Checkout buttons / plugin panels use the full mobile width. */
  #woc-credit-status-panel{width:100%!important}
  .wc-block-checkout__actions_row{display:block!important}
  .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{width:100%!important;margin-top:10px!important}
}

@media (max-width:340px){
  .woc-shop-top-actions{grid-template-columns:1fr!important}
}


/* v2.0.16 WooCommerce Shop catalogue: 1920x1080 (16:9) landscape card standard */
.woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:28px!important;
  clear:both;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none!important;content:none!important}
.woocommerce ul.products li.product{
  float:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  min-width:0;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product a.woocommerce-loop-product__link{display:block;width:100%}
.woocommerce ul.products li.product .woc-product-landscape-frame{
  display:flex!important;
  width:100%!important;
  aspect-ratio:16 / 9!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#fff!important;
  margin:0 0 16px!important;
}
.woocommerce ul.products li.product .woc-product-landscape-frame img.woc-product-landscape-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
}

@media (max-width:782px){
  .woocommerce ul.products,
  .woocommerce ul.products.columns-1,
  .woocommerce ul.products.columns-2,
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4,
  .woocommerce ul.products.columns-5,
  .woocommerce ul.products.columns-6{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .woocommerce ul.products li.product .woc-product-landscape-frame{aspect-ratio:16 / 9!important}
}

/* v2.0.17: prevent theme thumbnail dimensions from shrinking individual cards */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link .woc-product-landscape-frame,
.woocommerce ul.products li.product .woocommerce-loop-product__link .woc-product-landscape-frame{box-sizing:border-box!important}
.woocommerce ul.products li.product .woc-session-shop-actions{width:100%;box-sizing:border-box}


/* v2.0.18: dynamic live-session catalogue cards from WooCommerce product fields */
.woocommerce ul.products li.product.woc-live-session-card{
  position:relative!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border:1px solid #e4e8ee!important;
  border-radius:14px!important;
  padding:0 0 18px!important;
  overflow:hidden!important;
  box-shadow:0 8px 24px rgba(23,32,51,.08)!important;
}
.woocommerce ul.products li.product.woc-live-session-card .woc-product-landscape-frame{
  margin-bottom:0!important;
  border-radius:0!important;
  background:#f7f8fa!important;
}
.woocommerce ul.products li.product.woc-live-session-card .woocommerce-loop-product__title,
.woocommerce ul.products li.product.woc-live-session-card .price,
.woocommerce ul.products li.product.woc-live-session-card .woc-session-card-details,
.woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions{
  margin-left:20px!important;
  margin-right:20px!important;
}
.woocommerce ul.products li.product.woc-live-session-card .woocommerce-loop-product__title{
  padding:18px 0 8px!important;
  margin-top:0!important;
  margin-bottom:0!important;
  color:#163f65!important;
  font-size:clamp(20px,2vw,26px)!important;
  line-height:1.2!important;
  font-weight:750!important;
}
.woocommerce ul.products li.product.woc-live-session-card .woc-session-card-details{
  position:relative;
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:8px 0 12px;
  border-bottom:1px solid #edf0f4;
}
.woc-session-card-date-badge{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:72px;
  padding:8px;
  border-radius:9px;
  background:var(--woc-red);
  color:#fff;
  text-align:center;
  line-height:1;
}
.woc-session-card-date-badge strong{font-size:27px;line-height:1;font-weight:800}
.woc-session-card-date-badge span{font-size:12px;line-height:1;margin-top:6px;font-weight:800;letter-spacing:.08em}
.woc-session-card-meta{display:grid;gap:7px;min-width:0}
.woc-session-card-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:14px;line-height:1.35}
.woc-session-card-row .woc-session-card-label{color:#738096;white-space:nowrap}
.woc-session-card-row strong{color:#172033;text-align:right;font-weight:650;overflow-wrap:anywhere}
.woocommerce ul.products li.product.woc-live-session-card .price{
  display:block!important;
  margin-top:14px!important;
  margin-bottom:12px!important;
  color:#172033!important;
  font-size:19px!important;
  font-weight:800!important;
}
.woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
}
.woocommerce ul.products li.product.woc-live-session-card .woc-session-add-to-cart{
  background:var(--woc-red)!important;
  border:1px solid var(--woc-red)!important;
  color:#fff!important;
  border-radius:6px!important;
  text-align:center!important;
}
.woocommerce ul.products li.product.woc-live-session-card .woc-session-view-cart{
  border-radius:6px!important;
  text-align:center!important;
}

@media(max-width:782px){
  .woocommerce ul.products li.product.woc-live-session-card .woocommerce-loop-product__title,
  .woocommerce ul.products li.product.woc-live-session-card .price,
  .woocommerce ul.products li.product.woc-live-session-card .woc-session-card-details,
  .woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions{margin-left:16px!important;margin-right:16px!important}
  .woocommerce ul.products li.product.woc-live-session-card .woc-session-card-details{grid-template-columns:68px minmax(0,1fr);gap:12px}
  .woc-session-card-date-badge{min-height:66px}
  .woc-session-card-date-badge strong{font-size:24px}
}
@media(max-width:480px){
  .woc-session-card-row{display:block}
  .woc-session-card-row .woc-session-card-label{display:block;margin-bottom:2px;font-size:12px}
  .woc-session-card-row strong{display:block;text-align:left}
  .woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions{grid-template-columns:1fr!important}
}


/* v2.0.19 Shop catalogue tabs + native post-add View cart behaviour */
.woc-shop-catalogue-tabs{
  display:flex;
  align-items:flex-end;
  gap:8px;
  width:100%;
  margin:8px 0 26px!important;
  padding:0;
  border-bottom:2px solid #e7eaf0;
  clear:both;
}
.woc-shop-catalogue-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 20px;
  margin-bottom:-2px;
  border:1px solid #e1e5eb;
  border-bottom:2px solid #e7eaf0;
  border-radius:7px 7px 0 0;
  background:#f4f6f8;
  color:#172033!important;
  font-weight:700;
  line-height:1.2;
  text-decoration:none!important;
}
.woc-shop-catalogue-tab:hover,
.woc-shop-catalogue-tab:focus{color:#e11b18!important;background:#fff}
.woc-shop-catalogue-tab.is-active{
  background:#e11b18!important;
  border-color:#e11b18!important;
  color:#fff!important;
}
.woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions .woc-session-add-to-cart{
  flex:1 1 auto!important;
}
.woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions .added_to_cart.wc-forward{
  flex:0 0 auto!important;
}
@media(max-width:600px){
  .woc-shop-catalogue-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-bottom:0;margin-bottom:20px!important}
  .woc-shop-catalogue-tab{min-width:0;margin:0;border:1px solid #e1e5eb;border-radius:6px;padding:10px 8px;font-size:13px;text-align:center}
  .woc-shop-catalogue-tab.is-active{border-color:#e11b18!important}
  .woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions{display:grid!important;grid-template-columns:1fr!important}
  .woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions .added_to_cart.wc-forward{width:100%!important}
}


/* v2.0.21 Session card action buttons: leave room for native post-add View cart */
@media (min-width:601px){
  .woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    width:100%!important;
  }
  .woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions .woc-session-add-to-cart{
    flex:0 1 68%!important;
    width:auto!important;
    min-width:0!important;
    max-width:68%!important;
    padding:12px 18px!important;
    white-space:nowrap!important;
  }
  .woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions .added_to_cart.wc-forward{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:118px!important;
    max-width:32%!important;
    box-sizing:border-box!important;
    padding:11px 16px!important;
    border:1px solid var(--woc-red)!important;
    border-radius:6px!important;
    background:#fff!important;
    color:var(--woc-red)!important;
    text-align:center!important;
    text-decoration:none!important;
    font-weight:700!important;
    line-height:1.35!important;
    white-space:nowrap!important;
  }
}
@media (max-width:600px){
  .woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
  }
  .woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions .woc-session-add-to-cart,
  .woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions .added_to_cart.wc-forward{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    text-align:center!important;
  }
  .woocommerce ul.products li.product.woc-live-session-card .woc-session-shop-actions .added_to_cart.wc-forward{
    border:1px solid var(--woc-red)!important;
    border-radius:6px!important;
    background:#fff!important;
    color:var(--woc-red)!important;
    padding:11px 16px!important;
    font-weight:700!important;
    text-decoration:none!important;
  }
}
