/* ========================================
   ASR – responsive prvky do 960 px
======================================== */
@media (max-width: 960px) {
	.asr-kids-sticker--rainbow {
		width: 120px;
		right: 18px;
		top: 16px;
	}

	.asr-kids-sticker--star {
		width: 58px;
		left: 20px;
		top: 22px;
	}

	.asr-kids-sticker--pencil {
		width: 110px;
		right: 92px;
		bottom: 14px;
	}
}


/* ========================================
   ASR – hlavní responsive styly do 782 px
======================================== */
@media (max-width: 782px) {
	#masthead,
	.site-header {
		margin-top: 18px !important;
	}

	.site-header-row-container-inner,
	.site-header-row-layout-contained,
	.site-main-header-inner-wrap,
	.site-header-inner-wrap {
		padding-left: 18px !important;
		padding-right: 18px !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	.custom-logo-link,
	.site-branding,
	header .wp-block-button,
	header .header-button,
	header .kb-header-button,
	header .button-wrap {
		transform: none !important;
	}

	.site-main .entry-content > *:not(.alignfull),
	.site-main .wp-block-post-content > *:not(.alignfull),
	.site-main .content-wrap > *:not(.alignfull),
	.asr-wrap,
	.asr-home-hero,
	.asr-hero,
	.asr-card,
	.asr-cta,
	.asr-section,
	.asr-section-card {
		width: calc(100% - 24px) !important;
	}

	/* hero boxy – kvůli logu nahoře */
	.site-main .entry-content > .wp-block-group:first-child,
	.site-main .wp-block-post-content > .wp-block-group:first-child,
	.asr-home-hero,
	.asr-hero,
	.asr-page-hero {
		margin-top: 18px !important;
		padding-right: 24px !important;
		padding-bottom: 38px !important;
		padding-left: 24px !important;
		padding-top: 170px !important;
		border-radius: 24px !important;
	}

	/* dětská stránka – hero o něco menší */
	body:has(.asr-kids-page) .site-main .entry-content > .wp-block-group:first-child,
	body:has(.asr-kids-page) .site-main .wp-block-post-content > .wp-block-group:first-child,
	body:has(.asr-kids-page) .asr-home-hero,
	body:has(.asr-kids-page) .asr-hero,
	body:has(.asr-kids-page) .asr-page-hero {
		padding-top: 150px !important;
	}

	/* běžné boxy a CTA – normální mobilní padding */
	.asr-card,
	.asr-cta {
		margin-top: 18px !important;
		padding: 38px 24px !important;
		border-radius: 24px !important;
	}

	.site-main .entry-content > .wp-block-group:first-child h1,
	.site-main .wp-block-post-content > .wp-block-group:first-child h1,
	.asr-home-hero h1,
	.asr-hero h1,
	.asr-home-hero .wp-block-heading,
	.asr-hero .wp-block-heading,
	.asr-card h2,
	.asr-cta h3 {
		font-size: 32px !important;
		line-height: 1.14 !important;
	}

	.site-main .entry-content > .wp-block-group:first-child h1::after,
	.site-main .wp-block-post-content > .wp-block-group:first-child h1::after,
	.asr-home-hero h1::after,
	.asr-hero h1::after,
	.asr-home-hero .wp-block-heading::after,
	.asr-hero .wp-block-heading::after,
	.asr-card h2::after,
	.asr-cta h3::after {
		height: 5px;
	}

	.asr-card h3,
	.asr-mini-card h3,
	.wp-block-columns.asr-columns-gap > .wp-block-column > * h3 {
		font-size: 24px !important;
	}

	.site-main .entry-content > .wp-block-group:first-child p,
	.site-main .wp-block-post-content > .wp-block-group:first-child p,
	.asr-home-hero p,
	.asr-hero p,
	.asr-card p,
	.asr-card li,
	.asr-mini-card p,
	.asr-cta p,
	.wp-block-columns.asr-columns-gap > .wp-block-column > * p {
		font-size: 18px !important;
		line-height: 1.55 !important;
	}

	.asr-card-link:hover,
	.asr-card-link:focus-visible {
		transform: scale(1.04);
	}

	.asr-kids-page .asr-kids-hero,
	.asr-kids-page .asr-kids-card-box,
	.asr-kids-page .asr-kids-cta,
	.asr-kids-page .asr-kids-card {
		border-width: 2px !important;
		border-radius: 24px !important;
	}

	.asr-kids-sticker--rainbow {
		width: 92px;
		right: 12px;
		top: 12px;
	}

	.asr-kids-sticker--star {
		width: 46px;
		left: 14px;
		top: 16px;
	}

	.asr-kids-sticker--pencil {
		width: 90px;
		right: 56px;
		bottom: 10px;
	}
}


/* ========================================
   ASR – mobile drawer menu (custom)
======================================== */

/* vnější panel */
.mobile-drawer-inner-wrap,
.mobile-drawer-content,
.drawer-inner {
	background: rgba(247, 244, 235, 0.96) !important;
	border-radius: 30px 0 0 30px !important;
	box-shadow: -18px 0 42px rgba(36, 59, 103, 0.10) !important;
}

/* overlay za menu */
.drawer-overlay {
	background: rgba(36, 59, 103, 0.22) !important;
	backdrop-filter: blur(2px);
}

/* obsah draweru */
.mobile-drawer-content {
	padding: 14px 18px 22px !important;
}

/* vnitřní karta menu */
.mobile-drawer .mobile-menu-container,
.mobile-drawer .mobile-navigation,
.mobile-drawer-content .mobile-menu-container,
.mobile-drawer-content .mobile-navigation,
.drawer-inner .mobile-menu-container,
.drawer-inner .mobile-navigation {
	background: rgba(255, 252, 246, 0.72) !important;
	border-radius: 24px !important;
	padding: 18px 18px 20px !important;
	box-shadow:
		0 10px 24px rgba(36, 59, 103, 0.04),
		inset 0 1px 0 rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(6px);
}

/* položky menu */
.mobile-drawer .mobile-menu-container ul li,
.mobile-drawer .mobile-navigation ul li,
.mobile-drawer-content .mobile-menu-container ul li,
.mobile-drawer-content .mobile-navigation ul li,
.drawer-inner .mobile-menu-container ul li,
.drawer-inner .mobile-navigation ul li {
	list-style: none;
	margin: 0 !important;
	border-bottom: 1px solid rgba(36, 59, 103, 0.04);
}

/* odkazy v menu */
.mobile-drawer .mobile-menu-container ul li a,
.mobile-drawer .mobile-navigation ul li a,
.mobile-drawer-content .mobile-menu-container ul li a,
.mobile-drawer-content .mobile-navigation ul li a,
.drawer-inner .mobile-menu-container ul li a,
.drawer-inner .mobile-navigation ul li a {
	display: block;
	padding: 15px 10px !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	border-radius: 14px;
	text-decoration: none !important;
	color: #243b67 !important;
	-webkit-text-fill-color: #243b67 !important;
	opacity: 1 !important;
	transition:
		background 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease;
}

/* hover / focus */
.mobile-drawer .mobile-menu-container ul li a:hover,
.mobile-drawer .mobile-navigation ul li a:hover,
.mobile-drawer-content .mobile-menu-container ul li a:hover,
.mobile-drawer-content .mobile-navigation ul li a:hover,
.drawer-inner .mobile-menu-container ul li a:hover,
.drawer-inner .mobile-navigation ul li a:hover,
.mobile-drawer .mobile-menu-container ul li a:focus,
.mobile-drawer .mobile-navigation ul li a:focus,
.mobile-drawer-content .mobile-menu-container ul li a:focus,
.mobile-drawer-content .mobile-navigation ul li a:focus,
.drawer-inner .mobile-menu-container ul li a:focus,
.drawer-inner .mobile-navigation ul li a:focus {
	background: rgba(184, 216, 248, 0.16) !important;
	color: #5f5aa2 !important;
	-webkit-text-fill-color: #5f5aa2 !important;
	transform: translateX(3px);
}

/* aktivní položka */
.mobile-drawer .current-menu-item > a,
.mobile-drawer .current_page_item > a,
.mobile-drawer-content .current-menu-item > a,
.mobile-drawer-content .current_page_item > a,
.drawer-inner .current-menu-item > a,
.drawer-inner .current_page_item > a {
	background: rgba(184, 216, 248, 0.18) !important;
	box-shadow: inset 3px 0 0 rgba(95, 90, 162, 0.55);
	color: #243b67 !important;
	-webkit-text-fill-color: #243b67 !important;
	opacity: 1 !important;
}

/* CTA blok pod menu */
.asr-mobile-menu-cta {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(36, 59, 103, 0.07);
}

/* CTA tlačítko */
.asr-mobile-menu-cta a {
	display: block;
	width: 100%;
	text-align: center;
	text-decoration: none !important;
	background: linear-gradient(180deg, #2d4a84 0%, #243b67 100%);
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.01em;
	padding: 15px 18px;
	border-radius: 999px;
	box-shadow:
		0 12px 24px rgba(36, 59, 103, 0.14),
		0 0 0 1px rgba(255, 255, 255, 0.08) inset;
	transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
	position: relative;
	overflow: hidden;
}

/* CTA hover */
.asr-mobile-menu-cta a:hover,
.asr-mobile-menu-cta a:focus {
	transform: translateY(-2px);
	box-shadow:
		0 16px 30px rgba(36, 59, 103, 0.18),
		0 0 0 1px rgba(255, 255, 255, 0.10) inset;
	filter: brightness(1.04);
}

/* jemný lesk CTA */
.asr-mobile-menu-cta a::after {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		120deg,
		transparent,
		rgba(255, 255, 255, 0.25),
		transparent
	);
	transition: left 0.6s ease;
}

.asr-mobile-menu-cta a:hover::after {
	left: 100%;
}

/* zavírací křížek */
.mobile-drawer .drawer-toggle,
.mobile-drawer .menu-toggle-close,
.kb-off-canvas-close {
	color: #243b67 !important;
	opacity: 0.55;
	transform: scale(0.92);
	transition: opacity 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.mobile-drawer .drawer-toggle:hover,
.mobile-drawer .menu-toggle-close:hover,
.kb-off-canvas-close:hover {
	opacity: 0.9;
	color: #5f5aa2 !important;
}


/* ========================================
   ASR – jemné doladění pro malé mobily
======================================== */
@media (max-width: 480px) {
	.mobile-drawer-content {
		padding: 10px 14px 18px !important;
	}

	.mobile-drawer .mobile-menu-container,
	.mobile-drawer .mobile-navigation,
	.mobile-drawer-content .mobile-menu-container,
	.mobile-drawer-content .mobile-navigation,
	.drawer-inner .mobile-menu-container,
	.drawer-inner .mobile-navigation {
		padding: 16px 14px 18px !important;
		border-radius: 22px !important;
	}

	.mobile-drawer .mobile-menu-container ul li a,
	.mobile-drawer .mobile-navigation ul li a,
	.mobile-drawer-content .mobile-menu-container ul li a,
	.mobile-drawer-content .mobile-navigation ul li a,
	.drawer-inner .mobile-menu-container ul li a,
	.drawer-inner .mobile-navigation ul li a {
		font-size: 17px !important;
		padding: 14px 8px !important;
	}

	.asr-mobile-menu-cta a {
		padding: 13px 16px;
		font-size: 15px;
	}
}

/* ========================================
   ASR – O mně foto responsive
======================================== */
@media (max-width: 782px) {
	.asr-lidus-foto img {
		width: min(300px, 100%) !important;
		height: auto !important;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}

	.asr-omne-miniboxy .wp-block-column:last-child .asr-mini-card {
		padding: 24px 20px !important;
	}

	.asr-omne-miniboxy .wp-block-column:last-child .wp-block-image {
		width: 100%;
		display: flex;
		justify-content: center;
	}
}

@media (max-width: 480px) {
	.asr-lidus-foto img {
		width: min(240px, 100%) !important;
	}

	.asr-omne-miniboxy .wp-block-column:last-child .asr-mini-card {
		padding: 20px 16px !important;
	}
}

/* ========================================
   ASR – O mně miniboxy responsive šířky
======================================== */
@media (max-width: 782px) {
	.asr-omne-miniboxy {
		display: flex;
		flex-wrap: wrap;
	}

	.asr-omne-miniboxy .wp-block-column {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
		margin-left: 0 !important;
	}

	.asr-omne-miniboxy .wp-block-column > * {
		width: 100% !important;
	}

	/* box s fotkou může být užší, ale centrovaný */
	.asr-omne-miniboxy .wp-block-column:last-child .asr-mini-card {
		max-width: 340px;
		margin: 0 auto;
	}
}

@media (max-width: 480px) {
	.asr-omne-miniboxy .wp-block-column:last-child .asr-mini-card {
		max-width: 260px;
	}
}