/* ============================================================
   MY ACCOUNT PAGE
   Targets WooCommerce's classic [woocommerce_my_account]
   shortcode markup — there is no block-based alternative for
   this page (confirmed via WooCommerce's own documentation),
   so these class names are stable long-term.
   ============================================================ */

.woocommerce-account .entry-content,
.woocommerce-account main#main-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 64px 90px;
}

.woocommerce-account h1.entry-title,
.woocommerce-account .page-title {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  font-size: clamp(32px, 4vw, 46px);
  margin-bottom: 36px;
}

/* ---------- layout: nav + content side by side ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
}

.woocommerce-account .woocommerce {
  display: grid !important;
  grid-template-columns: 240px 1fr !important;
  gap: 50px !important;
  align-items: start !important;
  float: none !important;
}
.woocommerce-MyAccount-navigation {
  float: none !important;
  width: auto !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
}
.woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
}

/* ---------- account navigation sidebar ---------- */
.woocommerce-MyAccount-navigation {
  border: 1px solid var(--line);
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-MyAccount-navigation-link {
  border-bottom: 1px solid var(--line);
}
.woocommerce-MyAccount-navigation-link:last-child { border-bottom: none; }
.woocommerce-MyAccount-navigation-link a {
  display: block;
  padding: 16px 20px;
  font-size: 13.5px;
  letter-spacing: 0.02em;
  color: var(--ink);
  text-decoration: none;
  transition: background 0.2s, color 0.2s, padding-left 0.2s;
}
.woocommerce-MyAccount-navigation-link a:hover {
  background: var(--ivory-deep);
  color: var(--maroon);
  padding-left: 24px;
}
.woocommerce-MyAccount-navigation-link.is-active a {
  background: var(--ink);
  color: var(--ivory);
  font-weight: 500;
}
.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: var(--maroon-deep);
}

/* ---------- account content area ---------- */
.woocommerce-MyAccount-content {
  min-width: 0;
}
.woocommerce-MyAccount-content > p {
  font-size: 15px;
  line-height: 1.8;
  color: rgba(26,20,16,0.72);
  font-weight: 300;
  margin-bottom: 20px;
}
.woocommerce-MyAccount-content a {
  color: var(--maroon);
}
.woocommerce-MyAccount-content mark {
  background: none;
  color: var(--ink);
  font-weight: 500;
}

/* ---------- dashboard: address boxes ---------- */
.woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
}
.woocommerce-Address {
  border: 1px solid var(--line);
  padding: 24px;
}
.woocommerce-Address-title {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 16px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--line) !important;
  float: none !important;
  clear: both !important;
  gap: 12px;
}
.woocommerce-Address-title h2 {
  float: none !important;
  margin: 0 !important;
}
.woocommerce-Address-title a {
  float: none !important;
  flex-shrink: 0;
  white-space: nowrap;
}
.woocommerce-Address-title h2 {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  font-size: 18px;
  margin: 0;
}
.woocommerce-Address-title a {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
  border-bottom: 1px solid var(--ink);
  padding-bottom: 2px;
  text-decoration: none;
}
.woocommerce-Address-title a:hover { color: var(--maroon); border-color: var(--maroon); }
.woocommerce-Address address {
  font-style: normal;
  font-size: 14px;
  line-height: 1.8;
  color: rgba(26,20,16,0.7);
}

/* ---------- orders table ---------- */
table.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
}
table.woocommerce-orders-table thead th {
  text-align: left;
  font-size: 11.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(26,20,16,0.5);
  padding: 0 12px 14px 0;
  border-bottom: 1px solid var(--line);
  font-weight: 500;
}
table.woocommerce-orders-table tbody td {
  padding: 18px 12px 18px 0;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}
.woocommerce-orders-table__cell-order-number a {
  color: var(--ink);
  font-family: 'Fraunces', serif;
  font-style: italic;
  text-decoration: none;
}
.woocommerce-orders-table__cell-order-number a:hover { color: var(--maroon); }
.woocommerce-orders-table__cell-order-status mark {
  background: var(--ivory-deep);
  color: var(--ink);
  padding: 4px 12px;
  font-size: 11.5px;
  letter-spacing: 0.04em;
  text-transform: capitalize;
  font-weight: 400;
}
.woocommerce-orders-table__cell-order-actions .button,
.woocommerce-orders-table__cell-order-actions a.button {
  background: none;
  border: 1px solid var(--line);
  color: var(--ink);
  padding: 8px 16px;
  font-size: 11.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-block;
  transition: border-color 0.2s, color 0.2s;
}
.woocommerce-orders-table__cell-order-actions .button:hover {
  border-color: var(--maroon);
  color: var(--maroon);
}

/* ---------- order details page ---------- */
.woocommerce-order-details,
.woocommerce-customer-details {
  margin-top: 30px;
}
.woocommerce-order-details h2,
.woocommerce-customer-details h2 {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  font-size: 20px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
table.woocommerce-table--order-details {
  width: 100%;
  margin-bottom: 20px;
}
table.woocommerce-table--order-details th,
table.woocommerce-table--order-details td {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
  text-align: left;
}
table.woocommerce-table--order-details tfoot th,
table.woocommerce-table--order-details tfoot td {
  font-family: 'Fraunces', serif;
}

/* ---------- order overview (thank-you page) ---------- */
.woocommerce-order-overview {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 30px;
  padding: 0;
  border: 1px solid var(--line);
}
.woocommerce-order-overview li {
  flex: 1 1 auto;
  padding: 18px 22px;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(26,20,16,0.5);
  border-right: 1px solid var(--line);
}
.woocommerce-order-overview li:last-child { border-right: none; }
.woocommerce-order-overview li strong {
  display: block;
  font-family: 'Fraunces', serif;
  font-size: 16px;
  text-transform: none;
  letter-spacing: normal;
  color: var(--ink);
  margin-top: 4px;
}

/* success/notice banner on the thank-you page */
.woocommerce-notice, .woocommerce-thankyou-order-received {
  background: var(--ivory-deep);
  border-left: 3px solid var(--maroon);
  padding: 16px 20px;
  font-size: 14.5px;
  margin-bottom: 24px;
  list-style: none;
}

/* ---------- customer details / address columns (thank-you + view-order) ---------- */
.woocommerce-customer-details .woocommerce-columns,
.woocommerce-customer-details .col2-set.addresses {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 40px !important;
  float: none !important;
  width: auto !important;
}
.woocommerce-column--billing-address,
.woocommerce-column--1.col-1 {
  grid-column: 1 !important;
  grid-row: 1 !important;
  float: none !important;
  width: auto !important;
}
.woocommerce-column--shipping-address,
.woocommerce-column--2.col-2 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  float: none !important;
  width: auto !important;
}
.woocommerce-column__title {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  font-size: 17px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.woocommerce-customer-details address {
  font-style: normal;
  font-size: 14px;
  line-height: 1.85;
  color: rgba(26,20,16,0.7);
}
.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
  font-size: 13.5px;
  color: rgba(26,20,16,0.55);
  margin-top: 8px;
}

/* "Order again" button on view-order page */
.woocommerce a.button.pay,
.order-again .button {
  background: var(--ink) !important;
  color: var(--ivory) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 14px 28px !important;
  font-size: 12.5px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-block;
  transition: background 0.3s !important;
}
.woocommerce a.button.pay:hover,
.order-again .button:hover {
  background: var(--maroon) !important;
}

@media (max-width: 700px) {
  .woocommerce-order-overview {
    flex-direction: column;
  }
  .woocommerce-order-overview li {
    border-right: none;
    border-bottom: 1px solid var(--line);
  }
  .woocommerce-order-overview li:last-child { border-bottom: none; }
  .woocommerce-customer-details .woocommerce-columns,
  .woocommerce-customer-details .col2-set.addresses {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .woocommerce-column--billing-address,
  .woocommerce-column--1.col-1 { grid-row: 1 !important; }
  .woocommerce-column--shipping-address,
  .woocommerce-column--2.col-2 { grid-row: 2 !important; grid-column: 1 !important; }
}

/* ---------- forms: account details, addresses, login/register ---------- */
.woocommerce-account form .form-row { margin-bottom: 18px; }
.woocommerce-account form label {
  display: block;
  font-size: 12.5px;
  letter-spacing: 0.04em;
  color: rgba(26,20,16,0.6);
  margin-bottom: 6px;
}
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"],
.woocommerce-account form input[type="tel"],
.woocommerce-account form select {
  width: 100%;
  padding: 13px 16px;
  border: 1px solid var(--line);
  background: var(--ivory);
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  color: var(--ink);
}
.woocommerce-account form input:focus,
.woocommerce-account form select:focus {
  border-color: var(--maroon);
  outline: none;
}
.woocommerce-account .button,
.woocommerce-account button[type="submit"] {
  background: var(--ink) !important;
  color: var(--ivory) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 15px 30px !important;
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  font-family: 'Jost', sans-serif !important;
  transition: background 0.3s !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  text-align: center !important;
  width: 100% !important;
  display: block !important;
  height: auto !important;
  line-height: 1.4 !important;
}
.woocommerce-account .button:hover,
.woocommerce-account button[type="submit"]:hover {
  background: var(--maroon) !important;
}

/* login/register heading + privacy text polish */
.woocommerce-account .woocommerce-form-login h2,
#customer_login .u-column1 > h2,
#customer_login .u-column2 > h2 {
  font-family: 'Fraunces', serif !important;
  font-weight: 400 !important;
  font-style: italic;
  font-size: 15px !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--maroon-deep) !important;
  margin-bottom: 18px !important;
}
#customer_login > h2 {
  font-family: 'Fraunces', serif !important;
  font-weight: 400 !important;
  font-size: 30px !important;
  color: var(--ink) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  margin-bottom: 24px !important;
}
.woocommerce-account .woocommerce-privacy-policy-text {
  font-size: 12px !important;
  line-height: 1.65 !important;
  color: rgba(26,20,16,0.5) !important;
  margin-bottom: 20px !important;
}
.woocommerce-account .woocommerce-privacy-policy-text a {
  color: rgba(26,20,16,0.6) !important;
  text-decoration: underline;
}

/* login / register split */
#customer_login.u-columns.col2-set,
.woocommerce-account .u-columns.col2-set {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 50px !important;
  float: none !important;
  width: auto !important;
  clear: both !important;
}
#customer_login .u-column1,
#customer_login .col-1,
.woocommerce-account .u-column1,
.woocommerce-account .col-1 {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
}
#customer_login .u-column2,
#customer_login .col-2,
.woocommerce-account .u-column2,
.woocommerce-account .col-2 {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  border: 1px solid var(--line) !important;
  padding: 28px !important;
  display: block;
}
.woocommerce-account .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2 {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  font-size: 20px;
  margin-bottom: 20px;
}
.woocommerce-account .woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  margin: 12px 0 18px;
}
.woocommerce-account .woocommerce-LostPassword {
  font-size: 13px;
  margin-top: 14px;
}
.woocommerce-account .woocommerce-LostPassword a { color: var(--maroon); }

/* ---------- mobile ---------- */
@media (max-width: 900px) {
  .woocommerce-account .entry-content,
  .woocommerce-account main#main-content {
    padding: 30px 20px 60px;
  }
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .woocommerce-MyAccount-navigation,
  .woocommerce-MyAccount-content {
    grid-column: 1 !important;
  }
  .woocommerce-MyAccount-navigation { grid-row: 1 !important; }
  .woocommerce-MyAccount-content { grid-row: 2 !important; }
  .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
  }
  .woocommerce-MyAccount-navigation-link {
    border-bottom: none;
    border-right: 1px solid var(--line);
    flex: 1 1 auto;
  }
  .woocommerce-MyAccount-navigation-link a { padding: 12px 14px; text-align: center; }
  .woocommerce-Addresses { grid-template-columns: 1fr; }
  #customer_login.u-columns.col2-set,
  .woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr !important; }
  #customer_login .u-column1, #customer_login .col-1,
  .woocommerce-account .u-column1, .woocommerce-account .col-1 { grid-column: 1 !important; grid-row: 1 !important; }
  #customer_login .u-column2, #customer_login .col-2,
  .woocommerce-account .u-column2, .woocommerce-account .col-2 { grid-column: 1 !important; grid-row: 2 !important; }
  table.woocommerce-orders-table thead { display: none; }
  table.woocommerce-orders-table tbody tr {
    display: block;
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
  }
  table.woocommerce-orders-table tbody td {
    display: flex;
    justify-content: space-between;
    border-bottom: none;
    padding: 4px 0;
  }
  table.woocommerce-orders-table tbody td::before {
    content: attr(data-title);
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(26,20,16,0.5);
  }
}
