/* ================================================================
   RESERVE TAXA COUNTER — Restyle pagina /registrati/
   Selettore: .page-registrati (class aggiunta via body_class filter)
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&display=swap');

/* ----------------------------------------------------------------
   TOKEN locali
   ---------------------------------------------------------------- */
.page-registrati {
  --rtc-ink:        #0c1410;
  --rtc-ink-2:      #3a4540;
  --rtc-ink-3:      #67726d;
  --rtc-brand:      #0f3d2e;
  --rtc-brand-2:    #1a5d3a;
  --rtc-brand-tint: #e8f0ec;
  --rtc-blue:       #1a6fa0;
  --rtc-blue-2:     #145a85;
  --rtc-blue-tint:  #e8f4fd;
  --rtc-line:       rgba(15,23,20,.08);
  --rtc-line-2:     rgba(15,23,20,.14);
  --rtc-shadow-md:  0 8px 24px -8px rgba(15,23,20,.12), 0 2px 6px -2px rgba(15,23,20,.06);
  --rtc-shadow-lg:  0 30px 60px -20px rgba(15,23,20,.18), 0 10px 20px -10px rgba(15,23,20,.08);
}

/* Tipografia globale Geist */
.page-registrati #main,
.page-registrati #main h1,
.page-registrati #main h2,
.page-registrati #main h3,
.page-registrati #main p,
.page-registrati #main span,
.page-registrati #main a,
.page-registrati #main label,
.page-registrati #main button,
.page-registrati #main input,
.page-registrati #main select {
  font-family: "Geist", -apple-system, system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* ================================================================
   1) HERO
   ================================================================ */

.page-registrati .rbc-reg-page-hero {
  background:
    radial-gradient(45% 60% at 90% 10%, rgba(200,127,58,.16), transparent 70%),
    linear-gradient(155deg, #0a2a1f 0%, #0f3d2e 45%, #1a5d3a 100%) !important;
  padding: 72px 24px 100px !important;
  position: relative;
}

/* Icona → monogramma R */
.page-registrati .rbc-reg-page-hero > div > div:first-child {
  background: rgba(255,255,255,.13) !important;
  border-radius: 16px !important;
  position: relative;
  overflow: hidden;
}
.page-registrati .rbc-reg-page-hero > div > div:first-child svg { display: none !important; }
.page-registrati .rbc-reg-page-hero > div > div:first-child::after {
  content: "R";
  position: absolute; inset: 0;
  display: grid; place-items: center;
  font-family: "Geist", sans-serif;
  font-weight: 600;
  font-size: 26px;
  color: #fff;
  letter-spacing: -.02em;
}

/* Eyebrow */
.page-registrati .rbc-reg-page-hero > div > p:first-of-type {
  font-family: "Geist Mono", monospace !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  color: rgba(255,255,255,.55) !important;
}

/* Titolo */
.page-registrati .rbc-reg-page-hero h1 {
  font-family: "Geist", sans-serif !important;
  font-size: clamp(30px, 4vw, 44px) !important;
  font-weight: 600 !important;
  letter-spacing: -.025em !important;
  line-height: 1.08 !important;
  color: #fff !important;
}

/* Sottotitolo */
.page-registrati .rbc-reg-page-hero > div > p:nth-of-type(2) {
  font-size: 16px !important;
  color: rgba(255,255,255,.72) !important;
  line-height: 1.6 !important;
  max-width: 54ch;
  margin-left: auto !important;
  margin-right: auto !important;
}
.page-registrati .rbc-reg-page-hero > div > p:nth-of-type(2) strong { color: #fff !important; }

/* Steps */
.page-registrati .rbc-reg-page-steps    { gap: 12px !important; margin-bottom: 36px !important; }
.page-registrati .rbc-reg-page-step-num {
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  font-family: "Geist Mono", monospace !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  width: 30px !important;
  height: 30px !important;
}
.page-registrati .rbc-reg-page-step:not(:last-child)::after {
  background: rgba(255,255,255,.18) !important;
  top: 15px !important;
}
.page-registrati .rbc-reg-page-step-label {
  font-family: "Geist Mono", monospace !important;
  font-size: 10.5px !important;
  letter-spacing: .08em !important;
  color: rgba(255,255,255,.6) !important;
}

/* Link accedi */
.page-registrati .rbc-reg-page-hero > div > p:last-child {
  font-size: 13.5px !important;
  color: rgba(255,255,255,.55) !important;
}
.page-registrati .rbc-reg-page-hero a[href="/accedi/"] {
  color: #9fe087 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
.page-registrati .rbc-reg-page-hero a[href="/accedi/"]:hover {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* ================================================================
   2) BODY + FORM CARD
   ================================================================ */

.page-registrati .rbc-reg-page-body { background: #fafaf9 !important; }

.page-registrati .rbc-reg-wrapper {
  position: relative !important;
  left: auto !important;
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}

/* Tab pill */
.page-registrati .rbc-reg-tabs {
  background: #fff !important;
  border: 1px solid var(--rtc-line) !important;
  border-radius: 999px !important;
  padding: 4px !important;
  display: inline-flex !important;
  width: auto !important;
  margin: 0 auto 20px !important;
  box-shadow: 0 1px 2px rgba(15,23,20,.04) !important;
  overflow: visible !important;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.page-registrati .rbc-reg-tabs a {
  flex: 0 0 auto !important;
  padding: 9px 24px !important;
  border-radius: 999px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  letter-spacing: -.005em !important;
  border: 0 !important;
  transition: background .15s, color .15s !important;
}
.page-registrati .rbc-reg-tabs a.tab-active   { background: var(--rtc-brand) !important; color: #fff !important; }
.page-registrati .rbc-reg-tabs a.tab-inactive { background: transparent !important; color: var(--rtc-ink-3) !important; }
.page-registrati .rbc-reg-tabs a.tab-inactive:hover { color: var(--rtc-ink) !important; }

/* Card form */
.page-registrati .rbc-reg-card {
  background: #fff !important;
  border: 1px solid var(--rtc-line) !important;
  border-radius: 20px !important;
  padding: 36px 40px 40px !important;
  box-shadow: var(--rtc-shadow-lg) !important;
}
@media (max-width: 560px) {
  .page-registrati .rbc-reg-card { padding: 26px 22px 28px !important; }
}

/* Label sezione "Scegli il piano / profilo" */
.page-registrati .rbc-reg-card > form > p[style*="UPPERCASE"],
.page-registrati .rbc-reg-card > form > p[style*="uppercase"] {
  font-family: "Geist Mono", monospace !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
  color: var(--rtc-ink-3) !important;
  text-align: left !important;
  margin: 0 0 12px !important;
}

/* === SELETTORE PIANI === */
.page-registrati .rbc-plan-selector { gap: 10px !important; margin-bottom: 24px !important; }
.page-registrati .rbc-plan-card {
  border: 1px solid var(--rtc-line-2) !important;
  border-radius: 12px !important;
  padding: 14px 12px !important;
  background: #fff !important;
  transition: border-color .2s, background .2s, transform .15s, box-shadow .2s !important;
}
.page-registrati .rbc-plan-card:hover {
  border-color: rgba(15,23,20,.22) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--rtc-shadow-md) !important;
}
.page-registrati .rbc-plan-card.active-plan-riserva {
  border-color: var(--rtc-brand) !important;
  background: var(--rtc-brand-tint) !important;
  box-shadow: 0 0 0 3px rgba(15,61,46,.08) !important;
}
.page-registrati .rbc-plan-card.active-plan-ricercatore {
  border-color: var(--rtc-blue) !important;
  background: var(--rtc-blue-tint) !important;
  box-shadow: 0 0 0 3px rgba(26,111,160,.08) !important;
}
.page-registrati .rbc-plan-card .rbc-plan-name {
  font-family: "Geist", sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: -.005em !important;
  color: var(--rtc-ink) !important;
  margin: 0 0 2px !important;
}
.page-registrati .rbc-plan-card .rbc-plan-price {
  font-size: 11.5px !important;
  color: var(--rtc-ink-3) !important;
  margin: 0 !important;
  font-family: "Geist Mono", monospace !important;
  letter-spacing: .02em;
}
.page-registrati .rbc-plan-card .rbc-plan-badge {
  font-family: "Geist Mono", monospace !important;
  font-size: 9.5px !important;
  letter-spacing: .08em !important;
  font-weight: 500 !important;
  padding: 2px 7px !important;
  margin-top: 8px !important;
  background: rgba(15,23,20,.06) !important;
  color: var(--rtc-ink-3) !important;
}
.page-registrati .rbc-plan-card.active-plan-riserva    .rbc-plan-badge { background: var(--rtc-brand) !important; color: #fff !important; }
.page-registrati .rbc-plan-card.active-plan-ricercatore .rbc-plan-badge { background: var(--rtc-blue)  !important; color: #fff !important; }
.page-registrati .rbc-plan-card .rbc-plan-check { width: 18px !important; height: 18px !important; }

/* === SELETTORE TIPO ACCOUNT === */
.page-registrati .rbc-type-selector { gap: 14px !important; margin-bottom: 28px !important; }
.page-registrati .rbc-type-card {
  border: 1px solid var(--rtc-line-2) !important;
  border-radius: 14px !important;
  padding: 22px 18px !important;
  background: #fff !important;
  transition: border-color .2s, background .2s, transform .15s, box-shadow .2s !important;
}
.page-registrati .rbc-type-card:hover {
  border-color: rgba(15,23,20,.22) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--rtc-shadow-md) !important;
}
.page-registrati .rbc-type-card.active-riserva {
  border-color: var(--rtc-brand) !important;
  background: var(--rtc-brand-tint) !important;
  box-shadow: 0 0 0 4px rgba(15,61,46,.08), var(--rtc-shadow-md) !important;
}
.page-registrati .rbc-type-card.active-ricercatore {
  border-color: var(--rtc-blue) !important;
  background: var(--rtc-blue-tint) !important;
  box-shadow: 0 0 0 4px rgba(26,111,160,.08), var(--rtc-shadow-md) !important;
}
.page-registrati .rbc-type-card .rbc-type-icon  { font-size: 2em !important; margin-bottom: 10px !important; }
.page-registrati .rbc-type-card .rbc-type-name  {
  font-family: "Geist", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -.008em !important;
  color: var(--rtc-ink) !important;
  margin: 0 0 4px !important;
}
.page-registrati .rbc-type-card .rbc-type-desc  {
  font-size: 12.5px !important;
  color: var(--rtc-ink-3) !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}
.page-registrati .rbc-type-card .rbc-type-badge {
  font-family: "Geist Mono", monospace !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  padding: 3px 9px !important;
  margin-top: 12px !important;
  background: rgba(15,23,20,.06) !important;
  color: var(--rtc-ink-3) !important;
}
.page-registrati .rbc-type-card.active-riserva    .rbc-type-badge { background: var(--rtc-brand) !important; color: #fff !important; }
.page-registrati .rbc-type-card.active-ricercatore .rbc-type-badge { background: var(--rtc-blue)  !important; color: #fff !important; }
.page-registrati .rbc-type-card .rbc-type-check { width: 22px !important; height: 22px !important; }

/* === CAMPI FORM === */
.page-registrati .rbc-reg-field { margin-bottom: 16px !important; }
.page-registrati .rbc-reg-field label {
  font-family: "Geist", sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: var(--rtc-ink-2) !important;
  margin-bottom: 6px !important;
  letter-spacing: .005em !important;
}
.page-registrati .rbc-reg-field label span {
  font-size: 11.5px !important;
  color: var(--rtc-ink-3) !important;
  font-weight: 400 !important;
}
.page-registrati .rbc-reg-field input[type="text"],
.page-registrati .rbc-reg-field input[type="email"],
.page-registrati .rbc-reg-field input[type="tel"],
.page-registrati .rbc-reg-field input[type="number"],
.page-registrati .rbc-reg-field select {
  background: #fff !important;
  border: 1px solid var(--rtc-line-2) !important;
  border-radius: 10px !important;
  height: 46px !important;
  padding: 0 14px !important;
  font-family: "Geist", sans-serif !important;
  font-size: 15px !important;
  color: var(--rtc-ink) !important;
  transition: border-color .15s, box-shadow .15s !important;
}
.page-registrati .rbc-reg-field select {
  padding-right: 36px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2367726d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
}
.page-registrati .rbc-reg-field input::placeholder { color: rgba(15,23,20,.32) !important; }
.page-registrati .rbc-reg-field input:focus,
.page-registrati .rbc-reg-field select:focus {
  outline: 0 !important;
  border-color: var(--rtc-brand) !important;
  box-shadow: 0 0 0 3px rgba(15,61,46,.12) !important;
  background-color: #fff !important;
}

/* Hint lat/lng ricercatore */
.page-registrati .rbc-fields-ricercatore .rbc-reg-field > p[style*="font-size: 0.78em"] {
  font-size: 11.5px !important;
  color: var(--rtc-ink-3) !important;
  margin: 0 0 8px !important;
  line-height: 1.4 !important;
}
.page-registrati .rbc-fields-ricercatore .rbc-reg-field > p[style*="font-size: 0.72em"] {
  font-size: 11px !important;
  color: rgba(15,23,20,.45) !important;
  margin: 6px 0 0 !important;
  font-family: "Geist Mono", monospace !important;
  letter-spacing: .02em;
}

/* Checkbox termini */
.page-registrati form > div[style*="margin-bottom: 22px"] label {
  font-family: "Geist", sans-serif !important;
  font-size: 13.5px !important;
  color: var(--rtc-ink-2) !important;
  line-height: 1.5;
}
.page-registrati form > div[style*="margin-bottom: 22px"] input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin-top: 1px !important;
  accent-color: var(--rtc-brand) !important;
  cursor: pointer;
}
.page-registrati form > div[style*="margin-bottom: 22px"] a {
  color: var(--rtc-brand) !important;
  font-weight: 500 !important;
}
.page-registrati form > div[style*="margin-bottom: 22px"] a:hover {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* === BOTTONE SUBMIT === */
.page-registrati .rbc-reg-submit {
  height: 52px !important;
  border-radius: 10px !important;
  font-family: "Geist", sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 500 !important;
  letter-spacing: -.005em !important;
  cursor: pointer !important;
  border: 0 !important;
  transition: background .15s, transform .15s, box-shadow .15s !important;
}
.page-registrati .rbc-reg-submit.submit-riserva {
  background: var(--rtc-brand) !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(15,23,20,.06), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
.page-registrati .rbc-reg-submit.submit-riserva:hover {
  background: #0a2a1f !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 14px -4px rgba(15,61,46,.32), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
.page-registrati .rbc-reg-submit.submit-ricercatore {
  background: var(--rtc-blue) !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(15,23,20,.06), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
.page-registrati .rbc-reg-submit.submit-ricercatore:hover {
  background: var(--rtc-blue-2) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 14px -4px rgba(26,111,160,.32), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

/* Box info piano */
.page-registrati #rbc-plan-info { margin-top: 14px !important; }
.page-registrati #rbc-plan-info > div {
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-family: "Geist", sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5;
  border: 1px solid transparent;
}
.page-registrati #rbc-plan-info > div[style*="f0f7ed"] { background: var(--rtc-brand-tint) !important; color: var(--rtc-brand) !important; border-color: rgba(15,61,46,.16); }
.page-registrati #rbc-plan-info > div[style*="e8f4fd"] { background: var(--rtc-blue-tint)  !important; color: var(--rtc-blue)  !important; border-color: rgba(26,111,160,.16); }
.page-registrati #rbc-plan-info > div[style*="fff8e1"] { background: #fbf1e6 !important; color: #a96323 !important; border-color: rgba(200,127,58,.22); }

/* ================================================================
   3) TRUST STRIP
   ================================================================ */

.page-registrati .rbc-reg-page-trust {
  background: #fff !important;
  border-top: 1px solid var(--rtc-line) !important;
  padding: 24px 40px !important;
}
.page-registrati .rbc-reg-page-trust-inner { max-width: 1100px !important; gap: 32px !important; }
.page-registrati .rbc-reg-page-trust-item {
  font-family: "Geist Mono", monospace !important;
  font-size: 11.5px !important;
  letter-spacing: .04em !important;
  color: var(--rtc-ink-3) !important;
  text-transform: uppercase !important;
  font-weight: 500;
}
.page-registrati .rbc-reg-page-trust-item svg { stroke: var(--rtc-brand) !important; }
.page-registrati .rbc-reg-page-trust-item br  { display: none !important; }

/* ================================================================
   4) Microfix — paragrafi vuoti spuri da WP autop
   ================================================================ */
.page-registrati .rbc-reg-page-hero p:empty,
.page-registrati .rbc-reg-card p:empty,
.page-registrati .rbc-reg-page-trust p:empty { display: none !important; }
