 .wnoc-module {
  color: var(--wnoc-text);
  margin-bottom: 18px;
}

form.cart.wnoc-managed-cart .variations,
form.cart.wnoc-managed-cart .reset_variations,
form.cart.wnoc-managed-cart .woocommerce-variation,
form.cart.wnoc-managed-cart .single_add_to_cart_button:not(.wnoc-custom-submit),
form.cart.wnoc-managed-cart .quantity,
form.cart.wnoc-managed-cart .wnoc-native-hidden {
  display: none !important;
}


.single-product div.product .summary p.price,
.single-product div.product .summary div.price,
.single-product div.product .summary span.price,
.single-product div.product .summary .woocommerce-variation-price {
  display: none !important;
}

.wnoc-attribute-groups,
.wnoc-cards-grid {
  display: grid;
  gap: var(--wnoc-gap);
}

.wnoc-attribute-groups {
  margin-bottom: var(--wnoc-gap);
}

.wnoc-group-label {
  font-weight: var(--wnoc-group-label-weight, 600);
  color: var(--wnoc-group-label-color, var(--wnoc-text));
  margin-bottom: 8px;
  text-align: left;
}

.wnoc-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.wnoc-radio-button {
  appearance: none;
  border: var(--wnoc-radio-border-width) solid var(--wnoc-radio-border);
  background: var(--wnoc-radio-bg);
  color: var(--wnoc-radio-text);
  border-radius: 999px;
  padding: 12px 22px;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  transition: .2s ease;
}

.wnoc-radio-button:hover:not(.is-active):not(:disabled),
.wnoc-radio-button:focus:not(.is-active):not(:disabled),
.wnoc-radio-button:focus-visible:not(.is-active):not(:disabled) {
  background: var(--wnoc-radio-bg) !important;
  color: var(--wnoc-radio-text) !important;
  border-color: var(--wnoc-radio-border) !important;
  box-shadow: none !important;
}

.wnoc-radio-button.is-active:hover,
.wnoc-radio-button.is-active:focus,
.wnoc-radio-button.is-active:focus-visible {
  background: var(--wnoc-radio-active-bg) !important;
  color: var(--wnoc-radio-active-text) !important;
  border-color: var(--wnoc-radio-active-border) !important;
  box-shadow: none !important;
}

.wnoc-radio-button.is-active {
  border-color: var(--wnoc-radio-active-border);
  background: var(--wnoc-radio-active-bg);
  color: var(--wnoc-radio-active-text);
}

.wnoc-radio-button.is-disabled,
.wnoc-radio-button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.wnoc-cards-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.wnoc-offer-card {
  border: var(--wnoc-card-border-width) solid var(--wnoc-card-border) !important;
  border-color: var(--wnoc-card-border) !important;
  background: var(--wnoc-card-bg) !important;
  border-radius: var(--wnoc-radius) !important;
  padding: 0;
  color: var(--wnoc-text);
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  transition: .2s ease;
  box-sizing: border-box;
}

.wnoc-offer-card.is-selected {
  border-color: var(--wnoc-card-selected-border, var(--wnoc-accent));
  background: var(--wnoc-card-selected-bg, var(--wnoc-card-bg));
  color: var(--wnoc-selected-text, var(--wnoc-text));
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.08);
}

.wnoc-offer-card.is-selected .wnoc-card-body {
  color: var(--wnoc-selected-text, var(--wnoc-text));
  background: var(--wnoc-card-selected-bg, var(--wnoc-card-bg));
}

.wnoc-offer-card.is-selected .wnoc-card-titlebar {
  background: var(--wnoc-card-header-selected-bg, var(--wnoc-card-header-bg, var(--wnoc-accent)));
  color: var(--wnoc-card-header-selected-text, var(--wnoc-card-header-text, #fff));
}

.wnoc-offer-card:hover:not(.is-selected),
.wnoc-offer-card:focus:not(.is-selected),
.wnoc-offer-card:focus-visible:not(.is-selected) {
  background: var(--wnoc-card-bg) !important;
  border-color: var(--wnoc-card-border) !important;
  box-shadow: none !important;
}

.wnoc-offer-card:hover.is-selected,
.wnoc-offer-card:focus.is-selected,
.wnoc-offer-card:focus-visible.is-selected {
  background: var(--wnoc-card-selected-bg, var(--wnoc-card-bg)) !important;
  border-color: var(--wnoc-card-selected-border, var(--wnoc-accent)) !important;
}

.wnoc-card-titlebar {
  display: block;
  margin: 0 !important;
  background: var(--wnoc-card-header-bg, var(--wnoc-accent));
  color: var(--wnoc-card-header-text, #fff);
  text-align: center;
  font-weight: 800;
  text-transform: uppercase;
  padding-top: var(--wnoc-card-header-padding-y, 10px) !important;
  padding-bottom: var(--wnoc-card-header-padding-y, 10px) !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  line-height: 1.2;
  font-size: 1.05rem;
  box-sizing: border-box;
}

.wnoc-card-body {
  padding: var(--wnoc-card-padding);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  background: var(--wnoc-card-bg);
}

.wnoc-card-image img {
  display: block;
  max-width: var(--wnoc-image-size, 90px);
  height: auto;
  border-radius: var(--wnoc-image-radius, 10px);
}

.wnoc-card-subtitle {
  font-size: 2rem;
  font-weight: 800;
  color: var(--wnoc-accent);
  text-align: center;
  line-height: 1.05;
}

.wnoc-card-quantity-label {
  font-size: 1.1rem;
  color: var(--wnoc-accent);
  text-align: center;
}

.wnoc-card-prices {
  text-align: center;
}

.wnoc-card-final-price {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--wnoc-price);
}

.wnoc-card-secondary-row {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  margin-top: 6px;
  flex-wrap: wrap;
}

.wnoc-card-badge {
  background: var(--wnoc-badge-bg);
  color: var(--wnoc-badge-text);
  font-weight: 800;
  border-radius: 999px;
  padding: 4px 10px;
  display: inline-flex;
}

.wnoc-card-compare-price {
  color: var(--wnoc-muted);
  text-decoration: line-through;
}

.wnoc-card-unit-price {
  margin-top: 6px;
  color: var(--wnoc-muted);
}

.wnoc-offer-card.is-selected .wnoc-card-subtitle,
.wnoc-offer-card.is-selected .wnoc-card-quantity-label {
  color: var(--wnoc-selected-accent, var(--wnoc-accent));
}

.wnoc-offer-card.is-selected .wnoc-card-final-price {
  color: var(--wnoc-selected-price, var(--wnoc-price));
}

.wnoc-offer-card.is-selected .wnoc-card-badge {
  background: var(--wnoc-selected-badge-bg, var(--wnoc-badge-bg));
  color: var(--wnoc-selected-badge-text, var(--wnoc-badge-text));
}

.wnoc-offer-card.is-selected .wnoc-card-compare-price,
.wnoc-offer-card.is-selected .wnoc-card-unit-price,
.wnoc-offer-card.is-selected .wnoc-card-body {
  color: var(--wnoc-selected-muted, var(--wnoc-muted));
}

.wnoc-offer-card.is-selected .wnoc-card-prices {
  color: var(--wnoc-selected-text, var(--wnoc-text));
}

.wnoc-custom-submit.single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 0;
  border-radius: var(--wnoc-button-radius);
  background: var(--wnoc-button-bg);
  color: var(--wnoc-button-text);
  border: var(--wnoc-button-border-width) solid currentColor;
  min-height: 54px;
  font-weight: 800;
  font-size: 1rem;
  gap: 4px;
}

.wnoc-custom-submit.single_add_to_cart_button:disabled,
.wnoc-custom-submit.single_add_to_cart_button.disabled {
  background: var(--wnoc-button-disabled-bg);
  color: var(--wnoc-button-disabled-text);
  border-color: currentColor;
  opacity: 1;
}

.wnoc-cta-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  margin-top: calc(var(--wnoc-gap) + 18px);
  gap: 18px;
}

.wnoc-availability {
  display: none !important;
}


/* v0.2.2 layout overrides */
.wnoc-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch;
}

.wnoc-offer-card {
  width: 100%;
  min-width: 0;
  height: 100%;
}

.wnoc-custom-submit.single_add_to_cart_button {
  padding: 14px 18px;
  text-align: center;
  line-height: 1.2;
  flex-wrap: wrap;
  column-gap: 6px;
  row-gap: 2px;
  white-space: normal;
  word-break: normal;
}

.wnoc-custom-submit .wnoc-button-label,
.wnoc-custom-submit .wnoc-button-price,
.wnoc-custom-submit .wnoc-button-separator {
  min-width: 0;
}

.wnoc-custom-submit .wnoc-button-price {
  overflow-wrap: anywhere;
}

.wnoc-custom-submit.is-awaiting-choice .wnoc-button-label {
  width: 100%;
}

.wnoc-custom-submit.is-awaiting-choice .wnoc-button-separator,
.wnoc-custom-submit.is-awaiting-choice .wnoc-button-price {
  display: none;
}

@media (max-width: 640px) {
  .wnoc-cards-grid {
    gap: 10px;
  }

  .wnoc-card-titlebar {
    font-size: 0.78rem;
    padding: 8px 4px;
  }

  .wnoc-card-body {
    padding: 10px 8px;
    gap: 6px;
  }

  .wnoc-card-image img {
    max-width: 56px;
  }

  .wnoc-card-subtitle {
    font-size: 1.1rem;
  }

  .wnoc-card-quantity-label {
    font-size: 0.9rem;
    line-height: 1.15;
  }

  .wnoc-card-final-price {
    font-size: 1.2rem;
  }

  .wnoc-card-secondary-row {
    gap: 6px;
    min-height: 0;
    margin-top: 4px;
  }

  .wnoc-card-badge {
    font-size: 0.78rem;
    padding: 3px 7px;
  }

  .wnoc-card-compare-price,
  .wnoc-card-unit-price {
    font-size: 0.8rem;
  }

  .wnoc-custom-submit.single_add_to_cart_button {
    font-size: 0.95rem;
    min-height: 52px;
  }
}

.wnoc-module {
  width: 100%;
}

.wnoc-cards-grid {
  width: 100%;
}

.wnoc-card-quantity-label,
.wnoc-card-subtitle,
.wnoc-card-final-price,
.wnoc-card-unit-price,
.wnoc-card-compare-price {
  overflow-wrap: anywhere;
}

/* v0.2.5 typography, button reset and layout fixes */
.wnoc-module,
.wnoc-module * {
  box-sizing: border-box;
  font-family: var(--wnoc-font-family, inherit) !important;
}

.wnoc-group-label {
  font-size: var(--wnoc-group-label-size, 14px) !important;
  text-transform: var(--wnoc-group-label-transform, none) !important;
  letter-spacing: normal !important;
  line-height: 1.25 !important;
}

.wnoc-radio-button {
  font-size: var(--wnoc-radio-size, 14px) !important;
  text-transform: var(--wnoc-radio-transform, none) !important;
  letter-spacing: normal !important;
  line-height: 1.2 !important;
}

.wnoc-offer-card {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  padding: 0 !important;
  margin: 0 !important;
  font: inherit !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  vertical-align: top;
}

.wnoc-offer-card::-moz-focus-inner {
  border: var(--wnoc-button-border-width) solid currentColor;
  padding: 0;
}

.wnoc-card-titlebar {
  margin: 0 !important;
  font-size: var(--wnoc-title-size, 15px) !important;
  text-transform: var(--wnoc-title-transform, none) !important;
  letter-spacing: normal !important;
  line-height: 1.15 !important;
}

.wnoc-card-body {
  flex: 1 1 auto;
  width: 100%;
  justify-content: flex-start;
  align-items: center;
}

.wnoc-card-subtitle {
  font-size: var(--wnoc-subtitle-size, 22px) !important;
  text-transform: var(--wnoc-subtitle-transform, none) !important;
  letter-spacing: normal !important;
  line-height: 1.05 !important;
  word-break: break-word;
}

.wnoc-card-quantity-label {
  font-size: var(--wnoc-quantity-size, 14px) !important;
  text-transform: var(--wnoc-quantity-transform, none) !important;
  letter-spacing: normal !important;
  line-height: 1.15 !important;
  word-break: break-word;
}

.wnoc-card-prices {
  margin-top: auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.wnoc-card-final-price {
  font-size: var(--wnoc-final-price-size, 20px) !important;
  text-transform: var(--wnoc-final-transform, none) !important;
  letter-spacing: normal !important;
  line-height: 1.1 !important;
}

.wnoc-card-badge {
  font-size: var(--wnoc-badge-size, 12px) !important;
  text-transform: var(--wnoc-badge-transform, none) !important;
  letter-spacing: normal !important;
  line-height: 1 !important;
}

.wnoc-card-compare-price {
  font-size: var(--wnoc-compare-price-size, 12px) !important;
  text-transform: var(--wnoc-compare-transform, none) !important;
  letter-spacing: normal !important;
  line-height: 1.1 !important;
}

.wnoc-card-unit-price {
  min-height: 1.3em;
  font-size: var(--wnoc-unit-price-size, 12px) !important;
  text-transform: var(--wnoc-unit-transform, none) !important;
  letter-spacing: normal !important;
  line-height: 1.2 !important;
  text-align: center;
}

.wnoc-card-secondary-row {
  min-height: 1.8em;
}

.wnoc-custom-submit.single_add_to_cart_button {
  font-size: var(--wnoc-button-size, 15px) !important;
  text-transform: var(--wnoc-button-transform, none) !important;
  letter-spacing: normal !important;
  white-space: normal !important;
}

.wnoc-custom-submit .wnoc-button-label,
.wnoc-custom-submit .wnoc-button-price,
.wnoc-custom-submit .wnoc-button-separator {
  text-transform: inherit !important;
  letter-spacing: inherit !important;
}

@media (max-width: 640px) {
  .wnoc-card-titlebar {
    font-size: clamp(12px, 3.2vw, var(--wnoc-title-size, 15px)) !important;
  }

  .wnoc-card-subtitle {
    font-size: clamp(18px, 5.6vw, var(--wnoc-subtitle-size, 22px)) !important;
  }

  .wnoc-card-quantity-label,
  .wnoc-card-final-price,
  .wnoc-card-badge,
  .wnoc-card-compare-price,
  .wnoc-card-unit-price,
  .wnoc-custom-submit.single_add_to_cart_button,
  .wnoc-radio-button,
  .wnoc-group-label {
    letter-spacing: normal !important;
  }
}


/* v0.2.6 CRO and layout refinements */
.wnoc-module {
  width: 100% !important;
  max-width: none !important;
}

.wnoc-attribute-group,
.wnoc-attribute-groups {
  width: 100%;
}

.wnoc-group-label {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  justify-self: start !important;
  align-self: start !important;
  margin-bottom: 10px !important;
}

.wnoc-radio-group {
  justify-content: flex-start !important;
}

.wnoc-offer-card {
  border-width: var(--wnoc-card-border-width, 3px) !important;
}

.wnoc-offer-card.is-selected {
  border-width: var(--wnoc-card-border-width, 3px) !important;
  border-color: var(--wnoc-card-selected-border, var(--wnoc-accent)) !important;
  background: var(--wnoc-card-selected-bg, var(--wnoc-card-bg)) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.10), 0 0 0 1px rgba(10,122,120,.08) !important;
  transform: none;
}

.wnoc-card-titlebar,
.wnoc-card-subtitle,
.wnoc-card-quantity-label,
.wnoc-card-final-price,
.wnoc-card-badge,
.wnoc-card-compare-price,
.wnoc-card-unit-price,
.wnoc-group-label,
.wnoc-radio-button,
.wnoc-custom-submit,
.wnoc-custom-submit * {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-style: normal !important;
}

.wnoc-card-titlebar {
  min-height: 58px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 12px 14px !important;
}

.wnoc-card-body {
  justify-content: flex-start !important;
  gap: 10px !important;
}

.wnoc-card-image {
  min-height: calc(var(--wnoc-image-size, 90px) + 12px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.wnoc-card-image img {
  max-width: min(100%, var(--wnoc-image-size, 90px)) !important;
  height: auto !important;
  object-fit: contain;
  border-radius: var(--wnoc-image-radius, 10px) !important;
}

.wnoc-card-subtitle {
  margin-top: 2px;
}

.wnoc-card-prices {
  margin-top: auto !important;
  padding-top: 2px;
}

.wnoc-card-secondary-row {
  min-height: 2em !important;
  align-items: center !important;
}

.wnoc-card-unit-price {
  min-height: 1.5em !important;
}

.wnoc-custom-submit.single_add_to_cart_button {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;
  flex: 0 0 100%;
  align-self: stretch;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 640px) {
  .wnoc-group-label {
    margin-bottom: 8px !important;
  }

  .wnoc-card-titlebar {
    min-height: 46px;
  }

  .wnoc-card-image {
    min-height: 72px;
  }

  .wnoc-card-image img {
    max-width: min(100%, 92px) !important;
  }

  .wnoc-offer-card.is-selected {
    transform: none;
    box-shadow: 0 10px 22px rgba(0,0,0,.10), 0 0 0 1px rgba(10,122,120,.08) !important;
  }
}


.wnoc-reassurance-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px 18px;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 10px;
  color: var(--wnoc-muted);
  font-size: 0.92rem;
  line-height: 1.3;
  text-align: center;
}

.wnoc-reassurance-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.wnoc-reassurance-item::before {
  content: '•';
  color: var(--wnoc-accent);
  font-size: 1rem;
  line-height: 1;
}

@media (max-width: 640px) {
  .wnoc-custom-submit.single_add_to_cart_button {
    margin-top: calc(var(--wnoc-gap) + 10px);
  }

  .wnoc-reassurance-list {
    gap: 6px 12px;
    font-size: 0.82rem;
  }
}


/* v0.2.8 conversion and spacing refinements */
.wnoc-module {margin-bottom:12px;}
.wnoc-attribute-groups {margin-bottom:10px;}
.wnoc-group-label {margin-bottom:6px !important;}
.wnoc-radio-group {gap:8px;}
.wnoc-cards-grid {gap:max(8px, calc(var(--wnoc-gap) - 2px)) !important;}
.wnoc-offer-card {box-shadow:none;}
.wnoc-card-titlebar {min-height:calc((var(--wnoc-card-header-padding-y, 10px) * 2) + 1.2em) !important;padding-top:var(--wnoc-card-header-padding-y, 10px) !important;padding-bottom:var(--wnoc-card-header-padding-y, 10px) !important;padding-left:12px !important;padding-right:12px !important;}
.wnoc-card-body {gap:6px !important;padding:max(10px, calc(var(--wnoc-card-padding) - 1px)) !important;}
.wnoc-card-image {min-height:calc(var(--wnoc-image-size, 90px) + 6px);}
.wnoc-card-image img {max-width:min(100%, var(--wnoc-image-size, 90px)) !important;border-radius:var(--wnoc-image-radius, 10px) !important;}
.wnoc-card-subtitle {margin-top:0;}
.wnoc-card-prices {padding-top:0;}
.wnoc-card-secondary-row {gap:8px;min-height:1.6em !important;margin-top:4px;}
.wnoc-card-unit-price {margin-top:2px;min-height:1.3em !important;}
.wnoc-custom-submit.single_add_to_cart_button {margin-top:0 !important;font-size:max(18px, var(--wnoc-button-size)) !important;min-height:60px;}
.wnoc-reassurance-list {margin-top:0 !important;gap:10px 14px;}
.wnoc-reassurance-item {gap:0;}
.wnoc-reassurance-item::before {content:none !important;}
.wnoc-reassurance-separator {display:inline-flex;align-items:center;justify-content:center;color:var(--wnoc-muted);}
@media (max-width: 640px) {
  .wnoc-cards-grid {gap:8px !important;}
  .wnoc-card-titlebar {min-height:calc((var(--wnoc-card-header-padding-y, 10px) * 2) + 1.15em) !important;padding-top:var(--wnoc-card-header-padding-y, 10px) !important;padding-bottom:var(--wnoc-card-header-padding-y, 10px) !important;padding-left:10px !important;padding-right:10px !important;}
  .wnoc-card-body {gap:5px !important;padding:10px 8px !important;}
  .wnoc-card-image {min-height:calc(var(--wnoc-image-size, 90px) * 0.78);}
  .wnoc-card-image img {max-width:min(100%, calc(var(--wnoc-image-size, 90px) * 0.82)) !important;border-radius:var(--wnoc-image-radius, 10px) !important;}
  .wnoc-cta-stack {margin-top: calc(var(--wnoc-gap) + 16px); gap: 16px;}
  .wnoc-custom-submit.single_add_to_cart_button {margin-top:0 !important;font-size:max(17px, var(--wnoc-button-size)) !important;min-height:56px;}
  .wnoc-reassurance-list {margin-top:0 !important;gap:8px 10px;font-size:0.84rem;}
}


/* v0.3.2 fixes */
.wnoc-offer-card,
.wnoc-offer-card.is-selected {
  border-width: var(--wnoc-card-border-width, 3px) !important;
}

.wnoc-radio-button:hover:not(.is-active):not(:disabled),
.wnoc-radio-button:focus:not(.is-active):not(:disabled),
.wnoc-radio-button:focus-visible:not(.is-active):not(:disabled) {
  background: var(--wnoc-radio-bg) !important;
  color: var(--wnoc-radio-text) !important;
  border-color: var(--wnoc-radio-border) !important;
}

.wnoc-radio-button.is-active:hover,
.wnoc-radio-button.is-active:focus,
.wnoc-radio-button.is-active:focus-visible {
  background: var(--wnoc-radio-active-bg) !important;
  color: var(--wnoc-radio-active-text) !important;
  border-color: var(--wnoc-radio-active-border) !important;
}


/* v0.4.0 palette + variant label options */
.wnoc-group-label {
  color: var(--wnoc-group-label-color, var(--wnoc-text)) !important;
  font-weight: var(--wnoc-group-label-weight, 600) !important;
}

button.wnoc-offer-card {
  border-radius: var(--wnoc-radius) !important;
}

.wnoc-collapsed-native-block {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
}


.wnoc-gift-block {
  margin-top: var(--wnoc-gift-gap, var(--wnoc-gap));
  border: var(--wnoc-card-border-width, 1px) solid var(--wnoc-card-border, rgba(17,17,17,0.08));
  border-radius: var(--wnoc-gift-radius, var(--wnoc-radius));
  background: var(--wnoc-card-bg, #fff);
  overflow: hidden;
  box-sizing: border-box;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.wnoc-gift-block.is-selected {
  background: var(--wnoc-card-selected-bg, #eef3f2);
  border-color: var(--wnoc-card-selected-border, var(--wnoc-accent));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--wnoc-card-selected-border, var(--wnoc-accent)) 18%, transparent);
}
.wnoc-gift-option {
  display: grid;
  grid-template-columns: 22px minmax(72px, var(--wnoc-gift-image-size, 96px)) 1fr;
  gap: 12px;
  align-items: center;
  padding: var(--wnoc-gift-padding, 12px);
  cursor: pointer;
}
.wnoc-gift-option input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.wnoc-gift-box {
  width: 18px;
  height: 18px;
  border: 2px solid var(--wnoc-card-selected-border, var(--wnoc-accent));
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: transparent;
  background: #fff;
}
.wnoc-gift-checkmark {
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  opacity: 0;
}
.wnoc-gift-option input[type="checkbox"]:checked + .wnoc-gift-box {
  background: var(--wnoc-card-selected-border, var(--wnoc-accent));
  color: #fff;
}
.wnoc-gift-option input[type="checkbox"]:checked + .wnoc-gift-box .wnoc-gift-checkmark {
  opacity: 1;
}
.wnoc-gift-media {
  width: var(--wnoc-gift-image-size, 96px);
  height: var(--wnoc-gift-image-size, 96px);
  border-radius: var(--wnoc-gift-image-radius, var(--wnoc-image-radius, 10px));
  overflow: hidden;
  align-self: stretch;
}
.wnoc-gift-media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  border-radius: var(--wnoc-gift-image-radius, var(--wnoc-image-radius, 10px)) !important;
}
.wnoc-gift-content { display:flex; flex-direction:column; gap:4px; min-width:0; }
.wnoc-gift-title { font-weight:700; color: var(--wnoc-text); font-size: calc(var(--wnoc-title-size, 14px) + 2px); line-height: 1.2; }
.wnoc-gift-description { color: var(--wnoc-muted); font-size: var(--wnoc-gift-description-size, 12px); line-height: 1.35; }
.wnoc-gift-price-line { color: var(--wnoc-muted); font-size: var(--wnoc-compare-price-size, 11px); }
.wnoc-gift-compare { text-decoration: line-through; }
.wnoc-gift-message-badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--wnoc-badge-bg, #f28a44);
  color: var(--wnoc-badge-text, #fff);
  font-size: var(--wnoc-badge-size, 11px);
  font-weight: 700;
  line-height: 1;
  text-transform: var(--wnoc-badge-transform, none);
}
.wnoc-gift-link { color: var(--wnoc-text); text-decoration: underline; font-size: var(--wnoc-radio-size, 14px); }
.wnoc-gift-block.is-selected .wnoc-gift-title,
.wnoc-gift-block.is-selected .wnoc-gift-link { color: var(--wnoc-selected-text, var(--wnoc-text)); }
.wnoc-gift-block.is-selected .wnoc-gift-description,
.wnoc-gift-block.is-selected .wnoc-gift-price-line { color: var(--wnoc-selected-muted, var(--wnoc-muted)); }
.wnoc-gift-block.is-ineligible .wnoc-gift-message-badge { background: var(--wnoc-card-border, #d9d9d9); color: var(--wnoc-text); }



.wnoc-pack-summary{margin:0 0 calc(var(--wnoc-gap) + 12px);padding:10px 0 0;border-top:1px dashed color-mix(in srgb, var(--wnoc-card-border) 80%, transparent);border-bottom:none;}
.wnoc-pack-summary-intro{margin:0 0 10px;font-size:.98rem;color:var(--wnoc-text);}
.wnoc-pack-summary-title{margin:0 0 12px;font-size:1rem;line-height:1.2;font-weight:700;color:var(--wnoc-text);}
.wnoc-pack-summary-list{display:flex;flex-direction:column;gap:0;padding-bottom:6px;border-bottom:1px dashed color-mix(in srgb, var(--wnoc-card-border) 80%, transparent);}
.wnoc-pack-summary-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-top:1px dotted color-mix(in srgb, var(--wnoc-card-border) 75%, transparent);}
.wnoc-pack-summary-row:first-child{border-top:none;padding-top:0;}
.wnoc-pack-summary-media img{display:block;width:48px;height:48px;object-fit:contain;border-radius:8px;}
.wnoc-pack-summary-name{font-size:.96rem;font-weight:600;color:var(--wnoc-text);line-height:1.2;}
.wnoc-pack-item-qty-label{font-weight:500;}
.wnoc-pack-summary-prices{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap;}
.wnoc-pack-item-compare{font-size:.98rem;color:var(--wnoc-muted);text-decoration:line-through;}
.wnoc-pack-item-final{font-size:1.05rem;font-weight:700;color:var(--wnoc-price);}
@media (max-width: 767px){.wnoc-pack-summary{margin:0 0 calc(var(--wnoc-gap) + 10px);padding-top:8px;}.wnoc-pack-summary-intro{margin-bottom:8px;font-size:.94rem;}.wnoc-pack-summary-title{margin-bottom:10px;font-size:.95rem;}.wnoc-pack-summary-row{grid-template-columns:44px minmax(0,1fr) auto;gap:8px;padding:10px 0;}.wnoc-pack-summary-media img{width:40px;height:40px;}.wnoc-pack-summary-name{font-size:.9rem;}.wnoc-pack-item-final{font-size:.98rem;}}
