/* Mi cuenta · MARCA.md. El alcance excluye header, carrito y checkout. */
.sn-account *, .sn-account-page .entry-content > .woocommerce * { box-sizing: border-box; }
.sn-account-page .entry-content > .woocommerce,
.sn-account {
  font-family: var(--sn-font-text); font-size: 1rem; font-weight: 400;
  line-height: var(--sn-lh-text); color: var(--sn-text);
}
.sn-account-page .site-main { margin-top: 0; }
.sn-account-page .inside-article { padding-top: 28px; padding-bottom: 56px; }
.sn-account-page .entry-content { margin-top: 0; }
.sn-account-page .entry-header { margin-bottom: 24px; }
.sn-account-page .entry-title { font-size: clamp(2rem, 4vw, 2.75rem); }
.sn-account-pagehead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 24px; }
.sn-account-pagehead h1 { font-size: clamp(2rem, 4vw, 2.75rem); margin: 5px 0 0; line-height: 1.1; }
.sn-account-pagehead .sn-account-store { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--sn-text-title); font-size: .9375rem; text-decoration: none; }
.sn-account-pagehead .sn-account-store:hover { text-decoration: underline; }
.sn-account { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.sn-account > .sn-account-content { width: auto; float: none; min-width: 0; }
.sn-account h2, .sn-account h3, .sn-account-page .woocommerce h2 { font-family: var(--sn-font-display); font-weight: 700; letter-spacing: -.02em; color: var(--sn-text-title); }
.sn-account h2, .sn-account-page .woocommerce h2 { font-size: clamp(1.5rem, 3vw, 1.9rem); line-height: 1.2; margin: 0 0 12px; }
.sn-account h3 { font-size: 1.2rem; line-height: 1.25; }
.sn-account p { margin: 0 0 16px; }
.sn-account-icon { flex-shrink: 0; vertical-align: middle; }
.sn-account-page .entry-content :where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--sn-focus); outline-offset: 3px; }

/* Una sola navegación para los endpoints nativos y los de plugins. */
.sn-account-sidebar { min-width: 0; }
.sn-account-menu { background: var(--sn-surface); border: 1px solid var(--sn-line); border-radius: var(--sn-radius-card); padding: 8px; box-shadow: var(--sn-shadow-soft); }
.sn-account-menu > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 8px 12px; list-style: none; cursor: pointer; font-size: .75rem; color: var(--sn-text-muted); }
.sn-account-menu > summary::-webkit-details-marker { display: none; }
.sn-account-menu > summary strong { display: block; font-family: var(--sn-font-display); font-size: 1.1rem; line-height: 1.3; color: var(--sn-text-title); }
.sn-account-menu__toggle { display: flex; gap: 8px; align-items: center; color: var(--sn-text-title); font-size: .8125rem; }
.sn-account-menu__toggle > span { font-size: 1.2rem; }
.sn-account-menu[open] .sn-account-menu__toggle > span { transform: rotate(180deg); }
.sn-account-identity { display: flex; align-items: center; gap: 12px; padding: 16px 12px 20px; margin-bottom: 4px; border-bottom: 1px solid var(--sn-line); }
.sn-account-identity > div { min-width: 0; }
.sn-account-identity strong { display: block; color: var(--sn-text-title); overflow-wrap: anywhere; font-size: .9375rem; }
.sn-account-identity a { color: var(--sn-text-muted); font-size: .8125rem; text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 44px; }
.sn-account-avatar { width: 44px; height: 44px; flex-shrink: 0; display: grid; place-items: center; border-radius: 50%; background: var(--sn-selected-bg); color: var(--sn-text-title); font: 700 1.35rem var(--sn-font-display); text-transform: uppercase; }
.sn-account-navigation ul { display: grid; gap: 4px; list-style: none; margin: 0; padding: 8px 0 0; }
.sn-account-navigation li { margin: 0; }
.sn-account-navigation a { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 12px; border-radius: var(--sn-radius-btn); color: var(--sn-text); text-decoration: none; font-size: .9375rem; }
.sn-account-navigation a:hover { background: var(--sn-bg); color: var(--sn-text-title); }
.sn-account-navigation .is-active a { background: var(--sn-selected-bg); color: var(--sn-text-title); font-weight: 600; }
.sn-account-current { margin-left: auto; }
.sn-account-navigation .woocommerce-MyAccount-navigation-link--customer-logout { border-top: 1px solid var(--sn-line); margin-top: 8px; padding-top: 8px; }
.sn-account-help { display: none; gap: 12px; margin-top: 16px; padding: 20px; background: var(--sn-warning-bg); border-radius: var(--sn-radius-card); color: var(--sn-text); font-size: .875rem; }
.sn-account-help strong { color: var(--sn-text-title); }
.sn-account-help p { margin: 4px 0; }
.sn-account-help a { display: inline-flex; align-items: center; min-height: 44px; color: var(--sn-text-title); font-size: .8125rem; text-underline-offset: 3px; }
.sn-account-skip:focus { position: relative !important; display: block; margin-bottom: 12px; padding: 12px; color: var(--sn-text-title); background: var(--sn-surface); }

/* Bienvenida y resumen de pedidos. */
.sn-account-welcome { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 24px 20px; margin-bottom: 24px; background: var(--sn-info-bg); border: 1px solid var(--sn-info-line); border-radius: var(--sn-radius-panel); overflow: hidden; }
.sn-account-welcome > div { min-width: 0; max-width: 40rem; }
.sn-account .sn-account-welcome h2, .sn-account-page .sn-account-welcome h2 { margin: 10px 0 12px; font-size: clamp(1.65rem, 3.4vw, 2.6rem); overflow-wrap: anywhere; }
.sn-account-welcome p { margin: 0; max-width: 40em; font-size: .9375rem; line-height: 1.6; }
.sn-account-mascot { display: block; width: 88px; height: auto; aspect-ratio: 240 / 397; object-fit: contain; flex: 0 0 88px; }
.sn-account-recent { padding: 20px; margin-bottom: 20px; background: var(--sn-surface); border: 1px solid var(--sn-line); border-radius: var(--sn-radius-panel); }
.sn-account-cardhead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.sn-account .sn-account-cardhead h2 { display: flex; gap: 10px; align-items: center; margin: 4px 0 0; font-size: 1.5rem; }
.sn-account-cardhead > a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: .875rem; }
.sn-account-count { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; padding: 0 6px; border-radius: 50px; background: var(--sn-bg); color: var(--sn-text); font-family: var(--sn-font-text); font-size: .8125rem; font-weight: 600; }
.sn-account-order-list { list-style: none; margin: 0; padding: 0; }
.sn-account-order-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; align-items: center; padding: 18px 0; border-top: 1px solid var(--sn-line); }
.sn-account-order-list li:last-child { padding-bottom: 0; }
.sn-account-order-icon { display: none; }
.sn-account-order-name { min-width: 0; }
.sn-account-order-name a { display: inline-flex; min-height: 44px; align-items: center; font-weight: 600; overflow-wrap: anywhere; }
.sn-account-order-name time { display: block; color: var(--sn-text-muted); font-size: .8125rem; }
.sn-account-order-list .sn-account-status { justify-self: end; max-width: 140px; }
.sn-account-order-total { color: var(--sn-price); font-size: .9375rem; font-variant-numeric: tabular-nums; }
.sn-account-page .sn-account .woocommerce-MyAccount-content a.sn-account-order-view { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--sn-line); border-radius: var(--sn-radius-btn); justify-self: end; text-decoration: none; }
.sn-account-order-view:hover { background: var(--sn-bg); }
.sn-account-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 50px; font: 600 .75rem/1.4 var(--sn-font-text); text-align: left; }
.sn-account-status::before { content: ''; display: block; width: 5px; height: 5px; flex-shrink: 0; border-radius: 50%; background: currentColor; }
.sn-account-status--success { background: var(--sn-success-bg); color: var(--sn-success-ink); }
.sn-account-status--info { background: var(--sn-info-bg); color: var(--sn-info-ink); }
.sn-account-status--warning { background: var(--sn-warning-bg); color: var(--sn-warning-ink); }
.sn-account-status--error { background: var(--sn-error-bg); color: var(--sn-error-ink); }
.sn-account-shortcuts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.sn-account-page .sn-account .woocommerce-MyAccount-content a.sn-account-shortcut { position: relative; display: block; padding: 22px; padding-right: 40px; border: 1px solid var(--sn-line); border-radius: var(--sn-radius-card); color: var(--sn-text); text-decoration: none; background: var(--sn-surface); transition: box-shadow var(--sn-dur-fast) var(--sn-ease); }
.sn-account-page .sn-account .woocommerce-MyAccount-content a.sn-account-shortcut--info { background: var(--sn-info-bg); border-color: var(--sn-info-line); }
.sn-account-page .sn-account .woocommerce-MyAccount-content a.sn-account-shortcut--warning { background: var(--sn-warning-bg); border-color: var(--sn-warning-line); }
.sn-account-shortcut:hover { box-shadow: var(--sn-shadow-card); }
.sn-account-shortcut h3 { margin: 16px 0 6px; }
.sn-account-shortcut p { margin: 0; font-size: .875rem; line-height: 1.5; }
.sn-account-shortcut__arrow { position: absolute; top: 20px; right: 20px; font-size: 1.25rem; }
.sn-account-section-head { margin-bottom: 24px; }
.sn-account-section-head p { max-width: 44rem; color: var(--sn-text-muted); font-size: .9375rem; margin-bottom: 0; }
.sn-account-back { display: inline-flex; min-height: 44px; align-items: center; margin-bottom: 12px; font-size: .875rem; }

/* Tablas nativas: el controlador y sus acciones quedan intactos. */
.sn-account-page .sn-account-content table.shop_table { width: 100%; border: 1px solid var(--sn-line); border-spacing: 0; border-collapse: separate; border-radius: var(--sn-radius-card); background: var(--sn-surface); overflow: hidden; font-size: .9375rem; }
.sn-account-page .sn-account-content table.shop_table th,
.sn-account-page .sn-account-content table.shop_table td { padding: 16px; border: 0; border-bottom: 1px solid var(--sn-line); line-height: 1.5; overflow-wrap: anywhere; }
.sn-account-page .sn-account-content table.shop_table thead th { background: var(--sn-bg); color: var(--sn-text-muted); font: 700 .8125rem/1.4 var(--sn-font-display); }
.sn-account-page .sn-account-content table.shop_table tbody tr:last-child > *,
.sn-account-page .sn-account-content table.shop_table tfoot tr:last-child > * { border-bottom: 0; }
.sn-account-page .sn-account-content table.shop_table .woocommerce-orders-table__cell-order-total { font-size: .875rem; }
.sn-account-page .sn-account-content table.shop_table .amount { font-weight: 600; color: var(--sn-price); white-space: nowrap; }
.sn-account-page .sn-account-content table.shop_table .button { margin: 2px; }
.sn-account-page .sn-account-content table.shop_table td.product-total { text-align: right; }
.sn-account-page .sn-account-content .woocommerce-pagination { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.sn-account-page .sn-account-content .woocommerce-order-details,
.sn-account-page .sn-account-content .woocommerce-customer-details { margin-top: 28px; margin-bottom: 24px; }
.sn-account-page .sn-account-content .woocommerce-customer-details:not(:has(.woocommerce-columns--addresses)) { padding: 24px; background: var(--sn-surface); border: 1px solid var(--sn-line); border-radius: var(--sn-radius-card); }
.sn-account-page .sn-account-content mark { background: var(--sn-selected-bg); color: var(--sn-text-title); border-radius: 4px; padding: 2px 5px; }
.sn-account-page .sn-account-content .woocommerce-OrderUpdates { list-style: none; margin: 0 0 24px; padding: 20px; background: var(--sn-surface); border-radius: var(--sn-radius-card); }
.sn-account-page .sn-account-content .woocommerce-OrderUpdate { border-bottom: 1px solid var(--sn-line); margin-bottom: 12px; padding-bottom: 12px; }
.sn-account-page .sn-account-content .woocommerce-OrderUpdate:last-child { margin-bottom: 0; padding-bottom: 0; border: 0; }
.sn-account-page .sn-account-content .woocommerce-OrderUpdate .meta { font-size: .8125rem; color: var(--sn-text-muted); }

/* Direcciones y datos de entrega del detalle de pedido. */
.sn-account-page .sn-account-content .woocommerce-Addresses,
.sn-account-page .sn-account-content .woocommerce-columns--addresses { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 24px 0; }
.sn-account-page .sn-account-content .woocommerce-Addresses::before,
.sn-account-page .sn-account-content .woocommerce-Addresses::after,
.sn-account-page .sn-account-content .woocommerce-columns--addresses::before,
.sn-account-page .sn-account-content .woocommerce-columns--addresses::after { display: none; }
.sn-account-page .sn-account-content .woocommerce-Address,
.sn-account-page .sn-account-content .woocommerce-column--billing-address,
.sn-account-page .sn-account-content .woocommerce-column--shipping-address { width: auto; float: none; margin: 0; padding: 24px; min-width: 0; background: var(--sn-surface); border: 1px solid var(--sn-line); border-radius: var(--sn-radius-card); box-shadow: none; }
.sn-account-page .sn-account-content .woocommerce-Address-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--sn-line); }
.sn-account-page .sn-account-content .woocommerce-Address-title::after,
.sn-account-page .sn-account-content .woocommerce-Address-title::before { display: none; }
.sn-account-page .sn-account-content .woocommerce-Address-title h2,
.sn-account-page .sn-account-content .woocommerce-column__title { float: none; font-size: 1.25rem; margin: 0 0 8px; }
.sn-account-page .sn-account-content .woocommerce-Address-title .edit { display: inline-flex; align-items: center; min-height: 44px; font-size: .8125rem; font-weight: 600; }
.sn-account-page .sn-account-content address { width: auto; padding: 0; border: 0; border-radius: 0; font-style: normal; font-size: .9375rem; line-height: 1.8; overflow-wrap: anywhere; }

/* Formularios Woo: labels, nonces, campos extra y validación se conservan. */
.sn-account-page .woocommerce form.woocommerce-EditAccountForm,
.sn-account-page .sn-account-content--edit-address > form,
.sn-account-page .woocommerce form.login,
.sn-account-page .woocommerce form.register,
.sn-account-page .woocommerce form.lost_reset_password,
.sn-account-page .sn-account-content #add_payment_method { padding: 22px; border: 1px solid var(--sn-line); border-radius: var(--sn-radius-panel); background: var(--sn-surface); margin: 0 0 24px; }
.sn-account-page .woocommerce form.lost_reset_password { max-width: 680px; }
.sn-account-page .woocommerce form .form-row { padding: 0; margin: 0 0 20px; }
.sn-account-page .woocommerce form .form-row label { display: block; color: var(--sn-text-title); font: 700 .9375rem/1.5 var(--sn-font-display); margin-bottom: 7px; }
.sn-account-page .woocommerce form .form-row input.input-text,
.sn-account-page .woocommerce form .form-row textarea,
.sn-account-page .woocommerce form .form-row select,
.sn-account-page .woocommerce .select2-container .select2-selection--single { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--sn-line-control); border-radius: var(--sn-radius-btn); background: var(--sn-surface); color: var(--sn-text-title); font: 400 1rem/1.5 var(--sn-font-text); }
.sn-account-page .woocommerce form .form-row input.input-text:focus,
.sn-account-page .woocommerce form .form-row textarea:focus,
.sn-account-page .woocommerce form .form-row select:focus { border-color: var(--sn-focus); }
.sn-account-page .woocommerce .select2-container .select2-selection__rendered { padding: 0 20px 0 0; line-height: 24px; color: var(--sn-text-title); }
.sn-account-page .woocommerce .select2-container .select2-selection__arrow { top: 11px; right: 8px; }
.sn-account-page .select2-dropdown { border-color: var(--sn-line-control); font-family: var(--sn-font-text); font-size: 1rem; }
.sn-account-page .select2-results__option--highlighted[aria-selected] { background: var(--sn-selected-bg); color: var(--sn-text-title); }
.sn-account-page .woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--sn-error-ink); }
.sn-account-page .woocommerce form .form-row.woocommerce-validated input.input-text { border-color: var(--sn-line-control); }
.sn-account-page .woocommerce form .required { color: var(--sn-error-ink); }
.sn-account-page .woocommerce form input[type="checkbox"],
.sn-account-page .woocommerce form input[type="radio"] { width: 18px; height: 18px; vertical-align: middle; }
.sn-account-page .woocommerce form label.woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.sn-account-page .woocommerce form fieldset { clear: both; border: 1px solid var(--sn-line); border-radius: var(--sn-radius-card); padding: 20px; margin: 28px 0 24px; background: var(--sn-bg); }
.sn-account-page .woocommerce form fieldset legend { width: auto; padding: 0 8px; color: var(--sn-text-title); font: 700 1.2rem/1.3 var(--sn-font-display); }
.sn-account-page .woocommerce form fieldset p:last-child { margin-bottom: 0; }
.sn-account-page .woocommerce form em,
.sn-account-page .woocommerce form .description,
.sn-account-page .woocommerce-privacy-policy-text { display: block; color: var(--sn-text-muted); font-size: .8125rem; font-style: normal; line-height: 1.6; margin-top: 8px; }
.sn-account-page .woocommerce form .show-password-input { top: 50%; transform: translateY(-50%); right: 0; min-width: 44px; min-height: 48px; padding: 0; display: grid; place-items: center; background: transparent; color: var(--sn-text-title); }
.sn-account-page .woocommerce form .password-input input.input-text { padding-right: 50px; }
.sn-account-page .woocommerce form .show-password-input::after { margin: 0; }
.sn-account-page .woocommerce form .form-row-first,
.sn-account-page .woocommerce form .form-row-last { float: none; width: 100%; }
.sn-account-page .woocommerce form.login .lost_password a { display: inline-flex; align-items: center; min-height: 44px; color: var(--sn-text-title); }
.sn-account-page .woocommerce #customer_login { display: grid; gap: 24px; }
.sn-account-page .woocommerce #customer_login::before,
.sn-account-page .woocommerce #customer_login::after { display: none; }
.sn-account-page .woocommerce #customer_login > div { float: none; width: auto; min-width: 0; }
.sn-account-welcome--login { margin-bottom: 32px; }

/* Botones y avisos: mayor especificidad que Woo y los tokens históricos. */
.sn-account-page .entry-content .woocommerce :is(a.button, button.button, input.button, .sn-ui-btn) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border: 0; border-radius: var(--sn-radius-btn); padding: 12px 18px; background: var(--sn-btn-bg); color: var(--sn-btn-text); text-decoration: none; text-align: center; font: 700 .8125rem/1.4 var(--sn-font-display); letter-spacing: .06em; text-transform: uppercase; white-space: normal; }
.sn-account-page .entry-content .woocommerce :is(a.button, button.button, input.button, .sn-ui-btn):hover { background: var(--sn-btn-bg-hover); color: var(--sn-btn-text); }
.sn-account-page .entry-content .woocommerce :is(button.button, input.button):disabled { opacity: var(--sn-disabled-opacity); cursor: not-allowed; }
.sn-account-page .entry-content .woocommerce a.button.pay { background: var(--sn-action-bg); color: var(--sn-action-text); }
.sn-account-page .entry-content .woocommerce a.button.pay:hover { background: var(--sn-action-bg-hover); }
.sn-account-page .entry-content .woocommerce .woocommerce-info,
.sn-account-page .entry-content .woocommerce .woocommerce-message,
.sn-account-page .entry-content .woocommerce .woocommerce-error { padding: 18px 20px; border-radius: var(--sn-radius-card); font: 400 .9375rem/1.6 var(--sn-font-text); }
.sn-account-page .entry-content .woocommerce .woocommerce-info { background: var(--sn-info-bg); color: var(--sn-info-ink); box-shadow: inset 0 0 0 1px var(--sn-info-line); }
.sn-account-page .entry-content .woocommerce .woocommerce-message { background: var(--sn-success-bg); color: var(--sn-success-ink); box-shadow: inset 0 0 0 1px var(--sn-success-line); }
.sn-account-page .entry-content .woocommerce .woocommerce-error { display: block; background: var(--sn-error-bg); color: var(--sn-error-ink); box-shadow: inset 0 0 0 1px var(--sn-error-line); }
.sn-account-page .entry-content .woocommerce .woocommerce-error li + li { margin-top: 8px; }
.sn-account-page .entry-content .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { color: currentColor; }
.sn-account-page .entry-content .woocommerce .woocommerce-error::before { display: none; }
.sn-account-empty, .sn-account-first-order { display: grid; justify-items: center; gap: 16px; text-align: center; padding: 32px 20px; border-radius: var(--sn-radius-panel); background: var(--sn-surface); }
.sn-account-first-order h3, .sn-account-first-order p { margin: 0; max-width: 32rem; }
.sn-account-empty__icon { display: grid; place-items: center; width: 64px; height: 64px; background: var(--sn-info-bg); color: var(--sn-text-title); border-radius: var(--sn-radius-card); }
.sn-account-empty__icon svg { width: 30px; height: 30px; }
.sn-account-page .entry-content .sn-account-empty .woocommerce-info { display: flex; flex-direction: column; gap: 20px; padding: 0; margin: 0; background: transparent; box-shadow: none; color: var(--sn-text); }
.sn-account-page .entry-content .sn-account-empty .woocommerce-info::before,
.sn-account-page .entry-content .sn-account-empty .woocommerce-info::after { display: none; }
.sn-account-page .entry-content .sn-account-empty .woocommerce-info .button { order: 2; margin: 0; }

/* El portal Afiliados conserva sus módulos; hereda el mismo marco y navegación. */
.sn-account-page .sn-account .woocommerce-MyAccount-content .snaf-tabs a,
.sn-account-page .sn-account .woocommerce-MyAccount-content .snaf-period a,
.sn-account-page .sn-account .woocommerce-MyAccount-content a.snaf-btn { text-decoration: none; }
.sn-account .snaf-portal { margin-top: 0; }

@media (max-width: 599px) {
  .sn-account-welcome { display: grid; grid-template-columns: minmax(0, 1fr) 88px; gap: 4px 12px; }
  .sn-account-welcome > div { display: contents; }
  .sn-account-welcome .sn-ui-label { align-self: end; }
  .sn-account-welcome h2 { grid-column: 1; align-self: start; }
  .sn-account-welcome p { grid-column: 1 / -1; margin-top: 8px; }
  .sn-account-welcome .sn-account-mascot { grid-column: 2; grid-row: 1 / 3; }
}

@media (min-width: 600px) {
  .sn-account-welcome { padding: 28px 32px; gap: 24px; }
  .sn-account-mascot { width: 120px; flex-basis: 120px; }
  .sn-account-shortcuts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sn-account-recent { padding: 28px; }
  .sn-account-page .sn-account-content .woocommerce-Addresses,
  .sn-account-page .sn-account-content .woocommerce-columns--addresses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sn-account-page .woocommerce form.woocommerce-EditAccountForm,
  .sn-account-page .sn-account-content--edit-address > form,
  .sn-account-page .woocommerce form.login,
  .sn-account-page .woocommerce form.register,
  .sn-account-page .woocommerce form.lost_reset_password { padding: 32px; }
  .sn-account-page .woocommerce form .form-row-first { float: left; width: 48%; }
  .sn-account-page .woocommerce form .form-row-last { float: right; width: 48%; }
  .sn-account-page .woocommerce form.lost_reset_password .form-row { float: none; width: 100%; }
}
@media (min-width: 768px) {
  .sn-account-order-list li { grid-template-columns: 44px minmax(0, 1fr) auto auto 44px; gap: 16px; }
  .sn-account-order-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--sn-bg); }
  .sn-account-order-total { text-align: right; }
  .sn-account-page .woocommerce #customer_login { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
  .sn-account { grid-template-columns: 250px minmax(0, 1fr); gap: 28px; }
  .sn-account-menu > summary { display: none; }
  .sn-account-help { display: flex; }
  .sn-account-page .inside-article { padding-top: 36px; }
}
@media (max-width: 767px) {
  .sn-account-page .sn-account-content table.shop_table_responsive { display: block; background: transparent; border: 0; border-radius: 0; overflow: visible; }
  .sn-account-page .sn-account-content table.shop_table_responsive tbody { display: grid; gap: 16px; }
  .sn-account-page .sn-account-content table.shop_table_responsive tr { display: block; background: var(--sn-surface); border: 1px solid var(--sn-line); border-radius: var(--sn-radius-card); padding: 8px 16px; }
  .sn-account-page .sn-account-content table.shop_table_responsive tr td,
  .sn-account-page .sn-account-content table.shop_table_responsive tr th[scope="row"] { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 12px; width: auto; padding: 12px 0; text-align: right !important; background: transparent; }
  .sn-account-page .sn-account-content table.shop_table_responsive tr td::before { font-size: .8125rem; font-weight: 600; color: var(--sn-text-muted); text-align: left; }
  .sn-account-page .sn-account-content table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-total { display: block; }
  .sn-account-page .sn-account-content table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-total::before { float: left; margin-right: 12px; }
  .sn-account-page .sn-account-content table.shop_table_responsive tr th[scope="row"] a { display: inline-flex; align-items: center; min-height: 44px; }
  .sn-account-page .sn-account-content table.shop_table_responsive tr td:last-child { border: 0; justify-content: flex-start; }
  .sn-account-page .sn-account-content table.shop_table_responsive .order-actions::before,
  .sn-account-page .sn-account-content table.shop_table_responsive .woocommerce-orders-table__cell-order-actions::before { display: none; }
  .sn-account-page .sn-account-content table.shop_table_responsive tbody tr:last-child > * { border-bottom: 1px solid var(--sn-line); }
  .sn-account-page .sn-account-content table.shop_table_responsive tbody tr:last-child > :last-child { border-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .sn-account-page .entry-content * { transition: none !important; scroll-behavior: auto !important; }
}
