/* ENC Permis Côtier — pages du site (vente, écoles, connexion, pages légales) */
body.site{margin:0}
body.app{margin:0}
.skip{position:absolute;left:-9999px;top:8px;background:var(--surface);padding:8px 12px;border-radius:8px;z-index:50}
.skip:focus{left:8px}
a{color:var(--accent)}
.brand{color:var(--ink);text-decoration:none}
.sitenav{display:flex;align-items:center;gap:4px;margin-left:auto;flex-wrap:wrap}
.sitenav a{color:var(--muted);text-decoration:none;font-weight:600;padding:8px 12px;border-radius:8px;white-space:nowrap}
.sitenav a:hover{color:var(--ink);background:var(--sunk)}
.sitenav a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}
.sitenav a.btn{color:var(--ink);background:var(--surface);margin-left:6px}
main#main{padding-block:0 40px}
.section{padding-block:56px}
.section.alt{background:var(--surface);border-block:1px solid var(--line)}
.section-head{max-width:62ch;margin-bottom:28px}
.section-head p{color:var(--muted);margin-top:10px;font-size:1.08rem}
.lead{font-size:1.15rem;color:var(--muted);max-width:56ch;margin-top:14px}

/* Héros */
.hero-site{padding-block:48px 56px;background:radial-gradient(1200px 400px at 80% -10%,var(--sea),transparent 70%)}
.hero-site .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero-site h1{font-size:clamp(2.4rem,6vw,4rem)}
.hero-site .btn-row{margin-top:24px}
.hero-points{display:flex;flex-wrap:wrap;gap:8px 18px;margin:22px 0 0;padding:0;list-style:none;color:var(--muted);font-size:.95rem}
.hero-points li::before{content:"✓ ";color:var(--good);font-weight:700}
.demo-q{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px -24px color-mix(in srgb,var(--ink) 45%,transparent);overflow:hidden;transform:rotate(.6deg)}
.demo-q .qhead{padding:14px 18px 0;display:flex;justify-content:space-between;align-items:center;gap:10px}
.demo-q .figure{margin:10px 18px 0}
.demo-q .qtext{padding:12px 18px 0;font-size:1.08rem}
.demo-q .answers{padding:10px 18px 18px}
.demo-q .ans{cursor:pointer}
.demo-q .feedback{margin:0 18px 18px}
.price-tag{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:18px}
.price-tag b{font-family:var(--f-display);font-size:2.6rem;line-height:1}
.price-tag span{color:var(--muted)}
.launch{display:inline-flex;gap:6px;align-items:center;font-family:var(--f-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);padding:4px 10px;border-radius:99px;font-weight:700}

/* Grilles de contenu */
.feat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.feat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.section.alt .feat{background:var(--paper)}
.feat .ico{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin-bottom:12px}
.feat h3{margin-bottom:6px}
.feat p{color:var(--muted)}
.aud-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.aud{border-top:3px solid var(--accent);padding-top:14px}
.aud p{color:var(--muted);margin-top:6px}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.facts div{background:var(--surface);padding:18px}
.facts b{display:block;font-family:var(--f-display);font-size:2.2rem;line-height:1}
.facts span{color:var(--muted);font-size:.9rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.figure-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px}

/* Offre et commande */
.offer{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.offer-card{background:var(--surface);border:2px solid var(--accent);border-radius:16px;padding:26px}
.offer-card ul{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.offer-card li{padding-left:26px;position:relative}
.offer-card li::before{content:"✓";position:absolute;left:0;color:var(--good);font-weight:700}
.form{display:flex;flex-direction:column;gap:14px}
.form .field{display:flex;flex-direction:column;gap:6px}
.form label{font-weight:600}
.form input[type=email],.form input[type=text],.form input[type=password],.form input[type=tel],.form input[type=number],.form textarea,.form select{font:inherit;padding:11px 12px;border:1.5px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);width:100%}
.form textarea{min-height:110px;resize:vertical}
.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--accent);outline:none}
.check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;font-weight:400!important;font-size:.95rem}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent)}
.help{font-size:.85rem;color:var(--muted)}
.recap{background:var(--sunk);border-radius:var(--r);padding:14px 16px;font-size:.95rem}
.recap dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0}
.recap dt{color:var(--muted)}
.recap dd{margin:0;font-weight:600}
.alert{padding:12px 14px;border-radius:8px;font-weight:600}
.alert.err{background:color-mix(in srgb,var(--ko) 12%,var(--surface));color:var(--ko);border:1px solid color-mix(in srgb,var(--ko) 35%,transparent)}
.alert.ok{background:color-mix(in srgb,var(--ok) 12%,var(--surface));color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent)}
.alert.info{background:var(--sunk);color:var(--ink);border:1px solid var(--line);font-weight:400}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:8px;max-width:820px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.faq summary{cursor:pointer;padding:14px 16px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-mono);color:var(--accent)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 16px 14px;color:var(--muted)}

/* Packs écoles */
.packs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pack{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:6px}
.pack.best{border:2px solid var(--accent)}
.pack .n{font-family:var(--f-display);font-size:2rem;line-height:1}
.pack .pu{font-weight:700}
.pack .tot{color:var(--muted);font-size:.9rem}
.pack .btn{margin-top:auto}

/* Connexion, pages simples */
.narrow{max-width:560px;margin:0 auto}
.auth{padding-block:48px}
.auth .panel{padding:26px}
.code-input{font-family:var(--f-mono)!important;font-size:1.4rem!important;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.code-show{font-family:var(--f-mono);font-size:clamp(1.6rem,6vw,2.4rem);font-weight:700;letter-spacing:.06em;text-align:center;background:var(--sunk);border-radius:12px;padding:18px;margin:16px 0;user-select:all}
.codes-list{font-family:var(--f-mono);columns:2;gap:24px;padding-left:0;list-style:none}
.legal{max-width:820px;padding-block:40px}
.legal h1{font-size:clamp(2rem,5vw,2.8rem);margin-bottom:18px}
.legal h2{font-size:1.4rem;margin:28px 0 8px}
.legal p,.legal li{line-height:1.6}
.legal p{margin:0 0 10px}
.legal ul{margin:0 0 12px;padding-left:22px}
.legal table{border-collapse:collapse;width:100%;font-size:.92rem}
.legal th,.legal td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.legal th{background:var(--sunk)}

@media (max-width:900px){
  .hero-site .wrap,.offer,.split{grid-template-columns:1fr}
  .feat-grid,.aud-grid{grid-template-columns:1fr 1fr}
  .packs{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr 1fr}
  .demo-q{transform:none}
}
@media (max-width:600px){
  .feat-grid,.aud-grid{grid-template-columns:1fr}
  .sitenav a:not(.btn){padding:6px 8px;font-size:.92rem}
  .section{padding-block:40px}
  .codes-list{columns:1}
}
.demo-q .figure svg{display:block;width:100%;max-height:230px}
.hero-ecoles .wrap{grid-template-columns:.95fr 1.05fr}
.hero-ecoles h1{font-size:clamp(2.2rem,4.6vw,3.4rem)}
@media (max-width:900px){ .hero-ecoles .wrap{grid-template-columns:1fr} }
