/* ===== St-Élie — assistant de réservation guidé ===== */
.stelie-reserver{--r-navy:#2f4159;--r-yellow:#f4b400;--r-green:#1a9d54;--r-red:#e0483d;--r-line:#e5e9ee;--r-soft:#f4f6f8;--r-ink:#1c2430;--r-text:#46505c;
  max-width:860px;margin:0 auto;padding:10px 0 40px;color:var(--r-text);}
.stelie-reserver *{box-sizing:border-box;}
.stelie-reserver h2{font-size:26px;color:var(--r-ink);font-weight:800;margin:0 0 22px;text-align:center;}

/* Fil des étapes */
.rsv-steps{display:flex;justify-content:center;gap:0;margin:0 0 30px;}
.rsv-dot{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;flex:1;max-width:150px;
  color:#9aa4ad;font-weight:800;font-size:15px;}
.rsv-dot:before{content:"";width:34px;height:34px;border-radius:50%;background:var(--r-soft);border:2px solid var(--r-line);
  display:flex;align-items:center;justify-content:center;color:#9aa4ad;position:relative;z-index:1;}
.rsv-dot{counter-increment:none;}
.rsv-dot em{font-style:normal;font-size:12px;font-weight:600;margin-top:6px;color:#9aa4ad;}
.rsv-dot:not(:last-child):after{content:"";position:absolute;top:17px;left:50%;width:100%;height:2px;background:var(--r-line);z-index:0;}
.rsv-dot.active:before,.rsv-dot.done:before{background:var(--r-navy);border-color:var(--r-navy);color:#fff;}
.rsv-dot.active em,.rsv-dot.done em{color:var(--r-ink);}

/* Panneaux */
.rsv-panel{background:#fff;border:1px solid var(--r-line);border-radius:16px;padding:34px;box-shadow:0 8px 34px rgba(20,40,80,.06);}
.rsv-back{background:none;border:0;color:var(--r-navy);font-weight:700;cursor:pointer;padding:0 0 14px;font-size:14px;}

/* Étape 1 : types */
.rsv-types{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:600px){.rsv-types{grid-template-columns:1fr;}}
.rsv-type{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:34px 22px;border:2px solid var(--r-line);
  border-radius:14px;background:#fff;cursor:pointer;transition:.2s;}
.rsv-type:hover{border-color:var(--r-navy);transform:translateY(-3px);box-shadow:0 10px 30px rgba(20,40,80,.10);}
.rsv-type-ic{font-size:42px;}
.rsv-type strong{font-size:18px;color:var(--r-ink);}
.rsv-type span{font-size:13px;}

/* Étape 2 : cartes produits */
.rsv-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:600px){.rsv-cards{grid-template-columns:1fr;}}
.rsv-card{display:flex;flex-direction:column;text-align:left;border:2px solid var(--r-line);border-radius:14px;overflow:hidden;background:#fff;cursor:pointer;transition:.2s;padding:0;}
.rsv-card:hover{border-color:var(--r-navy);transform:translateY(-3px);box-shadow:0 10px 30px rgba(20,40,80,.10);}
.rsv-card-img{display:block;height:150px;background-size:cover;background-position:center;}
.rsv-card-body{padding:16px 18px;display:flex;flex-direction:column;gap:6px;}
.rsv-card-body strong{font-size:17px;color:var(--r-ink);}
.rsv-card-dur{font-size:13px;color:var(--r-text);}
.rsv-card-price{font-size:18px;font-weight:800;color:var(--r-green);}
.rsv-card-price em{font-size:12px;font-weight:600;color:#8a939c;font-style:normal;}

/* Étape 3 : dates */
.rsv-date-wrap{display:flex;flex-direction:column;gap:18px;max-width:460px;margin:0 auto;}
.rsv-f{display:flex;flex-direction:column;gap:7px;font-weight:700;color:var(--r-ink);font-size:14px;}
.rsv-f input[type=date],.rsv-f select{padding:12px 14px;border:1px solid var(--r-line);border-radius:10px;font-size:16px;background:#fff;}
.rsv-sub{color:var(--r-text);font-size:14px;}
.rsv-step{display:flex;align-items:center;border:1px solid var(--r-line);border-radius:10px;overflow:hidden;width:170px;height:50px;}
.rsv-step button{width:50px;height:100%;border:0;background:var(--r-soft);color:var(--r-navy);font-size:22px;cursor:pointer;}
.rsv-step button:hover{background:var(--r-navy);color:#fff;}
.rsv-step input{flex:1;border:0;text-align:center;font-weight:800;font-size:17px;color:var(--r-ink);}
.rsv-avail{text-align:center;margin:18px 0;font-weight:700;}
.rsv-ok{color:var(--r-green);} .rsv-ko{color:var(--r-red);} .rsv-loading{color:#8a939c;font-weight:500;}
.rsv-error{color:var(--r-red);text-align:center;}
.rsv-next-3{display:block;margin:8px auto 0;}
.rsv-next-3:disabled{opacity:.5;cursor:not-allowed;}

/* Étape 4 : récap */
.rsv-recap-t{width:100%;max-width:460px;margin:0 auto 22px;border-collapse:collapse;}
.rsv-recap-t td{padding:11px 8px;border-bottom:1px solid var(--r-line);}
.rsv-recap-t td:first-child{color:#8a939c;}
.rsv-recap-t td:last-child{text-align:right;font-weight:700;color:var(--r-ink);}
.rsv-recap-t .rsv-total td{font-size:19px;color:var(--r-ink);border-bottom:0;padding-top:16px;}
.rsv-recap-t .rsv-total td:last-child{color:var(--r-green);font-weight:800;}
.rsv-pay{display:block;margin:0 auto;font-size:17px;padding:14px 34px;}
.rsv-note{text-align:center;color:#8a939c;font-size:13px;margin-top:14px;}

/* ===== Icônes SVG maison (assistant) ===== */
.stelie-ico{display:inline-block;vertical-align:-.15em;flex:0 0 auto;}
.rsv-type-ic{color:var(--r-navy);line-height:0;}
.rsv-back{display:inline-flex;align-items:center;gap:5px;}
.rsv-ok,.rsv-ko{display:inline-flex;align-items:center;gap:6px;}
.rsv-card-dur{display:inline-flex;align-items:center;gap:5px;}
