/* APD Smart Recommendations — cart strip. Scoped under .apd-reco. */
.apd-reco{
  --apd-cta:#d73e1f;--apd-cta-dark:#b93013;--apd-terr:#c0492b;
  --apd-ink:#333;--apd-muted:#8a8a8a;--apd-line:#ececec;--apd-radius:4px;--apd-card-radius:8px;
  --apd-reco-cols:3;
  background:#fff;border:1px solid var(--apd-line);border-radius:var(--apd-card-radius);
  box-shadow:0 6px 22px rgba(0,0,0,.05);padding:22px 24px 26px;margin:0 0 30px;
  position:relative;overflow:hidden;color:var(--apd-ink);
}
.apd-reco::before{content:"";position:absolute;left:0;top:0;height:100%;width:4px;
  background:linear-gradient(var(--apd-cta),var(--apd-terr));}
.apd-reco *{box-sizing:border-box;}
.apd-reco-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:2px;}
.apd-reco-title{font-size:20px;font-weight:600;margin:0;line-height:1.2;}
.apd-reco-sub{color:var(--apd-muted);font-size:13.5px;margin:4px 0 18px;}
.apd-reco-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.6px;color:var(--apd-cta);
  background:rgba(215,62,31,.09);padding:5px 10px;border-radius:100px;}
.apd-reco-badge::before{content:"";width:7px;height:7px;border-radius:50%;
  background:var(--apd-cta);box-shadow:0 0 0 3px rgba(215,62,31,.18);}

.apd-reco-cards{display:grid;grid-template-columns:repeat(var(--apd-reco-cols),1fr);gap:16px;}
.apd-reco-hidden{display:none !important;}

.apd-reco-card{border:1px solid var(--apd-line);border-radius:var(--apd-card-radius);background:#fff;
  display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .18s ease,transform .18s ease,opacity .25s ease;}
.apd-reco-card:hover{box-shadow:0 10px 26px rgba(0,0,0,.10);transform:translateY(-3px);}
.apd-reco-card.apd-reco-adding{opacity:.6;}

/* Portrait poster ratio matching the shop grid's displayed card image (~310x380). */
.apd-reco-thumb{position:relative;display:block;aspect-ratio:310/380;background:#f3f3f3;overflow:hidden;}
.apd-reco-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.apd-reco-disc{position:absolute;top:10px;left:10px;background:var(--apd-cta);color:#fff;
  font-size:12px;font-weight:700;padding:3px 8px;border-radius:100px;z-index:1;}

.apd-reco-body{padding:13px 14px 16px;display:flex;flex-direction:column;flex:1;}
.apd-reco-name{font-size:14.5px;font-weight:600;line-height:1.3;margin:0 0 10px;min-height:38px;
  color:var(--apd-ink);text-decoration:none;}
.apd-reco-name:hover{color:var(--apd-cta);}
.apd-reco-prices{display:flex;align-items:baseline;gap:8px;margin-bottom:12px;}
.apd-reco-now{font-size:19px;font-weight:700;color:var(--apd-cta);}
.apd-reco-was{font-size:13px;color:var(--apd-muted);text-decoration:line-through;}

/* High-specificity + !important so theme/Elementor button rules can't override the CTA. */
.apd-reco .apd-reco-add{margin-top:auto;cursor:pointer;
  background:var(--apd-cta) !important;background-image:none !important;
  color:#fff !important;border:0 !important;box-shadow:none !important;text-shadow:none !important;
  font:inherit !important;font-size:14px !important;font-weight:600 !important;
  padding:10px !important;border-radius:var(--apd-radius) !important;width:100% !important;
  transition:background .15s ease;line-height:1.2;text-transform:none !important;letter-spacing:normal;}
.apd-reco .apd-reco-add:hover,
.apd-reco .apd-reco-add:focus{background:var(--apd-cta-dark) !important;color:#fff !important;}
.apd-reco .apd-reco-add:disabled{cursor:default;opacity:.9;}
.apd-reco .apd-reco-add.apd-reco-added,
.apd-reco .apd-reco-add.apd-reco-added:hover{background:#1f9d55 !important;color:#fff !important;}
/* Guard the product-name link against theme link colors. */
.apd-reco .apd-reco-name{color:var(--apd-ink);text-decoration:none;}
.apd-reco .apd-reco-name:hover{color:var(--apd-cta);}

@media(max-width:760px){
  .apd-reco:not(.apd-reco--mini) .apd-reco-cards{grid-template-columns:1fr;}
}

/* ===== Compact variant for the Xoo side-cart popup ===== */
.apd-reco--mini{padding:14px 14px 16px;margin:4px 0 0;border:0;border-top:1px solid var(--apd-line);
  border-radius:0;box-shadow:none;}
.apd-reco--mini::before{display:none;}
.apd-reco--mini .apd-reco-head{margin-bottom:10px;}
.apd-reco--mini .apd-reco-title{font-size:14px;font-weight:700;}
.apd-reco--mini .apd-reco-cards{display:flex;gap:10px;overflow-x:auto;grid-template-columns:none;
  padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.apd-reco--mini .apd-reco-card{flex:0 0 132px;width:132px;}
.apd-reco--mini .apd-reco-card:hover{transform:none;box-shadow:0 4px 12px rgba(0,0,0,.08);}
.apd-reco--mini .apd-reco-body{padding:9px 10px 11px;}
.apd-reco--mini .apd-reco-name{font-size:12.5px;min-height:32px;margin-bottom:6px;}
.apd-reco--mini .apd-reco-now{font-size:15px;}
.apd-reco--mini .apd-reco-was{font-size:11px;}
.apd-reco--mini .apd-reco-prices{margin-bottom:8px;gap:6px;}
.apd-reco--mini .apd-reco .apd-reco-add,
.apd-reco--mini .apd-reco-add{font-size:12.5px !important;padding:8px !important;}
.apd-reco--mini .apd-reco-disc{font-size:10px;padding:2px 6px;top:6px;left:6px;}
