/* Personalization form + live overlay on single product. */

/* Form */
.sb-pt-form {
  border: 1px solid var(--c-rule);
  border-left: 3px solid var(--c-bronze);
  border-radius: var(--radius-sm);
  padding: var(--sp-5);
  background: var(--c-cream-soft);
  margin: var(--sp-5) 0;
  display: block;
}
.sb-pt-form__legend {
  padding: 0 var(--sp-2);
  margin-left: -2px;
}
.sb-pt-form__legend .t-eyebrow { display: block; margin: 0 0 var(--sp-1); }
.sb-pt-form__title {
  font-family: var(--ff-display);
  font-size: var(--fs-h4);
  letter-spacing: var(--ls-display);
  margin: 0 0 var(--sp-3);
  color: var(--c-navy);
}

.sb-pt-field {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--sp-4);
}
.sb-pt-field label {
  font-family: var(--ff-ui);
  font-size: var(--fs-caption);
  font-weight: 600;
  letter-spacing: var(--ls-ui);
  text-transform: uppercase;
  color: var(--c-navy);
  margin-bottom: var(--sp-2);
}
.sb-pt-field__req { color: var(--c-red); margin-left: 2px; }
.sb-pt-field__hint {
  font-family: var(--ff-ui);
  font-size: 11px;
  color: var(--c-field-gray);
  margin-top: var(--sp-1);
  align-self: flex-end;
}
.sb-pt-form__note { margin-top: var(--sp-3); }

/* Overlay on top of the main product image */
.woocommerce-product-gallery {
  position: relative;
}
#sb-pt-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 5;
  display: block;
}
#sb-pt-overlay svg {
  width: 100%;
  height: 100%;
  display: block;
  /* Optional subtle drop shadow so light-color text reads on busy backgrounds. */
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, .4));
}
#sb-pt-overlay text {
  font-family: "Cinzel", Georgia, serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  paint-order: stroke;
  stroke-width: 0;
  user-select: none;
}

@media (max-width: 600px) {
  .sb-pt-form { padding: var(--sp-4); }
}
