/* Typografie obsahu z editoru (`.as-text`): obecné stránky (obchodní podmínky, zásady…) a články.
   Podle „Základů“ a „06 Článek“ návrhu design/ostatni. Obsah starých článků nese vlastní HTML
   (tučné odstavce, tabulky, obrázky s aligncenter) — styly tu počítají s ním, ne s bloky. */

.as-text { font-size: 16.5px; line-height: 1.75; color: var(--as-text); overflow-wrap: break-word; }
.as-text > *:first-child { margin-top: 0; }
.as-text p { margin: 0 0 18px; }
.as-text h2 { font-size: 28px; line-height: 1.2; letter-spacing: -.015em; margin: 36px 0 12px; }
.as-text h3 { font-size: 22px; line-height: 1.25; margin: 30px 0 10px; }
.as-text h4 { font-size: 18px; line-height: 1.3; margin: 24px 0 8px; }
.as-text strong,
.as-text b { color: var(--as-inkoust); }
.as-text a { color: var(--as-terakota); text-decoration: underline; text-underline-offset: 2.5px; }
.as-text a:hover { color: var(--as-terakota-tmava); }

.as-text ul,
.as-text ol { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; }
.as-text li { position: relative; padding-left: 22px; line-height: 1.6; }
.as-text ul > li::before {
	content: '';
	position: absolute;
	left: 0;
	top: .62em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--as-terakota);
}
.as-text ol { counter-reset: as-ol; }
.as-text ol > li { counter-increment: as-ol; padding-left: 38px; min-height: 26px; }
.as-text ol > li::before {
	content: counter(as-ol);
	position: absolute;
	left: 0;
	top: 0;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--as-merunka);
	color: var(--as-inkoust);
	font-size: 13px;
	font-weight: 800;
	line-height: 26px;
	text-align: center;
}
.as-text li > ul,
.as-text li > ol { margin: 10px 0 0; }

.as-text blockquote {
	margin: 32px 0;
	padding: 24px 28px;
	background: var(--as-bila);
	border: var(--as-ramecek);
	border-radius: 20px;
	box-shadow: var(--as-stin-6);
	font-family: var(--as-pismo-nadpis);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--as-inkoust);
}
.as-text blockquote p { margin: 0 0 10px; }
.as-text blockquote p:last-child { margin-bottom: 0; }
.as-text blockquote cite { display: block; font-family: var(--as-pismo); font-style: normal; font-size: 13.5px; font-weight: 700; color: var(--as-sede); }

.as-text img { max-width: 100%; height: auto; border-radius: 16px; }
/* Staré články mají obrázek vložený přímo v nadpisu („<h2>Chůze<img …></h2>“) — inline by text
   nadpisu seděl u spodní hrany fotky. */
.as-text h2 img,
.as-text h3 img,
.as-text h4 img { display: block; margin: 14px 0; }
.as-text .aligncenter,
.as-text img.aligncenter { display: block; margin: 28px auto; }
.as-text .alignleft { float: left; max-width: 50%; margin: 6px 24px 16px 0; }
.as-text .alignright { float: right; max-width: 50%; margin: 6px 0 16px 24px; }
.as-text h2,
.as-text h3,
.as-text .as-tabulka,
.as-text blockquote { clear: both; }
.as-text figure { margin: 28px 0; }
.as-text figcaption { font-size: 13px; color: var(--as-sede); text-align: center; margin-top: 8px; }
.as-text hr { border: 0; border-top: 2px dashed var(--as-linka-2); margin: 32px 0; }

.as-text .as-tabulka {
	overflow-x: auto;
	margin: 0 0 24px;
	border: var(--as-ramecek);
	border-radius: 16px;
	background: var(--as-bila);
	-webkit-overflow-scrolling: touch;
}
.as-text table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.as-text th,
.as-text td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid var(--as-linka); }
.as-text th { background: var(--as-levandule); color: var(--as-inkoust); font-weight: 800; border-bottom: var(--as-ramecek); }
.as-text tr:last-child td { border-bottom: 0; }
/* Široké tabulky článků se posouvají v obalu; tabulky WooCommerce (košík, objednávky) mají vlastní
   rozvržení pro mobil a minimální šířku nesmí dostat, jinak vyjedou z obrazovky. */
.as-text table:not(.shop_table):has(th:nth-child(4)) { min-width: 640px; }

/* Formuláře pluginů v obsahu stránky (SK Vrátenie tovaru = odstoupení od smlouvy): pole a tlačítko
   v prvcích návrhu. Formuláře WooCommerce mají vlastní a přísnější pravidla v pages/obchod.css. */
.as-text input[type="text"],
.as-text input[type="email"],
.as-text input[type="tel"],
.as-text input[type="number"],
.as-text input[type="date"],
.as-text select,
.as-text textarea {
	width: 100%;
	max-width: 520px;
	padding: 12px 14px;
	border: var(--as-ramecek);
	border-radius: 12px;
	background: var(--as-bila);
	color: var(--as-inkoust);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.4;
}
.as-text input:focus,
.as-text select:focus,
.as-text textarea:focus { outline: none; border-color: var(--as-terakota); box-shadow: 0 0 0 3px var(--as-merunka-bleda); }
.as-text button[type="submit"],
.as-text input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 26px;
	border: 0;
	border-radius: 999px;
	background: var(--as-terakota);
	color: var(--as-bila);
	box-shadow: 0 5px 0 var(--as-terakota-tmava);
	font-family: inherit;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
}
.as-text button[type="submit"]:hover,
.as-text input[type="submit"]:hover { box-shadow: 0 3px 0 var(--as-terakota-tmava); transform: translateY(2px); }

@media (max-width: 768px) {
	.as-text { font-size: 15.5px; line-height: 1.7; }
	.as-text h2 { font-size: 23px; margin-top: 30px; }
	.as-text h3 { font-size: 19px; }
	.as-text blockquote { padding: 18px 20px; font-size: 18px; box-shadow: var(--as-stin-5); }
	.as-text .alignleft,
	.as-text .alignright { float: none; max-width: 100%; margin: 20px 0; }
	.as-text table { font-size: 14px; }
	.as-text th,
	.as-text td { padding: 10px 12px; }
}
