/* ============================================================
 * WooCommerce — dark theme overrides for classic shortcodes
 * (cart / checkout / my-account use [woocommerce_cart], etc.)
 * ============================================================ */

/* Page wrapper: WC pages use page.php → .static-page__body */
.woocommerce-page .static-page__body{padding-top:24px}

/* Generic WC layout */
.woocommerce, .woocommerce-page{color:var(--text)}
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message{
  padding:14px 18px;border-radius:12px;border:1px solid var(--line);
  background:rgba(17,28,54,.04);color:var(--text);
  margin:0 0 18px;line-height:1.55;list-style:none
}
.woocommerce .woocommerce-error{background:rgba(255,107,107,.08);border-color:rgba(255,107,107,.25);color:#ff9b9b}
.woocommerce .woocommerce-message{background:rgba(67,200,140,.08);border-color:rgba(67,200,140,.3);color:#7fdca8}
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before{display:none}

/* === Cart table === */
.woocommerce table.shop_table{
  width:100%;border-collapse:separate;border-spacing:0;
  border:1px solid var(--line);border-radius:18px;overflow:hidden;
  background:rgba(17,28,54,.025);margin:0 0 24px;color:var(--text)
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{
  padding:18px 22px;border:none;border-bottom:1px solid var(--line);
  vertical-align:middle;text-align:left;color:var(--text);font-size:15px
}
.woocommerce table.shop_table th{
  font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;
  background:rgba(17,28,54,.04)
}
.woocommerce table.shop_table tr:last-child td{border-bottom:none}
.woocommerce table.shop_table .product-thumbnail img{
  max-width:60px;height:auto;border-radius:8px;display:block
}
.woocommerce table.shop_table .product-name a{color:var(--text);font-weight:600}
.woocommerce table.shop_table .product-name a:hover{color:var(--amber-soft)}
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal,
.woocommerce table.shop_table .product-total{color:var(--text);font-weight:600}
.woocommerce table.shop_table .product-remove a{
  display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;
  background:rgba(255,107,107,.1);color:#ff9b9b;border:1px solid rgba(255,107,107,.25);
  font-size:14px;font-weight:600;text-decoration:none;transition:all .2s ease
}
.woocommerce table.shop_table .product-remove a:hover{background:rgba(255,107,107,.2);color:#fff}
.woocommerce a.remove{color:#ff9b9b;font-size:18px}

/* Quantity inputs */
.woocommerce .quantity .qty,
.woocommerce input[type="number"]{
  width:80px;padding:10px 12px;border-radius:10px;
  background:rgba(17,28,54,.04);border:1px solid var(--line);
  color:var(--text);font-size:14.5px;text-align:center;font-family:inherit
}

/* === Cart totals === */
.cart_totals{
  padding:24px 28px;border:1px solid var(--line);border-radius:18px;
  background:rgba(17,28,54,.03);margin-top:12px
}
.cart_totals h2{font-size:22px;font-weight:700;letter-spacing:-.018em;margin:0 0 18px;color:var(--text)}
.cart_totals table.shop_table_responsive{border:none;background:transparent}
.cart_totals table.shop_table_responsive th,
.cart_totals table.shop_table_responsive td{border-bottom:1px solid var(--line);padding:12px 0;background:transparent}
.cart_totals .order-total .amount{color:var(--text);font-size:22px;font-weight:700}
.cart_totals .order-total .amount bdi{background:linear-gradient(135deg,var(--amber-soft),var(--magenta));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Coupon */
.woocommerce form.checkout_coupon,
.woocommerce-cart .cart-collaterals .cross-sells{margin:24px 0}
.woocommerce .coupon{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 18px}
.woocommerce .coupon input.input-text{
  flex:1;min-width:200px;padding:12px 14px;border-radius:10px;
  background:rgba(17,28,54,.04);border:1px solid var(--line);
  color:var(--text);font-size:14.5px;font-family:inherit
}

/* Generic WC buttons → match our gradient style */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 22px;border-radius:999px;border:1px solid var(--line);
  background:rgba(17,28,54,.05);color:var(--text);
  font-size:14.5px;font-weight:600;font-family:inherit;cursor:pointer;
  transition:background .2s ease, border-color .2s ease, transform .15s ease;
  text-decoration:none
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button:hover{background:rgba(17,28,54,.10);border-color:rgba(17,28,54,.3);transform:translateY(-1px)}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce button[type="submit"].alt,
.woocommerce #place_order,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce .button.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.button{
  background:linear-gradient(135deg,var(--magenta),var(--amber));border-color:transparent;color:#fff;
  padding:16px 28px;font-size:15.5px;
  box-shadow:0 10px 28px rgba(61,126,247,.28)
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{
  background:linear-gradient(135deg,var(--magenta),var(--amber));
  box-shadow:0 14px 36px rgba(61,126,247,.4);transform:translateY(-2px)
}

.woocommerce .wc-proceed-to-checkout{padding-top:18px;display:flex;justify-content:flex-end}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:inline-flex;width:auto}

/* === Checkout form === */
.woocommerce form .form-row{margin:0 0 16px}
.woocommerce form .form-row label{
  display:block;margin-bottom:8px;font-size:13px;
  color:var(--muted);font-weight:600;letter-spacing:.02em
}
.woocommerce form .form-row label .required{color:var(--amber)}
.woocommerce form .form-row .input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  width:100%;padding:14px 16px;border-radius:12px;
  background:rgba(17,28,54,.04);border:1px solid var(--line);
  color:var(--text);font-size:15px;font-family:inherit;
  transition:border-color .25s ease, background .25s ease
}
.woocommerce form .form-row textarea{min-height:96px;line-height:1.5;resize:vertical}
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{outline:none;border-color:rgba(61,126,247,.55);background:rgba(17,28,54,.06)}
.woocommerce form .form-row .input-text::placeholder,
.woocommerce form .form-row textarea::placeholder{color:rgba(17,28,54,.36)}

/* Select2 (WC uses it for countries/states) */
.select2-container--default .select2-selection--single{
  height:48px;background:rgba(17,28,54,.04);border:1px solid var(--line);border-radius:12px;
  display:flex;align-items:center;padding:0 16px
}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--text);line-height:48px;padding:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%);right:12px}
.select2-dropdown{background:#FFFFFF;border-color:var(--line);color:var(--text)}
.select2-results__option--highlighted{background:rgba(61,126,247,.2)!important;color:#fff!important}

/* Checkout 2-col layout */
.woocommerce-checkout #customer_details{margin-bottom:32px}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading{
  font-size:22px;font-weight:700;letter-spacing:-.018em;
  margin:0 0 18px;color:var(--text)
}
#order_review{
  background:rgba(17,28,54,.03);border:1px solid var(--line);
  border-radius:18px;padding:24px 28px
}
.woocommerce-checkout-payment{
  background:transparent;border-radius:0;padding:0;margin-top:18px
}
.woocommerce-checkout-payment ul.payment_methods{
  background:rgba(17,28,54,.02);border:1px solid var(--line);border-radius:14px;
  list-style:none;padding:14px 18px;margin:0 0 18px
}
.woocommerce-checkout-payment ul.payment_methods li{
  padding:10px 0;border-bottom:1px solid var(--line)
}
.woocommerce-checkout-payment ul.payment_methods li:last-child{border-bottom:none}
.woocommerce-checkout-payment ul.payment_methods li label{
  font-size:15px;font-weight:600;color:var(--text);cursor:pointer
}
.woocommerce-checkout-payment ul.payment_methods .payment_box{
  background:rgba(17,28,54,.04);border-radius:10px;padding:12px 14px;margin-top:8px;font-size:13.5px;color:var(--muted)
}
.woocommerce form.checkout #payment{background:transparent}

/* === My Account === */
/* page.php uses .wrap.wc-surface for WC pages — width is set there via
   var(--container) so it matches the header. Nothing extra needed here. */
.woocommerce-account .woocommerce{
  display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start
}
/* WC's frontend.css adds clearfix ::before/::after with display:table — those
   become extra grid items and push real content into wrong cells. Kill them. */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after{
  display:none
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  float:none;width:auto
}
.woocommerce-account .woocommerce-MyAccount-navigation{
  background:rgba(17,28,54,.03);border:1px solid var(--line);
  border-radius:18px;padding:14px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px
}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;padding:11px 14px;border-radius:10px;
  font-size:14.5px;color:var(--muted);font-weight:600;letter-spacing:-.01em;
  text-decoration:none;
  transition:background .2s ease, color .2s ease
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:rgba(17,28,54,.05);color:var(--text)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background:linear-gradient(135deg,var(--magenta),var(--amber));color:#fff;
  box-shadow:0 6px 16px rgba(61,126,247,.28)
}

.woocommerce-MyAccount-content{
  background:rgba(17,28,54,.025);border:1px solid var(--line);
  border-radius:18px;padding:28px 32px;color:var(--text)
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3{
  font-size:22px;font-weight:700;letter-spacing:-.018em;
  margin:0 0 16px;color:var(--text)
}
.woocommerce-MyAccount-content p{color:var(--muted);line-height:1.6}
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content .woocommerce-Button{margin-top:12px}

/* Login / register forms */
.woocommerce-form-login,
.woocommerce-form-register{
  background:rgba(17,28,54,.03);border:1px solid var(--line);
  border-radius:18px;padding:28px 32px;max-width:480px;margin:0 0 24px
}
.woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}
.woocommerce-LostPassword a{color:var(--amber-soft)}
.woocommerce-LostPassword a:hover{color:var(--amber)}

/* Order summary on thank-you page */
.woocommerce-order h2{font-size:22px;font-weight:700;margin:32px 0 14px;color:var(--text)}
.woocommerce-order ul.order_details{
  list-style:none;margin:0 0 28px;padding:24px;border:1px solid var(--line);border-radius:14px;
  background:rgba(17,28,54,.03);display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px
}
.woocommerce-order ul.order_details li{
  font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;
  display:flex;flex-direction:column;gap:4px;border:none;padding:0
}
.woocommerce-order ul.order_details li strong{
  font-size:15px;color:var(--text);text-transform:none;letter-spacing:-.01em;font-weight:600
}

/* Downloads tab */
.woocommerce-MyAccount-downloads table.shop_table,
.woocommerce-MyAccount-orders table.shop_table{margin-top:8px}
.woocommerce-MyAccount-content .button.wc-forward,
.woocommerce-MyAccount-downloads .button{padding:10px 18px;font-size:13.5px}

/* License key display in order item meta */
.catcode-license{
  display:inline-block;padding:6px 12px;border-radius:8px;
  background:rgba(61,126,247,.12);border:1px solid rgba(61,126,247,.35);
  color:var(--amber-soft);font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:13px;letter-spacing:.04em;font-weight:600;
  user-select:all
}

/* ===== Custom My Account dashboard (downloads-first) ===== */
.cc-account-dashboard{font-size:15.5px;line-height:1.65;color:var(--text)}
.cc-account-dashboard__greeting{color:var(--muted);margin:0 0 28px;font-size:15px;line-height:1.6;max-width:62ch}
.cc-account-dashboard__greeting strong{color:var(--text);font-weight:600}
.cc-account-section{margin:0 0 32px}
.cc-account-section:last-child{margin-bottom:0}
.cc-account-section__title{margin:0 0 16px;font-size:20px;letter-spacing:-.005em;color:var(--text);font-weight:700}
.cc-account-empty{padding:32px;text-align:center;background:rgba(17,28,54,.04);border:1px dashed var(--line);border-radius:14px}
.cc-account-empty p{margin:0 0 14px;color:var(--muted)}
.cc-account-empty p:last-child{margin-bottom:0}

/* Shared card list — used by dashboard + downloads tab */
.cc-account-downloads-wrap{margin:0}
.cc-account-downloads{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.cc-account-download{padding:20px 22px;background:rgba(17,28,54,.04);border:1px solid var(--line);border-radius:14px}
.cc-account-download__head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cc-account-download__name{font-weight:600;color:var(--text);font-size:16px;line-height:1.35}
.cc-account-download .btn{flex-shrink:0}
.cc-account-download__meta{margin-top:10px;font-size:13px;color:rgba(17,28,54,.5)}
.cc-account-download__meta-row{display:flex;gap:18px 28px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.cc-account-download__meta-item{display:flex;flex-direction:column;gap:3px;font-size:13.5px;color:var(--text)}
.cc-account-download__meta-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(17,28,54,.45)}
.cc-account-download__meta-item strong{font-weight:600;color:var(--text);font-size:14.5px}

/* ===== My Account → Licenses ===== */
.cc-licenses{font-size:15.5px;line-height:1.6;color:var(--text)}
.cc-licenses__head{margin:0 0 22px}
.cc-licenses__title{margin:0 0 8px;font-size:24px;letter-spacing:-.01em}
.cc-licenses__lede{margin:0;color:var(--muted);max-width:62ch}
.cc-licenses__empty{padding:36px;text-align:center;background:rgba(17,28,54,.04);border:1px dashed var(--line);border-radius:14px}
.cc-licenses__empty p{margin:0 0 14px;color:var(--muted)}
.cc-licenses__empty p:last-child{margin-bottom:0}
.cc-licenses__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.cc-license{padding:20px 22px;background:rgba(17,28,54,.04);border:1px solid var(--line);border-radius:14px;transition:border-color .18s ease,background .18s ease}
.cc-license.is-revoked{background:rgba(214,54,56,.06);border-color:rgba(214,54,56,.3)}
.cc-license.is-expired{background:rgba(219,166,23,.06);border-color:rgba(219,166,23,.3)}
.cc-license__top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 12px}
.cc-license__name{font-weight:600;color:var(--text);font-size:16px}
.cc-license__name a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.cc-license__name a:hover{border-bottom-color:var(--amber)}
.cc-license__badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:rgba(70,180,80,.15);color:#46b450}
.cc-license.is-revoked .cc-license__badge{background:rgba(214,54,56,.18);color:#ff7378}
.cc-license.is-expired .cc-license__badge{background:rgba(219,166,23,.18);color:#dba617}
.cc-license__key-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.cc-license__key{flex:0 1 auto;min-width:0;word-break:break-all;padding:8px 14px;font-size:13.5px}
.cc-license__copy{padding:8px 16px;font-size:13px;font-weight:600;background:rgba(17,28,54,.06);border:1px solid var(--line);color:var(--text);border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;font-family:inherit;line-height:1}
.cc-license__copy:hover{background:rgba(61,126,247,.1);border-color:rgba(61,126,247,.45);color:var(--amber)}
.cc-license__meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px;margin:0 0 14px;padding:0}
.cc-license__meta > div{display:flex;flex-direction:column;gap:3px}
.cc-license__meta dt{font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:rgba(17,28,54,.45)}
.cc-license__meta dd{margin:0;font-size:14px;color:var(--text)}
.cc-license__meta dd a{color:var(--amber);text-decoration:none}
.cc-license__meta dd a:hover{text-decoration:underline}
.cc-license__downloads{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.cc-license__downloads .btn,
.cc-license__downloads .btn-primary{
  padding:10px 18px;font-size:13.5px;gap:7px;
  background:linear-gradient(135deg,var(--magenta),var(--amber));
  color:#fff;border:1px solid transparent;border-radius:999px;
  box-shadow:0 8px 22px rgba(61,126,247,.22);
  transition:transform .15s ease,filter .2s ease,box-shadow .2s ease
}
.cc-license__downloads .btn:hover,
.cc-license__downloads .btn-primary:hover{
  background:linear-gradient(135deg,var(--magenta),var(--amber));
  filter:brightness(1.07);transform:translateY(-1px);
  box-shadow:0 12px 30px rgba(61,126,247,.35)
}
.cc-license__activations{margin-top:6px;padding-top:16px;border-top:1px solid var(--line)}
.cc-license__activations-title{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:rgba(17,28,54,.5)}
.cc-license__activations ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.cc-license__activations li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px 14px;padding:9px 12px;background:rgba(17,28,54,.04);border-radius:8px;font-size:13.5px}
.cc-license__activations li a{color:var(--text);text-decoration:none;border-bottom:1px solid transparent;word-break:break-all}
.cc-license__activations li a:hover{border-bottom-color:var(--amber)}
.cc-license__activations li time{color:var(--muted);font-size:12.5px}
.cc-license__deactivate{padding:5px 10px;font-size:12px;background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:6px;cursor:pointer;transition:all .15s ease}
.cc-license__deactivate:hover:not(:disabled){background:rgba(214,54,56,.08);border-color:rgba(214,54,56,.4);color:#ff7378}
.cc-license__deactivate:disabled{opacity:.5;cursor:wait}
.cc-license__notice{margin:14px 0 0;padding:12px 14px;font-size:13px;color:var(--muted);background:rgba(17,28,54,.03);border:1px solid var(--line);border-radius:8px}

/* ===== My Account → Профіль (edit-account form) ===== */
.woocommerce-EditAccountForm{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin:0
}
.woocommerce-EditAccountForm > .clear{display:none}
/* WC core sets .form-row-first / -last to width:47% (float layout). Selector
   "`.woocommerce form .form-row-first`" includes a `form` type so it beats ours
   on specificity (0,0,2,1 vs 0,0,2,0). !important wins without contorting the
   selector to `form.woocommerce-EditAccountForm`. */
.woocommerce-EditAccountForm > .form-row{margin:0;width:auto !important;float:none !important}
.woocommerce-EditAccountForm > .form-row-first{grid-column:1}
.woocommerce-EditAccountForm > .form-row-last{grid-column:2}
.woocommerce-EditAccountForm > .form-row-wide,
.woocommerce-EditAccountForm > fieldset,
.woocommerce-EditAccountForm > p:last-of-type{grid-column:1 / -1}
.woocommerce-EditAccountForm label{
  display:block;margin-bottom:8px;font-size:13px;color:var(--muted);
  font-weight:600;letter-spacing:.02em
}
.woocommerce-EditAccountForm label .required{color:var(--amber)}
.woocommerce-EditAccountForm .input-text,
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"],
.woocommerce-EditAccountForm input[type="text"]{
  width:100%;padding:14px 16px;border-radius:12px;
  background:rgba(17,28,54,.04);border:1px solid var(--line);
  color:var(--text);font-size:15px;font-family:inherit;
  transition:border-color .25s ease,background .25s ease
}
.woocommerce-EditAccountForm .input-text:focus,
.woocommerce-EditAccountForm input:focus{
  outline:none;border-color:rgba(61,126,247,.55);background:rgba(17,28,54,.06)
}
.woocommerce-EditAccountForm em,
.woocommerce-EditAccountForm #account_display_name_description em{
  display:block;margin-top:8px;font-size:12.5px;color:rgba(17,28,54,.5);font-style:normal;line-height:1.5
}
.woocommerce-EditAccountForm fieldset{
  border:1px solid var(--line);border-radius:14px;
  padding:22px 24px 24px;background:rgba(17,28,54,.025);
  margin:6px 0 4px;display:flex;flex-direction:column;gap:16px
}
.woocommerce-EditAccountForm fieldset legend{
  padding:0 10px;margin-left:-2px;
  font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted)
}
.woocommerce-EditAccountForm fieldset > p{margin:0}
/* Submit button — gradient pill. Selector specificity has to beat WC's generic
   `.woocommerce .button:hover` (which sets a rgba background, washing out the
   gradient). The `!important` on background avoids a 4-selector arms race.
   `min-width` locks the pill so it doesn't visibly shrink when the JS swaps
   "Зберегти зміни" → "Зберігаємо…" mid-submit. */
.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-EditAccountForm .woocommerce-Button{
  justify-self:start;
  /* Lock min-width with !important so WC frontend.css `.button { padding }` resets
     don't shrink the pill mid-AJAX when "Зберегти зміни" → "Зберігаємо…". */
  min-width:240px !important;
  padding:15px 32px !important;font-size:15px !important;font-weight:600 !important;
  background:linear-gradient(135deg,var(--magenta),var(--amber)) !important;
  border:1px solid transparent !important;color:#fff !important;border-radius:999px !important;
  cursor:pointer;font-family:inherit;
  box-shadow:0 10px 28px rgba(61,126,247,.28);
  transition:transform .15s ease,box-shadow .2s ease,filter .2s ease;
  margin-top:6px
}
.woocommerce-EditAccountForm button[type="submit"]:hover,
.woocommerce-EditAccountForm .woocommerce-Button:hover{
  transform:translateY(-1px);
  filter:brightness(1.07);
  box-shadow:0 14px 36px rgba(61,126,247,.4)
}
.woocommerce-EditAccountForm button[type="submit"][disabled],
.woocommerce-EditAccountForm button[type="submit"]:disabled{
  opacity:.7;cursor:wait;transform:none;filter:none;
  /* Explicit width during AJAX — WC's `.button:disabled` strips padding which
     was enough to make the pill visibly halve before `min-width` kicked in. */
  width:240px !important;
  padding:15px 32px !important
}

/* Password eye toggle — WC ships .password-input span around the input + button.
   Some flows don't add the wrapper; account.js normalizes them. */
.woocommerce-EditAccountForm .password-input,
.cc-account-login-card .password-input,
.auth-modal .password-input{position:relative;display:block}
.woocommerce-EditAccountForm .password-input > input{padding-right:48px}
.woocommerce-EditAccountForm .show-password-input,
.woocommerce-EditAccountForm .cc-password-toggle{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  width:32px;height:32px;display:grid;place-items:center;
  background:transparent;border:none;cursor:pointer;padding:0;
  /* Force a high-contrast light color — WC frontend.css ships a darker default
     on this button that's borderline-invisible on our dark theme. */
  color:rgba(17,28,54,.85) !important;
  transition:color .15s ease;border-radius:6px
}
.woocommerce-EditAccountForm .show-password-input:hover,
.woocommerce-EditAccountForm .cc-password-toggle:hover{color:var(--amber) !important}
/* WC's frontend.css renders an icon-font glyph on ::after (content: "\e010").
   On dev that font isn't always loaded → invisible; on prod it loads and shows
   as a black-on-dark character behind our own SVG. Kill it. */
.woocommerce-EditAccountForm .show-password-input::after,
.woocommerce-EditAccountForm .cc-password-toggle::after{
  content:none !important;display:none !important
}
.woocommerce-EditAccountForm .show-password-input::before,
.woocommerce-EditAccountForm .cc-password-toggle::before{
  content:"";display:block;width:20px;height:20px;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/><circle cx='12' cy='12' r='3'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/><circle cx='12' cy='12' r='3'/></svg>") center/contain no-repeat
}
.woocommerce-EditAccountForm .show-password-input.display-password::before,
.woocommerce-EditAccountForm .cc-password-toggle.is-shown::before{
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17.94 17.94A10.43 10.43 0 0 1 12 19c-7 0-10-7-10-7a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 10 7 10 7a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/><line x1='1' y1='1' x2='23' y2='23'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M17.94 17.94A10.43 10.43 0 0 1 12 19c-7 0-10-7-10-7a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 10 7 10 7a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/><line x1='1' y1='1' x2='23' y2='23'/></svg>") center/contain no-repeat
}

/* AJAX banner above the form */
.cc-account-banner{
  grid-column:1 / -1;
  padding:14px 18px;border-radius:12px;font-size:14px;line-height:1.5;
  border:1px solid var(--line);background:rgba(17,28,54,.04);color:var(--text);
  display:none
}
.cc-account-banner:not(:empty){display:block}
.cc-account-banner.is-ok{background:rgba(67,200,140,.1);border-color:rgba(67,200,140,.35);color:#7fdca8}
.cc-account-banner.is-err{background:rgba(255,107,107,.1);border-color:rgba(255,107,107,.35);color:#ff9b9b}

/* Responsive */
@media (max-width:900px){
  .woocommerce-account .woocommerce{grid-template-columns:1fr;gap:20px}
  .woocommerce-account .woocommerce-MyAccount-navigation{position:static}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap}
  .woocommerce-account .woocommerce-MyAccount-navigation li a{padding:9px 14px}
  .woocommerce table.shop_table thead{display:none}
  .woocommerce table.shop_table td{display:block;padding:10px 18px;border-bottom:none}
  .woocommerce table.shop_table tr{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
  .woocommerce table.shop_table tr:last-child{border-bottom:none}
  .woocommerce-MyAccount-content{padding:22px 24px}
  .cc-license{padding:16px 18px}
  .cc-license__meta{grid-template-columns:1fr 1fr;gap:10px 18px}
  .woocommerce-EditAccountForm{grid-template-columns:1fr;gap:16px}
  .woocommerce-EditAccountForm > .form-row-first,
  .woocommerce-EditAccountForm > .form-row-last{grid-column:1}
  .woocommerce-EditAccountForm fieldset{padding:18px 18px 20px}
}
@media (max-width:520px){
  .cc-license__meta{grid-template-columns:1fr}
  .cc-license__activations li{grid-template-columns:1fr auto;gap:6px 12px}
  .cc-license__activations li time{grid-column:1}
  .cc-license__deactivate{grid-column:2;grid-row:1/span 2;align-self:center}
}

/* ===== No-refund consent checkbox at checkout ===== */
.catcode-consent{margin:18px 0 14px;padding:16px 18px;background:rgba(17,28,54,.04);border:1px solid var(--line);border-radius:14px}
.catcode-consent__row{display:flex;align-items:flex-start;gap:12px;cursor:pointer;color:var(--text);font-size:13.5px;line-height:1.55}
.catcode-consent__row input[type="checkbox"]{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:var(--amber);cursor:pointer}
.catcode-consent__text a{color:var(--amber-soft);text-decoration:underline;text-underline-offset:2px}
.catcode-consent__text a:hover{color:var(--amber)}

/* Licence renewal block in My Account */
.cc-renew{margin-top:14px}
.cc-renew__toggle{appearance:none;background:transparent;border:1px solid var(--line, rgba(255,255,255,.14));color:inherit;font:inherit;font-size:14px;font-weight:600;padding:9px 16px;border-radius:10px;cursor:pointer;transition:border-color .18s ease,background .18s ease}
.cc-renew__toggle:hover{border-color:rgba(61,126,247,.55);background:rgba(61,126,247,.08)}
.cc-renew__panel{margin-top:12px;padding:14px;border:1px solid rgba(61,126,247,.28);background:rgba(61,126,247,.06);border-radius:12px}
.cc-renew__lede{margin:0 0 12px;font-size:13.5px;line-height:1.55;opacity:.8}
.cc-renew__terms{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.cc-renew__term{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line, rgba(255,255,255,.14));border-radius:10px;cursor:pointer;font-size:14px;transition:border-color .18s ease,background .18s ease}
.cc-renew__term:hover{border-color:rgba(61,126,247,.45)}
.cc-renew__term:has(input:checked){border-color:rgba(61,126,247,.7);background:rgba(61,126,247,.1)}
.cc-renew__years{font-weight:600}
.cc-renew__price{margin-left:auto;font-weight:600;white-space:nowrap}
.cc-renew__off{font-size:11.5px;font-weight:600;color:rgba(61,126,247,.95);background:rgba(61,126,247,.14);border-radius:999px;padding:2px 7px;white-space:nowrap}
.cc-renew__submit{width:100%}
.cc-renew__status{margin:10px 0 0;font-size:13.5px;min-height:18px;text-align:center}
.cc-renew__status[data-kind="error"]{color:#ff7575}
.cc-renew__status[data-kind="success"]{color:#7ec97e}
/* Post-payment page */
.cc-thanks{--cc-th-gap:28px;max-width:960px;margin:0 auto;padding:4px 0 80px}

.cc-thanks__hero{margin-bottom:36px}
.cc-thanks__hero--split{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:40px;align-items:center}
.cc-thanks__hero-text{min-width:0}

.cc-thanks__badge{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#7ec97e;background:rgba(126,201,126,.12);border:1px solid rgba(126,201,126,.28);border-radius:999px;padding:6px 13px 6px 9px;margin-bottom:18px}
.cc-thanks__badge-icon{display:inline-flex;width:15px;height:15px}
.cc-thanks__badge-icon svg{width:100%;height:100%}
.cc-thanks--waiting .cc-thanks__badge{color:rgba(61,126,247,.95);background:rgba(61,126,247,.12);border-color:rgba(61,126,247,.3)}

.cc-thanks--failed .cc-thanks__badge{color:#ff8a8a;background:rgba(255,117,117,.12);border-color:rgba(255,117,117,.32)}
.cc-thanks__btn-ghost{border:1px solid var(--line);background:transparent;color:inherit}
.cc-thanks__btn-ghost:hover{border-color:rgba(61,126,247,.55);background:rgba(61,126,247,.08)}
.cc-thanks__title{margin:0 0 12px;font-size:clamp(30px,3.6vw,42px);line-height:1.12;letter-spacing:-.025em}
.cc-thanks__lede{margin:0 0 26px;font-size:16.5px;line-height:1.6;color:var(--muted);max-width:46ch}

.cc-thanks__order{display:flex;flex-wrap:wrap;gap:8px 36px;margin:0}
.cc-thanks__order div{display:flex;flex-direction:column;gap:3px}
.cc-thanks__order dt{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:rgba(17,28,54,.42)}
.cc-thanks__order dd{margin:0;font-size:15px;font-weight:600}

.cc-thanks__figure{margin:0}
.cc-thanks__img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:72% 65%;border-radius:18px}

.cc-thanks__card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:16px;margin-bottom:12px}
.cc-thanks__card-body{min-width:0;flex:1 1 340px}
.cc-thanks__eyebrow{margin:0 0 9px;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:rgba(17,28,54,.42)}
.cc-thanks__key-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.cc-thanks__key{font-family:Consolas,Monaco,monospace;font-size:19px;font-weight:600;letter-spacing:.1em;color:var(--text)}
.cc-thanks__copy{appearance:none;background:transparent;border:1px solid var(--line);color:var(--muted);font:inherit;font-size:12.5px;padding:6px 11px;border-radius:8px;cursor:pointer;transition:border-color .18s ease,color .18s ease}
.cc-thanks__copy:hover{border-color:rgba(61,126,247,.55);color:var(--text)}
.cc-thanks__copy.is-done{border-color:rgba(126,201,126,.6);color:#7ec97e}
.cc-thanks__meta{margin:11px 0 0;font-size:13.5px;line-height:1.5;color:var(--muted)}
.cc-thanks__meta a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.cc-thanks__meta a:hover{color:var(--text)}
.cc-thanks__dot{opacity:.45;margin:0 5px}
.cc-thanks__card-cta{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:10px}
.cc-thanks__download{display:inline-flex;align-items:center;gap:9px;max-width:100%;white-space:normal;text-align:left}
.cc-thanks__download svg{width:17px;height:17px}

.cc-thanks__steps{margin-top:34px}
.cc-thanks__steps-title{margin:0 0 16px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:rgba(17,28,54,.42);font-weight:600}
.cc-thanks__steps-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cc-thanks__steps-list li{display:flex;gap:11px;font-size:14.5px;line-height:1.55;color:var(--muted)}
.cc-thanks__step-n{flex:0 0 24px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(61,126,247,.14);color:rgba(61,126,247,.95);font-size:12.5px;font-weight:700}

.cc-thanks__retry-box{padding:22px 24px;border:1px solid rgba(255,117,117,.3);background:rgba(255,117,117,.07);border-radius:16px}
.cc-thanks__retry{width:auto}
.cc-thanks__retry-status{margin:12px 0 0;font-size:13.5px;min-height:18px}
.cc-thanks__retry-status[data-kind="error"]{color:#ff7575}
.cc-thanks__retry-note{margin:10px 0 0;font-size:13px;color:var(--muted)}
.cc-thanks__foot{margin-top:38px;padding-top:26px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px}
.cc-thanks__link{font-size:14.5px;color:var(--muted);text-decoration:none;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease}
.cc-thanks__link:hover{color:var(--text);border-bottom-color:rgba(61,126,247,.6)}
.cc-thanks__hint{margin:18px 0 0;font-size:13px;line-height:1.6;color:rgba(17,28,54,.5)}

@media (max-width:860px){
  .cc-thanks__hero--split{grid-template-columns:1fr;gap:24px}
  /* The photo is decoration, and on a phone there is no spare vertical room:
     any crop that fits pushes the licence key below the fold. Desktop keeps it. */
  .cc-thanks__figure{display:none}
  .cc-thanks__steps-list{grid-template-columns:1fr;gap:12px}
  .cc-thanks__card{padding:18px}
  .cc-thanks__card-cta,.cc-thanks__download{width:100%;justify-content:center}
}
/* Email verification gate on the thank-you page */
.cc-thanks--verify .cc-thanks__badge{color:rgba(61,126,247,.95);background:rgba(61,126,247,.12);border-color:rgba(61,126,247,.3)}
.cc-verify{max-width:560px}
.cc-verify__label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:rgba(17,28,54,.42);margin-bottom:9px}
.cc-verify__row{display:flex;flex-wrap:wrap;gap:10px}
.cc-verify__input{flex:1 1 260px;min-width:0;padding:14px 16px;background:#F2F6FD;border:1px solid var(--line);border-radius:12px;color:var(--text);font-family:inherit;font-size:16px;transition:border-color .18s ease,background .18s ease}
.cc-verify__input:focus{outline:none;border-color:rgba(61,126,247,.55);background:#fff}
.cc-verify__submit{flex:0 0 auto;white-space:nowrap}
.cc-verify__error{margin:0 0 14px;padding:12px 14px;font-size:13.5px;line-height:1.55;color:#ff8a8a;background:rgba(255,117,117,.09);border:1px solid rgba(255,117,117,.3);border-radius:12px}
@media (max-width:560px){
  .cc-verify__submit{width:100%}
}