/* =====================================================================
   Hydari theme — the print version of a post (spec 4.21): no header, no
   menus; the print logo, the text, the post's address and its QR code.
   On screen it is one sheet of paper under a floating tool bar: a band of
   the palette's colours on top, the site and the print date, the title
   with a short two-colour rule, the meta as small chips, and the address
   with its QR code in a framed box. On paper it is black ink on white
   whatever the palette or night mode (the top band prints in grey).
   ===================================================================== */

*, *::before, *::after { box-sizing: border-box; }
body.hy-print { --ink: var(--text-main, #111); --muted: var(--text-secondary, #555); --line: var(--border-light, #ccc); --accent: var(--color-accent, var(--color-primary, #333));
    margin: 0; padding: 1rem 1rem 3rem; background: var(--bg-app, #eee); color: var(--ink); font-family: var(--font-body, serif); line-height: 1.85; }
.hy-print svg { inline-size: 1em; block-size: 1em; flex: none; }

/* the tool bar: one frosted capsule that stays at the top */
.hy-print__bar { position: sticky; z-index: 5; inset-block-start: .75rem; display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; inline-size: fit-content; max-inline-size: 100%;
    margin: 0 auto 1.25rem; padding: .35rem; border: 1px solid var(--line); border-radius: 999px; background: color-mix(in srgb, var(--bg-card, #fff) 82%, transparent);
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 12px 30px -18px rgba(0, 0, 0, .35); }
.hy-print__btn { display: inline-flex; align-items: center; gap: .45rem; padding: .5rem 1.05rem; border: 0; border-radius: 999px; background: var(--color-primary, #333); color: var(--color-on-primary, #fff);
    font: inherit; font-size: .92rem; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .3s cubic-bezier(.3, 1.4, .5, 1), box-shadow .2s ease, background-color .2s ease; }
.hy-print__btn:hover { transform: translateY(-1px); box-shadow: 0 10px 20px -12px var(--color-primary, #333); }
.hy-print__btn--ghost { background: transparent; color: var(--ink); }
.hy-print__btn--ghost:hover { background: var(--bg-sunken, #f1f1f1); box-shadow: none; }
.hy-print__hint { margin: 0; padding-inline: .6rem; font-size: .85rem; color: var(--muted); }

/* the sheet */
.hy-print__sheet { position: relative; max-inline-size: 21cm; margin-inline: auto; overflow: hidden; border-radius: 18px; background: var(--bg-card, #fff); box-shadow: 0 30px 60px -40px rgba(0, 0, 0, .45), 0 0 0 1px var(--line); }
.hy-print__sheet::before { content: ""; display: block; block-size: 6px; background: linear-gradient(90deg, var(--accent), var(--color-primary, #333)); -webkit-print-color-adjust: exact; print-color-adjust: exact; }

/* ---- the letterhead (2026-10-29, round 8): formal, as the site's own paper --------------------------------------------------- */
.hy-print__sheet { --pad: clamp(1rem, 6vw, 1.8cm); max-inline-size: 21cm; min-block-size: 29.7cm; border-radius: 6px; isolation: isolate; }
.hy-print__sheet::before { block-size: 8px; background: linear-gradient(90deg, var(--color-primary, #333) 0 62%, var(--accent) 62% 82%, color-mix(in srgb, var(--color-danger, #a8443c) 58%, #2a0a12) 82%); }
.hy-print__head, .hy-print__article, .hy-print__ref { padding-inline: var(--pad); }
.hy-print__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .5cm 1cm; padding-block: .85cm .55cm; border-block-end: 3px double color-mix(in srgb, var(--accent) 70%, var(--ink)); }
.hy-print__brand { display: flex; align-items: center; gap: .4cm; min-inline-size: 0; }
.hy-print__logo { display: block; max-block-size: 1.6cm; max-inline-size: 5cm; object-fit: contain; }
.hy-print__mark { display: grid; place-items: center; flex: none; inline-size: 1.45cm; block-size: 1.45cm; border-radius: 12px; background: linear-gradient(145deg, var(--color-primary, #333), color-mix(in srgb, var(--color-primary, #333) 70%, #000));
    color: var(--accent); font-family: var(--font-heading, serif); font-size: 1.7rem; font-weight: 800; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.hy-print__brandtext { min-inline-size: 0; }
.hy-print__site { margin: 0; font-family: var(--font-heading, inherit); font-size: 1.55rem; font-weight: 800; line-height: 1.2; letter-spacing: .01em; color: var(--color-primary-text, var(--color-primary, var(--ink))); }
.hy-print__tagline { margin: .1cm 0 0; color: var(--muted); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.hy-print__contact { display: grid; gap: .1cm; margin: 0; padding: 0 0 0 .5cm; list-style: none; border-inline-start: 1px solid var(--line); font-size: .76rem; line-height: 1.55; color: var(--muted); }
[dir="rtl"] .hy-print__contact { padding: 0 .5cm 0 0; }
.hy-print__contact li { display: flex; align-items: center; gap: .3cm; }
.hy-print__contact svg { color: var(--accent); inline-size: .9em; block-size: .9em; }
.hy-print__contact:empty { display: none; }
/* the reference line */
.hy-print__ref { display: flex; flex-wrap: wrap; gap: 0; margin: 0; padding-block: .3cm; border-block-end: 1px solid var(--line); background: color-mix(in srgb, var(--accent) 5%, transparent); font-size: .74rem; }
.hy-print__ref > div { display: grid; gap: .02cm; padding-inline: .45cm; border-inline-start: 1px solid var(--line); }
.hy-print__ref > div:first-child { padding-inline-start: 0; border: 0; }
.hy-print__ref dt { color: var(--accent); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.hy-print__ref dd { margin: 0; color: var(--ink); font-weight: 600; }
/* the document */
.hy-print__article { padding-block: .9cm .8cm; }
.hy-print__title { margin: 0; font-family: var(--font-text, var(--font-heading, inherit)); font-size: clamp(1.55rem, 1.2rem + 1.2vw, 2.15rem); font-weight: 700; line-height: 1.35; text-wrap: balance; }
.hy-print__title::after { content: ""; display: block; inline-size: 2.2cm; block-size: 2px; margin-block: .35cm; background: var(--accent); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.hy-print__byline { display: flex; align-items: center; gap: .25cm; margin: 0 0 .35cm; color: var(--muted); font-size: .85rem; }
.hy-print__byline svg { color: var(--accent); }
.hy-print__byline strong { color: var(--ink); }
.hy-print__lead { margin: 0 0 .5cm; font-family: var(--font-text, inherit); font-size: 1.1rem; font-style: italic; line-height: 1.75; color: var(--muted); }
.hy-print__lead:lang(fa), .hy-print__lead:lang(ar), .hy-print__lead:lang(ur) { font-style: normal; }
.hy-print__figure { margin: 0 0 .6cm; overflow: hidden; border-radius: 4px; }
.hy-print__figure img { display: block; inline-size: 100%; block-size: auto; max-block-size: 10cm; object-fit: cover; }
.hy-print .hy-print__text.hb-flow, .hy-print__text { font-family: var(--font-text, inherit); font-size: 1.06rem; line-height: 1.8; text-align: justify; hyphens: auto; }
.hy-print__text :not(code, pre, kbd, samp) { font-family: inherit; }
.hy-print__text :is(p, li, dd) { text-align: justify; hyphens: auto; }
.hy-print__text :is(h2, h3, h4) { margin-block: 1.4em .4em; font-size: 1.2em; line-height: 1.4; text-align: start; }
.hy-print__text img { max-inline-size: 100%; block-size: auto; }
.hy-print .hy-print__text > * { margin-block: 0 .9em; }
.hy-print .hy-print__text > :last-child { margin-block-end: 0; }
/* the address box */
.hy-print__foot { display: flex; align-items: center; gap: .7cm; margin: 0 var(--pad) var(--pad); padding: .4cm; border: 1px solid var(--line); border-block-start: 2px solid var(--accent); border-radius: 4px; break-inside: avoid; }
.hy-print__qr { flex: none; padding: .15cm; background: #fff; box-shadow: 0 0 0 1px var(--line); }
.hy-print__qr svg { display: block; inline-size: 2.6cm; block-size: 2.6cm; }
.hy-print__address { min-inline-size: 0; font-size: .8rem; }
.hy-print__label { margin: 0; font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.hy-print__url { margin: 0 0 .2cm; word-break: break-all; font-family: var(--font-code, monospace); font-size: .78rem; }
.hy-print__printed { margin: .15cm 0 0; color: var(--muted); font-size: .74rem; }
@media (max-width: 575.98px) {
    .hy-print__sheet { min-block-size: 0; }
    .hy-print__head { grid-template-columns: minmax(0, 1fr); }
    .hy-print__contact { padding: .3cm 0 0; border-inline-start: 0; border-block-start: 1px solid var(--line); }
    .hy-print__foot { flex-direction: column; align-items: flex-start; }
}

/* Paper: A4 by default, and the page keeps the site's colours (the band, the mark, the accents) — a PDF saved from here looks like the
   page on screen (2026-10-29, the user's wish). */
@page { size: A4; margin: 14mm 14mm 16mm; @bottom-left { font: 8pt sans-serif; color: #666; } @bottom-right { font: 8pt sans-serif; color: #666; } }
@media print {
    *, *::before, *::after { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
    body.hy-print { padding: 0; background: var(--bg-card, #fff); }
    .hy-print__bar { display: none !important; }
    .hy-print__sheet { max-inline-size: none; min-block-size: 0; border-radius: 0; box-shadow: none; overflow: visible; }
    .hy-print__head, .hy-print__article, .hy-print__ref { padding-inline: 0; }
    .hy-print__head { padding-block: .3cm .4cm; }
    .hy-print__foot { margin: .8cm 0 0; }
    .hy-print__text a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; color: var(--muted, #555); word-break: break-all; }
    .hy-print__text h2, .hy-print__text h3 { break-after: avoid; }
    .hy-print__text figure, .hy-print__text table, .hy-print__text pre, .hy-print__ref, .hy-print__head { break-inside: avoid; }
}