/* D-21 owner-approved cart offer shell. The orange action remains checkout. */
.ml-cu-row .ml-cu-cell { padding: 14px 16px !important; border-top: 1px solid #e9dfcf; }
#ml-cu-slot { min-width: 0; }
.ml-cu-card {
 box-sizing: border-box; width: 100%; overflow-wrap: anywhere; margin: 0;
 padding: clamp(14px, 4vw, 20px); border: 1px solid #e9dfcf;
 border-radius: 24px; background: #fffbf5; color: #2a211c;
 box-shadow: 0 12px 38px rgb(32 52 45 / 8%); font-size: 16px; line-height: 1.45;
}
#ml-postadd-slot .ml-cu-card { margin: 16px 0; }
.ml-cu-eyebrow, .ml-cu-success-label { margin: 0 0 6px; color: #c4481f; font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.ml-cu-success-label { color: #26754c; letter-spacing: 0; }
.ml-cu-heading { margin: 0 0 12px; font-family: var(--mls-serif, Georgia, serif); font-size: 21px; line-height: 1.23; font-weight: 700; }
.ml-cu-compare { margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; background: #f7f1e8; }
.ml-cu-arrow { color: #c4481f; font-weight: 700; }
.ml-cu-gain { margin: 0 0 8px; font-weight: 650; }
.ml-cu-muted { margin: 0 0 14px; color: #6b5f55; font-size: 14px; }
.ml-cu-text { margin: 0 0 12px; }
.ml-cu-what { display: flex; gap: 12px; align-items: center; margin: 0 0 12px; }
.ml-cu-thumb { width: 48px; height: 48px; object-fit: cover; border-radius: 12px; flex: 0 0 48px; }
.ml-cu-product { margin: 0; font-weight: 600; }
.ml-cu-price { margin: 0; font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ml-cu-price s { color: #6b5f55; font-weight: 400; margin-right: 6px; }
.ml-cu-actions { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
.ml-cu-add, .ml-cu-no, .ml-cu-choice { min-height: 44px; min-width: 44px; font: inherit; cursor: pointer; }
.ml-cu-add { display: inline-flex; align-items: center; justify-content: center; padding: 10px 22px; border: 1px solid #2a211c; border-radius: 999px; background: #2a211c; color: #fff !important; text-decoration: none !important; font-weight: 700; }
.ml-cu-add:hover, .ml-cu-add:focus-visible { background: #41342d; }
.ml-cu-no, .ml-cu-choice { padding: 4px 0; border: 0; background: transparent; color: #2a211c; text-decoration: underline; }
.ml-cu-choice { display: block; margin-top: 12px; color: #6b5f55; text-align: left; }
.ml-cu-add:disabled { opacity: .5; cursor: default; }
.ml-cu-status { margin: 10px 0 0; font-size: 14px; }
.ml-cu-err { font-weight: 600; }
.sunshine--cart--count[data-mlcu-stale] { opacity: .45; }
/* The existing cart gift suggestion stays yellow, with two secondary actions. */
.ml-cart-upsell { background: #faefcb !important; border: 1px solid #e9dfcf !important; border-radius: 24px !important; }
.ml-cart-upsell__actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px !important; }
.ml-cart-upsell .ml-product-card__cta { min-height: 44px !important; padding: 8px 10px !important; border: 1.5px solid #2a211c !important; border-radius: 999px !important; background: #fffbf5 !important; color: #2a211c !important; font-size: 13px; line-height: 1.2; text-align: center; }
/* A selected package gift and a paid grandparent pitch never overlap. */
body.ml-cu-gift-open .ml-cart-upsell { display: none !important; }
@media (max-width: 620px) { body.ml-cu-promo-visible .ml-cart-upsell { display: none !important; } }
/* Badge overlaps the card edge without moving just one package title down. */
.ml-product-card { position: relative; }
.ml-product-card__badge { position: absolute; top: -12px; left: 20px; z-index: 2; margin: 0; }

/* Upgrade offers only. No viewport-dependent layout changes. */
.ml-cu-card.ml-cu-card--upgrade,
.ml-warm-editorial-cart #ml-cu-slot .ml-cu-card.ml-cu-card--upgrade{
  border-radius:24px;
  box-shadow:0 12px 38px rgb(32 52 45/8%);
  min-width:0;
  padding:10px 12px;
  font-size:16px;
  line-height:20px;
}.ml-cu-card--upgrade .ml-cu-eyebrow{
  margin:0 0 3px;
  font-size:12px;
  line-height:14px;
}.ml-cu-card--upgrade .ml-cu-heading,
#ml-cu-slot .ml-cu-card.ml-cu-card--upgrade .ml-cu-heading{
  margin:0 0 3px;
  font-size:20px;
  line-height:24px;
  text-wrap:balance;
}/* Preserve ordinary text characters; prevent breaks with CSS. */
.ml-cu-card--upgrade .ml-cu-amount{
  white-space:nowrap;
  overflow-wrap:normal;
  font-variant-numeric:tabular-nums;
}/* Supporting figures immediately below the promise. */
.ml-cu-card--upgrade .ml-cu-figures{
  margin:0 0 6px;
  color:#6b5f55;
  font-size:12px;
  line-height:16px;
  font-weight:400;
  font-variant-numeric:tabular-nums;
}.ml-cu-card--upgrade .ml-cu-figure{
  white-space:nowrap;
}.ml-cu-card--upgrade .ml-cu-figure strong{
  color:#2a211c;
  font-weight:700;
}.ml-cu-card--upgrade .ml-cu-compare{
  margin:0 0 4px;
  padding:2px 8px;
  font-size:12px;
  line-height:20px;
  white-space:nowrap;
}/*
 * Keep the existing accent.
 * 20px bold makes the arrow large text without increasing its line box.
 */
.ml-cu-card--upgrade .ml-cu-arrow{
  display:inline-block;
  vertical-align:bottom;
  font-size:20px;
  line-height:20px;
  font-weight:700;
}.ml-cu-card--upgrade .ml-cu-gift{
  margin:0 0 4px;
  font-size:16px;
  line-height:20px;
  text-wrap:balance;
}/*
 * Footer:
 *   note                           Váltok
 *   Maradok a mostaninál
 *   other option
 *
 * Independent grids give each row the proportions it needs.
 */
.ml-cu-card--upgrade .ml-cu-actions,
#ml-cu-slot .ml-cu-card.ml-cu-card--upgrade .ml-cu-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  margin:0;
  align-items:stretch;
}.ml-cu-card--upgrade .ml-cu-primary-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 84px;
  gap:8px;
  align-items:center;
}.ml-cu-card--upgrade .ml-cu-secondary-row{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  align-items:stretch;
}.ml-cu-card--upgrade .ml-cu-muted{
  margin:0;
  color:#6b5f55;
  font-size:12px;
  line-height:16px;
  text-wrap:balance;
}.ml-cu-card--upgrade .ml-cu-add,
#ml-cu-slot .ml-cu-card.ml-cu-card--upgrade .ml-cu-add{
  box-sizing:border-box;
  grid-column:2;
  min-width:44px;
  min-height:44px;
  padding:8px 12px;
  font-size:16px;
  line-height:20px;
  white-space:nowrap;
}/* The no-gift variant has no note: its primary fills the first row. */
.ml-cu-card--upgrade .ml-cu-primary-row > .ml-cu-add:only-child,
#ml-cu-slot .ml-cu-card.ml-cu-card--upgrade .ml-cu-primary-row > .ml-cu-add:only-child{
  grid-column:1 / -1;
}.ml-cu-card--upgrade .ml-cu-no,
#ml-cu-slot .ml-cu-card.ml-cu-card--upgrade .ml-cu-no{
  box-sizing:border-box;
  min-width:44px;
  min-height:44px;
  padding:4px 2px;
  font-size:12px;
  line-height:16px;
  text-align:center;
  white-space:nowrap;
}.ml-cu-card--upgrade .ml-cu-choice{
  box-sizing:border-box;
  display:block;
  width:100%;
  min-width:44px;
  min-height:44px;
  margin:0;
  padding:4px 0;
  font-size:12px;
  line-height:16px;
  text-align:center;
  white-space:normal;
  text-wrap:balance;
}.ml-cu-card--upgrade .ml-cu-option-label,
.ml-cu-card--upgrade .ml-cu-option-detail{
  display:inline;
  max-width:100%;
}.ml-cu-card--upgrade .ml-cu-option-detail{
  color:#2a211c;
}/* “−15%” cannot become a line by itself. */
.ml-cu-card--upgrade .ml-cu-option-tail{
  white-space:nowrap;
  overflow-wrap:normal;
}.ml-cu-card--upgrade .ml-cu-status{
  margin:8px 0 0;
  font-size:12px;
  line-height:16px;
}/* Do not hide a live-region element; only remove its empty margin. */
.ml-cu-card--upgrade .ml-cu-status:empty{
  margin:0;
}.ml-cu-card--upgrade .ml-cu-add:focus-visible,
.ml-cu-card--upgrade .ml-cu-no:focus-visible,
.ml-cu-card--upgrade .ml-cu-choice:focus-visible,
#ml-cu-slot .ml-cu-card.ml-cu-card--upgrade .ml-cu-add:focus-visible,
#ml-cu-slot .ml-cu-card.ml-cu-card--upgrade .ml-cu-no:focus-visible,
#ml-cu-slot .ml-cu-card.ml-cu-card--upgrade .ml-cu-choice:focus-visible{
  outline:2px solid #c4481f;
  outline-offset:2px;
}
