/* /print-pricing/ digital print calculator (Nov 10 2026 preview). Uses existing site tokens.
   Brand: Coastal Red #EC0000, Yellow #FDD300, Charcoal #231F20, Navy #0E1A2B, Deep Red #B23A2F,
   Off-White #F2EFEA, Stone #E9E4DA, Slate #4A515B. Bebas Neue (h1/h2 via site.css), Poppins SemiBold labels, Manrope body. */
.pp-wrap{padding-top:28px;padding-bottom:72px}
.pp-steps{list-style:none;margin:0 0 22px;padding:0;display:flex;gap:8px;flex-wrap:wrap;counter-reset:s}
.pp-steps li{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;background:#E9E4DA;color:#4A515B;font-family:"Poppins",system-ui,sans-serif;font-weight:600;font-size:14px}
.pp-steps li span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#4A515B;font-size:13px}
.pp-steps li.on{background:#0E1A2B;color:#F2EFEA}.pp-steps li.on span{background:#FDD300;color:#0E1A2B}
.pp-steps li.done{background:#F2EFEA;color:#231F20}.pp-steps li.done span{background:#231F20;color:#FDD300}
.pp-gate-grid{display:grid;gap:28px;align-items:start}
@media(min-width:960px){.pp-gate-grid{grid-template-columns:1.35fr 1fr;gap:44px}}
.pp-card{border-top:5px solid #EC0000}
.pp-h{font-size:clamp(34px,4.4vw,46px)!important;margin:0 0 6px;color:var(--t1)}
.pp-sub{color:var(--t2);margin:0 0 18px}
.pp .field label,.pp legend{font-family:"Poppins",system-ui,sans-serif!important;font-weight:600!important;font-size:15px;color:var(--t1)}
.pp fieldset{border:0;margin:0 0 16px;padding:0;min-width:0}
.pp legend{margin-bottom:8px;padding:0}
.pp .req{color:#EC0000;font-weight:700}.pp .opt-l{font-family:"Manrope",system-ui,sans-serif;font-weight:400;color:var(--t2);font-size:14px}
.pp-row2{display:grid;gap:0 14px}@media(min-width:620px){.pp-row2{grid-template-columns:1fr 1fr}}
.pp-row3{display:grid;gap:0 14px}@media(min-width:620px){.pp-row3{grid-template-columns:1.4fr 1fr .8fr}}
.pp-addr{background:#F2EFEA;border-radius:12px;padding:14px 14px 2px!important;border:1px solid rgba(20,32,47,.08)!important}
.pp-addr legend{float:left;width:100%;margin-bottom:10px}
.pp-ferr{color:#B42318;font-size:14px;margin:6px 0 0;font-weight:600}
.pp [aria-invalid=true]{border-color:#B42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.12)!important}
.pp-err{color:#B42318;background:#FDECEA;border-radius:8px;padding:10px 12px;font-weight:600}
.pp-go{width:100%;min-height:58px;font-size:18px}
.pp-go[disabled]{opacity:.6;cursor:not-allowed}
.pp-side{display:grid;gap:16px}
.pp-points{list-style:none;margin:0;padding:22px 22px 8px;background:#0E1A2B;color:#F2EFEA;border-radius:var(--rad,22px);border-top:5px solid #FDD300}
.pp-points li{padding:0 0 14px 30px;position:relative;line-height:1.5;color:#C9D0DA;font-size:15.5px}
.pp-points li b{display:block;color:#fff;font-family:"Poppins",system-ui,sans-serif;font-weight:600;font-size:16.5px}
.pp-points li::before{content:"\2713";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:#FDD300;color:#0E1A2B;font-weight:800;font-size:12px;display:grid;place-items:center}
.pp-custom{margin:0;padding:14px 16px;border-radius:12px;background:#E9E4DA;color:#231F20;font-size:15px}
.pp-custom a{color:#B23A2F;font-weight:700}
/* step 2 */
.pp-calc{display:grid;gap:22px;align-items:start;grid-template-areas:"who" "job" "price" "order"}
@media(min-width:980px){.pp-calc{grid-template-columns:1.45fr 1fr;gap:22px 36px;grid-template-areas:"who who" "job price" "order price"}.pp-price{position:sticky;top:96px}}
.pp-who{grid-area:who;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;background:#F2EFEA;border:1px solid rgba(20,32,47,.1);border-left:5px solid #FDD300;border-radius:12px;padding:12px 16px;font-size:15.5px;color:#231F20}
.pp-link{background:none;border:0;color:#B23A2F;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:6px 0}
.pp-job{grid-area:job}.pp-order{grid-area:order}.pp-price{grid-area:price}
.pp-cats{display:flex;flex-wrap:wrap;gap:8px}
.pp-cat input,.pp-seg input{position:absolute;opacity:0;pointer-events:none}
.pp-cat span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid rgba(20,32,47,.24);background:#fff;font-family:"Poppins",system-ui,sans-serif;font-weight:600;font-size:14.5px;color:#231F20;cursor:pointer}
.pp-cat input:checked+span{background:#0E1A2B;border-color:#0E1A2B;color:#F2EFEA}
.pp-cat input:focus-visible+span,.pp-seg input:focus-visible+span{outline:3px solid #FDD300;outline-offset:2px}
.pp-seg{display:inline-flex;border:1.5px solid rgba(20,32,47,.24);border-radius:10px;overflow:hidden;background:#fff}
.pp-seg label{position:relative}
.pp-seg span{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;font-family:"Poppins",system-ui,sans-serif;font-weight:600;font-size:15px;color:#231F20;cursor:pointer}
.pp-seg input:checked+span{background:#231F20;color:#FDD300}
.pp-size{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px}
.pp-size .field{flex:1 1 110px;margin-bottom:0}.pp-x{padding-bottom:14px;font-weight:700;color:#4A515B}
.pp-unit{margin-left:auto}
@media(max-width:619px){.pp-unit{margin-left:0;width:100%}.pp-unit label{flex:1}.pp-unit span{width:100%;justify-content:center}}
.pp-qty{max-width:220px;margin-top:16px}
.pp-opts{display:grid;gap:8px}
.pp-opt{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 14px;border:1px solid rgba(20,32,47,.24);border-radius:12px;background:#fff;cursor:pointer}
.pp-opt input{width:20px;height:20px;accent-color:#0E1A2B;flex:0 0 20px;margin:0}
.pp-opt b{display:block;font-family:"Poppins",system-ui,sans-serif;font-weight:600;font-size:15px;color:#231F20}
.pp-opt small{display:block;color:#4A515B;font-size:13.5px}
.pp-opt:has(input:checked){border-color:#0E1A2B;box-shadow:0 0 0 1px #0E1A2B}
.pp-price{background:#0E1A2B;color:#F2EFEA;border-radius:var(--rad,22px);padding:22px 22px 20px;border-top:5px solid #FDD300;box-shadow:0 18px 40px rgba(14,26,43,.18)}
.pp-price .lbl{color:#FDD300!important;margin-bottom:6px}
.pp-ptitle{font-family:"Poppins",system-ui,sans-serif!important;font-weight:600;font-size:21px;margin:0 0 4px;color:#fff;letter-spacing:0!important}
.pp-pspec{margin:0 0 14px;color:#BCC5D1;font-size:15px}
.pp-lines{margin:0;display:grid;gap:0}
.pp-lines div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.pp-lines dt{color:#E7EBF0;font-size:15.5px}.pp-lines dt small{display:block;color:#97A3B4;font-size:13px;margin-top:2px}
.pp-lines dd{margin:0;font-family:"Poppins",system-ui,sans-serif;font-weight:600;white-space:nowrap}
.pp-total{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 4px}
.pp-total span{font-family:"Poppins",system-ui,sans-serif;font-weight:600;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:#FDD300}
.pp-total b{font-family:var(--display),"Bebas Neue",Impact,sans-serif;font-weight:400;font-size:clamp(46px,6vw,58px);line-height:1;color:#fff;letter-spacing:.01em}
.pp-each{margin:0;color:#BCC5D1;font-size:14.5px;text-align:right}
.pp-tip{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:rgba(253,211,0,.12);color:#F2EFEA;font-size:14.5px}.pp-tip b{color:#FDD300}
.pp-fine{margin:12px 0 14px;color:#97A3B4;font-size:13px;line-height:1.5}
.pp-msg{color:#F2EFEA;font-size:16px;margin:4px 0 14px}
.pp-jump{width:100%}
.pp-alt{width:100%;color:#F2EFEA;border-color:rgba(255,255,255,.4)}
@media(min-width:980px){.pp-jump{display:none}}
.pp-files{display:grid;gap:8px}@media(min-width:620px){.pp-files{grid-template-columns:1fr 1fr}}
.pp-drop{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1.5px dashed rgba(20,32,47,.3);border-radius:12px;background:#fff;font-size:14px;color:#4A515B;cursor:pointer}
.pp-drop b{font-family:"Poppins",system-ui,sans-serif;font-weight:600;color:#231F20}
.pp-drop input{font:inherit;font-size:13.5px;max-width:100%}
.pp .hint a{color:#B23A2F}
.pp textarea{min-height:110px}
.pp [hidden]{display:none!important}
/* product photos (Nov 12 2026): our own sample photos, thumbnails picker plus a larger photo of the selected product */
.pp-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px}
.pp-thumb{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border:1.5px solid rgba(20,32,47,.18);border-radius:12px;background:#fff;overflow:hidden;cursor:pointer;text-align:left;font:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
.pp-thumb img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#E9E4DA}
.pp-thumb span{flex:1 1 auto;display:flex;align-items:center;min-height:44px;padding:7px 10px;font-family:"Poppins",system-ui,sans-serif;font-weight:600;font-size:13.5px;line-height:1.25;color:#231F20}
.pp-thumb:hover{border-color:#0E1A2B;transform:translateY(-1px)}
.pp-thumb:focus-visible{outline:3px solid #FDD300;outline-offset:2px}
.pp-thumb[aria-pressed=true]{border-color:#0E1A2B;box-shadow:0 0 0 2px #0E1A2B}
.pp-thumb[aria-pressed=true] span{background:#0E1A2B;color:#F2EFEA}
@media(max-width:619px){.pp-thumbs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin:0 -2px;-webkit-overflow-scrolling:touch}.pp-thumb{flex:0 0 132px;scroll-snap-align:start}}
.pp-prodrow{display:grid;gap:14px;margin-bottom:6px}
@media(min-width:620px){.pp-prodrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}}
.pp-photo{margin:0;border-radius:14px;overflow:hidden;background:#E9E4DA;border:1px solid rgba(20,32,47,.1);border-bottom:4px solid #EC0000}
.pp-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.pp-photo figcaption{padding:8px 12px;background:#fff;color:#4A515B;font-size:13px;line-height:1.4}
.pp-calc>*{min-width:0}
@media(max-width:979px){.pp-calc{grid-template-columns:minmax(0,1fr)}}
