/* Breadcrumbs */
.woocommerce-breadcrumb{font-size:13px;color:var(--text-light);padding:16px 0;margin-bottom:8px}
.woocommerce-breadcrumb a{color:var(--text-light)}
.woocommerce-breadcrumb a:hover{color:var(--accent)}

/* Archive / Category */
.shop-header{margin-bottom:32px}
.shop-header__title{margin-bottom:8px}
.shop-header__description{color:var(--text-light);max-width:700px}
.woocommerce-result-count{font-size:14px;color:var(--text-light)}
.woocommerce-ordering select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;background:var(--white);color:var(--text)}
.shop-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}

.wc-products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.wc-product-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .3s,transform .3s}
.wc-product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.wc-product-card a{display:block;text-decoration:none;color:inherit}
.wc-product-card img{width:100%;aspect-ratio:1;object-fit:cover}
.wc-product-card__info{padding:16px 20px}
.wc-product-card__title{font-size:15px;font-weight:600;color:var(--primary);margin-bottom:6px}
.wc-product-card__price{font-size:14px;color:var(--accent);font-weight:600}
.wc-product-card__price del{color:var(--text-light);font-weight:400;margin-right:6px}
.wc-product-card__price ins{text-decoration:none}

/* Single Product */
.single-product-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:32px 0 60px}
.product-gallery{position:sticky;top:120px;align-self:start}
.product-gallery .woocommerce-product-gallery{width:100%!important}
.product-gallery img{border-radius:var(--radius)}
.product-info .product_title{margin-bottom:12px}
.product-info .price{font-size:24px;font-weight:700;color:var(--primary);margin-bottom:16px}
.product-info .price del{color:var(--text-light);font-weight:400;font-size:18px}
.product-info .price ins{text-decoration:none}
.product-info .woocommerce-product-details__short-description{color:var(--text-light);margin-bottom:24px;line-height:1.7}

/* WAPF fields */
.wapf-field-group{margin-bottom:20px}
.wapf-field-group label{display:block;font-weight:600;margin-bottom:6px;color:var(--primary);font-size:14px}
.wapf-field-group select,.wapf-field-group input[type="text"],.wapf-field-group input[type="number"]{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:15px;transition:border-color var(--transition)}
.wapf-field-group select:focus,.wapf-field-group input:focus{border-color:var(--accent);outline:none}
.wapf-field-group .wapf-field-description{font-size:12px;color:var(--text-light);margin-top:4px}
.wapf-field-group .wapf-swatch{border:2px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);cursor:pointer}
.wapf-field-group .wapf-swatch.selected,.wapf-field-group .wapf-swatch:hover{border-color:var(--accent)}

/* Add to cart */
.single_add_to_cart_button{width:100%;padding:16px 24px!important;font-size:16px!important;font-weight:700!important;background:var(--accent)!important;color:var(--primary)!important;border:none!important;border-radius:var(--radius)!important;cursor:pointer;transition:background var(--transition)!important}
.single_add_to_cart_button:hover{background:var(--accent-hover)!important}
.quantity .qty{width:80px;padding:10px;text-align:center;border:1px solid var(--border);border-radius:var(--radius);font-size:15px}

/* Product tabs */
.woocommerce-tabs{margin-top:48px;border-top:1px solid var(--border);padding-top:32px}
.woocommerce-tabs .tabs{list-style:none;display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:24px}
.woocommerce-tabs .tabs li{margin:0}
.woocommerce-tabs .tabs li a{display:block;padding:12px 24px;font-weight:600;color:var(--text-light);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition)}
.woocommerce-tabs .tabs li.active a{color:var(--primary);border-bottom-color:var(--accent)}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{padding:14px 20px;border-radius:var(--radius);margin-bottom:20px;font-size:14px}
.woocommerce-message{background:#f0f9f0;border-left:4px solid #4caf50;color:#2e7d32}
.woocommerce-info{background:#e8f4fd;border-left:4px solid #2196f3;color:#1565c0}
.woocommerce-error{background:#fdecea;border-left:4px solid #f44336;color:#c62828;list-style:none}

/* Pagination */
.woocommerce-pagination{margin-top:40px;text-align:center}
.woocommerce-pagination .page-numbers{display:inline-flex;gap:4px;list-style:none}
.woocommerce-pagination .page-numbers li a,.woocommerce-pagination .page-numbers li span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius);font-size:14px;font-weight:500;transition:all var(--transition)}
.woocommerce-pagination .page-numbers li a{background:var(--white);border:1px solid var(--border);color:var(--text)}
.woocommerce-pagination .page-numbers li a:hover{border-color:var(--accent);color:var(--accent)}
.woocommerce-pagination .page-numbers li span.current{background:var(--primary);color:var(--white);border:1px solid var(--primary)}

/* Star ratings */
.star-rating{display:inline-flex;color:var(--accent);font-size:14px}

/* Related products */
.related.products{padding-top:48px;border-top:1px solid var(--border);margin-top:48px}
.related.products h2{margin-bottom:24px}
.related.products .products{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

/* Checkout */
.woocommerce-checkout .form-row label{display:block;font-weight:600;margin-bottom:4px;font-size:14px;color:var(--primary)}
.woocommerce-checkout .form-row input,.woocommerce-checkout .form-row select,.woocommerce-checkout .form-row textarea{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:15px}
.woocommerce-checkout .form-row input:focus,.woocommerce-checkout .form-row select:focus{border-color:var(--accent);outline:none}
.woocommerce-checkout #place_order{width:100%;padding:16px;font-size:16px;font-weight:700;background:var(--accent);color:var(--primary);border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--transition)}
.woocommerce-checkout #place_order:hover{background:var(--accent-hover)}

@media(max-width:1023px){
    .single-product-layout{grid-template-columns:1fr;gap:32px}
    .product-gallery{position:static}
    .wc-products-grid{grid-template-columns:repeat(2,1fr)}
    .related.products .products{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:599px){
    .wc-products-grid{grid-template-columns:repeat(2,1fr);gap:12px}
    .related.products .products{grid-template-columns:repeat(2,1fr);gap:12px}
}

/* My Account Login Page */
.woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
    max-width: 480px;
    margin: 0 auto;
    padding: 32px 36px;
    background: var(--white);
    border-radius: 12px;
    box-shadow: var(--shadow-lg);
}

.woocommerce-account:not(.logged-in) .page-title {
    display: none;
}

.woocommerce-account:not(.logged-in) .site-main > article > .container {
    background: var(--light-bg);
    max-width: 100%;
    padding: 48px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 60vh;
    justify-content: center;
}

.woocommerce-account:not(.logged-in) .entry-content > .woocommerce::before {
    content: '';
    display: block;
    width: 72px;
    height: 72px;
    margin: 0 auto 16px;
    background: url('/wp-content/uploads/2026/04/Alliance_icon.png') center/contain no-repeat;
}

.woocommerce-account:not(.logged-in) .woocommerce h2 {
    font-family: var(--font-heading);
    font-size: 22px;
    text-align: center;
    margin-bottom: 4px;
    color: var(--primary);
}

.woocommerce-account:not(.logged-in) .woocommerce h2::after {
    content: 'Log in op uw account';
    display: block;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    color: var(--text-light);
    margin-top: 6px;
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login {
    margin-top: 14px;
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login label {
    display: block;
    font-family: var(--font-heading);
    font-weight: 500;
    font-size: 14px;
    color: var(--primary);
    margin-bottom: 6px;
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login .required {
    color: var(--accent);
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login .input-text {
    width: 100%;
    padding: 10px 14px;
    border: 2px solid var(--border);
    border-radius: var(--radius);
    font-size: 15px;
    transition: border-color .2s;
    background: var(--white);
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login .input-text:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(221,172,74,.15);
    outline: none;
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row {
    margin-bottom: 14px;
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit {
    width: 100%;
    padding: 12px 24px;
    background: var(--accent);
    color: var(--primary);
    border: none;
    border-radius: var(--radius);
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    transition: background .2s;
    margin-top: 4px;
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit:hover {
    background: var(--accent-hover);
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--text-light);
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme input[type="checkbox"] {
    accent-color: var(--accent);
    width: 16px;
    height: 16px;
}

.woocommerce-account:not(.logged-in) .woocommerce-LostPassword {
    text-align: center;
    margin-top: 14px;
}

.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a {
    color: var(--text-light);
    font-size: 14px;
    transition: color .2s;
}

.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a:hover {
    color: var(--accent);
}

/* My Account - Logged in dashboard */
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    float: left;
    width: 220px;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    list-style: none;
    background: var(--light-bg);
    border-radius: var(--radius);
    padding: 8px 0;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 10px 20px;
    color: var(--text);
    font-size: 14px;
    transition: all .2s;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--accent);
    background: rgba(221,172,74,.08);
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    float: right;
    width: calc(100% - 250px);
}

@media(max-width:767px) {
    .woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
        padding: 32px 24px;
        margin: 0 16px;
    }
    .woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
    .woocommerce-account.logged-in .woocommerce-MyAccount-content {
        float: none;
        width: 100%;
    }
}

/* Lost Password / Reset Password Page */
.woocommerce-account:not(.logged-in) .lost_reset_password p:first-child {
    text-align: center;
    font-size: 14px;
    color: var(--text-light);
    line-height: 1.6;
    margin-bottom: 20px;
}

.woocommerce-account:not(.logged-in) .lost_reset_password label {
    display: block;
    font-family: var(--font-heading);
    font-weight: 500;
    font-size: 14px;
    color: var(--primary);
    margin-bottom: 6px;
}

.woocommerce-account:not(.logged-in) .lost_reset_password .input-text {
    width: 100%;
    padding: 10px 14px;
    border: 2px solid var(--border);
    border-radius: var(--radius);
    font-size: 15px;
    transition: border-color .2s;
}

.woocommerce-account:not(.logged-in) .lost_reset_password .input-text:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(221,172,74,.15);
    outline: none;
}

.woocommerce-account:not(.logged-in) .lost_reset_password .form-row {
    margin-bottom: 14px;
}

.woocommerce-account:not(.logged-in) .lost_reset_password .button {
    width: 100%;
    padding: 12px 24px;
    background: var(--accent);
    color: var(--primary);
    border: none;
    border-radius: var(--radius);
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: background .2s;
}

.woocommerce-account:not(.logged-in) .lost_reset_password .button:hover {
    background: var(--accent-hover);
}

/* Generic WooCommerce form pages (cart, checkout, etc) */
.woocommerce-cart .page-title,
.woocommerce-checkout .page-title {
    font-family: var(--font-heading);
    margin-bottom: 24px;
}

/* Cart Page */
.woocommerce-cart-form table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-cart-form th {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--text-light);
    padding: 12px 16px;
    border-bottom: 2px solid var(--border);
    text-align: left;
}

.woocommerce-cart-form td {
    padding: 16px;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

.woocommerce-cart-form .product-thumbnail img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: var(--radius);
}

.woocommerce-cart-form .product-name a {
    font-weight: 600;
    color: var(--primary);
}

.woocommerce-cart-form .product-name a:hover {
    color: var(--accent);
}

.woocommerce-cart-form .product-remove a {
    color: var(--text-light);
    font-size: 18px;
    transition: color .2s;
}

.woocommerce-cart-form .product-remove a:hover {
    color: #c62828;
}

.woocommerce-cart-form .qty {
    width: 64px;
    padding: 8px;
    text-align: center;
    border: 2px solid var(--border);
    border-radius: var(--radius);
}

.woocommerce-cart-form .button {
    background: var(--primary);
    color: var(--white);
    border: none;
    border-radius: var(--radius);
    padding: 10px 20px;
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .2s;
}

.woocommerce-cart-form .button:hover {
    background: var(--primary-light);
}

/* Cart totals */
.cart_totals {
    max-width: 420px;
    margin-left: auto;
    background: var(--light-bg);
    padding: 24px;
    border-radius: var(--radius);
}

.cart_totals h2 {
    font-size: 18px;
    margin-bottom: 16px;
}

.cart_totals table {
    width: 100%;
}

.cart_totals th, .cart_totals td {
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
}

.cart_totals th {
    font-weight: 600;
    color: var(--primary);
    text-align: left;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
    font-size: 18px;
    font-weight: 700;
    border-bottom: none;
}

.cart_totals .checkout-button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 14px 24px;
    background: var(--accent);
    color: var(--primary);
    border: none;
    border-radius: var(--radius);
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    transition: background .2s;
    margin-top: 16px;
}

.cart_totals .checkout-button:hover {
    background: var(--accent-hover);
}

/* Coupon */
.coupon {
    display: flex;
    gap: 8px;
    align-items: center;
}

.coupon #coupon_code {
    padding: 8px 12px;
    border: 2px solid var(--border);
    border-radius: var(--radius);
    font-size: 14px;
    max-width: 200px;
}

/* Checkout Page */
.woocommerce-checkout h3 {
    font-size: 18px;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--border);
}

.woocommerce-checkout .form-row {
    margin-bottom: 14px;
}

.woocommerce-checkout .form-row label {
    font-family: var(--font-heading);
    font-weight: 500;
    font-size: 14px;
    color: var(--primary);
    margin-bottom: 4px;
    display: block;
}

.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    width: 100%;
    padding: 10px 14px;
    border: 2px solid var(--border);
    border-radius: var(--radius);
    font-size: 15px;
    transition: border-color .2s;
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(221,172,74,.15);
    outline: none;
}

.woocommerce-checkout #order_review {
    background: var(--light-bg);
    padding: 24px;
    border-radius: var(--radius);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
    width: 100%;
    margin-bottom: 16px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    padding: 8px 0;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
}

.woocommerce-checkout #place_order {
    width: 100%;
    padding: 14px;
    background: var(--accent);
    color: var(--primary);
    border: none;
    border-radius: var(--radius);
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    transition: background .2s;
}

.woocommerce-checkout #place_order:hover {
    background: var(--accent-hover);
}

/* Payment methods */
.woocommerce-checkout .wc_payment_methods {
    list-style: none;
    margin-bottom: 16px;
}

.woocommerce-checkout .wc_payment_method {
    padding: 12px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    margin-bottom: 8px;
    transition: border-color .2s;
}

.woocommerce-checkout .wc_payment_method:has(input:checked) {
    border-color: var(--accent);
    background: rgba(221,172,74,.04);
}

.woocommerce-checkout .wc_payment_method label {
    font-weight: 600;
    cursor: pointer;
}

.woocommerce-checkout .payment_box {
    font-size: 13px;
    color: var(--text-light);
    padding: 8px 0 0 24px;
}

/* Empty cart */
.cart-empty {
    text-align: center;
    padding: 40px 0;
    color: var(--text-light);
    font-size: 16px;
}

.cart-empty + .return-to-shop .button {
    display: inline-flex;
    padding: 12px 28px;
    background: var(--accent);
    color: var(--primary);
    border: none;
    border-radius: var(--radius);
    font-family: var(--font-heading);
    font-weight: 600;
    text-decoration: none;
    transition: background .2s;
}

.cart-empty + .return-to-shop .button:hover {
    background: var(--accent-hover);
}

.return-to-shop {
    text-align: center;
    margin-top: 16px;
}
