{"id":655,"date":"2026-09-05T09:53:55","date_gmt":"2026-09-05T09:53:55","guid":{"rendered":"https:\/\/czechpeptide.com\/?page_id=655"},"modified":"2026-09-08T22:17:56","modified_gmt":"2026-09-08T22:17:56","slug":"calculator","status":"publish","type":"page","link":"https:\/\/czechpeptide.com\/cz\/calculator\/","title":{"rendered":""},"content":{"rendered":"\n<!-- ============================================================\n  Combined Peptide Dosing Calculator (Injection + Nasal Spray)\n  Drop this whole block into a WordPress \"Custom HTML\" block on\n  the product page. One widget, one set of unique IDs (prefixed\n  \"pdc-\") so it's safe to place alongside other content.\n\n  >>> TO ADD YOUR PRODUCT PHOTO <<<\n  Find the line that says  id=\"pdc-product-photo\"\n  and replace the src=\"...\" value with your product image URL\n  (WordPress Admin \u2192 Media Library \u2192 click your image \u2192 copy\n  the \"File URL\" \u2192 paste it in place of the placeholder).\n============================================================= -->\n<div class=\"pdc-widget\" id=\"pdc-root\">\n\n  <div class=\"pdc-card\">\n\n    <div class=\"pdc-header\">\n      <div class=\"pdc-header-text\">\n        <h2 class=\"pdc-title\" data-i18n=\"title\">Dosing Calculator<\/h2>\n        <p class=\"pdc-subtitle\" data-i18n=\"subtitle\">Choose your method, then work out your dose.<\/p>\n      <\/div>\n      <div class=\"pdc-lang-switch\" role=\"group\" aria-label=\"Language\">\n        <button type=\"button\" class=\"pdc-lang-btn is-active\" data-lang=\"en\">EN<\/button>\n        <button type=\"button\" class=\"pdc-lang-btn\" data-lang=\"cz\">CZ<\/button>\n      <\/div>\n    <\/div>\n\n    <!-- Method switch -->\n    <div class=\"pdc-method-switch\" role=\"group\" aria-label=\"Method\">\n      <button type=\"button\" class=\"pdc-method-btn is-active\" data-method=\"inject\">\n        <svg viewBox=\"0 0 24 24\" class=\"pdc-method-icon\"><path d=\"M3 21l3.5-3.5M9 15l6-6M13 5l6 6M17 3l4 4M6 18l-2 2M15 7l2-2\" class=\"pdc-method-icon-path\"\/><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\" transform=\"rotate(45 12 12)\" class=\"pdc-method-icon-fill\"\/><\/svg>\n        <span data-i18n=\"methodInject\">Injection (syringe)<\/span>\n      <\/button>\n      <button type=\"button\" class=\"pdc-method-btn\" data-method=\"spray\">\n        <svg viewBox=\"0 0 24 24\" class=\"pdc-method-icon\"><path d=\"M9 21V10a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v11\" class=\"pdc-method-icon-path\"\/><path d=\"M10 8V5a2 2 0 0 1 2-2 2 2 0 0 1 2 2v3\" class=\"pdc-method-icon-path\"\/><path d=\"M17 6l3-2M18 9l3 0M17 12l3 2\" class=\"pdc-method-icon-path\"\/><\/svg>\n        <span data-i18n=\"methodSpray\">Nasal spray<\/span>\n      <\/button>\n    <\/div>\n\n    <div class=\"pdc-body\">\n\n      <!-- LEFT: inputs -->\n      <div class=\"pdc-fields\">\n\n        <!-- STEP 1: Peptide amount + product photo -->\n        <div class=\"pdc-field\">\n          <div class=\"pdc-label-row\">\n            <span class=\"pdc-step-num\">1<\/span>\n            <label class=\"pdc-label\" data-i18n=\"step1inject\" data-i18n-alt=\"step1spray\">Peptide in vial<\/label>\n          <\/div>\n\n          <div class=\"pdc-step1-layout\">\n            <div class=\"pdc-options\" data-group=\"vial\" data-unit=\"mg\">\n              <button type=\"button\" class=\"pdc-opt\" data-value=\"2\">2 mg<\/button>\n              <button type=\"button\" class=\"pdc-opt\" data-value=\"5\">5 mg<\/button>\n              <button type=\"button\" class=\"pdc-opt is-active\" data-value=\"10\">10 mg<\/button>\n              <button type=\"button\" class=\"pdc-opt\" data-value=\"15\">15 mg<\/button>\n              <div class=\"pdc-opt pdc-opt--other\">\n                <input type=\"number\" min=\"0\" step=\"any\" class=\"pdc-other-input\" data-i18n-placeholder=\"other\" placeholder=\"Other\" data-group=\"vial\">\n                <span class=\"pdc-other-unit\">mg<\/span>\n              <\/div>\n            <\/div>\n\n            <div class=\"pdc-product-photo-card\">\n              <img decoding=\"async\" id=\"pdc-product-photo\"\n                   src=\"https:\/\/czechpeptide.com\/wp-content\/uploads\/2026\/04\/ghkcu.png\" viewBox='0 0 120 120'%3E%3Crect width='180' height='180' fill='%23F1E9FE'\/%3E%3Crect x='44' y='14' width='32' height='16' rx='4' fill='%236B21D8'\/%3E%3Cpath d='M38 30 h44 v14 c9 6 12 15 12 27 v33 a9 9 0 0 1-9 9 H35 a9 9 0 0 1-9-9 V71 c0-12 3-21 12-27 Z' fill='none' stroke='%237C3AED' stroke-width='4'\/%3E%3C\/svg%3E\"\n                   alt=\"Product photo\"\n                   class=\"pdc-product-photo\">\n              <span class=\"pdc-product-photo-caption\" data-i18n=\"yourProduct\">Peptide<\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <!-- STEP 2 (injection only): Bacteriostatic water -->\n        <div class=\"pdc-field pdc-only-inject\">\n          <div class=\"pdc-label-row\">\n            <span class=\"pdc-step-num\">2<\/span>\n            <label class=\"pdc-label\" data-i18n=\"step2\">Bacteriostatic water added<\/label>\n          <\/div>\n          <div class=\"pdc-options\" data-group=\"water\" data-unit=\"mL\">\n            <button type=\"button\" class=\"pdc-opt\" data-value=\"1\">1 mL<\/button>\n            <button type=\"button\" class=\"pdc-opt is-active\" data-value=\"2\">2 mL<\/button>\n            <button type=\"button\" class=\"pdc-opt\" data-value=\"3\">3 mL<\/button>\n            <button type=\"button\" class=\"pdc-opt\" data-value=\"5\">5 mL<\/button>\n            <div class=\"pdc-opt pdc-opt--other\">\n              <input type=\"number\" min=\"0\" step=\"any\" class=\"pdc-other-input\" data-i18n-placeholder=\"other\" placeholder=\"Other\" data-group=\"water\">\n              <span class=\"pdc-other-unit\">mL<\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <!-- STEP 2 (spray only): fixed bottle volume -->\n        <div class=\"pdc-field pdc-only-spray\" hidden>\n          <div class=\"pdc-label-row\">\n            <span class=\"pdc-step-num\">2<\/span>\n            <label class=\"pdc-label\" data-i18n=\"step2spray\">Bottle volume<\/label>\n          <\/div>\n          <div class=\"pdc-options\">\n            <button type=\"button\" class=\"pdc-opt is-active pdc-opt--fixed\" disabled>\n              <span class=\"pdc-opt-main\">5 mL<\/span>\n              <span class=\"pdc-opt-sub\" data-i18n=\"fixed\">fixed<\/span>\n            <\/button>\n          <\/div>\n        <\/div>\n\n        <!-- STEP 3 (injection only): Syringe volume + photos -->\n        <div class=\"pdc-field pdc-only-inject\">\n          <div class=\"pdc-label-row\">\n            <span class=\"pdc-step-num\">3<\/span>\n            <label class=\"pdc-label\" data-i18n=\"step3\">Syringe volume<\/label>\n          <\/div>\n          <div class=\"pdc-options pdc-options--3col\" data-group=\"syringe\" data-unit=\"mL\">\n            <button type=\"button\" class=\"pdc-opt is-active\" data-value=\"0.3\" data-units=\"30\">\n              <span class=\"pdc-opt-main\">0.3 mL<\/span>\n              <span class=\"pdc-opt-sub\">30 <span data-i18n=\"unitsShortInject\">units<\/span><\/span>\n            <\/button>\n            <button type=\"button\" class=\"pdc-opt\" data-value=\"0.5\" data-units=\"50\">\n              <span class=\"pdc-opt-main\">0.5 mL<\/span>\n              <span class=\"pdc-opt-sub\">50 <span data-i18n=\"unitsShortInject\">units<\/span><\/span>\n            <\/button>\n            <button type=\"button\" class=\"pdc-opt\" data-value=\"1.0\" data-units=\"100\">\n              <span class=\"pdc-opt-main\">1.0 mL<\/span>\n              <span class=\"pdc-opt-sub\">100 <span data-i18n=\"unitsShortInject\">units<\/span><\/span>\n            <\/button>\n          <\/div>\n\n          <div class=\"pdc-photo-gallery\" id=\"pdc-syringe-gallery\">\n            <div class=\"pdc-photo-card\" data-syringe=\"0.3\">\n              <svg viewBox=\"0 0 200 60\" class=\"pdc-photo-svg\">\n                <rect x=\"4\" y=\"18\" width=\"12\" height=\"24\" rx=\"2\" class=\"pdc-syrp-hub\"\/>\n                <polygon points=\"16,26 46,29 16,34\" class=\"pdc-syrp-needle\"\/>\n                <rect x=\"46\" y=\"14\" width=\"86\" height=\"32\" rx=\"5\" class=\"pdc-syrp-barrel\"\/>\n                <rect x=\"49\" y=\"17\" width=\"34\" height=\"26\" rx=\"3\" class=\"pdc-syrp-fill\"\/>\n                <g class=\"pdc-syrp-ticks\"><line x1=\"60\" y1=\"17\" x2=\"60\" y2=\"43\"\/><line x1=\"74\" y1=\"17\" x2=\"74\" y2=\"43\"\/><line x1=\"88\" y1=\"17\" x2=\"88\" y2=\"43\"\/><line x1=\"102\" y1=\"17\" x2=\"102\" y2=\"43\"\/><line x1=\"116\" y1=\"17\" x2=\"116\" y2=\"43\"\/><\/g>\n                <rect x=\"132\" y=\"20\" width=\"10\" height=\"20\" class=\"pdc-syrp-collar\"\/>\n                <rect x=\"142\" y=\"10\" width=\"8\" height=\"40\" rx=\"2\" class=\"pdc-syrp-rod\"\/>\n                <rect x=\"150\" y=\"6\" width=\"20\" height=\"48\" rx=\"4\" class=\"pdc-syrp-plunger\"\/>\n              <\/svg>\n              <span class=\"pdc-photo-card-label\">0.3 mL <span class=\"pdc-photo-card-sub\">30 <span data-i18n=\"unitsShortInject\">units<\/span><\/span><\/span>\n            <\/div>\n            <div class=\"pdc-photo-card\" data-syringe=\"0.5\">\n              <svg viewBox=\"0 0 200 60\" class=\"pdc-photo-svg\">\n                <rect x=\"4\" y=\"18\" width=\"12\" height=\"24\" rx=\"2\" class=\"pdc-syrp-hub\"\/>\n                <polygon points=\"16,26 40,29 16,34\" class=\"pdc-syrp-needle\"\/>\n                <rect x=\"40\" y=\"14\" width=\"98\" height=\"32\" rx=\"5\" class=\"pdc-syrp-barrel\"\/>\n                <rect x=\"43\" y=\"17\" width=\"52\" height=\"26\" rx=\"3\" class=\"pdc-syrp-fill\"\/>\n                <g class=\"pdc-syrp-ticks\"><line x1=\"56\" y1=\"17\" x2=\"56\" y2=\"43\"\/><line x1=\"72\" y1=\"17\" x2=\"72\" y2=\"43\"\/><line x1=\"88\" y1=\"17\" x2=\"88\" y2=\"43\"\/><line x1=\"104\" y1=\"17\" x2=\"104\" y2=\"43\"\/><line x1=\"120\" y1=\"17\" x2=\"120\" y2=\"43\"\/><\/g>\n                <rect x=\"138\" y=\"20\" width=\"10\" height=\"20\" class=\"pdc-syrp-collar\"\/>\n                <rect x=\"148\" y=\"10\" width=\"8\" height=\"40\" rx=\"2\" class=\"pdc-syrp-rod\"\/>\n                <rect x=\"156\" y=\"6\" width=\"20\" height=\"48\" rx=\"4\" class=\"pdc-syrp-plunger\"\/>\n              <\/svg>\n              <span class=\"pdc-photo-card-label\">0.5 mL <span class=\"pdc-photo-card-sub\">50 <span data-i18n=\"unitsShortInject\">units<\/span><\/span><\/span>\n            <\/div>\n            <div class=\"pdc-photo-card\" data-syringe=\"1.0\">\n              <svg viewBox=\"0 0 200 60\" class=\"pdc-photo-svg\">\n                <rect x=\"4\" y=\"18\" width=\"12\" height=\"24\" rx=\"2\" class=\"pdc-syrp-hub\"\/>\n                <polygon points=\"16,26 34,29 16,34\" class=\"pdc-syrp-needle\"\/>\n                <rect x=\"34\" y=\"14\" width=\"110\" height=\"32\" rx=\"5\" class=\"pdc-syrp-barrel\"\/>\n                <rect x=\"37\" y=\"17\" width=\"76\" height=\"26\" rx=\"3\" class=\"pdc-syrp-fill\"\/>\n                <g class=\"pdc-syrp-ticks\"><line x1=\"50\" y1=\"17\" x2=\"50\" y2=\"43\"\/><line x1=\"68\" y1=\"17\" x2=\"68\" y2=\"43\"\/><line x1=\"86\" y1=\"17\" x2=\"86\" y2=\"43\"\/><line x1=\"104\" y1=\"17\" x2=\"104\" y2=\"43\"\/><line x1=\"122\" y1=\"17\" x2=\"122\" y2=\"43\"\/><\/g>\n                <rect x=\"144\" y=\"20\" width=\"10\" height=\"20\" class=\"pdc-syrp-collar\"\/>\n                <rect x=\"154\" y=\"10\" width=\"8\" height=\"40\" rx=\"2\" class=\"pdc-syrp-rod\"\/>\n                <rect x=\"162\" y=\"6\" width=\"20\" height=\"48\" rx=\"4\" class=\"pdc-syrp-plunger\"\/>\n              <\/svg>\n              <span class=\"pdc-photo-card-label\">1.0 mL <span class=\"pdc-photo-card-sub\">100 <span data-i18n=\"unitsShortInject\">units<\/span><\/span><\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <!-- STEP 3 (spray only): spray size + photos -->\n        <div class=\"pdc-field pdc-only-spray\" hidden>\n          <div class=\"pdc-label-row\">\n            <span class=\"pdc-step-num\">3<\/span>\n            <label class=\"pdc-label\" data-i18n=\"step3spray\">Spray size<\/label>\n          <\/div>\n          <div class=\"pdc-options pdc-options--2col\" data-group=\"spray\" data-unit=\"mL\">\n            <button type=\"button\" class=\"pdc-opt is-active\" data-value=\"0.05\">\n              <span class=\"pdc-opt-main\">0.05 mL<\/span>\n              <span class=\"pdc-opt-sub\" data-i18n=\"perSpray\">\/ spray<\/span>\n            <\/button>\n            <button type=\"button\" class=\"pdc-opt\" data-value=\"0.1\">\n              <span class=\"pdc-opt-main\">0.10 mL<\/span>\n              <span class=\"pdc-opt-sub\" data-i18n=\"perSpray\">\/ spray<\/span>\n            <\/button>\n          <\/div>\n\n          <div class=\"pdc-photo-gallery pdc-photo-gallery--2col\" id=\"pdc-spray-gallery\">\n            <div class=\"pdc-photo-card\" data-spray=\"0.05\">\n              <svg viewBox=\"0 0 120 70\" class=\"pdc-photo-svg\">\n                <rect x=\"46\" y=\"30\" width=\"24\" height=\"34\" rx=\"4\" class=\"pdc-bottle-body\"\/>\n                <rect x=\"50\" y=\"14\" width=\"16\" height=\"18\" rx=\"2\" class=\"pdc-bottle-neck\"\/>\n                <rect x=\"47\" y=\"8\" width=\"22\" height=\"8\" rx=\"2\" class=\"pdc-bottle-pump\"\/>\n                <rect x=\"66\" y=\"6\" width=\"8\" height=\"5\" rx=\"1.5\" class=\"pdc-bottle-nozzle\"\/>\n                <g class=\"pdc-mist pdc-mist--small\"><line x1=\"78\" y1=\"8\" x2=\"90\" y2=\"4\"\/><line x1=\"78\" y1=\"11\" x2=\"92\" y2=\"11\"\/><line x1=\"78\" y1=\"14\" x2=\"90\" y2=\"18\"\/><\/g>\n              <\/svg>\n              <span class=\"pdc-photo-card-label\">0.05 mL <span class=\"pdc-photo-card-sub\" data-i18n=\"perSpray\">\/ spray<\/span><\/span>\n            <\/div>\n            <div class=\"pdc-photo-card\" data-spray=\"0.1\">\n              <svg viewBox=\"0 0 120 70\" class=\"pdc-photo-svg\">\n                <rect x=\"46\" y=\"30\" width=\"24\" height=\"34\" rx=\"4\" class=\"pdc-bottle-body\"\/>\n                <rect x=\"50\" y=\"14\" width=\"16\" height=\"18\" rx=\"2\" class=\"pdc-bottle-neck\"\/>\n                <rect x=\"47\" y=\"8\" width=\"22\" height=\"8\" rx=\"2\" class=\"pdc-bottle-pump\"\/>\n                <rect x=\"66\" y=\"6\" width=\"8\" height=\"5\" rx=\"1.5\" class=\"pdc-bottle-nozzle\"\/>\n                <g class=\"pdc-mist pdc-mist--big\"><line x1=\"78\" y1=\"6\" x2=\"94\" y2=\"0\"\/><line x1=\"78\" y1=\"9\" x2=\"96\" y2=\"6\"\/><line x1=\"78\" y1=\"12\" x2=\"96\" y2=\"12\"\/><line x1=\"78\" y1=\"15\" x2=\"96\" y2=\"18\"\/><line x1=\"78\" y1=\"18\" x2=\"94\" y2=\"24\"\/><\/g>\n              <\/svg>\n              <span class=\"pdc-photo-card-label\">0.10 mL <span class=\"pdc-photo-card-sub\" data-i18n=\"perSpray\">\/ spray<\/span><\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <!-- STEP 4: Desired dose (common) -->\n        <div class=\"pdc-field\">\n          <div class=\"pdc-label-row\">\n            <span class=\"pdc-step-num\">4<\/span>\n            <label class=\"pdc-label\" data-i18n=\"step4\">Desired dose<\/label>\n          <\/div>\n          <div class=\"pdc-options\" data-group=\"dose\" data-unit=\"mcg\">\n            <button type=\"button\" class=\"pdc-opt\" data-value=\"50\">50<\/button>\n            <button type=\"button\" class=\"pdc-opt\" data-value=\"100\">100<\/button>\n            <button type=\"button\" class=\"pdc-opt is-active\" data-value=\"250\">250<\/button>\n            <button type=\"button\" class=\"pdc-opt\" data-value=\"500\">500<\/button>\n            <div class=\"pdc-opt pdc-opt--other\">\n              <input type=\"number\" min=\"0\" step=\"any\" class=\"pdc-other-input\" data-i18n-placeholder=\"other\" placeholder=\"Other\" data-group=\"dose\">\n              <select class=\"pdc-unit-select\" id=\"pdc-dose-unit\">\n                <option value=\"mcg\" selected>mcg<\/option>\n                <option value=\"mg\">mg<\/option>\n              <\/select>\n            <\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n\n      <!-- RIGHT: result -->\n      <div class=\"pdc-result\">\n        <div class=\"pdc-result-inner\">\n\n          <div class=\"pdc-result-heading\" data-i18n=\"resultHeadingInject\" data-i18n-alt=\"resultHeadingSpray\">Draw syringe to<\/div>\n          <div class=\"pdc-result-units\">\n            <span id=\"pdc-units-value\">5<\/span>\n            <span class=\"pdc-result-unit-label\" data-i18n=\"unitsShortInject\" data-i18n-alt=\"unitsShortSpray\">units<\/span>\n          <\/div>\n          <div class=\"pdc-result-context\">\n            <span data-i18n=\"forDose\">for a<\/span> <span id=\"pdc-dose-echo\">250 mcg<\/span> <span data-i18n=\"doseWord\">dose<\/span>\n          <\/div>\n          <div class=\"pdc-result-note\" id=\"pdc-result-note\"><\/div>\n\n          <!-- Injection visual -->\n          <div class=\"pdc-visual pdc-only-inject\" aria-hidden=\"true\">\n            <svg viewBox=\"0 0 620 100\" preserveAspectRatio=\"none\" class=\"pdc-syringe-svg\">\n              <rect x=\"4\" y=\"30\" width=\"10\" height=\"40\" rx=\"2\" class=\"pdc-syr-flange\"\/>\n              <rect x=\"14\" y=\"22\" width=\"520\" height=\"56\" rx=\"6\" class=\"pdc-syr-barrel\"\/>\n              <rect id=\"pdc-syr-fill\" x=\"16\" y=\"24\" width=\"0\" height=\"52\" rx=\"4\" class=\"pdc-syr-fill\"\/>\n              <line id=\"pdc-syr-plunger\" x1=\"16\" y1=\"18\" x2=\"16\" y2=\"82\" class=\"pdc-syr-plunger\"\/>\n              <rect x=\"534\" y=\"38\" width=\"26\" height=\"24\" class=\"pdc-syr-hub\"\/>\n              <polygon points=\"560,44 616,49 560,56\" class=\"pdc-syr-needle\"\/>\n            <\/svg>\n            <div class=\"pdc-syr-ticks\" id=\"pdc-syr-ticks\"><\/div>\n          <\/div>\n\n          <!-- Spray visual -->\n          <div class=\"pdc-visual pdc-only-spray\" hidden aria-hidden=\"true\">\n            <svg viewBox=\"0 0 120 90\" class=\"pdc-spray-bottle-svg\">\n              <rect x=\"42\" y=\"34\" width=\"36\" height=\"48\" rx=\"6\" class=\"pdc-bottle-body\"\/>\n              <rect x=\"48\" y=\"14\" width=\"24\" height=\"22\" rx=\"3\" class=\"pdc-bottle-neck\"\/>\n              <rect x=\"44\" y=\"6\" width=\"32\" height=\"10\" rx=\"3\" class=\"pdc-bottle-pump\"\/>\n              <rect x=\"72\" y=\"2\" width=\"12\" height=\"7\" rx=\"2\" class=\"pdc-bottle-nozzle\"\/>\n            <\/svg>\n            <div class=\"pdc-puff-row\" id=\"pdc-puff-row\"><\/div>\n          <\/div>\n\n          <div class=\"pdc-result-meta\">\n            <div class=\"pdc-meta-item\">\n              <span class=\"pdc-meta-label\" data-i18n=\"concentration\">Concentration<\/span>\n              <span class=\"pdc-meta-value\" id=\"pdc-meta-conc\">5 mg\/mL<\/span>\n            <\/div>\n            <div class=\"pdc-meta-item\">\n              <span class=\"pdc-meta-label\" data-i18n=\"volumePerDose\">Volume per dose<\/span>\n              <span class=\"pdc-meta-value\" id=\"pdc-meta-vol\">0.05 mL<\/span>\n            <\/div>\n            <div class=\"pdc-meta-item\">\n              <span class=\"pdc-meta-label\" data-i18n=\"dosesPerVialInject\" data-i18n-alt=\"dosesPerVialSpray\">Doses per vial<\/span>\n              <span class=\"pdc-meta-value\" id=\"pdc-meta-doses\">40<\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"pdc-actions\">\n            <button type=\"button\" class=\"pdc-btn pdc-btn--primary\" id=\"pdc-copy-btn\" data-i18n=\"copy\">Copy results<\/button>\n            <button type=\"button\" class=\"pdc-btn pdc-btn--ghost\" id=\"pdc-calc-toggle\" data-i18n=\"showCalc\">Show calculation<\/button>\n            <button type=\"button\" class=\"pdc-btn pdc-btn--text\" id=\"pdc-reset-btn\" data-i18n=\"reset\">Reset<\/button>\n          <\/div>\n\n          <div class=\"pdc-calc-detail\" id=\"pdc-calc-detail\" hidden><\/div>\n\n          <p class=\"pdc-disclaimer\" data-i18n=\"disclaimer\">This tool performs a unit conversion only. It is not medical advice \u2014 always verify calculations and follow guidance from a qualified healthcare provider before administering any substance.<\/p>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  #pdc-root {\n    --pdc-purple-900: #3B0A6B;\n    --pdc-purple-700: #6B21D8;\n    --pdc-purple-600: #7C3AED;\n    --pdc-purple-500: #9256F2;\n    --pdc-purple-100: #F1E9FE;\n    --pdc-purple-50:  #FAF7FF;\n    --pdc-ink:        #241934;\n    --pdc-ink-soft:   #6B6178;\n    --pdc-line:       #E6DCF7;\n    --pdc-white:      #FFFFFF;\n    --pdc-radius:     14px;\n    --pdc-radius-sm:  10px;\n    --pdc-font: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Inter\", Roboto, Helvetica, Arial, sans-serif;\n\n    font-family: var(--pdc-font);\n    color: var(--pdc-ink);\n    box-sizing: border-box;\n    width: 100%;\n    max-width: 1320px;\n    margin: 0 auto;\n  }\n  #pdc-root *, #pdc-root *::before, #pdc-root *::after { box-sizing: border-box; }\n\n  .pdc-card {\n    background: var(--pdc-white);\n    border: 1px solid var(--pdc-line);\n    border-radius: 22px;\n    padding: 34px 36px 32px;\n    box-shadow: 0 1px 2px rgba(59,10,107,0.04), 0 12px 32px -18px rgba(107,33,216,0.28);\n  }\n\n  .pdc-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 22px; }\n  .pdc-title { margin: 0 0 4px; font-size: 26px; font-weight: 700; letter-spacing: -0.01em; color: var(--pdc-purple-900); }\n  .pdc-subtitle { margin: 0; font-size: 14px; color: var(--pdc-ink-soft); }\n\n  .pdc-lang-switch { display: inline-flex; background: var(--pdc-purple-50); border: 1px solid var(--pdc-line); border-radius: 999px; padding: 3px; flex-shrink: 0; }\n  .pdc-lang-btn { appearance: none; border: none; background: transparent; color: var(--pdc-purple-700); font-size: 12.5px; font-weight: 700; letter-spacing: 0.02em; padding: 6px 14px; border-radius: 999px; cursor: pointer; transition: background-color .15s ease, color .15s ease; }\n  .pdc-lang-btn.is-active { background: var(--pdc-purple-700); color: var(--pdc-white); }\n  .pdc-lang-btn:not(.is-active):hover { background: var(--pdc-purple-100); }\n\n  \/* ===== Method switch ===== *\/\n  .pdc-method-switch {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 10px;\n    margin-bottom: 28px;\n  }\n  .pdc-method-btn {\n    appearance: none;\n    border: 1.5px solid var(--pdc-line);\n    background: var(--pdc-purple-50);\n    color: var(--pdc-ink);\n    border-radius: var(--pdc-radius-sm);\n    padding: 14px 16px;\n    font-size: 14px;\n    font-weight: 700;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    transition: border-color .15s ease, background-color .15s ease, color .15s ease;\n  }\n  .pdc-method-btn:hover { border-color: var(--pdc-purple-500); }\n  .pdc-method-btn.is-active {\n    background: var(--pdc-purple-700);\n    border-color: var(--pdc-purple-700);\n    color: var(--pdc-white);\n  }\n  .pdc-method-icon { width: 20px; height: 20px; flex-shrink: 0; }\n  .pdc-method-icon-path { stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; }\n  .pdc-method-icon-fill { fill: currentColor; opacity: 0.5; }\n\n  .pdc-body { display: grid; grid-template-columns: 1fr; gap: 30px; }\n\n  .pdc-field { margin-bottom: 22px; }\n  .pdc-field:last-child { margin-bottom: 0; }\n\n  .pdc-label-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }\n  .pdc-step-num { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--pdc-purple-100); color: var(--pdc-purple-700); font-size: 12px; font-weight: 700; flex-shrink: 0; }\n  .pdc-label { font-size: 14px; font-weight: 600; color: var(--pdc-ink); }\n\n  \/* ===== Step 1 layout: options + product photo side by side ===== *\/\n  .pdc-step1-layout {\n    display: grid;\n    grid-template-columns: 1fr auto;\n    gap: 16px;\n    align-items: start;\n  }\n  .pdc-product-photo-card {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 4px;\n    flex-shrink: 0;\n  }\n  .pdc-product-photo {\n    width: 72px;\n    height: 72px;\n    object-fit: cover;\n    border-radius: var(--pdc-radius-sm);\n    border: 1.5px solid var(--pdc-line);\n    background: var(--pdc-purple-50);\n  }\n  .pdc-product-photo-caption { font-size: 10px; font-weight: 600; color: var(--pdc-ink-soft); }\n\n  .pdc-options { display: flex; flex-wrap: wrap; gap: 8px; }\n  .pdc-options--2col { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }\n  .pdc-options--3col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }\n\n  .pdc-opt {\n    appearance: none; border: 1.5px solid var(--pdc-line); background: var(--pdc-white); color: var(--pdc-ink);\n    border-radius: var(--pdc-radius-sm); padding: 10px 16px; font-size: 14px; font-weight: 600; cursor: pointer;\n    transition: border-color .15s ease, background-color .15s ease, color .15s ease, transform .08s ease;\n    display: flex; flex-direction: column; align-items: center; line-height: 1.3;\n  }\n  .pdc-opt:hover { border-color: var(--pdc-purple-500); }\n  .pdc-opt:active { transform: scale(0.98); }\n  .pdc-opt.is-active { background: var(--pdc-purple-700); border-color: var(--pdc-purple-700); color: var(--pdc-white); }\n  .pdc-opt--fixed { cursor: default; width: 100%; }\n  .pdc-opt--fixed:hover { border-color: var(--pdc-purple-700); }\n  .pdc-opt-main { font-size: 14px; font-weight: 700; }\n  .pdc-opt-sub { font-size: 11px; font-weight: 500; opacity: 0.8; margin-top: 2px; }\n  .pdc-opt.is-active .pdc-opt-sub { opacity: 0.85; }\n\n  .pdc-opt--other { display: flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1.5px dashed var(--pdc-line); border-radius: var(--pdc-radius-sm); background: var(--pdc-purple-50); }\n  .pdc-other-input { width: 64px; border: none; background: transparent; font-size: 14px; font-weight: 600; color: var(--pdc-ink); outline: none; min-width: 0; }\n  .pdc-other-input::placeholder { color: #B8ABCB; font-weight: 500; }\n  .pdc-other-unit { font-size: 12px; color: var(--pdc-ink-soft); font-weight: 600; }\n  .pdc-unit-select { border: none; background: transparent; font-size: 12px; font-weight: 700; color: var(--pdc-purple-700); outline: none; cursor: pointer; }\n  .pdc-opt--other.is-active-other { border-color: var(--pdc-purple-600); background: var(--pdc-purple-100); }\n\n  \/* ===== Photo galleries (syringe \/ spray) ===== *\/\n  .pdc-photo-gallery { display: grid; gap: 10px; margin-top: 14px; }\n  .pdc-photo-gallery:not(.pdc-photo-gallery--2col) { grid-template-columns: repeat(3, 1fr); }\n  .pdc-photo-gallery--2col { grid-template-columns: repeat(2, 1fr); }\n  .pdc-photo-card {\n    border: 1.5px solid var(--pdc-line); background: var(--pdc-purple-50); border-radius: var(--pdc-radius-sm);\n    padding: 10px 8px 8px; display: flex; flex-direction: column; align-items: center; gap: 6px;\n    transition: border-color .15s ease, background-color .15s ease;\n  }\n  .pdc-photo-card.is-selected { border-color: var(--pdc-purple-600); background: var(--pdc-purple-100); }\n  .pdc-photo-svg { width: 100%; height: auto; display: block; max-width: 150px; }\n  .pdc-photo-card-label { font-size: 12px; font-weight: 700; color: var(--pdc-ink); text-align: center; line-height: 1.4; }\n  .pdc-photo-card-sub { display: block; font-size: 10.5px; font-weight: 600; color: var(--pdc-ink-soft); }\n\n  .pdc-syrp-hub { fill: #CBBCE6; } .pdc-syrp-needle { fill: #B7A4D9; }\n  .pdc-syrp-barrel { fill: var(--pdc-white); stroke: #C9BBE0; stroke-width: 2; }\n  .pdc-syrp-fill { fill: var(--pdc-purple-500); opacity: 0.30; }\n  .pdc-syrp-ticks line { stroke: #B8A9D4; stroke-width: 1; }\n  .pdc-syrp-collar { fill: #D8CCEF; } .pdc-syrp-rod { fill: #C9BBE0; } .pdc-syrp-plunger { fill: var(--pdc-purple-600); }\n\n  .pdc-bottle-body { fill: var(--pdc-white); stroke: #C9BBE0; stroke-width: 2; }\n  .pdc-bottle-neck { fill: #EDE4FB; stroke: #C9BBE0; stroke-width: 1.5; }\n  .pdc-bottle-pump { fill: var(--pdc-purple-600); }\n  .pdc-bottle-nozzle { fill: #B7A4D9; }\n  .pdc-mist line { stroke: #A374EE; stroke-width: 2; stroke-linecap: round; opacity: 0.75; }\n  .pdc-mist--small line { stroke-width: 1.6; opacity: 0.55; }\n  .pdc-mist--big line { stroke-width: 2.2; opacity: 0.85; }\n\n  \/* ===== Result panel ===== *\/\n  .pdc-result { display: flex; }\n  .pdc-result-inner {\n    width: 100%; padding: 26px 24px;\n    background: linear-gradient(160deg, var(--pdc-purple-50) 0%, var(--pdc-purple-100) 100%);\n    border: 1px solid var(--pdc-line); border-radius: var(--pdc-radius); text-align: center; align-self: start;\n  }\n  .pdc-result-heading { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; color: var(--pdc-purple-700); text-transform: uppercase; }\n  .pdc-result-units { margin: 6px 0 2px; display: flex; align-items: baseline; justify-content: center; gap: 8px; }\n  #pdc-units-value { font-size: 56px; font-weight: 800; color: var(--pdc-purple-900); letter-spacing: -0.02em; line-height: 1; }\n  .pdc-result-unit-label { font-size: 16px; font-weight: 600; color: var(--pdc-ink-soft); }\n  .pdc-result-context { font-size: 14px; color: var(--pdc-ink-soft); margin-bottom: 4px; }\n  #pdc-dose-echo { font-weight: 700; color: var(--pdc-ink); }\n  .pdc-result-note { font-size: 12px; color: var(--pdc-purple-700); font-weight: 600; margin-bottom: 10px; min-height: 16px; }\n\n  .pdc-visual { margin: 6px auto 20px; max-width: 520px; }\n  .pdc-syringe-svg { width: 100%; height: auto; display: block; overflow: visible; }\n  .pdc-syr-flange { fill: var(--pdc-ink); opacity: 0.55; }\n  .pdc-syr-barrel { fill: var(--pdc-white); stroke: #C9BBE0; stroke-width: 2; }\n  .pdc-syr-fill { fill: var(--pdc-purple-500); opacity: 0.35; transition: width .25s ease; }\n  .pdc-syr-plunger { stroke: var(--pdc-purple-700); stroke-width: 3; transition: transform .25s ease; }\n  .pdc-syr-hub { fill: #C9BBE0; } .pdc-syr-needle { fill: #A99BC3; }\n  .pdc-syr-ticks { display: flex; justify-content: space-between; padding: 4px 2.5% 0 3%; font-size: 10px; color: var(--pdc-ink-soft); font-weight: 600; }\n\n  .pdc-spray-bottle-svg { width: 90px; height: auto; display: block; margin: 0 auto 10px; }\n  .pdc-puff-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }\n  .pdc-puff { width: 14px; height: 14px; border-radius: 50%; background: var(--pdc-purple-600); opacity: 0.85; }\n  .pdc-puff-extra { font-size: 13px; font-weight: 700; color: var(--pdc-purple-700); align-self: center; }\n\n  .pdc-result-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 22px; }\n  .pdc-meta-item { background: var(--pdc-white); border: 1px solid var(--pdc-line); border-radius: var(--pdc-radius-sm); padding: 10px 6px; }\n  .pdc-meta-label { display: block; font-size: 10.5px; font-weight: 600; color: var(--pdc-ink-soft); text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 4px; }\n  .pdc-meta-value { display: block; font-size: 15px; font-weight: 700; color: var(--pdc-ink); }\n\n  .pdc-actions { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 4px; }\n  .pdc-btn { appearance: none; border-radius: 999px; font-size: 13.5px; font-weight: 700; cursor: pointer; padding: 10px 18px; transition: opacity .15s ease, background-color .15s ease; border: 1.5px solid transparent; }\n  .pdc-btn--primary { background: var(--pdc-purple-700); color: var(--pdc-white); }\n  .pdc-btn--primary:hover { background: var(--pdc-purple-900); }\n  .pdc-btn--ghost { background: var(--pdc-white); border-color: var(--pdc-line); color: var(--pdc-purple-700); }\n  .pdc-btn--ghost:hover { border-color: var(--pdc-purple-600); }\n  .pdc-btn--text { background: transparent; color: var(--pdc-ink-soft); padding: 10px 10px; }\n  .pdc-btn--text:hover { color: var(--pdc-ink); }\n\n  .pdc-calc-detail { text-align: left; margin-top: 16px; padding: 14px 16px; background: var(--pdc-white); border: 1px solid var(--pdc-line); border-radius: var(--pdc-radius-sm); font-size: 13px; line-height: 1.7; color: var(--pdc-ink); }\n  .pdc-calc-detail code { background: var(--pdc-purple-100); color: var(--pdc-purple-900); padding: 1px 5px; border-radius: 5px; font-size: 12.5px; }\n\n  .pdc-disclaimer { margin: 18px 0 0; font-size: 11.5px; line-height: 1.5; color: var(--pdc-ink-soft); }\n\n  @media (min-width: 900px) {\n    .pdc-body { grid-template-columns: 1.35fr 1fr; align-items: start; }\n    .pdc-result { position: sticky; top: 24px; }\n  }\n  @media (min-width: 1180px) { .pdc-card { padding: 40px 48px 40px; } }\n\n  @media (max-width: 560px) {\n    .pdc-step1-layout { grid-template-columns: 1fr; }\n    .pdc-product-photo-card { flex-direction: row; justify-content: flex-start; }\n  }\n  @media (max-width: 480px) {\n    .pdc-card { padding: 22px 16px 20px; }\n    .pdc-header { flex-wrap: wrap; }\n    .pdc-method-switch { grid-template-columns: 1fr; }\n    #pdc-units-value { font-size: 42px; }\n    .pdc-result-meta { grid-template-columns: 1fr; }\n    .pdc-actions { flex-direction: column; align-items: stretch; }\n    .pdc-btn { text-align: center; }\n    .pdc-photo-gallery:not(.pdc-photo-gallery--2col) { grid-template-columns: 1fr; }\n    .pdc-photo-gallery--2col { grid-template-columns: 1fr; }\n  }\n\n  @media (prefers-reduced-motion: reduce) { .pdc-syr-fill, .pdc-syr-plunger, .pdc-opt { transition: none; } }\n\n  .pdc-opt:focus-visible, .pdc-btn:focus-visible, .pdc-other-input:focus-visible,\n  .pdc-unit-select:focus-visible, .pdc-lang-btn:focus-visible, .pdc-method-btn:focus-visible {\n    outline: 2px solid var(--pdc-purple-600); outline-offset: 2px;\n  }\n<\/style>\n\n<script>\n(function () {\n  var root = document.getElementById('pdc-root');\n\n  var STRINGS = {\n    en: {\n      title: \"Dosing Calculator\",\n      subtitle: \"Choose your method, then work out your dose.\",\n      methodInject: \"Injection (syringe)\",\n      methodSpray: \"Nasal spray\",\n      step1inject: \"Peptide in vial\",\n      step1spray: \"Peptide in bottle\",\n      step2: \"Bacteriostatic water added\",\n      step2spray: \"Bottle volume\",\n      step3: \"Syringe volume\",\n      step3spray: \"Spray size\",\n      step4: \"Desired dose\",\n      other: \"Other\",\n      fixed: \"fixed\",\n      yourProduct: \"Your Peptide\",\n      perSpray: \"\/ spray\",\n      unitsShortInject: \"units\",\n      unitsShortSpray: \"sprays\",\n      resultHeadingInject: \"Draw syringe to\",\n      resultHeadingSpray: \"Sprays needed\",\n      forDose: \"for a\",\n      doseWord: \"dose\",\n      concentration: \"Concentration\",\n      volumePerDose: \"Volume per dose\",\n      dosesPerVialInject: \"Doses per vial\",\n      dosesPerVialSpray: \"Doses per bottle\",\n      copy: \"Copy results\",\n      copied: \"Copied!\",\n      showCalc: \"Show calculation\",\n      hideCalc: \"Hide calculation\",\n      reset: \"Reset\",\n      disclaimer: \"This tool performs a unit conversion only. It is not medical advice \u2014 always verify calculations and follow guidance from a qualified healthcare provider before administering any substance.\",\n      calc1: \"Concentration\",\n      calc2: \"Volume for the dose\",\n      calc3inject: \"Convert to syringe units\",\n      calc3spray: \"Convert to sprays\",\n      calc4: \"Doses available\",\n      dosesWord: \"doses\",\n      roundedNote: \"Rounded to the nearest whole spray (exact: {n} sprays)\"\n    },\n    cz: {\n      title: \"Kalkul\u00e1tor d\u00e1vkov\u00e1n\u00ed\",\n      subtitle: \"Vyberte metodu a zjist\u011bte svou d\u00e1vku.\",\n      methodInject: \"Injekce (st\u0159\u00edka\u010dka)\",\n      methodSpray: \"Nosn\u00ed sprej\",\n      step1inject: \"Peptid v lahvi\u010dce\",\n      step1spray: \"Peptid v lahvi\u010dce\",\n      step2: \"P\u0159idan\u00e1 bakteriostatick\u00e1 voda\",\n      step2spray: \"Objem lahvi\u010dky\",\n      step3: \"Objem st\u0159\u00edka\u010dky\",\n      step3spray: \"Velikost vst\u0159iku\",\n      step4: \"Po\u017eadovan\u00e1 d\u00e1vka\",\n      other: \"Jin\u00e9\",\n      fixed: \"fixn\u00ed\",\n      yourProduct: \"V\u00e1\u0161 Peptid\",\n      perSpray: \"\/ vst\u0159ik\",\n      unitsShortInject: \"jednotek\",\n      unitsShortSpray: \"vst\u0159ik\u016f\",\n      resultHeadingInject: \"Nat\u00e1hn\u011bte st\u0159\u00edka\u010dku na\",\n      resultHeadingSpray: \"Pot\u0159ebn\u00fd po\u010det vst\u0159ik\u016f\",\n      forDose: \"pro d\u00e1vku\",\n      doseWord: \"\",\n      concentration: \"Koncentrace\",\n      volumePerDose: \"Objem na d\u00e1vku\",\n      dosesPerVialInject: \"D\u00e1vek na lahvi\u010dku\",\n      dosesPerVialSpray: \"D\u00e1vek v lahvi\u010dce\",\n      copy: \"Kop\u00edrovat v\u00fdsledky\",\n      copied: \"Zkop\u00edrov\u00e1no!\",\n      showCalc: \"Zobrazit v\u00fdpo\u010det\",\n      hideCalc: \"Skr\u00fdt v\u00fdpo\u010det\",\n      reset: \"Resetovat\",\n      disclaimer: \"Tento n\u00e1stroj prov\u00e1d\u00ed pouze p\u0159evod jednotek. Nejde o l\u00e9ka\u0159skou radu \u2014 v\u017edy si v\u00fdpo\u010det ov\u011b\u0159te a p\u0159ed pod\u00e1n\u00edm jak\u00e9koli l\u00e1tky se \u0159i\u010fte doporu\u010den\u00edm kvalifikovan\u00e9ho zdravotnick\u00e9ho pracovn\u00edka.\",\n      calc1: \"Koncentrace\",\n      calc2: \"Objem pro d\u00e1vku\",\n      calc3inject: \"P\u0159evod na jednotky st\u0159\u00edka\u010dky\",\n      calc3spray: \"P\u0159evod na vst\u0159iky\",\n      calc4: \"Dostupn\u00e9 d\u00e1vky\",\n      dosesWord: \"d\u00e1vek\",\n      roundedNote: \"Zaokrouhleno na cel\u00fd vst\u0159ik (p\u0159esn\u011b: {n} vst\u0159ik\u016f)\"\n    }\n  };\n\n  \/\/ --- DETEKCE JAZYKA PODLE URL ---\n  \/\/ Zkontroluje, jestli URL za\u010d\u00edn\u00e1 na \"\/cz\" (nap\u0159. domena.cz\/cz\/produkt) nebo obsahuje \"\/cz\/\"\n  var isCzech = window.location.pathname.indexOf('\/cz') === 0 || window.location.href.indexOf('\/cz\/') !== -1;\n  var lang = isCzech ? 'cz' : 'en'; \n\n  var method = 'inject'; \/\/ 'inject' | 'spray'\n  var BOTTLE_ML = 5; \/\/ fixed, spray method only\n\n  var state = {\n    vial: 10,      \/\/ mg (shared)\n    water: 2,      \/\/ mL (inject)\n    syringe: 0.3, syringeUnits: 30, \/\/ (inject)\n    sprayVol: 0.05, \/\/ mL per spray (spray)\n    dose: 250, doseUnit: 'mcg' \/\/ shared\n  };\n\n  function applyLanguage() {\n    var dict = STRINGS[lang];\n    root.querySelectorAll('[data-i18n]').forEach(function (el) {\n      var baseKey = el.getAttribute('data-i18n');\n      var resolvedKey = baseKey;\n      if (method === 'spray') {\n        if (baseKey === 'step1inject') resolvedKey = 'step1spray';\n        else if (baseKey === 'unitsShortInject') resolvedKey = 'unitsShortSpray';\n        else if (baseKey === 'resultHeadingInject') resolvedKey = 'resultHeadingSpray';\n        else if (baseKey === 'dosesPerVialInject') resolvedKey = 'dosesPerVialSpray';\n      }\n      if (dict[resolvedKey] !== undefined) el.textContent = dict[resolvedKey];\n    });\n    root.querySelectorAll('[data-i18n-placeholder]').forEach(function (el) {\n      var key = el.getAttribute('data-i18n-placeholder');\n      if (dict[key] !== undefined) el.setAttribute('placeholder', dict[key]);\n    });\n    var calcToggle = document.getElementById('pdc-calc-toggle');\n    var detail = document.getElementById('pdc-calc-detail');\n    calcToggle.textContent = detail.hasAttribute('hidden') ? dict.showCalc : dict.hideCalc;\n    recalc();\n  }\n\n  root.querySelectorAll('.pdc-lang-btn').forEach(function (btn) {\n    btn.addEventListener('click', function () {\n      root.querySelectorAll('.pdc-lang-btn').forEach(function (b) { b.classList.remove('is-active'); });\n      btn.classList.add('is-active');\n      lang = btn.getAttribute('data-lang');\n      applyLanguage();\n    });\n  });\n\n  root.querySelectorAll('.pdc-method-btn').forEach(function (btn) {\n    btn.addEventListener('click', function () {\n      root.querySelectorAll('.pdc-method-btn').forEach(function (b) { b.classList.remove('is-active'); });\n      btn.classList.add('is-active');\n      method = btn.getAttribute('data-method');\n      root.querySelectorAll('.pdc-only-inject').forEach(function (el) { el.hidden = (method !== 'inject'); });\n      root.querySelectorAll('.pdc-only-spray').forEach(function (el) { el.hidden = (method !== 'spray'); });\n      applyLanguage();\n    });\n  });\n\n  var groups = root.querySelectorAll('.pdc-options[data-group]');\n  groups.forEach(function (group) {\n    var key = group.getAttribute('data-group');\n    var buttons = group.querySelectorAll('.pdc-opt[data-value]');\n    var otherWrap = group.querySelector('.pdc-opt--other');\n    var otherInput = group.querySelector('.pdc-other-input');\n\n    buttons.forEach(function (btn) {\n      btn.addEventListener('click', function () {\n        buttons.forEach(function (b) { b.classList.remove('is-active'); });\n        if (otherWrap) otherWrap.classList.remove('is-active-other');\n        btn.classList.add('is-active');\n        if (otherInput) otherInput.value = '';\n\n        var val = parseFloat(btn.getAttribute('data-value'));\n        applyValue(key, val, btn);\n        if (key === 'syringe') highlightCard('pdc-syringe-gallery', 'syringe', val.toFixed(1));\n        if (key === 'spray') highlightCard('pdc-spray-gallery', 'spray', val.toString());\n        recalc();\n      });\n    });\n\n    if (otherInput) {\n      otherInput.addEventListener('input', function () {\n        var val = parseFloat(otherInput.value);\n        if (isNaN(val) || val <= 0) return;\n        buttons.forEach(function (b) { b.classList.remove('is-active'); });\n        otherWrap.classList.add('is-active-other');\n        applyValue(key, val, null);\n        recalc();\n      });\n    }\n  });\n\n  var doseUnitSelect = document.getElementById('pdc-dose-unit');\n  doseUnitSelect.addEventListener('change', function () {\n    state.doseUnit = doseUnitSelect.value;\n    recalc();\n  });\n\n  function applyValue(key, val, btn) {\n    if (key === 'vial') state.vial = val;\n    if (key === 'water') state.water = val;\n    if (key === 'dose') state.dose = val;\n    if (key === 'spray') state.sprayVol = val;\n    if (key === 'syringe') {\n      state.syringe = val;\n      state.syringeUnits = btn ? parseFloat(btn.getAttribute('data-units')) : Math.round(val * 100);\n    }\n  }\n\n  function highlightCard(galleryId, attr, key) {\n    var gallery = document.getElementById(galleryId);\n    if (!gallery) return;\n    gallery.querySelectorAll('.pdc-photo-card').forEach(function (card) {\n      card.classList.toggle('is-selected', card.getAttribute('data-' + attr) === key);\n    });\n  }\n\n  function formatNum(n) {\n    if (!isFinite(n)) return '\u2014';\n    return (Math.round(n * 1000) \/ 1000).toString();\n  }\n\n  function recalc() {\n    var dict = STRINGS[lang];\n    var doseMg = state.doseUnit === 'mcg' ? state.dose \/ 1000 : state.dose;\n    var doseLabel = (state.doseUnit === 'mcg' ? state.dose + ' mcg' : state.dose + ' mg');\n    document.getElementById('pdc-dose-echo').textContent = doseLabel;\n\n    var noteEl = document.getElementById('pdc-result-note');\n    noteEl.textContent = '';\n\n    if (method === 'inject') {\n      var conc = state.vial \/ state.water;\n      var volumeMl = doseMg \/ conc;\n      var unitsPerMl = state.syringeUnits \/ state.syringe;\n      var unitsToDraw = volumeMl * unitsPerMl;\n      var dosesPerVial = state.vial \/ doseMg;\n      var roundedUnits = Math.round(unitsToDraw * 10) \/ 10;\n\n      document.getElementById('pdc-units-value').textContent = (roundedUnits % 1 === 0) ? roundedUnits.toFixed(0) : roundedUnits.toFixed(1);\n      document.getElementById('pdc-meta-conc').textContent = formatNum(conc) + ' mg\/mL';\n      document.getElementById('pdc-meta-vol').textContent = formatNum(volumeMl) + ' mL';\n      document.getElementById('pdc-meta-doses').textContent = isFinite(dosesPerVial) ? Math.floor(dosesPerVial) : '\u2014';\n\n      updateSyringeVisual(unitsToDraw);\n      buildTicks();\n\n      var detail = document.getElementById('pdc-calc-detail');\n      detail.innerHTML =\n        '<div><strong>1. ' + dict.calc1 + '<\/strong><br>' + state.vial + ' mg \\u00F7 ' + state.water + ' mL = <code>' + formatNum(conc) + ' mg\/mL<\/code><\/div><br>' +\n        '<div><strong>2. ' + dict.calc2 + '<\/strong><br>' + formatNum(doseMg) + ' mg \\u00F7 ' + formatNum(conc) + ' mg\/mL = <code>' + formatNum(volumeMl) + ' mL<\/code><\/div><br>' +\n        '<div><strong>3. ' + dict.calc3inject + '<\/strong><br>' + formatNum(volumeMl) + ' mL \\u00D7 (' + state.syringeUnits + ' ' + dict.unitsShortInject + ' \\u00F7 ' + state.syringe + ' mL) = <code>' + formatNum(unitsToDraw) + ' ' + dict.unitsShortInject + '<\/code><\/div><br>' +\n        '<div><strong>4. ' + dict.calc4 + '<\/strong><br>' + state.vial + ' mg \\u00F7 ' + formatNum(doseMg) + ' mg = <code>' + (isFinite(dosesPerVial) ? Math.floor(dosesPerVial) : '\u2014') + ' ' + dict.dosesWord + '<\/code><\/div>';\n\n    } else {\n      var concS = state.vial \/ BOTTLE_ML;\n      var volumeMlS = doseMg \/ concS;\n      var exact = volumeMlS \/ state.sprayVol;\n      var rounded = Math.round(exact);\n      var dosesPerBottle = state.vial \/ doseMg;\n\n      document.getElementById('pdc-units-value').textContent = rounded;\n      document.getElementById('pdc-meta-conc').textContent = formatNum(concS) + ' mg\/mL';\n      document.getElementById('pdc-meta-vol').textContent = formatNum(volumeMlS) + ' mL';\n      document.getElementById('pdc-meta-doses').textContent = isFinite(dosesPerBottle) ? Math.floor(dosesPerBottle) : '\u2014';\n\n      if (Math.abs(exact - rounded) > 0.05) {\n        noteEl.textContent = dict.roundedNote.replace('{n}', formatNum(exact));\n      }\n\n      buildPuffs(rounded);\n\n      var detailS = document.getElementById('pdc-calc-detail');\n      detailS.innerHTML =\n        '<div><strong>1. ' + dict.calc1 + '<\/strong><br>' + state.vial + ' mg \\u00F7 ' + BOTTLE_ML + ' mL = <code>' + formatNum(concS) + ' mg\/mL<\/code><\/div><br>' +\n        '<div><strong>2. ' + dict.calc2 + '<\/strong><br>' + formatNum(doseMg) + ' mg \\u00F7 ' + formatNum(concS) + ' mg\/mL = <code>' + formatNum(volumeMlS) + ' mL<\/code><\/div><br>' +\n        '<div><strong>3. ' + dict.calc3spray + '<\/strong><br>' + formatNum(volumeMlS) + ' mL \\u00F7 ' + state.sprayVol + ' mL = <code>' + formatNum(exact) + ' \\u2192 ' + rounded + ' ' + dict.unitsShortSpray + '<\/code><\/div><br>' +\n        '<div><strong>4. ' + dict.calc4 + '<\/strong><br>' + state.vial + ' mg \\u00F7 ' + formatNum(doseMg) + ' mg = <code>' + (isFinite(dosesPerBottle) ? Math.floor(dosesPerBottle) : '\u2014') + ' ' + dict.dosesWord + '<\/code><\/div>';\n    }\n  }\n\n  function updateSyringeVisual(unitsToDraw) {\n    var maxUnits = state.syringeUnits;\n    var fraction = Math.max(0, Math.min(1, unitsToDraw \/ maxUnits));\n    var barrelStart = 16, barrelWidth = 518;\n    var fillWidth = fraction * barrelWidth;\n    document.getElementById('pdc-syr-fill').setAttribute('width', fillWidth.toFixed(1));\n    var plunger = document.getElementById('pdc-syr-plunger');\n    var x = barrelStart + fillWidth;\n    plunger.setAttribute('x1', x.toFixed(1));\n    plunger.setAttribute('x2', x.toFixed(1));\n  }\n\n  function buildTicks() {\n    var ticksWrap = document.getElementById('pdc-syr-ticks');\n    var max = state.syringeUnits;\n    var step = max <= 30 ? 5 : (max <= 50 ? 10 : 20);\n    var marks = [];\n    for (var i = 0; i <= max; i += step) marks.push(i);\n    ticksWrap.innerHTML = marks.map(function (m) { return '<span>' + m + '<\/span>'; }).join('');\n  }\n\n  function buildPuffs(count) {\n    var wrap = document.getElementById('pdc-puff-row');\n    var maxShown = 12;\n    var shown = Math.min(count, maxShown);\n    var html = '';\n    for (var i = 0; i < shown; i++) html += '<span class=\"pdc-puff\"><\/span>';\n    if (count > maxShown) html += '<span class=\"pdc-puff-extra\">+' + (count - maxShown) + '<\/span>';\n    wrap.innerHTML = html;\n  }\n\n  document.getElementById('pdc-calc-toggle').addEventListener('click', function () {\n    var dict = STRINGS[lang];\n    var detail = document.getElementById('pdc-calc-detail');\n    var hidden = detail.hasAttribute('hidden');\n    if (hidden) { detail.removeAttribute('hidden'); this.textContent = dict.hideCalc; }\n    else { detail.setAttribute('hidden', ''); this.textContent = dict.showCalc; }\n  });\n\n  document.getElementById('pdc-copy-btn').addEventListener('click', function () {\n    var dict = STRINGS[lang];\n    var units = document.getElementById('pdc-units-value').textContent;\n    var unitLabel = method === 'inject' ? dict.unitsShortInject : dict.unitsShortSpray;\n    var heading = method === 'inject' ? dict.resultHeadingInject : dict.resultHeadingSpray;\n    var doseLabel = document.getElementById('pdc-dose-echo').textContent;\n    var extra = method === 'inject'\n      ? '(' + state.vial + ' mg \/ ' + state.water + ' mL, ' + state.syringe + ' mL)'\n      : '(' + state.vial + ' mg \/ ' + BOTTLE_ML + ' mL, ' + state.sprayVol + ' mL' + dict.perSpray + ')';\n    var text = heading + ': ' + units + ' ' + unitLabel + ' ' + dict.forDose + ' ' + doseLabel + ' ' + dict.doseWord + ' ' + extra + '.';\n    var btn = this;\n    var restore = btn.textContent;\n    if (navigator.clipboard && navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).then(function () {\n        btn.textContent = dict.copied;\n        setTimeout(function () { btn.textContent = restore; }, 1500);\n      });\n    }\n  });\n\n  document.getElementById('pdc-reset-btn').addEventListener('click', function () {\n    state = { vial: 10, water: 2, syringe: 0.3, syringeUnits: 30, sprayVol: 0.05, dose: 250, doseUnit: 'mcg' };\n    root.querySelectorAll('.pdc-opt.is-active:not(.pdc-opt--fixed)').forEach(function (b) { b.classList.remove('is-active'); });\n    root.querySelectorAll('.pdc-other-input').forEach(function (i) { i.value = ''; });\n    root.querySelectorAll('.pdc-opt--other').forEach(function (w) { w.classList.remove('is-active-other'); });\n    doseUnitSelect.value = 'mcg';\n\n    activateDefault('vial', '10');\n    activateDefault('water', '2');\n    activateDefault('syringe', '0.3');\n    activateDefault('spray', '0.05');\n    activateDefault('dose', '250');\n    highlightCard('pdc-syringe-gallery', 'syringe', '0.3');\n    highlightCard('pdc-spray-gallery', 'spray', '0.05');\n\n    var detail = document.getElementById('pdc-calc-detail');\n    detail.setAttribute('hidden', '');\n    document.getElementById('pdc-calc-toggle').textContent = STRINGS[lang].showCalc;\n\n    recalc();\n  });\n\n  function activateDefault(key, value) {\n    var group = root.querySelector('.pdc-options[data-group=\"' + key + '\"]');\n    if (!group) return;\n    var btn = group.querySelector('.pdc-opt[data-value=\"' + value + '\"]');\n    if (btn) btn.classList.add('is-active');\n  }\n\n  \/\/ --- INICIALIZACE: P\u0159epnut\u00ed spr\u00e1vn\u00e9ho tla\u010d\u00edtka pro zji\u0161t\u011bn\u00fd jazyk ---\n  root.querySelectorAll('.pdc-lang-btn').forEach(function (btn) {\n    if (btn.getAttribute('data-lang') === lang) {\n      btn.classList.add('is-active');\n    } else {\n      btn.classList.remove('is-active');\n    }\n  });\n\n  \/\/ Initial render\n  buildTicks();\n  highlightCard('pdc-syringe-gallery', 'syringe', '0.3');\n  highlightCard('pdc-spray-gallery', 'spray', '0.05');\n  applyLanguage();\n})();\n<\/script>\n\n\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dosing Calculator Choose your method, then work out your dose. EN CZ Injection (syringe) Nasal spray 1 Peptide in vial [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-655","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"Wikii","author_link":"https:\/\/czechpeptide.com\/cz\/author\/wikii\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":"Dosing Calculator Choose your method, then work out your dose. EN CZ Injection (syringe) Nasal spray 1 Peptide in vial [&hellip;]","_links":{"self":[{"href":"https:\/\/czechpeptide.com\/cz\/wp-json\/wp\/v2\/pages\/655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/czechpeptide.com\/cz\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/czechpeptide.com\/cz\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/czechpeptide.com\/cz\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/czechpeptide.com\/cz\/wp-json\/wp\/v2\/comments?post=655"}],"version-history":[{"count":12,"href":"https:\/\/czechpeptide.com\/cz\/wp-json\/wp\/v2\/pages\/655\/revisions"}],"predecessor-version":[{"id":730,"href":"https:\/\/czechpeptide.com\/cz\/wp-json\/wp\/v2\/pages\/655\/revisions\/730"}],"wp:attachment":[{"href":"https:\/\/czechpeptide.com\/cz\/wp-json\/wp\/v2\/media?parent=655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}