/*
 * LC Médical — Comptoir : Espace Pro and My Account.
 * A ledger on the counter: a side navigation of drawer labels, a paper sheet for the content, KPI tiles as one
 * quiet ledger strip (no hero metric), status badges, tabular zebra tables, pro forms.
 * Tokens only, logical properties only.
 */

body.lc-pro-ctx {
	--lcc-r: 16px; /* the home card radius */
	--lcc-card: 0 1px 2px rgb(20 36 107 / 0.1), 0 2px 10px -3px rgb(20 36 107 / 0.14);
}


/* ---------- Frame ---------- */
body.lc-pro-ctx [data-vertical-spacing] {
	padding-block: var(--lc-s-6) var(--lc-s-9);
}

body.lc-pro-ctx:not(.lc-pro-landing-page) .entry-content > * {
	max-inline-size: none;
}

body.lc-pro-ctx:not(.lc-pro-landing-page) :is(.entry-content > .woocommerce, .entry-content > .lc-pro-form, .entry-content > .lc-quote-table-form, .entry-content > .lc-quote-table-wrap, .entry-content > p, .entry-content > h2, .entry-content > h3, .entry-content > div) {
	inline-size: min(100% - 2 * var(--lc-gutter), var(--lc-container));
	margin-inline: auto;
}

/* Blocksy's own page title: smaller, on the same ruler as the content. */
body.lc-pro-ctx .hero-section {
	inline-size: min(100% - 2 * var(--lc-gutter), var(--lc-container));
	margin-inline: auto;
	padding-block: var(--lc-s-6) 0;
}

body.lc-pro-ctx .hero-section .page-title {
	margin: 0;
	font-family: var(--lc-font-label);
	font-size: clamp(1.625rem, 1.3rem + 1.1vw, 2.25rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0;
	color: var(--lc-navy-900);
	text-wrap: balance;
}

/* ---------- Logged out: the login form beside the Espace Pro drawer ---------- */
.lc-account--out .entry-content > .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--lc-s-5);
	align-items: start;
	inline-size: min(100% - 2 * var(--lc-gutter), var(--lc-container));
	margin-inline: auto;
}

.lc-account--out .woocommerce > h2 {
	margin: 0;
	font-size: var(--lc-fs-h3);
}

.lc-account--out .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

@media (min-width: 1000px) {
	.lc-account--out .entry-content > .woocommerce {
		grid-template-columns: minmax(0, 30rem) minmax(0, 1fr);
		grid-auto-flow: row;
		column-gap: var(--lc-s-9);
		row-gap: var(--lc-s-4);
	}

	.lc-account--out .woocommerce > :is(h2, form) {
		grid-column: 1;
	}

	.lc-account--out .woocommerce > .lc-account__side {
		grid-column: 2;
		grid-row: 2 / span 2;
	}
}

.lc-account__side {
	display: grid;
	gap: var(--lc-s-5);
	align-content: start;
	min-inline-size: 0;
}

/* The drawer: lacquer front, pulled forward. */
.lc-account__drawer {
	display: grid;
	gap: var(--lc-s-4);
	justify-items: start;
	padding: var(--lc-s-6);
	background: var(--lc-navy-800);
	border-radius: var(--lcc-r);
	box-shadow: var(--lcc-card);
	color: #fff;
}

.lc-account__drawer-title {
	margin: 0;
	font-size: var(--lc-fs-h3);
	color: #fff;
}

.lc-account__drawer-lead {
	margin: 0;
	max-inline-size: 42ch;
	color: var(--lc-navy-100);
}

.lc-account__drawer-list {
	display: grid;
	gap: var(--lc-s-2);
	margin: 0 0 var(--lc-s-2);
	padding: 0;
	list-style: none;
}

.lc-account__drawer-list li {
	padding-inline-start: var(--lc-s-5);
	background: linear-gradient(var(--lc-navy-200), var(--lc-navy-200)) 0 0.72em / 10px 2px no-repeat;
	color: #fff;
}

html[dir='rtl'] .lc-account__drawer-list li {
	background-position: right 0.72em;
}

.lc-account__advisor {
	padding-block-start: var(--lc-s-4);
	border-block-start: 1px solid var(--lc-line);
	color: var(--lc-ink-2);
}

.lc-account__advisor p {
	margin: 0 0 var(--lc-s-2);
}

.lc-account__advisor-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lc-s-1) var(--lc-s-5);
}

.lc-account__advisor-links a {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	min-block-size: var(--lc-tap);
	font-weight: 700;
	color: var(--lc-ink);
	text-decoration: none;
}

.lc-account__advisor-links a:hover {
	color: var(--lc-link-hover);
	text-decoration: underline;
}

.lc-account__advisor-hours {
	font-size: var(--lc-fs-sm);
	color: var(--lc-ink-muted);
}

.lc-account__advisor .lc-num {
	font-family: var(--lc-font-label);
	font-variant-numeric: tabular-nums lining-nums;
}

.lc-pro-ctx .woocommerce-form-login,
.lc-pro-ctx .woocommerce-ResetPassword {
	display: grid;
	gap: var(--lc-s-4);
	margin: 0;
	padding: var(--lc-s-6);
	background: var(--lc-paper);
	border: 0;
	border-radius: var(--lcc-r);
	box-shadow: var(--lcc-card);
}

.lc-pro-ctx :is(.woocommerce-form-login, .woocommerce-ResetPassword) .form-row {
	display: grid;
	gap: 6px;
	float: none;
	inline-size: auto;
	margin: 0;
	padding: 0;
}

.lc-pro-ctx :is(.woocommerce-form-login, .woocommerce-ResetPassword) label {
	font-size: var(--lc-fs-sm);
	font-weight: 700;
}

.lc-pro-ctx :is(.woocommerce-form-login, .woocommerce-ResetPassword) .input-text {
	inline-size: 100%;
	min-block-size: 48px;
	padding: 0.65em 0.9em;
	border: 1.5px solid var(--lc-line-strong);
	border-radius: var(--lc-r-field);
	background: var(--lc-paper);
	font: 400 1rem/1.4 var(--lc-font-text);
}

.lc-pro-ctx .woocommerce-form-login .input-text:focus {
	border-color: var(--lc-action);
}

.lc-pro-ctx .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 0.75em;
	min-block-size: var(--lc-tap);
	font-weight: 400;
	cursor: pointer;
}

.lc-pro-ctx .woocommerce-form-login__submit {
	inline-size: 100%;
	margin-block-start: var(--lc-s-2);
}

.lc-pro-ctx .woocommerce-LostPassword {
	margin: var(--lc-s-3) 0 0;
	font-size: var(--lc-fs-sm);
}

/* ---------- Logged in: navigation + content ---------- */
.lc-account--in .entry-content > .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--lc-s-5);
	align-items: start;
}

.lc-account--in .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

@media (min-width: 1000px) {
	.lc-account--in .entry-content > .woocommerce {
		grid-template-columns: 16rem minmax(0, 1fr);
		column-gap: var(--lc-s-7);
	}

	.lc-account--in .woocommerce-MyAccount-navigation,
	.lc-account--in .ct-acount-nav {
		position: sticky;
		inset-block-start: calc(var(--lc-sticky-top) + var(--lc-s-4));
	}
}

.lc-account--in :is(.ct-acount-nav, .woocommerce-MyAccount-navigation) {
	float: none;
	inline-size: auto;
	max-inline-size: none;
	margin: 0;
	padding: 0;
}

.lc-account--in .ct-account-welcome,
.lc-account--in .ct-account-user-box {
	display: none;
}

.woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: var(--lc-s-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	min-block-size: var(--lc-ctl-md);
	padding: 0.5em 1em;
	border-radius: 12px;
	background: var(--lc-paper);
	box-shadow: var(--lcc-card);
	color: var(--lc-ink);
	font-family: var(--lc-font-label);
	font-size: var(--lc-fs-md);
	font-weight: 700;
	letter-spacing: 0.01em;
	text-decoration: none;
	transform: translate3d(0, 0, 0);
	transition: transform var(--lc-dur-med) var(--lc-ease-out), box-shadow var(--lc-dur-med) var(--lc-ease-out), background-color var(--lc-dur-fast) linear;
}

.woocommerce-MyAccount-navigation li a:hover {
	background: var(--lc-blue-50);
	color: var(--lc-link);
}

/* The current section: blue border + pale-blue fill, the selected state of the whole site. */
.woocommerce-MyAccount-navigation li.is-active a {
	background: var(--lc-blue-50);
	color: var(--lc-navy-900);
	box-shadow: inset 0 0 0 1.5px var(--lc-action);
}

.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
	background: transparent;
	box-shadow: none;
	color: var(--lc-ink-muted);
	font-family: var(--lc-font-text);
	font-size: var(--lc-fs-sm);
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 0.22em;
}

@media (max-width: 999.98px) {
	.woocommerce-MyAccount-navigation ul {
		display: flex;
		overflow-x: auto;
		padding: 4px 4px var(--lc-s-3);
		margin-inline: -4px;
		scroll-snap-type: x proximity;
	}

	.woocommerce-MyAccount-navigation li {
		flex: none;
		scroll-snap-align: start;
	}

	.woocommerce-MyAccount-navigation li a {
		white-space: nowrap;
	}
}

.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	inline-size: auto;
	max-inline-size: none;
	min-inline-size: 0;
	margin: 0;
	padding: var(--lc-s-5);
	background: var(--lc-paper);
	border-radius: var(--lcc-r);
	box-shadow: var(--lcc-card);
}

@media (min-width: 690px) {
	.woocommerce-account .woocommerce-MyAccount-content {
		padding: var(--lc-s-6);
	}
}

.woocommerce-MyAccount-content > :first-child {
	margin-block-start: 0;
}

.woocommerce-MyAccount-content h2 {
	margin: 0 0 var(--lc-s-4);
	font-size: var(--lc-fs-h3);
}

.woocommerce-MyAccount-content h3 {
	margin: var(--lc-s-6) 0 var(--lc-s-3);
	font-size: var(--lc-fs-h4);
}

/* ---------- KPI ledger: four plain figures on one strip, not a hero metric ---------- */
.lc-kpis {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 0 var(--lc-s-6);
	background: var(--lc-shelf);
	border-block-start: 1px solid var(--lc-ink);
	border-radius: 0 0 var(--lc-r-field) var(--lc-r-field);
}

@media (min-width: 900px) {
	.lc-kpis {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.lc-kpi {
	display: grid;
	gap: 2px;
	align-content: start;
	padding: var(--lc-s-4);
	border-block-end: 1px solid var(--lc-line);
}

.lc-kpi + .lc-kpi {
	border-inline-start: 1px solid var(--lc-line);
}

.lc-kpi__label {
	font-size: var(--lc-fs-xs);
	color: var(--lc-ink-muted);
}

.lc-kpi__value {
	font-family: var(--lc-font-label);
	font-size: var(--lc-fs-h4);
	font-weight: 700;
	line-height: 1.2;
	color: var(--lc-ink);
	font-variant-numeric: tabular-nums;
}

/* ---------- Tables: tabular, zebra, one ink rule under the head ---------- */
.woocommerce-account :is(table.shop_table, .woocommerce-orders-table),
.lc-account-table,
.lc-quote-table {
	inline-size: 100%;
	border: 0;
	border-collapse: collapse;
	font-size: var(--lc-fs-sm);
	background: transparent;
}

.woocommerce-account table.shop_table thead th,
.lc-account-table thead th,
.lc-quote-table thead th {
	padding: var(--lc-s-3) var(--lc-s-4);
	border: 0;
	border-block-end: 1px solid var(--lc-ink);
	background: transparent;
	font-family: var(--lc-font-label);
	font-size: var(--lc-fs-xs);
	font-weight: 700;
	letter-spacing: var(--lc-track-label);
	text-align: start;
	text-transform: uppercase;
	color: var(--lc-ink-muted);
}

.woocommerce-account table.shop_table :is(td, tbody th),
.lc-account-table td,
.lc-quote-table td {
	padding: var(--lc-s-3) var(--lc-s-4);
	border: 0;
	border-block-end: 1px solid var(--lc-line);
	background: transparent;
	text-align: start;
	vertical-align: middle;
	font-variant-numeric: tabular-nums lining-nums;
}

.woocommerce-account table.shop_table tbody tr:nth-child(even),
.lc-account-table tbody tr:nth-child(even),
.lc-quote-table tbody tr:nth-child(even) {
	background: var(--lc-shelf);
}

.woocommerce-account table.shop_table tbody tr:hover,
.lc-account-table tbody tr:hover {
	background: var(--lc-blue-50);
}

.lc-quote-table-wrap,
.woocommerce-account .woocommerce-orders-table {
	overflow-x: auto;
}

.lc-quote-table tfoot td {
	font-weight: 700;
	border-block-end: 0;
}

.lc-quote-table__img img {
	inline-size: 56px;
	block-size: 56px;
	object-fit: contain;
	border: 1px solid var(--lc-line);
	border-radius: var(--lc-r-label);
}

.lc-quote-table input[type='number'] {
	inline-size: 5rem;
	min-block-size: 44px;
	padding: 4px 8px;
	border: 1.5px solid var(--lc-line-strong);
	border-radius: var(--lc-r-field);
	background: var(--lc-paper);
	font: inherit;
}

.lc-quote-remove {
	inline-size: var(--lc-tap);
	block-size: var(--lc-tap);
	border: 0;
	background: none;
	color: var(--lc-ink-muted);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}

.lc-quote-remove:hover {
	color: var(--lc-ink);
}

/* Order status of the WooCommerce orders list, same quiet pill. */
.woocommerce-account mark.order-status {
	display: inline-flex;
	align-items: center;
	padding: 0.2em 0.75em;
	border-radius: var(--lc-r-pill);
	background: var(--lc-stone);
	color: var(--lc-ink-2);
	font-size: var(--lc-fs-xs);
	font-weight: 700;
}

/* ---------- Status badges (lc-b2b classes). Rejected and expired are not alerts: no logo red. ---------- */
.lc-pro-ctx .lc-badge {
	position: static;
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.2em 0.8em 0.2em 0.65em;
	border-radius: var(--lc-r-pill);
	background: var(--lc-stone);
	color: var(--lc-ink-2);
	font-size: var(--lc-fs-xs);
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
}

.lc-pro-ctx .lc-badge::before {
	content: '';
	inline-size: 7px;
	block-size: 7px;
	border-radius: 50%;
	background: currentColor;
}

.lc-pro-ctx .lc-badge--preparing {
	background: var(--lc-warn-bg);
	color: var(--lc-warn);
}

.lc-pro-ctx .lc-badge--sent {
	background: var(--lc-blue-100);
	color: var(--lc-navy-900);
}

.lc-pro-ctx .lc-badge--accepted {
	background: var(--lc-ok-bg);
	color: var(--lc-ok-deep);
}

.lc-pro-ctx :is(.lc-badge--rejected, .lc-badge--expired) {
	background: var(--lc-stone);
	color: var(--lc-ink-2);
}

/* ---------- Buttons printed by lc-b2b and WooCommerce account markup ---------- */
.lc-pro-ctx .button,
.lc-pro-ctx button.woocommerce-Button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 44px;
	padding: 0.5em 1.1em;
	border: 0;
	border-radius: var(--lc-r-field);
	background: var(--lc-paper);
	color: var(--lc-link);
	font: 700 0.875rem/1.15 var(--lc-font-label);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: inset 0 0 0 1.5px var(--lc-action), var(--lcc-card);
	cursor: pointer;
}

.lc-pro-ctx .button:hover,
.lc-pro-ctx button.woocommerce-Button:hover {
	background: var(--lc-blue-50);
	color: var(--lc-link);
}

.lc-pro-ctx :is(.button.alt, .lc-pro-form button[type='submit'], .woocommerce-form-login__submit, button.woocommerce-Button[type='submit']) {
	background: var(--lc-action);
	color: #fff;
}

.lc-pro-ctx :is(.button.alt, .lc-pro-form button[type='submit'], .woocommerce-form-login__submit, button.woocommerce-Button[type='submit']):hover {
	background: var(--lc-action-hover);
	color: #fff;
}

.lc-inline-form {
	display: inline;
}

/* ---------- Forms: pro registration, quote request, change request ---------- */
.lc-pro-form {
	max-inline-size: 48rem;
	padding: var(--lc-s-5);
	background: var(--lc-paper);
	border-radius: var(--lcc-r);
	box-shadow: var(--lcc-card);
}

@media (min-width: 690px) {
	.lc-pro-form {
		padding: var(--lc-s-6);
	}
}

.woocommerce-MyAccount-content .lc-pro-form {
	padding: 0;
	box-shadow: none;
}

.lc-pro-form__row {
	display: grid;
	gap: 6px;
	margin: 0 0 var(--lc-s-4);
}

.lc-pro-form__hp {
	position: absolute;
	inset-inline-start: -9999px;
	block-size: 0;
	overflow: hidden;
}

.lc-pro-ctx .lc-pro-notice {
	margin: 0 0 var(--lc-s-4);
	padding: var(--lc-s-3) var(--lc-s-4);
	border: 1px solid var(--lc-navy-200);
	border-radius: var(--lc-r-field);
	background: var(--lc-blue-50);
	color: var(--lc-ink);
	font-size: var(--lc-fs-sm);
}

.lc-pro-ctx .lc-pro-notice--error {
	border-color: var(--lc-err-line);
	background: var(--lc-err-bg);
	color: var(--lc-err);
}

.lc-pro-ctx .lc-pro-notice ul {
	margin: 0;
	padding-inline-start: 1.2em;
}

/* WooCommerce notices in the account */
.lc-pro-ctx :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	margin: 0 0 var(--lc-s-4);
	padding: var(--lc-s-3) var(--lc-s-4);
	list-style: none;
	border: 1px solid var(--lc-navy-200);
	border-radius: var(--lc-r-field);
	background: var(--lc-blue-50);
	color: var(--lc-ink);
	font-size: var(--lc-fs-sm);
}

.lc-pro-ctx .woocommerce-error {
	border-color: var(--lc-err-line);
	background: var(--lc-err-bg);
	color: var(--lc-err);
	font-weight: 700;
}

.lc-pro-ctx :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before {
	display: none;
}

.lc-quote-link__count {
	display: inline-block;
	min-inline-size: 20px;
	padding: 0 6px;
	border-radius: var(--lc-r-pill);
	background: var(--lc-action);
	color: #fff;
	font-size: var(--lc-fs-xs);
	line-height: 20px;
	text-align: center;
	font-weight: 700;
}

.lc-quote-card {
	margin-block: var(--lc-s-2) 0;
}

/* Account forms (details, addresses) */
.woocommerce-account .woocommerce-EditAccountForm .form-row,
.woocommerce-account .woocommerce-address-fields .form-row {
	display: grid;
	gap: 6px;
	float: none;
	inline-size: auto;
	margin: 0 0 var(--lc-s-4);
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .form-row label {
	font-size: var(--lc-fs-sm);
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content .input-text,
.woocommerce-account .woocommerce-MyAccount-content select {
	inline-size: 100%;
	min-block-size: 48px;
	padding: 0.65em 0.9em;
	border: 1.5px solid var(--lc-line-strong);
	border-radius: var(--lc-r-field);
	background-color: var(--lc-paper);
	font: 400 1rem/1.4 var(--lc-font-text);
}

/* One numeral voice: prices, phones and hours in the label face with lining tabular figures (local fallback for the
   .lc-num / .lc-phone utilities of base.css). */
:is(.woocommerce-account .amount, .lc-num, .lc-phone) {
	font-family: var(--lc-font-label);
	font-variant-numeric: tabular-nums lining-nums;
	font-feature-settings: 'tnum' 1, 'lnum' 1;
}
