@font-face { font-family: 'Rubik'; src: url(data:font/woff2;base64,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) format('woff2'); font-weight: 400 900; font-style: normal; font-display: swap; }
:root {
--bg-primary: #FFFFFF;
--bg-secondary: #FFFFFF;
--bg-tertiary: #FAF4F1;
--accent: #C8102E;
--accent-dark: #9B0D24;
--gold: #9B0D24;
--gold-soft: #FBEFEE;
--accent-glow: transparent;
--gold-glow: transparent;
--text-primary: #1F1A1B;
--text-secondary: #5B5153;
--text-body: #3A3133;
--border: #E8DCD9;
--creme: #FAF4F1;
--rose: #FBEFEE;
--sombre: #1C0C10;
--or: #F2B84B;
--vert: #27a05a;
--vert-texte: #1E7F47;
--font-title: 'Rubik', 'Arial Rounded MT Bold', Arial, sans-serif;
--font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
--radius: 6px;
--radius-lg: 8px;
--transition: 0.15s ease;
--max-width: 1000px;
color-scheme: light;
}
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scroll-behavior: smooth;
-webkit-text-size-adjust: 100%;
}
body {
font-family: var(--font-body);
background-color: var(--bg-primary);
color: var(--text-primary);
line-height: 1.6;
font-size: 16px;
overflow-x: hidden;
padding-bottom: 130px;
}
@media (max-width: 600px) {
body {
padding-bottom: 115px;
}
}
img {
max-width: 100%;
height: auto;
display: block;
}
a {
color: var(--accent);
text-decoration: none;
transition: color var(--transition);
}
a:hover {
color: var(--accent-dark);
}
ul,
ol {
list-style: none;
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-title);
font-weight: 700;
line-height: 1.2;
color: var(--text-primary);
}
h1 {
font-size: clamp(2rem, 5vw, 3.75rem);
letter-spacing: -0.5px;
}
h2 {
font-size: clamp(1.75rem, 4vw, 2.75rem);
margin-bottom: 1rem;
}
h3 {
font-size: clamp(1.25rem, 2.5vw, 1.5rem);
margin-bottom: 0.75rem;
}
p {
color: var(--text-secondary);
margin-bottom: 1rem;
}
.container {
width: 100%;
max-width: var(--max-width);
margin: 0 auto;
padding: 0 1.25rem;
}
section {
padding: 4rem 0;
position: relative;
}
section.alt {
background-color: var(--bg-tertiary);
}
.section-title {
text-align: center;
margin-bottom: 0.75rem;
}
.section-subtitle {
text-align: center;
color: var(--text-secondary);
margin-bottom: 3rem;
max-width: 700px;
margin-left: auto;
margin-right: auto;
}
.btn {
display: inline-block;
padding: 0.95rem 2rem;
font-family: var(--font-body);
font-weight: 600;
font-size: 1rem;
border: 2px solid transparent;
border-radius: var(--radius);
cursor: pointer;
text-align: center;
transition: all var(--transition);
letter-spacing: 0.3px;
}
.btn-primary {
background: linear-gradient(135deg, #27a05a 0%, #3ed48c 100%);
color: #fff;
box-shadow: 0 0 25px rgba(39, 160, 90, 0.45), 0 4px 15px rgba(39, 160, 90, 0.25);
animation: pulse-glow 2.5s ease-in-out infinite;
}
.btn-primary:hover {
transform: translateY(-2px) scale(1.02);
box-shadow: 0 0 40px rgba(39, 160, 90, 0.45), 0 6px 20px rgba(39, 160, 90, 0.35);
color: #fff;
}
.btn-gold {
background: linear-gradient(135deg, var(--gold) 0%, var(--gold-soft) 100%);
color: #fff;
box-shadow: 0 0 22px var(--gold-glow), 0 4px 14px rgba(107, 16, 34, 0.25);
}
.btn-gold:hover {
transform: translateY(-2px) scale(1.02);
box-shadow: 0 0 38px var(--gold-glow), 0 6px 20px rgba(107, 16, 34, 0.35);
color: #fff;
}
.btn-outline {
background: transparent;
color: var(--accent);
border-color: var(--accent);
}
.btn-outline:hover {
background: var(--accent);
color: #fff;
box-shadow: 0 0 20px var(--accent-glow);
}
.btn-large {
padding: 1.15rem 2.5rem;
font-size: 1.125rem;
line-height: 1.3;
max-width: 100%;
word-wrap: break-word;
}
@media (max-width: 600px) {
.btn {
line-height: 1.25;
word-wrap: break-word;
}
.btn-large {
padding: 0.95rem 1.4rem;
font-size: 1rem;
}
}
.btn-signup {
display: inline-flex !important;
align-items: center;
gap: 0.35rem;
}
.btn-signup-icon {
font-size: 1rem;
animation: hero-icon-pulse 1.4s ease-in-out infinite;
filter: drop-shadow(0 0 6px rgba(200, 16, 46, 0.7));
}
@media (max-width: 600px) {
.btn-signup {
gap: 0.3rem;
}
.btn-signup-icon {
font-size: 1.05rem;
}
}
@keyframes pulse-glow {
0%, 100% { box-shadow: 0 0 25px rgba(39, 160, 90, 0.45), 0 4px 15px rgba(39, 160, 90, 0.25); }
50% { box-shadow: 0 0 45px rgba(39, 160, 90, 0.5), 0 6px 20px rgba(39, 160, 90, 0.35); }
}
.btn-hero {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.7rem;
padding: 1.25rem 2.6rem;
font-size: 1.15rem;
font-weight: 800;
letter-spacing: 0.5px;
text-transform: uppercase;
border-radius: 60px;
background:
linear-gradient(135deg, #27a05a 0%, #2fbf74 50%, #3ed48c 100%);
color: #fff;
border: 1px solid rgba(255, 255, 255, 0.4);
box-shadow:
0 0 30px rgba(39, 160, 90, 0.45),
0 8px 25px rgba(39, 160, 90, 0.35),
inset 0 1px 0 rgba(255, 255, 255, 0.5);
overflow: hidden;
isolation: isolate;
animation: pulse-glow 2.5s ease-in-out infinite;
}
.btn-hero::before {
content: "";
position: absolute;
top: 0;
left: -130%;
width: 60%;
height: 100%;
background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.55) 50%, transparent 100%);
transform: skewX(-20deg);
animation: hero-shine 3.5s ease-in-out infinite;
pointer-events: none;
z-index: 1;
}
.btn-hero-icon,
.btn-hero-text,
.btn-hero-arrow {
position: relative;
z-index: 2;
}
.btn-hero-icon {
font-size: 1.3rem;
filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25));
animation: hero-icon-pulse 1.6s ease-in-out infinite;
}
.btn-hero-arrow {
font-size: 1.3rem;
font-weight: 900;
transition: transform 0.25s ease;
}
.btn-hero:hover {
transform: translateY(-3px) scale(1.03);
color: #fff;
box-shadow:
0 0 50px rgba(39, 160, 90, 0.5),
0 14px 35px rgba(39, 160, 90, 0.45),
inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
.btn-hero:hover .btn-hero-arrow {
transform: translateX(6px);
}
@keyframes hero-shine {
0% { left: -130%; }
55% { left: 150%; }
100% { left: 150%; }
}
@keyframes hero-icon-pulse {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.15); }
}
.btn-hero-text {
white-space: nowrap;
}
@media (max-width: 600px) {
.btn-hero {
padding: 0.9rem 1.3rem;
font-size: 0.85rem;
gap: 0.45rem;
letter-spacing: 0;
text-transform: none;
max-width: calc(100% - 1rem);
}
.btn-hero-icon,
.btn-hero-arrow {
font-size: 1rem;
}
}
@media (max-width: 380px) {
.btn-hero {
padding: 0.85rem 1rem;
font-size: 0.8rem;
gap: 0.35rem;
}
.btn-hero-arrow {
display: none;
}
}
.site-header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
padding: 1rem 0;
background: rgba(255, 255, 255, 0.7);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
border-bottom: 1px solid transparent;
transition: all var(--transition);
}
.site-header.scrolled {
background: #FFFFFF;
border-bottom-color: var(--border);
box-shadow: 0 4px 20px rgba(200, 16, 46, 0.12);
}
.header-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
}
.logo {
display: flex;
align-items: center;
gap: 0.6rem;
text-decoration: none;
font-family: var(--font-title);
font-size: 1.4rem;
font-weight: 700;
color: var(--text-primary);
letter-spacing: 0.5px;
}
.logo:hover {
color: var(--text-primary);
}
.logo-img {
width: 88px;
height: 88px;
border-radius: 50%;
display: block;
flex-shrink: 0;
object-fit: contain;
background: transparent;
padding: 4px;
box-shadow: 0 0 24px var(--accent-glow);
transition: transform var(--transition), box-shadow var(--transition);
}
.logo:hover .logo-img {
transform: scale(1.05);
box-shadow: 0 0 22px var(--gold-glow);
}
.footer-brand .logo-img {
width: 38px;
height: 38px;
}
.header-actions {
display: flex;
align-items: center;
gap: 0.75rem;
}
.header-actions .btn {
padding: 0.6rem 1.2rem;
font-size: 0.9rem;
}
.btn-login {
display: none;
}
@media (min-width: 768px) {
.btn-login {
display: inline-block;
}
}
.hero {
min-height: 100vh;
display: flex;
align-items: center;
padding: 7rem 1.25rem 4rem;
position: relative;
overflow: hidden;
background:
radial-gradient(ellipse at top, rgba(200, 16, 46, 0.45) 0%, transparent 60%),
radial-gradient(ellipse at bottom, rgba(200, 16, 46, 0.35) 0%, transparent 60%),
var(--bg-primary);
}
@media (max-width: 767px) {
.hero {
padding-top: 11rem;
}
}
.hero::before {
content: "";
position: absolute;
inset: 0;
background-image:
linear-gradient(rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.4));
background-size: cover;
background-position: center;
opacity: 0.6;
z-index: 0;
}
.hero-grid {
width: 100%;
display: grid;
grid-template-columns: 1fr;
gap: 2.5rem;
align-items: center;
position: relative;
z-index: 1;
}
@media (min-width: 1024px) {
.hero-grid {
grid-template-columns: 1.15fr 1fr;
gap: 3.5rem;
}
}
.hero-content {
text-align: center;
}
@media (min-width: 1024px) {
.hero-content {
text-align: left;
}
}
.hero h1 {
margin-bottom: 1.25rem;
background: linear-gradient(135deg, var(--accent-dark) 0%, var(--accent) 50%, var(--gold) 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
.hero-subtitle {
font-size: clamp(1rem, 2vw, 1.25rem);
color: var(--text-primary);
margin-bottom: 2.5rem;
}
@media (max-width: 1023px) {
.hero-subtitle {
max-width: 700px;
margin-left: auto;
margin-right: auto;
}
}
.hero-mention {
margin-top: 1.25rem;
color: var(--text-secondary);
font-size: 0.9rem;
letter-spacing: 0.5px;
}
.hero-image {
display: flex;
justify-content: center;
align-items: center;
position: relative;
}
.hero-image::before {
content: "";
position: absolute;
width: 380px;
height: 380px;
max-width: 100%;
border-radius: 50%;
background: radial-gradient(circle, rgba(200, 16, 46, 0.4) 0%, transparent 65%);
filter: blur(20px);
z-index: 0;
}
.hero-image img {
position: relative;
z-index: 1;
max-width: 290px;
width: 100%;
height: auto;
border-radius: 28px;
box-shadow:
0 0 60px rgba(200, 16, 46, 0.35),
0 25px 60px rgba(155, 13, 36, 0.3);
transform: rotate(-3deg);
transition: transform 0.6s ease, box-shadow 0.6s ease;
}
.hero-image img:hover {
transform: rotate(0deg) scale(1.04);
box-shadow:
0 0 80px rgba(200, 16, 46, 0.45),
0 30px 70px rgba(155, 13, 36, 0.4);
}
@media (min-width: 1024px) {
.hero-image img {
max-width: 320px;
}
}
.profiles-showcase {
padding: 2.5rem 1.25rem;
background: var(--bg-primary);
}
.showcase-image {
display: block;
width: 100%;
max-width: 420px;
margin: 0 auto;
border-radius: var(--radius-lg);
overflow: hidden;
border: 1px solid var(--border);
box-shadow:
0 0 50px rgba(200, 16, 46, 0.18),
0 20px 50px rgba(155, 13, 36, 0.18);
position: relative;
transition: transform var(--transition), box-shadow var(--transition);
}
.showcase-image::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 60%, rgba(255, 255, 255, 0.35) 100%);
pointer-events: none;
}
.showcase-image:hover {
transform: translateY(-4px);
box-shadow:
0 0 70px rgba(200, 16, 46, 0.35),
0 25px 60px rgba(155, 13, 36, 0.25);
}
.showcase-image img {
width: 100%;
height: auto;
display: block;
}
@media (max-width: 600px) {
.showcase-image {
max-width: 100%;
}
}
.stats {
background: var(--bg-secondary);
border-top: 1px solid var(--border);
border-bottom: 1px solid var(--border);
padding: 2.5rem 0;
}
.stats-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1.5rem;
text-align: center;
}
@media (min-width: 768px) {
.stats-grid {
grid-template-columns: repeat(4, 1fr);
}
}
.stat-item {
padding: 0.5rem;
}
.stat-number {
font-family: var(--font-title);
font-size: clamp(1.75rem, 4vw, 2.75rem);
font-weight: 700;
color: var(--accent);
line-height: 1;
margin-bottom: 0.5rem;
text-shadow: 0 0 20px var(--accent-glow);
}
.stat-label {
font-size: 0.9rem;
color: var(--text-secondary);
text-transform: uppercase;
letter-spacing: 1px;
}
.grid {
display: grid;
grid-template-columns: 1fr;
gap: 1.5rem;
}
@media (min-width: 768px) {
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(2, 1fr); }
.grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
}
.card {
background: var(--bg-secondary);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
padding: 1.75rem;
transition: all var(--transition);
position: relative;
overflow: hidden;
}
.card::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 2px;
background: linear-gradient(90deg, transparent, var(--accent), var(--gold), transparent);
opacity: 0;
transition: opacity var(--transition);
}
.card:hover {
border-color: var(--accent);
transform: translateY(-4px);
box-shadow: 0 10px 30px rgba(200, 16, 46, 0.15), 0 0 20px var(--accent-glow);
}
.card:hover::before {
opacity: 1;
}
.card-icon {
font-size: 2rem;
margin-bottom: 1rem;
display: inline-block;
}
.card h3 {
margin-bottom: 0.5rem;
color: var(--text-primary);
}
.card-percent {
display: inline-block;
margin-left: 0.5rem;
font-size: 0.85rem;
color: var(--accent);
font-weight: 700;
font-family: var(--font-body);
}
.card p {
font-size: 0.95rem;
margin-bottom: 0;
}
.profiles-cta,
.section-cta {
text-align: center;
margin-top: 2.5rem;
}
.pricing-table-wrap {
overflow-x: auto;
border-radius: var(--radius-lg);
border: 1px solid var(--border);
margin-bottom: 1.5rem;
}
.pricing-table {
width: 100%;
border-collapse: collapse;
background: var(--bg-secondary);
}
.pricing-table th,
.pricing-table td {
padding: 1.1rem 1.25rem;
text-align: left;
border-bottom: 1px solid var(--border);
}
.pricing-table th {
background: var(--bg-tertiary);
color: var(--accent);
text-transform: uppercase;
font-size: 0.85rem;
letter-spacing: 1px;
font-weight: 700;
}
.pricing-table tbody tr:last-child td {
border-bottom: none;
}
.pricing-table tbody tr:hover {
background: rgba(200, 16, 46, 0.06);
}
.pricing-table .price {
color: var(--accent);
font-weight: 700;
font-size: 1.05rem;
white-space: nowrap;
}
.pricing-mention {
text-align: center;
font-size: 0.9rem;
color: var(--text-secondary);
margin-bottom: 2rem;
}
.testimonial {
background: var(--bg-secondary);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
padding: 1.75rem;
position: relative;
transition: all var(--transition);
}
.testimonial:hover {
border-color: var(--gold);
transform: translateY(-4px);
box-shadow: 0 10px 30px rgba(200, 16, 46, 0.12);
}
.testimonial::before {
content: "“";
position: absolute;
top: -10px;
left: 15px;
font-family: var(--font-title);
font-size: 5rem;
color: var(--accent);
opacity: 0.3;
line-height: 1;
}
.testimonial-stars {
color: #FFD700;
font-size: 1.05rem;
margin-bottom: 0.75rem;
letter-spacing: 2px;
}
.testimonial-text {
font-style: italic;
color: var(--text-primary);
margin-bottom: 1rem;
position: relative;
z-index: 1;
}
.testimonial-author {
font-weight: 600;
color: var(--accent);
font-size: 0.95rem;
border-top: 1px solid var(--border);
padding-top: 0.75rem;
}
.testimonial-author span {
display: block;
color: var(--text-secondary);
font-weight: 400;
font-size: 0.85rem;
margin-top: 0.2rem;
}
@media (max-width: 767px) {
.testimonials-grid {
display: flex;
flex-wrap: nowrap;
overflow-x: auto;
overflow-y: visible;
scroll-snap-type: x mandatory;
gap: 1rem;
margin: 0 -1.25rem;
padding: 0.5rem 1.25rem 1.25rem;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
scroll-padding-left: 1.25rem;
}
.testimonials-grid::-webkit-scrollbar {
display: none;
}
.testimonials-grid .testimonial {
flex: 0 0 86%;
max-width: 86%;
scroll-snap-align: start;
scroll-snap-stop: always;
}
.testimonials-grid .testimonial:hover {
transform: none;
}
.testimonials-hint {
display: flex;
justify-content: center;
align-items: center;
gap: 0.5rem;
margin-top: 0.5rem;
font-size: 0.78rem;
color: #5B5153;
letter-spacing: 0.5px;
animation: hint-slide 2.4s ease-in-out infinite;
}
.testimonials-hint::before {
content: "←";
color: var(--accent);
}
.testimonials-hint::after {
content: "→";
color: var(--accent);
}
@keyframes hint-slide {
0%, 100% { opacity: 0.85; }
50% { opacity: 1; }
}
}
@media (min-width: 768px) {
.testimonials-hint {
display: none;
}
}
.steps {
display: grid;
grid-template-columns: 1fr;
gap: 1.25rem;
counter-reset: step;
}
@media (min-width: 768px) {
.steps {
grid-template-columns: repeat(5, 1fr);
}
}
.step {
background: var(--bg-secondary);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
padding: 1.75rem 1.25rem;
text-align: center;
position: relative;
transition: all var(--transition);
}
.step:hover {
border-color: var(--accent);
transform: translateY(-4px);
}
.step-number {
display: inline-flex;
align-items: center;
justify-content: center;
width: 50px;
height: 50px;
border-radius: 50%;
background: linear-gradient(135deg, var(--accent), var(--gold));
color: #fff;
font-family: var(--font-title);
font-size: 1.5rem;
font-weight: 700;
margin-bottom: 1rem;
box-shadow: 0 0 15px var(--accent-glow);
}
.step h3 {
font-size: 1.05rem;
margin-bottom: 0.5rem;
}
.step p {
font-size: 0.875rem;
margin-bottom: 0;
}
.faq {
max-width: 800px;
margin: 0 auto;
}
.faq-item {
background: var(--bg-secondary);
border: 1px solid var(--border);
border-radius: var(--radius);
margin-bottom: 0.75rem;
overflow: hidden;
transition: all var(--transition);
}
.faq-item.active {
border-color: var(--accent);
box-shadow: 0 0 20px rgba(200, 16, 46, 0.15);
}
.faq-question {
width: 100%;
background: none;
border: none;
color: var(--text-primary);
font-family: var(--font-body);
font-size: 1rem;
font-weight: 600;
padding: 1.1rem 1.25rem;
text-align: left;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
gap: 1rem;
transition: color var(--transition);
}
.faq-question:hover {
color: var(--accent);
}
.faq-icon {
font-size: 1.5rem;
color: var(--accent);
transition: transform var(--transition);
flex-shrink: 0;
}
.faq-item.active .faq-icon {
transform: rotate(45deg);
}
.faq-answer {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease;
}
.faq-answer-inner {
padding: 0 1.25rem 1.25rem;
color: var(--text-secondary);
border-top: 1px solid var(--border);
padding-top: 1rem;
}
.faq-item.active .faq-answer {
max-height: 500px;
}
.cta-final {
text-align: center;
padding: 5rem 1.25rem;
background:
radial-gradient(ellipse at center, rgba(200, 16, 46, 0.18) 0%, transparent 70%),
var(--bg-tertiary);
border-top: 1px solid var(--border);
border-bottom: 1px solid var(--border);
}
.cta-final h2 {
margin-bottom: 1rem;
}
.cta-final p {
max-width: 600px;
margin: 0 auto 2rem;
color: var(--text-primary);
}
.site-footer {
background: #1C0C10;
border-top: 1px solid var(--border);
padding: 3.5rem 0 1.5rem;
color: #EFE5E3;
}
.site-footer p,
.site-footer .footer-tagline,
.site-footer .footer-bottom,
.site-footer .footer-col p {
color: #CDBDBA;
}
.footer-grid {
display: grid;
grid-template-columns: 1fr;
gap: 2.5rem;
margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
.footer-grid {
grid-template-columns: 1.4fr 1fr 1fr;
}
}
.footer-col-empty {
display: none;
}
@media (min-width: 768px) {
.footer-col-empty {
display: block;
}
}
.footer-contact {
display: inline-flex;
align-items: center;
gap: 0.55rem;
padding: 0.65rem 0.9rem;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(242, 208, 213, 0.2);
border-radius: var(--radius);
color: #EFE5E3;
font-size: 0.92rem;
text-decoration: none;
transition: all var(--transition);
}
.footer-contact:hover {
border-color: var(--gold);
color: var(--gold);
box-shadow: 0 0 18px rgba(200, 16, 46, 0.25);
transform: translateY(-1px);
}
.footer-contact-icon {
display: inline-flex;
align-items: center;
justify-content: center;
color: var(--gold);
flex-shrink: 0;
}
.footer-contact-icon svg {
display: block;
}
.footer-col h4,
.footer-col .footer-titre {
font-weight: 700;
line-height: 1.2;
font-family: var(--font-title);
font-size: 1.1rem;
color: var(--gold);
margin-bottom: 1rem;
text-transform: uppercase;
letter-spacing: 1.5px;
}
.footer-col p,
.footer-col li {
font-size: 0.9rem;
margin-bottom: 0.6rem;
line-height: 1.5;
}
.footer-col a {
color: #CDBDBA;
transition: color var(--transition);
}
.footer-col a:hover {
color: var(--gold);
}
.footer-brand {
display: inline-flex;
align-items: center;
gap: 0.75rem;
margin-bottom: 1rem;
text-decoration: none;
color: inherit;
transition: opacity var(--transition);
}
.footer-brand:hover {
opacity: 0.85;
}
.footer-brand:hover .footer-brand-name {
color: var(--gold);
}
.footer-brand-name {
transition: color var(--transition);
}
.footer-brand-name {
font-family: var(--font-title);
font-size: 1.25rem;
color: #FFFFFF;
font-weight: 700;
}
.footer-tagline {
font-size: 0.9rem;
max-width: 320px;
}
.footer-age {
display: inline-block;
margin-top: 1rem;
padding: 0.25rem 0.75rem;
background: var(--accent);
color: #fff;
border-radius: 50px;
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 1px;
}
.footer-bottom {
text-align: center;
padding-top: 1.5rem;
border-top: 1px solid rgba(242, 208, 213, 0.15);
font-size: 0.85rem;
}
.ptprelinker-content {
max-width: 640px;
margin: 2.5rem auto 0;
background: linear-gradient(145deg, #FFFFFF, var(--bg-tertiary));
border: 1px solid var(--border);
border-radius: var(--radius-lg);
box-shadow: 0 0 40px rgba(200, 16, 46, 0.18), 0 8px 24px rgba(155, 13, 36, 0.15);
padding: 2.5rem;
font-family: var(--font-body);
color: var(--text-primary);
position: relative;
overflow: hidden;
text-align: left;
transition: box-shadow var(--transition);
}
.ptprelinker-content:hover {
box-shadow: 0 0 55px rgba(200, 16, 46, 0.25), 0 10px 30px rgba(155, 13, 36, 0.2);
}
.ptprelinker-content::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, var(--accent), var(--gold), var(--gold-soft));
}
.ptprelinker-content h1,
.ptprelinker-content h2,
.ptprelinker-content h3,
.ptprelinker-content h4,
.ptprelinker-content h5 {
font-family: var(--font-title);
color: var(--accent);
text-shadow: 0 0 12px rgba(200, 16, 46, 0.18);
margin-bottom: 1rem;
text-align: center;
font-weight: 700;
}
.ptprelinker-content h2 { font-size: 1.6rem; }
.ptprelinker-content h3 { font-size: 1.3rem; }
.ptprelinker-content p {
color: var(--text-secondary);
line-height: 1.6;
margin-bottom: 1rem;
font-size: 0.95rem;
}
.ptprelinker-content label {
display: block;
color: var(--text-primary);
font-weight: 500;
font-size: 0.95rem;
margin-bottom: 0.5rem;
}
.ptprelinker-content input[type="text"],
.ptprelinker-content input[type="email"],
.ptprelinker-content input[type="password"],
.ptprelinker-content input[type="tel"],
.ptprelinker-content input[type="number"],
.ptprelinker-content input[type="date"],
.ptprelinker-content input[type="search"],
.ptprelinker-content input[type="url"],
.ptprelinker-content input:not([type]),
.ptprelinker-content select,
.ptprelinker-content textarea {
width: 100%;
padding: 0.85rem 1rem;
background: #FFFFFF;
border: 1px solid var(--border);
border-radius: var(--radius);
color: var(--text-primary);
font-family: var(--font-body);
font-size: 1rem;
margin-bottom: 1rem;
transition: all var(--transition);
-webkit-appearance: none;
appearance: none;
}
.ptprelinker-content input:focus,
.ptprelinker-content select:focus,
.ptprelinker-content textarea:focus {
outline: none;
border-color: var(--accent);
box-shadow: 0 0 0 3px var(--accent-glow);
background: #FFFFFF;
}
.ptprelinker-content input::placeholder,
.ptprelinker-content textarea::placeholder {
color: var(--text-secondary);
opacity: 0.7;
}
.ptprelinker-content textarea {
resize: vertical;
min-height: 100px;
}
.ptprelinker-content select {
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23C41E3A' d='M6 8L0 0h12z'/></svg>");
background-repeat: no-repeat;
background-position: right 1rem center;
background-size: 12px 8px;
padding-right: 2.5rem;
}
.ptprelinker-content input[type="radio"],
.ptprelinker-content input[type="checkbox"] {
width: auto;
margin: 0 0.5rem 0 0;
accent-color: var(--accent);
transform: scale(1.1);
vertical-align: middle;
}
.ptprelinker-content button,
.ptprelinker-content input[type="submit"],
.ptprelinker-content input[type="button"],
.ptprelinker-content .btn {
display: block;
width: 100%;
padding: 1rem 2rem;
margin-top: 1rem;
background: linear-gradient(135deg, #27a05a 0%, #3ed48c 100%);
color: #fff;
border: 2px solid transparent;
border-radius: var(--radius);
font-family: var(--font-body);
font-size: 1.05rem;
font-weight: 700;
letter-spacing: 0.5px;
cursor: pointer;
text-transform: uppercase;
text-align: center;
text-decoration: none;
box-shadow: 0 0 25px rgba(39, 160, 90, 0.45), 0 4px 15px rgba(39, 160, 90, 0.3);
animation: pulse-glow 2.5s ease-in-out infinite;
transition: transform var(--transition), box-shadow var(--transition);
}
.ptprelinker-content button:hover,
.ptprelinker-content input[type="submit"]:hover,
.ptprelinker-content input[type="button"]:hover,
.ptprelinker-content .btn:hover {
transform: translateY(-2px) scale(1.02);
box-shadow: 0 0 45px rgba(39, 160, 90, 0.5), 0 6px 22px rgba(39, 160, 90, 0.4);
}
.ptprelinker-content small {
color: var(--text-secondary);
font-size: 0.85rem;
}
@media (max-width: 768px) {
.ptprelinker-content {
padding: 1.75rem 1.25rem;
margin-top: 2rem;
}
}
.bottom-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
width: 100%;
z-index: 9999;
padding: 0.75rem 1rem;
background: linear-gradient(135deg, #9B0D24 0%, #C8102E 50%, #C8102E 100%);
border-top: 2px solid var(--gold);
box-shadow: 0 -6px 28px rgba(155, 13, 36, 0.45);
}
.bottom-bar::before {
content: "";
position: absolute;
top: -2px;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, transparent, var(--gold), transparent);
pointer-events: none;
}
.bottom-bar-inner {
width: 100%;
max-width: 760px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 0.5rem;
text-align: center;
}
.bottom-bar-info {
display: inline-flex;
align-items: center;
gap: 0.5rem;
line-height: 1.1;
}
.bottom-bar-dot {
width: 9px;
height: 9px;
border-radius: 50%;
background: #2ecc71;
box-shadow: 0 0 10px #2ecc71, 0 0 4px #2ecc71;
animation: dot-pulse-live 1.4s ease-in-out infinite;
flex-shrink: 0;
}
@keyframes dot-pulse-live {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.4; transform: scale(1.4); }
}
.bottom-bar-counter {
font-family: var(--font-title);
font-size: 1rem;
font-weight: 700;
color: #FFFFFF;
letter-spacing: 0.3px;
}
.bottom-bar-counter span {
color: #FFD700;
text-shadow: 0 0 12px rgba(255, 215, 0, 0.6);
font-size: 1.15em;
}
.bottom-bar-cta {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.6rem;
padding: 0.95rem 2.2rem;
background: linear-gradient(135deg, #27a05a 0%, #2fbf74 50%, #3ed48c 100%);
color: #1C0C10;
font-family: var(--font-body);
font-weight: 800;
font-size: 1rem;
text-transform: uppercase;
letter-spacing: 0.8px;
border-radius: 50px;
text-decoration: none;
white-space: nowrap;
box-shadow:
0 0 22px var(--gold-glow),
0 6px 18px rgba(155, 13, 36, 0.45),
inset 0 1px 0 rgba(255, 255, 255, 0.7);
animation: pulse-glow-gold 2.2s ease-in-out infinite;
transition: transform 0.25s ease, box-shadow 0.25s ease;
overflow: hidden;
isolation: isolate;
}
.bottom-bar-cta::before {
content: "";
position: absolute;
top: 0;
left: -120%;
width: 60%;
height: 100%;
background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.6) 50%, transparent 100%);
transform: skewX(-20deg);
animation: shine-sweep 3.2s ease-in-out infinite;
pointer-events: none;
z-index: 1;
}
.bottom-bar-cta-icon,
.bottom-bar-cta-text,
.bottom-bar-cta-arrow {
position: relative;
z-index: 2;
}
.bottom-bar-cta-icon {
font-size: 1.1rem;
filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.4));
}
.bottom-bar-cta-arrow {
font-size: 1.15rem;
font-weight: 900;
transition: transform 0.25s ease;
}
.bottom-bar-cta:hover {
transform: translateY(-2px) scale(1.03);
color: #1C0C10;
box-shadow:
0 0 38px var(--gold-glow),
0 10px 25px rgba(155, 13, 36, 0.55),
inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.bottom-bar-cta:hover .bottom-bar-cta-arrow {
transform: translateX(4px);
}
@keyframes pulse-glow-gold {
0%, 100% {
box-shadow:
0 0 22px var(--gold-glow),
0 6px 18px rgba(155, 13, 36, 0.45),
inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
50% {
box-shadow:
0 0 38px var(--gold-glow),
0 8px 22px rgba(155, 13, 36, 0.55),
inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
}
@keyframes shine-sweep {
0% { left: -120%; }
60% { left: 140%; }
100% { left: 140%; }
}
@media (max-width: 600px) {
.bottom-bar {
padding: 0.6rem 0.75rem;
}
.bottom-bar-counter {
font-size: 0.85rem;
}
.bottom-bar-cta {
padding: 0.85rem 1.5rem;
font-size: 0.9rem;
letter-spacing: 0.5px;
}
.bottom-bar-cta-icon {
font-size: 1rem;
}
}
@media (max-width: 380px) {
.bottom-bar-counter {
font-size: 0.78rem;
}
.bottom-bar-cta {
padding: 0.75rem 1.1rem;
font-size: 0.8rem;
gap: 0.4rem;
}
}
.fade-in {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.7s ease, transform 0.7s ease;
}
.fade-in.visible {
opacity: 1;
transform: translateY(0);
}
.text-center { text-align: center; }
.mt-2 { margin-top: 2rem; }
.mb-2 { margin-bottom: 2rem; }
::-webkit-scrollbar {
width: 10px;
height: 10px;
}
::-webkit-scrollbar-track {
background: var(--bg-tertiary);
}
::-webkit-scrollbar-thumb {
background: var(--accent);
border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
background: var(--accent-dark);
}
::selection {
background: var(--accent);
color: #fff;
}
.jmr-visuel {
margin: 0 auto 2.5rem;
text-align: center;
}
.jmr-visuel img {
display: inline-block;
width: 100%;
height: auto;
border-radius: 18px;
box-shadow: 0 18px 40px rgba(200, 16, 46, 0.14);
}
.jmr-carre { max-width: 320px; }
.jmr-mobile { max-width: 220px; }
.jmr-large { max-width: 760px; }
.jmr-quiz {
position: fixed;
inset: 0;
z-index: 10000;
display: flex;
align-items: center;
justify-content: center;
padding: 1rem;
background: rgba(36, 16, 22, 0.62);
opacity: 0;
transition: opacity 0.2s ease;
}
.jmr-quiz.is-open { opacity: 1; }
.jmr-quiz-box {
position: relative;
width: 100%;
max-width: 440px;
max-height: calc(100vh - 2rem);
overflow-y: auto;
padding: 1.75rem 1.5rem 1.5rem;
border-radius: 20px;
background: #ffffff;
box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
transform: translateY(12px);
transition: transform 0.2s ease;
}
.jmr-quiz.is-open .jmr-quiz-box { transform: none; }
.jmr-quiz-close {
position: absolute;
top: 0.6rem;
right: 0.7rem;
width: 40px;
height: 40px;
border: 0;
border-radius: 50%;
background: var(--bg-tertiary);
color: var(--text-primary);
font-size: 1.4rem;
line-height: 1;
cursor: pointer;
}
.jmr-quiz-head {
margin: 0 2.5rem 1rem 0;
color: var(--accent);
font-size: 0.85rem;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.jmr-quiz-bar {
height: 6px;
margin-bottom: 1.25rem;
border-radius: 6px;
background: var(--bg-tertiary);
overflow: hidden;
}
.jmr-quiz-bar span {
display: block;
height: 100%;
width: 25%;
border-radius: 6px;
background: linear-gradient(90deg, #27a05a, #3ed48c);
transition: width 0.25s ease;
}
.jmr-quiz-q {
margin: 0 0 1rem;
color: var(--text-primary);
font-size: 1.35rem;
font-weight: 700;
line-height: 1.3;
}
.jmr-quiz-opts {
display: grid;
gap: 0.6rem;
}
.jmr-quiz-opt {
width: 100%;
min-height: 52px;
padding: 0.8rem 1rem;
border: 2px solid var(--border);
border-radius: 14px;
background: var(--bg-primary);
color: var(--text-primary);
font: inherit;
font-weight: 600;
text-align: left;
cursor: pointer;
transition: border-color 0.15s ease, background 0.15s ease;
}
.jmr-quiz-opt:hover,
.jmr-quiz-opt:focus-visible {
border-color: var(--accent);
background: var(--bg-tertiary);
outline: none;
}
.jmr-quiz-go {
display: block;
width: 100%;
min-height: 54px;
margin-top: 0.5rem;
border: 0;
border-radius: 999px;
background: linear-gradient(135deg, #27a05a 0%, #3ed48c 100%);
color: #ffffff;
font: inherit;
font-size: 1.05rem;
font-weight: 800;
cursor: pointer;
box-shadow: 0 10px 28px rgba(39, 160, 90, 0.35);
}
.jmr-quiz-txt {
margin: 0 0 1rem;
color: var(--text-secondary);
}
.jmr-quiz-fine {
margin: 0.9rem 0 0;
color: var(--text-secondary);
font-size: 0.8rem;
text-align: center;
}
body.jmr-quiz-lock { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
.jmr-quiz, .jmr-quiz-box, .jmr-quiz-bar span { transition: none; }
}
h1, h2, h3 { font-family: var(--font-title); font-weight: 400; letter-spacing: .01em; text-wrap: balance; }
.section-title { line-height: 1.08; }
.section-title .num { color: var(--accent); margin-right: .25em; }
a { color: var(--accent); }
.zp-progress { position: fixed; top: 0; left: 0; height: 3px; width: 100%; transform-origin: 0 50%; transform: scaleX(0);
background: var(--accent); z-index: 1001; pointer-events: none; }
.zp-logo { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; color: var(--text-primary); }
.zp-logo img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 2px solid var(--accent); }
.zp-logo span { font: 400 1.55rem/1 var(--font-title); letter-spacing: .02em; }
.zp-logo b { color: var(--accent); font-weight: 400; }
.hero .hero-image img { border-radius: var(--radius-lg); aspect-ratio: 832 / 1024; object-fit: cover; height: auto; max-width: 100%; }
.zp-hero-badge { display: inline-flex; gap: .4rem; align-items: center; font-size: .82rem; color: #EDE3E1;
border: 1px solid rgba(255, 255, 255, .22); border-radius: 4px; padding: .3rem .75rem; margin-bottom: 1rem; }
.zp-essentiel { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.1rem 1.25rem; }
.zp-essentiel p { margin: 0 0 .6rem; font-weight: 700; color: var(--gold); letter-spacing: .06em; text-transform: uppercase; font-size: .78rem; }
.zp-essentiel ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .45rem; }
.zp-essentiel li strong { color: var(--text-primary); }
.zp-toc { position: sticky; top: 0; z-index: 90; background: var(--bg-primary); border-bottom: 1px solid var(--border); }
.zp-toc .container { display: flex; gap: .75rem; align-items: center; padding-block: .55rem; }
.zp-toc h2 { font-size: .95rem; margin: 0; white-space: nowrap; color: var(--text-secondary); font-family: var(--font-body); font-weight: 600; }
.zp-toc-liens { display: flex; gap: .4rem; margin: 0; padding: 0; overflow-x: auto; scrollbar-width: none; }
.zp-toc-liens::-webkit-scrollbar { display: none; }
.zp-toc a { display: inline-flex; gap: .3rem; align-items: center; white-space: nowrap; text-decoration: none; color: var(--text-primary);
font-size: .85rem; border: 1px solid var(--border); border-radius: var(--radius); padding: .35rem .7rem; }
.zp-toc a small { color: var(--accent); font-weight: 700; }
.zp-toc a.is-on { background: var(--accent); border-color: var(--accent); color: #fff; }
.zp-toc a.is-on small { color: #fff; }
@media (max-width: 760px) { .zp-toc h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }
.zp-table-wrap { overflow-x: auto; border-radius: var(--radius); border: 1px solid var(--border); background: #fff; }
.zp-table { width: 100%; border-collapse: collapse; font-size: .93rem; font-variant-numeric: tabular-nums; }
.zp-table th { background: var(--sombre); color: #fff; text-align: left; padding: .7rem .8rem; font-weight: 600; white-space: nowrap; }
.zp-table td { padding: .65rem .8rem; border-top: 1px solid var(--border); vertical-align: top; }
.zp-table tbody tr:nth-child(even) td { background: var(--creme); }
.zp-table td:first-child { font-weight: 700; white-space: nowrap; }
.zp-vide { color: var(--text-secondary); font-style: italic; }
.zp-fiches { display: grid; gap: 1rem; }
.zp-fiche { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.2rem 1.3rem; }
.zp-fiche h3 { font-size: 1.6rem; margin: 0 0 .5rem; display: flex; gap: .6rem; align-items: baseline; flex-wrap: wrap; }
.zp-fiche h3 .zp-part { font: 600 .72rem/1 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: #fff;
background: var(--vert-texte); border-radius: 4px; padding: .3rem .55rem; }
.zp-piege { margin-top: .9rem; border-left: 3px solid var(--accent); background: var(--note, var(--rose)); border-radius: 0 var(--radius) var(--radius) 0; padding: .75rem .9rem; }
.zp-piege p { margin: 0; }
.zp-piege .zp-piege-t { font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: .06em; font-size: .75rem; margin-bottom: .3rem; }
.zp-piege blockquote { margin: .5rem 0 0; font-style: italic; color: var(--text-secondary); font-size: .9rem; }
.zp-piege blockquote a { font-style: normal; }
.zp-liste { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.zp-liste li { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius); padding: .65rem .85rem; }
.zp-liste li strong { color: var(--accent-dark); }
.zp-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: 2rem; align-items: start; }
.zp-duo figure { margin: 0; }
.zp-duo img { width: 100%; height: auto; border-radius: var(--radius-lg); aspect-ratio: 832 / 1024; object-fit: cover; }
.zp-duo figcaption { font-size: .78rem; color: var(--text-secondary); margin-top: .35rem; }
.zp-prose { display: grid; gap: 1rem; }
@media (max-width: 860px) { .zp-duo { grid-template-columns: 1fr; } .zp-duo figure { max-width: 300px; } }
.cmp { display: grid; gap: .9rem; }
.cmp-bar { display: grid; gap: .6rem; background: var(--sur, var(--creme)); border: 1px solid var(--border); border-radius: var(--radius); padding: .8rem; }
.cmp-top { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.cmp-q { flex: 1 1 200px; min-width: 0; }
.cmp-q input, .cmp-f select { width: 100%; font: inherit; font-size: .9rem; color: var(--text-primary); background: var(--bg-primary);
border: 1px solid var(--border); border-radius: 8px; padding: .5rem .65rem; }
.cmp-quick { display: flex; flex-wrap: wrap; gap: .4rem; }
.cmp-quick button, .cmp-tags button, .cmp-togf { font: 500 .82rem/1 var(--font-body); color: var(--text-primary); background: transparent;
border: 1px solid var(--border); border-radius: var(--radius); padding: .45rem .7rem; cursor: pointer; }
.cmp-quick button small { color: var(--text-secondary); margin-left: .2rem; }
.cmp-quick button.is-on { background: var(--accent); border-color: var(--accent); color: #fff; }
.cmp-quick button.is-on small { color: #ffe1e3; }
.cmp-tri select { width: auto; }
.cmp-facets { display: none; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .5rem; }
.cmp-bar.is-open .cmp-facets { display: grid; }
.cmp-f { display: grid; gap: .25rem; font-size: .75rem; color: var(--text-secondary); }
.cmp-foot { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: space-between; }
.cmp-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.cmp-tags b { color: var(--accent); }
.cmp-n { font-size: .82rem; color: var(--text-secondary); }
.cmp-list { display: grid; gap: .6rem; }
.cmp-card { position: relative; display: grid; grid-template-columns: 34px 52px minmax(0, 1fr) minmax(0, 230px); gap: .35rem .9rem; align-items: center;
background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius); padding: .9rem 1rem .9rem 1.15rem; overflow: hidden; }
.cmp-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--border); }
.cmp-card.is-part::before { background: var(--accent); }
.cmp-rank { font: 400 1.6rem/1 var(--font-title); color: var(--accent); font-style: normal; text-align: center; }
.cmp-logo { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--bg-tertiary); color: var(--gold);
font: 400 1.5rem/1 var(--font-title); font-style: normal; }
.cmp-name h3 { font: 700 1.05rem/1.2 var(--font-body); margin: 0; }
.cmp-name span { display: block; font-size: .8rem; color: var(--text-secondary); }
.cmp-stats { display: flex; flex-wrap: wrap; gap: .2rem .7rem; font-size: .8rem; color: var(--text-secondary); margin-top: .25rem; }
.cmp-offer { display: grid; gap: .4rem; justify-items: start; }
.cmp-tarif { font-weight: 700; font-variant-numeric: tabular-nums; }
.cmp-tarif small { font-weight: 500; color: var(--text-secondary); }
.cmp-btn { display: inline-block; font: 700 .85rem/1 var(--font-body); color: #fff; text-decoration: none; background: linear-gradient(90deg, #27a05a, #3ed48c);
border-radius: var(--radius); padding: .6rem .85rem; }
.cmp-btn.is-off { background: transparent; color: var(--text-secondary); border: 1px solid var(--border); font-weight: 500; }
.cmp-more { grid-column: 1 / -1; }
.cmp-tabs { display: flex; flex-wrap: wrap; gap: .35rem; }
.cmp-tabs button { font: 600 .75rem/1 var(--font-body); color: var(--text-secondary); background: transparent; border: 1px solid var(--border);
border-radius: 6px; padding: .45rem .6rem; cursor: pointer; }
.cmp-tabs button.is-on { color: var(--text-primary); border-color: var(--accent); }
.cmp-panel { display: none; margin-top: .6rem; font-size: .88rem; color: var(--text-secondary); }
.cmp-panel.is-open { display: block; }
.cmp-panel ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .25rem; }
.cmp-panel b { color: var(--text-primary); }
.cmp-chips { display: flex; flex-wrap: wrap; gap: .3rem; }
.cmp-chips i { font-style: normal; font-size: .75rem; border: 1px solid var(--border); border-radius: 4px; padding: .2rem .5rem; }
.cmp-pager { display: flex; gap: .35rem; justify-content: center; }
.cmp-pager button { min-width: 36px; font: 600 .85rem/1 var(--font-body); color: var(--text-primary); background: transparent; border: 1px solid var(--border);
border-radius: var(--radius); padding: .5rem; cursor: pointer; }
.cmp-pager button.is-cur { background: var(--accent); border-color: var(--accent); color: #fff; }
.cmp-pager button:disabled { opacity: .35; cursor: default; }
.cmp-note { font-size: .9rem; color: var(--text-secondary); }
@media (max-width: 760px) {
.cmp-card { grid-template-columns: 28px 44px minmax(0, 1fr); }
.cmp-logo { width: 44px; height: 44px; }
.cmp-offer { grid-column: 1 / -1; grid-auto-flow: column; justify-content: space-between; align-items: center; }
}
.zp-quiz { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.2rem; display: grid; gap: .9rem; max-width: 720px; }
.zp-quiz-bar { height: 4px; background: var(--bg-tertiary); border-radius: 999px; overflow: hidden; }
.zp-quiz-bar i { display: block; height: 100%; background: var(--accent); transition: width .25s ease; }
.zp-quiz-q { font: 400 1.4rem/1.2 var(--font-title); margin: 0; }
.zp-quiz-opts { display: grid; gap: .5rem; }
.zp-quiz-opts button { text-align: left; font: 500 .95rem/1.3 var(--font-body); color: var(--text-primary); background: var(--bg-primary);
border: 1px solid var(--border); border-radius: var(--radius); padding: .75rem .9rem; cursor: pointer; }
.zp-quiz-opts button:hover { border-color: var(--accent); }
.zp-quiz-res { display: grid; gap: .6rem; }
.zp-quiz-res article { border: 1px solid var(--border); border-radius: var(--radius); padding: .8rem .9rem; background: var(--bg-primary); }
.zp-quiz-res h3 { margin: 0 0 .3rem; font-size: 1.3rem; }
.zp-quiz-res ul { margin: .3rem 0 .6rem; padding-left: 1.1rem; font-size: .9rem; color: var(--text-secondary); }
.zp-quiz-again { justify-self: start; font: 600 .85rem/1 var(--font-body); color: var(--text-primary); background: transparent; border: 1px solid var(--border);
border-radius: 8px; padding: .55rem .8rem; cursor: pointer; }
button:focus-visible, select:focus-visible, input:focus-visible, a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .zp-progress, .zp-quiz-bar i { transition: none; } }
.header-actions { display: flex; align-items: center; gap: .6rem; }
.zp-ariane { font-size: .82rem; color: var(--text-secondary); margin-bottom: .8rem; }
.zp-ariane a { color: var(--text-secondary); }
.zp-auteur { display: flex; align-items: center; gap: .6rem; margin-top: 1rem; font-size: .85rem; color: var(--text-secondary); }
.zp-auteur img { width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--accent); object-fit: cover; }
.zp-auteur p { margin: 0; }
.zp-id { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.1rem 1.2rem; width: 100%; max-width: 420px; }
.zp-id-t { margin: 0 0 .6rem; font-weight: 700; color: var(--gold); text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; }
.zp-id dl { display: grid; grid-template-columns: auto 1fr; gap: .45rem .9rem; margin: 0 0 1rem; font-size: .92rem; }
.zp-id dt { color: var(--text-secondary); }
.zp-id dd { margin: 0; font-weight: 600; }
.zp-fig { float: right; width: min(300px, 42%); margin: 0 0 1rem 1.5rem; }
.zp-fig img { width: 100%; height: auto; border-radius: var(--radius-lg); }
.zp-fig figcaption { font-size: .78rem; color: var(--text-secondary); margin-top: .3rem; }
@media (max-width: 700px) { .zp-fig { float: none; width: 100%; max-width: 320px; margin: 0 auto 1rem; } }
.zp-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .9rem; }
section h3 { font-size: 1.45rem; margin: 1.4rem 0 .5rem; }
section .container > p.fade-in + p.fade-in { margin-top: .9rem; }
section .container > * + .zp-table-wrap, section .container > * + .zp-liste, section .container > * + .zp-piege { margin-top: 1rem; }
.zp-lire { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .8rem; }
.zp-lire a { display: grid; gap: .3rem; height: 100%; text-decoration: none; background: var(--bg-secondary); border: 1px solid var(--border);
border-radius: var(--radius); padding: .9rem 1rem; color: var(--text-primary); }
.zp-lire a:hover { border-color: var(--accent); }
.zp-lire span { font-size: .85rem; color: var(--text-secondary); }
.bottom-bar { padding: .35rem .9rem calc(.35rem + env(safe-area-inset-bottom, 0px)); border-top-width: 1px; box-shadow: 0 -1px 3px rgba(31, 26, 27, .06); }
.bottom-bar-inner { flex-direction: row; justify-content: center; gap: .9rem; max-width: 760px; }
.bottom-bar-counter { font-family: var(--font-body); font-size: .85rem; font-weight: 600; letter-spacing: 0; }
.bottom-bar-dot { width: 7px; height: 7px; }
.bottom-bar-cta { padding: .45rem .95rem; font-size: .8rem; gap: .35rem; letter-spacing: 0; box-shadow: none; }
.bottom-bar-cta-icon, .bottom-bar-cta-arrow { font-size: .9rem; }
@media (max-width: 480px) {
.bottom-bar-counter { font-size: .75rem; }
.bottom-bar-cta { padding: .4rem .75rem; font-size: .75rem; }
}
body { padding-bottom: 64px; }
@media (max-width: 768px) { body { padding-bottom: 60px; } }
.zp-logo span, .zp-burger, .header-actions .btn-signup { white-space: nowrap; }
@media (max-width: 480px) {
.zp-logo { gap: .4rem; }
.zp-logo span { font-size: 1.2rem; }
.zp-logo img { width: 34px; height: 34px; }
.header-actions { gap: .4rem; }
.header-actions .btn-signup-icon { display: none; }
.header-actions .btn-signup { padding: .5rem .8rem; font-size: .82rem; }
}
.footer-contact-icon.zp-yt { background: transparent; width: auto; height: auto; display: inline-flex; align-items: center; }
.footer-contact-icon.zp-yt svg { display: block; }
details.faq-item > summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
details.faq-item > summary::-webkit-details-marker { display: none; }
details.faq-item[open] { border-color: #D8C3BF; box-shadow: none; }
details.faq-item[open] .faq-icon { transform: rotate(45deg); }
details.faq-item[open] .faq-answer { max-height: 500px; }
.footer-age { background: var(--accent-dark); color: #fff; }
img.cmp-logo { object-fit: cover; border: 1px solid var(--border); background: var(--bg-tertiary); }
.zp-logo-ini { display: inline-grid; place-items: center; background: var(--bg-tertiary); color: var(--gold); font: 400 1rem/1 var(--font-title); font-style: normal; }
.zp-id-tete { display: flex; align-items: center; gap: .8rem; margin-bottom: .8rem; }
.zp-logo-app { width: 64px; height: 64px; border-radius: var(--radius-lg); object-fit: cover; border: 1px solid var(--border); }
.zp-id-tete .zp-id-t { margin: 0; font: 400 1.5rem/1.1 var(--font-title); color: var(--text-primary); text-transform: none; letter-spacing: .01em; }
.zp-id-tete .zp-id-t span { font: 700 .72rem/1 var(--font-body); color: var(--gold); text-transform: uppercase; letter-spacing: .06em; }
.zp-pros-cons { padding-block: 1.5rem 0; }
.zp-pros-cons .section-title { font-size: 1.6rem; text-align: left; }
.zp-pc-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.zp-pc { border-radius: var(--radius-lg); padding: 1rem 1.2rem; border: 1px solid; }
.zp-pc.is-plus { background: #fff; border-color: var(--border); border-top: 3px solid var(--vert); }
.zp-pc.is-moins { background: #fff; border-color: var(--border); border-top: 3px solid var(--accent); }
.zp-pc-t { margin: 0 0 .5rem; font-weight: 700; color: var(--text-primary); }
.zp-pc ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .35rem; color: var(--text-body); }
@media (max-width: 700px) { .zp-pc-grille { grid-template-columns: 1fr; } }
.zp-visuel { margin: 1.2rem 0; }
.zp-visuel img { width: 100%; max-width: 680px; height: auto; border-radius: var(--radius-lg); border: 1px solid var(--border); display: block; }
.zp-pays { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.zp-pay { display: inline-flex; align-items: center; gap: .45rem; background: #fff; color: var(--text-primary); border: 1px solid var(--border); border-radius: var(--radius); padding: .45rem .8rem; font-size: .85rem; }
.zp-pay b { font-weight: 600; }
.zp-stores { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1rem; }
.zp-store { display: inline-flex; align-items: center; gap: .7rem; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius);
padding: .7rem 1rem; text-decoration: none; color: var(--text-primary); }
.zp-store svg { background: #fff; border-radius: 8px; padding: 4px; }
.zp-store b { font-size: 1.15rem; }
.zp-store small { color: var(--text-secondary); }
.zp-etapes { list-style: none; counter-reset: e; margin: 1rem 0 0; padding: 0; display: grid; gap: .6rem; }
.zp-etapes li { counter-increment: e; display: grid; grid-template-columns: 42px minmax(0, 1fr); column-gap: .8rem; background: var(--bg-secondary);
border: 1px solid var(--border); border-radius: var(--radius); padding: .75rem .9rem; }
.zp-etapes li::before { content: counter(e); grid-row: span 2; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center;
background: var(--accent); color: #fff; font: 400 1.2rem/1 var(--font-title); }
.zp-etapes b { display: block; }
.zp-etapes span { color: var(--text-secondary); font-size: .92rem; }
.zp-cell-app { display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap; }
.zp-logo-mini { width: 32px; height: 32px; border-radius: 8px; object-fit: cover; }
.hero .hero-image .zp-id img.zp-logo-app { width: 64px; height: 64px; max-width: 64px; aspect-ratio: 1 / 1; border-radius: var(--radius-lg); object-fit: cover; }
.hero .hero-image .zp-id { margin-inline: auto; }
.zp-cite { margin: 1rem 0 0; padding: .7rem .9rem; border-left: 3px solid var(--accent); background: var(--note, var(--rose)); border-radius: 0 var(--radius) var(--radius) 0; font-style: italic; color: var(--text-secondary); font-size: .92rem; }
.zp-cite a { font-style: normal; }
.zp-logo-h3 { width: 40px; height: 40px; border-radius: var(--radius); object-fit: cover; vertical-align: middle; margin-right: .2rem; }
.zp-captures { display: grid; gap: 1rem; margin: 1.2rem 0; max-width: 600px; }
.zp-captures.is-duo { grid-template-columns: 1fr 1fr; max-width: 980px; }
.zp-capture { margin: 0; }
.zp-capture img { width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: cover; object-position: top; display: block;
border-radius: var(--radius); border: 1px solid var(--border); box-shadow: none; }
.zp-capture figcaption { font-size: .8rem; color: var(--text-secondary); margin-top: .45rem; line-height: 1.4; }
@media (max-width: 640px) { .zp-captures.is-duo { grid-template-columns: 1fr; } }
.zp-hero-page { min-height: 0; }
@media (max-width: 767px) {
.hero { min-height: 0; padding-top: 5.75rem; padding-bottom: 2.5rem; }
}
img.zp-logo-mini, img.zp-logo-h3, img.cmp-logo, img.zp-logo-app,
.hero .hero-image .zp-id img.zp-logo-app {
background: #fff; padding: 2px; object-fit: contain; box-shadow: 0 0 0 1px var(--border); }
.zp-logo-ini, i.cmp-logo { background: var(--rose); color: var(--accent-dark); }
.zp-cell-app { margin-right: .75rem; }
main > section ~ section { content-visibility: auto; contain-intrinsic-size: auto 900px; }
html.cv-off main > section { content-visibility: visible; }
.zp-ia { border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.1rem 1.2rem;
margin: 0 0 1.4rem; background: var(--sur, var(--creme)); }
.zp-ia-h { display: flex; gap: .8rem; align-items: center; margin-bottom: .8rem; }
.zp-ia-h img { width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--accent); flex: 0 0 44px; }
.zp-ia-t { margin: 0; font-weight: 700; color: var(--text-primary); font-size: 1.02rem; }
.zp-ia-s { margin: .15rem 0 0; color: var(--text-secondary); font-size: .88rem; }
.zp-ia-f { display: flex; gap: .5rem; }
.zp-ia-f input { flex: 1; min-width: 0; padding: .75rem .9rem; border-radius: var(--radius); border: 1px solid var(--border);
background: var(--bg-primary); color: var(--text-primary); font: inherit; }
.zp-ia-f input:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.zp-ia-f .cmp-btn { flex: 0 0 auto; border: 0; cursor: pointer; }
.zp-ia-r { margin-top: .9rem; }
.zp-ia-src { margin: 0 0 .5rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--accent); font-weight: 700; }
.zp-ia-att { margin: 0; color: var(--text-secondary); }
.zp-ia-a { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: .75rem .9rem; margin-bottom: .5rem; }
.zp-ia-a p { margin: 0 0 .35rem; }
.zp-ia-lien { font-weight: 700; font-size: .9rem; }
.zp-ia-l { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.zp-ia-l li { display: grid; grid-template-columns: auto 40px 1fr auto; gap: .7rem; align-items: center; background: var(--bg-primary);
border: 1px solid var(--border); border-radius: var(--radius-lg); padding: .6rem .8rem; }
.zp-ia-l li.is-part { border-color: color-mix(in srgb, #3ed48c 60%, var(--border)); }
.zp-ia-n { font: 400 1.3rem/1 var(--font-title); color: var(--accent); }
.zp-ia-l img, .zp-ia-l .zp-logo-ini { width: 40px; height: 40px; border-radius: var(--radius); background: #fff; padding: 2px; object-fit: contain; }
.zp-ia-l b { display: block; color: var(--text-primary); }
.zp-ia-l span { font-size: .86rem; color: var(--text-secondary); }
.zp-ia-l p { margin: 0; display: flex; gap: .4rem; align-items: center; }
.zp-ia-avis, .zp-ia-voir { font-size: .85rem; font-weight: 700; color: var(--accent); background: none; border: 1px solid var(--border);
border-radius: var(--radius); padding: .4rem .8rem; cursor: pointer; text-decoration: none; white-space: nowrap; }
.zp-ia-l .cmp-btn { padding: .45rem .9rem; font-size: .85rem; }
@media (max-width: 640px) {
.zp-ia-l li { grid-template-columns: auto 40px 1fr; }
.zp-ia-l p { grid-column: 1 / -1; justify-content: flex-end; }
}
.zp-galerie { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; margin: 1.3rem 0; padding: .9rem;
background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.zp-galerie.n1 { grid-template-columns: minmax(0, 620px); }
.zp-galerie.n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.zp-gal-item { margin: 0; }
.zp-gal-item img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; display: block;
border-radius: var(--radius); border: 1px solid var(--border); cursor: zoom-in; background: var(--creme); }
.zp-galerie.n1 .zp-gal-item img { aspect-ratio: auto; max-height: 560px; }
.zp-gal-item figcaption { font-size: .8rem; color: var(--text-secondary); margin-top: .4rem; line-height: 1.35; }
@media (max-width: 700px) {
.zp-galerie, .zp-galerie.n2 { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 82%; overflow-x: auto;
scroll-snap-type: x mandatory; overscroll-behavior-x: contain; }
.zp-gal-item { scroll-snap-align: start; }
.zp-galerie.n1 { grid-auto-columns: 100%; }
}
.zp-zoom { border: 0; padding: 0; background: transparent; max-width: min(1100px, 96vw); max-height: 92vh; }
.zp-zoom::backdrop { background: rgba(8, 4, 10, .86); }
.zp-zoom img { display: block; max-width: 100%; max-height: 84vh; border-radius: 10px; margin: 0 auto; }
.zp-zoom p { color: #f6ece4; text-align: center; margin: .5rem 0 0; font-size: .9rem; }
.zp-zoom button { position: absolute; top: .3rem; right: .3rem; border: 0; border-radius: 50%; width: 38px; height: 38px;
background: #fff7f7; color: #1c110d; font-size: 1.2rem; cursor: pointer; }
.zp-gal-item.is-portrait img { aspect-ratio: 3 / 4; }
.zp-galerie.n1 .zp-gal-item.is-portrait { max-width: 380px; }
.zp-h3-app { display: grid; grid-template-columns: minmax(0, 300px) 1fr; gap: 1rem; align-items: start; margin: .6rem 0 1.4rem;
padding: .9rem; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.zp-h3-app .zp-galerie { margin: 0; padding: 0; border: 0; background: none; grid-template-columns: minmax(0, 1fr); grid-auto-flow: row; }
.zp-h3-faits ul { list-style: none; margin: 0 0 .7rem; padding: 0; display: grid; gap: .3rem; }
.zp-h3-faits li { font-size: .92rem; color: var(--text-secondary); }
.zp-h3-faits b { color: var(--text-primary); }
.zp-h3-app .zp-actions { margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.zp-fiche .zp-galerie.n1 { max-width: 560px; }
@media (max-width: 700px) { .zp-h3-app { grid-template-columns: 1fr; } .zp-h3-app .zp-galerie { grid-auto-columns: 100%; } }
.zp-bandeau { overflow: hidden; background: var(--accent); color: #fff; font-size: .92rem; white-space: nowrap; padding: .7rem 0; }
.zp-bandeau-piste { display: flex; width: max-content; animation: zp-defile 40s linear infinite; }
.zp-bandeau:hover .zp-bandeau-piste { animation-play-state: paused; }
.zp-bandeau-lot { display: flex; gap: 2.4rem; padding-right: 2.4rem; }
.zp-bandeau b { font-weight: 700; }
@keyframes zp-defile { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .zp-bandeau-piste { animation: none; } .zp-bandeau { overflow-x: auto; } }
@media (max-width: 700px) { .zp-bandeau { font-size: .85rem; } .zp-bandeau-piste { animation-duration: 30s; } }
.zp-toc { top: var(--hdr, 68px); }
.zp-pc ul { list-style: none; padding-left: 0; gap: .45rem; }
.zp-pc li { display: flex; gap: .45rem; align-items: baseline; }
.zp-pc.is-plus li::before { content: "✓"; color: var(--vert-texte); font-weight: 800; }
.zp-pc.is-moins li::before { content: "✕"; color: var(--accent); font-weight: 800; }
.zp-pc li b { color: var(--text-primary); }
.stats .zp-galerie { margin-top: 1.1rem; }
.bottom-bar-inner { justify-content: space-between; }
.zp-chat-ouvrir { position: relative; display: flex; align-items: center; gap: .55rem; background: none; border: 0; padding: 0; cursor: pointer;
color: var(--text-primary); text-align: left; font: inherit; }
.zp-chat-ouvrir img { width: 34px; height: 34px; border-radius: 50%; border: 2px solid #3ed48c; }
.zp-chat-ouvrir b { display: block; font-size: .9rem; line-height: 1.1; }
.zp-chat-ouvrir small { display: block; font-size: .74rem; color: var(--text-secondary); }
.zp-chat-teaser { position: absolute; bottom: calc(100% + 12px); left: 0; background: var(--sombre); color: #fff; font-size: .82rem;
font-weight: 700; padding: .5rem .75rem; border-radius: 8px 8px 8px 2px; white-space: nowrap; box-shadow: 0 2px 6px rgba(31, 26, 27, .15); }
.zp-chat { position: fixed; z-index: 1200; left: 12px; bottom: 74px; width: min(390px, calc(100vw - 24px)); max-height: min(72vh, 620px);
display: flex; flex-direction: column; background: var(--bg-secondary); border: 1px solid var(--border);
border-radius: var(--radius-lg); box-shadow: 0 10px 30px rgba(31, 26, 27, .14); overflow: hidden; }
.zp-chat[hidden] { display: none; }
.zp-chat-h { display: flex; align-items: center; gap: .6rem; padding: .7rem .9rem; background: var(--sombre); color: #fff; }
.zp-chat-h img { border-radius: 50%; border: 2px solid #fff; }
.zp-chat-h div { flex: 1; } .zp-chat-h b { display: block; } .zp-chat-h small { font-size: .75rem; opacity: .9; }
.zp-chat-x { background: rgba(255,255,255,.18); border: 0; color: #fff; width: 32px; height: 32px; border-radius: 50%; font-size: 1.2rem; cursor: pointer; }
.zp-chat-fil { flex: 1; overflow-y: auto; padding: .8rem; display: flex; flex-direction: column; gap: .55rem; overscroll-behavior: contain; }
.zp-msg { max-width: 92%; padding: .6rem .8rem; border-radius: var(--radius-lg); font-size: .9rem; line-height: 1.45; }
.zp-msg p { margin: .35rem 0 0; }
.zp-msg.is-zoe { background: var(--creme); border: 1px solid var(--border); border-bottom-left-radius: 4px; color: var(--text-primary); }
.zp-msg.is-moi { align-self: flex-end; background: var(--accent); color: #fff; border-bottom-right-radius: 4px; }
.zp-msg-l { list-style: none; margin: .5rem 0; padding: 0; display: grid; gap: .45rem; }
.zp-msg-l li { display: flex; gap: .55rem; align-items: flex-start; }
.zp-msg-l img, .zp-msg-l .zp-logo-ini { width: 36px; height: 36px; border-radius: var(--radius); background: #fff; padding: 2px; object-fit: contain; flex: 0 0 36px; }
.zp-msg-l b { display: block; } .zp-msg-l span { display: block; font-size: .8rem; color: var(--text-secondary); }
.zp-msg-l p, .zp-test-r { display: flex; gap: .4rem; flex-wrap: wrap; margin: .35rem 0 0; }
.zp-msg-l .cmp-btn { padding: .35rem .75rem; font-size: .8rem; }
.zp-chat-puces { display: flex; gap: .35rem; flex-wrap: wrap; padding: 0 .8rem .6rem; }
.zp-chat-puces button { border: 1px solid var(--border); background: var(--bg-primary); color: var(--text-primary); border-radius: var(--radius);
padding: .35rem .7rem; font-size: .8rem; cursor: pointer; }
.zp-chat-puces button:hover { border-color: var(--accent); color: var(--accent); }
.zp-chat-f { display: flex; gap: .4rem; padding: .6rem .8rem .8rem; border-top: 1px solid var(--border); }
.zp-chat-f input { flex: 1; min-width: 0; padding: .6rem .75rem; border-radius: var(--radius); border: 1px solid var(--border); background: var(--bg-primary);
color: var(--text-primary); font: inherit; }
.zp-chat-f .cmp-btn { border: 0; cursor: pointer; }
.zp-duel { margin: 1.2rem 0; padding: 1rem; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.zp-duel-sel { display: flex; gap: .8rem; align-items: end; margin-bottom: .8rem; }
.zp-duel-sel label { flex: 1; display: grid; gap: .25rem; font-size: .8rem; color: var(--text-secondary); }
.zp-duel-sel select { padding: .55rem .6rem; border-radius: var(--radius); border: 1px solid var(--border); background: var(--bg-primary); color: var(--text-primary); font: inherit; }
.zp-duel-sel b { font: 400 1.4rem/1 var(--font-title); color: var(--accent); padding-bottom: .35rem; }
.zp-duel table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.zp-duel th, .zp-duel td { padding: .5rem .45rem; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.zp-duel thead th { background: var(--sombre); color: #fff; } .zp-duel thead img, .zp-duel thead .zp-logo-ini { width: 28px; height: 28px; border-radius: 7px;
background: #fff; padding: 2px; vertical-align: middle; margin-right: .35rem; }
.zp-duel tbody th { color: var(--text-secondary); font-weight: 600; white-space: nowrap; width: 1%; }
.zp-duel td.is-mieux { color: var(--vert-texte); font-weight: 700; }
.zp-duel td.is-mieux::after { content: " ✓"; }
@media (max-width: 560px) { .zp-duel tbody th { white-space: normal; } .zp-duel { padding: .75rem; } }
.zp-test { margin: 1.3rem 0; padding: 1.1rem 1.2rem; border-radius: var(--radius-lg); border: 1px solid var(--border);
border-left: 3px solid var(--vert); background: var(--bg-secondary); }
.zp-test-t { margin: 0 0 .6rem; font-weight: 700; color: var(--text-primary); }
.zp-test-q { margin: .4rem 0; color: var(--text-primary); }
.zp-test-r button { border: 1px solid var(--border); background: var(--bg-primary); color: var(--text-primary); border-radius: var(--radius);
padding: .5rem 1.1rem; font: inherit; cursor: pointer; }
.zp-test-r button[data-v="1"], .zp-test-r .zp-test-go { background: linear-gradient(135deg, #27a05a, #3ed48c); color: #fff; border: 0; font-weight: 700; }
.zp-test-prog { display: flex; gap: 4px; margin-bottom: .5rem; }
.zp-test-prog i { flex: 1; height: 4px; border-radius: 4px; background: var(--bg-tertiary); }
.zp-test-prog i.is-ok { background: #3ed48c; } .zp-test-prog i.is-on { background: var(--accent); }
.zp-test-score { font-size: 1.05rem; margin: 0 0 .4rem; }
.zp-test-l { list-style: none; padding: 0; margin: 0 0 .6rem; display: grid; gap: .25rem; }
.zp-test-l li.is-ok::before { content: "✓ "; color: var(--vert-texte); font-weight: 800; }
.zp-test-l li.is-ko::before { content: "✕ "; color: var(--accent); font-weight: 800; }
.zp-replie { display: none !important; }
.zp-deplier { display: block; margin: .5rem 0 1rem; width: 100%; padding: .6rem; border-radius: var(--radius); border: 1px solid var(--border);
background: var(--bg-secondary); color: var(--accent-dark); font: inherit; font-weight: 700; cursor: pointer; }
@media (min-width: 1000px) {
.stats .container:has(.zp-galerie) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 1.2rem; align-items: start; }
.stats .zp-galerie { margin-top: 0; padding: .7rem; gap: .6rem; }
.stats .zp-gal-item img { aspect-ratio: 4 / 5; }
.stats .zp-gal-item figcaption { font-size: .72rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
}
.zp-pc li { display: block; position: relative; padding-left: 1.4em; }
.zp-pc li::before { position: absolute; left: 0; top: 0; }
.zp-marques { display: grid; gap: 1.2rem; margin: 1rem 0 1.4rem; }
.zp-marque { padding: 1rem 1.1rem; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.zp-marque h3 { margin-top: 0; }
.zp-marque-grille { display: grid; grid-template-columns: minmax(0, 220px) 1fr; gap: 1.1rem; align-items: start; margin-top: .6rem; }
.zp-marque-visuel { margin: 0; }
.zp-marque-visuel img { width: 100%; height: auto; max-height: 340px; object-fit: contain; border-radius: var(--radius); background: var(--creme); }
.zp-marque-id { display: flex; gap: .6rem; align-items: center; margin: 0 0 .6rem; }
.zp-marque-id img { width: 44px; height: 44px; border-radius: var(--radius); object-fit: contain; background: #fff; padding: 3px; box-shadow: 0 0 0 1px var(--border); }
.zp-marque-id span { color: var(--text-secondary); font-size: .9rem; } .zp-marque-id b { display: block; color: var(--text-primary); font-size: 1.05rem; }
.zp-marque ul { list-style: none; padding: 0; margin: 0 0 .8rem; display: grid; gap: .3rem; font-size: .93rem; }
.zp-marque ul b { color: var(--text-primary); }
.zp-marque .zp-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; }
@media (max-width: 640px) { .zp-marque-grille { grid-template-columns: 1fr; } .zp-marque-visuel img { max-height: 260px; } }
.zp-inscription { margin: 1.2rem 0; padding: 1.1rem 1.2rem; border-radius: var(--radius-lg); background: var(--bg-secondary);
border: 1px solid var(--border); border-top: 3px solid var(--vert); }
.zp-inscription-t { font-weight: 700; margin: 0 0 .7rem; color: var(--text-primary); }
.zp-prelinker { min-height: 40px; margin-bottom: .8rem; }
.zp-inscription-n { font-size: .8rem; color: var(--text-secondary); margin: .5rem 0 0; }
@media (min-width: 761px) { .zp-toc { position: static; } }
.cmpr { margin: 1rem 0 1.4rem; }
.cmpr-bar { display: grid; gap: .7rem; padding: .9rem; background: var(--sur, var(--creme)); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.cmpr-bar .cmp-q input { width: 100%; padding: .65rem .8rem; border-radius: var(--radius); border: 1px solid var(--border); background: var(--bg-primary);
color: var(--text-primary); font: inherit; }
.cmpr-cats { display: flex; flex-wrap: wrap; gap: .4rem; }
.cmpr-cats button { border: 1px solid var(--border); background: var(--bg-primary); color: var(--text-primary); border-radius: var(--radius);
padding: .4rem .8rem; font: inherit; font-size: .85rem; cursor: pointer; }
.cmpr-cats button small { color: var(--accent); font-weight: 700; margin-left: .2rem; }
.cmpr-cats button[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: #fff; }
.cmpr-cats button[aria-pressed="true"] small { color: #fff; }
.cmpr-cats button:disabled { opacity: .4; cursor: default; }
.cmpr-n { margin: .7rem 0 .5rem; font-size: .85rem; color: var(--text-secondary); }
.cmpr-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.cmpr-site { display: grid; grid-template-columns: auto 48px 1fr auto; gap: .8rem; align-items: center; padding: .75rem .9rem;
background: var(--bg-secondary); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.cmpr-site.is-prel { border-color: color-mix(in srgb, #3ed48c 45%, var(--border)); }
.cmpr-rang { font: 400 1.25rem/1 var(--font-title); color: var(--accent); min-width: 1.4rem; text-align: center; }
.cmpr-site img, .cmpr-site .zp-logo-ini { width: 48px; height: 48px; border-radius: var(--radius); background: #fff; padding: 3px; object-fit: contain; }
.cmpr-info b { display: block; color: var(--text-primary); }
.cmpr-info span { font-size: .87rem; color: var(--text-secondary); }
.cmpr-tags { display: flex; flex-wrap: wrap; gap: .3rem; margin: .35rem 0 0; }
.cmpr-tags i { font-style: normal; font-size: .72rem; padding: .15rem .5rem; border-radius: 4px; background: var(--creme); color: var(--text-secondary); }
.cmpr-faits { margin: .35rem 0 0; font-size: .82rem; color: var(--text-primary); }
.cmpr-act { margin: 0; }
@media (max-width: 640px) { .cmpr-site { grid-template-columns: auto 44px 1fr; } .cmpr-act { grid-column: 1 / -1; display: flex; justify-content: flex-end; } }
@media (min-width: 761px) {
:root { --max-width: 1000px; }
.hero-content, .section-title, .section-subtitle, .cta-final, .cta-final .text-center, .section-cta, .pricing-mention { text-align: left; }
.section-subtitle { margin-left: 0; margin-right: 0; max-width: none; margin-bottom: 1.6rem; }
.cta-final p { margin-left: 0; margin-right: 0; max-width: 680px; }
.faq { margin-left: 0; max-width: none; }
.hero-subtitle { margin-left: 0; }
}
#cmpr img.cmp-logo { object-fit: contain; background: #fff; padding: 3px; }
.cmpr-etc { align-self: center; color: var(--text-secondary); padding: 0 .15rem; }
.cmp-quick button.is-on, .cmp-pager button.is-cur { background: var(--accent); border-color: var(--accent); }
.cmpr-opts { align-self: end; }
@media (max-width: 760px) {
#cmpr .cmp-quick:not(.cmpr-opts) { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: .15rem; margin: 0 -.2rem; }
#cmpr .cmp-quick:not(.cmpr-opts)::-webkit-scrollbar { display: none; }
#cmpr .cmp-quick button { flex: none; }
}
.zp-capture { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; box-shadow: 0 1px 2px rgba(31, 26, 27, .05); }
.zp-capture .zp-nav { display: flex; align-items: center; gap: 6px; padding: 8px 12px; background: #F4EEEC; border-bottom: 1px solid var(--border); }
.zp-capture .zp-nav i { width: 10px; height: 10px; border-radius: 50%; background: #ff5f57; }
.zp-capture .zp-nav i:nth-child(2) { background: #febc2e; }
.zp-capture .zp-nav i:nth-child(3) { background: #28c840; }
.zp-capture .zp-nav span { margin-left: 8px; flex: 1; min-width: 0; font-size: .72rem; color: var(--text-secondary); background: #fff;
border-radius: 6px; padding: 3px 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zp-capture img { border: 0; border-radius: 0; box-shadow: none; cursor: zoom-in; }
.zp-capture figcaption { padding: .5rem .8rem .65rem; margin: 0; }
.zp-marque-ecran { max-width: 520px; margin: 1.2rem 0; }
.zp-marque-ecran img { width: 100%; height: auto; display: block; }
section .container:has(> .zp-zoe-fig) { display: flow-root; }
.zp-zoe-fig { float: right; width: 270px; margin: .2rem 0 1rem 1.6rem; }
.zp-zoe-fig img { width: 100%; height: auto; display: block; border-radius: var(--radius-lg); border: 0; box-shadow: none; }
.zp-zoe-fig figcaption { font-size: .8rem; color: var(--text-secondary); margin-top: .45rem; text-align: center; }
.zp-zoe-fig figcaption b { color: var(--accent); }
.zp-zoe-fig ~ .zp-piege, .zp-zoe-fig ~ ul, .zp-zoe-fig ~ ol, .zp-zoe-fig ~ .zp-liste, .zp-zoe-fig ~ .zp-table-wrap { display: flow-root; }
@media (max-width: 760px) {
.zp-zoe-fig { float: none; width: 62%; max-width: 260px; margin: .4rem auto 1.1rem; }
}
.zp-recit { margin: 1.1rem 0; padding: 1rem 1.15rem; background: var(--note, var(--rose));
border: 0; border-left: 3px solid var(--accent); border-radius: 0 var(--radius) var(--radius) 0; }
.zp-recit-t { font-weight: 700; color: var(--accent-dark); margin: 0 0 .35rem; font-size: .9rem; }
.zp-recit p:last-child { margin: 0; }
.zp-fiche-site th { white-space: nowrap; width: 1%; padding-right: 1.2rem; }
.zp-fiche-src { font-size: .8rem; color: var(--text-secondary); margin-top: .5rem; }
.zp-fiche-src a { color: var(--text-secondary); }
@media (max-width: 420px) {
.zp-logo span { display: flex; flex-direction: column; font-size: 1.05rem; line-height: .95; }
.zp-logo b { font-size: .68em; letter-spacing: .04em; }
}
body { background: var(--bg-primary); color: var(--text-primary); }
p, .section-subtitle { color: var(--text-body); }
h1, h2, h3, h4 { color: var(--text-primary); letter-spacing: -.005em; }
h2, .section-title { font-size: clamp(1.55rem, 3vw, 2.15rem); line-height: 1.15; }
a:hover { color: var(--accent-dark); }
:where(main p, main li, main td, main dd) a:where(:not([class])) {
text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
section { padding: 3.5rem 0; }
main > section { --sur: var(--creme); --note: var(--rose); }
main > section.alt, .stats, .zp-pros-cons,
main > section:not(.alt) + #faq,
main > section:not(.alt) + #faq + #lire-aussi + .cta-final,
main > section.alt + #lire-aussi + .cta-final { background: var(--creme); --sur: #fff; --note: #fff; }
#faq, .cta-final,
main > section:not(.alt) + #faq + #lire-aussi,
main > section.alt + #lire-aussi { background: var(--bg-primary); --sur: var(--creme); --note: var(--rose); }
.stats { border: 0; padding: 2.25rem 0; }
.zp-pros-cons { padding: 0 0 2.25rem; }
.cta-final { border: 0; padding: 3.5rem 0; }
@media (max-width: 767px) { section { padding: 2.75rem 0; } .cta-final { padding: 2.75rem 0; } }
.site-header, .site-header.scrolled { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none;
border-bottom: 1px solid var(--border); box-shadow: none; }
.hero { background: var(--sombre); min-height: 0; padding: 6.75rem 0 3.25rem; }
.hero::before, .hero-image::before { content: none; display: none; }
.hero h1 { background: none; -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: currentColor;
color: #fff; font-size: clamp(2rem, 4.4vw, 3rem); line-height: 1.08; margin-bottom: 1rem; }
.hero-content { text-align: left; }
.hero-subtitle { color: #EDE3E1; font-size: 1.08rem; margin: 0 0 1.4rem; max-width: 640px; }
.hero-subtitle strong, .hero-subtitle b { color: #fff; }
.hero-content a:not(.btn) { color: #fff; text-decoration: underline; text-decoration-color: var(--or); text-underline-offset: 3px; }
.hero-mention, .hero .zp-auteur, .hero .zp-auteur p, .hero .zp-ariane, .hero .zp-ariane a { color: #CDBDBA; }
.hero .zp-auteur strong, .hero .zp-ariane span { color: #fff; }
.hero .zp-auteur img { border-color: #fff; }
.hero-image { justify-content: flex-start; }
.hero-image > img { max-width: 360px; width: 100%; border-radius: var(--radius-lg); border: 1px solid rgba(255, 255, 255, .14);
box-shadow: none; transform: none; transition: none; }
.hero-image > img:hover { transform: none; box-shadow: none; }
.hero .hero-image .zp-id { margin-inline: 0; border: 0; box-shadow: none; }
@media (min-width: 900px) {
.hero-grid { grid-template-columns: minmax(0, 1fr) 360px; gap: 3rem; }
.hero-image { justify-content: flex-end; }
}
@media (max-width: 767px) {
.hero { padding: 5.75rem 0 2.5rem; }
.hero-image > img { max-width: 280px; }
}
.btn { border-radius: var(--radius); transition: filter var(--transition); }
.btn-primary, .btn-hero, .bottom-bar-cta, .ptprelinker-content button, .ptprelinker-content input[type="submit"],
.ptprelinker-content input[type="button"], .ptprelinker-content .btn {
background: linear-gradient(135deg, #27a05a 0%, #3ed48c 100%); color: #fff; border: 0; box-shadow: none; animation: none; }
.btn-primary:hover, .btn-hero:hover, .bottom-bar-cta:hover, .cmp-btn:hover, .ptprelinker-content button:hover,
.ptprelinker-content input[type="submit"]:hover, .ptprelinker-content .btn:hover {
color: #fff; transform: none; box-shadow: none; filter: brightness(.94); }
.btn-hero { border-radius: var(--radius); text-transform: none; letter-spacing: 0; font-weight: 700; font-size: 1.02rem;
padding: .95rem 1.5rem; gap: .5rem; }
.btn-hero::before, .bottom-bar-cta::before, .bottom-bar::before, .card::before, .ptprelinker-content::before { content: none; display: none; }
.btn-signup-icon, .btn-hero-icon, .bottom-bar-dot, .testimonials-hint { animation: none; filter: none; box-shadow: none; }
.btn-hero:hover .btn-hero-arrow, .bottom-bar-cta:hover .bottom-bar-cta-arrow { transform: none; }
.btn-outline:hover { box-shadow: none; }
@media (max-width: 600px) { .btn-hero { font-size: .95rem; padding: .85rem 1.2rem; } }
.zp-essentiel, .zp-fiche, .zp-liste li, .zp-lire a, .zp-marque, .zp-etapes li, .zp-store, .zp-id, .cmp-card, .cmpr-site,
.zp-quiz, .zp-duel, .zp-galerie, .zp-h3-app, .zp-inscription, .zp-test, .zp-pc { box-shadow: 0 1px 2px rgba(31, 26, 27, .04); }
.zp-lire a:hover, .cmp-card:hover { border-color: #D8C3BF; }
.pricing-table th { background: var(--sombre); color: #fff; }
.zp-fiche-site table { width: 100%; border-collapse: collapse; font-size: .93rem; }
.zp-fiche-site th, .zp-fiche-site td { padding: .6rem .8rem; border-top: 1px solid var(--border); text-align: left; vertical-align: top; }
.zp-fiche-site tr:first-child th, .zp-fiche-site tr:first-child td { border-top: 0; }
.zp-fiche-site th { background: var(--creme); color: var(--text-primary); font-weight: 600; }
.faq-item { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: none; }
.faq-item.active { border-color: #D8C3BF; box-shadow: none; }
.faq-question { font-weight: 700; color: var(--text-primary); }
.faq-icon { color: var(--accent); }
.faq-answer-inner, .faq-answer-inner p { color: var(--text-body); }
.site-footer { background: var(--sombre); border-top: 0; }
.footer-col .footer-titre, .footer-col h4 { color: #fff; }
.footer-col a:hover, .footer-brand:hover .footer-brand-name, .footer-contact:hover { color: #fff; }
.footer-contact:hover { border-color: rgba(255, 255, 255, .5); box-shadow: none; transform: none; }
.footer-contact-icon { color: #fff; }
.footer-age { border-radius: 4px; }
.bottom-bar { background: #fff; border-top: 1px solid var(--border); }
.bottom-bar-counter { color: var(--text-primary); }
.bottom-bar-counter span { color: var(--accent); text-shadow: none; }
.bottom-bar-cta { border-radius: var(--radius); text-transform: none; font-weight: 700; }
.ptprelinker-content, .ptprelinker-content:hover { background: #fff; box-shadow: none; border-radius: var(--radius-lg); }
.ptprelinker-content h1, .ptprelinker-content h2, .ptprelinker-content h3, .ptprelinker-content h4, .ptprelinker-content h5 {
color: var(--text-primary); text-shadow: none; }
.ptprelinker-content button, .ptprelinker-content input[type="submit"], .ptprelinker-content input[type="button"],
.ptprelinker-content .btn { border-radius: var(--radius); }
.ptprelinker-content input:focus, .ptprelinker-content select:focus, .ptprelinker-content textarea:focus {
box-shadow: 0 0 0 3px rgba(200, 16, 46, .15); }
.zp-inscription .ptprelinker-content { border: 0; padding: .25rem 0 0; margin: 0 auto; max-width: 440px; }
.fade-in, .fade-in.visible { opacity: 1; transform: none; transition: none; }
.card:hover, .testimonial:hover, .step:hover, .showcase-image:hover { transform: none; box-shadow: none; }
.stat-number { text-shadow: none; }
.step-number { background: var(--accent); box-shadow: none; }
.logo-img, .logo:hover .logo-img { box-shadow: none; transform: none; }
.jmr-visuel img, .showcase-image { box-shadow: none; }
.jmr-quiz-go { box-shadow: none; border-radius: var(--radius); }
::-webkit-scrollbar-track { background: #F5EFED; }
::-webkit-scrollbar-thumb { background: #CDBDBA; }
::-webkit-scrollbar-thumb:hover { background: #A8999A; }
.section-title, .section-subtitle, .cta-final, .cta-final .text-center, .section-cta, .pricing-mention { text-align: left; }
.section-subtitle { margin: 0 0 1.4rem; max-width: none; }
.faq { margin-left: 0; max-width: none; }
.cta-final p { margin-left: 0; margin-right: 0; }
p.section-title { font-family: var(--font-title); font-weight: 400; color: var(--text-primary); }
.hero .hero-image > img { max-width: 360px; }
@media (max-width: 767px) { .hero .hero-image > img { max-width: 280px; } }
.zp-lire a, .zp-lire a:hover { text-decoration: none; }
.zp-lire a:hover b { color: var(--accent); }
.zp-table .cmp-btn { white-space: nowrap; }
.cmp-pager { margin-top: .9rem; }
section .container > :is(.zp-table-wrap, .zp-liste, .zp-etapes, .zp-marques, .zp-piege) + p { margin-top: 1rem; }
.zp-essentiel ul { list-style: disc; }
.zp-essentiel li::marker { color: var(--accent); }
@media (max-width: 560px) {
.zp-fiche-site table, .zp-fiche-site tbody, .zp-fiche-site tr, .zp-fiche-site th, .zp-fiche-site td { display: block; width: auto; }
.zp-fiche-site th { padding: .5rem .8rem .35rem; white-space: normal; }
.zp-fiche-site td { border-top: 0; padding: .45rem .8rem .65rem; }
}
.bottom-bar-inner { max-width: calc(var(--max-width) - 2.5rem); }
.zp-chat-h small { display: block; line-height: 1.35; }
.header-inner { gap: 1rem; }
.zp-hnav-l { list-style: none; margin: 0; padding: 0; }
.zp-hnav-a { display: flex; align-items: center; gap: .45rem; font: 600 .93rem/1.2 var(--font-body); color: var(--text-primary);
text-decoration: none; background: none; border: 0; cursor: pointer; white-space: nowrap; }
.zp-hnav-a:hover, .zp-dd.is-open > .zp-dd-b { color: var(--accent); }
.zp-chev { width: 7px; height: 7px; flex: none; border: solid currentColor; border-width: 0 1.6px 1.6px 0; opacity: .75;
transform: translateY(-2px) rotate(45deg); }
.zp-dd.is-open > .zp-dd-b .zp-chev { transform: translateY(2px) rotate(-135deg); }
.zp-dd-n, .zp-hnav-chat small { display: none; }
.zp-point { width: 8px; height: 8px; flex: none; border-radius: 50%; background: #3ed48c; box-shadow: 0 0 0 3px #E2F5EA; }
.zp-dd-p { display: none; }
.zp-dd.is-open > .zp-dd-p { display: block; }
.zp-dd-t { margin: 0 0 .7rem; font: 700 .75rem/1.2 var(--font-body); color: var(--gold); text-transform: uppercase; letter-spacing: .06em; }
.zp-dd-g { list-style: none; margin: 0; padding: 0; display: grid; gap: .2rem .75rem; }
.zp-dd-g a { display: flex; align-items: center; gap: .65rem; min-height: 44px; padding: .35rem .6rem; border-radius: var(--radius);
color: var(--text-primary); text-decoration: none; font-size: .93rem; font-weight: 500; line-height: 1.25; }
.zp-dd-g a:hover { background: var(--creme); color: var(--accent); }
.zp-dd-g a[aria-current="page"] { background: var(--rose); color: var(--accent-dark); font-weight: 700; }
.zp-tuile { box-sizing: border-box; width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; overflow: hidden;
background: #fff; border: 1px solid var(--border); border-radius: 8px; }
.zp-tuile img { width: 26px; height: 26px; object-fit: contain; display: block; }
.zp-tuile.is-ini { font: 400 .95rem/1 var(--font-title); color: var(--accent-dark); }
.zp-tuile.is-emo { font-size: 1.05rem; line-height: 1; }
.zp-burger { display: inline-flex; align-items: center; gap: .55rem; min-height: 40px; padding: 0 .8rem; font: 600 .9rem/1 var(--font-body);
color: var(--text-primary); background: #fff; border: 1px solid var(--border); border-radius: var(--radius); cursor: pointer; }
.zp-burger[aria-expanded="true"] { border-color: var(--text-primary); }
.zp-burger-i, .zp-burger-i::before, .zp-burger-i::after { display: block; width: 16px; height: 2px; border-radius: 2px; background: currentColor; }
.zp-burger-i { position: relative; }
.zp-burger-i::before, .zp-burger-i::after { content: ""; position: absolute; left: 0; }
.zp-burger-i::before { top: -5px; }
.zp-burger-i::after { top: 5px; }
.zp-burger[aria-expanded="true"] .zp-burger-i { background: transparent; }
.zp-burger[aria-expanded="true"] .zp-burger-i::before { top: 0; transform: rotate(45deg); }
.zp-burger[aria-expanded="true"] .zp-burger-i::after { top: 0; transform: rotate(-45deg); }
@media (max-width: 359px) {
.zp-burger { padding: 0 .7rem; }
.zp-burger > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (min-width: 980px) {
.zp-burger, .zp-hnav .is-mob { display: none; }
.zp-hnav { margin-left: auto; }
.zp-hnav-l { display: flex; align-items: center; gap: .15rem; }
.zp-hnav-a { position: relative; min-height: 44px; padding: 0 .75rem; border-radius: var(--radius); }
.zp-hnav-a.is-ici::after, .zp-dd.is-ici > .zp-dd-b::after { content: ""; position: absolute; left: .75rem; right: .75rem; bottom: 5px;
height: 2px; border-radius: 2px; background: var(--accent); }
.zp-hnav-chat-i { margin-left: .4rem; padding-left: .5rem; border-left: 1px solid var(--border); }
.zp-dd-p { position: absolute; z-index: 1100; top: calc(100% + 1px); left: 50%; transform: translateX(-50%);
width: min(calc(var(--max-width) - 2.5rem), calc(100% - 2.5rem)); padding: 1.1rem 1.25rem 1.25rem; background: #fff;
border: 1px solid var(--border); border-top: 0; border-radius: 0 0 var(--radius-lg) var(--radius-lg); box-shadow: 0 14px 28px rgba(28, 12, 16, .08); }
.zp-dd-p::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 20px; }
.zp-dd-t { padding-left: .6rem; }
.zp-dd-g.is-c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.zp-dd-g.is-c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 979px) {
.zp-hnav { display: none; }
html.zp-nav-on, html.zp-nav-on body { overflow: hidden; }
html.zp-nav-on .site-header { z-index: 10001; }
html.zp-nav-on .zp-hnav { display: block; position: fixed; top: var(--hdr, 72px); left: 0; right: 0; bottom: 0; overflow-y: auto;
overscroll-behavior: contain; background: #fff; padding: .25rem 0 calc(1.5rem + env(safe-area-inset-bottom, 0px)); }
.zp-hnav-l { max-width: 640px; margin: 0 auto; padding: 0 1.25rem; }
.zp-hnav-l > li { border-bottom: 1px solid var(--border); }
.zp-hnav-a { width: 100%; min-height: 52px; padding: 0 .25rem; font-size: 1rem; text-align: left; }
.zp-dd-b > span:first-child { flex: 1; }
.zp-dd-n { display: inline; margin-right: .5rem; color: var(--text-secondary); font-size: .85rem; font-weight: 500; }
.zp-hnav-i > .zp-hnav-a::after { content: ""; width: 7px; height: 7px; margin-left: auto; margin-right: 1px; opacity: .75;
border: solid currentColor; border-width: 0 1.6px 1.6px 0; transform: rotate(-45deg); }
.zp-hnav-a.is-ici, .zp-dd.is-ici > .zp-dd-b { color: var(--accent); }
.zp-dd-t { display: none; }
.zp-dd-p { padding: 0 0 .8rem; }
.zp-dd-g { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .1rem .5rem; }
.zp-dd-g a { padding: .3rem .25rem; font-size: .95rem; }
.zp-hnav-l > .zp-hnav-chat-i { border-bottom: 0; padding-top: 1rem; }
.zp-hnav-chat { flex-wrap: wrap; gap: .1rem .55rem; padding: .7rem .9rem; background: var(--creme); border: 1px solid var(--border);
border-radius: var(--radius); white-space: normal; }
.zp-hnav-chat small { display: inline; color: var(--text-secondary); font-size: .88rem; font-weight: 400; }
}
.zp-auteur { display: flex; align-items: center; gap: .8rem; width: fit-content; max-width: 100%; margin-top: 1.4rem; padding: .7rem .9rem;
border: 1px solid rgba(255, 255, 255, .14); border-radius: var(--radius-lg); background: rgba(255, 255, 255, .04); }
.zp-auteur img { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%; border: 2px solid #fff; object-fit: cover; }
.zp-auteur p { margin: 0; }
.hero .zp-auteur-n { color: #fff; font-weight: 700; font-size: .95rem; line-height: 1.3; }
.hero .zp-auteur-n a, .hero .zp-auteur-n strong { color: #fff; }
.hero .zp-auteur-m { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .4rem; font-size: .8rem; color: #E3D6D3; }
.hero .zp-auteur-m > * { display: inline-flex; align-items: center; min-height: 32px; padding: 0 .65rem; border: 1px solid rgba(255, 255, 255, .2); border-radius: 4px; }
.hero .zp-auteur-m a { color: #fff; text-decoration: none; border-color: var(--or); }
.hero .zp-auteur-m a::after { content: "→"; margin-left: .35rem; }
.hero .zp-auteur-m a:hover { background: rgba(242, 184, 75, .12); }
.zp-essentiel { border-left: 3px solid var(--vert); }
.zp-toc a { min-height: 36px; }
.zp-toc a.is-lu small { font-size: 0; }
.zp-toc a.is-lu small::before { content: "✓"; font-size: .85rem; color: var(--vert-texte); }
.zp-toc a.is-lu.is-on small::before { color: #fff; }
@media (min-width: 761px) {
.zp-toc .container { display: block; padding-block: 1rem 1.1rem; }
.zp-toc h2 { margin: 0 0 .6rem; }
.zp-toc-liens { flex-wrap: wrap; overflow: visible; gap: .45rem; }
}
@media (max-width: 760px) {
.zp-toc-liens { scroll-snap-type: x proximity; padding-right: 28px;
-webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); }
.zp-toc a { scroll-snap-align: start; }
}
.zp-haut { position: fixed; right: 16px; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); z-index: 9998; width: 44px; height: 44px;
display: grid; place-items: center; padding: 0; color: var(--text-primary); background: #fff; border: 1px solid var(--border);
border-radius: var(--radius); box-shadow: 0 2px 6px rgba(31, 26, 27, .10); cursor: pointer; }
.zp-haut::before { content: ""; width: 10px; height: 10px; border: solid currentColor; border-width: 2px 0 0 2px; transform: translateY(2px) rotate(45deg); }
.zp-haut:hover { color: var(--accent); border-color: #D8C3BF; }
.zp-haut[hidden], html.zp-chat-on .zp-haut, html.zp-nav-on .zp-haut { display: none; }
.zp-pied { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 2rem 2.5rem; margin-bottom: 2rem; }
.zp-pied-marque { grid-row: span 2; }
.zp-pied-large { grid-column: 2 / -1; }
.site-footer .zp-pied .footer-titre { margin-bottom: .4rem; font-size: 1rem; }
.zp-footer-liens { list-style: none; margin: 0; padding: 0; display: grid; font-size: .9rem; }
.zp-footer-liens.is-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 2.5rem; }
.site-footer .zp-footer-liens li { margin: 0; line-height: 1.3; }
.zp-footer-liens a { display: inline-flex; align-items: center; min-height: 32px; color: #D9CCCA; text-decoration: none; }
.zp-footer-liens a:hover { color: #fff; }
@media (max-width: 860px) {
.zp-pied { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1.5rem; }
.zp-pied-marque, .zp-pied-large { grid-column: 1 / -1; grid-row: auto; }
.zp-footer-liens.is-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }
}
