/* Bookable frontend */
.bk-grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;margin:24px 0}
.bk-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(15,23,42,.08);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.bk-card:hover{transform:translateY(-4px);box-shadow:0 14px 38px rgba(15,23,42,.14)}
.bk-card-media{display:block;height:180px;background:#eef2f7 center/cover no-repeat;position:relative}
.bk-badge{position:absolute;top:12px;left:12px;background:#10b981;color:#fff;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}
.bk-badge-limited{background:#f59e0b}
.bk-badge-full{background:#ef4444}
.bk-type{position:absolute;bottom:12px;left:12px;background:rgba(15,23,42,.78);color:#fff;padding:4px 10px;border-radius:6px;font-size:11px;text-transform:uppercase;letter-spacing:.4px}
.bk-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.bk-card-title{margin:0;font-size:18px;line-height:1.3}
.bk-card-title a{color:#0f172a;text-decoration:none}
.bk-meta{color:#64748b;font-size:14px}
.bk-card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:12px}
.bk-price{font-weight:700;color:#0f172a;font-size:18px}
.bk-btn{display:inline-block;border:0;border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer;text-decoration:none;font-size:14px;transition:opacity .15s,transform .1s}
.bk-btn:hover{opacity:.92}
.bk-btn:active{transform:translateY(1px)}
.bk-btn-primary{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff}
.bk-btn-outline{background:#fff;color:#0f172a;border:1px solid #cbd5e1}
.bk-booking{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;background:#fff;border-radius:18px;padding:28px;box-shadow:0 6px 24px rgba(15,23,42,.08)}
@media (max-width:780px){.bk-booking{grid-template-columns:1fr}}
.bk-booking h2{margin:0 0 8px}
.bk-status{display:inline-block;padding:6px 12px;border-radius:999px;color:#fff;font-weight:600;font-size:13px;background:#10b981;margin-bottom:14px}
.bk-reqs{padding-left:0;list-style:none;color:#0f172a}
.bk-reqs li{padding:6px 0;border-bottom:1px dashed #e2e8f0}
.bk-price-tag{font-size:32px;font-weight:800;color:#0f172a;margin-top:14px}
.bk-form label{display:block;font-size:13px;font-weight:600;color:#334155;margin-bottom:10px}
.bk-form input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;margin-top:4px;font-size:14px}
.bk-form input:focus{outline:none;border-color:#e11d48;box-shadow:0 0 0 3px rgba(225,29,72,.15)}
.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bk-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.bk-form-msg{margin-top:12px;font-size:14px}
.bk-form-msg.success{color:#047857}
.bk-form-msg.error{color:#b91c1c}
.bk-alert{padding:14px 18px;border-radius:12px;margin:16px 0;font-weight:500}
.bk-alert-success{background:#ecfdf5;color:#065f46}
.bk-alert-warn{background:#fef3c7;color:#92400e}
.bk-table{width:100%;border-collapse:collapse;margin:14px 0 28px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(15,23,42,.06)}
.bk-table th,.bk-table td{padding:12px 14px;border-bottom:1px solid #e2e8f0;text-align:left;font-size:14px}
.bk-table th{background:#f8fafc;color:#475569;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.6px}
.bk-dashboard h3{margin-top:24px}
