/* =========================================================
   Comfyo — My Account (ETAP G.7)
   Native WooCommerce markup and endpoints; styling only. Tokens from comfyo-site.css.
   Loaded after comfyo-cart-checkout.css, which carried the first, broken attempt at this layout.
   ROOT CAUSE of the earlier "scattered" layout: Astra's clearfix pseudo-elements (.woocommerce::before/::after)
   and its float widths on the navigation/content became extra grid items. Reset below.
   ========================================================= */

/* ---------- Layout: panel (logged in) ---------- */
body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after{
	display: none;
	content: none;
}
body.comfyo-account--panel .woocommerce{
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.5rem;
	max-width: 1100px;
	margin: 0 auto;
	padding-bottom: 3rem;
}
body.comfyo-account--panel .woocommerce-MyAccount-navigation,
body.comfyo-account--panel .woocommerce-MyAccount-content{
	float: none;
	width: auto;
	max-width: 100%;
	min-width: 0;
}
@media (min-width: 900px){
	body.comfyo-account--panel .woocommerce{
		grid-template-columns: 250px minmax(0, 1fr);
		gap: 2.5rem;
		align-items: start;
	}
	body.comfyo-account--panel .woocommerce-MyAccount-navigation{
		position: sticky;
		top: 7rem;
	}
}

/* ---------- Navigation ---------- */
body.comfyo-account--panel .woocommerce-MyAccount-navigation ul{
	list-style: none;
	margin: 0;
	padding: 0.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	background: var(--c-white);
	border: 1px solid var(--c-line);
	border-radius: 10px;
}
body.comfyo-account--panel .woocommerce-MyAccount-navigation li{
	margin: 0;
	list-style: none;
}
body.comfyo-account--panel .woocommerce-MyAccount-navigation li a{
	display: block;
	padding: 0.6rem 1rem;
	border: 1px solid transparent;
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--c-body);
	text-decoration: none;
	background: transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
body.comfyo-account--panel .woocommerce-MyAccount-navigation li a:hover{
	background: var(--c-cream);
	color: var(--c-ink);
}
body.comfyo-account--panel .woocommerce-MyAccount-navigation li.is-active a,
body.comfyo-account--panel .woocommerce-MyAccount-navigation li.is-active a:hover{
	background: var(--c-ink);
	border-color: var(--c-ink);
	color: var(--c-cream);
}
body.comfyo-account--panel .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--ulubione a{
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
/* heart: the same outline glyph as the product hearts (SVG mask, no font dependency, follows the text colour) */
body.comfyo-account--panel .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--ulubione a::before{
	content: "";
	flex: 0 0 auto;
	width: 0.95rem;
	height: 0.95rem;
	background: var(--c-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.5S3.5 15.2 3.5 9.1C3.5 6 6 4 8.6 4c1.5 0 3 .8 3.4 2 .4-1.2 1.9-2 3.4-2 2.6 0 5.1 2 5.1 5.1 0 6.1-8.5 11.4-8.5 11.4z' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.5S3.5 15.2 3.5 9.1C3.5 6 6 4 8.6 4c1.5 0 3 .8 3.4 2 .4-1.2 1.9-2 3.4-2 2.6 0 5.1 2 5.1 5.1 0 6.1-8.5 11.4-8.5 11.4z' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.comfyo-account--panel .woocommerce-MyAccount-navigation li.is-active.woocommerce-MyAccount-navigation-link--ulubione a::before{
	background: var(--c-blush);
}
/* number of saved products (attribute set by comfyo-wishlist.js from the browser list) */
body.comfyo-account--panel .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--ulubione a[data-comfyo-wl-count]::after{
	content: attr(data-comfyo-wl-count);
	margin-left: auto;
	min-width: 1.4rem;
	height: 1.4rem;
	padding: 0 0.4rem;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--c-blush);
	color: var(--c-accent-dark);
	font-size: 0.7rem;
	letter-spacing: 0;
	line-height: 1;
}
body.comfyo-account--panel .woocommerce-MyAccount-navigation li.is-active.woocommerce-MyAccount-navigation-link--ulubione a[data-comfyo-wl-count]::after{
	background: var(--c-cream);
	color: var(--c-ink);
}
body.comfyo-account--panel .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{
	color: var(--c-accent-dark);
}
body.comfyo-account--panel .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{
	background: var(--c-cream);
	color: var(--c-accent-dark);
}
@media (min-width: 900px){
	body.comfyo-account--panel .woocommerce-MyAccount-navigation ul{
		flex-direction: column;
		gap: 0.2rem;
		padding: 0.6rem;
	}
	body.comfyo-account--panel .woocommerce-MyAccount-navigation li a{
		border-radius: 8px;
		padding: 0.75rem 1rem;
	}
}

/* ---------- Content card ---------- */
body.comfyo-account--panel .woocommerce-MyAccount-content{
	background: var(--c-white);
	border: 1px solid var(--c-line);
	border-radius: 10px;
	padding: 1.25rem;
	font-family: var(--font-sans);
	color: var(--c-body);
	line-height: 1.65;
	overflow-wrap: anywhere;
}
@media (min-width: 600px){
	body.comfyo-account--panel .woocommerce-MyAccount-content{
		padding: 2rem 2.25rem;
	}
}
.comfyo-account-heading,
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3{
	font-family: var(--font-display);
	color: var(--c-ink);
	font-weight: 500;
	line-height: 1.25;
	margin: 0 0 0.75rem;
}
.comfyo-account-heading{ font-size: 1.6rem; }
body.woocommerce-account .woocommerce-MyAccount-content h3{ font-size: 1.25rem; }
.comfyo-account-lead{ margin: 0 0 1.5rem; }
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.comfyo-btn):not(.comfyo-account-tile):not(.comfyo-fav__name){
	color: var(--c-accent-dark);
	text-underline-offset: 3px;
}

/* ---------- Dashboard tiles ---------- */
.comfyo-account-tiles{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.9rem;
}
@media (min-width: 480px){
	.comfyo-account-tiles{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.comfyo-account-tiles li{ margin: 0; }
.comfyo-account-tile{
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	height: 100%;
	padding: 1.1rem 1.2rem;
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	border-radius: 8px;
	text-decoration: none;
	transition: border-color 0.2s ease, transform 0.2s ease;
}
.comfyo-account-tile:hover{
	border-color: var(--c-accent);
	transform: translateY(-2px);
}
.comfyo-account-tile__title{
	font-family: var(--font-sans); /* G.7.4: utility labels in Jost */
	font-weight: 500;
	font-size: 1.05rem;
	color: var(--c-ink);
}
.comfyo-account-tile__text{
	font-size: 0.88rem;
	color: var(--c-body);
}

/* ---------- Forms (edit account, addresses, login, lost/reset password) ---------- */
body.woocommerce-account form .form-row,
body.woocommerce-account form .woocommerce-form-row{
	margin: 0 0 1.1rem;
	padding: 0;
}
body.woocommerce-account form .form-row-first,
body.woocommerce-account form .form-row-last{
	float: none;
	width: 100%;
}
/* first / last name side by side. The previous inline-block version wrapped:
   2 x (50% - 0.6rem) + 1.1rem + the whitespace between the tags > 100%. Floats are WooCommerce's own model
   (the edit-account form already has `.clear` after the pair). */
@media (min-width: 600px){
	body.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
	body.woocommerce-account .woocommerce-EditAccountForm .form-row-last,
	body.woocommerce-account .woocommerce-address-fields .form-row-first,
	body.woocommerce-account .woocommerce-address-fields .form-row-last{
		width: calc(50% - 0.6rem);
	}
	body.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
	body.woocommerce-account .woocommerce-address-fields .form-row-first{
		float: left;
		clear: left;
	}
	body.woocommerce-account .woocommerce-EditAccountForm .form-row-last,
	body.woocommerce-account .woocommerce-address-fields .form-row-last{
		float: right;
	}
	body.woocommerce-account .woocommerce-EditAccountForm .form-row-wide,
	body.woocommerce-account .woocommerce-address-fields .form-row-wide,
	body.woocommerce-account .woocommerce-EditAccountForm fieldset,
	body.woocommerce-account .woocommerce-EditAccountForm .clear{
		clear: both;
	}
}
body.woocommerce-account form label{
	display: block;
	font-family: var(--font-sans);
	font-size: 0.85rem;
	color: var(--c-body);
	margin: 0 0 0.35rem;
}
body.woocommerce-account form .required{
	color: var(--c-accent-dark);
	text-decoration: none;
}
body.woocommerce-account form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body.woocommerce-account form select,
body.woocommerce-account form textarea,
body.woocommerce-account .select2-container--default .select2-selection--single{
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-height: 2.9rem;
	padding: 0.7rem 0.85rem;
	background: var(--c-white);
	border: 1px solid var(--c-line);
	border-radius: 6px;
	font-family: var(--font-sans);
	font-size: 1rem;
	color: var(--c-ink);
}
body.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__rendered{
	line-height: 1.6;
	padding-left: 0;
}
body.woocommerce-account form input:not([type="checkbox"]):not([type="radio"]):focus,
body.woocommerce-account form select:focus,
body.woocommerce-account form textarea:focus{
	border-color: var(--c-accent);
	box-shadow: 0 0 0 1px var(--c-accent);
	outline: none;
}
body.woocommerce-account form input[type="checkbox"],
body.woocommerce-account form input[type="radio"]{
	accent-color: var(--c-accent);
	width: 1.05rem;
	height: 1.05rem;
}
body.woocommerce-account form fieldset{
	margin: 1.5rem 0 0;
	padding: 1.25rem;
	border: 1px solid var(--c-line);
	border-radius: 8px;
}
body.woocommerce-account form legend{
	padding: 0 0.5rem;
	font-family: var(--font-sans);
	font-weight: 500;
	font-size: 1rem;
	color: var(--c-ink);
}
body.woocommerce-account form em,
body.woocommerce-account form .description,
body.woocommerce-account form small{
	font-size: 0.82rem;
	color: var(--c-body);
}
body.woocommerce-account .password-input{
	display: block;
	position: relative;
}
/* room for the eye: the generic `form input:not(...)` padding rule above is more specific than
   `.password-input input`, so typed text used to run under the toggle (padding-right was 12 px) */
body.woocommerce-account form .password-input input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]){
	padding-right: 52px;
}
/* Password visibility toggle (edit account, login, lost / reset password — every `.password-input`).
   ROOT CAUSE of the eye sitting on the top edge (ETAP G.7.2): the toggle was centred twice — this rule's
   `transform: translateY(-50%)` on top of an upstream offset — so it ended ~19 px too high (measured).
   Now pinned with top:0/bottom:0 + auto margins: no transform/translate, centred for any input height. */
body.woocommerce-account .password-input .show-password-input,
body.woocommerce-account .show-password-input{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0.2rem;
	left: auto;
	margin: auto 0;
	transform: none;
	translate: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;  /* touch target in px: the theme's root font-size is ~14.6px, so 2.75rem was only ~40px */
	height: 44px;
	max-height: 100%;
	padding: 0;
	background-color: transparent;
	border: 0;
	border-radius: 6px;
	box-shadow: none;
	color: var(--c-body);
	cursor: pointer;
}
body.woocommerce-account .show-password-input:hover{ background-color: var(--c-cream); }
body.woocommerce-account .show-password-input:focus{ outline: none; }
body.woocommerce-account .show-password-input:focus-visible{
	outline: 2px solid var(--c-accent);
	outline-offset: -2px;
}

/* ---------- Buttons ---------- */
body.woocommerce-account .woocommerce .button,
body.woocommerce-account .woocommerce button[type="submit"],
body.woocommerce-account .woocommerce .woocommerce-Button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.9rem;
	padding: 0.8rem 2rem;
	background: var(--c-ink);
	border: 1px solid var(--c-ink);
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 0.82rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--c-cream);
	cursor: pointer;
	transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
body.woocommerce-account .woocommerce .button:hover,
body.woocommerce-account .woocommerce button[type="submit"]:hover,
body.woocommerce-account .woocommerce .woocommerce-Button:hover{
	background: var(--c-accent);
	border-color: var(--c-accent);
	color: var(--c-white);
	transform: translateY(-1px);
}
body.woocommerce-account .woocommerce .button:focus-visible,
body.woocommerce-account .woocommerce button[type="submit"]:focus-visible{
	outline: 2px solid var(--c-accent);
	outline-offset: 3px;
}
body.woocommerce-account .woocommerce a:focus-visible,
body.woocommerce-account .woocommerce input:focus-visible,
body.woocommerce-account .woocommerce select:focus-visible,
body.woocommerce-account .woocommerce textarea:focus-visible,
body.woocommerce-account .woocommerce button:focus-visible{
	outline: 2px solid var(--c-accent);
	outline-offset: 2px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a:focus-visible{
	outline: 2px solid var(--c-accent);
	outline-offset: 2px;
}

/* ---------- Orders table ---------- */
body.woocommerce-account .woocommerce-orders-table,
body.woocommerce-account table.shop_table{
	width: 100%;
	border: 1px solid var(--c-line);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 8px;
	overflow: hidden;
	font-size: 0.92rem;
}
body.woocommerce-account .woocommerce-orders-table th,
body.woocommerce-account table.shop_table th{
	background: var(--c-cream);
	font-family: var(--font-sans);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--c-ink);
	padding: 0.8rem 1rem;
	text-align: left;
}
body.woocommerce-account .woocommerce-orders-table td,
body.woocommerce-account table.shop_table td{
	padding: 0.85rem 1rem;
	border-top: 1px solid var(--c-line);
	vertical-align: middle;
}
body.woocommerce-account .woocommerce-orders-table .button{
	min-height: 2.3rem;
	padding: 0.45rem 1.1rem;
	font-size: 0.74rem;
}
@media (max-width: 767px){
	body.woocommerce-account .woocommerce-orders-table,
	body.woocommerce-account table.shop_table_responsive{
		display: block;
		border: 0;
	}
	body.woocommerce-account .woocommerce-orders-table thead{ display: none; }
	body.woocommerce-account .woocommerce-orders-table tbody,
	body.woocommerce-account .woocommerce-orders-table tr{ display: block; }
	body.woocommerce-account .woocommerce-orders-table tr{
		border: 1px solid var(--c-line);
		border-radius: 8px;
		margin-bottom: 0.9rem;
		overflow: hidden;
	}
	body.woocommerce-account .woocommerce-orders-table td{
		display: flex;
		justify-content: space-between;
		gap: 1rem;
		text-align: right;
		border-top: 1px solid var(--c-line);
	}
	body.woocommerce-account .woocommerce-orders-table td:first-child{ border-top: 0; }
	body.woocommerce-account .woocommerce-orders-table td::before{
		content: attr(data-title);
		font-size: 0.72rem;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--c-ink);
		text-align: left;
	}
}

/* ---------- Addresses ----------
   ROOT CAUSE of the scattered cards (ETAP G.7.2): `.col2-set` carries clearfix pseudo-elements (::before/::after,
   display:table) which became grid items — the first card was pushed into the second column, the second card into
   the next row. Same mechanism as the panel grid above. Astra also boxes `address` (border, padding) and the title
   (grey background): a card inside the card. Markup, links and WooCommerce logic stay native. */
body.woocommerce-account .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-Addresses::after{
	display: none;
	content: none;
}
body.woocommerce-account .woocommerce-Addresses{
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	margin: 1.25rem 0 0;
}
@media (min-width: 700px){
	body.woocommerce-account .woocommerce-Addresses{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
}
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address{
	position: relative;
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 1.35rem 1.4rem 1.4rem;
	background: var(--c-cream);
	border: 1px solid var(--c-line);
	border-radius: 8px;
	overflow-wrap: normal;
}
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title{
	display: block;
	margin: 0 0 0.75rem;
	padding: 0 0 0.75rem;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--c-line);
}
body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-Address-title h3{
	margin: 0;
	font-size: 1.2rem;
	overflow-wrap: normal;
	word-break: normal;
}
/* the address text reserves room at the bottom for the action, so both cards end with the action aligned */
body.woocommerce-account .woocommerce-Addresses address{
	margin: 0 0 calc(44px + 1.6rem);
	padding: 0;
	border: 0;
	background: none;
	font-style: normal;
	line-height: 1.6;
	color: var(--c-body);
}
/* "Dodaj adres…" / "Edytuj…": a clear outlined action at the bottom of the card (visual position only —
   the DOM order of WooCommerce's template is unchanged) */
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title .edit{
	position: absolute;
	left: 1.4rem;
	right: 1.4rem;
	bottom: 1.4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	box-sizing: border-box;
	padding: 0.55rem 1.2rem;
	border: 1px solid var(--c-ink);
	border-radius: 999px;
	background: transparent;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	line-height: 1.3;
	color: var(--c-ink) !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title .edit:hover{
	background: var(--c-ink);
	color: var(--c-cream) !important;
}
@media (min-width: 1100px){
	body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title .edit{ right: auto; }
}

/* ---------- Guest: login / lost password / reset password ---------- */
body.comfyo-account--guest .woocommerce{
	max-width: 480px;
	margin: 0 auto;
	padding: 1.75rem 1.25rem 3rem;
	background: var(--c-white);
	border: 1px solid var(--c-line);
	border-radius: 10px;
	margin-bottom: 3rem;
	font-family: var(--font-sans);
	color: var(--c-body);
	box-sizing: border-box;
}
@media (min-width: 600px){
	body.comfyo-account--guest .woocommerce{ padding: 2.25rem 2.5rem 2.75rem; }
}
body.comfyo-account--guest .woocommerce h2{
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 1.6rem;
	color: var(--c-ink);
	margin: 0 0 1.25rem;
}
body.comfyo-account--guest .woocommerce form.login,
body.comfyo-account--guest .woocommerce form.register,
body.comfyo-account--guest .woocommerce form.lost_reset_password{
	border: 0;
	padding: 0;
	margin: 0;
}
body.comfyo-account--guest .woocommerce .button{ width: 100%; }
body.comfyo-account--guest .woocommerce-form-login__rememberme{
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1.1rem;
}
body.comfyo-account--guest .woocommerce .lost_password{
	margin: 1rem 0 0;
	font-size: 0.88rem;
}
body.comfyo-account--guest .woocommerce .lost_password a{
	color: var(--c-accent-dark);
	text-underline-offset: 3px;
}
body.comfyo-account--guest .u-columns.col2-set{
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
}
body.comfyo-account--guest .u-columns .u-column1,
body.comfyo-account--guest .u-columns .u-column2{
	float: none;
	width: auto;
}

/* ---------- Native order-withdrawal form (WooCommerce feature) ---------- */
.woocommerce-order-withdrawal-content{
	max-width: 640px;
	margin: 0 auto 3rem;
	padding: 1.5rem 1.25rem;
	background: var(--c-white);
	border: 1px solid var(--c-line);
	border-radius: 10px;
	font-family: var(--font-sans);
	color: var(--c-body);
}
.woocommerce-order-withdrawal-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.woocommerce-order-withdrawal-content select,
.woocommerce-order-withdrawal-content textarea{
	width: 100%;
	box-sizing: border-box;
	min-height: 2.9rem;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--c-line);
	border-radius: 6px;
	font-family: var(--font-sans);
	font-size: 1rem;
	color: var(--c-ink);
}
.woocommerce-order-withdrawal-content label{ display: block; font-size: 0.85rem; margin: 0 0 0.35rem; }
.woocommerce-order-withdrawal-content p{ margin: 0 0 1.1rem; }
.woocommerce-order-withdrawal-content .button{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.9rem;
	padding: 0.8rem 2rem;
	background: var(--c-ink);
	border: 1px solid var(--c-ink);
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--c-cream);
	cursor: pointer;
}
.woocommerce-order-withdrawal-content .button:hover{ background: var(--c-accent); border-color: var(--c-accent); color: var(--c-white); }
.woocommerce-order-withdrawal-content .woocommerce-order-withdrawal-content__button--secondary{
	background: transparent;
	color: var(--c-ink);
}
.woocommerce-order-withdrawal-content :focus-visible{ outline: 2px solid var(--c-accent); outline-offset: 2px; }

/* ---------- Favourites ---------- */
.comfyo-fav__note{ font-size: 0.88rem; margin: 0 0 0.35rem; }
.comfyo-fav__count{
	min-height: 1.3rem; /* reserved: the count appears without moving the grid */
	margin: 0 0 0.75rem;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--c-ink);
}
.comfyo-fav__status{ min-height: 1.2rem; font-size: 0.88rem; margin-bottom: 0.5rem; color: var(--c-body); }
.comfyo-fav__status:empty{ min-height: 0; margin: 0; }
.comfyo-fav__grid{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	align-items: stretch;
}
@media (min-width: 700px){
	.comfyo-fav__grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
}
.comfyo-fav__card{
	margin: 0;
	display: flex;
	flex-direction: column;
	background: var(--c-white);
	border: 1px solid var(--c-line);
	border-radius: 8px;
	overflow: hidden;
}
.comfyo-fav__media{
	display: block;
	aspect-ratio: 4 / 5;
	background: var(--c-cream-deep);
}
.comfyo-fav__media img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.comfyo-fav__body{
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: 0.85rem 0.9rem 1rem;
	flex: 1;
}
.comfyo-fav__name{
	font-family: var(--font-sans); /* G.7.4: product names in Jost, as on the listing cards */
	font-weight: 500;
	font-size: 0.98rem;
	line-height: 1.3;
	color: var(--c-ink);
	text-decoration: none;
	/* long names: at most 3 lines; two lines are always reserved so prices line up across a row */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	overflow-wrap: break-word;
	min-height: 2.6em;
}
.comfyo-fav__name:hover{ color: var(--c-accent-dark); }
.comfyo-fav__price{ font-weight: 500; color: var(--c-ink); margin-top: 0.2rem; }
.comfyo-fav__stock{
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.78rem;
}
.comfyo-fav__stock::before{
	content: "";
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: currentColor;
}
.comfyo-fav__stock.is-in{ color: #3f6b45; }
.comfyo-fav__stock.is-out{ color: var(--c-accent-dark); }
.comfyo-fav__actions{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.15rem;
	margin-top: auto;
	padding-top: 0.75rem;
}
body.woocommerce-account .comfyo-btn--small{
	padding: 0.6rem 1rem;
	min-height: 2.5rem;
	font-size: 0.76rem;
	white-space: normal;
	text-align: center;
}
/* Secondary action: a small text link with a crossed heart — never a second big button.
   ROOT CAUSE of the old "big button" look: Astra's generic <button> styles (uppercase, letter-spacing, weight)
   beat the single-class rule; the selector now carries body.woocommerce-account. */
body.woocommerce-account .comfyo-fav__remove{
	align-self: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 40px; /* touch target; the visible link stays small */
	margin: 0;
	padding: 0 0.5rem;
	background: none;
	border: 0;
	border-radius: 6px;
	box-shadow: none;
	font-family: var(--font-sans);
	font-size: 0.8rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.3;
	color: var(--c-body);
	cursor: pointer;
}
body.woocommerce-account .comfyo-fav__remove span{
	text-decoration: underline;
	text-decoration-color: var(--c-taupe);
	text-underline-offset: 3px;
}
body.woocommerce-account .comfyo-fav__remove svg{ flex: 0 0 auto; }
body.woocommerce-account .comfyo-fav__remove:hover,
body.woocommerce-account .comfyo-fav__remove:focus{
	background: none;
	color: var(--c-accent-dark);
}
body.woocommerce-account .comfyo-fav__remove:hover span{ text-decoration-color: currentColor; }
.comfyo-fav__empty{
	text-align: center;
	padding: 2.5rem 1.25rem;
	background: var(--c-cream);
	border: 1px dashed var(--c-taupe);
	border-radius: 8px;
}
.comfyo-fav__empty[hidden], .comfyo-fav__grid[hidden]{ display: none; }
.comfyo-fav__empty p{ margin: 0 0 0.5rem; }
.comfyo-fav__empty-icon{
	display: inline-flex;
	width: 2.75rem;
	height: 2.75rem;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.75rem;
	border-radius: 50%;
	background: var(--c-blush);
	color: var(--c-accent-dark);
}
.comfyo-fav__empty-icon svg{ width: 1.25rem; height: 1.25rem; }
.comfyo-fav__empty-title{
	font-family: var(--font-display);
	font-size: 1.2rem;
	color: var(--c-ink);
}
.comfyo-fav__empty .comfyo-btn{ margin-top: 0.9rem; }

/* ---------- Astra leftovers (measured with tests/diagnostic/computed-style.mjs) ----------
   Astra draws a 1px grey border on every account-menu <li> and pads content lists by 20px. */
body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li:last-child{
	border: 0;
}
body.woocommerce-account .woocommerce-MyAccount-content ul.comfyo-account-tiles,
body.woocommerce-account .woocommerce-MyAccount-content ul.comfyo-fav__grid{
	margin: 0;
	padding: 0;
}

/* Guest card: Astra's col2-set widths/floats would squeeze the single login form into half of the card. */
body.comfyo-account--guest .woocommerce .col2-set,
body.comfyo-account--guest .woocommerce .u-columns,
body.comfyo-account--guest .woocommerce .u-column1,
body.comfyo-account--guest .woocommerce .u-column2,
body.comfyo-account--guest .woocommerce .col-1,
body.comfyo-account--guest .woocommerce .col-2{
	float: none;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}
body.comfyo-account--guest .woocommerce form{
	width: 100%;
	max-width: 100%;
}
body.comfyo-account--guest .woocommerce h2{
	text-align: left;
}

/* Favourites at phone width (two narrow columns): keep the CTA and the remove link on one line each */
@media (max-width: 480px){
	.comfyo-fav__body{ padding: 0.75rem 0.65rem 0.85rem; }
	body.woocommerce-account .comfyo-fav__actions .comfyo-btn--small{
		padding: 0.55rem 0.4rem;
		letter-spacing: 0.04em;
		font-size: 0.7rem;
	}
	body.woocommerce-account .comfyo-fav__remove{
		gap: 0.25rem;
		padding: 0 0.25rem;
		font-size: 0.74rem;
		white-space: nowrap;
	}
	body.woocommerce-account .comfyo-fav__remove svg{ width: 13px; height: 13px; }
}

/* ---------------------------------------------------------------------------------------------
   Account notices (ETAP G.7.3). The icon mechanism itself is sitewide since G.7.4 (comfyo-site.css,
   "Notice icons": line icon via CSS mask instead of the WooCommerce icon-font square). Here only the
   account-specific meaning: e-mail for the address confirmation, a parcel for "no orders yet".
   --------------------------------------------------------------------------------------------- */
body.woocommerce-account .woocommerce-info:has(a[href*="wc_send_verification"]),
body.woocommerce-account .woocommerce-info:has(> .comfyo-notice__body--mail){
	--comfyo-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2'/%3E%3Cpath d='M3.8 7l8.2 6 8.2-6'/%3E%3C/svg%3E");
}
body.woocommerce-account .woocommerce-info:has(> a.woocommerce-Button){
	--comfyo-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8l9-5 9 5-9 5-9-5z'/%3E%3Cpath d='M3 8v8l9 5 9-5V8'/%3E%3Cpath d='M12 13V22'/%3E%3C/svg%3E");
}
/* Fallback for a notice comfyo_account_orders_notice() did not recognise: CTA after the text. */
body.woocommerce-account .woocommerce-info > a.button{
	order: 2;
	margin-left: auto;
}

/*
 * Orders panel notices (ETAP G.9A) — one component for "Potwierdź adres e-mail" and "Nie masz jeszcze
 * zamówień" (markup: comfyo_account_orders_notice() in inc/account.php — title + sentence + WooCommerce's own <a>).
 * Before: the sitewide notice is a wrapping flex row with the icon absolutely positioned at 50% of the box; the long
 * confirmation sentence pushed the CTA to a second row, so text (top), icon (middle) and CTA (bottom) sat on three
 * different lines. Now a grid row [icon | text | CTA]: all three centred on one axis, the text takes the flexible
 * middle, the CTA keeps its width (common min-width, so both boxes line up), both boxes share padding, radius and
 * min-height. ≤700px (same break as the sitewide notices): icon + text, CTA full width underneath.
 * The CTA uses the product-card CTA metrics (40px pill, Jost 500 uppercase, 0.06em) in the account's filled
 * colours; hover = warm brown, no movement (the account's generic translateY is not used here).
 */
body.woocommerce-account .woocommerce-info:has(> .comfyo-notice__body){
	display: grid;
	grid-template-columns: 1.25rem minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 1rem;
	row-gap: 0.9rem;
	min-height: 6.5rem;
	padding: 1.1rem 1.5rem !important;
	margin: 0 0 1rem !important;
	border-radius: 8px;
}
body.woocommerce-account .woocommerce-info:has(> .comfyo-notice__body)::before{
	position: static !important;
	grid-column: 1;
	align-self: center;
	transform: none;
}
/* Astra's clearfix ::after would become a second (empty) grid row and pull the row off the box's centre. */
body.woocommerce-account .woocommerce-info:has(> .comfyo-notice__body)::after{
	display: none;
}
body.woocommerce-account .comfyo-notice__body{
	grid-column: 2;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}
body.woocommerce-account .comfyo-notice__title{
	font-family: var(--font-sans);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--c-ink);
}
body.woocommerce-account .comfyo-notice__text{
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--c-body);
}
body.woocommerce-account .woocommerce-info > .comfyo-notice__body + a.button{
	grid-column: 3;
	order: 0;
	justify-self: end;
	box-sizing: border-box;
	min-width: 13.5rem;
	min-height: 2.5rem;
	margin: 0 0 0 0.5rem;
	padding: 0 1.25rem !important;
	font-size: 0.74rem !important;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.2;
	white-space: nowrap;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
body.woocommerce-account .woocommerce-info > .comfyo-notice__body + a.button:hover{
	background: var(--c-accent-dark);
	border-color: var(--c-accent-dark);
	color: var(--c-white);
	transform: none;
}
body.woocommerce-account .woocommerce-info > .comfyo-notice__body + a.button:active{
	background: #7A4029;
	border-color: #7A4029;
}
/* touch: same 2.75rem target as the product-card CTA */
@media (pointer: coarse){
	body.woocommerce-account .woocommerce-info > .comfyo-notice__body + a.button{
		min-height: 2.75rem;
	}
}
@media (max-width: 700px){
	body.woocommerce-account .woocommerce-info:has(> .comfyo-notice__body){
		grid-template-columns: 1.25rem minmax(0, 1fr);
		align-items: start;
		min-height: 0;
		padding: 1rem 1.1rem !important;
	}
	/* icon on the title line (the sitewide ≤700px rule pins it with top/transform for absolute icons) */
	body.woocommerce-account .woocommerce-info:has(> .comfyo-notice__body)::before{
		align-self: start;
		margin-top: 0.1rem;
		top: auto !important;
	}
	body.woocommerce-account .woocommerce-info > .comfyo-notice__body + a.button{
		grid-column: 1 / -1;
		justify-self: stretch;
		width: 100%;
		min-width: 0;
		margin: 0;
	}
}
