/* NYRIX MagSafe Wallet — landing (design v2)
   Le markup porte ses styles en ligne (c'est la maquette) ; ce fichier ajoute
   les polices, les états, l'isolation vis-à-vis du thème et le mobile. */

/* ---------- Polices auto-hébergées (Archivo) ---------- */

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/archivo-a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/archivo-b.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/archivo-c.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/archivo-a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/archivo-b.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/archivo-c.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/archivo-a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/archivo-b.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/archivo-c.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/archivo-a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/archivo-b.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/archivo-c.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Base, limitée à la landing ---------- */

.nyrix-ms {
	font-family: "Archivo", Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	color: #1b1b1b;
	background: #faf8f5;
	line-height: normal;
}

.nyrix-ms *,
.nyrix-ms *::before,
.nyrix-ms *::after {
	box-sizing: border-box;
}

.nyrix-ms a {
	color: #1b1b1b;
	text-decoration: none;
}

.nyrix-ms img,
.nyrix-ms video,
.nyrix-ms iframe {
	display: block;
	max-width: 100%;
}

.nyrix-ms img {
	height: auto;
}

.nyrix-ms ::selection {
	background: #e4d5bc;
}

.nyrix-ms button {
	font-family: inherit;
}

.nyrix-ms input:focus {
	border-color: #c4622c;
}

.nyrix-ms [hidden] {
	display: none !important;
}

body.nyrix-ms-landing-page .entry-content,
body.nyrix-ms-landing-page .site-main,
body.nyrix-ms-landing-page .content-area {
	max-width: none;
	padding: 0;
	margin: 0;
}

/* ---------- Isolation : les règles globales du thème s'arrêtent ici ---------- */

.nyrix-ms,
.nyrix-ms h1,
.nyrix-ms h2,
.nyrix-ms h3,
.nyrix-ms h4,
.nyrix-ms p,
.nyrix-ms a,
.nyrix-ms span,
.nyrix-ms li,
.nyrix-ms button,
.nyrix-ms input,
.nyrix-ms select,
.nyrix-ms textarea,
.nyrix-ms label,
.nyrix-ms th,
.nyrix-ms td {
	font-family: "Archivo", Helvetica, Arial, sans-serif !important;
}

.nyrix-ms a,
.nyrix-ms a:hover,
.nyrix-ms a:focus {
	text-decoration: none !important;
}

.nyrix-ms h1,
.nyrix-ms h2,
.nyrix-ms h3,
.nyrix-ms h4,
.nyrix-ms p,
.nyrix-ms span,
.nyrix-ms label,
.nyrix-ms li,
.nyrix-ms th,
.nyrix-ms td {
	color: inherit;
}

.nyrix-ms h1,
.nyrix-ms h2,
.nyrix-ms h3,
.nyrix-ms h4 {
	padding: 0;
	text-transform: none;
	font-style: normal;
}

.nyrix-ms p,
.nyrix-ms ul,
.nyrix-ms ol {
	padding: 0;
}

.nyrix-ms button {
	-webkit-appearance: none;
	appearance: none;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
	text-shadow: none;
	min-height: 0;
	width: auto;
}

.nyrix-ms input {
	box-shadow: none;
	text-transform: none;
	min-height: 0;
}

.nyrix-ms table {
	border: 0;
	margin: 0;
}

/* ---------- États hover repris du design ---------- */

.nyrix-ms .nx-h0:hover{color:#FFFFFF}
.nyrix-ms .nx-h1:hover{color:#FFFFFF}
.nyrix-ms .nx-h2:hover{color:#FFFFFF}
.nyrix-ms .nx-h3:hover{color:#FFFFFF}
.nyrix-ms .nx-h4:hover{color:#FFFFFF}
.nyrix-ms .nx-h5:hover{color:#FFFFFF}
.nyrix-ms .nx-h6:hover{background:#FFFFFF;color:#111111}
.nyrix-ms .nx-h7:hover{background:#C4622C;color:#FFFFFF}
.nyrix-ms .nx-h8:hover{border-color:#C4622C;color:#C4622C}
.nyrix-ms .nx-h9:hover{color:#C4622C}
.nyrix-ms .nx-h10:hover{color:#C4622C}
.nyrix-ms .nx-h11:hover{background:#C4622C}
.nyrix-ms .nx-h12:hover{color:#C4622C}
.nyrix-ms .nx-h13:hover{background:#C4622C;color:#FFFFFF}

/* ---------- Avis photo : emplacement vide ---------- */

.nyrix-ms .nx-slot {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	background: repeating-linear-gradient(135deg, #f2ede5 0 12px, #eee7dc 12px 24px);
	color: #8a847d;
	font-size: 12.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* ---------- Formulaire ---------- */

.nyrix-ms .nx-order {
	animation: nx-in 0.32s ease both;
}

@keyframes nx-in {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
}

.nyrix-ms .nx-error p {
	margin: 0;
	color: #b3261e;
	font-size: 13.5px;
	text-align: center;
}

.nyrix-ms input[aria-invalid="true"] {
	border-color: #b3261e;
}

.nyrix-ms button[disabled] {
	opacity: 0.62;
	cursor: progress;
}

.nyrix-ms .nx-faq-a {
	animation: nx-fade 0.24s ease both;
}

@keyframes nx-fade {
	from {
		opacity: 0;
	}
}

.nyrix-ms .nx-site-form form {
	margin: 0;
}

.nyrix-ms .nx-site-form input,
.nyrix-ms .nx-site-form select,
.nyrix-ms .nx-site-form textarea {
	max-width: 100%;
}

/* ---------- WhatsApp + barre d'achat mobile ---------- */

.nyrix-ms .nx-wa {
	position: fixed;
	right: 16px;
	bottom: 84px;
	z-index: 60;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #25d366;
	color: #063d1e;
	box-shadow: 0 12px 28px -10px rgba(0, 0, 0, 0.45);
}

.nyrix-ms .nx-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 55;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 16px;
	background: rgba(12, 12, 12, 0.92);
	backdrop-filter: saturate(180%) blur(20px);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	color: #f5f1ea;
	font-size: 15px;
	font-weight: 600;
}

.nyrix-ms .nx-sticky button {
	border: 0;
	border-radius: 980px;
	background: #f5f1ea;
	color: #111111;
	font-size: 14px;
	font-weight: 600;
	padding: 10px 22px;
	cursor: pointer;
}

@media (max-width: 899px) {
	.nyrix-ms.nx-open .nx-wa,
	.nyrix-ms.nx-open .nx-sticky {
		display: none;
	}
}

@media (min-width: 900px) {
	.nyrix-ms .nx-sticky {
		display: none;
	}

	.nyrix-ms .nx-wa {
		bottom: 24px;
	}
}

/* ---------- Mobile ---------- */

@media (max-width: 600px) {
	.nyrix-ms .nx-nav {
		display: none !important;
	}

	.nyrix-ms section {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.nyrix-ms table {
		font-size: 13px;
	}

	.nyrix-ms .nx-order > div {
		padding: 24px 20px !important;
	}
}

/* ---------- Option · Localiser ---------- */

/* Mobile : titre et texte, puis la photo, puis le tableau. */
.nyrix-ms .nx-loc {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
}

.nyrix-ms .nx-loc-copy {
	order: 1;
}

.nyrix-ms .nx-loc-media {
	order: 2;
}

.nyrix-ms .nx-loc-table {
	order: 3;
	max-width: none;
}

/* Grand écran : texte et tableau à gauche, photo à droite sur toute la hauteur. */
@media (min-width: 900px) {
	.nyrix-ms .nx-loc {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"copy  media"
			"table media";
		column-gap: 40px;
		row-gap: 30px;
		align-items: start;
	}

	.nyrix-ms .nx-loc-copy {
		grid-area: copy;
		align-self: end;
	}

	.nyrix-ms .nx-loc-table {
		grid-area: table;
		max-width: 440px;
	}

	.nyrix-ms .nx-loc-media {
		grid-area: media;
		align-self: center;
	}
}

/* ---------- Blocs texte + photo ---------- */

/* Mobile : on lit toujours le titre et le texte avant de voir la photo. */
.nyrix-ms .nx-flip .nx-flip-copy {
	order: 1;
}

.nyrix-ms .nx-flip .nx-flip-media {
	order: 2;
}

/* Grand écran : la composition d'origine, photo à gauche. */
@media (min-width: 900px) {
	.nyrix-ms .nx-flip .nx-flip-media {
		order: 1;
	}

	.nyrix-ms .nx-flip .nx-flip-copy {
		order: 2;
	}
}

/* ---------- Grille des six fonctions ---------- */

/* Mobile : deux par ligne. Trait de séparation entre les colonnes. */
.nyrix-ms .nx-features {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 760px) {
	.nyrix-ms .nx-features .nx-feature:nth-child(odd) {
		border-right: 1px solid rgba(245, 241, 234, 0.14);
	}

	.nyrix-ms .nx-features .nx-feature {
		padding: 22px 16px 26px !important;
	}

	.nyrix-ms .nx-features .nx-feature svg {
		width: 24px;
		height: 24px;
		margin-bottom: 16px !important;
	}

	.nyrix-ms .nx-features .nx-feature h3 {
		font-size: 15.5px !important;
	}

	.nyrix-ms .nx-features .nx-feature p {
		font-size: 13px !important;
		line-height: 1.55 !important;
	}
}

/* Grand écran : trois par ligne, comme le design d'origine. */
@media (min-width: 900px) {
	.nyrix-ms .nx-features {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ---------- Vidéo : jamais de commandes natives ---------- */

.nyrix-ms [data-nx="video"] {
	cursor: pointer;
}

.nyrix-ms [data-nx="video"]::-webkit-media-controls,
.nyrix-ms [data-nx="video"]::-webkit-media-controls-enclosure,
.nyrix-ms [data-nx="video"]::-webkit-media-controls-panel {
	display: none !important;
	-webkit-appearance: none;
}

/* marqueur : nx-video-clean */
