/* ponuka.css - stránky /ponuka/ a podstránky (moduly partials/blocks-ponuka.php). Hodnoty z CSS pôvodného webu
   (Divi + Divi Pixel: et-cache/<id stránky>/…deferred….min.css). Zlomy ako style.css: ≥ 981 / ≤ 980 / ≤ 767 px.
   Premenné: bez prípony = počítač, t = tablet, m = mobil. */

.pn-hero h1 { text-transform: uppercase; }

/* ---------- Riadky a stĺpce (Divi: gutters3 = medzera 5,5 %, gutters2 = 3 %) ---------- */
.row > *, .col > * { margin-top: var(--mt, 0); }
.row-3 { display: flex; column-gap: 5.5%; }
.row-3 > .col { width: 29.6667%; --mbd: 9.27%; }
.pn-g2 { column-gap: 3%; --mbd: 1.5%; }
.pn-g2.row-2 > .col { width: 48.5%; --mbd: 3.093%; }
.pn-g2.row-3 > .col { width: 31.3333%; --mbd: 4.7826%; }
.row > .col.pn-cw { width: var(--w); }
.row-2 > .col, .row-3 > .col { margin-bottom: 0; }
@media (min-width: 981px) {
  /* medzera pod modulom: Divi % zo šírky stĺpca (podľa typu stĺpca a medzery riadku) */
  .col > *, .pn-g2 > * { margin-bottom: var(--mb, var(--mbd, 2.75cqw)); }
  .col > :last-child, .pn-g2 > :last-child { margin-bottom: var(--mb, 0); }
  .row > .col { padding: var(--cp, 0); }
}
@media (max-width: 980px) {
  .row > *, .col > * { margin-top: var(--mtt, var(--mt, 0)); }
  .row-3 { display: block; }
  .row-3 > .col, .pn-g2.row-2 > .col, .pn-g2.row-3 > .col, .row > .col.pn-cw { width: 100%; }
  .row-3 > .col:not(:last-child) { margin-bottom: 30px; }
  .col > * { margin-bottom: var(--mbt, var(--mb, 30px)); }
  .col > :last-child { margin-bottom: var(--mbt, var(--mb, 0)); }
  .row > .col { padding: var(--cpt, var(--cp, 0)); }
}
@media (max-width: 767px) {
  .row > *, .col > * { margin-top: var(--mtm, var(--mtt, var(--mt, 0))); }
  .col > * { margin-bottom: var(--mbm, var(--mbt, var(--mb, 30px))); }
  .col > :last-child { margin-bottom: var(--mbm, var(--mbt, var(--mb, 0))); }
  .row > .col { padding: var(--cpm, var(--cpt, var(--cp, 0))); }
}

/* stĺpce s pozadím: béžový (cenník, karty tort) a biely s rámikom (objednávka) */
.pn-box { border-radius: 15px; overflow: hidden; background: var(--beige); }
.pn-obox { border: 1px solid var(--beige); border-radius: 15px; overflow: hidden; background: #fff; }

/* štítok nad cenníkom (biely pás so zaoblením dole) */
.txt.pn-tab {
  max-width: var(--tw, 428px); margin-left: auto; margin-right: auto; padding: 5px 0; border-radius: 0 0 10px 10px;
  background: #fff; font: 500 15px/23.8px var(--roboto); letter-spacing: 1px; text-transform: uppercase; color: #000; text-align: center;
}
.txt em { font-style: italic; }

/* ---------- Objednávka (3 textové moduly) ---------- */
.txt.pn-oh h3 { font-size: 30px; line-height: 1em; }
.col > .pn-oh { margin-top: var(--ohmt, 55px); margin-bottom: 16px; }
.col > .pn-oq { margin-top: -3px; margin-bottom: 31px; }
.col > .pn-ot { margin-top: -2px; margin-bottom: var(--otmb, 0); }
@media (max-width: 980px) {
  .col > .pn-oh { margin-top: var(--ohmtt, 47px); }
  .col > .pn-ot { margin-bottom: var(--otmbt, 30px); }
}

/* ---------- Cenník (Divi Pixel Price List) ---------- */
.pn-pi { margin-bottom: 15px; padding: 8px 0 0 10px; }
.pn-pi:last-child { margin-bottom: var(--plmb, 15px); }
.pn-ph { display: flex; align-items: baseline; }
.pn-pt { padding-bottom: 10px; font: 500 var(--pfs, 18px)/1em var(--roboto); color: #000; }
.pn-sep { flex: 1 1 10%; margin: 0 5px; border-bottom: 2px dotted rgba(90, 20, 38, .2); }
.pn-pp { font: 500 var(--pfs, 18px)/23.8px var(--roboto); color: #000; }
.pn-pc { font-size: 14px; line-height: 23.8px; color: #666; }
.pn-pc strong { font-weight: 700; }
@media (max-width: 767px) { .pn-prices { --pfs: 16px; } }

/* ---------- Galéria (Divi Pixel Masonry Gallery): --n stĺpcov, medzera 10 px, zaoblenie 15 px ---------- */
.pn-gal { --gc: var(--n, 5); display: flex; flex-wrap: wrap; gap: 10px; position: relative; }
.pn-gi { display: block; width: calc((100% - (var(--gc) - 1) * 10px) / var(--gc)); border-radius: 15px; overflow: hidden; cursor: pointer; }
.pn-gi img { display: block; width: 100%; height: auto; object-fit: cover; }
.pn-gal.is-masonry { display: block; }
.pn-gal.is-masonry > .pn-gi { position: absolute; }
@media (max-width: 980px) { .pn-gal { --gc: var(--nt, 3); } }
@media (max-width: 767px) { .pn-gal { --gc: var(--nm, 1); } }

/* ---------- Zoznam s hviezdičkou (Divi blurb, ikona ETmodules 32 px) ---------- */
.pn-bl { display: flex; max-width: 550px; margin: 20px auto; font: 600 16px/23.8px var(--open); color: #000; text-align: left; }
.col > .pn-bl { margin-top: 20px; margin-bottom: 20px; }
.pn-bl-i { flex: 0 0 32px; height: 26px; color: var(--pink); font-size: 32px; line-height: 0; }
.pn-bl-i .ico { display: block; margin-top: -6px; height: 32px; }
.pn-bl-t { padding-left: 15px; }

/* ---------- Okrúhly obrázok (karty tort) ---------- */
.pn-circle { width: 200px; height: 200px; margin-left: auto; margin-right: auto; border-radius: 100px; overflow: hidden; }
.pn-circle img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--bp, center); }

/* tlačidlo čierne (karty tort) */
.btn.btn-black { background-color: #000; }
.btn.btn-black:hover { background-color: var(--beige); }

/* galéria s rámikom 1 px (trvanlivé pečivo) */
.pn-gal.pn-gb > .pn-gi { border: 1px solid var(--beige2); }

/* spodný okraj riadku (Divi margin-bottom riadku) */
.sec > .row { margin-bottom: var(--rmb, 0); }

/* text s max. šírkou 900 px na stred (úvod podstránok tort) */
.txt.pn-w900 { max-width: 900px; margin-left: auto; margin-right: auto; }
/* príchute: 3 stĺpce, prvé dva s odsadením 30 px vľavo (počítač) */
@media (min-width: 981px) { .pn-flav > .col:not(:last-child) { padding-left: 30px; } }

/* karty druhov tort (Klasické a marcipánové torty): béžový stĺpec, nadpis 49 px, kruh, čierne tlačidlo */
.txt.pn-ct { max-width: var(--ctw, none); margin-left: auto; margin-right: auto; text-transform: uppercase; }
.txt.pn-ct h2 { font-size: 49px; color: #000; }
.txt.pn-ct h2 span { color: var(--pink); }
@media (max-width: 980px) { .txt.pn-ct h2 { font-size: 55px; } }
@media (max-width: 767px) { .txt.pn-ct h2 { font-size: 35px; } }
.txt h3 { font-size: var(--h3fs, 22px); text-transform: var(--h3tt, uppercase); }
