/*!
Theme Name: Netballacademy
Theme URI: https://thenetballacademy.sg
Author: animx
Author URI: https://thenetballacademy.sg
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: netballacademy
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

netballacademy is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/* Shop Loader */
.net__shop-loader{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}
.net__shop-loader-spinner{
  width: 50px;
  height: 50px;
  border: 4px solid rgba(0, 87, 184, 0.2);
  border-top-color: var(--clr-primary);
  border-radius: 50%;
  animation: net__shop-spin 0.8s linear infinite;
}
@keyframes net__shop-spin{
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

   ------------------------------------------------------------ */
.net__mini-cart-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    width: 100%;
    margin: auto;
}

.net__mini-cart-spinner {
    width: 38px;
    height: 38px;
    border: 3px solid rgba(225, 0, 152, .25);
    border-top-color: var(--clr-primary);
    border-radius: 50%;
    animation: net-mini-cart-spin .7s linear infinite;
}

/* whole cart loading overlay */
.net__mini-cart.is-loading::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 5;
    background: rgba(255, 255, 255, .55);
    pointer-events: all;
}

.net__mini-cart.is-loading::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 6;
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
    border: 3px solid rgba(225, 0, 152, .25);
    border-top-color: var(--clr-primary);
    border-radius: 50%;
    animation: net-mini-cart-spin .7s linear infinite;
}

/* single item loading */
.net__mini-cart-item.is-loading { opacity: .55; }

.net__mini-cart-item.is-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 7;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid rgba(225, 0, 152, .25);
    border-top-color: var(--clr-primary);
    border-radius: 50%;
    animation: net-mini-cart-spin .7s linear infinite;
}

@keyframes net-mini-cart-spin {
    to { transform: rotate(360deg); }
}

/* empty cart state */
.net__mini-cart-empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 50px 20px;
    text-align: center;
}

.net__mini-cart-empty-icon {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: #fdf0f7;
    color: var(--clr-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.net__mini-cart-empty-icon svg { width: 40px; height: 40px; }

.net__mini-cart-empty-text {
    margin: 0;
    font-size: 17px;
    font-weight: 500;
    color: #1e1e1e;
}

.net__mini-cart-empty-btn { margin-top: 6px; }

/* ------------------------------------------------------------
   6. TOTALS + ACTION BUTTONS
   ------------------------------------------------------------ */
.net__mini-cart-totals {
    flex-shrink: 0;
    padding: 16px 20px;
    background: #fff;
    border-top: 1px solid #eeeeee;
}

.net__mini-cart-subtotal-row,
.net__mini-cart-total-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.net__mini-cart-subtotal-row { margin-bottom: 10px; }

.net__mini-cart-label {
    font-size: 15px;
    color: #666;
    font-weight: 500;
}

.net__mini-cart-value {
    font-size: 15px;
    font-weight: 600;
    color: #000;
}

.net__mini-cart-total-row {
    padding-top: 12px;
    border-top: 1px dashed #e2e2e2;
}

.net__mini-cart-total-row .net__mini-cart-label {
    font-size: 16px;
    font-weight: 600;
    color: #1e1e1e;
}

.net__mini-cart-total-row .net__mini-cart-value {
    font-size: 20px;
    font-weight: 800;
    color: var(--clr-primary);
}

.net__mini-cart-actions {
    flex-shrink: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 0 20px 20px;
    background: #fff;
}

.net__mini-cart-btn {
    min-height: 48px;
    padding: 12px 15px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    transition: all .25s ease;
    cursor: pointer;
}

/* View Cart */
.net__mini-cart-btn--view-cart {
    background: var(--clr-secondary);
    border: 1px solid var(--clr-secondary);
    color: #fff;
}

.net__mini-cart-btn--view-cart:hover {
    background: var(--clr-primary);
    border-color: var(--clr-primary);
    color: #fff;
}

/* Checkout */
.net__mini-cart-btn--checkout {
    background: var(--clr-primary);
    border: 1px solid var(--clr-primary);
    color: #fff;
}

.net__mini-cart-btn--checkout:hover {
    background: var(--clr-secondary);
    border-color: var(--clr-secondary);
    color: #fff;
    transform: translateY(-1px);
}



#add-to-cart-from-form.net__btn-locked {
    background-color: #b6b6b6 !important;
    background-image: none !important;
    border-color: #b6b6b6 !important;
    color: #fff !important;
    cursor: not-allowed;
    opacity: .75;
    box-shadow: none !important;
    transform: none !important;
}
#add-to-cart-from-form.net__btn-locked:hover,
#add-to-cart-from-form.net__btn-locked:focus {
    background-color: #b6b6b6 !important;
    background-image: none !important;
    color: #fff !important;
    transform: none !important;
}

/* Only the "New Player" option is available on product 19260 */
body.postid-19260 #net-player-options label.card:has(input[value="existing"]) { display: none !important; }

/* Step badges (Step 1 above WPForms, Step 2 inside booking form) */
.net__step-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
    padding: 6px 14px;
    border-radius: 30px;
    background: var(--clr-primary);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
}
.net__step-badge span { font-weight: 400; text-transform: none; }
.net__step-badge--2 {
    background: var(--clr-secondary);
    margin-top: 16px;
}

/* Fields copied from WPForms (Step 1) cannot be edited once locked */
.net__checkbox5 .net__field-locked,
.net__checkbox6 .net__field-locked,
#program-form .net__field-locked {
    background: #f3f3f3 !important;
    color: #555 !important;
    cursor: not-allowed;
    opacity: .85;
}

/* Read-only summary of the remaining WPForms answers (below net__checkbox6) */
.net__wpforms-summary {
    margin-top: 16px;
    padding: 14px 16px;
    background: #faf7ff;
    border: 1px dashed #d8c7f0;
    border-radius: 10px;
}
.net__wpforms-summary-title {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 600;
    color: #1e1e1e;
}
.net__wpforms-summary-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}
.net__wpforms-summary-list li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 13px;
    line-height: 1.5;
}
.net__wpforms-summary-list .lbl { color: #666; flex: 0 0 auto; }
.net__wpforms-summary-list .val { color: #000; font-weight: 500; text-align: right; }

/* 10-09-26 */


