/* UI base + modal + steps */
.wpbw-step[hidden]{display:none!important;}
.wpbw-banner-test{background:#fff3cd;border:1px solid #ffeeba;color:#856404;border-radius:8px;padding:10px;margin-bottom:10px;font-weight:600;}
.wpbw-form.wizard { border: 1px solid #e7e7ea; padding: 16px; border-radius: 12px; max-width: 760px; box-shadow: 0 6px 24px rgba(0,0,0,.05); }
.wpbw-steps { list-style:none; display:flex; gap:8px; padding:0; margin:0 0 16px; flex-wrap:wrap; }
.wpbw-steps li { padding:6px 10px; border-radius:999px; background:#f1f5f9; font-size:14px; color:#334155; }
.wpbw-steps li.is-active { background:#2563eb; color:#fff; }
.wpbw-steps li.is-done { background:#93c5fd; color:#0b3b8a; }
.wpbw-row { margin-bottom: 12px; }
.wpbw-row label { display:block; font-weight:600; margin-bottom:6px; }
.wpbw-row input[type="text"], .wpbw-row input[type="email"], .wpbw-row input[type="tel"], .wpbw-row input[type="date"], .wpbw-row select, .wpbw-row textarea { width:100%; padding:10px; border:1px solid #cbd5e1; border-radius:8px; box-sizing:border-box; background:#fff; }
.wpbw-actions { margin-top: 16px; display:flex; gap:8px; }
.wpbw-actions button, .wpbw-addcal a.button { padding:10px 16px; border:none; border-radius:8px; background:#2563eb; color:#fff; cursor:pointer; text-decoration:none; display:inline-block; font-weight:600; }
.wpbw-actions button.wpbw-prev { background:#64748b; }
.wpbw-actions button[disabled] { opacity: .5; cursor: not-allowed; }
.wpbw-message { margin-top:12px; display:none; padding:12px; border-radius:8px; background:#eef6ff; color:#0b3b8a; }
.wpbw-message.is-error { background:#ffe9e9; color:#7f1d1d; }
/* Modal */
.wpbw-open { padding:10px 16px; border:none; border-radius:8px; background:#10b981; color:#fff; cursor:pointer; text-decoration:none; font-weight:700; }
.wpbw-modal[hidden] { display:none !important; }
.wpbw-modal { position:fixed; inset:0; z-index:99999; }
.wpbw-modal__overlay { position:absolute; inset:0; background:rgba(15,23,42,.5); }
.wpbw-modal__dialog { position:relative; width:min(780px, 94vw); max-height:92vh; overflow:auto; margin:4vh auto; background:#fff; border-radius:14px; box-shadow:0 10px 40px rgba(0,0,0,.25); padding:16px; }
.wpbw-modal__close { position:absolute; top:8px; right:8px; background:#e2e8f0; border:none; border-radius:8px; font-size:20px; line-height:1; cursor:pointer; padding:6px 10px; }
.wpbw-modal:target{display:block!important;} /* CSS fallback */
/* Cards */
.wpbw-cardgrid { display:grid; grid-template-columns: repeat(auto-fill,minmax(180px,1fr)); gap:12px; }
.wpbw-card { display:block; cursor:pointer; user-select:none; }
.wpbw-card input { display:none; }
.wpbw-card__body { border:2px solid #e2e8f0; border-radius:12px; padding:12px; text-align:center; transition:.15s all; background:#fff; }
.wpbw-card__body:hover { box-shadow:0 6px 14px rgba(0,0,0,.06); }
.wpbw-card input:checked + .wpbw-card__body { border-color:#2563eb; box-shadow:0 0 0 4px rgba(37,99,235,.12); }
.wpbw-card__icon { display:block; margin:0 auto 8px; }
.wpbw-card__title { font-weight:700; margin-bottom:4px; }
.wpbw-card__meta { color:#475569; font-size:12px; }
/* Options */
.wpbw-opt{ display:flex; align-items:center; gap:.6rem; padding:10px; border:1px dashed #cbd5e1; border-radius:10px; margin-bottom:8px; background:#f8fafc; }
.wpbw-opt input{ transform:scale(1.2); }
.wpbw-opt__label{ font-weight:700; }
.wpbw-opt__meta{ margin-left:auto; color:#475569; font-size:12px; }
/* Summary */
.wpbw-summary ul { margin:0 0 8px 16px; }
.wpbw-total { font-size: 18px; margin-top: 8px; }
.wpbw-duration { margin-top: 4px; }
.wpbw-addcal { display:flex; gap:8px; margin-top:10px; }
/* Calendar */
.wpbw-cal{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;margin-top:8px;}
.wpbw-cal__head{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;padding:8px 12px;font-weight:700;}
.wpbw-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:8px;}
.wpbw-cal__cell{padding:10px;border-radius:8px;text-align:center;cursor:pointer;user-select:none;border:1px solid transparent;}
.wpbw-cal__cell.is-disabled{opacity:.4;cursor:not-allowed;}
.wpbw-cal__cell.is-today{border-color:#2563eb;}
.wpbw-cal__cell.is-selected{background:#2563eb;color:#fff;border-color:#2563eb;}
/* Floating button */
.wpbw-floating{position:fixed; z-index:99998; pointer-events:none;}
.wpbw-floating .wpbw-floating-btn{pointer-events:auto; padding:12px 18px; border:none; border-radius:999px; background:#0ea5e9; color:#fff; font-weight:800; box-shadow: 0 6px 20px rgba(14,165,233,.4); cursor:pointer;}
.wpbw-pos-br{right:16px; bottom:16px;}
.wpbw-pos-bl{left:16px; bottom:16px;}
.wpbw-pos-tr{right:16px; top:16px;}
.wpbw-pos-tl{left:16px; top:16px;}
@media (max-width: 480px){
  .wpbw-floating .wpbw-floating-btn{ padding:14px 20px; font-size:16px; }
}
