.celleks-prebooking-product .custom-sold-out-badge { display: none !important; }
.celleks-prebooking-badge {
  display: block; position: relative; z-index: 2; margin: 0 0 8px; padding: 6px 12px;
  border-radius: 999px; background: #e1f4ed; color: #106041; font-size: 13px;
  font-weight: 700; line-height: 1.4; width: fit-content;
}
.woocommerce .stock.celleks-prebooking-stock { color: #106041; font-weight: 700; }
.woocommerce ul.products li.product .celleks-prebooking-loop-cta { width: 100%; margin: 14px 0 0; }
.woocommerce ul.products li.product .celleks-prebooking-loop-cta .celleks-prebooking-link {
  display: flex !important; position: static !important; align-items: center; justify-content: center;
  width: 100% !important; height: auto !important; min-height: 48px; padding: 14px 18px !important;
  border: 0; border-radius: 12px; background: linear-gradient(110deg, #0c5ab8, #0b3061) !important;
  color: #fff !important; font-size: 14px; font-weight: 700; text-indent: 0 !important;
}
.woocommerce ul.products li.product .celleks-prebooking-loop-cta .celleks-prebooking-link::before,
.woocommerce ul.products li.product .celleks-prebooking-loop-cta .celleks-prebooking-link::after { display: none !important; }
/* Electro has a second compact cart action; the full prebooking button is above it. */
.woocommerce ul.products li.product.celleks-prebooking-product .price-add-to-cart > .add-to-cart-wrap { display: none !important; }
.celleks-prebooking {
  clear: both; width: 100%; box-sizing: border-box; margin: 24px 0;
  padding: 26px; border: 1px solid #d4e2f4; border-radius: 18px;
  background: #f7faff; color: #183350; scroll-margin-top: 110px;
}
.celleks-prebooking *, .celleks-prebooking *::before, .celleks-prebooking *::after { box-sizing: border-box; }
.celleks-prebooking [hidden] { display: none !important; }
.celleks-prebooking-eyebrow {
  display: inline-block; padding: 5px 10px; border-radius: 99px; background: #e1f4ed;
  color: #106041; font-size: 12px; font-weight: 700; margin-bottom: 12px;
}
.celleks-prebooking h2 { margin: 0 0 10px; font-size: clamp(21px, 2vw, 27px); line-height: 1.3; color: #0b3061; }
.celleks-prebooking-intro { font-size: 14px; line-height: 1.65; color: #526781; margin-bottom: 22px; }
.celleks-prebooking-form { margin: 0; }
.celleks-prebooking-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.celleks-prebooking-form label { display: block; margin: 0 0 16px; color: #183350; font-size: 13px; font-weight: 600; }
.celleks-prebooking-grid > label { margin-bottom: 0; min-width: 0; }
.celleks-prebooking-grid { margin-bottom: 16px; }
.celleks-prebooking-form input:not([type="checkbox"]):not([type="hidden"]),
.celleks-prebooking-form select, .celleks-prebooking-form textarea {
  display: block; width: 100%; max-width: 100%; margin: 7px 0 0; border: 1px solid #b8cbe0;
  border-radius: 9px; padding: 11px 12px; min-height: 46px; background: #fff;
  color: #183350; font: inherit; font-size: 16px; box-shadow: none;
}
.celleks-prebooking-form select { padding-right: 30px; }
.celleks-prebooking-form textarea { resize: vertical; }
.celleks-prebooking-form input:focus, .celleks-prebooking-form select:focus,
.celleks-prebooking-form textarea:focus { outline: 2px solid #0c5ab8; outline-offset: 2px; }
.celleks-prebooking-optional { color: #63758b; font-weight: 400; }
.celleks-prebooking-form label.celleks-prebooking-consent { display: flex; align-items: flex-start; gap: 10px; font-size: 12px; font-weight: 400; line-height: 1.65; }
.celleks-prebooking-consent input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #0c5ab8; }
.celleks-prebooking-consent a { color: #0c5ab8; text-decoration: underline; }
.celleks-prebooking .celleks-prebooking-submit {
  width: 100%; min-height: 50px; padding: 14px 20px; border: 0; border-radius: 11px;
  background: linear-gradient(110deg, #0c5ab8, #0b3061); color: #fff; font-size: 15px; font-weight: 700;
}
.celleks-prebooking-submit:disabled { opacity: .65; cursor: wait; }
.celleks-prebooking .celleks-prebooking-submit:hover { background: #0b3061; color: #fff; }
.celleks-prebooking .celleks-prebooking-submit:focus-visible, .celleks-prebooking-link:focus-visible { outline: 3px solid #2779cf; outline-offset: 3px; }
.celleks-prebooking-footnote { margin: 12px 0 0; text-align: center; font-size: 12px; line-height: 1.5; color: #63758b; }
.celleks-prebooking-result { padding: 16px; margin: 0 0 18px; border-radius: 10px; font-size: 14px; line-height: 1.6; }
.celleks-prebooking-result.is-success { background: #e1f4ed; color: #106041; border: 1px solid #a4d9c1; }
.celleks-prebooking-result.is-error { background: #fff0ee; color: #9c2820; border: 1px solid #eab4af; }
.celleks-prebooking-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 540px) {
  .celleks-prebooking { padding: 20px 16px; }
  .celleks-prebooking-grid { grid-template-columns: 1fr; }
}
