@charset "UTF-8";

/* ==========================================================================
   PROJEKT-MARKET – základné štýly (by ShiftLAB)

   Úpravy pre jednotlivé veľkosti obrazovky sú v pm_respo.css – tam sú
   doplnky témy označené rovnakými číslami rubrík ako tu.

   OBSAH
   01. Fonty
   02. Základné (základné prvky, prístupnosť)
   03. Farby
   04. Nadpisy
   05. Medzery
   06. Kontajner
   07. Hlavička + menu (logo (animovaná rybička), admin lišta, jazykové menu)
   08. Dropdown
   09. Mobilné menu
   10. Hero – úvodný banner
   11. Novinky (domovská stránka, výpis, detail, stránkovanie)
   12. Rubriky a obsah stránok (obsah z editora, tabuľky, právne stránky, vyhľadávanie, 404)
   13. Kontakt a mapa
   14. Produkty – hlavné
   15. Produkty – podkategórie a detail produktu (kruhy, tmavá schéma, texty produktu)
   16. O nás
   17. Distribúcia – registrácia zákazníka
   18. Veľkoobchodná zóna
   19. Päta
   20. Tlačidlá (tlačidlo na začiatok stránky)
   21. Galéria a lightbox (mriežka / mozaika fotiek, fotka na celú obrazovku)
   22. Cookies – súhlas (CookiesConsentJS: lišta, nastavenia, tlačidlo)
   ========================================================================== */

/* ==========================================================================
   01. FONTY
   ========================================================================== */

@font-face {
    font-family: 'Montserrat';
    src: url('../fonty/montserrat-medium.woff2') format('woff2'),
         url('../fonty/montserrat-medium.woff') format('woff');
    font-weight: 400;
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonty/montserrat-semibold.woff2') format('woff2'),
         url('../fonty/montserrat-semibold.woff') format('woff');
    font-weight: normal;
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonty/montserrat-bold.woff2') format('woff2'),
         url('../fonty/montserrat-bold.woff') format('woff');
    font-weight: bold;
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonty/montserrat-extrabold.woff2') format('woff2'),
         url('../fonty/montserrat-extrabold.woff') format('woff');
    font-weight: bold;
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('../fonty/avenirlt-medium.woff2') format('woff2'),
         url('../fonty/avenirlt-medium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('../fonty/avenirlt-black.woff2') format('woff2'),
         url('../fonty/avenirlt-black.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

/* ==========================================================================
   02. ZÁKLADNÉ
   ========================================================================== */

body,
html {
    width: 100%;
    height: 100%;
    background: #fff;
    font: 14px "Montserrat", Helvetica, serif;
    font-weight: 400;
    color: #111b3b;
    padding: 0;
    margin: 0;
}

p {
    font: 20px/29px "Montserrat", Helvetica, serif;
    font-weight: 400;
    color: #111b3b;
    position: relative;
    z-index: 1;
    white-space: normal;
}
a,
a:visited {
    font: 13px "Montserrat", Helvetica, serif;
    font-weight: 500;
    outline: 0;
    color: #111b3b;
    -moz-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out
}
a:focus,
a:hover {
    color: #111b3b;
    text-decoration: none;
}
a[x-apple-data-detectors] {
    color: inherit !important;
    text-decoration: none !important;
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important
}
.appleLinks a {color: #111b3b}
.appleLinksWhite a {color: #111b3b}

.podciarknute {text-decoration: underline}
.vstrede {text-align: center}

/* --- Prístupnosť ----------------------------------------------------------- */

/* PROJEKT-MARKET – doplnkové štýly pre WordPress
   (pôvodné pm_zakladne.css a pm_respo.css zostávajú nezmenené) */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
    clip: auto !important;
    clip-path: none;
    color: #111b3b;
    display: block;
    font-size: 14px;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* <main> dostáva zameranie po kliknutí na „Na začiatok“ – bez rámčeka. */
#obsah:focus {
    outline: none;
}

/* --- Pomocné triedy -------------------------------------------------------- */

.pm-text-stred {
    text-align: center;
}

/* ==========================================================================
   03. FARBY
   ========================================================================== */

.pm-modra {color: #4c8cca !important}
.pm-tmavo-modra {color: #111b3b !important}
.pm-azurova {color: #7ec2c9 !important}
.text-biely {color: #fff !important}

.pm-bg-modra {background-color: #4c8cca !important}
.pm-bg-tmavo-modra {background-color: #111b3b !important}
.pm-bg-azurova {background-color: #7ec2c9 !important}
.pm-bg-biela {background-color: #fff !important}
.pm-bg-svetlosiva {background-color: #efefef}

.hajlajt {
    font-weight: 600;
    padding: .1em .35em;
    color: #fff
}

/* ==========================================================================
   04. NADPISY
   ========================================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #111b3b;
    text-rendering: optimizeLegibility;
    text-align: center;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    font-weight: inherit
}

h1, .pm-h1 {
    font: 80px 'Avenir', Helvetica, serif;
    font-weight: 700;
    color: #111b3b;
    margin-bottom: 80px;
    text-transform: uppercase;
    letter-spacing: 0.130em;
    line-height: normal;
}
.nadpis-vlnka {
    width: 211px;
    height: 27px;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="211px" height="27px"><path fill-rule="evenodd" fill="rgb(126, 194, 201)" d="M210.998,27.006 C198.453,27.006 191.911,23.558 186.139,20.517 C181.228,17.928 177.350,15.883 168.793,15.883 C160.236,15.883 156.357,17.928 151.446,20.517 C145.674,23.558 139.134,27.006 126.588,27.006 C114.043,27.006 107.503,23.558 101.732,20.517 C96.822,17.928 92.944,15.883 84.389,15.883 C75.833,15.883 71.953,17.928 67.043,20.517 C61.273,23.558 54.732,27.006 42.188,27.006 C29.644,27.006 23.103,23.558 17.332,20.517 C12.422,17.928 8.543,15.883 -0.012,15.883 L-0.012,-0.006 C12.533,-0.006 19.073,3.442 24.844,6.484 C29.754,9.072 33.633,11.117 42.188,11.117 C50.743,11.117 54.622,9.072 59.532,6.484 C65.302,3.442 71.844,-0.006 84.389,-0.006 C96.933,-0.006 103.474,3.442 109.244,6.484 C114.154,9.072 118.032,11.117 126.588,11.117 C135.145,11.117 139.023,9.072 143.934,6.484 C149.706,3.442 156.247,-0.006 168.793,-0.006 C181.339,-0.006 187.880,3.442 193.652,6.484 C198.562,9.072 202.442,11.117 210.998,11.117 L210.998,27.006 Z"/></svg>');
    margin: 0 auto;
    margin-bottom: 95px
}
h2, .pm-h2 {
    font: 70px/77px 'Avenir', Helvetica, serif;
    font-weight: 700;
    letter-spacing: 0.025em;
    margin-bottom: 40px;
}
/* SEO: nadpis môže mať inú úroveň, než akú má vzhľad.
   .pm-h1 = vyzerá ako h1 (napr. <h2 class="pm-h1"> – „Najnovšie novinky“),
   .pm-h2 = vyzerá ako h2 (napr. <h1 class="pm-h2"> – názov produktu). */
h1.pm-h2 {
    text-transform: none;
}

h3 {
    font: 50px 'Avenir', Helvetica, serif;
    font-weight: 500;
    color: #111b3b;
    margin: 34px 0 30px 0;
    line-height: auto;
}
h4 {
    font: 40px 'Montserrat', Helvetica, serif;
    font-weight: 800;
    color: #111b3b;
    margin: 25px 0 25px 0;
    line-height: auto;
}
h5 {
    font: 33px 'Montserrat', Helvetica, serif;
    line-height: auto;
    font-weight: 600;
    color: #111b3b;
    margin: 30px 0 25px 0
}
h6 {
    font: 24px/24px 'Avenir', Helvetica, serif;
    font-weight: 700;
    color: #111b3b;
    font-weight: 700;
    margin: 25px 0 25px 0
}

b,
strong {
    font-weight: bold;
    font-weight: 700;
    font-style: normal;
}

small {
    font-size: 11px;
    line-height: inherit
}

abbr {
    font-family: "Montserrat", serif;
    font-weight: 600;
    font-variant: small-caps;
    text-transform: lowercase;
    letter-spacing: .5px;
    color: #707273
}
code,
pre {
    font-family: Consolas, "Andale Mono", Courier, "Courier New", monospace
}
pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word
}
code {
    padding: 3px;
    background: #ecf0f1;
    color: #eaeaeb;
    border-radius: 3px
}
del {text-decoration: line-through}
abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}
mark {
    background: #0053a2;
    color: #fff;
}
::-moz-selection {
    background: #161616;
    color: #fff
}
::selection {
    background: #161616;
    color: #fff
}
ol,
ul {
    margin-top: 15px;
    margin-bottom: 15px
}
ul {
    list-style: disc;
    margin-left: 17px
}
dl {
    margin: 0 0 15px 0
}
dt {
    margin: 0;
    color: #1b80ff
}
dd {
    margin: 0 0 0 20px
}
img.pull-right {
    margin: 12px 0 0 18px
}
img.pull-left {
    margin: 12px 18px 0 0
}
::-webkit-input-placeholder {
    color: #161616
}
:-moz-placeholder {
    color: #161616
}
::-moz-placeholder {
    color: #161616
}
:-ms-input-placeholder {
    color: #161616
}
.placeholder {
    color: #161616 !important
}

hr {
    border-top: 2px solid #111b3b;
    width: 100%;
    margin: 20px 0 22px 0;
    height: 0;
    clear: both;
    text-align: center
}

/* ==========================================================================
   05. MEDZERY
   ========================================================================== */

.brejk {
    clear: both;
    height: 1px;
}
.b20px {
    clear: both;
    height: 20px
}
.b30px {
    clear: both;
    height: 30px
}
.b40px {
    clear: both;
    height: 40px
}
.b60px {
    clear: both;
    height: 60px
}
.b80px {
    clear: both;
    height: 80px
}
.b120px {
    clear: both;
    height: 120px
}
.b160px {
    clear: both;
    height: 80px
}

/* --- Doplnky --------------------------------------------------------------- */

.pm-odsadenie-hore {
    padding-top: 140px;
}

/* ==========================================================================
   06. KONTAJNER
   ========================================================================== */

#main-header {
    width: 100%;
    background-color: #fff;
    height: 138px;
}
.kontajner {
    position: relative;
    margin: 0 auto;
    max-width: 100%;
    padding: 0 80px 0 80px
}
.kontajner-rubriky {
    position: relative;
    margin: 0 auto;
    max-width: 100%;
}
.kontajner-produkt {
    position: relative;
    margin: 0 auto;
    max-width: 2000px
}

/* ==========================================================================
   07. HLAVIČKA + MENU
   ========================================================================== */

/* --- Hlavička a logo ------------------------------------------------------- */

header {
	margin: 0 auto;
    height: 138px;
    width: 100%;
    position: absolute;
    top: 0;
	left: 0;
    z-index: 600;
    -moz-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    -webkit-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    background-color: white;
}
header .logo {
    width: 130px;
    height: 130px;
    background: url("../media/logo/pm_logo_192x192.png") no-repeat top center;
    background-size: 130px 130px;
	margin: 0 0 0 55px;
    -moz-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    z-index: 600 !important;
}

header .logo a {
    display: block;
    border: none;
    font: 0/0 a;
    text-shadow: none;
    color: transparent;
    width: 130px;
    height: 130px;
}

/* --- Logo – animovaná rybička ---------------------------------------------- */

/* ANIMOVANÉ LOGO V HLAVIČKE
   Logo je dvojvrstvové inline SVG (media/logo/pm_logo_anim.svg):
   – spodná vrstva: pozadie, kruh a typografia (nehýbe sa),
   – vrstva #pm-rybicka: rybička, ktorá pri prejdení myšou nadskakuje.
   Animácia beží len pri hover / zameraní klávesnicou; v pokoji je logo
   statické a nič nespotrebúva. Rešpektuje aj „obmedziť pohyb“. */
header .logo.pm-logo-inline {
    background-image: none;
}

header .logo.pm-logo-inline a {
    display: block;
    position: relative;
    line-height: 0;
}

.pm-logo-svg,
.pm-logo-obrazok {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

/* Vynúti kvalitné vyhladenie vektorových hrán aj tenkého kruhového textu.
   Predvolené „auto“ dáva prehliadaču voľnosť a pri malom logu v hlavičke
   volí ostrejšie (tvrdšie) vykreslenie; geometricPrecision uprednostní
   presnosť a hladké okraje. */
.pm-logo-svg,
.pm-logo-svg * {
    shape-rendering: geometricPrecision;
    text-rendering: geometricPrecision;
}

/* Rybička
   transform-box: fill-box + transform-origin na spodnom strede znamená, že
   sa rybička pri náklone „odráža“ od hladiny, nie od rohu plátna. Hodnoty
   posunu sú vo viewBox jednotkách, takže sa škálujú spolu s veľkosťou loga.
   will-change dá prehliadaču vopred vedieť, že sa vrstva bude hýbať. */
#pm-rybicka {
    transform-box: fill-box;
    transform-origin: 50% 88%;
}

header .logo.pm-logo-inline:hover #pm-rybicka,
header .logo.pm-logo-inline:focus-within #pm-rybicka {
    will-change: transform;
    animation: pm-rybicka-skok 1.5s cubic-bezier(.34, .28, .3, 1) infinite;
}

/* Nadskakovanie: mierne podrepnutie, výskok do oblúka s náklonom,
   dopad a jemné „čľupnutie“ (squash), potom znova. */
@keyframes pm-rybicka-skok {
    0%   { transform: translateY(0)      rotate(0deg)   scaleY(1); }
    12%  { transform: translateY(3px)    rotate(0deg)   scaleY(.94); }   /* podrep pred skokom */
    40%  { transform: translateY(-26px)  rotate(-7deg)  scaleY(1.05); }  /* vrchol oblúka */
    60%  { transform: translateY(-20px)  rotate(4deg)   scaleY(1.02); }  /* prehupnutie */
    82%  { transform: translateY(2px)    rotate(1deg)   scaleY(.95); }   /* dopad – čľupnutie */
    100% { transform: translateY(0)      rotate(0deg)   scaleY(1); }
}

/* --- Admin lišta WordPressu ------------------------------------------------ */

body.admin-bar .header {
    top: 32px;
}

/* --- Horné menu ------------------------------------------------------------ */

.hornemenu {
	margin: 0 auto;
    height: 176px;
    width: 100%;
    max-width: 1000%;
    z-index: 600;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 0;
	text-align: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
    align-content: center;
    background: transparent;
	-moz-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    -webkit-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;

}
ul {
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}

.nav-menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0 0 0 0;
	text-align: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: distribute;
	justify-content: space-around;
    position: relative;
    flex-wrap: wrap;
    box-sizing: border-box;
}

.nav-menu *, .nav-menu *::before, .nav-menu *::after {
    box-sizing: border-box;
}

.nav-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-menu > ul {
    display: flex;
    justify-content:center;
    flex: 1;
    flex-wrap: wrap;
}

.nav-menu li {
    position: relative;
    list-style: none;
    height: auto;
    padding: 0 0 0 0;
}

.nav-menu > ul > li {
    position: relative;
    padding: 0 20px 0 20px;
}

.nav-menu > ul > li > a {
    font: 17px 'Avenir', Helvetica, serif;
	font-weight: bold;
	letter-spacing: 0.120em !important;
    text-transform: uppercase;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 12px 28px;
    height: 60px;
    color: #161616;
    white-space: nowrap;
    -moz-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	-webkit-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
    border: 2px solid transparent;
}
.nav-menu > ul > li > a:hover,
.nav-menu > ul > li:hover > a {
  color: #111b3b;
}

/* --- Jazykové menu --------------------------------------------------------- */

.menu-jazyky {
    display: flex;
	flex-wrap: wrap;
    flex-direction: row;
	justify-content: center;
    margin: 0 70px 0 0
}

.menu-jazyky a {
    font: 14px 'Avenir', Helvetica, serif !important;
    font-weight: bold !important;
    text-decoration: none;
    color: #111b3b
}
.jaz-tl {
    display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 0;
    margin: 0 0 0 5px;
	text-align: center;
	align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    border: 2px solid #111b3b;
        -moz-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	-webkit-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}
.jaz-tl:hover {color: #fff; background-color:#111b3b }
.jaz-tl-sel {background-color: #111b3b; color: #fff}
.jaz-tl-sel:hover {background-color: #4c8cca; border-color:#4c8cca }

/* ==========================================================================
   08. DROPDOWN
   ========================================================================== */

.nav-menu > ul > li > ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #111b3b;
    min-width: 290px;
    border-radius: 15px 15px 15px 15px;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    z-index: 1000;
    overflow: hidden;
    filter: drop-shadow(0px 13px 12px rgba(0, 0, 0, 0.6));
}
.nav-menu > ul > li:hover > ul {
    display: block;
}
.nav-menu > ul > li > ul > li > a {
    display: block;
    padding: 26px 28px;
    color: #7ec2c9;
    font: 19px 'Avenir', Helvetica, serif;
    font-weight: normal;
    letter-spacing: 0.060em !important;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.nav-menu > ul > li > ul > li > a:hover {
    background: #4c8cca;
    color: #ffffff;
}
.nav-menu > ul > li > ul > li:last-child {
    border-radius: 0 0 15px 15px;
    overflow: hidden;
    }
.nav-menu > ul > li > ul > li:last-child > a {
    border-radius: 0 0 15px 15px;
    }

.vlnka {
    text-decoration: none;
}
.vlnka:hover {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400%25' height='100%25'%3E%3Cdefs%3E%3Cstyle%3E .wave%7B animation:wave 1s ease-in-out infinite alternate; animation-delay:0s; stroke:%23111b3b; stroke-width:0.12em; stroke-linecap:square; %7D @keyframes wave%7B to%7B d:path('M 0 40 Q 20 42.5 40 40 Q 60 37.5 80 40'); %7D %7D %3C/style%3E%3C/defs%3E%3Cpattern id='wavePattern' x='0' y='0' width='80' height='80' patternUnits='userSpaceOnUse'%3E%3Cpath fill='none' class='wave' d='M 0 40 Q 20 37.5 40 40 Q 60 42.5 80 40' /%3E%3C/pattern%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='url(%23wavePattern)'%3E%3C/rect%3E%3C/svg%3E") 0px 300% / 80px 80px repeat-x;
    text-decoration: none;
    background-position: 0 4%;
}

.bodka::after {
    font: 20px 'Avenir', Helvetica, serif;
    z-index: 3;
    content:'•';
    position: absolute;
    top: 23px;
    left: calc(50% - 7px);
    color: transparent;
    -moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
.bodka:hover::after {
    color: #111b3b;
    top: 41px;
}
.hamburger {
	display: none;
	padding: 8px 8px;
	-moz-transition: color .5s all;
    -o-transition: color .5s all;
    -webkit-transition: color .5s all;
    -ms-transition: color .5s all;
    transition: color .5s all;
}
.bar {
	width: 26px;
	height: 2px;
	display: block;
	color: #111b3b;
	padding: 0;
	margin: 6px;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	background-color: #111b3b
}

/* ==========================================================================
   09. MOBILNÉ MENU
   ========================================================================== */

@media (max-width: 892px) {
    header {position: fixed;}
    a.nav-link:after, a.nav-link:before {display: none}
	header.zafarbenie2 {background:#FFF}
    header .logo {margin: 0 0 0 35px}
	.jazyky {
		margin: 0 auto;
	}
	.hamburger {display: block; margin: 0 35px 0 0}
	.active .bar:nth-child(2) {
		opacity: 0;
        background-color: #111b3b
	}
	.active .bar:nth-child(1) {
		-webkit-transform: translateY(8px) rotate(-315deg);
		transform: translateY(8px) translateX(4px) rotate(-315deg);
		width: 75%;
        background-color: #111b3b
	}
	.active .bar:nth-child(3) {
		-webkit-transform: translateY(-8px) rotate(-45deg);
		transform: translateY(-8px) translateX(4px) rotate(-45deg);
		width: 75%;
	}
	.active .bar:nth-child(1), .active .bar:nth-child(3) {margin-left: 0}
    .menu_socialne_mobilne {display: inline-block;}
	.nav-menu {
		margin: 0 auto;
		padding: 60px 0 0 0;
		width: 100%;
		height: 100vh;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		position: fixed;
		top: 0;
		right: -100%;
		-webkit-transition: 0.5s;
		transition: 0.5s;
        background: rgba(230, 230, 230, 0.66);
        border: none;
        border-radius: 0;
        backdrop-filter: blur(9.8px);
        -webkit-backdrop-filter: blur(9.8px);
        overflow-y: auto
	}
    .nav-menu::before {
        content:"";
        display: block;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        background: url("../media/pozadia/lad-textura.jpg") no-repeat center center;
        opacity: 0.3
    }
    .nav-menu > ul {
        width: 100%;
        flex-direction: column;
        z-index: 9999;
        padding: 0 0 0 0;
        overflow: hidden;
    }
    .nav-menu > ul.open { display: flex; }
    .nav-menu > ul > li > a {
        height: auto;
        padding: 14px 0;
        font: 22px 'Avenir', Helvetica, serif !important;
        font-weight: bold !important; ;
        letter-spacing: 0.060em !important;
        text-transform: uppercase;
        text-decoration: none;
        display:inline-block;
        padding: 15px 0;
        color: #121c3c;
        white-space: nowrap;
        text-align: center;
        border: 0px solid transparent;
    }
    .nav-menu > ul > li:last-child { border-radius: 0; overflow: visible; }
    .nav-menu > ul > li:last-child > a { border-radius: 0; }
    .nav-menu > ul > li > ul {
        display: block;
        position: static;
        box-shadow: none;
        border-radius: 0;
        overflow: visible;
        left: 0;
        transform: none;
        background: transparent;
        box-shadow: none;
        width: 100%;
    }
    .nav-menu > ul > li > ul > li:last-child { border-radius: 0; overflow: visible; }
    .nav-menu > ul > li > ul > li:last-child > a { border-radius: 0; }
    .nav-menu > ul > li > ul > li > a {
        padding: 5px 12px;
        color: #284969;
        font-size: 15px !important;
        font-weight: bold !important;
    }
    .nav-menu > ul > li > ul > li > a:hover {
        background: none;
        color: #161616;
    }
	.active {
		right: 0;
		z-index: 100;
		transition: 0.2s ease;
	}
    .bodka::after {display: none;}

}


/* ==========================================================================
   10. HERO – ÚVODNÝ BANNER
   ========================================================================== */

#intro {
    margin: 0 auto;
    padding: 0;
    margin-top: 176px;
    height: -webkit-calc(100vh - 176px);
    height: -moz-calc(100vh - 176px);
    height: calc(100vh - 176px);
    width: 100%;
    position: relative;
    background: #fff;
    display: flex;
    flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.intro-slider {
    background: url("../media/pozadia/pm_intro_bg.webp") no-repeat center center;
    background-size: cover;
    width: 100%;
    height: calc(100% - 30px);
    background-color: #1a3365;
    border-radius: 25px;
    margin: 0 30px 30px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center
}

.intro-nadpis {
    width: 90%;
    margin: 0 auto;
    font: "Montserrat", Helvetica, serif;
    font-size: clamp(2.5rem, 4vw, 12rem);
    line-height: normal;
    font-weight: 400;
    letter-spacing: 0.060em;
    text-transform: uppercase;
    color: white;
    text-align: center;
    padding: 120px 0 45px 0;
    filter: drop-shadow(0px 4px 14px rgba(0,0,0,0.45));
}
.intro-nadpis strong {font-weight: 600}
/* Hlavný text v hero je nadpis <h1> (SEO). Písmo a vykresľovanie ostáva
   ako pri pôvodnom <div> – všeobecné pravidlo pre h1 sa sem nepremietne. */
h1.intro-nadpis {
    font-family: inherit;
    text-rendering: inherit;
}

/* Rybičky po stranách hlavného nadpisu (hlava vľavo, chvost vpravo).
   Veľkosť v em – rastú spolu s nadpisom; výška ≈ výška veľkých písmen.
   Na mobile (do 768 px) sú skryté – rovnako ako bodky pri podnadpise. */
h1.intro-nadpis::before,
h1.intro-nadpis::after {
    content: "";
    display: inline-block;
    height: .66em;
    vertical-align: baseline;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

h1.intro-nadpis::before {
    width: calc(.66em * 92.374 / 77.278);
    margin-right: .5em;
    background-image: url("../media/ikony/hero-ryba-hlava.svg");
}

h1.intro-nadpis::after {
    width: calc(.66em * 73.97 / 73.778);
    margin-left: .5em;
    background-image: url("../media/ikony/hero-ryba-chvost.svg");
}

/* --- Úvodná animácia (trieda .pm-intro-animacia na #intro) -----------------
   Poradie: pozadie → slová nadpisu → rybička vľavo → rybička vpravo →
   podnadpis → bodka vľavo → bodka vpravo.
   --pm-m  = násobok rýchlosti (Prispôsobiť → Úvodná sekcia), 1 = normálna,
   --pm-n  = počet slov nadpisu (doplní front-page.php),
   --pm-i  = poradie slova (pri každom <span class="pm-intro-slovo">).
   Krok medzi prvkami 0,35 s, trvanie objavenia 0,8 s, pozadie 1,2 s
   (všetko krát --pm-m). */

.pm-intro-animacia {
    --pm-start: 1s;      /* text začína po pozadí */
    --pm-krok: .35s;
    --pm-trvanie: .8s;
    --pm-ryby: 2;        /* počet krokov na rybičky (na mobile 0 – sú skryté) */
}

.pm-intro-animacia .intro-slider {
    animation: pm-intro-pozadie calc(1.2s * var(--pm-m)) cubic-bezier(.22, .61, .36, 1) both;
}

.pm-intro-animacia .pm-intro-slovo,
.pm-intro-animacia h1.intro-nadpis::before,
.pm-intro-animacia h1.intro-nadpis::after,
.pm-intro-animacia .pm-intro-pod-text,
.pm-intro-animacia .intro-podnadpis::before,
.pm-intro-animacia .intro-podnadpis::after {
    animation: pm-intro-prvok calc(var(--pm-trvanie) * var(--pm-m)) ease-out both;
}

.pm-intro-animacia .pm-intro-slovo {
    display: inline-block;
    animation-delay: calc((var(--pm-start) + var(--pm-i) * var(--pm-krok)) * var(--pm-m));
}

.pm-intro-animacia h1.intro-nadpis::before {
    animation-delay: calc((var(--pm-start) + var(--pm-n) * var(--pm-krok)) * var(--pm-m));
}

.pm-intro-animacia h1.intro-nadpis::after {
    animation-delay: calc((var(--pm-start) + (var(--pm-n) + 1) * var(--pm-krok)) * var(--pm-m));
}

.pm-intro-animacia .pm-intro-pod-text {
    display: inline-block;
    animation-delay: calc((var(--pm-start) + (var(--pm-n) + var(--pm-ryby)) * var(--pm-krok)) * var(--pm-m));
}

.pm-intro-animacia .intro-podnadpis::before {
    animation-delay: calc((var(--pm-start) + (var(--pm-n) + var(--pm-ryby) + 1) * var(--pm-krok)) * var(--pm-m));
}

.pm-intro-animacia .intro-podnadpis::after {
    animation-delay: calc((var(--pm-start) + (var(--pm-n) + var(--pm-ryby) + 2) * var(--pm-krok)) * var(--pm-m));
}

@keyframes pm-intro-pozadie {
    from { opacity: 0; transform: scale(.88); }
    to   { opacity: 1; transform: none; }
}

@keyframes pm-intro-prvok {
    from { opacity: 0; transform: translateY(.3em); }
    to   { opacity: 1; transform: none; }
}

.intro-podnadpis {
    width: 80%;
    margin: 0 auto;
    font: "Montserrat", Helvetica, serif;
    font-size: clamp(1rem, 0.8vw, 3rem);
    line-height: normal;
    font-weight: 600;
    letter-spacing: 0.200em;
    text-transform: uppercase;
    color: white;
    text-align: center;
    filter: drop-shadow(0px 0px 6px #000);
}
.intro-podnadpis::before, .intro-podnadpis::after  {
    content: "•";
    color: #7ec2c9
}
.intro-podnadpis::before {
    margin-right: 20px;
}
.intro-podnadpis::after {
    margin-left: 20px;
}

/* ==========================================================================
   11. NOVINKY
   ========================================================================== */

#domovske-novinky {
    background: #f6f6f6;
    position: relative;
	margin: 0 auto;
    border-radius: 15px;
    margin: 0px 30px 30px 30px;
}
.rubrika {
    padding: 120px
}
.rubrika-produkty:first-child {padding-bottom: 0 !important}
.rubrika-produkty:last-child {padding-bottom: 60px !important}
.novinky-flex {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: 15px 15px
}
.novinky-box {
    max-width: 900px;
    max-height: 900px;
    border-radius: 45px;
    padding:0 0 30px 0;
    border: 5px solid transparent;
    cursor: pointer;
     -moz-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    -ms-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out
}
.novinky-box:hover {
    border: 5px solid #7ec2c9;
}
.novinky-obrazok {
    height: auto;
    background-color: #e9e9e9;
    margin: 25px 25px 30px 25px;
    border-radius: 30px;
}
.novinky-box-texty {
    display: flex;
    flex-direction: row
}
.novinky-datum, .novinky-nadpis {display: inline-block}
.novinky-datum {
    font-size: 15px;
    font-weight: 600;
    padding: 0 30px 0 30px;
}
.novinky-nadpis {
    font: 30px/32px 'Avenir', Helvetica, serif !important;
    font-weight: bold  !important;
}
.obr-newska {
    width: 100%;
    background-size: cover;
    border-radius: 30px;
}

/* --- Mriežka noviniek ------------------------------------------------------ */

/* MRIEŽKA NOVINIEK – domovská stránka aj výpis noviniek
   Jedna definícia pre obe miesta. Od 768 px vždy dve rovnako široké karty
   vedľa seba, pod 768 px jedna karta na celú šírku.

   Pôvodné pm_respo.css pod 1000 px prepínalo flex na stĺpec, kde karty
   stratili šírku a prispôsobili sa šírke obrázka (každá bola iná).
   Mriežka tento problém nemá. */
.novinky-flex {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
    align-items: stretch;
    flex-wrap: wrap;
}

.novinky-flex > .novinky-box {
    flex: none;
    width: 100%;
    max-width: 1200px;
    max-height: none;
    box-sizing: border-box;
    justify-self: stretch;
}

/* Tlačidlo „Zobraziť viac“ zarovnané na spodok karty,
   aj keď má susedná novinka dlhší nadpis. */
.novinky-flex > .novinky-box > .lnk_newsky {
    margin-top: auto;
}

/* --- Karta novinky --------------------------------------------------------- */

.novinky-box {
    flex: 1 1 420px;
    max-width: 1200px; /* maximálna šírka karty novinky */
    background: #fff;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* Dátum a nadpis zostávajú vedľa seba na jednom riadku, presne ako
   v pôvodnom návrhu (.novinky-box-texty má flex-direction: row).
   Žiadny flex-wrap – inak dlhší nadpis odskočí pod dátum.
   Zalomenie do stĺpca rieši pm_respo.css až pod 992 px. */
.novinky-datum {
    flex-shrink: 0;
    white-space: nowrap;
}

/* Odkazy vnútri boxu novinky nesmú prebiť veľkosť písma rodiča.
   Globálne pravidlo "a { font: 13px … }" v pm_zakladne.css inak zmenší
   nadpis z 30px na 13px, pretože priame pravidlo prebije dedenie. */
.novinky-box .novinky-nadpis a,
.novinky-box .novinky-datum a {
    font: inherit;
    color: inherit;
    text-decoration: none;
}

.novinky-box .novinky-nadpis a:hover {
    color: #7ec2c9;
}

.novinky-box .tl-newsky-viac {
    cursor: pointer;
}

/* --- Ilustračný obrázok novinky -------------------------------------------- */

/* Ilustračné obrázky noviniek – všetky v rovnakom pomere 16 : 9, bez ohľadu
   na rozmery nahraného obrázka. Obrázok sa vyreže (object-fit: cover) od
   horného okraja, aby ostal viditeľný nadpis letáku. */
.novinky-box .novinky-obrazok {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    position: relative;
}

.novinky-box .novinky-obrazok > a {
    display: block;
    width: 100%;
    height: 100%;
}

.novinky-box .novinky-obrazok img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    border-radius: 30px;
}

.novinky-box .novinky-obrazok .novinky-obrazok-placeholder {
    aspect-ratio: auto;
    height: 100%;
}

/* Placeholder, keď článok nemá nastavený ilustračný obrázok */
.novinky-obrazok-placeholder {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 30px;
    background: #e9e9e9 url("../media/logo/pm_logo_192x192.png") no-repeat center center;
    background-size: 120px auto;
    opacity: .45;
}

/* --- Výpis noviniek na podstránkach ---------------------------------------- */

/* Výpis noviniek na podstránkach
   Tieto sekcie používajú #produkty, aby mali rovnaký odskok od menu ako
   ostatné podstránky. Tu len doladíme mriežku boxov. */
.pm-vypis-noviniek .novinky-flex {
    flex-wrap: wrap;
    align-items: stretch;
}

.pm-vypis-noviniek .novinky-box {
    background: #f6f6f6;
}

/* --- Detail novinky -------------------------------------------------------- */

/* Detail novinky */
.novinka-datum {
    display: inline-block;
    font: 15px "Montserrat", Helvetica, serif;
    font-weight: 600;
    color: #fff;
    background: #7ec2c9;
    border-radius: 30px;
    padding: 7px 20px;
    margin-bottom: 30px;
}

/* „Aktualizované: dátum“ pod dátumom (zapína sa pri článku). */
.novinka-aktualizovane {
    display: block;
    margin: -18px 0 30px 0;
    font: 13px/20px "Montserrat", Helvetica, serif;
    color: #5b6278;
}

.novinka-hlavny-obrazok {
    margin: 0 auto 50px auto;
    max-width: 1000px;
}

.novinka-hlavny-obrazok img {
    width: 100%;
    height: auto;
    border-radius: 30px;
    display: block;
}

/* --- Stránkovanie ---------------------------------------------------------- */

.pm-strankovanie {
    margin-top: 60px;
    text-align: center;
}

.pm-strankovanie-odkazy {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

/* Globálne „a { font: 13px … }“ z pm_zakladne.css tu prebíjame. */
.pm-strankovanie .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 46px;
    height: 46px;
    box-sizing: border-box;
    padding: 0 14px;
    margin: 0;
    border: 3px solid #111b3b;
    border-radius: 30px;
    background: #fff;
    color: #111b3b;
    font: 15px 'Avenir', sans-serif;
    font-weight: 700;
    text-decoration: none;
    transition: all .3s ease-in-out;
}

.pm-strankovanie a.page-numbers:hover,
.pm-strankovanie .page-numbers.current {
    background: #111b3b;
    color: #fff;
}

.pm-strankovanie .page-numbers.prev,
.pm-strankovanie .page-numbers.next {
    padding: 0 22px;
}

/* Vynechané strany „…“ bez rámčeka. */
.pm-strankovanie .page-numbers.dots {
    border-color: transparent;
    background: transparent;
    min-width: 24px;
    padding: 0 2px;
}

.pm-strankovanie-info {
    font: 14px "Montserrat", Helvetica, serif !important;
    color: #6b7280;
    text-align: center !important;
    margin: 14px 0 0 0;
}

/* ==========================================================================
   12. RUBRIKY A OBSAH STRÁNOK
   ========================================================================== */

#novinky, #produkty, #distribucia, #onas, #kontakty {
    position: relative;
	margin: 0 auto;
    border-radius: 15px;
    margin: 176px 30px 30px 30px;
}
#produkty, #distribucia, #onas, #kontakty {
    background: #efefef;
}
#novinky {background: #fff;}

/* --- Obsah z editora ------------------------------------------------------- */

.pm-obsah p {
    font: 26px/40px "Montserrat", Helvetica, serif;
    text-align: justify;
    letter-spacing: 0.030em;
}

.pm-obsah ul,
.pm-obsah ol {
    font: 26px/40px "Montserrat", Helvetica, serif;
    letter-spacing: 0.030em;
    text-align: left;
    padding-left: 1.4em;
}

.pm-obsah li {
    margin-bottom: 10px;
}

.pm-obsah h2 {
    font: 34px 'Avenir', Helvetica, serif;
    font-weight: bold;
    letter-spacing: 0.130em;
    color: #111b3b;
    margin: 60px 0 30px 0;
    text-align: left;
}

.pm-obsah h3 {
    font: 28px 'Avenir', Helvetica, serif;
    font-weight: bold;
    color: #111b3b;
    margin: 40px 0 20px 0;
    text-align: left;
}

.pm-obsah h4 {
    font: 22px 'Avenir', Helvetica, serif;
    font-weight: bold;
    color: #111b3b;
    margin: 30px 0 15px 0;
    text-align: left;
}

.pm-obsah a {
    font: inherit;
    color: #111b3b;
    text-decoration: underline;
}

.pm-obsah a:hover {
    color: #7ec2c9;
}

.pm-obsah img {
    max-width: 100%;
    height: auto;
    border-radius: 20px;
}

.pm-obsah blockquote {
    border-left: 5px solid #7ec2c9;
    margin: 30px 0;
    padding: 10px 0 10px 30px;
    font-style: italic;
}

/* --- Tabuľky v obsahu ------------------------------------------------------ */

/* Rámček tabuľky – pri nedostatku miesta sa posúva len tabuľka,
   nie celá stránka. Rovnako sa správa blok Tabuľka z editora. */
.pm-obsah .pm-tab-obal,
.pm-obsah .wp-block-table {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 30px 0;
}

.pm-obsah table {
    width: 100%;
    border-collapse: collapse;
    margin: 30px 0;
    font: 18px/28px "Montserrat", Helvetica, serif;
}

.pm-obsah .pm-tab-obal table,
.pm-obsah .wp-block-table table {
    margin: 0;
}

.pm-obsah table th,
.pm-obsah table td {
    border: 1px solid #7ec2c9;
    padding: 10px 14px;
    text-align: left;
    vertical-align: top;
    /* Dlhé názvy cookies a adresy sa zalomia namiesto roztiahnutia tabuľky. */
    overflow-wrap: anywhere;
}

.pm-obsah table th {
    background: #7ec2c9;
    color: #fff;
}

/* WordPress dáva hlavičke bloku Tabuľka tmavú čiaru – zladíme s témou. */
.pm-obsah .wp-block-table thead {
    border-bottom: 2px solid #7ec2c9;
}

/* Odseky vložené do buniek nepreberajú veľké písmo a zarovnanie do bloku
   z textu stránky. */
.pm-obsah table p,
.pm-obsah table li {
    font: inherit !important;
    text-align: left !important;
    margin: 0;
}

.pm-obsah table p + p {
    margin-top: 6px;
}

.pm-obsah .wp-block-table figcaption {
    font: 14px/21px "Montserrat", Helvetica, serif;
    color: #6b7280;
    margin-top: 8px;
}

/* --- Zarovnanie obrázkov z editora ----------------------------------------- */

/* Zarovnanie obrázkov z editora */
.alignleft  { float: left; margin: 0 30px 20px 0; }

.alignright { float: right; margin: 0 0 20px 30px; }

.aligncenter { display: block; margin: 20px auto; }

.alignwide, .alignfull { max-width: 100%; }

.wp-caption { max-width: 100%; }

.wp-caption-text {
    font: 15px/22px "Montserrat", Helvetica, serif;
    text-align: center;
    padding-top: 8px;
}

/* --- Právne stránky -------------------------------------------------------- */

.pm-obsah-pravne p,
.pm-obsah-pravne ul,
.pm-obsah-pravne ol {
    font: 18px/32px "Montserrat", Helvetica, serif;
    text-align: left;
}

.pm-obsah-pravne h2 {
    font-size: 26px;
    margin: 40px 0 20px 0;
}

.pm-obsah-pravne h3 {
    font-size: 21px;
    margin: 30px 0 15px 0;
}

/* --- Vyhľadávanie a stránka 404 -------------------------------------------- */

.pm-hladanie {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 30px auto 0 auto;
    max-width: 620px;
    flex-wrap: wrap;
}

.pm-hladanie input[type="search"] {
    flex: 1 1 300px;
    border: 3px solid #111b3b;
    border-radius: 30px;
    padding: 12px 24px;
    font: 17px "Montserrat", Helvetica, serif;
    color: #111b3b;
    background: #fff;
}

.pm-hladanie input[type="search"]:focus {
    outline: none;
    border-color: #7ec2c9;
}

.pm-ziadne-vysledky {
    text-align: center;
    font: 22px/36px "Montserrat", Helvetica, serif;
    color: #111b3b;
    padding: 40px 0;
}

.pm-vysledky-zoznam {
    max-width: 900px;
    margin: 0 auto;
    text-align: left;
}

.pm-vysledok {
    border-bottom: 2px solid #7ec2c9;
    padding: 25px 0;
}

.pm-vysledok a {
    font: 26px 'Avenir', Helvetica, serif;
    font-weight: bold;
    color: #111b3b;
    text-decoration: none;
}

.pm-vysledok a:hover {
    color: #7ec2c9;
}

.pm-404-cislo {
    font-family: 'Avenir', Helvetica, serif;
    font-size: clamp(60px, 10vw, 120px);
    line-height: 1;
    font-weight: bold;
    color: #7ec2c9;
    text-align: center;
}

/* ==========================================================================
   13. KONTAKT A MAPA
   ========================================================================== */

 #pm-mapa {
    background: #efefef;
    position: relative;
	margin: 0 auto;
    border-radius: 15px;
    margin: 0 30px 30px 30px;
 }

#googleMap {
	position:relative;
	width: 100%;
	height: 50vh;
    min-height: 600px;
    border-radius: 15px;
	background-color: #4c8cca;
	margin-bottom: 30px
}

/* Náhrada mapy, kým návštevník nesúhlasí s Google Mapami (js/scripty.js). */
.pm-mapa-suhlas {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 22px;
    padding: 30px;
    border-radius: 15px;
    background: #111b3b url("../media/pozadia/lad-textura.jpg") center / cover;
    background-blend-mode: soft-light;
    text-align: center;
}

.pm-mapa-suhlas-text {
    max-width: 520px;
    margin: 0;
    font: 16px/25px "Montserrat", Helvetica, serif;
    color: #fff;
}

.pm-mapa-suhlas-tlacidla {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 14px 26px;
}

.pm-mapa-suhlas .tlacidlo.tl-normalne {
    margin: 0;
    background-color: #7ec2c9;
    border-color: #7ec2c9;
    color: #111b3b;
}

.pm-mapa-suhlas .tlacidlo.tl-normalne:hover {
    background-color: #fff;
    border-color: #fff;
}

.pm-mapa-suhlas-odkaz,
.pm-mapa-suhlas-odkaz:visited {
    font: 14px "Montserrat", Helvetica, serif;
    font-weight: 600;
    color: #fff;
    text-decoration: underline;
}

.pm-mapa-suhlas-odkaz:hover,
.pm-mapa-suhlas-odkaz:focus {
    color: #7ec2c9;
}

/* --- Stĺpce kontaktu ------------------------------------------------------- */

.pm-kontakt-stlpec h5 {
    text-align: center;
}

.pm-kontakt-stlpec p {
    text-align: center;
}

.pm-kontakt-stlpec a {
    font: inherit;
    color: #111b3b;
    text-decoration: none;
}

.pm-kontakt-stlpec a:hover {
    color: #7ec2c9;
}

/* --- Vložená mapa ---------------------------------------------------------- */

.pm-mapa {
    overflow: hidden;
    line-height: 0;
}

.pm-mapa iframe {
    width: 100%;
    min-height: 420px;
    border: 0;
    display: block;
}

/* Vytiahne mapu na celú šírku okna, aj keď je vnútri kontajnera.
   calc(50% - 50vw) je bezpečnejšie ako -50vw – neprepočíta okraj o šírku
   zvislého posuvníka, takže nevzniká vodorovný posuvník. */
.pm-mapa-full {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 40px;
    line-height: 0;
    overflow: hidden;
}

.pm-mapa-iframe {
    display: block;
    width: 100%;
    height: 460px;
    border: 0;
}

.pm-mapa-info {
    font: 15px/24px "Montserrat", Helvetica, serif;
    color: #111b3b;
    padding: 2px 4px;
}

.pm-mapa-info strong {
    font-family: 'Avenir', Helvetica, serif;
    letter-spacing: 0.02em;
}

/* ==========================================================================
   14. PRODUKTY – HLAVNÉ
   ========================================================================== */

.produkty-flex, .podprodukty-flex {
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
}
.produkty-flex {
    margin: 0 0 80px 0;
    justify-content: center;
    gap: 30px 30px;

}
.podprodukty-flex {
     justify-content: center;
     gap: 50px 50px !important;
     margin: 0 0 80px 0;
}
.produkty-flex a, .podprodukty-flex a {text-decoration: none;}

.produkty-big-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 40vw;
    height: 23vw;
    background-color: #dfe0e0;
    border-radius: 30px;
}
.produkty-h3 {
    font-size: 90px;
    line-height: normal;
    text-transform: uppercase;
    color: white;
    font-weight: 600;
    padding: 30px 30px;
}

.zaoblenie {
    border-radius: 30px;
}

.pbgp-01 {
    background: url("../media/produkty/pbgp-01.webp") no-repeat center;
}
.pbgp-02 {
    background: url("../media/produkty/pbgp-02.webp") no-repeat center;
}
.pbgp-03 {
    background: url("../media/produkty/pbgp-03.webp") no-repeat center;
}
.pbgp-04 {
    background: url("../media/produkty/pbgp-04.webp") no-repeat center;
}
.pbgp-01, .pbgp-02, .pbgp-03, .pbgp-04 {
    background-size: 100% 100%;
    background-color: #dfe0e0;
    -moz-transition: all .6s ease-in-out;
    -o-transition: all .6s ease-in-out;
    -webkit-transition: all .6s ease-in-out;
    -ms-transition: all .6s ease-in-out;
    transition: all .6s ease-in-out
}

.pbgp-01:hover, .pbgp-02:hover, .pbgp-03:hover, .pbgp-04:hover {
    background-size: 107% 107%;
}

.pm-ozdoba-1 {
    width: 66px;
    height: 45px;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="66px" height="45px"><path fill-rule="evenodd" fill="rgb(126, 194, 201)" d="M63.740,29.193 C62.090,27.667 61.147,25.554 60.204,23.559 C59.144,20.977 58.083,18.630 55.726,18.630 C53.722,18.630 52.426,20.860 51.128,23.090 C49.479,26.024 47.711,28.841 44.410,28.841 C40.992,28.841 39.342,26.024 37.692,23.090 C36.278,20.860 34.981,18.630 33.096,18.630 C31.092,18.630 29.795,20.860 28.499,23.090 C26.731,26.024 25.081,28.841 21.663,28.841 C18.362,28.841 16.712,26.024 14.945,23.090 C13.647,20.860 12.351,18.630 10.348,18.630 C7.872,18.630 6.812,20.860 5.750,23.207 C4.808,25.085 3.865,27.080 2.215,28.488 C1.744,28.958 0.919,28.958 0.447,28.371 C-0.024,27.901 0.093,27.080 0.565,26.610 C1.861,25.554 2.686,23.794 3.512,22.151 C4.926,19.099 6.340,16.165 10.348,16.165 C13.766,16.165 15.416,18.982 17.183,21.916 C18.480,24.146 19.777,26.376 21.663,26.376 C23.667,26.376 24.963,24.146 26.259,21.916 C28.027,18.982 29.677,16.165 33.096,16.165 C36.396,16.165 38.164,18.982 39.814,21.916 C41.110,24.146 42.406,26.376 44.410,26.376 C46.297,26.376 47.711,24.146 49.007,21.916 C50.658,18.982 52.307,16.165 55.726,16.165 C59.733,16.165 61.147,19.217 62.561,22.503 C63.269,24.263 64.094,26.141 65.391,27.315 C65.980,27.784 65.980,28.606 65.508,29.075 C65.037,29.544 64.212,29.662 63.740,29.193 ZM63.740,13.818 C62.090,12.409 61.147,10.297 60.204,8.184 C59.144,5.719 58.083,3.372 55.726,3.372 C53.722,3.372 52.426,5.602 51.128,7.832 C49.479,10.649 47.711,13.583 44.410,13.583 C40.992,13.583 39.342,10.649 37.692,7.832 C36.278,5.602 34.981,3.372 33.096,3.372 C31.092,3.372 29.795,5.602 28.499,7.832 C26.731,10.649 25.081,13.583 21.663,13.583 C18.362,13.583 16.712,10.649 14.945,7.832 C13.647,5.602 12.351,3.372 10.348,3.372 C7.872,3.372 6.812,5.602 5.750,7.949 C4.808,9.827 3.865,11.705 2.215,13.231 C1.744,13.701 0.919,13.583 0.447,13.113 C-0.024,12.644 0.093,11.822 0.565,11.353 C1.861,10.179 2.686,8.536 3.512,6.893 C4.926,3.724 6.340,0.907 10.348,0.907 C13.766,0.907 15.416,3.724 17.183,6.541 C18.480,8.771 19.777,11.001 21.663,11.001 C23.667,11.001 24.963,8.771 26.259,6.541 C28.027,3.724 29.677,0.907 33.096,0.907 C36.396,0.907 38.164,3.724 39.814,6.541 C41.110,8.771 42.406,11.001 44.410,11.001 C46.297,11.001 47.711,8.771 49.007,6.541 C50.658,3.724 52.307,0.907 55.726,0.907 C59.733,0.907 61.147,3.959 62.561,7.245 C63.269,9.006 64.094,10.883 65.391,12.057 C65.980,12.527 65.980,13.231 65.508,13.818 C65.037,14.288 64.212,14.288 63.740,13.818 ZM3.512,37.409 C4.926,34.357 6.340,31.423 10.348,31.423 C13.766,31.423 15.416,34.357 17.183,37.174 C18.480,39.404 19.777,41.634 21.663,41.634 C23.667,41.634 24.963,39.404 26.259,37.174 C28.027,34.357 29.677,31.423 33.096,31.423 C36.396,31.423 38.164,34.357 39.814,37.174 C41.110,39.404 42.406,41.634 44.410,41.634 C46.297,41.634 47.711,39.404 49.007,37.174 C50.658,34.357 52.307,31.423 55.726,31.423 C59.733,31.423 61.147,34.592 62.561,37.878 C63.269,39.639 64.094,41.399 65.391,42.573 C65.980,43.042 65.980,43.863 65.508,44.333 C65.037,44.920 64.212,44.920 63.740,44.450 C62.090,42.925 61.147,40.812 60.204,38.817 C59.144,36.352 58.083,34.005 55.726,34.005 C53.722,34.005 52.426,36.235 51.128,38.465 C49.479,41.282 47.711,44.098 44.410,44.098 C40.992,44.098 39.342,41.282 37.692,38.465 C36.278,36.235 34.981,34.005 33.096,34.005 C31.092,34.005 29.795,36.235 28.499,38.465 C26.731,41.282 25.081,44.098 21.663,44.098 C18.362,44.098 16.712,41.282 14.945,38.465 C13.647,36.235 12.351,34.005 10.348,34.005 C7.872,34.005 6.812,36.117 5.750,38.582 C4.808,40.343 3.865,42.338 2.215,43.746 C1.744,44.216 0.919,44.216 0.447,43.746 C-0.024,43.159 0.093,42.455 0.565,41.986 C1.861,40.812 2.686,39.051 3.512,37.409 Z"/></svg>');
    margin: 0 auto;
}

/* ==========================================================================
   15. PRODUKTY – PODKATEGÓRIE A DETAIL PRODUKTU
   ========================================================================== */

.test {
     display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
}

.produkty-kruhobox {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px 6px;
    flex-wrap: wrap;
    justify-content: center;
}
.produkty-kruhobox {
    width: 300px;
}
.produkty-kruhobox-velky {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    align-content: center;
}

.produkty-kruh, .produkt-kruh {
    display: flex;
    justify-content: center;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    -moz-transition: all .6s ease-in-out;
    -o-transition: all .6s ease-in-out;
    -webkit-transition: all .6s ease-in-out;
    -ms-transition: all .6s ease-in-out;
    transition: all .6s ease-in-out
}

.produkty-kruh {
    width: 245px;
    height: 245px;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="246px" height="246px"><path fill-rule="evenodd" fill="rgb(126, 194, 201)" d="M122.1000,0.600 C190.600,0.600 245.400,55.400 245.400,122.1000 C245.400,190.600 190.600,245.400 122.1000,245.400 C55.400,245.400 0.600,190.600 0.600,122.1000 C0.600,55.400 55.400,0.600 122.1000,0.600 Z"/></svg>') no-repeat center;
}
.produkt-kruh img {width: 85%; height: auto}
.produkty-kruh img {max-height: 230px}

.produkt-kruh {
    min-width: 450px;
    min-height: 450px;
    background-color:#7ec2c9;
}

.produkt-bublinka,.produkt-bublinka-ikony {
    font-size: 22px;
    padding: 30px 30px 30px 30px;
    border-radius: 20px;
    margin: 30px 0 30px 0
}

.produkt-bublinka {
    background-color:#7ec2c9;
}
.produkt-bublinka-ikony  {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px 10px;
    flex-wrap: wrap;
    justify-content: center;
    background-color:#fff;
    color: #111b3b
}

.produkt-ikona {
    width: 60px;
    height: 60px;
    position: relative;
    background-size: 60px 60px !important;
}
.ulovene_v_mori {background: url('../media/ikony/produkty_ulovene_v_mori.png') repeat-x center;}
.s_glazurou {background: url('../media/ikony/produkty_s_glazurou.png') repeat-x center;}
.bez_pridanej_vody {background: url('../media/ikony/produkty_bez_pridanej_vody.png') repeat-x center;}
.odchovane_v_mori {background: url('../media/ikony/produkty_odchovane_v_mori.png') repeat-x center;}
.odchovane_v_sladkych_vodach {background: url('../media/ikony/produkty_odchovane_v_sladkych_vodach.png') repeat-x center;}
.omega3 {background: url('../media/ikony/produkty_omega3.png') repeat-x center;}
.pridana_voda {background: url('../media/ikony/produkty_pridana_voda.png') repeat-x center;}
.ulovene_v_sladkych_vodach {background: url('../media/ikony/produkty_ulovene_v_sladkych_vodach.png') repeat-x center;}

.produkt-ikona::before {
  content: attr(data-text);
  position: absolute;
  background-color: #111b3b;
  width: fit-content;
  color: #fff;
  padding: 0.7rem 1rem;
  top: -40px;
  left: 0;
  right: 0;
  font-size: 1rem;
  opacity: 0;
  transform: translateY(20%);
  transition: all .3s ease-in-out;
  border-radius: 15px;
  z-index: 777;
}

.produkt-ikona[data-text]:not([data-text=""])::before {
  opacity: 0;
}

.produkt-ikona[data-text]:not([data-text=""]):hover::before {
  opacity: 1;
  transform: translateY(0%);
}

.produkt-bublinka p {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
}

.produkt-nadpis {
    font: 30px/31px 'Avenir', Helvetica, serif;
    text-align: center;
}
.produkt-podnadpis {
    font: 20px 'Avenir', Helvetica, serif;
    text-transform: uppercase;
}
.produkt-nadpis, .produkt-podnadpis, .gramaz {
    font-weight: bold !important;
}
.gramaz {
    display: inline-block;
    background-color: #111b3b;
    color: #fff;
    font: 14px 'Avenir', Helvetica, serif;
    padding: 7px 15px;
    border-radius: 30px;
    -moz-transition: all .6s ease-in-out;
    -o-transition: all .6s ease-in-out;
    -webkit-transition: all .6s ease-in-out;
    -ms-transition: all .6s ease-in-out;
    transition: all .6s ease-in-out
}
.vlnka-hr {
    width: 100%;
    height: 26px;
    margin: 0 auto;
    background: url("../media/produkty/vlnka.svg") repeat-x center;
}

.svetlo-modre-hr {border-top: 2px solid #7ec2c9; margin: 60px 0}

.produkty-kruhobox:hover .produkty-kruh {
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="246px" height="246px"><path fill-rule="evenodd" fill="rgb(239, 239, 239)" d="M122.1000,0.600 C190.600,0.600 245.400,55.400 245.400,122.1000 C245.400,190.600 190.600,245.400 122.1000,245.400 C55.400,245.400 0.600,190.600 0.600,122.1000 C0.600,55.400 55.400,0.600 122.1000,0.600 Z"/></svg>') no-repeat center;
    cursor: pointer;
}
.produkty-kruhobox:hover .gramaz {background-color: #7ec2c9}

/* --- Kruhy vo výpise kategórie --------------------------------------------- */

.produkty-kruhobox a,
a .produkty-kruhobox {
    text-decoration: none;
    color: inherit;
}

.produkty-kruh img {
    /* width: auto – inak šírka z atribútu width (500) ostane na 100 % kruhu
       a max-height zmení len výšku → fotka sa roztiahne. Takto sa pri
       obmedzení výšky zmenší aj šírka a pomer strán ostane zachovaný. */
    width: auto;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    transition: transform .6s cubic-bezier(.22, .61, .36, 1);   /* plynulý návrat */
}

/* Pri prejdení myšou (aj pri výbere klávesnicou) sa fotka mierne priblíži. */
.produkty-kruhobox:hover .produkty-kruh img,
a:focus-visible .produkty-kruhobox .produkty-kruh img {
    transform: scale(1.08);
}

/* prázdne miesta vo flexe, aby posledný riadok nebol roztiahnutý */
.podprodukty-flex .pm-vypln {
    visibility: hidden;
    pointer-events: none;
}

/* --- Kruh na detaile produktu ---------------------------------------------- */

/* FIX: produktový kruh na detaile (oval na mobile)
   .produkt-kruh mal iba min-width/min-height, takže jeho výšku určoval
   obrázok a šírku stĺpec – na úzkych obrazovkách sa rozišli a z kruhu
   vznikol ovál. Tu vynútime dokonalý štvorec (aspect-ratio 1:1) s pevným
   priemerom, ktorý sa nikdy nezmestí za šírku stĺpca (max-width:100%).
   Vyššia špecificita (.produkty-kruhobox-velky .produkt-kruh) spoľahlivo
   prebije pôvodné min-* pravidlá v pm_respo.css vo všetkých breakpointoch. */
.produkty-kruhobox-velky .produkt-kruh {
    width: 450px;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    min-width: 0;
    min-height: 0;
    flex: 0 0 auto;
    overflow: hidden;
}

/* Obrázok nesmie krabicu roztiahnuť do výšky – drží sa v rámci kruhu. */
.produkty-kruhobox-velky .produkt-kruh img {
    width: auto;
    height: auto;
    max-width: 85%;
    max-height: 85%;
}

/* --- Tmavá schéma (Sladkovodné ryby, Špeciality) --------------------------- */

/* Tmavá schéma detailu produktu (Sladkovodné ryby, Špeciality)
   Trieda pm-produkt-tmavy sa pridáva na <body> podľa kategórie produktu
   (viď pm_body_class vo functions.php). V týchto kategóriách je kruh aj
   bublina v tmavej modrej a text bubliny tyrkysový. */
.pm-produkt-tmavy .produkt-kruh {
    background-color: #121c3c;
}

.pm-produkt-tmavy .produkt-bublinka {
    background-color: #121c3c;
}

/* Text v bubline – tyrkysový. Biely nadpis (.text-biely) zostáva biely. */
.pm-produkt-tmavy .produkt-bublinka p {
    color: #7ec2c9;
}

/* Tmavé kruhy vo výpise kategórií Sladkovodné ryby a Špeciality.
   .produkty-kruh používa ako pozadie tyrkysový SVG kruh; prepíšeme ho
   na plnú tmavomodrú (border-radius:100% a pevný rozmer 245×245 ostávajú,
   takže tvar kruhu sa zachová). Dorobený je aj tmavší hover. */
.pm-produkt-tmavy .produkty-kruh {
    background: #121c3c;
}

.pm-produkt-tmavy .produkty-kruhobox:hover .produkty-kruh {
    background: #1e2b54;
}

/* --- Voliteľné texty produktu ---------------------------------------------- */

.pm-produkt-text-pred {
    margin-top: 10px;
    margin-bottom: 50px;
}

.pm-produkt-text-po {
    margin-top: 60px;
}

.pm-produkt-text-pred .pm-obsah > :last-child,
.pm-produkt-text-po .pm-obsah > :last-child {
    margin-bottom: 0;
}



/* ==========================================================================
   16. O NÁS
   ========================================================================== */

.o-nas-podnadpis {
    font: 40px 'Avenir', Helvetica, serif;
    font-weight: bold;
    letter-spacing: 0.130em;
    color: #111b3b;
    margin: 94px 0 85px 0;
    line-height: auto;
    text-align: center;
}
.o-nas-p {
    font: 26px/40px "Montserrat", Helvetica, serif;
    text-align: justify;
    letter-spacing: 0.030em;
}


.o-nas-ozdoba-1 {
    position: relative;
    display: block;
    width: 261px;
    height: 309px;
    background: url("../media/ikony/o-nas-iko1.svg") no-repeat center;
    background-size: contain;
    margin: 0 auto;
    border: 15px solid transparent;
}

.o-nas-ozdoba-2 {
    position: relative;
    width: 423px;
    height: 215px;
    background: url("../media/ikony/o-nas-iko2.svg?v=2") no-repeat center;
    background-size: contain;
    margin: 0 auto;
    border: 15px solid transparent;
}

/* --- Vlastné ilustrácie ---------------------------------------------------- */

.o-nas-vlastny-obrazok {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 20px;
}

/* ==========================================================================
   17. DISTRIBÚCIA – REGISTRÁCIA ZÁKAZNÍKA
   ========================================================================== */

/* --- Tlačidlá vedľa seba ------------------------------------------------ */
.pm-dist-tlacidla {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 18px 22px;
}

.pm-dist-tlacidla .lnk_newsky,
.pm-dist-tlacidla .tlacidlo {
    margin: 0;
}

/* --- Sekcia s formulárom ----------------------------------------------- */
.pm-registracia {
    max-width: 960px;
    margin: 50px auto 0 auto;
    padding: 45px 50px 40px 50px;
    background: #fff;
    border-radius: 20px;
    text-align: left;
    color: #121c3b;
    scroll-margin-top: 150px;
}

.pm-registracia[hidden],
.pm-registracia [hidden] {
    display: none !important;
}

/* Globálne pravidlo „a { font: 13px … }“ by inak zmenšilo odkazy. */
.pm-registracia a {
    font: inherit;
    color: #121c3b;
    text-decoration: underline;
}

.pm-registracia a:hover {
    color: #7ec2c9;
}

.pm-reg-nadpis {
    font: 32px 'Avenir', Helvetica, serif;
    font-weight: bold;
    letter-spacing: 0.04em;
    color: #121c3b;
    text-align: center;
    margin: 0 0 10px 0;
}

.pm-reg-uvod {
    font: 17px/27px "Montserrat", Helvetica, serif;
    text-align: center;
    color: #4a5568;
    margin: 0 0 32px 0;
}

/* --- Sekcie a mriežka --------------------------------------------------- */
.pm-reg-sekcia {
    border: 0;
    padding: 0;
    margin: 0 0 30px 0;
    min-width: 0;
}

.pm-reg-sekcia legend {
    display: block;
    width: 100%;
    float: none;
    font: 19px "Montserrat", Helvetica, serif;
    font-weight: 600;
    color: #121c3b;
    padding: 0 0 9px 0;
    margin: 0 0 18px 0;
    border-bottom: 2px solid #7ec2c9;
}

.pm-reg-mriezka {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px 18px;
}

.pm-reg-pole {
    display: flex;
    flex-direction: column;
    grid-column: span 2;
    min-width: 0;
}

.pm-reg-cela      { grid-column: 1 / -1; }

.pm-reg-polovica  { grid-column: span 2; }

.pm-reg-stvrtina  { grid-column: span 1; }

.pm-reg-pole label {
    font: 15px "Montserrat", Helvetica, serif;
    font-weight: 600;
    color: #121c3b;
    margin: 0 0 6px 0;
}

.pm-reg-hviezda {
    color: #c0392b;
    margin-left: 2px;
}

/* --- Vstupy ------------------------------------------------------------- */
.pm-registracia input[type="text"],
.pm-registracia input[type="email"],
.pm-registracia input[type="tel"],
.pm-registracia textarea {
    width: 100%;
    box-sizing: border-box;
    border: 2px solid #d5dbe3;
    border-radius: 12px;
    padding: 11px 14px;
    font: 16px "Montserrat", Helvetica, serif;
    color: #121c3b;
    background: #fff;
    transition: border-color .2s ease-in-out, box-shadow .2s ease-in-out, background-color .2s ease-in-out;
}

.pm-registracia textarea {
    resize: vertical;
    min-height: 110px;
}

.pm-registracia input:focus,
.pm-registracia textarea:focus {
    outline: none;
    border-color: #7ec2c9;
    box-shadow: 0 0 0 3px rgba(126, 194, 201, .25);
}

.pm-registracia ::placeholder {
    color: #9aa1ad;
}

/* Krátke zvýraznenie polí doplnených z registra. */
.pm-reg-doplnene {
    animation: pm-reg-doplnene 1.6s ease-out;
}

@keyframes pm-reg-doplnene {
    0%   { background-color: #d8f0f2; }
    100% { background-color: #fff; }
}

/* --- Chyby -------------------------------------------------------------- */
.pm-reg-pole-chyba input,
.pm-reg-pole-chyba textarea {
    border-color: #d93025;
}

.pm-reg-chyba {
    display: block;
    font: 13px/19px "Montserrat", Helvetica, serif;
    color: #a5231a;
    margin-top: 5px;
}

.pm-reg-alert {
    border-radius: 14px;
    padding: 14px 20px;
    margin: 0 0 26px 0;
    font: 15px/23px "Montserrat", Helvetica, serif;
}

.pm-reg-alert p {
    font: inherit;
    margin: 0;
}

.pm-reg-alert p + p {
    margin-top: 6px;
}

.pm-reg-alert-chyba {
    background: #fdecea;
    border: 2px solid #d93025;
    color: #a5231a;
}

.pm-reg-alert-ok {
    background: #eaf6ef;
    border: 2px solid #1d8348;
    color: #145c32;
    text-align: center;
    padding: 30px 24px;
    margin: 0;
}

.pm-reg-alert-ok .pm-reg-nadpis {
    color: #145c32;
    font-size: 26px;
}

/* --- IČO s tlačidlom ---------------------------------------------------- */
.pm-reg-ico-riadok {
    display: flex;
    gap: 10px;
}

.pm-reg-ico-riadok input {
    flex: 1 1 auto;
    max-width: 260px;
}

.pm-reg-ico-tl,
.pm-reg-captcha-novy {
    flex: 0 0 auto;
    border: 2px solid #121c3c;
    border-radius: 30px;
    background: #fff;
    color: #121c3c;
    font: 14px 'Avenir', Helvetica, sans-serif;
    font-weight: 700;
    padding: 0 20px;
    cursor: pointer;
    transition: all .25s ease-in-out;
}

.pm-reg-ico-tl:hover,
.pm-reg-captcha-novy:hover {
    background: #121c3c;
    color: #fff;
}

.pm-reg-ico-tl:disabled {
    opacity: .5;
    cursor: wait;
}

.pm-reg-ico-stav {
    display: block;
    min-height: 19px;
    font: 13px/19px "Montserrat", Helvetica, serif;
    color: #4a5568;
    margin-top: 6px;
}

.pm-reg-ico-stav.je-ok     { color: #1d6f42; }

.pm-reg-ico-stav.je-chyba  { color: #a5231a; }

/* --- Zaškrtávacie polia ------------------------------------------------- */
.pm-reg-check {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    font: 15px/23px "Montserrat", Helvetica, serif;
    color: #121c3b;
    cursor: pointer;
    margin: 0 0 12px 0;
}

.pm-reg-check input[type="checkbox"] {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 2px 0 0 0;
    accent-color: #121c3c;
    cursor: pointer;
}

.pm-reg-check-dodacia {
    margin: -8px 0 26px 0;
    font-weight: 600;
}

.pm-reg-check-chyba span {
    color: #a5231a;
}

.pm-reg-suhlasy {
    margin: 26px 0 24px 0;
}

.pm-reg-suhlasy .pm-reg-chyba {
    margin: -6px 0 12px 31px;
}

/* --- Captcha ------------------------------------------------------------ */
.pm-reg-captcha-pole {
    margin-top: 6px;
}

.pm-reg-captcha {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.pm-reg-captcha-obr {
    width: 170px;
    height: 56px;
    border: 2px solid #d5dbe3;
    border-radius: 12px;
    background: #f6f7f8;
}

.pm-reg-captcha-otazka {
    font: 18px "Montserrat", Helvetica, serif;
    font-weight: 600;
}

.pm-reg-captcha-novy {
    width: 44px;
    height: 44px;
    padding: 0;
    font-size: 22px;
    line-height: 1;
}

.pm-registracia .pm-reg-captcha input[type="text"] {
    width: 170px;
    text-transform: uppercase;
    letter-spacing: .12em;
}

/* Pole proti robotom – mimo obrazovky. */
.pm-reg-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* --- Odoslanie ---------------------------------------------------------- */
.pm-reg-odoslat {
    min-width: 220px;
}

.pm-reg-odoslat:disabled {
    opacity: .6;
    cursor: wait;
}

.pm-reg-povinne {
    font: 13px "Montserrat", Helvetica, serif;
    color: #6b7280;
    text-align: center;
    margin: 14px 0 0 0;
}

/* ==========================================================================
   18. VEĽKOOBCHODNÁ ZÓNA
   ========================================================================== */

/* --- Formulár na heslo ----------------------------------------------------- */

.pm-heslo-box {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}

.pm-heslo-popis {
    font: 20px/32px "Montserrat", Helvetica, serif;
    color: #111b3b;
    margin-bottom: 25px;
}

.pm-heslo-riadok {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.pm-heslo-formular input[type="password"] {
    flex: 1 1 260px;
    max-width: 340px;
    border: 3px solid #111b3b;
    border-radius: 30px;
    padding: 12px 26px;
    font: 17px "Montserrat", Helvetica, serif;
    color: #111b3b;
    background: #fff;
    text-align: center;
}

.pm-heslo-formular input[type="password"]:focus {
    outline: none;
    border-color: #7ec2c9;
}

.pm-heslo-formular .tlacidlo {
    margin: 0;
}

.pm-heslo-chyba {
    display: inline-block;
    background: #fdecea;
    border: 2px solid #d93025;
    border-radius: 30px;
    color: #a5231a;
    font: 16px "Montserrat", Helvetica, serif;
    padding: 10px 26px;
    margin-bottom: 25px;
}

.pm-heslo-pomoc {
    font: 16px/26px "Montserrat", Helvetica, serif;
    color: #111b3b;
    margin-top: 30px;
}

.pm-heslo-pomoc a {
    font: inherit;
    color: #111b3b;
    text-decoration: underline;
}

.pm-heslo-pomoc a:hover {
    color: #7ec2c9;
}

/* --- Zoznam súborov na stiahnutie ------------------------------------------ */

.pm-subory {
    max-width: 900px;
    margin: 0 auto;
    text-align: left;
}

.pm-subor {
    display: flex;
    align-items: center;
    gap: 22px;
    background: #fff;
    border: 2px solid #e4e7ec;
    border-radius: 20px;
    padding: 20px 26px;
    margin-bottom: 18px;
    transition: border-color .25s ease-in-out, box-shadow .25s ease-in-out;
}

.pm-subor:hover {
    border-color: #7ec2c9;
    box-shadow: 0 6px 22px rgba(17, 27, 59, .08);
}

.pm-subor-ikona {
    flex: 0 0 48px;
    line-height: 0;
}

.pm-ikona-subor {
    width: 48px;
    height: 60px;
    display: block;
}

.pm-subor-info {
    flex: 1 1 auto;
    min-width: 0;
}

.pm-subor-nazov {
    font: 22px/30px 'Avenir', Helvetica, serif;
    font-weight: bold;
    color: #111b3b;
    letter-spacing: 0.020em;
}

.pm-subor-popis {
    font: 16px/24px "Montserrat", Helvetica, serif;
    color: #4a5568;
    margin-top: 4px;
}

.pm-subor-meta {
    font: 14px/22px "Montserrat", Helvetica, serif;
    color: #7a8194;
    margin-top: 6px;
    text-transform: uppercase;
    letter-spacing: 0.040em;
}

.pm-subor-akcia {
    flex: 0 0 auto;
}

.pm-subor-akcia .lnk_newsky {
    text-decoration: none;
}

/* --- Akcie pod zoznamom súborov -------------------------------------------- */

.pm-zona-akcie {
    text-align: center;
}

.pm-odhlasit {
    display: block;
    margin-top: 22px;
    font: 15px/24px "Montserrat", Helvetica, serif;
    color: #7a8194;
    text-decoration: underline;
}

.pm-odhlasit:hover {
    color: #111b3b;
}

/* ==========================================================================
   19. PÄTA
   ========================================================================== */

#kontakt {
    background: #7ec2c9;
	position: relative;
	margin: 0 auto;
    border-radius: 15px;
    margin: 0 30px 0 30px;
}

.kontakt-animavovane-pozadie {
	background-image: url('data:image/svg+xml,<svg width="1920px" height="600px" id="svg" viewBox="0 0 1440 390" xmlns="http://www.w3.org/2000/svg" class="transition duration-300 ease-in-out delay-150"><style> .path-0{ animation:pathAnim-0 4s; animation-timing-function: linear; animation-iteration-count: infinite; } @keyframes pathAnim-0{ 0%{ d: path("M 0,400 L 0,75 C 146.42857142857142,77.60714285714286 292.85714285714283,80.21428571428571 391,83 C 489.14285714285717,85.78571428571429 538.9999999999999,88.75 654,90 C 769.0000000000001,91.25 949.1428571428573,90.78571428571428 1091,88 C 1232.8571428571427,85.21428571428572 1336.4285714285713,80.10714285714286 1440,75 L 1440,400 L 0,400 Z"); } 25%{ d: path("M 0,400 L 0,75 C 119.82142857142858,89.53571428571428 239.64285714285717,104.07142857142857 368,94 C 496.35714285714283,83.92857142857143 633.2500000000001,49.25 762,51 C 890.7499999999999,52.75 1011.3571428571427,90.92857142857143 1123,101 C 1234.6428571428573,111.07142857142857 1337.3214285714287,93.03571428571428 1440,75 L 1440,400 L 0,400 Z"); } 50%{ d: path("M 0,400 L 0,75 C 82.03571428571428,87.82142857142857 164.07142857142856,100.64285714285714 307,95 C 449.92857142857144,89.35714285714286 653.7500000000001,65.25 773,53 C 892.2499999999999,40.75 926.9285714285713,40.35714285714286 1024,46 C 1121.0714285714287,51.64285714285714 1280.5357142857142,63.32142857142857 1440,75 L 1440,400 L 0,400 Z"); } 75%{ d: path("M 0,400 L 0,75 C 116.67857142857142,49.92857142857143 233.35714285714283,24.857142857142854 359,37 C 484.64285714285717,49.142857142857146 619.25,98.5 748,101 C 876.75,103.5 999.6428571428571,59.14285714285714 1114,47 C 1228.357142857143,34.85714285714286 1334.1785714285716,54.92857142857143 1440,75 L 1440,400 L 0,400 Z"); } 100%{ d: path("M 0,400 L 0,75 C 146.42857142857142,77.60714285714286 292.85714285714283,80.21428571428571 391,83 C 489.14285714285717,85.78571428571429 538.9999999999999,88.75 654,90 C 769.0000000000001,91.25 949.1428571428573,90.78571428571428 1091,88 C 1232.8571428571427,85.21428571428572 1336.4285714285713,80.10714285714286 1440,75 L 1440,400 L 0,400 Z"); } }</style><path d="M 0,400 L 0,75 C 146.42857142857142,77.60714285714286 292.85714285714283,80.21428571428571 391,83 C 489.14285714285717,85.78571428571429 538.9999999999999,88.75 654,90 C 769.0000000000001,91.25 949.1428571428573,90.78571428571428 1091,88 C 1232.8571428571427,85.21428571428572 1336.4285714285713,80.10714285714286 1440,75 L 1440,400 L 0,400 Z" stroke="none" stroke-width="0" fill="%238cd7de" fill-opacity="0.4" class="transition-all duration-300 ease-in-out delay-150 path-0"></path><style> .path-1{ animation:pathAnim-1 4s; animation-timing-function: linear; animation-iteration-count: infinite; } @keyframes pathAnim-1{ 0%{ d: path("M 0,400 L 0,175 C 146.32142857142856,194.39285714285714 292.6428571428571,213.78571428571428 403,204 C 513.3571428571429,194.21428571428572 587.75,155.25 680,156 C 772.25,156.75 882.3571428571429,197.21428571428572 1012,207 C 1141.642857142857,216.78571428571428 1290.8214285714284,195.89285714285714 1440,175 L 1440,400 L 0,400 Z"); } 25%{ d: path("M 0,400 L 0,175 C 117.03571428571428,177.39285714285714 234.07142857142856,179.78571428571428 352,171 C 469.92857142857144,162.21428571428572 588.7499999999999,142.24999999999997 713,150 C 837.2500000000001,157.75000000000003 966.9285714285716,193.21428571428572 1089,202 C 1211.0714285714284,210.78571428571428 1325.5357142857142,192.89285714285714 1440,175 L 1440,400 L 0,400 Z"); } 50%{ d: path("M 0,400 L 0,175 C 90.42857142857142,183.42857142857144 180.85714285714283,191.85714285714286 310,185 C 439.14285714285717,178.14285714285714 607.0000000000001,156 725,162 C 842.9999999999999,168 911.1428571428571,202.14285714285717 1022,209 C 1132.857142857143,215.85714285714283 1286.4285714285716,195.42857142857142 1440,175 L 1440,400 L 0,400 Z"); } 75%{ d: path("M 0,400 L 0,175 C 122.78571428571428,192.28571428571428 245.57142857142856,209.57142857142858 353,209 C 460.42857142857144,208.42857142857142 552.5,189.99999999999997 684,177 C 815.5,164.00000000000003 986.4285714285713,156.42857142857142 1119,157 C 1251.5714285714287,157.57142857142858 1345.7857142857142,166.28571428571428 1440,175 L 1440,400 L 0,400 Z"); } 100%{ d: path("M 0,400 L 0,175 C 146.32142857142856,194.39285714285714 292.6428571428571,213.78571428571428 403,204 C 513.3571428571429,194.21428571428572 587.75,155.25 680,156 C 772.25,156.75 882.3571428571429,197.21428571428572 1012,207 C 1141.642857142857,216.78571428571428 1290.8214285714284,195.89285714285714 1440,175 L 1440,400 L 0,400 Z"); } }</style><path d="M 0,400 L 0,175 C 146.32142857142856,194.39285714285714 292.6428571428571,213.78571428571428 403,204 C 513.3571428571429,194.21428571428572 587.75,155.25 680,156 C 772.25,156.75 882.3571428571429,197.21428571428572 1012,207 C 1141.642857142857,216.78571428571428 1290.8214285714284,195.89285714285714 1440,175 L 1440,400 L 0,400 Z" stroke="none" stroke-width="0" fill="%238cd7de" fill-opacity="0.53" class="transition-all duration-300 ease-in-out delay-150 path-1"></path><style> .path-2{ animation:pathAnim-2 4s; animation-timing-function: linear; animation-iteration-count: infinite; } @keyframes pathAnim-2{ 0%{ d: path("M 0,400 L 0,275 C 104.32142857142858,268.0357142857143 208.64285714285717,261.07142857142856 336,261 C 463.35714285714283,260.92857142857144 613.7499999999999,267.75 730,271 C 846.2500000000001,274.25 928.3571428571429,273.92857142857144 1041,274 C 1153.642857142857,274.07142857142856 1296.8214285714284,274.5357142857143 1440,275 L 1440,400 L 0,400 Z"); } 25%{ d: path("M 0,400 L 0,275 C 110.28571428571428,284.6428571428571 220.57142857142856,294.2857142857143 347,298 C 473.42857142857144,301.7142857142857 616.0000000000001,299.5 727,292 C 837.9999999999999,284.5 917.4285714285713,271.7142857142857 1031,268 C 1144.5714285714287,264.2857142857143 1292.2857142857142,269.6428571428571 1440,275 L 1440,400 L 0,400 Z"); } 50%{ d: path("M 0,400 L 0,275 C 96.28571428571428,263.32142857142856 192.57142857142856,251.64285714285717 316,258 C 439.42857142857144,264.35714285714283 590.0000000000001,288.75 707,294 C 823.9999999999999,299.25 907.4285714285713,285.3571428571429 1024,279 C 1140.5714285714287,272.6428571428571 1290.2857142857142,273.82142857142856 1440,275 L 1440,400 L 0,400 Z"); } 75%{ d: path("M 0,400 L 0,275 C 151.21428571428572,281.7142857142857 302.42857142857144,288.42857142857144 416,290 C 529.5714285714286,291.57142857142856 605.4999999999999,288.00000000000006 717,286 C 828.5000000000001,283.99999999999994 975.5714285714287,283.57142857142856 1102,282 C 1228.4285714285713,280.42857142857144 1334.2142857142858,277.7142857142857 1440,275 L 1440,400 L 0,400 Z"); } 100%{ d: path("M 0,400 L 0,275 C 104.32142857142858,268.0357142857143 208.64285714285717,261.07142857142856 336,261 C 463.35714285714283,260.92857142857144 613.7499999999999,267.75 730,271 C 846.2500000000001,274.25 928.3571428571429,273.92857142857144 1041,274 C 1153.642857142857,274.07142857142856 1296.8214285714284,274.5357142857143 1440,275 L 1440,400 L 0,400 Z"); } }</style><path d="M 0,400 L 0,275 C 104.32142857142858,268.0357142857143 208.64285714285717,261.07142857142856 336,261 C 463.35714285714283,260.92857142857144 613.7499999999999,267.75 730,271 C 846.2500000000001,274.25 928.3571428571429,273.92857142857144 1041,274 C 1153.642857142857,274.07142857142856 1296.8214285714284,274.5357142857143 1440,275 L 1440,400 L 0,400 Z" stroke="none" stroke-width="0" fill="%238cd7de" fill-opacity="1" class="transition-all duration-300 ease-in-out delay-150 path-2"></path></svg>');
    border-radius: 15px;
}

#kontakt, #kontakt a {
    font: 25px/40px 'Avenir', Helvetica, serif !important;
    font-weight: 400;
    letter-spacing: 0;
    color: #fff;
}
#kontakt a {text-decoration: none;}

#kontakt a:hover {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400%25' height='100%25'%3E%3Cdefs%3E%3Cstyle%3E .wave%7B animation:wave 1s ease-in-out infinite alternate; animation-delay:0s; stroke:%23fff; stroke-width:0.12em; stroke-linecap:square; %7D @keyframes wave%7B to%7B d:path('M 0 40 Q 20 42.5 40 40 Q 60 37.5 80 40'); %7D %7D %3C/style%3E%3C/defs%3E%3Cpattern id='wavePattern' x='0' y='0' width='80' height='80' patternUnits='userSpaceOnUse'%3E%3Cpath fill='none' class='wave' d='M 0 40 Q 20 37.5 40 40 Q 60 42.5 80 40' /%3E%3C/pattern%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='url(%23wavePattern)'%3E%3C/rect%3E%3C/svg%3E") 0px 300% / 80px 80px repeat-x;
    text-decoration: none;
    background-position: 0 18%;
}
.kontakt-row {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    margin: 0 auto;
    text-align: left;
    padding: 120px 120px 120px 120px
}
.k1 {
    display: flex;
    align-items: baseline
}
.k2,
.k3,
.k4 {
    display: flex;
    align-items: center
}
.k1,
.k2,
.k3 {
    margin-right: 40px
}
.k2 {text-align: right}

#footer {
    background-color: #030d40;
    padding: 140px 0 140px 0;
    position: relative;
    color: #fff;
    font: 14px 'Avenir', sans-serif;
    letter-spacing: .012em;
    text-align: center;
    border-radius: 15px;
    margin: 30px 30px 30px 30px;
}
.footer-row {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
	align-items: center;
    padding: 0 120px 0 120px
}

#footer p {
    clear: both;
}

footer a,
footer a:visited {
    color: #2a2120
}

footer a:focus,
footer a:hover {
    color: #eeb868
}

footer .copyright li {
    display: inline-block;
}

.footer-logo {
    background: url("../media/logo/logo_biele.svg") no-repeat center;
    background-size: 225px 45px;
    width: 225px;
    height: 45px
}
.fot-lavy {margin-left: 0}

/* --- Odkazy v päte --------------------------------------------------------- */

/* PÄTIČKA – odkazy (Ochrana osobných údajov, VOP, cookies, Verejné
   obstarávanie…)

   Pôvodne boli tlačidlá len <a><button> naukladané za sebou (inline-block),
   ktoré sa pri nedostatku miesta zalamovali ako bežný text. So štyrmi
   tlačidlami to vytváralo škaredý zvyšok „3 + 1 osamotené“ približne medzi
   1400 a 1600 px šírky okna (predtým, než sa pätička pri užšej obrazovke
   prepne na vycentrované riadky pod sebou).

   Flex s wrapom rieši ľubovoľný počet tlačidiel: v širokom rozložení sa
   zalomený zvyšok drží pri pravom okraji (tam, kde by pokračoval ďalší
   stĺpec), vo vycentrovanom rozložení (≤1400px, pozri pm_respo.css) sa
   celý blok aj jeho zalomené riadky vycentrujú. Medzery medzi tlačidlami
   aj medzi riadkami rieši „gap“ namiesto pôvodného margin-right, takže sú
   všade rovnaké. */
.fot-pravy {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    row-gap: 14px;
    column-gap: 10px;
}

.fot-pravy .tl-footer {
    margin: 0;
}

/* ==========================================================================
   20. TLAČIDLÁ
   ========================================================================== */

.tlacidlo {
    position: relative;
    vertical-align: middle;
    display: inline-block;
    margin: 0;
    padding: 1em 2em;
    border-radius: 30px;
    text-align: center;
    cursor: pointer;
    -moz-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    -ms-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out
}
.pm-tl-stiahnut {padding: 1em 2em;}

.tl-footer {
    background-color: transparent;
    border: 2px solid #224272;
    color: #fff;
    font: 13px 'Avenir', sans-serif;
    padding: 1em 2.1em;
    margin-right: 4px
}
.tl-footer:hover {
    border: 2px solid #fff;
    -moz-transition: all 1.5s ease-in-out;
    -o-transition: all 1.5s ease-in-out;
    -webkit-transition: all 1.5s ease-in-out;
    -ms-transition: all 1.5s ease-in-out;
    transition: all 1.5s ease-in-out
}

.tl-newsky {
    color: #111b3b;
    font-weight: 700;
    display: block;
    margin: 0 auto;
    border: 3px solid #111b3b;
    font-size: 17px
}
.tl-newsky:hover {
    color: white;
    background-color: #111b3b
}
.lnk_newsky {
    text-decoration: none !important;
}
.tl-newsky-viac {
    color: #fff;
    font-weight: 700;
    display: block;
    border: 3px solid #7ec2c9;
    background-color: #7ec2c9;
    font-size: 13px;
    margin: 30px 0 0 140px;
}
.tl-normalne {
    margin: 0 auto;
    display: block;
    color: #fff;
    background-color: #121c3c;
    border: 3px solid #121c3c;
    font: 17px 'Avenir', sans-serif;
    font-weight: 700;
}
.tl-normalne:hover {
    background-color: #7ec2c9;
    border: 3px solid #7ec2c9;
}
.tl-email {
    position: relative;
    vertical-align: middle;
    display: inline-block;
    margin: 0;
    padding: 0 0 ;
    border-radius: 30px;
    border: 0;
    text-align: center;
    cursor: pointer;
    -moz-transition: all .9s ease-in-out;
    -o-transition: all .9s ease-in-out;
    -webkit-transition: all .9s ease-in-out;
    -ms-transition: all .9s ease-in-out;
    transition: all .9s ease-in-out;
    font-weight: 500;
    color: #111b3b
}

.tl-email:hover {
  color: #7ec2c9
}

/* --- Doplnky tlačidiel ----------------------------------------------------- */

/* Vyššia špecificita (.tlacidlo.pm-spat), aby okraje neprebili pravidlá .tl-normalne v pm_respo.css. */
.tlacidlo.pm-spat {
    margin: 60px auto 0 auto;
    display: block;
}

/* Vyššia špecificita (.tlacidlo.pm-tl-stiahnut), aby okraje neprebili pravidlá .tl-normalne v pm_respo.css. */
.tlacidlo.pm-tl-stiahnut {
    margin: 0;
    white-space: nowrap;
}

/* --- Tlačidlo na začiatok stránky ------------------------------------------ */

/* TLAČIDLO „NA ZAČIATOK STRÁNKY“ (.go-top)
   Podľa riešenia zo sbdsala.eu. Oprava: pôvodne „background-color: ##111b3b“
   (dve mriežky) – prehliadač takú hodnotu ignoruje a pozadie by chýbalo.
   Šípka je SVG, preto je obsah centrovaný flexom namiesto line-height. */
.go-top {
    position: fixed !important;
    right: 45px;
    bottom: -45px;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 30px;
    background-color: #111b3b !important;
    color: #fff;
    cursor: pointer;
    visibility: hidden;
    opacity: 0;
    box-shadow: 0 4px 14px rgba(17, 27, 59, .25);
    transition: all 0.5s;
}

.go-top svg {
    display: block;
    margin-top: 0;      /* dlhá šípka je v strede ikony */
}

.go-top:hover {
    background-color: #7ec2c9 !important;
    color: #fff !important;
}

.go-top:focus-visible {
    outline: 3px solid #7ec2c9;
    outline-offset: 3px;
}

.go-top.show {
    opacity: 1;
    visibility: visible;
    bottom: 60px;
}

/* ==========================================================================
   21. GALÉRIA A LIGHTBOX
   ========================================================================== */

/* Galéria na stránkach Distribúcia a O nás (inc/galeria.php, js/galeria.js).
   Dve zobrazenia náhľadov:
   - .pm-galeria-mriezka – rovnako veľké náhľady 4 : 3 (fotka sa oreže),
   - .pm-galeria-mozaika – celé fotky v pôvodnom pomere strán (stĺpce).
   Po kliknutí sa fotka vždy otvorí celá. */

/* --- Galéria na stránke -------------------------------------------------- */

.pm-galeria {
    margin: 60px 0 0 0;
    text-align: left;
}

.pm-galeria-nadpis {
    font: 25px 'Avenir', Helvetica, serif;
    font-weight: bold;
    line-height: 1.3;
    letter-spacing: normal;   /* ako nadpisy h3 */
    color: #111b3b;
    text-align: center;
    margin: 0 0 35px 0;
}

/* Fotky sú zarovnané na stred – neúplný posledný riadok (alebo galéria
   s menej fotkami, než je stĺpcov) je vycentrovaný. Počet stĺpcov:
   4 (nad 1200 px), 3 (do 1200 px), 2 (do 768 px). */
.pm-galeria-fotky {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.pm-galeria-polozka {
    flex: 0 0 calc((100% - 3 * 20px) / 4);
    min-width: 0;
    margin: 0;
    padding: 0;
}

.pm-galeria-odkaz {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 15px;
    background: #f6f6f6;
    cursor: zoom-in;
    -webkit-tap-highlight-color: transparent;
}

.pm-galeria-obr {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
    transition: transform .5s ease;
}

/* Mriežka – rovnaký výrez 4 : 3 pre fotky s ľubovoľným pomerom strán. */
.pm-galeria-mriezka .pm-galeria-odkaz {
    aspect-ratio: 4 / 3;
}

.pm-galeria-mriezka .pm-galeria-obr {
    height: 100%;
    object-fit: cover;
}

/* Mozaika – celé fotky v stĺpcoch (na výšku aj na šírku). Ak je fotiek
   menej ako stĺpcov, stĺpce sa zúžia na počet fotiek a sú na strede
   (triedy .pm-galeria-pocet-1 až -3 pridáva inc/galeria.php). */
.pm-galeria-mozaika .pm-galeria-fotky {
    display: block;
    column-count: 4;
    column-gap: 20px;
}

.pm-galeria-mozaika.pm-galeria-pocet-1 .pm-galeria-fotky {
    column-count: 1;
    max-width: calc((100% - 3 * 20px) / 4);
    margin: 0 auto;
}

.pm-galeria-mozaika.pm-galeria-pocet-2 .pm-galeria-fotky {
    column-count: 2;
    max-width: calc((100% - 3 * 20px) / 4 * 2 + 20px);
    margin: 0 auto;
}

.pm-galeria-mozaika.pm-galeria-pocet-3 .pm-galeria-fotky {
    column-count: 3;
    max-width: calc((100% - 3 * 20px) / 4 * 3 + 2 * 20px);
    margin: 0 auto;
}

.pm-galeria-mozaika .pm-galeria-polozka {
    break-inside: avoid;
    margin-bottom: 20px;
}

/* Prekrytie a lupa pri prejdení myšou. */
.pm-galeria-odkaz::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(17, 27, 59, 0.35);
    opacity: 0;
    transition: opacity .3s ease;
}

.pm-galeria-lupa {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin: -27px 0 0 -27px;
    border-radius: 50%;
    background: #7ec2c9;
    color: #fff;
    opacity: 0;
    transform: scale(.7);
    transition: opacity .3s ease, transform .3s ease;
}

.pm-galeria-odkaz:hover .pm-galeria-obr,
.pm-galeria-odkaz:focus-visible .pm-galeria-obr {
    transform: scale(1.05);
}

.pm-galeria-odkaz:hover::after,
.pm-galeria-odkaz:focus-visible::after,
.pm-galeria-odkaz:hover .pm-galeria-lupa,
.pm-galeria-odkaz:focus-visible .pm-galeria-lupa {
    opacity: 1;
}

.pm-galeria-odkaz:hover .pm-galeria-lupa,
.pm-galeria-odkaz:focus-visible .pm-galeria-lupa {
    transform: scale(1);
}

.pm-galeria-odkaz:focus-visible {
    outline: 3px solid #7ec2c9;
    outline-offset: 3px;
}

/* --- Lightbox (fotka na celú obrazovku) ------------------------------------ */

html.pm-lb-otvoreny,
html.pm-lb-otvoreny body {
    overflow: hidden;
}

html.pm-lb-otvoreny .go-top {
    display: none !important;
}

.pm-lightbox {
    position: fixed;
    inset: 0;
    z-index: 100001;          /* nad hlavičkou aj admin lištou WordPressu */
    display: flex;
    flex-direction: column;
    background: #0a1128;
    color: #fff;
    opacity: 0;
    transition: opacity .25s ease;
    -webkit-user-select: none;
    user-select: none;
}

.pm-lightbox[hidden],
.pm-lightbox [hidden] {
    display: none !important;
}

.pm-lightbox.pm-lb-aktivny {
    opacity: 1;
}

.pm-lb-lista {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    padding: 20px 24px 12px 24px;
}

.pm-lb-pocitadlo {
    font: 13px 'Avenir', Helvetica, serif;
    font-weight: bold;
    letter-spacing: 0.130em;
    color: #7ec2c9;
}

.pm-lb-zavriet {
    margin-left: auto;
}

.pm-lb-tl {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    margin-top: 0;
    margin-bottom: 0;
    border: 0;
    border-radius: 50%;
    background: #7ec2c9;
    color: #fff;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.pm-lb-tl svg {
    display: block;
}

.pm-lb-tl:hover {
    background: #fff;
    color: #111b3b;
}

.pm-lb-tl:active {
    transform: scale(.94);
}

.pm-lb-tl:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

.pm-lb-sipka {
    width: 56px;
    height: 56px;
}

.pm-lb-scena {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 0 24px 24px 24px;
}

.pm-lb-figura {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pm-lb-obal {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60px;
}

/* Fotka sa zmestí celá – na šírku aj na výšku, menšie fotky sa nezväčšujú.
   --pm-lb-rezerva = výška lišty, popisu a okrajov (počíta js/galeria.js). */
.pm-lb-obr {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(100vh - var(--pm-lb-rezerva, 130px));
    max-height: calc(100dvh - var(--pm-lb-rezerva, 130px));
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
    opacity: 0;
    transition: opacity .3s ease;
}

.pm-lb-obr.pm-lb-viditelny {
    opacity: 1;
}

.pm-lb-popis {
    flex: 0 0 auto;
    max-width: 900px;
    max-height: 25vh;
    overflow-y: auto;
    margin: 18px auto 0 auto;
    font: 15px/23px "Montserrat", Helvetica, serif;
    color: #fff;
    text-align: center;
    -webkit-user-select: text;
    user-select: text;
}

.pm-lb-nacitanie {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 44px;
    height: 44px;
    margin: -22px 0 0 -22px;
    border: 3px solid rgba(126, 194, 201, 0.25);
    border-top-color: #7ec2c9;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    animation: pm-lb-toc .8s linear infinite;
    transition: opacity .2s ease .15s;
}

.pm-lb-nacitava .pm-lb-nacitanie {
    opacity: 1;
}

@keyframes pm-lb-toc {
    to { transform: rotate(360deg); }
}

/* ==========================================================================
   22. COOKIES – SÚHLAS
   ========================================================================== */

/* Knižnica CookiesConsentJS (js/vendor/cookiesconsent/) – vzhľad sa
   nastavuje jej CSS premennými a niekoľkými doplnkami nižšie.
   Nastavenia a texty: js/cookies.js, inc/cookies.php. */

/* --- Farby, písmo, rozmery -------------------------------------------------- */

.cc-window,
.cc-modal-window {
    --fontFamily: "Montserrat", Helvetica, sans-serif;
    --windowBg: #fff;
    --popupBg: #fff;
    --windowRadius: 15px;
    --popupRadius: 15px;
    --windowWidth: 470px;
    --popupWidth: 640px;
    --windowPadding: 6px 4px;
    --windowMarginLeft: 30px;
    --windowMarginRight: 30px;
    --windowMarginBottom: 30px;

    --titleTextColor: #111b3b;
    --titleFontSize: 17px;
    --titleFontWeight: 700;
    --messageTextColor: #111b3b;
    --messageFontSize: 14px;
    --messageLineHeight: 22px;
    --messageLinkColor: #111b3b;
    --popupTextColor: #111b3b;
    --settingsTitleSize: 15px;
    --settingsFontSize: 14px;
    --settingsSeparatorColor: #e4e7ec;
    --btnCloseColor: #111b3b;
    --btnCloseColorHover: #7ec2c9;

    --btnRadius: 30px;
    --btnFontSize: 12px;
    --btnFontWeight: 700;
    --btnPadding: 10px 18px;
    --btnMargin: 0;
    --buttonsPadding: 6px 24px 20px 24px;
    --messagePadding: 8px 24px 10px 24px;
    --buttonsAlign: left;

    --btnAcceptBg: #111b3b;
    --btnAcceptBgHover: #7ec2c9;
    --btnAcceptTextColor: #fff;
    --btnAcceptBorder: 2px solid #111b3b;

    --btnRejectBg: transparent;
    --btnRejectBgHover: #111b3b;
    --btnRejectTextColor: #111b3b;
    --btnRejectBorder: 2px solid #111b3b;

    --btnInfoBg: transparent;           /* tlačidlo „Nastavenia“ */
    --btnInfoBgHover: #eef7f8;
    --btnInfoTextColor: #111b3b;
    --btnInfoBorder: 2px solid transparent;

    --btnSettingsAcceptBg: #111b3b;
    --btnSettingsAcceptBgHover: #7ec2c9;
    --btnSettingsAcceptTextColor: #fff;
    --btnSettingsAcceptBorder: 2px solid #111b3b;

    --btnSettingsSelectBg: transparent;
    --btnSettingsSelectBgHover: #111b3b;
    --btnSettingsSelectTextColor: #111b3b;
    --btnSettingsSelectBorder: 2px solid #111b3b;
}

.cc-window {
    filter: none;
    box-shadow: 0 10px 40px rgba(17, 27, 59, 0.22);
}

.cc-window .cc-window-title {
    font-family: 'Avenir', Helvetica, sans-serif;
    letter-spacing: 0.050em;
    margin-bottom: 0;
}

/* Tlačidlá vedľa seba s medzerou; na mobile „Nastavenia“ pod ostatnými. */
.cc-window .cc-window-buttons,
.cc-modal-window .cc-window-settings-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.cc-modal-window .cc-window-settings-buttons {
    padding: 20px 0 0 0;
}

.cc-window .cc-window-policy a {
    display: inline-block;
    margin-top: 4px;
}

/* Tlačidlá v štýle webu (Avenir, veľké písmená). */
.cc-window .cc-window-buttons button,
.cc-modal-window .cc-window-settings-buttons button {
    font-family: 'Avenir', Helvetica, sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.060em;
    line-height: 1.2;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.cc-window .cc-window-buttons button.cc-btn-accept:hover,
.cc-modal-window .cc-window-settings-buttons button.cc-btn-settings-accept:hover {
    border-color: #7ec2c9;
    color: #111b3b;
}

.cc-window .cc-window-buttons button.cc-btn-reject:hover,
.cc-modal-window .cc-window-settings-buttons button.cc-btn-settings-select:hover {
    color: #fff;
}

.cc-window .cc-window-buttons button:focus-visible,
.cc-modal-window button:focus-visible,
.cc-modal-close:focus-visible,
#cc-btn-dismiss:focus-visible,
.cc-modal-window .switch input:focus-visible + .slider {
    outline: 3px solid #7ec2c9;
    outline-offset: 2px;
}

/* --- Okno s nastaveniami ---------------------------------------------------- */

.cc-modal {
    z-index: 100000;
    background-color: rgba(10, 17, 40, 0.6);
}

.cc-modal-window {
    filter: none;
    box-shadow: 0 16px 50px rgba(0, 0, 0, 0.35);
    max-width: calc(100% - 30px);
    box-sizing: border-box;
}

.cc-modal-window .cc-modal-content h2 {
    font: 22px 'Avenir', Helvetica, sans-serif;
    font-weight: 700;
    letter-spacing: 0.050em;
    text-align: left;
    margin: 0 0 12px 0;
}

.cc-modal-window .cc-modal-content p {
    text-align: left;
}

.cc-modal-window .cc-window-settings-header {
    margin-bottom: 1rem;
}

.cc-modal-window .cc-window-settings-cookie-title {
    font-family: 'Avenir', Helvetica, sans-serif;
    letter-spacing: 0.030em;
}

.cc-modal-close {
    font-size: 28px;
    line-height: 1;
    padding: 0 6px 0 0;
}

/* Prepínače: vypnuté sivé, zapnuté tyrkysové; nevyhnutné tlmené. */
.cc-modal-window .cc-modal-content .slider {
    background-color: #c9ced8;
}

.cc-modal-window .cc-modal-content input:checked + .slider {
    background-color: #7ec2c9;
}

.cc-modal-window .cc-modal-content input:disabled:checked + .slider {
    background-color: #7ec2c9;
    opacity: .5;
    cursor: not-allowed;
}

/* --- Tlačidlo na opätovné otvorenie (vľavo dole) -------------------------- */

#cc-btn-dismiss {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    background-color: #111b3b;
    color: #fff;
    opacity: 1;
    filter: none;
    box-shadow: 0 4px 14px rgba(17, 27, 59, 0.25);
    transition: background-color .2s ease;
}

#cc-btn-dismiss.cc-pos-bottom-left {
    left: 45px;
    bottom: 60px;
}

#cc-btn-dismiss:hover {
    background-color: #7ec2c9;
}

#cc-btn-dismiss svg {
    display: block;
}

/* Tlačidlo [pm_cookies_nastavenia] v texte stránky. */
.pm-obsah .pm-cookies-otvorit {
    margin: 10px 0 20px 0;
}
