/* === WOOCOMMERCE SPECIFIC STYLES === */

/* Result Count */
.woocommerce-result-count { font-size: 14px; color: #666; margin: 0; }

/* Notices */
.woocommerce-notices-wrapper { max-width: 1440px; margin: 0 auto; padding: 0 20px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { margin: 16px 0; padding: 14px 20px; border: 1px solid #e5e5e5; font-size: 14px; display: flex; align-items: center; gap: 12px; }
.woocommerce-message { border-color: #4caf50; }
.woocommerce-error { border-color: #f44336; }
.woocommerce-message a, .woocommerce-error a { font-weight: 600; text-decoration: underline; }

/* CART PAGE */
.woocommerce-cart .dtia-main, .woocommerce-checkout .dtia-main { padding: 40px 0; }
.woocommerce-cart-form { max-width: 1440px; margin: 0 auto; padding: 0 20px; }
.cart-collaterals { max-width: 1440px; margin: 40px auto 0; padding: 0 20px; }

.woocommerce-cart-form table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-cart-form th { font-size: 13px; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600; padding: 12px 8px; border-bottom: 2px solid #e5e5e5; text-align: left; }
.woocommerce-cart-form td { padding: 16px 8px; border-bottom: 1px solid #e5e5e5; vertical-align: middle; }
.woocommerce-cart-form .product-thumbnail img { width: 80px; height: 100px; object-fit: cover; }
.woocommerce-cart-form .product-name a { font-weight: 500; }
.woocommerce-cart-form .product-remove a { color: #999; font-size: 20px; }
.woocommerce-cart-form .quantity { display: flex; align-items: center; border: 1px solid #e5e5e5; width: fit-content; }
.woocommerce-cart-form .quantity button { display: none; }
.woocommerce-cart-form .quantity input { width: 60px; height: 40px; text-align: center; border: none; font-size: 14px; }

/* Cart Totals */
.cart_totals { max-width: 400px; margin-left: auto; }
.cart_totals h2 { font-size: 18px; font-weight: 600; margin-bottom: 16px; }
.cart_totals table.shop_table { width: 100%; }
.cart_totals th, .cart_totals td { padding: 12px 0; border-bottom: 1px solid #e5e5e5; }
.cart_totals .order-total { font-size: 18px; font-weight: 700; }
.wc-proceed-to-checkout .checkout-button { display: block; text-align: center; padding: 16px 32px; background: #000; color: #fff; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; margin-top: 16px; transition: all 0.3s; }
.wc-proceed-to-checkout .checkout-button:hover { opacity: 0.8; }
.coupon { display: flex; gap: 8px; }
.coupon input { flex: 1; padding: 10px 12px; border: 1px solid #e5e5e5; }
.coupon button { padding: 10px 20px; background: #000; color: #fff; border: 1px solid #000; font-size: 13px; text-transform: uppercase; }

/* CHECKOUT */
.woocommerce-checkout .checkout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
#order_review { padding: 24px; background: #f9f9f9; border: 1px solid #e5e5e5; }
#order_review_heading { font-size: 18px; font-weight: 600; margin-bottom: 20px; }

/* MY ACCOUNT */
.woocommerce-MyAccount-navigation {
  margin-bottom: 32px; width: 100%;
}
.woocommerce-MyAccount-navigation ul {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 4px;
  border-bottom: 1px solid #e5e5e5; padding: 0; margin: 0;
}
.woocommerce-MyAccount-navigation ul li { margin: 0; list-style: none; }
.woocommerce-MyAccount-navigation ul li a {
  display: block; padding: 14px 24px; font-size: 14px; font-weight: 500;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
  transition: all 0.3s; color: #666;
}
.woocommerce-MyAccount-navigation ul li a:hover { color: #000; }
.woocommerce-MyAccount-navigation ul li.is-active a {
  border-bottom-color: #000; color: #000; font-weight: 600;
}

.woocommerce-MyAccount-content {
  padding: 0 0 40px; max-width: 800px; margin: 0 auto;
}
.woocommerce-MyAccount-content p { margin-bottom: 16px; font-size: 14px; color: #666; }
.woocommerce-MyAccount-content p:first-child { font-size: 15px; color: #000; }
.woocommerce-MyAccount-content strong { color: #000; }

.woocommerce-MyAccount-content header h2,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-size: 20px; font-weight: 600; margin-bottom: 16px;
}
.woocommerce-MyAccount-content .woocommerce-Addresses {
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
}
.woocommerce-MyAccount-content .woocommerce-Address {
  padding: 24px; border: 1px solid #e5e5e5; border-radius: 4px;
}
.woocommerce-MyAccount-content .woocommerce-Address h3 {
  font-size: 16px; font-weight: 600; margin-bottom: 12px;
}
.woocommerce-MyAccount-content .woocommerce-Address address {
  font-style: normal; font-size: 14px; line-height: 1.7; color: #666; margin-bottom: 16px;
}
.woocommerce-MyAccount-content .woocommerce-Address .edit {
  font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px;
  color: #000; text-decoration: underline;
}
.woocommerce-MyAccount-content fieldset {
  border: 1px solid #e5e5e5; padding: 24px; margin-bottom: 24px; border-radius: 4px;
}
.woocommerce-MyAccount-content legend {
  font-size: 16px; font-weight: 600; padding: 0 12px;
}
.woocommerce-MyAccount-content .form-row { margin-bottom: 18px; display: block; }
.woocommerce-MyAccount-content .form-row label {
  display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px;
  text-transform: uppercase; letter-spacing: 0.5px; color: #333;
}
.woocommerce-MyAccount-content .form-row input,
.woocommerce-MyAccount-content .form-row textarea,
.woocommerce-MyAccount-content .form-row select {
  width: 100%; padding: 10px 14px; border: 1px solid #e5e5e5; border-radius: 4px;
  font-size: 14px; background: #fff;
}
.woocommerce-MyAccount-content .form-row input:focus,
.woocommerce-MyAccount-content .form-row textarea:focus { outline: none; border-color: #999; }
.woocommerce-MyAccount-content button,
.woocommerce-MyAccount-content .woocommerce-button {
  padding: 12px 28px; background: #000; color: #fff; border: none;
  font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px;
  cursor: pointer; border-radius: 0; transition: opacity 0.3s;
}
.woocommerce-MyAccount-content button:hover { opacity: 0.8; }
.woocommerce-MyAccount-content .woocommerce-button--cancel { background: #666; }

/* Orders Table */
.woocommerce-orders-table {
  width: 100%; border-collapse: collapse; margin-bottom: 32px;
}
.woocommerce-orders-table th {
  padding: 12px 16px; font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.5px;
  border-bottom: 2px solid #e5e5e5; text-align: left; color: #666;
}
.woocommerce-orders-table td {
  padding: 16px; border-bottom: 1px solid #e5e5e5; font-size: 14px;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
  font-weight: 600; color: #000;
}
.woocommerce-orders-table .woocommerce-button {
  padding: 6px 14px; font-size: 12px;
}

/* Order Details */
.woocommerce-order-details { margin-top: 40px; }
.woocommerce-order-details h2 { font-size: 20px; font-weight: 600; margin-bottom: 20px; }
.woocommerce-table--order-details {
  width: 100%; border-collapse: collapse; margin-bottom: 24px;
}
.woocommerce-table--order-details th {
  padding: 12px 16px; font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.5px;
  border-bottom: 2px solid #e5e5e5; text-align: left; color: #666;
}
.woocommerce-table--order-details td {
  padding: 14px 16px; border-bottom: 1px solid #e5e5e5; font-size: 14px;
}
.woocommerce-table--order-details .product-name a { font-weight: 500; color: #000; }
.woocommerce-table--order-details tfoot td {
  font-weight: 600; color: #000;
}
.woocommerce-table--order-details tfoot tr:last-child td {
  font-size: 18px; border-bottom: none;
}
.woocommerce-customer-details { margin-top: 32px; }
.woocommerce-customer-details h2 { font-size: 20px; font-weight: 600; margin-bottom: 16px; }
.woocommerce-customer-details address {
  font-style: normal; font-size: 14px; line-height: 1.8; color: #666;
  padding: 20px 24px; border: 1px solid #e5e5e5; border-radius: 4px;
}

/* Downloads */
.woocommerce-MyAccount-downloads-file {
  font-weight: 600; color: #000;
}

/* Edit Account */
.woocommerce-EditAccountForm { max-width: 600px; }
.woocommerce-EditAccountForm fieldset { margin-top: 24px; }
.woocommerce-EditAccountForm legend { font-size: 16px; font-weight: 600; padding: 0 10px; text-transform: none; letter-spacing: 0; }
.woocommerce-EditAccountForm .clear { display: none; }

/* Password strength */
.woocommerce-password-strength { font-size: 13px; padding: 8px 12px; margin-top: 8px; }
.woocommerce-password-strength.strong { background: #c1e1b9; border: 1px solid #83c373; }
.woocommerce-password-strength.good { background: #ffe399; border: 1px solid #ffc733; }
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad { background: #f1adad; border: 1px solid #e35b5b; }
.woocommerce-password-hint { font-size: 12px; color: #999; margin-top: 4px; }

/* Login / Register forms */
.woocommerce-form-login,
.woocommerce-form-register {
  max-width: 440px; padding: 32px; border: 1px solid #e5e5e5; margin: 24px 0;
}
.woocommerce-form-login h2,
.woocommerce-form-register h2 {
  font-size: 22px; font-weight: 600; margin-bottom: 20px;
}
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row { margin-bottom: 18px; }
.woocommerce-form-login .form-row label,
.woocommerce-form-register .form-row label {
  display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px;
  text-transform: uppercase; letter-spacing: 0.5px;
}
.woocommerce-form-login .form-row input,
.woocommerce-form-register .form-row input {
  width: 100%; padding: 12px 14px; border: 1px solid #e5e5e5; font-size: 14px;
}
.woocommerce-form-login .form-row input:focus,
.woocommerce-form-register .form-row input:focus { outline: none; border-color: #999; }
.woocommerce-form-login button,
.woocommerce-form-register button {
  padding: 14px 32px; background: #000; color: #fff; border: none;
  font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px;
  cursor: pointer; transition: opacity 0.3s; width: 100%;
}
.woocommerce-form-login button:hover { opacity: 0.8; }
.woocommerce-form-login .woocommerce-form__label-for-checkbox {
  display: flex; align-items: center; gap: 8px; font-size: 14px; margin-bottom: 16px;
}
.woocommerce-form-login .woocommerce-form__label-for-checkbox input { width: auto; }
.woocommerce-form-login .lost_password { font-size: 13px; margin-top: 12px; }
.woocommerce-form-login .lost_password a { color: #666; text-decoration: underline; }

/* RESPONSIVE */
@media (max-width: 768px) {
  .woocommerce-cart-form table.shop_table, .woocommerce-cart-form thead, .woocommerce-cart-form tbody, .woocommerce-cart-form th, .woocommerce-cart-form td, .woocommerce-cart-form tr { display: block; }
  .woocommerce-cart-form thead { display: none; }
  .woocommerce-cart-form td { padding: 12px 8px; }
  .cart_totals { max-width: 100%; }
  .coupon { flex-direction: column; }
  .woocommerce-checkout .checkout { grid-template-columns: 1fr; }
  .woocommerce-MyAccount-navigation ul { flex-direction: column; border-bottom: none; }
  .woocommerce-MyAccount-navigation ul li a { border: 1px solid #e5e5e5; margin-bottom: -1px; padding: 12px 16px; }
  .woocommerce-MyAccount-navigation ul li.is-active a { border-color: #000; border-bottom-color: #000; }
  .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns: 1fr; }
  .woocommerce-form-login, .woocommerce-form-register { padding: 20px; }
}
