/* Frontend styles */
.sb-offers-grid { display:grid; grid-template-columns: repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
.sb-offer-card { border:1px solid #eee; border-radius:12px; padding:16px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.sb-offer-card .sb-thumb img { width:100%; height:auto; border-radius:10px; }
.sb-offer-card .sb-price { font-weight:700; margin-top:8px; }
.sb-btn { display:inline-block; background:#2271b1; color:#fff; padding:10px 14px; border-radius:8px; text-decoration:none; border:0; cursor:pointer; }
.sb-btn:hover { background:#1b5d93; color:#fff; }
.sb-booking-widget { border:1px solid #eee; padding:16px; border-radius:12px; background:#fff; }
.sb-field { margin-bottom:12px; display:block; }
.sb-row { display:flex; gap:12px; }
.sb-row .sb-field { flex:1; }
.sb-alert { padding:12px; background:#fff3cd; border:1px solid #ffeeba; border-radius:8px; }
.sb-msg { margin-top:12px; }

/* Custom calendar */
.sb-cal { user-select:none; border-radius:0px; overflow:hidden; }
.sb-cal-head { display:flex; justify-content:space-between; align-items:center; padding:8px 12px; background:#333;color:#fff; }
.sb-cal-grid { display:grid; grid-template-columns: repeat(7, 1fr); gap:6px; padding:10px; }
.sb-cal-weekday { text-align:center; font-size:12px; color:#6b7280; }
.sb-cal-cell { text-align:center; padding:8px 0; border:1px solid #004b23; border-radius:8px; cursor:pointer; background:#abff4f; color: #333;}
.sb-cal-cell.disabled { border:1px solid #e5e7eb; color:#9ca3af; background:#f3f4f6; cursor:not-allowed; opacity:.7; }
.sb-cal-cell.selected { outline:3px solid #004b23; }
.sb-selected-date { font-size:14px; color:#111827; margin-top:6px; }
.sb-btn-mini {
    background:#eee;
    color:#333;
    border:none;
    box-shadow:none;
}

.button_default {
    margin-top:20px;
    color: #fff;
    background: #333;
    border: 0;
    padding: 10px 30px;
}

.sb-selected-date {
    font-weight: bold;
    font-size:16px;
}
#sb-booking .form-group {
    margin-bottom: 10px;
}

.sb-msg.err {
    background-color: #f44336;
    color: white;
    opacity: 0.83;
    transition: opacity 0.6s;
    margin-bottom: 15px;
    padding: 20px 30px;
}

.bank-details p {
    margin-bottom:5px;
}

.sb-msg.ok {
    background-color: #04AA6D;
    color: white;
    opacity: 0.83;
    transition: opacity 0.6s;
    margin-bottom: 15px;
    padding: 20px 30px;
}

.single-ofer {
    overflow: hidden;
    margin-bottom: 50px;
    padding-bottom: 10px;
}