<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Omalovánky zima a Vánoce | Snilkuvsvet.cz</title>
	<atom:link href="https://snilkuvsvet.cz/omalovanky/omalovanky-zimni-cas/feed/" rel="self" type="application/rss+xml" />
	<link>https://snilkuvsvet.cz/omalovanky/omalovanky-zimni-cas/</link>
	<description>Pohádky na dobrou noc a nápady pro děti</description>
	<lastBuildDate>Thu, 09 Apr 2026 07:44:51 +0000</lastBuildDate>
	<language>cs</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://snilkuvsvet.cz/wp-content/uploads/2025/10/cropped-cropped-Adobe-Express-file-1-32x32.png</url>
	<title>Omalovánky zima a Vánoce | Snilkuvsvet.cz</title>
	<link>https://snilkuvsvet.cz/omalovanky/omalovanky-zimni-cas/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Omalovánka s tuleněm pro barevnější den</title>
		<link>https://snilkuvsvet.cz/omalovanka-s-tulenem-pro-barevnejsi-den/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-s-tulenem-pro-barevnejsi-den/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Sat, 24 Jan 2026 13:21:01 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Omalovánky zvířat]]></category>
		<category><![CDATA[Mořský svět]]></category>
		<category><![CDATA[Život zvířat]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=3200</guid>

					<description><![CDATA[<p>Občas je život jako balancování na kře. Vlny se houpou, ale když se soustředíte na to důležité, dokážete ustát cokoliv. A ještě u toho vypadat roztomile!  Přinášíme vám novou omalovánku pro malé i velké snílky. Tento malý tulení akrobat nám připomíná, že i uprostřed oceánu může vyjít slunce a objevit se duha. Obrázek je připraven...</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-s-tulenem-pro-barevnejsi-den/">Omalovánka s tuleněm pro barevnější den</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Občas je život jako balancování na kře. Vlny se houpou, ale když se soustředíte na to důležité, dokážete ustát cokoliv. A ještě u toho vypadat roztomile! </p>



<p class="wp-block-paragraph">Přinášíme vám novou omalovánku pro malé i velké snílky. Tento malý tulení akrobat nám připomíná, že i uprostřed oceánu může vyjít slunce a objevit se duha. Obrázek je připraven v čistém „line-art“ stylu bez stínování, takže máte naprostou svobodu v tom, jaké barvy svému tuleni vdechnete. Bude míč červeno-bílý, nebo duhový? Je to jen na vás.</p>



    
<style id="ss-omalovanka-print-css">
@media print {
  @page { size: A4; margin: 10mm; }
  html, body { height: auto !important; }
  body * { visibility: hidden !important; }
  .ss-omalovanka, .ss-omalovanka * { visibility: visible !important; }
  .ss-omalovanka {
    position: fixed !important; inset: 0 !important; margin: 0 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
  }
  .ss-ctrls { display: none !important; }
  .ss-omalovanka img {
    max-width: 100% !important; max-height: 100vh !important;
    width: auto !important; height: auto !important;
    box-shadow: none !important; border-radius: 0 !important;
  }
}
</style>    <div id="ss-omalovanka-acc45d4a-57c5-41bd-87b7-c8ef37413ea2" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2026/01/omalovanka-tulen-s-micem-duha-print.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2026/01/omalovanka-tulen-s-micem-duha-print.jpg"
             alt="Omalovánka - Tuleň akrobat"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2026/01/omalovanka-tulen-s-micem-duha-print.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-acc45d4a-57c5-41bd-87b7-c8ef37413ea2');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-s-tulenem-pro-barevnejsi-den/">Omalovánka s tuleněm pro barevnější den</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-s-tulenem-pro-barevnejsi-den/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2026/01/omalovanka-tulen-s-micem-duha-print.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka &#8211; Sněhová vločka v bublině</title>
		<link>https://snilkuvsvet.cz/omalovanka-snehova-vlocka-v-bubline/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-snehova-vlocka-v-bubline/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Thu, 15 Jan 2026 04:56:44 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Vánoce]]></category>
		<category><![CDATA[Zima]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=3082</guid>

					<description><![CDATA[<p>Zima je časem kouzel a drobných zázraků. Jedním z nich je i naše nová omalovánka, která zachycuje křehkou sněhovou vločku uvězněnou v mýdlové bublině. Tato originální ilustrace v sobě spojuje krásu mrazivé přírody a hravost dětství. V pozadí najdete zasněženou zimní zahradu, která přímo vybízí k vybarvení modrými, fialovými nebo stříbrnými odstíny.</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-snehova-vlocka-v-bubline/">Omalovánka &#8211; Sněhová vločka v bublině</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Zima je časem<strong> kouzel a drobných zázraků</strong>. Jedním z nich je i naše nová omalovánka, která zachycuje křehkou sněhovou vločku uvězněnou v <strong>mýdlové bublině</strong>. Tato originální ilustrace v sobě spojuje krásu mrazivé přírody a hravost dětství.</p>



<p class="wp-block-paragraph">V pozadí najdete zasněženou zimní zahradu, která přímo vybízí k vybarvení modrými, fialovými nebo stříbrnými odstíny.</p>



        <div id="ss-omalovanka-aa484087-fefb-4a34-8d67-1de003413d31" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2026/01/zimni-omalovanka-vlocka-v-bubline.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2026/01/zimni-omalovanka-vlocka-v-bubline.jpg"
             alt="Sněhová vločka v bublině - omalovánka"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2026/01/zimni-omalovanka-vlocka-v-bubline.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-aa484087-fefb-4a34-8d67-1de003413d31');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-snehova-vlocka-v-bubline/">Omalovánka &#8211; Sněhová vločka v bublině</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-snehova-vlocka-v-bubline/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2026/01/zimni-omalovanka-vlocka-v-bubline.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka Tří králové</title>
		<link>https://snilkuvsvet.cz/omalovanka-tri-kralove/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-tri-kralove/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Sat, 03 Jan 2026 21:56:11 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Tři králové]]></category>
		<category><![CDATA[Vánoce]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2941</guid>

					<description><![CDATA[<p>Tři králové jsou krásným závěrem Vánoc. Chvíle, kdy se svět po svátečním shonu zpomalí a člověk má chuť si jen uvařit čaj a nechat děti tvořit. Tato omalovánka má jednoduché černobílé linie bez stínování, aby se dobře tiskla na A4 a děti si ji mohly vybarvit úplně podle sebe.</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-tri-kralove/">Omalovánka Tří králové</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Tři králové jsou krásným <strong>závěrem Vánoc</strong>. Chvíle, kdy se svět po svátečním shonu zpomalí a člověk má chuť si jen uvařit čaj a nechat děti tvořit. Tato omalovánka má jednoduché černobílé linie bez stínování, aby se dobře tiskla na A4 a děti si ji mohly vybarvit úplně podle sebe.</p>



        <div id="ss-omalovanka-89e346c7-a299-4988-9d49-df0a62cde394" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2026/01/omalovanka-tri-kralove-a4-lineart.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2026/01/omalovanka-tri-kralove-a4-lineart.jpg"
             alt="Tři králové – omalovánka"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2026/01/omalovanka-tri-kralove-a4-lineart.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-89e346c7-a299-4988-9d49-df0a62cde394');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-tri-kralove/">Omalovánka Tří králové</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-tri-kralove/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2026/01/omalovanka-tri-kralove-a4-lineart.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Veselé Vánoce ze Snílkova světa</title>
		<link>https://snilkuvsvet.cz/vesele-vanoce-ze-snilkova-sveta/</link>
					<comments>https://snilkuvsvet.cz/vesele-vanoce-ze-snilkova-sveta/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Wed, 24 Dec 2025 09:18:43 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Snílek]]></category>
		<category><![CDATA[Vánoce]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2812</guid>

					<description><![CDATA[<p>Dnes jsou Vánoce a ve Snílkově světě je cítit radost na každém kroku. Skřítci pobíhají kolem stromečku, věší světýlka a připravují poslední dárky. Stejně jako u vás, i u nás vrcholí přípravy těsně před Štědrým večerem. Když se ještě něco dodělává, někdo se zamotá do řetězu a někdo si tajně ukusuje cukroví. Stačí vzít pastelky...</p>
<p>Článek <a href="https://snilkuvsvet.cz/vesele-vanoce-ze-snilkova-sveta/">Veselé Vánoce ze Snílkova světa</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Dnes jsou Vánoce a ve Snílkově světě je cítit radost na každém kroku. Skřítci pobíhají kolem stromečku, věší světýlka a připravují poslední dárky. </p>



<p class="wp-block-paragraph">Stejně jako u vás, i u nás vrcholí přípravy těsně před Štědrým večerem. Když se ještě něco dodělává, někdo se zamotá do řetězu a někdo si tajně ukusuje cukroví. Stačí vzít pastelky a na chvíli se stát<strong> součástí našich příprav</strong>.</p>



<p class="wp-block-paragraph">Krásné a pohádkové Vánoce přeje skřítek Snílek a všichni pomocníčci ze Snílkova světa!</p>



        <div id="ss-omalovanka-34601f66-5d17-4bad-ad04-1dd4a0c86820" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/vesele-vanoce-omalovanka.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/12/vesele-vanoce-omalovanka.jpg"
             alt="Veselé Vánoce ze Snílkova světa"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/vesele-vanoce-omalovanka.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-34601f66-5d17-4bad-ad04-1dd4a0c86820');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/vesele-vanoce-ze-snilkova-sveta/">Veselé Vánoce ze Snílkova světa</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/vesele-vanoce-ze-snilkova-sveta/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/12/vesele-vanoce-omalovanka.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka soba v zimní krajině</title>
		<link>https://snilkuvsvet.cz/omalovanka-soba-v-zimni-krajine/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-soba-v-zimni-krajine/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Sun, 21 Dec 2025 12:19:24 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky podle pohádek Snílkova světa]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Omalovánky zvířat]]></category>
		<category><![CDATA[Poznáváme svět]]></category>
		<category><![CDATA[Severské pohádky]]></category>
		<category><![CDATA[Vánoce]]></category>
		<category><![CDATA[Život zvířat]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2767</guid>

					<description><![CDATA[<p>Sob je skutečný král zimy. Hustý kožíšek a chytrá kopýtka ho bezpečně provedou zasněženou krajinou. V této omalovánce se s ním děti mohou projít tichým zimním lesem, popustit uzdu fantazii a vybarvit soba přesně tak, jak si ho představují. Omalovánka je vhodná pro klidné tvoření doma i jako doplněk k vyprávění o zvířatech severu. Při...</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-soba-v-zimni-krajine/">Omalovánka soba v zimní krajině</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Sob je skutečný král zimy. Hustý kožíšek a chytrá kopýtka ho bezpečně provedou zasněženou krajinou. V této omalovánce se s ním děti mohou projít tichým zimním lesem, popustit uzdu fantazii a vybarvit soba přesně tak, jak si ho představují. Omalovánka je vhodná pro klidné tvoření doma i jako doplněk k vyprávění o zvířatech severu.</p>



<p class="wp-block-paragraph">Při vybarvování si možná děti položí otázku: <em>Kam sob kráčí? Čím se živí? A proč mu nekloužou nohy na sněhu?</em> Odpovědi najdete v našem <strong>pohádkově-naučném článku o sobovi</strong>, který přibližuje jeho život na severu, rodinu, parohy i to, jak pomáhá lidem se saněmi.<br>👉 <strong><a href="https://snilkuvsvet.cz/sob-velikan-severu-s-teplymi-kopytky/">Přečíst si příběh a zajímavosti o sobovi</a></strong></p>



        <div id="ss-omalovanka-7bb427ca-c6f9-477c-b6e8-c0f4a32950fe" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-soba-v-zasnezene-krajine.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-soba-v-zasnezene-krajine.jpg"
             alt="Omalovánka - sob v zimní krajině"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-soba-v-zasnezene-krajine.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-7bb427ca-c6f9-477c-b6e8-c0f4a32950fe');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-soba-v-zimni-krajine/">Omalovánka soba v zimní krajině</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-soba-v-zimni-krajine/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-soba-v-zasnezene-krajine.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka &#8211; vánoční dílna skřítků</title>
		<link>https://snilkuvsvet.cz/omalovanka-vanocni-dilna-skritku/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-vanocni-dilna-skritku/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Sat, 20 Dec 2025 21:31:11 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Skřítci]]></category>
		<category><![CDATA[Vánoce]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2746</guid>

					<description><![CDATA[<p>V kouzelné vánoční dílně je rušno. Skřítci mají plné ruce práce, protože Vánoce se blíží. Hodí se pro menší i větší děti, které si chtějí v klidu vybarvovat, vymýšlet vlastní barvy dárků a představovat si, komu asi skřítci tyto poklady chystají. Stačí vytisknout a vzít do ruky pastelky nebo fixy.</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-vanocni-dilna-skritku/">Omalovánka &#8211; vánoční dílna skřítků</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">V kouzelné vánoční dílně je rušno. Skřítci mají plné ruce práce, protože Vánoce se blíží. Hodí se pro menší i větší děti, které si chtějí v klidu vybarvovat, vymýšlet vlastní barvy dárků a představovat si, komu asi skřítci tyto poklady chystají.</p>



<p class="wp-block-paragraph">Stačí vytisknout a vzít do ruky pastelky nebo fixy.</p>



        <div id="ss-omalovanka-70067016-5393-463f-b9aa-caf727ca120a" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-santova-dilna-vyroba-hracek.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-santova-dilna-vyroba-hracek.jpg"
             alt="Omalovánka - kouzelná krajina"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-santova-dilna-vyroba-hracek.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-70067016-5393-463f-b9aa-caf727ca120a');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-vanocni-dilna-skritku/">Omalovánka &#8211; vánoční dílna skřítků</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-vanocni-dilna-skritku/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-santova-dilna-vyroba-hracek.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka dětí stavějícího sněhuláka</title>
		<link>https://snilkuvsvet.cz/omalovanka-deti-stavejiciho-snehulaka/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-deti-stavejiciho-snehulaka/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Mon, 15 Dec 2025 22:51:21 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Vánoce]]></category>
		<category><![CDATA[Zima]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2416</guid>

					<description><![CDATA[<p>Čekání na Ježíška se může zdát nekonečné, hlavně těm nejmenším. Aby ten čas rychleji utíkal, máme pro vás další přírůstek do naší série vánočních omalovánek.</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-deti-stavejiciho-snehulaka/">Omalovánka dětí stavějícího sněhuláka</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Čekání na Ježíška se může zdát nekonečné, hlavně těm nejmenším. Aby ten čas rychleji utíkal, máme pro vás další přírůstek do naší série vánočních omalovánek.</p>



        <div id="ss-omalovanka-7e424173-f21b-43b2-8473-93a001895f7c" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-deti-stavejici-snehulaka.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-deti-stavejici-snehulaka.jpg"
             alt="Omalovánka dětí stavějícího sněhuláka"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-deti-stavejici-snehulaka.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-7e424173-f21b-43b2-8473-93a001895f7c');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-deti-stavejiciho-snehulaka/">Omalovánka dětí stavějícího sněhuláka</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-deti-stavejiciho-snehulaka/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-deti-stavejici-snehulaka.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka andělíčka svítícího na cestu do kostela</title>
		<link>https://snilkuvsvet.cz/omalovanka-andelicka-sviticiho-na-cestu-do-kostela/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-andelicka-sviticiho-na-cestu-do-kostela/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Sun, 14 Dec 2025 21:29:24 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Vánoce]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2488</guid>

					<description><![CDATA[<p>V čase Vánoc si vytiskněte a vybarvěte omalovánku se sváteční atmosférou. Představujeme vám roztomilého Andělíčka, který s lucernou v ruce doprovází rodinku na cestě do kostela, zatímco se kolem snáší sníh. Vezměte si pastelky nebo fixy a vdechněte život zasněžené krajině a záři luceren. Je to krásný způsob, jak si připomenout pravý význam Vánoc.</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-andelicka-sviticiho-na-cestu-do-kostela/">Omalovánka andělíčka svítícího na cestu do kostela</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">V čase Vánoc si vytiskněte a vybarvěte omalovánku se sváteční atmosférou. Představujeme vám <strong>roztomilého Andělíčka</strong>, který s lucernou v ruce doprovází rodinku na cestě do kostela, zatímco se kolem snáší sníh. </p>



<p class="wp-block-paragraph">Vezměte si pastelky nebo fixy a vdechněte život zasněžené krajině a záři luceren. Je to krásný způsob, jak si připomenout pravý význam Vánoc.</p>



        <div id="ss-omalovanka-a1da2f65-169c-4a7d-ae4c-4f8e2ca2d4fc" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-cesta-do-kostela-s-andelickem.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-cesta-do-kostela-s-andelickem.jpg"
             alt="Omalovánka andělíčka svícího na cestu"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-cesta-do-kostela-s-andelickem.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-a1da2f65-169c-4a7d-ae4c-4f8e2ca2d4fc');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-andelicka-sviticiho-na-cestu-do-kostela/">Omalovánka andělíčka svítícího na cestu do kostela</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-andelicka-sviticiho-na-cestu-do-kostela/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-cesta-do-kostela-s-andelickem.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka Santových skřítků a sobíků</title>
		<link>https://snilkuvsvet.cz/omalovanka-santovych-skritku-a-sobiku/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-santovych-skritku-a-sobiku/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Fri, 12 Dec 2025 18:22:04 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Skřítci]]></category>
		<category><![CDATA[Vánoce]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2498</guid>

					<description><![CDATA[<p>Máme tu pro vás další extra porci vánoční nálady. Tentokrát přinášíme omalovánku plnou svátečního shonu. Najdete na ni shon veselých Santových skřítků a hravých sobíků, kteří se chystají na rozvoz dárečků. Stiahnite, vytlačte a nechajte deti, nech túto vianočnú scénu oživia pestrými farbami.</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-santovych-skritku-a-sobiku/">Omalovánka Santových skřítků a sobíků</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Máme tu pro vás další extra porci vánoční nálady. Tentokrát přinášíme omalovánku plnou svátečního shonu. Najdete na ni shon veselých <strong>Santových </strong>skřítků a hravých <strong>sobík</strong>ů, kteří se chystají na rozvoz dárečků.</p>



<p class="wp-block-paragraph">Stiahnite, vytlačte a nechajte deti, nech túto vianočnú scénu oživia pestrými farbami.</p>



        <div id="ss-omalovanka-854670e8-f35a-4505-9f63-5df636bbc1f2" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-skritci-se-soby-se-pripravuji-na-vanoce.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-skritci-se-soby-se-pripravuji-na-vanoce.jpg"
             alt="Omalovánka skřítků a sobíků"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-skritci-se-soby-se-pripravuji-na-vanoce.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-854670e8-f35a-4505-9f63-5df636bbc1f2');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-santovych-skritku-a-sobiku/">Omalovánka Santových skřítků a sobíků</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-santovych-skritku-a-sobiku/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-skritci-se-soby-se-pripravuji-na-vanoce.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka veselého sobíka</title>
		<link>https://snilkuvsvet.cz/omalovanka-veseleho-sobika/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-veseleho-sobika/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Thu, 11 Dec 2025 07:34:36 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Omalovánky zvířat]]></category>
		<category><![CDATA[Omalovánky pro nejmenší]]></category>
		<category><![CDATA[Vánoce]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2494</guid>

					<description><![CDATA[<p>Máme tu pro vás další vánoční omalovánku, tentokrát navrženou speciálně pro děti kolem 5 let. Představujeme vám veselého sobíka s velkými, jasnými plochami, který je ideální pro první malování. Omalovánka je ve formátu A4 na výšku. Stačí kliknout, stáhnout a vytisknout. Nechte děti, ať sobíkovi dodají ty nejkrásnější barvy! Těšíme se na vaše sobí kamarády!</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-veseleho-sobika/">Omalovánka veselého sobíka</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Máme tu pro vás další vánoční omalovánku, tentokrát navrženou speciálně pro <strong>děti kolem 5 let</strong>. Představujeme vám <strong>veselého sobíka</strong> s velkými, jasnými plochami, který je ideální pro první malování.</p>



<p class="wp-block-paragraph">Omalovánka je ve <strong>formátu A4 na výšku</strong>. Stačí kliknout, stáhnout a vytisknout. Nechte děti, ať sobíkovi dodají ty nejkrásnější barvy! Těšíme se na vaše sobí kamarády!</p>



        <div id="ss-omalovanka-da283a5d-995b-40ba-be96-25f89388e711" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-soba-pro-nejmensi.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-soba-pro-nejmensi.jpg"
             alt="Omalovánka vánočního soba"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-soba-pro-nejmensi.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-da283a5d-995b-40ba-be96-25f89388e711');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<p class="wp-block-paragraph"></p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-veseleho-sobika/">Omalovánka veselého sobíka</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-veseleho-sobika/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-soba-pro-nejmensi.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka andělíčka s hvězdou</title>
		<link>https://snilkuvsvet.cz/omalovanka-andelicka-s-hvezdou/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-andelicka-s-hvezdou/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Wed, 10 Dec 2025 10:54:03 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky pohádkových bytostí]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Omalovánky pro nejmenší]]></category>
		<category><![CDATA[Vánoce]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2485</guid>

					<description><![CDATA[<p>Máme tu pro vás omalovánku plnou vánoční nálady, která je navržená speciálně pro naše nejmenší umělce (4-5 let). Tento roztomilý Andělíček má jednoduché, velké plochy a silné obrysy, aby se dětem snadno vybarvovalo bez přetahování. Jakou barvu dají děti Andělíčkovi na křídla? Nebojte se experimentovat se třpytkami!</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-andelicka-s-hvezdou/">Omalovánka andělíčka s hvězdou</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Máme tu pro vás omalovánku plnou vánoční nálady, která je navržená speciálně pro naše <strong>nejmenší umělce (4-5 let)</strong>. Tento <strong>roztomilý Andělíček</strong> má jednoduché, velké plochy a silné obrysy, aby se dětem snadno vybarvovalo bez přetahování.</p>



<p class="wp-block-paragraph">Jakou barvu dají děti Andělíčkovi na křídla? Nebojte se experimentovat se třpytkami!</p>



        <div id="ss-omalovanka-39d55450-efe8-4606-ad0f-bb955b6ea386" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-andelicka-s-hvezdickou.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-andelicka-s-hvezdickou.jpg"
             alt="Omalovánka andělíčka s hvězdou"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-andelicka-s-hvezdickou.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-39d55450-efe8-4606-ad0f-bb955b6ea386');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-andelicka-s-hvezdou/">Omalovánka andělíčka s hvězdou</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-andelicka-s-hvezdou/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-andelicka-s-hvezdickou.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka vánoční pohody u krbu</title>
		<link>https://snilkuvsvet.cz/omalovanka-vanocni-pohody-u-krbu/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-vanocni-pohody-u-krbu/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Tue, 09 Dec 2025 12:43:44 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Vánoce]]></category>
		<category><![CDATA[Zima]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2413</guid>

					<description><![CDATA[<p>Adventní čas letí jako voda a děti už nedočkavě vyhlížejí Ježíška? Pokud už máte naši předchozí vánoční omalovánku perníčků vybarvenou, máme pro vás další vánoční motiv, který čeká jen na vaše pastelky a barvičky.</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-vanocni-pohody-u-krbu/">Omalovánka vánoční pohody u krbu</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Adventní čas letí jako voda a děti už nedočkavě vyhlížejí Ježíška? Pokud už máte naši předchozí <a href="https://snilkuvsvet.cz/omalovanka-pernicku-na-plechu/"><strong>vánoční omalovánku perníčků </strong></a>vybarvenou, máme pro vás další vánoční motiv, který čeká jen na vaše pastelky a barvičky.</p>



        <div id="ss-omalovanka-385817b6-4114-4d5f-9548-4fd28d834bf0" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-vanocni-pohoda-u-krbu.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-vanocni-pohoda-u-krbu.jpg"
             alt="Omalovánka vánoční pohody"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-vanocni-pohoda-u-krbu.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-385817b6-4114-4d5f-9548-4fd28d834bf0');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-vanocni-pohody-u-krbu/">Omalovánka vánoční pohody u krbu</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-vanocni-pohody-u-krbu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-vanocni-pohoda-u-krbu.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka perníčků na plechu</title>
		<link>https://snilkuvsvet.cz/omalovanka-pernicku-na-plechu/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-pernicku-na-plechu/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Mon, 08 Dec 2025 09:43:55 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Sladkosti]]></category>
		<category><![CDATA[Vánoce]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2410</guid>

					<description><![CDATA[<p>Cítíte tu vůni koření a medu? Vánoční přípravy jsou v plném proudu, ale je důležité najít si chvilku i na odpočinek. Připravili jsme pro vás novou, čistou omalovánku s motivem čerstvě nazdobených perníčků na plechu. Stačí vytisknout, uvařit si horké kakao a pustit se do zdobení – tentokrát bez mouky v celé kuchyni!</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-pernicku-na-plechu/">Omalovánka perníčků na plechu</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Cítíte tu vůni koření a medu? Vánoční přípravy jsou v plném proudu, ale je důležité najít si chvilku i na odpočinek. Připravili jsme pro vás novou, čistou omalovánku s motivem čerstvě nazdobených perníčků na plechu.</p>



<p class="wp-block-paragraph">Stačí vytisknout, uvařit si horké kakao a pustit se do zdobení – tentokrát bez mouky v celé kuchyni!</p>



        <div id="ss-omalovanka-e6e98242-d42d-48ed-9075-abb51ad9579d" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-pernicky-na-plechu.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-pernicky-na-plechu.jpg"
             alt="Omalovánka perníčky"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-pernicky-na-plechu.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-e6e98242-d42d-48ed-9075-abb51ad9579d');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-pernicku-na-plechu/">Omalovánka perníčků na plechu</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-pernicku-na-plechu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-pernicky-na-plechu.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka perníkového domečku</title>
		<link>https://snilkuvsvet.cz/omalovanka-pernikoveho-domecku/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-pernikoveho-domecku/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Thu, 04 Dec 2025 20:29:18 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Sladkosti]]></category>
		<category><![CDATA[Vánoce]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2293</guid>

					<description><![CDATA[<p>Co by byly ty naše Vánoce bez krásně a barevně nazdobeného perníkového domečku? Ještě než se pustíte doma do společného pečení a zdobení domečku z voňavého perníku, můžete si zatím vybarvit ten náš.</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-pernikoveho-domecku/">Omalovánka perníkového domečku</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Co by byly ty naše Vánoce bez krásně a barevně nazdobeného perníkového domečku? Ještě než se pustíte doma do společného pečení a zdobení domečku z voňavého perníku, můžete si zatím vybarvit ten náš.</p>



        <div id="ss-omalovanka-c349c6dc-73a6-44cd-8972-1f1a0707219e" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-rozkosny-pernikovy-domecek-kolem-ktereho-lezi-nekolik-neozdobenych-pernicku-cekajicich-na-svuj-tah.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-rozkosny-pernikovy-domecek-kolem-ktereho-lezi-nekolik-neozdobenych-pernicku-cekajicich-na-svuj-tah.jpg"
             alt="Omalovánka perníkového domečku"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-rozkosny-pernikovy-domecek-kolem-ktereho-lezi-nekolik-neozdobenych-pernicku-cekajicich-na-svuj-tah.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-c349c6dc-73a6-44cd-8972-1f1a0707219e');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-pernikoveho-domecku/">Omalovánka perníkového domečku</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-pernikoveho-domecku/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-rozkosny-pernikovy-domecek-kolem-ktereho-lezi-nekolik-neozdobenych-pernicku-cekajicich-na-svuj-tah.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka Mikulášská nadílka s koláči</title>
		<link>https://snilkuvsvet.cz/omalovanka-mikulasska-nadilka-s-kolaci/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-mikulasska-nadilka-s-kolaci/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Tue, 02 Dec 2025 11:52:00 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Vánoce]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2262</guid>

					<description><![CDATA[<p>Než nastanou ty pravé Vánoce a budou se rozdávat dárky, přichází za námi Mikuláš. Zkraťte si čekání na něj krásnou vánoční omalovánkou inspirovanou jednou z nejmilejších mikulášských písniček: Mik, Miku, Mikuláš, přišel s čertem na koláč&#8230; 🎶 Zazpívejte si celou písničku! Chcete se omalovánkou inspirovat a naučit se i celou písničku, kterou pak můžete zazpívat...</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-mikulasska-nadilka-s-kolaci/">Omalovánka Mikulášská nadílka s koláči</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Než nastanou ty pravé Vánoce a budou se rozdávat dárky, přichází za námi Mikuláš. Zkraťte si čekání na něj krásnou <strong>vánoční omalovánkou</strong> inspirovanou jednou z nejmilejších mikulášských písniček: <strong><em>Mik, Miku, Mikuláš, přišel s čertem na koláč&#8230;</em></strong></p>



<h4 class="wp-block-heading">🎶 <strong>Zazpívejte si celou písničku!</strong></h4>



<p class="wp-block-paragraph">Chcete se omalovánkou inspirovat a naučit se i celou písničku, kterou pak můžete zazpívat Mikulášovi a jeho doprovodu, až dorazí i k vám? </p>



<p class="wp-block-paragraph">Chcete si zazpívat celou písničku? U nás také <strong>celý text i s notami</strong>! Podívejte se tady:</p>



<p class="wp-block-paragraph">👉 <a href="https://snilkuvsvet.cz/zpivejte-si-pisnicku-mik-miku-mikulas-a-vybarvete-si-noty/">Písnička &#8222;<em><strong>Mik, Miku, Mikuláš přišel s čertem na koláč</strong></em>&#8220; s notami a obrázkem k vytištění.</a></p>



        <div id="ss-omalovanka-9a0f236f-1d37-413f-ab77-bfa84ee55fa7" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-mikulas-prisel-s-certem-na-kolac.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-mikulas-prisel-s-certem-na-kolac.jpg"
             alt="Omalovánka Mikulášská nadílka s koláči"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-mikulas-prisel-s-certem-na-kolac.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-9a0f236f-1d37-413f-ab77-bfa84ee55fa7');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<p class="wp-block-paragraph"><strong>Stáhněte si omalovánku, vezměte do ruky pastelky a užijte si mikulášské tvoření!</strong></p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-mikulasska-nadilka-s-kolaci/">Omalovánka Mikulášská nadílka s koláči</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-mikulasska-nadilka-s-kolaci/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/12/omalovanka-mikulas-prisel-s-certem-na-kolac.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka vánočního stromečku s dárky</title>
		<link>https://snilkuvsvet.cz/omalovanka-vanocniho-stromecku-s-darkami/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-vanocniho-stromecku-s-darkami/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Tue, 25 Nov 2025 08:33:44 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Vybarvi, vystřihni a sestav]]></category>
		<category><![CDATA[DIY projekty]]></category>
		<category><![CDATA[Vánoce]]></category>
		<category><![CDATA[Vystřihování]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2179</guid>

					<description><![CDATA[<p>Cítíte už tu pravou vánoční atmosféru? Nastal čas na tvoření s dětmi! Máme pro vás omalovánku vánočního stromečku k okamžitému stažení. Nechte děti vybrat ty nejkrásnější barvy, vystřihněte hotové dílo a společně ho nalepte na okno. Přineste tak vánoční kouzlo i do vašeho domova!</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-vanocniho-stromecku-s-darkami/">Omalovánka vánočního stromečku s dárky</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Cítíte už tu pravou <strong>vánoční atmosféru</strong>? Nastal čas na <strong>tvoření s dětmi</strong>! Máme pro vás <strong>omalovánku vánočního stromečku</strong> k okamžitému stažení. Nechte děti vybrat ty nejkrásnější barvy, vystřihněte hotové dílo a společně ho nalepte na okno. Přineste tak <strong>vánoční kouzlo</strong> i do vašeho domova!</p>



        <div id="ss-omalovanka-42a0f2a6-ed94-4e7f-bae3-afd50b507dfe" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-vanocni-stromecek-s-darky.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-vanocni-stromecek-s-darky.jpg"
             alt="Omalovánka vánočního stromečku "
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-vanocni-stromecek-s-darky.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-42a0f2a6-ed94-4e7f-bae3-afd50b507dfe');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-vanocniho-stromecku-s-darkami/">Omalovánka vánočního stromečku s dárky</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-vanocniho-stromecku-s-darkami/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-vanocni-stromecek-s-darky.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka zasněžené vesničky s dětmi a sněhulákem</title>
		<link>https://snilkuvsvet.cz/omalovanka-zasnezene-vesnicky-s-detmi-a-snehulakem/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-zasnezene-vesnicky-s-detmi-a-snehulakem/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Mon, 24 Nov 2025 12:47:25 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky s dětmi]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Vánoce]]></category>
		<category><![CDATA[Zima]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2175</guid>

					<description><![CDATA[<p>Stáhněte si zdarma omalovánku zasněžené vesničky. Klidná zimní krajina s chaloupkami pokrytými sněhem a dětmi stavějícími sněhuláka zabaví děti a navodí zimní atmosféru.</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-zasnezene-vesnicky-s-detmi-a-snehulakem/">Omalovánka zasněžené vesničky s dětmi a sněhulákem</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Stáhněte si zdarma omalovánku zasněžené vesničky. Klidná zimní krajina s chaloupkami pokrytými sněhem a dětmi stavějícími sněhuláka zabaví děti a navodí zimní atmosféru.</p>



        <div id="ss-omalovanka-d17c59d5-2f19-4336-9579-dab17eb65194" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-zasnezena-vesnicka.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-zasnezena-vesnicka.jpg"
             alt="Zasněžená vesnička"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-zasnezena-vesnicka.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-d17c59d5-2f19-4336-9579-dab17eb65194');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-zasnezene-vesnicky-s-detmi-a-snehulakem/">Omalovánka zasněžené vesničky s dětmi a sněhulákem</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-zasnezene-vesnicky-s-detmi-a-snehulakem/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-zasnezena-vesnicka.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Zimní omalovánka s veverkou</title>
		<link>https://snilkuvsvet.cz/zimni-omalovanka-s-veverkou/</link>
					<comments>https://snilkuvsvet.cz/zimni-omalovanka-s-veverkou/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Sun, 23 Nov 2025 09:19:56 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Omalovánky zvířat]]></category>
		<category><![CDATA[V lese]]></category>
		<category><![CDATA[Vánoce]]></category>
		<category><![CDATA[Zima]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=2158</guid>

					<description><![CDATA[<p>Zastavte se na chvíli v tichém zimním lese a nechte děti vybarvit veselou veverku ve sněhu. Zimní omalovánka na A4 zabaví malé malíře a podpoří jejich fantazii.</p>
<p>Článek <a href="https://snilkuvsvet.cz/zimni-omalovanka-s-veverkou/">Zimní omalovánka s veverkou</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Zastavte se na chvíli v tichém zimním lese a nechte děti vybarvit veselou veverku ve sněhu. Zimní omalovánka na A4 zabaví malé malíře a podpoří jejich fantazii.</p>



        <div id="ss-omalovanka-2034b8b1-1fcb-4e50-b44f-e55b20cda717" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/zimni-omalovanka-veverka-ve-snehu-a4.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/zimni-omalovanka-veverka-ve-snehu-a4.jpg"
             alt="Omalovánka traktor na farmě"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/zimni-omalovanka-veverka-ve-snehu-a4.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-2034b8b1-1fcb-4e50-b44f-e55b20cda717');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    
<p>Článek <a href="https://snilkuvsvet.cz/zimni-omalovanka-s-veverkou/">Zimní omalovánka s veverkou</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/zimni-omalovanka-s-veverkou/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/11/zimni-omalovanka-veverka-ve-snehu-a4.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánkový kalendář 2026 k vytištění</title>
		<link>https://snilkuvsvet.cz/omalovankovy-kalendar-2026-k-vytisteni/</link>
					<comments>https://snilkuvsvet.cz/omalovankovy-kalendar-2026-k-vytisteni/#comments</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Sat, 15 Nov 2025 18:05:43 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Vybarvi, vystřihni a sestav]]></category>
		<category><![CDATA[DIY projekty]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=1952</guid>

					<description><![CDATA[<p>Připravili jsme pro vás celý omalovánkový kalendář 2026, který si můžete jednoduše vytisknout a společně s dětmi vybarvit. Každý měsíc má vlastní roztomilou ilustraci, takže si během tvoření užijete spoustu klidných chvilek i barevné fantazie. Pokud chcete vidět podrobný návod krok za krokem, najdete ho tady:👉 Vytvořte si vlastní omalovánkový kalendář 2026 Přejeme vám spoustu...</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovankovy-kalendar-2026-k-vytisteni/">Omalovánkový kalendář 2026 k vytištění</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Připravili jsme pro vás celý omalovánkový kalendář 2026, který si můžete jednoduše vytisknout a společně s dětmi vybarvit. Každý měsíc má vlastní roztomilou ilustraci, takže si během tvoření užijete spoustu klidných chvilek i barevné fantazie.</p>



<p class="wp-block-paragraph">Pokud chcete vidět podrobný návod krok za krokem, najdete ho tady:<br>👉 <a href="https://snilkuvsvet.cz/vytvorte-si-vlastni-omalovankovy-kalendar-2026/"><strong>Vytvořte si vlastní omalovánkový kalendář 2026</strong></a></p>



        <div id="ss-omalovanka-40e71701-9e1c-43c3-9c78-3f5faa327d01" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026.jpg"
             alt="Kalendar 2026"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-40e71701-9e1c-43c3-9c78-3f5faa327d01');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<hr class="wp-block-separator has-alpha-channel-opacity"/>



        <div id="ss-omalovanka-a2095638-b8d9-4f3b-ab07-0c066548b0c7" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-leden.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-leden.jpg"
             alt="Leden"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-leden.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-a2095638-b8d9-4f3b-ab07-0c066548b0c7');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<hr class="wp-block-separator has-alpha-channel-opacity"/>



        <div id="ss-omalovanka-92be987d-9ccf-4f0a-8f2d-cd77f72a9e2f" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-unor.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-unor.jpg"
             alt="Únor"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-unor.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-92be987d-9ccf-4f0a-8f2d-cd77f72a9e2f');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<hr class="wp-block-separator has-alpha-channel-opacity"/>



        <div id="ss-omalovanka-4e0f78ec-c520-4156-a68e-b4c9c4438697" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-brezen.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-brezen.jpg"
             alt="Březen"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-brezen.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-4e0f78ec-c520-4156-a68e-b4c9c4438697');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<hr class="wp-block-separator has-alpha-channel-opacity"/>



        <div id="ss-omalovanka-731e7ec9-2543-459b-bb53-fc543a61908e" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-duben.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-duben.jpg"
             alt="Duben"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-duben.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-731e7ec9-2543-459b-bb53-fc543a61908e');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<hr class="wp-block-separator has-alpha-channel-opacity"/>



        <div id="ss-omalovanka-fcee2d2c-c541-40f6-bebb-70e7a64383df" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-kveten.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-kveten.jpg"
             alt="Květen"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-kveten.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-fcee2d2c-c541-40f6-bebb-70e7a64383df');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<hr class="wp-block-separator has-alpha-channel-opacity"/>



        <div id="ss-omalovanka-f0bbca6c-2798-4b59-85f5-b1f8ddbfb328" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-cerven.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-cerven.jpg"
             alt="Červen"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-cerven.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-f0bbca6c-2798-4b59-85f5-b1f8ddbfb328');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<hr class="wp-block-separator has-alpha-channel-opacity"/>



        <div id="ss-omalovanka-df31aa27-613e-4295-894c-614db73cefca" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-cervenec.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-cervenec.jpg"
             alt="Červenec"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-cervenec.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-df31aa27-613e-4295-894c-614db73cefca');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<hr class="wp-block-separator has-alpha-channel-opacity"/>



        <div id="ss-omalovanka-1e2608b7-a05f-4daa-a3f9-9ecb4084e3c1" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-srpen.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-srpen.jpg"
             alt="Srpen"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-srpen.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-1e2608b7-a05f-4daa-a3f9-9ecb4084e3c1');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<hr class="wp-block-separator has-alpha-channel-opacity"/>



        <div id="ss-omalovanka-5077af51-4713-4fe9-a62a-92b97f5f7f0c" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-zari.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-zari.jpg"
             alt="Září"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-zari.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-5077af51-4713-4fe9-a62a-92b97f5f7f0c');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<hr class="wp-block-separator has-alpha-channel-opacity"/>



        <div id="ss-omalovanka-e12f905f-3218-4ded-ac37-bd5e6f0476d7" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-rijen.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-rijen.jpg"
             alt="Říjen"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-rijen.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-e12f905f-3218-4ded-ac37-bd5e6f0476d7');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<hr class="wp-block-separator has-alpha-channel-opacity"/>



        <div id="ss-omalovanka-b66dd208-8565-4f06-925b-ee7a840f2da1" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-listopad.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-listopad.jpg"
             alt="Listopad"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-listopad.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-b66dd208-8565-4f06-925b-ee7a840f2da1');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<hr class="wp-block-separator has-alpha-channel-opacity"/>



        <div id="ss-omalovanka-9c0944cb-9109-40ea-958f-13fab7eecd17" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-prosinec-1.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-prosinec-1.jpg"
             alt="Prosinec"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/omalovanka-kalendar-2026-prosinec-1.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-9c0944cb-9109-40ea-958f-13fab7eecd17');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">Přejeme vám spoustu radosti z vybarvování a krásné barevné chvíle po celý rok.</p>



<p class="wp-block-paragraph"></p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovankovy-kalendar-2026-k-vytisteni/">Omalovánkový kalendář 2026 k vytištění</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovankovy-kalendar-2026-k-vytisteni/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/11/kalendar-2026-vytisteni-1.jpg" type="image/jpeg" />
	</item>
		<item>
		<title>Omalovánka dětí zpívajících koledy</title>
		<link>https://snilkuvsvet.cz/omalovanka-deti-zpivajicich-koledy/</link>
					<comments>https://snilkuvsvet.cz/omalovanka-deti-zpivajicich-koledy/#respond</comments>
		
		<dc:creator><![CDATA[Mgr. Jana Russková]]></dc:creator>
		<pubDate>Wed, 05 Nov 2025 23:38:11 +0000</pubDate>
				<category><![CDATA[Omalovánky]]></category>
		<category><![CDATA[Omalovánky s dětmi]]></category>
		<category><![CDATA[Omalovánky zima a Vánoce]]></category>
		<category><![CDATA[Koledy]]></category>
		<category><![CDATA[Vánoce]]></category>
		<category><![CDATA[Zima]]></category>
		<guid isPermaLink="false">https://snilkuvsvet.cz/?p=1736</guid>

					<description><![CDATA[<p>Nalaďte se na vánoční atmosféru a vybarvěte si vánoční omalovánku dětí zpívajících koledu. A třeba si nějakou pak spolu i zazpívejte.</p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-deti-zpivajicich-koledy/">Omalovánka dětí zpívajících koledy</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-drop-cap wp-block-paragraph">Nalaďte se na vánoční atmosféru a vybarvěte si vánoční omalovánku dětí zpívajících koledu. A třeba si nějakou pak spolu i zazpívejte.</p>



        <div id="ss-omalovanka-20771c13-766d-4124-a7d5-315933e64729" class="ss-omalovanka" style="text-align:center;max-width:820px;margin:0 auto;">
      <!-- Ovládání (horní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/deti-zpivaji-koledy.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>
        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>

      <figure style="margin:0;">
        <img decoding="async" class="ss-omalovanka-img"
             src="https://snilkuvsvet.cz/wp-content/uploads/2025/11/deti-zpivaji-koledy.jpg"
             alt="Děti zpívají koledy"
             style="max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.08);" />
      </figure>

      <!-- Ovládání (dolní) -->
      <div class="ss-ctrls" style="display:flex;gap:12px;justify-content:center;margin:14px 0;flex-wrap:wrap;">
        <a class="ss-omalovanka-download"
           href="https://snilkuvsvet.cz/wp-content/uploads/2025/11/deti-zpivaji-koledy.jpg"
                      style="background:#f6d1f5;color:#222;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-block;">
           🖼️ Stáhnout JPG
        </a>
		  <button type="button" class="ss-omalovanka-pdf"
        style="background:#e7e0ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
  📄 Stáhnout PDF
</button>

        <button type="button" class="ss-omalovanka-print"
                style="background:#cfe8ff;color:#222;padding:10px 16px;border-radius:10px;font-weight:600;border:none;cursor:pointer;">
          🖨️ Vytisknout
        </button>
      </div>
    </div>

    <script>
    (function(){
      const root = document.getElementById('ss-omalovanka-20771c13-766d-4124-a7d5-315933e64729');
      if(!root) return;

      const img  = root.querySelector('.ss-omalovanka-img');
      const dls  = root.querySelectorAll('.ss-omalovanka-download');
      const prts = root.querySelectorAll('.ss-omalovanka-print');
	    const pdfs = root.querySelectorAll('.ss-omalovanka-pdf');

  const ajaxUrl = "https:\/\/snilkuvsvet.cz\/wp-admin\/admin-ajax.php";

  function pdfNameFromAlt(alt) {
    const base = (alt || 'Omalovanka-SnilkuvSvet')
      .trim()
      .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
      .replace(/[^a-zA-Z0-9]+/g,'-')
      .replace(/^-+|-+$/g,'');
    return (base || 'Omalovanka-SnilkuvSvet') + '.pdf';
  }

  pdfs.forEach(btn => {
    btn.addEventListener('click', function(){
      const imageUrl = img.src;

      const explicit = false;
      const desiredPdf = explicit
        ? ("" + '.pdf')
        : pdfNameFromAlt(img.alt);

      const url =
        ajaxUrl +
        '?action=ss_omalovanka_pdf' +
        '&src=' + encodeURIComponent(imageUrl) +
        '&name=' + encodeURIComponent(desiredPdf);

      window.location.href = url;
    });
  });



      function filenameFromAlt(alt, ext) {
        const base = (alt || 'Omalovanka-SnilkuvSvet')
          .trim()
          .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
          .replace(/[^a-zA-Z0-9]+/g,'-')
          .replace(/^-+|-+$/g,'');
        return (base || 'Omalovanka-SnilkuvSvet') + '.' + (ext || 'jpg');
      }

      // Stažení s hezkým názvem (ALT nebo filename="" ze shortcode)
      dls.forEach(link => {
        link.addEventListener('click', async function(e){
          e.preventDefault();
          const url = img.src;
          const explicit = false;
          const ext = (url.split('.').pop() || 'jpg').split('?')[0].toLowerCase();
          const desired = explicit ? "" : filenameFromAlt(img.alt, ext);

          try {
            const res = await fetch(url, {mode: 'cors', cache: 'no-cache'});
            const blob = await res.blob();
            const blobUrl = URL.createObjectURL(blob);
            const a = document.createElement('a');
            a.href = blobUrl; a.download = desired;
            document.body.appendChild(a); a.click(); a.remove();
            URL.revokeObjectURL(blobUrl);
          } catch(err) {
            // Fallback
            link.setAttribute('download', desired);
            window.location.href = url;
          }
        }, {passive:false});
      });

      // === TISK: pevné A4 plátno v mm (vždy 1 stránka) ===
function printOmalovanka() {
  if (!img) return;

  const imageUrl = img.src;
  const docTitle = (img.alt && img.alt.trim()) ? img.alt.trim() : 'Omalovánka';
  const PAD = 6; // mm

  // jistější zjištění orientace (když naturalWidth/Height ještě není, použijeme fallback)
  const iw = img.naturalWidth || img.width || 0;
  const ih = img.naturalHeight || img.height || 0;
  const isLandscape = iw && ih ? (iw > ih) : false;

  // A4 rozměry dle orientace
  const pageW = isLandscape ? 297 : 210;
  const pageH = isLandscape ? 210 : 297;

  const html = `
<!DOCTYPE html><html><head><meta charset="utf-8" />
<title>${docTitle}</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
  @page { size: ${pageW}mm ${pageH}mm; margin: 0; }
  html, body { height: 100%; }
  body {
    margin: 0; padding: 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: #fff !important;
  }
  .page {
    width: ${pageW}mm; height: ${pageH}mm;
    padding: ${PAD}mm;
    box-sizing: border-box;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    background: #fff !important;
  }
  .page > img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    background: #fff !important;
  }
</style>
</head>
<body>
  <div class="page">
    <img decoding="async" src="${imageUrl}" alt="${docTitle}" />
  </div>
  <script>
    document.title = ${JSON.stringify(docTitle)};
    window.onload = function(){ setTimeout(function(){ window.print(); window.close(); }, 60); };
  <\/script>
</body></html>`;

  const w = window.open('', '_blank');
  if(!w){ alert('Tisk se nepodařilo spustit. Povolte prosím vyskakovací okna.'); return; }
  w.document.write(html);
  w.document.close();
  try { w.focus(); } catch(_) {}
}


      // Klik na tlačítka „Vytisknout“
      prts.forEach(btn => btn.addEventListener('click', printOmalovanka));

      // Záchyt Ctrl/Cmd+P → použij náš tisk (jednou na stránku)
      if (!window.__ssOmalovankaCtrlPBound) {
        window.__ssOmalovankaCtrlPBound = true;
        document.addEventListener('keydown', function(e){
          const key = (e.key || '').toLowerCase();
          const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
          const combo = (key === 'p') && ((isMac && e.metaKey) || (!isMac && e.ctrlKey));
          if (combo) {
            e.preventDefault();
            e.stopPropagation();
            try { printOmalovanka(); } catch(_) {}
            return false;
          }
        }, true);
      }
    })();
    </script>
    



<p class="wp-block-paragraph"></p>
<p>Článek <a href="https://snilkuvsvet.cz/omalovanka-deti-zpivajicich-koledy/">Omalovánka dětí zpívajících koledy</a> se nejdříve objevil na <a href="https://snilkuvsvet.cz">Snilkuvsvet.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://snilkuvsvet.cz/omalovanka-deti-zpivajicich-koledy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<enclosure url="https://snilkuvsvet.cz/wp-content/uploads/2025/11/deti-zpivaji-koledy.jpg" type="image/jpeg" />
	</item>
	</channel>
</rss>
