/* Print Graphic Bags – visual-only interface refresh v1.2.2.
 * Scoped to .pgbag. Does not change pricing, data validation or orders.
 */
.pgbag,.pgbag *,.pgbag *::before,.pgbag *::after{box-sizing:border-box}
.pgbag{--pg-blue:#0057ff;--pg-navy:#0a1633;--pg-yellow:#ffc400;--pg-line:#e0e7f1;--pg-light:#f7f9fd;--pg-muted:#65748b;direction:rtl;text-align:right;max-width:1160px;width:100%;margin:0 auto 26px;padding:clamp(14px,3vw,30px);background:#fff;border:1px solid #e6edf5;border-radius:24px;box-shadow:0 10px 38px rgba(15,35,74,.06);font-family:Alexandria,Montserrat,Tahoma,Arial,sans-serif;color:var(--pg-navy);line-height:1.7;isolation:isolate}
.pgbag [hidden],.pgbag .pg-bag-flow [hidden]{display:none!important}
.pgbag :where(button,input,select,textarea){font:inherit}
.pgbag button{cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.pgbag button:focus-visible,.pgbag input:focus-visible,.pgbag select:focus-visible,.pgbag textarea:focus-visible{outline:3px solid rgba(0,87,255,.22);outline-offset:2px}
.pgbag .pgbag-head{background:linear-gradient(125deg,#f3f7ff,#fff 68%);padding:clamp(17px,3.1vw,30px);border:1px solid #e5edfa;border-radius:19px;margin:0 0 22px;position:relative;overflow:hidden}
.pgbag .pgbag-head::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:5px;background:var(--pg-yellow)}
.pgbag .pgbag-eyebrow{display:inline-block;font:700 11px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.10em;color:var(--pg-blue);background:#e8f0ff;padding:6px 11px;border-radius:99px}
.pgbag .pgbag-head h2{font-size:clamp(22px,3vw,30px);font-weight:800;line-height:1.45;color:var(--pg-navy);margin:12px 0 7px!important}
.pgbag .pgbag-head p{font-size:14px;line-height:1.9;color:#566983;margin:0;max-width:780px}
.pgbag .pgbag-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 25px;padding:0}
.pgbag .pgbag-steps button{margin:0;min-width:0;min-height:56px;display:flex;align-items:center;justify-content:center;gap:9px;background:#f7f9fd!important;border:1px solid var(--pg-line)!important;border-radius:12px;color:#52647d!important;font-size:13px;font-weight:700;box-shadow:none;padding:10px 7px;line-height:1.5}
.pgbag .pgbag-steps button.active{background:#eaf1ff!important;border-color:#99b8ff!important;color:#004cdd!important;box-shadow:inset 0 0 0 1px #d2e0ff}
.pgbag .pgbag-steps button:disabled{opacity:.55;cursor:not-allowed}
.pgbag .pgbag-steps button span{overflow-wrap:anywhere}
.pgbag .pgbag-stage{min-width:0;width:100%;animation:pgBagFade .18s ease-out}
@keyframes pgBagFade{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
.pgbag .pgbag-stage>h3{margin:0 0 17px!important;font-size:clamp(17px,2.5vw,21px);font-weight:800;color:var(--pg-navy);line-height:1.5}
.pgbag .pgbag-stage>h4{font-size:16px;color:var(--pg-navy);margin:16px 0 10px}
.pgbag .pgbag-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-items:stretch}
.pgbag .pgbag-types button{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:flex-start;min-width:0;padding:13px 12px 16px;border-radius:16px;background:#fff!important;border:2px solid #e3eaf3!important;color:var(--pg-navy)!important;box-shadow:0 3px 15px rgba(15,36,75,.035);gap:5px;min-height:245px}
.pgbag .pgbag-types button:hover{border-color:#9cbaff!important;transform:translateY(-2px)}
.pgbag .pgbag-types button.selected,.pgbag .pgbag-types button[aria-pressed="true"]{border-color:var(--pg-blue)!important;background:#f2f6ff!important;box-shadow:0 0 0 3px rgba(0,87,255,.09)}
.pgbag .pgbag-types img{display:block;object-fit:contain;object-position:center;width:100%;height:clamp(130px,19vw,205px);max-height:205px;min-height:130px;flex:0 0 auto;background:#f5f7fa;border-radius:11px;margin:0 0 7px;aspect-ratio:1 / 1}
.pgbag .pgbag-types strong{display:block;font:800 16px/1.35 Montserrat,Alexandria,Arial,sans-serif;color:var(--pg-navy)!important;word-break:break-word}
.pgbag .pgbag-types small{display:block;font-size:12px;color:#64738b!important;line-height:1.8}
.pgbag .pgbag-hint,.pgbag .pg-bag-help{margin:11px 0;font-size:12px;line-height:1.9;color:#677790}
.pgbag .pg-bag-panel{width:100%;padding:clamp(14px,2.8vw,22px);margin:18px 0 0;border:1px solid #e1e8f3;border-radius:17px;background:#fff;box-shadow:0 4px 15px rgba(12,33,71,.027);min-width:0}
.pgbag .pg-bag-panel h4{color:var(--pg-navy);margin:0 0 13px;font-size:15px;font-weight:800}
.pgbag .pgbag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.pgbag .pgbag-grid>label,.pgbag .pgbag-wide,.pgbag .pg-bag-panel>label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:13px;font-weight:700;color:#273b58;margin:0}
.pgbag :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea){display:block;width:100%;max-width:100%;min-width:0;min-height:46px;line-height:1.5;padding:10px 12px;border:1px solid #d6e0ed!important;border-radius:11px!important;background:#fff!important;color:#102242!important;box-shadow:none!important;font-size:14px}
.pgbag :where(input,select,textarea):focus{border-color:var(--pg-blue)!important;outline:2px solid #d9e5ff;outline-offset:0}
.pgbag input[type="file"]{width:100%;max-width:100%;display:block;padding:10px;border:1px dashed #a6bddd!important;border-radius:12px;background:#f7faff;color:#263f5e;font-size:13px;white-space:normal}
.pgbag textarea{resize:vertical;min-height:100px;line-height:1.8}
.pgbag .pgbag-wide{margin:15px 0!important}
.pgbag .pgbag-grid>label[hidden],.pgbag .pgbag-address[hidden],.pgbag .pgbag-city[hidden]{display:none!important}
.pgbag .pg-bag-size-select,.pgbag .pg-bag-text{width:100%}
.pgbag .pg-bag-options,.pgbag .pgbag-colors{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:11px;align-items:stretch;width:100%}
.pgbag .pg-bag-option,.pgbag .pg-bag-options>button{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100px;min-width:0;gap:8px;position:relative;margin:0;padding:11px 7px;background:#fbfcfe!important;border:1.5px solid #dfe7f1!important;border-radius:13px;color:#203652!important;font-size:12px;font-weight:700;text-align:center;overflow:hidden}
.pgbag .pg-bag-option:hover{border-color:#9dbbfc!important;background:#f6f9ff!important}
.pgbag .pg-bag-option[aria-pressed="true"],.pgbag .pg-bag-option:has(input:checked){border-color:var(--pg-blue)!important;background:#ecf3ff!important;box-shadow:inset 0 0 0 1px var(--pg-blue)}
.pgbag .pg-bag-option[aria-pressed="true"]::after{content:"✓";position:absolute;top:5px;inset-inline-start:6px;display:grid;place-items:center;width:19px;height:19px;background:var(--pg-blue);color:#fff;border-radius:50%;font:700 11px Arial,sans-serif}
.pgbag .pg-bag-option i{display:block;flex:0 0 auto;width:33px;height:33px;border-radius:50%;background:var(--ink,#fff);border:1px solid rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.pgbag .pg-bag-option svg{display:block;max-width:100%;width:73px;height:80px;object-fit:contain}
.pgbag .pg-bag-option .pg-realbag{width:84px!important;height:84px!important;display:block;max-width:100%;object-fit:contain}
.pgbag .pg-bag-option span{color:#21344c;font-size:12px;line-height:1.5}
.pgbag .pg-bag-print-label{display:block;margin:16px 0 9px;color:#243a57;font-size:13px;font-weight:800}
.pgbag .pg-bag-print-label select{margin-top:9px}
.pgbag .pg-bag-qty{display:flex;flex-wrap:wrap;gap:9px;margin:9px 0 0}
.pgbag .pg-bag-qty button{display:inline-flex;justify-content:center;min-width:80px;background:#eef4ff!important;color:var(--pg-blue)!important;border:1px solid #c9dafc!important;border-radius:10px;padding:7px 13px;font-weight:700;font-size:13px}
.pgbag .pg-bag-qty button:hover{background:#dce9ff!important}
.pgbag .pg-bag-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:175px;margin:17px 0 8px;padding:15px 12px;background:#f5f8fc;border:1px solid #e3eaf3;border-radius:14px;text-align:center;overflow:hidden}
.pgbag .pg-bag-preview>svg{display:block;width:min(100%,290px)!important;height:auto!important;max-height:300px;margin:0 auto;object-fit:contain;filter:drop-shadow(0 8px 9px rgba(23,45,79,.08))}
.pgbag .pg-bag-preview>.pg-realbag{width:min(100%,345px)!important;max-height:345px!important}
.pgbag .pg-bag-preview .pg-bag-photo{display:none!important} /* old mismatched size shots, replaced by consistent digital preview */
.pgbag .pg-bag-preview p{max-width:620px;margin:5px auto 0;font-size:12px;color:#6a788e;line-height:1.85}
.pgbag .pg-bag-unit{color:#0050dc;font-weight:800;margin:10px 0;font-size:15px;line-height:1.8}
.pgbag .pgbag-price{background:linear-gradient(105deg,#eff5ff,#f8fbff);border:1px solid #cdddff;border-inline-start:4px solid var(--pg-blue);border-radius:14px;padding:16px;margin:18px 0;color:#123d88;font-weight:800;font-size:clamp(13px,2vw,16px);line-height:1.9;min-height:54px;overflow-wrap:anywhere}
.pgbag .pgbag-error:not([hidden]){display:block;padding:12px 14px;margin:12px 0;border-radius:11px;background:#fff5f3;border:1px solid #f2b7ae;color:#a22b21;font-size:13px;font-weight:600}
.pgbag .pgbag-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:22px}
.pgbag .pgbag-actions button{display:inline-flex;justify-content:center;align-items:center;border-radius:12px!important;min-height:48px;padding:12px 22px;font-size:14px;font-weight:800;border:1px solid transparent;box-shadow:none;line-height:1.4}
.pgbag .pgbag-actions .pgbag-next,.pgbag .pgbag-actions .pgbag-submit{background:var(--pg-blue)!important;color:#fff!important;border-color:var(--pg-blue)!important;box-shadow:0 4px 13px rgba(0,87,255,.14)}
.pgbag .pgbag-actions .pgbag-next:hover,.pgbag .pgbag-actions .pgbag-submit:hover{background:#0048d1!important}
.pgbag .pgbag-actions .pgbag-back{background:#f3f6fa!important;color:#2e4360!important;border-color:#d7e0ea!important}
.pgbag .pgbag-actions button:disabled{opacity:.58;cursor:wait}
.pgbag .pgbag-review{border:1px solid #e0e8f1;border-radius:15px;overflow:hidden;background:#fff}
.pgbag .pgbag-review>div{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:11px 15px;border-bottom:1px solid #edf0f5;line-height:1.7;font-size:13px}
.pgbag .pgbag-review>div:nth-child(odd){background:#f9fbfe}
.pgbag .pgbag-review>div:last-child{border-bottom:0;background:#edf4ff;color:#063e9d}
.pgbag .pgbag-review strong{color:var(--pg-navy);text-align:end;max-width:65%;overflow-wrap:anywhere}
.pgbag .pgbag-consent{display:flex;align-items:start;gap:11px;padding:13px;background:#f8fafc;border:1px solid #e0e7ef;border-radius:12px;margin:18px 0;font-size:13px;color:#243c59;cursor:pointer}
.pgbag .pgbag-consent input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--pg-blue);margin:3px 0 0}
.pgbag .pgbag-success{text-align:center;margin:25px auto;padding:30px 18px;background:#f5faff;border:1px solid #d5e4fc;border-radius:18px}
.pgbag .pgbag-check{display:grid;place-items:center;margin:0 auto 15px;width:56px;height:56px;color:#fff;background:#13754b;border-radius:50%;font-size:25px;font-weight:800}
.pgbag .pgbag-success h3{font-size:21px;font-weight:800;margin:0 0 10px;color:var(--pg-navy)}
.pgbag .pgbag-success p{color:#435570;line-height:1.85}
.pgbag .pgbag-whatsapp{display:inline-block;padding:11px 20px;border-radius:11px;background:#117c56;color:#fff!important;text-decoration:none;font-weight:700;font-size:13px}
.pgbag[dir="ltr"]{text-align:left}
.pgbag[dir="ltr"] .pgbag-review strong{text-align:right}
.pgbag[dir="ltr"] .pgbag-head::before,.pgbag[dir="ltr"] .pgbag-price{border-inline-start-color:var(--pg-blue)}
@media (max-width:680px){
 .pgbag{border-radius:14px;padding:13px 11px;box-shadow:none}
 .pgbag .pgbag-head{padding:17px 14px;margin-bottom:18px;border-radius:13px}
 .pgbag .pgbag-steps{gap:5px;margin-bottom:21px}
 .pgbag .pgbag-steps button{flex-direction:column;gap:2px;min-height:53px;padding:5px 2px;border-radius:9px!important;font-size:12px}
 .pgbag .pgbag-steps button span{font-size:10px}
 .pgbag .pgbag-types{gap:8px}
 .pgbag .pgbag-types button{padding:7px 5px 10px;min-height:166px;border-radius:10px;gap:4px}
 .pgbag .pgbag-types img{min-height:88px;height:clamp(83px,26vw,135px);border-radius:8px;margin-bottom:4px}
 .pgbag .pgbag-types strong{font-size:13px}
 .pgbag .pgbag-types small{font-size:10px;line-height:1.5}
 .pgbag .pgbag-grid{grid-template-columns:1fr;gap:14px}
 .pgbag .pg-bag-panel{padding:14px 11px;border-radius:12px}
 .pgbag .pg-bag-options,.pgbag .pgbag-colors{grid-template-columns:repeat(auto-fill,minmax(89px,1fr));gap:8px}
 .pgbag .pg-bag-option{min-height:88px;padding:9px 5px}
 .pgbag .pg-bag-option .pg-realbag{width:70px!important;height:70px!important}
 .pgbag .pg-bag-option svg{width:62px;height:70px}
 .pgbag .pgbag-actions button{padding:12px 16px;flex:1 1 auto}
}
@media (max-width:365px){.pgbag .pgbag-types button{min-height:152px}.pgbag .pgbag-types img{height:78px;min-height:78px}.pgbag .pgbag-types small{font-size:9px}.pgbag .pg-bag-options{grid-template-columns:repeat(3,minmax(0,1fr))}.pgbag .pgbag-actions button{width:100%}}
@media (prefers-reduced-motion:reduce){.pgbag *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Each calculator is scoped to one product family. */
.pgbag .pgbag-types{grid-template-columns:minmax(0,340px);justify-content:center}
.pgbag .pgbag-types button:disabled{opacity:1;cursor:default;color:inherit}
.pgbag .pgbag-types img{height:220px;width:100%;object-fit:contain}
.pgbag .pgbag-head a{display:inline-block;margin-top:12px;color:#0057ff}
.pgbag .pg-bag-options .pg-bag-option svg{max-height:105px;max-width:110px}
.pgbag .pg-bag-preview svg{max-height:360px;max-width:100%}
.pgbag [hidden]{display:none!important}
