/* TopDefender Smart Recommendations — UX43 clean layout */
.tdsr-placement--desktop{display:block}
.tdsr-placement--mobile{display:none}

.tdsr-full{width:100%;max-width:100%;margin-top:28px;overflow:hidden}
.tdsr-section{width:100%;max-width:100%;min-width:0;margin:0 0 34px;overflow:hidden}
.tdsr-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 12px}
.tdsr-section__head span{display:block;margin:0 0 3px;color:#58708f;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.tdsr-section__head h2{margin:0;color:#061b36;font-size:26px;font-weight:800;line-height:1.15}
.tdsr-rail-controls{display:flex;flex:0 0 auto;gap:6px}
.tdsr-rail-controls button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid #d8e1ed;border-radius:6px;background:#fff;color:#003d9c;font-size:24px;font-weight:700;line-height:1;cursor:pointer}
.tdsr-rail-controls button:hover{background:#f4f7fb}
.tdsr-rail-controls button:disabled{opacity:.35;cursor:default}

/* Rail owns horizontal overflow. Nothing is allowed to widen the page. */
.tdsr-rail{display:flex;align-items:stretch;gap:12px;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding:6px 1px 4px;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}
.tdsr-rail::-webkit-scrollbar{display:none;width:0;height:0}
.tdsr-rail__cell{display:flex;align-items:stretch;flex:0 0 calc((100% - 48px)/5);min-width:0;max-width:calc((100% - 48px)/5);scroll-snap-align:start;overflow:visible}

.tdsr-card,.tdsr-card:hover{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;border-color:#d8e1ed!important;box-shadow:none!important;overflow:hidden!important}
.tdsr-card__media,.tdsr-card .td-product-card__media{flex:0 0 200px!important;height:200px!important;min-height:200px!important;max-height:200px!important;overflow:hidden!important}
.tdsr-card__media .thumbnail-container,.tdsr-card .thumbnail-container{display:flex!important;align-items:center!important;justify-content:center!important;height:200px!important;min-height:200px!important;max-height:200px!important;margin:0!important;padding:14px!important;overflow:hidden!important}
.tdsr-card__media img{width:100%!important;height:100%!important;max-height:172px!important;object-fit:contain!important}
.tdsr-card__body,.tdsr-card .product-description,.tdsr-card .td-product-card__body{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;gap:6px!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:13px!important;overflow:hidden!important}
.tdsr-card__meta{display:block!important;flex:0 0 20px!important;height:20px!important;min-height:20px!important;max-height:20px!important;margin:0!important;overflow:hidden!important}
.tdsr-card .td-product-card__variants{height:20px!important;min-height:20px!important;max-height:20px!important;margin:0!important;line-height:20px!important}
.tdsr-card .td-product-card__variants span{display:inline-flex!important;align-items:center!important;height:20px!important;min-height:20px!important;max-height:20px!important;padding:2px 6px!important;border-radius:4px!important;font-size:9px!important;line-height:16px!important}
.tdsr-card h3.tdsr-card__title{display:block!important;flex:0 0 40px!important;width:100%!important;height:40px!important;min-height:40px!important;max-height:40px!important;margin:0!important;overflow:hidden!important}
.tdsr-card h3.tdsr-card__title>a{display:-webkit-box!important;width:100%!important;height:40px!important;min-height:40px!important;max-height:40px!important;margin:0!important;overflow:hidden!important;font-size:13.5px!important;line-height:20px!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
.tdsr-card__reviews{display:flex!important;align-items:center!important;flex:0 0 22px!important;height:22px!important;min-height:22px!important;max-height:22px!important;margin:0!important;padding:0!important;overflow:hidden!important}
.tdsr-card__reviews>*{margin:0!important;padding:0!important}
.tdsr-card__reviews #spr_list,.tdsr-card__reviews #spr_list .row,.tdsr-card__reviews #spr_list .rating-star-display{height:22px!important;min-height:22px!important;max-height:22px!important;margin:0!important;padding:0!important;line-height:1!important}
.tdsr-stars-empty{color:#c8d1de;letter-spacing:1px}
.tdsr-card__price-row{display:grid!important;flex:0 0 48px!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;align-items:center!important;height:48px!important;min-height:48px!important;max-height:48px!important;margin:0!important;padding:0!important;gap:1px 6px!important;overflow:hidden!important}
.tdsr-card__price-row .td-product-card__price-link{grid-column:1!important;grid-row:1!important}
.tdsr-card__price-row .product-price{font-size:20px!important;line-height:22px!important}
.tdsr-card__price-row .regular-price{grid-column:1!important;grid-row:2!important;margin:0!important;font-size:11px!important;line-height:13px!important;text-align:left!important}
.tdsr-card__price-row .td-product-card__discount{grid-column:2!important;grid-row:1 / span 2!important;align-self:center!important;justify-self:end!important}
.tdsr-card__actions{display:flex!important;flex:0 0 38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;margin-top:auto!important;padding:0!important;overflow:hidden!important}
.tdsr-card__form{display:flex!important;align-items:stretch!important;width:100%!important;height:38px!important;margin:0!important}
.tdsr-card__cta,.tdsr-card__actions .tdsr-card__cta,.tdsr-card__actions a.tdsr-card__cta,.tdsr-card__actions button.tdsr-card__cta{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:38px!important;min-height:38px!important;max-height:38px!important;margin:0!important;padding:0 8px!important;border:1px solid #003d9c!important;border-radius:5px!important;background:#003d9c!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none!important;font-size:12px!important;font-weight:800!important;line-height:36px!important;text-decoration:none!important;text-shadow:none!important;white-space:nowrap!important;overflow:hidden!important}
.tdsr-card__cta:hover,.tdsr-card__cta:focus,.tdsr-card__cta:active{background:#003481!important;border-color:#003481!important;color:#fff!important;box-shadow:none!important}
.tdsr-card__cta::before,.tdsr-card__cta::after{content:none!important;display:none!important}

/* Compact cross-sell near purchase decision. */
.tdsr-compact{margin-top:18px;padding-top:15px;border-top:1px solid #e5eaf0}
.tdsr-compact__head strong{display:block;margin:0;color:#071c38;font-size:17px;font-weight:800;line-height:1.2}
.tdsr-compact__head span{display:none!important}
.tdsr-compact__track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}
.tdsr-compact__item{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 30px;gap:7px 9px;min-width:0;padding:8px;border:1px solid #dfe5ed;border-radius:6px;background:#fff}
.tdsr-compact__image{grid-column:1;grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;height:72px;min-height:72px}
.tdsr-compact__image img{width:100%;height:100%;object-fit:contain}
.tdsr-compact__copy{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-width:0}
.tdsr-compact__name{display:-webkit-box;height:30px;min-height:30px;max-height:30px;margin:0;overflow:hidden;color:#071c38;font-size:12px;font-weight:700;line-height:15px;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tdsr-compact__reason{height:14px;min-height:14px;max-height:14px;margin:2px 0 0;overflow:hidden;color:#73839a;font-size:9px;line-height:14px;text-overflow:ellipsis;white-space:nowrap}
.tdsr-compact__price{min-height:18px;margin:3px 0 0;color:#ff4b2b;font-size:14px;line-height:18px}
.tdsr-compact__action-wrap{grid-column:2;grid-row:2;display:flex;align-items:flex-end;justify-content:flex-start;min-width:0}
.tdsr-compact__form{display:flex;width:auto;height:30px;margin:0}
.tdsr-compact__action,.tdsr-compact__action.btn,a.tdsr-compact__action,button.tdsr-compact__action{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;width:132px!important;min-width:132px!important;max-width:132px!important;height:30px!important;min-height:30px!important;max-height:30px!important;margin:0!important;padding:0 8px!important;border-radius:5px!important;box-shadow:none!important;font-size:11px!important;font-weight:800!important;line-height:28px!important;white-space:nowrap!important}

/* Real order-data bundle, when available. */
.tdsr-bundle{display:flex;gap:16px;align-items:stretch;margin-bottom:18px;padding:14px;border:1px solid #d8e1ed;border-radius:8px;background:#f7faff}
.tdsr-bundle__items{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.tdsr-bundle__item{display:grid;grid-template-columns:22px 72px minmax(0,1fr);gap:9px;align-items:center;min-width:0;flex:1;margin:0;cursor:pointer}
.tdsr-bundle__item img{width:72px;height:72px;object-fit:contain;background:#fff;border:1px solid #e0e7f0;border-radius:5px}
.tdsr-bundle__item div{display:flex;flex-direction:column;min-width:0}.tdsr-bundle__item div strong{color:#335b8b;font-size:10px;text-transform:uppercase}.tdsr-bundle__item div span{display:-webkit-box;overflow:hidden;color:#071d38;font-size:12px;font-weight:700;line-height:1.25;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tdsr-bundle__item div b{margin-top:3px;color:#ff4b2b;font-size:14px}.tdsr-bundle__check input{width:17px;height:17px;accent-color:#003d9c}.tdsr-bundle__plus{color:#92a2b8;font-size:24px;font-weight:600}.tdsr-bundle__summary{display:flex;flex-direction:column;justify-content:center;width:205px;padding-left:16px;border-left:1px solid #d8e1ed}.tdsr-bundle__summary span{color:#61738a;font-size:12px}.tdsr-bundle__summary strong{margin:2px 0 10px;color:#ff4b2b;font-size:24px}

@media(max-width:1199px){.tdsr-rail__cell{flex-basis:calc((100% - 36px)/4);max-width:calc((100% - 36px)/4)}.tdsr-bundle{flex-direction:column}.tdsr-bundle__summary{width:100%;padding:12px 0 0;border-top:1px solid #d8e1ed;border-left:0}}
@media(max-width:991px){.tdsr-placement--desktop{display:none!important}.tdsr-placement--mobile{display:block!important}}

@media(max-width:767px){
  .tdsr-full{margin-top:18px}
  .tdsr-section{margin-bottom:24px}
  .tdsr-section__head{margin-bottom:9px}
  .tdsr-section__head h2{font-size:20px;line-height:1.12}
  .tdsr-rail-controls{gap:4px}.tdsr-rail-controls button{width:30px;height:30px;font-size:20px}
  .tdsr-rail{gap:8px;padding:3px 0 2px}
  .tdsr-rail__cell{flex:0 0 calc((100% - 8px)/2);width:calc((100% - 8px)/2);max-width:calc((100% - 8px)/2);overflow:hidden}
  .tdsr-card__media,.tdsr-card .td-product-card__media{flex-basis:150px!important;height:150px!important;min-height:150px!important;max-height:150px!important}
  .tdsr-card__media .thumbnail-container,.tdsr-card .thumbnail-container{height:150px!important;min-height:150px!important;max-height:150px!important;padding:8px!important}
  .tdsr-card__media img{max-height:134px!important}
  .tdsr-card__body,.tdsr-card .product-description,.tdsr-card .td-product-card__body{gap:5px!important;padding:10px!important}
  .tdsr-card__meta{flex-basis:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important}
  .tdsr-card .td-product-card__variants,.tdsr-card .td-product-card__variants span{height:18px!important;min-height:18px!important;max-height:18px!important;line-height:14px!important}.tdsr-card .td-product-card__variants span{padding:2px 5px!important;font-size:8.5px!important}
  .tdsr-card h3.tdsr-card__title{flex-basis:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important}.tdsr-card h3.tdsr-card__title>a{height:38px!important;min-height:38px!important;max-height:38px!important;font-size:12.5px!important;line-height:19px!important}
  .tdsr-card__reviews,.tdsr-card__reviews #spr_list,.tdsr-card__reviews #spr_list .row,.tdsr-card__reviews #spr_list .rating-star-display{flex-basis:21px!important;height:21px!important;min-height:21px!important;max-height:21px!important}
  .tdsr-card__price-row{flex-basis:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important}.tdsr-card__price-row .product-price{font-size:18px!important;line-height:20px!important}.tdsr-card__price-row .regular-price{font-size:10.5px!important;line-height:12px!important}.tdsr-card__price-row .td-product-card__discount{min-height:21px!important;padding:2px 6px!important;font-size:10px!important}
  .tdsr-card__actions{flex-basis:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important}.tdsr-card__form{height:40px!important}.tdsr-card__cta,.tdsr-card__actions .tdsr-card__cta,.tdsr-card__actions a.tdsr-card__cta,.tdsr-card__actions button.tdsr-card__cta{height:40px!important;min-height:40px!important;max-height:40px!important;padding:0 6px!important;font-size:11.5px!important;line-height:38px!important}
  .tdsr-card .product-flags{left:8px!important;top:8px!important;gap:4px!important}.tdsr-card .product-flag{padding:4px 6px!important;font-size:9.5px!important}

  .tdsr-compact__track{grid-template-columns:1fr;gap:7px;margin-top:9px}
  .tdsr-compact__item{grid-template-columns:52px minmax(0,1fr) 118px;grid-template-rows:1fr;gap:7px;min-height:76px;padding:7px;align-items:center}
  .tdsr-compact__image{grid-column:1;grid-row:1;height:52px;min-height:52px}.tdsr-compact__copy{grid-column:2;grid-row:1}.tdsr-compact__action-wrap{grid-column:3;grid-row:1;justify-self:end;width:118px}.tdsr-compact__name{height:28px;min-height:28px;max-height:28px;font-size:11px;line-height:14px}.tdsr-compact__reason{height:12px;min-height:12px;max-height:12px;font-size:8px;line-height:12px}.tdsr-compact__price{min-height:16px;margin-top:2px;font-size:12.5px;line-height:16px}.tdsr-compact__form{width:118px;height:30px}.tdsr-compact__action,.tdsr-compact__action.btn,a.tdsr-compact__action,button.tdsr-compact__action{width:118px!important;min-width:118px!important;max-width:118px!important;height:30px!important;min-height:30px!important;max-height:30px!important;padding:0 6px!important;font-size:10.5px!important;line-height:28px!important}

  .tdsr-bundle__items{display:grid;grid-template-columns:1fr}.tdsr-bundle__plus{display:none}.tdsr-bundle__item{grid-template-columns:22px 62px minmax(0,1fr)}.tdsr-bundle__item img{width:62px;height:62px}.tdsr-bundle__summary{display:grid;grid-template-columns:1fr auto}.tdsr-bundle__summary .btn{grid-column:1/-1;width:100%;margin:0}
}


/* ===== UX44: isolate smart-recommendation CTAs from Warehouse button CSS =====
   Root cause fixed: .btn / .btn-primary / .add-to-cart responsive rules were
   restyling these module buttons after our module CSS. The module now owns its
   CTA classes completely; data-button-action keeps PrestaShop add-to-cart JS. */
.tdsr-card__actions,
.tdsr-card__form,
.tdsr-compact__action-wrap,
.tdsr-compact__form{min-width:0!important;max-width:100%!important}

.tdsr-card__cta,
a.tdsr-card__cta,
button.tdsr-card__cta,
.tdsr-compact__action,
a.tdsr-compact__action,
button.tdsr-compact__action{
  -webkit-appearance:none!important;
  appearance:none!important;
  position:static!important;
  inset:auto!important;
  float:none!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  clip:auto!important;
  clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
  filter:none!important;
  text-indent:0!important;
  text-transform:none!important;
  letter-spacing:0!important;
  background-image:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
  overflow:hidden!important;
  cursor:pointer!important;
  font-family:inherit!important;
  box-sizing:border-box!important;
}
.tdsr-card__cta::before,
.tdsr-card__cta::after,
.tdsr-compact__action::before,
.tdsr-compact__action::after{content:none!important;display:none!important}

/* Product rails: one identical CTA geometry for link and submit button. */
.tdsr-card__form{display:block!important;width:100%!important;height:36px!important;margin:0!important;padding:0!important}
.tdsr-card__cta,
a.tdsr-card__cta,
button.tdsr-card__cta{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin:0!important;
  padding:0 8px!important;
  border:1px solid #003d9c!important;
  border-radius:5px!important;
  background:#003d9c!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:34px!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.tdsr-card__cta:hover,
a.tdsr-card__cta:hover,
button.tdsr-card__cta:hover,
.tdsr-card__cta:focus,
a.tdsr-card__cta:focus,
button.tdsr-card__cta:focus{
  background:#003481!important;
  border-color:#003481!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Compact cross-sell: link and submit button deliberately identical. */
.tdsr-compact__form{display:block!important;width:132px!important;height:30px!important;margin:0!important;padding:0!important}
.tdsr-compact__action,
a.tdsr-compact__action,
button.tdsr-compact__action{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  margin:0!important;
  padding:0 8px!important;
  border:1px solid #003d9c!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#003d9c!important;
  -webkit-text-fill-color:#003d9c!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:28px!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
button.tdsr-compact__action.tdsr-js-add-to-cart{
  background:#003d9c!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.tdsr-compact__action:hover,
.tdsr-compact__action:focus{
  border-color:#003481!important;
  background:#f5f8fd!important;
  color:#003481!important;
  -webkit-text-fill-color:#003481!important;
}
button.tdsr-compact__action.tdsr-js-add-to-cart:hover,
button.tdsr-compact__action.tdsr-js-add-to-cart:focus{
  background:#003481!important;
  border-color:#003481!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

@media(max-width:767px){
  /* Mobile rails: exactly two compact catalogue-like cards, CTA always visible. */
  .tdsr-full .tdsr-rail__cell{
    flex:0 0 calc((100% - 8px)/2)!important;
    width:calc((100% - 8px)/2)!important;
    min-width:0!important;
    max-width:calc((100% - 8px)/2)!important;
  }
  .tdsr-full .tdsr-card__actions{
    display:flex!important;
    flex:0 0 34px!important;
    width:100%!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    margin-top:auto!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .tdsr-full .tdsr-card__form{display:block!important;width:100%!important;height:34px!important}
  .tdsr-full .tdsr-card__cta,
  .tdsr-full a.tdsr-card__cta,
  .tdsr-full button.tdsr-card__cta{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    padding:0 4px!important;
    border-radius:4px!important;
    background:#003d9c!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-size:10px!important;
    line-height:32px!important;
    white-space:nowrap!important;
  }

  .tdsr-placement--mobile .tdsr-compact__action-wrap{width:112px!important;max-width:112px!important}
  .tdsr-placement--mobile .tdsr-compact__form{width:112px!important;height:30px!important}
  .tdsr-placement--mobile .tdsr-compact__action,
  .tdsr-placement--mobile a.tdsr-compact__action,
  .tdsr-placement--mobile button.tdsr-compact__action{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    padding:0 5px!important;
    font-size:10px!important;
    line-height:28px!important;
  }
}


/* ===== UX45: final isolated CTA layer + clean white product-page surfaces =====
   The action markup no longer uses td-product-card__actions/.btn/.add-to-cart,
   so Warehouse responsive rules cannot turn the module CTAs white or blank. */

/* Product page informational surfaces: clean white cards, light border only. */
body#product .td-delivery-estimate-slot{
  background:#fff!important;
  border:1px solid #dbe3ef!important;
  box-shadow:none!important;
}
body#product .td-confidence-item{
  background:#fff!important;
  border:1px solid #dbe3ef!important;
  box-shadow:none!important;
}

/* Real frequently-bought bundle. */
body#product .tdsr-bundle{
  background:#fff!important;
  box-shadow:none!important;
}
body#product .tdsr-bundle__submit{
  all:unset!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:38px!important;
  height:38px!important;
  padding:0 14px!important;
  border:1px solid #003d9c!important;
  border-radius:5px!important;
  background:#003d9c!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-family:inherit!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:36px!important;
  text-align:center!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
body#product .tdsr-bundle__submit:hover,
body#product .tdsr-bundle__submit:focus{
  background:#003481!important;
  border-color:#003481!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Rail CTA: a brand-new class outside td-product-card__actions. */
body#product .tdsr-full .tdsr-card__footer{
  display:flex!important;
  flex:0 0 38px!important;
  align-items:stretch!important;
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin-top:auto!important;
  padding:0!important;
  overflow:hidden!important;
}
body#product .tdsr-full .tdsr-card__buy-form{
  display:flex!important;
  align-items:stretch!important;
  width:100%!important;
  height:38px!important;
  margin:0!important;
  padding:0!important;
}
body#product .tdsr-full .tdsr-action-button,
body#product .tdsr-full a.tdsr-action-button,
body#product .tdsr-full button.tdsr-action-button{
  all:unset!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  margin:0!important;
  padding:0 8px!important;
  border:1px solid #003d9c!important;
  border-radius:5px!important;
  background:#003d9c!important;
  background-image:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:36px!important;
  text-align:center!important;
  text-decoration:none!important;
  text-shadow:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
  overflow:hidden!important;
}
body#product .tdsr-full .tdsr-action-button::before,
body#product .tdsr-full .tdsr-action-button::after{content:none!important;display:none!important}
body#product .tdsr-full .tdsr-action-button:hover,
body#product .tdsr-full .tdsr-action-button:focus{
  background:#003481!important;
  border-color:#003481!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Compact suggestions: no reason/compatibility claim; compact action remains on the right. */
body#product .tdsr-compact__copy{justify-content:center!important}
body#product .tdsr-compact__price{margin-top:4px!important}
body#product .tdsr-compact__buy-form{
  display:flex!important;
  width:132px!important;
  height:30px!important;
  margin:0!important;
  padding:0!important;
}
body#product .tdsr-compact-button,
body#product a.tdsr-compact-button,
body#product button.tdsr-compact-button{
  all:unset!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  padding:0 8px!important;
  border:1px solid #003d9c!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#003d9c!important;
  -webkit-text-fill-color:#003d9c!important;
  font-family:inherit!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:28px!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
body#product button.tdsr-compact-button--primary{
  background:#003d9c!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body#product .tdsr-compact-button::before,
body#product .tdsr-compact-button::after{content:none!important;display:none!important}
body#product a.tdsr-compact-button:hover,
body#product a.tdsr-compact-button:focus{
  background:#f5f8fd!important;
  border-color:#003481!important;
  color:#003481!important;
  -webkit-text-fill-color:#003481!important;
}
body#product button.tdsr-compact-button--primary:hover,
body#product button.tdsr-compact-button--primary:focus{
  background:#003481!important;
  border-color:#003481!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

@media(max-width:767px){
  body#product .tdsr-full .tdsr-card__footer,
  body#product .tdsr-full .tdsr-card__buy-form{
    flex-basis:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
  }
  body#product .tdsr-full .tdsr-action-button,
  body#product .tdsr-full a.tdsr-action-button,
  body#product .tdsr-full button.tdsr-action-button{
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    padding:0 5px!important;
    font-size:10px!important;
    line-height:32px!important;
  }
  body#product .tdsr-placement--mobile .tdsr-compact__action-wrap{
    width:112px!important;
    max-width:112px!important;
  }
  body#product .tdsr-placement--mobile .tdsr-compact__buy-form{
    width:112px!important;
    height:30px!important;
  }
  body#product .tdsr-placement--mobile .tdsr-compact-button,
  body#product .tdsr-placement--mobile a.tdsr-compact-button,
  body#product .tdsr-placement--mobile button.tdsr-compact-button{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    padding:0 5px!important;
    font-size:10px!important;
    line-height:28px!important;
  }
}


/* ===== UX46: mobile rail parity with category cards =====
   Keep the desktop rail untouched. On phones, use the same compact vertical
   rhythm as category cards and let the add-to-cart form disappear from layout
   so submit buttons stretch exactly like link CTAs. */
body#product .tdsr-full .tdsr-card__buy-form{
  display:contents!important;
}
body#product .tdsr-full .tdsr-card__footer{
  width:100%!important;
}
body#product .tdsr-full .tdsr-action-button,
body#product .tdsr-full a.tdsr-action-button,
body#product .tdsr-full button.tdsr-action-button{
  flex:1 1 100%!important;
  align-self:stretch!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
}

@media(max-width:767px){
  body#product .tdsr-full .tdsr-card__body,
  body#product .tdsr-full .tdsr-card .product-description,
  body#product .tdsr-full .tdsr-card .td-product-card__body{
    gap:0!important;
    padding:10px!important;
  }

  /* Variant badge matches the mobile category-card treatment. */
  body#product .tdsr-full .tdsr-card__meta{
    display:flex!important;
    align-items:flex-start!important;
    flex:0 0 21px!important;
    height:21px!important;
    min-height:21px!important;
    max-height:21px!important;
    margin:0 0 3px!important;
    overflow:visible!important;
  }
  body#product .tdsr-full .tdsr-card .td-product-card__variants{
    display:flex!important;
    align-items:flex-start!important;
    width:100%!important;
    height:21px!important;
    min-height:21px!important;
    max-height:21px!important;
    margin:0!important;
    overflow:visible!important;
    line-height:1!important;
  }
  body#product .tdsr-full .tdsr-card .td-product-card__variants span{
    display:inline-flex!important;
    align-items:center!important;
    width:auto!important;
    height:20px!important;
    min-height:20px!important;
    max-height:20px!important;
    margin:0!important;
    padding:3px 6px!important;
    border:1px solid #dbe6fb!important;
    border-radius:4px!important;
    background:#eef3ff!important;
    color:#003087!important;
    font-size:9px!important;
    font-weight:900!important;
    line-height:12px!important;
    text-transform:none!important;
  }

  /* Two title lines are always reserved, but without an extra blank band. */
  body#product .tdsr-full .tdsr-card h3.tdsr-card__title{
    flex:0 0 38px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0 0 2px!important;
    padding:0!important;
  }
  body#product .tdsr-full .tdsr-card h3.tdsr-card__title>a{
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:0!important;
    font-size:12.5px!important;
    line-height:19px!important;
  }

  body#product .tdsr-full .tdsr-card__reviews{
    flex:0 0 20px!important;
    height:20px!important;
    min-height:20px!important;
    max-height:20px!important;
    margin:0 0 1px!important;
    padding:0!important;
  }
  body#product .tdsr-full .tdsr-card__reviews #spr_list,
  body#product .tdsr-full .tdsr-card__reviews #spr_list .row,
  body#product .tdsr-full .tdsr-card__reviews #spr_list .rating-star-display{
    height:20px!important;
    min-height:20px!important;
    max-height:20px!important;
    margin:0!important;
    padding:0!important;
  }

  /* Price + old price use a tight two-line stack like catalogue cards. */
  body#product .tdsr-full .tdsr-card__price-row{
    display:grid!important;
    flex:0 0 39px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:21px 14px!important;
    align-items:start!important;
    height:39px!important;
    min-height:39px!important;
    max-height:39px!important;
    margin:0!important;
    padding:0!important;
    gap:0 5px!important;
    overflow:visible!important;
  }
  body#product .tdsr-full .tdsr-card__price-row .td-product-card__price-link{
    grid-column:1!important;
    grid-row:1!important;
    align-self:start!important;
    margin:0!important;
    padding:0!important;
    line-height:21px!important;
  }
  body#product .tdsr-full .tdsr-card__price-row .product-price{
    display:inline!important;
    margin:0!important;
    padding:0!important;
    font-size:18px!important;
    line-height:21px!important;
  }
  body#product .tdsr-full .tdsr-card__price-row .regular-price{
    grid-column:1!important;
    grid-row:2!important;
    align-self:start!important;
    margin:0!important;
    padding:0!important;
    font-size:10.5px!important;
    line-height:14px!important;
  }
  body#product .tdsr-full .tdsr-card__price-row .td-product-card__discount{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
    justify-self:end!important;
  }

  /* Same full-width CTA for add, choose-variant and view-product. */
  body#product .tdsr-full .tdsr-card__footer{
    display:flex!important;
    flex:0 0 42px!important;
    align-items:stretch!important;
    width:100%!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:4px 0 0!important;
    padding:0!important;
  }
  body#product .tdsr-full .tdsr-action-button,
  body#product .tdsr-full a.tdsr-action-button,
  body#product .tdsr-full button.tdsr-action-button{
    display:flex!important;
    flex:1 1 100%!important;
    align-self:stretch!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0!important;
    padding:0 8px!important;
    border:1px solid #003d9c!important;
    border-radius:5px!important;
    background:#003d9c!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-size:12.5px!important;
    font-weight:900!important;
    line-height:40px!important;
    text-align:center!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }
}

/* ===== UX48: commerce recommendations in add-to-cart modal, cart and SuperCheckout ===== */
.tdsr-commerce{margin:18px 0 0;padding:16px 0 0;border-top:1px solid #e3e8ef;background:#fff;color:#071c38}
.tdsr-commerce__head{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}
.tdsr-commerce__head h3{margin:0;color:#071c38;font-size:18px;line-height:1.2;font-weight:900}
.tdsr-commerce__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tdsr-commerce__item{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto 34px;column-gap:10px;row-gap:6px;min-width:0;padding:9px;border:1px solid #dbe3ed;border-radius:7px;background:#fff;box-shadow:none}
.tdsr-commerce__image{grid-column:1;grid-row:1 / span 2;display:flex;align-items:center;justify-content:center;width:64px;height:64px;align-self:center}
.tdsr-commerce__image img{display:block;width:100%;height:100%;object-fit:contain}
.tdsr-commerce__copy{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-width:0}
.tdsr-commerce__name{display:-webkit-box;min-height:34px;max-height:34px;overflow:hidden;color:#071c38;font-size:12px;font-weight:800;line-height:17px;text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.tdsr-commerce__name:hover{color:#003d9c;text-decoration:none}
.tdsr-commerce__price{margin-top:4px;color:#ff4b2b;font-size:15px;line-height:18px;font-weight:900}
.tdsr-commerce__action{grid-column:2;grid-row:2;display:flex;align-items:flex-end;min-width:0}
.tdsr-commerce__button{display:inline-flex;align-items:center;justify-content:center;width:100%;height:34px;min-height:34px;margin:0;padding:0 10px;border:1px solid #003d9c;border-radius:5px;background:#003d9c;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:11.5px;font-weight:900;line-height:32px;text-align:center;text-decoration:none!important;box-shadow:none;cursor:pointer;white-space:nowrap}
.tdsr-commerce__button:hover,.tdsr-commerce__button:focus{background:#003481;border-color:#003481;color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important}
.tdsr-commerce__button:disabled{cursor:default;opacity:.75}
.tdsr-commerce__button.is-added{background:#16884b;border-color:#16884b}
.tdsr-commerce__button--link{background:#fff;color:#003d9c!important;-webkit-text-fill-color:#003d9c!important}
.tdsr-commerce__button--link:hover,.tdsr-commerce__button--link:focus{background:#f4f7fb;color:#003481!important;-webkit-text-fill-color:#003481!important}

/* Add-to-cart modal: keep the cross-sell useful but compact. */
#blockcart-modal .modal-dialog{max-width:900px}
#blockcart-modal .modal-body{background:#fff}
#blockcart-modal .tdsr-commerce--modal{margin-top:18px;padding-top:14px}
#blockcart-modal .tdsr-commerce--modal .tdsr-commerce__items{grid-template-columns:repeat(2,minmax(0,1fr))}
#blockcart-modal .tdsr-commerce--modal .tdsr-commerce__item{grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto 34px}
#blockcart-modal .tdsr-commerce--modal .tdsr-commerce__image{width:72px;height:72px}

/* Standard cart: three compact cross-sells, not another full product rail. */
body#cart .tdsr-commerce--cart{margin:18px 0 24px;padding:16px;border:1px solid #dbe3ed;border-radius:8px}
body#cart .tdsr-commerce--cart .tdsr-commerce__items{grid-template-columns:repeat(3,minmax(0,1fr))}

/* SuperCheckout already exposes displayShoppingCartFooter; keep this block low-distraction. */
#loyalty_text_holder .tdsr-commerce--checkout{margin:12px 0 14px;padding:14px;border:1px solid #dbe3ed;border-radius:8px;background:#fff}
#loyalty_text_holder .tdsr-commerce--checkout .tdsr-commerce__head h3{font-size:16px}
#loyalty_text_holder .tdsr-commerce--checkout .tdsr-commerce__items{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#loyalty_text_holder .tdsr-commerce--checkout .tdsr-commerce__item{grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto 32px;padding:8px}
#loyalty_text_holder .tdsr-commerce--checkout .tdsr-commerce__image{width:54px;height:54px}
#loyalty_text_holder .tdsr-commerce--checkout .tdsr-commerce__button{height:32px;min-height:32px;font-size:11px;line-height:30px}

@media(max-width:767px){
  .tdsr-commerce{margin-top:14px;padding-top:13px}
  .tdsr-commerce__head{margin-bottom:8px}
  .tdsr-commerce__head h3{font-size:17px}
  .tdsr-commerce__items,
  body#cart .tdsr-commerce--cart .tdsr-commerce__items,
  #blockcart-modal .tdsr-commerce--modal .tdsr-commerce__items,
  #loyalty_text_holder .tdsr-commerce--checkout .tdsr-commerce__items{grid-template-columns:1fr;gap:7px}
  .tdsr-commerce__item,
  #blockcart-modal .tdsr-commerce--modal .tdsr-commerce__item,
  #loyalty_text_holder .tdsr-commerce--checkout .tdsr-commerce__item{grid-template-columns:58px minmax(0,1fr) 92px;grid-template-rows:1fr;gap:8px;min-height:74px;padding:7px;align-items:center}
  .tdsr-commerce__image,
  #blockcart-modal .tdsr-commerce--modal .tdsr-commerce__image,
  #loyalty_text_holder .tdsr-commerce--checkout .tdsr-commerce__image{grid-column:1;grid-row:1;width:58px;height:58px}
  .tdsr-commerce__copy{grid-column:2;grid-row:1}
  .tdsr-commerce__name{min-height:30px;max-height:30px;font-size:11px;line-height:15px}
  .tdsr-commerce__price{font-size:13px;line-height:16px}
  .tdsr-commerce__action{grid-column:3;grid-row:1;align-items:center}
  .tdsr-commerce__button,
  #loyalty_text_holder .tdsr-commerce--checkout .tdsr-commerce__button{width:92px;height:32px;min-height:32px;padding:0 5px;font-size:10.5px;line-height:30px}
  body#cart .tdsr-commerce--cart{padding:12px}
  #blockcart-modal .modal-dialog{max-width:calc(100vw - 18px);margin:9px auto}
}

/* ===== UX49: add-to-cart modal ergonomics + SuperCheckout auth-state clarity ===== */

/* Center the recommendation modal on desktop rather than pinning it near the header. */
@media (min-width:768px){
  #blockcart-modal.show,
  #blockcart-modal.in{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:20px!important;
  }
  #blockcart-modal .modal-dialog{
    width:min(900px,calc(100vw - 48px))!important;
    max-width:900px!important;
    margin:0 auto!important;
  }
}

/* Preference shown under modal recommendations. */
#blockcart-modal .tdsr-modal-preference{
  display:flex;
  align-items:center;
  gap:8px;
  margin:10px 0 0;
  padding:9px 10px;
  border:1px solid #e0e6ef;
  border-radius:6px;
  background:#fff;
  color:#42556f;
  font-size:12px;
  line-height:1.35;
  cursor:pointer;
}
#blockcart-modal .tdsr-modal-preference input{
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin:0;
  accent-color:#003d9c;
}

/* Lightweight acknowledgement used after the customer opts out of recommendation modals. */
.tdsr-cart-toast{
  position:fixed;
  z-index:10050;
  top:22px;
  right:22px;
  display:flex;
  align-items:center;
  gap:9px;
  max-width:min(360px,calc(100vw - 28px));
  padding:12px 15px;
  border:1px solid #cfe5d8;
  border-radius:7px;
  background:#fff;
  color:#123b24;
  box-shadow:0 12px 32px rgba(15,23,42,.16);
  font-size:13px;
  font-weight:800;
  line-height:1.3;
  opacity:0;
  transform:translateY(-8px);
  transition:opacity .16s ease,transform .16s ease;
}
.tdsr-cart-toast.is-visible{opacity:1;transform:translateY(0)}
.tdsr-cart-toast__check{color:#169b55;font-size:17px;line-height:1}

/* SuperCheckout auth choice: inactive = clean white, active = soft blue with readable navy text. */
body#module-supercheckout-supercheckout .opc-container .form-group.login-options .radio-inline{
  background:transparent!important;
}
body#module-supercheckout-supercheckout .opc-container .login-options input[type="radio"] + label,
body#module-supercheckout-supercheckout .opc-container .login-options input[type="radio"]:not(:checked) + label{
  background:#fff!important;
  border:1px solid #ccd7e6!important;
  color:#102847!important;
  box-shadow:none!important;
  font-weight:700!important;
}
body#module-supercheckout-supercheckout .opc-container .login-options input[type="radio"]:checked + label{
  background:#eef4ff!important;
  border-color:#8faee0!important;
  color:#082a5c!important;
  box-shadow:inset 0 0 0 1px rgba(0,61,156,.04)!important;
  font-weight:900!important;
}
body#module-supercheckout-supercheckout .opc-container .login-options input[type="radio"] + label:hover{
  background:#f7faff!important;
  border-color:#9db4d5!important;
  color:#082a5c!important;
}
body#module-supercheckout-supercheckout .opc-container .login-options input[type="radio"]:checked + label:hover{
  background:#eef4ff!important;
}

@media(max-width:767px){
  #blockcart-modal .tdsr-modal-preference{font-size:11.5px}
  .tdsr-cart-toast{top:12px;right:14px;left:14px;max-width:none}
}


/* ===== UX50: modal separation + SuperCheckout layout polish ===== */
/* Make the add-to-cart layer visually distinct from the page below it. */
body.tdsr-cart-modal-open .modal-backdrop,
body.tdsr-cart-modal-open .modal-backdrop.show,
body.tdsr-cart-modal-open .modal-backdrop.in{
  background:#0b1730!important;
  opacity:.58!important;
  -webkit-backdrop-filter:blur(2.5px)!important;
  backdrop-filter:blur(2.5px)!important;
}
#blockcart-modal .modal-content{
  border:1px solid #9eabc0!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:0 30px 90px rgba(2,12,27,.34),0 3px 12px rgba(2,12,27,.16)!important;
  overflow:hidden!important;
}
#blockcart-modal .modal-header{
  border-bottom-color:#dbe3ef!important;
  background:#fff!important;
}
#blockcart-modal .modal-header .close{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  cursor:pointer!important;
}

/* SuperCheckout authentication choices: true vertical centering. */
body#module-supercheckout-supercheckout .opc-container .form-group.login-options{
  align-items:stretch!important;
}
body#module-supercheckout-supercheckout .opc-container .form-group.login-options .radio-inline{
  min-height:40px!important;
  margin:2px!important;
}
body#module-supercheckout-supercheckout .opc-container .login-options input[type="radio"] + label,
body#module-supercheckout-supercheckout .opc-container .login-options input[type="radio"]:checked + label,
body#module-supercheckout-supercheckout .opc-container .login-options input[type="radio"]:not(:checked) + label{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 10px!important;
  line-height:1.15!important;
  text-align:center!important;
  box-sizing:border-box!important;
}

/* Delivery choices: less dead space on the left; price gets its own quiet top row. */
body#module-supercheckout-supercheckout #shipping-method .radio,
body#module-supercheckout-supercheckout #shipping-method .radio.highlight,
body#module-supercheckout-supercheckout #shipping-method .velsof_shipping_method,
body#module-supercheckout-supercheckout #shipping-method .delivery-option{
  position:relative!important;
  margin:8px 0!important;
  padding:10px 10px!important;
}
body#module-supercheckout-supercheckout #shipping-method .radio > label,
body#module-supercheckout-supercheckout #shipping-method .velsof_shipping_method > label,
body#module-supercheckout-supercheckout #shipping-method .delivery-option > label{
  display:block!important;
  position:relative!important;
  width:100%!important;
  min-height:43px!important;
  margin:0!important;
  padding:15px 64px 0 24px!important;
  color:#10243f!important;
  line-height:1.28!important;
  text-align:left!important;
  box-sizing:border-box!important;
}
body#module-supercheckout-supercheckout #shipping-method .radio > label:before,
body#module-supercheckout-supercheckout #shipping-method .velsof_shipping_method > label:before,
body#module-supercheckout-supercheckout #shipping-method .delivery-option > label:before{
  left:0!important;
  top:18px!important;
}
body#module-supercheckout-supercheckout #shipping-method .radio > label:after,
body#module-supercheckout-supercheckout #shipping-method .velsof_shipping_method > label:after,
body#module-supercheckout-supercheckout #shipping-method .delivery-option > label:after{
  left:3px!important;
  top:21px!important;
}
body#module-supercheckout-supercheckout #shipping-method .shippingPrice{
  position:absolute!important;
  top:0!important;
  right:0!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#0f5132!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:14px!important;
  white-space:nowrap!important;
  text-align:right!important;
}
body#module-supercheckout-supercheckout #shipping-method .shippingInfo{
  margin:2px 0 0 24px!important;
  padding:0!important;
  color:#64748b!important;
  font-size:11px!important;
  line-height:1.3!important;
  text-align:left!important;
}

/* Remove the artificial empty tail below the order CTA. */
body#module-supercheckout-supercheckout #wrapper,
body#module-supercheckout-supercheckout #main-page-content,
body#module-supercheckout-supercheckout #inner-wrapper,
body#module-supercheckout-supercheckout #content-wrapper,
body#module-supercheckout-supercheckout #main,
body#module-supercheckout-supercheckout .page-content,
body#module-supercheckout-supercheckout .opc-container,
body#module-supercheckout-supercheckout #supercheckout-fieldset,
body#module-supercheckout-supercheckout #supercheckout-columnleft,
body#module-supercheckout-supercheckout .parent-three-column.custom-panel{
  min-height:0!important;
  height:auto!important;
}
body#module-supercheckout-supercheckout #inner-wrapper{
  padding-bottom:28px!important;
}
body#module-supercheckout-supercheckout #supercheckout-columnleft,
body#module-supercheckout-supercheckout .parent-three-column.custom-panel,
body#module-supercheckout-supercheckout .opc_confirmcart,
body#module-supercheckout-supercheckout #placeorderButton{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

@media(max-width:767px){
  body.tdsr-cart-modal-open .modal-backdrop,
  body.tdsr-cart-modal-open .modal-backdrop.show,
  body.tdsr-cart-modal-open .modal-backdrop.in{
    opacity:.62!important;
    -webkit-backdrop-filter:blur(2px)!important;
    backdrop-filter:blur(2px)!important;
  }
  #blockcart-modal .modal-content{
    border-color:#8f9db2!important;
    box-shadow:0 18px 55px rgba(2,12,27,.30)!important;
  }
}


/* ===== UX51: checkout density + instant modal close ===== */
/* Closing is intentionally instant; opening can still use Bootstrap's normal fade. */
#blockcart-modal:not(.fade),
#blockcart-modal:not(.fade) .modal-dialog,
#blockcart-modal:not(.fade) .modal-content{
  transition:none!important;
  transform:none!important;
  animation:none!important;
}

/* SuperCheckout ships a min-height:33em container, which creates the large empty
   white tail below the order button on shorter checkouts. */
body#module-supercheckout-supercheckout #supercheckout-fieldset div.supercheckout-container,
body#module-supercheckout-supercheckout .supercheckout-container{
  min-height:0!important;
  height:auto!important;
  padding-bottom:0!important;
  overflow:visible!important;
}
body#module-supercheckout-supercheckout #supercheckout-fieldset,
body#module-supercheckout-supercheckout #velsof_supercheckout_form,
body#module-supercheckout-supercheckout #supercheckout-columnleft,
body#module-supercheckout-supercheckout .parent-three-column.custom-panel{
  min-height:0!important;
  height:auto!important;
  padding-bottom:0!important;
  margin-bottom:0!important;
}
body#module-supercheckout-supercheckout #placeorderButton,
body#module-supercheckout-supercheckout #buttonWithProgres,
body#module-supercheckout-supercheckout .opc_confirmcart{
  padding-bottom:0!important;
  margin-bottom:0!important;
}
body#module-supercheckout-supercheckout #footer{
  margin-top:24px!important;
}

/* Customer profiles: remove the vendor inline top padding so the soft header
   background touches the panel border cleanly. */
body#module-supercheckout-supercheckout #profile_customers_div{
  display:grid!important;
  gap:8px!important;
  margin:0!important;
  padding:0 0 13px!important;
  background:#fff!important;
}
body#module-supercheckout-supercheckout #profile_customers_div>h2{
  width:100%!important;
  margin:0 0 4px!important;
  border-radius:11px 11px 0 0!important;
  background:#f8fafc!important;
}
body#module-supercheckout-supercheckout #profile_customers_div>.radio-inline{
  width:auto!important;
  margin:0 18px!important;
  padding:0!important;
  background:#fff!important;
}
body#module-supercheckout-supercheckout #profile_customers_div>.radio-inline .radio{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:26px!important;
  margin:0!important;
  padding:0!important;
}
body#module-supercheckout-supercheckout #profile_customers_div input[type="radio"]{
  position:static!important;
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  accent-color:#16a34a!important;
}
body#module-supercheckout-supercheckout #profile_customers_div label{
  margin:0!important;
  padding:0!important;
  line-height:1.25!important;
}

/* Delivery cards: one compact grid, native radio centred beside text, same
   border rhythm as payment cards and no artificial left indent. */
body#module-supercheckout-supercheckout #shipping-method>ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body#module-supercheckout-supercheckout #shipping-method>ul>li.highlight{
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  list-style:none!important;
}
body#module-supercheckout-supercheckout #shipping-method>ul>li.highlight>.radio{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:9px!important;
  row-gap:3px!important;
  align-items:center!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #dbe3ef!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
body#module-supercheckout-supercheckout #shipping-method>ul>li.highlight>.radio:has(input[type="radio"]:checked){
  border-color:#9fd7b1!important;
  background:#fff!important;
}
body#module-supercheckout-supercheckout #shipping-method>ul>li.highlight>.radio>input[type="radio"]{
  position:static!important;
  grid-column:1!important;
  grid-row:1 / span 2!important;
  align-self:center!important;
  justify-self:center!important;
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  accent-color:#16a34a!important;
  opacity:1!important;
  visibility:visible!important;
}
body#module-supercheckout-supercheckout #shipping-method>ul>li.highlight>.radio>label{
  position:relative!important;
  grid-column:2!important;
  grid-row:1!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  color:#10243f!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1.24!important;
  text-align:left!important;
  box-sizing:border-box!important;
}
body#module-supercheckout-supercheckout #shipping-method>ul>li.highlight>.radio>label:before,
body#module-supercheckout-supercheckout #shipping-method>ul>li.highlight>.radio>label:after{
  content:none!important;
  display:none!important;
}
body#module-supercheckout-supercheckout #shipping-method .shippingPrice{
  position:static!important;
  flex:0 0 auto!important;
  order:2!important;
  margin:0 0 0 auto!important;
  padding:0!important;
  color:#0f5132!important;
  font-size:10.5px!important;
  font-weight:900!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  text-align:right!important;
}
body#module-supercheckout-supercheckout #shipping-method>ul>li.highlight>.radio>.shippingInfo{
  grid-column:2!important;
  grid-row:2!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  color:#64748b!important;
  font-size:10.5px!important;
  line-height:1.25!important;
  text-align:left!important;
}
body#module-supercheckout-supercheckout #shipping-method .carrier-extra-content{
  margin:6px 0 0 27px!important;
}

@media(max-width:767px){
  body#module-supercheckout-supercheckout #shipping-method>ul>li.highlight>.radio{
    padding:9px 10px!important;
    column-gap:8px!important;
  }
  body#module-supercheckout-supercheckout #shipping-method>ul>li.highlight>.radio>label{
    gap:7px!important;
    font-size:12px!important;
  }
  body#module-supercheckout-supercheckout #shipping-method .shippingPrice,
  body#module-supercheckout-supercheckout #shipping-method>ul>li.highlight>.radio>.shippingInfo{
    font-size:10px!important;
  }
}


/* ===== UX52: SuperCheckout profile alignment + real height collapse + footer cleanup ===== */
/* Customer profile radios: use an explicit two-column row. Bootstrap 3 otherwise
   leaves a negative-margin radio on top of the first letters of the label. */
body#module-supercheckout-supercheckout #profile_customers_div{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0 0 12px!important;
  overflow:hidden!important;
  border-radius:11px 11px 0 0!important;
  background:#fff!important;
}
body#module-supercheckout-supercheckout #profile_customers_div>h2{
  display:block!important;
  width:calc(100% + 2px)!important;
  margin:-1px -1px 8px!important;
  padding:15px 18px!important;
  border-bottom:1px solid #dbe3ef!important;
  border-radius:11px 11px 0 0!important;
  background:#f8fafc!important;
  color:#071c38!important;
  box-sizing:border-box!important;
}
body#module-supercheckout-supercheckout #profile_customers_div>.radio-inline{
  display:block!important;
  width:auto!important;
  margin:0 18px!important;
  padding:0!important;
  border:0!important;
  background:#fff!important;
}
body#module-supercheckout-supercheckout #profile_customers_div>.radio-inline+.radio-inline{
  margin-top:6px!important;
}
body#module-supercheckout-supercheckout #profile_customers_div>.radio-inline>.radio{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:9px!important;
  position:relative!important;
  min-height:28px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
body#module-supercheckout-supercheckout #profile_customers_div>.radio-inline>.radio>input[type="radio"]{
  position:static!important;
  inset:auto!important;
  grid-column:1!important;
  justify-self:center!important;
  align-self:center!important;
  float:none!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  accent-color:#16a34a!important;
}
body#module-supercheckout-supercheckout #profile_customers_div>.radio-inline>.radio>label{
  position:static!important;
  grid-column:2!important;
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:#10243f!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.3!important;
  white-space:normal!important;
}
body#module-supercheckout-supercheckout #profile_customers_div>.radio-inline>.radio>label::before,
body#module-supercheckout-supercheckout #profile_customers_div>.radio-inline>.radio>label::after{
  content:none!important;
  display:none!important;
}

/* SuperCheckout JS equalises the two inside columns by writing inline heights.
   That is the source of the blank white tail after the order CTA on this layout. */
body#module-supercheckout-supercheckout #column-1-inside,
body#module-supercheckout-supercheckout #column-2-inside,
body#module-supercheckout-supercheckout #column-2-upper,
body#module-supercheckout-supercheckout #column-2-lower,
body#module-supercheckout-supercheckout #columnleft-2,
body#module-supercheckout-supercheckout #columnleft-3,
body#module-supercheckout-supercheckout #supercheckout-columnleft,
body#module-supercheckout-supercheckout #supercheckout-columnleft>.row,
body#module-supercheckout-supercheckout #columnleft-2>.row{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
body#module-supercheckout-supercheckout #velsof_supercheckout_form,
body#module-supercheckout-supercheckout #supercheckout-fieldset,
body#module-supercheckout-supercheckout #main-page-content,
body#module-supercheckout-supercheckout #wrapper,
body#module-supercheckout-supercheckout #inner-wrapper,
body#module-supercheckout-supercheckout #content-wrapper,
body#module-supercheckout-supercheckout #main{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
body#module-supercheckout-supercheckout .opc_confirmcart,
body#module-supercheckout-supercheckout #placeorderButton,
body#module-supercheckout-supercheckout #buttonWithProgres{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

/* On checkout there is no need for an extra pre-footer band. Keep the footer
   transition compact and leave the newsletter area clean white. */
body#module-supercheckout-supercheckout #footer{
  margin-top:18px!important;
  padding-top:0!important;
}
body#module-supercheckout-supercheckout .td-footer-trust{
  display:none!important;
}
body#module-supercheckout-supercheckout #footer-container-first,
body#module-supercheckout-supercheckout #footer-container-first>.container,
body#module-supercheckout-supercheckout #footer-container-first>.container>.row{
  background:#fff!important;
}
body#module-supercheckout-supercheckout #footer-container-first{
  margin:0!important;
  padding-top:24px!important;
  padding-bottom:24px!important;
  border-top:1px solid #e7edf6!important;
}
body#module-supercheckout-supercheckout #footer-container-first .td-footer-newsletter__title,
body#module-supercheckout-supercheckout #footer-container-first h1,
body#module-supercheckout-supercheckout #footer-container-first h2,
body#module-supercheckout-supercheckout #footer-container-first h3,
body#module-supercheckout-supercheckout #footer-container-first h4,
body#module-supercheckout-supercheckout #footer-container-first h5,
body#module-supercheckout-supercheckout #footer-container-first p,
body#module-supercheckout-supercheckout #footer-container-first span,
body#module-supercheckout-supercheckout #footer-container-first label{
  color:#0d1729!important;
  -webkit-text-fill-color:#0d1729!important;
}
body#module-supercheckout-supercheckout #footer-container-first .ps-emailsubscription-block p,
body#module-supercheckout-supercheckout #footer-container-first .ps-emailsubscription-block .alert,
body#module-supercheckout-supercheckout #footer-container-first .ps-emailsubscription-block small{
  color:#94a3b8!important;
  -webkit-text-fill-color:#94a3b8!important;
}


/* ===== UX53: SuperCheckout real-height + profile/footer final fix ===== */
/* The vendor script writes min-height on #columnleft-1/#columnleft-3 equal to the
   complete checkout. Force every layout wrapper back to content height. */
body#module-supercheckout-supercheckout #supercheckout-columnleft,
body#module-supercheckout-supercheckout #supercheckout-columnleft>.row,
body#module-supercheckout-supercheckout #supercheckout-columnleft>.row>.kb_mobile_sc_respo,
body#module-supercheckout-supercheckout #columnleft-1,
body#module-supercheckout-supercheckout #columnleft-2,
body#module-supercheckout-supercheckout #columnleft-3,
body#module-supercheckout-supercheckout #column-1-inside,
body#module-supercheckout-supercheckout #column-2-inside,
body#module-supercheckout-supercheckout #column-2-upper,
body#module-supercheckout-supercheckout #column-2-lower,
body#module-supercheckout-supercheckout #columnleft-1>.row,
body#module-supercheckout-supercheckout #columnleft-2>.row,
body#module-supercheckout-supercheckout #columnleft-3>.row{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  align-self:start!important;
}
body#module-supercheckout-supercheckout #supercheckout-columnleft>.row{
  grid-auto-rows:auto!important;
  align-items:start!important;
}

/* Customer profile rows: the module template contains margin:0!important inline;
   JS rewrites it, and these rules keep the final rhythm aligned with form fields. */
body#module-supercheckout-supercheckout #profile_customers_div>.radio-inline{
  display:block!important;
  width:auto!important;
  margin:0 24px!important;
  padding:0!important;
}
body#module-supercheckout-supercheckout #profile_customers_div>.radio-inline+.radio-inline{
  margin-top:7px!important;
}
body#module-supercheckout-supercheckout #profile_customers_div>.radio-inline>.radio{
  grid-template-columns:20px minmax(0,1fr)!important;
  column-gap:10px!important;
  min-height:28px!important;
}

/* Remove the pre-footer dead band and make the newsletter readable on the white
   checkout footer. Three IDs intentionally beat surfaces.css !important rules. */
body#module-supercheckout-supercheckout #footer{
  margin-top:0!important;
  padding-top:0!important;
  background:#fff!important;
}
body#module-supercheckout-supercheckout #footer .td-footer-trust{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
body#module-supercheckout-supercheckout #footer #footer-container-first,
body#module-supercheckout-supercheckout #footer #footer-container-first>.container,
body#module-supercheckout-supercheckout #footer #footer-container-first>.container>.row{
  background:#fff!important;
  color:#0d1729!important;
}
body#module-supercheckout-supercheckout #footer #footer-container-first{
  margin:0!important;
  padding-top:22px!important;
  padding-bottom:22px!important;
  border-top:1px solid #e7edf6!important;
}
body#module-supercheckout-supercheckout #footer #footer-container-first .td-footer-newsletter__title{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:0 0 10px!important;
  color:#0d1729!important;
  -webkit-text-fill-color:#0d1729!important;
}
/* The widget has its own duplicate heading; keep the explicit footer heading only. */
body#module-supercheckout-supercheckout #footer #footer-container-first .td-footer-newsletter .ps-emailsubscription-block>.block-title{
  display:none!important;
}
body#module-supercheckout-supercheckout #footer #footer-container-first .ps-emailsubscription-conditions,
body#module-supercheckout-supercheckout #footer #footer-container-first .ps-emailsubscription-block .text-muted,
body#module-supercheckout-supercheckout #footer #footer-container-first .ps-emailsubscription-block p{
  visibility:visible!important;
  opacity:1!important;
  color:#64748b!important;
  -webkit-text-fill-color:#64748b!important;
}
body#module-supercheckout-supercheckout #footer #footer-container-first .td-footer-social a,
body#module-supercheckout-supercheckout #footer #footer-container-first .td-footer-social i,
body#module-supercheckout-supercheckout #footer #footer-container-first .td-footer-social .fa{
  color:#003b92!important;
  -webkit-text-fill-color:#003b92!important;
}
/* Main footer stays dark; only the newsletter strip is white. */
body#module-supercheckout-supercheckout #footer #footer-container-main,
body#module-supercheckout-supercheckout #footer #footer-container-main .container,
body#module-supercheckout-supercheckout #footer #footer-container-main .row,
body#module-supercheckout-supercheckout #footer #footer-copyrights{
  background:#0d1729!important;
}

@media(max-width:767px){
  body#module-supercheckout-supercheckout #supercheckout-columnleft>.row>.kb_mobile_sc_respo,
  body#module-supercheckout-supercheckout #columnleft-1,
  body#module-supercheckout-supercheckout #columnleft-2,
  body#module-supercheckout-supercheckout #columnleft-3{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  body#module-supercheckout-supercheckout #supercheckout-columnleft>.row{
    gap:12px!important;
  }
  body#module-supercheckout-supercheckout #profile_customers_div>.radio-inline{
    margin-right:22px!important;
    margin-left:22px!important;
  }
  body#module-supercheckout-supercheckout #footer #footer-container-first{
    padding:20px 12px!important;
  }
}
