/* ==========================================================================
   MY ACCOUNT — Redesign 07/2026
   Figma source of truth: "💙 MY ACCOUNT — Logged In" (471:21724)
                          "💙 MY ACCOUNT — Logged Out" (471:21723)

   Typography standard updated 2026-07-08: 320px → 1920px, divisor 1600.
   Critical fix: all form inputs → 16px (iOS auto-zoom prevention).
   ========================================================================== */

/* ── fixed-header clearance ────────────────────────────────────────────────── */
@media (max-width: 1023px) {
  .login-page { padding-top: 64px; }
}
@media (min-width: 1024px) {
  .login-page { padding-top: 173px; }
}

/* ── zero legacy overrides ─────────────────────────────────────────────────── */
.login-page .login-page__header {
  position: static !important;
  left: auto !important;
  top: auto !important;
  padding-top: 0 !important;
  width: auto !important;
}
.login-page .woocommerce-MyAccount-navigation {
  padding-top: 0 !important;
  padding-left: 0 !important;
}
.login-page .woocommerce-MyAccount-content {
  padding-top: 0 !important;
}

/* ── side margins on mobile — 24px (not global 40px) ───────────────────────── */
@media (max-width: 1023px) {
  .woocommerce-account .container-general {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* ── page title — H1: 32px → 48px ──────────────────────────────────────────── */
.login-page:not(.login-page--logged) .ttl,
.login-page:not(.login-page--logged) .page-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400 !important;
  font-size: clamp(32px, calc(32px + 16 * ((100vw - 320px) / 1600)), 48px) !important;
  line-height: clamp(38px, calc(38px + 20 * ((100vw - 320px) / 1600)), 58px) !important;
  letter-spacing: 0 !important;
  color: #000000 !important;
  text-transform: uppercase;
  text-align: center;
  margin: 14px 0 clamp(36px, calc(36px + 17 * ((100vw - 390px) / 1050)), 53px) !important;
}

.login-page--logged .ttl,
.login-page--logged .page-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500 !important;
  font-size: 18px !important;
  line-height: 22px !important;
  letter-spacing: 0.07em !important;
  color: #0d0d0d !important;
  text-transform: uppercase;
  text-align: left;
  margin: 16px 0 16px !important;
}
@media (min-width: 1024px) {
  .login-page--logged .ttl,
  .login-page--logged .page-title {
    display: none !important;
  }
}

/* ===========================================================================
   LOGGED OUT — login / register
   =========================================================================== */

.ma-auth {
  width: min(calc(100% - 48px), 440px);
  margin: 0 auto;
}
.ma-auth__title  { display: none; }
.ma-auth__panel  { display: none; }
.ma-auth__panel.is-active { display: block; }

.login-page .ma-form {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}
.login-page .ma-form.woocommerce-form-login,
.login-page .ma-form.woocommerce-form-register {
  border: none !important;
  box-shadow: none !important;
}

.ma-field { margin-bottom: 22px; }
.login-page .ma-form .ma-field + .ma-field { margin-top: 13px; }
.login-page .ma-form.woocommerce-form-register {
  display: flex !important;
  flex-direction: column !important;
}
.login-page .ma-form.woocommerce-form-register .ma-field + .ma-field { margin-top: 18px; }

/* Field labels — 13px fixed */
.login-page .ma-form .ma-field__label {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: clamp(0px, calc(2.2 * ((100vw - 390px) / 1050)), 2.2px);
  text-transform: uppercase;
  color: #000000;
  margin: 0 0 11px;
}

/* Inputs — 16px FIXED (iOS zoom rule — do not lower) */
.login-page .ma-form .ma-field__input {
  width: 100% !important;
  max-width: none !important;
  border: none !important;
  border-bottom: 0.5px solid #d9d9d9 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 0 5px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  line-height: 20px !important;
  color: #0d0d0d !important;
  box-shadow: none !important;
}
/* Placeholder — #999999 mobile / #333636 desktop */
.ma-field__input::placeholder {
  color: #333636;
  opacity: 1;
}
@media (max-width: 1023px) {
  .ma-field__input::placeholder {
    color: #999999;
  }
}

.ma-field__hint {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: 9px;
  line-height: 11px;
  color: #333636;
  margin-top: 8px;
}
.ma-field__hint--password { color: #adadad; }

.ma-remember { display: none; }

/* Forgot password */
.ma-forgot {
  display: block;
  text-align: right;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 10px;
  line-height: 12px;
  color: #333636;
  text-decoration: none;
  margin-bottom: 24px;
}
@media (max-width: 1023px) {
  .ma-forgot { color: #000000; }
}

/* LOG IN button — 13px fixed */
.ma-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 33px;
  min-height: 44px;
  background: #000000;
  color: #ffffff;
  border: none;
  border-radius: 0;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: clamp(0px, calc(2.5 * ((100vw - 390px) / 1050)), 2.5px);
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity 0.2s;
}
.ma-btn:hover { opacity: 0.85; }

/* Cobalt button — logged-in CTAs — 13px fixed */
.btn_filled {
  background: #0b40b4 !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0.04em !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 33px;
  padding: 0 32px;
  text-transform: uppercase;
}
.btn_filled:hover { opacity: 0.85; }

/* Switch text — Secondary Body clamp */
.ma-switch {
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: clamp(14px, calc(14px + 2 * ((100vw - 320px) / 1600)), 16px);
  line-height: clamp(21px, calc(21px + 3 * ((100vw - 320px) / 1600)), 24px);
  color: #333636;
  margin-top: 22px;
}
@media (max-width: 1023px) {
  .ma-switch { color: #000000; }
}
.ma-switch__link {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: #0b40b4;
  text-decoration: underline;
  cursor: pointer;
}

/* ===========================================================================
   LOGIN ERROR STATE
   =========================================================================== */

.login-page .woocommerce-error {
  background: none !important;
  border: none !important;
  border-left: 2px solid #910813 !important;
  border-radius: 0 !important;
  padding: 7px 0 7px 14px !important;
  margin: 0 0 28px !important;
  list-style: none !important;
  box-shadow: none !important;
}

/* Error text — Secondary Body clamp, red */
.login-page .woocommerce-error li {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(14px, calc(14px + 2 * ((100vw - 320px) / 1600)), 16px) !important;
  line-height: clamp(21px, calc(21px + 3 * ((100vw - 320px) / 1600)), 24px) !important;
  color: #910813 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  background: none !important;
}

.login-page .woocommerce-error li::before,
.login-page .woocommerce-error::before {
  display: none !important;
  content: none !important;
}

/* ===========================================================================
   LOGGED IN — flex layout
   =========================================================================== */

.login-page--logged .woocommerce {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (min-width: 1024px) {
  .login-page--logged .woocommerce {
    flex-direction: row;
    align-items: stretch;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
}

/* ── Sidebar nav ─────────────────────────────────────────────────────────────── */
.login-page--logged .woocommerce-MyAccount-navigation {
  width: 100%;
  padding-right: 0;
  margin-right: 0;
  border-right: none;
  border-bottom: 0.5px solid #f0f0f0;
  margin-bottom: 24px;
  background: transparent;
}
@media (min-width: 1024px) {
  .login-page--logged .woocommerce-MyAccount-navigation {
    flex: 0 0 240px;
    width: 240px;
    padding: 44px 32px 32px 33px;
    margin-right: 48px;
    margin-bottom: 0;
    border-right: none;
    border-bottom: none;
    background: #f8f9fc;
    align-self: stretch;
    position: relative;
    overflow: visible;
  }
}

.login-page--logged .woocommerce-MyAccount-content {
  flex: 1;
  min-width: 0;
  width: 100%;
}

.login-page--logged .account__submenu { display: none; }

.login-page--logged ul.account__submenu-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  overflow-x: auto;
  height: 40px;
}
@media (min-width: 1024px) {
  .login-page--logged ul.account__submenu-list {
    display: block;
    height: auto;
    overflow-x: visible;
    margin-top: 27px;
  }
}

.login-page--logged .account-nav__label {
  display: none;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 16px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #0d0d0d;
  margin: 0;
  padding-bottom: 16px;
  border-bottom: 1px solid #e0e0e0;
}
@media (min-width: 1024px) {
  .login-page--logged .account-nav__label { display: block; }
}

.login-page--logged .woocommerce-MyAccount-navigation-link {
  border-bottom: none;
  flex: 0 0 auto;
  position: relative;
}
.login-page--logged .woocommerce-MyAccount-navigation-link a {
  display: block;
  padding: 0;
  color: #0d0d0d;
  text-decoration: none;
  white-space: nowrap;
}
@media (min-width: 1024px) {
  .login-page--logged .woocommerce-MyAccount-navigation-link a {
    padding: 9px 0;
    border-bottom: 0.5px solid #f0f0f0;
  }
}

/* Nav links — 16px fixed (nav links standard) */
.login-page--logged .woocommerce-MyAccount-navigation-link h5 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300 !important;
  font-size: 16px !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #0d0d0d !important;
  margin: 0 !important;
}
@media (max-width: 1023px) {
  .login-page--logged .woocommerce-MyAccount-navigation-link h5 {
    letter-spacing: 0.07em !important;
  }
}

.login-page--logged .woocommerce-MyAccount-navigation-link.is-active h5 {
  font-weight: 600 !important;
  color: #0b40b4 !important;
}

@media (min-width: 1024px) {
  .login-page--logged .woocommerce-MyAccount-navigation-link.is-active::before {
    content: '';
    position: absolute;
    left: -33px;
    top: 9px;
    width: 3px;
    height: 15px;
    background: #0b40b4;
  }
}

.login-page--logged .account-nav__active-indicator {
  display: block;
  height: 2px;
  background: #0b40b4;
  margin-top: 4px;
}
@media (min-width: 1024px) {
  .login-page--logged .account-nav__active-indicator { display: none; }
}

@media (min-width: 1024px) {
  .login-page--logged .woocommerce-MyAccount-navigation-link--customer-logout {
    border-top: 0.5px solid #f0f0f0;
    margin-top: 15px;
    padding-top: 4px;
  }
  .login-page--logged .woocommerce-MyAccount-navigation-link--customer-logout a {
    border-bottom: none;
  }
}

.login-page--logged .login-page .woocommerce-MyAccount-navigation-link--customer-logout h5,
.login-page--logged .woocommerce-MyAccount-navigation-link--customer-logout h5 {
  color: #0d0d0d !important;
  font-weight: 300 !important;
}

.woocommerce-MyAccount-navigation-link--giftcards { display: none !important; }

/* ===========================================================================
   DASHBOARD CONTENT
   =========================================================================== */

.ma-dash { padding-top: 0; }

/* Section label — 13px fixed */
.ma-dash__label {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0b40b4 !important;
  margin: 0 0 16px !important;
  padding-bottom: 8px;
  border-bottom: 0.5px solid #f0f0f0;
}

/* Welcome — Body: 16px → 20px */
.ma-dash__welcome {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: clamp(16px, calc(16px + 4 * ((100vw - 320px) / 1600)), 20px);
  line-height: clamp(24px, calc(24px + 6 * ((100vw - 320px) / 1600)), 30px);
  color: #0d0d0d;
  margin: 0 0 8px;
}

/* Desc — Secondary Body: 14px → 16px */
.ma-dash__desc {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: clamp(14px, calc(14px + 2 * ((100vw - 320px) / 1600)), 16px);
  line-height: clamp(21px, calc(21px + 3 * ((100vw - 320px) / 1600)), 24px);
  letter-spacing: 0;
  color: #0d0d0d;
  margin: 0;
  max-width: min(100%, 750px);
}

.ma-dash__section { margin-bottom: 0; }

/* ===========================================================================
   QUICK ACCESS CARDS (legacy — kept for compatibility)
   =========================================================================== */

.ma-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(12px, calc(12px + 12 * ((100vw - 320px) / 1120)), 24px);
}
@media (min-width: 600px) {
  .ma-cards { grid-template-columns: repeat(3, 1fr); }
}

.ma-card {
  display: flex;
  flex-direction: column;
  padding: clamp(16px, calc(16px + 4 * ((100vw - 320px) / 1120)), 20px);
  background: #f8f9fc;
  border: none;
  color: #0d0d0d;
  text-decoration: none;
  min-height: 90px;
}

/* Card label — 13px fixed */
.ma-card__label {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #0d0d0d;
  margin-bottom: 8px;
}

/* Card desc — Secondary Body clamp */
.ma-card__desc {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: clamp(14px, calc(14px + 2 * ((100vw - 320px) / 1600)), 16px);
  line-height: clamp(21px, calc(21px + 3 * ((100vw - 320px) / 1600)), 24px);
  letter-spacing: 0;
  color: #0d0d0d;
}

/* Card link — 13px fixed */
.ma-card__link {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  text-transform: uppercase;
  color: #0b40b4;
  margin-top: auto;
  padding-top: 12px;
  letter-spacing: 0;
}

/* ===========================================================================
   RECENT ORDERS TABLE (dashboard)
   =========================================================================== */

table.ma-orders {
  width: 100%;
  border-collapse: collapse;
}
table.ma-orders thead { display: none; }
@media (min-width: 1024px) {
  table.ma-orders thead { display: table-header-group; }
}

/* Table header — 13px fixed */
table.ma-orders thead th {
  text-align: left;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #666666;
  padding-bottom: 12px;
  border-bottom: 0.5px solid #f0f0f0;
}

table.ma-orders tbody tr {
  display: block;
  padding: 12px 0;
  border-bottom: 0.5px solid #f0f0f0;
}
@media (min-width: 1024px) {
  table.ma-orders tbody tr {
    display: table-row;
    padding: 0;
  }
}

/* Table body — 13px fixed */
table.ma-orders tbody td {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: 13px;
  line-height: 15px;
  color: #0d0d0d;
  padding: 2px 0;
  border-bottom: none;
  text-align: left;
}
@media (min-width: 1024px) {
  table.ma-orders tbody td {
    display: table-cell;
    padding: 12px 0;
    border-bottom: 0.5px solid #f0f0f0;
  }
}

/* Order number — 13px fixed */
table.ma-orders tbody tr td:first-child {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  color: #0d0d0d;
}

/* Status badge — 13px fixed */
.ma-status-badge {
  display: inline-block;
  background: #edf2fd;
  color: #0b40b4;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0;
  padding: 3px 8px;
  border-radius: 0;
  white-space: nowrap;
}

/* Orders view link — 13px fixed */
.ma-orders__view {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #0b40b4;
  text-decoration: none;
  white-space: nowrap;
}
.ma-orders__view:hover { text-decoration: underline; color: #0b40b4; }

/* Empty state — Secondary Body */
.ma-orders__empty {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: clamp(14px, calc(14px + 2 * ((100vw - 320px) / 1600)), 16px);
  line-height: clamp(21px, calc(21px + 3 * ((100vw - 320px) / 1600)), 24px);
  color: #0d0d0d;
}

/* ===========================================================================
   FULL ORDERS PAGE
   =========================================================================== */

.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
}
/* Table header — 13px fixed */
.woocommerce-orders-table thead th,
.woocommerce-orders-table thead th .nobr {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #666666 !important;
  padding-bottom: 12px;
  border-bottom: 0.5px solid #f0f0f0;
  text-align: left;
}
.woocommerce-orders-table tbody tr { border-bottom: 0.5px solid #f0f0f0; }
/* Table body — 13px fixed */
.woocommerce-orders-table tbody td {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: 13px;
  line-height: 15px;
  color: #0d0d0d;
  padding: 12px 0;
  border-bottom: none;
  vertical-align: middle;
}
/* Order number — 13px fixed */
.woocommerce-orders-table__cell-order-number a {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: #0d0d0d;
  text-decoration: none;
}
/* Status badge — 13px fixed */
.woocommerce-orders-table__cell-order-status mark,
.woocommerce-orders-table__cell-order-status .woocommerce-order-status {
  background: #edf2fd;
  color: #0b40b4;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  padding: 3px 8px;
  border-radius: 0;
  display: inline-block;
  text-transform: uppercase;
}
/* Action buttons — 13px fixed */
.btn_outline-table,
.woocommerce-orders-table__cell-order-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 33px;
  padding: 0 32px;
  background: #0b40b4;
  border: none;
  border-radius: 0;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ffffff !important;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.2s;
}
.btn_outline-table:hover,
.woocommerce-orders-table__cell-order-actions a:hover { opacity: 0.85; }
.woocommerce-pagination { margin-top: 24px; display: flex; gap: 12px; }

/* ===========================================================================
   PAYMENT METHODS PAGE
   =========================================================================== */

.woocommerce-MyAccount-paymentMethods { width: 100%; border-collapse: collapse; }
.woocommerce-MyAccount-paymentMethods thead th,
.woocommerce-MyAccount-paymentMethods thead th .nobr {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #666666 !important;
  padding-bottom: 12px;
  border-bottom: 0.5px solid #f0f0f0;
  text-align: left;
}
.woocommerce-MyAccount-paymentMethods tbody tr { border-bottom: 0.5px solid #f0f0f0; }
.woocommerce-MyAccount-paymentMethods tbody td {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: 13px;
  line-height: 15px;
  color: #0d0d0d;
  padding: 12px 0;
  border-bottom: none;
}
.woocommerce-MyAccount-paymentMethods .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 33px;
  padding: 0 32px;
  background: #0b40b4;
  border: none;
  border-radius: 0;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ffffff !important;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.2s;
}
.woocommerce-MyAccount-paymentMethods .button:hover { opacity: 0.85; }
.woocommerce-MyAccount-content > .button.btn_filled { margin-top: 24px; }

/* ===========================================================================
   EDIT ACCOUNT / ADDRESS FORMS
   =========================================================================== */

.woocommerce-account .woocommerce-form-row,
.woocommerce-account .form-row { margin-bottom: 20px; }

/* Edit account field labels — 13px fixed */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-form-row label,
.woocommerce-account .woocommerce-MyAccount-content .form-row label {
  display: block;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0b40b4;
  margin-bottom: 8px;
}

/* Edit account inputs — 16px FIXED (iOS zoom rule) */
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content select {
  width: 100% !important;
  border: none !important;
  border-bottom: 0.5px solid #d9d9d9 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 0 8px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 300 !important;
  font-size: 16px !important;
  line-height: 20px !important;
  color: #0d0d0d !important;
  box-shadow: none !important;
  outline: none;
}
.woocommerce-account .woocommerce-MyAccount-content input:focus {
  border-bottom-color: #0b40b4 !important;
  outline: none;
}

.woocommerce-account .woocommerce-MyAccount-content fieldset {
  border: none;
  border-top: 0.5px solid #f0f0f0;
  padding: 24px 0 0;
  margin: 24px 0 0;
}
/* Fieldset legend — 13px fixed */
.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0b40b4;
  padding: 0 8px 0 0;
}

.woocommerce-account .woocommerce-MyAccount-content .button-container { margin-top: 32px; }
/* Edit account submit button — 13px fixed */
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
.woocommerce-account .woocommerce-MyAccount-content .btn_outline-table.btn_filled {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 33px;
  min-height: 44px;
  padding: 0 32px;
  background: #0b40b4 !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  line-height: 15px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
  color: #ffffff !important;
  cursor: pointer;
  transition: opacity 0.2s;
}
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover { opacity: 0.85; }
.woocommerce-account .required { color: #0b40b4; font-weight: 500; }

/* WC messages — Secondary Body */
.woocommerce-message,
.woocommerce-info {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: clamp(14px, calc(14px + 2 * ((100vw - 320px) / 1600)), 16px);
  line-height: clamp(21px, calc(21px + 3 * ((100vw - 320px) / 1600)), 24px);
  border-top: 2px solid #0b40b4;
  padding: 12px 16px;
  margin-bottom: 24px;
  background: #f8f9fc;
  color: #0d0d0d;
  list-style: none;
}

/* ===========================================================================
   ADDRESSES PAGE
   =========================================================================== */

.woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 600px) {
  .woocommerce-Addresses { grid-template-columns: 1fr 1fr; }
}

.woocommerce-Address-title {
  margin-bottom: 16px;
  border-bottom: 0.5px solid #f0f0f0;
  padding-bottom: 8px;
}
.woocommerce-Address-title h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0b40b4;
  margin: 0;
}
/* Address edit link — 13px fixed */
.woocommerce-Address-title .edit {
  float: right;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #0b40b4;
  text-decoration: none;
}
/* Address body — Secondary Body clamp */
.woocommerce-Address address {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: clamp(14px, calc(14px + 2 * ((100vw - 320px) / 1600)), 16px);
  line-height: clamp(21px, calc(21px + 3 * ((100vw - 320px) / 1600)), 24px);
  color: #0d0d0d;
  font-style: normal;
}

/* ===========================================================================
   MOBILE NAV SCROLL AFFORDANCE
   =========================================================================== */

@media (max-width: 1023px) {
  .login-page--logged ul.account__submenu-list {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-right: 40px;
  }
  .login-page--logged ul.account__submenu-list::-webkit-scrollbar { display: none; }
  .login-page--logged .woocommerce-MyAccount-navigation {
    position: relative;
    overflow: hidden;
  }
  .login-page--logged .woocommerce-MyAccount-navigation::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: calc(100% - 0.5px);
    background: linear-gradient(to right, rgba(255,255,255,0), #ffffff);
    pointer-events: none;
    z-index: 1;
  }
}

/* ===========================================================================
   SECTION SEPARATOR HAIRLINE
   =========================================================================== */

hr.ma-sep {
  border: none;
  border-top: 1px solid #f0f0f0;
  margin: 28px 0 31px;
}

/* ===========================================================================
   QUICK ACCESS — new dashboard layout
   =========================================================================== */

.ma-qa {
  margin-top: 15px;
}

.ma-qa__item {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "title view"
    "desc  view";
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid #f0f0f0;
  text-decoration: none;
  color: inherit;
}
.ma-qa__item:first-child { border-top: 1px solid #f0f0f0; }

/* QA title — 13px fixed */
.ma-qa__title {
  grid-area: title;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #0d0d0d;
}

/* QA desc — Secondary Body clamp */
.ma-qa__desc {
  grid-area: desc;
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: clamp(14px, calc(14px + 2 * ((100vw - 320px) / 1600)), 16px);
  line-height: clamp(21px, calc(21px + 3 * ((100vw - 320px) / 1600)), 24px);
  letter-spacing: 0;
  color: #0d0d0d;
  margin-top: 5px;
}

/* QA view link — 13px fixed */
.ma-qa__view {
  grid-area: view;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0;
  color: #0b40b4;
  white-space: nowrap;
  padding-left: 20px;
  align-self: center;
  text-transform: uppercase;
}

@media (min-width: 1024px) {
  .ma-qa {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 15px;
  }
  .ma-qa__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-top: none !important;
    border-bottom: none;
    padding: 0;
  }
  .ma-qa__desc { margin-top: 10px; }
  .ma-qa__view {
    margin-top: 10px;
    padding-left: 0;
    align-self: auto;
  }
}

/* ===========================================================================
   MOBILE ORDER ROWS
   =========================================================================== */

@media (max-width: 1023px) {
  table.ma-orders tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "order  status"
      "date   total";
    padding: 14px 0;
    border-bottom: 1px solid #f0f0f0;
  }
  table.ma-orders tbody td {
    display: block;
    padding: 0;
    border: none;
    font-size: 13px;
    line-height: 15px;
  }
  table.ma-orders tbody td[data-col="order"] {
    grid-area: order;
    font-weight: 600;
    font-size: 13px;
    line-height: 15px;
    color: #0d0d0d;
  }
  table.ma-orders tbody td[data-col="date"] {
    grid-area: date;
    font-weight: 300;
    font-size: 13px;
    line-height: 15px;
    color: #0d0d0d;
    margin-top: 8px;
  }
  table.ma-orders tbody td[data-col="status"] {
    grid-area: status;
    text-align: right;
    align-self: start;
  }
  table.ma-orders tbody td[data-col="total"] {
    grid-area: total;
    font-weight: 500;
    font-size: 13px;
    line-height: 15px;
    color: #0d0d0d;
    text-align: right;
    margin-top: 8px;
    align-self: end;
  }
  table.ma-orders tbody td[data-col="actions"] {
    display: none;
  }
  table.ma-orders tbody tr td:first-child {
    font-size: 13px;
    line-height: 15px;
  }
}

/* ===========================================================================
   CREATE AN ACCOUNT PAGE
   Figma: MY ACCOUNT - Create an account
   Template: page-create-account.php
   =========================================================================== */

/* ── header clearance ──────────────────────────────────────────────────────── */
@media (max-width: 1023px) {
  .ca-page { padding-top: 64px; }
}
@media (min-width: 1024px) {
  .ca-page { padding-top: 173px; }
}

/* ── centred column — matches ma-auth width ────────────────────────────────── */
.ca-page__inner {
  width: min(calc(100% - 48px), 440px);
  margin: 0 auto;
  padding-bottom: 80px;
}

/* ── page title — same scale as logged-out My Account ─────────────────────── */
.ca-page__title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: clamp(32px, calc(32px + 16 * ((100vw - 320px) / 1600)), 48px);
  line-height: clamp(38px, calc(38px + 20 * ((100vw - 320px) / 1600)), 58px);
  letter-spacing: 0;
  color: #000000;
  text-transform: uppercase;
  text-align: center;
  margin: 14px 0 clamp(36px, calc(36px + 17 * ((100vw - 390px) / 1050)), 53px);
}

/* ── field labels inherit ma-field__label but need explicit scope ──────────── */
.ca-form .ma-field__label {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: clamp(0px, calc(2.2 * ((100vw - 390px) / 1050)), 2.2px);
  text-transform: uppercase;
  color: #000000;
  margin: 0 0 11px;
}

/* ── inputs — 16px fixed (iOS zoom) ───────────────────────────────────────── */
.ca-form .ma-field__input {
  width: 100% !important;
  max-width: none !important;
  border: none !important;
  border-bottom: 0.5px solid #d9d9d9 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 0 5px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  line-height: 20px !important;
  color: #0d0d0d !important;
  box-shadow: none !important;
}
.ca-form .ma-field__input::placeholder {
  color: #333636;
  opacity: 1;
}
@media (max-width: 1023px) {
  .ca-form .ma-field__input::placeholder { color: #999999; }
}
.ca-form .ma-field__input:focus {
  outline: none;
  border-bottom-color: #000000 !important;
}

/* ── field spacing ─────────────────────────────────────────────────────────── */
.ca-form {
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}
.ca-form .ma-field { margin-bottom: 0; }
.ca-form .ma-field + .ma-field { margin-top: 22px; }

/* ── password hint ─────────────────────────────────────────────────────────── */
.ca-form .ma-field__hint {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: 9px;
  line-height: 11px;
  color: #333636;
  margin-top: 8px;
}

/* ── CTA button — Signature 01 Black, content-hugging, centered ───────────── */
.ca-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: 33px !important;
  min-height: 44px !important;
  padding: 0 32px !important;
  background: #000000 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  line-height: 13px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: opacity 0.2s;
  align-self: center;
  margin-top: 32px;
}
.ca-btn:hover { opacity: 0.85; }

/* ── "Already have an account?" link ──────────────────────────────────────── */
.ca-page__login-link {
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: clamp(14px, calc(14px + 2 * ((100vw - 320px) / 1600)), 16px);
  line-height: clamp(21px, calc(21px + 3 * ((100vw - 320px) / 1600)), 24px);
  color: #333636;
  margin-top: 22px;
}
.ca-page__login-link a {
  color: #0b40b4;
  text-decoration: underline;
  font-weight: 300;
}

/* ── WC error notices on this page ────────────────────────────────────────── */
.ca-page .woocommerce-error {
  background: none !important;
  border: none !important;
  border-left: 2px solid #910813 !important;
  border-radius: 0 !important;
  padding: 7px 0 7px 14px !important;
  margin: 0 0 28px !important;
  list-style: none !important;
  box-shadow: none !important;
}
.ca-page .woocommerce-error li {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(14px, calc(14px + 2 * ((100vw - 320px) / 1600)), 16px) !important;
  line-height: clamp(21px, calc(21px + 3 * ((100vw - 320px) / 1600)), 24px) !important;
  color: #910813 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  background: none !important;
}
.ca-page .woocommerce-error li::before,
.ca-page .woocommerce-error::before {
  display: none !important;
  content: none !important;
}
