/* Download rows (inc/download.php): file name left, download icon right. Also loaded in the block editor. */
.cn-download { margin: 14px 0; }
.cn-download .cn-download-link {
	display: flex; align-items: stretch; justify-content: space-between; gap: 0;
	background: var(--surface, #fff); border: 1px solid var(--line, #e2ded3); border-radius: 6px; overflow: hidden;
	color: var(--ink, #1b1f1c); font-size: calc(15px * var(--fs, 1)); font-weight: 500; line-height: 1.35; text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.cn-download .cn-download-link:hover, .cn-download .cn-download-link:focus-visible {
	color: var(--ink, #1b1f1c); text-decoration: none; border-color: var(--green, #1e5a3c); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.cn-download-name { flex: 1 1 auto; min-width: 0; padding: 13px 16px; overflow-wrap: anywhere; }
.cn-download-icon {
	flex: 0 0 52px; display: flex; align-items: center; justify-content: center;
	background: var(--green, #1e5a3c); color: #fff;
}
.cn-download .cn-download-link:hover .cn-download-icon, .cn-download .cn-download-link:focus-visible .cn-download-icon { background: var(--green-mid, #2c6b4a); }
.cn-download-icon svg { display: block; }

/* Kinds: download = green (default), ebook = gold, link = dark green. */
.cn-row--ebook .cn-download-icon { background: var(--gold, #f2c14e); color: var(--ink, #1b1f1c); }
.cn-row--ebook .cn-download-link:hover .cn-download-icon, .cn-row--ebook .cn-download-link:focus-visible .cn-download-icon { background: #e6b23c; }
.cn-row--ebook .cn-download-link:hover, .cn-row--ebook .cn-download-link:focus-visible { border-color: var(--gold, #f2c14e); }
.cn-row--link .cn-download-icon { background: var(--green-dark, #12281c); }
.cn-row--link .cn-download-link:hover .cn-download-icon, .cn-row--link .cn-download-link:focus-visible .cn-download-icon { background: var(--green, #1e5a3c); }

/* Classic editor (TinyMCE iframe): a row is shown like on the site; double-click edits it. */
.cn-row-view { margin: 14px 0; cursor: pointer; }
.cn-row-view .cn-download { margin: 0; }
.cn-row-view .cn-download-link { cursor: pointer; }
.cn-row-view[data-mce-selected] { outline: 2px solid #2271b1; outline-offset: 2px; }

/* The editor strips inline <svg>, so inside the Visual editor the icon is drawn as a CSS mask (same paths as inc/download.php). */
.cn-row-view .cn-download-icon { font-size: 0; }
.cn-row-view .cn-download-icon::after { content: ""; display: block; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--cn-mask) center / contain no-repeat; mask: var(--cn-mask) center / contain no-repeat; }
.cn-row-view .cn-row--download .cn-download-icon { --cn-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 4v11M7 11l5 5 5-5M5 20h14%22/%3E%3C/svg%3E"); }
.cn-row-view .cn-row--ebook .cn-download-icon { --cn-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 6.5C10.3 5.2 8 4.7 4 4.8v13c4-.1 6.3.4 8 1.7 1.7-1.3 4-1.8 8-1.7v-13c-4-.1-6.3.4-8 1.7zM12 6.5v13%22/%3E%3C/svg%3E"); }
.cn-row-view .cn-row--link .cn-download-icon { --cn-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M10 14a4.5 4.5 0 0 0 6.4 0l3-3a4.5 4.5 0 0 0-6.4-6.4l-1.2 1.2M14 10a4.5 4.5 0 0 0-6.4 0l-3 3a4.5 4.5 0 0 0 6.4 6.4l1.2-1.2%22/%3E%3C/svg%3E"); }

/* Info line under the name: kind badge + size (download/ebook), host (link). */
.cn-download-meta { display: block; margin-top: 3px; color: var(--muted, #6a726d); font-size: calc(12.5px * var(--fs, 1)); font-weight: 400; line-height: 1.4; }
.cn-download-meta .cn-badge { display: inline-block; margin-right: 6px; padding: 0 6px; border-radius: 3px; background: var(--line-soft, #ece8de); color: var(--ink, #1b1f1c); font-size: calc(11px * var(--fs, 1)); font-weight: 600; letter-spacing: .04em; line-height: 1.7; }
.cn-row--link .cn-download-meta::after { content: " \2197"; }
.cn-download-name { padding-top: 11px; padding-bottom: 11px; }

/* Description line under the name. */
.cn-download-desc { display: block; margin-top: 2px; color: var(--body, #4a524d); font-size: calc(13px * var(--fs, 1)); font-weight: 400; line-height: 1.4; }

/* Two formats of one work: the name is plain text, each format is a small button on the right. */
.cn-multi .cn-download-link { cursor: default; }
.cn-multi-btns { flex: 0 0 auto; display: flex; }
.cn-multi-btn {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-width: 60px; padding: 8px 12px;
	background: var(--green, #1e5a3c); color: #fff; text-decoration: none; border-left: 1px solid rgba(255, 255, 255, 0.28);
	font-size: calc(11px * var(--fs, 1)); font-weight: 600; letter-spacing: .04em; line-height: 1;
}
.cn-multi-btn:hover, .cn-multi-btn:focus-visible { color: #fff; text-decoration: none; background: var(--green-mid, #2c6b4a); }
.cn-multi-btn .cn-download-icon { flex: none; width: auto; background: none; }
.cn-row--ebook .cn-multi-btn { background: var(--gold, #f2c14e); color: var(--ink, #1b1f1c); border-left-color: rgba(0, 0, 0, 0.18); }
.cn-row--ebook .cn-multi-btn:hover, .cn-row--ebook .cn-multi-btn:focus-visible { background: #e6b23c; color: var(--ink, #1b1f1c); }
.cn-multi-tag { display: block; }

/* Rows that follow each other form one list (a shared box, no gap). */
.cn-download + .cn-download { margin-top: -1px; }
.cn-download + .cn-download .cn-download-link { border-top-left-radius: 0; border-top-right-radius: 0; }
.cn-download:has(+ .cn-download) .cn-download-link { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.cn-download + .cn-download .cn-download-link:hover, .cn-download + .cn-download .cn-download-link:focus-visible { position: relative; z-index: 1; }
.cn-row-view + .cn-row-view { margin-top: -1px; }
.cn-row-view + .cn-row-view .cn-download-link { border-top-left-radius: 0; border-top-right-radius: 0; }
.cn-row-view:has(+ .cn-row-view) .cn-download-link { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.cn-download:has(+ .cn-download), .cn-row-view:has(+ .cn-row-view) { margin-bottom: 0; }
