[data-unico-agenda]{
    max-width:980px;
    margin:0 auto;
    padding:24px;
    border:1px solid #e5e7eb;
    border-radius:16px;
    background:#ffffff;
    box-sizing:border-box;
}

.uab-grid{
    display:grid;
    gap:12px;
}

/* SERVIZI */
.uab-servizi{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    width:100%;
    box-sizing:border-box;
}

@media (min-width: 768px){
    .uab-servizi{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

@media (min-width: 1024px){
    .uab-servizi{
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    }
}

/* ORARI */
.uab-orari{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
    gap:8px;
}

.uab-btn-servizio,
.uab-btn-orario{
    border:1px solid rgba(251, 207, 232, 0.8);
    border-radius:8px;
    padding:8px 10px;
    cursor:pointer;
    background:rgba(251, 207, 232, 0.9);
    color:#c2417a;
    font-weight:500;
    font-size:13px;
    line-height:1.2;
    min-height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    transition:all 0.15s ease;
    width:100%;
    box-sizing:border-box;
    word-break:break-word;
    white-space:normal;
}

.uab-btn-servizio:hover,
.uab-btn-orario:hover{
    background:rgba(233, 213, 255, 0.95);
    border-color:rgba(233, 213, 255, 1);
}

.uab-btn-servizio.uab-selected,
.uab-btn-orario.uab-selected{
    background:#ec4899;
    border-color:#ec4899;
    color:#ffffff;
}

.uab-btn-orario:disabled,
.uab-btn-orario.uab-disabled{
    background:#e5e7eb;
    border-color:#d1d5db;
    color:#9ca3af;
    cursor:not-allowed;
    opacity:1;
}

.uab-field{
    width:100%;
    border:1px solid #d1d5db;
    border-radius:10px;
    padding:10px 12px;
    box-sizing:border-box;
}

.uab-section-title{
    font-size:16px;
    font-weight:600;
    color:#374151;
    margin-bottom:8px;
    display:block;
    text-align:center;
}

.uab-calendar-container{
    border:1px solid #d1d5db;
    border-radius:10px;
    background:#ffffff;
    overflow:hidden;
}

.uab-calendar-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:12px 16px;
    background:#f8fafc;
    border-bottom:1px solid #d1d5db;
}

.uab-calendar-nav{
    background:#f9dbe8;
    color:#ffffff;
    border:none;
    border-radius:6px;
    padding:6px 12px;
    cursor:pointer;
    font-size:14px;
}

.uab-calendar-nav:hover{
    background:#ec4899;
}

.uab-calendar-month{
    font-weight:600;
    color:#374151;
}

.uab-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:1px;
    background:#d1d5db;
}

.uab-calendar-day-header{
    padding:8px 4px;
    text-align:center;
    font-size:12px;
    font-weight:600;
    background:#f8fafc;
    color:#6b7280;
}

.uab-calendar-day{
    padding:12px 4px;
    text-align:center;
    background:#fce7f3;
    color:#be185d;
    cursor:pointer;
    font-size:14px;
    font-weight:700;
    transition:all 0.2s ease;
}

.uab-calendar-day:hover{
    background:#f9a8d4;
    color:#ffffff;
}

.uab-calendar-day.uab-selected{
    background:#ec4899;
    color:#ffffff;
    font-weight:800;
}

.uab-calendar-day.uab-disabled{
    color:#94a3b8 !important;
    background:#f8fafc !important;
    cursor:not-allowed !important;
    font-weight:500;
}

.uab-calendar-day.uab-disabled:hover{
    background:#f8fafc !important;
    color:#94a3b8 !important;
}

/* Nasconde i giorni riempitivi del mese precedente/successivo */
.uab-calendar-day.uab-disabled:not([data-date]){
    color:transparent !important;
    background:#ffffff !important;
    pointer-events:none !important;
}

.uab-calendar-day.uab-disabled:not([data-date]):hover{
    color:transparent !important;
    background:#ffffff !important;
}

.uab-messaggio{
    margin-top:12px;
    font-size:14px;
}

.uab-orari-info{
    margin-top:6px;
    font-size:13px;
    color:#6b7280;
}

.uab-invia{
    border:none;
    border-radius:10px;
    padding:12px;
    background:#ec4899;
    color:#ffffff;
    font-weight:600;
    cursor:pointer;
}

.uab-invia:hover{
    background:#db2777;
}

.uab-invia:disabled{
    opacity:0.7;
    cursor:not-allowed;
}
[data-unico-agenda] input,
[data-unico-agenda] textarea,
[data-unico-agenda] select{
    color:#111827 !important;
}

[data-unico-agenda] input::placeholder,
[data-unico-agenda] textarea::placeholder{
    color:#6b7280 !important;
    opacity:1;
}