/* ═══════════════════════════════════
   CJENIK · PAGE STYLES
   ═══════════════════════════════════ */

/* ── PAGE HERO (isti obrazac kao o-projektu.css .ph) ─── */
.ph {
  position: relative;
  background: var(--dark);
  overflow: hidden;
  padding: 80px var(--pad) 88px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.ph__bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 100% at 80% 50%, rgba(62,203,164,.1) 0%, transparent 65%);
  pointer-events: none;
}
.ph__shapes { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.ph__shape { position: absolute; color: var(--mint); }
.ph__shape--tri {
  width: 120px; top: 10%; right: 8%; opacity: .06;
  animation: sf 14s ease-in-out infinite;
}
.ph__shape--circ {
  width: 180px; bottom: -30px; right: 20%; opacity: .04;
  animation: sf 18s ease-in-out infinite reverse;
}
.ph__body {
  position: relative; z-index: 2;
  max-width: var(--max); width: 100%; margin: 0 auto;
  display: flex; flex-direction: column; gap: 16px;
}
.ph__back {
  font-size: .8rem; font-weight: 600;
  color: rgba(62,203,164,.6); text-decoration: none;
  letter-spacing: .02em; transition: color .2s; width: fit-content;
}
.ph__back:hover { color: var(--mint); }
.ph__label {
  font-size: .75rem; font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase;
  color: var(--mint); opacity: .7;
}
.ph__h1 {
  font-family: var(--serif);
  font-size: clamp(2.2rem, 5vw, 3.6rem);
  font-weight: 300; line-height: 1.15;
  color: var(--snow); letter-spacing: -.02em;
}
.ph__h1 em { font-style: italic; color: var(--mint); }
.ph__sub {
  font-size: 1rem; color: var(--sdim);
  line-height: 1.6; max-width: 560px;
}

/* ── PRICEBOX GRID (tri maturantske grupe jedna uz drugu) ── */
.pricebox-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.pricebox-grid .pricebox { padding: 22px 22px; gap: 12px; }
.pricebox-grid .pricebox__row { flex-direction: column; align-items: flex-start; gap: 10px; }
.pricebox-grid .pricebox__price { font-size: clamp(1.7rem, 2.6vw, 2.2rem); }
.pricebox-grid .pricebox__group {
  font-size: .78rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--teal);
}

/* ── SATNICA TABLICA ─────────────────────────────────── */
.rate-table {
  width: 100%; border-collapse: collapse;
  background: var(--white);
  border: 1px solid var(--border); border-radius: var(--r);
  overflow: hidden;
}
.rate-table th, .rate-table td {
  padding: 14px 18px; text-align: left;
  font-size: .94rem; border-bottom: 1px solid var(--border);
}
.rate-table th {
  background: rgba(62,203,164,.06);
  font-weight: 700; color: var(--teal-deep);
  font-size: .82rem; letter-spacing: .03em; text-transform: uppercase;
}
.rate-table td { color: var(--t2); }
.rate-table td strong { color: var(--t1); }
.rate-table tr:last-child td { border-bottom: none; }
.rate-table__col--polaznik { color: var(--teal-deep); font-weight: 700; }

/* ── RESPONSIVE ──────────────────────────────────────── */
@media (max-width: 860px) {
  .ph { padding: 64px var(--pad) 72px; }
  .pricebox-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .ph { padding: 52px var(--pad) 60px; }
  .rate-table th, .rate-table td { padding: 11px 12px; font-size: .87rem; }
}
