:root {
	--im-header-bg: #a96f46;
	--im-header-text: #fff;
	--im-accent: #ad7147;
	--im-accent-dark: #835132;
	--im-accent-soft: #f2e5da;
	--im-footer-bg: #211a16;
	--im-surface: #f8f4ef;
	--im-surface-2: #f3eee8;
	--im-text: #211d1a;
	--im-muted: #746b65;
	--im-border: #e5ddd6;
	--im-white: #fff;
	--im-success: #237a4b;
	--im-danger: #a1433e;
	--im-shadow-sm: 0 8px 24px rgb(37 24 16 / 0.08);
	--im-shadow-md: 0 20px 60px rgb(37 24 16 / 0.14);
	--im-shadow-lg: 0 32px 90px rgb(25 16 11 / 0.2);
	--im-radius-sm: 10px;
	--im-radius: 18px;
	--im-radius-lg: 28px;
	--im-container: 1320px;
	--im-header-height: 78px;
	--im-header-topbar-height: 34px;
	--im-header-container: 1480px;
	--im-font: "Montserrat", Arial, sans-serif;
	--thim-font-body-font-family: "Montserrat", Arial, sans-serif;
	--thim-font-title-font-family: "Montserrat", Arial, sans-serif;
	--thim-font-title-variant: 700;
	--thim-font-h4-variant: 700;
	--thim-font-h5-variant: 700;
	--thim-font-h6-variant: 700;
}

html {
	box-sizing: border-box;
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

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

body {
	margin: 0;
	min-width: 320px;
	background: var(--im-white);
	color: var(--im-text);
	font-family: var(--im-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
}

body.im-menu-open,
body.im-overlay-open {
	overflow: hidden;
}

img,
picture,
video,
canvas,
svg {
	max-width: 100%;
}

img {
	height: auto;
	vertical-align: middle;
}

iframe {
	max-width: 100%;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
[role="button"] {
	touch-action: manipulation;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--im-accent) 55%, #fff);
	outline-offset: 3px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.65em;
	color: var(--im-text);
	font-family: var(--im-font);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.025em;
}

h1 { font-size: clamp(2.15rem, 4.5vw, 4.75rem); }
h2 { font-size: clamp(1.8rem, 3.2vw, 3.25rem); }
h3 { font-size: clamp(1.35rem, 2vw, 2rem); }
h4 { font-size: 1.25rem; }

p {
	margin: 0 0 1.25em;
}

ul,
ol {
	margin: 0 0 1.4em;
}

blockquote {
	margin: 2rem 0;
	padding: 1.5rem 1.75rem;
	border-left: 4px solid var(--im-accent);
	border-radius: 0 var(--im-radius) var(--im-radius) 0;
	background: var(--im-surface);
	font-size: 1.1em;
}

hr {
	border: 0;
	border-top: 1px solid var(--im-border);
	margin: 2.5rem 0;
}

a {
	color: var(--im-accent-dark);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

a:hover {
	color: var(--im-accent);
}

::selection {
	background: color-mix(in srgb, var(--im-accent) 28%, #fff);
	color: var(--im-text);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.im-skip-link:focus {
	top: 12px;
	left: 12px;
	z-index: 999999;
	display: block;
	width: auto;
	height: auto;
	padding: 12px 18px;
	clip: auto !important;
	border-radius: 999px;
	background: #fff;
	box-shadow: var(--im-shadow-md);
	color: var(--im-text);
	font-weight:700;
}

.im-site {
	min-height: 100vh;
}

.im-content-pusher {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}

.im-site-content {
	min-width: 0;
	flex: 1 0 auto;
}

.im-container,
.container,
.lp-content-area {
	width: min(calc(100% - 40px), var(--im-container));
	margin-inline: auto;
}

.im-container--text {
	max-width: 980px;
}

.im-container--article {
	max-width: 900px;
}

.im-site-main {
	min-width: 0;
}

.alignwide {
	width: min(1180px, calc(100vw - 40px));
	max-width: none;
	margin-inline: auto;
}

.alignfull {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

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

.clear::after,
.entry-content::after {
	clear: both;
}

.im-button,
.wp-element-button,
button.im-button,
a.im-button {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 10px 19px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-weight:700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.im-button:hover,
.wp-element-button:hover {
	transform: translateY(-1px);
}

.im-button--primary {
	background: var(--im-accent);
	color: #fff;
	box-shadow: 0 10px 28px color-mix(in srgb, var(--im-accent) 30%, transparent);
}

.im-button--primary:hover {
	background: var(--im-accent-dark);
	color: #fff;
}

.im-button--light {
	border-color: rgb(255 255 255 / 0.42);
	background: rgb(255 255 255 / 0.96);
	color: var(--im-accent-dark);
}

/* Premium header and navigation */
.im-header-container {
	width: min(calc(100% - 32px), var(--im-header-container, 1480px));
	margin-inline: auto;
}

.im-site-header {
	position: relative;
	z-index: 1000;
	width: 100%;
	color: var(--im-header-text);
	isolation: isolate;
}

.im-header-is-sticky .im-site-header {
	position: sticky;
	top: 0;
}

.admin-bar.im-header-is-sticky .im-site-header {
	top: 32px;
}

.im-header-topbar {
	position: relative;
	z-index: 4;
	max-height: var(--im-header-topbar-height, 34px);
	border-bottom: 1px solid rgb(255 255 255 / 0.11);
	background:
		radial-gradient(circle at 14% -120%, rgb(255 255 255 / 0.14), transparent 44%),
		color-mix(in srgb, var(--im-header-bg) 76%, #352116);
	overflow: hidden;
	transition: max-height 220ms ease, opacity 180ms ease, border-color 180ms ease;
}

.im-header-topbar__inner {
	display: flex;
	min-height: var(--im-header-topbar-height, 34px);
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.im-header-topbar__message {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 9px;
	color: rgb(255 255 255 / 0.92);
	font-size: 0.74rem;
	font-weight:700;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

.im-header-topbar__mark {
	width: 7px;
	height: 7px;
	flex: 0 0 7px;
	border: 1px solid rgb(255 255 255 / 0.72);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 4px rgb(255 255 255 / 0.09);
}

.im-header-topbar__scope {
	padding-left: 10px;
	border-left: 1px solid rgb(255 255 255 / 0.18);
	color: rgb(255 255 255 / 0.63);
	font-weight: 560;
}

.im-header-utility {
	min-width: 0;
}

.im-utility-menu,
.im-premium-nav,
.im-mobile-menu,
.im-mobile-menu ul,
.im-account__menu,
.im-footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.im-utility-menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 19px;
}

.im-utility-menu a {
	color: rgb(255 255 255 / 0.76);
	font-size: 0.72rem;
	font-weight: 690;
	text-decoration: none;
	transition: color 140ms ease;
}

.im-utility-menu a:hover,
.im-utility-menu a:focus-visible {
	color: #fff;
}

.im-header-main {
	position: relative;
	z-index: 3;
	background:
		radial-gradient(circle at 18% -80%, rgb(255 255 255 / 0.19), transparent 39%),
		radial-gradient(circle at 84% 170%, rgb(56 31 17 / 0.17), transparent 42%),
		linear-gradient(118deg, color-mix(in srgb, var(--im-header-bg) 90%, #6e422a), var(--im-header-bg) 55%, color-mix(in srgb, var(--im-header-bg) 88%, #cf976d));
	box-shadow: 0 1px 0 rgb(255 255 255 / 0.09), 0 10px 35px rgb(45 25 14 / 0.08);
}

.im-header__inner {
	display: grid;
	min-height: var(--im-header-height);
	grid-template-columns: minmax(176px, 232px) minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(16px, 1.7vw, 30px);
}

.im-header-is-sticky .im-site-header.is-scrolled .im-header-topbar {
	max-height: 0;
	border-color: transparent;
	opacity: 0;
}

.im-header-is-sticky .im-site-header.is-scrolled .im-header-main {
	box-shadow: 0 12px 38px rgb(40 23 14 / 0.17);
}

.im-site-branding {
	min-width: 0;
	line-height: 1;
}

.custom-logo-link,
.im-wordmark {
	display: inline-flex;
	max-width: 232px;
	align-items: center;
	gap: 11px;
	color: inherit;
	text-decoration: none;
}

.custom-logo {
	display: block;
	width: auto;
	max-width: 232px;
	height: auto;
	max-height: 49px;
	object-fit: contain;
	transition: filter 160ms ease, opacity 160ms ease;
}

.im-logo-is-monochrome .im-site-header .custom-logo {
	filter: brightness(0) invert(1);
}

.im-wordmark__mark {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid rgb(255 255 255 / 0.45);
	border-radius: 13px;
	background: rgb(255 255 255 / 0.12);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.13);
	font-size: 0.88rem;
	font-weight:700;
	letter-spacing: -0.04em;
}

.im-wordmark__text {
	font-size: 1.12rem;
	font-weight:700;
	letter-spacing: -0.025em;
	white-space: nowrap;
}

/* Desktop primary navigation */
.im-primary-navigation {
	min-width: 0;
	justify-self: center;
}

.im-premium-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
}

.im-premium-nav__item {
	position: relative;
}

.im-premium-nav__entry {
	display: flex;
	min-height: 44px;
	align-items: center;
	border: 1px solid transparent;
	border-radius: 999px;
	transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.im-premium-nav__item:hover .im-premium-nav__entry,
.im-premium-nav__item:focus-within .im-premium-nav__entry,
.im-premium-nav__item.is-open .im-premium-nav__entry,
.im-premium-nav__item.current-menu-item .im-premium-nav__entry,
.im-premium-nav__item.current-menu-ancestor .im-premium-nav__entry {
	border-color: rgb(255 255 255 / 0.12);
	background: rgb(255 255 255 / 0.105);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.08);
}

.im-premium-nav__link {
	display: flex;
	min-height: 42px;
	align-items: center;
	padding: 8px 4px 8px 13px;
	color: var(--im-header-text);
	font-size: clamp(0.82rem, 0.8vw, 0.91rem);
	font-weight:700;
	letter-spacing: -0.01em;
	text-decoration: none;
	white-space: nowrap;
}

.im-premium-nav__item:not(.menu-item-has-children) .im-premium-nav__link {
	padding-inline: 14px;
}

.im-premium-nav__toggle {
	display: grid;
	width: 30px;
	height: 36px;
	place-items: center;
	padding: 0 6px 0 2px;
	border: 0;
	background: transparent;
	color: rgb(255 255 255 / 0.78);
	cursor: pointer;
}

.im-premium-nav__toggle svg {
	width: 15px;
	height: 15px;
	transition: transform 160ms ease;
}

.im-premium-nav__item.is-open .im-premium-nav__toggle svg,
.im-premium-nav__toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

/* Header actions */
.im-header__actions {
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: flex-end;
	gap: 9px;
}

.im-header-search-toggle {
	display: grid;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	place-items: center;
	padding: 0;
	border: 1px solid rgb(255 255 255 / 0.24);
	border-radius: 50%;
	background: rgb(255 255 255 / 0.075);
	color: #fff;
	cursor: pointer;
	transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.im-header-search-toggle:hover,
.im-header-search-toggle[aria-expanded="true"] {
	border-color: rgb(255 255 255 / 0.55);
	background: rgb(255 255 255 / 0.16);
	transform: translateY(-1px);
}

.im-header-search-toggle svg {
	width: 19px;
	height: 19px;
}

.im-header__cta {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	border: 1px solid rgb(255 255 255 / 0.25);
	border-radius: 999px;
	background: rgb(255 255 255 / 0.075);
	color: var(--im-header-text);
	font-size: 0.79rem;
	font-weight:700;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.im-header__cta:hover {
	border-color: rgb(255 255 255 / 0.54);
	background: rgb(255 255 255 / 0.14);
	color: #fff;
	transform: translateY(-1px);
}

.im-header-app-cta {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px 13px;
	border: 1px solid rgb(255 255 255 / 0.56);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 10px 28px rgb(47 25 13 / 0.18), inset 0 1px 0 rgb(255 255 255 / 0.9);
	color: var(--im-accent-dark);
	font-size: 0.8rem;
	font-weight:700;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

.im-header-app-cta:hover {
	background: #fffaf6;
	box-shadow: 0 13px 34px rgb(47 25 13 / 0.22);
	color: var(--im-accent-dark);
	transform: translateY(-1px);
}

.im-header-app-cta__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #22a968;
	box-shadow: 0 0 0 4px rgb(34 169 104 / 0.17);
}

.im-header-app-cta svg {
	width: 15px;
	height: 15px;
}

.im-auth-links {
	display: flex;
	align-items: center;
	gap: 8px;
}

.im-auth-link {
	color: var(--im-header-text);
	font-size: 0.82rem;
	font-weight:700;
	text-decoration: none;
	white-space: nowrap;
}

.im-auth-link--login {
	padding: 8px 4px;
}

.im-auth-links .im-button--light {
	min-height: 42px;
	padding: 8px 14px;
	font-size: 0.8rem;
}

/* Full-width mega menu */
.im-mega-menu {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: 2;
	padding: 14px 0 20px;
	border-top: 1px solid rgb(93 58 35 / 0.07);
	background: rgb(253 250 247 / 0.985);
	box-shadow: 0 34px 80px rgb(37 23 14 / 0.22);
	color: var(--im-text);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-10px);
	transition: opacity 170ms ease, transform 190ms ease, visibility 0s linear 190ms;
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

.im-mega-menu.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	transition: opacity 170ms ease, transform 190ms ease, visibility 0s;
}

.im-mega-menu__shell {
	display: grid;
	width: min(calc(100% - 40px), 1420px);
	grid-template-columns: minmax(245px, 0.78fr) minmax(430px, 1.55fr) minmax(250px, 0.8fr);
	gap: clamp(15px, 1.6vw, 24px);
	align-items: stretch;
}

.im-mega-menu__intro,
.im-mega-menu__spotlight {
	position: relative;
	min-width: 0;
	border-radius: 24px;
	overflow: hidden;
}

.im-mega-menu__intro {
	display: flex;
	min-height: 268px;
	flex-direction: column;
	align-items: flex-start;
	padding: 25px;
	background:
		radial-gradient(circle at 20% 0, rgb(255 255 255 / 0.17), transparent 34%),
		linear-gradient(145deg, color-mix(in srgb, var(--im-header-bg) 84%, #6c4129), color-mix(in srgb, var(--im-header-bg) 70%, #3d281e));
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.15);
	color: #fff;
}

.im-mega-menu__intro--blog {
	cursor: pointer;
	transition: box-shadow 170ms ease, transform 170ms ease;
}

.im-mega-menu__intro--blog:hover {
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.18), 0 12px 28px rgb(66 38 22 / 0.14);
	transform: translateY(-1px);
}

.im-mega-menu__intro-hit {
	position: absolute;
	inset: 0;
	z-index: 3;
	border-radius: inherit;
	text-decoration: none;
}

.im-mega-menu__intro-hit:focus-visible {
	outline: 3px solid rgb(255 255 255 / 0.72);
	outline-offset: -5px;
}

.im-mega-menu__intro-cta {
	pointer-events: none;
}

.im-mega-menu__intro--blog:hover .im-mega-menu__intro-cta svg {
	transform: translateX(3px);
}

.im-mega-menu__intro::after {
	position: absolute;
	right: -54px;
	bottom: -74px;
	width: 190px;
	height: 190px;
	border: 1px solid rgb(255 255 255 / 0.15);
	border-radius: 50%;
	box-shadow: 0 0 0 30px rgb(255 255 255 / 0.035), 0 0 0 65px rgb(255 255 255 / 0.025);
	content: "";
}

.im-mega-menu__intro-icon {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	margin-bottom: 24px;
	border: 1px solid rgb(255 255 255 / 0.25);
	border-radius: 14px;
	background: rgb(255 255 255 / 0.1);
}

.im-mega-menu__intro-icon svg {
	width: 22px;
	height: 22px;
}

.im-mega-menu__eyebrow {
	display: block;
	margin-bottom: 7px;
	color: var(--im-accent-dark);
	font-size: 0.66rem;
	font-weight:700;
	letter-spacing: 0.11em;
	line-height: 1.25;
	text-transform: uppercase;
}

.im-mega-menu__intro .im-mega-menu__eyebrow {
	color: rgb(255 255 255 / 0.66);
}

.im-mega-menu__intro h2 {
	position: relative;
	z-index: 1;
	margin: 0 0 10px;
	color: #fff;
	font-size: clamp(1.45rem, 2vw, 2rem);
	letter-spacing: -0.04em;
}

.im-mega-menu__intro p {
	position: relative;
	z-index: 1;
	margin: 0 0 20px;
	color: rgb(255 255 255 / 0.76);
	font-size: 0.87rem;
	line-height: 1.58;
}

.im-mega-menu__all {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-top: auto;
	color: #fff;
	font-size: 0.82rem;
	font-weight:700;
	text-decoration: none;
}

.im-mega-menu__all svg {
	width: 17px;
	height: 17px;
	transition: transform 150ms ease;
}

.im-mega-menu__all:hover {
	color: #fff;
}

.im-mega-menu__all:hover svg {
	transform: translateX(3px);
}

.im-mega-menu__content {
	min-width: 0;
	padding: 4px 0;
}

.im-mega-menu__content.has-groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-content: start;
	gap: 13px 24px;
}

.im-mega-group {
	min-width: 0;
	padding: 8px;
}

.im-mega-group__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 7px;
	color: var(--im-text);
	font-size: 0.9rem;
	font-weight:700;
	text-decoration: none;
}

.im-mega-group__title:hover {
	color: var(--im-accent-dark);
}

.im-mega-group__icon {
	display: grid;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	place-items: center;
	border-radius: 11px;
	background: var(--im-accent-soft);
	color: var(--im-accent-dark);
}

.im-mega-group__icon svg {
	width: 17px;
	height: 17px;
}

.im-mega-group > p {
	margin: -1px 0 8px 44px;
	color: var(--im-muted);
	font-size: 0.75rem;
	line-height: 1.5;
}

.im-mega-group ul {
	list-style: none;
	margin: 0;
	padding: 0 0 0 44px;
}

.im-mega-group li + li {
	margin-top: 2px;
}

.im-mega-group li a {
	display: flex;
	min-height: 33px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 5px 7px;
	border-radius: 9px;
	color: #514943;
	font-size: 0.79rem;
	font-weight: 630;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color 130ms ease, color 130ms ease, transform 130ms ease;
}

.im-mega-group li a svg {
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
	color: color-mix(in srgb, var(--im-accent) 72%, transparent);
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity 130ms ease, transform 130ms ease;
}

.im-mega-group li a:hover,
.im-mega-group li a:focus-visible {
	background: var(--im-surface);
	color: var(--im-accent-dark);
	transform: translateX(2px);
}

.im-mega-group li a:hover svg,
.im-mega-group li a:focus-visible svg {
	opacity: 1;
	transform: none;
}

.im-mega-card-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
}

.im-mega-link-card {
	display: grid;
	min-width: 0;
	min-height: 104px;
	grid-template-columns: 42px minmax(0, 1fr) 19px;
	align-items: center;
	gap: 12px;
	padding: 15px;
	border: 1px solid var(--im-border);
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 7px 22px rgb(38 23 14 / 0.035);
	color: var(--im-text);
	text-decoration: none;
	transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.im-mega-link-card:hover,
.im-mega-link-card:focus-visible {
	border-color: color-mix(in srgb, var(--im-accent) 34%, var(--im-border));
	box-shadow: 0 13px 30px rgb(50 30 18 / 0.09);
	color: var(--im-text);
	transform: translateY(-2px);
}

.im-mega-link-card__icon {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 13px;
	background: var(--im-accent-soft);
	color: var(--im-accent-dark);
}

.im-mega-link-card__icon svg {
	width: 20px;
	height: 20px;
}

.im-mega-link-card__copy {
	min-width: 0;
}

.im-mega-link-card__copy strong,
.im-mega-link-card__copy small {
	display: block;
}

.im-mega-link-card__copy strong {
	margin-bottom: 4px;
	font-size: 0.88rem;
	line-height: 1.25;
}

.im-mega-link-card__copy small {
	color: var(--im-muted);
	font-size: 0.72rem;
	line-height: 1.42;
}

.im-mega-link-card__note {
	display: block;
	margin-top: 3px;
	color: color-mix(in srgb, var(--im-muted) 86%, var(--im-text));
	font-size: 0.66rem;
	font-style: italic;
	line-height: 1.34;
}

.im-mega-link-card__arrow {
	display: grid;
	width: 19px;
	height: 19px;
	place-items: center;
	color: var(--im-accent);
	opacity: 0.72;
}

.im-mega-link-card__arrow svg {
	width: 16px;
	height: 16px;
}

.im-mega-menu__spotlight {
	display: flex;
	min-height: 268px;
	flex-direction: column;
	align-items: flex-start;
	padding: 25px;
	border: 1px solid color-mix(in srgb, var(--im-accent) 18%, var(--im-border));
	background:
		radial-gradient(circle at 100% 0, color-mix(in srgb, var(--im-accent) 14%, transparent), transparent 36%),
		linear-gradient(145deg, #fff, var(--im-surface));
	box-shadow: inset 0 1px 0 #fff;
	color: inherit;
	text-decoration: none;
}

.im-mega-menu__spotlight--clickable {
	cursor: pointer;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.im-mega-menu__spotlight--clickable:hover,
.im-mega-menu__spotlight--clickable:focus {
	color: inherit;
	text-decoration: none;
}

.im-mega-menu__spotlight--clickable:hover {
	border-color: color-mix(in srgb, var(--im-accent) 34%, var(--im-border));
	box-shadow: inset 0 1px 0 #fff, 0 10px 28px color-mix(in srgb, var(--im-accent) 10%, transparent);
}

.im-mega-menu__spotlight--clickable:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--im-accent) 42%, transparent);
	outline-offset: 3px;
}

.im-mega-menu__spotlight-orb {
	position: absolute;
	top: 18px;
	right: 18px;
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border: 1px solid color-mix(in srgb, var(--im-accent) 25%, transparent);
	border-radius: 50%;
	box-shadow: inset 0 0 0 10px color-mix(in srgb, var(--im-accent) 7%, transparent), 0 0 0 9px rgb(255 255 255 / 0.62);
	color: var(--im-accent-dark);
}

.im-mega-menu__spotlight-orb svg {
	width: 19px;
	height: 19px;
}

/* „Więcej”: środkowe kafle wypełniają wysokość Bloga i panelu Specjalistów.
   Przy nieparzystej liczbie pozycji ostatnie CTA zajmuje pełną szerokość.
   Kolejność PHP celowo ustawia tu „Dołącz jako specjalista” jako finał sekcji. */
.im-mega-menu--more .im-mega-menu__content.has-cards {
	display: flex;
	min-height: 0;
	flex-direction: column;
}

.im-mega-menu--more .im-mega-card-grid {
	min-height: 0;
	flex: 1 1 auto;
	grid-auto-rows: minmax(0, 1fr);
}

.im-mega-menu--more .im-mega-link-card {
	min-height: 0;
}

.im-mega-menu--more .im-mega-card-grid > .im-mega-link-card:last-child:nth-child(odd) {
	grid-column: 1 / -1;
	min-height: 86px;
}

.im-mega-menu--more .im-mega-link-card--with-note {
	grid-template-columns: 42px minmax(0, 1fr) 19px;
	padding-top: 11px;
	padding-bottom: 11px;
}

.im-mega-menu__spotlight h3 {
	position: relative;
	max-width: 90%;
	margin: 11px 0 10px;
	font-size: clamp(1.15rem, 1.45vw, 1.48rem);
	line-height: 1.18;
	letter-spacing: -0.035em;
}

.im-mega-menu__spotlight p {
	margin: 0 0 16px;
	color: var(--im-muted);
	font-size: 0.79rem;
	line-height: 1.55;
}

.im-mega-menu__features {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 18px;
}

.im-mega-menu__features span {
	padding: 5px 8px;
	border: 1px solid var(--im-border);
	border-radius: 999px;
	background: rgb(255 255 255 / 0.78);
	color: #62574f;
	font-size: 0.64rem;
	font-weight:700;
}

.im-mega-menu__spotlight-link {
	display: inline-flex;
	min-height: 39px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: auto;
	padding: 8px 13px;
	border-radius: 999px;
	background: var(--im-accent);
	box-shadow: 0 8px 22px color-mix(in srgb, var(--im-accent) 22%, transparent);
	color: #fff;
	font-size: 0.75rem;
	font-weight:700;
	text-decoration: none;
}

.im-mega-menu__spotlight-link:hover,
.im-mega-menu__spotlight--clickable:hover .im-mega-menu__spotlight-link,
.im-mega-menu__spotlight--clickable:focus-visible .im-mega-menu__spotlight-link {
	background: var(--im-accent-dark);
	color: #fff;
}

.im-mega-menu__spotlight-link svg {
	width: 15px;
	height: 15px;
}

.im-header-backdrop {
	position: fixed;
	inset: 0;
	z-index: 950;
	background: rgb(24 15 10 / 0.3);
	opacity: 0;
	transition: opacity 170ms ease;
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

.im-header-backdrop.is-visible {
	opacity: 1;
}

/* Full-width search panel */
.im-header-search-panel {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: 4;
	padding: 28px 0 32px;
	border-top: 1px solid rgb(93 58 35 / 0.08);
	background: rgb(253 250 247 / 0.99);
	box-shadow: 0 34px 80px rgb(37 23 14 / 0.22);
	color: var(--im-text);
	animation: im-header-panel-in 170ms ease both;
}

.im-header-search-panel[hidden] {
	display: none;
}

@keyframes im-header-panel-in {
	from { opacity: 0; transform: translateY(-9px); }
	to { opacity: 1; transform: none; }
}

.im-header-search-panel__inner {
	max-width: 880px;
}

.im-header-search-panel__heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 18px;
}

.im-header-search-panel__heading h2 {
	margin: 0;
	font-size: clamp(1.45rem, 2.6vw, 2.25rem);
}

.im-header-search-panel__close {
	display: grid;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	place-items: center;
	padding: 0;
	border: 1px solid var(--im-border);
	border-radius: 50%;
	background: #fff;
	color: var(--im-text);
	cursor: pointer;
}

.im-header-search-panel__close svg {
	width: 19px;
	height: 19px;
}

.im-header-search-panel .im-search-form {
	width: 100%;
	max-width: none;
}

.im-header-search-panel .im-search-form input {
	min-height: 64px;
	padding: 14px 68px 14px 20px;
	border-color: color-mix(in srgb, var(--im-accent) 20%, var(--im-border));
	border-radius: 18px;
	box-shadow: 0 12px 34px rgb(45 28 17 / 0.07);
	font-size: 1rem;
}

.im-header-search-panel .im-search-form button {
	right: 7px;
	width: 50px;
	height: 50px;
	border-radius: 14px;
}

.im-header-search-panel__quick-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-top: 14px;
	color: var(--im-muted);
	font-size: 0.74rem;
}

.im-header-search-panel__quick-links > span {
	font-weight:700;
}

.im-header-search-panel__quick-links a {
	padding: 5px 9px;
	border-radius: 999px;
	background: var(--im-surface);
	color: var(--im-accent-dark);
	font-weight:700;
	text-decoration: none;
}

/* Account dropdown */
.im-account {
	position: relative;
}

.im-account__toggle {
	display: flex;
	min-height: 46px;
	align-items: center;
	gap: 8px;
	padding: 3px 7px 3px 3px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	color: var(--im-header-text);
	cursor: pointer;
	transition: background-color 150ms ease, border-color 150ms ease;
}

.im-account__toggle:hover,
.im-account__toggle[aria-expanded="true"] {
	border-color: rgb(255 255 255 / 0.14);
	background: rgb(255 255 255 / 0.105);
}

.im-account__avatar-wrap {
	display: block;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	border: 2px solid rgb(255 255 255 / 0.65);
	border-radius: 50%;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 5px 14px rgb(37 21 12 / 0.18);
}

.im-account__avatar-wrap img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.im-account__name {
	max-width: 112px;
	overflow: hidden;
	font-size: 0.8rem;
	font-weight:700;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.im-account__chevron {
	width: 15px;
	height: 15px;
	transition: transform 160ms ease;
}

.im-account__toggle[aria-expanded="true"] .im-account__chevron {
	transform: rotate(180deg);
}

.im-account__panel {
	position: absolute;
	top: calc(100% + 15px);
	right: 0;
	z-index: 1200;
	width: 330px;
	max-width: calc(100vw - 24px);
	max-height: calc(100vh - var(--im-header-height) - 36px);
	padding: 11px;
	border: 1px solid rgb(58 39 26 / 0.08);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 30px 75px rgb(25 16 11 / 0.25);
	color: var(--im-text);
	overflow: auto;
	overscroll-behavior: contain;
	animation: im-popover-in 150ms ease both;
}

.im-account__panel[hidden] {
	display: none;
}

@keyframes im-popover-in {
	from { opacity: 0; transform: translateY(8px) scale(0.985); }
	to { opacity: 1; transform: none; }
}

.im-account__identity {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	align-items: center;
	gap: 13px;
	padding: 13px;
	border: 1px solid var(--im-border);
	border-radius: 18px;
	background:
		radial-gradient(circle at 100% 0, color-mix(in srgb, var(--im-accent) 12%, transparent), transparent 42%),
		var(--im-surface);
	text-align: left;
}

.im-account__identity-avatar {
	display: block;
	width: 58px;
	height: 58px;
	border: 3px solid #fff;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0 8px 22px rgb(28 18 12 / 0.13);
}

.im-account__identity-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.im-account__identity-name {
	min-width: 0;
	color: var(--im-text);
	font-size: 1rem;
	font-weight:700;
	line-height: 1.25;
	text-decoration: none;
}

.im-account__identity-name::after {
	display: block;
	margin-top: 4px;
	color: var(--im-muted);
	content: attr(data-account-label);
	font-size: 0.68rem;
	font-weight: 580;
}

.im-account__menu {
	padding-top: 8px;
}

.im-account__menu li {
	margin: 0;
}

.im-account__menu li + li {
	margin-top: 1px;
}

.im-account__menu a {
	display: grid;
	min-height: 42px;
	grid-template-columns: 21px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: 11px;
	color: #29231f;
	font-size: 0.88rem;
	font-weight: 650;
	line-height: 1.25;
	text-decoration: none;
	transition: background-color 130ms ease, color 130ms ease, transform 130ms ease;
}

.im-account__menu a:hover,
.im-account__menu a:focus-visible {
	background: var(--im-surface);
	color: var(--im-accent-dark);
	transform: translateX(2px);
}

.im-account__menu .menu-item-log-out {
	margin-top: 7px;
	padding-top: 7px;
	border-top: 1px solid var(--im-border);
}

.im-account__menu i {
	display: block;
	width: 18px;
	height: 18px;
	background-color: var(--im-accent);
	font-size: 0;
	font-style: normal;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.im-account__menu .lp-icon-my-courses {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5.5A3.5 3.5 0 0 1 7.5 2H20v17H7.5A3.5 3.5 0 0 0 4 22V5.5Z M4 18.5A3.5 3.5 0 0 1 7.5 15H20' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5.5A3.5 3.5 0 0 1 7.5 2H20v17H7.5A3.5 3.5 0 0 0 4 22V5.5Z M4 18.5A3.5 3.5 0 0 1 7.5 15H20' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.im-account__menu .edu-shopping-cart {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h2l2.4 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 1.9-1.4L21 7H6 M10 21a1 1 0 1 0 0-2 1 1 0 0 0 0 2 M18 21a1 1 0 1 0 0-2 1 1 0 0 0 0 2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h2l2.4 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 1.9-1.4L21 7H6 M10 21a1 1 0 1 0 0-2 1 1 0 0 0 0 2 M18 21a1 1 0 1 0 0-2 1 1 0 0 0 0 2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.im-account__menu .edu-certificate {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m8.5 12.5-1 8 4.5-2.5 4.5 2.5-1-8' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m8.5 12.5-1 8 4.5-2.5 4.5 2.5-1-8' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.im-account__menu .edu-heart-o {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8l1.1 1.1L12 21l7.8-7.5 1.1-1.1a5.5 5.5 0 0 0-.1-7.8Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8l1.1 1.1L12 21l7.8-7.5 1.1-1.1a5.5 5.5 0 0 0-.1-7.8Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.im-account__menu .edu-cog {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M19.4 15a1.7 1.7 0 0 0 .3 1.9l.1.1-2.8 2.8-.1-.1a1.7 1.7 0 0 0-1.9-.3 1.7 1.7 0 0 0-1 1.6v.2h-4V21a1.7 1.7 0 0 0-1-1.6 1.7 1.7 0 0 0-1.9.3l-.1.1L4.2 17l.1-.1a1.7 1.7 0 0 0 .3-1.9A1.7 1.7 0 0 0 3 14H2.8v-4H3a1.7 1.7 0 0 0 1.6-1 1.7 1.7 0 0 0-.3-1.9L4.2 7 7 4.2l.1.1A1.7 1.7 0 0 0 9 4.6 1.7 1.7 0 0 0 10 3V2.8h4V3a1.7 1.7 0 0 0 1 1.6 1.7 1.7 0 0 0 1.9-.3l.1-.1L19.8 7l-.1.1a1.7 1.7 0 0 0-.3 1.9 1.7 1.7 0 0 0 1.6 1h.2v4H21a1.7 1.7 0 0 0-1.6 1Z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M19.4 15a1.7 1.7 0 0 0 .3 1.9l.1.1-2.8 2.8-.1-.1a1.7 1.7 0 0 0-1.9-.3 1.7 1.7 0 0 0-1 1.6v.2h-4V21a1.7 1.7 0 0 0-1-1.6 1.7 1.7 0 0 0-1.9.3l-.1.1L4.2 17l.1-.1a1.7 1.7 0 0 0 .3-1.9A1.7 1.7 0 0 0 3 14H2.8v-4H3a1.7 1.7 0 0 0 1.6-1 1.7 1.7 0 0 0-.3-1.9L4.2 7 7 4.2l.1.1A1.7 1.7 0 0 0 9 4.6 1.7 1.7 0 0 0 10 3V2.8h4V3a1.7 1.7 0 0 0 1 1.6 1.7 1.7 0 0 0 1.9-.3l.1-.1L19.8 7l-.1.1a1.7 1.7 0 0 0-.3 1.9 1.7 1.7 0 0 0 1.6 1h.2v4H21a1.7 1.7 0 0 0-1.6 1Z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.im-account__menu .edu-sign-out {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 17l5-5-5-5M15 12H3M14 3h4a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3h-4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 17l5-5-5-5M15 12H3M14 3h4a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3h-4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.im-account__menu .lp-icon-calendar {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.im-account__menu .lp-icon-share-alt {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='18' cy='5' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='6' cy='12' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='18' cy='19' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m8.6 10.5 6.8-4M8.6 13.5l6.8 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='18' cy='5' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='6' cy='12' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='18' cy='19' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m8.6 10.5 6.8-4M8.6 13.5l6.8 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.im-account__menu .fa-mobile-alt,
.im-account__menu .fa-mobile-screen,
.im-account__menu .fa-mobile {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6' y='2' width='12' height='20' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M10 18h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6' y='2' width='12' height='20' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M10 18h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.im-account__menu .edu-user,
.im-account__menu .lp-icon-user {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7' r='4' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7' r='4' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Mobile navigation drawer */
.im-mobile-menu-toggle,
.im-mobile-drawer {
	display: none;
}

.im-mobile-menu-toggle {
	width: 42px;
	height: 42px;
	place-items: center;
	padding: 0;
	border: 1px solid rgb(255 255 255 / 0.25);
	border-radius: 13px;
	background: rgb(255 255 255 / 0.08);
	color: #fff;
	cursor: pointer;
}

.im-mobile-menu-toggle svg {
	width: 21px;
	height: 21px;
}

.im-mobile-menu-toggle__close {
	display: none;
}

.im-mobile-menu-toggle[aria-expanded="true"] .im-mobile-menu-toggle__open {
	display: none;
}

.im-mobile-menu-toggle[aria-expanded="true"] .im-mobile-menu-toggle__close {
	display: block;
}

.im-mobile-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 2000;
	width: min(100%, 480px);
	background: #fbf8f5;
	box-shadow: -24px 0 70px rgb(26 16 10 / 0.28);
	color: var(--im-text);
	overflow: hidden;
	transform: translateX(104%);
	transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
}

.im-mobile-drawer.is-open {
	transform: none;
}

.im-mobile-drawer__head {
	display: flex;
	min-height: 72px;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 12px 18px;
	background:
		radial-gradient(circle at 10% -70%, rgb(255 255 255 / 0.17), transparent 48%),
		linear-gradient(118deg, color-mix(in srgb, var(--im-header-bg) 90%, #6e422a), var(--im-header-bg));
	color: #fff;
}

.im-mobile-drawer__head .custom-logo-link,
.im-mobile-drawer__head .im-wordmark {
	max-width: 215px;
}

.im-mobile-drawer__head .custom-logo {
	max-width: 215px;
	max-height: 43px;
}

.im-logo-is-monochrome .im-mobile-drawer__head .custom-logo {
	filter: brightness(0) invert(1);
}

.im-mobile-drawer__close {
	display: grid;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	place-items: center;
	padding: 0;
	border: 1px solid rgb(255 255 255 / 0.28);
	border-radius: 13px;
	background: rgb(255 255 255 / 0.1);
	color: #fff;
	cursor: pointer;
}

.im-mobile-drawer__close svg {
	width: 20px;
	height: 20px;
}

.im-mobile-drawer__intro {
	display: grid;
	gap: 3px;
	padding: 17px 19px 12px;
}

.im-mobile-drawer__intro span {
	color: var(--im-accent-dark);
	font-size: 0.64rem;
	font-weight:700;
	letter-spacing: 0.12em;
}

.im-mobile-drawer__intro strong {
	font-size: 1.08rem;
	letter-spacing: -0.025em;
}

.im-mobile-quick-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 9px;
	padding: 0 14px 14px;
}

.im-mobile-quick-actions > a {
	display: grid;
	min-width: 0;
	grid-template-columns: 38px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	padding: 12px;
	border: 1px solid var(--im-border);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 7px 22px rgb(38 23 14 / 0.04);
	color: var(--im-text);
	text-decoration: none;
}

.im-mobile-quick-actions__icon {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 12px;
	background: var(--im-accent-soft);
	color: var(--im-accent-dark);
}

.im-mobile-quick-actions__icon svg {
	width: 19px;
	height: 19px;
}

.im-mobile-quick-actions strong,
.im-mobile-quick-actions small {
	display: block;
}

.im-mobile-quick-actions strong {
	font-size: 0.78rem;
	line-height: 1.25;
}

.im-mobile-quick-actions small {
	margin-top: 2px;
	color: var(--im-muted);
	font-size: 0.62rem;
	line-height: 1.25;
}

.im-mobile-navigation {
	min-height: 0;
	flex: 1 1 auto;
	padding: 0 12px 18px;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.im-mobile-menu > li {
	border-top: 1px solid var(--im-border);
}

.im-mobile-menu > li:last-child {
	border-bottom: 1px solid var(--im-border);
}

.im-mobile-menu__row {
	display: flex;
	min-width: 0;
	align-items: stretch;
}

.im-mobile-menu__link {
	display: grid;
	min-width: 0;
	min-height: 68px;
	flex: 1 1 auto;
	grid-template-columns: 39px minmax(0, 1fr);
	align-items: center;
	gap: 11px;
	padding: 10px 8px;
	color: var(--im-text);
	text-decoration: none;
}

.im-mobile-menu__icon {
	display: grid;
	width: 39px;
	height: 39px;
	place-items: center;
	border-radius: 12px;
	background: var(--im-surface);
	color: var(--im-accent-dark);
}

.im-mobile-menu__icon svg {
	width: 19px;
	height: 19px;
}

.im-mobile-menu__copy {
	min-width: 0;
}

.im-mobile-menu__copy strong,
.im-mobile-menu__copy small {
	display: block;
}

.im-mobile-menu__copy strong {
	font-size: 0.91rem;
	font-weight:700;
	line-height: 1.25;
}

.im-mobile-menu__copy small {
	display: -webkit-box;
	margin-top: 3px;
	color: var(--im-muted);
	font-size: 0.67rem;
	line-height: 1.35;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.im-mobile-submenu-toggle {
	display: grid;
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	align-self: center;
	place-items: center;
	margin: 0 6px 0 2px;
	padding: 0;
	border: 1px solid color-mix(in srgb, var(--im-accent) 22%, var(--im-border));
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 5px 15px rgb(83 49 29 / 0.07);
	color: var(--im-accent-dark);
	cursor: pointer;
	transition: border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.im-mobile-submenu-toggle:hover,
.im-mobile-submenu-toggle:focus-visible {
	border-color: color-mix(in srgb, var(--im-accent) 54%, var(--im-border));
	background: var(--im-surface);
	box-shadow: 0 8px 20px rgb(83 49 29 / 0.11);
	outline: none;
}

.im-mobile-submenu-toggle svg {
	width: 16px;
	height: 16px;
	transition: transform 160ms ease;
}

.im-mobile-submenu-toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.im-mobile-submenu[hidden] {
	display: none;
}

.im-mobile-submenu {
	padding: 3px 0 10px 49px;
}

.im-mobile-submenu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.im-mobile-submenu .sub-menu > li {
	border: 0;
}

.im-mobile-submenu .im-mobile-menu__row {
	align-items: center;
}

.im-mobile-submenu .im-mobile-menu__link {
	display: flex;
	min-height: 42px;
	align-items: center;
	padding: 6px 7px;
	border-radius: 10px;
}

.im-mobile-submenu .im-mobile-menu__link:hover,
.im-mobile-submenu .im-mobile-menu__link:focus-visible {
	background: var(--im-surface);
}

.im-mobile-submenu .im-mobile-menu__copy strong {
	font-size: 0.82rem;
	font-weight: 650;
}

.im-mobile-submenu .im-mobile-submenu {
	padding: 0 0 5px 16px;
	border-left: 1px solid var(--im-border);
}

.im-mobile-drawer__footer {
	display: grid;
	flex: 0 0 auto;
	gap: 9px;
	padding: 13px 16px calc(13px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--im-border);
	background: rgb(255 255 255 / 0.96);
	box-shadow: 0 -12px 35px rgb(37 23 14 / 0.06);
}

.im-mobile-drawer__cta {
	width: 100%;
}

.im-mobile-drawer__footer .im-auth-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.im-mobile-drawer__footer .im-auth-link--login,
.im-mobile-drawer__footer .im-auth-link--register {
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border: 1px solid var(--im-border);
	border-radius: 999px;
	background: #fff;
	color: var(--im-text);
}

.im-mobile-drawer__footer .im-auth-link--register {
	border-color: var(--im-accent);
	background: var(--im-accent);
	color: #fff;
}

.im-mobile-drawer__account-link {
	display: flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	gap: 9px;
	border: 1px solid var(--im-border);
	border-radius: 999px;
	background: #fff;
	color: var(--im-text);
	font-size: 0.86rem;
	font-weight:700;
	text-decoration: none;
}

.im-mobile-drawer__account-link svg {
	width: 18px;
	height: 18px;
	color: var(--im-accent);
}

.im-site-overlay {
	position: fixed;
	inset: 0;
	z-index: 1900;
	background: rgb(20 13 9 / 0.54);
	opacity: 0;
	transition: opacity 190ms ease;
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

.im-site-overlay.is-visible {
	opacity: 1;
}

/* Page and editorial content */
.im-page-header {
	padding-top: clamp(44px, 6vw, 88px);
	padding-bottom: 24px;
}

.im-page-header .entry-title {
	font-size: clamp(2rem, 4vw, 4rem);
}

.im-page-content {
	min-width: 0;
}

body:not(.im-content-is-full) .im-page-content {
	width: min(calc(100% - 40px), 980px);
	margin-inline: auto;
	padding-bottom: clamp(60px, 8vw, 110px);
}

.im-content-is-full .im-page-content {
	width: 100%;
}

.im-page-content > :first-child {
	margin-top: 0;
}

.im-page-content > :last-child {
	margin-bottom: 0;
}

.im-page-content table,
.im-single__content table {
	width: 100%;
	border-collapse: collapse;
}

.im-page-content th,
.im-page-content td,
.im-single__content th,
.im-single__content td {
	padding: 12px 14px;
	border: 1px solid var(--im-border);
	text-align: left;
}

.im-elementor-page .im-page-content,
.elementor-page .im-page-content {
	padding: 0;
}

.elementor-section-wrap,
.elementor-location-single,
.elementor-location-archive {
	min-width: 0;
}

/* Archives and blog */
.im-listing-main,
.im-single-main,
.im-error-main {
	padding: clamp(52px, 7vw, 92px) 0 clamp(72px, 9vw, 120px);
	background: linear-gradient(180deg, var(--im-surface) 0, #fff 250px);
}

.im-archive-header {
	max-width: 850px;
	margin-bottom: 38px;
}

.im-archive-title {
	font-size: clamp(2.2rem, 4vw, 4.15rem);
}

.im-archive-description {
	max-width: 720px;
	color: var(--im-muted);
	font-size: 1.07rem;
}

.im-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
}

.im-post-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	border: 1px solid var(--im-border);
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--im-shadow-sm);
	overflow: hidden;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.im-post-card:hover {
	border-color: color-mix(in srgb, var(--im-accent) 32%, var(--im-border));
	box-shadow: var(--im-shadow-md);
	transform: translateY(-4px);
}

.im-post-card__image {
	display: block;
	aspect-ratio: 3 / 2;
	background: var(--im-surface);
	overflow: hidden;
}

.im-post-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 350ms ease;
}

.im-post-card:hover .im-post-card__image img {
	transform: scale(1.035);
}

.im-post-card__placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	color: var(--im-accent);
}

.im-post-card__placeholder svg {
	width: 48px;
	height: 48px;
}

.im-post-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 22px;
}

.im-post-card__meta,
.im-single__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 15px;
	margin-bottom: 12px;
	color: var(--im-muted);
	font-size: 0.8rem;
	font-weight: 650;
}

.im-post-card__meta a,
.im-single__meta a {
	color: inherit;
	text-decoration: none;
}

.im-post-card__title {
	font-size: 1.35rem;
	line-height: 1.22;
}

.im-post-card__title a {
	color: var(--im-text);
	text-decoration: none;
}

.im-post-card__excerpt {
	color: var(--im-muted);
	font-size: 0.94rem;
}

.im-post-card__excerpt p {
	margin-bottom: 1rem;
}

.im-post-card__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: auto;
	color: var(--im-accent-dark);
	font-size: 0.87rem;
	font-weight:700;
	text-decoration: none;
}

.im-post-card__link svg {
	width: 16px;
	height: 16px;
	transition: transform 140ms ease;
}

.im-post-card__link:hover svg {
	transform: translateX(3px);
}

.navigation.pagination {
	margin-top: 42px;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 7px;
}

.page-numbers {
	display: grid;
	min-width: 42px;
	height: 42px;
	place-items: center;
	padding: 0 11px;
	border: 1px solid var(--im-border);
	border-radius: 12px;
	background: #fff;
	color: var(--im-text);
	font-weight: 700;
	text-decoration: none;
}

.page-numbers.current,
.page-numbers:hover {
	border-color: var(--im-accent);
	background: var(--im-accent);
	color: #fff;
}

.im-single {
	padding: clamp(28px, 5vw, 56px);
	border: 1px solid var(--im-border);
	border-radius: var(--im-radius-lg);
	background: #fff;
	box-shadow: var(--im-shadow-sm);
}

.im-single__header {
	margin-bottom: 30px;
}

.im-single__header .entry-title {
	font-size: clamp(2.2rem, 4.8vw, 4.65rem);
}

.im-single__lead {
	max-width: 760px;
	color: var(--im-muted);
	font-size: clamp(1.05rem, 1.8vw, 1.25rem);
}

.im-single__lead p:last-child {
	margin-bottom: 0;
}

.im-single__image {
	margin: 0 0 36px;
	border-radius: 22px;
	overflow: hidden;
}

.im-single__image img {
	width: 100%;
}

.im-single__content {
	font-size: 1.04rem;
}

.im-single__content > * + h2,
.im-single__content > * + h3 {
	margin-top: 1.7em;
}

.im-single__footer {
	margin-top: 36px;
	padding-top: 22px;
	border-top: 1px solid var(--im-border);
}

.im-post-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.im-post-tags a {
	padding: 6px 11px;
	border-radius: 999px;
	background: var(--im-surface);
	font-size: 0.8rem;
	font-weight: 700;
	text-decoration: none;
}

.im-post-navigation {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-top: 24px;
}

.im-post-navigation > div:last-child {
	text-align: right;
}

.im-post-navigation a {
	display: block;
	padding: 18px;
	border: 1px solid var(--im-border);
	border-radius: var(--im-radius);
	background: #fff;
	color: var(--im-text);
	font-weight:700;
	text-decoration: none;
}

.im-comments {
	margin-top: 38px;
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid var(--im-border);
	border-radius: var(--im-radius-lg);
	background: #fff;
}

.comment-list {
	list-style: none;
	padding: 0;
}

.comment-list .children {
	list-style: none;
}

.comment-body {
	margin-bottom: 18px;
	padding: 18px;
	border: 1px solid var(--im-border);
	border-radius: 15px;
}

.comment-author {
	display: flex;
	align-items: center;
	gap: 10px;
}

.comment-author .avatar {
	border-radius: 50%;
}

.comment-form input:not([type="submit"]),
.comment-form textarea,
.im-search-form input {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	border: 1px solid var(--im-border);
	border-radius: 12px;
	background: #fff;
	color: var(--im-text);
}

.comment-form textarea {
	min-height: 150px;
	resize: vertical;
}

.comment-form input[type="submit"] {
	min-height: 46px;
	padding: 10px 18px;
	border: 0;
	border-radius: 999px;
	background: var(--im-accent);
	color: #fff;
	font-weight:700;
	cursor: pointer;
}

.im-empty-state,
.im-error {
	padding: clamp(36px, 7vw, 82px);
	border: 1px solid var(--im-border);
	border-radius: var(--im-radius-lg);
	background: #fff;
	box-shadow: var(--im-shadow-sm);
	text-align: center;
}

.im-error__code {
	display: block;
	margin-bottom: 10px;
	color: var(--im-accent);
	font-size: clamp(4rem, 12vw, 9rem);
	font-weight:700;
	line-height: 0.9;
	letter-spacing: -0.08em;
}

.im-error p,
.im-empty-state p {
	max-width: 620px;
	margin-inline: auto;
	color: var(--im-muted);
}

.im-error__actions {
	display: flex;
	max-width: 700px;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 24px auto 0;
}

.im-search-form {
	position: relative;
	display: flex;
	width: min(100%, 420px);
	align-items: center;
}

.im-search-form label {
	width: 100%;
}

.im-search-form input {
	padding-right: 50px;
}

.im-search-form button {
	position: absolute;
	right: 5px;
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: var(--im-accent);
	color: #fff;
	cursor: pointer;
}

.im-search-form button svg {
	width: 19px;
	height: 19px;
}

/* Footer */
.im-site-footer {
	position: relative;
	flex: 0 0 auto;
	background: var(--im-footer-bg);
	color: rgb(255 255 255 / 0.74);
}

.im-footer__main {
	display: grid;
	grid-template-columns: minmax(280px, 1.5fr) repeat(3, minmax(150px, 1fr));
	gap: clamp(30px, 4vw, 64px);
	padding-top: clamp(56px, 7vw, 90px);
	padding-bottom: clamp(50px, 6vw, 78px);
}

.im-footer__brand .custom-logo,
.im-site-footer .custom-logo {
	max-width: 210px;
	max-height: 54px;
}

.im-logo-is-monochrome .im-footer__brand .custom-logo,
.im-logo-is-monochrome .im-site-footer .custom-logo {
	filter: brightness(0) invert(1);
}

.im-site-footer .im-wordmark {
	color: #fff;
}

.im-footer__brand-top {
	display: flex;
	align-items: center;
	gap: 14px;
}

.im-footer__mini-logo {
	display: inline-flex;
	width: 48px;
	height: 48px;
	align-items: center;
	justify-content: center;
	flex: 0 0 48px;
	border-radius: 13px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgb(0 0 0 / 0.18);
	text-decoration: none !important;
	transition: transform 150ms ease, box-shadow 150ms ease;
}

.im-footer__mini-logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.im-footer__mini-logo:hover,
.im-footer__mini-logo:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgb(0 0 0 / 0.25);
}

.im-footer__mini-logo:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.im-footer__socials {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-top: 0;
}

.im-footer__social-link {
	display: inline-flex;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	flex: 0 0 36px;
	border: 1px solid rgb(255 255 255 / 0.2);
	border-radius: 50%;
	background: rgb(255 255 255 / 0.05);
	color: rgb(255 255 255 / 0.88) !important;
	text-decoration: none !important;
	transition: transform 150ms ease, background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.im-footer__social-link svg {
	display: block;
	width: 16px;
	height: 16px;
	fill: currentColor;
}

.im-footer__social-link:hover,
.im-footer__social-link:focus-visible {
	border-color: rgb(255 255 255 / 0.45);
	background: var(--im-accent);
	color: #fff !important;
	transform: translateY(-2px);
}

.im-footer__social-link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.im-footer__brand > p {
	max-width: 420px;
	margin: 22px 0 0;
	font-size: 0.94rem;
	line-height: 1.7;
}

.im-footer__column h2,
.im-footer-widget__title {
	margin: 0 0 18px;
	color: #fff;
	font-size: 0.84rem;
	font-weight:700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.im-footer-menu li + li {
	margin-top: 9px;
}

.im-footer-menu a,
.im-footer-widget a {
	color: rgb(255 255 255 / 0.72);
	font-size: 0.91rem;
	text-decoration: none;
	transition: color 130ms ease, transform 130ms ease;
}

.im-footer-menu a:hover,
.im-footer-widget a:hover {
	color: #fff;
}

.im-footer__bottom {
	border-top: 1px solid rgb(255 255 255 / 0.11);
}

.im-footer__bottom-inner {
	display: flex;
	min-height: 76px;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 16px;
	padding-bottom: 16px;
}

.im-footer__company {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 18px;
	font-size: 0.75rem;
	font-style: normal;
}

.im-footer__copyright {
	margin: 0;
	font-size: 0.76rem;
	white-space: nowrap;
}

.im-back-to-top {
	position: fixed;
	right: max(18px, env(safe-area-inset-right));
	bottom: max(18px, env(safe-area-inset-bottom));
	z-index: 900;
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	padding: 0;
	border: 1px solid rgb(255 255 255 / 0.45);
	border-radius: 50%;
	background: var(--im-accent);
	box-shadow: var(--im-shadow-md);
	color: #fff;
	cursor: pointer;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 160ms ease, transform 160ms ease, background-color 160ms ease;
}

.im-back-to-top.is-visible {
	opacity: 1;
	transform: none;
}

.im-back-to-top:hover {
	background: var(--im-accent-dark);
}

.im-back-to-top svg {
	width: 20px;
	height: 20px;
}

/* Legacy selectors deliberately retained for business plugins. */
#masthead,
#colophon,
.site-header,
.site-footer,
#main-content,
.site-content {
	box-sizing: border-box;
}

body.im-bw-checkout-frame .im-site-header,
body.im-bw-checkout-frame .im-site-footer,
body.im-bw-checkout-frame .im-mobile-drawer,
body.im-bw-checkout-frame .im-site-overlay,
body.im-bw-checkout-frame .im-header-backdrop,
body.im-bw-checkout-frame .im-back-to-top {
	display: none !important;
}

body.im-bw-checkout-frame .im-site-content {
	min-height: 100vh;
}

@media (max-width: 1380px) {
	.im-header__inner {
		gap: 14px;
	}

	.im-header__cta {
		display: none;
	}

	.im-account__name {
		display: none;
	}

	.im-account__toggle {
		padding-right: 4px;
	}

	.im-mega-menu__shell {
		grid-template-columns: minmax(225px, 0.72fr) minmax(410px, 1.55fr) minmax(235px, 0.76fr);
	}

	.im-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1200px) {
	:root {
		--im-header-height: 68px;
	}

	.im-header-topbar,
	.im-primary-navigation,
	.im-mega-menu {
		display: none !important;
	}

	.im-container,
	.container,
	.lp-content-area {
		width: min(calc(100% - 32px), var(--im-container));
	}

	.im-header__inner {
		grid-template-columns: 42px minmax(150px, 1fr) auto;
		gap: 12px;
	}

	.im-mobile-menu-toggle,
	.im-mobile-drawer {
		display: flex;
	}

	.im-mobile-menu-toggle {
		display: grid;
	}

	.im-mobile-drawer {
		flex-direction: column;
	}

	.im-site-branding {
		justify-self: start;
	}

	.im-site-header .custom-logo-link,
	.im-site-header .im-wordmark {
		max-width: 215px;
	}

	.im-site-header .custom-logo {
		max-width: 215px;
		max-height: 43px;
	}

	.im-header__actions {
		gap: 7px;
	}

	.im-header__cta {
		display: none;
	}

	.im-account__name,
	.im-account__chevron {
		display: none;
	}

	.im-account__toggle {
		padding: 2px;
	}

	.im-account__avatar-wrap {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}

	.im-account__panel {
		position: fixed;
		top: calc(var(--im-header-height) + 10px);
		right: 12px;
		max-height: calc(100vh - var(--im-header-height) - 24px);
	}

	.admin-bar .im-account__panel {
		top: calc(var(--im-header-height) + 42px);
	}

	.im-footer__main {
		grid-template-columns: 1.35fr 1fr 1fr;
	}

	.im-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 900px) {
	.im-header-app-cta {
		display: none;
	}

	.im-header-search-panel {
		position: fixed;
		top: var(--im-header-height);
		max-height: calc(100vh - var(--im-header-height));
		overflow-y: auto;
	}

	.admin-bar .im-header-search-panel {
		top: calc(var(--im-header-height) + 32px);
		max-height: calc(100vh - var(--im-header-height) - 32px);
	}
}

@media (max-width: 782px) {
	.admin-bar.im-header-is-sticky .im-site-header {
		top: 46px;
	}

	.admin-bar .im-account__panel {
		top: calc(var(--im-header-height) + 56px);
	}

	.admin-bar .im-header-search-panel {
		top: calc(var(--im-header-height) + 46px);
		max-height: calc(100vh - var(--im-header-height) - 46px);
	}
}

@media (max-width: 700px) {
	body {
		font-size: 15.5px;
	}

	.im-header-search-panel {
		padding: 22px 0 26px;
	}

	.im-header-search-panel__heading h2 {
		font-size: 1.45rem;
	}

	.im-header-search-panel .im-search-form input {
		min-height: 58px;
		padding-left: 16px;
	}

	.im-header-search-panel .im-search-form button {
		width: 46px;
		height: 46px;
	}

	.im-post-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.im-single {
		width: min(calc(100% - 24px), 900px);
		padding: 24px 18px;
		border-radius: 22px;
	}

	.im-post-navigation {
		grid-template-columns: 1fr;
	}

	.im-post-navigation > div:last-child {
		text-align: left;
	}

	.im-error__actions {
		flex-direction: column;
	}

	.im-error__actions .im-button,
	.im-error__actions .im-search-form {
		width: 100%;
	}

	.im-footer__main {
		grid-template-columns: 1fr 1fr;
		gap: 34px 24px;
	}

	.im-footer__brand {
		grid-column: 1 / -1;
	}

	.im-footer__bottom-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}

	.im-footer__copyright {
		white-space: normal;
	}
}

@media (max-width: 520px) {
	body.im-theme #masthead.im-site-header .im-site-branding {
		transform: translateX(clamp(18px, 5.8vw, 30px));
	}

	.im-container,
	.container,
	.lp-content-area {
		width: min(calc(100% - 24px), var(--im-container));
	}

	.im-header-container {
		width: calc(100% - 20px);
	}

	.im-header__inner {
		grid-template-columns: 42px minmax(104px, 1fr) 42px;
		gap: 9px;
	}

	.im-site-header .custom-logo-link,
	.im-site-header .im-wordmark {
		max-width: 164px;
	}

	.im-site-header .custom-logo {
		max-width: 164px;
		max-height: 39px;
	}

	.im-wordmark__mark {
		width: 36px;
		height: 36px;
		border-radius: 11px;
	}

	.im-wordmark__text {
		font-size: 0.94rem;
	}

	.im-auth-links--header {
		display: none;
	}

	.im-header-search-toggle {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}

	.im-account__avatar-wrap {
		width: 38px;
		height: 38px;
		flex-basis: 38px;
	}

	.im-account__panel {
		right: 8px;
		width: min(330px, calc(100vw - 16px));
	}

	.im-account__identity {
		grid-template-columns: 52px minmax(0, 1fr);
	}

	.im-account__identity-avatar {
		width: 52px;
		height: 52px;
	}

	.im-mobile-drawer {
		width: 100%;
	}

	.im-mobile-drawer__head {
		padding-inline: 14px;
	}

	.im-mobile-quick-actions {
		padding-inline: 10px;
	}

	.im-mobile-quick-actions > a {
		grid-template-columns: 34px minmax(0, 1fr);
		gap: 8px;
		padding: 10px;
	}

	.im-mobile-quick-actions__icon {
		width: 34px;
		height: 34px;
	}

	.im-mobile-navigation {
		padding-inline: 9px;
	}

	.im-mobile-menu__link {
		grid-template-columns: 36px minmax(0, 1fr);
		gap: 9px;
		padding-inline: 5px;
	}

	.im-mobile-menu__icon {
		width: 36px;
		height: 36px;
	}

	.im-mobile-submenu {
		padding-left: 42px;
	}

	.im-header-search-panel__quick-links > span {
		width: 100%;
	}

	.im-footer__main {
		grid-template-columns: 1fr;
	}

	.im-footer__brand,
	.im-footer__column {
		grid-column: auto;
	}

	.im-footer__column {
		padding-top: 4px;
		border-top: 1px solid rgb(255 255 255 / 0.1);
	}

	.im-footer__column h2 {
		margin-top: 22px;
	}

	.im-back-to-top {
		width: 44px;
		height: 44px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* ================================================================
 * Instytut Mocy 1.2.0 — zgodność Elementor, kontrast i pełny mobile
 * ================================================================ */

/* Nagłówek zawsze zachowuje jasny tekst niezależnie od globalnych stylów
 * Elementora, Edumy, Thim Core oraz ustawień typografii strony. */
body.im-theme #masthead.im-site-header .im-header-topbar__message,
body.im-theme #masthead.im-site-header .im-header-topbar__scope,
body.im-theme #masthead.im-site-header .im-utility-menu a,
body.im-theme #masthead.im-site-header .im-premium-nav__link,
body.im-theme #masthead.im-site-header .im-premium-nav__toggle,
body.im-theme #masthead.im-site-header .im-header-search-toggle,
body.im-theme #masthead.im-site-header .im-header__cta,
body.im-theme #masthead.im-site-header .im-auth-link,
body.im-theme #masthead.im-site-header .im-account__toggle,
body.im-theme #masthead.im-site-header .im-account__name,
body.im-theme #masthead.im-site-header .im-account__chevron,
body.im-theme #masthead.im-site-header .im-wordmark,
body.im-theme #masthead.im-site-header .im-wordmark__text {
	color: #fff !important;
}

body.im-theme #masthead.im-site-header .im-premium-nav__link,
body.im-theme #masthead.im-site-header .im-header__cta,
body.im-theme #masthead.im-site-header .im-account__name {
	text-shadow: 0 1px 1px rgb(45 24 13 / 0.22);
}

body.im-theme #masthead.im-site-header .im-header-app-cta,
body.im-theme #masthead.im-site-header .im-header-app-cta:hover,
body.im-theme #masthead.im-site-header .im-header-app-cta:focus-visible {
	color: #74472d !important;
}

body.im-theme #masthead.im-site-header .im-mega-menu,
body.im-theme #masthead.im-site-header .im-header-search-panel,
body.im-theme #masthead.im-site-header .im-mega-menu a:not(.im-mega-menu__all),
body.im-theme #masthead.im-site-header .im-header-search-panel a {
	color: var(--im-text);
}

body.im-theme #masthead.im-site-header .im-mega-menu__intro,
body.im-theme #masthead.im-site-header .im-mega-menu__intro-hit,
body.im-theme #masthead.im-site-header .im-mega-menu__intro h2,
body.im-theme #masthead.im-site-header .im-mega-menu__intro p,
body.im-theme #masthead.im-site-header .im-mega-menu__intro .im-mega-menu__eyebrow,
body.im-theme #masthead.im-site-header .im-mega-menu__all {
	color: #fff !important;
}

/* Elementor otrzymuje pełną szerokość i nie może zostać ukryty przez stare
 * selektory .home-content/.site-content pozostawione przez Edumę. */
body.im-theme #main-content.im-site-content,
body.im-theme #main-home-content,
body.im-theme .im-page-content,
body.im-theme .im-page-content > .elementor,
body.im-theme .im-page-content > [data-elementor-type] {
	min-width: 0;
	visibility: visible !important;
	opacity: 1 !important;
}

body.im-theme #main-home-content,
body.im-theme #main-content.im-site-content {
	display: block;
}

body.im-theme.im-elementor-page .im-page-content,
body.im-theme.elementor-page .im-page-content,
body.im-theme.im-elementor-page .im-page-content > .elementor,
body.im-theme.elementor-page .im-page-content > .elementor,
body.im-theme .elementor-location-single,
body.im-theme .elementor-location-archive {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.im-theme .elementor,
body.im-theme .elementor-section-wrap,
body.im-theme .e-con,
body.im-theme .e-con-inner {
	min-width: 0;
}

/* Diagnostyka widoczna zamiast białej, niemej strony, gdy pojedynczy widget
 * Elementora zgłosi wyjątek. */
.im-content-render-error {
	width: min(calc(100% - 32px), 1120px);
	margin: clamp(36px, 6vw, 84px) auto;
}

.im-content-render-error__inner {
	padding: clamp(22px, 4vw, 38px);
	border: 1px solid #e4c9b7;
	border-radius: 22px;
	background: #fff8f2;
	box-shadow: var(--im-shadow-sm);
	color: var(--im-text);
}

.im-content-render-error__inner strong {
	display: block;
	margin-bottom: 8px;
	font-size: 1.15rem;
}

.im-content-render-error__inner p,
.im-content-render-error__inner dl {
	margin: 8px 0 0;
}

.im-content-render-error__inner dl {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 7px 14px;
}

.im-content-render-error__inner dt {
	font-weight:700;
}

.im-content-render-error__inner code {
	white-space: normal;
	word-break: break-word;
}

/* Premium footer CTA */
.im-footer-cta-wrap {
	padding: clamp(28px, 4.5vw, 58px) 0 0;
	background:
		radial-gradient(circle at 8% 0%, rgb(190 125 79 / 0.22), transparent 36%),
		linear-gradient(180deg, #f8f2ec 0%, #efe4da 100%);
}

.im-footer-cta {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) auto;
	align-items: center;
	gap: clamp(28px, 5vw, 80px);
	padding: clamp(28px, 4vw, 52px);
	border: 1px solid rgb(143 88 53 / 0.18);
	border-bottom: 0;
	border-radius: 28px 28px 0 0;
	background:
		radial-gradient(circle at 92% 10%, rgb(255 255 255 / 0.18), transparent 30%),
		linear-gradient(125deg, #8a5536 0%, #a96f46 56%, #bd8258 100%);
	box-shadow: 0 24px 70px rgb(56 31 18 / 0.16);
	color: #fff;
}

.im-footer-cta__eyebrow {
	display: block;
	margin-bottom: 11px;
	color: rgb(255 255 255 / 0.72);
	font-size: 0.72rem;
	font-weight:700;
	letter-spacing: 0.14em;
}

.im-footer-cta h2 {
	max-width: 780px;
	margin: 0;
	color: #fff;
	font-size: clamp(1.65rem, 3vw, 3rem);
	letter-spacing: -0.035em;
}

.im-footer-cta p {
	max-width: 760px;
	margin: 14px 0 0;
	color: rgb(255 255 255 / 0.78);
	font-size: 0.96rem;
	line-height: 1.65;
}

.im-footer-cta__actions {
	display: flex;
	min-width: 220px;
	align-items: stretch;
	flex-direction: column;
	gap: 10px;
}

.im-footer-cta__primary,
.im-footer-cta__secondary {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 16px;
	border-radius: 999px;
	font-size: 0.84rem;
	font-weight:700;
	text-decoration: none;
	transition: transform 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

.im-footer-cta__primary {
	background: #fff;
	box-shadow: 0 12px 30px rgb(45 24 13 / 0.2);
	color: #74472d;
}

.im-footer-cta__secondary {
	border: 1px solid rgb(255 255 255 / 0.33);
	background: rgb(255 255 255 / 0.08);
	color: #fff;
}

.im-footer-cta__primary:hover,
.im-footer-cta__secondary:hover {
	color: inherit;
	transform: translateY(-1px);
}

.im-footer-cta__primary svg,
.im-footer-cta__secondary svg {
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
}

.im-footer__brand-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin-top: 20px;
}

.im-footer__brand-links a {
	color: #fff;
	font-size: 0.82rem;
	font-weight:700;
	text-decoration: none;
}

.im-footer__brand-links a::after {
	content: " →";
	color: var(--im-accent);
}

.im-footer__company {
	margin: 0;
	color: inherit;
	font-style: normal;
}

/* Pełny, aplikacyjny układ mobilny. */
@media (max-width: 1200px) {
	body.im-theme #masthead.im-site-header .im-header-main {
		background:
			radial-gradient(circle at 75% -80%, rgb(255 255 255 / 0.16), transparent 42%),
			linear-gradient(118deg, #865233, #a96f46 62%, #b97b50);
	}

	.im-footer-cta {
		grid-template-columns: minmax(0, 1fr) minmax(205px, 0.42fr);
	}
}

@media (max-width: 800px) {
	.im-footer-cta-wrap {
		padding-top: 18px;
	}

	.im-footer-cta {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 30px 24px;
		border-radius: 24px 24px 0 0;
	}

	.im-footer-cta__actions {
		width: 100%;
		min-width: 0;
		flex-direction: row;
	}

	.im-footer-cta__primary,
	.im-footer-cta__secondary {
		width: 50%;
	}

	.im-footer__main {
		padding-top: 48px;
	}
}

@media (max-width: 620px) {
	:root {
		--im-header-height: 64px;
	}

	.im-header__inner {
		grid-template-columns: 42px minmax(0, 1fr) 42px;
	}

	.im-site-header .custom-logo-link,
	.im-site-header .im-wordmark {
		max-width: min(170px, 44vw);
	}

	.im-header__actions {
		gap: 5px;
	}

	.im-header-search-toggle {
		display: none;
	}

	.im-mobile-drawer {
		max-width: none;
		border-radius: 0;
	}

	.im-mobile-drawer__intro {
		padding-top: 20px;
	}

	.im-mobile-quick-actions {
		grid-template-columns: 1fr;
	}

	.im-footer-cta {
		width: calc(100% - 16px);
		padding: 27px 20px;
	}

	.im-footer-cta h2 {
		font-size: clamp(1.55rem, 8vw, 2.15rem);
	}

	.im-footer-cta__actions {
		flex-direction: column;
	}

	.im-footer-cta__primary,
	.im-footer-cta__secondary {
		width: 100%;
	}

	.im-footer__main {
		width: calc(100% - 32px);
		grid-template-columns: 1fr;
		gap: 0;
		padding-top: 42px;
		padding-bottom: 38px;
	}

	.im-footer__brand {
		padding-bottom: 28px;
	}

	.im-footer__column {
		padding: 22px 0;
		border-top: 1px solid rgb(255 255 255 / 0.11);
	}

	.im-footer__column h2 {
		margin: 0 0 14px;
	}

	.im-footer-menu {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px 16px;
	}

	.im-footer-menu li + li {
		margin-top: 0;
	}

	.im-footer-menu a {
		display: block;
		padding: 4px 0;
	}

	.im-footer__bottom-inner {
		width: calc(100% - 32px);
		min-height: 0;
		padding-top: 24px;
		padding-bottom: calc(24px + env(safe-area-inset-bottom));
	}

	.im-footer__company {
		flex-direction: column;
		gap: 4px;
	}

	.im-content-render-error__inner dl {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 390px) {
	.im-site-header .custom-logo-link,
	.im-site-header .im-wordmark {
		max-width: 126px;
	}

	.im-account__avatar-wrap {
		width: 36px;
		height: 36px;
		flex-basis: 36px;
	}

	.im-footer-menu {
		grid-template-columns: 1fr;
	}
}

/* ========================================================================== 
 * Instytut Mocy Premium 1.2.0 — stabilna rama, kontrast i mobile
 * ========================================================================== */

/* Stare arkusze Edumy mogą pozostać w cache lub zostać dołączone przez widget.
 * Rama nowego motywu nie może być wtedy przesuwana jak dawny panel mobilny. */
body.im-theme #wrapper-container.im-site,
body.im-theme #wrapper-container.im-site > .content-pusher,
body.im-theme #main-content.im-site-content,
body.im-theme #primary.im-site-main,
body.im-theme #main-home-content {
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	transform: none !important;
	translate: none !important;
}

body.im-theme #wrapper-container.im-site,
body.im-theme #wrapper-container.im-site > .im-content-pusher {
	position: relative !important;
	inset: auto !important;
	min-width: 0 !important;
}

body.im-theme #main-content.im-site-content,
body.im-theme #primary.im-site-main,
body.im-theme #main-home-content,
body.im-theme .im-page-content {
	display: block !important;
	min-width: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Kontrast nagłówka ma pierwszeństwo przed globalną typografią Elementora,
 * Edumy i Thim Core. Jedyny ciemny przycisk to biały CTA aplikacji. */
body.im-theme #masthead.im-site-header,
body.im-theme #masthead.im-site-header .im-header-main,
body.im-theme #masthead.im-site-header .im-header-topbar {
	color: #fff !important;
}

body.im-theme #masthead.im-site-header .im-header-topbar__message,
body.im-theme #masthead.im-site-header .im-header-topbar__message > span,
body.im-theme #masthead.im-site-header .im-header-topbar__scope,
body.im-theme #masthead.im-site-header .im-header-utility a,
body.im-theme #masthead.im-site-header .im-utility-menu a,
body.im-theme #masthead.im-site-header .im-premium-nav__link,
body.im-theme #masthead.im-site-header .im-premium-nav__link:visited,
body.im-theme #masthead.im-site-header .im-premium-nav__toggle,
body.im-theme #masthead.im-site-header .im-header-search-toggle,
body.im-theme #masthead.im-site-header .im-header__cta,
body.im-theme #masthead.im-site-header .im-header__cta:visited,
body.im-theme #masthead.im-site-header .im-account__toggle,
body.im-theme #masthead.im-site-header .im-account__name,
body.im-theme #masthead.im-site-header .im-account__chevron,
body.im-theme #masthead.im-site-header .im-auth-link,
body.im-theme #masthead.im-site-header .im-wordmark,
body.im-theme #masthead.im-site-header .im-wordmark__text,
body.im-theme #masthead.im-site-header .im-mobile-menu-toggle {
	color: #fff !important;
}

body.im-theme #masthead.im-site-header .im-header-topbar__scope {
	color: rgb(255 255 255 / 0.7) !important;
}

body.im-theme #masthead.im-site-header .im-premium-nav__link:hover,
body.im-theme #masthead.im-site-header .im-premium-nav__link:focus-visible,
body.im-theme #masthead.im-site-header .im-header__cta:hover,
body.im-theme #masthead.im-site-header .im-header__cta:focus-visible,
body.im-theme #masthead.im-site-header .im-account__toggle:hover,
body.im-theme #masthead.im-site-header .im-account__toggle:focus-visible {
	color: #fff !important;
}

body.im-theme #masthead.im-site-header .im-header-app-cta,
body.im-theme #masthead.im-site-header .im-header-app-cta:visited,
body.im-theme #masthead.im-site-header .im-header-app-cta:hover,
body.im-theme #masthead.im-site-header .im-header-app-cta:focus-visible {
	color: #6e422a !important;
}

/* Elementy rozwijane są jasnymi panelami i zachowują ciemny tekst. */
body.im-theme #masthead.im-site-header .im-mega-menu,
body.im-theme #masthead.im-site-header .im-mega-menu h2,
body.im-theme #masthead.im-site-header .im-mega-menu h3,
body.im-theme #masthead.im-site-header .im-mega-menu p,
body.im-theme #masthead.im-site-header .im-mega-menu a:not(.im-mega-menu__all),
body.im-theme #masthead.im-site-header .im-header-search-panel,
body.im-theme #masthead.im-site-header .im-header-search-panel h2,
body.im-theme #masthead.im-site-header .im-header-search-panel a,
body.im-theme #masthead.im-site-header .im-account__panel,
body.im-theme #masthead.im-site-header .im-account__panel a {
	color: var(--im-text) !important;
}

body.im-theme #masthead.im-site-header .im-mega-menu__intro,
body.im-theme #masthead.im-site-header .im-mega-menu__intro-hit,
body.im-theme #masthead.im-site-header .im-mega-menu__intro h2,
body.im-theme #masthead.im-site-header .im-mega-menu__intro p,
body.im-theme #masthead.im-site-header .im-mega-menu__intro .im-mega-menu__eyebrow,
body.im-theme #masthead.im-site-header .im-mega-menu__all,
body.im-theme #masthead.im-site-header .im-mega-menu__all:visited {
	color: #fff !important;
}

/* Panel mobilny jest jednym, pełnym drawerem z tym samym drzewem menu co desktop. */
.im-mobile-drawer[aria-hidden="true"] {
	pointer-events: none;
}

.im-mobile-drawer[aria-hidden="false"] {
	pointer-events: auto;
}

.im-site-overlay[hidden],
.im-header-backdrop[hidden],
.im-header-search-panel[hidden],
.im-account__panel[hidden],
.im-mobile-submenu[hidden] {
	display: none !important;
}

@media (max-width: 1200px) {
	body.im-theme .im-mobile-drawer {
		display: flex !important;
		top: 0 !important;
		right: 0 !important;
		bottom: auto !important;
		left: auto !important;
		z-index: 2147483000 !important;
		width: min(100%, 480px) !important;
		height: 100vh;
		height: 100dvh;
		max-height: 100vh;
		max-height: 100dvh;
		flex-direction: column;
		background: #fbf8f5 !important;
		color: var(--im-text) !important;
		overflow: hidden !important;
		transform: translate3d(104%, 0, 0) !important;
		transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1) !important;
	}

	body.im-theme .im-mobile-drawer.is-open {
		transform: translate3d(0, 0, 0) !important;
	}

	body.im-theme .im-site-overlay {
		display: block;
		z-index: 2147482990 !important;
	}

	body.im-theme .im-mobile-drawer__head {
		flex: 0 0 auto;
	}

	body.im-theme .im-mobile-drawer__intro,
	body.im-theme .im-mobile-quick-actions,
	body.im-theme .im-mobile-drawer__footer {
		flex: 0 0 auto;
	}

	body.im-theme .im-mobile-navigation {
		display: block !important;
		min-height: 0;
		flex: 1 1 auto;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	body.im-theme .im-mobile-navigation .im-mobile-menu,
	body.im-theme .im-mobile-navigation .sub-menu {
		display: block !important;
		width: 100%;
	}

	body.im-theme .im-mobile-navigation a,
	body.im-theme .im-mobile-navigation button,
	body.im-theme .im-mobile-drawer__footer a {
		color: var(--im-text) !important;
	}

	body.im-theme .im-mobile-drawer__cta,
	body.im-theme .im-mobile-drawer__cta:hover,
	body.im-theme .im-mobile-drawer__cta:focus-visible,
	body.im-theme .im-mobile-drawer__footer .im-auth-link--register {
		color: #fff !important;
	}

	body.im-theme #masthead.im-site-header .im-header__inner {
		grid-template-columns: 42px minmax(0, 1fr) 42px !important;
	}

	body.im-theme #masthead.im-site-header .im-header__actions {
		min-width: 42px;
		justify-content: flex-end;
	}

	body.im-theme #masthead.im-site-header .im-site-branding {
		justify-self: center !important;
		text-align: center;
		transform: translateX(clamp(14px, 3.8vw, 26px));
	}

	body.im-theme #masthead.im-site-header .custom-logo-link,
	body.im-theme #masthead.im-site-header .im-wordmark {
		max-width: min(210px, 42vw) !important;
	}

	body.im-theme #masthead.im-site-header .custom-logo {
		max-width: min(210px, 42vw) !important;
		max-height: 42px !important;
	}
}

@media (max-width: 620px) {
	body.im-theme .im-mobile-drawer {
		width: 100% !important;
		max-width: none !important;
	}

	body.im-theme #masthead.im-site-header .im-site-branding {
		transform: translateX(clamp(16px, 5vw, 28px));
	}

	body.im-theme #masthead.im-site-header .custom-logo-link,
	body.im-theme #masthead.im-site-header .im-wordmark,
	body.im-theme #masthead.im-site-header .custom-logo {
		max-width: min(165px, 42vw) !important;
	}

	body.im-theme .im-mobile-quick-actions {
		grid-template-columns: 1fr;
	}

	body.im-theme .im-mobile-menu__link {
		min-height: 60px;
	}

	body.im-theme .im-footer-menu {
		grid-template-columns: 1fr;
	}
}

/* Stopka pozostaje pełna i czytelna nawet przy stylach globalnych Elementora. */
body.im-theme .im-site-footer,
body.im-theme .im-site-footer p,
body.im-theme .im-site-footer address {
	color: rgb(255 255 255 / 0.76) !important;
}

body.im-theme .im-site-footer h2,
body.im-theme .im-site-footer h3,
body.im-theme .im-site-footer .im-wordmark,
body.im-theme .im-site-footer .im-footer__brand-links a,
body.im-theme .im-site-footer .im-footer-cta,
body.im-theme .im-site-footer .im-footer-cta h2,
body.im-theme .im-site-footer .im-footer-cta p,
body.im-theme .im-site-footer .im-footer-cta__secondary {
	color: #fff !important;
}

body.im-theme .im-site-footer .im-footer-cta__primary {
	color: #6e422a !important;
}


/* Eduma compatibility bridge: parent theme remains a runtime dependency only.
   The premium shell owns its geometry and must not inherit Eduma's push layout. */
html,
body.im-theme,
body.im-theme #im-wrapper-container,
body.im-theme .im-content-pusher,
body.im-theme .im-site-content {
	width: 100%;
	max-width: none;
	margin: 0;
	transform: none !important;
}
body.im-theme #im-wrapper-container {
	position: relative;
	left: auto;
	right: auto;
	overflow: visible;
}
body.im-theme .im-content-pusher {
	position: relative;
	left: auto;
	right: auto;
}
body.im-theme .im-site-header,
body.im-theme .im-site-footer {
	font-family: var(--im-font);
}
body.im-theme .im-site-header a,
body.im-theme .im-site-header button {
	font-family: inherit;
}
body.im-theme .im-header-topbar,
body.im-theme .im-header-main {
	color: #fff;
}
body.im-theme .im-header-main .im-premium-nav__link,
body.im-theme .im-header-main .im-premium-nav__toggle,
body.im-theme .im-header-main .im-header-search-toggle,
body.im-theme .im-header-main .im-header__cta,
body.im-theme .im-header-main .im-account__toggle {
	color: #fff !important;
}
body.im-theme .im-header-app-cta {
	color: #211d1a !important;
}
/* Eduma adds large default top/bottom margins to page shells. Elementor pages
   already own their spacing, so the premium theme keeps the content edge-to-edge. */
body.im-theme.im-elementor-page .im-page-main,
body.im-theme.im-elementor-page .im-page-content,
body.im-theme .im-front-page,
body.im-theme .im-front-page__content {
	margin: 0;
	padding: 0;
	max-width: none;
}

/* 1.5.0 SAFE — reguły końcowe po CSS Edumy. */
body.im-theme #wrapper-container.im-site,
body.im-theme #wrapper-container.im-site > .content-pusher,
body.im-theme #main-content.im-site-content {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	transform: none !important;
	translate: none !important;
}

body.im-theme #wrapper-container.im-site {
	position: relative !important;
	inset: auto !important;
	min-height: 100vh;
	overflow: visible !important;
}

body.im-theme #main-content.im-site-content {
	display: block !important;
	min-width: 0 !important;
	min-height: 1px;
	visibility: visible !important;
	opacity: 1 !important;
}

body.im-theme #masthead.im-site-header .im-premium-nav__link,
body.im-theme #masthead.im-site-header .im-premium-nav__toggle,
body.im-theme #masthead.im-site-header .im-header__cta,
body.im-theme #masthead.im-site-header .im-account__name,
body.im-theme #masthead.im-site-header .im-account__toggle,
body.im-theme #masthead.im-site-header .im-mobile-menu-toggle,
body.im-theme #masthead.im-site-header .im-utility-menu a {
	color: #fff !important;
}

body.im-theme #masthead.im-site-header .im-header-app-cta {
	color: #6e422a !important;
}


/* ================================================================
 * Instytut Mocy Premium 1.5.2 — dopracowanie menu i stopki
 * ================================================================ */

/* Zielony punkt oznacza aktywną, dostępną aplikację. */
body.im-theme #masthead.im-site-header .im-header-app-cta__dot {
	width: 8px !important;
	height: 8px !important;
	background: #22a968 !important;
	box-shadow: 0 0 0 4px rgb(34 169 104 / 0.17) !important;
}

/* Strzałki akordeonu na mobile są pełnymi, równymi kołami. */
@media (max-width: 1200px) {
	body.im-theme .im-mobile-submenu-toggle {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
		flex: 0 0 40px !important;
		align-self: center !important;
		margin: 0 6px 0 2px !important;
		padding: 0 !important;
		border: 1px solid color-mix(in srgb, var(--im-accent) 22%, var(--im-border)) !important;
		border-radius: 50% !important;
		background: #fff !important;
		box-shadow: 0 5px 15px rgb(83 49 29 / 0.07) !important;
		color: var(--im-accent-dark) !important;
	}

	body.im-theme .im-mobile-submenu-toggle:hover,
	body.im-theme .im-mobile-submenu-toggle:focus-visible {
		border-color: color-mix(in srgb, var(--im-accent) 54%, var(--im-border)) !important;
		background: var(--im-surface) !important;
		box-shadow: 0 8px 20px rgb(83 49 29 / 0.11) !important;
	}

	body.im-theme .im-mobile-submenu-toggle svg {
		width: 16px !important;
		height: 16px !important;
	}
}

/* Stopka ma zachować jasne linki na każdej podstronie, również LearnPress. */
body.im-theme .im-site-footer .im-footer-menu a,
body.im-theme .im-site-footer .im-footer-widget a,
body.im-theme .im-site-footer .widget a,
body.im-theme .im-site-footer nav a {
	color: rgb(255 255 255 / 0.76) !important;
}

body.im-theme .im-site-footer .im-footer-menu a:hover,
body.im-theme .im-site-footer .im-footer-menu a:focus-visible,
body.im-theme .im-site-footer .im-footer-widget a:hover,
body.im-theme .im-site-footer .im-footer-widget a:focus-visible,
body.im-theme .im-site-footer .widget a:hover,
body.im-theme .im-site-footer .widget a:focus-visible,
body.im-theme .im-site-footer nav a:hover,
body.im-theme .im-site-footer nav a:focus-visible {
	color: #fff !important;
}

/* ================================================================
 * Instytut Mocy Premium 1.5.3 — blok misji na stronie „O nas”
 * Globalny styl blockquote nie może tworzyć jasnej karty w ciemnym bloku.
 * ================================================================ */
body.im-theme .im-about-page .ima-dark-band .ima-quote {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: clamp(64px, 7vw, 96px) minmax(0, 1fr);
	gap: clamp(18px, 3vw, 38px);
	align-items: start;
	padding: clamp(30px, 4.5vw, 58px);
	border: 1px solid rgb(255 255 255 / 0.14);
	border-radius: clamp(22px, 2.5vw, 32px);
	background:
		radial-gradient(circle at 92% 8%, rgb(220 167 127 / 0.17), transparent 35%),
		linear-gradient(135deg, rgb(255 255 255 / 0.07), rgb(255 255 255 / 0.018));
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 0.08),
		0 24px 70px rgb(24 13 8 / 0.14);
	overflow: hidden;
}

body.im-theme .im-about-page .ima-dark-band .ima-quote::after {
	content: "";
	position: absolute;
	z-index: 0;
	right: clamp(-90px, -7vw, -36px);
	bottom: clamp(-110px, -9vw, -54px);
	width: clamp(180px, 24vw, 340px);
	aspect-ratio: 1;
	border: 1px solid rgb(255 255 255 / 0.08);
	border-radius: 50%;
	box-shadow:
		0 0 0 34px rgb(255 255 255 / 0.025),
		0 0 0 74px rgb(255 255 255 / 0.018);
	pointer-events: none;
}

body.im-theme .im-about-page .ima-dark-band .ima-quote-mark {
	position: relative;
	z-index: 1;
	margin: 0;
	color: #dca77f;
	font-family: var(--im-font);
	font-size: clamp(5rem, 8vw, 7.5rem);
	font-weight: 700;
	line-height: 0.72;
	letter-spacing: -0.08em;
	text-align: center;
	text-shadow: 0 10px 30px rgb(18 9 5 / 0.22);
	opacity: 0.94;
	transform: translateY(0.12em);
}

body.im-theme .im-about-page .ima-dark-band .ima-quote > div:last-child {
	position: relative;
	z-index: 1;
	min-width: 0;
}

body.im-theme .im-about-page .ima-dark-band .ima-quote blockquote {
	max-width: 1040px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff !important;
	font-size: clamp(1.8rem, 3.2vw, 3.65rem);
	font-style: normal;
	font-weight:700;
	line-height: 1.08;
	letter-spacing: -0.042em;
	text-wrap: balance;
}

body.im-theme .im-about-page .ima-dark-band .ima-quote p {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: clamp(22px, 2.4vw, 32px) 0 0 !important;
	color: rgb(255 255 255 / 0.74) !important;
	font-size: clamp(0.95rem, 1.15vw, 1.08rem);
	font-weight: 520;
	line-height: 1.55;
	letter-spacing: 0;
}

body.im-theme .im-about-page .ima-dark-band .ima-quote p::before {
	content: "";
	flex: 0 0 34px;
	width: 34px;
	height: 1px;
	background: linear-gradient(90deg, #dca77f, rgb(220 167 127 / 0.28));
}

@media (max-width: 767px) {
	body.im-theme .im-about-page .ima-dark-band .ima-quote {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 25px 22px 28px;
		border-radius: 22px;
	}

	body.im-theme .im-about-page .ima-dark-band .ima-quote-mark {
		position: absolute;
		top: 27px;
		right: 22px;
		font-size: 5.4rem;
		line-height: 0.62;
		opacity: 0.32;
		transform: none;
	}

	body.im-theme .im-about-page .ima-dark-band .ima-quote blockquote {
		padding-right: 24px !important;
		font-size: clamp(1.55rem, 7.2vw, 2.25rem);
		line-height: 1.12;
		letter-spacing: -0.035em;
	}

	body.im-theme .im-about-page .ima-dark-band .ima-quote p {
		align-items: flex-start;
		gap: 10px;
		margin-top: 20px !important;
		font-size: 0.95rem;
	}

	body.im-theme .im-about-page .ima-dark-band .ima-quote p::before {
		flex-basis: 24px;
		width: 24px;
		margin-top: 0.75em;
	}
}

/* ================================================================
 * Instytut Mocy Premium 1.5.4 — okrągłe przyciski strzałek desktop
 * ================================================================ */

/* Pozycje rozwijane pozostają lekkim owalem, a sterowanie podmenu jest
 * osobnym, idealnie okrągłym przyciskiem. Reguły są celowo końcowe i
 * szczegółowe, aby style przycisków Edumy/Elementora nie tworzyły „jaj”. */
@media (min-width: 1201px) {
	body.im-theme #masthead.im-site-header .im-premium-nav__item.menu-item-has-children .im-premium-nav__entry {
		gap: 2px;
		padding-right: 4px;
		border-radius: 999px !important;
	}

	body.im-theme #masthead.im-site-header .im-premium-nav__item.menu-item-has-children .im-premium-nav__link {
		padding-right: 4px;
	}

	body.im-theme #masthead.im-site-header .im-premium-nav__toggle {
		display: grid !important;
		width: 32px !important;
		height: 32px !important;
		min-width: 32px !important;
		min-height: 32px !important;
		flex: 0 0 32px !important;
		place-items: center !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 1px solid rgb(255 255 255 / 0.16) !important;
		border-radius: 50% !important;
		background: rgb(52 27 14 / 0.10) !important;
		box-shadow:
			inset 0 1px 0 rgb(255 255 255 / 0.08),
			0 2px 8px rgb(42 22 12 / 0.05) !important;
		color: rgb(255 255 255 / 0.92) !important;
		line-height: 1 !important;
		appearance: none !important;
		-webkit-appearance: none !important;
		transition:
			background-color 160ms ease,
			border-color 160ms ease,
			box-shadow 160ms ease,
			transform 160ms ease !important;
	}

	body.im-theme #masthead.im-site-header .im-premium-nav__toggle:hover,
	body.im-theme #masthead.im-site-header .im-premium-nav__toggle:focus-visible {
		border-color: rgb(255 255 255 / 0.30) !important;
		background: rgb(255 255 255 / 0.13) !important;
		box-shadow:
			inset 0 1px 0 rgb(255 255 255 / 0.13),
			0 5px 14px rgb(42 22 12 / 0.09) !important;
		outline: none !important;
	}

	body.im-theme #masthead.im-site-header .im-premium-nav__item.is-open .im-premium-nav__entry,
	body.im-theme #masthead.im-site-header .im-premium-nav__item:has(.im-premium-nav__toggle[aria-expanded="true"]) .im-premium-nav__entry {
		border-color: rgb(255 255 255 / 0.18) !important;
		background: rgb(255 255 255 / 0.11) !important;
		box-shadow:
			inset 0 1px 0 rgb(255 255 255 / 0.10),
			0 8px 24px rgb(42 22 12 / 0.07) !important;
	}

	body.im-theme #masthead.im-site-header .im-premium-nav__item.is-open .im-premium-nav__toggle,
	body.im-theme #masthead.im-site-header .im-premium-nav__toggle[aria-expanded="true"] {
		border-color: rgb(255 255 255 / 0.34) !important;
		background: rgb(255 255 255 / 0.17) !important;
		box-shadow:
			inset 0 1px 0 rgb(255 255 255 / 0.16),
			0 6px 16px rgb(42 22 12 / 0.10) !important;
	}

	body.im-theme #masthead.im-site-header .im-premium-nav__toggle svg {
		width: 14px !important;
		height: 14px !important;
		margin: 0 !important;
		transform-origin: 50% 50%;
	}
}

/* --------------------------------------------------------------------------
 * 1.5.16 — równe i czytelne ikony udostępniania wpisu
 * -------------------------------------------------------------------------- */

/*
 * Szablon pojedynczego wpisu ma etykietę i widget social-share w jednym
 * kontenerze Elementora. Zdejmujemy wąskie, narzucone szerokości, które
 * łamały „Udostępnij” w środku słowa, i układamy całość w jednym rzędzie.
 */
body.single-post .e-con:has(> .elementor-widget-thim-ekits-social-share) {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
}

body.single-post .e-con:has(> .elementor-widget-thim-ekits-social-share) > .elementor-element {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
}

body.single-post .e-con:has(> .elementor-widget-thim-ekits-social-share) > .elementor-element:not(.elementor-widget-thim-ekits-social-share) :is(h1, h2, h3, h4, h5, h6, p, span) {
	margin: 0 !important;
	white-space: nowrap !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

body.single-post .elementor-widget-thim-ekits-social-share .social-swapper,
body.single-post .elementor-widget-thim-ekits-social-share .elementor-widget-container {
	display: block !important;
	width: auto !important;
}

body.single-post .elementor-widget-thim-ekits-social-share .thim-social-media {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: nowrap !important;
	gap: 9px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.single-post .elementor-widget-thim-ekits-social-share .thim-social-media > li {
	display: block !important;
	flex: 0 0 42px !important;
	width: 42px !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.single-post .elementor-widget-thim-ekits-social-share .thim-social-media > li > a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	min-height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgb(166 108 68 / 0.14) !important;
	border-radius: 50% !important;
	background: #f7f2ec !important;
	color: #2a211c !important;
	font-size: 17px !important;
	line-height: 1 !important;
	text-align: center !important;
	box-shadow: 0 7px 18px rgb(56 34 20 / 0.06) !important;
	transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease !important;
}

body.single-post .elementor-widget-thim-ekits-social-share .thim-social-media > li > a:hover,
body.single-post .elementor-widget-thim-ekits-social-share .thim-social-media > li > a:focus-visible {
	transform: translateY(-2px) !important;
	border-color: rgb(166 108 68 / 0.35) !important;
	background: var(--im-accent, #ad7046) !important;
	color: #fff !important;
	box-shadow: 0 11px 24px rgb(56 34 20 / 0.13) !important;
	text-decoration: none !important;
}

body.single-post .elementor-widget-thim-ekits-social-share .thim-social-media > li > a :is(i, svg) {
	display: block !important;
	flex: 0 0 auto !important;
	width: 17px !important;
	height: 17px !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 17px !important;
	line-height: 17px !important;
	color: currentColor !important;
}

body.single-post .elementor-widget-thim-ekits-social-share .thim-social-media > li > a svg :is(path, circle, rect, polygon) {
	fill: currentColor !important;
	stroke: currentColor !important;
}

@media (max-width: 700px) {
	body.single-post .e-con:has(> .elementor-widget-thim-ekits-social-share) {
		gap: 10px !important;
	}

	body.single-post .elementor-widget-thim-ekits-social-share .thim-social-media {
		gap: 8px !important;
	}

	body.single-post .elementor-widget-thim-ekits-social-share .thim-social-media > li,
	body.single-post .elementor-widget-thim-ekits-social-share .thim-social-media > li > a {
		flex-basis: 40px !important;
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
	}
}

/* --------------------------------------------------------------------------
 * 1.5.17 — etykieta „Udostępnij” bez łamania wewnątrz słowa
 * -------------------------------------------------------------------------- */

/*
 * W szablonie wpisu widget udostępniania jest zagnieżdżony o jeden kontener
 * głębiej niż etykieta. Poprzedni selektor obejmował tylko wariant z
 * bezpośrednim rodzeństwem, dlatego Elementor zostawiał nagłówkowi szerokość
 * kilku pikseli. Obejmujemy rzeczywistą strukturę szablonu i zachowujemy
 * naturalną szerokość zarówno etykiety, jak i wiersza ikon.
 */
body.single-post .e-con:has(> .elementor-widget-heading + .e-con .elementor-widget-thim-ekits-social-share) {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: wrap !important;
	column-gap: 10px !important;
	row-gap: 8px !important;
}

body.single-post .e-con:has(> .elementor-widget-heading + .e-con .elementor-widget-thim-ekits-social-share) > .elementor-widget-heading,
body.single-post .elementor-element.elementor-element-1a326144.elementor-widget-heading {
	flex: 0 0 auto !important;
	align-self: center !important;
	width: max-content !important;
	min-width: max-content !important;
	max-width: none !important;
	margin: 0 !important;
}

body.single-post .e-con:has(> .elementor-widget-heading + .e-con .elementor-widget-thim-ekits-social-share) > .elementor-widget-heading .elementor-heading-title,
body.single-post .elementor-element.elementor-element-1a326144.elementor-widget-heading .elementor-heading-title {
	display: block !important;
	width: max-content !important;
	min-width: max-content !important;
	max-width: none !important;
	margin: 0 !important;
	white-space: nowrap !important;
	word-break: keep-all !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
	line-height: 1.2 !important;
}

body.single-post .e-con:has(> .elementor-widget-heading + .e-con .elementor-widget-thim-ekits-social-share) > .e-con:has(.elementor-widget-thim-ekits-social-share) {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
}

body.single-post .e-con:has(> .elementor-widget-heading + .e-con .elementor-widget-thim-ekits-social-share) .elementor-widget-thim-ekits-social-share {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
}

/* Lista specjalistów: pełny tekst zamiast urwanych akapitów z wielokropkiem. */
body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors .instructor-description,
body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors .instructor-description p,
body.im-theme .list-instructors .item-instructor .instructor-description,
body.im-theme .list-instructors .item-instructor .instructor-description p {
	display: block !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
	white-space: normal !important;
	text-overflow: clip !important;
	-webkit-box-orient: initial !important;
	-webkit-line-clamp: unset !important;
}

body.im-theme .list-instructors .item-instructor .instructor-description p {
	overflow: visible !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-bio {
	--im-instructor-bio-collapsed-height: 250px;
	position: relative;
	margin-bottom: 0;
	transition: max-height 220ms ease;
}

body.im-theme .list-instructors .item-instructor .im-instructor-bio[data-im-instructor-bio-collapsible="1"]:not(.is-expanded) {
	max-height: var(--im-instructor-bio-collapsed-height) !important;
	overflow: hidden !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-bio[data-im-instructor-bio-collapsible="1"]:not(.is-expanded)::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 64px;
	background: linear-gradient(to bottom, rgb(255 255 255 / 0), #fff 78%);
	content: "";
	pointer-events: none;
}

body.im-theme .list-instructors .item-instructor .im-instructor-bio.is-expanded {
	max-height: none !important;
	overflow: visible !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-bio-toggle {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	gap: 9px;
	margin: 13px auto 18px;
	padding: 2px 10px 2px 3px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	font-family: inherit;
	color: var(--im-accent-dark, #855335);
	font-size: 0.82rem;
	font-weight:700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

body.im-theme .list-instructors .item-instructor .im-instructor-bio-toggle:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-bio-toggle:focus-visible {
	background: color-mix(in srgb, var(--im-accent, #ad7147) 10%, #fff);
	color: var(--im-accent-dark, #704229);
	outline: none;
}

body.im-theme .list-instructors .item-instructor .im-instructor-bio-toggle:focus-visible {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--im-accent, #ad7147) 22%, transparent);
}

body.im-theme .list-instructors .item-instructor .im-instructor-bio-toggle__icon {
	display: inline-block;
	position: relative;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	border: 1px solid color-mix(in srgb, var(--im-accent, #ad7147) 34%, #ddd);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 5px 14px rgb(77 46 28 / 0.08);
}

body.im-theme .list-instructors .item-instructor .im-instructor-bio-toggle__icon::before,
body.im-theme .list-instructors .item-instructor .im-instructor-bio-toggle__icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	content: "";
	transform: translate(-50%, -50%);
	transition: transform 160ms ease, opacity 160ms ease;
}

body.im-theme .list-instructors .item-instructor .im-instructor-bio-toggle__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

body.im-theme .list-instructors .item-instructor .im-instructor-bio-toggle[aria-expanded="true"] .im-instructor-bio-toggle__icon::after {
	opacity: 0;
	transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
}

@media (max-width: 767px) {
	body.im-theme .list-instructors .item-instructor .im-instructor-bio {
		--im-instructor-bio-collapsed-height: 215px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.im-theme .list-instructors .item-instructor .im-instructor-bio,
	body.im-theme .list-instructors .item-instructor .im-instructor-bio-toggle,
	body.im-theme .list-instructors .item-instructor .im-instructor-bio-toggle__icon::before,
	body.im-theme .list-instructors .item-instructor .im-instructor-bio-toggle__icon::after {
		transition: none;
	}
}



/* Lista specjalistów: uporządkowana dolna sekcja (separator, social media, link profilu). */
body.im-theme .list-instructors .item-instructor {
	display: flex;
	flex-direction: column;
	height: 100%;
}

body.im-theme .list-instructors .item-instructor > :not(.im-instructor-footer) {
	width: 100%;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer {
	width: 100%;
	margin-top: auto;
	padding-top: 18px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	border-top: 1px dashed color-mix(in srgb, var(--im-accent, #ad7147) 18%, #d8d8d8);
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer.is-social-empty {
	gap: 8px;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social.is-empty {
	width: 100%;
	min-height: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer.is-social-empty .instructor-social,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social.is-empty {
	display: none !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid color-mix(in srgb, var(--im-accent, #ad7147) 28%, #ddd);
	background: #fff;
	color: var(--im-accent-dark, #855335);
	box-shadow: 0 5px 14px rgb(77 46 28 / 0.07);
	text-decoration: none;
	transition: transform 160ms ease, background-color 160ms ease, color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a:focus-visible {
	background: color-mix(in srgb, var(--im-accent, #ad7147) 11%, #fff);
	border-color: color-mix(in srgb, var(--im-accent, #ad7147) 42%, #d6c2b6);
	color: var(--im-accent-dark, #704229);
	transform: translateY(-1px);
	outline: none;
	box-shadow: 0 8px 18px rgb(77 46 28 / 0.1);
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a :is(i, svg) {
	font-size: 14px;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a svg {
	width: 16px;
	height: 16px;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .im-instructor-profile-link,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .im-instructor-profile-link:empty {
	margin: 0;
	padding: 0;
	text-align: center;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .im-instructor-profile-link > a,
body.im-theme .list-instructors .item-instructor .im-instructor-footer > a.instructor-btn-view,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-btn-view {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	font-size: 0.82rem;
	font-weight:700;
	line-height: 1.2;
	color: var(--im-accent-dark, #1d1d1d);
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .im-instructor-profile-link > a:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .im-instructor-profile-link > a:focus-visible,
body.im-theme .list-instructors .item-instructor .im-instructor-footer > a.instructor-btn-view:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-footer > a.instructor-btn-view:focus-visible,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-btn-view:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-btn-view:focus-visible {
	background: color-mix(in srgb, var(--im-accent, #ad7147) 10%, #fff);
	color: var(--im-accent-dark, #704229);
	transform: translateY(-1px);
	outline: none;
}

@media (max-width: 767px) {
	body.im-theme .list-instructors .item-instructor .im-instructor-footer {
		padding-top: 16px;
		gap: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a,
	body.im-theme .list-instructors .item-instructor .im-instructor-footer .im-instructor-profile-link > a,
	body.im-theme .list-instructors .item-instructor .im-instructor-footer > a.instructor-btn-view,
	body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-btn-view {
		transition: none;
	}
}


/* Lista specjalistów: dopracowanie stopki kart (1.5.25). */
body.im-theme .list-instructors .item-instructor hr {
	display: none !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer {
	padding-top: 10px;
	gap: 10px;
	border-top: 0 !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .im-instructor-profile-link,
body.im-theme .list-instructors .item-instructor .im-instructor-footer > a.instructor-btn-view,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-btn-view {
	order: 1;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social {
	order: 2;
	margin-top: 2px;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a.is-empty,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a[hidden] {
	display: none !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a:visited {
	color: var(--im-accent-dark, #855335) !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a:focus-visible {
	background: color-mix(in srgb, var(--im-accent, #ad7147) 9%, #fff) !important;
	border-color: color-mix(in srgb, var(--im-accent, #ad7147) 40%, #d6c2b6) !important;
	color: var(--im-accent-dark, #704229) !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a:hover :is(i, svg, path),
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a:focus-visible :is(i, svg, path),
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-social a :is(i, svg, path) {
	color: currentColor !important;
	fill: currentColor !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .im-instructor-profile-link > a,
body.im-theme .list-instructors .item-instructor .im-instructor-footer > a.instructor-btn-view,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-btn-view {
	min-height: 40px;
	padding: 0 18px;
	border: 1px solid color-mix(in srgb, var(--im-accent, #ad7147) 26%, #ddd);
	background: color-mix(in srgb, var(--im-accent, #ad7147) 6%, #fff);
	color: var(--im-accent-dark, #704229);
	box-shadow: 0 5px 14px rgb(77 46 28 / 0.06);
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer .im-instructor-profile-link > a:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .im-instructor-profile-link > a:focus-visible,
body.im-theme .list-instructors .item-instructor .im-instructor-footer > a.instructor-btn-view:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-footer > a.instructor-btn-view:focus-visible,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-btn-view:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-footer .instructor-btn-view:focus-visible {
	background: color-mix(in srgb, var(--im-accent, #ad7147) 11%, #fff);
	border-color: color-mix(in srgb, var(--im-accent, #ad7147) 42%, #d6c2b6);
	color: var(--im-accent-dark, #704229);
}


/* Lista specjalistów: wspólny wiersz akcji i całkowite usunięcie separatorów (1.5.26). */
body.im-theme .list-instructors .item-instructor :is(hr, .elementor-divider, .thim-ekits-divider, [class*="divider"], [class*="separator"]) {
	display: none !important;
	border: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer,
body.im-theme .list-instructors .item-instructor .im-instructor-footer::before,
body.im-theme .list-instructors .item-instructor .im-instructor-footer::after {
	border: 0 !important;
	box-shadow: none !important;
	background-image: none !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer {
	padding-top: 8px;
	gap: 0;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
	width: auto;
	max-width: 100%;
	margin: 0 auto;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link,
body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view {
	order: 1;
	margin: 0;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social {
	order: 2;
	width: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer.is-social-empty .im-instructor-actions .instructor-social {
	display: none !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social a {
	width: 36px;
	height: 36px;
	flex: 0 0 36px;
}

@media (max-width: 767px) {
	body.im-theme .list-instructors .item-instructor .im-instructor-actions {
		gap: 10px;
	}
}


/* Lista specjalistów: definitywne czyszczenie separatorów i osiowanie akcji (1.5.27). */
body.im-theme .list-instructors .item-instructor .im-instructor-footer > :not(.im-instructor-actions),
body.im-theme .list-instructors .item-instructor .im-instructor-actions > :not(.im-instructor-profile-link):not(.instructor-social):not(.instructor-btn-view),
body.im-theme .list-instructors .item-instructor .im-instructor-footer :is(hr, .elementor-divider, .thim-ekits-divider, [class*="divider"], [class*="separator"]) {
	display: none !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer,
body.im-theme .list-instructors .item-instructor .im-instructor-actions,
body.im-theme .list-instructors .item-instructor .im-instructor-profile-link,
body.im-theme .list-instructors .item-instructor .instructor-social {
	border: 0 !important;
	outline: 0 !important;
	background-image: none !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer::before,
body.im-theme .list-instructors .item-instructor .im-instructor-footer::after,
body.im-theme .list-instructors .item-instructor .im-instructor-actions::before,
body.im-theme .list-instructors .item-instructor .im-instructor-actions::after,
body.im-theme .list-instructors .item-instructor .im-instructor-profile-link::before,
body.im-theme .list-instructors .item-instructor .im-instructor-profile-link::after,
body.im-theme .list-instructors .item-instructor .instructor-social::before,
body.im-theme .list-instructors .item-instructor .instructor-social::after {
	content: none !important;
	display: none !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer {
	padding-top: 8px;
	gap: 0 !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	column-gap: 12px !important;
	row-gap: 8px !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
	vertical-align: middle !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions > *,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social > * {
	margin: 0 !important;
	align-self: center !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link,
body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view {
	display: inline-flex !important;
	align-items: center !important;
	align-self: center !important;
	min-height: 40px;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	width: auto !important;
	min-height: 40px;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: middle !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social a {
	margin: 0 !important;
	vertical-align: middle !important;
}


/* Lista specjalistów: mikro-wyrównanie buttonu i social media (1.5.28). */
body.im-theme .list-instructors .item-instructor .im-instructor-actions {
	min-height: 40px;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link,
body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link > a {
	height: 40px !important;
	min-height: 40px !important;
	line-height: 1 !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social {
	height: 40px !important;
	min-height: 40px !important;
	align-items: center !important;
	transform: translateY(-1px);
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	line-height: 1 !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social a :is(i, svg) {
	line-height: 1 !important;
}


/* Lista specjalistów: finalna korekta optyczna osi social względem przycisku (1.5.29). */
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social {
	transform: translateY(-5px) !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social a {
	transform: translateY(0) !important;
	box-shadow: 0 2px 8px rgb(77 46 28 / 0.05) !important;
}


/* Lista specjalistów: stabilny hover przycisku profilu bez skoku (1.5.30). */
body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link > a,
body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view {
	transform: none !important;
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, box-shadow 160ms ease !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link > a:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link > a:focus-visible,
body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view:focus-visible,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view:focus-visible {
	transform: none !important;
}


/* Lista specjalistów: stabilny hover bez migotania profilu i sociali (1.5.31). */
body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link > a,
body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social a {
	transition: none !important;
	animation: none !important;
	transform: none !important;
	will-change: auto !important;
	backface-visibility: visible !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link > a::before,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link > a::after,
body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view::before,
body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view::after,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view::before,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view::after,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social a::before,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social a::after {
	transition: none !important;
	animation: none !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link > a:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link > a:focus-visible,
body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view:focus-visible,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view:focus-visible {
	transform: none !important;
	box-shadow: 0 5px 14px rgb(77 46 28 / 0.06) !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social a:hover,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social a:focus-visible {
	transform: none !important;
	box-shadow: 0 2px 8px rgb(77 46 28 / 0.05) !important;
}


/* Lista specjalistów: responsywne akcje — profil nad socialami na wąskich kartach (1.5.33). */
body.im-theme .list-instructors .item-instructor {
	container-type: inline-size;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer {
	width: 100%;
	padding-top: 8px;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions {
	display: grid !important;
	grid-template-columns: max-content max-content;
	grid-template-rows: 40px;
	align-items: center !important;
	justify-content: center !important;
	column-gap: 12px !important;
	row-gap: 0 !important;
	width: 100% !important;
	min-height: 40px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link,
body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view {
	grid-column: 1;
	grid-row: 1;
	width: max-content !important;
	max-width: 100% !important;
	margin: 0 !important;
	align-self: center !important;
	justify-self: center !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social {
	grid-column: 2;
	grid-row: 1;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: max-content !important;
	height: 40px !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	align-self: center !important;
	justify-self: center !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-footer.is-social-empty .im-instructor-actions {
	grid-template-columns: max-content;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social a {
	transform: none !important;
}

/* Przy czterech węższych kolumnach zawsze: profil u góry, sociale pod nim. */
@container (max-width: 390px) {
	body.im-theme .list-instructors .item-instructor .im-instructor-actions,
	body.im-theme .list-instructors .item-instructor .im-instructor-footer.is-social-empty .im-instructor-actions {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: 40px 40px !important;
		row-gap: 8px !important;
		min-height: 88px !important;
	}

	body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link,
	body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view,
	body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view {
		grid-column: 1 !important;
		grid-row: 1 !important;
		justify-self: center !important;
	}

	body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social {
		grid-column: 1 !important;
		grid-row: 2 !important;
		justify-self: center !important;
	}

	/* Pusty drugi wiersz jest celowy: utrzymuje wszystkie przyciski profilu na jednej osi. */
	body.im-theme .list-instructors .item-instructor .im-instructor-footer.is-social-empty .im-instructor-actions::after {
		display: block !important;
		grid-column: 1;
		grid-row: 2;
		width: 1px;
		height: 40px;
		content: "" !important;
	}
}


/* Lista specjalistów: identyczna wysokość profilu i sociali na szerokim ekranie (1.5.34). */
body.im-theme .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link > a,
body.im-theme .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view,
body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view {
	box-sizing: border-box !important;
	height: 40px !important;
	min-height: 40px !important;
	margin: 0 !important;
	transform: none !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social {
	box-sizing: border-box !important;
	height: 40px !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	align-items: center !important;
	transform: none !important;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions .instructor-social a {
	box-sizing: border-box !important;
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	min-height: 40px !important;
	flex: 0 0 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
}


/* Lista specjalistów: aktywne linki po stabilizacji DOM (1.5.35). */
body.im-theme .list-instructors .item-instructor .im-instructor-footer,
body.im-theme .list-instructors .item-instructor .im-instructor-actions {
	position: relative;
	z-index: 5;
	pointer-events: auto;
}

body.im-theme .list-instructors .item-instructor .im-instructor-actions a {
	position: relative;
	z-index: 6;
	pointer-events: auto !important;
	cursor: pointer;
}

/* Lista specjalistów: naturalny układ RWD bez pustych rzędów (1.5.38). */
@media (max-width: 767px) {
	body.im-theme .elementor-widget-learnpress_list_instructors,
	body.im-theme .elementor-widget-learnpress_list_instructors > .elementor-widget-container,
	body.im-theme .elementor-widget-learnpress_list_instructors .elementor-widget-container > [class*="elementor-repeater-item-"] {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
		overflow: visible !important;
	}

	/* Flex zamiast gridu: żaden rząd nie może przejąć wysokości najdłuższego opisu. */
	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		align-content: flex-start !important;
		justify-content: flex-start !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		grid-template-columns: none !important;
		grid-template-rows: none !important;
		grid-auto-rows: auto !important;
		grid-auto-flow: row !important;
		gap: clamp(24px, 6vw, 32px) !important;
		row-gap: clamp(24px, 6vw, 32px) !important;
		column-gap: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors > .item-instructor {
		display: flex !important;
		flex: 0 0 auto !important;
		flex-direction: column !important;
		align-self: stretch !important;
		justify-self: auto !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding-bottom: 0 !important;
		contain: none !important;
		container-type: normal !important;
		overflow: visible !important;
	}

	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors > .item-instructor > * {
		flex: 0 0 auto;
	}

	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors .item-instructor .im-instructor-bio-toggle {
		margin-top: 12px !important;
		margin-bottom: 8px !important;
	}

	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors .item-instructor .im-instructor-footer {
		flex: 0 0 auto !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 4px 0 0 !important;
		padding: 0 !important;
	}

	/* Na mobile kolejność zawsze jest czytelna: profil, a pod nim dostępne sociale. */
	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors .item-instructor .im-instructor-actions,
	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors .item-instructor .im-instructor-footer.is-social-empty .im-instructor-actions {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: auto !important;
		align-items: center !important;
		justify-items: center !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		gap: 8px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors .item-instructor .im-instructor-actions .im-instructor-profile-link,
	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors .item-instructor .im-instructor-actions > a.instructor-btn-view,
	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors .item-instructor .im-instructor-actions .instructor-btn-view {
		grid-column: 1 !important;
		grid-row: 1 !important;
		justify-self: center !important;
		margin: 0 !important;
	}

	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors .item-instructor .im-instructor-actions .instructor-social {
		grid-column: 1 !important;
		grid-row: 2 !important;
		justify-self: center !important;
		width: auto !important;
		height: 40px !important;
		min-height: 40px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors .item-instructor .im-instructor-footer.is-social-empty .instructor-social,
	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors .item-instructor .im-instructor-footer.is-social-empty .im-instructor-actions::after {
		display: none !important;
		content: none !important;
	}
}

@media (max-width: 420px) {
	body.im-theme .elementor-widget-learnpress_list_instructors .list-instructors {
		gap: 24px !important;
		row-gap: 24px !important;
	}
}



/* 1.5.51 — mobile: równy odstęp logo od prawej, jak menu od lewej. */
@media (max-width: 620px) {
	body.im-theme #masthead.im-site-header .im-header__inner {
		position: relative !important;
		grid-template-columns: 42px minmax(0, 1fr) auto !important;
		column-gap: 10px !important;
	}

	body.im-theme #masthead.im-site-header .im-site-branding {
		position: static !important;
		grid-column: 2 !important;
		align-self: center !important;
		justify-self: end !important;
		margin: 0 !important;
		text-align: right !important;
		transform: none !important;
		z-index: auto !important;
	}

	body.im-theme #masthead.im-site-header .custom-logo-link,
	body.im-theme #masthead.im-site-header .im-wordmark {
		display: inline-flex !important;
		margin: 0 !important;
		transform: none !important;
	}

	/* Niezalogowany: tylko 2 kolumny, więc prawa krawędź logo równa lewej krawędzi menu. */
	body.im-theme:not(.im-user-is-logged-in) #masthead.im-site-header .im-header__inner {
		grid-template-columns: 42px minmax(0, 1fr) !important;
		column-gap: 10px !important;
	}

	body.im-theme:not(.im-user-is-logged-in) #masthead.im-site-header .im-header__actions {
		display: none !important;
	}

	/* Po zalogowaniu logo naturalnie kończy się przed ikoną konta. */
	body.im-theme.im-user-is-logged-in #masthead.im-site-header .im-header__actions {
		min-width: 42px !important;
		width: auto !important;
	}
}


/* 1.5.53 — mobile: mocniejsza korekta prawego marginesu logo względem hamburgera. */
@media (max-width: 620px) {
	body.im-theme #masthead.im-site-header .im-site-branding {
		margin-right: 54px !important;
	}
}


/* 1.5.57 — profil specjalisty: LearnPress ukrywa opis poniżej 992 px; pokazujemy go i zwijamy tylko gdy jest długi. */
body.im-theme .lp-single-instructor__info__right .instructor-description {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.im-theme .lp-single-instructor__info__right .instructor-description.im-instructor-bio {
	--im-instructor-bio-collapsed-height: 9999px;
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 2px 0 0;
	color: var(--im-muted, #776d66);
	line-height: 1.62;
	transition: max-height 220ms ease;
}

body.im-theme .lp-single-instructor__info__right .instructor-description.im-instructor-bio[data-im-instructor-bio-collapsible="1"]:not(.is-expanded) {
	max-height: var(--im-instructor-bio-collapsed-height) !important;
	overflow: hidden !important;
}

body.im-theme .lp-single-instructor__info__right .instructor-description.im-instructor-bio[data-im-instructor-bio-collapsible="1"]:not(.is-expanded)::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 44px;
	background: linear-gradient(to bottom, rgb(255 255 255 / 0), #fff 82%);
	content: "";
	pointer-events: none;
}

body.im-theme .lp-single-instructor__info__right .instructor-description.im-instructor-bio.is-expanded {
	max-height: none !important;
	overflow: visible !important;
}

body.im-theme .lp-single-instructor__info__right .im-instructor-bio-toggle {
	display: inline-flex;
	min-height: 36px;
	align-self: flex-start;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 2px 0 0;
	padding: 2px 10px 2px 3px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	font-family: inherit;
	color: var(--im-accent-dark, #855335);
	font-size: 0.78rem;
	font-weight:700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

body.im-theme .lp-single-instructor__info__right .im-instructor-bio-toggle:hover,
body.im-theme .lp-single-instructor__info__right .im-instructor-bio-toggle:focus-visible {
	background: color-mix(in srgb, var(--im-accent, #ad7147) 10%, #fff);
	color: var(--im-accent-dark, #704229);
	outline: none;
}

body.im-theme .lp-single-instructor__info__right .im-instructor-bio-toggle:focus-visible {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--im-accent, #ad7147) 22%, transparent);
}

body.im-theme .lp-single-instructor__info__right .im-instructor-bio-toggle__icon {
	display: inline-block;
	position: relative;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	border: 1px solid color-mix(in srgb, var(--im-accent, #ad7147) 34%, #ddd);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 5px 14px rgb(77 46 28 / 0.08);
}

body.im-theme .lp-single-instructor__info__right .im-instructor-bio-toggle__icon::before,
body.im-theme .lp-single-instructor__info__right .im-instructor-bio-toggle__icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 11px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	content: "";
	transform: translate(-50%, -50%);
	transition: transform 160ms ease, opacity 160ms ease;
}

body.im-theme .lp-single-instructor__info__right .im-instructor-bio-toggle__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

body.im-theme .lp-single-instructor__info__right .im-instructor-bio-toggle[aria-expanded="true"] .im-instructor-bio-toggle__icon::after {
	opacity: 0;
	transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
}

@media (max-width: 991px) {
	body.im-theme .lp-single-instructor__info__right .instructor-description.im-instructor-bio {
		--im-instructor-bio-collapsed-height: 126px;
		font-size: 0.94rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.im-theme .lp-single-instructor__info__right .instructor-description.im-instructor-bio,
	body.im-theme .lp-single-instructor__info__right .im-instructor-bio-toggle__icon::before,
	body.im-theme .lp-single-instructor__info__right .im-instructor-bio-toggle__icon::after {
		transition: none;
	}
}


/* --------------------------------------------------------------------------
 * 1.5.58 — czytelne linki tekstowe w treści wpisów
 * -------------------------------------------------------------------------- */
/*
 * Linki w akapitach wpisu były wizualnie niemal identyczne z tekstem.
 * Wzmacniamy wyłącznie linki osadzone w treści tekstowej, bez wpływu na
 * przyciski, nawigację, grafiki, social-share i inne elementy klikalne.
 */
body.single-post :is(
	.elementor-widget-theme-post-content,
	.elementor-widget-text-editor,
	.entry-content,
	.im-single__content
) :is(p, li, blockquote, figcaption, dd) > a:not(.elementor-button):not([class*="button"]),
body.single-post :is(
	.elementor-widget-theme-post-content,
	.elementor-widget-text-editor,
	.entry-content,
	.im-single__content
) :is(p, li, blockquote, figcaption, dd) a:not(.elementor-button):not([class*="button"]) {
	color: var(--im-accent-dark, #835132) !important;
	font-weight: 700 !important;
	text-decoration-line: underline !important;
	text-decoration-thickness: 0.075em !important;
	text-decoration-color: var(--im-accent, #ad7147) !important;
	text-underline-offset: 0.16em !important;
	text-decoration-skip-ink: auto !important;
	transition: color 150ms ease, text-decoration-color 150ms ease !important;
}

body.single-post :is(
	.elementor-widget-theme-post-content,
	.elementor-widget-text-editor,
	.entry-content,
	.im-single__content
) :is(p, li, blockquote, figcaption, dd) a:not(.elementor-button):not([class*="button"]):hover,
body.single-post :is(
	.elementor-widget-theme-post-content,
	.elementor-widget-text-editor,
	.entry-content,
	.im-single__content
) :is(p, li, blockquote, figcaption, dd) a:not(.elementor-button):not([class*="button"]):focus-visible {
	color: var(--im-accent, #ad7147) !important;
	text-decoration-thickness: 0.11em !important;
}

/* --------------------------------------------------------------------------
 * 1.5.59 — fallback dla treści wpisu renderowanej przez Thim/Elementor
 * -------------------------------------------------------------------------- */
/*
 * Część wpisów na stronie jest renderowana przez szablon Thim Elementor Kit,
 * a nie wewnątrz klasy .entry-content / widgetu Theme Post Content. Wtedy
 * selektory z 1.5.58 nie trafiały w link mimo że premium.css był załadowany.
 * Poniższy fallback ograniczamy do pojedynczego wpisu i #main-content, więc
 * nie dotyka menu, nagłówka, stopki ani przycisków.
 */
body.single #main-content p a:not(.elementor-button):not([class*="button"]):not([role="button"]),
body.single-post #main-content p a:not(.elementor-button):not([class*="button"]):not([role="button"]),
body.post-template-default #main-content p a:not(.elementor-button):not([class*="button"]):not([role="button"]),
body[class*="postid-"] #main-content p a:not(.elementor-button):not([class*="button"]):not([role="button"]) {
	color: var(--im-accent-dark, #835132) !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-decoration-thickness: 0.085em !important;
	text-decoration-color: var(--im-accent, #ad7147) !important;
	text-underline-offset: 0.16em !important;
	text-decoration-skip-ink: auto !important;
}

body.single #main-content p a:not(.elementor-button):not([class*="button"]):not([role="button"]):hover,
body.single-post #main-content p a:not(.elementor-button):not([class*="button"]):not([role="button"]):hover,
body.post-template-default #main-content p a:not(.elementor-button):not([class*="button"]):not([role="button"]):hover,
body[class*="postid-"] #main-content p a:not(.elementor-button):not([class*="button"]):not([role="button"]):hover,
body.single #main-content p a:not(.elementor-button):not([class*="button"]):not([role="button"]):focus-visible,
body.single-post #main-content p a:not(.elementor-button):not([class*="button"]):not([role="button"]):focus-visible,
body.post-template-default #main-content p a:not(.elementor-button):not([class*="button"]):not([role="button"]):focus-visible,
body[class*="postid-"] #main-content p a:not(.elementor-button):not([class*="button"]):not([role="button"]):focus-visible {
	color: var(--im-accent, #ad7147) !important;
	text-decoration-thickness: 0.12em !important;
}

/* --------------------------------------------------------------------------
 * 1.5.84 — mobile drawer: stronger app shortcut + readable specialist CTA.
 * -------------------------------------------------------------------------- */
.im-mobile-quick-actions__content {
	display: block;
	min-width: 0;
}

.im-mobile-quick-actions__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 3px 8px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--im-accent) 15%, #fff);
	color: var(--im-accent-dark);
	font-size: 0.54rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.im-mobile-quick-actions__app {
	grid-template-columns: 42px minmax(0, 1fr) 28px !important;
	gap: 10px;
	border-color: color-mix(in srgb, var(--im-accent) 24%, #fff);
	background: linear-gradient(180deg, color-mix(in srgb, var(--im-accent-soft) 58%, #fff) 0%, #fff 100%);
	box-shadow: 0 10px 28px rgb(174 117 76 / 0.10);
}

.im-mobile-quick-actions__app .im-mobile-quick-actions__icon {
	background: color-mix(in srgb, var(--im-accent) 18%, #fff);
	color: var(--im-accent-dark);
}

.im-mobile-quick-actions__app strong {
	margin-top: 5px;
	font-size: 0.86rem;
}

.im-mobile-quick-actions__app small {
	margin-top: 4px;
	font-size: 0.64rem;
	line-height: 1.32;
}

.im-mobile-quick-actions__arrow {
	display: grid;
	width: 28px;
	height: 28px;
	place-items: center;
	align-self: center;
	border-radius: 999px;
	background: #fff;
	color: var(--im-accent-dark);
	box-shadow: 0 6px 14px rgb(174 117 76 / 0.18);
}

.im-mobile-quick-actions__arrow svg {
	width: 15px;
	height: 15px;
}

.im-mobile-drawer__cta,
.im-mobile-drawer__cta:hover,
.im-mobile-drawer__cta:focus-visible {
	color: #fff !important;
}

@media (max-width: 520px) {
	.im-mobile-quick-actions {
		grid-template-columns: 1fr;
	}

	.im-mobile-quick-actions__app {
		order: -1;
	}
}

/* --------------------------------------------------------------------------
 * 1.5.85 — mobile specialist CTA must beat generic footer link !important.
 * -------------------------------------------------------------------------- */
body.im-theme .im-mobile-drawer__footer a.im-button.im-button--primary.im-mobile-drawer__cta,
body.im-theme .im-mobile-drawer__footer a.im-button.im-button--primary.im-mobile-drawer__cta:visited,
body.im-theme .im-mobile-drawer__footer a.im-button.im-button--primary.im-mobile-drawer__cta:hover,
body.im-theme .im-mobile-drawer__footer a.im-button.im-button--primary.im-mobile-drawer__cta:focus,
body.im-theme .im-mobile-drawer__footer a.im-button.im-button--primary.im-mobile-drawer__cta:focus-visible,
body.im-theme .im-mobile-drawer__footer a.im-button.im-button--primary.im-mobile-drawer__cta:active {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* --------------------------------------------------------------------------
 * 1.5.86 — one scroll area for drawer content; compact app shortcut.
 * -------------------------------------------------------------------------- */
@media (max-width: 1200px) {
	body.im-theme .im-mobile-drawer__scroll {
		display: block;
		min-height: 0;
		flex: 1 1 auto;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	body.im-theme .im-mobile-drawer__intro,
	body.im-theme .im-mobile-quick-actions {
		flex: none;
	}

	body.im-theme .im-mobile-navigation {
		min-height: auto;
		flex: none;
		overflow: visible !important;
	}

	body.im-theme .im-mobile-drawer__footer {
		flex: 0 0 auto;
	}

	body.im-theme .im-mobile-quick-actions__app {
		grid-template-columns: 34px minmax(0, 1fr) 26px !important;
		gap: 8px;
		min-height: 62px;
		padding: 8px 10px;
		border-radius: 15px;
	}

	body.im-theme .im-mobile-quick-actions__app .im-mobile-quick-actions__icon {
		width: 34px;
		height: 34px;
		border-radius: 10px;
	}

	body.im-theme .im-mobile-quick-actions__app .im-mobile-quick-actions__icon svg {
		width: 17px;
		height: 17px;
	}

	body.im-theme .im-mobile-quick-actions__app .im-mobile-quick-actions__badge {
		padding: 2px 7px;
		font-size: 0.49rem;
	}

	body.im-theme .im-mobile-quick-actions__app strong {
		margin-top: 3px;
		font-size: 0.81rem;
		line-height: 1.15;
	}

	body.im-theme .im-mobile-quick-actions__app small {
		margin-top: 2px;
		font-size: 0.58rem;
		line-height: 1.2;
	}

	body.im-theme .im-mobile-quick-actions__app .im-mobile-quick-actions__arrow {
		width: 26px;
		height: 26px;
	}
}


/* ================================================================
 * Instytut Mocy Premium 1.6.03 — widoczne logo w menu desktop
 * ================================================================ */
@media (min-width: 1201px) {
	body.im-theme #masthead.im-site-header .im-header__branding-search > .im-site-branding {
		display: flex !important;
		min-width: 0 !important;
		align-items: center !important;
		justify-self: start !important;
		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
	}

	body.im-theme #masthead.im-site-header .im-header__branding-search > .im-site-branding .custom-logo-link,
	body.im-theme #masthead.im-site-header .im-header__branding-search > .im-site-branding .im-wordmark {
		display: inline-flex !important;
		width: clamp(132px, 8.2vw, 158px) !important;
		max-width: 158px !important;
		min-width: 132px !important;
		align-items: center !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	body.im-theme #masthead.im-site-header .im-header__branding-search > .im-site-branding .custom-logo {
		display: block !important;
		width: 100% !important;
		max-width: 158px !important;
		height: auto !important;
		max-height: 44px !important;
		visibility: visible !important;
		opacity: 1 !important;
		object-fit: contain !important;
		object-position: left center !important;
	}
}

/* 1.6.09 — przywrócone ikonki desktop i wyszukiwanie po lewej stronie. */
.im-header__branding-search {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 12px;
}

body.im-theme #masthead.im-site-header .im-premium-nav__link {
	gap: 7px;
}

body.im-theme #masthead.im-site-header .im-premium-nav__icon {
	display: inline-flex;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	align-items: center;
	justify-content: center;
}

body.im-theme #masthead.im-site-header .im-premium-nav__icon svg {
	display: block;
	width: 18px;
	height: 18px;
	visibility: visible;
	opacity: 1;
}

@media (min-width: 621px) and (max-width: 1200px) {
	body.im-theme #masthead.im-site-header .im-header__inner {
		grid-template-columns: 42px minmax(150px, 1fr) 40px auto;
	}
	.im-header__branding-search {
		display: contents;
	}
	.im-header__branding-search > .im-site-branding {
		grid-column: 2;
		grid-row: 1;
	}
	.im-header__branding-search > .im-header-search-toggle {
		grid-column: 3;
		grid-row: 1;
	}
	.im-header__actions {
		grid-column: 4;
		grid-row: 1;
	}
	body.im-theme #masthead.im-site-header .im-header__inner:not(:has(.im-header-search-toggle)) {
		grid-template-columns: 42px minmax(150px, 1fr) 0 auto;
	}
}

@media (max-width: 620px) {
	.im-header__branding-search {
		display: contents;
	}
}

@media (min-width: 1201px) {
	body.im-theme #masthead.im-site-header .im-header__inner {
		grid-template-columns: auto minmax(0, 1fr) auto;
		column-gap: 16px;
	}
	body.im-theme #masthead.im-site-header .im-premium-nav__link {
		padding-left: 8px;
		padding-right: 8px;
	}
	body.im-theme #masthead.im-site-header .im-premium-nav__label-toggle {
		border: 0;
		border-radius: inherit;
		background: transparent;
		box-shadow: none;
		cursor: pointer;
	}
}

@media (min-width: 1201px) and (max-width: 1380px) {
	body.im-theme #masthead.im-site-header .im-header__actions {
		gap: 8px;
	}
	body.im-theme #masthead.im-site-header .im-header-app-cta,
	body.im-theme #masthead.im-site-header .im-auth-links a {
		padding-inline: 12px;
		font-size: 0.75rem;
	}
}

@media (min-width: 1201px) and (max-width: 1380px) {
	body.im-theme #masthead.im-site-header .im-premium-nav__link {
		gap: 5px;
		padding-left: 4px;
		padding-right: 4px;
	}
}

/* Desktop: lupa bezpośrednio przed pierwszą pozycją menu. */
@media (min-width: 1201px) {
 body.im-theme #masthead.im-site-header .im-header__inner {
  grid-template-columns: minmax(0, 1fr) auto auto auto;
 }
 .im-header__branding-search { display: contents; }
 .im-header__branding-search > .im-site-branding { grid-column: 1; grid-row: 1; }
 .im-header__branding-search > .im-header-search-toggle { grid-column: 2; grid-row: 1; }
 body.im-theme #masthead.im-site-header .im-premium-nav { grid-column: 3; grid-row: 1; }
 body.im-theme #masthead.im-site-header .im-header__actions { grid-column: 4; grid-row: 1; }
 body.im-theme #masthead.im-site-header .im-header__inner:not(:has(.im-header-search-toggle)) {
  grid-template-columns: minmax(0, 1fr) 0 auto auto;
 }
}
