/**
 * TopDrop — customer-facing product description typography.
 *
 * This file is loaded inside TinyMCE (via `content_css`) so the description
 * editor in the Карточка modal renders exactly like the future product page.
 * It will also be loaded on the front-end product template when that ships.
 *
 * Keep this file framework-agnostic: no Tailwind, no admin tokens, no
 * dependency on other plugin CSS. Only base typography rules that read
 * the same on a customer's mobile phone, on the editor, and on the
 * eventual product page.
 */

body.td-product-desc,
.td-product-desc {
	margin: 0;
	padding: 18px 24px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
		Arial, "Noto Sans", "Liberation Sans", sans-serif,
		"Apple Color Emoji", "Segoe UI Emoji";
	font-size: 16px;
	line-height: 1.65;
	color: #1f2937;
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* Headings — modern, restrained scale */

.td-product-desc h1,
.td-product-desc h2,
.td-product-desc h3,
.td-product-desc h4,
.td-product-desc h5,
.td-product-desc h6 {
	font-weight: 700;
	color: #0f172a;
	letter-spacing: -0.01em;
	margin: 1.6em 0 0.6em;
	line-height: 1.25;
}

.td-product-desc h1 { font-size: 28px; }
.td-product-desc h2 { font-size: 23px; }
.td-product-desc h3 { font-size: 19px; }
.td-product-desc h4 { font-size: 17px; }
.td-product-desc h5 { font-size: 16px; }
.td-product-desc h6 { font-size: 15px; color: #4e7184; text-transform: uppercase; letter-spacing: 0.06em; }

.td-product-desc h1:first-child,
.td-product-desc h2:first-child,
.td-product-desc h3:first-child,
.td-product-desc h4:first-child {
	margin-top: 0;
}

/* Paragraphs */

.td-product-desc p {
	margin: 0 0 1em;
}

.td-product-desc p:last-child {
	margin-bottom: 0;
}

/* Inline emphasis */

.td-product-desc strong,
.td-product-desc b {
	font-weight: 600;
	color: #0f172a;
}

.td-product-desc em,
.td-product-desc i {
	font-style: italic;
}

.td-product-desc u {
	text-decoration-color: #2dc270;
	text-decoration-thickness: 2px;
	text-underline-offset: 2px;
}

/* Links — subtle teal, underline on hover */

.td-product-desc a {
	color: #2dc270;
	text-decoration: none;
	border-bottom: 1px solid rgba(45, 194, 112, 0.3);
	transition: border-color .15s, color .15s;
}

.td-product-desc a:hover {
	color: #1d9350;
	border-bottom-color: #1d9350;
}

/* Lists */

.td-product-desc ul,
.td-product-desc ol {
	margin: 0 0 1em;
	padding-left: 24px;
}

.td-product-desc li {
	margin-bottom: 0.4em;
}

.td-product-desc li::marker {
	color: #2dc270;
}

/* Blockquote */

.td-product-desc blockquote {
	margin: 1em 0;
	padding: 12px 18px;
	border-left: 3px solid #2dc270;
	background: #f0fdf4;
	color: #047857;
	font-style: italic;
	border-radius: 0 8px 8px 0;
}

.td-product-desc blockquote p {
	margin: 0;
}

/* Code */

.td-product-desc code {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	font-size: 0.92em;
	background: #f1f5f9;
	padding: 2px 6px;
	border-radius: 4px;
	color: #0f172a;
}

.td-product-desc pre {
	background: #f1f5f9;
	padding: 14px 18px;
	border-radius: 8px;
	overflow-x: auto;
	font-size: 14px;
	line-height: 1.5;
	margin: 1em 0;
}

.td-product-desc pre code {
	background: transparent;
	padding: 0;
}

/* Horizontal rule */

.td-product-desc hr {
	border: 0;
	height: 1px;
	background: #e4e7ea;
	margin: 1.5em 0;
}

/* Tables */

.td-product-desc table {
	width: 100%;
	border-collapse: collapse;
	margin: 1em 0;
	font-size: 14px;
}

.td-product-desc th,
.td-product-desc td {
	padding: 8px 12px;
	border: 1px solid #e4e7ea;
	text-align: left;
}

.td-product-desc th {
	background: #f8fafc;
	font-weight: 600;
	color: #0f172a;
}

/* Images embedded inside the description */

.td-product-desc img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 0.5em 0;
}
