.kdt-combo-box{padding:16px;border:1px solid #eed0df;border-radius:18px;background:linear-gradient(135deg,#fff,#fff5fa);margin:14px 0;color:#5a3543}.kdt-combo-label{font-weight:800;color:#984e72;font-size:17px;display:block;margin-bottom:9px}.kdt-combo-box select{display:block;width:100%;border-radius:12px;border:1px solid #e8c2d3;background:#fff;padding:10px;margin-top:5px;min-height:43px;color:#5a3543}.kdt-combo-attributes{display:grid;gap:12px;margin-top:10px}.kdt-combo-attribute{display:grid;gap:3px;font-size:14px;font-weight:650}.kdt-combo-attribute[hidden]{display:none!important}body.kdt-for-him-context .kdt-combo-box{background:linear-gradient(135deg,#fff,#f3f9ff);border-color:#c4ddef}body.kdt-for-him-context .kdt-combo-label{color:#568db8}

/* v6.8.150 – scoped layout for single simple products with Choose Combination.
   The generic cart form is a tight flex row; the combination selector must occupy its own full row. */
html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 132px!important;
  grid-auto-flow:row!important;
  align-items:center!important;
  justify-items:stretch!important;
  justify-content:stretch!important;
  gap:12px 10px!important;
  flex-wrap:initial!important;
  min-width:0!important;
}
html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)) > #kdtChooseCombination{
  grid-column:1 / -1!important;
  grid-row:1!important;
  order:0!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 0 4px!important;
  padding:16px!important;
  box-sizing:border-box!important;
}
html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)) > #kdtChooseCombination .kdt-combo-label{
  width:100%!important;
  margin:0 0 10px!important;
  font-size:17px!important;
  line-height:1.35!important;
  white-space:normal!important;
  text-align:left!important;
}
html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)) > #kdtChooseCombination select{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  min-height:48px!important;
  padding:10px 34px 10px 13px!important;
  text-overflow:ellipsis!important;
  box-sizing:border-box!important;
}
html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)) > #kdtChooseCombination .kdt-combo-attributes{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  margin:12px 0 0!important;
}
html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)) > #kdtChooseCombination .kdt-combo-attribute{
  min-width:0!important;
  text-align:left!important;
}
html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)) > #kdtChooseCombination .kdt-combo-attribute[hidden]{display:none!important;}
html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)) > .single_add_to_cart_button{
  grid-column:1!important;
  grid-row:2!important;
  order:1!important;
  justify-self:stretch!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  flex:initial!important;
  flex-basis:auto!important;
  margin:0!important;
  padding:0 10px!important;
  height:48px!important;
  min-height:48px!important;
  line-height:1.2!important;
  font-size:clamp(12px,3.5vw,14px)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)) > .kdt-qty-control{
  grid-column:2!important;
  grid-row:2!important;
  order:2!important;
  justify-self:end!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  flex:initial!important;
  flex-basis:auto!important;
  margin:0!important;
  height:48px!important;
  min-height:48px!important;
  grid-template-columns:41px 50px 41px!important;
}
html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)) > .kdt-qty-control > .quantity,
html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)) > .kdt-qty-control > .quantity input.qty{
  grid-column:2!important;
  width:50px!important;
  min-width:50px!important;
  max-width:50px!important;
  flex:initial!important;
  flex-basis:auto!important;
  margin:0!important;
}
html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)) > .kdt-qty-control > .kdt-qty-btn{
  width:41px!important;
  min-width:41px!important;
  max-width:41px!important;
  flex:initial!important;
  flex-basis:auto!important;
}
@media(max-width:360px){
  html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)){
    grid-template-columns:minmax(0,1fr) 122px!important;
    gap:10px 8px!important;
  }
  html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)) > .kdt-qty-control{
    width:122px!important;min-width:122px!important;max-width:122px!important;
    grid-template-columns:36px 50px 36px!important;
  }
  html body.single-product form.cart:not(.variations_form):is(.kdt-has-combo, :has(> #kdtChooseCombination)) > .kdt-qty-control > .kdt-qty-btn{
    width:36px!important;min-width:36px!important;max-width:36px!important;
  }
}

/* Soft Heart 6.8.151 – single and variable products share the same rounded selection-card language. */
html body.single-product form.cart.kdt-has-combo,
html body.single-product form.cart:not(.variations_form):has(> #kdtChooseCombination){
  grid-template-columns:minmax(0,1fr) clamp(120px,36%,180px)!important;
  align-items:center!important;
  column-gap:12px!important;
  row-gap:16px!important;
}
html body.single-product form.cart.kdt-has-combo > .kdt-preorder-badge,
html body.single-product form.cart:not(.variations_form):has(> #kdtChooseCombination) > .kdt-preorder-badge{
  grid-column:1/-1!important;grid-row:1!important;display:block!important;width:100%!important;
  max-width:none!important;margin:0!important;box-sizing:border-box!important;
}
html body.single-product form.cart.kdt-has-combo > #kdtChooseCombination,
html body.single-product form.cart:not(.variations_form):has(> #kdtChooseCombination) > #kdtChooseCombination{
  grid-column:1/-1!important;grid-row:2!important;
  width:100%!important;max-width:none!important;min-width:0!important;
  padding:18px!important;margin:0 0 4px!important;
  background:linear-gradient(135deg,#fff5fa 0%,#fff 48%,#f2f9ff 100%)!important;
  border:1px solid #e7d6e4!important;border-radius:23px!important;
  box-shadow:0 12px 28px #ab7e9820!important;
}
html body.single-product form.cart.kdt-has-combo > .single_add_to_cart_button,
html body.single-product form.cart:not(.variations_form):has(> #kdtChooseCombination) > .single_add_to_cart_button{
  grid-row:3!important;grid-column:1!important;
  min-width:0!important;width:100%!important;height:48px!important;
  font-size:clamp(12px,3.2vw,16px)!important;
}
html body.single-product form.cart.kdt-has-combo > .kdt-qty-control,
html body.single-product form.cart:not(.variations_form):has(> #kdtChooseCombination) > .kdt-qty-control{
  grid-row:3!important;grid-column:2!important;min-width:0!important;
  width:100%!important;max-width:180px!important;height:48px!important;
  grid-template-columns:minmax(30px,1fr) minmax(38px,1fr) minmax(30px,1fr)!important;
}
html body.single-product form.cart.kdt-has-combo > .kdt-qty-control > .quantity,
html body.single-product form.cart.kdt-has-combo > .kdt-qty-control > .quantity input.qty{
  min-width:0!important;max-width:100%!important;width:100%!important;
}
html body.single-product form.cart.kdt-has-combo > .kdt-qty-control > .kdt-qty-btn{
  min-width:0!important;max-width:100%!important;width:100%!important;
}
#kdtChooseCombination .kdt-combo-label{
  display:block!important;font-size:17px!important;font-weight:800!important;
  margin:0 0 14px!important;color:#c45f8c!important;
}
#kdtChooseCombination .kdt-combo-cards{display:none;}
#kdtChooseCombination.kdt-combo-enhanced .kdt-combo-cards{
  display:flex!important;flex-wrap:wrap!important;gap:10px!important;width:100%;
}
#kdtChooseCombination.kdt-combo-enhanced select.kdt-combo-native-select{
  position:absolute!important;top:auto!important;left:0!important;
  width:1px!important;min-width:1px!important;max-width:1px!important;height:1px!important;
  min-height:1px!important;padding:0!important;margin:0!important;border:0!important;
  opacity:0!important;clip-path:inset(50%)!important;overflow:hidden!important;pointer-events:none!important;
}
#kdtChooseCombination .kdt-combo-card{
  width:calc(33.333% - 7px);min-width:0;max-width:none;min-height:89px;
  border-radius:18px;padding:10px 6px;flex:0 0 calc(33.333% - 7px);
  flex-direction:column;white-space:normal!important;overflow:visible!important;
  gap:6px;text-align:center;justify-content:center;
}
#kdtChooseCombination .kdt-combo-card.shav-image-card{
  min-height:146px;
}
#kdtChooseCombination .kdt-combo-card .shav-image-wrap{
  width:100%;max-width:100px;height:auto;aspect-ratio:1/1;
}
#kdtChooseCombination .kdt-combo-card .shav-card-label{
  display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.3;
  text-overflow:clip;font-size:13px;font-weight:700;
}
#kdtChooseCombination .kdt-combo-card-price{
  display:block;color:#c45f8c;font-size:12px;font-weight:800;white-space:nowrap;
}
#kdtChooseCombination .kdt-combo-card-price .amount{color:inherit;font-size:inherit;}
#kdtChooseCombination .kdt-combo-attributes{display:grid;gap:16px;margin:17px 0 0!important;}
#kdtChooseCombination .kdt-combo-attribute{
  display:block!important;width:100%;margin:0!important;min-width:0;
}
#kdtChooseCombination .kdt-combo-attribute[hidden]{display:none!important;}
#kdtChooseCombination .kdt-combo-attr-label{
  display:block;margin:0 0 10px!important;font-size:14px;font-weight:800;color:#c45f8c;
}
#kdtChooseCombination .kdt-combo-attr-cards{display:none;}
#kdtChooseCombination.kdt-combo-enhanced .kdt-combo-attr-cards{display:flex;flex-wrap:wrap;gap:10px;}
#kdtChooseCombination .kdt-combo-attr-card.shav-size-card{
  min-width:44px;min-height:42px;border-radius:999px;padding:8px 13px;
}
#kdtChooseCombination .kdt-combo-attr-card.shav-text-card{
  min-height:42px;border-radius:16px;padding:9px 14px;
}
body.kdt-for-him-context #kdtChooseCombination .kdt-combo-label,
body.kdt-for-him-context #kdtChooseCombination .kdt-combo-attr-label{
  color:#568db8!important;
}
@media(max-width:400px){
  #kdtChooseCombination .kdt-combo-card{width:calc(33.333% - 7px);flex-basis:calc(33.333% - 7px);padding:9px 4px;}
  #kdtChooseCombination .kdt-combo-card .shav-card-label{font-size:12px;}
  #kdtChooseCombination .kdt-combo-card-price{font-size:11px;}
  html body.single-product form.cart.kdt-has-combo,
  html body.single-product form.cart:not(.variations_form):has(> #kdtChooseCombination){
    grid-template-columns:minmax(0,1fr) 125px!important;column-gap:10px!important;
  }
}
@media(max-width:320px){
  #kdtChooseCombination .kdt-combo-card{width:calc(50% - 5px);flex-basis:calc(50% - 5px);}
  html body.single-product form.cart.kdt-has-combo,
  html body.single-product form.cart:not(.variations_form):has(> #kdtChooseCombination){
    grid-template-columns:minmax(0,1fr)!important;
  }
  html body.single-product form.cart.kdt-has-combo > .single_add_to_cart_button{grid-column:1!important;grid-row:3!important;}
  html body.single-product form.cart.kdt-has-combo > .kdt-qty-control{grid-column:1!important;grid-row:4!important;justify-self:center!important;}
}

/* v6.8.153: optional Color / Type term images inside the unified purchase card. */
#kdtChooseCombination .kdt-combo-attr-card.shav-image-card{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  width:clamp(88px,28%,116px);padding:8px;min-height:118px;border-radius:16px;
}
#kdtChooseCombination .kdt-combo-attr-card.shav-image-card .shav-image-wrap{
  display:block;width:100%;aspect-ratio:1/1;max-height:104px;overflow:hidden;border-radius:11px;
}
#kdtChooseCombination .kdt-combo-attr-card.shav-image-card .shav-image-wrap img{
  display:block;width:100%;height:100%;object-fit:cover;
}
#kdtChooseCombination .kdt-combo-attr-card.shav-image-card .shav-card-label{
  white-space:normal;overflow-wrap:anywhere;text-align:center;
}

/* v6.8.154: match normal WooCommerce variations — Add to Cart stays soft/faded
   until the selected Combination AND all of its required attributes are chosen.
   Scope strictly to Combination forms; shoes and other product types are untouched. */
html body.single-product form.cart:has(> #kdtChooseCombination) > .single_add_to_cart_button.kdt-combo-incomplete,
html body.single-product form.cart:has(> #kdtChooseCombination) > .single_add_to_cart_button:disabled,
html body.single-product form.cart:has(> #kdtChooseCombination):not(.kdt-combo-state-ready) > .single_add_to_cart_button{
  opacity:.48!important;
  filter:saturate(.6)!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
  transform:none!important;
}
html body.single-product form.cart:has(> #kdtChooseCombination) > .single_add_to_cart_button:not(:disabled):not(.kdt-combo-incomplete){
  opacity:1!important;
  filter:none!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
