/* ============================================================
   Hey You — product / configurator skin
   Maps WCPA + Elementor template 57 to the HTML prototype.
   Loaded after Additional CSS so these rules win.
   ============================================================ */

/* ---------- PDP columns ----------
   Leave Elementor’s flex widths alone. Overriding width/% or forcing
   position:sticky fights Elementor Sticky: the left column leaves the
   flow and the form jumps into the first column. */
@media (min-width: 1025px) {
  .elementor-57 .elementor-element-21ec3974 {
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 44px !important;
    --gap: 44px 44px !important;
    --column-gap: 44px !important;
  }

  .elementor-57 .elementor-element-722516e7 {
    min-width: 0;
  }
}

.elementor-57 .elementor-element-5d390712 {
  --padding-top: 32px !important;
  --padding-bottom: 20px !important;
}

.elementor-57 .elementor-element-724b7a0b {
  --spacer-size: 8px !important;
}

.elementor-57 .elementor-element-256d0e31,
.elementor-57 .elementor-element-3a764517 {
  --spacer-size: 0px !important;
}

/* ---------- gallery = .stage + .photostrip ---------- */
.elementor-location-single .woocommerce-product-gallery {
  opacity: 1 !important;
  max-width: 100%;
  width: 100%;
  overflow: hidden;
}

.elementor-location-single .woocommerce-product-gallery .flex-viewport {
  max-width: 100%;
}

.elementor-location-single .woocommerce-product-gallery__image {
  max-width: 100%;
  box-sizing: border-box;
}

.elementor-location-single .woocommerce-product-gallery__trigger {
  display: none !important;
}

.elementor-location-single .flex-viewport {
  background: var(--cream-3);
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden !important;
  max-width: 100%;
}

.elementor-location-single .woocommerce-product-gallery__image {
  max-width: 100%;
}

.elementor-location-single .flex-viewport img,
.elementor-location-single .woocommerce-product-gallery__image img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.elementor-location-single .zoomImg {
  display: none !important;
}

.elementor-location-single ol.flex-control-nav.flex-control-thumbs {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 0 !important;
  padding: 0;
  float: none !important;
}

.elementor-location-single ol.flex-control-nav.flex-control-thumbs li {
  width: 52px !important;
  height: 52px;
  float: none !important;
  margin: 0 !important;
}

.elementor-location-single ol.flex-control-nav.flex-control-thumbs li img {
  width: 52px !important;
  height: 52px !important;
  object-fit: cover;
  border-radius: 11px;
  border: 2px solid var(--line);
  opacity: 1 !important;
  box-sizing: border-box;
}

.elementor-location-single ol.flex-control-nav.flex-control-thumbs li img.flex-active {
  border-color: var(--terra);
}

/* Lead / self-serve cards under the photo */
.elementor-57 .elementor-element-598e223 {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  align-items: flex-start !important;
  background: var(--peri) !important;
  border-radius: 14px !important;
  --padding-top: 13px !important;
  --padding-bottom: 13px !important;
  --padding-left: 15px !important;
  --padding-right: 15px !important;
  padding: 13px 15px !important;
  margin-top: 14px !important;
}

.elementor-57 .elementor-element-598e223 .elementor-heading-title {
  font-size: 13.5px !important;
  color: var(--blue) !important;
  margin: 0 !important;
}

.elementor-57 .elementor-element-598e223 .elementor-widget-text-editor,
.elementor-57 .elementor-element-598e223 .elementor-widget-text-editor p {
  font-size: 12px !important;
  color: var(--ink-60) !important;
  line-height: 1.45 !important;
  margin: 2px 0 0 !important;
}

.elementor-57 .elementor-element-337e108 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin-top: 12px !important;
}

.elementor-57 .elementor-element-21945e2,
.elementor-57 .elementor-element-c90674b {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  --padding-top: 14px !important;
  --padding-bottom: 14px !important;
  --padding-left: 14px !important;
  --padding-right: 14px !important;
  --justify-content: flex-start !important;
  padding: 14px !important;
  justify-content: flex-start !important;
}

.elementor-57 .elementor-element-21945e2 .elementor-heading-title,
.elementor-57 .elementor-element-c90674b .elementor-heading-title {
  font-size: 13.5px !important;
  color: var(--blue) !important;
  margin: 0 0 3px !important;
}

.elementor-57 .elementor-element-21945e2 .elementor-widget-text-editor p,
.elementor-57 .elementor-element-c90674b .elementor-widget-text-editor p {
  font-size: 12.5px !important;
  color: var(--ink-60) !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

.elementor-widget-woocommerce-product-title .product_title {
  font-size: 32px !important;
  margin-top: 10px !important;
  color: var(--blue) !important;
}

.elementor-element-1daa7501 {
  color: var(--ink-60) !important;
  font-size: 13.5px !important;
  margin-top: -4px !important;
}

.woocommerce-breadcrumb {
  font-size: 12.5px !important;
  color: var(--ink-60) !important;
}

/* Mix bar injected under the gallery */
.heyyou-mixbar {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  margin-top: 14px;
}

.heyyou-mixbar .mixhead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 11px;
}

.heyyou-mixbar .mixhead b {
  font-size: 13px;
  color: var(--blue);
}

.heyyou-mixbar .presettag {
  font-size: 10.5px;
  font-weight: 600;
  background: var(--peri);
  color: var(--blue);
  padding: 3px 10px;
  border-radius: 14px;
  white-space: nowrap;
}

.heyyou-mixbar .presettag.custom {
  background: #FDF0E9;
  color: var(--terra-dk);
}

.heyyou-mixbar .mixcols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}

.heyyou-mixbar .mixc {
  text-align: center;
}

.heyyou-mixbar .mixc i {
  display: block;
  width: 100%;
  height: 34px;
  border-radius: 9px;
  border: 1px solid rgba(0, 0, 0, .08);
  margin-bottom: 5px;
}

.heyyou-mixbar .mixc b {
  display: block;
  font-size: 10.5px;
  font-weight: 600;
  color: var(--blue);
  line-height: 1.25;
}

.heyyou-mixbar .mixc span {
  font-size: 9px;
  color: var(--ink-60);
  letter-spacing: .04em;
}

/* ---------- WCPA form = .opt sections ---------- */
body.single-product .wcpa_form_outer,
body.single-product .wcpa_wrap {
  font-family: "Jost", system-ui, sans-serif;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Spacing lives on the ROW, not the fieldset. Fieldset padding-top sits
   under the <legend>, which jammed headings into the options above. */
body.single-product .wcpa_wrap .wcpa_row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  width: 100% !important;
  padding: 20px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  box-sizing: border-box !important;
}

body.single-product .wcpa_wrap [class*="wcpa-col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.single-product .wcpa_wrap fieldset.wcpa_field_wrap,
body.single-product .wcpa_wrap .wcpa_field_wrap {
  border: 0 !important;
  min-width: 0 !important;
  min-inline-size: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  background: transparent !important;
}

body.single-product .wcpa_wrap .wcpa_type_select.wcpa_cl_disabled,
body.single-product .wcpa_wrap .wcpa_row:has(.wcpa_type_select.wcpa_cl_disabled),
body.single-product .wcpa_wrap .wcpa_type_separator,
body.single-product .wcpa_wrap .wcpa_row:has(.wcpa_type_separator) {
  display: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Palettes + Customize (+ optional pickers) = one .opt */
body.single-product .wcpa_wrap .wcpa_row:has(#color_group_7070720901) {
  border-bottom: 0 !important;
  padding-bottom: 12px !important;
}

body.single-product form.cart:has(.heyyou-palette-opt) .wcpa_wrap > .wcpa_row:first-child,
body.single-product .wcpa_wrap .wcpa_row:has(#checkbox_4258137428),
body.single-product .wcpa_wrap .wcpa_row:has(#radio_7248019757) {
  padding-top: 8px !important;
  padding-bottom: 20px !important;
}

body.single-product .wcpa_wrap .wcpa_row:has(#checkbox_4258137428):has(+ .wcpa_row .wcpa_type_select:not(.wcpa_cl_disabled)),
body.single-product .wcpa_wrap .wcpa_row:has(#radio_7248019757):has(+ .wcpa_row .wcpa_type_select:not(.wcpa_cl_disabled)) {
  border-bottom: 0 !important;
  padding-bottom: 12px !important;
}

body.single-product .wcpa_wrap .wcpa_row:has(.wcpa_type_select:not(.wcpa_cl_disabled)) {
  border-bottom: 0 !important;
  padding: 10px 0 !important;
}

body.single-product .wcpa_wrap .wcpa_row:has(.wcpa_type_select:not(.wcpa_cl_disabled)):not(:has(+ .wcpa_row .wcpa_type_select:not(.wcpa_cl_disabled))) {
  border-bottom: 1px solid var(--line) !important;
  padding-bottom: 20px !important;
}

/* Font + lettering colour share one .opt
   Prototype: lettering opthead margin 16px 0 10px */
body.single-product .wcpa_wrap .wcpa_row:has(.custom_font) {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.single-product .wcpa_wrap .wcpa_row:has(.custom_font) + .wcpa_row:has(.wcpa_type_color-group) {
  padding-top: 16px !important;
  padding-bottom: 20px !important;
}

body.single-product .wcpa_wrap .wcpa_row:has(.custom_font) + .wcpa_row:has(.wcpa_type_color-group) .wcpa_field_label {
  margin: 0 0 10px !important;
}

/* Bubble size + tail share one .opt
   Prototype: tail opthead margin 18px 0 10px */
body.single-product .wcpa_wrap .wcpa_row:has(#radio-group-7033386903) {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.single-product .wcpa_wrap .wcpa_row:has(#radio-group-7033386903) + .wcpa_row:has(.wcpa_type_color-group) {
  padding-top: 18px !important;
  padding-bottom: 20px !important;
}

body.single-product .wcpa_wrap .wcpa_row:has(#radio-group-7033386903) + .wcpa_row:has(.wcpa_type_color-group) .wcpa_field_label {
  margin: 0 0 10px !important;
}

body.single-product .wcpa_wrap .wcpa_field_label,
body.single-product .wcpa_wrap legend.wcpa_field_label,
body.single-product .wcpa_wrap fieldset.wcpa_field_wrap > legend.wcpa_field_label {
  font-size: 14.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--blue) !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  line-height: 1.25 !important;
  width: 100% !important;
  display: block;
}

body.single-product .wcpa_wrap #checkbox_4258137428 > legend.wcpa_field_label,
body.single-product .wcpa_wrap #radio_7248019757 > legend.wcpa_field_label {
  font-size: 13px !important;
  margin: 0 0 8px !important;
}

body.single-product .wcpa_wrap .wcpa_required_ast {
  color: var(--terra) !important;
}

body.single-product .wcpa_wrap .wcpa_field_desc,
body.single-product .wcpa_wrap .wcpa_desc,
body.single-product .wcpa_wrap .wcpa_description,
body.single-product .wcpa_wrap .wcpa_hint {
  font-size: 12.5px !important;
  color: var(--ink-60) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: -4px 0 12px !important;
  line-height: 1.45 !important;
}

body.single-product .wcpa_wrap .wcpa_field_desc:empty,
body.single-product .wcpa_wrap .wcpa_desc:empty,
body.single-product .wcpa_wrap [id^="desc_"]:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .wcpa_wrap .wcpa_grp_title {
  margin: 0 0 10px !important;
}

body.single-product .wcpa_wrap .wcpa_field_price,
body.single-product .wcpa_wrap .wcpa_field_bottom {
  display: none !important;
}

body.single-product .wcpa_wrap label {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--blue) !important;
}

body.single-product .wcpa_wrap input[type="text"],
body.single-product .wcpa_wrap input[type="number"],
body.single-product .wcpa_wrap textarea {
  border: 1.5px solid var(--line-2) !important;
  border-radius: 12px !important;
  padding: 11px 13px !important;
  font-size: 16px !important;
  background: #fff !important;
}

body.single-product .wcpa_wrap input[type="text"]:focus {
  border-color: var(--terra) !important;
  box-shadow: 0 0 0 3px rgba(219, 120, 82, .14) !important;
}

/* Colour groups → vinyl pills (.vin) */
body.single-product .wcpa_wrap .wcpa_type_color-group .wcpa_group_field,
body.single-product .wcpa_wrap .wcpa_disp_squircle {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  grid-template-columns: none !important;
}

body.single-product .wcpa_wrap .wcpa_color {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
}

body.single-product .wcpa_wrap .wcpa_color label {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  padding: 8px 12px 8px 8px !important;
  margin: 0 !important;
  cursor: pointer;
  box-shadow: none !important;
  outline: none !important;
  width: auto !important;
}

body.single-product .wcpa_wrap .wcpa_color:hover label {
  border-color: var(--peach) !important;
}

body.single-product .wcpa_wrap .wcpa_color:has(input:checked) label,
body.single-product .wcpa_wrap .wcpa_color.wcpa_selected label {
  border-color: var(--terra) !important;
  box-shadow: 0 0 0 3px rgba(219, 120, 82, .16) !important;
}

body.single-product .wcpa_wrap .wcpa_color_wrap,
body.single-product .wcpa_wrap .wcpa_disp_squircle .wcpa_color_wrap {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  border-radius: 50% !important;
  overflow: hidden;
  margin: 0 !important;
  flex: none !important;
  display: block !important;
}

body.single-product .wcpa_wrap .wcpa_color_bg {
  width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(0, 0, 0, .12);
}

body.single-product .wcpa_wrap .wcpa_color_label,
body.single-product .wcpa_wrap .wcpa_color_label span {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--blue) !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

body.single-product .wcpa_wrap .wcpa_selected_tick,
body.single-product .wcpa_wrap .wcpa_color_wrap input {
  /* keep input clickable but visually gone */
}

body.single-product .wcpa_wrap .wcpa_color_wrap input {
  position: absolute !important;
  opacity: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  cursor: pointer;
}

body.single-product .wcpa_wrap .wcpa_selected_tick,
body.single-product .wcpa_wrap .wcpa_color_bg::after {
  display: none !important;
  visibility: hidden !important;
}

/* Recommend colour / standalone Designer Pick palettes */
body.single-product .heyyou-palette-opt,
body.single-product .wcpa_wrap #color_group_7070720901 {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  column-gap: 10px;
  position: relative;
}

body.single-product .heyyou-palette-opt {
  padding: 20px 0 12px;
  margin: 0;
  width: 100%;
  border: 0;
}

body.single-product .heyyou-palette-opt .heyyou-palette-label,
body.single-product .wcpa_wrap #color_group_7070720901 > legend.wcpa_field_label {
  grid-column: 1;
  margin: 0 0 0 !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: var(--blue) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.single-product .heyyou-palette-opt .heyyou-palette-current,
body.single-product .wcpa_wrap #color_group_7070720901 .heyyou-palette-current {
  grid-column: 2;
  font-size: 12px;
  color: var(--ink-60);
  font-weight: 500;
}

body.single-product .heyyou-palette-opt .heyyou-palette-hint,
body.single-product .heyyou-palette-opt .heyyou-presetrow,
body.single-product .wcpa_wrap #color_group_7070720901 .heyyou-palette-hint,
body.single-product .wcpa_wrap #color_group_7070720901 .heyyou-presetrow,
body.single-product .wcpa_wrap #color_group_7070720901 .wcpa_group_field,
body.single-product .wcpa_wrap #color_group_7070720901 .wcpa_field_bottom {
  grid-column: 1 / -1;
}

body.single-product .heyyou-palette-opt .heyyou-palette-hint,
body.single-product .wcpa_wrap #color_group_7070720901 .heyyou-palette-hint {
  font-size: 12.5px;
  color: var(--ink-60);
  margin: 8px 0 12px;
}

body.single-product .wcpa_wrap #color_group_7070720901 .heyyou-native-palettes {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

body.single-product .heyyou-palette-opt .heyyou-presetrow,
body.single-product form.cart .heyyou-presetrow,
body.single-product .wcpa_wrap .heyyou-presetrow {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 7px !important;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 2px 8px !important;
  margin: 0 0 4px !important;
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.single-product .heyyou-palette-opt .heyyou-preset,
body.single-product form.cart .heyyou-preset,
body.single-product .wcpa_wrap .heyyou-preset {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 0 0 86px !important;
  width: 86px !important;
  min-width: 86px !important;
  max-width: 86px !important;
  margin: 0 !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--blue) !important;
  padding: 7px !important;
  cursor: pointer;
  text-align: left !important;
  font-family: "Jost", sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  appearance: none !important;
}

body.single-product .heyyou-palette-opt .heyyou-preset:hover,
body.single-product form.cart .heyyou-preset:hover,
body.single-product .wcpa_wrap .heyyou-preset:hover {
  background: #fff !important;
  color: var(--blue) !important;
  border-color: var(--peach) !important;
}

body.single-product .heyyou-palette-opt .heyyou-preset.sel,
body.single-product form.cart .heyyou-preset.sel,
body.single-product .wcpa_wrap .heyyou-preset.sel {
  background: #fff !important;
  color: var(--blue) !important;
  border-color: var(--terra) !important;
  box-shadow: 0 0 0 3px rgba(219, 120, 82, .16) !important;
}

body.single-product .heyyou-palette-opt .heyyou-preset .pchips,
body.single-product form.cart .heyyou-preset .pchips,
body.single-product .wcpa_wrap .heyyou-preset .pchips {
  display: flex !important;
  flex-direction: row !important;
  gap: 2px !important;
  margin: 0 0 5px !important;
  width: 100% !important;
}

body.single-product .heyyou-palette-opt .heyyou-preset .pchips i,
body.single-product form.cart .heyyou-preset .pchips i,
body.single-product .wcpa_wrap .heyyou-preset .pchips i {
  flex: 1 1 0 !important;
  height: 18px !important;
  min-height: 18px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(0, 0, 0, .07) !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-style: normal !important;
}

body.single-product .heyyou-palette-opt .heyyou-preset .pnm,
body.single-product form.cart .heyyou-preset .pnm,
body.single-product .wcpa_wrap .heyyou-preset .pnm {
  font-size: 9.5px !important;
  font-weight: 600 !important;
  color: var(--blue) !important;
  line-height: 1.2 !important;
  display: block !important;
  margin: 0 !important;
  white-space: normal !important;
}

/* Radio groups → pills (size, customize) */
body.single-product .wcpa_wrap .wcpa_type_radio-group:not(.custom_font) .wcpa_group_field,
body.single-product .wcpa_wrap .wcpa_type_radio-group:not(.custom_font) .wcpa_fl_inline {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

body.single-product .wcpa_wrap .wcpa_type_radio-group:not(.custom_font) .wcpa_radio {
  width: auto !important;
  flex: none !important;
  margin: 0 !important;
}

body.single-product .wcpa_wrap .wcpa_check_ui_button:not(.custom_font) .wcpa_radio label,
body.single-product .wcpa_wrap .wcpa_type_radio-group:not(.custom_font) .wcpa_radio label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border: 1.5px solid var(--line-2) !important;
  background: #fff !important;
  border-radius: 22px !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  color: var(--blue) !important;
  font-weight: 500 !important;
  margin: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  width: auto !important;
  min-width: 0 !important;
}

body.single-product .wcpa_wrap .wcpa_type_radio-group:not(.custom_font) .wcpa_radio:hover label {
  border-color: var(--terra) !important;
}

body.single-product .wcpa_wrap .wcpa_type_radio-group:not(.custom_font) .wcpa_radio:has(input:checked) label,
body.single-product .wcpa_wrap .wcpa_type_radio-group:not(.custom_font) .wcpa_selected label,
body.single-product .wcpa_wrap .wcpa_check_ui_button:not(.custom_font) .wcpa_selected label {
  border-color: var(--terra) !important;
  background: var(--terra) !important;
  color: #fff !important;
  font-weight: 600 !important;
  outline: none !important;
}

body.single-product .wcpa_wrap .wcpa_type_radio-group:not(.custom_font) .wcpa_check {
  display: none !important;
}

body.single-product .wcpa_wrap .wcpa_type_radio-group:not(.custom_font) .wcpa_option_price {
  font-weight: 600;
}

body.single-product .wcpa_wrap .wcpa_type_radio-group:not(.custom_font) .wcpa_radio:has(input:checked) .wcpa_option_price {
  color: #FBE6DC;
}

/* Customize Colours — single checkbox (was a Yes radio) */
body.single-product .wcpa_wrap .wcpa_type_checkbox:not(.wcpa_type_checkbox-group) .wcpa_checkbox {
  width: auto !important;
  margin: 0 !important;
}

body.single-product .wcpa_wrap .wcpa_type_checkbox:not(.wcpa_type_checkbox-group) .wcpa_checkbox label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border: 1.5px solid var(--line-2) !important;
  background: #fff !important;
  border-radius: 22px !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  color: var(--blue) !important;
  font-weight: 500 !important;
  margin: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  width: auto !important;
  min-width: 0 !important;
}

body.single-product .wcpa_wrap .wcpa_type_checkbox:not(.wcpa_type_checkbox-group) .wcpa_checkbox:hover label {
  border-color: var(--terra) !important;
}

body.single-product .wcpa_wrap .wcpa_type_checkbox:not(.wcpa_type_checkbox-group) .wcpa_checkbox:has(input:checked) label,
body.single-product .wcpa_wrap .wcpa_type_checkbox:not(.wcpa_type_checkbox-group) .wcpa_selected label {
  border-color: var(--terra) !important;
  background: var(--terra) !important;
  color: #fff !important;
  font-weight: 600 !important;
}

body.single-product .wcpa_wrap .wcpa_type_checkbox:not(.wcpa_type_checkbox-group) .wcpa_check {
  display: none !important;
}

/* Fonts → .fontgrid / .fnt */
body.single-product .wcpa_wrap .custom_font .wcpa_group_field {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px !important;
}

@media (min-width: 720px) {
  body.single-product .wcpa_wrap .custom_font .wcpa_group_field {
    grid-template-columns: repeat(5, 1fr);
  }
}

body.single-product .wcpa_wrap .custom_font .wcpa_radio {
  width: 100% !important;
  margin: 0 !important;
}

body.single-product .wcpa_wrap .custom_font .wcpa_radio label,
body.single-product .wcpa_wrap .custom_font.wcpa_check_ui_button .wcpa_radio label {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 13px !important;
  padding: 11px 5px !important;
  background: #fff !important;
  text-align: center !important;
  min-height: 72px;
  width: 100% !important;
  margin: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}

body.single-product .wcpa_wrap .custom_font .wcpa_radio:hover label {
  border-color: var(--peach) !important;
}

body.single-product .wcpa_wrap .custom_font .wcpa_radio:has(input:checked) label,
body.single-product .wcpa_wrap .custom_font .wcpa_selected label {
  border-color: var(--terra) !important;
  box-shadow: 0 0 0 3px rgba(219, 120, 82, .18) !important;
  background: #fff !important;
  color: var(--blue) !important;
}

body.single-product .wcpa_wrap .custom_font .wcpa_check {
  display: none !important;
}

body.single-product .wcpa_wrap .custom_font .wcpa_radio label::before {
  content: "Aa";
  display: block;
  font-size: 22px;
  line-height: 1.1;
  color: var(--blue);
  font-weight: 600;
}

body.single-product .wcpa_wrap .custom_font .wcpa_radio:nth-child(1) label::before {
  font-family: "Jost", sans-serif;
}

body.single-product .wcpa_wrap .custom_font .wcpa_radio:nth-child(2) label::before {
  font-family: "Playfair Display", serif;
}

body.single-product .wcpa_wrap .custom_font .wcpa_radio:nth-child(3) label::before {
  font-family: "Yellowtail", cursive;
  font-size: 26px;
  font-weight: 400;
}

body.single-product .wcpa_wrap .custom_font .wcpa_radio label span {
  font-size: 10px !important;
  color: var(--ink-60) !important;
  font-weight: 500 !important;
  margin-top: 5px;
}

/* Colour pickers → .colrow */
body.single-product .wcpa_wrap .wcpa_type_select.wcpa_cl_disabled {
  display: none !important;
  border: 0 !important;
  padding: 0 !important;
}

body.single-product .wcpa_wrap .wcpa_row:has(.wcpa_type_select) + .wcpa_row:has(.wcpa_type_select) .wcpa_type_select {
  padding-top: 0 !important;
}

body.single-product .wcpa_wrap .wcpa_advanced_select .wcpa__control,
body.single-product .wcpa_wrap .wcpa__control {
  border: 1.5px solid var(--line) !important;
  border-radius: 13px !important;
  min-height: 56px !important;
  background: #fff !important;
  padding: 8px 10px !important;
  box-shadow: none !important;
}

body.single-product .wcpa_wrap .wcpa_cl_disabled .wcpa__control {
  opacity: .55;
  background: var(--cream-3) !important;
}

body.single-product .wcpa_wrap .wcpa__placeholder,
body.single-product .wcpa_wrap .wcpa__single-value {
  font-size: 14px !important;
  color: var(--ink) !important;
}

body.single-product .wcpa__option,
body.single-product .wcpa__single-value,
.wcpa__menu .wcpa__option,
.wcpa__menu-portal .wcpa__option {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.single-product .wcpa-color-swatch,
.wcpa__menu .wcpa-color-swatch,
.wcpa__menu-portal .wcpa-color-swatch {
  width: 18px !important;
  height: 18px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(0, 0, 0, .12) !important;
  flex: 0 0 18px !important;
  display: inline-block !important;
  box-sizing: border-box !important;
}

body.single-product .heyyou-colrow {
  display: flex;
  gap: 11px;
  align-items: center;
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: 13px;
  padding: 10px;
}

body.single-product .heyyou-colrow .heyyou-colsw {
  width: 46px;
  height: 46px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, .1);
  flex: none;
}

body.single-product .heyyou-colrow .wcpa_advanced_select,
body.single-product .heyyou-colrow .wcpa__control {
  flex: 1;
  border: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body.single-product .heyyou-colsku {
  font-size: 9.5px;
  color: var(--ink-60);
  letter-spacing: .06em;
  margin-top: 4px;
}

/* Image / foil packs → .foilc */
body.single-product .wcpa_wrap .wcpa_type_image-group .wcpa_group_field {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px !important;
}

@media (min-width: 900px) {
  body.single-product .wcpa_wrap .wcpa_type_image-group .wcpa_group_field {
    grid-template-columns: repeat(4, 1fr);
  }
}

body.single-product .wcpa_wrap .wcpa_image {
  width: auto !important;
  margin: 0 !important;
}

body.single-product .wcpa_wrap .wcpa_image label {
  display: block !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  padding: 9px !important;
  margin: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  cursor: pointer;
}

body.single-product .wcpa_wrap .wcpa_image:hover label {
  border-color: var(--peach) !important;
}

body.single-product .wcpa_wrap .wcpa_image:has(input:checked) label,
body.single-product .wcpa_wrap .wcpa_image.wcpa_selected label {
  border-color: var(--terra) !important;
  box-shadow: 0 0 0 3px rgba(219, 120, 82, .16) !important;
}

body.single-product .wcpa_wrap .wcpa_img_wrap {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  border-radius: 10px !important;
  overflow: hidden;
  margin: 0 0 8px !important;
  background: var(--peri);
  max-width: none !important;
  outline: none !important;
  box-shadow: none !important;
}

body.single-product .wcpa_wrap .wcpa_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.single-product .wcpa_wrap .wcpa_image_label {
  display: block;
}

body.single-product .wcpa_wrap .wcpa_image_label span:first-child {
  display: block;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: var(--blue) !important;
}

body.single-product .wcpa_wrap .wcpa_image .wcpa_option_price {
  display: block;
  font-style: normal;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--terra-dk) !important;
  margin-top: 5px;
}

/* Finishing → .addon rows */
body.single-product .wcpa_wrap .wcpa_type_checkbox-group .wcpa_group_field {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

body.single-product .wcpa_wrap .wcpa_type_checkbox-group .wcpa_checkbox {
  width: 100% !important;
  margin: 0 !important;
}

body.single-product .wcpa_wrap .wcpa_check_ui_button.wcpa_type_checkbox-group .wcpa_checkbox label,
body.single-product .wcpa_wrap .wcpa_type_checkbox-group .wcpa_checkbox label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 11px !important;
  width: 100% !important;
  padding: 11px 13px !important;
  border: 1.5px solid var(--line) !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: var(--blue) !important;
  margin: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}

body.single-product .wcpa_wrap .wcpa_type_checkbox-group .wcpa_checkbox:hover label {
  border-color: var(--peach) !important;
}

body.single-product .wcpa_wrap .wcpa_type_checkbox-group .wcpa_checkbox:has(input:checked) label,
body.single-product .wcpa_wrap .wcpa_type_checkbox-group .wcpa_selected label {
  border-color: var(--terra) !important;
  background: #FDF6F2 !important;
  color: var(--blue) !important;
}

body.single-product .wcpa_wrap .wcpa_type_checkbox-group .wcpa_check {
  display: none !important;
}

body.single-product .wcpa_wrap .wcpa_type_checkbox-group .wcpa_checkbox label > span:nth-of-type(2) {
  flex: 1;
  font-size: 13.5px !important;
  font-weight: 600 !important;
}

body.single-product .wcpa_wrap .wcpa_type_checkbox-group .wcpa_option_price {
  margin-left: auto;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--terra-dk) !important;
  white-space: nowrap;
}

/* Price summary → .pricebox */
body.single-product .wcpa_price_summary {
  background: var(--peri) !important;
  border-radius: 18px !important;
  padding: 18px !important;
  margin-top: 20px !important;
  width: 100% !important;
}

body.single-product .wcpa_price_summary h4 {
  display: none;
}

body.single-product .wcpa_price_summary .wcpa_options_total,
body.single-product .wcpa_price_summary .wcpa_product_total,
body.single-product .wcpa_price_summary .wcpa_fee_total,
body.single-product .wcpa_price_summary > div {
  display: flex !important;
  justify-content: space-between;
  font-size: 13.5px;
  padding: 3px 0;
  color: var(--ink-60);
  background: transparent !important;
}

body.single-product .wcpa_price_summary .wcpa_total {
  border-top: 1.5px solid rgba(26, 71, 170, .18);
  margin-top: 10px;
  padding-top: 12px;
  font-size: 21px !important;
  font-weight: 600 !important;
  color: var(--blue) !important;
}

body.single-product .elementor-add-to-cart--layout-stacked form.cart {
  display: flex;
  flex-direction: column;
  gap: 0;
}

body.single-product .elementor-add-to-cart--layout-stacked .quantity {
  display: none;
}

body.single-product .elementor-add-to-cart--layout-stacked .single_add_to_cart_button {
  width: 100% !important;
  margin-top: 16px !important;
  padding: 13px 26px !important;
  font-size: 14.5px !important;
}

@media (max-width: 767px) {
  .elementor-57 .elementor-element-337e108 {
    grid-template-columns: 1fr !important;
  }

  body.single-product .wcpa_wrap .wcpa_type_image-group .wcpa_group_field,
  body.single-product .wcpa_wrap .custom_font .wcpa_group_field {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
