/* form-style.css — prenotazioni-studio v2.6 */

.pr-booking-container { max-width: 750px; margin: 0 auto; font-family: Arial, sans-serif; }
.pr-title    { color: #1e88e5; font-size: 28px; margin-bottom: 5px; }
.pr-subtitle { color: #888; margin-bottom: 30px; }

.pr-form { background: #fff; border-radius: 15px; padding: 30px; box-shadow: 0 5px 25px rgba(0,0,0,.08); }
.pr-row   { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pr-form-group { margin-bottom: 20px; }
.pr-form-group label { display:block; font-weight:600; color:#555; margin-bottom:6px; font-size:14px; }
.pr-form-group input,
.pr-form-group select,
.pr-form-group textarea { width:100%; padding:12px 15px; border:2px solid #e0e0e0; border-radius:8px; font-size:15px; transition:border-color .2s; box-sizing:border-box; }
.pr-form-group input:focus,
.pr-form-group select:focus,
.pr-form-group textarea:focus { outline:none; border-color:#1e88e5; box-shadow:0 0 0 3px rgba(30,136,229,.1); }
.pr-hint { font-size:12px; color:#888; margin-top:4px; display:block; }

/* ---- SELECT ORARI ---- */
#prOra { 
    width: 100%; 
    padding: 12px 15px; 
    border: 2px solid #e0e0e0; 
    border-radius: 8px; 
    font-size: 15px; 
    background: #fafafa;
}
#prOra:disabled {
    background: #f5f5f5;
    color: #999;
    cursor: not-allowed;
}

/* Orari occupati/bloccati in grigio */
#prOra option:disabled {
    color: #bbb !important;
    background-color: #f5f5f5 !important;
    font-style: italic;
}
#prOra option.pr-option-occupied {
    color: #bbb !important;
    background-color: #f5f5f5 !important;
}
#prOra option.pr-option-blocked {
    color: #ccc !important;
    background-color: #fafafa !important;
}

/* ---- DATEPICKER ---- */
.pr-datepicker { border:2px solid #e0e0e0; border-radius:12px; overflow:hidden; background:#fff; margin-top:6px; }

.pr-dp-header { display:flex; justify-content:space-between; align-items:center; background:#1e88e5; color:#fff; padding:12px 16px; }
.pr-dp-nav { background:rgba(255,255,255,.2); border:none; color:#fff; font-size:26px; line-height:1; width:36px; height:36px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.pr-dp-nav:hover:not(:disabled) { background:rgba(255,255,255,.35); }
.pr-dp-nav:disabled { opacity:.3; cursor:default; }
#prDpTitle { font-size:16px; font-weight:700; }

.pr-dp-legend { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; padding:8px 16px; font-size:12px; color:#555; background:#f8f9fa; border-bottom:1px solid #e0e0e0; }
.pr-dp-leg-item { display:flex; align-items:center; gap:4px; }
.pr-dp-dot { font-size:16px; line-height:1; }
.pr-dot-avail  { color:#43a047; }
.pr-dot-few    { color:#43a047; }
.pr-dot-full   { color:#e53935; }
.pr-dot-closed { color:#bdbdbd; }

.pr-dp-weekdays { display:grid; grid-template-columns:repeat(7,1fr); background:#f8f9fa; border-bottom:1px solid #e0e0e0; }
.pr-dp-weekdays span { text-align:center; padding:8px 4px; font-size:11px; font-weight:700; color:#888; text-transform:uppercase; }

.pr-dp-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; padding:10px; min-height:160px; align-content:start; }

.pr-dp-cell {
    aspect-ratio: 1;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    transition: all .15s;
    user-select: none;
}
.pr-dp-empty   { background: transparent; }

.pr-dp-avail   { background: #e8f5e9; color: #2e7d32; cursor: pointer; }
.pr-dp-avail:hover { background: #43a047; color: #fff; transform: scale(1.08); box-shadow: 0 3px 10px rgba(67,160,71,.4); }

.pr-dp-few     { background: #e8f5e9; color: #2e7d32; cursor: pointer; }
.pr-dp-few:hover { background: #43a047; color: #fff; transform: scale(1.08); box-shadow: 0 3px 10px rgba(67,160,71,.4); }

.pr-dp-pieno   { background: #ffebee; color: #e53935; cursor: not-allowed; }
.pr-dp-chiuso  { background: #f5f5f5; color: #bdbdbd; cursor: not-allowed; }

.pr-dp-selected { background: #1e88e5 !important; color: #fff !important; box-shadow: 0 4px 14px rgba(30,136,229,.5); transform: scale(1.1); z-index: 2; }

.pr-dp-placeholder { grid-column: 1/-1; text-align:center; color:#aaa; font-style:italic; padding:25px 10px; font-size:13px; margin:0; }

/* ---- SUBMIT ---- */
.pr-submit-btn { width:100%; padding:15px; background:linear-gradient(135deg,#1e88e5,#0d47a1); color:#fff; border:none; border-radius:10px; font-size:17px; font-weight:bold; cursor:pointer; transition:all .2s; margin-top:8px; }
.pr-submit-btn:hover { transform:translateY(-2px); box-shadow:0 8px 25px rgba(30,136,229,.35); }
.pr-submit-btn:disabled { opacity:.6; cursor:not-allowed; }

/* ---- ALERT ---- */
.pr-alert { padding:15px 20px; border-radius:8px; margin-bottom:20px; font-weight:600; }
.pr-success { background:#d4edda; color:#155724; border:1px solid #c3e6cb; }
.pr-error   { background:#f8d7da; color:#721c24; border:1px solid #f5c6cb; }

@media (max-width:600px) {
    .pr-row { grid-template-columns:1fr; }
    .pr-dp-cell { font-size:12px; }
}