/* centered contact cta, shown immediately after description and reviews. */
.ethereal-contact-card{position:relative!important;isolation:isolate;display:block!important;grid-template-columns:none!important;gap:0!important;box-sizing:border-box;width:100%;max-width:1280px;margin:34px auto 72px;padding:48px 30px 42px;overflow:hidden;border:1px solid var(--eth-color-border);border-radius:22px;background:linear-gradient(135deg,var(--eth-color-surface) 0%,var(--eth-color-soft) 100%);text-align:center;box-shadow:0 16px 44px color-mix(in srgb, var(--eth-color-heading) 5%, transparent)}
.ethereal-contact-card:before,.ethereal-contact-card:after{content:"";position:absolute;z-index:-1;width:260px;height:260px;border-radius:50%;background:var(--eth-color-soft);filter:blur(1px);opacity:.56}.ethereal-contact-card:before{top:-178px;left:-100px}.ethereal-contact-card:after{right:-125px;bottom:-195px;background:var(--eth-color-border)}
.ethereal-contact-card .ethereal-kicker{margin:0 0 11px;color:var(--eth-color-accent);font-size:10px;letter-spacing:.15em}.ethereal-contact-card h2{margin:0 0 11px;color:var(--eth-color-heading);font-size:clamp(26px,3vw,36px);line-height:1.1;letter-spacing:-.045em}.ethereal-contact-card h2:before{content:"✦";display:grid;place-items:center;width:37px;height:37px;margin:0 auto 17px;border-radius:50%;background:var(--eth-color-heading);color:var(--eth-color-surface);font-family: var(--eth-font-body);font-size:16px;letter-spacing:0}.ethereal-contact-card__text{max-width:570px;margin:0 auto 25px;color:var(--eth-color-text);font-size:15px;line-height:1.65}
.ethereal-contact-card__links{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;width:100%;margin:0 auto!important;gap:11px!important;text-align:center}.ethereal-contact-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:190px;min-height:48px;padding:0 20px;border:1px solid var(--eth-color-accent);border-radius:9px;background:var(--eth-color-accent);color:var(--eth-color-surface)!important;font-size:13px;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}.ethereal-contact-button:hover,.ethereal-contact-button:last-child:hover{border-color:var(--eth-color-accent-hover);background:var(--eth-color-accent-hover);box-shadow:0 8px 16px color-mix(in srgb, var(--eth-color-accent) 20%, transparent);transform:translatey(-2px)}.ethereal-contact-button:last-child{border:1px solid var(--eth-color-accent);background:var(--eth-color-accent)}.ethereal-contact-button svg{width:18px;height:18px;fill:none;stroke:currentcolor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){.ethereal-contact-card{margin:28px auto 52px;padding:38px 20px 32px;border-radius:16px}.ethereal-contact-card__links{flex-direction:column!important;align-items:stretch!important;max-width:310px;margin:auto!important}.ethereal-contact-button{width:100%}.ethereal-contact-card__text{font-size:14px}}
/* woocommerce attribute table in the “product details” tab. */
.ethereal-product-page .woocommerce-product-attributes{width:100%;margin:0;border:0;border-collapse:separate;border-spacing:0}.ethereal-product-page .woocommerce-product-attributes th,.ethereal-product-page .woocommerce-product-attributes td{padding:15px 17px;border:0!important;border-bottom:1px solid var(--eth-color-border)!important;background:transparent!important;text-align:left}.ethereal-product-page .woocommerce-product-attributes tr:first-child th,.ethereal-product-page .woocommerce-product-attributes tr:first-child td{border-top:1px solid var(--eth-color-border)!important}.ethereal-product-page .woocommerce-product-attributes th{width:32%;color:var(--eth-color-text);font-size:13px;font-style:normal;font-weight:600}.ethereal-product-page .woocommerce-product-attributes td{color:var(--eth-color-heading);font-size:14px;font-style:normal;font-weight:700}.ethereal-product-page .woocommerce-product-attributes td p{margin:0}@media(max-width:544px){.ethereal-product-page .woocommerce-product-attributes th,.ethereal-product-page .woocommerce-product-attributes td{padding:13px 10px}.ethereal-product-page .woocommerce-product-attributes th{width:42%}}

/* keep only the outer purchase-card frame. */
body.single-product .ethereal-product .ethereal-summary .ethereal-cart form.variations_form.cart {
	border: 0 !important;
	border-radius: 0 !important;
}


/** universal compact contact banner matching the chocolate product design. */
body.single-product .ethereal-contact-card {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template: "icon title links" "icon text links" / 64px minmax(0, 1fr) auto !important;
  gap: 2px 24px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 1170px !important;
  min-height: 118px !important;
  margin: 26px auto 22px !important;
  padding: 24px 72px 24px 96px !important;
  color: var(--eth-color-heading) !important;
  background:
    radial-gradient(circle at 0 0, color-mix(in srgb, var(--eth-color-accent-soft) 72%, transparent) 0 58px, transparent 59px),
    radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--eth-color-border) 72%, transparent) 0 82px, transparent 83px),
    linear-gradient(105deg, var(--eth-color-surface) 0%, var(--eth-color-surface) 58%, var(--eth-color-soft) 100%) !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  text-align: left !important;
}
body.single-product .ethereal-contact-card::before {
  content: "" !important;
  grid-area: 1 / 1 / 3 !important;
  width: 62px !important;
  height: 62px !important;
  display: grid !important;
  place-items: center !important;
  place-self: center start !important;
  position: relative !important;
  inset: auto !important;
  margin: 0 !important;
  transform: none !important;
  color: var(--eth-color-heading) !important;
  background: var(--eth-color-accent-soft) !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}
body.single-product .ethereal-contact-card .ethereal-kicker {
  display: none !important;
}
body.single-product .ethereal-contact-card h2 {
  grid-area: 1 / 2 !important;
  align-self: end !important;
  position: relative !important;
  z-index: 1 !important;
  margin: 0 !important;
  color: var(--eth-color-heading) !important;
  font-size: 21px !important;
  line-height: 1.15 !important;
  text-align: left !important;
  text-transform: none !important;
}
body.single-product .ethereal-contact-card h2::before {
  content: "✧" !important;
  position: absolute !important;
  left: -86px !important;
  top: 50% !important;
  z-index: 2 !important;
  width: 62px !important;
  height: 62px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--eth-color-heading) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: translatey(-15%) !important;
  font-size: 28px !important;
}
body.single-product .ethereal-contact-card__text {
  grid-area: 2 / 2 !important;
  align-self: start !important;
  position: relative !important;
  z-index: 1 !important;
  max-width: 560px !important;
  margin: 0 !important;
  color: var(--eth-color-text) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}
body.single-product .ethereal-contact-card__links {
  grid-area: 1 / 3 / 3 !important;
  align-self: center !important;
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  margin: 0 !important;
  gap: 14px !important;
}
body.single-product .ethereal-contact-card__links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 160px !important;
  height: 50px !important;
  padding: 0 24px !important;
  color: var(--eth-color-text) !important;
  background: linear-gradient(100deg, var(--eth-color-accent-soft) 0%, var(--eth-color-accent-soft) 100%) !important;
  border: 0 !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}
body.single-product .ethereal-contact-card__links a:hover {
  color: var(--eth-color-heading) !important;
  background: linear-gradient(100deg, var(--eth-color-accent-soft) 0%, var(--eth-color-accent-hover) 100%) !important;
  transform: translatey(-1px) !important;
}
body.single-product .ethereal-contact-card__links svg {
  color: var(--eth-color-text) !important;
  stroke: currentcolor !important;
}
@media (max-width: 921px) {
  body.single-product .ethereal-contact-card {
    grid-template-columns: 54px 1fr !important;
    grid-template-areas: "icon title" "icon text" "links links" !important;
    padding: 28px !important;
    background:
      radial-gradient(circle at 0 0, color-mix(in srgb, var(--eth-color-accent-soft) 72%, transparent) 0 52px, transparent 53px),
      radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--eth-color-border) 72%, transparent) 0 68px, transparent 69px),
      linear-gradient(105deg, var(--eth-color-surface) 0%, var(--eth-color-surface) 58%, var(--eth-color-soft) 100%) !important;
  }
  body.single-product .ethereal-contact-card__links {
    grid-area: links !important;
    margin-top: 16px !important;
  }
}
@media (max-width: 544px) {
  body.single-product .ethereal-contact-card {
    display: block !important;
    padding: 28px 20px !important;
    text-align: center !important;
  }
  body.single-product .ethereal-contact-card::before {
    margin: 0 auto 12px !important;
  }
  body.single-product .ethereal-contact-card h2 {
    text-align: center !important;
  }
  body.single-product .ethereal-contact-card h2::before {
    display: none !important;
  }
  body.single-product .ethereal-contact-card__links {
    flex-direction: column !important;
  }
  body.single-product .ethereal-contact-card__links a {
    width: 100% !important;
  }
}

/* === Soulmate personalization form polish === */
body.postid-1619 form.cart .apo-options {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.postid-1619 form.cart .apo-field {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--eth-color-border, #eadde3) !important;
  border-radius: 10px !important;
  background: var(--eth-color-soft, #faf7f8) !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: visible !important;
}

body.postid-1619 form.cart .apo-field:hover,
body.postid-1619 form.cart .apo-field.is-engaged,
body.postid-1619 form.cart .apo-field:focus-within {
  border-color: var(--eth-color-border, #eadde3) !important;
  background: var(--eth-color-soft, #faf7f8) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.postid-1619 form.cart .apo-field__label {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  transform: none !important;
  color: var(--eth-color-heading, #252525) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

body.postid-1619 form.cart .apo-field__label-text,
body.postid-1619 form.cart .apo-required {
  position: static !important;
  transform: none !important;
}

body.postid-1619 form.cart .apo-tip-toggle {
  display: none !important;
}

body.postid-1619 form.cart .apo-tip,
body.postid-1619 form.cart .apo-field__desc,
body.postid-1619 form.cart .apo-tip[hidden],
body.postid-1619 form.cart .apo-field__desc[hidden] {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--eth-color-text, #696969) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere !important;
}

body.postid-1619 form.cart .apo-field textarea {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 118px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--eth-color-border, #d9cdd2) !important;
  border-radius: 9px !important;
  outline: 0 !important;
  background: var(--eth-color-surface, #fff) !important;
  color: var(--eth-color-heading, #252525) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  resize: vertical !important;
}

body.postid-1619 form.cart .apo-field textarea:focus {
  border-color: #dfa9c2 !important;
  box-shadow: 0 0 0 3px rgba(223, 169, 194, .2) !important;
}

body.postid-1619 form.cart .apo-counter {
  position: static !important;
  display: block !important;
  width: 100% !important;
  margin: 6px 0 0 !important;
  color: var(--eth-color-text, #696969) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  text-align: right !important;
}

body.postid-1619 form.cart .apo-file,
body.postid-1619 form.cart .apo-file-list,
body.postid-1619 form.cart .apo-file-status {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.postid-1619 form.cart .apo-file-picker {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 9px !important;
  box-sizing: border-box !important;
  border: 1px dashed var(--eth-color-border, #d9cdd2) !important;
  border-radius: 9px !important;
  background: var(--eth-color-surface, #fff) !important;
  color: var(--eth-color-text, #696969) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  overflow: hidden !important;
}

body.postid-1619 form.cart .apo-file-picker::file-selector-button {
  margin-right: 10px !important;
  padding: 8px 12px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #f4dce7 !important;
  color: var(--eth-color-heading, #252525) !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

@media (max-width: 544px) {
  body.postid-1619 form.cart,
  body.postid-1619 form.cart .apo-options {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.postid-1619 form.cart .apo-options {
    gap: 12px !important;
  }

  body.postid-1619 form.cart .apo-field {
    padding: 14px !important;
  }

  body.postid-1619 form.cart .apo-field__label {
    font-size: 14px !important;
  }

  body.postid-1619 form.cart .apo-field textarea {
    min-height: 150px !important;
    padding: 12px !important;
    font-size: 16px !important;
  }

  body.postid-1619 form.cart .apo-file-picker {
    padding: 8px !important;
    font-size: 12px !important;
  }
}
/* === end Soulmate personalization form polish === */

/* Soulmate desktop field alignment. */
@media (min-width: 545px) {
  body.postid-1619 form.cart .apo-options {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }
}
/* end Soulmate desktop field alignment */

/* Soulmate fields fill the available column evenly. */
body.postid-1619 form.cart .apo-options {
  max-width: none !important;
  justify-items: stretch !important;
  align-items: stretch !important;
}

body.postid-1619 form.cart .apo-field {
  max-width: none !important;
  justify-self: stretch !important;
}
/* end Soulmate fields fill the available column evenly */

/* Soulmate purchase controls: stable desktop row and mobile stack. */
body.postid-1619 form.cart {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  column-gap: 14px !important;
  row-gap: 14px !important;
  align-items: stretch !important;
}

body.postid-1619 form.cart .apo-options {
  grid-column: 1 / -1 !important;
  margin-bottom: 0 !important;
}

body.postid-1619 form.cart .quantity {
  grid-column: 1 !important;
  float: none !important;
  display: inline-flex !important;
  align-items: stretch !important;
  align-self: stretch !important;
  width: max-content !important;
  height: 52px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.postid-1619 form.cart .quantity .minus,
body.postid-1619 form.cart .quantity .qty,
body.postid-1619 form.cart .quantity .plus {
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.postid-1619 form.cart .single_add_to_cart_button {
  grid-column: 2 !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  width: min(100%, 320px) !important;
  min-width: 0 !important;
  min-height: 52px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 544px) {
  body.postid-1619 form.cart {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.postid-1619 form.cart .apo-options,
  body.postid-1619 form.cart .quantity,
  body.postid-1619 form.cart .single_add_to_cart_button {
    grid-column: 1 !important;
  }

  body.postid-1619 form.cart .quantity,
  body.postid-1619 form.cart .single_add_to_cart_button {
    width: 100% !important;
    max-width: none !important;
  }

  body.postid-1619 form.cart .quantity .minus,
  body.postid-1619 form.cart .quantity .qty,
  body.postid-1619 form.cart .quantity .plus {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}
/* end Soulmate purchase controls */

/* Soulmate centred purchase controls and bottom breathing room. */
@media (min-width: 545px) {
  body.postid-1619 form.cart {
    grid-template-columns:
      minmax(16px, 1fr)
      max-content
      minmax(0, 320px)
      minmax(16px, 1fr) !important;
    padding-bottom: 18px !important;
  }

  body.postid-1619 form.cart .apo-options {
    grid-column: 1 / -1 !important;
  }

  body.postid-1619 form.cart .quantity {
    grid-column: 2 !important;
    justify-self: end !important;
  }

  body.postid-1619 form.cart .single_add_to_cart_button {
    grid-column: 3 !important;
    justify-self: start !important;
    width: 320px !important;
    max-width: 100% !important;
  }
}

@media (max-width: 544px) {
  body.postid-1619 form.cart {
    padding-bottom: 18px !important;
  }

  body.postid-1619 form.cart .quantity,
  body.postid-1619 form.cart .single_add_to_cart_button {
    justify-self: center !important;
  }
}
/* end Soulmate centred purchase controls */

/* === Standard product personalization UI === */
body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) {
  display: grid !important;
  grid-template-columns:
    minmax(16px, 1fr)
    max-content
    minmax(0, 320px)
    minmax(16px, 1fr) !important;
  column-gap: 14px !important;
  row-gap: 14px !important;
  align-items: stretch !important;
  padding-bottom: 18px !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin-bottom: 0 !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  justify-items: stretch !important;
  align-items: stretch !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-field {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--eth-color-border, #eadde3) !important;
  border-radius: 10px !important;
  background: var(--eth-color-soft, #faf7f8) !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: visible !important;
  justify-self: stretch !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-field:hover,
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-field.is-engaged,
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-field:focus-within {
  border-color: var(--eth-color-border, #eadde3) !important;
  background: var(--eth-color-soft, #faf7f8) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-field__label {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  transform: none !important;
  color: var(--eth-color-heading, #252525) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-field__label-text,
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-required {
  position: static !important;
  transform: none !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-tip-toggle {
  display: none !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-tip,
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-field__desc,
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-tip[hidden],
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-field__desc[hidden] {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--eth-color-text, #696969) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options input[type="text"],
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options input[type="email"],
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options input[type="tel"],
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options input[type="url"],
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options input[type="number"],
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options input[type="date"],
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options input[type="time"],
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options select,
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options textarea {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--eth-color-border, #d9cdd2) !important;
  border-radius: 9px !important;
  outline: 0 !important;
  background: var(--eth-color-surface, #fff) !important;
  color: var(--eth-color-heading, #252525) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options textarea {
  min-height: 118px !important;
  resize: vertical !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options input:focus,
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options select:focus,
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options textarea:focus {
  border-color: #dfa9c2 !important;
  box-shadow: 0 0 0 3px rgba(223, 169, 194, .2) !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-counter {
  position: static !important;
  display: block !important;
  width: 100% !important;
  margin: 6px 0 0 !important;
  color: var(--eth-color-text, #696969) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  text-align: right !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-file,
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-file-list,
body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-file-status {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-file-picker {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 9px !important;
  box-sizing: border-box !important;
  border: 1px dashed var(--eth-color-border, #d9cdd2) !important;
  border-radius: 9px !important;
  background: var(--eth-color-surface, #fff) !important;
  color: var(--eth-color-text, #696969) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  overflow: hidden !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-file-picker::file-selector-button {
  margin-right: 10px !important;
  padding: 8px 12px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: #f4dce7 !important;
  color: var(--eth-color-heading, #252525) !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) > .quantity {
  grid-column: 2 !important;
  float: none !important;
  display: inline-flex !important;
  align-items: stretch !important;
  align-self: stretch !important;
  justify-self: end !important;
  width: max-content !important;
  height: 52px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) > .quantity .minus,
body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) > .quantity .qty,
body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) > .quantity .plus {
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) > .single_add_to_cart_button {
  grid-column: 3 !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  justify-self: start !important;
  width: 320px !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 544px) {
  body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    padding-bottom: 18px !important;
  }

  body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options,
  body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) > .quantity,
  body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) > .single_add_to_cart_button {
    grid-column: 1 !important;
  }

  body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options {
    gap: 12px !important;
    padding: 0 12px !important;
  }

  body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-field {
    padding: 14px !important;
  }

  body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options .apo-field__label {
    font-size: 14px !important;
  }

  body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options input[type="text"],
  body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options input[type="email"],
  body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options input[type="tel"],
  body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options input[type="url"],
  body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options input[type="number"],
  body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options select,
  body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options textarea {
    padding: 12px !important;
    font-size: 16px !important;
  }

  body.single-product form.cart:not(.ethereal-magazine-personalization) > .apo-options textarea {
    min-height: 150px !important;
  }

  body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) > .quantity,
  body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) > .single_add_to_cart_button {
    justify-self: center !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) > .quantity .minus,
  body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) > .quantity .qty,
  body.single-product form.cart:not(.ethereal-magazine-personalization):has(> .apo-options) > .quantity .plus {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}
/* === end Standard product personalization UI === */

