/* ==========================================================================
   MEDICO VELOCE — plugin-theme.css
   Riveste con la palette del tema i frontend dei plugin "prenotazioni-it" e
   "smart-ticket-desk", che di loro hanno colori fissi (blu/verde generici).
   Caricato DOPO i CSS dei plugin, quindi vince a parità di specificità dove
   possibile; per alcuni stati (:hover, .sel) serve un filo di specificità in
   più, ottenuta ripetendo il selettore invece di usare !important.
   ========================================================================== */

/* ---- Prenotazioni IT ---- */
.pren-app, .pren-app.pren-app{
  font-family: var(--mv-font-body);
  color: var(--mv-ink);
  max-width: 100%;
}
.pren-title{ font-family: var(--mv-font-display); font-weight:800; }
.pren-sub{ color: var(--mv-ink-soft); }

#pren-root .pren-spinner{ border-color: var(--mv-border); border-top-color: var(--mv-primary); }

.pren-prog-lbl.active{ color: var(--mv-primary); }
.pren-prog-lbl.done{ color: var(--mv-success); }
.pren-prog-seg.done{ background: var(--mv-success); }
.pren-prog-seg.active{ background: var(--mv-primary); }

.pren-svc, .pren-svc.pren-svc{ border-radius: var(--mv-radius-m); border-color: var(--mv-border); }
.pren-svc:hover{ border-color: var(--mv-primary-tint); box-shadow: 0 0 0 3px var(--mv-primary-soft); }
.pren-svc.sel, .pren-svc.sel.sel{ border-color: var(--mv-primary); box-shadow: 0 0 0 3px var(--mv-primary-soft); }
.pren-svc-name{ font-family: var(--mv-font-display); }
.pren-tag{ background: var(--mv-primary-soft); color: var(--mv-primary-dark); border-radius: var(--mv-radius-s); }

.pren-cal, .pren-cal.pren-cal{ border-radius: var(--mv-radius-m); border-color: var(--mv-border); }
.pren-cal-nav{ border-radius: var(--mv-radius-s); border-color: var(--mv-border-strong); }
.pren-cal-nav:hover{ background: var(--mv-primary-soft); }
.pren-day:hover:not(.dis):not(.emp):not(.cl){ background: var(--mv-primary-soft); }
.pren-day.has::after{ background: var(--mv-success); }

/* pulsanti generici del plugin (classi comuni tipo .pren-btn / bottoni submit) */
.pren-app button[type="submit"],
.pren-app .pren-btn,
.pren-app .pren-btn-primary{
  background: var(--mv-accent);
  border: none;
  border-radius: var(--mv-radius-pill);
  font-family: var(--mv-font-display);
  font-weight: 700;
  color: #fff;
  padding: 13px 22px;
}
.pren-app button[type="submit"]:hover,
.pren-app .pren-btn:hover{ background: var(--mv-accent-dark); }

/* ---- Smart Ticket Desk ---- */
.std-card, .std-card.std-card{
  border-radius: var(--mv-radius-m);
  border-color: var(--mv-border);
  box-shadow: var(--mv-shadow-s);
  font-family: var(--mv-font-body);
}
.std-card h3{ font-family: var(--mv-font-display); }

.std-ticket-form-wrap label{ color: var(--mv-ink); font-family: var(--mv-font-display); font-size:.9rem; }
.std-ticket-form-wrap input[type="text"],
.std-ticket-form-wrap select,
.std-ticket-form-wrap textarea{
  border-radius: var(--mv-radius-s);
  border-color: var(--mv-border-strong);
  font-family: var(--mv-font-body);
  padding: 11px 12px;
}
.std-ticket-form-wrap input[type="text"]:focus,
.std-ticket-form-wrap select:focus,
.std-ticket-form-wrap textarea:focus{
  border-color: var(--mv-primary);
  outline: 3px solid var(--mv-primary-soft);
}

.std-btn, .std-btn.std-btn{
  border-radius: var(--mv-radius-pill);
  font-family: var(--mv-font-display);
  font-weight: 700;
}
.std-btn-primary, .std-btn-primary.std-btn-primary{ background: var(--mv-accent); }
.std-btn-primary:hover{ background: var(--mv-accent-dark); }

.std-login-notice, .std-pending-notice{
  border-left: 4px solid var(--mv-warning);
  background: var(--mv-warning-soft);
}

/* campanella notifiche nell'header/area richieste */
.std-notif-btn{ color: var(--mv-ink); }
.std-notif-count{ background: var(--mv-accent); }
.std-notif-dropdown{ border-radius: var(--mv-radius-m); box-shadow: var(--mv-shadow-m); border-color: var(--mv-border); }


/* ========================================================================== 
   UX mobile 1.3
   ========================================================================== */
.pren-app input,
.pren-app select,
.pren-app textarea,
.std-ticket-form-wrap input,
.std-ticket-form-wrap select,
.std-ticket-form-wrap textarea,
.std-modal input,
.std-modal select,
.std-modal textarea{
  font-size:16px !important;
}

.pren-svc,.pren-cal,.std-card{
  border-radius:22px !important;
  box-shadow:0 5px 18px rgba(20,42,43,.055);
}
.pren-svc{ padding:22px 18px; }
.pren-slot{ min-height:76px; border-radius:16px; padding:13px 16px; }
.pren-slot strong{ font-size:1.05rem; }
.pren-doctor-legend{ border-radius:16px; }
.pren-btns{ gap:10px; }
.pren-btns .pren-btn{ min-height:48px; }

.std-ticket-form-wrap input[type="text"],
.std-ticket-form-wrap select,
.std-ticket-form-wrap textarea{
  min-height:52px;
  border-radius:14px;
  padding:13px 14px;
}
.std-ticket-form-wrap textarea{ min-height:150px; }

@media (max-width: 640px){
  .pren-services{ gap:12px; }
  .pren-svc{ border-radius:20px !important; }
  .pren-cal{ padding:18px 14px; }
  .pren-slots{ gap:10px; }
  .pren-slot{ min-height:72px; }
  .pren-btns{
    position:sticky;
    bottom:88px;
    z-index:12;
    padding:10px 0 4px;
    background:linear-gradient(to bottom,rgba(243,247,246,0),var(--mv-paper) 30%);
  }
  .pren-btns .pren-btn{ flex:1; }
  .std-card{ padding:22px 18px !important; }
  .std-ticket-form-wrap .std-btn-primary{ width:100%; min-height:50px; }
}
