/**
 * Atout+ 1.9.5 — Figma-approved public and member experience.
 * Blue structures the journey, orange identifies the primary action and
 * white/light surfaces preserve long-form reading contrast.
 */

:root {
	--atp-blue: #084b7a;
	--atp-blue-deep: #063a61;
	--atp-blue-soft: #eaf4fb;
	--atp-orange: #c65300;
	--atp-orange-hover: #a84200;
	--atp-orange-soft: #fff1e6;
	--atp-text: #172435;
	--atp-muted: #526575;
	--atp-border: #d5e0e8;
	--atp-success: #20754d;
	--atp-success-soft: #edf8f2;
	--atp-white: #fff;
	--atp-shadow: 0 16px 42px rgba(6, 58, 97, .12);
}

body.at-atout-plus-page :where(.at-atoutplus-page, .at-atoutplus-account),
body.at-atout-plus-page :where(.at-atoutplus-page, .at-atoutplus-account) * {
	box-sizing: border-box;
}

body.at-atout-plus-page :where(.wp-block-post-content, .entry-content) {
	max-width: none !important;
	padding-inline: 0 !important;
}

body.at-atout-plus-page :where(.wp-block-post-title, .entry-title, .page-header) {
	display: none;
}

.at-atoutplus-page {
	background: var(--atp-white);
	color: var(--atp-text);
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin: 0 auto;
	max-width: 1440px;
	overflow: hidden;
	width: 100%;
}

.at-atoutplus-shell {
	margin-inline: auto;
	max-width: 1280px;
	width: min(88.9%, 1280px);
}

.at-atoutplus-eyebrow {
	color: var(--atp-orange);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .055em;
	line-height: 1.35;
	margin: 0 0 .8rem;
	text-transform: uppercase;
}

.at-atoutplus-hero {
	background: var(--atp-blue);
	color: var(--atp-white);
}

/* The global breadcrumb is injected inside this dark hero. Keep every part of
 * the location trail readable without changing breadcrumbs on light pages. */
body.at-atout-plus-page .at-atoutplus-hero .at-page-location,
body.at-atout-plus-page .at-atoutplus-hero .at-page-location a {
	color: #eaf4fb !important;
}

body.at-atout-plus-page .at-atoutplus-hero .at-page-location strong {
	color: var(--atp-white) !important;
}

.at-atoutplus-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 6vw, 5rem);
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
	min-height: 610px;
	padding-block: clamp(4rem, 8vw, 7rem);
}

.at-atoutplus-hero .at-atoutplus-eyebrow,
.at-atoutplus-account__hero .at-atoutplus-eyebrow {
	color: #ffe8d5;
}

.at-atoutplus-hero__content :where(h1, p),
.at-atoutplus-activation :where(h2, p),
.at-atoutplus-account__hero > div:first-child :where(h2, p) {
	color: var(--atp-white) !important;
}

.at-atoutplus-hero h1 {
	font-size: clamp(2.5rem, 5vw, 4.5rem);
	font-weight: 800;
	letter-spacing: -.045em;
	line-height: 1.03;
	margin: 0;
	max-width: 800px;
}

.at-atoutplus-hero__content > p:not(.at-atoutplus-eyebrow) {
	font-size: clamp(1rem, 1.6vw, 1.25rem);
	line-height: 1.6;
	margin: 1.35rem 0 0;
	max-width: 720px;
}

.at-atoutplus-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	margin-top: 1.6rem;
}

.at-atoutplus-button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 12px;
	cursor: pointer;
	display: inline-flex;
	font-size: .92rem;
	font-weight: 800;
	justify-content: center;
	line-height: 1.2;
	min-height: 50px;
	padding: .85rem 1.35rem;
	text-align: center;
	text-decoration: none !important;
	transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.at-atoutplus-button--primary {
	background: var(--atp-orange) !important;
	border-color: var(--atp-orange) !important;
	color: var(--atp-white) !important;
}

.at-atoutplus-button--primary:hover {
	background: var(--atp-orange-hover) !important;
	border-color: var(--atp-orange-hover) !important;
	color: var(--atp-white) !important;
	transform: translateY(-1px);
}

.at-atoutplus-button--secondary {
	background: var(--atp-white) !important;
	border-color: var(--atp-border) !important;
	color: var(--atp-text) !important;
}

.at-atoutplus-button--secondary:hover {
	border-color: var(--atp-blue) !important;
	color: var(--atp-blue) !important;
}

.at-atoutplus-button:focus-visible,
.at-atoutplus-link:focus-visible {
	outline: 3px solid #ffd5b2;
	outline-offset: 3px;
}

.at-atoutplus-link {
	color: var(--atp-white) !important;
	font-weight: 800;
	padding: .75rem;
	text-decoration: none !important;
}

.at-atoutplus-link:hover {
	text-decoration: underline !important;
}

.at-atoutplus-preview,
.at-atoutplus-account__balance {
	background: var(--atp-white);
	border: 1px solid var(--atp-border);
	border-radius: 18px;
	box-shadow: var(--atp-shadow);
	color: var(--atp-text);
	display: grid;
	gap: .7rem;
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.at-atoutplus-preview > span,
.at-atoutplus-account__balance > span,
.at-atoutplus-account__summary span {
	color: var(--atp-orange) !important;
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: .045em;
	text-transform: uppercase;
}

.at-atoutplus-preview h2 {
	color: var(--atp-text) !important;
	font-size: clamp(2rem, 3vw, 3rem);
	margin: 0;
}

.at-atoutplus-preview :where(strong, p, small),
.at-atoutplus-account__balance :where(strong, b, small) {
	color: var(--atp-text) !important;
	display: block;
	margin: 0;
}

.at-atoutplus-preview :where(p, small),
.at-atoutplus-account__balance small {
	color: var(--atp-muted) !important;
	line-height: 1.5;
}

.at-atoutplus-progress {
	background: var(--atp-orange-soft);
	border-radius: 999px;
	height: 10px;
	overflow: hidden;
	width: 100%;
}

.at-atoutplus-progress > span {
	background: var(--atp-orange);
	border-radius: inherit;
	display: block;
	height: 100%;
}

.at-atoutplus-section {
	padding-block: clamp(3.5rem, 7vw, 6rem);
}

.at-atoutplus-section h2,
.at-atoutplus-account h2,
.at-atoutplus-account h3,
.at-atoutplus-account h4 {
	color: var(--atp-text) !important;
	letter-spacing: -.025em;
	line-height: 1.15;
}

.at-atoutplus-section h2 {
	font-size: clamp(2rem, 3.5vw, 3.2rem);
	margin: 0;
}

.at-atoutplus-section__intro {
	color: var(--atp-muted) !important;
	font-size: 1.05rem;
	line-height: 1.65;
	margin: 1rem 0 0;
	max-width: 760px;
}

.at-atoutplus-how__grid,
.at-atoutplus-levels {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 2rem;
}

.at-atoutplus-how__grid article,
.at-atoutplus-levels article {
	background: var(--atp-blue-soft);
	border: 1px solid var(--atp-border);
	border-radius: 16px;
	padding: 1.5rem;
}

.at-atoutplus-how__grid article > span {
	color: var(--atp-orange);
	font-weight: 850;
}

.at-atoutplus-how__grid h3,
.at-atoutplus-levels h3 {
	color: var(--atp-text) !important;
	font-size: 1.15rem;
	margin: .75rem 0 .5rem;
}

.at-atoutplus-how__grid p,
.at-atoutplus-levels p {
	color: var(--atp-muted) !important;
	line-height: 1.55;
	margin: 0;
}

.at-atoutplus-section--levels {
	background: var(--atp-blue-soft);
}

.at-atoutplus-levels article {
	background: var(--atp-white);
}

.at-atoutplus-levels .is-featured {
	background: var(--atp-orange-soft);
	border: 2px solid var(--atp-orange);
}

.at-atoutplus-levels .is-featured :where(h3, strong) {
	color: var(--atp-orange) !important;
}

.at-atoutplus-rules {
	align-items: start;
	display: grid;
	gap: 3rem;
	grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr);
}

.at-atoutplus-rules h2 {
	font-size: clamp(2rem, 3vw, 2.8rem);
}

.at-atoutplus-rules > div > p {
	color: var(--atp-muted) !important;
	line-height: 1.55;
}

.at-atoutplus-rules ul {
	display: grid;
	gap: .75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.at-atoutplus-rules li {
	background: var(--atp-success-soft);
	border: 1px solid #cfe9db;
	border-radius: 12px;
	color: var(--atp-success) !important;
	line-height: 1.45;
	padding: .9rem 1rem .9rem 2.6rem;
	position: relative;
}

.at-atoutplus-rules li::before {
	content: "✓";
	font-weight: 900;
	left: 1rem;
	position: absolute;
}

.at-atoutplus-activation {
	background: var(--atp-blue);
	color: var(--atp-white);
}

.at-atoutplus-activation__inner {
	align-items: center;
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr) auto;
	padding-block: clamp(3.5rem, 6vw, 5rem);
}

.at-atoutplus-activation h2 {
	font-size: clamp(2rem, 3.2vw, 3rem);
	margin: 0;
}

.at-atoutplus-activation p {
	line-height: 1.55;
	margin: .8rem 0 0;
}

.at-atoutplus-activation-card {
	background: var(--atp-white);
	border-radius: 18px;
	box-shadow: var(--atp-shadow);
	color: var(--atp-text);
	grid-column: 1 / -1;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.at-atoutplus-form {
	display: grid;
	gap: 1rem;
}

.at-atoutplus-form .at-form-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.at-atoutplus-form label {
	color: var(--atp-text) !important;
}

.at-atoutplus-form :where(input, select) {
	background: var(--atp-white) !important;
	border: 1px solid var(--atp-border) !important;
	color: var(--atp-text) !important;
	min-height: 48px;
}

.at-atoutplus-form :where(input, select):focus {
	border-color: var(--atp-blue) !important;
	box-shadow: 0 0 0 3px rgba(8, 75, 122, .16) !important;
}

/* Member screen */
body.at-atout-plus-account-page .woocommerce-MyAccount-content {
	max-width: none;
}

body.at-v140-site .at-atoutplus-account {
	background: var(--atp-white) !important;
	border: 0 !important;
	border-radius: 18px !important;
	box-shadow: none !important;
	color: var(--atp-text);
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	overflow: hidden;
	padding: 0 !important;
}

.at-atoutplus-account__hero {
	align-items: center;
	background: var(--atp-blue);
	color: var(--atp-white);
	display: grid;
	gap: 2.5rem;
	grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr);
	padding: clamp(2rem, 5vw, 4rem);
}

.at-atoutplus-account__hero h2 {
	font-size: clamp(2rem, 4vw, 3.5rem);
	margin: 0;
}

.at-atoutplus-account__hero > div:first-child > p:not(.at-atoutplus-eyebrow) {
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 1rem 0 0;
}

.at-atoutplus-account__balance > strong {
	font-size: clamp(2.2rem, 4vw, 3.3rem);
	letter-spacing: -.04em;
}

.at-atoutplus-account__balance > b {
	font-size: 1.15rem;
}

.at-atoutplus-account__activity,
.at-atoutplus-account__ledger-section,
.at-atoutplus-account__help {
	padding: clamp(2rem, 5vw, 4rem);
}

.at-atoutplus-account__activity > h3,
.at-atoutplus-account__ledger-section h3 {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	margin: 0 0 1.5rem;
}

body.at-v140-site .at-atoutplus-account__summary {
	background: transparent !important;
	border-radius: 0 !important;
	color: var(--atp-text) !important;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	padding: 0 !important;
}

body.at-v140-site .at-atoutplus-account__summary > div {
	background: var(--atp-blue-soft) !important;
	border: 1px solid var(--atp-border);
	border-radius: 16px;
	display: grid;
	gap: .45rem;
	padding: 1.5rem;
}

body.at-v140-site .at-atoutplus-account__summary :where(strong, small) {
	color: var(--atp-text) !important;
}

.at-atoutplus-account__summary strong {
	font-size: clamp(1.65rem, 3vw, 2.4rem) !important;
	letter-spacing: -.035em;
}

.at-atoutplus-account__summary small {
	color: var(--atp-muted) !important;
	line-height: 1.45;
}

.at-atoutplus-account__ledger-section {
	background: var(--atp-blue-soft);
}

.at-atoutplus-account__section-heading {
	align-items: center;
	display: flex;
	gap: 1.5rem;
	justify-content: space-between;
	margin-bottom: 1.5rem;
}

.at-atoutplus-account__section-heading h3 {
	margin-bottom: .5rem;
}

.at-atoutplus-account__section-heading p {
	color: var(--atp-muted) !important;
	margin: 0;
}

.at-atoutplus-ledger {
	background: var(--atp-white);
	border: 1px solid var(--atp-border);
	border-radius: 16px;
	overflow: hidden;
}

.at-atoutplus-ledger table {
	border-collapse: collapse;
	min-width: 720px;
	width: 100%;
}

.at-atoutplus-ledger :where(th, td) {
	border-bottom: 1px solid var(--atp-border);
	color: var(--atp-text) !important;
	padding: 1rem 1.2rem;
	text-align: left;
}

.at-atoutplus-ledger th {
	background: var(--atp-blue-soft);
	font-size: .72rem;
	letter-spacing: .045em;
	text-transform: uppercase;
}

.at-atoutplus-ledger td:last-child,
.at-atoutplus-ledger th:last-child {
	text-align: right;
}

.at-atoutplus-ledger td.is-positive,
.at-atoutplus-ledger td.is-negative {
	color: var(--atp-success) !important;
	font-weight: 850;
}

.at-atoutplus-account__help {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
}

.at-atoutplus-account__help > div,
.at-atoutplus-account__help > aside,
.at-atoutplus-first-points,
.at-atoutplus-account--empty {
	border: 1px solid var(--atp-border);
	border-radius: 16px;
	padding: clamp(1.5rem, 3vw, 2rem);
}

.at-atoutplus-account__help h3,
.at-atoutplus-first-points h4,
.at-atoutplus-account--empty h2 {
	font-size: 1.65rem;
	margin: 0 0 .9rem;
}

.at-atoutplus-account__help ul {
	display: grid;
	gap: .8rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.at-atoutplus-account__help li {
	color: var(--atp-success) !important;
	padding-left: 1.5rem;
	position: relative;
}

.at-atoutplus-account__help li::before {
	content: "✓";
	font-weight: 900;
	left: 0;
	position: absolute;
}

.at-atoutplus-account__help > aside {
	background: var(--atp-blue);
}

.at-atoutplus-account__help > aside :where(h3, p) {
	color: var(--atp-white) !important;
}

.at-atoutplus-first-points {
	background: var(--atp-white);
}

.at-atoutplus-first-points p,
.at-atoutplus-account--empty > p {
	color: var(--atp-muted) !important;
	line-height: 1.6;
}

@media (max-width: 900px) {
	.at-atoutplus-hero__grid,
	.at-atoutplus-account__hero,
	.at-atoutplus-rules,
	.at-atoutplus-account__help {
		grid-template-columns: 1fr;
	}

	.at-atoutplus-how__grid,
	.at-atoutplus-levels,
	body.at-v140-site .at-atoutplus-account__summary {
		grid-template-columns: 1fr;
	}

	.at-atoutplus-activation__inner {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.at-atoutplus-form .at-form-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.at-atoutplus-shell {
		width: calc(100% - 3rem);
	}

	.at-atoutplus-hero__grid {
		gap: 2rem;
		min-height: 0;
		padding-block: 3rem;
	}

	.at-atoutplus-hero h1 {
		font-size: clamp(2.3rem, 11vw, 3.4rem);
	}

	.at-atoutplus-actions,
	.at-atoutplus-actions .at-atoutplus-button,
	.at-atoutplus-actions .at-atoutplus-link,
	.at-atoutplus-activation .at-atoutplus-button {
		width: 100%;
	}

	.at-atoutplus-link {
		text-align: center;
	}

	.at-atoutplus-section {
		padding-block: 3.5rem;
	}

	.at-atoutplus-how__grid,
	.at-atoutplus-levels {
		gap: .8rem;
		margin-top: 1.5rem;
	}

	.at-atoutplus-activation__inner {
		padding-block: 3.5rem;
	}

	.at-atoutplus-account__section-heading {
		align-items: stretch;
		flex-direction: column;
	}

	.at-atoutplus-account__section-heading .at-atoutplus-button {
		width: 100%;
	}

	.at-atoutplus-ledger {
		background: transparent;
		border: 0;
		overflow: visible;
	}

	.at-atoutplus-ledger table,
	.at-atoutplus-ledger tbody,
	.at-atoutplus-ledger tr,
	.at-atoutplus-ledger td {
		display: block;
		min-width: 0;
		width: 100%;
	}

	.at-atoutplus-ledger thead {
		display: none;
	}

	.at-atoutplus-ledger tbody {
		display: grid;
		gap: .8rem;
	}

	.at-atoutplus-ledger tr {
		background: var(--atp-white);
		border: 1px solid var(--atp-border);
		border-radius: 14px;
		padding: 1rem;
	}

	.at-atoutplus-ledger td {
		border: 0;
		display: grid;
		gap: 1rem;
		grid-template-columns: minmax(90px, .7fr) minmax(0, 1.3fr);
		padding: .4rem 0;
		text-align: right !important;
	}

	.at-atoutplus-ledger td::before {
		color: var(--atp-muted);
		content: attr(data-label);
		font-size: .72rem;
		font-weight: 800;
		text-align: left;
		text-transform: uppercase;
	}
}

@media (prefers-reduced-motion: reduce) {
	.at-atoutplus-button {
		transition: none;
	}
}
