/* -------------------------------------------------
   WooCommerce My Account – Modern Styling
   Matches the Picture Frame Configurator design
-------------------------------------------------- */

:root {
  --pfc-primary-color: #233a5e;
  --pfc-primary-hover: #1a2f4c;
  --pfc-secondary-color: #eef4fb;
  --pfc-accent-color: #cfdff4;
  --pfc-bg-color: #f9fbfd;
  --pfc-panel-bg: #ffffff;
  --pfc-border-color: #d9e3f2;
  --pfc-text-color: #061444;
  --pfc-muted-text: #5a6e8c;
  --pfc-heading-color: #11287b;
}

/* Page wrapper padding – My Account, Cart, Checkout */
.woocommerce-account .site-content,
.woocommerce-account .content-area,
.woocommerce-account .entry-content,
.woocommerce-cart .site-content,
.woocommerce-cart .content-area,
.woocommerce-cart .entry-content,
.woocommerce-checkout .site-content,
.woocommerce-checkout .content-area,
.woocommerce-checkout .entry-content {
  padding-left: 2rem;
  padding-right: 2rem;
}

@media (max-width: 768px) {
  .woocommerce-account .site-content,
  .woocommerce-account .content-area,
  .woocommerce-account .entry-content,
  .woocommerce-cart .site-content,
  .woocommerce-cart .content-area,
  .woocommerce-cart .entry-content,
  .woocommerce-checkout .site-content,
  .woocommerce-checkout .content-area,
  .woocommerce-checkout .entry-content {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* Navigation sidebar */
.woocommerce-MyAccount-navigation {
  background: var(--pfc-panel-bg);
  border: 1px solid var(--pfc-border-color);
  border-radius: 12px;
  padding: 0.75rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  margin-bottom: 2rem;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-MyAccount-navigation-link {
  margin-bottom: 0.25rem;
}

.woocommerce-MyAccount-navigation-link a {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  color: var(--pfc-text-color);
  font-weight: 500;
  font-size: 0.9375rem;
  transition: all 0.15s ease;
  text-decoration: none;
}

.woocommerce-MyAccount-navigation-link a:hover {
  background: var(--pfc-secondary-color);
  color: var(--pfc-primary-color);
}

.woocommerce-MyAccount-navigation-link.is-active a {
  background: var(--pfc-primary-color);
  color: #fff;
  font-weight: 600;
}

.woocommerce-MyAccount-navigation-link.is-active a:hover {
  background: var(--pfc-primary-hover);
}

/* Content area */
.woocommerce-MyAccount-content {
  background: var(--pfc-panel-bg);
  border: 1px solid var(--pfc-border-color);
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

@media (max-width: 768px) {
  .woocommerce-MyAccount-content {
    padding: 1.25rem;
  }
}

/* Headings */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  color: var(--pfc-heading-color);
  font-weight: 700;
  margin-top: 0;
}

.woocommerce-MyAccount-content h2 {
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--pfc-border-color);
}

/* Tables */
.woocommerce-MyAccount-table {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--pfc-border-color);
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
}

.woocommerce-MyAccount-table thead {
  background: var(--pfc-secondary-color);
}

.woocommerce-MyAccount-table thead th {
  color: var(--pfc-heading-color);
  font-weight: 600;
  font-size: 0.875rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--pfc-border-color);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.woocommerce-MyAccount-table tbody td {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--pfc-border-color);
  color: var(--pfc-text-color);
  font-size: 0.9375rem;
}

.woocommerce-MyAccount-table tbody tr:last-child td {
  border-bottom: none;
}

.woocommerce-MyAccount-table tbody tr:hover {
  background: var(--pfc-secondary-color);
}

/* Buttons in tables */
.woocommerce-MyAccount-table .button,
.woocommerce-MyAccount-table .woocommerce-button {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-size: 0.8125rem;
  font-weight: 600;
  border: 1px solid var(--pfc-border-color);
  background: var(--pfc-panel-bg);
  color: var(--pfc-text-color);
  transition: all 0.15s ease;
  text-decoration: none;
}

.woocommerce-MyAccount-table .button:hover,
.woocommerce-MyAccount-table .woocommerce-button:hover {
  border-color: var(--pfc-primary-color);
  color: var(--pfc-primary-color);
  background: var(--pfc-secondary-color);
}

.woocommerce-MyAccount-table .button.view {
  background: var(--pfc-primary-color);
  color: #fff;
  border-color: var(--pfc-primary-color);
}

.woocommerce-MyAccount-table .button.view:hover {
  background: var(--pfc-primary-hover);
  color: #fff;
}

.woocommerce-MyAccount-table .button.delete {
  color: #dc2626;
  border-color: #fecaca;
}

.woocommerce-MyAccount-table .button.delete:hover {
  background: #fef2f2;
  border-color: #dc2626;
  color: #dc2626;
}

/* Dashboard welcome text */
.woocommerce-MyAccount-content p {
  color: var(--pfc-text-color);
  line-height: 1.7;
  font-size: 0.9375rem;
}

.woocommerce-MyAccount-content p a {
  color: var(--pfc-primary-color);
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s ease;
}

.woocommerce-MyAccount-content p a:hover {
  border-bottom-color: var(--pfc-primary-color);
}

/* Notices */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
  font-size: 0.9375rem;
}

.woocommerce-notices-wrapper .woocommerce-message {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #166534;
}

.woocommerce-notices-wrapper .woocommerce-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}

.woocommerce-notices-wrapper .woocommerce-info {
  background: var(--pfc-secondary-color);
  border: 1px solid var(--pfc-border-color);
  color: var(--pfc-text-color);
}

/* Forms */
.woocommerce-MyAccount-content form .form-row {
  margin-bottom: 1rem;
}

.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content input[type="url"],
.woocommerce-MyAccount-content input[type="number"],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
  padding: 0.75rem 1rem;
  border: 1px solid var(--pfc-border-color);
  border-radius: 8px;
  background: var(--pfc-panel-bg);
  color: var(--pfc-text-color);
  font-size: 0.9375rem;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}

.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus {
  outline: none;
  border-color: var(--pfc-primary-color);
  box-shadow: 0 0 0 3px rgba(35, 58, 94, 0.1);
}

.woocommerce-MyAccount-content button.button,
.woocommerce-MyAccount-content input[type="submit"].button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  background: var(--pfc-primary-color);
  color: #fff;
  border: 1px solid var(--pfc-primary-color);
  transition: all 0.15s ease;
  cursor: pointer;
}

.woocommerce-MyAccount-content button.button:hover,
.woocommerce-MyAccount-content input[type="submit"].button:hover {
  background: var(--pfc-primary-hover);
  border-color: var(--pfc-primary-hover);
}

/* Orders table specific */
.woocommerce-orders-table__header-order-number,
.woocommerce-orders-table__header-order-date,
.woocommerce-orders-table__header-order-status,
.woocommerce-orders-table__header-order-total,
.woocommerce-orders-table__header-order-actions {
  white-space: nowrap;
}

.woocommerce-orders-table__cell-order-number a {
  font-weight: 600;
  color: var(--pfc-primary-color) !important;
}

.woocommerce-orders-table__cell-order-status .woocommerce-order-status {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.8125rem;
  font-weight: 600;
}

/* Addresses page */
.woocommerce-MyAccount-content address {
  font-style: normal;
  line-height: 1.7;
  color: var(--pfc-text-color);
}

/* Payment methods */
.woocommerce-MyAccount-content .woocommerce-PaymentMethod {
  padding: 1rem;
  border: 1px solid var(--pfc-border-color);
  border-radius: 8px;
  margin-bottom: 0.75rem;
  background: var(--pfc-panel-bg);
}

.woocommerce-MyAccount-content .woocommerce-PaymentMethod:hover {
  border-color: var(--pfc-accent-color);
}

/* Download table */
.woocommerce-MyAccount-content .woocommerce-MyAccount-downloads-file {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--pfc-border-color);
}

.woocommerce-MyAccount-content
  .woocommerce-MyAccount-downloads-file:last-child {
  border-bottom: none;
}

/* Empty state messages */
.woocommerce-MyAccount-content p:last-child {
  color: var(--pfc-muted-text);
}

/* Responsive: stack navigation on mobile */
@media (max-width: 768px) {
  .woocommerce-MyAccount-navigation {
    margin-bottom: 1.5rem;
  }

  .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .woocommerce-MyAccount-navigation-link {
    margin-bottom: 0;
    flex: 1 1 auto;
  }

  .woocommerce-MyAccount-navigation-link a {
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
    justify-content: center;
  }

  .woocommerce-MyAccount-table {
    font-size: 0.875rem;
  }

  .woocommerce-MyAccount-table thead th,
  .woocommerce-MyAccount-table tbody td {
    padding: 0.75rem 0.5rem;
  }
}

.hentry
  .entry-content
  .woocommerce-MyAccount-navigation
  ul
  li.woocommerce-MyAccount-navigation-link
  a {
  text-decoration: none;
  padding: 0.875em 0;
  display: block;
  padding-left: 10px !important;
  padding-right: 10px !important;
}

/* -------------------------------------------------
   WooCommerce Cart Page Styling
-------------------------------------------------- */

/* Cart page wrapper */
.woocommerce-cart .entry-content {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  color: var(--pfc-text-color);
}

/* Cart table */
.woocommerce-cart .woocommerce-cart-form__cart-item-table {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--pfc-border-color);
  border-radius: 12px;
  overflow: hidden;
  background: var(--pfc-panel-bg);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.woocommerce-cart .woocommerce-cart-form__cart-item-table thead {
  background: var(--pfc-secondary-color);
}

.woocommerce-cart .woocommerce-cart-form__cart-item-table thead th {
  color: var(--pfc-heading-color);
  font-weight: 600;
  font-size: 0.875rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--pfc-border-color);
  text-transform: uppercase;
  letter-spacing: 0.025em;
  text-align: left;
}

.woocommerce-cart .woocommerce-cart-form__cart-item-table tbody td {
  padding: 1.25rem;
  border-bottom: 1px solid var(--pfc-border-color);
  color: var(--pfc-text-color);
  font-size: 0.9375rem;
  vertical-align: middle;
}

.woocommerce-cart .woocommerce-cart-form__cart-item-table tbody tr:last-child td {
  border-bottom: none;
}

/* Product name in cart */
.woocommerce-cart .product-name a {
  color: var(--pfc-text-color);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s ease;
}

.woocommerce-cart .product-name a:hover {
  color: var(--pfc-primary-color);
}

/* Product price */
.woocommerce-cart .product-price .woocommerce-Price-amount {
  font-weight: 600;
  color: var(--pfc-text-color);
}

/* Quantity input */
.woocommerce-cart .quantity .qty {
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--pfc-border-color);
  border-radius: 6px;
  background: var(--pfc-panel-bg);
  color: var(--pfc-text-color);
  font-size: 0.9375rem;
  width: 80px;
  text-align: center;
  transition: border-color 0.15s ease;
}

.woocommerce-cart .quantity .qty:focus {
  outline: none;
  border-color: var(--pfc-primary-color);
  box-shadow: 0 0 0 3px rgba(35, 58, 94, 0.1);
}

/* Remove button */
.woocommerce-cart .product-remove a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  color: #dc2626;
  border: 1px solid #fecaca;
  background: #fff;
  transition: all 0.15s ease;
  text-decoration: none;
  font-size: 1.25rem;
  line-height: 1;
}

.woocommerce-cart .product-remove a:hover {
  background: #fef2f2;
  border-color: #dc2626;
  color: #dc2626;
}

/* Cart collaterals (totals section) */
.woocommerce-cart .cart-collaterals {
  margin-top: 2rem;
}

.woocommerce-cart .cart_totals {
  background: var(--pfc-panel-bg);
  border: 1px solid var(--pfc-border-color);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.woocommerce-cart .cart_totals h2 {
  color: var(--pfc-heading-color);
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 1.25rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--pfc-border-color);
}

.woocommerce-cart .cart_totals table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-cart .cart_totals th {
  text-align: left;
  padding: 0.75rem 0;
  color: var(--pfc-text-color);
  font-weight: 500;
  font-size: 0.9375rem;
}

.woocommerce-cart .cart_totals td {
  text-align: right;
  padding: 0.75rem 0;
  color: var(--pfc-text-color);
  font-weight: 600;
  font-size: 0.9375rem;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  padding-top: 1rem;
  border-top: 1px solid var(--pfc-border-color);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--pfc-heading-color);
}

.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
  color: var(--pfc-primary-color);
}

/* Coupon form */
.woocommerce-cart .coupon {
  margin-bottom: 1.5rem;
}

.woocommerce-cart .coupon label {
  display: none;
}

.woocommerce-cart .coupon input[type="text"] {
  padding: 0.75rem 1rem;
  border: 1px solid var(--pfc-border-color);
  border-radius: 8px;
  background: var(--pfc-panel-bg);
  color: var(--pfc-text-color);
  font-size: 0.9375rem;
  width: 200px;
  transition: border-color 0.15s ease;
}

.woocommerce-cart .coupon input[type="text"]:focus {
  outline: none;
  border-color: var(--pfc-primary-color);
  box-shadow: 0 0 0 3px rgba(35, 58, 94, 0.1);
}

.woocommerce-cart .coupon button.button {
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  background: var(--pfc-panel-bg);
  color: var(--pfc-primary-color);
  border: 1px solid var(--pfc-primary-color);
  transition: all 0.15s ease;
  cursor: pointer;
  margin-left: 0.5rem;
}

.woocommerce-cart .coupon button.button:hover {
  background: var(--pfc-primary-color);
  color: #fff;
}

/* Update cart button */
.woocommerce-cart button[name="update_cart"] {
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  background: var(--pfc-panel-bg);
  color: var(--pfc-primary-color);
  border: 1px solid var(--pfc-primary-color);
  transition: all 0.15s ease;
  cursor: pointer;
}

.woocommerce-cart button[name="update_cart"]:hover {
  background: var(--pfc-primary-color);
  color: #fff;
}

/* Checkout button */
.woocommerce-cart .checkout-button {
  display: block;
  width: 100%;
  padding: 1rem 1.5rem;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  background: var(--pfc-primary-color);
  color: #fff;
  border: 1px solid var(--pfc-primary-color);
  transition: all 0.15s ease;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  margin-top: 1rem;
}

.woocommerce-cart .checkout-button:hover {
  background: var(--pfc-primary-hover);
  border-color: var(--pfc-primary-hover);
}

/* Shipping calculator */
.woocommerce-cart .shipping-calculator-form {
  background: var(--pfc-panel-bg);
  border: 1px solid var(--pfc-border-color);
  border-radius: 8px;
  padding: 1rem;
  margin-top: 1rem;
}

.woocommerce-cart .shipping-calculator-form .form-row {
  margin-bottom: 1rem;
}

.woocommerce-cart .shipping-calculator-form label {
  display: block;
  color: var(--pfc-text-color);
  font-weight: 500;
  font-size: 0.9375rem;
  margin-bottom: 0.5rem;
}

.woocommerce-cart .shipping-calculator-form select,
.woocommerce-cart .shipping-calculator-form input[type="text"] {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid var(--pfc-border-color);
  border-radius: 8px;
  background: var(--pfc-panel-bg);
  color: var(--pfc-text-color);
  font-size: 0.9375rem;
  transition: border-color 0.15s ease;
}

.woocommerce-cart .shipping-calculator-form select:focus,
.woocommerce-cart .shipping-calculator-form input[type="text"]:focus {
  outline: none;
  border-color: var(--pfc-primary-color);
  box-shadow: 0 0 0 3px rgba(35, 58, 94, 0.1);
}

.woocommerce-cart .shipping-calculator-form button.button {
  width: 100%;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  background: var(--pfc-primary-color);
  color: #fff;
  border: 1px solid var(--pfc-primary-color);
  transition: all 0.15s ease;
  cursor: pointer;
}

.woocommerce-cart .shipping-calculator-form button.button:hover {
  background: var(--pfc-primary-hover);
  border-color: var(--pfc-primary-hover);
}

/* Empty cart message */
.woocommerce-cart .cart-empty {
  background: var(--pfc-panel-bg);
  border: 1px solid var(--pfc-border-color);
  border-radius: 12px;
  padding: 3rem 2rem;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.woocommerce-cart .cart-empty p {
  color: var(--pfc-muted-text);
  font-size: 1.125rem;
  margin: 0 0 1.5rem 0;
}

.woocommerce-cart .cart-empty .return-to-shop a {
  display: inline-block;
  padding: 0.75rem 2rem;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  background: var(--pfc-primary-color);
  color: #fff;
  text-decoration: none;
  transition: all 0.15s ease;
}

.woocommerce-cart .cart-empty .return-to-shop a:hover {
  background: var(--pfc-primary-hover);
}

/* Mobile responsive cart */
@media (max-width: 768px) {
  .woocommerce-cart .woocommerce-cart-form__cart-item-table thead {
    display: none;
  }
  
  .woocommerce-cart .woocommerce-cart-form__cart-item-table tbody tr {
    display: block;
    margin-bottom: 1rem;
    border: 1px solid var(--pfc-border-color);
    border-radius: 8px;
    padding: 1rem;
  }
  
  .woocommerce-cart .woocommerce-cart-form__cart-item-table tbody td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--pfc-border-color);
  }
  
  .woocommerce-cart .woocommerce-cart-form__cart-item-table tbody td:last-child {
    border-bottom: none;
  }
  
  .woocommerce-cart .woocommerce-cart-form__cart-item-table tbody td::before {
    content: attr(data-title);
    font-weight: 600;
    color: var(--pfc-heading-color);
    font-size: 0.875rem;
  }
  
  .woocommerce-cart .coupon input[type="text"] {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  
  .woocommerce-cart .coupon button.button {
    width: 100%;
    margin-left: 0;
  }
  
  .woocommerce-cart .cart_totals {
    padding: 1.25rem;
  }
}
