/* AapnaClinic catalogue — A4 sheets on screen, exact pages in print/PDF. */

@page { size: A4; margin: 0; }

.cat-toolbar { position: sticky; top: 72px; z-index: 40; background: rgba(246, 249, 251, .92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.cat-toolbar .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; padding: .8rem 0; }
.cat-toolbar p { color: var(--muted); font-size: .92rem; }
.sheets { display: grid; gap: 28px; justify-content: center; padding: 32px 12px 60px; }

.sheet {
  position: relative; width: 210mm; height: 297mm; overflow: hidden;
  background: #fff; box-shadow: 0 20px 60px -20px rgba(11, 27, 46, .35);
  padding: 16mm 15mm 14mm; display: flex; flex-direction: column;
  font-size: 10.5pt; line-height: 1.5; color: var(--ink);
}
.sheet-foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; padding-top: 6mm; border-top: 1px solid var(--line); font-size: 8.5pt; color: var(--muted); }
.sheet-foot .brand { font-size: 10.5pt; }
.sheet-foot .brand img { width: 22px; height: 22px; }

.cat-kicker { font-size: 8pt; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--brand-ink); }
.cat-h { font-size: 24pt; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; margin: 2mm 0 3mm; }
.cat-sub { color: var(--muted); font-size: 11pt; max-width: 150mm; margin-bottom: 7mm; }

/* cover */
.cover { padding: 0; background: radial-gradient(120mm 120mm at 100% 0%, rgba(20, 184, 166, .35), transparent 70%), radial-gradient(110mm 110mm at 0% 100%, rgba(249, 115, 82, .28), transparent 70%), var(--navy); color: #fff; }
.cover-in { padding: 18mm 16mm; display: flex; flex-direction: column; height: 100%; }
.cover .brand { color: #fff; font-size: 16pt; }
.cover .brand b { color: #5eead4; }
.cover .brand img { width: 44px; height: 44px; }
.cover h1 { font-size: 40pt; font-weight: 800; line-height: 1.02; letter-spacing: -.03em; margin: 26mm 0 6mm; }
.cover h1 span { color: #5eead4; }
.cover p.big { font-size: 14pt; color: #c3d3e4; max-width: 150mm; }
.cover-tags { display: flex; flex-wrap: wrap; gap: 2.5mm; margin: 10mm 0; }
.cover-tags span { border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; padding: 1.6mm 4mm; font-size: 9.5pt; font-weight: 600; }
.cover-shots { display: grid; grid-template-columns: 1.4fr 1fr; gap: 4mm; margin-top: auto; }
.cover-shots img { border-radius: 4mm; border: 1px solid rgba(255, 255, 255, .15); aspect-ratio: 16 / 10; object-fit: cover; object-position: top; width: 100%; }
.cover-shots .stack { display: grid; gap: 4mm; }
.cover-foot { display: flex; justify-content: space-between; align-items: end; margin-top: 8mm; font-size: 10pt; color: #c3d3e4; }
.cover-foot b { color: #fff; }

/* blocks */
.cat-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 5mm; }
.cat-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4mm; }
.cat-card { border: 1px solid var(--line); border-radius: 4mm; padding: 5mm; background: #fff; }
.cat-card .ic { width: 11mm; height: 11mm; border-radius: 3mm; }
.cat-card .ic svg { width: 6mm; height: 6mm; }
.cat-card h3 { font-size: 12.5pt; margin: 3mm 0 1.5mm; }
.cat-card p { color: var(--muted); font-size: 9.5pt; }
.cat-card ul { list-style: none; margin-top: 2.5mm; display: grid; gap: 1.4mm; }
.cat-card li { position: relative; padding-left: 5mm; font-size: 9.5pt; color: var(--ink-2); }
.cat-card li::before { content: "✓"; position: absolute; left: 0; color: var(--brand); font-weight: 800; }
.cat-card.wide { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 5mm; align-items: center; }
.cat-card.wide img { border-radius: 3mm; border: 1px solid var(--line); }
.group-band { display: flex; align-items: center; gap: 4mm; padding: 4mm 5mm; border-radius: 4mm; margin-bottom: 5mm; color: #fff; }
.group-band .ic { background: rgba(255, 255, 255, .18); color: #fff; width: 12mm; height: 12mm; }
.group-band b { font-size: 16pt; display: block; line-height: 1.1; }
.group-band small { opacity: .85; font-size: 9.5pt; }
.band-grow { background: linear-gradient(110deg, #f97352, #e2556d); }
.band-run { background: linear-gradient(110deg, #1d4ed8, #0b2340); }
.band-care { background: linear-gradient(110deg, #0d9488, #0f766e); }
.band-know { background: linear-gradient(110deg, #6d28d9, #0b2340); }

.cat-themes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4mm; }
.cat-theme { border: 1px solid var(--line); border-radius: 3mm; overflow: hidden; }
.cat-theme img { aspect-ratio: 16 / 9; object-fit: cover; object-position: top; width: 100%; }
.cat-theme div { padding: 2mm 3mm; font-size: 9pt; }
.cat-theme b { font-size: 10pt; }
.cat-theme span { color: var(--muted); }

.cat-journey { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2mm; margin-top: 4mm; }
.cat-journey div { text-align: center; background: var(--bg); border-radius: 3mm; padding: 3mm 1.5mm; font-size: 8.5pt; }
.cat-journey b { display: block; font-size: 9.5pt; }
.cat-steps { list-style: none; counter-reset: s; display: grid; gap: 4mm; }
.cat-steps li { counter-increment: s; display: grid; grid-template-columns: 11mm 1fr; gap: 4mm; align-items: start; }
.cat-steps li::before { content: counter(s); width: 11mm; height: 11mm; border-radius: 50%; background: var(--brand); color: #fff; font-weight: 800; display: grid; place-items: center; font-size: 12pt; }
.cat-steps b { display: block; font-size: 11.5pt; }
.cat-steps span { color: var(--muted); font-size: 9.5pt; }
.cat-contact { margin-top: 8mm; border-radius: 5mm; padding: 8mm; background: linear-gradient(120deg, var(--navy), #0b3b4f 60%, var(--brand)); color: #fff; }
.cat-contact h2 { font-size: 20pt; font-weight: 800; }
.cat-contact p { color: #c3d3e4; margin: 2mm 0 5mm; }
.cat-contact .rows { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 4mm; }
.cat-contact .rows div { background: rgba(255, 255, 255, .1); border-radius: 3mm; padding: 3.5mm; }
.cat-contact small { display: block; opacity: .75; font-size: 8.5pt; }
.cat-contact b { font-size: 10.5pt; white-space: nowrap; }

/* On narrow screens, scale the sheets down instead of breaking layout. */
@media screen and (max-width: 860px) {
  .sheets { justify-content: start; overflow-x: auto; }
  .sheet { zoom: .46; }
}

@media print {
  html, body { background: #fff !important; }
  .site-header, .site-footer, .wa-float, .cat-toolbar, .skip { display: none !important; }
  .sheets { display: block; padding: 0; }
  .sheet { box-shadow: none; margin: 0; page-break-after: always; break-after: page; zoom: 1; }
  .sheet:last-child { page-break-after: auto; break-after: auto; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .js [data-reveal] { opacity: 1 !important; transform: none !important; }
}
