/* =====================================================================
   1414 / 1513 — Home "Custom-Printed Packaging": three-route pricing
   comparison (Express / Economy / Volume) on a red gradient panel.
   Loaded by the catalog module (rp_customprint) via addStyle().
   ===================================================================== */
.rp-cprint {
  --red:#db0f16; --red-dark:#b50c12; --ink:#1c1c1c; --muted:#6f6f6c;
  --card:#ffffff; --line:rgba(255,255,255,.22); --card-line:#ece6df;
  font-family:'Outfit',sans-serif; margin:34px 0; color:#fff; overflow:hidden;
  background:linear-gradient(150deg, #e11b1f 0%, #b30f14 58%, #9c0c11 100%);
  border-radius:20px;
}
.rp-cprint * { box-sizing:border-box; }
.rp-cprint__inner { padding:50px 46px; }

/* header */
.rp-cprint__head { max-width:780px; margin:0 0 26px; }
.rp-cprint__eyebrow { display:block; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.85); margin:0 0 16px; }
.rp-cprint__title { margin:0; font-size:clamp(28px,3.4vw,44px); font-weight:800; line-height:1.06; letter-spacing:-.02em; color:#fff; }
.rp-cprint__lede { margin:16px 0 0; font-size:clamp(16px,1.6vw,19px); font-weight:700; color:#fff; }
.rp-cprint__intro { margin:8px 0 0; font-size:15.5px; line-height:1.55; color:rgba(255,255,255,.86); max-width:62ch; }

/* group labels row */
.rp-cprint__grouprow { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
  padding:0 0 14px; margin:24px 0 20px; border-bottom:1px solid var(--line); font-size:13px; color:rgba(255,255,255,.8); }
.rp-cprint__group strong { color:#fff; font-weight:700; }
.rp-cprint__group--roto { text-align:right; }

/* cards */
.rp-cprint__cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:start; }
.rp-cprint__card { background:var(--card); color:var(--ink); border-radius:14px; padding:26px 24px 24px;
  display:flex; flex-direction:column; box-shadow:0 16px 34px rgba(0,0,0,.16); }

.rp-cprint__ctop { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.rp-cprint__cname { margin:0; font-size:22px; font-weight:800; letter-spacing:-.01em; color:var(--ink); line-height:1; }
.rp-cprint__clead { display:block; margin:6px 0 0; font-size:13.5px; font-weight:700; color:var(--red); }
.rp-cprint__badge { flex:0 0 auto; font-size:10.5px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; color:var(--muted); white-space:nowrap; margin-top:2px; }

.rp-cprint__price { margin:16px 0 4px; display:flex; align-items:baseline; gap:8px; }
.rp-cprint__amt { font-size:42px; font-weight:800; letter-spacing:-.02em; color:var(--ink); line-height:1; }
.rp-cprint__per { font-size:14px; color:var(--muted); font-weight:600; }

.rp-cprint__specs { margin:16px 0 16px; padding:16px 0 2px; border-top:1px solid var(--card-line); }
.rp-cprint__specs > div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; font-size:13.5px; padding:5px 0; }
.rp-cprint__specs dt { margin:0; color:var(--muted); }
.rp-cprint__specs dd { margin:0; font-weight:700; color:var(--ink); text-align:right; }
.rp-cprint__none { color:var(--muted); font-weight:600; }

.rp-cprint__choose { margin:0 0 18px; font-size:13px; line-height:1.5; color:var(--muted); }
.rp-cprint__choose-lbl { display:block; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--red); margin:0 0 5px; }

.rp-cprint__cylnote { margin:0 0 18px; padding:12px 14px; border-radius:9px; background:#fdeef0; font-size:12.5px; line-height:1.45; color:#8a1418; }

.rp-cprint__cta { margin-top:auto; display:inline-flex; align-items:center; justify-content:center; text-align:center;
  font-size:14.5px; font-weight:700; text-decoration:none; padding:13px 20px; border-radius:8px; border:2px solid var(--red);
  transition:background .15s, color .15s, border-color .15s; }
.rp-cprint__cta--outline { background:#fff; color:var(--red); }
.rp-cprint__cta--outline:hover { background:var(--red); color:#fff; }
.rp-cprint__cta--solid { background:var(--red); color:#fff; }
.rp-cprint__cta--solid:hover { background:var(--red-dark); border-color:var(--red-dark); color:#fff; }

/* explainer trio */
.rp-cprint__explain { display:grid; grid-template-columns:repeat(3,1fr); gap:26px 40px;
  margin:36px 0 0; padding:30px 0 0; border-top:1px solid var(--line); }
.rp-cprint__ex h4 { margin:0 0 8px; font-size:14.5px; font-weight:700; color:#fff; line-height:1.3; }
.rp-cprint__ex p { margin:0; font-size:13px; line-height:1.55; color:rgba(255,255,255,.84); }
.rp-cprint__ex a { color:#fff; text-decoration:underline; font-weight:600; }

/* feature bar */
.rp-cprint__features { list-style:none; margin:30px 0 0; padding:28px 0 0; border-top:1px solid var(--line);
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.rp-cprint__features li { display:flex; flex-direction:column; }
.rp-cprint__features strong { font-size:17px; font-weight:800; color:#fff; letter-spacing:-.01em; line-height:1.15; }
.rp-cprint__features span { font-size:12.5px; color:rgba(255,255,255,.8); margin-top:4px; }

/* footnote */
.rp-cprint__foot { margin:26px 0 0; font-size:11.5px; line-height:1.55; color:rgba(255,255,255,.66); }

/* responsive */
@media (max-width:900px){
  .rp-cprint__cards { grid-template-columns:1fr; }
  .rp-cprint__explain { grid-template-columns:1fr; gap:22px; }
  .rp-cprint__features { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  .rp-cprint__inner { padding:34px 22px; }
  .rp-cprint__features { grid-template-columns:1fr 1fr; }
  .rp-cprint__grouprow { flex-direction:column; gap:6px; }
  .rp-cprint__group--roto { text-align:left; }
}
