/* 1R ReStart — WooCommerce My Account.
 * One scoped layout for signed-in accounts; native WooCommerce markup, form
 * submission, notices and extension hooks are preserved. No global WC overrides.
 */

/* Foundation */
body.woocommerce-account .entry-content > .woocommerce,
body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
  box-sizing:border-box;
  width:100%;
  max-width:none;
  min-width:0;
}
body.woocommerce-account .woocommerce .woocommerce-error,
body.woocommerce-account .woocommerce .woocommerce-message,
body.woocommerce-account .woocommerce .woocommerce-info {
  box-sizing:border-box;
  width:100%;
  margin:0 0 18px;
  text-align:left;
}

/* WooCommerce attaches clearfix ::before/::after (display:table) to .woocommerce.
 * In CSS Grid these generated boxes become grid items, shifting the navigation
 * into column 2 and the actual content into row 2. Remove them ONLY from the
 * account grid, and explicitly position its two native regions. */
body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
  display:grid;
  grid-template-columns:clamp(220px,22%,260px) minmax(0,1fr);
  gap:clamp(18px,2.3vw,30px);
  align-items:start;
}
body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::before,
body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::after {
  content:none;
  display:none;
}
body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation {
  grid-column:1;
  grid-row:1;
}
body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {
  grid-column:2;
  grid-row:1;
}
body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > :is(.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content) {
  box-sizing:border-box;
  float:none;
  clear:none;
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  text-align:left;
}

/* Account navigation, always in the LEFT column. */
body.woocommerce-account .woocommerce-MyAccount-navigation {
  padding:10px;
  border:1px solid var(--r1-border,#e5e7eb);
  border-radius:var(--r1-surface-radius,16px);
  background:var(--r1-surface,#fff);
  box-shadow:0 3px 18px rgba(15,23,42,.035);
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:0;
  margin:0;
  list-style:none;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul::before,
body.woocommerce-account .woocommerce-MyAccount-navigation ul::after {content:none;display:none;}
body.woocommerce-account .woocommerce-MyAccount-navigation li {
  display:block;
  flex:none;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  list-style:none;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li + li {border:0;}
body.woocommerce-account .woocommerce-MyAccount-navigation a {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  width:100%;
  min-height:44px;
  box-sizing:border-box;
  padding:10px 13px;
  margin:0;
  border:0;
  border-radius:var(--r1-control-radius,8px);
  background:transparent;
  color:var(--r1-text,#111827);
  font-size:14px;
  line-height:1.4;
  font-weight:500;
  text-align:left;
  text-decoration:none;
  white-space:normal;
  transition:color .16s ease,background-color .16s ease;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  color:var(--r1-primary,#0a95ae);
  background:color-mix(in srgb,var(--r1-primary,#0a95ae) 7%,var(--r1-surface,#fff));
}
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active > a,
body.woocommerce-account .woocommerce-MyAccount-navigation a[aria-current="page"] {
  color:var(--r1-primary,#0a95ae);
  background:color-mix(in srgb,var(--r1-primary,#0a95ae) 10%,var(--r1-surface,#fff));
  font-weight:600;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible,
body.woocommerce-account .woocommerce-MyAccount-content a:focus-visible,
body.woocommerce-account .woocommerce form button:focus-visible {
  outline:2px solid var(--r1-primary,#0a95ae);
  outline-offset:2px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top:5px !important;
  padding-top:6px !important;
  border-top:1px solid var(--r1-border,#e5e7eb) !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout > a {color:var(--r1-muted,#6b7280);}

/* Primary working area: always on the RIGHT, without floated child panels. */
body.woocommerce-account .woocommerce-MyAccount-content {
  padding:clamp(20px,2.4vw,32px);
  border:1px solid var(--r1-border,#e5e7eb);
  border-radius:var(--r1-surface-radius,16px);
  background:var(--r1-surface,#fff);
  box-shadow:0 3px 18px rgba(15,23,42,.035);
  color:var(--r1-text,#111827);
  overflow-wrap:break-word;
}
body.woocommerce-account .woocommerce-MyAccount-content > :first-child {margin-top:0;}
body.woocommerce-account .woocommerce-MyAccount-content > :last-child {margin-bottom:0;}
body.woocommerce-account .woocommerce-MyAccount-content :is(h2,h3) {
  margin-top:0;
  line-height:1.3;
  color:var(--r1-text,#111827);
}
body.woocommerce-account .woocommerce-MyAccount-content h2 {font-size:clamp(20px,2.1vw,26px);}
body.woocommerce-account .woocommerce-MyAccount-content h3 {font-size:18px;}
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.r1-account-card):not(.r1-account-order-link) {
  color:var(--r1-primary,#0a95ae);
  text-underline-offset:3px;
}
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover {color:var(--r1-hover,#087f95);}

/* Purpose-built WooCommerce dashboard template: cards + recent orders. */
.r1-account-overview {display:grid;gap:28px;}
.r1-account-welcome {display:grid;gap:9px;}
.r1-account-welcome__eyebrow {
  margin:0;
  color:var(--r1-primary,#0a95ae);
  font-size:12px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.065em;
  text-transform:uppercase;
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-welcome h2 {
  margin:0;
  font-size:clamp(22px,2.3vw,30px);
  font-weight:600;
  line-height:1.25;
}
.r1-account-welcome > p:last-child {margin:0;color:var(--r1-muted,#6b7280);font-size:14px;line-height:1.6;}
.r1-account-section {display:grid;gap:14px;min-width:0;}
.r1-account-section__header {display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-section__header h3 {margin:0;font-size:17px;font-weight:600;}
.r1-account-section__header > a {
  color:var(--r1-primary,#0a95ae);
  font-size:13px;
  font-weight:500;
  white-space:nowrap;
  text-decoration:none;
}
.r1-account-section__header > a:hover {color:var(--r1-hover,#087f95);}
.r1-account-cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
body.woocommerce-account .woocommerce-MyAccount-content a.r1-account-card {
  display:flex;
  align-items:flex-start;
  gap:13px;
  min-width:0;
  min-height:107px;
  box-sizing:border-box;
  padding:18px;
  border:1px solid var(--r1-border,#e5e7eb);
  border-radius:var(--r1-card-radius,12px);
  background:var(--r1-surface,#fff);
  color:var(--r1-text,#111827);
  text-decoration:none;
  transition:border-color .16s ease,background-color .16s ease;
}
body.woocommerce-account .woocommerce-MyAccount-content a.r1-account-card:hover {
  border-color:color-mix(in srgb,var(--r1-primary,#0a95ae) 36%,var(--r1-border,#e5e7eb));
  background:color-mix(in srgb,var(--r1-primary,#0a95ae) 3%,var(--r1-surface,#fff));
}
.r1-account-card__icon {
  display:grid;
  place-items:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  border-radius:var(--r1-control-radius,8px);
  color:var(--r1-primary,#0a95ae);
  background:color-mix(in srgb,var(--r1-primary,#0a95ae) 9%,var(--r1-surface,#fff));
}
.r1-account-card__icon svg {display:block;width:20px;height:20px;}
.r1-account-card__copy {display:grid;gap:4px;min-width:0;flex:1;}
.r1-account-card__copy strong {font-size:15px;font-weight:600;line-height:1.4;}
.r1-account-card__copy small {font-size:13px;line-height:1.5;color:var(--r1-muted,#6b7280);font-weight:400;}
.r1-account-orders {margin:0;padding:0;list-style:none;border-top:1px solid var(--r1-border,#e5e7eb);}
.r1-account-orders li {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 0;
  border-top:1px solid var(--r1-border,#e5e7eb);
}
.r1-account-orders li:first-child {border-top:0;}
.r1-account-order-details {display:grid;gap:8px;min-width:0;}
.r1-account-order-details strong {font-size:16px;line-height:1.35;}
.r1-account-order-details small {display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--r1-muted,#6b7280);line-height:1.4;}
.r1-account-order-status {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  background:color-mix(in srgb,var(--r1-primary,#0a95ae) 8%,var(--r1-surface,#fff));
  color:var(--r1-primary,#0a95ae);
  font-size:12px;
  font-weight:600;
  line-height:1.2;
}
.r1-account-order-meta {display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;min-width:0;}
.r1-account-order-total {font-weight:600;font-size:18px;white-space:nowrap;color:var(--r1-text,#111827);}
body.woocommerce-account .woocommerce-MyAccount-content a.r1-account-order-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border:1px solid var(--r1-border,#e5e7eb);
  border-radius:999px;
  background:color-mix(in srgb,var(--r1-primary,#0a95ae) 4%,var(--r1-surface,#fff));
  color:var(--r1-text,#111827);
  font-size:13px;
  font-weight:500;
  line-height:1.2;
  text-decoration:none;
  transition:border-color .16s ease,background-color .16s ease,color .16s ease;
}
body.woocommerce-account .woocommerce-MyAccount-content a.r1-account-order-link:hover {
  color:var(--r1-primary,#0a95ae);
  border-color:color-mix(in srgb,var(--r1-primary,#0a95ae) 30%,var(--r1-border,#e5e7eb));
  background:color-mix(in srgb,var(--r1-primary,#0a95ae) 8%,var(--r1-surface,#fff));
}
.r1-account-empty {padding:20px;border:1px dashed var(--r1-border,#e5e7eb);border-radius:var(--r1-card-radius,12px);}
.r1-account-empty p {margin:0;color:var(--r1-muted,#6b7280);font-size:14px;}

/* WooCommerce endpoint tables: orders, downloads, view-order. */
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table,
body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table {
  width:100%;
  max-width:100%;
  margin:0 0 20px;
  border:1px solid var(--r1-border,#e5e7eb);
  border-collapse:separate;
  border-spacing:0;
  border-radius:var(--r1-card-radius,12px);
  background:var(--r1-surface,#fff);
  overflow:hidden;
  font-size:14px;
}
body.woocommerce-account .woocommerce-MyAccount-content :is(table.shop_table,table.woocommerce-table) :is(th,td) {
  box-sizing:border-box;
  padding:14px 16px;
  vertical-align:middle;
  line-height:1.5;
  text-align:left;
  overflow-wrap:anywhere;
}
body.woocommerce-account .woocommerce-MyAccount-content :is(table.shop_table,table.woocommerce-table) th {
  font-weight:600;
  color:var(--r1-text,#111827);
  background:color-mix(in srgb,var(--r1-border,#e5e7eb) 25%,var(--r1-surface,#fff));
}
body.woocommerce-account .woocommerce-MyAccount-content :is(table.shop_table,table.woocommerce-table) tbody tr + tr td {border-top:1px solid var(--r1-border,#e5e7eb);}
body.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-orders-table__cell-order-actions,.download-file) a.button {white-space:nowrap;}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination .button {margin:0;}

/* View-order presentation: summary, updates and customer details. */
.r1-account-order-view {display:grid;gap:24px;}
.r1-account-order-summary {
  display:grid;
  gap:16px;
  padding:22px;
  border:1px solid var(--r1-border,#e5e7eb);
  border-radius:var(--r1-card-radius,12px);
  background:linear-gradient(180deg,color-mix(in srgb,var(--r1-primary,#0a95ae) 4%,var(--r1-surface,#fff)) 0%,var(--r1-surface,#fff) 100%);
}
.r1-account-order-summary__eyebrow {margin:0;color:var(--r1-primary,#0a95ae);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.r1-account-order-summary__text {margin:0;font-size:15px;line-height:1.6;color:var(--r1-text,#111827);}
.r1-account-order-summary__grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.r1-account-order-summary__item {padding:14px 16px;border:1px solid var(--r1-border,#e5e7eb);border-radius:12px;background:var(--r1-surface,#fff);}
.r1-account-order-summary__label {display:block;margin-bottom:6px;font-size:12px;line-height:1.4;font-weight:600;color:var(--r1-muted,#6b7280);text-transform:uppercase;letter-spacing:.04em;}
.r1-account-order-summary__value {display:block;font-size:16px;font-weight:600;line-height:1.4;color:var(--r1-text,#111827);}
.r1-account-order-updates {display:grid;gap:12px;}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-order-updates h2 {margin:0;font-size:18px;}
.r1-account-order-notes {margin:0;padding:0;list-style:none;display:grid;gap:10px;}
.r1-account-order-notes li {padding:14px 16px;border:1px solid var(--r1-border,#e5e7eb);border-radius:12px;background:var(--r1-surface,#fff);}
.r1-account-order-note__meta {margin:0 0 6px;font-size:12px;font-weight:600;color:var(--r1-muted,#6b7280);text-transform:uppercase;letter-spacing:.04em;}
.r1-account-order-note__content p:last-child {margin-bottom:0;}
body.woocommerce-account .woocommerce-MyAccount-content :is(table.shop_table,table.woocommerce-table) a {color:var(--r1-primary,#0a95ae);text-decoration:none;}
body.woocommerce-account .woocommerce-MyAccount-content :is(table.shop_table,table.woocommerce-table) a:hover {color:var(--r1-hover,#087f95);}
body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot th,
body.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot td {font-weight:600;}
body.woocommerce-account .woocommerce-MyAccount-content table.order_details tbody td:first-child a {font-weight:500;}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details {display:grid;gap:16px;margin-top:28px;}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details > h2,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details > h3 {margin:0;}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns--addresses {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-column {padding:20px;border:1px solid var(--r1-border,#e5e7eb);border-radius:var(--r1-card-radius,12px);background:var(--r1-surface,#fff);}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-column__title {margin:0 0 12px;font-size:18px;}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address {margin:0;font-style:normal;line-height:1.75;color:var(--r1-text,#111827);}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address p {margin:10px 0 0;}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address .woocommerce-customer-details--phone,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address .woocommerce-customer-details--email {display:block;margin-top:10px;}

/* Addresses: native Woo columns do not float into a narrow account panel. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:20px 0 0;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after {content:none;display:none;}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address {
  float:none;
  width:auto;
  max-width:none;
  min-width:0;
  box-sizing:border-box;
  margin:0;
  padding:20px;
  border:1px solid var(--r1-border,#e5e7eb);
  border-radius:var(--r1-card-radius,12px);
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title :is(h2,h3) {margin:0;font-size:16px;}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit {float:none;}
body.woocommerce-account .woocommerce-MyAccount-content address {font-style:normal;line-height:1.65;overflow-wrap:anywhere;}

/* Forms shared by login, registration, profile, addresses and password reset. */
body.woocommerce-account .woocommerce form.login,
body.woocommerce-account .woocommerce form.register,
body.woocommerce-account .woocommerce form.woocommerce-ResetPassword {
  box-sizing:border-box;
  width:100%;
  max-width:560px;
  padding:24px;
  border:1px solid var(--r1-border,#e5e7eb);
  border-radius:var(--r1-surface-radius,16px);
  background:var(--r1-surface,#fff);
  text-align:left;
}
/* Profile/address forms already sit inside the account content surface. */
body.woocommerce-account .woocommerce-MyAccount-content form.edit-account,
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-address-fields {
  box-sizing:border-box;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  background:none;
}
body.woocommerce-account .woocommerce:not(:has(> .woocommerce-MyAccount-navigation)) > :is(h2,.woocommerce-notices-wrapper) {
  box-sizing:border-box;
  max-width:560px;
  width:100%;
  margin-left:auto;
  margin-right:auto;
  text-align:left;
}
body.woocommerce-account .woocommerce:not(:has(> .woocommerce-MyAccount-navigation)) > h2 {
  margin-top:0;
  margin-bottom:16px;
  font-size:clamp(24px,2.4vw,30px);
  line-height:1.25;
}
body.woocommerce-account .woocommerce:not(:has(> .woocommerce-MyAccount-navigation)) > :is(form.login,form.register,form.woocommerce-ResetPassword) {
  display:block;
  margin:0 auto;
}
body.woocommerce-account .woocommerce :is(form.login,form.register,form.woocommerce-ResetPassword) .form-row,
body.woocommerce-account .woocommerce-MyAccount-content form .form-row {
  box-sizing:border-box;
  max-width:100%;
  margin:0 0 18px;
  padding:0;
  text-align:left;
}
body.woocommerce-account .woocommerce :is(form.login,form.register,form.woocommerce-ResetPassword) .form-row {
  float:none;
  clear:both;
  width:100%;
}
body.woocommerce-account .woocommerce form .form-row > label:not(.woocommerce-form__label-for-checkbox) {
  display:block;
  margin-bottom:7px;
  color:var(--r1-text,#111827);
  font-size:14px;
  font-weight:500;
  line-height:1.45;
}
body.woocommerce-account .woocommerce form .form-row :is(input.input-text,input[type="text"],input[type="email"],input[type="password"],input[type="tel"],select,textarea) {
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-height:44px;
  margin:0;
  padding:10px 13px;
  border:1px solid var(--r1-border,#e5e7eb);
  border-radius:var(--r1-control-radius,8px);
  background:var(--r1-surface,#fff);
  color:var(--r1-text,#111827);
  font:inherit;
  line-height:1.4;
}
body.woocommerce-account .woocommerce form .form-row textarea {min-height:112px;resize:vertical;}
body.woocommerce-account .woocommerce form .form-row :is(input.input-text,input[type="password"],select,textarea):focus {
  border-color:var(--r1-primary,#0a95ae);
  outline:2px solid color-mix(in srgb,var(--r1-primary,#0a95ae) 20%,transparent);
  outline-offset:0;
  box-shadow:none;
}
body.woocommerce-account .woocommerce form .form-row .password-input {display:block;position:relative;width:100%;max-width:100%;}
body.woocommerce-account .woocommerce form .form-row .password-input input {padding-right:44px;}
body.woocommerce-account .woocommerce form .form-row .password-input .show-password-input {
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  margin:0;
  padding:0;
  border:0;
  background:none;
}
body.woocommerce-account .woocommerce .form-row-first,
body.woocommerce-account .woocommerce .form-row-last {box-sizing:border-box;}
body.woocommerce-account .woocommerce-MyAccount-content fieldset {
  min-width:0;
  margin:8px 0 24px;
  padding:20px;
  border:1px solid var(--r1-border,#e5e7eb);
  border-radius:var(--r1-card-radius,12px);
}
body.woocommerce-account .woocommerce-MyAccount-content fieldset legend {padding:0 8px;font-weight:600;}
body.woocommerce-account .woocommerce .select2-container {max-width:100%;}
body.woocommerce-account .woocommerce .select2-container .select2-selection--single {
  box-sizing:border-box;
  min-height:44px;
  border:1px solid var(--r1-border,#e5e7eb);
  border-radius:var(--r1-control-radius,8px);
}
body.woocommerce-account .woocommerce .select2-container .select2-selection__rendered {line-height:42px;}
body.woocommerce-account .woocommerce .select2-container .select2-selection__arrow {height:42px;}
body.woocommerce-account .woocommerce form.login .form-row:has(.woocommerce-form-login__submit) {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:18px;
}
body.woocommerce-account .woocommerce form.login .woocommerce-form-login__rememberme {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0;
  font-size:14px;
}
body.woocommerce-account .woocommerce form.login .woocommerce-form-login__rememberme input {flex:0 0 auto;width:16px;height:16px;margin:0;}
body.woocommerce-account .woocommerce form.login .woocommerce-form-login__submit {margin:0;}
body.woocommerce-account .woocommerce form.login .r1-captcha-box {max-width:100%;margin:12px 0 18px;}
body.woocommerce-account .woocommerce .woocommerce-LostPassword {margin:12px 0 0;font-size:14px;text-align:left;}
body.woocommerce-account .woocommerce .woocommerce-LostPassword a {color:var(--r1-primary,#0a95ae);text-decoration:none;}
body.woocommerce-account .woocommerce .woocommerce-LostPassword a:hover {text-decoration:underline;}
body.woocommerce-account .woocommerce-MyAccount-content :is(.button,button.button,input.button) {min-height:40px;box-sizing:border-box;}
body.woocommerce-account .woocommerce-MyAccount-content p:has(> button.button) {margin-bottom:0;}

/* Tablet/phone: no floats, no horizontal overflow; navigation stacks FIRST. */
@media(max-width:900px) {
  body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
  body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation {grid-column:1;grid-row:1;}
  body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {grid-column:1;grid-row:2;}
  body.woocommerce-account .woocommerce-MyAccount-navigation ul {flex-flow:row wrap;gap:5px;}
  body.woocommerce-account .woocommerce-MyAccount-navigation li {width:auto;}
  body.woocommerce-account .woocommerce-MyAccount-navigation a {min-height:38px;padding:8px 12px;}
  body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }
}
@media(max-width:640px) {
  body.woocommerce-account .woocommerce-MyAccount-content {padding:20px 16px;}
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {grid-template-columns:minmax(0,1fr);}
  .r1-account-cards {grid-template-columns:minmax(0,1fr);}
  body.woocommerce-account .woocommerce-MyAccount-content a.r1-account-card {min-height:84px;padding:15px;}
  body.woocommerce-account .woocommerce-MyAccount-content :is(table.shop_table,table.woocommerce-table) :is(th,td) {padding:10px 12px;}
  body.woocommerce-account .woocommerce-MyAccount-content :is(.form-row-first,.form-row-last) {float:none;width:100%;}
  body.woocommerce-account .woocommerce form.login,
  body.woocommerce-account .woocommerce form.register,
  body.woocommerce-account .woocommerce form.woocommerce-ResetPassword {padding:20px 16px;}
}
@media(max-width:480px) {
  body.woocommerce-account .woocommerce-MyAccount-navigation ul {flex-direction:column;gap:2px;}
  body.woocommerce-account .woocommerce-MyAccount-navigation li {width:100%;}
  .r1-account-orders li {align-items:flex-start;}
  .r1-account-order-meta {flex-direction:column;align-items:flex-end;gap:5px;}
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table.shop_table_responsive,
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table.shop_table_responsive {border:0;}
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table.shop_table_responsive tbody tr,
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table.shop_table_responsive tbody tr {
    display:block;
    margin-bottom:12px;
    padding:8px 12px;
    border:1px solid var(--r1-border,#e5e7eb);
    border-radius:var(--r1-card-radius,12px);
  }
}

/* ==========================================================================
   ReStart 1.0.218 — Account interfaces
   Native WooCommerce actions/fields remain the source of truth. All overrides
   are limited to the account, never to product/cart/checkout forms.
   ========================================================================== */

/* Assets are bundled SVG files (not transient icon-library styles). */
.r1-account-card__icon img,
.r1-account-address-card__icon img {
  display:block;
  width:22px;
  height:22px;
  flex:none;
  object-fit:contain;
  filter:invert(42%) sepia(95%) saturate(882%) hue-rotate(146deg) brightness(94%) contrast(98%);
}
.r1-account-card__icon,
.r1-account-address-card__icon {border-radius:10px;}
body.woocommerce-account .woocommerce-MyAccount-content a.r1-account-card:focus-visible {
  outline:2px solid var(--r1-primary,#0a95ae);outline-offset:3px;
}

/* All account form controls follow the shared .form-row input rules above.
   Do not use display/visibility !important here: missing DOM nodes cannot be
   restored by CSS. Content rendering must preserve WooCommerce form markup. */
body.woocommerce-account .woocommerce form :is(.woocommerce-Input.input-text,input.input-text,textarea,select):not([type="hidden"]):focus-visible {
  border-color:var(--r1-primary,#0a95ae);
  outline:2px solid color-mix(in srgb,var(--r1-primary,#0a95ae) 25%,transparent);
  outline-offset:0;
}
body.woocommerce-account .woocommerce form .woocommerce-form-row > label,
body.woocommerce-account .woocommerce form .woocommerce-address-fields__field-wrapper .form-row > label {
  display:block;
  width:100%;
  text-align:left;
  margin-bottom:7px;
}
body.woocommerce-account .woocommerce form .form-row .required {color:var(--r1-primary,#0a95ae);}

/* Guest sign-in: single centered surface with readable fields and working
   remember/submit/forgot-password controls. Registration becomes two cards. */
body.woocommerce-account .woocommerce .r1-account-auth {max-width:540px;margin-inline:auto;min-width:0;}
body.woocommerce-account .woocommerce .r1-account-auth--register {max-width:1100px;}
body.woocommerce-account .woocommerce .r1-account-auth__columns {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  width:100%;
  margin:0;
}
body.woocommerce-account .woocommerce .r1-account-auth__columns::before,
body.woocommerce-account .woocommerce .r1-account-auth__columns::after {display:none;content:none;}
body.woocommerce-account .woocommerce .r1-account-auth__columns > .u-column1,
body.woocommerce-account .woocommerce .r1-account-auth__columns > .u-column2 {
  float:none;width:auto;min-width:0;margin:0;padding:0;
}
body.woocommerce-account .woocommerce .r1-account-auth__panel {
  padding:clamp(24px,3vw,38px);
  border:1px solid var(--r1-border,#e5e7eb);
  border-radius:var(--r1-surface-radius,16px);
  background:var(--r1-surface,#fff);
  box-shadow:0 3px 18px rgba(15,23,42,.035);
}
body.woocommerce-account .woocommerce .r1-account-auth__panel > h2 {
  font-size:clamp(24px,2.3vw,30px);
  font-weight:600;
  line-height:1.25;
  margin:0 0 10px;
}
body.woocommerce-account .woocommerce .r1-account-auth__description {
  color:var(--r1-muted,#6b7280);
  font-size:14px;
  margin:0 0 24px;
  line-height:1.55;
}
body.woocommerce-account .woocommerce .r1-account-auth__panel > form.login,
body.woocommerce-account .woocommerce .r1-account-auth__panel > form.register {
  display:block;
  box-sizing:border-box;
  width:100%;max-width:none;
  margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;
}
body.woocommerce-account .woocommerce .r1-account-auth__panel form .form-row {margin:0 0 18px;}
body.woocommerce-account .woocommerce .r1-account-auth__panel form .woocommerce-LostPassword {margin:16px 0 0;}
body.woocommerce-account .woocommerce .r1-account-auth__panel form .r1-account-auth__actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  margin:22px 0 0;
}
body.woocommerce-account .woocommerce .r1-account-auth__panel .woocommerce-form-login__rememberme {display:inline-flex;align-items:center;gap:8px;}
body.woocommerce-account .woocommerce .r1-account-auth__panel .woocommerce-form-login__rememberme input {width:17px;height:17px;margin:0;accent-color:var(--r1-primary,#0a95ae);}
body.woocommerce-account .woocommerce .r1-account-auth__panel .woocommerce-form-login__submit {min-width:124px;min-height:44px;}

/* Account profile: actual fields in a responsive two-column form, readable
   helper text, clear password section and unambiguous save action. */
body.woocommerce-account .woocommerce-MyAccount-content form.r1-account-profile {
  width:100%;max-width:none;padding:0;margin:0;border:0;background:transparent;
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-form-head {display:grid;gap:7px;margin:0 0 26px;}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-form-head > h2 {
  margin:0;font-size:clamp(21px,2vw,26px);font-weight:600;
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-form-head > p {
  color:var(--r1-muted,#6b7280);font-size:14px;line-height:1.6;margin:0;
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-profile-grid,
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-password-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 16px;
  min-width:0;
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-profile-grid > .form-row,
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-password-grid > .form-row {
  display:block;float:none;clear:none;width:auto;min-width:0;max-width:none;margin:0;padding:0;
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-profile-grid > .form-row-wide,
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-password-grid > .form-row:first-child {
  grid-column:1 / -1;
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-field-hint {
  display:block;color:var(--r1-muted,#6b7280);font-size:12px;line-height:1.5;margin:7px 0 0;
}
body.woocommerce-account .woocommerce-MyAccount-content fieldset.r1-account-password {
  display:block;
  box-sizing:border-box;
  min-width:0;
  margin:28px 0 24px;
  padding:22px 24px 24px;
  border:1px solid var(--r1-border,#e5e7eb);
  border-radius:var(--r1-card-radius,12px);
  background:color-mix(in srgb,var(--r1-surface,#fff) 96%,var(--r1-bg,#f7f9fb));
}
body.woocommerce-account .woocommerce-MyAccount-content fieldset.r1-account-password legend {
  font-size:17px;line-height:1.5;font-weight:600;color:var(--r1-text,#111827);padding:0 8px;
}
body.woocommerce-account .woocommerce-MyAccount-content fieldset.r1-account-password > .r1-account-field-hint {
  margin:0 0 18px;
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-form-actions {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0;}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-form-actions .button {min-height:44px;padding:11px 20px;}

/* Address selection: header icon, muted empty state and actual action buttons. */
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-address-grid {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-address-grid > .r1-account-address-card {
  display:flex;flex-direction:column;gap:0;min-width:0;min-height:220px;
  padding:22px;
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-address-card__header {
  display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:14px;
  padding:0;margin:0 0 18px;
}
.r1-account-address-card__icon {
  display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;
  background:color-mix(in srgb,var(--r1-primary,#0a95ae) 9%,var(--r1-surface,#fff));
}
.r1-account-address-card__heading {display:grid;gap:2px;min-width:0;}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-address-card__heading h3 {margin:0;font-weight:600;font-size:16px;}
.r1-account-address-card__state {font-size:12px;color:var(--r1-muted,#6b7280);}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-address-card__body {
  flex:1;min-width:0;margin-bottom:20px;
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-address-card__body address {
  margin:0;font-style:normal;font-size:14px;line-height:1.6;color:var(--r1-muted,#6b7280);
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-address-card__actions {
  display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:auto;
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-address-card__actions > a.r1-account-address-card__edit {
  display:inline-flex;align-items:center;justify-content:center;min-height:39px;
  padding:8px 14px;border:1px solid var(--r1-primary,#0a95ae);
  border-radius:var(--r1-button-radius,8px);color:var(--r1-primary,#0a95ae);
  background:transparent;text-decoration:none;font-size:13px;font-weight:600;float:none;
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-address-card__actions > a.r1-account-address-card__edit:hover {
  background:color-mix(in srgb,var(--r1-primary,#0a95ae) 8%,var(--r1-surface,#fff));
}
body.woocommerce-account .woocommerce-MyAccount-content .r1-account-address-card__actions > a.copy {font-size:13px;text-decoration:none;}

/* WooCommerce edit-address form fields are generated by woocommerce_form_field,
   not by the profile template. This selector targets their real wrapper. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > .form-row {
  float:none;clear:none;display:block;width:auto;min-width:0;margin:0;padding:0;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > .form-row-wide {
  grid-column:1 / -1;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .woocommerce-input-wrapper {display:block;width:100%;min-width:0;}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper :is(select,textarea,input.input-text) {
  box-sizing:border-box;width:100%;max-width:100%;min-height:44px;
  border:1px solid var(--r1-border,#e5e7eb);border-radius:var(--r1-control-radius,8px);
  background:var(--r1-surface,#fff);color:var(--r1-text,#111827);
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields > p:has(> button) {margin:24px 0 0;}

@media(max-width:760px) {
  body.woocommerce-account .woocommerce-MyAccount-content .r1-account-profile-grid,
  body.woocommerce-account .woocommerce-MyAccount-content .r1-account-password-grid,
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper,
  body.woocommerce-account .woocommerce .r1-account-auth__columns {
    grid-template-columns:minmax(0,1fr);
  }
  body.woocommerce-account .woocommerce-MyAccount-content .r1-account-profile-grid > .form-row-wide,
  body.woocommerce-account .woocommerce-MyAccount-content .r1-account-password-grid > .form-row:first-child,
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > .form-row-wide {grid-column:1;}
  body.woocommerce-account .woocommerce-MyAccount-content .r1-account-address-grid {grid-template-columns:minmax(0,1fr);}
}
@media(max-width:480px) {
  body.woocommerce-account .woocommerce .r1-account-auth__panel {padding:24px 18px;}
  body.woocommerce-account .woocommerce-MyAccount-content fieldset.r1-account-password {padding:20px 16px;}
  body.woocommerce-account .woocommerce-MyAccount-content .r1-account-address-grid > .r1-account-address-card {padding:20px;}
}

@media (max-width: 780px) {
  .r1-account-order-summary__grid,
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns--addresses {grid-template-columns:1fr;}
}
