/* ── VASCO Sync — WooCommerce ── */

/* ══════════════════════════════════════
   DARK MODE — Bootstrap & WooCommerce
   Bootstrap hardcodes white bg, dark text.
   Force everything to use CSS vars.
   ══════════════════════════════════════ */
[data-theme="dark"] body,
[data-theme="dark"] .vasco-woo-page{background:var(--bg)!important;color:var(--text)!important}
[data-theme="dark"] .woocommerce table.shop_table{background:transparent!important;border:none!important}
[data-theme="dark"] .woocommerce table.shop_table th{background:transparent!important;color:var(--text-muted)!important;border-color:var(--border)!important}
[data-theme="dark"] .woocommerce table.shop_table td{color:var(--text)!important;border-color:var(--border)!important;background:transparent!important}
[data-theme="dark"] .cart_totals{background:var(--bg-card)!important;border-color:var(--border)!important}
[data-theme="dark"] .cart_totals .shop_table th,.cart_totals .shop_table td{background:transparent!important}
[data-theme="dark"] .vasco-checkout-left .woocommerce-billing-fields,
[data-theme="dark"] .vasco-checkout-left .woocommerce-shipping-fields,
[data-theme="dark"] .vasco-checkout-left .woocommerce-additional-fields{background:var(--bg-card)!important;border-color:var(--border)!important}
[data-theme="dark"] .vasco-checkout-right h3#order_review_heading{background:var(--bg-card)!important;border-color:var(--border)!important}
[data-theme="dark"] .vasco-checkout-right .woocommerce-checkout-review-order{background:var(--bg-card)!important;border-color:var(--border)!important}
[data-theme="dark"] .woocommerce-checkout #payment{border-color:var(--border)!important}
[data-theme="dark"] .woocommerce-checkout-review-order-table th,
[data-theme="dark"] .woocommerce-checkout-review-order-table td,
[data-theme="dark"] .woocommerce-checkout-review-order-table tfoot th,
[data-theme="dark"] .woocommerce-checkout-review-order-table tfoot td,
[data-theme="dark"] .woocommerce-checkout-review-order-table thead th{background:transparent!important;color:var(--text)!important;border-color:var(--border)!important}
[data-theme="dark"] .woocommerce-checkout-review-order-table tfoot th{color:var(--text-muted)!important}
[data-theme="dark"] .woocommerce-checkout-review-order-table tfoot .recurring-totals th,
[data-theme="dark"] .woocommerce-checkout-review-order-table tfoot .recurring-totals td{background:transparent!important;color:var(--text-muted)!important}
/* Bootstrap form overrides — visible borders on dark bg */
[data-theme="dark"] .woocommerce .form-row .input-text,
[data-theme="dark"] .woocommerce .form-row select,
[data-theme="dark"] .woocommerce .form-row textarea,
[data-theme="dark"] .woocommerce .quantity .qty,
[data-theme="dark"] .woocommerce .coupon .input-text,
[data-theme="dark"] .checkout_coupon .input-text,
[data-theme="dark"] input.input-text,
[data-theme="dark"] .woocommerce input[type="text"],
[data-theme="dark"] .woocommerce input[type="email"],
[data-theme="dark"] .woocommerce input[type="tel"],
[data-theme="dark"] .woocommerce input[type="number"],
[data-theme="dark"] .woocommerce input[type="password"],
[data-theme="dark"] .woocommerce select,
[data-theme="dark"] .woocommerce textarea{background:var(--bg-alt)!important;color:var(--text)!important;border:1px solid rgba(255,255,255,.12)!important}
[data-theme="dark"] .woocommerce .form-row .input-text:focus,
[data-theme="dark"] .woocommerce .form-row select:focus,
[data-theme="dark"] .woocommerce .form-row textarea:focus,
[data-theme="dark"] .woocommerce input:focus,
[data-theme="dark"] .woocommerce select:focus,
[data-theme="dark"] .woocommerce textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px rgba(8,145,178,.15)!important}
[data-theme="dark"] .woocommerce input::placeholder,
[data-theme="dark"] .woocommerce textarea::placeholder{color:var(--text-muted)!important}
[data-theme="dark"] .woocommerce .select2-container--default .select2-selection--single{background:var(--bg-alt)!important;border:1px solid rgba(255,255,255,.12)!important}
[data-theme="dark"] .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--text)!important}
[data-theme="dark"] .select2-dropdown{background:var(--bg-card)!important;border:1px solid rgba(255,255,255,.12)!important}
[data-theme="dark"] .select2-search--dropdown .select2-search__field{background:var(--bg-alt)!important;color:var(--text)!important;border:1px solid rgba(255,255,255,.12)!important}
[data-theme="dark"] .select2-container--default .select2-results__option{color:var(--text)}
[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected],
[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--primary)!important;color:#fff!important}
/* Notices */
[data-theme="dark"] .woocommerce-message{background:rgba(16,185,129,.12)!important;border-color:rgba(16,185,129,.2)!important}
[data-theme="dark"] .woocommerce-info{background:rgba(8,145,178,.12)!important;border-color:rgba(8,145,178,.2)!important}
[data-theme="dark"] .woocommerce-error{background:rgba(239,68,68,.12)!important;border-color:rgba(239,68,68,.2)!important}
/* My Account */
[data-theme="dark"] .woocommerce-MyAccount-navigation{border-color:var(--border)!important}
[data-theme="dark"] .woocommerce-MyAccount-content table th,[data-theme="dark"] .woocommerce-MyAccount-content table td{background:transparent!important;border-color:var(--border)!important}
/* Login / register */
[data-theme="dark"] .woocommerce-form-login,
[data-theme="dark"] .woocommerce-form-register{background:var(--bg-card)!important;border-color:var(--border)!important}
[data-theme="dark"] .woocommerce-form-login input,
[data-theme="dark"] .woocommerce-form-register input{background:var(--bg-card)!important;color:var(--text)!important;border-color:var(--border)!important}
/* Product cards */
[data-theme="dark"] ul.products li.product{background:var(--bg-card)!important;border-color:var(--border)!important}
/* SATT subscription options */
[data-theme="dark"] .wcsatt-options-prompt-radio label,
[data-theme="dark"] .wcsatt-options-prompt-label,
[data-theme="dark"] .wcsatt-options-product li label{background:var(--bg-card)!important;border-color:var(--border)!important;color:var(--text)!important}
[data-theme="dark"] .wcsatt-options-prompt-radio label:has(input:checked),
[data-theme="dark"] .wcsatt-options-product li label:has(input:checked){border-color:var(--primary)!important;background:rgba(8,145,178,.08)!important}
/* Coupon form */
[data-theme="dark"] .checkout_coupon{background:var(--bg-card)!important;border-color:var(--border)!important}
/* Pricing card on product page */
[data-theme="dark"] .pricing-card{background:var(--bg-card)!important;border-color:var(--primary)!important}
/* Cart actions */
[data-theme="dark"] .woocommerce-cart-form td.actions{background:transparent!important}
/* Remove button */
[data-theme="dark"] .woocommerce-cart-form .product-remove a.remove{border-color:var(--border)!important}
/* Pagination */
[data-theme="dark"] .woocommerce-pagination ul li a,
[data-theme="dark"] .woocommerce-pagination ul li span{background:var(--bg-card)!important;border-color:var(--border)!important;color:var(--text-secondary)!important}
[data-theme="dark"] .woocommerce-pagination ul li span.current{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}
/* Stripe iframe container */
[data-theme="dark"] #payment .payment_box{color:var(--text-secondary)!important}
/* Order details */
[data-theme="dark"] .woocommerce-order-details table,
[data-theme="dark"] .woocommerce-table--order-details{background:var(--bg-card)!important;border-color:var(--border)!important}
[data-theme="dark"] .woocommerce-order-details thead th{background:transparent!important}
[data-theme="dark"] .woocommerce-order-overview li{background:var(--bg-card)!important;border-color:var(--border)!important}
[data-theme="dark"] .woocommerce-customer-details address{background:var(--bg-card)!important;border-color:var(--border)!important}

/* ══════════════════════════════════════
   BOOTSTRAP CONFLICT RESETS
   Bootstrap .col-1/.col-2, .form-row etc
   clash with WooCommerce classes
   ══════════════════════════════════════ */

/* WC .col2-set uses .col-1 / .col-2 for billing/shipping —
   Bootstrap hijacks these as grid cols (1/12, 2/12). Reset them. */
.woocommerce .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:32px;width:100%}
.woocommerce .col2-set::before,.woocommerce .col2-set::after{display:none}
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2{float:none;width:100%;max-width:100%;flex:none;padding:0;margin:0;position:relative}

/* WC .form-row is a field wrapper (<p>), not Bootstrap's form grid row */
.woocommerce .form-row{display:block;margin-bottom:16px;padding:0}
.woocommerce .form-row::before,.woocommerce .form-row::after{content:'';display:table;clear:both}

/* WC float-based half-width fields */
.woocommerce .form-row-first,.woocommerce .form-row-last{width:calc(50% - 8px);float:left}
.woocommerce .form-row-last{float:right}
.woocommerce .form-row-wide{width:100%;clear:both}

/* WC .button — global base so every WC button gets VASCO colors */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit{display:inline-block;vertical-align:middle;white-space:nowrap;font-family:'Plus Jakarta Sans',system-ui,sans-serif;padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;text-align:center;line-height:1.5;box-shadow:0 2px 8px rgba(8,145,178,.3)}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{background:var(--primary-dark);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px rgba(8,145,178,.35)}
.woocommerce .button:disabled,
.woocommerce button.button:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
/* Alt / secondary buttons */
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt{background:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(8,145,178,.3)}
.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover{background:var(--primary-dark);color:#fff}
/* Outlined / secondary style for coupon, update cart etc */
.woocommerce .button.wc-forward{background:var(--primary);color:#fff}

/* WC tables — prevent Bootstrap table resets */
.woocommerce table.shop_table{border-collapse:separate;border-spacing:0}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{vertical-align:middle}

/* WC input-text — prevent Bootstrap .form-control inheritance */
.woocommerce .input-text{box-shadow:none}

/* Override Bootstrap .badge and .btn with VASCO styles */
.badge{display:inline-flex!important;align-items:center;gap:6px;padding:6px 16px!important;border-radius:var(--radius-full)!important;font-size:13px!important;font-weight:600;letter-spacing:.02em;background:rgba(8,145,178,.1)!important;color:var(--primary)!important;border:1px solid rgba(8,145,178,.15)!important;line-height:1.5!important}

/* Override Bootstrap .btn-primary with VASCO colors */
.btn.btn-primary{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important;box-shadow:0 2px 8px rgba(8,145,178,.3)}
.btn.btn-primary:hover,.btn.btn-primary:focus{background:var(--primary-dark)!important;border-color:var(--primary-dark)!important;transform:translateY(-1px);box-shadow:0 4px 16px rgba(8,145,178,.35)}
.btn.btn-secondary{background:transparent!important;color:var(--text)!important;border:1.5px solid var(--border)!important;box-shadow:none}
.btn.btn-secondary:hover{border-color:var(--primary)!important;color:var(--primary)!important}

.vasco-woo-page{padding-top:100px;min-height:60vh}
.single-product .vasco-woo-page{padding-top:0}

/* Breadcrumbs */
.woocommerce-breadcrumb{font-size:13px;color:var(--text-muted);margin-bottom:28px;padding:14px 0;border-bottom:1px solid var(--border)}
.woocommerce-breadcrumb a{color:var(--primary);text-decoration:none;font-weight:500;transition:color .2s}
.woocommerce-breadcrumb a:hover{color:var(--primary-dark)}

/* Page titles */
.woocommerce-products-header__title,
.page-title{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:32px;color:var(--text)}

/* Result count & ordering */
.woocommerce-result-count,.woocommerce-ordering{margin-bottom:24px;font-size:14px;color:var(--text-secondary)}
.woocommerce-ordering select{padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:14px;transition:border-color .2s;cursor:pointer}
.woocommerce-ordering select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(8,145,178,.1)}

/* ── Product grid ── */
ul.products{display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px;list-style:none;padding:0;margin:0}
ul.products li.product{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;overflow:hidden;transition:all .25s;position:relative}
ul.products li.product::before{content:'';position:absolute;inset:-1px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(8,145,178,.3),rgba(16,185,129,.15),rgba(139,92,246,.15));opacity:0;transition:opacity .3s;z-index:-1;padding:1px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
ul.products li.product:hover::before{opacity:1}
ul.products li.product:hover{border-color:transparent;box-shadow:var(--shadow-md);transform:translateY(-2px)}
ul.products li.product a img{width:100%;height:260px;object-fit:cover;display:block}
ul.products li.product a{text-decoration:none;color:var(--text)}
ul.products li.product .woocommerce-loop-product__title{font-size:15px;font-weight:700;line-height:1.3;padding:20px 24px 6px;color:var(--text)}
ul.products li.product .price{padding:0 24px 16px;font-size:18px;font-weight:800;color:var(--primary)}
ul.products li.product .price del{color:var(--text-muted);font-weight:400;font-size:14px}
ul.products li.product .price ins{text-decoration:none}
ul.products li.product .button,
ul.products li.product .add_to_cart_button{display:block;margin:0 24px 24px;padding:12px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;font-family:inherit;text-align:center;text-decoration:none;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(8,145,178,.3)}
ul.products li.product .button:hover,
ul.products li.product .add_to_cart_button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(8,145,178,.35)}
ul.products li.product .onsale{position:absolute;top:12px;left:12px;background:var(--accent);color:#fff;padding:4px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:700;z-index:2;letter-spacing:.02em}
ul.products li.product .star-rating{padding:0 24px 4px}

/* ── Single product — VASCO landing page style ── */

/* Override default grid — landing page uses sections, not 2-col grid */
.single-product div.product.vasco-product-landing{display:block;grid-template-columns:none;gap:0}

/* Hero */
.vasco-product-hero{padding:140px 0 80px;position:relative;overflow:hidden}
.vasco-product-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.vasco-product-info{position:relative;z-index:2}
.vasco-product-info h1{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.15;letter-spacing:-.025em;margin-bottom:16px}
.vasco-product-excerpt{font-size:17px;line-height:1.7;color:var(--text-secondary);margin-bottom:32px;max-width:520px}
.vasco-product-excerpt p{margin:0 0 12px}
.vasco-product-stats{display:flex;gap:36px;padding-top:28px;border-top:1px solid var(--border)}
.vasco-product-highlights{display:flex;flex-direction:column;gap:14px;margin-bottom:32px}
.vasco-product-highlight{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.5;color:var(--text-secondary)}
.vasco-product-highlight svg{flex-shrink:0;margin-top:2px}
.vasco-product-highlight span{flex:1}

.vasco-product-card-wrap{position:relative;z-index:1}
.vasco-product-card-wrap .pricing-card{text-align:center}
.vasco-product-card-wrap .pricing-features--compact{grid-template-columns:1fr;gap:6px;font-size:13px;margin-bottom:24px}
.vasco-product-card-wrap .pricing-features--compact li{font-size:13px;gap:8px}
.vasco-product-card-wrap .pricing-features--compact li svg{color:var(--accent)}

/* Hide default WC elements we don't need */
.vasco-product-landing .woocommerce-product-gallery,
.vasco-product-landing .summary.entry-summary,
.vasco-product-landing > .woocommerce-tabs{display:none!important}

/* Tabs section when rendered in our custom section */
.vasco-product-landing .section .woocommerce-tabs{display:block}

/* Responsive */
@media(max-width:1024px){
  .vasco-product-hero-grid{grid-template-columns:1fr;gap:40px}
  .vasco-product-info{text-align:center}
  .vasco-product-excerpt{margin:0 auto 32px}
  .vasco-product-highlights{align-items:center;text-align:left;max-width:480px;margin:0 auto 32px}
  .vasco-product-stats{justify-content:center}
  .vasco-product-card-wrap .pricing-card{max-width:480px;margin:0 auto}
}
@media(max-width:768px){
  .vasco-product-hero{padding:120px 0 60px}
  .vasco-product-stats{gap:24px}
}

/* ── Single product (generic fallback) ── */
.single-product div.product:not(.vasco-product-landing){display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.single-product div.product:not(.vasco-product-landing) .woocommerce-product-gallery{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-lg)}
.single-product div.product:not(.vasco-product-landing) .woocommerce-product-gallery img{width:100%;display:block}
.single-product .product_title{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:12px}
.single-product .price{font-size:28px;font-weight:800;color:var(--primary);margin-bottom:20px;letter-spacing:-.02em}
.single-product .price del{font-size:18px;color:var(--text-muted);font-weight:400}
.single-product .price ins{text-decoration:none}
.single-product .woocommerce-product-details__short-description{color:var(--text-secondary);font-size:16px;line-height:1.7;margin-bottom:24px}
.single-product .quantity .qty{width:70px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;font-size:16px;text-align:center;background:var(--bg-card);color:var(--text);transition:border-color .2s}
.single-product .quantity .qty:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(8,145,178,.1)}
.single-product .single_add_to_cart_button{padding:14px 32px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(8,145,178,.3)}
.single-product .single_add_to_cart_button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(8,145,178,.35)}
.single-product .product_meta{margin-top:24px;padding-top:24px;border-top:1px solid var(--border);font-size:14px;color:var(--text-muted);line-height:2}
.single-product .product_meta a{color:var(--primary);text-decoration:none}
.single-product .product_meta a:hover{text-decoration:underline}
.single-product .woocommerce-tabs{grid-column:1/-1;margin-top:24px}
.single-product .woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:0;padding:0;margin:0 0 24px;border-bottom:2px solid var(--border)}
.single-product .woocommerce-tabs ul.tabs li{margin:0}
.single-product .woocommerce-tabs ul.tabs li a{display:block;padding:12px 24px;font-size:14px;font-weight:600;color:var(--text-muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}
.single-product .woocommerce-tabs ul.tabs li a:hover{color:var(--primary)}
.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--primary);border-bottom-color:var(--primary)}
.single-product .woocommerce-Tabs-panel{color:var(--text-secondary);line-height:1.7;font-size:15px}
.single-product .woocommerce-Tabs-panel h2{font-size:1.25rem;margin-bottom:16px}
.single-product .related.products{grid-column:1/-1;margin-top:48px;padding-top:48px;border-top:1px solid var(--border)}
.single-product .related.products h2{font-size:clamp(1.25rem,2vw,1.75rem);margin-bottom:24px}

/* ══════════════════════════════════════
   SUBSCRIPTION OPTIONS (SATT/APFS)
   Single product, cart & checkout
   ══════════════════════════════════════ */

/* ── Single product plan selector ── */
.wcsatt-options-wrapper{margin:24px 0;padding:0}

/* Prompt: one-time vs subscribe */
.wcsatt-options-product-prompt{margin-bottom:16px}
.wcsatt-options-prompt-fieldset{border:none;padding:0;margin:0}
.wcsatt-options-prompt-radios{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.wcsatt-options-prompt-radio label,.wcsatt-options-prompt-label{display:flex;align-items:center;gap:10px;padding:14px 20px;border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .2s;background:var(--bg-card);font-size:15px;font-weight:500;color:var(--text)}
.wcsatt-options-prompt-radio label:hover,.wcsatt-options-prompt-label:hover{border-color:var(--primary);background:rgba(8,145,178,.02)}
.wcsatt-options-prompt-radio label:has(input:checked),.wcsatt-options-prompt-label:has(input:checked){border-color:var(--primary);background:rgba(8,145,178,.04);box-shadow:0 0 0 3px rgba(8,145,178,.08)}
.wcsatt-options-prompt-action-input{accent-color:var(--primary);width:18px;height:18px;cursor:pointer;flex-shrink:0}
.wcsatt-options-prompt-action{font-weight:600;color:var(--text)}

/* Plan options list (radio buttons) */
.wcsatt-options-product-wrapper{margin-top:12px}
.wcsatt-options-product{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.wcsatt-options-product li{margin:0}
.wcsatt-options-product li label{display:flex;align-items:center;gap:10px;padding:14px 20px;border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .2s;background:var(--bg-card);font-size:15px;color:var(--text)}
.wcsatt-options-product li label:hover{border-color:var(--primary);background:rgba(8,145,178,.02)}
.wcsatt-options-product li label:has(input:checked){border-color:var(--primary);background:rgba(8,145,178,.04);box-shadow:0 0 0 3px rgba(8,145,178,.08)}
.wcsatt-options-product li input[type="radio"]{accent-color:var(--primary);width:18px;height:18px;cursor:pointer;flex-shrink:0}
.wcsatt-options-product .one-time-option-details,.wcsatt-options-product .subscription-option-details{display:flex;align-items:center;justify-content:space-between;flex:1;gap:8px}
.wcsatt-options-product .subscription-price,.wcsatt-options-product .one-time-price{font-weight:700;color:var(--primary);margin-left:auto;white-space:nowrap}
.wcsatt-options-product .subscription-option-details .subscription-price .amount{font-weight:800}

/* Dropdown variant */
.wcsatt-options-product-dropdown-label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--text)}
.wcsatt-options-product-dropdown{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:15px;background:var(--bg-card);color:var(--text);transition:border-color .2s;cursor:pointer}
.wcsatt-options-product-dropdown:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(8,145,178,.1)}

/* ── Cart item subscription options ── */
.wcsatt-options{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.wcsatt-options li label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);cursor:pointer;padding:3px 0;transition:color .2s}
.wcsatt-options li label:hover{color:var(--text-secondary)}
.wcsatt-options li label:has(input:checked){color:var(--text);font-weight:600}
.wcsatt-options li input[type="radio"]{accent-color:var(--primary);width:14px;height:14px;cursor:pointer;flex-shrink:0}
.wcsatt-options .one-time-option-details,.wcsatt-options .subscription-option-details{font-size:12px}
.wcsatt-options .subscription-price,.wcsatt-options .one-time-option-price{font-weight:600;color:var(--primary);font-size:12px;display:flex;gap:4px;white-space:nowrap}
.wcsatt-options .subscription-price .subscription-details,.wcsatt-options .one-time-option-price .subscription-details{font-weight:400;color:var(--text-muted)}

/* ── Add cart to subscription ── */
.wcsatt-add-cart-to-subscription-wrapper{margin-top:24px;padding:20px 24px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-lg)}
.wcsatt-add-cart-to-subscription-intro{font-size:14px;color:var(--text-muted);text-align:center;margin-bottom:12px;font-weight:500}
.wcsatt-add-cart-to-subscription-action-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--text);cursor:pointer}
.wcsatt-add-cart-to-subscription-action-input{accent-color:var(--primary);width:18px;height:18px;cursor:pointer}
.wcsatt-add-cart-to-subscription-options{margin-top:16px}
.wcsatt-add-cart-to-subscription-options table{font-size:14px}
.wcsatt-add-to-subscription-button{padding:8px 16px!important;font-size:13px!important}

/* ── Checkout order review: subscription line items ── */
.woocommerce-checkout-review-order-table .subscription-price{display:block;font-size:13px;color:var(--primary);font-weight:600;margin-top:2px}
.woocommerce-checkout-review-order-table .product-name .wcsatt-sub-options{font-size:13px;color:var(--text-muted);display:block;margin-top:4px}

/* ── Subscription details in cart subtotal ── */
.woocommerce-cart-form .product-subtotal .subscription-details,.woocommerce-cart-form .product-price .subscription-details{display:block;font-size:12px;color:var(--text-muted);font-weight:400;margin-top:4px;line-height:1.4}
.woocommerce-cart-form .product-subtotal .amount,.woocommerce-cart-form .product-price .amount{font-weight:700}

/* ── Cart totals recurring totals ── */
.cart_totals .recurring-totals th,.cart_totals .recurring-totals td{font-size:10px!important;padding:6px 0!important;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600;background:transparent!important}
.cart_totals .order-total.recurring-total th,.cart_totals .order-total.recurring-total td{font-size:12px!important;padding:6px 0!important;background:transparent!important;border-bottom:1px solid var(--border)}
.cart_totals .order-total.recurring-total th{text-transform:uppercase;font-size:11px!important;color:var(--text-muted);font-weight:600}
.cart_totals .order-total.recurring-total td{font-weight:700;color:var(--primary)}
.cart_totals .order-total.recurring-total td .amount{font-weight:700}
.cart_totals .order-total.recurring-total td small{display:block;font-size:10px;color:var(--text-muted);font-weight:400;margin-top:1px}
.cart_totals .cart-subtotal.recurring-total th,.cart_totals .cart-subtotal.recurring-total td{font-size:12px!important;padding:6px 0!important;background:transparent!important}
.cart_totals .cart-subtotal.recurring-total td{font-weight:500}
.cart_totals td .includes_tax,.cart_totals td small{display:block;font-size:10px;color:var(--text-muted);font-weight:400;margin-top:1px}

/* Responsive */
@media(max-width:768px){
  .wcsatt-options-prompt-radios{gap:6px}
  .wcsatt-options-prompt-radio label,.wcsatt-options-prompt-label,.wcsatt-options-product li label{padding:12px 16px;font-size:14px}
}

/* ══════════════════════════════════════
   CART
   ══════════════════════════════════════ */

/* Cart 70/30 grid */
.vasco-cart-grid{display:grid;grid-template-columns:7fr 3fr;gap:32px;align-items:start}
.vasco-cart-right{position:sticky;top:100px}

/* Main cart table — clean, no outer border/bg */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;background:transparent;border:none;border-radius:0;overflow:visible}
.woocommerce table.shop_table th{background:transparent;padding:10px 0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border)}
.woocommerce table.shop_table td{padding:14px 0;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text);font-size:14px;background:transparent}
.woocommerce table.shop_table tbody tr:last-child td{border-bottom:none}

/* Cart product cells */
.woocommerce-cart-form .product-remove{width:28px;padding-right:12px!important}
.woocommerce-cart-form .product-thumbnail{display:none}
.woocommerce-cart-form th.product-thumbnail{display:none}
.woocommerce-cart-form .product-name{font-size:14px;font-weight:600}
.woocommerce-cart-form .product-name a{color:var(--text);font-weight:600;text-decoration:none;transition:color .2s}
.woocommerce-cart-form .product-name a:hover{color:var(--primary)}
.woocommerce-cart-form .product-name dl.variation{margin:4px 0 0;font-size:12px;color:var(--text-muted)}
.woocommerce-cart-form .product-name dl.variation dt{font-weight:600;float:left;margin-right:4px}
.woocommerce-cart-form .product-name dl.variation dd{margin:0 0 2px}
.woocommerce-cart-form .product-price{font-weight:600;color:var(--text);font-size:13px;white-space:nowrap}
.woocommerce-cart-form .product-price .wcsatt-options{white-space:normal}
.woocommerce-cart-form .product-price .wcsatt-options li label{white-space:nowrap}
.woocommerce-cart-form .product-subtotal{font-weight:700;color:var(--primary);font-size:14px;white-space:nowrap}
.woocommerce-cart-form .product-subtotal *{white-space:nowrap}
.woocommerce-cart-form .product-subtotal .subscription-details{font-size:11px;color:var(--text-muted);font-weight:400;display:inline}
.woocommerce-cart-form .product-remove a.remove{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;border:none;color:var(--text-muted)!important;font-size:18px;text-decoration:none;transition:all .2s;background:transparent;line-height:1;opacity:.5}
.woocommerce-cart-form .product-remove a.remove:hover{color:#EF4444!important;opacity:1}
.woocommerce-cart-form .product-quantity{width:70px}
.woocommerce-cart-form .quantity .qty{width:52px;padding:6px;border:1px solid var(--border);border-radius:8px;text-align:center;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:14px;background:var(--bg-card);color:var(--text);transition:border-color .2s}
.woocommerce-cart-form .quantity .qty:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(8,145,178,.1)}

/* Cart actions row (coupon + update) */
.woocommerce-cart-form td.actions{padding:14px 0;background:transparent;border-bottom:none}
.woocommerce-cart-form .coupon{display:flex;gap:8px;align-items:center}
.woocommerce-cart-form .coupon label{display:none}
.woocommerce-cart-form .coupon .input-text{padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius);font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:14px;background:var(--bg-card);color:var(--text);transition:border-color .2s;min-width:200px}
.woocommerce-cart-form .coupon .input-text:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(8,145,178,.1)}
.woocommerce .woocommerce-cart-form .coupon .button{padding:10px 20px;background:var(--bg-card);color:var(--text);border:1.5px solid var(--border);box-shadow:none;font-size:14px}
.woocommerce .woocommerce-cart-form .coupon .button:hover{border-color:var(--primary);color:var(--primary);background:var(--bg-card);transform:none;box-shadow:none}
.woocommerce .woocommerce-cart-form button[name="update_cart"]{float:right;padding:10px 24px;background:transparent;color:var(--text);border:1.5px solid var(--border);box-shadow:none;font-size:14px}
.woocommerce .woocommerce-cart-form button[name="update_cart"]:hover{border-color:var(--primary);color:var(--primary);background:transparent;transform:none;box-shadow:none}

/* Cross-sells �� full width below the grid */
.cross-sells{margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}
.cross-sells h2{font-size:1.25rem;font-weight:700;margin-bottom:20px}
.cross-sells ul.products{grid-template-columns:repeat(4,1fr)!important;gap:16px}
.cross-sells ul.products li.product a img{height:180px}

/* Cart totals box — inside right sidebar */
.cart_totals{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}
.cart_totals h2{font-size:15px;font-weight:700;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.cart_totals .shop_table{border:none!important;background:transparent!important;border-radius:0!important;overflow:visible;box-shadow:none!important}
.cart_totals .shop_table th,.cart_totals .shop_table td{padding:8px 0;border:none!important;background:transparent!important;font-size:13px;border-bottom:1px solid var(--border)!important}
.cart_totals .shop_table th{font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;width:auto;padding-right:16px!important}
.cart_totals .shop_table td{text-align:right;font-size:13px}
.cart_totals .shop_table td[data-title="Poštnina"] ul,.cart_totals .shipping td ul{list-style:none;padding:0;margin:0}
.cart_totals .shop_table td[data-title="Poštnina"] li,.cart_totals .shipping td li{padding:2px 0;font-size:12px}
.cart_totals .order-total th,.cart_totals .order-total td{font-size:14px;font-weight:700;color:var(--text);border-bottom:none;letter-spacing:-.01em;padding-top:12px}
.cart_totals .order-total td .amount{color:var(--primary);font-weight:800}
.cart_totals .wc-proceed-to-checkout{padding-top:16px}
.cart_totals .wc-proceed-to-checkout .checkout-button{display:block;width:100%;padding:14px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .2s;text-align:center;text-decoration:none;box-shadow:0 2px 8px rgba(8,145,178,.3)}
.cart_totals .wc-proceed-to-checkout .checkout-button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(8,145,178,.35)}

/* Empty cart */
.cart-empty{font-size:17px;color:var(--text-secondary);text-align:center;padding:48px 0}
.return-to-shop{text-align:center;padding-bottom:24px}
.return-to-shop .button{padding:14px 28px;background:var(--primary);color:#fff!important;border:none;border-radius:var(--radius);font-size:15px;font-weight:600;font-family:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .2s;box-shadow:0 2px 8px rgba(8,145,178,.3)}
.return-to-shop .button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(8,145,178,.35)}


/* ══════════════════════════════════════
   CHECKOUT — 60/40 layout
   Left: billing + shipping
   Right: order summary + payment
   ══════════════════════════════════════ */

/* Main 60/40 grid */
.vasco-checkout-grid{display:grid;grid-template-columns:3fr 2fr;gap:32px;align-items:start}

/* Left column — billing & shipping cards */
.vasco-checkout-left .woocommerce-billing-fields,
.vasco-checkout-left .woocommerce-shipping-fields,
.vasco-checkout-left .woocommerce-additional-fields{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;margin-bottom:24px}
.vasco-checkout-left .woocommerce-additional-fields{margin-bottom:0}

/* Right column — sticky sidebar */
.vasco-checkout-right{position:sticky;top:100px}

/* Section headings */
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3,
h3#order_review_heading{font-size:1.125rem;font-weight:700;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--border);color:var(--text)}
h3#ship-to-different-address{font-size:15px;font-weight:600;border-bottom:none;padding-bottom:0;margin-bottom:16px}
#ship-to-different-address label{cursor:pointer;display:inline-flex;align-items:center;gap:10px}

/* Form fields — WooCommerce uses .form-row on <p> tags */
.woocommerce form .form-row{display:block;margin-bottom:16px;padding:0;position:relative}
.woocommerce form .form-row::before,.woocommerce form .form-row::after{content:'';display:table;clear:both}
.woocommerce form p.form-row-first{width:calc(50% - 8px);float:left;clear:left}
.woocommerce form p.form-row-last{width:calc(50% - 8px);float:right;clear:right}
.woocommerce form p.form-row-wide{width:100%;clear:both;float:none}

/* Labels */
.woocommerce form .form-row label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--text)}
.woocommerce form .form-row label .required{color:var(--primary);font-weight:400}
.woocommerce form .form-row label .optional{color:var(--text-muted);font-weight:400;font-size:12px}

/* Inputs */
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:15px;background:var(--bg-card);color:var(--text);transition:border-color .2s;-webkit-appearance:none;appearance:none;box-shadow:none;height:auto;line-height:1.5}
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(8,145,178,.1)}
.woocommerce form .form-row textarea{min-height:100px;resize:vertical}
.woocommerce form .form-row .woocommerce-input-wrapper{display:block;width:100%}

/* Select2 overrides (WooCommerce uses select2 for country/state) */
.woocommerce-checkout .select2-container--default .select2-selection--single{height:auto;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card)}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--text);line-height:1.5;padding:0;font-size:15px;font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;right:12px}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--primary);color:#fff}
.select2-dropdown{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden}
.select2-search--dropdown .select2-search__field{padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius);font-family:'Plus Jakarta Sans',system-ui,sans-serif}

/* Checkboxes */
.woocommerce form input[type="checkbox"]{width:18px;height:18px;border:1.5px solid var(--border);border-radius:4px;accent-color:var(--primary);cursor:pointer;vertical-align:middle;margin-right:8px}
.woocommerce form input[type="radio"]{accent-color:var(--primary);width:18px;height:18px;cursor:pointer;vertical-align:middle;margin-right:6px}

/* Validation */
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid select{border-color:#EF4444!important}
.woocommerce form .form-row.woocommerce-validated .input-text,
.woocommerce form .form-row.woocommerce-validated select{border-color:var(--accent)!important}

/* Order review section — inside right sidebar card */
.vasco-checkout-right h3#order_review_heading{margin-top:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:24px 32px 14px;margin-bottom:0;border-bottom:none}
.vasco-checkout-right .woocommerce-checkout-review-order{background:var(--bg-card);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:0 32px 32px;margin-bottom:0}

/* Kill all shop_table styling inside checkout review — the card wrapper handles it */
.vasco-checkout-right table.shop_table,.vasco-checkout-right .woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;margin-bottom:0;background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;overflow:visible}
.vasco-checkout-right table.shop_table th,.vasco-checkout-right table.shop_table td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{padding:10px 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--text);background:transparent!important}
.woocommerce-checkout-review-order-table thead th{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding-bottom:10px}
.woocommerce-checkout-review-order-table thead th.product-total{text-align:right}
.woocommerce-checkout-review-order-table .cart_item .product-name{font-weight:500;font-size:14px}
.woocommerce-checkout-review-order-table .cart_item .product-name .product-quantity{color:var(--text-muted);font-weight:700}
.woocommerce-checkout-review-order-table .cart_item .product-total{text-align:right;font-weight:600;font-size:14px;color:var(--primary)}
/* Subtotal, shipping, tax */
.woocommerce-checkout-review-order-table tfoot th{font-weight:600;color:var(--text-muted);font-size:13px;text-transform:uppercase;letter-spacing:.03em;background:transparent!important}
.woocommerce-checkout-review-order-table tfoot td{text-align:right;font-size:14px;background:transparent!important}
.woocommerce-checkout-review-order-table tfoot .cart-subtotal td,.woocommerce-checkout-review-order-table tfoot .shipping td{font-weight:500}
.woocommerce-checkout-review-order-table tfoot .tax-rate th,.woocommerce-checkout-review-order-table tfoot .tax-rate td,.woocommerce-checkout-review-order-table tfoot .tax-total th,.woocommerce-checkout-review-order-table tfoot .tax-total td{font-size:12px;color:var(--text-muted)}
.woocommerce-checkout-review-order-table tfoot td .includes_tax,.woocommerce-checkout-review-order-table tfoot td small{display:block;font-size:11px;color:var(--text-muted);font-weight:400;margin-top:2px}
/* Order total */
.woocommerce-checkout-review-order-table tfoot .order-total th{font-size:13px;font-weight:700;color:var(--text);padding-top:14px;text-transform:uppercase;border-bottom:none}
.woocommerce-checkout-review-order-table tfoot .order-total td{font-size:16px;font-weight:800;color:var(--primary);padding-top:14px;letter-spacing:-.02em;border-bottom:none}
/* Recurring totals header row */
.woocommerce-checkout-review-order-table tfoot .recurring-totals td,.woocommerce-checkout-review-order-table tfoot .recurring-totals th{font-size:11px!important;padding:6px 0!important;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600;background:transparent!important;border-bottom:1px solid var(--border)}
.woocommerce-checkout-review-order-table tfoot .recurring-totals td{text-align:right}
/* Recurring subtotal */
.woocommerce-checkout-review-order-table tfoot .cart-subtotal.recurring-total th,.woocommerce-checkout-review-order-table tfoot .cart-subtotal.recurring-total td{font-size:13px!important;padding:8px 0!important;background:transparent!important}
.woocommerce-checkout-review-order-table tfoot .cart-subtotal.recurring-total td{font-weight:500}
/* Recurring total */
.woocommerce-checkout-review-order-table tfoot .order-total.recurring-total th,.woocommerce-checkout-review-order-table tfoot .order-total.recurring-total td{font-size:13px!important;padding:8px 0!important;background:transparent!important;border-bottom:1px solid var(--border)}
.woocommerce-checkout-review-order-table tfoot .order-total.recurring-total th{text-transform:uppercase;font-size:12px!important;color:var(--text-muted);font-weight:600}
.woocommerce-checkout-review-order-table tfoot .order-total.recurring-total td{font-weight:700;color:var(--primary);letter-spacing:0}
.woocommerce-checkout-review-order-table tfoot .order-total.recurring-total td .amount{font-weight:700}
.woocommerce-checkout-review-order-table tfoot .order-total.recurring-total td small{display:block;font-size:11px;color:var(--text-muted);font-weight:400;margin-top:1px}

/* Shipping methods in checkout */
.woocommerce-checkout-review-order-table .shipping td ul{list-style:none;padding:0;margin:0}
.woocommerce-checkout-review-order-table .shipping td li{padding:6px 0;font-size:14px}
.woocommerce-checkout-review-order-table .shipping td li label{font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px}
.woocommerce-checkout-review-order-table .shipping td li input[type="radio"]{accent-color:var(--primary)}

/* Payment section — inside right sidebar, no extra card */
.woocommerce-checkout #payment{background:transparent;border:none;border-radius:0;padding:24px 0 0;border-top:1px solid var(--border);margin-top:20px}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;padding:0;margin:0 0 24px}
.woocommerce-checkout #payment ul.payment_methods li{padding:16px 0;border-bottom:1px solid var(--border)}
.woocommerce-checkout #payment ul.payment_methods li:last-child{border-bottom:none}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-size:15px}
.woocommerce-checkout #payment ul.payment_methods li label img{max-height:28px;margin-left:8px}
.woocommerce-checkout #payment ul.payment_methods li .payment_box{padding:16px 0 4px 28px;color:var(--text-secondary);font-size:14px;line-height:1.6}
.woocommerce-checkout #payment ul.payment_methods li .payment_box p{margin:0}

/* Terms */
.woocommerce-checkout #payment .form-row.place-order{padding:20px 0 0;margin-bottom:0}
.woocommerce-terms-and-conditions-wrapper{margin-bottom:20px}
.woocommerce-terms-and-conditions-wrapper .form-row{margin-bottom:0}
.woocommerce-terms-and-conditions-wrapper a{color:var(--primary);text-decoration:none}
.woocommerce-terms-and-conditions-wrapper a:hover{text-decoration:underline}

/* Place order button */
.woocommerce-checkout button#place_order{width:100%;padding:18px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:16px;font-weight:700;font-family:'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(8,145,178,.3);letter-spacing:.01em}
.woocommerce-checkout button#place_order:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(8,145,178,.35)}

/* Checkout login / coupon toggles */
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info{background:var(--bg-alt);border:1px solid var(--border);color:var(--text-secondary)}
.woocommerce-form-login-toggle .woocommerce-info a,
.woocommerce-form-coupon-toggle .woocommerce-info a{background:none;padding:0;color:var(--primary);font-weight:600;font-size:inherit;margin-left:0}
.woocommerce-form-login-toggle .woocommerce-info a:hover,
.woocommerce-form-coupon-toggle .woocommerce-info a:hover{text-decoration:underline}

/* Checkout coupon form */
.checkout_coupon{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px;display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.checkout_coupon p:first-child{width:100%;margin-bottom:8px;font-size:14px;color:var(--text-secondary)}
.checkout_coupon .input-text{flex:1;min-width:200px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:15px;background:var(--bg-card);color:var(--text)}
.checkout_coupon .input-text:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(8,145,178,.1)}
.checkout_coupon .button{padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}
.checkout_coupon .button:hover{background:var(--primary-dark)}


/* ══════════════════════════════════════
   MY ACCOUNT
   ══════════════════════════════════════ */

/* My Account navigation — horizontal tabs */
.woocommerce-MyAccount-navigation{margin-bottom:28px;border-bottom:1px solid var(--border);background:none;border-radius:0;overflow:visible}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}
.woocommerce-MyAccount-navigation ul li a{display:block;padding:10px 18px;font-size:13px;font-weight:500;color:var(--text-muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}
.woocommerce-MyAccount-navigation ul li a:hover{color:var(--text)}
.woocommerce-MyAccount-navigation ul li.is-active a{color:var(--primary);font-weight:600;border-bottom-color:var(--primary)}

/* My Account content */
.woocommerce-MyAccount-content{padding:0 0 0 32px;background:none;border:none;border-radius:0;border-left:1px solid var(--border)}
.woocommerce-MyAccount-content a{color:var(--primary);text-decoration:none}
.woocommerce-MyAccount-content a:hover{text-decoration:underline}

/* Tables inside My Account */
.woocommerce-MyAccount-content table{width:100%;border-collapse:collapse;background:transparent;border:none}
.woocommerce-MyAccount-content table th{padding:8px 12px 8px 0;border-bottom:1px solid var(--border);font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;background:transparent;text-align:left;white-space:nowrap}
.woocommerce-MyAccount-content table td{padding:12px 12px 12px 0;border-bottom:1px solid var(--border);font-size:14px;background:transparent}
.woocommerce-MyAccount-content table td:last-child{text-align:right;padding-right:0}
.woocommerce-MyAccount-content table th:last-child{text-align:right;padding-right:0}
.woocommerce-MyAccount-content table tbody tr:last-child td{border-bottom:none}

/* Status badges */
.woocommerce-MyAccount-content .subscription-status,.woocommerce-MyAccount-content .order-status{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.02em}

/* Subscription-specific */
.woocommerce-MyAccount-content .subscription-id a,.woocommerce-MyAccount-content .order-number a{font-weight:700;color:var(--primary)}
.woocommerce-MyAccount-content .subscription-next-payment,.woocommerce-MyAccount-content .order-date{font-size:13px;color:var(--text-secondary)}
.woocommerce-MyAccount-content .subscription-total .amount,.woocommerce-MyAccount-content .order-total .amount{font-weight:700;color:var(--primary)}
.woocommerce-MyAccount-content .subscription-actions .button,.woocommerce-MyAccount-content .order-actions .button{font-size:12px;padding:6px 14px}

/* Buttons */
.woocommerce .woocommerce-MyAccount-content .button,.woocommerce .woocommerce-MyAccount-content .woocommerce-button{padding:8px 16px;background:transparent;color:var(--text);border:1px solid var(--border);font-size:12px;box-shadow:none}
.woocommerce .woocommerce-MyAccount-content .button:hover,.woocommerce .woocommerce-MyAccount-content .woocommerce-button:hover{border-color:var(--primary);color:var(--primary);background:transparent;transform:none;box-shadow:none}

/* "No subscriptions yet" type messages */
.woocommerce-MyAccount-content .woocommerce-message,.woocommerce-MyAccount-content .woocommerce-info{margin-bottom:0}

/* My Account pages — general text */
.woocommerce-MyAccount-content > p{font-size:14px;color:var(--text-secondary);margin-bottom:16px}
.woocommerce-MyAccount-content > p:last-child{margin-bottom:0}

/* View subscription detail page */
.woocommerce-MyAccount-content .subscription_details{margin-bottom:24px}
.woocommerce-MyAccount-content .subscription_details th{width:40%;font-size:13px;font-weight:600;color:var(--text-muted);text-transform:none;letter-spacing:0}
.woocommerce-MyAccount-content .subscription_details td{font-size:14px}
.woocommerce-MyAccount-content h2{font-size:15px;font-weight:700;margin:24px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.woocommerce-MyAccount-content h2:first-child{margin-top:0}

/* Login / register forms */
.woocommerce-form-login,.woocommerce-form-register{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;max-width:480px}
.woocommerce-form-login p,.woocommerce-form-register p{margin-bottom:16px}
.woocommerce-form-login label,.woocommerce-form-register label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--text)}
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-login input[type="email"],
.woocommerce-form-register input[type="text"],
.woocommerce-form-register input[type="password"],
.woocommerce-form-register input[type="email"]{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;font-size:15px;background:var(--bg-card);color:var(--text);transition:border-color .2s}
.woocommerce-form-login input:focus,
.woocommerce-form-register input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(8,145,178,.1)}
.woocommerce-form-login .woocommerce-button,
.woocommerce-form-register .woocommerce-button{padding:14px 28px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(8,145,178,.3)}
.woocommerce-form-login .woocommerce-button:hover,
.woocommerce-form-register .woocommerce-button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(8,145,178,.35)}
.woocommerce-form-login .woocommerce-form__label-for-checkbox{font-weight:400;font-size:14px;display:flex;align-items:center;gap:8px;cursor:pointer}
.woocommerce-form-login .lost_password{margin-top:12px}
.woocommerce-form-login .lost_password a{color:var(--primary);font-size:14px}

/* u2 (login/register) layout */
.u-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.u-columns .u-column-1,.u-columns .u-column-2{min-width:0}
.u-columns h2{font-size:1.25rem;font-weight:700;margin-bottom:20px}


/* ══════════════════════════════════════
   NOTICES
   ══════════════════════════════════════ */

.woocommerce-message,.woocommerce-info{padding:16px 24px;border-radius:var(--radius);margin-bottom:24px;font-size:15px;display:flex;align-items:center;gap:12px}
.woocommerce-message{background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.15);color:var(--accent)}
.woocommerce-message::before{display:none}
.woocommerce-info{background:rgba(8,145,178,.08);border:1px solid rgba(8,145,178,.15);color:var(--primary)}
.woocommerce-info::before{display:none}
.woocommerce-error{padding:16px 24px;border-radius:var(--radius);margin-bottom:24px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.15);color:#EF4444;list-style:none}
.woocommerce-error::before{display:none}
.woocommerce-error li{padding:4px 0}
.woocommerce-message a.button,.woocommerce-info a.button{padding:8px 16px;background:var(--primary);color:#fff;border-radius:var(--radius);font-size:13px;font-weight:600;text-decoration:none;margin-left:auto;transition:background .2s}
.woocommerce-message a.button:hover,.woocommerce-info a.button:hover{background:var(--primary-dark)}
.woocommerce-message .restore-item{margin-left:auto}
.woocommerce-message a:not(.button){color:var(--accent);font-weight:600;text-decoration:none;margin-left:auto}
.woocommerce-message a:not(.button):hover{text-decoration:underline}

/* Pagination */
.woocommerce-pagination{margin-top:48px;text-align:center}
.woocommerce-pagination ul{display:inline-flex;gap:4px;list-style:none;padding:0}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius);font-size:14px;font-weight:600;text-decoration:none;border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-card);transition:all .2s}
.woocommerce-pagination ul li a:hover{border-color:var(--primary);color:var(--primary)}
.woocommerce-pagination ul li span.current{background:var(--primary);color:#fff;border-color:var(--primary)}

/* Star ratings */
.star-rating{color:#FBBF24;font-size:14px}

/* Order details (thank you / view order) */
/* ── Thank you / Order received page ── */
.woocommerce-order{max-width:720px;margin:0 auto}
.woocommerce-order-received .woocommerce-thankyou-order-received{font-size:18px;font-weight:700;color:var(--accent);margin-bottom:24px}

/* Order overview — simple inline list, no cards */
.woocommerce-order-overview{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-wrap:wrap;gap:24px 32px}
.woocommerce-order-overview li{font-size:13px;color:var(--text-muted);background:none;border:none;padding:0;border-radius:0}
.woocommerce-order-overview li strong{display:block;font-size:15px;color:var(--text);margin-top:4px;font-weight:700}

/* All tables on order page — no bg, no border, no radius */
.woocommerce-order table,.woocommerce-order table.shop_table,.woocommerce-order-details table,.woocommerce-table--order-details{width:100%;border-collapse:collapse;background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;overflow:visible}
.woocommerce-order table th,.woocommerce-order table td{padding:10px 0;border-bottom:1px solid var(--border);font-size:14px;background:transparent!important}
.woocommerce-order table thead th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:8px 0}
.woocommerce-order table tbody td:last-child{text-align:right;font-weight:600}
.woocommerce-order table tfoot th{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}
.woocommerce-order table tfoot td{text-align:right;font-size:14px}
.woocommerce-order table tfoot .order-total th,.woocommerce-order table tfoot .order-total td{font-weight:700;color:var(--text);border-bottom:none}
.woocommerce-order table tfoot .order-total td{color:var(--primary);font-size:16px}
.woocommerce-order table tfoot td small{display:block;font-size:11px;color:var(--text-muted);font-weight:400;margin-top:2px}
.woocommerce-order table code{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--primary);background:none;padding:0}
.woocommerce-order table a{color:var(--primary);text-decoration:none}

/* Section headings */
.woocommerce-order h2,.woocommerce-order-details h2{font-size:15px;font-weight:700;margin:32px 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.woocommerce-order > h2:first-of-type{margin-top:0}

/* Customer details */
.woocommerce-customer-details{margin-bottom:32px}
.woocommerce-customer-details h2,.woocommerce-column__title{font-size:15px;font-weight:700;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.woocommerce-customer-details address{font-style:normal;font-size:14px;line-height:1.7;color:var(--text-secondary);background:none;border:none;padding:0}
.woocommerce-customer-details .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.woocommerce-customer-details .col2-set .col-1,.woocommerce-customer-details .col2-set .col-2{float:none;width:100%;max-width:100%;flex:none;padding:0}

/* Subscription info */
.woocommerce-order .subscription-details{font-size:12px;color:var(--text-muted);display:block;margin-top:2px;font-weight:400}
.woocommerce-order .order-again{margin-top:24px}
.woocommerce-order > p{font-size:14px;color:var(--text-secondary);margin-bottom:16px}
.woocommerce-order > p a{color:var(--primary)}

/* Recurring totals */
.woocommerce-order table tfoot .recurring-totals th,.woocommerce-order table tfoot .recurring-totals td{font-size:11px;color:var(--text-muted);padding:6px 0}
.woocommerce-order table tfoot .order-total.recurring-total th,.woocommerce-order table tfoot .order-total.recurring-total td{font-size:13px;color:var(--text-muted);font-weight:600}
.woocommerce-order table tfoot .order-total.recurring-total td{color:var(--primary)}
.woocommerce-order table tfoot .order-total.recurring-total td small{font-size:11px;color:var(--text-muted)}

/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */

@media(max-width:1024px){
  ul.products{grid-template-columns:repeat(2,1fr)!important}
  .single-product div.product{grid-template-columns:1fr}
  .vasco-cart-grid,.vasco-checkout-grid{grid-template-columns:1fr}
  .vasco-cart-right,.vasco-checkout-right{position:static}
  .woocommerce .col2-set{grid-template-columns:1fr!important}
  .woocommerce .col2-set .col-1,
  .woocommerce .col2-set .col-2{width:100%!important;max-width:100%!important;flex:none!important}
  .cross-sells ul.products{grid-template-columns:repeat(2,1fr)!important}
  .u-columns{grid-template-columns:1fr}
}
@media(max-width:768px){
  ul.products{grid-template-columns:1fr!important}
  .woocommerce table.shop_table_responsive thead{display:none}
  .woocommerce table.shop_table_responsive td{display:block;padding:10px 24px;text-align:right;border-bottom:none}
  .woocommerce table.shop_table_responsive td::before{content:attr(data-title);float:left;font-weight:600;color:var(--text-muted);font-size:13px;text-transform:uppercase;letter-spacing:.03em}
  .woocommerce table.shop_table_responsive tr{display:block;border-bottom:1px solid var(--border);padding:8px 0}
  .woocommerce table.shop_table_responsive tr:last-child{border-bottom:none}
  .woocommerce-cart-form .product-thumbnail{text-align:center}
  .woocommerce-cart-form .product-thumbnail::before{display:none}
  .woocommerce-cart-form td.actions{display:flex;flex-direction:column;gap:12px}
  .woocommerce-cart-form .coupon{width:100%}
  .woocommerce-cart-form .coupon .input-text{min-width:0;flex:1}
  .woocommerce-cart-form button[name="update_cart"]{float:none;width:100%;text-align:center}
  .woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{padding:24px}
  .woocommerce-checkout-review-order{padding:24px}
  #payment{padding:24px}
  .woocommerce-MyAccount-navigation ul li a{padding:8px 14px;font-size:12px}
  .woocommerce-MyAccount-content table th,.woocommerce-MyAccount-content table td{padding:8px 8px 8px 0;font-size:13px}
  .woocommerce-MyAccount-content .subscription_details th{width:auto}
  .woocommerce-form-login,.woocommerce-form-register{max-width:100%}
  .cross-sells ul.products{grid-template-columns:1fr!important}
  .vasco-cart-grid,.vasco-checkout-grid{gap:24px}
  .woocommerce-order-overview{gap:16px 24px}
  .woocommerce-customer-details .col2-set{grid-template-columns:1fr}
  .checkout_coupon{flex-direction:column}
  .checkout_coupon .input-text{width:100%}
}
