/**
 * Bugbye WooCommerce Custom Stylesheet
 * My Account, Login, Registration, Checkout & Notices styling in Bugbye's Dark Aesthetic
 */

:root {
  --ink: #0b0b0c;
  --panel: #151517;
  --panel-2: #1d1d20;
  --line: #2c2c31;
  --red: #e31b23;
  --red-deep: #9d0e14;
  --paper: #f5f4f1;
  --mute: #a3a3ab;
  --good: #3ecf8e;
  --display: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;
  --body: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* Page Wrapper */
.woocommerce-account,
.woocommerce-checkout,
.woocommerce-cart {
  background-color: var(--ink);
  color: var(--paper);
}

.woocommerce-account #primary,
.woocommerce-account .site-content,
.woocommerce-account .ast-container {
  background-color: var(--ink) !important;
  color: var(--paper);
}

.woocommerce-account .entry-title {
  font-family: var(--display) !important;
  font-style: italic;
  font-weight: 800;
  font-size: clamp(34px, 5vw, 48px);
  text-transform: uppercase;
  color: var(--paper);
  margin-bottom: 24px;
}

/* WooCommerce Notices */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  background: var(--panel) !important;
  color: var(--paper) !important;
  border-radius: 8px !important;
  border: 1px solid var(--line) !important;
  padding: 14px 20px !important;
  margin-bottom: 24px !important;
  font-size: 14px;
}

.woocommerce-error {
  border-left: 4px solid var(--red) !important;
}

.woocommerce-info {
  border-left: 4px solid #3b82f6 !important;
}

.woocommerce-message {
  border-left: 4px solid var(--good) !important;
}

.woocommerce-error a,
.woocommerce-info a,
.woocommerce-message a {
  color: var(--red) !important;
  font-weight: 700;
  text-decoration: underline;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
  color: inherit !important;
}

/* ==========================================================================
   Login & Registration Dual Columns (#customer_login)
   ========================================================================== */
#customer_login {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
  gap: 32px !important;
  max-width: 960px !important;
  margin: 40px auto !important;
  padding: 0 16px;
}

#customer_login .u-column1,
#customer_login .u-column2 {
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  padding: 32px 28px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
  float: none !important;
  width: 100% !important;
}

#customer_login h2 {
  font-family: var(--display) !important;
  font-style: italic;
  font-weight: 800;
  font-size: 32px !important;
  text-transform: uppercase;
  color: var(--paper);
  margin: 0 0 20px !important;
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
}

.woocommerce-form-login,
.woocommerce-form-register {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.woocommerce-form-row {
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.woocommerce-form-row label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--mute);
  margin-bottom: 6px;
  text-transform: uppercase;
}

.woocommerce-form-row label .required {
  color: var(--red);
}

.woocommerce-Input,
.woocommerce-form-row input[type="text"],
.woocommerce-form-row input[type="email"],
.woocommerce-form-row input[type="password"],
.woocommerce-form-row input[type="tel"] {
  width: 100% !important;
  height: 48px !important;
  background: var(--ink) !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  color: var(--paper) !important;
  padding: 0 14px !important;
  font-family: var(--body) !important;
  font-size: 14.5px !important;
  transition: border-color .2s, box-shadow .2s;
}

.woocommerce-Input:focus,
.woocommerce-form-row input:focus {
  border-color: var(--red) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(227, 27, 35, 0.25) !important;
}

.woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: var(--mute) !important;
  cursor: pointer;
  margin-top: 4px;
}

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

.woocommerce-button,
.woocommerce-form-login .button,
.woocommerce-form-register .button,
.woocommerce-EditAccountForm .button,
.woocommerce-address-fields .button {
  background: var(--red) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 8px !important;
  height: 50px !important;
  font-family: var(--body) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  cursor: pointer !important;
  transition: background .2s, transform .1s !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 24px !important;
}

.woocommerce-button:hover,
.woocommerce-form-login .button:hover,
.woocommerce-form-register .button:hover {
  background: #f12a32 !important;
}

.woocommerce-LostPassword a {
  font-size: 13px;
  color: var(--mute);
  transition: color .2s;
}

.woocommerce-LostPassword a:hover {
  color: var(--red);
}

.woocommerce-privacy-policy-text {
  font-size: 12px;
  color: var(--mute);
  line-height: 1.5;
}

/* ==========================================================================
   My Account Dashboard & Navigation
   ========================================================================== */
.woocommerce-account .woocommerce {
  max-width: 1100px;
  margin: 30px auto;
  padding: 0 20px;
}

.woocommerce-MyAccount-navigation {
  float: left;
  width: 25% !important;
  margin-bottom: 30px;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}

.woocommerce-MyAccount-navigation li {
  margin: 0 !important;
  border-bottom: 1px solid var(--line);
}

.woocommerce-MyAccount-navigation li:last-child {
  border-bottom: 0;
}

.woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 14px 18px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--mute);
  transition: all .2s;
}

.woocommerce-MyAccount-navigation li a:hover {
  color: var(--paper);
  background: var(--panel-2);
}

.woocommerce-MyAccount-navigation li.is-active a {
  color: #fff;
  background: #1a1011;
  border-left: 3px solid var(--red);
  font-weight: 700;
}

.woocommerce-MyAccount-content {
  float: right;
  width: 70% !important;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 28px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

@media (max-width: 820px) {
  .woocommerce-MyAccount-navigation,
  .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
  }
}

.woocommerce-MyAccount-content p {
  color: var(--paper);
  font-size: 15px;
  line-height: 1.6;
}

.woocommerce-MyAccount-content a {
  color: var(--red);
}

/* My Account Tables (Orders & Downloads) */
.woocommerce-orders-table,
.woocommerce-table--order-downloads {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
  background: var(--ink);
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.woocommerce-orders-table th,
.woocommerce-table--order-downloads th {
  background: var(--panel-2);
  color: var(--paper);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--line);
}

.woocommerce-orders-table td,
.woocommerce-table--order-downloads td {
  padding: 14px;
  font-size: 14px;
  border-bottom: 1px solid var(--line);
  color: var(--paper);
}

.woocommerce-orders-table tr:last-child td {
  border-bottom: 0;
}

.woocommerce-button.view {
  background: transparent !important;
  border: 1px solid var(--line) !important;
  color: var(--paper) !important;
  height: 36px !important;
  padding: 0 14px !important;
  font-size: 12px !important;
}

.woocommerce-button.view:hover {
  border-color: var(--red) !important;
  color: var(--red) !important;
}

/* Addresses */
.woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  margin-top: 16px;
}

.woocommerce-Address {
  background: var(--ink);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 20px;
}

.woocommerce-Address-title h3 {
  font-family: var(--display) !important;
  font-size: 22px;
  margin: 0 0 10px;
  color: var(--paper);
}

.woocommerce-Address address {
  font-style: normal;
  color: var(--mute);
  font-size: 14px;
  line-height: 1.5;
}

.woocommerce-Address .edit {
  display: inline-block;
  margin-top: 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--red);
}

/* ==========================================================================
   WooCommerce Cart Page Styling (Gutenberg Cart Block & Classic Cart)
   ========================================================================== */
body.woocommerce-cart,
.woocommerce-cart,
.woocommerce-cart #page,
.woocommerce-cart #content,
.woocommerce-cart .site-content,
.woocommerce-cart .ast-container,
.woocommerce-cart #primary,
.woocommerce-cart main {
  background-color: var(--ink) !important;
  color: var(--paper) !important;
}

/* Cart Page Title */
.woocommerce-cart .entry-title,
.woocommerce-cart h1,
.wc-block-cart__title {
  font-family: var(--display) !important;
  font-style: italic !important;
  font-weight: 800 !important;
  font-size: clamp(36px, 5vw, 52px) !important;
  text-transform: uppercase !important;
  color: var(--paper) !important;
  letter-spacing: .01em !important;
  margin-bottom: 24px !important;
}

/* Notice Banners in Cart */
.wc-block-components-notice-banner,
.wc-block-components-notice-banner.is-error,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info {
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
  border-left: 4px solid var(--red) !important;
  color: var(--paper) !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  margin-bottom: 24px !important;
}

.wc-block-components-notice-banner .wc-block-components-notice-banner__content {
  color: var(--paper) !important;
  font-size: 14px !important;
}

.wc-block-components-notice-banner svg {
  fill: var(--red) !important;
  color: var(--red) !important;
}

.wc-block-components-notice-banner__dismiss {
  color: var(--mute) !important;
}

.wc-block-components-notice-banner__dismiss:hover {
  color: var(--paper) !important;
}

/* Cart Items Table / List */
.wc-block-cart-items,
.woocommerce-cart table.cart,
.woocommerce-cart table.shop_table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-color: var(--line) !important;
  color: var(--paper) !important;
  width: 100% !important;
}

.wc-block-cart-items thead th,
.wc-block-cart-items th,
.woocommerce-cart table.cart thead th,
.woocommerce-cart table.shop_table thead th {
  color: var(--mute) !important;
  font-family: var(--body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--line) !important;
  padding: 12px 14px !important;
  background: transparent !important;
}

.wc-block-cart-items tbody tr,
.woocommerce-cart table.cart tbody tr,
.woocommerce-cart table.shop_table tbody tr {
  border-bottom: 1px solid var(--line) !important;
}

.wc-block-cart-items td,
.woocommerce-cart table.cart td,
.woocommerce-cart table.shop_table td {
  border-color: var(--line) !important;
  color: var(--paper) !important;
  padding: 16px 14px !important;
  vertical-align: middle !important;
}

/* Product Info & Title */
.wc-block-components-product-name,
.product-name a,
.wc-block-cart-item__wrap .wc-block-components-product-name {
  color: var(--paper) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.wc-block-components-product-name:hover,
.product-name a:hover {
  color: var(--red) !important;
}

/* Product Meta / Attributes */
.wc-block-components-product-details,
.wc-block-components-product-metadata,
.woocommerce-cart .variation,
.woocommerce-cart dl.variation {
  color: var(--mute) !important;
  font-size: 13px !important;
  margin-top: 6px !important;
  line-height: 1.4 !important;
}

.wc-block-components-product-details__name,
.woocommerce-cart dl.variation dt {
  color: var(--mute) !important;
  font-weight: 500 !important;
}

.wc-block-components-product-details__value,
.woocommerce-cart dl.variation dd {
  color: var(--paper) !important;
  font-weight: 600 !important;
}

/* Product Prices */
.wc-block-components-product-price,
.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal {
  color: var(--paper) !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  font-family: var(--display) !important;
  letter-spacing: .01em !important;
}

.wc-block-components-product-price del,
.woocommerce-cart del {
  color: var(--mute) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  margin-right: 6px !important;
}

.wc-block-components-product-price ins,
.woocommerce-cart ins {
  text-decoration: none !important;
  color: var(--paper) !important;
}

/* Quantity Selector Stepper */
.wc-block-components-quantity-selector,
.woocommerce-cart .quantity {
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
}

.wc-block-components-quantity-selector__button {
  background: transparent !important;
  border: none !important;
  color: var(--paper) !important;
  font-size: 16px !important;
  width: 32px !important;
  height: 32px !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  transition: all 0.15s !important;
}

.wc-block-components-quantity-selector__button:hover {
  background: var(--panel-2) !important;
  color: var(--red) !important;
}

.wc-block-components-quantity-selector__input,
.woocommerce-cart .quantity input.qty {
  background: transparent !important;
  border: none !important;
  color: var(--paper) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-align: center !important;
  width: 38px !important;
  height: 32px !important;
  padding: 0 !important;
}

/* Remove Item Trash Button */
.wc-block-cart-item__remove-link,
.woocommerce-cart .remove_from_cart_button,
.woocommerce-cart a.remove {
  color: var(--mute) !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  transition: color 0.2s !important;
}

.wc-block-cart-item__remove-link:hover,
.woocommerce-cart .remove_from_cart_button:hover,
.woocommerce-cart a.remove:hover {
  color: var(--red) !important;
}

/* Cart Totals Sidebar / Panel */
.wc-block-cart__totals-wrapper,
.woocommerce-cart .cart_totals {
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  padding: 24px !important;
}

.wc-block-cart__totals-title,
.woocommerce-cart .cart_totals h2 {
  font-family: var(--display) !important;
  font-style: italic !important;
  font-weight: 800 !important;
  font-size: 24px !important;
  text-transform: uppercase !important;
  color: var(--paper) !important;
  letter-spacing: .02em !important;
  margin-bottom: 20px !important;
  border-bottom: 1px solid var(--line) !important;
  padding-bottom: 12px !important;
}

/* Totals Line Items */
.wc-block-components-totals-item,
.woocommerce-cart .cart_totals table tr {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  border-bottom: 1px solid var(--line) !important;
  padding: 12px 0 !important;
  border-top: none !important;
}

.wc-block-components-totals-item__label,
.woocommerce-cart .cart_totals table th {
  color: var(--mute) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

.wc-block-components-totals-item__value,
.woocommerce-cart .cart_totals table td {
  color: var(--paper) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  border: none !important;
  padding: 0 !important;
  text-align: right !important;
  background: transparent !important;
}

/* Free Shipping Highlight */
.wc-block-components-totals-shipping .wc-block-components-totals-item__value {
  color: var(--good) !important;
  font-weight: 700 !important;
}

/* Estimated Total Row */
.wc-block-components-totals-footer-item,
.woocommerce-cart .cart_totals tr.order-total {
  border-top: 1px solid var(--line) !important;
  border-bottom: none !important;
  padding-top: 16px !important;
  margin-top: 12px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-cart .cart_totals tr.order-total th {
  color: var(--paper) !important;
  font-weight: 700 !important;
  font-size: 17px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-cart .cart_totals tr.order-total td {
  color: var(--paper) !important;
  font-family: var(--display) !important;
  font-weight: 800 !important;
  font-size: 28px !important;
  letter-spacing: .01em !important;
}

/* Coupon Accordion / Form */
.wc-block-components-totals-coupon {
  margin: 16px 0 !important;
}

.wc-block-components-totals-coupon button.wc-block-components-panel__button {
  color: var(--paper) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background: transparent !important;
}

.wc-block-components-totals-coupon__input input {
  background: var(--ink) !important;
  border: 1px solid var(--line) !important;
  color: var(--paper) !important;
  border-radius: 6px !important;
  height: 42px !important;
  padding: 0 12px !important;
}

.wc-block-components-totals-coupon__input input:focus {
  border-color: var(--red) !important;
  outline: none !important;
}

.wc-block-components-totals-coupon__button {
  background: var(--red) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  height: 42px !important;
  padding: 0 16px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}

.wc-block-components-totals-coupon__button:hover {
  background: var(--red-deep) !important;
}

/* PROCEED TO CHECKOUT BUTTON - Vibrant Bugbye Red */
.wc-block-cart__submit-button,
.wc-block-cart__submit a,
.woocommerce-cart .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--red) !important;
  background-color: #e31b23 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  height: 52px !important;
  font-family: var(--body) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: 20px !important;
  box-shadow: 0 4px 14px rgba(227, 27, 35, 0.35) !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-cart__submit a:hover,
.woocommerce-cart .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--red-deep) !important;
  background-color: #9d0e14 !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px rgba(227, 27, 35, 0.5) !important;
  transform: translateY(-1px) !important;
}

/* Empty Cart State */
.wc-block-cart__empty-cart,
.woocommerce-cart .cart-empty {
  text-align: center !important;
  padding: 60px 20px !important;
  color: var(--paper) !important;
}

.wc-block-cart__empty-cart-title,
.woocommerce-cart .cart-empty {
  font-family: var(--display) !important;
  font-style: italic !important;
  font-size: 32px !important;
  color: var(--paper) !important;
  text-transform: uppercase !important;
}

.wc-block-cart__empty-cart a.wc-block-components-button,
.woocommerce-cart .return-to-shop a.button {
  background: var(--red) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  padding: 12px 28px !important;
  text-transform: uppercase !important;
  display: inline-block !important;
  margin-top: 16px !important;
}

