/* Shavebox Min side – mobile first. Shared by every account page (Oversikt, Abonnement, Ordrer, Adresser,
   Kontodetaljer and the login form), so all of Min side looks and behaves the same. */
body.woocommerce-account, .sbms {
	--sbms-ink: #0a0a0a;
	--sbms-dark: #242c30;
	--sbms-muted: #535859;
	--sbms-line: #dde2e4;
	--sbms-soft: #f3f5f6;
	--sbms-card: #fff;
	--sbms-teal: #007070;
	--sbms-teal-bg: #e6f2f2;
	--sbms-cta: #f4b400;
	--sbms-cta-h: #dba000;
	--sbms-warn-bg: #fff4d1;
	--sbms-warn: #6b4e00;
	--sbms-err-bg: #fdecec;
	--sbms-err: #7a1c1c;
	--sbms-field: #b3bcbf;
}
.sbms {
	display: grid;
	gap: 16px;
	min-width: 0;
	color: var(--sbms-ink);
	font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	line-height: 1.5;
}
.sbms *, .sbms *::before, .sbms *::after { box-sizing: border-box; }
.sbms h2, .sbms h3, .sbms h4, .sbms p, .sbms dl, .sbms dd, .sbms ul, .sbms ol { margin: 0; }
/* Elementor Pro's My Account widget styles every heading in the tab (weight 400, 45px bottom margin,
   30px top margin on the first h2) with selectors of specificity 0,5,1. Keep our headings compact. */
.sbms .sbms-hello__title, .sbms .sbms-card__title, .sbms .sbms-previous__title, .sbms .sbms-manage__title, .sbms .sbms-section__title {
	margin: 0 !important;
	font-weight: 700 !important;
	color: var(--sbms-ink) !important;
}
.sbms .sbms-previous__title { margin-bottom: 6px !important; color: var(--sbms-dark) !important; }
.sbms-hello__title { font-size: 20px; line-height: 1.25; }
.sbms-hello__text { color: var(--sbms-muted); font-size: 15px; margin-top: 2px !important; }

/* Card */
.sbms-card {
	background: var(--sbms-card);
	border: 1px solid var(--sbms-line);
	border-radius: 16px;
	padding: 16px;
	display: grid;
	gap: 14px;
	min-width: 0;
}
.sbms-card--payment_failed { border-color: #e5a5a5; }
.sbms-card--pending_payment { border-color: #e8cf7a; }
.sbms-card__head { display: grid; gap: 6px; justify-items: start; }
.sbms-card__title { font-size: 20px; line-height: 1.3; overflow-wrap: anywhere; }
.sbms-card__message { font-size: 15px; }
/* Short address warning right before the pay button (only when the order's address differs). */
.sbms-card__warning { font-size: 15px; font-weight: 700; line-height: 1.4; color: var(--sbms-warn); border-left: 4px solid var(--sbms-cta-h); background: var(--sbms-warn-bg); border-radius: 6px; padding: 8px 12px; overflow-wrap: anywhere; }
/* Longer address explanation under the pay button. */
.sbms-card__notice { font-size: 14px; color: var(--sbms-muted); overflow-wrap: anywhere; margin-top: -4px !important; }

.sbms-badge {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	border-radius: 999px;
	padding: 3px 10px;
	background: #eef0f1;
	color: var(--sbms-dark);
}
.sbms-badge--active, .sbms-badge--payment_processing { background: var(--sbms-teal-bg); color: #005c5c; }
.sbms-badge--payment_failed { background: var(--sbms-err-bg); color: var(--sbms-err); }
.sbms-badge--pending_payment { background: var(--sbms-warn-bg); color: var(--sbms-warn); }

/* The one figure for this state: next payment (active), amount to pay, end date … */
.sbms-highlight { background: var(--sbms-soft); border-radius: 12px; padding: 12px 14px; display: grid; gap: 2px; }
.sbms-highlight dt { font-size: 13px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--sbms-muted); }
.sbms-highlight dd { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; }
.sbms-highlight__value { font-size: 22px; font-weight: 700; line-height: 1.25; font-variant-numeric: tabular-nums; }
.sbms-highlight__detail { font-size: 17px; font-weight: 600; color: var(--sbms-dark); font-variant-numeric: tabular-nums; }
.sbms-card--payment_failed .sbms-highlight { background: var(--sbms-err-bg); }
.sbms-card--payment_failed .sbms-highlight dt { color: var(--sbms-err); }
.sbms-card--pending_payment .sbms-highlight { background: var(--sbms-warn-bg); }
.sbms-card--pending_payment .sbms-highlight dt { color: var(--sbms-warn); }

/* Facts */
.sbms-facts { display: grid; gap: 8px; }
.sbms-facts__row { display: grid; grid-template-columns: minmax(0, 40%) minmax(0, 1fr); gap: 12px; font-size: 15px; }
.sbms-facts dt { color: var(--sbms-muted); }
.sbms-facts dd { font-weight: 600; overflow-wrap: anywhere; }
.sbms-facts__row--address dd { font-weight: 400; }
/* Very narrow phones: label above value, so long Norwegian labels (e.g. "Leveringsadresse") never run into the value. */
@media (max-width: 379px) {
	.sbms-facts__row { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

/* Main action */
.sbms-primary { display: grid; }
.sbms-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 10px 20px;
	border-radius: 999px;
	border: 1px solid var(--sbms-line);
	background: var(--sbms-card);
	color: var(--sbms-ink) !important;
	font-size: 16px;
	font-weight: 600;
	text-align: center;
	text-decoration: none !important;
	overflow-wrap: anywhere;
}
.sbms-btn--primary { background: var(--sbms-cta); border-color: var(--sbms-cta); font-weight: 700; }
.sbms-btn--primary:hover { background: var(--sbms-cta-h); border-color: var(--sbms-cta-h); }

/* Other subscription actions: visible, but quieter than the main action */
.sbms-manage { display: grid; gap: 4px; border-top: 1px solid var(--sbms-line); padding-top: 12px; }
.sbms .sbms-manage__title { font-size: 14px; color: var(--sbms-muted) !important; font-weight: 600 !important; }
.sbms-manage__list { list-style: none; padding: 0 !important; display: grid; }
.sbms-manage__list li { margin: 0; padding: 0; }
.sbms .sbms-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 4px 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--sbms-teal) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}
.sbms .sbms-link--cancel { color: var(--sbms-err) !important; }
.sbms .sbms-link:hover { color: var(--sbms-ink) !important; }
.sbms-link__hint { display: block; font-size: 14px; color: var(--sbms-muted); margin: -6px 0 6px; }

.sbms-btn:focus-visible, .sbms .sbms-link:focus-visible { outline: 3px solid var(--sbms-teal); outline-offset: 2px; border-radius: 4px; }
.sbms-btn:focus-visible { border-radius: 999px; }

.sbms-previous { font-size: 14px; color: var(--sbms-muted); }
.sbms-previous__title { font-size: 14px; }
.sbms-previous__list { margin: 0; padding-left: 18px; }

/* ---- Pages built by Min side (Abonnement, abonnementsdetaljer, Ordrer, ordredetaljer, Adresser) ---- */
.sbms-card__number { font-size: 14px; color: var(--sbms-muted); }
.sbms-card--list .sbms-manage { border-top: 0; padding-top: 0; }
.sbms-section { display: grid; gap: 12px; min-width: 0; }
/* WooCommerce prints a page's parts one after another (card, contents, orders, addresses): space them like Oversikt. */
.woocommerce-MyAccount-content .sbms + .sbms, .woocommerce-MyAccount-content .sbms + section, .woocommerce-MyAccount-content section + .sbms { margin-top: 28px; }
/* Every account page like Oversikt, at every width: Min side's own cards, no extra frame from the widget around them. */
body.woocommerce-account .e-my-account-tab .woocommerce-MyAccount-content-wrapper { padding: 0 !important; border: 0 !important; }
.sbms .sbms-section__title { font-size: 18px; line-height: 1.3; }
.sbms-section__intro { font-size: 15px; color: var(--sbms-muted); }
.sbms-empty { background: var(--sbms-soft); border-radius: 12px; padding: 16px; display: grid; gap: 12px; justify-items: start; }

/* Lists of orders (Ordrer, and the orders on a subscription): one compact card per order */
.sbms-orders { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: 10px; }
.sbms-order { border: 1px solid var(--sbms-line); border-radius: 12px; padding: 12px 14px; display: grid; gap: 6px; background: var(--sbms-card); min-width: 0; }
.sbms-order__head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.sbms .sbms-order__number { font-size: 16px !important; font-weight: 700 !important; margin: 0 !important; color: var(--sbms-ink) !important; line-height: 1.3 !important; }
.sbms-order__meta { font-size: 14px; color: var(--sbms-muted); }
.sbms-order__total { font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.sbms-order__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; }
.sbms .sbms-order .sbms-link { min-height: 44px; }
.sbms-order .sbms-btn { min-height: 44px; flex: 1 1 100%; }

/* Line items and totals (subscription contents) */
.sbms-items { list-style: none; padding: 0 !important; margin: 0; display: grid; border-top: 1px solid var(--sbms-line); }
.sbms-items li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 10px 0; border-bottom: 1px solid var(--sbms-line); font-size: 15px; }
.sbms-items__name { font-weight: 600; overflow-wrap: anywhere; }
.sbms-items__sub { grid-column: 1 / -1; font-size: 14px; color: var(--sbms-muted); }
.sbms-items__price { font-variant-numeric: tabular-nums; text-align: right; }
/* Product Bundles: the parts of a bundle under the bundle */
.sbms-items li.sbms-items__child { padding-left: 16px; font-size: 14px; color: var(--sbms-muted); }
.sbms-items li.sbms-items__child .sbms-items__name { font-weight: 400; }
.sbms-totals { display: grid; gap: 6px; font-size: 15px; }
.sbms-totals > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
.sbms-totals dt { color: var(--sbms-muted); }
.sbms-totals dd { text-align: right; font-variant-numeric: tabular-nums; }
.sbms-totals__sum { border-top: 1px solid var(--sbms-line); padding-top: 8px; font-weight: 700; }
.sbms-totals__sum dt { color: var(--sbms-ink); }

/* Addresses */
.sbms-addresses { display: grid; gap: 12px; }
.sbms-address { border: 1px solid var(--sbms-line); border-radius: 12px; padding: 14px; display: grid; gap: 8px; align-content: start; background: var(--sbms-card); min-width: 0; }
.sbms .sbms-address__title { font-size: 16px !important; line-height: 1.3 !important; margin: 0 !important; font-weight: 700 !important; color: var(--sbms-ink) !important; }
/* Elementor's My Account script gives every <address> the same fixed height (inline style); ours follow their content. */
.sbms .sbms-address address { height: auto !important; font-style: normal !important; font-size: 15px !important; line-height: 1.5 !important; overflow-wrap: anywhere; margin: 0 !important; padding: 0 !important; border: 0 !important; color: var(--sbms-ink) !important; }
.sbms-address__note { font-size: 14px; color: var(--sbms-muted); }

/* WooCommerce Subscriptions' auto-renew switch (its own script): a 44 px target around WCS' small switch */
.sbms .subscription-auto-renew-toggle { display: inline-flex !important; align-items: center; justify-content: center; min-width: 56px; min-height: 44px; padding: 0 6px !important; margin: 0; background: none !important; border: 0 !important; cursor: pointer; }
.sbms .subscription-auto-renew-toggle:focus-visible { outline: 3px solid var(--sbms-teal); outline-offset: 2px; border-radius: 999px; }

/* Customer notes from the shop (order / subscription updates) */
.sbms-notes { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: 8px; }
.sbms-notes li { background: var(--sbms-soft); border-radius: 10px; padding: 10px 12px; font-size: 15px; overflow-wrap: anywhere; }
.sbms-notes time { display: block; font-size: 13px; color: var(--sbms-muted); }
.sbms-notes p { margin: 0; }

/* ---- WooCommerce's own parts on the account pages (notices, forms, order tables, login) ---- */
body.woocommerce-account .e-my-account-tab .woocommerce { font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; }
/* Notices: text first, then the button, never squeezed side by side on a narrow screen (WooCommerce floats it right). */
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-info,
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-message,
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-error {
	display: grid !important;
	gap: 10px;
	justify-items: start;
	margin: 0 0 16px !important;
	padding: 14px 16px !important;
	border: 0 !important;
	border-left: 4px solid var(--sbms-teal) !important;
	border-radius: 10px !important;
	background: var(--sbms-soft) !important;
	color: var(--sbms-ink) !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	list-style: none;
}
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-error { border-left-color: var(--sbms-err) !important; background: var(--sbms-err-bg) !important; }
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-info::before,
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-message::before,
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-error::before { display: none !important; content: none !important; }
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-info .button,
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-message .button,
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-error .button { float: none !important; margin: 0 !important; }

/* Buttons in WooCommerce's own forms and notices */
body.woocommerce-account .e-my-account-tab .woocommerce .button,
body.woocommerce-account .e-my-account-tab .woocommerce button[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px !important;
	padding: 10px 22px !important;
	border-radius: 999px !important;
	border: 1px solid var(--sbms-cta) !important;
	background: var(--sbms-cta) !important;
	color: var(--sbms-ink) !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	width: auto;
	max-width: 100%;
	white-space: normal;
	text-align: center;
}
body.woocommerce-account .e-my-account-tab .woocommerce .button:hover,
body.woocommerce-account .e-my-account-tab .woocommerce button[type="submit"]:hover { background: var(--sbms-cta-h) !important; border-color: var(--sbms-cta-h) !important; }
body.woocommerce-account .e-my-account-tab .woocommerce .order-again .button { background: #fff !important; border-color: var(--sbms-field) !important; font-weight: 600 !important; }
body.woocommerce-account .e-my-account-tab .woocommerce a:focus-visible,
body.woocommerce-account .e-my-account-tab .woocommerce button:focus-visible,
body.woocommerce-account .e-my-account-tab .woocommerce input:focus-visible { outline: 3px solid var(--sbms-teal) !important; outline-offset: 2px; }

/* Forms (Adresser, Kontodetaljer, login, lost password) */
body.woocommerce-account .e-my-account-tab .woocommerce form .form-row { display: grid; gap: 4px; margin: 0 0 14px !important; padding: 0 !important; width: 100% !important; float: none !important; }
body.woocommerce-account .e-my-account-tab .woocommerce form .form-row label { font-size: 15px !important; font-weight: 600 !important; color: var(--sbms-ink) !important; line-height: 1.4 !important; margin: 0 !important; }
/* Checkbox labels: the text wraps as one paragraph next to the box (WooCommerce's labels mix text and <strong>). */
body.woocommerce-account .e-my-account-tab .woocommerce form label.woocommerce-form__label-for-checkbox,
body.woocommerce-account .e-my-account-tab .woocommerce form .form-row label.checkbox { display: block !important; position: relative; padding: 10px 0 10px 32px !important; min-height: 44px; font-weight: 400 !important; line-height: 1.45 !important; }
body.woocommerce-account .e-my-account-tab .woocommerce form label.woocommerce-form__label-for-checkbox input[type="checkbox"],
body.woocommerce-account .e-my-account-tab .woocommerce form .form-row label.checkbox input[type="checkbox"] { position: absolute; left: 0; top: 11px; }
body.woocommerce-account .e-my-account-tab .woocommerce form input[type="checkbox"] { width: 24px; height: 24px; margin: 0; accent-color: var(--sbms-teal); }
body.woocommerce-account .e-my-account-tab .woocommerce form .input-text,
body.woocommerce-account .e-my-account-tab .woocommerce form select,
body.woocommerce-account .e-my-account-tab .woocommerce form .select2-selection {
	min-height: 48px !important;
	height: auto !important;
	padding: 10px 12px !important;
	border: 1px solid var(--sbms-field) !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--sbms-ink) !important;
	font-family: inherit !important;
	font-size: 16px !important; /* 16px: no zoom on focus in iOS Safari */
	line-height: 1.4 !important;
	box-shadow: none !important;
	width: 100% !important;
	max-width: 100%;
}
body.woocommerce-account .e-my-account-tab .woocommerce form .input-text:focus,
body.woocommerce-account .e-my-account-tab .woocommerce form select:focus { outline: 3px solid var(--sbms-teal) !important; outline-offset: 1px; border-color: var(--sbms-teal) !important; }
body.woocommerce-account .e-my-account-tab .woocommerce form .select2-selection__rendered { padding: 0 !important; line-height: 26px !important; color: var(--sbms-ink) !important; }
body.woocommerce-account .e-my-account-tab .woocommerce form .select2-selection__arrow { top: 11px !important; right: 8px !important; }
body.woocommerce-account .e-my-account-tab .woocommerce form em,
body.woocommerce-account .e-my-account-tab .woocommerce form .description { display: block; font-size: 14px !important; font-style: normal !important; color: var(--sbms-muted) !important; }
body.woocommerce-account .e-my-account-tab .woocommerce form fieldset { border: 1px solid var(--sbms-line) !important; border-radius: 12px !important; padding: 14px !important; margin: 8px 0 16px !important; min-width: 0; }
body.woocommerce-account .e-my-account-tab .woocommerce form legend { font-size: 16px !important; font-weight: 700 !important; padding: 0 6px !important; color: var(--sbms-ink) !important; }
body.woocommerce-account .e-my-account-tab .woocommerce form .password-input { display: block; position: relative; }
body.woocommerce-account .e-my-account-tab .woocommerce form .show-password-input { top: 50% !important; transform: translateY(-50%); right: 4px !important; min-width: 44px; min-height: 44px; }
body.woocommerce-account .e-my-account-tab .woocommerce .sbms-form-intro { font-size: 15px; color: var(--sbms-muted); margin: 0 0 16px; }
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-content form > h2,
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-content form > h3,
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-content .woocommerce-order-details__title,
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-content .woocommerce-column__title {
	font-family: inherit !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	margin: 0 0 12px !important;
	color: var(--sbms-ink) !important;
}

/* Login and lost password (guests) */
body.woocommerce-account:not(.logged-in) .e-my-account-tab .woocommerce { display: grid; gap: 16px; max-width: 480px; margin: 0 auto; font-size: 15px; color: var(--sbms-ink); }
body.woocommerce-account:not(.logged-in) .e-my-account-tab .woocommerce > h2 { font-family: inherit !important; font-size: 22px !important; font-weight: 700 !important; margin: 8px 0 0 !important; line-height: 1.3 !important; color: var(--sbms-ink) !important; }
body.woocommerce-account:not(.logged-in) .e-my-account-tab .woocommerce form.login,
body.woocommerce-account:not(.logged-in) .e-my-account-tab .woocommerce form.lost_reset_password {
	border: 1px solid var(--sbms-line) !important;
	border-radius: 16px !important;
	padding: 18px 16px !important;
	margin: 0 !important;
	background: #fff;
}
body.woocommerce-account:not(.logged-in) .e-my-account-tab .woocommerce form.login .form-row:has(.woocommerce-form-login__submit) { display: grid !important; gap: 8px; }
body.woocommerce-account:not(.logged-in) .e-my-account-tab .woocommerce form.login .woocommerce-form-login__submit { width: 100% !important; float: none !important; margin: 0 !important; }
body.woocommerce-account:not(.logged-in) .e-my-account-tab .woocommerce .lost_password { margin: 0 !important; }
body.woocommerce-account:not(.logged-in) .e-my-account-tab .woocommerce .lost_password a { display: inline-flex; align-items: center; min-height: 44px; color: var(--sbms-teal) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
/* Login with Vipps: the plugin's own banner and login function, shown as a clear way in above the password form. */
body.woocommerce-account:not(.logged-in) .e-my-account-tab .woocommerce .vipps-banner.vipps-login {
	display: grid !important;
	gap: 10px;
	margin: 0 !important;
	padding: 16px !important;
	border: 1px solid var(--sbms-line) !important;
	border-radius: 16px !important;
	background: #fff !important;
	color: var(--sbms-ink) !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	cursor: default !important;
}
body.woocommerce-account:not(.logged-in) .vipps-banner.vipps-login .notice-logo { display: none !important; }
body.woocommerce-account:not(.logged-in) .vipps-banner .sbms-vipps-title { font-size: 18px; font-weight: 700; margin: 0; }
body.woocommerce-account:not(.logged-in) .vipps-banner .sbms-vipps-login {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 10px 22px;
	border-radius: 999px;
	background: #ff5b24;
	color: #fff !important;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none !important;
	text-align: center;
}
body.woocommerce-account:not(.logged-in) .vipps-banner .sbms-vipps-login:hover { background: #d9431a; }
body.woocommerce-account:not(.logged-in) .vipps-banner .sbms-vipps-login:focus-visible { outline: 3px solid var(--sbms-teal); outline-offset: 2px; }
body.woocommerce-account:not(.logged-in) .vipps-banner .sbms-vipps-text { color: var(--sbms-muted); font-size: 14px; margin: 0; }

/* Login with Vipps' "Hent adresser" (its own button and function) on Adresser */
body.woocommerce-account .e-my-account-tab .woocommerce .sbms .vipps-synch { background: #ff5b24 !important; border-color: #ff5b24 !important; color: #fff !important; justify-self: start; }
body.woocommerce-account .e-my-account-tab .woocommerce .sbms .vipps-synch:hover { background: #d9431a !important; border-color: #d9431a !important; }
body.woocommerce-account .e-my-account-tab .woocommerce .sbms .vipps-synch img { display: none; }

/* WooCommerce's order details table (ordredetaljer): readable rows instead of a wide table */
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-table--order-details { border: 0 !important; border-collapse: collapse; width: 100%; margin: 0 0 16px !important; font-size: 15px; table-layout: auto; }
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-table--order-details th,
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-table--order-details td { padding: 10px 0 !important; border: 0 !important; border-bottom: 1px solid var(--sbms-line) !important; background: none !important; vertical-align: top; text-align: left; color: var(--sbms-ink) !important; font-size: 15px !important; font-family: inherit !important; overflow-wrap: anywhere; }
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-table--order-details td:last-child,
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-table--order-details th:last-child { text-align: right !important; padding-left: 12px !important; white-space: nowrap; }
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-table--order-details thead th { font-size: 13px !important; text-transform: uppercase; letter-spacing: .03em; color: var(--sbms-muted) !important; font-weight: 600 !important; }
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-table--order-details tfoot th { font-weight: 400 !important; color: var(--sbms-muted) !important; }
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-table--order-details tfoot tr:last-child th,
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-table--order-details tfoot tr:last-child td { font-weight: 700 !important; color: var(--sbms-ink) !important; }
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-table--order-details .wc-item-meta { list-style: none; padding: 0; margin: 4px 0 0; font-size: 14px; color: var(--sbms-muted); }
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-table--order-details .wc-item-meta p { display: inline; margin: 0; }
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-table--order-details a { color: var(--sbms-ink) !important; text-decoration: none; font-weight: 600; }
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-order-details,
body.woocommerce-account .e-my-account-tab .woocommerce .woocommerce-customer-details { margin: 0 0 16px !important; }

/* Account menu where the Elementor widget stacks it above the content (phones and tablets, <= 1024px): a compact
   block of links at the top instead of a full-height stack, so the overview is
   on the first screen. Same DOM order as on desktop, so reading and keyboard order follow what is shown. */
@media (max-width: 1024px) {
	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 6px;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none;
	}
	body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; flex: 0 1 auto !important; width: auto !important; min-width: 0; }
	body.woocommerce-account .woocommerce-MyAccount-navigation li a {
		display: flex !important;
		align-items: center;
		min-height: 40px;
		padding: 6px 14px !important;
		border-radius: 999px !important;
		font-size: 15px !important;
		line-height: 1.3 !important;
		white-space: normal;
	}
	body.woocommerce-account .woocommerce-MyAccount-navigation li a:focus-visible { outline: 3px solid #007070; outline-offset: 2px; }
	body.woocommerce-account .e-my-account-tab .woocommerce-MyAccount-content { padding-top: 20px !important; }
}

@media (min-width: 768px) {
	.sbms-card { padding: 24px; gap: 16px; }
	.sbms-hello__title { font-size: 26px; }
	.sbms-card__title { font-size: 22px; }
	.sbms-primary { display: flex; }
	.sbms-primary .sbms-btn { min-width: 220px; }
	.sbms-facts__row { grid-template-columns: 180px minmax(0, 1fr); }
	.sbms-manage__list { display: flex; flex-wrap: wrap; gap: 0 24px; }
	.sbms-manage__list li:has(.sbms-link__hint) { flex-basis: 100%; }
	.sbms-order .sbms-btn { flex: 0 0 auto; min-width: 220px; }
	.sbms-link__hint { margin-top: -8px; }
}

/* Small phones: slightly smaller menu links so the menu takes fewer rows. */
@media (max-width: 400px) {
	body.woocommerce-account .woocommerce-MyAccount-navigation li a { min-height: 36px; padding: 5px 12px !important; font-size: 14px !important; }
	.sbms-hello__title { font-size: 19px; }
	.sbms-hello__text { font-size: 14px; }
}
