/* Sattvika Booking – front-end styles */
.sb-widget{
	--sb-accent:#2f6f4f;
	--sb-accent-soft:#dcece3;
	--sb-booked:#e9d5d0;
	--sb-booked-line:#c98a7d;
	--sb-border:#e2e2e2;
	--sb-text:#2b2b2b;
	max-width:720px;margin:0 auto;color:var(--sb-text);
	font-family:inherit;
}
.sb-cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.sb-month-labels{font-weight:600;font-size:1rem;text-align:center;flex:1}
.sb-nav{cursor:pointer;border:1px solid var(--sb-border);background:#fff;border-radius:8px;width:40px;height:40px;font-size:1.4rem;line-height:1;color:var(--sb-text)}
.sb-nav:hover{background:var(--sb-accent-soft);border-color:var(--sb-accent)}

.sb-months{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:560px){.sb-months{grid-template-columns:1fr}}
.sb-m-title{text-align:center;font-weight:600;margin-bottom:8px}
.sb-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.sb-dow{text-align:center;font-size:.72rem;font-weight:600;color:#8a8a8a;padding:4px 0}
.sb-day{
	aspect-ratio:1;border:1px solid transparent;border-radius:8px;background:#f4f7f5;
	font-size:.9rem;cursor:pointer;color:var(--sb-text);padding:0;
	display:flex;align-items:center;justify-content:center;transition:.12s;
}
.sb-day.sb-free:hover{background:var(--sb-accent-soft);border-color:var(--sb-accent)}
.sb-day.sb-past{background:transparent;color:#c7c7c7;cursor:default}
.sb-day.sb-booked{
	background:var(--sb-booked);color:#9a6b60;cursor:not-allowed;
	background-image:linear-gradient(45deg,transparent 46%,var(--sb-booked-line) 46%,var(--sb-booked-line) 54%,transparent 54%);
}
.sb-day.sb-pending{opacity:.75}
.sb-day.sb-sel{background:var(--sb-accent);color:#fff;border-color:var(--sb-accent)}
.sb-day.sb-in{background:var(--sb-accent-soft)}
.sb-day.sb-start{border-top-right-radius:0;border-bottom-right-radius:0}
.sb-day.sb-end{border-top-left-radius:0;border-bottom-left-radius:0}

.sb-legend{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0;font-size:.82rem;color:#666}
.sb-legend span{display:flex;align-items:center;gap:6px}
.sb-sw{width:14px;height:14px;border-radius:4px;display:inline-block}
.sb-sw-free{background:#f4f7f5;border:1px solid var(--sb-border)}
.sb-sw-booked{background:var(--sb-booked)}
.sb-sw-sel{background:var(--sb-accent)}

.sb-form{border:1px solid var(--sb-border);border-radius:12px;padding:18px;margin-top:8px;background:#fff}
.sb-summary{font-size:1rem;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--sb-border)}
.sb-warn{color:#b4531f;font-size:.85rem;margin-top:6px}
.sb-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
@media(max-width:480px){.sb-row{grid-template-columns:1fr}}
.sb-form label{display:flex;flex-direction:column;font-size:.82rem;font-weight:600;gap:4px;color:#555}
.sb-form label.sb-block{display:block}
.sb-form input,.sb-form textarea{
	font:inherit;padding:9px 11px;border:1px solid var(--sb-border);border-radius:8px;width:100%;
	font-weight:400;color:var(--sb-text);box-sizing:border-box;
}
.sb-form input:focus,.sb-form textarea:focus{outline:2px solid var(--sb-accent-soft);border-color:var(--sb-accent)}
.sb-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.sb-submit{
	margin-top:14px;background:var(--sb-accent);color:#fff;border:0;border-radius:8px;
	padding:12px 22px;font-size:1rem;font-weight:600;cursor:pointer;
}
.sb-submit:hover{filter:brightness(1.07)}
.sb-submit:disabled{opacity:.6;cursor:default}
.sb-message{margin-top:12px;font-size:.9rem}
.sb-message.sb-ok{color:var(--sb-accent);font-weight:600}
.sb-message.sb-err{color:#b3261e;font-weight:600}

/* Booking selector (tabs) */
.sb-booking{max-width:720px;margin:0 auto}
.sb-booking-title{text-align:center;margin:0 0 16px}
.sb-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}
.sb-tab{
	cursor:pointer;border:1px solid #d9e2dc;background:#fff;color:#2b2b2b;
	padding:9px 18px;border-radius:999px;font:inherit;font-weight:600;font-size:.9rem;transition:.15s;
}
.sb-tab:hover{border-color:#2f6f4f;background:#f2f7f4}
.sb-tab.sb-active{background:#2f6f4f;border-color:#2f6f4f;color:#fff}
.sb-apt-name{text-align:center;font-size:1.15rem;margin-bottom:12px;color:#2b2b2b}
.sb-apt-name small{color:#888;font-weight:400}
.sb-loading{text-align:center;color:#888;padding:30px 0}

/* Apartment grid */
.sb-apts{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.sb-apt-card{display:flex;flex-direction:column;border:1px solid var(--sb-border,#e2e2e2);border-radius:12px;overflow:hidden;text-decoration:none;color:#2b2b2b;transition:.15s}
.sb-apt-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.09);transform:translateY(-2px)}
.sb-apt-thumb{width:100%;height:170px;object-fit:cover;display:block}
.sb-apt-title{padding:12px 14px 4px;font-weight:600;font-size:1.05rem}
.sb-apt-price{padding:0 14px 14px;color:#2f6f4f;font-weight:600}
.sb-apt-price small{color:#888;font-weight:400}
