/* ===================== GestShop — Landing Page ===================== */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --bg:#FCFEFC;
  --bg-soft:#F6FAF8;
  --surface:#FFFFFF;
  --ink:#0E1B15;
  --ink-soft:#4B5D55;
  --muted:#8CA096;
  --border:#E4EEE9;
  --border-strong:#D3E4DC;
  --green:#018C5D;
  --green-dark:#016B47;
  --green-darker:#0B2A20;
  --green-light:#DFF7E9;
  --green-pale:#F1FBF6;
  --amber:#E19A2C;
  --amber-pale:#FBEFDA;
  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:26px;
  --shadow-sm: 0 1px 2px rgba(14,27,21,.05), 0 1px 1px rgba(14,27,21,.03);
  --shadow-md: 0 10px 30px -12px rgba(14,27,21,.16);
  --shadow-lg: 0 30px 60px -20px rgba(14,27,21,.22);
  --font-display:'Manrope', 'Inter', sans-serif;
  --font-body:'Inter', sans-serif;
  --ease: cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important;}
}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none; margin:0; padding:0;}
h1,h2,h3,h4{font-family:var(--font-display); margin:0; color:var(--ink); font-weight:800; letter-spacing:-0.02em;}
p{margin:0;}
button{font-family:inherit; cursor:pointer;}
:focus-visible{outline:2.5px solid var(--green); outline-offset:3px; border-radius:6px;}

.container{
  width:100%;
  max-width:1220px;
  margin:0 auto;
  padding:0 28px;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--green-dark);
  margin-bottom:16px;
}
.eyebrow::before{
  content:"";
  width:7px; height:7px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 4px var(--green-light);
}

.section-head{
  max-width:640px;
  margin-bottom:52px;
}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.section-head h2{font-size:clamp(28px,3.6vw,40px); line-height:1.12;}
.section-head p{margin-top:16px; font-size:17px; color:var(--ink-soft); line-height:1.6;}

section{padding:104px 0;}
@media (max-width:720px){section{padding:72px 0;}}

.section-alt{background:var(--bg-soft);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:14px 26px;
  border-radius:100px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:15px;
  border:1.5px solid transparent;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .25s ease, border-color .25s ease, color .25s ease;
  white-space:nowrap;
}
.btn .ic{width:17px; height:17px;}
.btn-primary{
  background:var(--green);
  color:#fff;
  box-shadow:0 10px 24px -8px rgba(1,140,93,.55);
}
.btn-primary:hover{background:var(--green-dark); transform:translateY(-2px); box-shadow:0 16px 30px -10px rgba(1,140,93,.6);}
.btn-ghost{
  background:transparent;
  color:var(--ink);
  border-color:var(--border-strong);
}
.btn-ghost:hover{border-color:var(--green); color:var(--green-dark); transform:translateY(-2px);}
.btn-light{
  background:#fff;
  color:var(--green-darker);
}
.btn-light:hover{transform:translateY(-2px); box-shadow:0 14px 28px -10px rgba(0,0,0,.3);}
.btn-outline-light{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.35);
}
.btn-outline-light:hover{border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-2px);}
.btn-sm{padding:10px 18px; font-size:13.5px;}
.btn-block{width:100%;}

/* ---------- Icons ---------- */
.ic{width:22px; height:22px; display:block;}

/* ================= NAV ================= */
.nav{
  position:sticky; top:0; z-index:1000;
  background:rgba(252,254,252,.78);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--border);
}
.nav .container{
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.brand{display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:800; font-size:18.5px;}
.brand-mark{
  width:34px; height:34px; border-radius:10px;
  background:linear-gradient(155deg, var(--green) 0%, var(--green-dark) 100%);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 14px -6px rgba(1,140,93,.6);
}
.brand-mark .ic{width:18px; height:18px; color:#fff;}
.nav-links{display:flex; align-items:center; gap:36px;}
.nav-links a{
  font-size:14.5px; font-weight:600; color:var(--ink-soft);
  position:relative; padding:6px 0; transition:color .2s ease;
}
.nav-links a::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--green); transition:width .3s var(--ease);
}
.nav-links a:hover{color:var(--ink);}
.nav-links a:hover::after{width:100%;}
.nav-actions{display:flex; align-items:center; gap:14px;}
.nav-login{font-size:14.5px; font-weight:600; color:var(--ink-soft); padding:8px 4px;}
.nav-login:hover{color:var(--ink);}
.nav-burger{
  display:none; width:42px; height:42px; border-radius:10px; border:1.5px solid var(--border-strong);
  background:#fff; align-items:center; justify-content:center;
}
.nav-burger .ic{width:19px; height:19px;}
.mobile-panel{
  display:none;
  position:fixed; inset:76px 0 0 0; z-index:999;
  background:var(--bg); padding:24px 28px 40px;
  overflow-y:auto;
}
.mobile-panel.open{display:block;}
.mobile-panel a{
  display:block; padding:16px 4px; font-size:19px; font-weight:700; font-family:var(--font-display);
  border-bottom:1px solid var(--border);
}
.mobile-panel .mobile-actions{display:flex; flex-direction:column; gap:12px; margin-top:26px;}

@media (max-width:960px){
  .nav-links{display:none;}
  .nav-actions .nav-login, .nav-actions .btn{display:none;}
  .nav-burger{display:flex;}
}

/* ================= HERO ================= */
.hero{padding:88px 0 60px;}
.hero .container{
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
}
.hero-copy h1{font-size:clamp(34px,4.6vw,54px); line-height:1.06;}
.hero-copy p.lead{font-size:18.5px; color:var(--ink-soft); margin-top:22px; max-width:480px; line-height:1.65;}
.hero-actions{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;}
.hero-tags{display:flex; gap:22px; margin-top:36px; flex-wrap:wrap;}
.hero-tag{display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--ink-soft);}
.hero-tag .ic{width:16px; height:16px; color:var(--green);}

@media (max-width:1020px){
  .hero .container{grid-template-columns:1fr; gap:52px;}
  .hero-visual{order:2;}
}

/* ---- coded dashboard mockup ---- */
.mockup-frame{
  background:#fff;
  border-radius:20px;
  border:1px solid var(--border);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
  position:relative;
}
.mockup-bar{
  display:flex; align-items:center; gap:8px;
  padding:13px 18px; background:var(--bg-soft); border-bottom:1px solid var(--border);
}
.mockup-dot{width:8px; height:8px; border-radius:50%; background:var(--border-strong);}
.mockup-url{
  margin-left:10px; font-size:12px; color:var(--muted); font-weight:600;
  background:#fff; border:1px solid var(--border); border-radius:100px; padding:4px 14px;
}
.dash{display:grid; grid-template-columns:150px 1fr; min-height:390px;}
.dash-side{background:var(--green-darker); padding:20px 14px; display:flex; flex-direction:column; gap:4px;}
.dash-side-item{
  display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:9px;
  color:rgba(255,255,255,.62); font-size:12.5px; font-weight:600;
}
.dash-side-item .ic{width:15px; height:15px;}
.dash-side-item.active{background:rgba(255,255,255,.12); color:#fff;}
.dash-main{padding:20px 22px; background:#fff;}
.dash-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:16px;}
.dash-stat{background:var(--bg-soft); border:1px solid var(--border); border-radius:12px; padding:12px 14px;}
.dash-stat .k{font-size:10.5px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.05em;}
.dash-stat .v{font-family:var(--font-display); font-size:19px; font-weight:800; margin-top:6px;}
.dash-stat .v.up{color:var(--green-dark);}
.dash-chart{background:var(--bg-soft); border:1px solid var(--border); border-radius:12px; padding:14px 16px 8px; margin-bottom:14px;}
.dash-chart-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px;}
.dash-chart-head span{font-size:12px; font-weight:700; color:var(--ink-soft);}
.dash-chart-head .pill{font-size:11px; font-weight:800; color:var(--green-dark); background:var(--green-light); padding:2px 8px; border-radius:100px;}
.bars{display:flex; align-items:flex-end; gap:6px; height:64px;}
.bars i{flex:1; background:var(--border-strong); border-radius:4px 4px 0 0; transform-origin:bottom; transform:scaleY(0); transition:transform 1s var(--ease);}
.bars i.on{background:var(--green);}
.in-view .bars i{transform:scaleY(1);}
.dash-rows{display:flex; flex-direction:column; gap:8px;}
.dash-row{
  display:flex; align-items:center; justify-content:space-between;
  font-size:12px; padding:8px 10px; border-radius:9px; background:var(--bg-soft);
}
.dash-row .id{font-weight:700; color:var(--ink-soft); width:64px;}
.dash-row .name{flex:1; color:var(--ink-soft);}
.badge-status{font-size:10.5px; font-weight:700; padding:3px 9px; border-radius:100px;}
.badge-status.ok{background:var(--green-light); color:var(--green-dark);}
.badge-status.mid{background:var(--amber-pale); color:var(--amber);}
.badge-status.new{background:#EAF1FF; color:#2E5FD9;}

.float-card{
  position:absolute; left:-26px; bottom:-24px;
  background:#fff; border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow-md);
  padding:12px 16px; width:200px; animation:floaty 5s ease-in-out infinite;
}
.float-card .t{font-size:10px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.05em;}
.float-card .m{font-size:14px; font-weight:800; font-family:var(--font-display); margin-top:4px;}
.float-card .s{display:inline-flex; align-items:center; gap:5px; margin-top:6px; font-size:11px; font-weight:700; color:var(--green-dark);}
.float-card .s .ic{width:12px; height:12px;}
@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
@media (max-width:640px){.float-card{left:8px; bottom:-20px; width:170px;}}

/* ================= REVEAL / MOTION ================= */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in-view{opacity:1; transform:translateY(0);}
.reveal-stagger .reveal:nth-child(1){transition-delay:.02s;}
.reveal-stagger .reveal:nth-child(2){transition-delay:.09s;}
.reveal-stagger .reveal:nth-child(3){transition-delay:.16s;}
.reveal-stagger .reveal:nth-child(4){transition-delay:.23s;}
.reveal-stagger .reveal:nth-child(5){transition-delay:.30s;}
.reveal-stagger .reveal:nth-child(6){transition-delay:.37s;}
.reveal-stagger .reveal:nth-child(7){transition-delay:.44s;}
.reveal-stagger .reveal:nth-child(8){transition-delay:.51s;}
.reveal-stagger .reveal:nth-child(9){transition-delay:.58s;}
.reveal-stagger .reveal:nth-child(10){transition-delay:.65s;}

/* ================= JOURNEY RAIL (signature element) ================= */
.journey-rail{
  position:fixed; right:26px; top:50%; transform:translateY(-50%); z-index:500;
  display:flex; flex-direction:column; align-items:flex-end; gap:0;
}
.journey-rail .jr-item{
  display:flex; align-items:center; gap:10px; height:40px; cursor:pointer;
}
.journey-rail .jr-label{
  font-size:11px; font-weight:700; color:var(--muted); font-family:var(--font-display);
  opacity:0; transform:translateX(6px); transition:opacity .25s ease, transform .25s ease, color .25s ease;
  white-space:nowrap;
}
.journey-rail .jr-item:hover .jr-label,
.journey-rail .jr-item.active .jr-label{opacity:1; transform:translateX(0);}
.journey-rail .jr-item.active .jr-label{color:var(--green-dark);}
.jr-dot-wrap{position:relative; display:flex; align-items:center; justify-content:center; width:18px; height:18px;}
.jr-dot{width:7px; height:7px; border-radius:50%; background:var(--border-strong); transition:all .3s ease;}
.journey-rail .jr-item.active .jr-dot{background:var(--green); box-shadow:0 0 0 5px var(--green-light);}
.journey-rail .jr-line{position:absolute; right:9px; width:1.5px; background:var(--border); z-index:-1;}
@media (max-width:1180px){.journey-rail{display:none;}}

/* ================= POUR QUI ================= */
.audience-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.audience-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md);
  padding:30px 24px; transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s ease;
}
.audience-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:var(--border-strong);}
.icon-tile{
  width:46px; height:46px; border-radius:12px; background:var(--green-light);
  display:flex; align-items:center; justify-content:center; color:var(--green-dark); margin-bottom:18px;
}
.icon-tile .ic{width:22px; height:22px;}
.audience-card h3{font-size:17.5px; margin-bottom:9px;}
.audience-card p{font-size:14.5px; color:var(--ink-soft); line-height:1.55;}
@media (max-width:900px){.audience-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.audience-grid{grid-template-columns:1fr;}}

/* ================= FEATURE SECTION LAYOUT (creation/produits/etc) ================= */
.feat-layout{display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center;}
.feat-layout.reverse{grid-template-columns:.95fr 1.05fr;}
.feat-layout.reverse .feat-visual{order:-1;}
@media (max-width:980px){
  .feat-layout, .feat-layout.reverse{grid-template-columns:1fr;}
  .feat-layout.reverse .feat-visual{order:0;}
}

.callout{
  display:inline-flex; align-items:center; gap:10px; margin-top:26px;
  background:var(--green-pale); border:1px solid var(--green-light); color:var(--green-dark);
  padding:11px 18px; border-radius:100px; font-size:13.5px; font-weight:700;
}
.callout .ic{width:16px; height:16px;}

.highlight-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:28px;}
.highlight-card{
  background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:18px;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.highlight-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-sm);}
.highlight-card .icon-tile{width:38px; height:38px; margin-bottom:12px; border-radius:10px;}
.highlight-card .icon-tile .ic{width:18px; height:18px;}
.highlight-card h4{font-size:14.5px; margin-bottom:5px;}
.highlight-card p{font-size:12.8px; color:var(--ink-soft); line-height:1.5;}

.chip-cloud{display:flex; flex-wrap:wrap; gap:9px; margin-top:26px;}
.chip{
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; font-weight:600; color:var(--ink-soft);
  background:var(--surface); border:1px solid var(--border); border-radius:100px; padding:8px 14px;
  transition:border-color .25s ease, color .25s ease, transform .25s ease;
}
.chip:hover{border-color:var(--green); color:var(--green-dark); transform:translateY(-2px);}
.chip .ic{width:13px; height:13px; color:var(--green);}
.section-alt .chip{background:#fff;}

/* ---- storefront preview mockup (used in creation & boutique sections) ---- */
.store-preview{background:#fff;}
.store-nav{display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--border);}
.store-nav .sn-brand{display:flex; align-items:center; gap:8px; font-family:var(--font-display); font-weight:800; font-size:13.5px;}
.store-nav .sn-brand .dot{width:22px; height:22px; border-radius:7px; background:var(--green);}
.store-nav .sn-links{display:flex; gap:14px; font-size:11px; color:var(--ink-soft); font-weight:600;}
.store-hero{margin:16px; border-radius:14px; background:linear-gradient(120deg, var(--green-darker), var(--green-dark)); padding:26px 22px; color:#fff;}
.store-hero .sh-eyebrow{font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; opacity:.7;}
.store-hero h5{font-family:var(--font-display); font-size:19px; margin:8px 0 14px; font-weight:800;}
.store-hero .sh-btn{display:inline-block; background:#fff; color:var(--green-darker); font-size:11.5px; font-weight:700; padding:8px 16px; border-radius:100px;}
.store-products{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:0 16px 18px;}
.store-product{background:var(--bg-soft); border:1px solid var(--border); border-radius:10px; padding:8px;}
.store-product .thumb{height:52px; border-radius:7px; background:var(--border-strong); position:relative; overflow:hidden; margin-bottom:8px;}
.store-product .badge-mini{position:absolute; top:5px; left:5px; font-size:8px; font-weight:800; padding:2px 6px; border-radius:5px; background:var(--amber); color:#fff;}
.store-product .badge-mini.green{background:var(--green);}
.store-product .bar{height:6px; border-radius:4px; background:var(--border-strong); margin-bottom:5px;}
.store-product .bar.short{width:60%;}

/* ================= ORDER TIMELINE ================= */
.order-timeline{display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; margin-top:8px;}
.ot-step{position:relative; padding:0 14px; text-align:center;}
.ot-step::before{
  content:""; position:absolute; top:27px; left:-50%; width:100%; height:2px; background:var(--border-strong); z-index:0;
}
.ot-step:first-child::before{display:none;}
.ot-step.on::before{background:var(--green);}
.ot-icon{
  width:54px; height:54px; border-radius:50%; background:#fff; border:2px solid var(--border-strong);
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px; position:relative; z-index:1;
  color:var(--muted); transition:all .5s var(--ease);
}
.ot-step.on .ot-icon{border-color:var(--green); color:var(--green); background:var(--green-pale); box-shadow:0 0 0 6px var(--green-light);}
.ot-icon .ic{width:22px; height:22px;}
.ot-step h4{font-size:14.5px; margin-bottom:6px;}
.ot-step p{font-size:12.5px; color:var(--ink-soft);}
@media (max-width:760px){
  .order-timeline{grid-template-columns:1fr; gap:34px;}
  .ot-step::before{top:-17px; left:27px; width:2px; height:34px;}
}

/* ================= CLIENT CARD MOCKUP ================= */
.client-card-mock{background:#fff; padding:22px;}
.cc-head{display:flex; align-items:center; gap:14px; padding-bottom:16px; border-bottom:1px solid var(--border); margin-bottom:16px;}
.cc-avatar{width:48px; height:48px; border-radius:50%; background:linear-gradient(140deg, var(--green), var(--green-dark)); display:flex; align-items:center; justify-content:center; color:#fff; font-family:var(--font-display); font-weight:800; font-size:16px;}
.cc-head .name{font-family:var(--font-display); font-weight:800; font-size:15.5px;}
.cc-head .since{font-size:11.5px; color:var(--muted);}
.cc-rows{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:16px;}
.cc-rows .cc-stat{background:var(--bg-soft); border:1px solid var(--border); border-radius:10px; padding:10px 12px;}
.cc-rows .cc-stat .k{font-size:10px; font-weight:700; color:var(--muted); text-transform:uppercase;}
.cc-rows .cc-stat .v{font-family:var(--font-display); font-weight:800; font-size:15px; margin-top:3px;}
.cc-list .cc-order{display:flex; justify-content:space-between; font-size:12px; padding:8px 0; border-bottom:1px dashed var(--border); color:var(--ink-soft);}
.cc-list .cc-order:last-child{border-bottom:none;}

/* ================= PROMO SECTION ================= */
.promo-badges{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:44px;}
.promo-badge{
  font-family:var(--font-display); font-weight:800; font-size:13.5px; padding:9px 18px; border-radius:100px;
  animation:pulse-in .6s var(--ease) both;
}
.promo-badge.pb1{background:#FDEBEA; color:#D64545;}
.promo-badge.pb2{background:var(--green-light); color:var(--green-dark);}
.promo-badge.pb3{background:var(--green-darker); color:#fff;}
.promo-badge.pb4{background:#FDEBEA; color:#D64545;}
.promo-badge.pb5{background:var(--amber-pale); color:var(--amber);}
@keyframes pulse-in{from{opacity:0; transform:scale(.8);} to{opacity:1; transform:scale(1);}}

.promo-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.promo-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md); padding:26px 22px;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.promo-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md);}
@media (max-width:900px){.promo-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.promo-grid{grid-template-columns:1fr;}}

.chip-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}

/* ================= BOUTIQUE / APPARENCE SECTION ================= */
.appearance-mock{display:grid; grid-template-columns:1fr 1.15fr; gap:0; background:#fff;}
.app-panel{padding:20px; border-right:1px solid var(--border);}
.app-row{margin-bottom:16px;}
.app-row .lbl{font-size:10.5px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px;}
.app-logo-row{display:flex; align-items:center; gap:10px; background:var(--bg-soft); border:1px solid var(--border); border-radius:9px; padding:9px 11px;}
.app-logo-row .sq{width:24px; height:24px; border-radius:6px; background:var(--green);}
.app-logo-row span{font-size:11.5px; color:var(--ink-soft); font-weight:600;}
.swatches{display:flex; gap:8px;}
.swatches i{width:24px; height:24px; border-radius:7px; border:2px solid #fff; box-shadow:0 0 0 1px var(--border);}
.banner-bar{height:34px; border-radius:9px; background:linear-gradient(120deg, var(--green-darker), var(--green-dark));}
.meta-line{display:flex; justify-content:space-between; font-size:11.5px; padding:9px 0; border-bottom:1px dashed var(--border); color:var(--ink-soft);}
.meta-line b{color:var(--ink); font-weight:700;}
.meta-line:last-child{border-bottom:none;}

/* ================= MOBILE / DEVICES SECTION ================= */
.devices-row{display:flex; align-items:flex-end; justify-content:center; gap:34px; margin-top:24px;}
.device{position:relative;}
.device-frame{background:#1B2621; border-radius:16px; padding:10px; box-shadow:var(--shadow-lg);}
.device.desktop{width:100%; max-width:480px;}
.device.desktop .device-frame{border-radius:12px 12px 4px 4px; padding:12px 12px 26px;}
.device.desktop .stand{width:90px; height:14px; background:#1B2621; margin:0 auto; border-radius:0 0 6px 6px;}
.device.tablet{width:210px;}
.device.tablet .device-frame{border-radius:20px; padding:14px 10px;}
.device.phone{width:130px;}
.device.phone .device-frame{border-radius:24px; padding:10px 8px;}
.device-screen{background:#fff; border-radius:6px; overflow:hidden;}
.device .store-nav{padding:8px 10px;}
.device .store-nav .sn-links{display:none;}
.device.desktop .store-nav .sn-links{display:flex;}
.device .store-hero{margin:8px; padding:14px 12px;}
.device .store-hero h5{font-size:12px; margin:4px 0 8px;}
.device .store-hero .sh-btn{font-size:9px; padding:5px 10px;}
.device .store-products{padding:0 8px 10px; gap:6px;}
.device.phone .store-products{grid-template-columns:1fr 1fr;}
.device .store-product .thumb{height:30px; margin-bottom:5px;}
.device-caption{text-align:center; margin-top:16px; font-family:var(--font-display); font-weight:700; font-size:13px; color:var(--ink-soft);}
@media (max-width:820px){
  .devices-row{flex-direction:column; align-items:center;}
  .device{width:100% !important; max-width:280px;}
}

/* ================= GESTION SIMPLIFIEE GRID ================= */
.unify-wrap{
  background:var(--green-darker); border-radius:32px; padding:64px 48px; color:#fff; position:relative; overflow:hidden;
}
.unify-wrap::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(560px 300px at 85% 0%, rgba(1,140,93,.35), transparent 70%);
  pointer-events:none;
}
.unify-head{max-width:560px; margin-bottom:48px; position:relative;}
.unify-head .eyebrow{color:#8FE3C0;}
.unify-head .eyebrow::before{box-shadow:0 0 0 4px rgba(1,140,93,.35);}
.unify-head h2{color:#fff; font-size:clamp(28px,3.4vw,38px);}
.unify-head p{color:rgba(255,255,255,.62); margin-top:14px; font-size:16px;}
.unify-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; position:relative;}
.unify-card{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:16px;
  padding:22px 18px; transition:transform .4s var(--ease), background .4s ease, border-color .4s ease;
}
.unify-card:hover{background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.22); transform:translateY(-5px);}
.unify-card .icon-tile{background:rgba(1,140,93,.28); color:#7BE0B4;}
.unify-card h4{color:#fff; font-size:15px; margin-top:2px; font-weight:700; font-family:var(--font-display);}
@media (max-width:900px){.unify-grid{grid-template-columns:1fr 1fr;} .unify-wrap{padding:44px 24px;}}
@media (max-width:560px){.unify-grid{grid-template-columns:1fr;}}

/* ================= COMMENT CA MARCHE (steps) ================= */
.steps-wrap{position:relative;}
.steps-line{
  position:absolute; top:34px; left:6%; right:6%; height:2px; background:var(--border-strong); z-index:0;
}
.steps-line i{display:block; height:100%; width:0; background:var(--green); transition:width 1.4s var(--ease);}
.in-view .steps-line i{width:100%;}
.steps-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; position:relative; z-index:1;}
.step-card{text-align:left;}
.step-num{
  width:68px; height:68px; border-radius:50%; background:#fff; border:2px solid var(--border-strong);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:20px;
  color:var(--green-dark); margin-bottom:22px; transition:all .4s var(--ease);
}
.step-card:hover .step-num{border-color:var(--green); background:var(--green-pale); transform:scale(1.06);}
.step-card h4{font-size:16.5px; margin-bottom:9px;}
.step-card p{font-size:13.8px; color:var(--ink-soft); line-height:1.55;}
@media (max-width:900px){.steps-grid{grid-template-columns:1fr 1fr; row-gap:40px;} .steps-line{display:none;}}
@media (max-width:560px){.steps-grid{grid-template-columns:1fr;}}

/* ================= SECTEURS ================= */
.sector-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px;}
.sector-card{
  position:relative; border-radius:18px; overflow:hidden; aspect-ratio:1/1.05;
  box-shadow:var(--shadow-sm);
}
.sector-card img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.sector-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(6,20,15,.86) 0%, rgba(6,20,15,.15) 55%, rgba(6,20,15,0) 75%);
}
.sector-card:hover img{transform:scale(1.08);}
.sector-label{
  position:absolute; left:14px; right:14px; bottom:14px; z-index:1;
  color:#fff; font-family:var(--font-display); font-weight:700; font-size:14px;
}
@media (max-width:980px){.sector-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:600px){.sector-grid{grid-template-columns:1fr 1fr; gap:12px;}}

/* ================= POURQUOI ================= */
.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.why-card{
  padding:30px 26px; border-radius:var(--radius-md); background:var(--surface); border:1px solid var(--border);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.why-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md);}
@media (max-width:900px){.why-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.why-grid{grid-template-columns:1fr;}}

/* ================= COMPARAISON ================= */
.compare-wrap{
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; background:#fff;
}
.compare-col{padding:38px 32px;}
.compare-col.gestshop{background:var(--green-darker); color:#fff; position:relative;}
.compare-col.gestshop::before{
  content:"Recommandé"; position:absolute; top:0; right:28px; background:var(--green);
  color:#fff; font-size:10.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
  padding:6px 14px; border-radius:0 0 8px 8px;
}
.compare-title{font-family:var(--font-display); font-weight:800; font-size:19px; margin-bottom:24px;}
.compare-col.gestshop .compare-title{color:#fff;}
.compare-list li{display:flex; align-items:flex-start; gap:11px; font-size:14.5px; padding:11px 0; border-bottom:1px solid var(--border);}
.compare-col.gestshop .compare-list li{border-bottom:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.88);}
.compare-list li:last-child{border-bottom:none;}
.compare-list .ic{width:18px; height:18px; flex-shrink:0; margin-top:1px;}
.compare-col:not(.gestshop) .compare-list .ic{color:var(--muted);}
.compare-col.gestshop .compare-list .ic{color:#7BE0B4;}
@media (max-width:760px){.compare-wrap{grid-template-columns:1fr;}}

/* ================= FAQ ================= */
.faq-list{max-width:780px; margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-q{
  width:100%; background:none; border:none; text-align:left; padding:24px 4px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  font-family:var(--font-display); font-weight:700; font-size:16px; color:var(--ink);
}
.faq-q .ic{width:19px; height:19px; color:var(--green-dark); flex-shrink:0; transition:transform .35s var(--ease);}
.faq-item.open .faq-q .ic{transform:rotate(180deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .45s var(--ease);}
.faq-a p{padding:0 4px 24px; font-size:14.5px; color:var(--ink-soft); line-height:1.6; max-width:640px;}

/* ================= CTA FINAL ================= */
.cta-final{
  background:linear-gradient(150deg, var(--green-darker) 0%, #08201A 60%, #061712 100%);
  border-radius:34px; padding:80px 40px; text-align:center; position:relative; overflow:hidden;
}
.cta-final::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(600px 320px at 20% 10%, rgba(1,140,93,.4), transparent 65%),
             radial-gradient(500px 280px at 85% 90%, rgba(1,140,93,.28), transparent 65%);
}
.cta-final .inner{position:relative;}
.cta-final h2{color:#fff; font-size:clamp(30px,4.2vw,46px); max-width:620px; margin:0 auto;}
.cta-final p{color:rgba(255,255,255,.68); font-size:17px; margin:20px auto 0; max-width:480px;}
.cta-final .hero-actions{justify-content:center; margin-top:36px;}

/* ================= FOOTER ================= */
footer{padding:64px 0 36px; border-top:1px solid var(--border);}
.footer-top{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; margin-bottom:48px;}
.footer-brand p{margin-top:14px; color:var(--ink-soft); font-size:14px; max-width:280px; line-height:1.6;}
.footer-cols{display:flex; gap:64px; flex-wrap:wrap;}
.footer-col h5{font-family:var(--font-display); font-size:13px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-bottom:16px;}
.footer-col a{display:block; font-size:14px; color:var(--ink-soft); padding:6px 0;}
.footer-col a:hover{color:var(--green-dark);}
.footer-bottom{display:flex; justify-content:space-between; padding-top:28px; border-top:1px solid var(--border); font-size:13px; color:var(--muted); flex-wrap:wrap; gap:12px;}

/* ================= COUNTER (micro-interaction) ================= */
.counter{font-variant-numeric:tabular-nums;}

/* ==================================================================
   ULTRA RESPONSIVE — SMARTPHONE
   ================================================================== */

/* ---- Tablette / petits laptops : resserrer avant le point de rupture mobile ---- */
@media (max-width:760px){
  .appearance-mock{grid-template-columns:1fr;}
  .app-panel{border-right:none; border-bottom:1px solid var(--border);}
  .promo-badges{gap:8px;}
  .promo-badge{font-size:12px; padding:8px 14px;}
}

@media (max-width:640px){
  html{-webkit-text-size-adjust:100%;}
  .container{padding:0 18px;}

  section{padding:56px 0;}
  .section-head{margin-bottom:36px;}
  .section-head h2{font-size:clamp(24px,7vw,30px);}
  .section-head p{font-size:15px; margin-top:12px;}

  /* Nav */
  .nav .container{height:64px;}
  .brand{font-size:16.5px;}
  .brand-mark{width:30px; height:30px;}
  .mobile-panel{inset:64px 0 0 0; padding:18px 20px 32px;}
  .mobile-panel a{font-size:17px; padding:14px 2px;}

  /* Hero */
  .hero{padding:32px 0 44px;}
  .hero-copy h1{font-size:clamp(28px,8.5vw,34px); line-height:1.14;}
  .hero-copy p.lead{font-size:16px; margin-top:14px; max-width:none;}
  .hero-actions{margin-top:24px; flex-direction:column; align-items:stretch;}
  .hero-actions .btn{width:100%;}
  .hero-tags{gap:12px 18px; margin-top:24px;}
  .hero-tag{font-size:12.5px;}

  /* Dashboard mockup — passe en pile avec barre latérale horizontale compacte */
  .mockup-frame{border-radius:16px; margin:0 -2px;}
  .mockup-bar{padding:10px 12px;}
  .mockup-url{font-size:10.5px; padding:3px 10px; margin-left:6px;}
  .dash{grid-template-columns:64px 1fr; min-height:0;}
  .dash-side{padding:14px 6px; gap:10px; align-items:center;}
  .dash-side-item{padding:8px; justify-content:center; border-radius:8px;}
  .dash-side-item span{display:none;}
  .dash-main{padding:14px 14px 18px;}
  .dash-stats{grid-template-columns:1fr 1fr 1fr; gap:8px;}
  .dash-stat{padding:9px 8px;}
  .dash-stat .k{font-size:9px;}
  .dash-stat .v{font-size:14px; margin-top:4px;}
  .dash-chart{padding:12px 12px 6px;}
  .bars{height:48px;}
  .dash-row{font-size:11px; padding:7px 8px;}
  .dash-row .id{width:52px;}
  .float-card{display:none;}

  /* Grilles → 1 colonne */
  .audience-grid,.why-grid,.unify-grid,.promo-grid,.steps-grid{grid-template-columns:1fr !important;}
  .sector-grid{grid-template-columns:1fr 1fr; gap:10px;}
  .unify-wrap{padding:32px 20px; border-radius:22px;}
  .unify-head{margin-bottom:28px;}
  .steps-grid{row-gap:28px;}

  /* Devices row */
  .devices-row{gap:20px;}

  /* Feature layout blocks */
  .feat-layout,.feat-layout.reverse{gap:36px;}
  .highlight-grid{grid-template-columns:1fr; gap:10px;}
  .store-products{grid-template-columns:repeat(3,1fr);}

  /* Order timeline */
  .ot-step p{font-size:12px;}

  /* Comparaison */
  .compare-col{padding:26px 22px;}
  .compare-title{font-size:17px;}

  /* FAQ */
  .faq-q{font-size:14.5px; padding:18px 2px; gap:12px;}
  .faq-a p{font-size:13.5px; padding-bottom:18px;}

  /* CTA final */
  .cta-final{padding:52px 24px; border-radius:24px;}
  .cta-final .hero-actions{width:100%;}
  .cta-final .btn{width:100%;}

  /* Footer */
  footer{padding:44px 0 24px;}
  .footer-top{gap:32px; margin-bottom:32px;}
  .footer-cols{gap:32px; width:100%; justify-content:space-between;}
  .footer-bottom{flex-direction:column; gap:8px; text-align:center;}
}

/* ---- Très petits écrans (téléphones étroits, < 400px) ---- */
@media (max-width:400px){
  .container{padding:0 14px;}
  .hero-copy h1{font-size:26px;}
  .dash{grid-template-columns:52px 1fr;}
  .dash-stats{grid-template-columns:1fr 1fr; gap:8px;}
  .dash-stat:nth-child(3){grid-column:1 / -1;}
  .sector-grid{grid-template-columns:1fr 1fr; gap:8px;}
  .footer-cols{flex-direction:column; gap:24px;}
}
