/*
Theme Name:    PM.2027
Description:   Standalone PlaceMania classic/hybrid theme after Beaver migration
Version:       2026.09.03.1
Author:        Jaroslav Knirsch
Author URI:    https://www.ckknirsch.sk
License:       GNU General Public License v2 or later
License URI:   http://www.gnu.org/licenses/gpl-2.0.html
*/

/*
 * Standalone base migrated from the effective Beaver Theme settings.
 * Deliberately does not copy Bootstrap's focus-reset rules: browser focus
 * indicators remain native.
 */

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

html {
	font-family: sans-serif;
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	padding: 0;
	background: #fff;
	color: #4e4e4e;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
	word-wrap: break-word;
}

main,
article,
aside,
footer,
header,
nav,
section {
	display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	margin-bottom: .5rem;
	color: #382c14;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 400;
	font-style: normal;
	text-transform: none;
}

h1 {
	color: #333;
	font-size: 70px;
	font-weight: 700;
	line-height: .95;
	letter-spacing: -1px;
}

h2 {
	font-size: 34px;
	line-height: 1.75;
	letter-spacing: 1px;
}

h3 {
	font-size: 26px;
	line-height: 1.7;
	letter-spacing: -1px;
}

h4 {
	font-size: 22px;
	line-height: 1.75;
	letter-spacing: 1px;
}

h5 {
	font-size: 15px;
	line-height: 1.15;
	letter-spacing: 1px;
}

h6 {
	font-size: 15px;
	line-height: 1.15;
	letter-spacing: 1px;
}

p {
	margin-top: 0;
	margin-bottom: 1rem;
}

ol,
ul,
dl {
	margin-top: 0;
	margin-bottom: 1rem;
}

strong,
b {
	font-weight: bolder;
}

a {
	color: #2b7bb9;
	text-decoration: underline;
	background-color: transparent;
}

a:hover {
	color: #2b7bb9;
	text-decoration: underline;
}

h1 a {
	color: #333;
}

h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	color: #382c14;
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover {
	text-decoration: none;
}

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

iframe {
	max-width: 100%;
}

figure {
	margin: 0 0 1rem;
}

table {
	border-collapse: collapse;
}

button,
input,
select,
textarea {
	margin: 0;
	font: inherit;
	line-height: inherit;
}

/* Compatibility for the one remaining generic .container in search.php. */
.container {
	width: 100%;
	max-width: 1100px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}

/* Temporary markup compatibility; these classes no longer require Beaver. */
.fl-page {
	position: relative;
	margin: 0 auto;
}

/* WordPress accessibility helper. Native browser focus is intentionally kept. */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/*
 * TEMPORARY MIGRATION COMPATIBILITY.
 *
 * placemania-tools owns the site-level Gutenberg contract (align-wide,
 * responsive embeds, contentSize 1100px, wideSize 1400px and block
 * presentation). These rules exist only because the current native PHP
 * single template still places #clanok inside a fixed 1100px wrapper.
 *
 * Do not expand this section. The target state is to remove it after the
 * native content wrapper/block layout is redesigned so Wide/Full no longer
 * needs a legacy breakout.
 */
#clanok :is(
	.wp-block-image,
	.wp-block-gallery,
	.wp-block-cover,
	.wp-block-embed,
	.wp-block-video,
	.wp-block-table,
	.wp-block-group,
	.wp-block-columns
).alignwide {
	width: min(var(--wp--style--global--wide-size, 1400px), 100vw);
	max-width: none;
	margin-left: calc((100% - min(var(--wp--style--global--wide-size, 1400px), 100vw)) / 2);
	margin-right: calc((100% - min(var(--wp--style--global--wide-size, 1400px), 100vw)) / 2);
}

#clanok :is(
	.wp-block-image,
	.wp-block-gallery,
	.wp-block-cover,
	.wp-block-embed,
	.wp-block-video,
	.wp-block-table,
	.wp-block-group,
	.wp-block-columns
).alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(-100vw / 2 + 100% / 2);
	margin-right: calc(-100vw / 2 + 100% / 2);
}

#clanok .wp-block-image.alignwide img {
	width: 100%;
	height: auto;
}

/* Gutenberg media/table behavior previously supplied by Beaver Theme. */
.wp-block-embed.type-video > .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}

.wp-block-embed.type-video > .wp-block-embed__wrapper > iframe {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.wp-block-gallery:not(.components-placeholder) {
	margin: 1.5em auto;
}

.wp-block-table {
	display: block;
	overflow-x: auto;
}

.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
}

.wp-block-table td,
.wp-block-table th {
	padding: .5em;
}

@media (max-width: 1023px) {
	body {
		font-size: 18px;
		line-height: 1.75;
	}

	h1 {
		font-size: 36px;
		line-height: 1.4;
		letter-spacing: 0;
	}

	h2 {
		font-size: 28px;
		line-height: 1.75;
		letter-spacing: 1px;
	}

	h3 {
		font-size: 26px;
		line-height: 1.75;
		letter-spacing: -1px;
	}

	h4,
	h5 {
		font-size: 22px;
		line-height: 1.75;
		letter-spacing: 1px;
	}

	h6 {
		font-size: 20px;
		line-height: 1.75;
		letter-spacing: 1px;
	}
}

@media (max-width: 766px) {
	body {
		font-size: 18px;
		line-height: 1.4;
	}

	h1 {
		font-size: 36px;
		line-height: 1.4;
		letter-spacing: 0;
	}

	h2 {
		font-size: 30px;
		line-height: 1;
		letter-spacing: -1px;
	}

	h3 {
		font-size: 26px;
		line-height: 1;
		letter-spacing: -1px;
	}

	h4,
	h5 {
		font-size: 22px;
		line-height: 1.75;
		letter-spacing: 1px;
	}

	h6 {
		font-size: 20px;
		line-height: 1.75;
		letter-spacing: 1px;
	}
}
