/* Rastreo público del pedido — marca Caramelo (SPEC §8).
   chocolate #54392F · crema #F7F1E5 · rosa palo #DFA6A3 · rosa claro #EFD3CF · caramelo #E9CFA9 */
.pso-trk { --c-choco: #54392F; --c-cream: #F7F1E5; --c-rose: #DFA6A3; --c-rose-l: #EFD3CF; --c-caramel: #E9CFA9;
    --c-serif: 'Cormorant Garamond', 'Playfair Display', Georgia, serif; --c-sans: 'Poppins', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    background: var(--c-cream); color: var(--c-choco); padding: 40px 0 64px; font-family: var(--c-sans); }
.pso-trk .pst-container--narrow { max-width: 720px; margin: 0 auto; padding: 0 18px; }
.pso-trk-head { text-align: center; margin-bottom: 26px; }
.pso-trk-eyebrow { display: inline-block; background: var(--c-choco); color: #fff; letter-spacing: .14em; text-transform: uppercase; font-size: 12px; font-weight: 400; padding: 6px 16px; border-radius: 999px; margin: 0 0 14px; }
.pso-trk-title { font-family: var(--c-serif); font-weight: 400; font-size: clamp(34px, 7vw, 50px); line-height: 1.1; margin: 0 0 8px; color: var(--c-choco); }
.pso-trk-lead { font-size: 17px; font-weight: 300; margin: 0 auto; max-width: 520px; opacity: .9; }
.pso-trk-card { background: #fff; border-radius: 20px; padding: 22px; box-shadow: 0 2px 6px rgba(84,57,47,.05), 0 16px 36px rgba(84,57,47,.08); margin-bottom: 20px; }
.pso-trk-when { display: flex; gap: 18px; align-items: center; }
.pso-trk-cal { flex: 0 0 76px; height: 84px; border-radius: 16px; background: var(--c-choco); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.pso-trk-cal-m { font-size: 12px; letter-spacing: .18em; opacity: .85; }
.pso-trk-cal-d { font-family: var(--c-serif); font-size: 40px; line-height: 1; }
.pso-trk-k { text-transform: uppercase; letter-spacing: .08em; font-size: 12px; color: #9a7f76; }
.pso-trk-v { font-size: 20px; font-weight: 500; margin: 2px 0; }
.pso-trk-s { font-size: 13px; color: #8a716a; }
.pso-trk-steps { list-style: none; display: flex; padding: 6px 0 0; margin: 0 0 22px; }
.pso-trk-steps li { flex: 1; text-align: center; position: relative; }
.pso-trk-steps li::before { content: ''; position: absolute; top: 17px; left: -50%; width: 100%; height: 3px; background: var(--c-rose-l); }
.pso-trk-steps li:first-child::before { display: none; }
.pso-trk-steps li.is-done::before, .pso-trk-steps li.is-current::before { background: var(--c-choco); }
.pso-trk-dot { position: relative; z-index: 1; width: 36px; height: 36px; border-radius: 50%; margin: 0 auto 6px; display: flex; align-items: center; justify-content: center; background: #fff; border: 3px solid var(--c-rose-l); font-size: 14px; color: #b39a92; font-weight: 600; }
.pso-trk-steps li.is-done .pso-trk-dot { background: var(--c-choco); border-color: var(--c-choco); color: #fff; }
.pso-trk-steps li.is-current .pso-trk-dot { background: var(--c-rose); border-color: var(--c-choco); color: #fff; box-shadow: 0 0 0 6px var(--c-rose-l); }
.pso-trk-lbl { display: block; font-size: 13px; font-weight: 500; }
.pso-trk-steps li:not(.is-done):not(.is-current) .pso-trk-lbl { color: #b39a92; }
.pso-trk-t { display: block; font-size: 11px; color: #9a7f76; }
@media (max-width: 560px) {
    .pso-trk-steps { flex-direction: column; gap: 0; align-items: stretch; margin-left: 8px; }
    .pso-trk-steps li { display: grid; grid-template-columns: 36px 1fr; column-gap: 12px; text-align: left; padding-bottom: 14px; }
    .pso-trk-steps li::before { left: 16px; top: -14px; width: 3px; height: 28px; }
    .pso-trk-dot { margin: 0; grid-row: span 2; }
    .pso-trk-lbl { align-self: end; }
}
.pso-trk-photos { display: flex; gap: 10px; overflow-x: auto; margin-bottom: 20px; }
.pso-trk-photos img { height: 180px; border-radius: 16px; object-fit: cover; }
.pso-trk-h { font-family: var(--c-sans); font-weight: 400; font-size: 15px; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 12px; padding: 6px 12px; background: var(--c-choco); color: #fff; border-radius: 8px; display: inline-block; }
.pso-trk-items { list-style: none; padding: 0; margin: 0 0 10px; }
.pso-trk-items li { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px dashed var(--c-rose-l); }
.pso-trk-item { font-size: 15px; line-height: 1.45; }
.pso-trk-amt { white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 500; }
.pso-trk-msg { font-family: var(--c-serif); font-size: 20px; font-style: italic; margin: 8px 0 12px; }
.pso-trk-totals { width: 100%; max-width: 340px; margin-left: auto; font-size: 15px; border-collapse: collapse; }
.pso-trk-totals td { padding: 5px 0; }
.pso-trk-totals td:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.pso-trk-totals tr.is-total td { font-size: 20px; font-weight: 600; border-top: 2px solid var(--c-choco); padding-top: 10px; }
.pso-trk-totals tr.is-due td { color: #A23B3B; font-weight: 600; }
.pso-trk-totals tr.is-paid td { color: #2F7D55; font-weight: 600; }
.pso-trk-note { background: var(--c-rose-l); border-radius: 12px; padding: 10px 14px; font-size: 14px; margin: 14px 0 0; }
.pso-trk-cta { text-align: center; }
.pso-trk-wa { background: #25D366 !important; border-color: #25D366 !important; color: #fff !important; }
.pso-trk-form label { display: block; font-size: 14px; font-weight: 500; margin: 12px 0 6px; }
.pso-trk-form input[type=text] { width: 100%; box-sizing: border-box; border: 1px solid var(--c-caramel); background: #fffdf9; border-radius: 12px; padding: 12px 14px; font-size: 16px; color: var(--c-choco); }
.pso-trk-form input[type=text]:focus { outline: none; border-color: var(--c-choco); box-shadow: 0 0 0 3px var(--c-rose-l); }
.pso-trk-btn { margin: 18px 0 10px; background: var(--c-choco) !important; border-color: var(--c-choco) !important; color: #fff !important; width: 100%; }
.pso-trk-error { background: #FBEAEA; color: #8E2F2F; border-radius: 12px; padding: 10px 14px; font-size: 14px; }
.pso-trk-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
/* Especificidad sobre las reglas genericas de pastry_public.css (.pst-public h1/h2/p). */
.pst-public .pso-trk h1.pso-trk-title { font-family: var(--c-serif); font-weight: 400; font-size: clamp(38px, 7vw, 56px); margin: 0 0 10px; }
.pst-public .pso-trk h2.pso-trk-h { font-family: var(--c-sans); color: #fff; font-size: 14px; font-weight: 400; letter-spacing: .14em; margin: 0 0 12px; }
.pst-public .pso-trk p.pso-trk-lead { margin: 0 auto; text-align: center; }
.pst-public .pso-trk p.pso-trk-eyebrow { margin: 0 0 14px; }
.pst-public .pso-trk p.pso-trk-msg { margin: 8px 0 14px; }
.pso-trk-photos-h { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #9a7f76; margin: 0 0 8px; }
.pso-trk-photos figure { margin: 0; }
