/* === FREEVISIO – CSS à coller dans Apparence > Personnaliser > CSS additionnel === */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
–blue: #2D3FE0;
–blue-dark: #1e2db0;
–blue-light: #eef0fd;
–blue-mid: #d0d5fa;
–gold: #C9A84C;
–gold-light: #fdf6e3;
–gold-dark: #a07c28;
–white: #ffffff;
–off-white: #f7f8fc;
–light-gray: #eef0f5;
–border: #dde2f0;
–text: #1a1d2e;
–text-mid: #3d4366;
–muted: #7a82a8;
–red: #d32f2f;
–green: #1e8c5a;
}

html { scroll-behavior: smooth; }
body {
background: var(–white);
color: var(–text);
font-family: ‘Barlow’, sans-serif;
font-size: 16px;
line-height: 1.6;
overflow-x: hidden;
}

/* ── HEADER ── */
header {
position: sticky; top: 0; z-index: 100;
background: rgba(255,255,255,0.96);
backdrop-filter: blur(12px);
border-bottom: 2px solid var(–border);
padding: 0 48px;
display: flex; align-items: center; justify-content: space-between;
height: 68px;
box-shadow: 0 2px 16px rgba(45,63,224,0.07);
}
.logo {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 900; font-size: 24px;
letter-spacing: 3px; text-transform: uppercase;
}
.logo-free { color: var(–blue); }
.logo-visio { color: var(–gold); }
nav { display: flex; gap: 32px; }
nav a {
font-size: 13px; font-weight: 600;
letter-spacing: 1px; text-transform: uppercase;
color: var(–muted); text-decoration: none;
transition: color 0.2s;
}
nav a:hover { color: var(–blue); }
.header-cta {
background: var(–blue); color: var(–white);
border: none; padding: 11px 24px;
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 700; font-size: 14px;
letter-spacing: 2px; text-transform: uppercase;
cursor: pointer; border-radius: 2px;
transition: all 0.2s;
box-shadow: 0 4px 14px rgba(45,63,224,0.3);
}
.header-cta:hover {
background: var(–gold);
box-shadow: 0 4px 14px rgba(201,168,76,0.4);
}

/* ── URGENCY BAR ── */
.urgency-bar {
background: linear-gradient(90deg, var(–blue), #4a5af0, var(–blue));
background-size: 200% 100%;
animation: shimmer 4s linear infinite;
padding: 10px 32px;
display: flex; align-items: center; justify-content: center; gap: 16px;
}
@keyframes shimmer { 0%{background-position:0%} 100%{background-position:200%} }
.urgency-bar p {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 700; font-size: 14px;
letter-spacing: 1.5px; text-transform: uppercase; color: var(–white);
}
.urgency-bar p span { font-weight: 400; opacity: 0.88; }
.urgency-dot { width: 6px; height: 6px; background: var(–gold); border-radius: 50%; flex-shrink:0; }

/* ── HERO ── */
.hero {
position: relative;
min-height: 90vh;
display: grid; grid-template-columns: 1fr 1fr;
align-items: center; overflow: hidden;
background: linear-gradient(135deg, #f0f2ff 0%, #ffffff 50%, #fdf9ee 100%);
}
.hero::before {
content:  »;
position: absolute; inset: 0;
background-image:
radial-gradient(circle at 20% 80%, rgba(45,63,224,0.06) 0%, transparent 50%),
radial-gradient(circle at 80% 20%, rgba(201,168,76,0.08) 0%, transparent 50%);
pointer-events: none;
}
.hero-pattern {
position: absolute; inset: 0;
background-image:
linear-gradient(rgba(45,63,224,0.035) 1px, transparent 1px),
linear-gradient(90deg, rgba(45,63,224,0.035) 1px, transparent 1px);
background-size: 40px 40px;
pointer-events: none;
}
.hero-content {
position: relative; z-index: 2;
padding: 80px 60px 80px 80px;
}
.hero-badge {
display: inline-flex; align-items: center; gap: 8px;
background: var(–blue-light);
border: 1.5px solid var(–blue-mid);
border-radius: 100px;
padding: 6px 16px; margin-bottom: 28px;
}
.hero-badge-dot {
width: 7px; height: 7px;
background: var(–blue); border-radius: 50%;
animation: pulse 2s infinite;
}
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.4;transform:scale(0.8)} }
.hero-badge span {
font-size: 11px; font-weight: 700;
letter-spacing: 2px; text-transform: uppercase; color: var(–blue);
}
.hero-title {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 900;
font-size: clamp(56px, 6vw, 84px);
line-height: 0.93; text-transform: uppercase;
color: var(–text); margin-bottom: 10px;
}
.hero-title .accent { color: var(–blue); }
.hero-title .accent-gold { color: var(–gold); }
.hero-subtitle-line {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 500; font-size: 18px;
color: var(–muted); text-transform: uppercase;
letter-spacing: 4px; margin-bottom: 28px;
}
.hero-desc {
font-size: 17px; color: var(–text-mid);
line-height: 1.75; max-width: 460px; margin-bottom: 36px;
}
.hero-desc strong { color: var(–blue); font-weight: 600; }

.price-block {
display: flex; align-items: center;
gap: 12px; margin-bottom: 28px; flex-wrap: wrap;
}
.price-main {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 900; font-size: 52px; color: var(–text);
line-height: 1;
}
.price-pack { font-size: 14px; color: var(–muted); }
.price-promo {
background: var(–gold); color: var(–white);
font-size: 12px; font-weight: 700;
letter-spacing: 1px; text-transform: uppercase;
padding: 4px 10px; border-radius: 2px;
box-shadow: 0 2px 8px rgba(201,168,76,0.4);
}

.hero-actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-bottom: 36px; }
.btn-primary {
background: var(–blue); color: var(–white);
border: 2px solid var(–blue);
padding: 16px 36px;
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 700; font-size: 16px;
letter-spacing: 2px; text-transform: uppercase;
cursor: pointer; border-radius: 2px;
transition: all 0.25s;
display: inline-flex; align-items: center; gap: 10px;
box-shadow: 0 6px 20px rgba(45,63,224,0.35);
}
.btn-primary:hover {
background: var(–blue-dark);
box-shadow: 0 8px 28px rgba(45,63,224,0.5);
transform: translateY(-2px);
}
.btn-primary svg { width: 18px; height: 18px; }
.btn-ghost {
background: transparent; color: var(–text-mid);
border: 2px solid var(–border);
padding: 16px 28px;
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 600; font-size: 14px;
letter-spacing: 1.5px; text-transform: uppercase;
cursor: pointer; border-radius: 2px;
display: inline-flex; align-items: center; gap: 8px;
transition: all 0.2s; text-decoration: none;
}
.btn-ghost:hover { border-color: var(–blue); color: var(–blue); }

.trust-strip { display: flex; gap: 20px; flex-wrap: wrap; }
.trust-item {
display: flex; align-items: center; gap: 8px;
font-size: 13px; color: var(–muted); font-weight: 500;
}
.trust-item svg { width: 15px; height: 15px; color: var(–green); flex-shrink: 0; }

/* Hero visual */
.hero-visual {
position: relative; z-index: 2;
height: 100%; min-height: 520px;
display: flex; align-items: center; justify-content: center;
padding: 60px;
}
.product-showcase { position: relative; width: 340px; height: 340px; }
.showcase-ring {
position: absolute; inset: -48px;
border: 1.5px dashed rgba(45,63,224,0.2);
border-radius: 50%;
animation: spin-slow 22s linear infinite;
}
.showcase-ring::before {
content:  »; position: absolute;
top: -5px; left: 50%; transform: translateX(-50%);
width: 9px; height: 9px;
background: var(–gold); border-radius: 50%;
box-shadow: 0 0 8px var(–gold);
}
@keyframes spin-slow { to { transform: rotate(360deg); } }
.showcase-ring-2 {
position: absolute; inset: -90px;
border: 1px solid rgba(201,168,76,0.12);
border-radius: 50%;
animation: spin-slow 35s linear infinite reverse;
}
.product-card-3d {
width: 340px; height: 340px;
background: var(–white);
border: 2px solid var(–border);
border-radius: 4px;
display: flex; align-items: center; justify-content: center;
position: relative; overflow: hidden;
box-shadow: 0 20px 60px rgba(45,63,224,0.12), 0 4px 16px rgba(0,0,0,0.06);
}
.product-card-3d::before {
content:  »; position: absolute;
top: 0; left: 0; right: 0; height: 3px;
background: linear-gradient(90deg, var(–blue), var(–gold));
}
.product-img-placeholder { width: 220px; height: 220px; object-fit: contain; }
.product-tag {
position: absolute; bottom: 16px; right: 16px;
background: var(–blue); color: var(–white);
font-family: ‘Barlow Condensed’, sans-serif;
font-size: 11px; font-weight: 700;
letter-spacing: 1.5px; text-transform: uppercase;
padding: 5px 10px; border-radius: 2px;
}
.stat-chips {
position: absolute; display: flex; flex-direction: column;
gap: 10px; left: -128px; top: 50%; transform: translateY(-50%);
}
.chip {
background: var(–white);
border: 1.5px solid var(–border);
border-left: 3px solid var(–blue);
padding: 10px 14px; width: 115px;
border-radius: 2px;
box-shadow: 0 4px 12px rgba(45,63,224,0.08);
}
.chip-val {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 800; font-size: 19px; color: var(–blue);
}
.chip-label { font-size: 10px; color: var(–muted); letter-spacing: 1px; text-transform: uppercase; }

/* ── SECTIONS ── */
.section { padding: 96px 80px; }
.section-alt { background: var(–off-white); }
.section-blue {
background: linear-gradient(135deg, var(–blue) 0%, #1e2db0 100%);
color: var(–white);
}
.section-center { text-align: center; }

.section-label {
font-size: 11px; font-weight: 700;
letter-spacing: 4px; text-transform: uppercase;
color: var(–blue); margin-bottom: 14px;
display: block;
}
.section-blue .section-label { color: rgba(255,255,255,0.7); }
.section-title {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 900; font-size: clamp(38px, 4vw, 58px);
text-transform: uppercase; line-height: 0.95;
color: var(–text); margin-bottom: 20px;
}
.section-blue .section-title { color: var(–white); }
.section-title .dim { color: var(–muted); }
.section-blue .section-title .dim { color: rgba(255,255,255,0.55); }
.section-title .gold { color: var(–gold); }
.section-intro {
font-size: 18px; color: var(–text-mid);
max-width: 600px; margin: 0 auto 56px; line-height: 1.75;
}
.section-blue .section-intro { color: rgba(255,255,255,0.75); }

/* ── PROBLEM VS SOLUTION ── */
.pvs-grid {
display: grid; grid-template-columns: 1fr auto 1fr;
align-items: stretch; max-width: 960px; margin: 0 auto;
border-radius: 4px; overflow: hidden;
box-shadow: 0 8px 40px rgba(45,63,224,0.1);
}
.pvs-col { padding: 40px; background: var(–white); border: 1.5px solid var(–border); }
.pvs-col.problem { border-right: none; border-radius: 4px 0 0 4px; }
.pvs-col.solution {
border-left: none; border-radius: 0 4px 4px 0;
background: var(–blue-light);
border-color: var(–blue-mid);
}
.pvs-divider {
display: flex; align-items: center; justify-content: center;
width: 56px; background: var(–blue); color: var(–white);
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 900; font-size: 18px; letter-spacing: 1px;
text-transform: uppercase; writing-mode: vertical-rl;
}
.pvs-head {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 800; font-size: 18px;
letter-spacing: 2px; text-transform: uppercase; margin-bottom: 24px;
}
.pvs-col.problem .pvs-head { color: var(–red); }
.pvs-col.solution .pvs-head { color: var(–blue); }
.pvs-list { list-style: none; display: flex; flex-direction: column; gap: 14px; }
.pvs-list li {
display: flex; align-items: flex-start; gap: 10px;
font-size: 15px; color: var(–text-mid); line-height: 1.55;
}
.pvs-icon { width: 20px; height: 20px; flex-shrink: 0; margin-top: 1px; }
.pvs-col.problem .pvs-icon { color: var(–red); }
.pvs-col.solution .pvs-icon { color: var(–green); }

/* ── STEPS ── */
.steps-grid {
display: grid; grid-template-columns: repeat(3, 1fr);
gap: 24px; margin-top: 60px;
}
.step {
background: var(–white); border: 2px solid var(–border);
padding: 40px 32px; border-radius: 4px; position: relative;
transition: all 0.3s;
box-shadow: 0 2px 12px rgba(45,63,224,0.05);
}
.step:hover {
border-color: var(–blue);
box-shadow: 0 8px 32px rgba(45,63,224,0.15);
transform: translateY(-4px);
}
.step-num {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 900; font-size: 68px; line-height: 1;
color: var(–blue-light); margin-bottom: 12px; display: block;
/* gives depth on light bg */
-webkit-text-stroke: 2px var(–blue-mid);
}
.step-title {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 700; font-size: 22px;
text-transform: uppercase; color: var(–text);
margin-bottom: 10px; letter-spacing: 0.5px;
}
.step p { font-size: 15px; color: var(–text-mid); line-height: 1.65; }

/* ── VIDEO ── */
.video-section {
padding: 96px 80px;
display: grid; grid-template-columns: 1fr 1fr;
gap: 72px; align-items: center;
}
.video-wrapper {
position: relative; aspect-ratio: 16/9;
border-radius: 6px; overflow: hidden;
box-shadow: 0 16px 48px rgba(45,63,224,0.2);
border: 2px solid var(–blue-mid);
}
.video-wrapper::before {
content:  »; position: absolute;
top: 0; left: 0; right: 0; height: 3px;
background: linear-gradient(90deg, var(–blue), var(–gold));
z-index: 1;
}
.video-wrapper iframe { width:100%; height:100%; border:none; display:block; }
.video-content .section-label { margin-bottom: 14px; }
.video-content .section-title { font-size: 44px; }
.video-content p { font-size: 16px; color: var(–text-mid); line-height: 1.75; margin-bottom: 14px; }

.specs-table {
margin-top: 28px; border: 1.5px solid var(–border);
border-radius: 4px; overflow: hidden;
}
.specs-row { display: flex; border-bottom: 1px solid var(–border); }
.specs-row:last-child { border-bottom: none; }
.specs-key {
padding: 11px 18px; background: var(–off-white);
width: 50%; font-size: 12px; letter-spacing: 1px;
text-transform: uppercase; color: var(–muted);
font-weight: 600; border-right: 1px solid var(–border);
}
.specs-val { padding: 11px 18px; font-size: 14px; font-weight: 600; color: var(–text); }

/* ── FEATURES ── */
.features-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; margin-top: 56px; }
.feature-card {
background: var(–white); border: 2px solid var(–border);
padding: 36px; border-radius: 4px; transition: all 0.3s;
box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.feature-card:hover {
border-color: var(–blue);
box-shadow: 0 8px 32px rgba(45,63,224,0.12);
transform: translateY(-3px);
}
.feature-icon {
width: 48px; height: 48px; border-radius: 10px;
background: var(–blue-light); border: 1.5px solid var(–blue-mid);
display: flex; align-items: center; justify-content: center;
margin-bottom: 18px;
}
.feature-icon svg { width: 22px; height: 22px; color: var(–blue); }
.feature-title {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 700; font-size: 20px;
text-transform: uppercase; color: var(–text);
margin-bottom: 8px;
}
.feature-card p { font-size: 15px; color: var(–text-mid); line-height: 1.65; }

/* ── REVIEWS ── */
.reviews-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 48px; }
.review-card {
background: var(–white); border: 1.5px solid var(–border);
border-top: 3px solid var(–gold);
padding: 28px; border-radius: 4px; transition: transform 0.2s;
box-shadow: 0 2px 12px rgba(0,0,0,0.05);
}
.review-card:hover { transform: translateY(-4px); box-shadow: 0 8px 28px rgba(201,168,76,0.15); }
.stars { display: flex; gap: 3px; margin-bottom: 14px; }
.star { color: var(–gold); font-size: 17px; }
.review-text { font-size: 15px; color: var(–text-mid); line-height: 1.65; margin-bottom: 20px; font-style: italic; }
.review-author { display: flex; align-items: center; gap: 12px; }
.review-avatar {
width: 38px; height: 38px; background: var(–blue-light);
border: 1.5px solid var(–blue-mid); border-radius: 50%;
display: flex; align-items: center; justify-content: center;
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 800; font-size: 15px; color: var(–blue); flex-shrink: 0;
}
.review-name { font-weight: 700; font-size: 14px; color: var(–text); }
.review-tag { font-size: 12px; color: var(–muted); }
.review-badge {
margin-left: auto;
background: rgba(30,140,90,0.1); border: 1px solid rgba(30,140,90,0.25);
color: var(–green); font-size: 10px; font-weight: 700;
letter-spacing: 1px; text-transform: uppercase; padding: 3px 8px; border-radius: 2px;
}

/* ── RATING SUMMARY ── */
.rating-summary {
display: flex; align-items: center; gap: 48px;
background: var(–white); border: 2px solid var(–border);
border-radius: 6px; padding: 36px;
margin: 0 auto 16px; max-width: 640px;
box-shadow: 0 4px 20px rgba(201,168,76,0.1);
}
.rating-big { text-align: center; flex-shrink: 0; }
.rating-big .num {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 900; font-size: 72px;
line-height: 1; color: var(–gold);
}
.rating-big .out { font-size: 13px; color: var(–muted); margin-top: 4px; }
.rating-bars { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.bar-row { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(–muted); }
.bar-track { flex: 1; height: 6px; background: var(–light-gray); border-radius: 3px; overflow: hidden; }
.bar-fill { height: 100%; background: var(–gold); border-radius: 3px; }
.bar-count { width: 22px; text-align: right; font-size: 12px; color: var(–text-mid); font-weight: 600; }

/* ── CTA / COMMANDER ── */
.cta-section {
padding: 100px 80px;
display: grid; grid-template-columns: 1fr 1fr;
gap: 80px; align-items: center;
background: linear-gradient(135deg, #f0f2ff 0%, #fff 60%, #fdf9ee 100%);
border-top: 2px solid var(–border);
}
.cta-content .section-title { font-size: 52px; margin-bottom: 18px; }
.cta-content p { font-size: 17px; color: var(–text-mid); line-height: 1.75; margin-bottom: 14px; }

.order-box {
background: var(–white); border: 2px solid var(–border);
border-radius: 6px; padding: 36px;
box-shadow: 0 12px 48px rgba(45,63,224,0.12);
}
.order-box-title {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 700; font-size: 13px;
letter-spacing: 3px; text-transform: uppercase;
color: var(–muted); margin-bottom: 24px;
padding-bottom: 16px; border-bottom: 1.5px solid var(–border);
}

.qty-options { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.qty-option {
display: flex; align-items: center; justify-content: space-between;
border: 2px solid var(–border); border-radius: 4px;
padding: 14px 16px; cursor: pointer; transition: all 0.2s;
background: var(–white);
}
.qty-option:hover { border-color: var(–blue); background: var(–blue-light); }
.qty-option.active { border-color: var(–blue); background: var(–blue-light); }
.qty-left { display: flex; align-items: center; gap: 12px; }
.qty-dot {
width: 16px; height: 16px;
border: 2px solid var(–border); border-radius: 50%; transition: all 0.2s;
flex-shrink: 0;
}
.qty-option.active .qty-dot { border-color: var(–blue); background: var(–blue); }
.qty-label { font-weight: 700; font-size: 15px; color: var(–text); }
.qty-sub { font-size: 12px; color: var(–muted); }
.qty-price {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 900; font-size: 24px; color: var(–blue);
}
.qty-badge {
font-size: 10px; font-weight: 700;
background: var(–gold); color: var(–white);
padding: 2px 7px; border-radius: 2px;
margin-left: 6px;
box-shadow: 0 1px 4px rgba(201,168,76,0.4);
}

.guarantees { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.guarantee-item { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(–text-mid); }
.guarantee-item svg { width: 16px; height: 16px; color: var(–green); flex-shrink: 0; }

.btn-order {
width: 100%; background: var(–blue); color: var(–white);
border: none; padding: 18px; border-radius: 4px;
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 800; font-size: 18px;
letter-spacing: 3px; text-transform: uppercase;
cursor: pointer; transition: all 0.25s;
display: flex; align-items: center; justify-content: center; gap: 10px;
box-shadow: 0 6px 20px rgba(45,63,224,0.35);
}
.btn-order:hover {
background: var(–blue-dark);
box-shadow: 0 10px 30px rgba(45,63,224,0.5);
transform: translateY(-2px);
}
.btn-order svg { width: 20px; height: 20px; }
.payment-icons { margin-top: 14px; text-align: center; font-size: 12px; color: var(–muted); letter-spacing: 1px; }

/* ── FOOTER ── */
footer {
background: var(–text); border-top: 3px solid var(–blue);
padding: 48px 80px;
display: flex; align-items: center; justify-content: space-between;
}
.footer-logo {
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 900; font-size: 20px;
letter-spacing: 3px; text-transform: uppercase;
}
.footer-copy { font-size: 13px; color: rgba(255,255,255,0.4); }
.footer-links { display: flex; gap: 20px; }
.footer-links a { font-size: 13px; color: rgba(255,255,255,0.45); text-decoration: none; transition: color 0.2s; }
.footer-links a:hover { color: var(–gold); }

/* ── REVEAL ── */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.65s ease, transform 0.65s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
.hero { grid-template-columns: 1fr; }
.hero-content { padding: 60px 28px; }
.hero-visual { display: none; }
.section { padding: 60px 28px; }
.video-section { grid-template-columns: 1fr; gap: 40px; padding: 60px 28px; }
.steps-grid, .features-grid, .reviews-grid { grid-template-columns: 1fr; }
.cta-section { grid-template-columns: 1fr; padding: 60px 28px; }
.pvs-grid { grid-template-columns: 1fr; }
.pvs-divider { writing-mode: horizontal-tb; height: 44px; width: 100%; }
.pvs-col.problem { border-right: 1.5px solid var(–border); border-bottom: none; border-radius: 4px 4px 0 0; }
.pvs-col.solution { border-left: 1.5px solid var(–blue-mid); border-radius: 0 0 4px 4px; }
footer { flex-direction: column; gap: 20px; padding: 40px 28px; text-align: center; }
.stat-chips { display: none; }
header { padding: 0 20px; }
nav { display: none; }
}

0 commentaire

Laisser un commentaire

Votre adresse email ne sera pas publiée.