.armley-upsell-card {
  --armley-upsell-ink: #202831;
  --armley-upsell-muted: #66717c;
  --armley-upsell-accent: #c95f35;
  position: relative;
  clear: both;
  margin: 28px 0 30px;
  padding: 22px 24px 18px;
  overflow: hidden;
  border: 1px solid #e8e1d9;
  border-radius: 16px;
  background: linear-gradient(112deg, #fffdf9 0%, #fbf7f1 56%, #f7f1e8 100%);
  box-shadow: 0 12px 30px rgba(32, 40, 49, .075);
  color: var(--armley-upsell-ink);
  text-align: left;
}
.armley-upsell-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #d77b4c, #a94427);
  content: "";
}
.armley-upsell-card__top,
.armley-upsell-card__footer,
.armley-upsell-pricing {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.armley-upsell-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #83513a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}
.armley-upsell-eyebrow__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--armley-upsell-accent);
  box-shadow: 0 0 0 4px rgba(201, 95, 53, .12);
}
.armley-upsell-discount {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 0 11px;
  border: 1px solid rgba(201, 95, 53, .25);
  border-radius: 999px;
  background: #fff2e9;
  color: #a84425;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  white-space: nowrap;
}
.armley-upsell-card__body {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  margin: 18px 0 17px;
}
.armley-upsell-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 112px;
  height: 112px;
  padding: 7px;
  border: 1px solid #eee7df;
  border-radius: 12px;
  background: #fff;
}
.armley-upsell-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.armley-upsell-copy h3 {
  margin: 0 0 5px;
  color: var(--armley-upsell-ink);
  font-size: clamp(17px, 2vw, 21px);
  font-weight: 750;
  line-height: 1.25;
}
.armley-upsell-description {
  margin: 0 0 8px;
  color: var(--armley-upsell-muted);
  font-size: 13px;
  line-height: 1.5;
}
.armley-upsell-product-title {
  display: inline-block;
  margin: 0 0 8px;
  color: #313b45;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}
.armley-upsell-product-title:hover { color: var(--armley-upsell-accent); }
.armley-upsell-pricing {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 7px 10px;
}
.armley-upsell-pricing del {
  color: #8b9298;
  font-size: 13px;
}
.armley-upsell-pricing strong {
  color: #a84425;
  font-size: 19px;
  font-weight: 850;
}
.armley-upsell-pricing > span {
  color: #6e573f;
  font-size: 11px;
  font-weight: 700;
}
.armley-upsell-card__footer {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 14px;
}
.armley-upsell-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 46px;
  padding: 0 20px;
  border: 0;
  border-radius: 9px;
  background: #222d36;
  color: #fff !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .01em;
  line-height: 1.2;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
  box-shadow: 0 5px 13px rgba(32, 40, 49, .16);
}
.armley-upsell-button:hover {
  transform: translateY(-1px);
  background: #35424c;
  box-shadow: 0 8px 18px rgba(32, 40, 49, .2);
}
.armley-upsell-button:disabled { opacity: .65; cursor: wait; transform: none; }
.armley-upsell-button__arrow { font-size: 19px; line-height: 1; }
.armley-upsell-dismiss {
  padding: 8px 2px;
  border: 0;
  background: transparent;
  color: #66717c;
  font-size: 12px;
  font-weight: 650;
  cursor: pointer;
}
.armley-upsell-dismiss:hover { color: #222d36; text-decoration: underline; }
.armley-upsell-terms {
  margin: 12px 0 0;
  color: #7c817f;
  font-size: 10px;
  line-height: 1.45;
}
.armley-upsell-cart-label {
  display: table;
  margin-top: 6px;
  padding: 3px 7px;
  border-radius: 4px;
  background: #fff0e6;
  color: #a84425;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .07em;
}
.armley-upsell-toast {
  position: fixed;
  z-index: 999999;
  right: 22px;
  bottom: 22px;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: min(440px, calc(100vw - 32px));
  padding: 14px 18px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 11px;
  background: #202a33;
  color: #fff;
  box-shadow: 0 14px 36px rgba(0,0,0,.22);
  font-size: 13px;
  line-height: 1.4;
  animation: armleyUpsellIn .22s ease-out;
}
.armley-upsell-toast__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 23px;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background: #dff1e6;
  color: #247348;
  font-weight: 900;
}
.armley-upsell-toast a { color: #ffd2b8; font-weight: 800; text-decoration: underline; white-space: nowrap; }
@keyframes armleyUpsellIn {
  from { opacity: 0; transform: translateY(9px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 600px) {
  .armley-upsell-card { margin: 21px 0 24px; padding: 17px 15px 15px; border-radius: 13px; }
  .armley-upsell-card__body { grid-template-columns: 82px minmax(0, 1fr); gap: 12px; margin: 14px 0; }
  .armley-upsell-image { width: 82px; height: 82px; padding: 5px; }
  .armley-upsell-copy h3 { font-size: 17px; }
  .armley-upsell-description { font-size: 12px; }
  .armley-upsell-product-title { font-size: 12px; }
  .armley-upsell-pricing strong { font-size: 17px; }
  .armley-upsell-button { flex: 1 1 100%; width: 100%; min-height: 45px; padding: 0 14px; }
  .armley-upsell-dismiss { align-self: center; }
  .armley-upsell-toast { right: 12px; bottom: 12px; left: 12px; max-width: none; }
}


/* Armley Smart Upsell — curated single-card layout inspired by the Tibchit pairing module. */
.armley-smart-upsell.armley-upsell-card {
  --armley-su-ink: #19232e;
  --armley-su-muted: #65717d;
  --armley-su-accent: #e12b32;
  --armley-su-warm: #fff8f3;
  box-sizing: border-box;
  container-type: inline-size;
  width: 100%;
  max-width: 100%;
  margin: 26px 0 28px;
  padding: clamp(16px, 2.1vw, 25px);
  border: 1px solid rgba(225,43,50,.20);
  border-radius: 17px;
  background: linear-gradient(135deg,#fff 0%,var(--armley-su-warm) 100%);
  color: var(--armley-su-ink);
  box-shadow: 0 10px 28px rgba(25,35,46,.07);
  overflow: visible;
}
.armley-smart-upsell.armley-upsell-card::before { display:none; }
.armley-su-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 18px; width:100%; }
.armley-su-heading>div { flex:1 1 auto; min-width:0; }
.armley-su-overline { display:block; margin:0 0 7px; color:#a52a30; font-size:10px; line-height:1.3; font-weight:900; letter-spacing:.16em; }
.armley-su-heading h2 { margin:0!important; color:var(--armley-su-ink)!important; font-size:clamp(21px,2.2vw,29px)!important; line-height:1.15!important; font-weight:800!important; letter-spacing:-.035em; }
.armley-su-heading p { max-width:68ch; margin:8px 0 0!important; color:var(--armley-su-muted); font-size:clamp(13px,1.1vw,15px); line-height:1.5; }
.armley-su-heading-mark { display:flex; flex:0 0 44px; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:#fae7e6; color:#c91f29; font-size:22px; }
.armley-su-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; width:100%; }
.armley-su-card { display:flex; flex-direction:column; width:100%; min-width:0; padding:clamp(13px,1.5vw,19px); border:1px solid #ead9d7; border-radius:14px; background:rgba(255,255,255,.92); box-shadow:0 5px 17px rgba(25,35,46,.045); }
.armley-su-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin:0 0 14px; }
.armley-su-kicker { display:inline-flex; align-items:center; gap:7px; color:#7d3135; font-size:10px; font-weight:900; letter-spacing:.11em; }
.armley-su-spark { color:#d5252e; font-size:15px; }
.armley-su-save { display:inline-flex; align-items:center; min-height:27px; padding:0 10px; border:1px solid rgba(225,43,50,.22); border-radius:999px; background:#fff0ef; color:#b51f27; font-size:10px; font-weight:900; letter-spacing:.05em; white-space:nowrap; }
.armley-su-card-main { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:center; gap:17px; width:100%; }
.armley-su-image { display:flex; align-items:center; justify-content:center; width:112px; height:112px; padding:7px; border:1px solid #eee7e4; border-radius:12px; background:#fff; }
.armley-su-image img { display:block; width:100%; height:100%; object-fit:contain; }
.armley-su-copy { min-width:0; }
.armley-su-eyebrow { margin:0 0 5px!important; color:#9b3438; font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.armley-su-copy h3 { margin:0 0 6px!important; color:var(--armley-su-ink)!important; font-size:clamp(16px,1.7vw,20px)!important; line-height:1.25!important; font-weight:800!important; }
.armley-su-copy h3 a { color:inherit!important; text-decoration:none!important; }
.armley-su-copy h3 a:hover { color:#bd242c!important; }
.armley-su-reason { margin:0!important; color:var(--armley-su-muted); font-size:13px; line-height:1.5; }
.armley-su-deal { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; margin:15px 0 14px; padding:12px 14px; border:1px solid #eadedb; border-radius:10px; background:linear-gradient(110deg,#fff8f5,#f8f1ed); }
.armley-su-prices { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; min-width:0; }
.armley-su-price-label { flex-basis:100%; color:#7d4546; font-size:9px; line-height:1.3; font-weight:900; letter-spacing:.13em; }
.armley-su-price-value { color:#b51f27; font-size:22px; line-height:1.2; font-weight:900; }
.armley-su-prices del { color:#92979c; font-size:13px; }
.armley-su-you-save { display:flex; flex-direction:column; align-items:flex-end; gap:3px; flex:0 0 auto; color:#2b6848; }
.armley-su-save-label { font-size:9px; font-weight:900; letter-spacing:.12em; }
.armley-su-save-amount { font-size:16px; font-weight:900; }
.armley-su-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; }
.armley-su-trust { color:#65717d; font-size:11px; line-height:1.4; font-weight:650; }
.armley-smart-upsell .armley-su-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:0 18px; border:0; border-radius:8px; background:#202a34; color:#fff!important; font-size:12px; font-weight:850; line-height:1.2; white-space:nowrap; box-shadow:0 5px 13px rgba(25,35,46,.14); cursor:pointer; }
.armley-smart-upsell .armley-su-button:hover { background:#d3262e; color:#fff!important; transform:translateY(-1px); }
.armley-smart-upsell .armley-su-button:disabled { opacity:.65; cursor:wait; transform:none; }
.armley-su-button-arrow { font-size:19px; line-height:1; }
.armley-su-feedback { min-height:0; margin:0!important; color:#9b3438; font-size:11px; }
.armley-su-terms { margin:10px 0 0!important; color:#7b838a; font-size:10px; line-height:1.45; }
@media(max-width:600px) {
  .armley-smart-upsell.armley-upsell-card { margin:20px 0 23px; padding:15px 13px; border-radius:13px; }
  .armley-su-heading { gap:8px; margin-bottom:14px; }
  .armley-su-heading-mark { flex-basis:36px; width:36px; height:36px; }
  .armley-su-card-main { grid-template-columns:82px minmax(0,1fr); gap:11px; }
  .armley-su-image { width:82px; height:82px; padding:5px; }
  .armley-su-copy h3 { font-size:15px!important; }
  .armley-su-reason { font-size:11px; }
  .armley-su-deal { align-items:flex-start; padding:10px; }
  .armley-su-price-value { font-size:18px; }
  .armley-su-you-save { gap:2px; }
  .armley-su-save-amount { font-size:13px; }
  .armley-su-card-bottom { align-items:stretch; flex-direction:column; }
  .armley-smart-upsell .armley-su-button { width:100%; min-height:46px; }
}


/* Final product-page placement: sits directly above the direct-payment chooser. */
body.single-product .armley-smart-upsell--before-payment {
  margin-top: 24px !important;
  margin-bottom: 18px !important;
  position: relative;
  z-index: 1;
}

/* Hide review UI as a fallback even when the review-wall plugin is inactive. */
body.single-product .armley-review-wall,
body.single-product #reviews,
body.single-product .woocommerce-Reviews,
body.single-product .woocommerce-product-rating,
body.single-product .woocommerce-review-link,
body.single-product .wd-single-reviews,
body.single-product .wd-reviews,
body.single-product .wd-product-reviews,
body.single-product .wd-review-tab,
body.single-product .woocommerce-tabs ul.tabs li.reviews_tab,
body.single-product .woocommerce-tabs #tab-reviews {
  display: none !important;
}


/* Keep third-party payment promotions out of product-price area.
   Checkout/payment selection controls are deliberately unaffected. */
body.single-product square-placement[data-page-type="product"],
body.single-product .wc-afterpay-cashapp-product-message {
  display: none !important;
}


/* v2.0.4: storewide same-product fallback inherits the curated offer layout. */
.armley-su-card[data-armley-su-fallback='same-product'] .armley-su-kicker { letter-spacing: .09em; }
