/* SourcingPromo — pricing on the product page and the U.S. DDP quote page.
   Tokens, .btn, .tag, .facts, .fee-line and .qp-fees come from tokens.css, style.css,
   forms.css and calculator.css; only the "pp-" and "ddp-" classes live here. Warm white,
   a white card, the ink greys and the one brand orange: no second palette. */

/* ---------- shared: the sampled-figures flag and a section anchor ---------- */
.pp [hidden],.ddp [hidden]{display:none !important}
.pd-nav{
  display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;
}
.pd-nav a{
  display:inline-block;padding:.34rem .7rem;border:1px solid var(--line);
  border-radius:var(--radius-pill);background:var(--paper);
  font-size:var(--step--1);font-weight:560;color:var(--ink-2);text-decoration:none;
}
.pd-nav a:hover{border-color:var(--ink-3);color:var(--ink)}
.pd-nav a[aria-current="location"]{
  background:var(--brand-tint);border-color:var(--brand);color:var(--brand-dark);font-weight:640;
}

/* ---------- product page: Product Pricing ---------- */
.pp{
  display:flex;flex-direction:column;gap:.8rem;min-width:0;
  padding:clamp(1rem,2.2vw,1.3rem);
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
}
.pp__title{font-size:var(--step-1);font-weight:680;letter-spacing:-.015em;line-height:1.2}
.pp__cond{margin:-.35rem 0 0;font-size:var(--step--1);color:var(--ink-3);line-height:1.45}
.pp-flag{margin:0}
.pp-ask{display:grid;gap:.3rem}
.pp-ask__label{
  margin:0;font-size:var(--step-1);font-weight:650;letter-spacing:0;color:var(--warn);
}

.pp-tiers{
  display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));
  border:0;margin:0;padding:0;min-width:0;
}
.pp-tier{
  display:flex;flex-direction:column;gap:.1rem;align-items:flex-start;
  padding:.6rem .7rem;border:1px solid var(--line-strong);border-radius:var(--radius);
  background:var(--paper);text-align:left;cursor:pointer;min-width:0;
  transition:background-color .15s,border-color .15s;
}
.pp-tier:hover{border-color:var(--ink-3)}
.pp-tier[aria-pressed="true"]{background:var(--brand-tint);border-color:var(--brand)}
.pp-tier__qty{font-size:var(--step--1);color:var(--ink-2);font-variant-numeric:tabular-nums}
.pp-tier[aria-pressed="true"] .pp-tier__qty{color:var(--brand-dark);font-weight:600}
.pp-tier__price{font-size:1.1875rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pp-tier__unit{font-size:.75rem;color:var(--ink-3)}
.pp-lead{margin:0;font-size:var(--step--1);line-height:1.45;color:var(--ink-3)}
.pp-notes{display:grid;gap:.35rem;padding-top:.6rem;border-top:1px solid var(--line)}
.pp-notes .quote-note{margin:0}
.pp-actions{display:flex;flex-direction:column;gap:.45rem;margin:0}
.pp-actions p{margin:0}

/* the three-column ladder becomes a compact table already at three tiers on a phone */
@media (max-width:520px){
  .pp-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pp-tier__price{font-size:1.0625rem}
}

/* ---------- product page: the U.S. DDP entry ---------- */
.ddp-entry{
  display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;justify-content:space-between;
  padding:.75rem .85rem;border:1px solid #F0D9CB;border-radius:var(--radius);
  background:var(--brand-tint);
}
.ddp-entry__body{display:grid;gap:.15rem;min-width:12rem;flex:1 1 12rem}
.ddp-entry__title{margin:0;font-size:.9375rem;font-weight:680;color:var(--brand-dark);line-height:1.3}
.ddp-entry__note{margin:0;font-size:.8125rem;line-height:1.4;color:#7A4A32}
.ddp-entry .btn{flex:0 0 auto}

/* ---------- U.S. DDP page: head and two-column body ---------- */
.ddp-hero__title{max-width:24ch}
.ddp-hero .lede{max-width:62ch}
.ddp-back{margin:0}
.ddp-section{padding-top:clamp(1.25rem,2.6vw,2rem)}
.ddp-layout{display:grid;gap:clamp(1.25rem,3.5vw,2.25rem)}
@media (min-width:960px){
  .ddp-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);align-items:start}
  .ddp-aside{position:sticky;top:5.5rem}
}
.ddp-main{min-width:0}

/* ---------- the product summary card (read only) ---------- */
.ddp-summary{
  display:flex;flex-direction:column;gap:.7rem;min-width:0;
  padding:clamp(.9rem,2vw,1.15rem);
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
}
.ddp-summary__media{
  display:block;border-radius:var(--radius);overflow:hidden;background:var(--sand-2);
  aspect-ratio:4/3;
}
.ddp-summary__media img{width:100%;height:100%;object-fit:cover}
.ddp-summary__name{margin:0;font-size:var(--step-1);font-weight:660;line-height:1.25;letter-spacing:-.015em}
.ddp-summary__name a{text-decoration:none}
.ddp-summary__sku{margin:-.35rem 0 0;font-size:var(--step--1);color:var(--ink-3);font-variant-numeric:tabular-nums}
.ddp-summary .facts{margin:0}
.ddp-summary .facts dt{font-size:.8125rem}

/* ---------- the price list: every quantity and channel, listed at once ---------- */
.ddp-qty__title{margin:0;font-size:var(--step-1);font-weight:680;letter-spacing:-.015em}
.ddp-matrix{
  border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);
  box-shadow:var(--shadow-sm);overflow:hidden;
}
.ddp-matrix table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.ddp-matrix thead th{
  padding:.6rem .9rem;text-align:left;background:var(--sand);border-bottom:1px solid var(--line);
  font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);
}
.ddp-matrix thead th span{
  display:block;margin-top:.15rem;font-size:.6875rem;font-weight:600;
  letter-spacing:0;text-transform:none;color:var(--ink-3);
}
.ddp-matrix thead th.ddp-matrix__q{background:var(--sand-2);color:var(--brand-dark)}
.ddp-matrix tbody th,.ddp-matrix tbody td{
  padding:.65rem .9rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);
}
.ddp-matrix tbody tr:last-child th,.ddp-matrix tbody tr:last-child td{border-bottom:0}
.ddp-matrix__q{font-size:.9375rem;font-weight:680;color:var(--ink);white-space:nowrap;background:var(--brand-tint)}
.ddp-cell__price{display:block;font-size:1.0625rem;font-weight:720;letter-spacing:-.015em;color:var(--ink)}
.ddp-cell__days{display:block;margin-top:.15rem;font-size:.75rem;line-height:1.35;color:var(--ink-3)}
.ddp-cell__state{font-size:.8125rem;font-weight:600;color:var(--ink-3)}
.ddp-cell__ask{font-size:.8125rem;font-weight:650;color:var(--warn);text-underline-offset:.15em}
.ddp-matrix__cta{text-align:right;white-space:nowrap}
.ddp-matrix__cta .link-arrow{font-size:.8125rem}
@media (max-width:719px){
  .ddp-matrix{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
  .ddp-matrix table,.ddp-matrix tbody,.ddp-matrix tr,.ddp-matrix th,.ddp-matrix td{display:block;width:auto}
  .ddp-matrix thead{display:none}
  .ddp-matrix tbody tr{
    margin-bottom:.6rem;padding:.85rem .95rem;background:var(--paper);
    border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);
  }
  .ddp-matrix tbody th.ddp-matrix__q{
    background:transparent;padding:0 0 .5rem;margin-bottom:.35rem;
    border-bottom:1px solid var(--line);font-size:1.0625rem;
  }
  .ddp-matrix tbody td{
    display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .55rem;
    padding:.32rem 0;border:0;
  }
  .ddp-matrix tbody td::before{
    content:attr(data-channel);flex:0 0 auto;min-width:5.25rem;
    font-size:.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);
  }
  .ddp-cell__price,.ddp-cell__state,.ddp-cell__ask{display:inline;font-size:.9375rem}
  .ddp-cell__days{flex:1 1 8rem;margin-top:0}
  .ddp-matrix__cta{padding-top:.45rem}
  .ddp-matrix__cta::before{content:none}
}

/* ---------- fees, conditions, actions ---------- */
.ddp-fees{margin:0}
.ddp-cond{display:grid;gap:.35rem}
.ddp-cond .note{margin:0;max-width:74ch}
.ddp-actions{display:flex;flex-direction:column;gap:.45rem;margin:0}
.ddp-actions p{margin:0}
.ddp-actions .btn{justify-content:center}

/* ---------- before you ask, and the other-destination block ---------- */
.ddp-before__list{margin:0;padding-left:1.15rem;display:grid;gap:.35rem;max-width:74ch;color:var(--ink-2)}

/* ---------- the three steps, as three picture cards ---------- */
.ddp-steps-block{display:grid;gap:.85rem;margin-top:.3rem}
.ddp-steps__title{margin:0;font-size:var(--step-1);font-weight:680;letter-spacing:-.015em}
.ddp-steps{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
@media (min-width:760px){.ddp-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;align-items:stretch}}
.ddp-step{
  display:grid;gap:.3rem;align-content:start;min-width:0;
  padding:1rem 1.05rem;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);
}
.ddp-step__icon{
  display:grid;place-items:center;width:2.4rem;height:2.4rem;margin-bottom:.25rem;
  border-radius:50%;background:var(--brand-tint);color:var(--brand-dark);
}
.ddp-step__icon svg{width:1.2rem;height:1.2rem}
.ddp-step__num{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}
.ddp-step__label{font-size:1rem;font-weight:640;line-height:1.3;color:var(--ink)}

/* ---------- the closing line: the question, then the two exits ---------- */
.ddp-outro{
  display:grid;gap:1.1rem;align-items:center;min-width:0;
  padding:clamp(1.1rem,2.6vw,1.6rem);background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);
}
.ddp-outro__body{display:grid;gap:.4rem;min-width:0}
.ddp-outro__title{margin:0;font-size:var(--step-1);font-weight:680;line-height:1.2;letter-spacing:-.015em}
.ddp-outro__note{margin:0;max-width:52ch;font-size:var(--step--1);line-height:1.5;color:var(--ink-2)}
.ddp-outro__actions{display:grid;gap:.5rem}
.ddp-outro__actions .btn{justify-content:center}
@media (min-width:640px){.ddp-outro__actions{display:flex;flex-wrap:wrap;gap:.6rem}}
@media (min-width:860px){.ddp-outro{grid-template-columns:minmax(0,1fr) auto;gap:1.75rem}}
.ddp-found{display:grid;gap:.6rem;max-width:52ch}

/* ---------- the plate fee's own line ----------
   The label now carries the qualifier a buyer has to read — one-off, per colour position — so it
   wraps; the amount beside it never does. The product card and the DDP page print the same line, so
   both get the rule. */
.pp .qp-fees .fee-line dt,
.ddp-fees .fee-line dt{line-height:1.35}
.pp .qp-fees .fee-line dd,
.ddp-fees .fee-line dd{white-space:nowrap}
