.haptelle-customizer {
  --customizer-ink: #2f2a27;
  --customizer-muted: #716963;
  --customizer-accent: #6c8189;
  --customizer-warm: #a77a64;
  --customizer-line: #ded8d2;
  --customizer-paper: #fafaf8;
  --customizer-option-background: #fafaf8;
  --customizer-page-background: #fcf8f4;
  --customizer-cream: #f5f1ec;
  color: var(--customizer-ink);
  background: var(--customizer-page-background);
  overflow-x: clip;
}

.haptelle-customizer button:focus-visible,
.haptelle-customizer a:focus-visible,
.haptelle-customizer input:focus-visible,
.haptelle-customizer summary:focus-visible {
  outline: 2px solid var(--customizer-accent);
  outline-offset: 3px;
}

.haptelle-customizer [hidden] {
  display: none !important;
}

.haptelle-customizer .haptelle-customizer__collection-hero {
  padding: clamp(72px, 9vw, 138px) 0 clamp(54px, 7vw, 104px);
  text-align: center;
  background: linear-gradient(135deg, #f7f3ef 0%, #eee7e0 100%);
}

.haptelle-customizer .haptelle-customizer__eyebrow {
  margin: 0 0 12px;
  color: var(--customizer-warm);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.haptelle-customizer .haptelle-customizer__collection-hero h1 {
  margin: 0;
  color: var(--customizer-ink);
  font-size: clamp(34px, 5vw, 56px);
  font-weight: 500;
  line-height: clamp(44px, 6vw, 68px);
}

.haptelle-customizer .haptelle-customizer__intro {
  max-width: 650px;
  margin: 22px auto 0;
  color: var(--customizer-muted);
  font-size: 17px;
  line-height: 1.75;
}

.haptelle-customizer .haptelle-customizer__mode-badge {
  position: fixed;
  z-index: 70;
  right: 16px;
  bottom: 16px;
  padding: 8px 12px;
  border: 1px solid #bc8b49;
  border-radius: 999px;
  color: #6f4714;
  background: #fff4d9;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  box-shadow: 0 8px 24px rgba(50, 38, 24, .12);
}

.haptelle-customizer .haptelle-customizer__collection,
.haptelle-customizer .haptelle-customizer__editorial,
.haptelle-customizer .haptelle-customizer__summary-section,
.haptelle-customizer .haptelle-customizer__shared-preview {
  padding: clamp(64px, 7vw, 108px) 0;
}

.haptelle-customizer .haptelle-customizer__section-heading {
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
}

.haptelle-customizer .haptelle-customizer__section-heading h2,
.haptelle-customizer .haptelle-customizer__shared-preview h2 {
  margin: 0 0 14px;
  color: var(--customizer-ink);
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 500;
  line-height: 1.3;
}

.haptelle-customizer .haptelle-customizer__summary h2 {
  margin: 0 0 14px;
  color: var(--customizer-ink);
  font-size: clamp(30px, 3vw, 36px);
  font-weight: 500;
  line-height: 1.25;
}

.haptelle-customizer .haptelle-customizer__section-heading p,
.haptelle-customizer .haptelle-customizer__shared-preview p {
  margin: 0;
  color: var(--customizer-muted);
}

.haptelle-customizer .haptelle-customizer__status {
  width: min(680px, 100%);
  margin: 32px auto;
  padding: 18px 22px;
  border: 1px solid var(--customizer-line);
  background: var(--customizer-paper);
  text-align: center;
}

.haptelle-customizer .haptelle-customizer__status.is-error {
  border-color: #bf6d63;
  color: #87382f;
  background: #fff4f2;
}

.haptelle-customizer .haptelle-customizer__status--page {
  margin-top: 64px;
  margin-bottom: 64px;
}

.haptelle-customizer .haptelle-customizer__collection-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.haptelle-customizer .haptelle-customizer__collection-card {
  min-width: 0;
  background: var(--customizer-paper);
}

.haptelle-customizer .haptelle-customizer__collection-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.haptelle-customizer .haptelle-customizer__collection-media {
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: var(--customizer-paper);
}

.haptelle-customizer .haptelle-customizer__collection-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.haptelle-customizer .haptelle-customizer__collection-link:hover .haptelle-customizer__collection-media img {
  transform: scale(1.025);
}

.haptelle-customizer .haptelle-customizer__collection-copy {
  padding: 24px 4px 6px;
}

.haptelle-customizer .haptelle-customizer__collection-copy h2 {
  margin: 0 0 8px;
  color: var(--customizer-ink);
  font-size: 28px;
  font-weight: 500;
}

.haptelle-customizer .haptelle-customizer__collection-price {
  margin: 0 0 16px;
  color: var(--customizer-muted);
}

.haptelle-customizer .haptelle-customizer__collection-cta {
  color: var(--customizer-accent);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.haptelle-customizer .haptelle-customizer__product-top {
  padding: 0 0 clamp(54px, 6vw, 86px);
  background: var(--customizer-page-background);
}

.haptelle-customizer .haptelle-customizer__breadcrumbs {
  display: flex;
  width: min(1400px, 100%);
  max-width: 1400px;
  box-sizing: border-box;
  gap: 12px;
  align-items: center;
  margin: 0 auto;
  padding: 22px 3%;
  color: #8d7d6e;
  font-size: 11px;
}

.haptelle-customizer .haptelle-customizer__breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.haptelle-customizer .haptelle-customizer__product-grid {
  display: grid;
  width: min(1400px, 100%);
  max-width: 1400px;
  box-sizing: border-box;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  gap: 42px;
  align-items: start;
  margin: 0 auto;
  padding: 0 3%;
}

.haptelle-customizer .haptelle-customizer__gallery {
  display: block;
  position: sticky;
  top: 20px;
}

.haptelle-customizer .haptelle-customizer__gallery-stage {
  position: relative;
  height: clamp(560px, 52vw, 730px);
  overflow: hidden;
  border-radius: 6px;
  background: #eae0d7;
}

.haptelle-customizer .haptelle-customizer__gallery-zoom {
  position: absolute;
  top: 18px;
  right: 18px;
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  border: 1px solid #c8ad97;
  border-radius: 50%;
  color: #2f2a27;
  background: rgba(255, 255, 255, .78);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.haptelle-customizer .haptelle-customizer__gallery-main {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom;
}

.haptelle-customizer .haptelle-customizer__gallery-thumbnails {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin: 23px 0 0;
}

.haptelle-customizer .haptelle-customizer__gallery-thumb {
  width: 72px;
  height: 91px;
  padding: 0;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 5px;
  background: #eee5dc;
  cursor: pointer;
}

.haptelle-customizer .haptelle-customizer__gallery-thumb.is-active {
  border-color: #835331;
  box-shadow: inset 0 0 0 1px #835331;
}

.haptelle-customizer .haptelle-customizer__gallery-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.haptelle-customizer .haptelle-customizer__gallery-note {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  margin: 20px 0 0;
  color: #7c6a5a;
  font-size: 12px;
}

.haptelle-customizer .haptelle-customizer__media-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 260px;
  padding: 32px;
  color: #938b84;
  background: var(--customizer-paper);
  text-align: center;
}

.haptelle-customizer .haptelle-customizer__media-empty span {
  display: grid;
  width: 58px;
  height: 58px;
  margin-bottom: 15px;
  place-items: center;
  border: 1px solid #c9c2bc;
  border-radius: 50%;
  font-family: Georgia, serif;
  font-size: 26px;
}

.haptelle-customizer .haptelle-customizer__media-empty p {
  margin: 0;
  font-size: 13px;
}

.haptelle-customizer .haptelle-customizer__configuration {
  padding-top: 4px;
}

.haptelle-customizer .haptelle-customizer__notice {
  margin-bottom: 20px;
  padding: 13px 15px;
  border-left: 3px solid var(--customizer-warm);
  color: #684934;
  background: #faf1ea;
  font-size: 13px;
  line-height: 1.5;
}

.haptelle-customizer .haptelle-customizer__category {
  margin-bottom: 10px;
  border: 1px solid var(--customizer-line);
  border-radius: 10px;
  background: transparent;
  overflow: hidden;
}

.haptelle-customizer .haptelle-customizer__category:last-child {
  border-bottom: 1px solid var(--customizer-line);
}

.haptelle-customizer .haptelle-customizer__category summary,
.haptelle-customizer .haptelle-customizer__category-summary {
  display: flex;
  width: 100%;
  min-height: 74px;
  box-sizing: border-box;
  align-items: center;
  gap: 17px;
  padding: 17px 20px;
  text-align: left;
}

.haptelle-customizer .haptelle-customizer__category summary {
  cursor: pointer;
  list-style: none;
  font-size: 15px;
  font-weight: 500;
}

.haptelle-customizer .haptelle-customizer__category[open] {
  background: #fffaf5;
}

.haptelle-customizer .haptelle-customizer__category summary::-webkit-details-marker {
  display: none;
}

.haptelle-customizer .haptelle-customizer__category summary::after {
  content: '+';
  margin-left: auto;
  color: var(--customizer-muted);
  font-size: 24px;
  font-weight: 300;
}

.haptelle-customizer .haptelle-customizer__category[open] summary::after {
  content: '−';
}

.haptelle-customizer .haptelle-customizer__category-summary > strong {
  flex: 1;
  font-size: 15px;
  font-weight: 600;
}

.haptelle-customizer .haptelle-customizer__category-value {
  padding: 6px 18px;
  border: 1px solid #b78f71;
  border-radius: 20px;
  color: #835331;
  font-size: 11px;
}

.haptelle-customizer .haptelle-customizer__category-icon {
  display: grid;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  overflow: hidden;
  place-items: center;
  border-radius: 50%;
  background: #fafaf8;
}

.haptelle-customizer .haptelle-customizer__category-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.haptelle-customizer .haptelle-customizer__category-icon--fallback {
  border: 1px solid var(--customizer-line);
  color: var(--customizer-warm);
  font-size: 20px;
  line-height: 1;
}

.haptelle-customizer .haptelle-customizer__category-index {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--customizer-line);
  border-radius: 50%;
  color: var(--customizer-warm);
  font-size: 11px;
}

.haptelle-customizer .haptelle-customizer__category-fields {
  padding: 0 20px 10px;
}

.haptelle-customizer .haptelle-customizer__field + .haptelle-customizer__field {
  margin-top: 0;
}

.haptelle-customizer .haptelle-customizer__field {
  padding: 16px 0 21px;
  border-top: 1px solid var(--customizer-line);
}

.haptelle-customizer .haptelle-customizer__field-heading h3 {
  margin: 0 0 5px;
  font-size: 16px;
  font-weight: 600;
}

.haptelle-customizer .haptelle-customizer__field-heading p {
  margin: 0 0 13px;
  color: var(--customizer-muted);
  font-size: 12px;
  line-height: 1.55;
}

.haptelle-customizer .haptelle-customizer__options {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(104px, 118px));
  gap: 9px;
  align-items: stretch;
  justify-content: start;
}

.haptelle-customizer .haptelle-customizer__option {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 126px;
  border: 1px solid var(--customizer-line);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.haptelle-customizer .haptelle-customizer__option.is-selected {
  border-color: var(--customizer-accent);
  box-shadow: 0 0 0 1px var(--customizer-accent);
}

.haptelle-customizer .haptelle-customizer__option.is-disabled {
  opacity: 1;
}

.haptelle-customizer .haptelle-customizer__option.is-disabled .haptelle-customizer__option-copy {
  opacity: .58;
}

.haptelle-customizer .haptelle-customizer__option-select {
  display: block;
  height: 100%;
  cursor: pointer;
}

.haptelle-customizer .haptelle-customizer__option-select > input {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  width: 17px;
  height: 17px;
  accent-color: var(--customizer-accent);
}

.haptelle-customizer .haptelle-customizer__option-media {
  position: relative;
  display: grid;
  height: 54px;
  padding: 7px 7px 0;
  place-items: center;
  overflow: hidden;
  background: var(--customizer-option-background);
}

.haptelle-customizer .haptelle-customizer__option-media > img:not(.haptelle-customizer__option-logo) {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
}

.haptelle-customizer .haptelle-customizer__option-logo {
  position: absolute;
  z-index: 2;
  top: 6px;
  right: 6px;
  width: auto;
  max-width: 34px;
  height: auto;
  max-height: 18px;
  object-fit: contain;
  pointer-events: none;
}

.haptelle-customizer .haptelle-customizer__media-empty--option {
  width: 44px;
  min-height: 44px;
  padding: 0;
  border-radius: 50%;
}

.haptelle-customizer .haptelle-customizer__media-empty--option span {
  width: 28px;
  height: 28px;
  margin: 0;
  font-size: 15px;
}

.haptelle-customizer .haptelle-customizer__media-empty--option p {
  display: none;
}

.haptelle-customizer .haptelle-customizer__option-copy {
  display: block;
  padding: 6px 6px 27px;
  text-align: center;
}

.haptelle-customizer .haptelle-customizer__option-title {
  display: block;
  font-size: 10px;
  line-height: 1.35;
}

.haptelle-customizer .haptelle-customizer__option-title strong {
  font-weight: 600;
}

.haptelle-customizer .haptelle-customizer__option-price {
  display: block;
  margin-top: 4px;
  color: var(--customizer-warm);
  font-size: 9px;
}

.haptelle-customizer .haptelle-customizer__option-description,
.haptelle-customizer .haptelle-customizer__option-reason {
  display: block;
  margin-top: 6px;
  color: var(--customizer-muted);
  font-size: 8px;
  line-height: 1.35;
}

.haptelle-customizer .haptelle-customizer__option-description {
  display: none;
}

.haptelle-customizer .haptelle-customizer__option-reason {
  color: #94483f;
}

.haptelle-customizer .haptelle-customizer__details-button {
  position: absolute;
  right: auto;
  bottom: 11px;
  left: 50%;
  transform: translateX(-50%);
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  color: var(--customizer-accent);
  background: transparent;
  font-size: 9px;
  white-space: nowrap;
  cursor: pointer;
}

.haptelle-customizer .haptelle-customizer__head-types {
  display: flex;
  gap: 8px;
  margin: 0 12px 14px;
  padding: 11px;
  border: 1px solid var(--customizer-line);
}

.haptelle-customizer .haptelle-customizer__head-types legend {
  float: none;
  width: auto;
  margin: 0 0 6px;
  padding: 0;
  font-size: 11px;
  font-weight: 600;
}

.haptelle-customizer .haptelle-customizer__head-type {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  font-size: 11px;
}

.haptelle-customizer .haptelle-customizer__head-type input {
  accent-color: var(--customizer-accent);
}

.haptelle-customizer .haptelle-customizer__upload-pending {
  padding: 18px;
  border: 1px dashed #bfb7af;
  background: var(--customizer-paper);
}

.haptelle-customizer .haptelle-customizer__upload-pending p {
  margin: 6px 0 13px;
  color: var(--customizer-muted);
  font-size: 12px;
}

.haptelle-customizer .haptelle-customizer__summary-section {
  background: #fff;
}

.haptelle-customizer .haptelle-customizer__summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: start;
}

.haptelle-customizer .haptelle-customizer__summary-copy,
.haptelle-customizer .haptelle-customizer__totals,
.haptelle-customizer .haptelle-customizer__purchase-panel {
  border: 1px solid #eadbd0;
  border-radius: 14px;
  background: #fcf6f1;
}

.haptelle-customizer .haptelle-customizer__summary-copy {
  padding: 28px;
}

.haptelle-customizer .haptelle-customizer__summary-label {
  margin: 0 0 20px;
  color: #75685d;
  font-size: 20px;
}

.haptelle-customizer .haptelle-customizer__summary-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.haptelle-customizer .haptelle-customizer__summary-list li {
  display: flex;
  gap: 18px;
  justify-content: space-between;
  min-height: 58px;
  margin: 3px 0;
  padding: 14px 16px;
  border-radius: 9px;
  color: #756e65;
  background: #f5e6da;
}

.haptelle-customizer .haptelle-customizer__summary-list small,
.haptelle-customizer .haptelle-customizer__summary-list strong {
  display: block;
}

.haptelle-customizer .haptelle-customizer__summary-list small {
  margin-bottom: 4px;
  color: var(--customizer-muted);
  font-size: 10px;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.haptelle-customizer .haptelle-customizer__summary-list strong {
  font-size: 14px;
  font-weight: 500;
}

.haptelle-customizer .haptelle-customizer__summary-empty {
  margin: 0;
  padding: 20px;
  border-radius: 9px;
  color: var(--customizer-muted);
  background: #f5e6da;
}

.haptelle-customizer .haptelle-customizer__purchase {
  display: grid;
  gap: 18px;
}

.haptelle-customizer .haptelle-customizer__totals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 24px 14px;
  text-align: center;
}

.haptelle-customizer .haptelle-customizer__totals > div {
  min-width: 0;
  color: #262626;
  font-size: 16px;
  font-weight: 500;
}

.haptelle-customizer .haptelle-customizer__totals > div + div {
  border-left: 1px solid #dfc7b5;
}

.haptelle-customizer .haptelle-customizer__totals strong {
  display: block;
  margin-top: 10px;
  color: #101010;
  font-size: 30px;
  line-height: 1.3;
}

.haptelle-customizer .haptelle-customizer__purchase-panel {
  padding: 24px;
}

.haptelle-customizer .haptelle-customizer__quantity-label {
  display: block;
  margin: 0;
  color: var(--customizer-ink);
  font-size: 16px;
}

.haptelle-customizer .haptelle-customizer__purchase-actions {
  display: flex;
  gap: 14px;
  align-items: stretch;
  margin-top: 12px;
}

.haptelle-customizer .haptelle-customizer__quantity {
  display: inline-flex;
  flex: none;
  gap: 12px;
  align-items: center;
  min-height: 52px;
  padding: 6px;
  border: 1px solid #eadbd0;
  border-radius: 28px;
  background: #fffdfa;
}

.haptelle-customizer .haptelle-customizer__quantity button {
  display: grid;
  width: 31px;
  height: 31px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: var(--customizer-ink);
  background: transparent;
  cursor: pointer;
}

.haptelle-customizer .haptelle-customizer__quantity output {
  min-width: 18px;
  text-align: center;
}

.haptelle-customizer .haptelle-customizer__estimate-label {
  margin: 14px 0 0;
  color: var(--customizer-muted);
  font-size: 11px;
  text-align: right;
}

.haptelle-customizer .haptelle-customizer__cart-button {
  flex: 1;
  min-height: 52px;
}

.haptelle-customizer .haptelle-customizer__cart-button:disabled {
  cursor: not-allowed;
  opacity: .58;
}

.haptelle-customizer .haptelle-customizer__cart-message {
  margin: 12px 0 0;
  color: var(--customizer-muted);
  font-size: 12px;
  line-height: 1.5;
}

.haptelle-customizer--product .haptelle-customizer__stripe-button {
  display: block;
  width: 100%;
  min-height: 58px;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #705239;
  border-radius: 40px;
  color: var(--bg-wa-zdy-5);
  background: #fff;
}

.haptelle-customizer .haptelle-customizer__stripe-button:disabled {
  cursor: not-allowed;
  opacity: .58;
}

.haptelle-customizer .haptelle-customizer__payment-marks {
  display: flex;
  gap: clamp(12px, 3vw, 32px);
  align-items: center;
  justify-content: center;
  padding: 22px 0 4px;
}

.haptelle-customizer .haptelle-customizer__payment-marks img {
  width: min(65px, 20%);
  height: 44px;
  object-fit: contain;
}

.haptelle-customizer .haptelle-customizer__assurances {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 10px 0;
  color: #303940;
}

.haptelle-customizer .haptelle-customizer__assurances span {
  display: flex;
  gap: 7px;
  align-items: center;
  min-width: 0;
  font-size: 10px;
}

.haptelle-customizer .haptelle-customizer__assurances i {
  flex: none;
  font-size: 27px;
}

.haptelle-customizer .haptelle-customizer__specs {
  background: #fff;
}

.haptelle-customizer .haptelle-customizer__spec-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  background: var(--customizer-line);
}

.haptelle-customizer .haptelle-customizer__spec {
  padding: 22px;
  background: var(--customizer-paper);
  text-align: center;
}

.haptelle-customizer .haptelle-customizer__spec dt {
  color: var(--customizer-muted);
  font-size: 11px;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.haptelle-customizer .haptelle-customizer__spec dd {
  margin: 7px 0 0;
  font-size: 16px;
}

.haptelle-customizer .haptelle-customizer__understand {
  background: var(--customizer-page-background);
}

.haptelle-customizer .haptelle-customizer__option-story {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: clamp(34px, 6vw, 90px);
  align-items: center;
}

.haptelle-customizer .haptelle-customizer__option-story + .haptelle-customizer__option-story {
  margin-top: 80px;
}

.haptelle-customizer .haptelle-customizer__option-story:nth-child(even) .haptelle-customizer__option-story-media {
  order: 2;
}

.haptelle-customizer .haptelle-customizer__option-story-media {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 14px;
  align-items: end;
}

.haptelle-customizer .haptelle-customizer__story-image {
  overflow: hidden;
  background: var(--customizer-paper);
}

.haptelle-customizer .haptelle-customizer__story-image--small {
  aspect-ratio: 4 / 3;
}

.haptelle-customizer .haptelle-customizer__story-image--large {
  aspect-ratio: 3 / 4;
}

.haptelle-customizer .haptelle-customizer__story-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.haptelle-customizer .haptelle-customizer__story-number {
  color: var(--customizer-warm);
  font-size: 12px;
  letter-spacing: .16em;
}

.haptelle-customizer .haptelle-customizer__option-story-copy h3 {
  margin: 12px 0 16px;
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 500;
  line-height: 1.35;
}

.haptelle-customizer .haptelle-customizer__option-story-copy p {
  margin: 0;
  color: var(--customizer-muted);
  line-height: 1.75;
}

.haptelle-customizer .haptelle-customizer__timeline {
  background: var(--customizer-page-background);
}

.haptelle-customizer .haptelle-customizer__timeline-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.haptelle-customizer .haptelle-customizer__timeline-step {
  text-align: center;
}

.haptelle-customizer .haptelle-customizer__timeline-media {
  aspect-ratio: 4 / 3;
  margin-bottom: 20px;
  overflow: hidden;
  background: var(--customizer-paper);
}

.haptelle-customizer .haptelle-customizer__timeline-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.haptelle-customizer .haptelle-customizer__timeline-media-link {
  display: block;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

.haptelle-customizer .haptelle-customizer__timeline-media-link .haptelle-customizer__timeline-media {
  transition: opacity 160ms ease;
}

.haptelle-customizer .haptelle-customizer__timeline-media-link:hover .haptelle-customizer__timeline-media,
.haptelle-customizer .haptelle-customizer__timeline-media-link:focus-visible .haptelle-customizer__timeline-media {
  opacity: .94;
}

.haptelle-customizer .haptelle-customizer__timeline-number {
  color: var(--customizer-warm);
  font-size: 11px;
  letter-spacing: .15em;
}

.haptelle-customizer .haptelle-customizer__timeline-step h3 {
  margin: 9px 0;
  font-size: 18px;
  font-weight: 500;
}

.haptelle-customizer .haptelle-customizer__timeline-step p {
  margin: 0;
  color: var(--customizer-muted);
  font-size: 13px;
  line-height: 1.65;
}

.haptelle-customizer .haptelle-customizer__timeline-step small {
  display: block;
  margin-top: 9px;
  color: var(--customizer-accent);
}

.haptelle-customizer .haptelle-customizer__identity {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  min-height: 520px;
  background: var(--customizer-cream);
}

.haptelle-customizer .haptelle-customizer__identity-media {
  min-width: 0;
  overflow: hidden;
}

.haptelle-customizer .haptelle-customizer__identity-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.haptelle-customizer .haptelle-customizer__identity-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(40px, 7vw, 100px);
}

.haptelle-customizer .haptelle-customizer__identity-copy h2 {
  margin: 0 0 18px;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 500;
  line-height: 1.3;
}

.haptelle-customizer .haptelle-customizer__identity-copy p {
  margin: 0;
  color: var(--customizer-muted);
  line-height: 1.75;
}

.haptelle-customizer .haptelle-customizer__content-empty {
  grid-column: 1 / -1;
  padding: 30px;
  border: 1px dashed #c7beb6;
  color: var(--customizer-muted);
  background: var(--customizer-paper);
  text-align: center;
}

.haptelle-customizer .haptelle-customizer__shared-preview {
  text-align: center;
  background: var(--customizer-page-background);
}

.haptelle-customizer .haptelle-customizer__details {
  position: fixed;
  inset: 0;
  width: min(550px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 14px;
  color: var(--customizer-ink);
  background: var(--customizer-page-background);
  box-shadow: 0 24px 80px rgba(33, 27, 23, .28);
  overflow: auto;
  overscroll-behavior: contain;
}

.haptelle-customizer .haptelle-customizer__details[open] {
  display: block;
}

.haptelle-customizer .haptelle-customizer__details::backdrop {
  background: rgba(31, 27, 25, .6);
}

.haptelle-customizer .haptelle-customizer__details-close {
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 14px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  color: var(--customizer-ink);
  background: rgba(255, 255, 255, .9);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.haptelle-customizer .haptelle-customizer__details-media {
  position: relative;
  aspect-ratio: 4 / 3;
  min-height: 0;
  max-height: 56vh;
  background: var(--customizer-option-background);
}

.haptelle-customizer .haptelle-customizer__details-media > img:not(.haptelle-customizer__option-logo) {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.haptelle-customizer .haptelle-customizer__details-copy {
  padding: 24px 28px 30px;
}

.haptelle-customizer .haptelle-customizer__details-copy h2 {
  margin: 0 0 16px;
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 500;
}

.haptelle-customizer .haptelle-customizer__details-copy > p:last-child {
  margin: 0;
  color: var(--customizer-muted);
  line-height: 1.7;
}

@media (max-width: 1199.98px) {
  .haptelle-customizer .haptelle-customizer__product-grid {
    grid-template-columns: minmax(0, 1fr) minmax(390px, 1fr);
    gap: 25px;
  }

  .haptelle-customizer .haptelle-customizer__collection-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .haptelle-customizer .haptelle-customizer__timeline-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 44px;
  }
}

@media (max-width: 991.98px) {
  .haptelle-customizer .haptelle-customizer__product-grid,
  .haptelle-customizer .haptelle-customizer__summary,
  .haptelle-customizer .haptelle-customizer__option-story,
  .haptelle-customizer .haptelle-customizer__identity {
    grid-template-columns: minmax(0, 1fr);
  }

  .haptelle-customizer .haptelle-customizer__gallery {
    position: static;
  }

  .haptelle-customizer .haptelle-customizer__gallery-stage {
    height: min(720px, 100vw);
  }

  .haptelle-customizer .haptelle-customizer__option-story:nth-child(even) .haptelle-customizer__option-story-media {
    order: 0;
  }

  .haptelle-customizer .haptelle-customizer__identity {
    min-height: 0;
  }

  .haptelle-customizer .haptelle-customizer__identity-media {
    min-height: 440px;
  }

  .haptelle-customizer .haptelle-customizer__spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .haptelle-customizer .container-full-2 {
    padding-right: 16px;
    padding-left: 16px;
  }

  .haptelle-customizer .haptelle-customizer__collection-hero {
    padding: 58px 0 48px;
  }

  .haptelle-customizer .haptelle-customizer__collection,
  .haptelle-customizer .haptelle-customizer__editorial,
  .haptelle-customizer .haptelle-customizer__summary-section,
  .haptelle-customizer .haptelle-customizer__shared-preview {
    padding: 56px 0;
  }

  .haptelle-customizer .haptelle-customizer__collection-grid,
  .haptelle-customizer .haptelle-customizer__timeline-grid,
  .haptelle-customizer .haptelle-customizer__spec-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .haptelle-customizer .haptelle-customizer__product-top {
    padding: 0 0 54px;
  }

  .haptelle-customizer .haptelle-customizer__gallery {
    display: block;
  }

  .haptelle-customizer .haptelle-customizer__gallery > * + * {
    margin-top: 10px;
  }

  .haptelle-customizer .haptelle-customizer__category summary {
    gap: 10px;
    padding: 16px 14px;
    font-size: 16px;
  }

  .haptelle-customizer .haptelle-customizer__category-icon {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
  }

  .haptelle-customizer .haptelle-customizer__category-fields {
    padding-right: 14px;
    padding-left: 14px;
  }

  .haptelle-customizer .haptelle-customizer__gallery-thumbnails {
    gap: 10px;
    margin-top: 15px;
  }

  .haptelle-customizer .haptelle-customizer__gallery-thumb {
    width: 50px;
    height: 64px;
  }

  .haptelle-customizer .haptelle-customizer__gallery-stage {
    height: 480px;
  }

  .haptelle-customizer .haptelle-customizer__option-media {
    height: 54px;
  }

  .haptelle-customizer .haptelle-customizer__purchase {
    gap: 14px;
  }

  .haptelle-customizer .haptelle-customizer__summary-copy,
  .haptelle-customizer .haptelle-customizer__purchase-panel {
    padding: 20px;
  }

  .haptelle-customizer .haptelle-customizer__totals {
    padding: 20px 8px;
  }

  .haptelle-customizer .haptelle-customizer__totals > div {
    font-size: 13px;
  }

  .haptelle-customizer .haptelle-customizer__totals strong {
    font-size: 18px;
  }

  .haptelle-customizer .haptelle-customizer__purchase-actions {
    gap: 8px;
  }

  .haptelle-customizer .haptelle-customizer__quantity {
    gap: 5px;
  }

  .haptelle-customizer .haptelle-customizer__assurances {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 8px;
  }

  .haptelle-customizer .haptelle-customizer__option-story-media {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 8px;
  }

  .haptelle-customizer .haptelle-customizer__identity-media {
    min-height: 360px;
  }

  .haptelle-customizer .haptelle-customizer__identity-copy {
    padding: 42px 22px 52px;
  }

  .haptelle-customizer .haptelle-customizer__details-media {
    min-height: 0;
    max-height: 42vh;
  }

  .haptelle-customizer .haptelle-customizer__details-copy {
    padding: 28px 22px 34px;
  }

  .haptelle-customizer .haptelle-customizer__mode-badge {
    right: 10px;
    bottom: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .haptelle-customizer .haptelle-customizer__collection-media img {
    transition: none;
  }
}

/* Product-only presentation. Shared purchase typography comes from theme utilities
 * (.h3/.h4, mb-12-px, text-zdy-9, cl-text-3); custom UI follows the final Demo.
 * Do not reintroduce Demo H1/price/intro typography or append another override layer.
 */
.haptelle-customizer--product {
  --customizer-ink: #101010;
  --customizer-muted: #75685d;
  --customizer-accent: #594423;
  --customizer-warm: #8a705e;
  --customizer-line: #dfc7b5;
  --customizer-page-background: #fff0e5;
  --customizer-content-max: 1320px;
  --customizer-content-gutter: 32px;
  font: inherit;
}
.haptelle-customizer--product *,
.haptelle-customizer--product *::before,
.haptelle-customizer--product *::after { box-sizing: border-box; }
.haptelle-customizer--product :is(h1,h2,h3,button,input,output) { font-family: inherit; letter-spacing: normal; }
/* One content boundary for the custom product, including reused module shells.
 * Keep section backgrounds and the padding inside individual cards independent.
 */
.haptelle-customizer--product .haptelle-customizer__breadcrumbs,
.haptelle-customizer--product .haptelle-customizer__product-grid,
.haptelle-customizer--product .haptelle-customizer__summary-section,
.haptelle-customizer--product .haptelle-customizer__editorial,
.haptelle-customizer--product [data-customizer-shared-modules] > section > :is(.container-full-2, .haptelle-product-review-summary__inner) {
  width: calc(100% - var(--customizer-content-gutter) * 2);
  max-width: var(--customizer-content-max);
  margin-inline: auto;
  padding-inline: 0;
}
.haptelle-customizer--product .haptelle-customizer__product-top { padding-bottom: 0; }
.haptelle-customizer--product .haptelle-customizer__product-grid { grid-template-columns: minmax(0,1.06fr) minmax(0,1fr); gap: 42px; }
.haptelle-customizer--product .haptelle-customizer__gallery-stage { height: 730px; background: #e3cab7; }
.haptelle-customizer--product .haptelle-customizer__gallery-main { object-fit: cover; object-position: center; }
.haptelle-customizer--product .haptelle-customizer__product-panel { padding-top: 4px; min-width: 0; }
/* H1 and current price intentionally have no local font-size/weight/line-height. */
.haptelle-customizer--product .haptelle-customizer__product-panel h1 { color: var(--text); }
.haptelle-customizer--product .haptelle-customizer__base-price { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.haptelle-customizer--product .haptelle-customizer__base-price strong { margin: 0; }
.haptelle-customizer--product .haptelle-customizer__base-price del { font: inherit; }
.haptelle-customizer--product .haptelle-customizer__made-badge { margin-left: 8px; white-space: nowrap; }
.haptelle-customizer--product .haptelle-customizer__shipping-note { display: flex; gap: 9px; align-items: center; }
.haptelle-customizer--product .haptelle-customizer__shipping-note svg { width: 19px; height: 19px; flex: none; }
.haptelle-customizer--product .haptelle-customizer__shipping-link { margin: 2px 0 12px 28px; font-size: 14px; line-height: 1.5; }
.haptelle-customizer--product .haptelle-customizer__shipping-link a { color: #594423; text-decoration: underline; text-underline-offset: 3px; }
.haptelle-customizer--product .haptelle-customizer__shipping-link a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.haptelle-customizer--product .haptelle-customizer__category { background: #fff5ed; padding: 0; }
.haptelle-customizer--product .haptelle-customizer__category[open] { background: #fff7f1; overflow: visible; }
.haptelle-customizer--product .haptelle-customizer__category summary,
.haptelle-customizer--product .haptelle-customizer__category-summary { gap: 17px; padding: 17px 20px; min-height: 74px; font-size: 15px; font-weight: 700; justify-content: flex-start; }
.haptelle-customizer--product .haptelle-customizer__category summary::after { content: ''; width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); flex-shrink: 0; margin: -5px 2px 0 auto; color: #101010; }
.haptelle-customizer--product .haptelle-customizer__category[open] summary::after { content: ''; transform: rotate(225deg); margin-top: 5px; }
.haptelle-customizer--product .haptelle-customizer__category-icon { width: 34px; height: 34px; flex-basis: 34px; border-radius: 0; background: transparent; }
.haptelle-customizer--product .haptelle-customizer__category-index { width: auto; height: auto; border: 0; border-radius: 0; color: #101010; font-size: 12px; font-weight: 400; }
.haptelle-customizer--product .haptelle-customizer__category-value { color: #594423; font-weight: 400; }
.haptelle-customizer--product .haptelle-customizer__category-fields { padding: 0 20px 10px; }
.haptelle-customizer--product .haptelle-customizer__field { padding: 13px 0 16px; }
.haptelle-customizer--product .haptelle-customizer__field-heading h3 { font-size: 14px; line-height: 26px; font-weight: 700; margin: 0 0 11px; }
.haptelle-customizer--product .haptelle-customizer__field-heading p { font-size: 12px; line-height: 1.55; font-weight: 400; }
.haptelle-customizer--product .haptelle-customizer__options { display: flex; flex-wrap: wrap; width: 100%; gap: 12px; align-items: start; }
.haptelle-customizer--product .haptelle-customizer__option-wrap { flex: 0 0 142px; min-width: 0; max-width: 100%; position: relative; }
.haptelle-customizer--product .haptelle-customizer__option { height: 176px; min-height: 176px; border-radius: 9px; background: transparent; overflow: visible; }
.haptelle-customizer--product .haptelle-customizer__option.is-selected { box-shadow: inset 0 0 0 1px #594423; }
.haptelle-customizer--product .haptelle-customizer__option:hover { background: #f4ebe3; border-color: #bc9678; }
.haptelle-customizer--product .haptelle-customizer__option-select { display: grid; grid-template-rows: 64px minmax(0,1fr); align-content: center; gap: 5px; padding: 10px 7px; margin: 0; position: relative; border-radius: inherit; }
.haptelle-customizer--product .haptelle-customizer__option-select > input { width: 1px; height: 1px; padding: 0; margin: 0; opacity: 0; }
.haptelle-customizer--product .haptelle-customizer__option:focus-within { outline: 2px solid #594423; outline-offset: 3px; }
.haptelle-customizer--product .haptelle-customizer__option.is-selected .haptelle-customizer__option-select::after { content: ''; position: absolute; right: 8px; top: 7px; width: 5px; height: 9px; border-right: 1.5px solid #594423; border-bottom: 1.5px solid #594423; transform: rotate(45deg); }
.haptelle-customizer--product .haptelle-customizer__option-media { height: 64px; padding: 0; overflow: visible; background: transparent; }
.haptelle-customizer--product .haptelle-customizer__option-media > img:not(.haptelle-customizer__option-logo) { width: 64px; height: 64px; background: #fafaf8; }
.haptelle-customizer--product .haptelle-customizer__option-copy { padding: 0; }
.haptelle-customizer--product .haptelle-customizer__option-title { display: grid; grid-template-rows: minmax(37px,auto) minmax(28px,auto); gap: 4px; align-items: center; font-size: 12px; line-height: 16px; }
.haptelle-customizer--product .haptelle-customizer__option-title strong { font-size: 12px; line-height: 17px; font-weight: 500; }
.haptelle-customizer--product .haptelle-customizer__option-price { font-size: 11px; line-height: 16px; margin: 0; color: #594423; }
.haptelle-customizer--product .haptelle-customizer__option-price del,
.haptelle-customizer--product .haptelle-customizer__option-current-price { display: block; white-space: nowrap; }
.haptelle-customizer--product .haptelle-customizer__option-price del { color: #aaa; }
.haptelle-customizer--product .haptelle-customizer__option-reason { position: absolute; width: max-content; max-width: 180px; z-index: 3; bottom: 100%; padding: 6px; background: #fff7f1; border: 1px solid #dfc7b5; display: none; }
.haptelle-customizer--product .haptelle-customizer__option:is(:hover,:focus-within) .haptelle-customizer__option-reason { display: block; }
.haptelle-customizer--product .haptelle-customizer__details-button { position: static; display: flex; align-items: center; justify-content: center; gap: 4px; transform: none; margin: 4px auto 0; padding: 1px 6px; height: 30px; border: 0; color: #8a705e; font-size: 11px; line-height: 28px; }
.haptelle-customizer--product .haptelle-customizer__details-button svg { width: 12px; height: 12px; }
.haptelle-customizer--product .haptelle-customizer__hover-card { pointer-events: none; position: absolute; z-index: 30; bottom: calc(100% + 8px); left: 50%; display: none; width: 220px; padding: 22px; transform: translateX(-50%); border: 1px solid #e9d9cc; border-radius: 10px; background: #fff; box-shadow: 0 10px 35px rgba(83,49,21,.15); color: #594423; text-align: center; }
.haptelle-customizer--product .haptelle-customizer__hover-image { display: block; width: 160px; height: 170px; margin: 0 auto; border-radius: 6px; background: #fafaf8; object-fit: cover; object-position: top; }
.haptelle-customizer--product .haptelle-customizer__hover-card strong { display: block; margin-top: 12px; font-size: 13px; line-height: 18px; font-weight: 600; }
.haptelle-customizer--product .haptelle-customizer__hover-card p { margin: 8px 0 0; color: #594423; font-size: 12px; line-height: 1.7; font-weight: 400; }
.haptelle-customizer--product .haptelle-customizer__option-wrap:is(:hover,:focus-within) .haptelle-customizer__hover-card { display: block; }
.haptelle-customizer--product [data-customizer-field="additional_head"] .haptelle-customizer__option { height: 176px; }
.haptelle-customizer--product .haptelle-customizer__head-types { flex-wrap: wrap; align-items: center; margin: 16px 0 0; padding: 15px; border: 0; border-radius: 8px; background: #f3ebe3; }
.haptelle-customizer--product .haptelle-customizer__head-types-title { flex: 0 0 100%; font-size: 12px; }
.haptelle-customizer--product .haptelle-customizer__head-type { border: 1px solid #b78f71; border-radius: 20px; padding: 6px 12px; color: #594423; }
.haptelle-customizer--product .haptelle-customizer__head-note { flex: 0 0 100%; font-size: 10px; line-height: 1.55; color: #77563f; margin: 9px 0 0; }
.haptelle-customizer--product .haptelle-customizer__summary-section { margin-block: 65px; padding: 0; background: transparent; }
.haptelle-customizer--product .haptelle-customizer__summary-section > .container-full-2 { padding: 0; width: 100%; max-width: none; }
.haptelle-customizer--product .haptelle-customizer__summary { align-items: stretch; gap: 28px; }
.haptelle-customizer--product .haptelle-customizer__summary-copy,
.haptelle-customizer--product .haptelle-customizer__purchase { border: 1px solid #dfc7b5; border-radius: 12px; background: transparent; }
.haptelle-customizer--product .haptelle-customizer__summary-copy { padding: 28px; }
.haptelle-customizer--product .haptelle-customizer__purchase { padding: 18px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.haptelle-customizer--product .haptelle-customizer__summary h2 { font-size: 36px; line-height: 1.25; color: #4d2c14; margin: 0 0 8px; }
.haptelle-customizer--product .haptelle-customizer__summary-label { font-size: 17px; line-height: 24px; margin-bottom: 18px; }
.haptelle-customizer--product .haptelle-customizer__summary-list li { align-items: center; min-height: 42px; padding: 10px 14px; gap: 20px; font-size: 13px; line-height: 20px; }
.haptelle-customizer--product .haptelle-customizer__summary-list strong { font-size: inherit; font-weight: 500; color: #62432c; text-align: right; }
.haptelle-customizer--product .haptelle-customizer__summary-empty { font-size: 12px; line-height: 20px; font-weight: 400; color: #756e65; background: #f2e6dd; }
.haptelle-customizer--product .haptelle-customizer__totals,
.haptelle-customizer--product .haptelle-customizer__purchase-panel { background: transparent; border: 0; border-radius: 0; }
.haptelle-customizer--product .haptelle-customizer__totals { padding: 24px 14px; }
.haptelle-customizer--product .haptelle-customizer__purchase-panel { padding: 24px; }
.haptelle-customizer--product .haptelle-customizer__cart-button { border: 0; border-radius: 30px; padding: 15px 23px; background: linear-gradient(110deg,#624326,#775531); color: white; justify-content: center; }
.haptelle-customizer--product .haptelle-customizer__assurances { margin-top: auto; grid-template-columns: repeat(4,minmax(0,1fr)); }
.haptelle-customizer--product .haptelle-customizer__editorial { margin-block: 64px; padding: 0; background: transparent; }
.haptelle-customizer--product .haptelle-customizer__editorial > .container-full-2 { padding: 0; width: 100%; max-width: none; }
.haptelle-customizer--product .haptelle-customizer__section-heading { max-width: none; margin: 0 0 30px; }
.haptelle-customizer--product .haptelle-customizer__section-heading h2 { margin: 0; color: #594423; }
.haptelle-customizer--product .haptelle-customizer__section-heading h2,
.haptelle-customizer--product .haptelle-customizer__shared-preview h2,
.haptelle-customizer--product .haptelle-product-review-summary__title,
.haptelle-customizer--product .haptelle-related-products .sect-heading h2,
.haptelle-customizer--product .haptelle-product-related-stories__heading h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.3;
}
.haptelle-customizer--product .haptelle-customizer__spec-media { width: 100%; aspect-ratio: 2560 / 1067; overflow: hidden; }
.haptelle-customizer--product .haptelle-customizer__spec-media picture { display: block; width: 100%; height: 100%; }
.haptelle-customizer--product .haptelle-customizer__spec-media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.haptelle-customizer--product .haptelle-customizer__option-story { grid-template-columns: 1fr 1fr; gap: 0; min-height: 420px; background: #f8eee6; align-items: stretch; }
.haptelle-customizer--product .haptelle-customizer__option-story + .haptelle-customizer__option-story { margin-top: 48px; }
.haptelle-customizer--product .haptelle-customizer__option-story-copy { padding: 38px; display: flex; flex-direction: column; justify-content: center; }
.haptelle-customizer--product .haptelle-customizer__option-story-copy h3 { font-size: 22px; line-height: 1.4; margin: 0 0 20px; }
.haptelle-customizer--product .haptelle-customizer__option-story-copy p { font-size: 14px; line-height: 1.8; margin: 14px 0 0; color: #101010; font-weight: 400; }
.haptelle-customizer--product .haptelle-customizer__option-story--head .haptelle-customizer__option-story-copy,
.haptelle-customizer--product .haptelle-customizer__option-story--soft .haptelle-customizer__option-story-copy { text-align: center; align-items: center; }
.haptelle-customizer--product .haptelle-customizer__story-image { background: #e6cebc; min-width: 0; }
.haptelle-customizer--product .haptelle-customizer__story-image--small { width: min(220px,100%); aspect-ratio: 4/3; }
.haptelle-customizer--product .haptelle-customizer__option-story--head .haptelle-customizer__story-image--large { aspect-ratio: 1/1; }
.haptelle-customizer--product .haptelle-customizer__story-image img { display: block; object-position: top; }
.haptelle-customizer--product .haptelle-customizer__option-story--soft { grid-template-rows: 260px 260px; gap: 8px; background: transparent; }
.haptelle-customizer--product .haptelle-customizer__option-story--feature { display: block; min-height: 0; padding: 0; background: transparent; }
.haptelle-customizer--product .haptelle-customizer__feature-content { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: clamp(32px, 4vw, 72px); }
.haptelle-customizer--product .haptelle-customizer__feature-carousel { position: relative; min-width: 0; }
.haptelle-customizer--product .haptelle-customizer__feature-slider { min-width: 0; }
.haptelle-customizer--product .haptelle-customizer__feature-slider .swiper-slide { height: auto; }
.haptelle-customizer--product .haptelle-customizer__story-image--feature { width: 100%; aspect-ratio: 1 / 1; }
.haptelle-customizer--product .haptelle-customizer__story-image--feature img { width: 100%; height: 100%; object-fit: cover; }
.haptelle-customizer--product .haptelle-customizer__feature-navigation { position: absolute; inset: 50% -10px auto; z-index: 2; display: flex; justify-content: space-between; transform: translateY(-50%); pointer-events: none; }
.haptelle-customizer--product .haptelle-customizer__feature-navigation button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 4px; background: #604c31; color: #fff; font-size: 23px; cursor: pointer; pointer-events: auto; }
.haptelle-customizer--product .haptelle-customizer__feature-navigation button.swiper-button-disabled { opacity: .45; cursor: default; }
.haptelle-customizer--product .haptelle-customizer__feature-navigation button:focus-visible { outline: 2px solid #604c31; outline-offset: 3px; }
.haptelle-customizer--product .haptelle-customizer__option-story--feature .haptelle-customizer__option-story-copy { padding: 0; text-align: left; align-items: flex-start; }
.haptelle-customizer--product .haptelle-customizer__option-story--feature .haptelle-customizer__option-story-copy h3 { margin: 0 0 8px; color: #604c31; font-size: clamp(22px, 2vw, 28px); font-weight: 500; line-height: 1.3; }
.haptelle-customizer--product .haptelle-customizer__option-story--feature .haptelle-customizer__option-story-copy p { margin: 0; color: #5c5248; font-size: 16px; line-height: 1.75; white-space: pre-line; }
.haptelle-customizer--product .haptelle-customizer__option-story--skeleton { display: block; min-height: 0; background: transparent; }
.haptelle-customizer--product .haptelle-customizer__option-story--skeleton .haptelle-customizer__option-story-copy { display: block; padding: 0; text-align: center; }
.haptelle-customizer--product .haptelle-customizer__option-story--skeleton .haptelle-customizer__option-story-copy h3 { margin: 0 0 38px; color: #594423; font-size: clamp(24px, 2.2vw, 32px); font-weight: 500; }
.haptelle-customizer--product .haptelle-customizer__skeleton-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.haptelle-customizer--product .haptelle-customizer__skeleton-card { min-width: 0; }
.haptelle-customizer--product .haptelle-customizer__story-image--skeleton { width: 100%; aspect-ratio: 1; background: #fff; }
.haptelle-customizer--product .haptelle-customizer__story-image--skeleton img { display: block; width: 100%; height: 100%; object-fit: contain; }
.haptelle-customizer--product .haptelle-customizer__skeleton-card p { margin: 20px 0 0; color: #5c6470; font-size: 16px; line-height: 1.6; text-align: left; font-weight: 400; }
.haptelle-customizer--product .haptelle-customizer__timeline-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.haptelle-customizer--product .haptelle-customizer__timeline-media { position: relative; height: 180px; aspect-ratio: auto; border-radius: 8px; margin: 0; background: #dfc6b1; }
.haptelle-customizer--product .haptelle-customizer__timeline-number { position: absolute; top: 8px; left: 8px; display: grid; place-items: center; width: 26px; height: 26px; border: 2px solid #fff0e5; border-radius: 50%; background: #ac8265; color: white; font-size: 12px; letter-spacing: normal; }
.haptelle-customizer--product .haptelle-customizer__timeline-step h3 { font-size: 16px; margin: 14px 0 7px; line-height: 1.4; }
.haptelle-customizer--product .haptelle-customizer__timeline-step p { font-size: 16px; line-height: 1.7; font-weight: 400; }
.haptelle-customizer--product .haptelle-customizer__timeline-step h3,
.haptelle-customizer--product .haptelle-customizer__timeline-step p { text-align: center; }
.haptelle-customizer--product .haptelle-customizer__timeline-step small { display: inline-block; box-sizing: border-box; width: max-content; min-width: min(25ch, 100%); max-width: 100%; font-size: 14px; line-height: 1.4; border-radius: 20px; padding: 7px 12px; background: #f1dfcf; color: #594423; overflow-wrap: anywhere; }
.haptelle-customizer--product .haptelle-customizer__identity { display: block; min-height: 0; }
.haptelle-customizer--product .haptelle-customizer__identity-banner { position: relative; min-height: 400px; aspect-ratio: 2.2 / 1; overflow: hidden; background: #dac0aa; }
.haptelle-customizer--product .haptelle-customizer__identity-media { position: absolute; inset: 0; min-height: 0; }
.haptelle-customizer--product .haptelle-customizer__identity-media picture { display: block; width: 100%; height: 100%; }
.haptelle-customizer--product .haptelle-customizer__identity-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.haptelle-customizer--product .haptelle-customizer__identity-banner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(255,250,245,.66),rgba(255,250,245,.25) 43%,transparent 70%); pointer-events: none; }
.haptelle-customizer--product .haptelle-customizer__identity-copy { position: relative; z-index: 1; width: min(48%,650px); padding: clamp(28px,4vw,80px); }
.haptelle-customizer--product .haptelle-customizer__identity-copy h3 { font-size: clamp(24px,2.5vw,42px); line-height: 1.25; color: #ffe2a9; margin-bottom: 20px; }
.haptelle-customizer--product .haptelle-customizer__identity-copy p { font-size: clamp(15px,1.4vw,23px); line-height: 1.5; font-weight: 400; color: #101010; }
.haptelle-customizer--product .haptelle-customizer__identity-link { align-self: flex-start; margin-top: 28px; border-bottom: 1px solid currentColor; color: #594423; font-size: 17px; line-height: 1.5; text-decoration: none; }
.haptelle-customizer--product .haptelle-customizer__identity-link:hover { color: #7a5c34; }
.haptelle-customizer--product .haptelle-customizer__identity-link:focus-visible { outline: 2px solid #594423; outline-offset: 4px; }
.haptelle-customizer--product .haptelle-customizer__identity-link[hidden] { display: none; }
.haptelle-customizer--product .haptelle-customizer__faq { margin-block: 64px; }
.haptelle-customizer--product .haptelle-customizer__faq h2 { margin: 0 0 44px; color: #594423; font-family: 'Montserrat',sans-serif; font-size: 30px; font-weight: 500; line-height: 1.3; text-align: center; }
.haptelle-customizer--product .haptelle-customizer__faq-list { width: 100%; max-width: 1160px; margin-inline: auto; }
.haptelle-customizer--product .haptelle-customizer__faq-item { border-bottom: 1px solid #e8d8ca; }
.haptelle-customizer--product .haptelle-customizer__faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 0; color: #594423; cursor: pointer; list-style: none; font-size: 19px; font-weight: 600; line-height: 1.45; }
.haptelle-customizer--product .haptelle-customizer__faq-item summary::-webkit-details-marker { display: none; }
.haptelle-customizer--product .haptelle-customizer__faq-item summary svg { width: 20px; height: 20px; flex: 0 0 20px; transition: transform .2s ease; }
.haptelle-customizer--product .haptelle-customizer__faq-item[open] summary svg { transform: rotate(180deg); }
.haptelle-customizer--product .haptelle-customizer__faq-answer { padding: 0 36px 22px 0; color: #5c554d; font-size: 16px; line-height: 1.7; }
.haptelle-customizer--product .haptelle-customizer__faq-answer :is(p,ul,ol,li) { font-weight: 400; }
.haptelle-customizer--product .haptelle-customizer__faq-answer > :first-child { margin-top: 0; }
.haptelle-customizer--product .haptelle-customizer__faq-answer > :last-child { margin-bottom: 0; }
@media(min-width:1500px) { .haptelle-customizer--product .haptelle-customizer__gallery-stage { height: 820px; } }
@media(max-width:1050px) {
  .haptelle-customizer--product .haptelle-customizer__product-grid { gap: 25px; }
  .haptelle-customizer--product .haptelle-customizer__gallery-stage { height: 600px; }
  .haptelle-customizer--product .haptelle-customizer__summary-section { margin-block: 45px; }
}

@media (max-width: 740px) {
  .haptelle-customizer--product .haptelle-customizer__spec-media { aspect-ratio: 4 / 5; }
  .haptelle-customizer--product .haptelle-customizer__spec-media img { object-fit: cover; }
}
@media(min-width:741px) {
  .haptelle-customizer--product .haptelle-customizer__summary { grid-template-columns: 1fr 1fr; }
  .haptelle-customizer--product .haptelle-customizer__gallery { position: sticky; }
}
@media(max-width:740px) {
  .haptelle-customizer--product { --customizer-content-gutter: 20px; }
  /* Shared flat-spacing modules otherwise add the site's !important gutter. */
  .haptelle-customizer--product [data-customizer-shared-modules] > section > .container-full-2 { padding-inline: 0 !important; }
  .haptelle-customizer--product .haptelle-customizer__product-grid { display: block; }
  .haptelle-customizer--product .haptelle-customizer__gallery { position: static; }
  .haptelle-customizer--product .haptelle-customizer__gallery-stage { height: 480px; }
  .haptelle-customizer--product .haptelle-customizer__gallery-note { margin-bottom: 30px; }
  .haptelle-customizer--product .haptelle-customizer__category summary { gap: 10px; min-height: 70px; }
  .haptelle-customizer--product .haptelle-customizer__category-fields { padding: 0 14px 10px; }
  .haptelle-customizer--product .haptelle-customizer__options { gap: 10px; overflow: visible; padding: 2px; scroll-snap-type: none; }
  .haptelle-customizer--product .haptelle-customizer__option-wrap { flex-basis: 142px; scroll-snap-align: none; }
  .haptelle-customizer--product .haptelle-customizer__option-wrap .haptelle-customizer__hover-card { display: none; }
  .haptelle-customizer--product [data-customizer-field="head_type"] .haptelle-customizer__option-wrap { flex: 0 0 142px; }
  .haptelle-customizer--product [data-customizer-field="additional_head"] .haptelle-customizer__option-wrap { flex-basis: 142px; }
  .haptelle-customizer--product .haptelle-customizer__summary-section { margin-block: 30px; }
  .haptelle-customizer--product .haptelle-customizer__summary { grid-template-columns: 1fr; gap: 18px; }
  .haptelle-customizer--product .haptelle-customizer__summary-copy { padding: 20px; }
  .haptelle-customizer--product .haptelle-customizer__summary h2 { font-size: 28px; }
  .haptelle-customizer--product .haptelle-customizer__purchase,
  .haptelle-customizer--product .haptelle-customizer__purchase-panel { padding: 12px; }
  .haptelle-customizer--product .haptelle-customizer__totals { padding: 20px 8px; }
  .haptelle-customizer--product .haptelle-customizer__totals strong { font-size: 24px; }
  .haptelle-customizer--product .haptelle-customizer__summary-list li { font-size: 12px; min-height: 38px; padding: 9px 12px; }
  .haptelle-customizer--product .haptelle-customizer__assurances { gap: 4px; }
  .haptelle-customizer--product .haptelle-customizer__assurances span { flex-direction: column; text-align: center; font-size: 9px; line-height: 15px; }
  .haptelle-customizer--product .haptelle-customizer__editorial { margin-block: 42px; }
  .haptelle-customizer--product .haptelle-customizer__option-story { grid-template-columns: 1fr; }
  .haptelle-customizer--product .haptelle-customizer__option-story-copy { padding: 24px; }
  .haptelle-customizer--product .haptelle-customizer__skeleton-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .haptelle-customizer--product .haptelle-customizer__option-story--soft { grid-template-rows: auto 200px 200px 260px; }
  .haptelle-customizer--product .haptelle-customizer__feature-content { grid-template-columns: 1fr; gap: 24px; }
  .haptelle-customizer--product .haptelle-customizer__timeline-grid { grid-template-columns: 1fr 1fr; gap: 20px 14px; }
  .haptelle-customizer--product .haptelle-customizer__timeline-media { height: 140px; }
  .haptelle-customizer--product .haptelle-customizer__identity-banner { min-height: 480px; aspect-ratio: auto; }
  .haptelle-customizer--product .haptelle-customizer__identity-media { inset: 0; }
  .haptelle-customizer--product .haptelle-customizer__identity-banner::after { background: linear-gradient(180deg,rgba(30,24,20,.67),rgba(30,24,20,.25) 70%,transparent); }
  .haptelle-customizer--product .haptelle-customizer__identity-copy { width: min(100%,600px); padding: 25px; }
  .haptelle-customizer--product .haptelle-customizer__identity-copy h3 { font-size: 22px; }
  .haptelle-customizer--product .haptelle-customizer__identity-copy p { font-size: 15px; color: #fff; }
  .haptelle-customizer--product .haptelle-customizer__identity-link { margin-top: 20px; font-size: 15px; color: #fff; }
  .haptelle-customizer--product .haptelle-customizer__faq { margin-block: 42px; }
  .haptelle-customizer--product .haptelle-customizer__faq h2 { margin-bottom: 22px; font-size: 25px; }
  .haptelle-customizer--product .haptelle-customizer__faq-item summary { padding-block: 18px; font-size: 16px; }
}

@media (max-width: 560px) {
  .haptelle-customizer--product .haptelle-customizer__skeleton-grid { grid-template-columns: 1fr; }
  .haptelle-customizer--product .haptelle-customizer__option-story--skeleton .haptelle-customizer__option-story-copy h3 { margin-bottom: 24px; }
  .haptelle-customizer--product .haptelle-customizer__skeleton-card p { margin-top: 12px; font-size: 14px; }
}

.haptelle-customizer--product .haptelle-customizer__option--fixed { display: grid; grid-template-rows: 64px minmax(0,1fr); align-content: center; gap: 5px; padding: 10px 7px; }
.haptelle-customizer--product .haptelle-customizer__category:not([open]) > .haptelle-customizer__category-fields { display: none; }

.haptelle-customizer--product .haptelle-customizer__field-help { margin: 12px 0 0; color: #75685d; font-size: 12px; line-height: 1.55; font-weight: 400; }
.haptelle-customizer--product .haptelle-customizer__tattoo-uploads { margin: 22px 0 0; padding: 20px; border: 1px solid #e8d8ca; border-radius: 14px; background: #faf7f3; }
.haptelle-customizer--product .haptelle-customizer__tattoo-uploads h4 { margin: 0 0 8px; font-size: 17px; }
.haptelle-customizer--product .haptelle-customizer__tattoo-uploads > p { margin: 0 0 14px; color: #75685d; }
.haptelle-customizer--product .haptelle-customizer__tattoo-upload-label { display: block; margin-top: 16px; font-weight: 600; }
.haptelle-customizer--product .haptelle-customizer__tattoo-upload-input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.haptelle-customizer--product .haptelle-customizer__tattoo-upload-button { display: table; margin-top: 8px; padding: 9px 15px; border: 1px solid #8d7764; border-radius: 8px; background: #fff; color: #3f342b; cursor: pointer; font-size: 13px; font-weight: 600; }
.haptelle-customizer--product .haptelle-customizer__tattoo-upload-label:hover .haptelle-customizer__tattoo-upload-button { background: #f4ebe3; }
.haptelle-customizer--product .haptelle-customizer__tattoo-upload-label:focus-within .haptelle-customizer__tattoo-upload-button { outline: 2px solid #6c8189; outline-offset: 2px; }
.haptelle-customizer--product .haptelle-customizer__tattoo-uploads > .haptelle-customizer__tattoo-upload-status { margin: 6px 0 0; font-size: 12px; overflow-wrap: anywhere; }
.haptelle-customizer--product .haptelle-customizer__tattoo-uploads > .haptelle-customizer__tattoo-upload-hint { margin: 4px 0 0; color: #75685d; font-size: 12px; }
.haptelle-customizer--product .haptelle-customizer__tattoo-upload-error { color: #b42318 !important; }
