/* 15.10.2026: бесплатные инструменты для фото — дополнение к fotoramka.css */
.pt-stage canvas#ptCanvas{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;border-radius:16px;background:#efe6d6;box-shadow:0 22px 60px rgba(34,30,24,.20),0 2px 6px rgba(34,30,24,.12);cursor:pointer;touch-action:pan-y}
.pt-stage.has-photo canvas#ptCanvas{cursor:default}
body[data-tool] #ptApp[data-tool="obrezat"] .pt-stage.has-photo canvas,body[data-tool] #ptApp[data-tool="nalozhit"] .pt-stage.has-photo canvas{cursor:grab;touch-action:none}
.pt-controls h3{font-size:14px;font-weight:600;margin:14px 0 8px;color:#4b463d}
.pt-controls h3:first-of-type{margin-top:4px}
.pt-chips{display:flex;flex-wrap:wrap;gap:8px}
.pt-chips label{position:relative}
.pt-chips input{position:absolute;opacity:0;pointer-events:none}
.pt-chips span{display:inline-block;padding:8px 12px;border:1px solid var(--line,#ddd3c3);border-radius:999px;background:#fff;font-size:14px;line-height:1.2;cursor:pointer}
.pt-chips input:checked+span{border-color:var(--teal,#0f766e);background:#e6f2ef;color:#0b4f4a;font-weight:600}
.pt-chips input:focus-visible+span{outline:2px solid var(--teal,#0f766e);outline-offset:2px}
.pt-colors{display:flex;gap:10px}
.pt-colors label{position:relative}.pt-colors input{position:absolute;opacity:0}
.pt-colors span{display:block;width:32px;height:32px;border-radius:50%;border:2px solid #cfc6b8;cursor:pointer}
.pt-colors input:checked+span{box-shadow:0 0 0 3px var(--teal,#0f766e)}
.pt-range{display:flex;flex-direction:column;gap:6px;margin:14px 0 0}
.pt-range label{font-size:14px;color:#4b463d}
.pt-range input{width:100%;accent-color:var(--teal,#0f766e)}
.pt-check{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:14.5px}
.pt-check input{width:18px;height:18px;accent-color:var(--teal,#0f766e)}
.pt-text{width:100%;min-height:64px;resize:vertical}
.pt-controls select.fr-field{width:100%}
.pt-two{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0}.pt-two .ghost-button{flex:1 1 140px;min-height:42px}
.pt-slots{margin:10px 0 0;font-size:14px;color:#4b463d}
#ptAdd{margin-top:10px;width:100%;min-height:42px}
.pt-wh{display:flex;align-items:flex-end;gap:8px}.pt-wh label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:13.5px;color:#4b463d}.pt-wh span{padding-bottom:12px}
.pt-wh input{width:100%}
.pt-info{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#eef6f4;color:#0b4f4a;font-size:14.5px;font-weight:600}
.pt-bridge{max-width:1100px;margin:28px auto 0;background:linear-gradient(135deg,#fff8ec,#f1f8f6);border:1px solid var(--line,#ddd3c3);border-radius:18px;padding:20px 22px;transition:box-shadow .3s ease}
.pt-bridge h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(21px,3.4vw,27px);line-height:1.2;margin:0 0 8px}
.pt-bridge p{margin:0 0 14px;font-size:16px;line-height:1.5;color:#3f3a33}
.pt-bridge .pt-bridge2{margin:12px 0 0;font-size:15px}
.pt-bridge-hot{box-shadow:0 0 0 3px rgba(15,118,110,.35),0 18px 40px rgba(15,118,110,.15)}
.pt-about ol{padding-left:22px;line-height:1.6}
.pt-hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;max-width:1100px;margin:0 auto}
.pt-hub-card{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--line,#ddd3c3);border-radius:14px;background:#fffaf2;color:inherit;text-decoration:none}
.pt-hub-card b{font-size:17px}.pt-hub-card span{font-size:14px;color:#5f584f;line-height:1.4}
.pt-hub-card:hover{border-color:var(--teal,#0f766e)}
@media(max-width:760px){.pt-bridge{margin:22px 0 0;padding:16px}}
