Bambou Santé Beauté | Bien-être naturel
:root{
–bg:#f6f2ea;
–paper:#fffaf2;
–ink:#16324f;
–muted:#5e6f76;
–green:#83a84f;
–deep-green:#466f2f;
–orange:#ef8b2c;
–blue:#49a7d8;
–line:rgba(22,50,79,.1);
–shadow:0 20px 60px rgba(22,50,79,.12);
–radius:28px;
–max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
margin:0;
background:
radial-gradient(circle at 20% 10%, rgba(131,168,79,.15), transparent 25%),
radial-gradient(circle at 80% 20%, rgba(239,139,44,.12), transparent 26%),
radial-gradient(circle at 70% 70%, rgba(73,167,216,.10), transparent 28%),
var(–bg);
color:var(–ink);
font-family: »Manrope », sans-serif;
line-height:1.5;
}
.grain:before{
content: » »;
position:fixed;
inset:0;
pointer-events:none;
opacity:.06;
background-image:
linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,.4) 1px, transparent 1px);
background-size:3px 3px, 4px 4px;
mix-blend-mode:soft-light;
}
.container{
width:min(calc(100% – 2rem), var(–max));
margin-inline:auto;
}
.reveal{
opacity:0;
transform:translateY(24px);
transition:opacity .7s ease, transform .7s ease;
}
.reveal.visible{
opacity:1;
transform:translateY(0);
}
.stagger > *{
opacity:0;
transform:translateY(20px);
animation:rise .8s ease forwards;
}
.stagger > *:nth-child(1){animation-delay:.08s}
.stagger > *:nth-child(2){animation-delay:.16s}
.stagger > *:nth-child(3){animation-delay:.24s}
.stagger > *:nth-child(4){animation-delay:.32s}
.stagger > *:nth-child(5){animation-delay:.4s}
.stagger > *:nth-child(6){animation-delay:.48s}
@keyframes rise{
to{opacity:1; transform:translateY(0)}
}
header{
position:sticky;
top:0;
z-index:50;
backdrop-filter:blur(14px);
background:rgba(246,242,234,.72);
border-bottom:1px solid rgba(22,50,79,.08);
}
.nav{
display:flex;
align-items:center;
justify-content:space-between;
min-height:76px;
gap:1rem;
}
.brand{
display:flex;
align-items:center;
gap:.9rem;
text-decoration:none;
color:var(–ink);
}
.brand-mark{
width:48px;
height:48px;
border-radius:16px;
position:relative;
background:
radial-gradient(circle at 30% 30%, rgba(131,168,79,.55), transparent 36%),
radial-gradient(circle at 68% 68%, rgba(73,167,216,.5), transparent 36%),
linear-gradient(135deg, rgba(239,139,44,.9), rgba(73,167,216,.9));
box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 12px 24px rgba(22,50,79,.12);
overflow:hidden;
}
.brand-mark:before,
.brand-mark:after{
content: » »;
position:absolute;
border-radius:999px;
background:rgba(255,255,255,.88);
}
.brand-mark:before{
width:9px;height:34px;left:20px;top:7px;
box-shadow:-13px 10px 0 -2px rgba(255,255,255,.85), 12px 12px 0 -2px rgba(255,255,255,.85);
transform:rotate(0deg);
}
.brand-mark:after{
width:30px;height:12px;left:9px;bottom:8px;
transform:rotate(-18deg);
opacity:.8;
}
.brand-text strong{
display:block;
font-family: »Syne », sans-serif;
font-size:1rem;
letter-spacing:.02em;
}
.brand-text span{
display:block;
font-size:.82rem;
color:var(–muted);
}
.nav-links{
display:none;
gap:1.2rem;
align-items:center;
}
.nav-links a{
text-decoration:none;
color:var(–ink);
font-weight:700;
font-size:.95rem;
position:relative;
}
.nav-links a:after{
content: » »;
position:absolute;
left:0; bottom:-6px;
width:100%; height:2px;
background:linear-gradient(90deg, var(–green), var(–orange), var(–blue));
transform:scaleX(0);
transform-origin:left;
transition:transform .3s ease;
}
.nav-links a:hover:after{transform:scaleX(1)}
.nav-cta{
display:flex;
gap:.75rem;
align-items:center;
}
.btn{
border:none;
text-decoration:none;
display:inline-flex;
align-items:center;
justify-content:center;
gap:.6rem;
padding:.95rem 1.25rem;
border-radius:999px;
font-weight:800;
cursor:pointer;
transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
will-change:transform;
font-family: »Manrope », sans-serif;
}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-primary{
background:linear-gradient(135deg, var(–green), var(–blue));
color:white;
box-shadow:0 14px 30px rgba(73,167,216,.24);
}
.btn-primary:hover{
transform:translateY(-2px) scale(1.01);
box-shadow:0 18px 36px rgba(73,167,216,.32);
}
.btn-secondary{
background:rgba(255,255,255,.65);
color:var(–ink);
border:1px solid rgba(22,50,79,.1);
backdrop-filter:blur(10px);
}
.btn-secondary:hover{
transform:translateY(-2px);
background:white;
box-shadow:var(–shadow);
}
.hero{
padding:clamp(2rem, 4vw, 4rem) 0 1.5rem;
}
.hero-grid{
display:grid;
gap:1rem;
}
.hero-panel{
background:linear-gradient(145deg, #244f77, #355e85);
color:white;
border-radius:40px;
padding:clamp(1.5rem, 4vw, 3.5rem);
position:relative;
overflow:hidden;
min-height:430px;
box-shadow:var(–shadow);
isolation:isolate;
}
.hero-panel:before{
content: » »;
position:absolute;
inset:auto -10% -24% auto;
width:320px;
height:320px;
border-radius:50%;
background:radial-gradient(circle, rgba(73,167,216,.65), transparent 60%);
filter:blur(20px);
z-index:-1;
}
.hero-panel:after{
content: » »;
position:absolute;
inset:0;
background:
linear-gradient(120deg, transparent 0 40%, rgba(255,255,255,.06) 40% 48%, transparent 48% 100%);
mix-blend-mode:screen;
opacity:.7;
z-index:-1;
}
.eyebrow{
display:inline-flex;
align-items:center;
gap:.5rem;
padding:.45rem .8rem;
border-radius:999px;
background:rgba(255,255,255,.12);
border:1px solid rgba(255,255,255,.18);
font-size:.85rem;
font-weight:700;
letter-spacing:.04em;
text-transform:uppercase;
}
h1,h2,h3{
font-family: »Syne », sans-serif;
line-height:.95;
margin:0;
letter-spacing:-.03em;
}
h1{
font-size:clamp(2.5rem, 7vw, 5.8rem);
max-width:10ch;
margin-top:1rem;
}
.hero-copy{
margin-top:1rem;
max-width:58ch;
font-size:clamp(1rem, 1.4vw, 1.15rem);
color:rgba(255,255,255,.86);
}
.hero-actions{
display:flex;
flex-wrap:wrap;
gap:.8rem;
margin-top:1.4rem;
}
.hero-note{
margin-top:1rem;
color:rgba(255,255,255,.78);
font-size:.95rem;
}
.hero-side{
display:grid;
gap:1rem;
grid-template-columns:1fr 1fr;
}
.tile{
border-radius:30px;
padding:1.35rem;
min-height:180px;
position:relative;
overflow:hidden;
box-shadow:var(–shadow);
color:white;
display:flex;
flex-direction:column;
justify-content:flex-end;
}
.tile h3{
font-size:clamp(1.1rem, 2vw, 1.6rem);
line-height:1.02;
max-width:12ch;
}
.tile p{
margin:.55rem 0 0;
font-size:.92rem;
color:rgba(255,255,255,.9);
max-width:20ch;
}
.tile svg{
position:absolute;
top:1rem;
left:1rem;
width:64px;
height:64px;
opacity:.95;
}
.tile.green{background:linear-gradient(145deg, #95b46d, #7f9f57)}
.tile.orange{background:linear-gradient(145deg, #ef9c4a, #d68026)}
.tile.blue{
background:linear-gradient(145deg, #7fc4e6, #5aaed8);
grid-column:1/-1;
min-height:190px;
}
.section{
padding:clamp(2rem, 5vw, 5rem) 0;
}
.section-head{
display:grid;
gap:1rem;
align-items:end;
margin-bottom:1.5rem;
}
.section-head p{
margin:0;
max-width:60ch;
color:var(–muted);
font-size:1.02rem;
}
.kpis{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:1rem;
margin-top:1.25rem;
}
.kpi{
padding:1.3rem;
border-radius:24px;
background:rgba(255,255,255,.6);
border:1px solid var(–line);
backdrop-filter:blur(10px);
}
.kpi strong{
display:block;
font-family: »Syne », sans-serif;
font-size:clamp(1.8rem, 4vw, 3rem);
}
.kpi span{
color:var(–muted);
font-weight:700;
font-size:.95rem;
}
.brand-story{
display:grid;
gap:1rem;
align-items:stretch;
}
.story-panel,
.subscribe-panel,
.shop-panel,
.assistant-panel{
background:rgba(255,255,255,.62);
border:1px solid var(–line);
border-radius:32px;
padding:clamp(1.2rem, 3vw, 2rem);
backdrop-filter:blur(10px);
box-shadow:var(–shadow);
}
.story-panel .logo-showcase{
margin-top:1rem;
border-radius:28px;
min-height:300px;
position:relative;
overflow:hidden;
background:
radial-gradient(circle at 45% 35%, rgba(131,168,79,.55), transparent 26%),
radial-gradient(circle at 62% 40%, rgba(239,139,44,.45), transparent 14%),
radial-gradient(circle at 66% 56%, rgba(73,167,216,.5), transparent 18%),
linear-gradient(160deg, #8c877e, #a49988);
display:grid;
place-items:center;
}
.symbol{
width:min(74vw, 340px);
aspect-ratio:1;
position:relative;
filter:drop-shadow(0 18px 30px rgba(239,139,44,.28));
}
.symbol .bamboo{
position:absolute;
left:33%;
top:10%;
width:14%;
height:58%;
background:linear-gradient(180deg, #6ba12b, #356e20);
border-radius:18px;
box-shadow:inset 0 0 0 2px rgba(255,255,255,.18);
}
.symbol .bamboo:before,
.symbol .bamboo:after{
content: » »;
position:absolute;
left:0; width:100%; height:8%;
background:rgba(255,255,255,.18);
border-radius:999px;
}
.symbol .bamboo:before{top:34%}
.symbol .bamboo:after{top:72%}
.leaf{
position:absolute;
background:linear-gradient(145deg, #5b971e, #3d731f);
border-radius:100% 0 100% 0;
box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
.leaf.l1{width:30%;height:15%;left:10%;top:35%;transform:rotate(12deg)}
.leaf.l2{width:24%;height:12%;left:20%;top:25%;transform:rotate(32deg)}
.leaf.l3{width:24%;height:12%;left:47%;top:48%;transform:rotate(-28deg)}
.leaf.l4{width:30%;height:15%;left:53%;top:18%;transform:rotate(122deg)}
.stroke-orange,
.stroke-blue{
position:absolute;
border-radius:50%;
border:18px solid transparent;
}
.stroke-orange{
width:58%;
height:64%;
left:23%;
top:26%;
border-left-color:#ff7f1d;
border-bottom-color:#ff7f1d;
transform:rotate(38deg);
filter:drop-shadow(0 0 18px rgba(255,127,29,.7));
}
.stroke-blue{
width:54%;
height:48%;
left:47%;
top:42%;
border-right-color:#0b77d5;
border-bottom-color:#0b77d5;
transform:rotate(18deg);
filter:drop-shadow(0 0 18px rgba(11,119,213,.65));
}
.head-outline{
position:absolute;
width:18%;
height:22%;
right:20%;
top:16%;
border:4px solid #ff7f1d;
border-left:none;
border-bottom:none;
border-radius:52% 48% 46% 54% / 46% 52% 48% 54%;
transform:rotate(24deg);
filter:drop-shadow(0 0 10px rgba(255,127,29,.55));
}
.benefits{
display:grid;
gap:1rem;
margin-top:1rem;
}
.benefit{
display:grid;
grid-template-columns:auto 1fr;
gap:1rem;
align-items:start;
padding:1rem 0;
border-top:1px solid var(–line);
}
.dot{
width:14px;height:14px;border-radius:50%;
margin-top:.35rem;
background:linear-gradient(135deg, var(–green), var(–blue));
box-shadow:0 0 0 8px rgba(73,167,216,.08);
}
.shop-layout{
display:grid;
gap:1rem;
}
.product-list{
display:grid;
gap:1rem;
}
.product{
display:grid;
gap:1rem;
align-items:center;
border-top:1px solid var(–line);
padding-top:1rem;
}
.product-visual{
min-height:160px;
border-radius:24px;
position:relative;
overflow:hidden;
background:
radial-gradient(circle at 30% 30%, rgba(255,255,255,.55), transparent 18%),
linear-gradient(145deg, rgba(131,168,79,.2), rgba(73,167,216,.18)),
#f5f0e7;
border:1px solid rgba(22,50,79,.08);
}
.jar, .roller, .oil{
position:absolute;
inset:auto;
}
.jar{
width:82px;height:94px;left:50%;top:50%;
transform:translate(-50%,-42%);
background:linear-gradient(180deg, #ffffff, #dfeae7);
border-radius:16px 16px 22px 22px;
box-shadow:0 18px 30px rgba(22,50,79,.12);
}
.jar:before{
content: » »;
position:absolute;left:10px;right:10px;top:-14px;height:18px;
background:linear-gradient(180deg, #97b85f, #6f9640);
border-radius:8px 8px 4px 4px;
}
.oil{
width:60px;height:112px;left:50%;top:50%;
transform:translate(-50%,-42%);
background:linear-gradient(180deg, #7d4c1b, #b06e25);
border-radius:14px;
box-shadow:0 18px 30px rgba(22,50,79,.12);
}
.oil:before{
content: » »;
position:absolute;left:16px;right:16px;top:-20px;height:24px;
background:#222;
border-radius:8px 8px 2px 2px;
}
.roller{
width:120px;height:24px;left:50%;top:50%;
transform:translate(-50%,-42%) rotate(-18deg);
background:linear-gradient(180deg, #cda76a, #9f7539);
border-radius:999px;
box-shadow:0 18px 30px rgba(22,50,79,.12);
}
.roller:before,.roller:after{
content: » »;
position:absolute;top:-4px;width:28px;height:32px;border-radius:50%;
background:linear-gradient(180deg, #b3884a, #8f6730);
}
.roller:before{left:0}
.roller:after{right:0}
.product h3{
font-size:clamp(1.35rem, 2vw, 1.8rem);
margin-bottom:.35rem;
}
.product p{
margin:.4rem 0;
color:var(–muted);
}
.product ul{
margin:.75rem 0 0;
padding-left:1.1rem;
color:var(–ink);
}
.affiliate{
display:inline-flex;
margin-top:1rem;
align-items:center;
gap:.5rem;
color:var(–ink);
font-weight:800;
text-decoration:none;
}
.affiliate:hover{color:var(–blue)}
.subscribe-panel form{
display:grid;
gap:.9rem;
margin-top:1rem;
}
.field{
display:grid;
gap:.35rem;
}
.field label{
font-size:.9rem;
font-weight:800;
}
.field input{
width:100%;
padding:1rem 1rem;
border-radius:16px;
border:1px solid rgba(22,50,79,.12);
background:rgba(255,255,255,.82);
color:var(–ink);
font:inherit;
outline:none;
transition:border-color .2s ease, box-shadow .2s ease;
}
.field input:focus{
border-color:var(–blue);
box-shadow:0 0 0 4px rgba(73,167,216,.14);
}
.mini-note{
font-size:.88rem;
color:var(–muted);
margin-top:.5rem;
}
.assistant-wrap{
position:fixed;
right:18px;
bottom:18px;
z-index:60;
}
.chat-toggle{
width:68px;
height:68px;
border-radius:50%;
border:none;
cursor:pointer;
color:white;
font-size:1.5rem;
font-weight:900;
background:linear-gradient(135deg, var(–orange), var(–blue));
box-shadow:0 18px 34px rgba(22,50,79,.26);
transition:transform .2s ease, box-shadow .2s ease;
}
.chat-toggle:hover{
transform:translateY(-3px) scale(1.03);
box-shadow:0 22px 38px rgba(22,50,79,.3);
}
.chatbox{
width:min(92vw, 360px);
background:rgba(255,250,242,.92);
border:1px solid rgba(22,50,79,.12);
backdrop-filter:blur(18px);
border-radius:26px;
box-shadow:var(–shadow);
overflow:hidden;
display:none;
margin-bottom:12px;
}
.chatbox.open{display:block; animation:rise .35s ease forwards}
.chat-head{
padding:1rem 1rem .9rem;
background:linear-gradient(145deg, #244f77, #355e85);
color:white;
}
.chat-head strong{
display:block;
font-size:1rem;
}
.chat-head span{
font-size:.88rem;
opacity:.85;
}
.chat-body{
padding:1rem;
max-height:360px;
overflow:auto;
display:grid;
gap:.75rem;
}
.msg{
max-width:86%;
padding:.85rem 1rem;
border-radius:18px;
font-size:.94rem;
}
.msg.bot{
background:#eef5f8;
color:var(–ink);
border-top-left-radius:6px;
}
.msg.user{
margin-left:auto;
background:linear-gradient(135deg, var(–green), var(–blue));
color:white;
border-top-right-radius:6px;
}
.quick-actions{
display:grid;
gap:.55rem;
padding:0 1rem 1rem;
}
.quick-actions button{
text-align:left;
border:none;
padding:.9rem 1rem;
border-radius:16px;
background:white;
border:1px solid rgba(22,50,79,.08);
cursor:pointer;
font:inherit;
font-weight:700;
color:var(–ink);
transition:transform .18s ease, background .2s ease;
}
.quick-actions button:hover{
transform:translateX(4px);
background:#f8fcfe;
}
.success{
display:none;
margin-top:.8rem;
padding:.9rem 1rem;
border-radius:16px;
background:rgba(131,168,79,.14);
color:var(–deep-green);
font-weight:800;
}
.success.show{display:block}
footer{
padding:2rem 0 3rem;
color:var(–muted);
}
.footer-inner{
display:flex;
flex-direction:column;
gap:1rem;
padding-top:1rem;
border-top:1px solid var(–line);
}
@media (min-width: 860px){
.nav-links{display:flex}
.hero-grid{
grid-template-columns:1.5fr 1fr;
align-items:stretch;
}
.section-head{
grid-template-columns:1.1fr .9fr;
}
.brand-story{
grid-template-columns:1.15fr .85fr;
}
.shop-layout{
grid-template-columns:1.05fr .95fr;
}
.product{
grid-template-columns:220px 1fr;
}
.footer-inner{
flex-direction:row;
justify-content:space-between;
align-items:center;
}
}
@media (max-width: 580px){
.nav-cta .btn-secondary{display:none}
.hero-panel{border-radius:28px; min-height:auto}
.tile{min-height:160px}
.kpis{grid-template-columns:1fr}
}
Blog pour les achats des produits.
Vous devez être connecté pour poster un commentaire.