/* ==========================================================
   MARK REAL - tlačové výstupy ponuky (A4): tlač detailu a plagát
   ========================================================== */
@page { size: A4; margin: 12mm 12mm 12mm; }

.ps { --ps-accent: #1ca9e0; --ps-ink: #0b0d10; --ps-dim: #4a525c; --ps-faint: #7b838d; --ps-line: #e2e6ea;
  background: #fff; color: var(--ps-ink); font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  -webkit-print-color-adjust: exact; print-color-adjust: exact; line-height: 1.4; text-align: left; }
.ps * { box-sizing: border-box; }
.ps img { display: block; }
.ps h1, .ps h2 { color: var(--ps-ink); text-transform: none; letter-spacing: 0; margin: 0; font-family: inherit; }
.ps-logo { height: 13mm; width: auto; }

/* ---------- tlač detailu ---------- */
.ps-brochure { width: 186mm; margin: 0 auto; font-size: 9.6pt; }
.ps-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 4mm; border-bottom: 1.2mm solid var(--ps-accent); margin-bottom: 5mm; }
.ps-head-r { text-align: right; font-size: 8.5pt; color: var(--ps-faint); }
.ps-head-r b { color: var(--ps-ink); }
.ps-title-row { display: flex; justify-content: space-between; gap: 8mm; align-items: flex-end; margin-bottom: 4mm; }
.ps-kicker { font-size: 8.5pt; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ps-accent); margin-bottom: 1.5mm; }
.ps-brochure h1 { font-size: 19pt; line-height: 1.15; font-weight: 800; }
.ps-loc { color: var(--ps-dim); margin-top: 1.5mm; }
.ps-loc i { color: var(--ps-accent); }
.ps-price { font-size: 19pt; font-weight: 800; white-space: nowrap; text-align: right; color: var(--ps-ink); }
.ps-price small { display: block; font-size: 9pt; font-weight: 500; color: var(--ps-faint); }
.ps-photo-main { height: 80mm; border-radius: 3mm; overflow: hidden; background: #eef1f4; }
.ps-photo-main img, .ps-photo-row img { width: 100%; height: 100%; object-fit: cover; }
.ps-photo-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5mm; margin-top: 2.5mm; height: 28mm; }
.ps-photo-row > div { border-radius: 2mm; overflow: hidden; background: #eef1f4; }
.ps-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.5mm; margin: 4mm 0; }
.ps-facts > div { border: 0.3mm solid var(--ps-line); border-radius: 2.5mm; padding: 2.5mm 3mm; display: grid; grid-template-columns: auto 1fr; column-gap: 2.5mm; align-items: center; }
.ps-facts i { grid-row: span 2; color: var(--ps-accent); font-size: 12pt; }
.ps-facts span { font-size: 7.5pt; color: var(--ps-faint); text-transform: uppercase; letter-spacing: .04em; }
.ps-facts b { font-size: 10.5pt; }
.ps-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 7mm; }
.ps-brochure h2 { font-size: 10pt; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--ps-accent); margin: 1mm 0 2mm; }
.ps-params { margin: 0 0 3mm; }
.ps-params > div { display: flex; justify-content: space-between; gap: 4mm; padding: 1.3mm 0; border-bottom: 0.25mm solid var(--ps-line); break-inside: avoid; }
.ps-params dt { color: var(--ps-faint); }
.ps-params dd { margin: 0; font-weight: 600; text-align: right; }
.ps-feats { margin: 0 0 3mm; color: var(--ps-dim); }
.ps-contact { display: flex; gap: 4mm; align-items: center; justify-content: space-between; border: 0.3mm solid var(--ps-line); border-radius: 3mm; padding: 3mm; margin-top: 2mm; break-inside: avoid; }
.ps-agent { display: flex; gap: 3mm; align-items: center; min-width: 0; }
.ps-agent img { width: 17mm; height: 17mm; border-radius: 50%; object-fit: cover; flex: none; }
.ps-agent small { display: block; font-size: 7.5pt; color: var(--ps-faint); text-transform: uppercase; letter-spacing: .05em; }
.ps-agent b { display: block; font-size: 11pt; }
.ps-agent span { display: block; font-size: 8.8pt; color: var(--ps-dim); white-space: nowrap; }
.ps-agent i { color: var(--ps-accent); width: 4mm; }
.ps-qr { text-align: center; flex: none; }
.ps-qr svg { width: 22mm; height: 22mm; display: block; }
.ps-qr small { display: block; font-size: 6.5pt; color: var(--ps-faint); margin-top: 1mm; }
.ps-desc { margin-top: 4mm; }
.ps-desc p { margin: 0 0 2.2mm; color: #22272d; text-align: justify; }
.ps-foot { margin-top: 5mm; padding-top: 2.5mm; border-top: 0.3mm solid var(--ps-line); font-size: 7.8pt; color: var(--ps-faint); text-align: center; }

/* ---------- A4 plagát ---------- */
.ps-poster { width: 210mm; height: 297mm; padding: 11mm 12mm 10mm; display: flex; flex-direction: column; overflow: hidden; position: relative; }
.pp-top { display: flex; justify-content: space-between; align-items: center; gap: 6mm; margin-bottom: 5mm; }
.pp-top .ps-logo { height: 16mm; }
.pp-headline { background: var(--ps-accent); color: #fff; font-weight: 900; font-size: 25pt; letter-spacing: .06em; padding: 2.5mm 7mm; border-radius: 2.5mm; line-height: 1.1; text-align: center; }
.pp-photo { position: relative; flex: 1 1 auto; min-height: 70mm; border-radius: 4mm; overflow: hidden; background: #eef1f4; }
.pp-photo img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.pp-small { display: grid; gap: 2.5mm; margin-top: 2.5mm; height: 36mm; flex: none; }
.pp-small-1 { grid-template-columns: 1fr; } .pp-small-2 { grid-template-columns: 1fr 1fr; } .pp-small-3 { grid-template-columns: repeat(3, 1fr); }
.pp-small > div { border-radius: 2.5mm; overflow: hidden; background: #eef1f4; }
.pp-small img { width: 100%; height: 100%; object-fit: cover; }
.pp-body { flex: none; padding: 5mm 0 3mm; }
.pp-kicker { font-size: 10pt; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ps-accent); }
.ps-poster h1 { font-size: 23pt; line-height: 1.12; font-weight: 800; margin-top: 1.5mm; }
.pp-price { font-size: 30pt; font-weight: 900; margin-top: 2mm; letter-spacing: -.01em; }
.pp-closed-note { font-size: 14pt; font-weight: 700; color: var(--ps-accent); margin-top: 1mm; }
.pp-closed-note i { font-size: 11pt; margin-right: 1.5mm; }
.pp-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3mm; margin-top: 4mm; }
.pp-facts > div { background: #f2f5f8; border-radius: 3mm; padding: 3mm; text-align: center; }
.pp-facts i { color: var(--ps-accent); font-size: 14pt; display: block; margin-bottom: 1.5mm; }
.pp-facts b { display: block; font-size: 12.5pt; }
.pp-facts span { display: block; font-size: 7.5pt; color: var(--ps-faint); text-transform: uppercase; letter-spacing: .05em; margin-top: .5mm; }
.pp-desc { font-size: 10.5pt; color: #2b3138; margin: 4mm 0 0; line-height: 1.5; }
.pp-note { font-size: 12pt; font-weight: 700; margin: 3mm 0 0; color: var(--ps-ink); }
.pp-foot { flex: none; display: flex; justify-content: space-between; align-items: center; gap: 6mm; border-top: 1.2mm solid var(--ps-accent); padding-top: 4mm; }
.pp-agent { display: flex; gap: 4mm; align-items: center; }
.pp-agent img { width: 24mm; height: 24mm; border-radius: 50%; object-fit: cover; }
.pp-agent small { display: block; font-size: 8pt; color: var(--ps-faint); text-transform: uppercase; letter-spacing: .06em; }
.pp-agent b { display: block; font-size: 14pt; }
.pp-agent span { display: block; font-size: 10pt; color: var(--ps-dim); }
.pp-agent .pp-phone { font-size: 17pt; font-weight: 900; color: var(--ps-ink); margin: .5mm 0; }
.pp-qr { display: flex; align-items: center; gap: 3mm; }
.pp-qr svg { width: 27mm; height: 27mm; display: block; }
.pp-qr small { font-size: 8pt; color: var(--ps-faint); line-height: 1.35; }

/* ---------- tlač z detailu ponuky na webe ---------- */
#printSheet { display: none; }
@media print {
  body.printing > *:not(#printSheet) { display: none !important; }
  body.printing #printSheet { display: block; }
  body.printing { background: #fff !important; }
  html:has(body.printing) { background: #fff !important; }
  .ps-photo-main, .ps-photo-row, .ps-facts { break-inside: avoid; }
  .ps-brochure h2 { break-after: avoid; }
}
