/* Riviere Booking — foglio di stile condiviso, mobile-first.
   Il colore accento e' pilotato da --rb-accent (impostato per cliente in config). */

:root{
  --rb-accent:#0a7d7d;
  --rb-accent-dark:#075e5e;
  --rb-ink:#1b2430;
  --rb-muted:#5b6875;
  --rb-line:#e4e9ee;
  --rb-bg:#f5f7f9;
  --rb-card:#ffffff;
  --rb-wa:#25d366;
  --rb-wa-dark:#1da851;
  --rb-radius:16px;
  --rb-shadow:0 6px 24px rgba(20,40,60,.08);
  font-synthesis:none;
  -webkit-text-size-adjust:100%;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--rb-ink);
  background:var(--rb-bg);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

.rb-wrap{max-width:520px;margin:0 auto;padding:0 16px 48px}

/* Header / brand */
.rb-header{
  background:linear-gradient(135deg,var(--rb-accent),var(--rb-accent-dark));
  color:#fff;padding:26px 20px 22px;text-align:center;
}
.rb-header .rb-inner{max-width:520px;margin:0 auto}
.rb-logo{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin:0}
.rb-tag{margin:4px 0 0;opacity:.9;font-size:.95rem}
.rb-nofee{
  display:inline-block;margin-top:12px;background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.3);border-radius:999px;
  padding:5px 14px;font-size:.8rem;font-weight:600;
}

/* Card */
.rb-card{
  background:var(--rb-card);border-radius:var(--rb-radius);
  box-shadow:var(--rb-shadow);padding:20px;margin-top:18px;
}
.rb-card h2{margin:0 0 4px;font-size:1.1rem}
.rb-card .rb-sub{margin:0 0 16px;color:var(--rb-muted);font-size:.9rem}

/* Fields */
.rb-field{margin-bottom:16px}
.rb-field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px}
.rb-field input,.rb-field select,.rb-field textarea{
  width:100%;padding:13px 14px;font-size:1rem;
  border:1.5px solid var(--rb-line);border-radius:12px;background:#fff;
  color:var(--rb-ink);appearance:none;-webkit-appearance:none;
}
.rb-field input:focus,.rb-field select:focus,.rb-field textarea:focus{
  outline:none;border-color:var(--rb-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--rb-accent) 18%,transparent);
}
.rb-field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%235b6875' d='M6 8 0 0h12z'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.rb-row{display:flex;gap:12px}
.rb-row .rb-field{flex:1}
.rb-hint{font-size:.78rem;color:var(--rb-muted);margin-top:5px}

/* Stepper */
.rb-step{display:flex;align-items:center;gap:0}
.rb-step button{
  width:46px;height:46px;font-size:1.4rem;line-height:1;
  border:1.5px solid var(--rb-line);background:#fff;color:var(--rb-ink);
  cursor:pointer;flex:0 0 auto;
}
.rb-step button:first-of-type{border-radius:12px 0 0 12px}
.rb-step button:last-of-type{border-radius:0 12px 12px 0}
.rb-step button:active{background:var(--rb-bg)}
.rb-step input{
  width:100%;text-align:center;border-radius:0;border-left:none;border-right:none;
}

/* Summary */
.rb-summary{
  background:var(--rb-bg);border-radius:12px;padding:14px 16px;margin:4px 0 18px;
  font-size:.92rem;
}
.rb-summary .rb-line{display:flex;justify-content:space-between;padding:3px 0}
.rb-summary .rb-line span:first-child{color:var(--rb-muted)}
.rb-summary .rb-line span:last-child{font-weight:600;text-align:right}
.rb-summary .rb-total{border-top:1px dashed var(--rb-line);margin-top:6px;padding-top:8px}

/* Buttons */
.rb-btn{
  display:flex;align-items:center;justify-content:center;gap:9px;
  width:100%;padding:15px;font-size:1.02rem;font-weight:700;
  border:none;border-radius:13px;cursor:pointer;text-decoration:none;
  transition:transform .05s ease,filter .15s ease;
}
.rb-btn:active{transform:translateY(1px)}
.rb-btn-wa{background:var(--rb-wa);color:#fff}
.rb-btn-wa:hover{background:var(--rb-wa-dark)}
.rb-btn[disabled]{opacity:.45;pointer-events:none}
.rb-btn svg{width:20px;height:20px;flex:0 0 auto}

.rb-cal{display:flex;gap:10px;margin-top:12px}
.rb-cal a,.rb-cal button{
  flex:1;padding:12px;font-size:.9rem;font-weight:600;
  border:1.5px solid var(--rb-line);border-radius:12px;background:#fff;
  color:var(--rb-ink);text-decoration:none;text-align:center;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:7px;
}
.rb-cal a:hover,.rb-cal button:hover{border-color:var(--rb-accent);color:var(--rb-accent)}

.rb-err{color:#c0392b;font-size:.85rem;margin-top:10px;text-align:center;min-height:1em}

/* Confirm panel (after WA click) */
.rb-done{display:none;text-align:center;padding:8px 0}
.rb-done.show{display:block}
.rb-done .rb-check{
  width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--rb-wa) 18%,#fff);
  color:var(--rb-wa-dark);display:flex;align-items:center;justify-content:center;
  font-size:1.8rem;margin:0 auto 10px;
}

/* Footer */
.rb-footer{
  text-align:center;color:var(--rb-muted);font-size:.78rem;margin-top:24px;line-height:1.6;
}
.rb-footer a{color:var(--rb-muted)}
.rb-powered{margin-top:6px;opacity:.75}

/* Demo banner */
.rb-demo-banner{
  background:#fff4d6;border:1px solid #f0d98a;color:#7a5c12;
  font-size:.8rem;text-align:center;padding:8px 14px;border-radius:10px;margin-top:14px;
}

/* Hub page (index) */
.rb-hub-card{
  display:block;background:var(--rb-card);border-radius:var(--rb-radius);
  box-shadow:var(--rb-shadow);padding:18px 20px;margin-top:14px;text-decoration:none;color:var(--rb-ink);
  border-left:5px solid var(--rb-accent);
}
.rb-hub-card:hover{filter:brightness(.99);transform:translateY(-1px);transition:.15s}
.rb-hub-card h3{margin:0 0 3px;font-size:1.05rem}
.rb-hub-card p{margin:0;color:var(--rb-muted);font-size:.88rem}
.rb-hub-emoji{font-size:1.4rem;margin-right:6px}
