/*
Theme Name: Cap Horizon Services
Description: Site d'exemple pour services de voyage, formation et business.
Version: 1.2.0
Text Domain: caphorizon
*/
:root{--ink:#1c1d23;--muted:#4b4c53;--line:rgba(28,29,35,.10);--bg:#faf7f1;--soft:#f3eee4;--card:#ffffff;--dark:#1c1d23;--dark2:#26262d;--amber:#f5a623;--terra:#b8401f;--terra-bg:#fff2ec;--green:#00705b;--green-bg:#d8f2ea;--blue:#2a4fd8;--blue-bg:#e3eaff;--sun:#ffe3c2;--mint:#d8f2ea;--sky:#e3eaff;--r:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;font-family:"DM Sans","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px}
img{max-width:100%;height:auto}a{color:inherit}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;font-weight:600;padding:14px 26px;border-radius:999px;border:2px solid var(--ink);transition:.15s;cursor:pointer;font-size:16px}
.btn:hover{background:#000;border-color:#000;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:#fff}
header.top{position:sticky;top:0;z-index:20;background:rgba(250,247,241,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.logo{font-weight:800;font-size:21px;text-decoration:none;letter-spacing:-.02em;color:var(--ink)}.logo span{color:var(--terra)}
nav.main{display:flex;gap:26px;align-items:center}nav.main a{text-decoration:none;color:var(--muted);font-weight:500;font-size:15px}nav.main a:hover{color:var(--ink)}
nav.main a.btn{color:#fff;padding:10px 20px}
.burger{display:none;background:none;border:0;font-size:26px;cursor:pointer;color:var(--ink)}
.hero{padding:88px 0 60px;text-align:center;background:var(--bg)}
.hero h1{font-size:clamp(36px,5.6vw,64px);line-height:1.2;letter-spacing:-.035em;margin:0 auto 18px;max-width:900px;color:var(--ink);font-weight:800}
.hl{padding:0 .18em;border-radius:14px;display:inline;white-space:nowrap;-webkit-box-decoration-break:clone;box-decoration-break:clone}.hl.a{background:#ffd7c2;color:var(--terra)}.hl.b{background:#bfeadc;color:var(--green)}
.hero p.lead{font-size:20px;color:var(--muted);max-width:680px;margin:0 auto 30px}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.proof{margin-top:26px;color:var(--muted);font-size:15px}
.mock{margin:52px auto 0;max-width:920px;background:var(--dark);border-radius:24px;box-shadow:0 40px 80px -40px rgba(28,29,35,.6);overflow:hidden;text-align:left}
.mock .bar{display:flex;gap:7px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:var(--dark2)}.mock .bar i{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.25)}
.mock .body{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:22px}
.mini{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px;background:var(--dark2)}.mini b{display:block;margin-bottom:4px;color:#fff;font-size:18px}.mini small{display:block;color:#b9b8bf;margin-bottom:14px;line-height:1.45}
.mini .pill{display:inline-block;font-size:13px;font-weight:700;padding:4px 11px;border-radius:999px}
section{padding:84px 0}section.alt{background:var(--soft)}
.kicker{color:var(--terra);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
h2{font-size:clamp(28px,3.8vw,44px);line-height:1.12;letter-spacing:-.025em;margin:8px 0 14px;color:var(--ink);font-weight:800}
.sub{color:var(--muted);max-width:640px;font-size:18px;margin:0 0 38px}
.center{text-align:center}.center .sub{margin-left:auto;margin-right:auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px;display:flex;flex-direction:column;transition:.2s}
.card:hover{border-color:var(--ink);transform:translateY(-3px)}
.card .ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:26px;margin-bottom:18px}
.card h3{margin:0 0 8px;font-size:23px;color:var(--ink)}.card p{color:var(--muted);margin:0 0 16px}
.card ul{margin:0 0 22px;padding-left:20px;color:var(--ink)}.card ul li{margin-bottom:6px}
.card .more{margin-top:auto;font-weight:700;color:var(--terra);text-decoration:none}
section#methode{background:var(--dark);color:#fff}
#methode h2{color:#fff}#methode .kicker{color:var(--amber)}#methode .sub{color:#b9b8bf}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.step{background:var(--dark2);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:26px;position:relative}
.step:before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--amber);color:var(--ink);font-weight:800;margin-bottom:14px}
.step h3{margin:0 0 6px;font-size:19px;color:#fff}.step p{margin:0;color:#b9b8bf;font-size:16px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin-bottom:12px}
.faq summary{font-weight:700;cursor:pointer;color:var(--ink)}.faq p{color:var(--muted);margin:10px 0 0}
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:start}
.contact form{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px;display:grid;gap:14px}
label{font-weight:700;font-size:15px;display:block;margin-bottom:5px;color:var(--ink)}
input,select,textarea{width:100%;padding:13px 14px;border:1px solid rgba(28,29,35,.22);border-radius:12px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ink);border-color:var(--ink)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hp{position:absolute;left:-9999px}
.ok{background:var(--green-bg);border:1px solid #7fd1bb;color:var(--green);padding:14px 16px;border-radius:12px;margin-bottom:14px}
.ko{background:var(--terra-bg);border:1px solid #f0b9a5;color:var(--terra);padding:14px 16px;border-radius:12px;margin-bottom:14px}
.cinfo p{margin:0 0 12px;color:var(--muted)}.cinfo b{color:var(--ink)}
section.alt.dark{background:var(--dark);color:#fff}
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.offer{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.offer:hover{border-color:var(--ink);transform:translateY(-3px)}
.offer .thumb{height:130px;display:grid;place-items:center;font-size:52px}
.offer .obody{padding:22px;display:flex;flex-direction:column;flex:1}
.offer h3,.course h3{margin:0 0 4px;font-size:20px;color:var(--ink)}
.offer .where{margin:0 0 4px;color:var(--ink);font-weight:600;font-size:15px}.offer .meta{margin:0 0 16px;color:var(--muted);font-size:15px}
.orow{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;flex-wrap:wrap}
.price{font-weight:800;font-size:19px;color:var(--ink)}
.mini-btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;font-weight:600;font-size:14px;padding:9px 16px;border-radius:999px}.mini-btn:hover{background:#000}
.note{text-align:center;color:var(--muted);font-size:14px;margin:26px 0 0}
.courses{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.course{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:12px}
.tags{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}.tags li{background:var(--soft);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600;color:var(--muted)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.plan{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:32px 28px;display:flex;flex-direction:column;position:relative}
.plan h3{margin:0 0 10px;font-size:22px}.pprice{font-size:42px;font-weight:800;letter-spacing:-.03em;line-height:1.1}.punit{color:var(--muted);font-size:15px;margin-bottom:20px}
.plan ul{list-style:none;margin:0 0 26px;padding:0}.plan li{padding:7px 0 7px 28px;position:relative;font-size:16px}.plan li:before{content:"\2713";position:absolute;left:0;color:var(--green);font-weight:800}
.plan .btn{margin-top:auto;text-align:center}
.plan.hot{background:var(--dark);color:#fff;border-color:var(--dark)}.plan.hot h3,.plan.hot .pprice{color:#fff}.plan.hot .punit{color:#b9b8bf}.plan.hot li:before{color:var(--amber)}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}.btn.light:hover{background:var(--amber);border-color:var(--amber);color:var(--ink)}
.badge{position:absolute;top:-13px;left:28px;background:var(--amber);color:var(--ink);font-weight:800;font-size:13px;padding:4px 14px;border-radius:999px}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:34px}
.why h3{margin:12px 0 6px;font-size:19px}.why p{margin:0;color:var(--muted);font-size:16px}
.wi{width:42px;height:42px;border-radius:12px;background:var(--terra-bg);color:var(--terra);display:grid;place-items:center;font-weight:800}
footer{background:var(--dark);color:#b9b8bf;padding:34px 0;font-size:15px}footer b{color:#fff}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:900px){.cards,.steps,.offers,.courses,.why{grid-template-columns:1fr 1fr}.plans{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.mock .body{grid-template-columns:1fr}}
@media(max-width:640px){body{font-size:16px}.cards,.steps,.two,.offers,.courses,.why{grid-template-columns:1fr}.pprice{font-size:36px}section{padding:56px 0}.hero{padding:56px 0 40px}
.burger{display:block}nav.main{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:16px 20px;gap:14px}nav.main.open{display:flex}}
