/* ===========================================================
   NVL Sticky lišta – offcanvas
   =========================================================== */

.nvl-sl {
	--nvl-sl-bg: #000;
	--nvl-sl-fg: #fff;
	--nvl-sl-z: 9990;
	font-family: inherit;
}

/* ---------- Zasunutá záložka (tab) ---------- */

.nvl-sl__tab {
	position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: var(--nvl-sl-z);
    writing-mode: vertical-lr;
    background: var(--nvl-sl-bg);
    color: var(--nvl-sl-fg);
    border: 0;
    cursor: pointer;
    padding: 28px 14px;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1;
    transition: opacity .25s ease, visibility .25s ease;
    font-family: var(--awb-typography2-font-family) !important;
    font-weight: var(--awb-typography2-font-weight);
	transform: translateY(-50%) rotate(180deg);
}

.nvl-sl__tab:hover {
	opacity: .85;
}

/* Když je panel otevřený, tab schováme */
.nvl-sl.is-open .nvl-sl__tab {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

/* ---------- Vysunutý panel ---------- */

.nvl-sl__panel {
	position: fixed;
	top: 50%;
	right: 0;
	transform: translate(100%, -50%);
	z-index: calc(var(--nvl-sl-z) + 1);

	width: 400px;
	max-width: calc(100vw - 24px);
	background: var(--nvl-sl-bg);
	color: var(--nvl-sl-fg);
	padding: 32px;

	visibility: hidden;
	transition: transform .35s ease, visibility .35s ease;
}

.nvl-sl.is-open .nvl-sl__panel {
	transform: translate(0, -50%);
	visibility: visible;
}

.nvl-sl__close {
	position: absolute;
	top: 12px;
	right: 14px;
	background: none;
	border: 0;
	color: var(--nvl-sl-fg);
	line-height: 1;
	padding: 4px;
	cursor: pointer;
}

/* Ikona křížku z vlastního icon fontu webu (i-cross) */
.nvl-sl__close .fontawesome-icon {
	font-size: 40px;
	color: inherit !important;
	margin: 0;
	transition: opacity .2s ease;
}

.nvl-sl__close:hover .fontawesome-icon {
	opacity: .7;
}

.nvl-sl__heading {
	margin: 0 30px 20px 0px;
	color: var(--nvl-sl-fg);
	font-size: 22px;
	font-family: var(--awb-typography2-font-family) !important;
    font-weight: var(--awb-typography2-font-weight);
}

/* ---------- Defaultní formulář (desktop) ---------- */

.nvl-sl__label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
}

.nvl-sl__req {
	color: #e04b3a;
}

.nvl-sl__input {
	width: 100%;
	padding: 12px 14px;
	border: 0;
	background: #fff;
	color: #000;
	font-size: 16px;
	margin-bottom: 12px;
}

.nvl-sl__submit {
	width: 100%;
	padding: 12px 14px;
	background: transparent;
	color: var(--nvl-sl-fg);
	border: 1px solid var(--nvl-sl-fg);
	font-size: 15px;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}

.nvl-sl__submit:hover {
	background: var(--nvl-sl-fg);
	color: var(--nvl-sl-bg);
}

.nvl-sl__msg {
	margin: 10px 0 0;
	font-size: 13px;
	min-height: 1em;
}

/* ---------- Defaultní tlačítka (mobile) ---------- */

.nvl-sl__buttons {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.nvl-sl__btn {
	display: block;
	background: #fff;
	color: #000;
	text-align: center;
	text-decoration: none;
	font-size: 18px;
	font-weight: 600;
	padding: 18px 12px;
}

/* ---------- WYSIWYG obsah ---------- */

.nvl-sl__content,
.nvl-sl__content p,
.nvl-sl__content a {
	color: var(--nvl-sl-fg);
}

/* ---------- Přepínání desktop / mobile ---------- */

.nvl-sl--mobile {
	display: none;
}

@media (max-width: 767px) {
	.nvl-sl--desktop {
		display: none;
	}
	.nvl-sl--mobile {
		display: block;
	}

	.nvl-sl--mobile .nvl-sl__tab {
		font-size: 16px;
		padding: 22px 12px;
	}

	.nvl-sl--mobile .nvl-sl__panel {
		width: calc(100vw - 32px);
		padding: 28px 24px 32px;
	}
}

/* ---------- Avada Form uvnitř panelu ---------- */

.nvl-sl__content--avada-form .fusion-form label,
.nvl-sl__content--avada-form .fusion-form .fusion-form-label {
	color: var(--nvl-sl-fg);
	font-size: 13px;
}

.nvl-sl__content--avada-form .fusion-form input[type="text"],
.nvl-sl__content--avada-form .fusion-form input[type="email"],
.nvl-sl__content--avada-form .fusion-form input[type="tel"],
.nvl-sl__content--avada-form .fusion-form textarea {
	background: #fff;
	color: #000;
	border: 0;
	border-radius: 0;
}

.nvl-sl__content--avada-form .fusion-form .fusion-button {
	width: 100%;
	background: transparent;
	color: var(--nvl-sl-fg);
	border: 1px solid var(--nvl-sl-fg);
	border-radius: 0;
	transition: background .2s ease, color .2s ease;
}

.nvl-sl__content--avada-form .fusion-form .fusion-button:hover {
	background: var(--nvl-sl-fg);
	color: var(--nvl-sl-bg);
}

.nvl-sl__content--avada-form .fusion-form-response {
	color: var(--nvl-sl-fg);
}

/* ---------- Reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {
	.nvl-sl__tab,
	.nvl-sl__panel {
		transition: none;
	}
}
