/* Scoped client journey styles, shared by NovaCheck and the deposit form. */
.client-steps{display:flex;gap:8px;margin:0 0 20px;flex-wrap:wrap}
.client-steps :is(a,button){flex:1;min-width:80px;min-height:44px;padding:9px 12px;border:1px solid #ffffff2c;border-radius:10px;background:#15141a;color:#e6e3e8;text-align:center;text-decoration:none;font:inherit;font-weight:600;line-height:1.4}
.client-steps [aria-current="step"]{background:#621324;border-color:#e93556;color:#fff}
.client-steps button:disabled{opacity:.52;cursor:default}
.client-steps :focus-visible,.client-device-editor summary:focus-visible{outline:2px solid #ff8a9e;outline-offset:3px}
.client-section-title{margin:28px 0 12px;scroll-margin-top:100px}
.client-device-overview p{margin:0 0 9px}
.client-device-editor{padding-bottom:12px}
.client-device-editor summary{padding:8px 0;cursor:pointer;color:#ffb0bd;min-height:44px;box-sizing:border-box;font-weight:600}
.client-device-editor[open] summary{margin-bottom:8px}
.client-date-summary,.client-final-summary,.client-confirmation{background:#19151a;border:1px solid #e83b573a;border-radius:12px;padding:14px 18px;margin:16px 0;color:#f8f6f8;overflow-wrap:anywhere}
.client-final-summary h3{font-size:1rem;margin:0 0 10px}.client-final-summary p{margin:6px 0;font-size:.95rem}.client-final-summary strong{display:block;margin-top:10px}
.client-date-list{margin-top:10px}.client-date-list summary{cursor:pointer;min-height:44px;padding:12px 0}.client-date-list button{display:block;width:100%;text-align:left;background:#15141a;color:inherit;border:1px solid #ffffff30;border-radius:8px;margin:6px 0;min-height:44px;padding:10px}
.client-date-list button[aria-pressed="true"]{border-color:#ff4f6c;background:#481521}
body.living-site .diagnostic-shell,body.living-site #rdv-form .form-card{background:#111115!important;backdrop-filter:none!important}
body.living-site #rdv-form :is(input,select,textarea){background:#1b1b21;color:#f7f7fa;font-size:16px}
body.living-site #rdv-form .booking-calendar-row {
 grid-template-columns: minmax(0, 1fr);
 gap: 16px;
}
body.living-site #rdv-form .booking-calendar-row .booking-month {
 max-width: none;
}
@media (min-width: 900px) {
 body.living-site #rdv-form .booking-calendar-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
 }
 body.living-site #rdv-form .booking-calendar-row > .field {
  display: flex;
  flex-direction: column;
 }
 body.living-site #rdv-form .booking-calendar-row :is(.booking-month, .booking-slot-panel) {
  flex: 1 0 auto;
 }
}
/* Keep the panels aligned when a native picker becomes visible on keyboard focus. */
@supports (grid-template-rows: subgrid) {
 @media (min-width: 900px) {
  body.living-site #rdv-form .booking-calendar-row {
   row-gap: 0;
  }
  body.living-site #rdv-form .booking-calendar-row > .field {
   display: grid;
   grid-row: span 3;
   grid-template-rows: subgrid;
  }
  body.living-site #rdv-form .booking-calendar-row :is(.booking-month, .booking-slot-panel) {
   grid-row: 2;
  }
  body.living-site #rdv-form .booking-calendar-row .booking-date-fallback {
   grid-row: 3;
  }
 }
}
body.living-site #rdv-form .booking-month-grid{gap:4px}
body.living-site #rdv-form .booking-month-grid button{min-height:44px}
body.living-site #rdv-form .booking-time-grid button{min-height:44px}
.diagnostic-topbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.diag-result-actions{display:flex;flex-wrap:wrap;gap:10px}.diag-result-actions .btn{flex:1;min-width:140px}
@media(max-width:600px){
 body.living-site #rdv-form .form-row{grid-template-columns:minmax(0,1fr)}
 body.living-site #rdv-form .form-card{padding:16px}
 .client-steps{gap:5px}.client-steps :is(a,button){padding:9px 4px;font-size:.85rem;min-width:0}
 body.living-site #rdv-form .booking-month-grid{gap:3px}
 .client-final-summary,.client-confirmation{padding:12px}
 body.living-site .diagnostic-side{padding:16px}
}


/* Reserve the form area during the one-time initial enhancement. */
body.living-site #rdv-form .form-card:has(form[hidden]){min-height:760px}
