/*
Theme Name: Marginalizace
Theme URI: https://www.marginalization.usd.cas.cz/
Description: Vlastní vzhled webu Marginalizace. Používá PHP šablony motivu Twenty Thirteen (Template níže), ale CSS je celé vlastní a nezávislé na původním style.css.
Author: ÚSD AV ČR
Template: twentythirteen
Version: 1.0.0
Text Domain: marginalizace
*/

/* -------------------------------------------------------------
   1.0 Reset
   ------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body, h1, h2, h3, h4, h5, h6, p, ul, ol, figure { margin: 0; padding: 0; }

ul, ol { list-style: none; }

img { max-width: 100%; height: auto; vertical-align: middle; border: 0; }

a { text-decoration: none; }

button, input, textarea { font-family: inherit; font-size: inherit; }

/* -------------------------------------------------------------
   2.0 Paleta a základní typografie
   ------------------------------------------------------------- */

:root {
	--paper: #ffffff;
	--surface: #ffffff;
	--ink: #2a2420;
	--ink-soft: #5c5347;
	--ink-faint: #8c8172;
	--rule: #e3dbcb;
	--accent: #9c3a1e;
	--accent-ink: #7a2d16;
	--accent-tint: #f2e3da;
	--footer-bg: #241b15;
	--footer-ink: #d8c9b8;
	--footer-rule: #3a2c22;
	--font-serif: Bitter, Georgia, serif;
	--font-sans: "Source Sans Pro", Helvetica, Arial, sans-serif;
}

body {
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font-sans);
	font-size: 14px;
	line-height: 1.65;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-serif);
	font-weight: 700;
	line-height: 1.3;
	color: var(--ink);
	margin-bottom: .6em;
}

h1 { font-size: 22px; }
h2 { font-size: 19px; }
h3 { font-size: 17px; }
h4 { font-family: var(--font-sans); font-size: 15px; font-weight: 600; }
h5 { font-size: 14px; }
h6 { font-size: 13px; }

p { margin: 0 0 1.2em; max-width: 72ch; }

a { color: var(--accent-ink); }
a:hover { color: var(--accent); text-decoration: underline; }

blockquote {
	margin: 1.5em 0;
	padding-left: 1.2em;
	border-left: 3px solid var(--rule);
	color: var(--ink-soft);
	font-style: italic;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.5em;
	font-size: 14px;
}

th, td {
	text-align: left;
	padding: 8px 10px;
	border-bottom: 1px solid var(--rule);
}

th { font-weight: 600; }

/* -------------------------------------------------------------
   3.0 Přístupnost
   ------------------------------------------------------------- */

.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
	height: 1px;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	position: static !important;
	clip: auto !important;
	height: auto;
	width: auto;
	display: block;
	background: var(--surface);
	color: var(--ink);
	padding: 12px 16px;
	z-index: 100;
}

/* -------------------------------------------------------------
   4.0 Základní kontejner
   ------------------------------------------------------------- */

#page {
	max-width: 1320px;
	margin: 0 auto;
}

/* -------------------------------------------------------------
   5.0 Hlavička
   ------------------------------------------------------------- */

.site-header {
	padding: 40px 24px 0;
	border-bottom: 1px solid var(--rule);
	background: none !important;
}

.home-link {
	display: block;
	color: var(--ink);
}

.home-link:hover { color: var(--ink); text-decoration: none; }

.site-title {
	font-size: 32px;
	margin-bottom: 8px;
}

.site-description {
	font-family: var(--font-sans);
	font-weight: 400;
	font-size: 14px;
	color: var(--ink-soft);
	max-width: 62ch;
	margin-bottom: 28px;
}

/* -------------------------------------------------------------
   6.0 Navigace
   ------------------------------------------------------------- */

.navbar {
	border-top: 1px solid var(--rule);
}

.main-navigation {
	position: relative;
	padding: 0 24px;
}

.menu-toggle {
	display: block;
	margin: 0;
	padding: 8px;
	background: var(--paper);
	border: 1px solid var(--rule);
	border-radius: 3px;
	cursor: pointer;
	color: transparent;
	position: fixed;
	top: 24px;
	right: 24px;
	width: 40px;
	height: 36px;
	z-index: 100;
}

.menu-toggle::before {
	content: "";
	position: absolute;
	left: 8px;
	right: 8px;
	top: 10px;
	height: 2px;
	background: var(--ink);
	box-shadow: 0 8px 0 var(--ink), 0 16px 0 var(--ink);
}

.menu-navigace-container { display: none; }

.main-navigation.toggled-on .menu-navigace-container { display: block; }

.nav-menu {
	display: flex;
	flex-direction: column;
	padding-bottom: 8px;
}

.nav-menu li a {
	display: block;
	padding: 10px 0;
	font-size: 14px;
	color: var(--ink-soft);
	border-bottom: 2px solid transparent;
	transition: color .2s ease, border-color .2s ease, transform .2s ease;
}

.nav-menu li a:hover {
	color: var(--accent-ink);
	border-bottom-color: var(--accent);
	text-decoration: none;
	transform: translateY(-1px);
}

.nav-menu li.current-menu-item a,
.nav-menu li.current_page_item a {
	color: var(--ink);
	font-weight: 600;
	border-bottom-color: var(--accent);
}

.search-form {
	display: flex;
	gap: 8px;
	padding: 12px 0 20px;
}

.search-field {
	flex: 1;
	min-width: 0;
	padding: 5px 10px;
	border: 1px solid var(--rule);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.5);
	color: var(--ink);
}

.search-submit {
	padding: 5px 16px;
	border: 1px solid var(--accent);
	border-radius: 8px;
	background: rgba(156, 58, 30, 0.75);
	color: #fff;
	cursor: pointer;
}

.search-submit:hover { background: var(--accent-ink); border-color: var(--accent-ink); }

@media (min-width: 782px) {
	.menu-toggle { display: none; }
	.menu-navigace-container { display: block; }
	.main-navigation {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 24px;
	}
	.nav-menu {
		flex-direction: row;
		gap: 26px;
		padding-bottom: 0;
	}
	.nav-menu li a { padding: 16px 0; }
	.search-form { padding: 0; width: 240px; }
}

/* -------------------------------------------------------------
   7.0 Obsah
   ------------------------------------------------------------- */

#main { padding: 8px 24px 0; }

.site-content { padding-bottom: 40px; }

.entry-title { font-size: 22px; }

.entry-meta {
	font-family: var(--font-sans);
	font-size: 13px;
	color: var(--ink-faint);
	margin-bottom: 1.5em;
}

.entry-meta .categories-links,
.entry-meta .author {
	display: none;
}

.entry-content ul li,
.entry-content ol li {
	border-top: 1px solid var(--rule);
	padding: 8px 0;
}

.entry-content ul li:first-child,
.entry-content ol li:first-child {
	border-top: none;
	padding-top: 0;
}

.home .entry-content {
	max-width: none;
}

.home .entry-content ul {
	column-count: 2;
	column-gap: 32px;
}

.home .entry-content ul li {
	border-top: none;
	background: rgba(42, 36, 32, 0.035);
	border-radius: 4px;
	padding: 10px 14px;
	margin-bottom: 8px;
	line-height: 1.5;
	font-weight: 400;
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
}

.home .entry-content ul li a {
	font-size: 15px;
}

@media (max-width: 700px) {
	.home .entry-content ul {
		column-count: 1;
	}
}

.entry-content ul li a,
.entry-content ol li a {
	font-size: 19px;
	color: var(--ink);
}

.entry-content ul li a:hover,
.entry-content ol li a:hover {
	color: var(--accent-ink);
}

.entry-content { max-width: none; }

.entry-content p {
	max-width: none;
}

.entry-content figure { margin: 1.5em 0; }

.entry-content::after { content: ""; display: table; clear: both; }

/* -------------------------------------------------------------
   7.1 Obtékání obrázků textem, popisky, galerie, tabulky
   ------------------------------------------------------------- */

.entry-content .alignleft,
.entry-content .alignright,
.entry-content .aligncenter,
.entry-content .alignnone {
	max-width: 100%;
}

.entry-content .alignleft {
	float: left;
	margin: 0.3em 1.8em 1em 0;
}

.entry-content .alignright {
	float: right;
	margin: 0.3em 0 1em 1.8em;
}

.entry-content .aligncenter {
	display: block;
	float: none;
	margin: 1.8em auto;
}

.entry-content .alignnone {
	margin: 1.8em 0;
}

.entry-content img {
	max-width: 100%;
	height: auto;
	border-radius: 2px;
}

.entry-content figcaption,
.entry-content .wp-caption-text {
	font-family: var(--font-sans);
	font-size: 13px;
	line-height: 1.45;
	color: var(--ink-faint);
	padding-top: 8px;
}

.entry-content .blocks-gallery-grid {
	display: flex;
	gap: 16px;
	list-style: none;
	margin: 1.8em 0;
	padding: 0;
}

.entry-content .blocks-gallery-grid .blocks-gallery-item {
	flex: 1;
	margin: 0 !important;
	border-top: none !important;
	padding: 0 !important;
}

.entry-content .wp-block-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin: 1.8em 0;
	padding: 0;
}

.entry-content .wp-block-gallery.columns-2 { grid-template-columns: repeat(2, 1fr); }
.entry-content .wp-block-gallery.columns-3 { grid-template-columns: repeat(3, 1fr); }
.entry-content .wp-block-gallery.columns-4 { grid-template-columns: repeat(4, 1fr); }
.entry-content .wp-block-gallery.columns-5 { grid-template-columns: repeat(5, 1fr); }
.entry-content .wp-block-gallery.columns-6 { grid-template-columns: repeat(6, 1fr); }

.entry-content .wp-block-gallery li.blocks-gallery-item {
	margin: 0;
	border-top: none;
	padding: 0;
	width: 100% !important;
	height: auto !important;
	flex-basis: auto !important;
}

.entry-content .wp-block-gallery figure {
	margin: 0;
	width: 100% !important;
	height: 100%;
}

.entry-content .wp-block-gallery li.blocks-gallery-item img {
	width: 100% !important;
	height: 180px;
	object-fit: cover;
	border-radius: 2px;
}

.entry-content .wp-block-gallery.columns-3 li.blocks-gallery-item img {
	height: 360px;
}

.entry-content .wp-block-gallery.columns-6 li.blocks-gallery-item img {
	height: 720px;
}

@media (max-width: 700px) {
	.entry-content .wp-block-gallery {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

.entry-content .wp-block-gallery.columns-2 {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 24px;
}

.entry-content .wp-block-gallery.columns-2 li.blocks-gallery-item {
	flex: 0 1 380px !important;
	width: 380px !important;
}

.entry-content .wp-block-gallery.columns-2 li.blocks-gallery-item img {
	width: 100% !important;
	height: auto !important;
	object-fit: initial;
}

.entry-content .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.entry-content .wp-block-table th,
.entry-content .wp-block-table td {
	border: 1px solid var(--rule);
	padding: 10px 12px;
	vertical-align: top;
}

.entry-content .wp-block-table thead th {
	background: var(--accent-tint);
	color: var(--accent-ink);
	font-weight: 600;
}

@media (max-width: 600px) {
	.entry-content .alignleft,
	.entry-content .alignright {
		float: none;
		display: block;
		margin: 0 0 1.2em;
	}
}

/* -------------------------------------------------------------
   8.0 Patička a widgety
   ------------------------------------------------------------- */

.site-footer {
	background: rgba(255, 255, 255, 0.55);
	color: var(--ink-soft);
	margin-top: 48px;
	border-top: 1px solid var(--rule);
	border-radius: 12px;
	overflow: hidden;
}

.sidebar-container .widget-area {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 14px;
	padding: 14px 24px;
}

.widget-area .widget-title {
	font-family: var(--font-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 6px;
}

.widget-area .widget p {
	font-size: 13px;
	color: var(--ink-soft);
	margin-bottom: 2px;
}

.widget-area .widget a {
	color: var(--accent-ink);
}

.site-info {
	padding: 6px 24px;
	font-size: 12px;
	color: var(--ink-faint);
	text-align: center;
}

.site-info:empty::before {
	content: "© Ústav pro soudobé dějiny AV ČR — marginalization.usd.cas.cz";
}


/* -------------------------------------------------------------
   9.0 Stranka Literatura - seznam do dvou sloupcu
   ------------------------------------------------------------- */

.page-id-15 .wp-block-themeisle-blocks-service {
	column-count: 2;
	column-gap: 48px;
}

.page-id-15 .wp-block-themeisle-blocks-service p {
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
}

@media (max-width: 700px) {
	.page-id-15 .wp-block-themeisle-blocks-service {
		column-count: 1;
	}
}


/* -------------------------------------------------------------
   10.0 Stranka Databaze (vlastni sablona _databaze.php, mimo .entry-content)
   ------------------------------------------------------------- */

.obsahdf {
	max-width: none;
}

.obsahdf p {
	max-width: none;
}


/* -------------------------------------------------------------
   11.0 Tisk
   ------------------------------------------------------------- */

@media print {
	* {
		color: #000 !important;
		background: #fff !important;
		border-color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	img {
		filter: grayscale(100%);
	}

	body::before {
		display: none !important;
	}

	.search-form,
	.menu-toggle {
		display: none !important;
	}

	.site-footer {
		background: none !important;
		border-radius: 0 !important;
		overflow: visible !important;
		border-top: 1px solid #000;
	}

	.sidebar-container .widget-area {
		display: block;
		padding: 8px 0;
	}

	.widget-area .widget {
		margin-bottom: 8px;
	}

	.widget-area .widget-title {
		color: #000 !important;
		opacity: 1;
	}

	.site-info {
		display: none;
	}

	.home .entry-content ul li {
		background: none !important;
		border-bottom: 1px solid #000 !important;
	}

	.obsahdf {
		display: none !important;
	}
}
.entry-content ul + h3,
.entry-content ol + h3 {
	margin-top: 2em;
}
