/**
 * D2 Account — Lag 2 stylesheet
 * --------------------------------------------------------------------
 * Plugin:        d2-account
 * Plugin prefix: .d2ac-
 * Page scope:    .d2-account-page (body class — alle /account/* URLs)
 * Per-endpoint:  .d2-account-page--{endpoint}
 *                  dashboard | orders | view-order | downloads |
 *                  edit-address | payment-methods | edit-account |
 *                  lost-password
 * DS-version:    3.4
 * Version:       1.0.0
 *
 * Konsumerer Lag 1-tokens fra digital2-childtheme/css/d2-tokens.css
 * (globalt enqueued, priority 1). Alle var()-kald har fallback så
 * stylesheet'et også fungerer hvis Lag 1 ikke er loaded.
 * --------------------------------------------------------------------
 */

/* ====================================================================
 * 1. PAGE-SCOPE RESET — eksakt samme baseline som d2-checkout
 * --------------------------------------------------------------------
 * v1.1.0: Divi-neutralisering fjernet — template_include bypasser hele
 * Divi-stakken (#page-container, #et-boc, #et-main-area, #main-content,
 * .container, #left-area, article, .entry-content). Body sidder direkte
 * inde i shell'en uden wrappere mellem sig og header/footer.
 * ==================================================================== */

body.d2-account-page,
body.d2-account-page * {
	box-sizing: border-box;
}

body.d2-account-page {
	background: var(--d2-surface-alt, #f7f7f7);
	color: var(--d2-ink-body, #292929);
	font-family: var(--d2-font-body, Arial, Helvetica, sans-serif);
	font-size: 16px;
	line-height: 1.55;
	margin: 0;
	-webkit-font-smoothing: antialiased;
}

body.d2-account-page h1,
body.d2-account-page h2,
body.d2-account-page h3,
body.d2-account-page h4 {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	color: var(--d2-ink, #222);
	margin: 0;
	letter-spacing: -0.015em;
}

body.d2-account-page a {
	color: var(--d2-orange, #fc8902);
	text-decoration: none;
}

body.d2-account-page a:hover {
	color: var(--d2-orange-hover, #e57a00);
}

/* ====================================================================
 * 2. SHELL HEADER (porteret 1:1 fra d2-checkout's d2cc-header — d2ac- prefix)
 * ==================================================================== */

.d2ac-header {
	background: var(--d2-ink-strong, #1a1a1a);
	border-bottom: none;
	padding: 20px 32px;
}

.d2ac-header__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
}

.d2ac-logo {
	font-family: var(--d2-font-display, 'Montserrat', sans-serif);
	font-weight: 800;
	font-size: 26px;
	color: #fff !important;
	letter-spacing: -0.04em;
	text-decoration: none;
	line-height: 1;
}

.d2ac-logo span {
	color: var(--d2-orange, #fc8902) !important;
}

.d2ac-logo:hover,
.d2ac-logo:focus {
	color: #fff !important;
	text-decoration: none;
}

.d2ac-header__help {
	font-family: var(--d2-font-display, 'Montserrat', sans-serif);
	font-weight: 600;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.85) !important;
	text-decoration: none;
	transition: color 0.15s var(--d2-ease, cubic-bezier(0.2, 0.8, 0.2, 1));
}

.d2ac-header__help:hover,
.d2ac-header__help:focus {
	color: var(--d2-orange, #fc8902) !important;
}

/* ====================================================================
 * 3. SHELL BODY — main account wrapper
 * ==================================================================== */

/* ====================================================================
 * 3. MAIN CONTAINER (matches d2-checkout's .d2cc-main)
 * ==================================================================== */

.d2ac-main {
	max-width: 1200px;
	margin: 24px auto 60px;
	padding: 0 24px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* WC's egen .woocommerce-wrapper inde i .d2ac-main */
body.d2-account-page .d2ac-main .woocommerce {
	font-family: var(--d2-font-body, Arial, sans-serif);
	color: var(--d2-ink, #222);
	font-size: 16px;
	line-height: 1.6;
}

body.d2-account-page .d2ac-main .woocommerce::after {
	content: "";
	display: block;
	clear: both;
}

/* Top notices wrapper */
body.d2-account-page .d2ac-main > .woocommerce-notices-wrapper {
	margin: 0 0 8px;
}

body.d2-account-page .d2ac-main > .woocommerce-notices-wrapper:empty {
	display: none;
}

/* ====================================================================
 * 4. DASHBOARD — hero
 * ==================================================================== */

.d2ac-dashboard {
	width: 100%;
}

.d2ac-dashboard__hero {
	margin-bottom: 48px;
	padding-bottom: 32px;
	border-bottom: 1px solid var(--d2-line, #e8e8e8);
}

.d2ac-dashboard__eyebrow {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--d2-orange, #fc8902);
	margin: 0 0 14px;
}

.d2ac-dashboard__heading {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 800;
	font-size: 44px;
	line-height: 1.1;
	letter-spacing: -0.015em;
	color: var(--d2-ink-strong, #1a1a1a);
	margin: 0 0 18px;
}

.d2ac-dashboard__heading em {
	font-style: italic;
	color: var(--d2-orange, #fc8902);
}

.d2ac-dashboard__lead {
	font-family: var(--d2-font-body, Arial, sans-serif);
	font-size: 18px;
	line-height: 1.6;
	color: var(--d2-ink-muted, #444);
	margin: 0;
	max-width: 640px;
}

/* ====================================================================
 * 5. DASHBOARD — sections
 * ==================================================================== */

.d2ac-dashboard__section {
	margin-bottom: 48px;
}

.d2ac-dashboard__section:last-child {
	margin-bottom: 0;
}

.d2ac-dashboard__section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 20px;
	gap: 12px;
	flex-wrap: wrap;
}

.d2ac-dashboard__section-title {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	font-size: 22px;
	letter-spacing: -0.01em;
	color: var(--d2-ink-strong, #1a1a1a);
	margin: 0;
}

.d2ac-dashboard__section-link {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	font-size: 14px;
	color: var(--d2-orange, #fc8902);
	text-decoration: none;
	transition: color 0.2s ease;
}

.d2ac-dashboard__section-link:hover {
	color: var(--d2-orange-hover, #e57a00);
	text-decoration: none;
}

/* ====================================================================
 * 6. RECENT ORDERS — kort-stil liste
 * ==================================================================== */

.d2ac-orders {
	display: grid;
	gap: 12px;
}

.d2ac-order {
	background: var(--d2-surface, #fff);
	border: 1px solid var(--d2-line, #e8e8e8);
	border-radius: var(--d2-radius-lg, 12px);
	padding: 20px 24px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px 24px;
	align-items: center;
	color: var(--d2-ink, #222);
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.d2ac-order:hover {
	border-color: var(--d2-line-strong, #d8d8d8);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.04);
	text-decoration: none;
	color: var(--d2-ink, #222);
	transform: translateY(-1px);
}

.d2ac-order__head {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.d2ac-order__number {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	font-size: 17px;
	color: var(--d2-ink-strong, #1a1a1a);
}

.d2ac-order__status {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: var(--d2-radius-sm, 4px);
	white-space: nowrap;
}

.d2ac-order__status--completed {
	background: rgba(34, 139, 34, 0.1);
	color: #1b6e1b;
}

.d2ac-order__status--processing,
.d2ac-order__status--on-hold {
	background: var(--d2-orange-tint, rgba(252, 137, 2, 0.12));
	color: var(--d2-orange-hover, #e57a00);
}

.d2ac-order__status--pending,
.d2ac-order__status--default {
	background: rgba(150, 150, 150, 0.12);
	color: var(--d2-ink-muted, #444);
}

.d2ac-order__status--cancelled,
.d2ac-order__status--refunded,
.d2ac-order__status--failed {
	background: rgba(153, 0, 0, 0.08);
	color: var(--d2-red-link, #990000);
}

.d2ac-order__meta {
	grid-column: 1 / 2;
	display: flex;
	gap: 18px;
	font-family: var(--d2-font-body, Arial, sans-serif);
	font-size: 14px;
	color: var(--d2-ink-muted, #444);
}

.d2ac-order__foot {
	grid-row: 1 / 3;
	grid-column: 2 / 3;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	text-align: right;
}

.d2ac-order__total {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	font-size: 18px;
	color: var(--d2-ink-strong, #1a1a1a);
}

.d2ac-order__total .amount,
.d2ac-order__total bdi {
	font-family: inherit;
	color: inherit;
}

.d2ac-order__cta {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	font-size: 13px;
	color: var(--d2-orange, #fc8902);
	transition: color 0.2s ease, transform 0.2s ease;
}

.d2ac-order:hover .d2ac-order__cta {
	color: var(--d2-orange-hover, #e57a00);
}

/* ====================================================================
 * 7. EMPTY STATE
 * ==================================================================== */

.d2ac-empty {
	background: var(--d2-surface, #fff);
	border: 1px dashed var(--d2-line-strong, #d8d8d8);
	border-radius: var(--d2-radius-lg, 12px);
	padding: 48px 32px;
	text-align: center;
}

.d2ac-empty p {
	font-family: var(--d2-font-body, Arial, sans-serif);
	font-size: 17px;
	color: var(--d2-ink-muted, #444);
	margin: 0 0 24px;
}

.d2ac-btn {
	display: inline-block;
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.02em;
	padding: 12px 24px;
	border-radius: var(--d2-radius-md, 6px);
	text-decoration: none;
	border: 0;
	cursor: pointer;
	transition: background 0.2s var(--d2-ease, cubic-bezier(0.2, 0.8, 0.2, 1)), color 0.2s ease;
	line-height: 1.2;
}

.d2ac-btn--primary {
	background: var(--d2-orange, #fc8902);
	color: #fff !important;
}

.d2ac-btn--primary:hover {
	background: var(--d2-orange-hover, #e57a00);
	color: #fff !important;
	text-decoration: none;
}

/* ====================================================================
 * 8. QUICKLINKS — kort-grid
 * ==================================================================== */

.d2ac-quicklinks {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 14px;
}

.d2ac-quicklink {
	background: var(--d2-surface, #fff);
	border: 1px solid var(--d2-line, #e8e8e8);
	border-radius: var(--d2-radius-lg, 12px);
	padding: 18px 20px;
	display: grid;
	grid-template-columns: 44px 1fr auto;
	align-items: center;
	gap: 14px;
	text-decoration: none;
	color: var(--d2-ink, #222);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.d2ac-quicklink:hover {
	border-color: var(--d2-orange, #fc8902);
	box-shadow: 0 6px 18px rgba(252, 137, 2, 0.10);
	color: var(--d2-ink, #222);
	text-decoration: none;
	transform: translateY(-2px);
}

.d2ac-quicklink__icon {
	width: 44px;
	height: 44px;
	border-radius: var(--d2-radius-md, 6px);
	background-color: var(--d2-orange-soft, rgba(252, 137, 2, 0.07));
	background-image: var(--d2ac-icon, none);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px 22px;
	flex-shrink: 0;
	transition: background-color 0.2s ease;
}

.d2ac-quicklink:hover .d2ac-quicklink__icon {
	background-color: var(--d2-orange-tint, rgba(252, 137, 2, 0.14));
}

.d2ac-quicklink__icon--orders {
	--d2ac-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc8902' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/><line x1='3' y1='6' x2='21' y2='6'/><path d='M16 10a4 4 0 0 1-8 0'/></svg>");
}

.d2ac-quicklink__icon--downloads {
	--d2ac-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc8902' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='15' x2='12' y2='3'/></svg>");
}

.d2ac-quicklink__icon--address {
	--d2ac-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc8902' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>");
}

.d2ac-quicklink__icon--payment {
	--d2ac-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc8902' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='5' width='20' height='14' rx='2'/><line x1='2' y1='10' x2='22' y2='10'/></svg>");
}

.d2ac-quicklink__icon--settings {
	--d2ac-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc8902' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'/><path d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09a1.65 1.65 0 0 0-1.08-1.51 1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09a1.65 1.65 0 0 0 1.51-1.08 1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/></svg>");
}

.d2ac-quicklink__icon--logout {
	--d2ac-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc8902' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/><polyline points='16 17 21 12 16 7'/><line x1='21' y1='12' x2='9' y2='12'/></svg>");
}

.d2ac-quicklink__body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.d2ac-quicklink__label {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	font-size: 16px;
	color: var(--d2-ink-strong, #1a1a1a);
}

.d2ac-quicklink__desc {
	font-family: var(--d2-font-body, Arial, sans-serif);
	font-size: 13px;
	color: var(--d2-ink-muted, #444);
	line-height: 1.4;
}

.d2ac-quicklink__arrow {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-size: 18px;
	color: var(--d2-ink-faint, #666);
	transition: color 0.2s ease, transform 0.2s ease;
	flex-shrink: 0;
}

.d2ac-quicklink:hover .d2ac-quicklink__arrow {
	color: var(--d2-orange, #fc8902);
	transform: translateX(4px);
}

/* ====================================================================
 * 9. SUBSIDIARY ENDPOINTS — baseline styling af WC's default markup
 * --------------------------------------------------------------------
 * Sørger for at orders/downloads/edit-address/payment-methods/edit-account
 * ikke ser brudt ud inde i closed shell. Ingen layout-redesign — kun
 * font, spacing, farver og knapper bringes i tråd med D2 design system.
 * ==================================================================== */

/* My Account sidebar (vises kun på subsidiary endpoints, IKKE dashboard) */
body.d2-account-page--dashboard .woocommerce-MyAccount-navigation {
	display: none;
}

body.d2-account-page--dashboard .woocommerce-MyAccount-content {
	width: 100%;
	float: none;
}

body.d2-account-page:not(.d2-account-page--dashboard) .woocommerce-MyAccount-navigation {
	width: 240px;
	float: left;
	margin-right: 40px;
}

body.d2-account-page:not(.d2-account-page--dashboard) .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	background: var(--d2-surface, #fff);
	border: 1px solid var(--d2-line, #e8e8e8);
	border-radius: var(--d2-radius-lg, 12px);
	overflow: hidden;
}

body.d2-account-page .woocommerce-MyAccount-navigation li {
	margin: 0;
	border-bottom: 1px solid var(--d2-line, #e8e8e8);
}

body.d2-account-page .woocommerce-MyAccount-navigation li:last-child {
	border-bottom: 0;
}

body.d2-account-page .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 13px 18px;
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 600;
	font-size: 14px;
	color: var(--d2-ink, #222);
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

body.d2-account-page .woocommerce-MyAccount-navigation li a:hover {
	background: var(--d2-orange-soft, rgba(252, 137, 2, 0.06));
	color: var(--d2-orange, #fc8902);
}

body.d2-account-page .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--d2-orange, #fc8902);
	color: #fff;
}

body.d2-account-page:not(.d2-account-page--dashboard) .woocommerce-MyAccount-content {
	width: calc(100% - 280px);
	float: left;
}

/* Headings inde i endpoints */
body.d2-account-page .woocommerce-MyAccount-content > h2,
body.d2-account-page .woocommerce-MyAccount-content > h3 {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--d2-ink-strong, #1a1a1a);
	margin: 0 0 20px;
}

body.d2-account-page .woocommerce-MyAccount-content > h2 { font-size: 26px; }
body.d2-account-page .woocommerce-MyAccount-content > h3 { font-size: 20px; }

body.d2-account-page .woocommerce-MyAccount-content p {
	font-family: var(--d2-font-body, Arial, sans-serif);
	font-size: 15px;
	line-height: 1.65;
	color: var(--d2-ink-body, #292929);
	margin: 0 0 16px;
}

/* Tabeller (orders, downloads) */
body.d2-account-page table.shop_table,
body.d2-account-page table.woocommerce-orders-table,
body.d2-account-page table.account-orders-table,
body.d2-account-page table.woocommerce-MyAccount-downloads {
	width: 100%;
	border: 1px solid var(--d2-line, #e8e8e8);
	border-radius: var(--d2-radius-lg, 12px);
	background: var(--d2-surface, #fff);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	margin: 0 0 24px;
}

body.d2-account-page table.shop_table th {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--d2-ink-muted, #444);
	background: var(--d2-surface-alt, #f7f7f7);
	text-align: left;
	padding: 14px 18px;
	border-bottom: 1px solid var(--d2-line, #e8e8e8);
}

body.d2-account-page table.shop_table td {
	padding: 16px 18px;
	border-bottom: 1px solid var(--d2-line, #e8e8e8);
	font-family: var(--d2-font-body, Arial, sans-serif);
	font-size: 15px;
	color: var(--d2-ink, #222);
	vertical-align: middle;
}

body.d2-account-page table.shop_table tbody tr:last-child td {
	border-bottom: 0;
}

/* Status-badges i orders table */
body.d2-account-page .woocommerce-orders-table__cell-order-status mark,
body.d2-account-page .order-status {
	display: inline-block;
	background: var(--d2-orange-tint, rgba(252, 137, 2, 0.12));
	color: var(--d2-orange-hover, #e57a00);
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: var(--d2-radius-sm, 4px);
}

body.d2-account-page .woocommerce-orders-table__cell-order-status mark.completed,
body.d2-account-page .order-status.status-completed {
	background: rgba(34, 139, 34, 0.1);
	color: #1b6e1b;
}

body.d2-account-page .woocommerce-orders-table__cell-order-status mark.cancelled,
body.d2-account-page .woocommerce-orders-table__cell-order-status mark.failed,
body.d2-account-page .woocommerce-orders-table__cell-order-status mark.refunded {
	background: rgba(153, 0, 0, 0.08);
	color: var(--d2-red-link, #990000);
}

/* Knapper og inputs */
body.d2-account-page .woocommerce-MyAccount-content .button,
body.d2-account-page .woocommerce-MyAccount-content button.button,
body.d2-account-page .woocommerce-MyAccount-content input[type="submit"],
body.d2-account-page .woocommerce-MyAccount-content button[type="submit"] {
	display: inline-block;
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif) !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: 0.02em;
	padding: 11px 22px !important;
	background: var(--d2-orange, #fc8902) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: var(--d2-radius-md, 6px) !important;
	cursor: pointer;
	transition: background 0.2s var(--d2-ease, cubic-bezier(0.2, 0.8, 0.2, 1)) !important;
	text-decoration: none !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	box-shadow: none !important;
}

body.d2-account-page .woocommerce-MyAccount-content .button:hover,
body.d2-account-page .woocommerce-MyAccount-content button.button:hover,
body.d2-account-page .woocommerce-MyAccount-content input[type="submit"]:hover,
body.d2-account-page .woocommerce-MyAccount-content button[type="submit"]:hover {
	background: var(--d2-orange-hover, #e57a00) !important;
	color: #fff !important;
}

/* Form-felter */
body.d2-account-page .woocommerce-MyAccount-content input[type="text"],
body.d2-account-page .woocommerce-MyAccount-content input[type="email"],
body.d2-account-page .woocommerce-MyAccount-content input[type="tel"],
body.d2-account-page .woocommerce-MyAccount-content input[type="password"],
body.d2-account-page .woocommerce-MyAccount-content input[type="number"],
body.d2-account-page .woocommerce-MyAccount-content textarea,
body.d2-account-page .woocommerce-MyAccount-content select {
	width: 100%;
	padding: 12px 14px !important;
	font-family: var(--d2-font-body, Arial, sans-serif) !important;
	font-size: 15px !important;
	color: var(--d2-ink, #222) !important;
	background: var(--d2-surface, #fff) !important;
	border: 1px solid var(--d2-line, #e8e8e8) !important;
	border-radius: var(--d2-radius-md, 6px) !important;
	box-shadow: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	line-height: 1.4;
}

body.d2-account-page .woocommerce-MyAccount-content input:focus,
body.d2-account-page .woocommerce-MyAccount-content textarea:focus,
body.d2-account-page .woocommerce-MyAccount-content select:focus {
	border-color: var(--d2-orange, #fc8902) !important;
	outline: 0;
	box-shadow: 0 0 0 3px rgba(252, 137, 2, 0.15) !important;
}

body.d2-account-page .woocommerce-MyAccount-content label {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 600;
	font-size: 14px;
	color: var(--d2-ink, #222);
	margin: 0 0 6px;
	display: block;
}

body.d2-account-page .woocommerce-MyAccount-content .form-row {
	margin: 0 0 18px;
	padding: 0;
}

/* Adresser-grid (edit-address) */
body.d2-account-page .u-columns,
body.d2-account-page .woocommerce-Addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin: 0 0 24px;
}

body.d2-account-page .woocommerce-Address {
	background: var(--d2-surface, #fff);
	border: 1px solid var(--d2-line, #e8e8e8);
	border-radius: var(--d2-radius-lg, 12px);
	padding: 24px;
	width: auto !important;
	float: none !important;
}

body.d2-account-page .woocommerce-Address-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--d2-line, #e8e8e8);
}

body.d2-account-page .woocommerce-Address-title h2,
body.d2-account-page .woocommerce-Address-title h3 {
	margin: 0 !important;
	font-size: 18px !important;
}

body.d2-account-page .woocommerce-Address-title .edit {
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	font-size: 13px;
	color: var(--d2-orange, #fc8902);
	text-decoration: none;
}

body.d2-account-page .woocommerce-Address-title .edit:hover {
	color: var(--d2-orange-hover, #e57a00);
}

body.d2-account-page address {
	font-family: var(--d2-font-body, Arial, sans-serif);
	font-style: normal;
	font-size: 15px;
	line-height: 1.65;
	color: var(--d2-ink-body, #292929);
}

/* WC notices */
body.d2-account-page .woocommerce-notices-wrapper:empty {
	display: none;
}

body.d2-account-page .woocommerce-message,
body.d2-account-page .woocommerce-info,
body.d2-account-page .woocommerce-error {
	background: var(--d2-surface, #fff);
	border: 1px solid var(--d2-line, #e8e8e8);
	border-left: 4px solid var(--d2-orange, #fc8902);
	border-radius: var(--d2-radius-md, 6px);
	padding: 14px 20px;
	margin: 0 0 24px;
	font-family: var(--d2-font-body, Arial, sans-serif);
	font-size: 15px;
	color: var(--d2-ink, #222);
	list-style: none;
}

body.d2-account-page .woocommerce-error {
	border-left-color: var(--d2-red-link, #990000);
}

body.d2-account-page .woocommerce-message::before,
body.d2-account-page .woocommerce-info::before,
body.d2-account-page .woocommerce-error::before {
	display: none !important;
}

body.d2-account-page .woocommerce-message a.button,
body.d2-account-page .woocommerce-info a.button {
	margin-left: 12px;
}

/* ====================================================================
 * 9b. LOGIN / REGISTER / LOST-PASSWORD (logged-out flows)
 * --------------------------------------------------------------------
 * WC's [woocommerce_my_account]-shortcode renderer login + register
 * side-om-side på /account/ når ikke logget ind. Markup:
 *   #customer_login.u-columns.col2-set
 *     .u-column1.col-1   → <h2>Log ind</h2> + .woocommerce-form-login
 *     .u-column2.col-2   → <h2>Opret en kundekonto</h2> + .woocommerce-form-register
 *
 * Header'en sidder UDEN for selve formen — direkte i kolonnen.
 * Knapper og inputs er UDEN for .woocommerce-MyAccount-content,
 * så Section 9-stylingen rammer dem ikke. Derfor egen styling her.
 *
 * Divi-defaults der skal overrules:
 *   - Knapper: font-size:20px; background:transparent; border:2px solid #2EA3F2; color:#2EA3F2
 *   - Inputs:  background:#eee; border-width:0; border-radius:0; padding:16px; color:#999
 * Bruger !important + høj-specificity selectors fordi Divi's selektorer er meget specifikke.
 * ==================================================================== */

/* 2-col grid på desktop (matches WC's faktiske markup: .u-columns.col2-set) */
body.d2-account-page #customer_login.u-columns,
body.d2-account-page .u-columns.col2-set,
body.d2-account-page .u-columns--2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	margin: 16px 0 0;
	max-width: 1080px;
	margin-left: auto;
	margin-right: auto;
}

/* v1.1.4: Undertryk WC's clearfix-pseudo-elementer på alle .col2-set.
 * WC's woocommerce-layout.css sætter:
 *   .woocommerce .col2-set::before, .col2-set::after { content: " "; display: table; }
 *   .woocommerce .col2-set::after { clear: both; }
 * Når parent ændres til display:grid bliver disse pseudo-elementer til grid items
 * og skubber .col-1/.col-2 til diagonale celler (login højre-top, register venstre-bund).
 * Rammer både #customer_login (login-side) og .woocommerce-customer-details (view-order). */
body.d2-account-page .col2-set::before,
body.d2-account-page .col2-set::after,
body.d2-account-page .u-columns::before,
body.d2-account-page .u-columns::after {
	content: none !important;
	display: none !important;
}

/* Reset Divi/WC float-defaults på kolonner */
body.d2-account-page .col-1,
body.d2-account-page .col-2,
body.d2-account-page .u-column1,
body.d2-account-page .u-column2 {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* H2 ovenfor hver formularkolonne ("Log ind", "Opret en kundekonto") */
body.d2-account-page #customer_login .col-1 > h2,
body.d2-account-page #customer_login .col-2 > h2,
body.d2-account-page #customer_login .u-column1 > h2,
body.d2-account-page #customer_login .u-column2 > h2 {
	font-family: var(--d2-font-display, 'Montserrat', sans-serif) !important;
	font-weight: 800 !important;
	font-size: 24px !important;
	letter-spacing: -0.015em;
	color: var(--d2-ink-strong, #1a1a1a) !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
}

/* Form-card */
body.d2-account-page .woocommerce-form-login,
body.d2-account-page .woocommerce-form-register,
body.d2-account-page .woocommerce-ResetPassword {
	background: var(--d2-surface, #fff);
	border: 1px solid var(--d2-line, #e8e8e8);
	border-radius: var(--d2-radius-lg, 12px);
	padding: 28px;
	max-width: 100%;
	margin: 0;
}

/* Lost-password er typisk single-column — center'es i sin egen wrapper */
body.d2-account-page .woocommerce-ResetPassword {
	max-width: 480px;
	margin: 32px auto;
}

/* Google Site Kit's "Sign in with Google" knap-container — kun spacing,
   lad selve knappen rendere som Google's egen design (Site Kit injicerer
   den via JS efter sideload) */
body.d2-account-page .googlesitekit-sign-in-with-google__frontend-output-button {
	margin: 0 0 18px !important;
	padding: 0 !important;
	min-height: 40px;
}

/* Form-row spacing */
body.d2-account-page .woocommerce-form-login .form-row,
body.d2-account-page .woocommerce-form-register .form-row,
body.d2-account-page .woocommerce-ResetPassword .form-row {
	margin: 0 0 16px !important;
	padding: 0 !important;
	display: block;
}

/* Labels */
body.d2-account-page .woocommerce-form-login label,
body.d2-account-page .woocommerce-form-register label,
body.d2-account-page .woocommerce-ResetPassword label {
	font-family: var(--d2-font-display, 'Montserrat', sans-serif);
	font-weight: 600;
	font-size: 14px;
	color: var(--d2-ink, #222);
	margin: 0 0 6px;
	display: block;
}

/* Inputs — overrule Divi's #eee bg + zero border-width */
body.d2-account-page .woocommerce-form-login input.input-text,
body.d2-account-page .woocommerce-form-register input.input-text,
body.d2-account-page .woocommerce-ResetPassword input.input-text,
body.d2-account-page .woocommerce-form-login input[type="text"],
body.d2-account-page .woocommerce-form-login input[type="email"],
body.d2-account-page .woocommerce-form-login input[type="password"],
body.d2-account-page .woocommerce-form-register input[type="text"],
body.d2-account-page .woocommerce-form-register input[type="email"],
body.d2-account-page .woocommerce-form-register input[type="password"],
body.d2-account-page .woocommerce-ResetPassword input[type="text"],
body.d2-account-page .woocommerce-ResetPassword input[type="email"] {
	width: 100% !important;
	padding: 12px 14px !important;
	font-family: var(--d2-font-body, Arial, sans-serif) !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
	color: var(--d2-ink, #222) !important;
	background: var(--d2-surface, #fff) !important;
	background-color: var(--d2-surface, #fff) !important;
	border: 1px solid var(--d2-line, #e8e8e8) !important;
	border-radius: var(--d2-radius-md, 6px) !important;
	border-width: 1px !important;
	box-shadow: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.d2-account-page .woocommerce-form-login input.input-text:focus,
body.d2-account-page .woocommerce-form-register input.input-text:focus,
body.d2-account-page .woocommerce-ResetPassword input.input-text:focus,
body.d2-account-page .woocommerce-form-login input[type="text"]:focus,
body.d2-account-page .woocommerce-form-login input[type="email"]:focus,
body.d2-account-page .woocommerce-form-login input[type="password"]:focus,
body.d2-account-page .woocommerce-form-register input[type="text"]:focus,
body.d2-account-page .woocommerce-form-register input[type="email"]:focus,
body.d2-account-page .woocommerce-form-register input[type="password"]:focus,
body.d2-account-page .woocommerce-ResetPassword input[type="text"]:focus,
body.d2-account-page .woocommerce-ResetPassword input[type="email"]:focus {
	border-color: var(--d2-orange, #fc8902) !important;
	color: var(--d2-ink, #222) !important;
	outline: 0;
	box-shadow: 0 0 0 3px rgba(252, 137, 2, 0.15) !important;
}

/* Submit-knapper — overrule Divi's blå default (#2EA3F2) med D2-orange */
body.d2-account-page .woocommerce-form-login button.button,
body.d2-account-page .woocommerce-form-login .woocommerce-button.button,
body.d2-account-page .woocommerce-form-login .woocommerce-form-login__submit,
body.d2-account-page .woocommerce-form-register button.button,
body.d2-account-page .woocommerce-form-register .woocommerce-Button.button,
body.d2-account-page .woocommerce-form-register .woocommerce-form-register__submit,
body.d2-account-page .woocommerce-ResetPassword button.button,
body.d2-account-page .woocommerce-ResetPassword input[type="submit"] {
	display: inline-block !important;
	font-family: var(--d2-font-display, 'Montserrat', sans-serif) !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: 0.02em !important;
	text-transform: none !important;
	padding: 11px 22px !important;
	line-height: 1.2 !important;
	background: var(--d2-orange, #fc8902) !important;
	color: #fff !important;
	border: 0 !important;
	border-width: 0 !important;
	border-radius: var(--d2-radius-md, 6px) !important;
	cursor: pointer;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background 0.2s var(--d2-ease, ease) !important;
}

body.d2-account-page .woocommerce-form-login button.button:hover,
body.d2-account-page .woocommerce-form-login .woocommerce-form-login__submit:hover,
body.d2-account-page .woocommerce-form-register button.button:hover,
body.d2-account-page .woocommerce-form-register .woocommerce-form-register__submit:hover,
body.d2-account-page .woocommerce-ResetPassword button.button:hover,
body.d2-account-page .woocommerce-ResetPassword input[type="submit"]:hover {
	background: var(--d2-orange-hover, #e57a00) !important;
	color: #fff !important;
	border: 0 !important;
	padding: 11px 22px !important;
}

/* Divi tilføjer ::after-arrow på alle .button elements — fjern på vores knapper */
body.d2-account-page .woocommerce-form-login button.button::after,
body.d2-account-page .woocommerce-form-login button.button::before,
body.d2-account-page .woocommerce-form-register button.button::after,
body.d2-account-page .woocommerce-form-register button.button::before,
body.d2-account-page .woocommerce-ResetPassword button.button::after,
body.d2-account-page .woocommerce-ResetPassword button.button::before {
	display: none !important;
	content: none !important;
}

/* "Husk mig"-rækken — checkbox + submit-knap på samme linje */
body.d2-account-page .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin: 8px 0 4px !important;
}

body.d2-account-page .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--d2-font-body, Arial, sans-serif);
	font-size: 14px;
	color: var(--d2-ink-muted, #444);
	font-weight: 400;
	margin: 0 !important;
	cursor: pointer;
}

body.d2-account-page .woocommerce-form-login__rememberme input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: var(--d2-orange, #fc8902);
}

/* "Mistet din adgangskode?"-link */
body.d2-account-page .woocommerce-LostPassword,
body.d2-account-page .lost_password {
	margin: 12px 0 0 !important;
	font-size: 14px;
}

body.d2-account-page .woocommerce-LostPassword a,
body.d2-account-page .lost_password a {
	color: var(--d2-orange, #fc8902) !important;
	font-family: var(--d2-font-display, 'Montserrat', sans-serif);
	font-weight: 600;
	text-decoration: none;
}

body.d2-account-page .woocommerce-LostPassword a:hover,
body.d2-account-page .lost_password a:hover {
	color: var(--d2-orange-hover, #e57a00) !important;
	text-decoration: underline;
}

/* Register-formularens forklarings-tekst */
body.d2-account-page .woocommerce-form-register > p,
body.d2-account-page .woocommerce-privacy-policy-text p {
	font-family: var(--d2-font-body, Arial, sans-serif);
	font-size: 13px;
	line-height: 1.55;
	color: var(--d2-ink-muted, #444);
	margin: 0 0 14px;
}

body.d2-account-page .woocommerce-privacy-policy-text {
	margin: 0 0 16px;
}

body.d2-account-page .woocommerce-privacy-policy-link {
	color: var(--d2-orange, #fc8902) !important;
	font-weight: 600;
}

/* Påkrævet-asterisk */
body.d2-account-page .woocommerce-form .required {
	color: var(--d2-red-link, #990000);
	text-decoration: none;
	margin-left: 2px;
}

/* View-order details */
body.d2-account-page .woocommerce-order-details,
body.d2-account-page .woocommerce-customer-details {
	margin-bottom: 32px;
}

body.d2-account-page .woocommerce-customer-details .col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

body.d2-account-page .woocommerce-customer-details .col2-set .col-1,
body.d2-account-page .woocommerce-customer-details .col2-set .col-2 {
	background: var(--d2-surface, #fff);
	border: 1px solid var(--d2-line, #e8e8e8);
	border-radius: var(--d2-radius-lg, 12px);
	padding: 20px 24px;
}

/* Pagination */
body.d2-account-page .woocommerce-pagination ul {
	display: flex;
	gap: 6px;
	justify-content: center;
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
	border: 0;
}

body.d2-account-page .woocommerce-pagination ul li {
	margin: 0;
	border: 0;
}

body.d2-account-page .woocommerce-pagination ul li a,
body.d2-account-page .woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
	font-weight: 700;
	font-size: 14px;
	color: var(--d2-ink, #222);
	background: var(--d2-surface, #fff);
	border: 1px solid var(--d2-line, #e8e8e8);
	border-radius: var(--d2-radius-md, 6px);
	text-decoration: none;
	transition: all 0.15s ease;
}

body.d2-account-page .woocommerce-pagination ul li a:hover {
	border-color: var(--d2-orange, #fc8902);
	color: var(--d2-orange, #fc8902);
}

body.d2-account-page .woocommerce-pagination ul li span.current {
	background: var(--d2-orange, #fc8902);
	border-color: var(--d2-orange, #fc8902);
	color: #fff;
}

/* ====================================================================
 * 10. SHELL FOOTER
 * ==================================================================== */

.d2ac-shell-footer {
	background: var(--d2-ink-strong, #1a1a1a);
	color: rgba(255, 255, 255, 0.6);
	margin-top: 0;
}

.d2ac-shell-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	font-family: var(--d2-font-body, Arial, sans-serif);
	font-size: 13px;
}

.d2ac-shell-footer a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	transition: color 0.2s ease;
}

.d2ac-shell-footer a:hover {
	color: var(--d2-orange, #fc8902);
	text-decoration: none;
}

/* ====================================================================
 * 11. RESPONSIVE
 * ==================================================================== */

@media (max-width: 980px) {
	.d2ac-main {
		padding: 0 20px;
		margin: 20px auto 48px;
	}

	.d2ac-shell-footer__inner {
		padding: 14px 20px;
	}

	.d2ac-dashboard__heading {
		font-size: 32px;
	}

	.d2ac-dashboard__lead {
		font-size: 16px;
	}

	body.d2-account-page:not(.d2-account-page--dashboard) .woocommerce-MyAccount-navigation,
	body.d2-account-page:not(.d2-account-page--dashboard) .woocommerce-MyAccount-content {
		width: 100%;
		float: none;
		margin: 0 0 24px;
	}

	body.d2-account-page #customer_login.u-columns,
	body.d2-account-page .u-columns.col2-set,
	body.d2-account-page .u-columns,
	body.d2-account-page .woocommerce-Addresses,
	body.d2-account-page .u-columns--2,
	body.d2-account-page .woocommerce-customer-details .col2-set {
		grid-template-columns: 1fr;
	}

	/* Login/register form padding reduceres på mobile */
	body.d2-account-page .woocommerce-form-login,
	body.d2-account-page .woocommerce-form-register,
	body.d2-account-page .woocommerce-ResetPassword {
		padding: 20px;
	}
}

@media (max-width: 720px) {
	.d2ac-main {
		padding: 0 16px;
		margin: 16px auto 40px;
	}

	.d2ac-header {
		padding: 16px 20px;
	}

	.d2ac-shell-footer__inner {
		padding: 12px 16px;
	}

	.d2ac-dashboard__hero {
		margin-bottom: 32px;
		padding-bottom: 24px;
	}

	.d2ac-dashboard__heading {
		font-size: 26px;
	}

	.d2ac-dashboard__lead {
		font-size: 15px;
	}

	.d2ac-dashboard__section {
		margin-bottom: 32px;
	}

	.d2ac-dashboard__section-title {
		font-size: 18px;
	}

	.d2ac-order {
		grid-template-columns: 1fr;
		padding: 16px 18px;
	}

	.d2ac-order__foot {
		grid-row: auto;
		grid-column: auto;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		margin-top: 8px;
		padding-top: 12px;
		border-top: 1px solid var(--d2-line, #e8e8e8);
	}

	.d2ac-quicklinks {
		grid-template-columns: 1fr;
	}

	/* Tabel-mobil-layout (orders, downloads): kort-stil */
	body.d2-account-page table.shop_table thead {
		display: none;
	}

	body.d2-account-page table.shop_table tbody tr {
		display: block;
		background: var(--d2-surface, #fff);
		border: 1px solid var(--d2-line, #e8e8e8);
		border-radius: var(--d2-radius-md, 6px);
		margin-bottom: 12px;
		padding: 12px 16px;
	}

	body.d2-account-page table.shop_table {
		border: 0;
		background: transparent;
	}

	body.d2-account-page table.shop_table td {
		display: block;
		padding: 6px 0;
		border: 0;
		text-align: left !important;
	}

	body.d2-account-page table.shop_table td::before {
		content: attr(data-title) ": ";
		display: inline-block;
		font-family: var(--d2-font-display, 'Montserrat', Arial, sans-serif);
		font-weight: 700;
		font-size: 11px;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: var(--d2-ink-muted, #444);
		margin-right: 8px;
	}

	.d2ac-shell-footer__inner {
		flex-direction: column;
		gap: 6px;
		text-align: center;
		justify-content: center;
	}
}
