/**
 * Mijn account — Textielhuis (Figma nodes: Login 302:46062, dashboard 302:46081,
 * bestellingen 302:46089, adressen 302:46106, accountgegevens 302:46120).
 *
 * Uitgelogd: 2-koloms Login | Registreren (labels boven velden, donkere pill-
 * knoppen, "Onthouden" naast de knop, "Je wachtwoord vergeten?" in goud).
 * Ingelogd: full-width hero "Mijn account" (slaapkamer-foto) + 2-koloms nav
 * (goud, actief onderstreept) + content (dashboard/bestellingen/adressen/
 * accountgegevens). Laadt NA shop.css.
 */

.woocommerce-account {
	--ac-line: var(--th-line, #d9d9d9);
	--ac-radius: 2px;
	--ac-height: 52px;
	--ac-muted: #6b6b6b;
}

/* Container-breedte gelijk aan checkout; geen dubbele top-marge (hero staat bovenaan). */
.woocommerce-account #site-main .sellabees-content,
.woocommerce-account .sellabees-content { max-width: 1250px; padding-block: 0 64px; }
/* Uitgelogd (Login|Registreren): witruimte boven de koppen zoals het design
   (~98px menu→"Login", 302:46062). Ingelogd blijft 0 → de hero staat flush bovenaan. */
.woocommerce-account:not(.logged-in) #site-main .sellabees-content,
.woocommerce-account:not(.logged-in) .sellabees-content { padding-top: 88px; }

/* De WP-paginatitel verbergen: uitgelogd toont het design geen titel; ingelogd
   toont de hero "Mijn account". */
.woocommerce-account .sellabees-entry__title { display: none; }

/* ---------------------------------------------------------
   HERO "Mijn account" (ingelogd) — full-width band met foto
   --------------------------------------------------------- */
/* 100vw includes the vertical scrollbar, so the hero is ~15px wider than the page and
   caused a horizontal scroll. Clip it on the page wrapper (clip, not hidden: keeps
   sticky elements working), same approach as the reviews/mediatext blocks. */
.woocommerce-account #site-main { overflow-x: clip; }
.th-account-hero {
	order: -1;
	flex: 0 0 auto;        /* niet meekrimpen als flex-item, anders blijft de breedte < 100vw */
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	min-height: 332px;
	display: flex;
	align-items: center;
	background: #212121 url( ../../img/account-hero.jpg ) center / cover no-repeat;
}
.th-account-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient( 90deg, rgba( 0, 0, 0, .55 ) 0%, rgba( 0, 0, 0, .25 ) 55%, rgba( 0, 0, 0, .1 ) 100% );
}
.th-account-hero__inner {
	position: relative;
	width: 100%;
	max-width: 1250px;
	margin: 0 auto;
	padding: 0 clamp( 16px, 4vw, 40px );
}
.th-account-hero__title {
	font-family: var(--th-font-heading);
	font-weight: 600;
	font-size: clamp( 32px, 4.4vw, 64px );
	line-height: 1.1;
	color: #fff;
	margin: 0;
}

/* ---------------------------------------------------------
   Gedeelde velden / labels / knoppen
   --------------------------------------------------------- */
.woocommerce-account .woocommerce form .form-row,
.woocommerce-account .woocommerce-EditAccountForm .form-row { margin: 0 0 18px; padding: 0; }

.woocommerce-account .woocommerce form label:not(.woocommerce-form__label-for-checkbox),
.woocommerce-account .woocommerce-EditAccountForm label {
	display: block;
	font-family: var(--th-font-body);
	font-size: 16px;
	line-height: 1.3;
	color: #000;
	margin: 0 0 8px;
}
.woocommerce-account .required { color: var(--th-gold); border: 0; text-decoration: none; }
.woocommerce-account .optional { color: var(--ac-muted); }

.woocommerce-account .woocommerce-Input.input-text,
.woocommerce-account .woocommerce form input[type="text"],
.woocommerce-account .woocommerce form input[type="email"],
.woocommerce-account .woocommerce form input[type="password"],
.woocommerce-account .woocommerce form input[type="tel"],
.woocommerce-account .woocommerce form select {
	width: 100%;
	height: var(--ac-height);
	border: 1px solid var(--ac-line);
	border-radius: var(--ac-radius);
	background: #fff;
	padding: 0 15px;
	font-family: var(--th-font-body);
	font-size: 14px;
	color: #000;
	line-height: var(--ac-height);
	box-shadow: none;
	outline: none;
	box-sizing: border-box;
	transition: border-color .15s ease;
}
.woocommerce-account .woocommerce form input:focus,
.woocommerce-account .woocommerce form select:focus { border-color: var(--th-gold); }

/* Donkere pill-knoppen (Inloggen, Registreren, Wijzigingen opslaan, Adres opslaan …). */
.woocommerce-account .woocommerce .button,
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce input.button,
.woocommerce-account .woocommerce-Button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--ac-height);
	padding: 0 34px;
	border: 0;
	border-radius: 100px;
	background: var(--th-dark);
	color: #fff;
	font-family: var(--th-font-body);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s ease;
}
.woocommerce-account .woocommerce .button:hover,
.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce input.button:hover,
.woocommerce-account .woocommerce-Button:hover { background: #000; color: #fff; }

/* ---------------------------------------------------------
   UITGELOGD — Login | Registreren (2 kolommen)
   --------------------------------------------------------- */
/* De 2-koloms flex-layout (Login | Registreren, wrapt naar 1 kolom op smal)
   komt uit shop.css (#customer_login display:flex). Hier alleen visuele styling —
   niet de kolom-min-width overschrijven, anders wrapt 'ie niet op mobiel. */
.woocommerce-account #customer_login { margin-top: 8px; }

.woocommerce-account #customer_login h2 {
	font-family: var(--th-font-heading);
	font-weight: 600;
	font-size: clamp( 28px, 2.1vw, 40px );
	line-height: 1.1;
	color: var(--th-dark);
	margin: 0 0 28px;
	padding: 0;
	border: 0;
}

/* Login: knop links, "Onthouden" ernaast; "Je wachtwoord vergeten?" eronder. */
.woocommerce-account .woocommerce-form-login .form-row-last,
.woocommerce-account .woocommerce-form-login p.form-row:last-of-type,
.woocommerce-account .woocommerce-form-login__submit { }
.woocommerce-account .woocommerce-form-login .form-row:has( .woocommerce-form-login__submit ) {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	margin-top: 24px;
}
.woocommerce-account .woocommerce-form-login__submit { order: -1; }
.woocommerce-account .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--th-font-body);
	font-size: 16px;
	color: var(--th-dark);
	margin: 0;
	cursor: pointer;
}
.woocommerce-account .woocommerce-form-login__rememberme input { margin: 0; }

/* Het wachtwoord-veld toont géén reveal-oogje in het design (302:46062). */
.woocommerce-account .show-password-input { display: none; }
.woocommerce-account .woocommerce-form-login .password-input .input-text { padding-right: 15px; }

.woocommerce-account .woocommerce-LostPassword { margin: 22px 0 0; }
.woocommerce-account .woocommerce-LostPassword a { color: var(--th-gold); font-size: 16px; text-decoration: none; }
.woocommerce-account .woocommerce-LostPassword a:hover { text-decoration: underline; }

/* Registreren: helptekst boven de knop. */
.woocommerce-account .woocommerce-form-register > p:not(.form-row) {
	font-family: var(--th-font-body);
	font-size: 16px;
	line-height: 1.5;
	color: #000;
	margin: 0 0 20px;
}
.woocommerce-account .woocommerce-form-register__submit { margin-top: 4px; }
/* Privacy-tekst niet in het design (staat in de footer-links). */
.woocommerce-account .woocommerce-privacy-policy-text { display: none; }

/* Checkbox (Onthouden) — vierkant, goud bij aanvinken, gecentreerd vinkje. */
.woocommerce-account .woocommerce-form__input-checkbox,
.woocommerce-account input[type="checkbox"] {
	appearance: none; -webkit-appearance: none; -moz-appearance: none;
	box-sizing: border-box;
	width: 18px; height: 18px; min-width: 18px;
	margin: 0; padding: 0;
	border: 1px solid var(--ac-line);
	border-radius: 3px;
	background: #fff;
	position: relative;
	cursor: pointer;
	flex: 0 0 18px;
	transition: background-color .15s ease, border-color .15s ease;
}
.woocommerce-account input[type="checkbox"]:checked { background: var(--th-gold); border-color: var(--th-gold); }
.woocommerce-account input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	left: 50%; top: 50%;
	width: 4px; height: 9px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: translate( -50%, -58% ) rotate( 45deg );
}

/* ---------------------------------------------------------
   INGELOGD — hero + nav + content in één rij
   --------------------------------------------------------- */
.woocommerce-account.logged-in .woocommerce {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	column-gap: 24px;
	row-gap: 56px;
}
/* Navigatie (links) */
.woocommerce-account .woocommerce-MyAccount-navigation {
	flex: 0 0 240px;
	max-width: 240px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; border: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: inline-block;
	font-family: var(--th-font-body);
	font-weight: 700;
	font-size: 16px;
	line-height: 49px;
	color: var(--th-gold);
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { text-decoration: underline; }

/* Content (rechts) */
.woocommerce-account .woocommerce-MyAccount-content {
	flex: 1 1 0;
	min-width: 0;
	font-family: var(--th-font-body);
	font-size: 16px;
	line-height: 1.7;
	color: #000;
}
.woocommerce-account .woocommerce-MyAccount-content p { margin: 0 0 16px; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color: var(--th-gold); }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover { text-decoration: underline; }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: var(--th-font-heading); font-weight: 600; color: var(--th-dark); margin: 0 0 14px; font-size: 20px;
}

/* Bestellingen-tabel */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .shop_table {
	width: 100%; border-collapse: collapse; font-size: 14px; margin: 0 0 20px;
}
.woocommerce-account .woocommerce-orders-table th {
	text-align: left; font-family: var(--th-font-heading); font-weight: 600; font-size: 14px;
	color: var(--th-dark); padding: 12px 12px; border-bottom: 1px solid var(--ac-line);
}
.woocommerce-account .woocommerce-orders-table td {
	padding: 14px 12px; border-bottom: 1px solid var(--ac-line); vertical-align: middle; color: #000;
}
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { text-align: right; }
.woocommerce-account .woocommerce-orders-table .button { min-height: 40px; padding: 0 20px; font-size: 14px; }

/* Adressen */
.woocommerce-account .woocommerce-Addresses.u-columns {
	display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin: 22px 0 0; align-items: start;
}
.woocommerce-account .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-Addresses .u-column2 { width: auto; float: none; margin: 0; }
.woocommerce-account .woocommerce-Addresses .u-column1 { grid-column: 1; }
.woocommerce-account .woocommerce-Addresses .u-column2 { grid-column: 2; }
.woocommerce-account .woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 10px; }
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 { font-family: var(--th-font-heading); font-weight: 600; font-size: 20px; color: var(--th-dark); margin: 0; }
.woocommerce-account .woocommerce-Address-title .edit { color: var(--th-gold); font-size: 14px; text-decoration: none; white-space: nowrap; }
.woocommerce-account .woocommerce-Address-title .edit:hover { text-decoration: underline; }
.woocommerce-account .woocommerce-Address address { font-style: normal; line-height: 1.7; color: #000; border: 0; padding: 0; }

/* Accountgegevens-formulier */
.woocommerce-account .woocommerce-EditAccountForm {
	display: flex; flex-wrap: wrap; gap: 0 18px;
}
.woocommerce-account .woocommerce-EditAccountForm > .form-row,
.woocommerce-account .woocommerce-EditAccountForm > fieldset,
.woocommerce-account .woocommerce-EditAccountForm > p.form-row { flex: 0 0 100%; }
.woocommerce-account .woocommerce-EditAccountForm > p.form-row-first,
.woocommerce-account .woocommerce-EditAccountForm > p.form-row-last { flex: 1 1 calc( 50% - 9px ); }
.woocommerce-account .woocommerce-EditAccountForm span em {
	display: block; margin-top: 6px; font-size: 12px; font-style: normal; color: var(--ac-muted);
}
.woocommerce-account .woocommerce-EditAccountForm fieldset {
	margin: 10px 0 0; padding: 0; border: 0;
}
.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
	font-family: var(--th-font-heading); font-weight: 600; font-size: 20px; color: var(--th-dark); margin: 0 0 14px; padding: 0;
}
.woocommerce-account .woocommerce-EditAccountForm > p:last-of-type { flex: 0 0 100%; text-align: right; }
.woocommerce-account .woocommerce-EditAccountForm button[type="submit"] { margin-top: 6px; }

/* ---------------------------------------------------------
   RESPONSIVE — ≤981px alles gestapeld (zoals mobiel design)
   --------------------------------------------------------- */
@media ( max-width: 981px ) {
	.woocommerce-account .woocommerce-Addresses.u-columns { grid-template-columns: 1fr; gap: 32px; }

	.th-account-hero { min-height: 200px; }

	.woocommerce-account.logged-in .woocommerce { flex-direction: column; row-gap: 32px; }
	/* Gestapeld is de dwarsrichting de breedte, en dan zet een flex-basis van 100% de
	   HOOGTE, niet de breedte: zonder width bleven deze blokken op inhoudsbreedte staan
	   (het adresformulier op 406px in een kolom van 837px). De width moet !important
	   zijn omdat shop.css hier `width: auto !important` neerzet voor de brede indeling.
	   align-items:stretch is geen alternatief: de blokken rekken dan mee met de
	   full-bleed hero (100vw) en steken 32px buiten de container uit. */
	.woocommerce-account .woocommerce-MyAccount-navigation { flex: 0 0 auto; width: 100% !important; max-width: none; border-bottom: 1px solid var(--ac-line); padding-bottom: 8px; }
	.woocommerce-account .woocommerce-MyAccount-navigation li a { line-height: 40px; }
	.woocommerce-account .woocommerce-MyAccount-content { flex: 0 0 auto; width: 100% !important; }
}

@media ( max-width: 560px ) {
	.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
	.woocommerce-account .woocommerce-EditAccountForm .form-row-last { flex: 0 0 100%; }
	.woocommerce-account .woocommerce-orders-table .button { min-height: 36px; padding: 0 16px; }
}
