/* styles minimaux, basés sur les variables du thème */
.jsr-resv{max-width:980px;margin:0 auto;padding:24px 16px}
.jsr-resv-title{font-family:'Cormorant Garamond',serif;letter-spacing:.2em;text-transform:uppercase;text-align:center;margin:0 0 6px;color:#fff}
.jsr-resv-sub{text-align:center;color:#fff;margin:0 0 18px}
.jsr-resv-steps{display:flex;justify-content:center;gap:32px;margin:12px 0 24px}
.jsr-resv-step{width:36px;height:36px;border-radius:999px;border:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:center;color:rgba(249,245,235,.8);background:hsl(var(--secondary))}
.jsr-resv-step.jsr-active{background:hsl(var(--accent));color:hsl(var(--accent-foreground));border-color:hsl(var(--accent))}
.jsr-resv-steps{position:relative}
.jsr-resv-steps::before{content:"";position:absolute;top:18px;left:10%;right:10%;height:2px;background:rgba(75,59,47,.3);z-index:-1}
.jsr-resv-body{display:flex;flex-direction:column;gap:16px}
.jsr-resv-card{background:hsl(var(--cream));border:1px solid hsl(var(--border));border-radius:10px;padding:18px;max-width:900px;min-height:500px;margin:0 auto;display:flex;flex-direction:column;justify-content:center}
.jsr-resv-card-title{font-size:.9rem;letter-spacing:.15em;text-transform:uppercase;color:hsl(var(--accent));margin-bottom:12px}
.jsr-resv-col{display:flex;flex-direction:column;align-items:center;justify-content:center}
.jsr-resv-calendar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:12px}
.jsr-resv-cal-month{text-align:center;font-weight:600;color:#4b3b2f}
.jsr-resv-cal-dow{display:grid;grid-template-columns:repeat(7,36px);gap:6px;margin:8px 0 4px;grid-column:1/-1;justify-self:center;z-index:0;pointer-events:none}
.jsr-resv-dow{text-align:center;color:#6b625a;font-size:.8rem}
.jsr-resv-cal-grid{display:grid;grid-template-columns:repeat(7,36px);gap:6px;grid-column:1/-1;justify-self:center;position:relative;z-index:1;pointer-events:auto}
.jsr-resv-day{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;text-align:center;border:1px solid hsl(var(--border));background:#fff;color:#3f3a34;box-sizing:border-box}
.jsr-resv-day[disabled]{opacity:.35;pointer-events:none}
.jsr-resv-day.jsr-selected{background:hsl(var(--accent));color:hsl(var(--accent-foreground));border-color:hsl(var(--accent))}
.jsr-resv-times{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-content:center;justify-items:center}
.jsr-resv-time{padding:8px 10px;border:1px solid hsl(var(--border));background:#fff;color:#3f3a34;border-radius:6px;text-align:center;cursor:pointer}
.jsr-resv-time.jsr-selected{background:hsl(var(--accent));color:hsl(var(--accent-foreground));border-color:hsl(var(--accent))}
.jsr-step-2{align-items:center;justify-content:center;text-align:center}
.jsr-resv-guests{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:12px}
.jsr-resv-guest{width:40px;height:40px;border-radius:999px;border:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:center;background:#fff;color:#3f3a34;cursor:pointer}
.jsr-resv-guest.jsr-selected{background:hsl(var(--accent));color:hsl(var(--accent-foreground));border-color:hsl(var(--accent))}
.jsr-resv-guest-select{width:150px;height:44px;border:1px solid hsl(var(--border));border-radius:8px;padding:0 12px;background:#fff;color:#3f3a34;-webkit-appearance:none;appearance:none;background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22%233f3a34%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M5%208l5%205%205-5z%22/%3E%3C/svg%3E');background-repeat:no-repeat;background-position:right .7em top 50%;background-size:.9em auto;font-size:1rem}
.jsr-resv-note{color:#6b625a;text-align:center;margin-top:16px}
.jsr-resv-call{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;height:40px;padding:0 18px;border-radius:8px;border:1px solid hsl(var(--border));background:#fff;color:#3f3a34;text-decoration:none}
.jsr-step-3{align-items:center;justify-content:center}
.jsr-resv-form{display:flex;flex-direction:column;gap:16px;max-width:760px;margin:0 auto}
.jsr-resv-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.jsr-resv-input{height:44px;border-radius:6px;border:1px solid hsl(var(--border));padding:0 12px;background:#fff;color:#3f3a34}
.jsr-resv-textarea{height:auto;min-height:96px;padding:8px 12px;resize:vertical}
.jsr-resv-summary{border:1px solid hsl(var(--border));background:rgba(0,0,0,.06);border-radius:8px;padding:12px;text-align:center;color:#3f3a34;margin:0 auto 12px;max-width:760px}
.jsr-resv-actions{display:flex;justify-content:center;margin-top:16px}
.jsr-resv-btn{height:44px;padding:0 28px;border-radius:8px;border:1px solid rgba(179,136,77,.25);background:#B3884D;color:#fff;cursor:pointer}
.jsr-step-3 .jsr-resv-btn{margin-top:40px}
.jsr-resv-btn:hover{filter:brightness(1.05)}
.jsr-resv-message{margin-top:12px;text-align:center;color:#fff;font-weight:600}
.jsr-done .jsr-resv-card{pointer-events:none}
.jsr-done .jsr-resv-actions{pointer-events:none}
button.jsr-resv-btn[disabled]{opacity:.5;cursor:not-allowed;filter:grayscale(0.6)}
/* Boutons navigation mois */
.jsr-resv-cal-prev,.jsr-resv-cal-next{width:36px;height:36px;border-radius:8px;border:1px solid hsl(var(--border));background:#fff;color:#3f3a34;display:flex;align-items:center;justify-content:center;cursor:pointer}
/* Arrangement deux colonnes pour la première étape */
.jsr-step-1{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.jsr-step-1 .jsr-resv-col{background:#fff;border:1px solid hsl(var(--border));border-radius:8px;padding:16px;min-height:360px;display:flex;flex-direction:column;justify-content:center}
@media (max-width:920px){
  .jsr-step-1{grid-template-columns:1fr}
  .jsr-resv-card{height:auto;min-height:0;padding-bottom:30px}
}
@media (max-width:720px){.jsr-resv-times{grid-template-columns:repeat(3,1fr)}.jsr-resv-row{grid-template-columns:1fr}}

/* Mobile calendar centering and scaling */
@media (max-width:540px){
  .jsr-resv-calendar{width:100%;max-width:340px;margin-left:auto;margin-right:auto;overflow:hidden}
  .jsr-step-1 .jsr-resv-col{min-width:0;min-height:0;padding:20px 12px}
  .jsr-resv-cal-dow,.jsr-resv-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;gap:4px}
  .jsr-resv-day{width:100%;aspect-ratio:1/1}
  .jsr-resv-cal-prev,.jsr-resv-cal-next{width:32px;height:32px}
  .jsr-resv-cal-month{font-size:1rem}
  .jsr-resv-times{gap:8px}
  .jsr-resv-btn{width:100%;margin-top:20px}
}



