.pdp-calendar{
    direction:rtl;
    width:300px;
    background:#fff;
    border-radius:14px;
    box-shadow:0 15px 40px rgba(0,0,0,.18);
    font-family:IRANSans,Tahoma,sans-serif;
    padding:12px;
    z-index:999999;
    animation:pdpFade .15s ease;
}

/* header */

.pdp-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    margin-bottom:12px;
}

.pdp-header button{
    border:none;
    background:#f1f3f5;
    width:34px;
    height:34px;
    border-radius:10px;
    cursor:pointer;
    font-size:18px;
    transition:.2s;
}

.pdp-header button:hover{
    background:#0d6efd;
    color:#fff;
}

.pdp-header select{
    flex:1;
    border:1px solid #e2e2e2;
    border-radius:10px;
    padding:6px;
    font-size:13px;
    background:#fafafa;
    cursor:pointer;
    transition:.15s;
}

.pdp-header select:hover{
    border-color:#0d6efd;
    background:#fff;
}

/* weekday */

.pdp-days{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    text-align:center;
    font-size:12px;
    margin-bottom:6px;
    color:#888;
    font-weight:600;
}

/* friday */

.pdp-days span:last-child{
    color:#ff4d4f;
}

/* grid */

.pdp-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:5px;
}

/* day */

.pdp-day{
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    cursor:pointer;
    font-size:13px;
    transition:.15s;
}

.pdp-day:hover{
    background:#edf4ff;
}

/* selected */

.pdp-day.selected{
    background:#0d6efd;
    color:#fff;
    font-weight:600;
}

/* today */

.pdp-day.today{
    border:1.5px solid #0d6efd;
    font-weight:600;
}

/* friday */

.pdp-day.friday{
    color:#ff4d4f;
}

/* empty */

.pdp-empty{
    height:34px;
}

/* time picker */

.pdp-timebox{
    margin-top:12px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    padding-top:10px;
    border-top:1px solid #eee;
}

.pdp-timebox select{
    border:1px solid #ddd;
    border-radius:8px;
    padding:5px 8px;
    font-size:13px;
}

/* animation */

@keyframes pdpFade{
    from{
        opacity:0;
        transform:translateY(-6px) scale(.96);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}


.pdp-buttons{
    display:flex;
    justify-content:space-between;
    margin-top:10px;
    gap:8px;
}

.pdp-buttons button{
    flex:1;
    border:none;
    padding:8px;
    border-radius:8px;
    cursor:pointer;
    font-size:13px;
}

.pdp-buttons button:first-child{
    background:#f1f3f5;
}

.pdp-buttons button:last-child{
    background:#0d6efd;
    color:#fff;
}
