.bcs-form,
.bcs-on-product,
.bcs-cal { box-sizing: border-box; }

.bcs-form {
  width: 100%;
  max-width: 760px;
  min-width: 0;
  border: 1px solid #e5e7eb;
  padding: 1rem;
  border-radius: .75rem;
}
.bcs-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin-bottom: .75rem;
}
.bcs-grid > label { min-width: 0; }
.bcs-form label {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  font-weight: 600;
  font-size: .92rem;
}
.bcs-form input,
.bcs-form select,
.bcs-form textarea,
.bcs-on-product input,
.bcs-on-product select {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: .6rem .7rem;
  border: 1px solid #d1d5db;
  border-radius: .5rem;
  font-size: 1rem;
  line-height: 1.4;
  background: #fff;
}
.bcs-form textarea { resize: vertical; }
.bcs-form .bcs-book {
  background: #111827;
  color: #fff;
  border: 0;
  padding: .7rem 1rem;
  border-radius: .5rem;
  font-size: 1rem;
  cursor: pointer;
}
.bcs-form .bcs-book:disabled { opacity: .6; cursor: wait; }
.bcs-msg { overflow-wrap: anywhere; }
.bcs-ok { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; padding:.5rem; border-radius:.5rem; margin-top:.5rem; }
.bcs-err { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; padding:.5rem; border-radius:.5rem; margin-top:.5rem; }
.bcs-tz-badge {
  box-sizing: border-box;
  max-width: 100%;
  margin: .5rem 0;
  padding: .5rem .75rem;
  border: 1px solid #d1d5db;
  border-radius: .5rem;
  background: #f9fafb;
  font-size: .9rem;
  overflow-wrap: anywhere;
}
.bcs-on-product { max-width: 100%; }
.bcs-on-product label { display: block; padding-bottom: 1em; }
.bcs-cal {
  position: absolute;
  z-index: 99999;
  width: min(340px, calc(100vw - 16px));
  max-width: calc(100vw - 16px);
  background: #fff;
  color: #111827;
  border: 1px solid #e5e7eb;
  border-radius: .5rem;
  box-shadow: 0 10px 20px rgba(0,0,0,.14);
  padding: .5rem;
  font-size: .9rem;
}
.bcs-cal .bcs-cal-head { display:flex; justify-content:space-between; align-items:center; gap:.5rem; margin-bottom:.25rem; }
.bcs-cal .bcs-cal-nav { display:flex; gap:.25rem; }
.bcs-cal .bcs-cal-nav button { min-width: 36px; min-height: 36px; border:1px solid #d1d5db; background:#fff; border-radius:.375rem; cursor:pointer; }
.bcs-cal table { width:100%; border-collapse:collapse; table-layout:fixed; margin:0; }
.bcs-cal th { font-weight:600; padding:.25rem 0; text-align:center; color:#6b7280; }
.bcs-cal td { padding:0; text-align:center; }
.bcs-cal td button { display:block; width:100%; min-height:38px; padding:.35rem 0; border-radius:.375rem; border:1px solid transparent; background:none; color:inherit; cursor:pointer; }
.bcs-cal td button:hover:not(:disabled) { background:#f3f4f6; }
.bcs-cal td button:disabled { opacity:.4; cursor:not-allowed; }
@media (max-width:640px) {
  .bcs-form { padding:.85rem; }
  .bcs-grid { grid-template-columns:minmax(0,1fr); }
  .bcs-form .bcs-book { width:100%; min-height:44px; }
}
