/* LimoNeo — calculateur natif (accueil et /reservation). Tout est rangé sous .lc pour ne pas toucher au reste du site. */
.lc{--ln-navy:#102b4b;--ln-blue:#0871bc;--ln-blue-d:#005b9c;--ln-line:#cddde8;--ln-field:#f1f7fb;--ln-card:#f5f9fc;--ln-muted:#56718a;--ln-err:#b42318;color:var(--ln-navy);font-family:Arial,Helvetica,sans-serif}
.lc *{box-sizing:border-box}
.lc [hidden]{display:none!important}
.lc button,.lc input,.lc select,.lc textarea{font:inherit;color:inherit}
.lc :focus-visible{outline:2px solid var(--ln-blue);outline-offset:2px}

/* Formulaire de trajet */
.lc-book{background:var(--ln-card);border:1px solid #fff;box-shadow:0 8px 22px #1b416019;border-radius:10px;padding:14px 18px 18px}
.lc-tabs{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--ln-line);margin-bottom:15px}
.lc-tabs button{border:0;background:transparent;color:var(--ln-navy);padding:12px 20px;font-size:13px;cursor:pointer;min-height:44px}
.lc-tabs button[aria-selected=true]{background:#e4f1fa;box-shadow:inset 0 -3px 0 var(--ln-blue);color:#0065aa;font-weight:600}
.lc-tabs .lc-tabnote{margin-left:auto;font-size:12px;color:#376084}
.lc-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.lc-fields.wide{grid-template-columns:1.45fr 1.45fr .9fr .75fr .85fr auto}
.lc-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lc-f{position:relative;display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:58px;padding:8px 12px;border:1px solid var(--ln-line);border-radius:5px;background:var(--ln-field);font-size:11px;color:#6a8399;cursor:text}
.lc-f input,.lc-f select{border:0;background:transparent;padding:2px 0;font-size:15px;color:var(--ln-navy);width:100%;min-width:0}
.lc-f input::placeholder{color:#8aa0b3}
.lc-f input:focus,.lc-f select:focus{outline:none}
.lc-f:focus-within{border-color:var(--ln-blue);box-shadow:0 0 0 1px var(--ln-blue)}
.lc-sugg{position:absolute;left:-1px;right:-1px;top:100%;z-index:40;margin:4px 0 0;padding:0;list-style:none;background:#fff;border:1px solid var(--ln-line);border-radius:6px;box-shadow:0 12px 30px #102b4b26;max-height:290px;overflow:auto}
.lc-sugg li{padding:12px 14px;font-size:14px;color:var(--ln-navy);cursor:pointer;border-bottom:1px solid #eef3f7}
.lc-sugg li[aria-selected=true],.lc-sugg li:hover{background:#e8f0f5}
.lc .go{min-height:58px;border:0;border-radius:5px;background:linear-gradient(180deg,#1685d0,#005b9c);color:#fff;font-weight:600;font-size:14px;padding:0 24px;cursor:pointer;white-space:nowrap}
.lc .go:hover{filter:brightness(1.1)}
.lc .go[disabled]{opacity:.65;cursor:wait}
.lc-err{margin:12px 0 0;padding:10px 12px;background:#fef3f2;color:var(--ln-err);font-size:14px;border-radius:5px}
.lc-note{margin:12px 0 0;font-size:12px;color:#376084}

/* Page /reservation */
.lc-page{max-width:1180px;margin:0 auto;padding:30px 4% 50px}
.lc-page .lc-h1{font:normal clamp(30px,3.4vw,42px)/1.1 Georgia,serif;letter-spacing:-.03em;margin:0 0 18px;color:var(--ln-navy)}
.lc-page .lc-h1:focus{outline:none}
.lc .lc-h2{font:normal 28px/1.15 Georgia,serif;letter-spacing:-.02em;margin:0;color:var(--ln-navy)}
.lc .lead{margin:0;color:var(--ln-muted);font-size:15px}
.r-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.r-steps li{display:flex;flex-direction:column;gap:6px;font-size:12px;letter-spacing:.06em;color:#7d93a7;font-weight:600}
.r-steps li::before{content:"";height:3px;border-radius:2px;background:var(--ln-line)}
.r-steps li.on{color:var(--ln-blue)}
.r-steps li.on::before{background:var(--ln-blue)}
.r-steps .lbl{display:none}
.lc .panel{padding:24px 0 10px}
.lc .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border:0;border-radius:5px;background:linear-gradient(180deg,#1685d0,#005b9c);color:#fff;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none}
.lc .btn:hover{filter:brightness(1.1);color:#fff}
.lc .btn.ghost{background:#fff;color:var(--ln-blue);border:1px solid var(--ln-line)}
.lc .btn.ghost:hover{background:#e8f0f5;filter:none}
.lc .btn[disabled]{opacity:.65;cursor:wait}
.lc .summary{background:#fff;border:1px solid var(--ln-line);border-radius:8px;padding:14px 18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:22px}
.lc .summary b{font-weight:600}
.lc .summary span{display:block;font-size:14px;color:var(--ln-muted)}
.lc .offers{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.lc .offer{text-align:left;background:#fff;border:1px solid #d7e4ec;border-radius:8px;overflow:hidden;padding:0;display:flex;flex-direction:column;cursor:pointer}
.lc .offer[aria-checked=true]{border:2px solid var(--ln-blue)}
.lc .offer .pic{height:160px;background:linear-gradient(125deg,#f8fbfd,#e2edf5);display:flex;align-items:center;justify-content:center;padding:10px 14px}
.lc .offer .pic img{max-width:100%;max-height:140px;object-fit:contain}
.lc .offer .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px}
.lc .offer .top-l{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.lc .offer .name{font:normal 24px Georgia,serif;letter-spacing:-.02em;color:var(--ln-navy)}
.lc .offer .price{font-size:22px;font-weight:700;color:var(--ln-navy)}
.lc .offer .sub{font-size:13px;color:var(--ln-muted)}
.lc .offer .kmx{font-size:13px;font-weight:600;color:var(--ln-blue)}
.lc .offer .caps{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:#376084}
.lc .offer .pick{margin-top:6px;min-height:44px;border-radius:5px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ln-blue);color:var(--ln-blue);font-size:14px;font-weight:600}
.lc .offer[aria-checked=true] .pick{background:var(--ln-blue);color:#fff}
.lc .offer.off{opacity:.55;cursor:not-allowed}
.lc .card{background:#fff;border:1px solid var(--ln-line);border-radius:8px;padding:22px;display:flex;flex-direction:column;gap:16px}
.lc .layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.lc .form2{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.lc .lab{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}
.lc .lab input,.lc .lab textarea{min-height:48px;border:1px solid #c5d6e2;border-radius:5px;padding:0 12px;font-size:16px;font-weight:400;background:#fff}
.lc .lab textarea{padding:10px 12px;resize:vertical}
.lc .lab input:focus,.lc .lab textarea:focus{outline:none;border-color:var(--ln-blue);box-shadow:0 0 0 1px var(--ln-blue)}
.lc .chk{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.lc .chk input{margin-top:3px;width:18px;height:18px;accent-color:var(--ln-blue)}
.lc .choice{display:flex;flex-direction:column;gap:10px}
.lc .choice button{text-align:left;min-height:56px;padding:10px 14px;border:1px solid #c5d6e2;border-radius:6px;background:#fff;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.lc .choice button[aria-checked=true]{border:2px solid var(--ln-blue);background:#f2f8fc}
.lc .choice small{color:var(--ln-muted)}
.lc .actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}
.lc .recap{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#376084}
.lc .recap-t{font-size:12px;letter-spacing:.2em;font-weight:700;color:var(--ln-navy)}
.lc .total{border-top:1px solid #e3ecf2;padding-top:14px;display:flex;justify-content:space-between;align-items:baseline;color:var(--ln-navy)}
.lc .total b{font-size:26px}
.lc .done{max-width:640px;margin:0 auto;text-align:center;align-items:center}
.lc .ok-ic{width:56px;height:56px;border-radius:50%;background:var(--ln-blue);color:#fff;display:flex;align-items:center;justify-content:center}

@media (max-width:1100px){.lc-fields.wide{grid-template-columns:1fr 1fr 1fr}.lc-fields.wide .lc-f:nth-child(-n+3){grid-column:span 1}.lc-fields.wide>.lc-f:first-child,.lc-fields.wide>.lc-f.lc-dest,.lc-fields.wide>.lc-f.lc-hours{grid-column:span 3}.lc-fields.wide .go{grid-column:span 3}}
@media (max-width:560px){.lc-book{padding:9px 10px 14px}.lc-tabs{justify-content:stretch}.lc-tabs button{flex:1;padding:12px 6px;font-size:12px}.lc-tabs .lc-tabnote{display:none}.lc-fields.wide{grid-template-columns:1fr 1fr}.lc-fields.wide>.lc-f:first-child,.lc-fields.wide>.lc-f.lc-dest,.lc-fields.wide>.lc-f.lc-hours{grid-column:span 2}.lc-fields.wide>.lc-f.lc-pax{grid-column:span 2}.lc-fields.wide .go{grid-column:span 2}}
@media (min-width:960px){.r-steps .lbl{display:inline}.lc .offers{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lc .layout{grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start}.lc .form2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lc-page .lc-book .lc-fields{grid-template-columns:1fr 1fr}.lc-page .lc-book .lc-fields>.lc-f.lc-wide,.lc-page .lc-book .lc-fields>.go{grid-column:span 2}}
