/* Inline add-to-cart error, inserted directly after the native cart block. */
.oh-cart-error { margin: 12px 0 0; color: #a12d3c; font-size: 13px; line-height: 1.5; }
.oh-cart-error[hidden] { display: none !important; }
/* Hide only the modal opened while the configurator is handing off data. */
body.oh-personalization-pending .sqs-modal-lightbox {
  visibility: hidden !important;
}
/* O'HARROW CONFIGURATOR — scoped styles */
.oh-configurator{--oh-accent:#641125;--oh-border:#e7e2dd;--oh-muted:#77716b;margin:28px 0 30px;font-family:inherit;color:inherit}
.oh-configurator *{box-sizing:border-box}
.oh-configurator .oh-section{border-top:1px solid var(--oh-border);padding:21px 0 23px}
.oh-configurator .oh-section:nth-of-type(1){border-top:0}
.oh-configurator .oh-section-header{display:flex;align-items:flex-start;gap:13px;margin-bottom:14px}
.oh-configurator .oh-number{font-size:10px;letter-spacing:.08em;color:var(--oh-accent);font-weight:700;padding-top:5px;flex-shrink:0}
.oh-configurator .oh-label{display:block;font-family:Georgia,serif;font-size:17px;line-height:1.35;font-weight:400;margin:0}
.oh-configurator .oh-helper{font-size:12px;line-height:1.5;color:var(--oh-muted);margin:3px 0 0}
.oh-configurator .oh-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.oh-configurator .oh-tile{appearance:none;-webkit-appearance:none;min-width:0;padding:5px;background:#fff;border:1px solid var(--oh-border);border-radius:0;color:inherit;text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s}
.oh-configurator .oh-tile:hover{border-color:#9b7e84}
.oh-configurator .oh-tile.is-active{border-color:var(--oh-accent);box-shadow:inset 0 0 0 1px var(--oh-accent)}
.oh-configurator .oh-tile:focus-visible,.oh-configurator .oh-swatch:focus-visible,.oh-configurator .oh-position:focus-visible,.oh-configurator .oh-initials:focus-visible{outline:2px solid var(--oh-accent);outline-offset:3px}
.oh-configurator .oh-tile-visual{height:69px;width:100%;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden}
.oh-configurator .oh-tile-visual img{display:block;width:100%;height:100%;object-fit:cover}
.oh-configurator .oh-tile-name{display:block;padding:7px 3px 4px;font-size:11px;line-height:1.3;overflow-wrap:anywhere}
.oh-configurator .oh-style-tile .oh-tile-name{text-align:center;text-transform:uppercase;font-size:9px;letter-spacing:.06em}
.oh-configurator .oh-styles{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.oh-configurator .oh-initials{width:100%;display:block;border:1px solid var(--oh-border);border-radius:0;padding:13px 12px;background:#fff;color:inherit;font:inherit;font-size:15px;letter-spacing:.12em;text-transform:uppercase}
.oh-configurator .oh-input-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:8px 0 0;font-size:11px;color:var(--oh-muted)}
.oh-configurator .oh-swatches{display:flex;flex-wrap:wrap;gap:9px;margin-top:2px}
.oh-configurator .oh-swatch{appearance:none;-webkit-appearance:none;display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;padding:3px;background:transparent;border:1px solid transparent;border-radius:50%;cursor:pointer;flex-shrink:0}
.oh-configurator .oh-swatch.is-active{border-color:var(--oh-accent)}
.oh-configurator .oh-swatch-dot{width:100%;height:100%;border-radius:50%;border:1px solid #d3d0cc;display:block}
.oh-configurator .oh-selected{font-size:11px;color:var(--oh-muted);margin:0 0 10px}
.oh-configurator .oh-positions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.oh-configurator .oh-position{appearance:none;-webkit-appearance:none;border:1px solid var(--oh-border);border-radius:0;padding:11px 12px;background:#fff;color:inherit;text-align:left;cursor:pointer;font:inherit}
.oh-configurator .oh-position.is-active{border-color:var(--oh-accent);box-shadow:inset 0 0 0 1px var(--oh-accent)}
.oh-configurator .oh-position strong{display:block;font-size:12px;font-weight:500}
.oh-configurator .oh-position small{display:block;font-size:10px;color:var(--oh-muted);margin-top:4px;line-height:1.3}
.oh-configurator .oh-summary{background:#f7f4ef;padding:17px 18px;margin-top:5px;font-size:12px;line-height:1.6}
.oh-configurator .oh-summary-title{color:var(--oh-accent);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px}
.oh-configurator .oh-summary-text{margin:0;overflow-wrap:anywhere;white-space:pre-line;line-height:1.85}
@media(max-width:560px){.oh-configurator .oh-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.oh-configurator .oh-styles{grid-template-columns:repeat(3,minmax(0,1fr))}.oh-configurator .oh-section{padding:18px 0}.oh-configurator .oh-heading{font-size:25px}}

/* Preview image lives inside the gallery slides, below native navigation controls. */
.oh-preview-layer {
  position: absolute;
  z-index: 2;
  background-color: #fff;
  overflow: hidden;
  pointer-events: none;
  display: none;
}
.oh-preview-layer.is-visible { display: block; }
.oh-preview-layer img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: opacity .2s ease;
}
.oh-preview-layer.is-loading img { opacity: .75; }
.oh-preview-layer .oh-preview-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  margin: -12px 0 0 -12px;
  border: 4px solid rgba(100,17,37,.17);
  border-top-color: #641125;
  border-radius: 50%;
  animation: oh-preview-spin .7s linear infinite;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease;
}
.oh-preview-layer.is-loading .oh-preview-spinner {
  opacity: 1;
  visibility: visible;
}
@keyframes oh-preview-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .oh-preview-layer img, .oh-preview-layer .oh-preview-spinner { transition: none; }
  .oh-preview-layer .oh-preview-spinner { animation: none; border-top-color: #641125; }
}

/* One-of-three personalization selector and custom input labels */
.oh-configurator .oh-personalization-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.oh-configurator .oh-type-choice{appearance:none;min-width:0;min-height:88px;border:1px solid var(--oh-border);background:#fff;border-radius:0;cursor:pointer;text-align:center;padding:14px 8px;color:inherit;font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}
.oh-configurator .oh-type-choice strong{font-size:12px;font-weight:600;line-height:1.35}
.oh-configurator .oh-type-choice small{font-size:10px;color:var(--oh-muted);line-height:1.3}
.oh-configurator .oh-type-choice:hover{border-color:#9b7e84}
.oh-configurator .oh-type-choice.is-active{border-color:var(--oh-accent);box-shadow:inset 0 0 0 1px var(--oh-accent)}
.oh-configurator .oh-type-choice:focus-visible{outline:2px solid var(--oh-accent);outline-offset:3px}
.oh-configurator .oh-field + .oh-field{margin-top:14px}
.oh-configurator .oh-field-label{display:block;font-size:12px;font-weight:500;margin-bottom:7px}
.oh-configurator .oh-field-label .oh-initials{margin-top:8px}
.oh-configurator .oh-preview-note{margin:5px 0 18px}
@media(max-width:560px){.oh-configurator .oh-personalization-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.oh-configurator .oh-type-choice{min-height:94px;padding:10px 4px}.oh-configurator .oh-type-choice strong{font-size:11px}}
