/* ------------------------------------------------------------------
   WooCommerce + login -> MSDC Ring Card design system.
   Woo ships light-theme defaults; this maps its markup onto the dark
   palette and type scale declared in msdc.css. Same approach as
   fluentform.css.
   ------------------------------------------------------------------ */

.woocommerce, .woocommerce-page .entry-content{ font-family:var(--font-body); color:var(--text); }

/* Buttons ---------------------------------------------------------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button, .msdc-login .button{
  font-family:var(--font-ui); font-weight:600; font-size:.82rem;
  text-transform:uppercase; letter-spacing:.14em;
  padding:15px 28px; border:2px solid var(--accent); background:var(--accent);
  color:#fff; border-radius:var(--radius); cursor:pointer; transition:.18s ease;
  line-height:1.2;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover, .wc-block-components-button:hover{
  background:var(--accent-dark); border-color:var(--accent-dark); color:#fff;
}
.woocommerce a.button.wc-backward{
  background:transparent; color:var(--text); border-color:var(--line);
}
.woocommerce a.button.wc-backward:hover{ border-color:var(--accent); background:transparent; color:#fff; }

/* Form controls ---------------------------------------------------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single,
.msdc-login input[type="text"], .msdc-login input[type="password"]{
  font-family:var(--font-ui); font-size:1rem; color:#fff;
  background:var(--ink); border:1px solid var(--line);
  border-radius:var(--radius); padding:13px 14px; width:100%; height:auto;
  box-shadow:none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.msdc-login input:focus{
  outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-glow);
}
.woocommerce form .form-row label, .msdc-login label{
  font-family:var(--font-ui); font-size:.72rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.14em; color:var(--text-dim);
  margin-bottom:7px; display:inline-block;
}
.woocommerce form .form-row .required{ color:var(--accent); border:0; }

/* Panels ----------------------------------------------------------- */
.woocommerce form.login, .woocommerce form.register,
.woocommerce-info, .woocommerce-message, .woocommerce-error,
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-account .woocommerce-MyAccount-content{
  background:var(--bg-card); border:1px solid var(--line);
  border-radius:var(--radius); color:var(--text);
}
.woocommerce form.login, .woocommerce form.register{ padding:32px 28px; }

/* Notices ---------------------------------------------------------- */
.woocommerce-info, .woocommerce-message, .woocommerce-error{
  border-top:3px solid var(--accent); padding:18px 20px 18px 20px;
  font-family:var(--font-ui); list-style:none;
}
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before{ display:none; }
.woocommerce-info a, .woocommerce-message a{ color:var(--accent); }
/* Tables (cart, orders, downloads) --------------------------------- */
.woocommerce table.shop_table{
  border:0; border-collapse:collapse; width:100%;
  font-family:var(--font-ui); color:var(--text); border-radius:0;
}
.woocommerce table.shop_table th{
  font-family:var(--font-ui); font-size:.72rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.14em; color:var(--text-dim);
  border-bottom:1px solid var(--line); padding:14px 12px; background:transparent;
}
.woocommerce table.shop_table td{
  border-top:1px solid var(--line); padding:18px 12px; background:transparent;
  color:var(--text);
}
.woocommerce table.shop_table tbody tr:hover td{ background:rgba(255,255,255,.02); }
.woocommerce table.shop_table a{ color:var(--text); }
.woocommerce table.shop_table a:hover{ color:var(--accent); }
.woocommerce .cart-collaterals .cart_totals{ padding:26px 24px; }
.woocommerce .cart-collaterals h2{ font-size:1.6rem; margin-bottom:14px; }
.woocommerce .quantity .qty{
  background:var(--ink); border:1px solid var(--line); color:#fff;
  border-radius:var(--radius); padding:10px 8px; font-family:var(--font-ui);
}
.woocommerce .coupon input.input-text{ max-width:220px; }

/* Price ------------------------------------------------------------ */
.woocommerce .price, .woocommerce span.amount, .woocommerce bdi{
  color:var(--accent); font-family:var(--font-display); font-size:1.5rem; font-weight:600;
}
.woocommerce table.shop_table .amount{ font-size:1.15rem; }
.woocommerce del span.amount{ color:var(--text-dim); font-size:1rem; }

/* Product grid ----------------------------------------------------- */
.woocommerce ul.products{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin:0; padding:0; }
.woocommerce ul.products::before, .woocommerce ul.products::after{ display:none; }
.woocommerce ul.products li.product{
  width:auto!important; margin:0!important; float:none!important;
  background:var(--bg-card); border:1px solid var(--line);
  border-radius:var(--radius); padding:20px; transition:.18s ease;
}
.woocommerce ul.products li.product:hover{ border-color:var(--accent); }
.woocommerce ul.products li.product img{ border-radius:var(--radius); margin-bottom:16px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-display); text-transform:uppercase; line-height:1.05;
  font-size:1.35rem; color:var(--text); padding:0; margin:0 0 8px;
}
.woocommerce ul.products li.product .button{ margin-top:14px; display:inline-block; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering select{
  font-family:var(--font-ui); color:var(--text-dim);
}
@media (max-width:960px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .woocommerce ul.products{ grid-template-columns:1fr; } }

/* My Account ------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation{ width:26%; }
.woocommerce-account .woocommerce-MyAccount-content{ width:70%; padding:28px 26px; }
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; }
.woocommerce-MyAccount-navigation li{
  border:1px solid var(--line); border-radius:var(--radius); margin-bottom:8px;
}
.woocommerce-MyAccount-navigation li a{
  display:block; padding:12px 16px; font-family:var(--font-ui);
  font-size:.78rem; text-transform:uppercase; letter-spacing:.12em;
  color:var(--text-dim); text-decoration:none;
}
.woocommerce-MyAccount-navigation li.is-active{ border-color:var(--accent); }
.woocommerce-MyAccount-navigation li:hover{ border-color:var(--accent); }
.woocommerce-MyAccount-navigation li.is-active a{ background:var(--accent); color:#fff; }
.woocommerce-MyAccount-navigation li a:hover{ background:var(--accent-dark); color:#fff; }
@media (max-width:760px){
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{ width:100%; float:none; }
}

/* Login form ------------------------------------------------------- */
.msdc-login{ max-width:460px; }
.msdc-login p{ margin:0 0 18px; }
.msdc-login .login-remember label{
  text-transform:none; letter-spacing:0; font-size:.92rem; color:var(--text);
  display:flex; align-items:center; gap:9px;
}
.msdc-login .login-remember input{ width:auto; accent-color:var(--accent); }
.msdc-login .login-submit input{ width:100%; }
.msdc-login-links{ font-family:var(--font-ui); font-size:.85rem; margin-top:16px; }
.msdc-login-links a{ color:var(--accent); }