/**
 * Melmo design system for LearnPress pages.
 * Based on html_reference (Prihlasenie, Moj_ucet, Archiv kurzov, Kurz single).
 */

/* Override LP's purple secondary color with Melmo navy.
   The PHP inline <style> at wp_head:999 handles the CSS variable override.
   Below are direct property overrides as a belt-and-suspenders fallback. */
:root,
body,
body.learnpress-page,
body.course-item-popup,
body.single-lp_course {
	--lp-secondary-color: #0e2a46 !important;
	--lp-primary-color: #0e2a46 !important;
}

/* Fallback: explicitly override purple on key LP elements */
.learn-press-progress__active {
	background: #0e2a46 !important;
}
.lp-button:not(.lp-button-cancel),
button.lp-btn-complete-item,
.button-complete-lesson {
	background-color: #0e2a46 !important;
	border-color: #0e2a46 !important;
}

/* LP flash messages (success/error) — styled, centered, auto-fade */
.learn-press-message {
	max-width: 480px !important;
	width: fit-content !important;
	margin: 16px auto !important;
	border-radius: 12px !important;
	padding: 12px 24px !important;
	font-family: 'Outfit', sans-serif !important;
	font-size: .9rem !important;
	text-align: center !important;
	box-sizing: border-box !important;
	animation: melmo-flash-fade 5s ease-in-out forwards !important;
}

@keyframes melmo-flash-fade {
	0%   { opacity: 1; transform: translateY(0); }
	70%  { opacity: 1; transform: translateY(0); }
	100% { opacity: 0; transform: translateY(-10px); pointer-events: none; }
}

/* Hide default page titles (Profile etc.). Safe for this project. */
h1.entry-title,
body.learnpress-profile h1.entry-title,
body.single-lp_course h1.entry-title,
body.post-type-archive-lp_course h1.entry-title,
body.learnpress-checkout h1.entry-title {
	display: none !important;
}

/* Some themes output Checkout as <h1 class="lp-content-area"> */
h1.lp-content-area {
	display: none !important;
}

/* ---- Checkout (Melmo — Pokladňa) ---- */

/*
 * WIDTH FIX for checkout page — same three-layer override as profile / single-course.
 */
body.learnpress-checkout .site-main,
body:not([class*=elementor-page-]).learnpress-checkout .site-main {
	max-width: 100% !important;
	width: 100% !important;
	padding-inline: 0 !important;
}
@media (min-width: 576px) {
	body.learnpress-checkout .site-main,
	body:not([class*=elementor-page-]).learnpress-checkout .site-main { max-width: 100% !important; }
}
@media (min-width: 768px) {
	body.learnpress-checkout .site-main,
	body:not([class*=elementor-page-]).learnpress-checkout .site-main { max-width: 100% !important; }
}
@media (min-width: 992px) {
	body.learnpress-checkout .site-main,
	body:not([class*=elementor-page-]).learnpress-checkout .site-main { max-width: 100% !important; }
}
@media (min-width: 1200px) {
	body.learnpress-checkout .site-main,
	body:not([class*=elementor-page-]).learnpress-checkout .site-main { max-width: 100% !important; }
}
body.learnpress-checkout {
	--lp-container-max-width: 100% !important;
	--wp--style--global--wide-size: 100% !important;
}
body.learnpress-checkout .lp-content-area {
	max-width: 100% !important;
	width: 100% !important;
}
body.learnpress-checkout .page-content {
	max-width: 100% !important;
	width: 100% !important;
}

/* ---- Checkout Page Header ---- */

.lp-melmo-checkout-header {
	padding: 60px 0 40px;
	text-align: center;
	max-width: 1280px;
	margin: 0 auto;
	padding-left: 32px;
	padding-right: 32px;
}

.lp-melmo-page-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--melmo-coral);
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.lp-melmo-page-kicker::before {
	content: '\25C6';
	font-size: .6rem;
}

.lp-melmo-checkout-header h1 {
	font-family: 'Fraunces', serif;
	font-size: 3rem;
	color: var(--melmo-navy);
	letter-spacing: -.02em;
	margin-bottom: 12px;
	font-weight: 500;
	line-height: 1.15;
}

.lp-melmo-checkout-header h1 em {
	font-style: italic;
	color: var(--melmo-teal);
}

.lp-melmo-checkout-header p,
.lp-melmo-checkout-header-inner > p,
.lp-melmo-checkout-header-inner p {
	font-size: 1.05rem !important;
	color: var(--melmo-text-muted) !important;
	max-width: 520px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}

/* ---- Checkout Steps (shared between checkout + thank-you) ---- */

/* Checkout steps — hidden everywhere */
.lp-melmo-checkout-steps {
	display: none !important;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-bottom: 60px;
	width: 100%;
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 32px;
}

/* Steps hidden on thank-you page too */

.lp-melmo-step {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 24px;
	border-radius: 100px;
	font-size: .85rem;
	font-weight: 600;
	color: var(--melmo-text-muted);
	background: #fff;
	border: 2px solid transparent;
	transition: all .3s;
}

.lp-melmo-step.active {
	color: var(--melmo-navy);
	border-color: var(--melmo-teal);
	background: var(--melmo-teal-light);
}

.lp-melmo-step.completed {
	color: var(--melmo-teal);
	background: var(--melmo-teal-light);
}

.lp-melmo-step-num {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--melmo-cream);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: .8rem;
	font-weight: 700;
}

.lp-melmo-step.active .lp-melmo-step-num {
	background: var(--melmo-teal);
	color: #fff;
}

.lp-melmo-step.completed .lp-melmo-step-num {
	background: var(--melmo-teal);
	color: #fff;
}

.lp-melmo-step-divider {
	width: 40px;
	height: 2px;
	background: rgba(14,42,70,.1);
	border-radius: 1px;
}

/* ---- Checkout Form Grid ---- */

/* Outer wrapper */
#learn-press-checkout.lp-content-area {
	max-width: 1280px !important;
	margin: 0 auto 100px !important;
	padding: 0 32px !important;
}

/* Login error / info message */
#learn-press-checkout .learn-press-message {
	margin: 0 0 24px !important;
	padding: 16px 24px !important;
	border-radius: 14px !important;
	background: rgba(253,109,75,.08) !important;
	color: var(--melmo-coral) !important;
	font-size: .95rem !important;
	border: none !important;
}

#learn-press-checkout .learn-press-message a {
	color: var(--melmo-teal) !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
}

/* Main checkout form — CSS grid two-column layout */
.lp-checkout-form {
	display: grid !important;
	grid-template-columns: 1.4fr 1fr !important;
	gap: 48px !important;
	align-items: flex-start !important;
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	font-size: .95rem !important;
	color: var(--melmo-text) !important;
}

/* Left column */
.lp-checkout-form__before {
	grid-column: 1 !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	max-width: none !important;
}

/* Right column — sticky sidebar */
.lp-checkout-form__after {
	grid-column: 2 !important;
	grid-row: 1 / -1 !important;
	position: sticky !important;
	top: 160px !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

/* Loose elements (nonce, order-comment, terms) stay in column 1 */
.lp-checkout-form > :not(.lp-checkout-form__before):not(.lp-checkout-form__after) {
	grid-column: 1 !important;
}

/* ---- Checkout blocks → white card sections ---- */

.lp-checkout-block {
	background: #fff !important;
	border-radius: 24px !important;
	padding: 40px !important;
	box-shadow: 0 8px 40px rgba(14,42,70,.06) !important;
	margin-bottom: 24px !important;
}

.lp-checkout-block h4 {
	font-family: 'Fraunces', serif !important;
	font-size: 1.5rem !important;
	font-weight: 500 !important;
	color: var(--melmo-navy) !important;
	margin: 0 0 24px !important;
	line-height: 1.15 !important;
}

/* Logged-in info — compact teal card */
#checkout-account-logged-in.lp-checkout-block {
	padding: 20px 24px !important;
	background: var(--melmo-teal-light) !important;
	box-shadow: none !important;
}

#checkout-account-logged-in p {
	font-size: .9rem;
	color: var(--melmo-navy);
	margin: 0;
}

#checkout-account-logged-in a {
	color: var(--melmo-teal);
	font-weight: 600;
	text-decoration: none;
}

#checkout-account-logged-in a:hover {
	color: var(--melmo-teal-deep);
	text-decoration: underline;
}

/* Order comment / admin note — styled card in left column */
.learn-press-checkout-comment {
	background: #fff !important;
	border-radius: 24px !important;
	padding: 40px !important;
	box-shadow: 0 8px 40px rgba(14,42,70,.06) !important;
	margin-bottom: 24px !important;
}

.learn-press-checkout-comment h4 {
	font-family: 'Fraunces', serif !important;
	font-size: 1.5rem !important;
	font-weight: 500 !important;
	color: var(--melmo-navy) !important;
	margin: 0 0 16px !important;
	line-height: 1.15 !important;
}

.learn-press-checkout-comment textarea.order-comments {
	width: 100% !important;
	min-height: 100px !important;
	padding: 14px 16px !important;
	border: 2px solid rgba(14,42,70,.08) !important;
	border-radius: 14px !important;
	font-size: .95rem !important;
	font-family: inherit !important;
	color: var(--melmo-text) !important;
	background: var(--melmo-cream, #faf8f5) !important;
	resize: vertical !important;
	transition: border-color .2s !important;
}

.learn-press-checkout-comment textarea.order-comments:focus {
	border-color: var(--melmo-teal) !important;
	outline: none !important;
}

/* ---- Form fields inside checkout ---- */

.lp-checkout-form .lp-form-fields {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 16px !important;
}

.lp-checkout-form .lp-form-fields .form-field {
	margin: 0 !important;
}

.lp-checkout-form .lp-form-fields label {
	display: block !important;
	font-size: .85rem !important;
	font-weight: 600 !important;
	color: var(--melmo-navy) !important;
	margin-bottom: 6px !important;
	letter-spacing: .02em !important;
}

.lp-checkout-form .lp-form-fields input:not([type="checkbox"]):not([type="radio"]),
.lp-checkout-form .lp-form-fields select,
.lp-checkout-form .lp-form-fields textarea {
	width: 100% !important;
	padding: 14px 18px !important;
	border: 2px solid rgba(14,42,70,.08) !important;
	border-radius: 14px !important;
	font-size: .95rem !important;
	color: var(--melmo-text) !important;
	background: var(--melmo-cream) !important;
	transition: all .3s !important;
	outline: none !important;
	box-shadow: none !important;
	font-family: 'Outfit', sans-serif !important;
}

.lp-checkout-form .lp-form-fields input:not([type="checkbox"]):not([type="radio"]):focus,
.lp-checkout-form .lp-form-fields select:focus,
.lp-checkout-form .lp-form-fields textarea:focus {
	border-color: var(--melmo-teal) !important;
	background: #fff !important;
	box-shadow: 0 0 0 4px rgba(79,133,136,.1) !important;
}

/* Remember / terms */
.lp-checkout-remember {
	margin-top: 12px !important;
	font-size: .85rem !important;
	color: var(--melmo-text-muted) !important;
}

.lp-checkout-form input[type="checkbox"] {
	width: 20px !important;
	height: 20px !important;
	accent-color: var(--melmo-teal) !important;
	cursor: pointer !important;
}

/* ---- Payment section ---- */

#checkout-payment .secure-connection {
	font-size: .8rem;
	color: var(--melmo-text-muted);
	font-weight: 400;
	font-family: 'Outfit', sans-serif;
	margin-left: 12px;
}

#checkout-payment .secure-connection .lp-icon-lock {
	color: var(--melmo-teal);
	margin-right: 4px;
}

/* Payment methods list */
#learn-press-checkout .payment-methods {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: grid !important;
	gap: 12px !important;
}

#learn-press-checkout .payment-methods .lp-payment-method {
	margin: 0 !important;
	border: 2px solid rgba(14,42,70,.08) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	transition: all .3s !important;
	background: var(--melmo-cream) !important;
}

#learn-press-checkout .payment-methods .lp-payment-method:hover {
	border-color: rgba(79,133,136,.3) !important;
}

#learn-press-checkout .payment-methods .lp-payment-method.selected {
	border-color: var(--melmo-teal) !important;
	background: var(--melmo-teal-light) !important;
}

#learn-press-checkout .payment-methods .lp-payment-method > label {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	padding: 20px 24px !important;
	cursor: pointer !important;
	background: transparent !important;
	border-radius: 0 !important;
	justify-content: flex-start !important;
}

#learn-press-checkout .payment-methods .lp-payment-method > label input[type="radio"] {
	width: 20px !important;
	height: 20px !important;
	accent-color: var(--melmo-teal) !important;
	cursor: pointer !important;
}

#learn-press-checkout .payment-methods .payment-method-form {
	padding: 20px 24px !important;
	border-top: 1px solid rgba(14,42,70,.08) !important;
	background: rgba(255,255,255,.5) !important;
	border-radius: 0 !important;
}

/* ---- Place order button ---- */

#checkout-order-action {
	margin-top: 24px;
}

#learn-press-checkout-place-order,
button[name="learn-press-checkout-place-order"] {
	width: 100% !important;
	padding: 18px 26px !important;
	border-radius: 999px !important;
	background: var(--melmo-coral) !important;
	color: #fff !important;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	border: none !important;
	cursor: pointer !important;
	transition: all .3s !important;
	font-family: 'Outfit', sans-serif !important;
}

#learn-press-checkout-place-order:hover,
button[name="learn-press-checkout-place-order"]:hover {
	background: var(--melmo-coral-soft) !important;
	transform: translateY(-3px) scale(1.02) !important;
	box-shadow: 0 12px 40px rgba(253,109,75,.35) !important;
}

/* ---- Order summary card (right column) ---- */

#checkout-order {
	border-radius: 24px !important;
	box-shadow: 0 18px 60px rgba(14,42,70,.12) !important;
}

#checkout-order h4 {
	font-size: 1.4rem !important;
}

#checkout-order .lp-checkout-order__inner {
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

/* Order summary table */
#checkout-order table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: .9rem !important;
	background: transparent !important;
}

#checkout-order table th,
#checkout-order table td {
	background: transparent !important;
}

/* Course item rows */
#checkout-order table tbody tr.cart-item {
	border-bottom: 1px solid var(--melmo-cream);
}

#checkout-order table tbody td.course-thumbnail {
	width: 72px !important;
	padding: 16px 12px 16px 0 !important;
}

#checkout-order table tbody td.course-thumbnail img {
	width: 72px !important;
	height: 72px !important;
	border-radius: 14px !important;
	object-fit: cover !important;
}

#checkout-order table tbody td.course-name {
	padding: 16px 8px !important;
	vertical-align: middle !important;
}

#checkout-order table tbody td.course-name a {
	color: var(--melmo-navy) !important;
	font-weight: 600 !important;
	font-size: .95rem !important;
	text-decoration: none !important;
}

#checkout-order table tbody td.course-name a:hover {
	color: var(--melmo-teal) !important;
}

#checkout-order table tbody td.course-total {
	text-align: right !important;
	font-weight: 600 !important;
	color: var(--melmo-teal) !important;
	font-size: 1rem !important;
	white-space: nowrap !important;
	padding: 16px 0 16px 8px !important;
	vertical-align: middle !important;
}

/* Subtotal + Total footer rows */
#checkout-order table tfoot tr {
	background: transparent !important;
}

#checkout-order table tfoot th {
	text-align: left !important;
	color: var(--melmo-text-muted) !important;
	font-weight: 500 !important;
	padding: 8px 0 !important;
	font-size: .95rem !important;
}

#checkout-order table tfoot td {
	text-align: right !important;
	padding: 8px 0 !important;
	font-size: .95rem !important;
	color: var(--melmo-text-muted) !important;
}

#checkout-order table tfoot tr.order-total {
	border-top: 2px solid rgba(14,42,70,.08);
}

#checkout-order table tfoot tr.order-total th {
	font-size: 1.3rem !important;
	font-weight: 600 !important;
	color: var(--melmo-navy) !important;
	padding-top: 16px !important;
}

#checkout-order table tfoot tr.order-total td {
	font-size: 1.3rem !important;
	font-weight: 600 !important;
	color: var(--melmo-coral) !important;
	padding-top: 16px !important;
}

/* Terms & conditions block */
.learn-press-checkout-term-condition {
	margin-top: 24px !important;
}

.learn-press-checkout-term-condition label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: .9rem;
	color: var(--melmo-text-muted);
	cursor: pointer;
}

.learn-press-checkout-term-condition a {
	color: var(--melmo-teal);
	text-decoration: underline;
}

/* ---- Order Received / Thank You (Melmo — Ďakujeme) ---- */

/* Reset the wrapper — the new template handles its own layout */
.lp-melmo-order-received {
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Thank You hero */
.lp-melmo-thankyou-hero {
	padding: 60px 0 80px;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.lp-melmo-thankyou-hero::before {
	display: none;
}

/* Confetti */
.lp-melmo-confetti-container {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	pointer-events: none;
	overflow: hidden;
}

.lp-melmo-confetti {
	position: absolute;
	width: 10px; height: 10px;
	top: -20px;
	animation: lpMelmoConfettiFall linear forwards;
}

@keyframes lpMelmoConfettiFall {
	0%   { transform: translateY(0) rotate(0deg); opacity: 1; }
	100% { transform: translateY(100vh) rotate(720deg); opacity: 0; }
}

/* Success icon */
.lp-melmo-success-icon {
	width: 100px; height: 100px;
	margin: 0 auto 32px;
	background: var(--melmo-teal-light);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	animation: lpMelmoBounceIn .8s cubic-bezier(.175,.885,.32,1.275);
}

.lp-melmo-success-icon::after {
	content: '';
	position: absolute;
	width: 130px; height: 130px;
	border: 3px solid var(--melmo-teal-light);
	border-radius: 50%;
	animation: lpMelmoPulse 2s ease-out infinite;
}

@keyframes lpMelmoPulse {
	0%   { transform: scale(.8); opacity: .8; }
	100% { transform: scale(1.4); opacity: 0; }
}

@keyframes lpMelmoBounceIn {
	0%   { transform: scale(0); }
	50%  { transform: scale(1.15); }
	100% { transform: scale(1); }
}

.lp-melmo-success-icon svg {
	width: 44px; height: 44px;
	color: var(--melmo-teal);
}

.lp-melmo-thankyou-hero h1 {
	font-family: 'Fraunces', serif;
	font-size: 3.2rem;
	color: var(--melmo-navy);
	letter-spacing: -.02em;
	margin-bottom: 16px;
	position: relative;
	font-weight: 500;
	line-height: 1.15;
}

.lp-melmo-thankyou-hero h1 em {
	font-style: italic;
	color: var(--melmo-teal);
}

.lp-melmo-thankyou-lead {
	font-size: 1.15rem;
	color: var(--melmo-text-muted);
	max-width: 560px;
	margin: 0 auto 40px;
	position: relative;
}

/* Order details section */
.lp-melmo-order-details {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 32px 80px;
}

/* Order card */
.lp-melmo-order-card {
	background: #fff;
	border-radius: 28px;
	padding: 48px;
	box-shadow: 0 18px 60px rgba(14,42,70,.08);
	margin-bottom: 32px;
}

.lp-melmo-order-card-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 32px;
	padding-bottom: 24px;
	border-bottom: 2px solid var(--melmo-cream);
}

.lp-melmo-order-card-header h2 {
	font-family: 'Fraunces', serif;
	font-size: 1.6rem;
	color: var(--melmo-navy);
	font-weight: 500;
	line-height: 1.15;
}

.lp-melmo-order-number {
	font-size: .85rem;
	color: var(--melmo-text-muted);
	background: var(--melmo-cream);
	padding: 8px 16px;
	border-radius: 100px;
	font-weight: 600;
}

.lp-melmo-order-status-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	background: rgba(79,133,136,.08);
	border-radius: 100px;
	color: var(--melmo-teal);
	font-size: .85rem;
	font-weight: 600;
}

.lp-melmo-order-status-badge::before {
	content: '';
	width: 8px; height: 8px;
	background: var(--melmo-teal);
	border-radius: 50%;
	animation: lpMelmoBlink 2s ease-in-out infinite;
}

@keyframes lpMelmoBlink {
	0%, 100% { opacity: 1; }
	50%      { opacity: .3; }
}

/* Info grid */
.lp-melmo-order-info-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-bottom: 32px;
}

.lp-melmo-order-info-item {
	padding: 20px;
	background: var(--melmo-cream);
	border-radius: 16px;
}

.lp-melmo-order-info-label {
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--melmo-text-muted);
	margin-bottom: 6px;
}

.lp-melmo-order-info-value {
	font-size: 1rem;
	font-weight: 600;
	color: var(--melmo-navy);
}

/* Purchased course card */
.lp-melmo-purchased-course {
	display: flex;
	gap: 24px;
	padding: 24px;
	background: var(--melmo-cream);
	border-radius: 20px;
	margin-bottom: 32px;
	align-items: center;
}

.lp-melmo-purchased-course-image {
	width: 120px;
	height: 90px;
	border-radius: 14px;
	flex-shrink: 0;
	overflow: hidden;
	background: var(--melmo-teal-light);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--melmo-teal);
}

.lp-melmo-purchased-course-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lp-melmo-purchased-course-image svg {
	width: 50px; height: 50px;
}

.lp-melmo-purchased-course-info { flex: 1; }

.lp-melmo-purchased-course-name {
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--melmo-navy);
	margin-bottom: 4px;
}

.lp-melmo-purchased-course-name a {
	color: var(--melmo-navy);
	text-decoration: none;
}

.lp-melmo-purchased-course-name a:hover {
	color: var(--melmo-teal);
}

.lp-melmo-purchased-course-meta {
	font-size: .85rem;
	color: var(--melmo-text-muted);
}

.lp-melmo-purchased-course-price {
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--melmo-teal);
	white-space: nowrap;
}

/* LP enroll / continue button inside purchased course card */
.lp-melmo-purchased-course-action {
	margin-top: 6px;
}

.lp-melmo-purchased-course-action .lp-button,
.lp-melmo-purchased-course-action button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 18px;
	border-radius: 999px;
	font-size: .82rem;
	font-weight: 600;
	background: var(--melmo-coral) !important;
	color: #fff !important;
	border: none !important;
	cursor: pointer;
	transition: all .3s;
	text-decoration: none;
}

.lp-melmo-purchased-course-action .lp-button:hover,
.lp-melmo-purchased-course-action button:hover {
	background: var(--melmo-coral-soft) !important;
	transform: translateY(-2px);
}

/* Order totals */
.lp-melmo-order-summary-rows {
	margin-bottom: 24px;
}

.lp-melmo-order-summary-row {
	display: flex;
	justify-content: space-between;
	padding: 10px 0;
	font-size: .95rem;
	color: var(--melmo-text-muted);
}

.lp-melmo-order-summary-row.total {
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--melmo-navy);
	padding-top: 16px;
	border-top: 2px solid var(--melmo-cream);
	margin-top: 8px;
}

.lp-melmo-order-summary-row.total span:last-child {
	color: var(--melmo-teal);
}

/* Next steps */
.lp-melmo-next-steps {
	background: #fff;
	border-radius: 28px;
	padding: 48px;
	box-shadow: 0 18px 60px rgba(14,42,70,.08);
	margin-bottom: 32px;
}

.lp-melmo-next-steps h2 {
	font-family: 'Fraunces', serif;
	font-size: 1.6rem;
	color: var(--melmo-navy);
	margin-bottom: 28px;
	font-weight: 500;
	line-height: 1.15;
}

.lp-melmo-next-steps-list {
	display: grid;
	gap: 16px;
}

.lp-melmo-next-step-item {
	display: flex;
	gap: 20px;
	padding: 20px 24px;
	background: var(--melmo-cream);
	border-radius: 16px;
	transition: all .3s;
}

.lp-melmo-next-step-item:hover {
	transform: translateX(4px);
	box-shadow: 0 4px 20px rgba(14,42,70,.06);
}

.lp-melmo-next-step-number {
	width: 40px; height: 40px;
	border-radius: 12px;
	background: var(--melmo-teal-light);
	color: var(--melmo-teal);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1rem;
	flex-shrink: 0;
}

.lp-melmo-next-step-content h3 {
	font-family: 'Fraunces', serif;
	font-size: 1.05rem;
	color: var(--melmo-navy);
	margin-bottom: 4px;
	font-weight: 500;
}

.lp-melmo-next-step-content p {
	font-size: .9rem;
	color: var(--melmo-text-muted);
	margin: 0;
}

/* Action buttons */
.lp-melmo-thankyou-actions {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 48px;
}

.lp-melmo-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px 32px;
	border-radius: 999px;
	border: none;
	font-size: .95rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: all .3s;
	font-family: 'Outfit', sans-serif;
}

.lp-melmo-btn svg {
	width: 20px; height: 20px;
}

.lp-melmo-btn-primary {
	background: var(--melmo-coral);
	color: #fff;
}

.lp-melmo-btn-primary:hover {
	background: var(--melmo-coral-soft);
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 12px 40px rgba(253,109,75,.35);
	color: #fff;
}

.lp-melmo-btn-ghost {
	color: var(--melmo-navy);
	background: #fff;
	border: 2px solid rgba(14,42,70,.12);
}

.lp-melmo-btn-ghost:hover {
	color: var(--melmo-teal);
	border-color: var(--melmo-teal);
	transform: translateY(-2px);
}

:root {
	--melmo-white: #fff;
	--melmo-cream: #faf9f7;
	--melmo-teal-light: #e8f4f4;
	--melmo-teal: #4f8588;
	--melmo-teal-deep: #3d6a6d;
	--melmo-navy: #0e2a46;
	--melmo-navy-light: #1a3a5c;
	--melmo-cyan: #2cbcc3;
	--melmo-cyan-soft: #5dd3d8;
	--melmo-coral: #fd6d4b;
	--melmo-coral-soft: #ff8f75;
	--melmo-text: #1a1a2e;
	--melmo-text-muted: #5a6070;
}

/* ---- Login / Register (Prihlasenie) ---- */
.learnpress .login-page {
	display: flex;
	position: relative;
	overflow: hidden;
	min-height: 70vh;
}
.learnpress .login-brand {
	width: 45%;
	background: var(--melmo-navy);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 80px 60px;
	position: relative;
}
.learnpress .login-brand::after {
	content: '';
	position: absolute;
	top: -200px;
	right: -200px;
	width: 500px;
	height: 500px;
	background: radial-gradient(circle, rgba(44,188,195,.15) 0%, transparent 70%);
}
.learnpress .login-brand::before {
	content: '';
	position: absolute;
	bottom: -100px;
	left: -100px;
	width: 300px;
	height: 300px;
	background: radial-gradient(circle, rgba(79,133,136,.2) 0%, transparent 70%);
}
.learnpress .login-brand-logo { margin-bottom: 48px; }
.learnpress .login-brand-logo img { height: 60px; width: auto; }
.learnpress .login-brand h1 { font-size: 2rem; color: #fff; letter-spacing: -.02em; margin-bottom: 20px; }
.learnpress .login-brand h1 em { font-style: italic; color: var(--melmo-cyan); }
.learnpress .login-brand p { color: rgba(255,255,255,.6); font-size: 1rem; max-width: 400px; margin-bottom: 48px; }
.learnpress .login-features { display: flex; flex-direction: column; gap: 20px; }
.learnpress .login-feature { display: flex; align-items: flex-start; gap: 16px; }
.learnpress .login-feature-icon {
	width: 44px; height: 44px; border-radius: 12px;
	background: rgba(255,255,255,.06);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0; color: var(--melmo-cyan);
}
.learnpress .login-feature h3 { color: #fff; font-size: .95rem; margin-bottom: 2px; }
.learnpress .login-feature p { color: rgba(255,255,255,.45); font-size: .85rem; line-height: 1.5; }

.learnpress .login-form-panel {
	flex: 1;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px;
}
.learnpress .login-form-container { max-width: 440px; width: 100%; }
.learnpress .login-tabs {
	display: flex;
	gap: 4px;
	margin-bottom: 40px;
	background: #fff;
	border-radius: 14px;
	padding: 4px;
	box-shadow: 0 4px 20px rgba(14,42,70,.06);
}
.learnpress .login-tab {
	flex: 1;
	padding: 14px;
	text-align: center;
	border-radius: 12px;
	font-weight: 600;
	font-size: .9rem;
	color: var(--melmo-text-muted);
	cursor: pointer;
	transition: all .3s;
	border: none;
	background: none;
	font-family: inherit;
}
.learnpress .login-tab.active {
	background: var(--melmo-navy);
	color: #fff;
	box-shadow: 0 4px 16px rgba(14,42,70,.2);
}
.learnpress .login-tab:hover:not(.active) { color: var(--melmo-navy); }
.learnpress .login-form-title { font-size: 1.8rem; color: var(--melmo-navy); margin-bottom: 8px; }
.learnpress .login-form-subtitle { font-size: .95rem; color: var(--melmo-text-muted); margin-bottom: 32px; }

.learnpress .form-group { margin-bottom: 16px; }
.learnpress .form-group label {
	display: block;
	font-size: .85rem;
	font-weight: 600;
	color: var(--melmo-navy);
	margin-bottom: 6px;
	letter-spacing: .02em;
}
.learnpress .form-group label .required { color: var(--melmo-coral); }
.learnpress .form-group input {
	width: 100%;
	padding: 14px 18px;
	border: 2px solid rgba(14,42,70,.08);
	border-radius: 14px;
	font-size: .95rem;
	color: var(--melmo-text);
	background: #fff;
	transition: all .3s;
	outline: none;
}
.learnpress .form-group input:focus {
	border-color: var(--melmo-teal);
	box-shadow: 0 0 0 4px rgba(79,133,136,.1);
}
.learnpress .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.learnpress .form-options {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 20px 0 28px;
}
.learnpress .form-checkbox { display: flex; align-items: center; gap: 8px; }
.learnpress .form-checkbox input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--melmo-teal); cursor: pointer; }
.learnpress .form-checkbox label { font-size: .85rem; color: var(--melmo-text-muted); cursor: pointer; }
.learnpress .forgot-password { color: var(--melmo-teal); font-size: .85rem; font-weight: 600; text-decoration: none; transition: color .3s; }
.learnpress .forgot-password:hover { color: var(--melmo-teal-deep); }
.learnpress .btn-submit {
	width: 100%;
	padding: 16px;
	background: var(--melmo-coral);
	color: #fff;
	border: none;
	border-radius: 14px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: all .3s;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.learnpress .btn-submit:hover {
	background: var(--melmo-coral-soft);
	transform: translateY(-2px);
	box-shadow: 0 12px 40px rgba(253,109,75,.35);
}
.login-footer-text,
.learnpress .login-footer-text,
#lpMelmoFooter {
	display: none !important;
}
.learnpress .login-footer-text a { color: var(--melmo-teal); font-weight: 600; text-decoration: none; }
.learnpress .login-footer-text a:hover { text-decoration: underline; }
.learnpress .form-panel { display: none; }
.learnpress .form-panel.active { display: block; }

/* Override default LearnPress form structure to use form-group */
.learnpress .learn-press-form-login ul.form-fields,
.learnpress .learn-press-form-register ul.form-fields { list-style: none; margin: 0; padding: 0; }
.learnpress .learn-press-form-login .form-field,
.learnpress .learn-press-form-register .form-field { margin-bottom: 16px; }
.learnpress .learn-press-form-login .form-field label,
.learnpress .learn-press-form-register .form-field label { display: block; font-size: .85rem; font-weight: 600; color: var(--melmo-navy); margin-bottom: 6px; }
.learnpress .learn-press-form-login .form-field input,
.learnpress .learn-press-form-register .form-field input {
	padding: 14px 18px;
	border: 2px solid rgba(14,42,70,.08);
	border-radius: 14px;
	width: 100%;
}
.learnpress .learn-press-form-login button[type="submit"],
.learnpress .learn-press-form-register button[type="submit"] {
	padding: 16px;
	background: var(--melmo-coral);
	color: #fff;
	border: none;
	border-radius: 14px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	width: 100%;
	transition: all .3s;
}
.learnpress .learn-press-form-login button[type="submit"]:hover,
.learnpress .learn-press-form-register button[type="submit"]:hover {
	background: var(--melmo-coral-soft);
	transform: translateY(-2px);
}

/* ---- Profile / Môj účet (Moj_ucet) ---- */

/*
 * WIDTH FIX — three layers must be overridden:
 *   1. Hello Elementor parent theme: body:not([class*=elementor-page-]) .site-main { max-width: 1140px }
 *   2. LearnPress plugin:            .lp-content-area { max-width: var(--lp-container-max-width) !important }
 *   3. WordPress global var:         --wp--style--global--wide-size: 1200px  →  --lp-container-max-width
 */

/* 1a. Override parent theme .site-main constraint (set outside AND inside media queries for full coverage) */
body.learnpress-profile .site-main,
body:not([class*=elementor-page-]).learnpress-profile .site-main {
	max-width: 100% !important;
	width: 100% !important;
	padding-inline: 0 !important;
}

/* 1b. Match every media-query breakpoint the parent theme uses */
@media (min-width: 576px) {
	body.learnpress-profile .site-main,
	body:not([class*=elementor-page-]).learnpress-profile .site-main { max-width: 100% !important; }
}
@media (min-width: 768px) {
	body.learnpress-profile .site-main,
	body:not([class*=elementor-page-]).learnpress-profile .site-main { max-width: 100% !important; }
}
@media (min-width: 992px) {
	body.learnpress-profile .site-main,
	body:not([class*=elementor-page-]).learnpress-profile .site-main { max-width: 100% !important; }
}
@media (min-width: 1200px) {
	body.learnpress-profile .site-main,
	body:not([class*=elementor-page-]).learnpress-profile .site-main { max-width: 100% !important; }
}

/* 2. Override LearnPress CSS variable chain so .lp-content-area is uncapped */
body.learnpress-profile {
	--lp-container-max-width: 100% !important;
	--wp--style--global--wide-size: 100% !important;
}
body.learnpress-profile .lp-content-area {
	max-width: 100% !important;
	width: 100% !important;
}

/* 3. Also uncap the page-content wrapper from Hello Elementor */
body.learnpress-profile .page-content {
	max-width: 100% !important;
	width: 100% !important;
}

/* 4. Our own Melmo container: generous max-width with comfortable side padding */
.learnpress-profile .lp-melmo-container { max-width: 1680px; margin: 0 auto; padding: 0 48px; }
.learnpress-profile .lp-melmo-page-header {
	padding: 40px 0 48px;
}
.learnpress-profile .lp-melmo-page-header-inner {
	display: flex;
	align-items: center;
	gap: 16px;
	justify-content: flex-start;
}
.learnpress-profile .lp-melmo-avatar-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
}
.learnpress-profile .lp-melmo-heading {
	display: flex;
	flex-direction: column;
	margin: 0;
}
.learnpress-profile .lp-melmo-heading h2 {
	font-size: 2.1rem;
	color: var(--melmo-navy);
	letter-spacing: -.02em;
	margin: 0 0 4px;
}
.learnpress-profile .lp-melmo-user-meta {
	display: flex;
	gap: 8px;
	font-size: .9rem;
	color: var(--melmo-text-muted);
}
.learnpress-profile .lp-melmo-user-name {
	font-weight: 600;
	color: var(--melmo-navy);
}
.learnpress-profile .lp-melmo-user-email {
	color: var(--melmo-text-muted);
}
.learnpress-profile .lp-melmo-user-welcome { display: flex; align-items: center; gap: 16px; }
.learnpress-profile .lp-melmo-user-avatar {
	width: 52px; height: 52px; border-radius: 50%;
	background: linear-gradient(135deg, var(--melmo-teal), var(--melmo-cyan));
	display: flex; align-items: center; justify-content: center;
	color: #fff; font-weight: 700; font-size: 1.1rem;
}
.learnpress-profile .lp-melmo-user-info-name { font-weight: 600; color: var(--melmo-navy); }
.learnpress-profile .lp-melmo-user-info-email { font-size: .85rem; color: var(--melmo-text-muted); }

.learnpress-profile .lp-melmo-account-layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 40px;
	padding-bottom: 0;
}
.learnpress-profile .lp-melmo-account-sidebar {
	position: sticky;
	top: 160px;
	z-index: 5;
}
.learnpress-profile #profile-sidebar {
	float: none !important;
	width: 260px !important;
	border: none !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.learnpress-profile #profile-nav {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}
.learnpress-profile .lp-melmo-account-nav {
	background: transparent;
	border-radius: 0;
	overflow: visible;
	box-shadow: none;
}
.learnpress-profile .lp-melmo-account-nav-item,
.learnpress-profile #profile-nav .lp-profile-nav-tabs a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 24px;
	text-decoration: none;
	color: var(--melmo-text-muted);
	font-weight: 500;
	font-size: .9rem;
	transition: all .3s;
	border-left: none;
}
.learnpress-profile .lp-melmo-account-nav-item:hover,
.learnpress-profile #profile-nav .lp-profile-nav-tabs a:hover {
	background: var(--melmo-cream);
	color: var(--melmo-navy);
}
.learnpress-profile .lp-melmo-account-nav-item.active,
.learnpress-profile #profile-nav .lp-profile-nav-tabs li.active a {
	background: var(--melmo-teal-light);
	color: var(--melmo-teal);
	border-left-color: transparent;
	font-weight: 600;
}
.learnpress-profile #profile-nav .lp-profile-nav-tabs { list-style: none; margin: 0; padding: 0; }
.learnpress-profile #profile-nav .lp-profile-nav-tabs li { margin: 0; }
.learnpress-profile #profile-nav .lp-profile-nav-tabs a { border-left: none; }
.learnpress-profile .lp-melmo-account-nav-item.logout { color: var(--melmo-coral); }
.learnpress-profile .lp-melmo-account-nav-item.logout:hover { background: rgba(253,109,75,.05); }

/* Hide settings sub-tabs dropdown + arrow completely — all devices */
.learnpress-profile .profile-tab-sections {
	display: none !important;
}
.learnpress-profile .lp-profile-nav-tabs > li.has-child > a::after {
	display: none !important;
}

/* Sidebar list: remove default LearnPress borders and rounded effects */
.learnpress-profile .lp-profile-nav-tabs > li {
	border: none !important;
	background: transparent !important;
}
.learnpress-profile .lp-profile-nav-tabs > li a {
	border-radius: 0 !important;
}

/* Sidebar icons + active color: use Melmo orange instead of default yellow */
body.learnpress-profile {
	--lp-primary-color: var(--melmo-coral);
}
.learnpress-profile .lp-profile-nav-tabs > li > a > i {
	color: var(--melmo-coral) !important;
}

/* Profile: main content card */
.learnpress-profile .lp-profile-content {
	float: none !important;
	width: 100% !important;
	margin: 0;
	background: #fff;
	border-radius: 24px;
	box-shadow: 0 12px 40px rgba(14,42,70,.06);
	padding: 32px 32px 40px;
}

/* Profile: form layout & fields */
.learnpress-profile .lp-profile-content .learn-press-form {
	max-width: 100%;
}
.learnpress-profile .lp-profile-content .learn-press-form .form-fields {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field {
	flex: 1 1 min(340px, 100%);
	min-width: min(260px, 100%);
	margin: 0;
}
.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field__50 {
	flex-basis: calc(50% - 12px);
}
.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field > label {
	font-style: normal;
	font-size: .9rem;
	font-weight: 600;
	color: var(--melmo-navy);
	margin-bottom: 6px;
}
.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field input[type=email],
.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field input[type=text],
.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field input[type=password],
.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field input[type=tel],
.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field input[type=url],
.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field input[type=number],
.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field textarea {
	width: 100%;
	border-radius: 14px;
	border: 2px solid rgba(14,42,70,.08);
	padding: 12px 16px;
	font-size: .95rem;
	color: var(--melmo-text);
	box-shadow: none;
}
.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field textarea {
	min-height: 120px;
}
.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field input:focus,
.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field textarea:focus {
	outline: none;
	border-color: var(--melmo-teal);
	box-shadow: 0 0 0 3px rgba(79,133,136,.12);
}

/* Profile: save button */
.learnpress-profile .lp-profile-content .learn-press-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 28px;
	border-radius: 999px;
	background: var(--melmo-coral);
	color: #fff;
	font-weight: 600;
	font-size: .95rem;
	border: none;
	cursor: pointer;
	transition: all .25s ease;
	margin-top: 8px;
}
.learnpress-profile .lp-profile-content .learn-press-form button[type="submit"]:hover {
	background: var(--melmo-coral-soft);
	transform: translateY(-2px);
	box-shadow: 0 10px 30px rgba(253,109,75,.35);
}

.learnpress-profile .lp-melmo-dashboard-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 36px;
}
.learnpress-profile .lp-melmo-stat-card {
	background: #fff;
	border-radius: 20px;
	padding: 28px;
	box-shadow: 0 8px 40px rgba(14,42,70,.06);
	transition: transform .3s;
	text-align: left;
}
.learnpress-profile .lp-melmo-stat-card:hover { transform: translateY(-4px); }
.learnpress-profile .lp-melmo-stat-card-icon {
	width: 48px; height: 48px; border-radius: 14px;
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 16px;
}
.learnpress-profile .lp-melmo-stat-card-icon.teal { background: var(--melmo-teal-light); color: var(--melmo-teal); }
.learnpress-profile .lp-melmo-stat-card-icon.coral { background: rgba(253,109,75,.08); color: var(--melmo-coral); }
.learnpress-profile .lp-melmo-stat-card-icon.cyan { background: rgba(44,188,195,.1); color: var(--melmo-cyan); }
.learnpress-profile .lp-melmo-stat-card-number { font-size: 2rem; font-weight: 600; color: var(--melmo-navy); line-height: 1; margin-bottom: 4px; }
.learnpress-profile .lp-melmo-stat-card-label { font-size: .85rem; color: var(--melmo-text-muted); }

.learnpress-profile .lp-melmo-section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.learnpress-profile .lp-melmo-section-header h2 { font-size: 1.5rem; color: var(--melmo-navy); }
.learnpress-profile .lp-melmo-section-header a { color: var(--melmo-teal); font-size: .9rem; font-weight: 600; text-decoration: none; }
.learnpress-profile .lp-melmo-section-header a:hover { color: var(--melmo-teal-deep); }

.learnpress-profile .lp-melmo-my-course-card {
	background: #fff;
	border-radius: 20px;
	padding: 24px;
	box-shadow: 0 8px 40px rgba(14,42,70,.06);
	display: flex;
	gap: 24px;
	align-items: center;
	margin-bottom: 16px;
	transition: all .3s;
}
.learnpress-profile .lp-melmo-my-course-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 48px rgba(14,42,70,.1);
}
.learnpress-profile .lp-melmo-my-course-action {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	background: var(--melmo-coral);
	color: #fff;
	border-radius: 100px;
	text-decoration: none;
	font-weight: 600;
	font-size: .85rem;
	transition: all .3s;
	flex-shrink: 0;
}
.learnpress-profile .lp-melmo-my-course-action:hover {
	background: var(--melmo-coral-soft);
	transform: translateY(-2px);
}

.learnpress-profile .lp-melmo-progress-bar-wrapper { display: flex; align-items: center; gap: 12px; }
.learnpress-profile .lp-melmo-progress-bar { flex: 1; height: 8px; background: var(--melmo-cream); border-radius: 4px; overflow: hidden; }
.learnpress-profile .lp-melmo-progress-bar-fill { height: 100%; border-radius: 4px; background: linear-gradient(90deg, var(--melmo-teal), var(--melmo-cyan)); transition: width .6s ease; }
.learnpress-profile .lp-melmo-progress-label { font-size: .82rem; font-weight: 600; color: var(--melmo-teal); white-space: nowrap; }

/* Profile: grid targets LP's #profile-sidebar and #profile-content */
.learnpress-profile .lp-melmo-account-layout > #profile-sidebar {
	grid-column: 1;
}
.learnpress-profile .lp-melmo-account-layout > #profile-content,
.learnpress-profile .lp-melmo-account-layout > .lp-profile-content {
	grid-column: 2;
}

/* ---- Single Course / Kurz single (Melmo design) ---- */

/* Single course hero: previously used for title/meta/button, now only kicker + media so nothing to hide here */

/*
 * WIDTH FIX for single course page — same approach as profile page
 */
body.single-lp_course .site-main,
body:not([class*=elementor-page-]).single-lp_course .site-main {
	max-width: 100% !important;
	width: 100% !important;
	padding-inline: 0 !important;
}
@media (min-width: 576px) {
	body.single-lp_course .site-main,
	body:not([class*=elementor-page-]).single-lp_course .site-main { max-width: 100% !important; }
}
@media (min-width: 768px) {
	body.single-lp_course .site-main,
	body:not([class*=elementor-page-]).single-lp_course .site-main { max-width: 100% !important; }
}
@media (min-width: 992px) {
	body.single-lp_course .site-main,
	body:not([class*=elementor-page-]).single-lp_course .site-main { max-width: 100% !important; }
}
@media (min-width: 1200px) {
	body.single-lp_course .site-main,
	body:not([class*=elementor-page-]).single-lp_course .site-main { max-width: 100% !important; }
}
body.single-lp_course {
	--lp-container-max-width: 100% !important;
}
body.single-lp_course .lp-content-area {
	max-width: 100% !important;
	width: 100% !important;
}
body.single-lp_course .page-content {
	max-width: 100% !important;
	width: 100% !important;
}

/* Hide default LP course-detail-info header (we build our own hero) */
.lp-melmo-single-course .course-detail-info { display: none !important; }

/* Melmo course container */
.lp-melmo-course-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 32px;
}

/* ---- Video/Image Preview Section ---- */
.lp-melmo-course-video-section {
	padding: 40px 0 24px;
}
.lp-melmo-course-video-wrapper {
	position: relative;
	border-radius: 28px;
	overflow: hidden;
	box-shadow: 0 18px 60px rgba(14,42,70,.18);
	background: var(--melmo-navy);
	max-width: 100%;
	aspect-ratio: 16 / 9;
}
.lp-melmo-course-video-wrapper img,
.lp-melmo-course-video-wrapper .lp-melmo-course-thumbnail {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ---- Hero Section ---- */
.lp-melmo-course-hero {
	padding: 0 0 24px;
}
.lp-melmo-course-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--melmo-coral);
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	margin-bottom: 16px;
}
.lp-melmo-course-kicker::before {
	content: '\25C6';
	font-size: .6rem;
}
.lp-melmo-course-title {
	font-size: 3rem;
	color: var(--melmo-navy);
	letter-spacing: -.02em;
	margin-bottom: 16px;
	line-height: 1.15;
}
.lp-melmo-course-lead {
	font-size: 1.05rem;
	color: var(--melmo-text-muted);
	margin-bottom: 20px;
	max-width: 800px;
	line-height: 1.7;
}
.lp-melmo-course-hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 24px;
}
.lp-melmo-pill {
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(79,133,136,.08);
	color: var(--melmo-teal-deep);
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* Hero action buttons — restyle LP default buttons */
.lp-melmo-course-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.lp-melmo-course-hero-actions .lp-button,
.lp-melmo-course-hero-actions button[type="submit"],
.lp-melmo-course-hero-actions .lp-btn-purchase-course,
.lp-melmo-course-hero-actions .button-enroll-course {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 26px;
	border-radius: 999px;
	font-size: .9rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: all .3s;
	background: var(--melmo-coral) !important;
	color: #fff !important;
	border: none !important;
}
.lp-melmo-course-hero-actions .lp-button:hover,
.lp-melmo-course-hero-actions button[type="submit"]:hover,
.lp-melmo-course-hero-actions .lp-btn-purchase-course:hover,
.lp-melmo-course-hero-actions .button-enroll-course:hover {
	background: var(--melmo-coral-soft) !important;
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 12px 40px rgba(253,109,75,.35);
}

/* ---- Main two-column layout ---- */
.lp-melmo-course-main {
	padding: 0 0 60px;
}
.lp-melmo-course-main-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: 56px;
	align-items: flex-start;
}

/* ---- Left content area ---- */
.lp-melmo-course-content-left {
	min-width: 0;
}

/* Remove default LP wrappers that add extra layout */
.lp-melmo-single-course .lp-entry-content {
	display: contents !important;
}
.lp-melmo-single-course .entry-content-left {
	display: contents !important;
}

/* ---- Course tabs styling ---- */
/* ---- Single course LP tabs (Prehľad, Učebné osnovy, Inštruktor) ---- */

/* Remove underline on ALL states */
.learn-press-tabs__item::after {
	display: none !important;
	background: transparent !important;
	height: 0 !important;
	opacity: 0 !important;
}

/* Base tab style — muted text */
.learn-press-tabs__item > a,
.learn-press-tabs__item > label {
	color: var(--melmo-text-muted, #5a6070) !important;
	font-family: 'Outfit', sans-serif !important;
	font-weight: 600 !important;
	padding: 14px 24px !important;
	border-radius: 12px !important;
	transition: all .3s !important;
	text-decoration: none !important;
	border-bottom: none !important;
}

/* Active tab — navy color, no underline, no background */
.learn-press-tabs__item.active > a,
.learn-press-tabs__item.active > label {
	color: var(--melmo-navy, #0e2a46) !important;
	background: none !important;
	border-bottom: none !important;
}

/* Hover — coral background, white text */
.learn-press-tabs__item:hover > a,
.learn-press-tabs__item:hover > label {
	background: var(--melmo-coral, #fd6d4b) !important;
	color: #fff !important;
}

/* Active + hover — also coral */
.learn-press-tabs__item.active:hover > a,
.learn-press-tabs__item.active:hover > label {
	background: var(--melmo-coral, #fd6d4b) !important;
	color: #fff !important;
}

.lp-melmo-single-course .course-tabs {
	border: none;
	margin: 0;
}
.lp-melmo-single-course .wrapper-course-nav-tabs {
	margin-bottom: 32px;
}
.lp-melmo-single-course .course-nav-tabs {
	display: flex;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 4px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 4px 20px rgba(14,42,70,.06);
	border: none;
}
.lp-melmo-single-course .course-nav-tabs .course-nav {
	flex: 1;
	margin: 0;
	border: none;
}
.lp-melmo-single-course .course-nav-tabs .course-nav label {
	display: block;
	padding: 14px;
	text-align: center;
	border-radius: 12px;
	font-weight: 600;
	font-size: .9rem;
	color: var(--melmo-text-muted);
	cursor: pointer;
	transition: all .3s;
	border: none;
	background: none;
}
.lp-melmo-single-course .course-nav-tabs .course-nav.active label {
	background: var(--melmo-navy);
	color: #fff;
	box-shadow: 0 4px 16px rgba(14,42,70,.2);
}
.lp-melmo-single-course .course-nav-tabs .course-nav label:hover {
	color: var(--melmo-navy);
}
.lp-melmo-single-course .course-nav-tabs .course-nav.active label:hover {
	color: #fff;
}

/* ---- LP default single-course tab overrides (radio-based tabs) ---- */
/* Remove the border-bottom line under tabs */
#learn-press-course-tabs .wrapper-course-nav-tabs {
	border-bottom: none !important;
}

#learn-press-course-tabs .learn-press-nav-tabs {
	display: flex !important;
	gap: 4px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 4px !important;
	background: #fff !important;
	border-radius: 14px !important;
	box-shadow: 0 4px 20px rgba(14,42,70,.06) !important;
	border: none !important;
	column-gap: 4px !important;
}

#learn-press-course-tabs .learn-press-nav-tabs .course-nav {
	flex: 1 !important;
	margin: 0 !important;
	border: none !important;
	border-bottom: none !important;
}

#learn-press-course-tabs .learn-press-nav-tabs .course-nav::after {
	display: none !important;
}

#learn-press-course-tabs .learn-press-nav-tabs .course-nav label {
	display: block !important;
	padding: 14px !important;
	text-align: center !important;
	border-radius: 12px !important;
	font-family: 'Outfit', sans-serif !important;
	font-weight: 600 !important;
	font-size: .95rem !important;
	color: var(--melmo-text-muted, #5a6070) !important;
	cursor: pointer !important;
	transition: all .3s !important;
	border: none !important;
	background-color: transparent !important;
	background-image: none !important;
	text-decoration: none !important;
}

/* Active tab — navy background, white text */
#learn-press-course-tabs .learn-press-nav-tabs .course-nav.active,
#learn-press-course-tabs .learn-press-nav-tabs li.course-nav.active {
	border-bottom: none !important;
}

#learn-press-course-tabs .learn-press-nav-tabs .course-nav.active label,
#learn-press-course-tabs .learn-press-nav-tabs li.course-nav.active label,
.learn-press-nav-tabs.course-nav-tabs .course-nav.active label {
	background-color: #0e2a46 !important;
	color: #fff !important;
	box-shadow: 0 4px 16px rgba(14,42,70,.2) !important;
	border-radius: 12px !important;
}

/* Hover: coral background, white text */
#learn-press-course-tabs .learn-press-nav-tabs .course-nav label:hover,
.learn-press-nav-tabs.course-nav-tabs .course-nav label:hover {
	background-color: #fd6d4b !important;
	color: #fff !important;
}

/* Active tab hover stays navy */
#learn-press-course-tabs .learn-press-nav-tabs .course-nav.active label:hover,
.learn-press-nav-tabs.course-nav-tabs .course-nav.active label:hover {
	background-color: #0e2a46 !important;
	color: #fff !important;
}

/* Tab panels */
.lp-melmo-single-course .course-tab-panels {
	padding: 0;
}
.lp-melmo-single-course .course-tab-panel {
	padding: 0;
}

/* Overview tab content */
.lp-melmo-single-course .course-tab-panel-overview {
	font-size: .98rem;
	color: var(--melmo-text-muted);
	line-height: 1.7;
}
.lp-melmo-single-course .course-tab-panel-overview h2,
.lp-melmo-single-course .course-tab-panel-overview h3 {
	color: var(--melmo-navy);
	margin-top: 32px;
	margin-bottom: 12px;
}
.lp-melmo-single-course .course-tab-panel-overview h2 {
	font-size: 1.8rem;
}
.lp-melmo-single-course .course-tab-panel-overview h3 {
	font-size: 1.3rem;
}

/* Curriculum tab styling */
.lp-melmo-single-course .curriculum-sections {
	list-style: none;
	margin: 0;
	padding: 0;
}
.lp-melmo-single-course .learn-press-section {
	margin-bottom: 12px;
}
.lp-melmo-single-course .section-header {
	padding: 14px 16px;
	border-radius: 14px;
	background: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	cursor: pointer;
	transition: all .3s;
}
.lp-melmo-single-course .section-header:hover {
	box-shadow: 0 4px 20px rgba(14,42,70,.06);
}
.lp-melmo-single-course .section-title {
	font-size: 1.05rem;
	color: var(--melmo-navy);
	margin: 0 0 4px;
}
.lp-melmo-single-course .section-desc {
	font-size: .9rem;
	color: var(--melmo-text-muted);
	margin: 0;
}
.lp-melmo-single-course .section-meta {
	font-size: .85rem;
	color: var(--melmo-text-muted);
	white-space: nowrap;
}
.lp-melmo-single-course .section-content {
	list-style: none;
	margin: 8px 0 0;
	padding: 0 0 0 16px;
}
.lp-melmo-single-course .section-content li {
	padding: 10px 14px;
	border-radius: 12px;
	background: #fff;
	margin-bottom: 6px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .95rem;
	transition: background .2s;
}
.lp-melmo-single-course .section-content li:hover {
	background: var(--melmo-teal-light);
}
.lp-melmo-single-course .section-content li a {
	text-decoration: none;
	color: var(--melmo-text);
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
}
.lp-melmo-single-course .course-item-meta {
	margin-left: auto;
	font-size: .82rem;
	color: var(--melmo-text-muted);
}

/* Extra info / boxes */
.lp-melmo-single-course .course-extra-box {
	margin-bottom: 40px;
}
.lp-melmo-single-course .course-extra-box h3 {
	font-size: 1.4rem;
	color: var(--melmo-navy);
	margin-bottom: 12px;
}
.lp-melmo-single-course .course-extra-box__content {
	padding: 0;
}
.lp-melmo-single-course .course-extra-box__content li {
	padding: 10px 14px;
	border-radius: 12px;
	background: #fff;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: .95rem;
	margin-bottom: 6px;
}

/* FAQ tab */
.lp-melmo-single-course .course-tab-panel-faqs .course-faqs-box {
	margin-top: 16px;
	display: grid;
	gap: 10px;
}
.lp-melmo-single-course .course-tab-panel-faqs .course-faqs-box .faq-item,
.lp-melmo-single-course .course-tab-panel-faqs .lp-faq-item {
	padding: 14px 16px;
	border-radius: 14px;
	background: var(--melmo-cream);
}
.lp-melmo-single-course .course-tab-panel-faqs h3 {
	font-size: .98rem;
	color: var(--melmo-navy);
	margin-bottom: 4px;
}
.lp-melmo-single-course .course-tab-panel-faqs p {
	font-size: .9rem;
	color: var(--melmo-text-muted);
}

/* Instructor tab */
.lp-melmo-single-course .course-tab-panel-instructor {
	font-size: .96rem;
	color: var(--melmo-text-muted);
}
.lp-melmo-single-course .course-tab-panel-instructor h2,
.lp-melmo-single-course .course-tab-panel-instructor h3 {
	font-size: 1.8rem;
	color: var(--melmo-navy);
	margin-bottom: 10px;
}

/* ---- Sidebar card ---- */
.lp-melmo-course-sidebar {
	position: sticky;
	top: 160px;
}
.lp-melmo-course-sidebar-card {
	background: #fff;
	border-radius: 24px;
	padding: 24px 24px 20px;
	box-shadow: 0 18px 60px rgba(14,42,70,.12);
}

/* Price — discount above, sale price below */
.lp-melmo-course-sidebar-card .course-price,
.lp-melmo-course-sidebar-card .lp-course-price,
.lp-melmo-course-sidebar-card .course-item-price {
	display: flex !important;
	flex-direction: column-reverse !important;
	align-items: flex-start !important;
	gap: 2px !important;
	margin-bottom: 12px;
}

.lp-melmo-course-sidebar-card .course-price .price,
.lp-melmo-course-sidebar-card .lp-course-price .price,
.lp-melmo-course-sidebar-card .course-item-price .price {
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--melmo-navy);
}

.lp-melmo-course-sidebar-card .course-price .origin-price,
.lp-melmo-course-sidebar-card .lp-course-price .origin-price,
.lp-melmo-course-sidebar-card .course-item-price .origin-price {
	font-size: 1rem;
	text-decoration: line-through;
	color: var(--melmo-text-muted);
}

/* Sidebar meta (10 week / 9 lekcií / 1 študentov) – Melmo pills with soft icons */
.lp-melmo-single-course .lp-melmo-course-sidebar-meta {
	display: flex;
	flex-wrap: wrap;
	column-gap: 14px;
	row-gap: 6px;
	margin-bottom: 16px;
	font-size: .9rem;
	color: var(--melmo-text-muted);
}
.lp-melmo-single-course .lp-melmo-course-sidebar-meta span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--melmo-cream);
}
.lp-melmo-single-course .lp-melmo-course-sidebar-meta span::before {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	border-radius: 999px;
	background: var(--melmo-teal-light);
}
.lp-melmo-single-course .lp-melmo-course-sidebar-meta span:nth-child(2)::before {
	background: rgba(253,109,75,.16);
}
.lp-melmo-single-course .lp-melmo-course-sidebar-meta span:nth-child(3)::before {
	background: rgba(44,188,195,.16);
}

/* Sidebar action buttons */
.lp-melmo-course-sidebar-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 12px;
}
.lp-melmo-course-sidebar-actions .lp-button,
.lp-melmo-course-sidebar-actions button[type="submit"],
.lp-melmo-course-sidebar-actions .lp-btn-purchase-course,
.lp-melmo-course-sidebar-actions .button-enroll-course {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 14px 26px;
	margin-top: 12px;
	border-radius: 999px;
	font-size: .9rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: all .3s;
	background: var(--melmo-coral) !important;
	color: #fff !important;
	border: none !important;
}
.lp-melmo-course-sidebar-actions .lp-button:hover,
.lp-melmo-course-sidebar-actions button[type="submit"]:hover,
.lp-melmo-course-sidebar-actions .lp-btn-purchase-course:hover,
.lp-melmo-course-sidebar-actions .button-enroll-course:hover {
	background: var(--melmo-coral-soft) !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 40px rgba(253,109,75,.35);
}

/* Sidebar progress */
.lp-melmo-single-course .lp-melmo-course-sidebar-card .learn-press-progress {
	height: 8px !important;
	background: var(--melmo-cream) !important;
	border-radius: 4px !important;
	overflow: hidden !important;
	margin-top: 16px !important;
	position: relative !important;
}
.lp-melmo-single-course .lp-melmo-course-sidebar-card .learn-press-progress__active {
	height: 100% !important;
	border-radius: 4px !important;
	background: linear-gradient(90deg, var(--melmo-teal), var(--melmo-cyan)) !important;
	transition: width .6s ease !important;
	left: 0 !important;
}
.lp-melmo-course-sidebar-card .course-results-progress {
	margin-top: 16px !important;
}
.lp-melmo-course-sidebar-card .lp-course-status {
	font-size: .85rem !important;
	color: var(--melmo-text-muted) !important;
	margin-top: 8px !important;
}

/* Sidebar course time (Začali ste / Kurz skončí) */
.lp-melmo-course-sidebar-card .course-time {
	margin-top: 16px !important;
	margin-bottom: 0 !important;
	padding: 12px 14px !important;
	border-radius: 16px !important;
	background: var(--melmo-cream) !important;
	border-bottom: none !important;
	font-size: .85rem !important;
	color: var(--melmo-text-muted) !important;
}
.lp-melmo-course-sidebar-card .course-time-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 4px;
	color: var(--melmo-text-muted) !important;
	font-size: .85rem !important;
}
.lp-melmo-course-sidebar-card .course-time-row strong {
	font-weight: 600;
	color: var(--melmo-navy) !important;
	font-size: .85rem !important;
}
.lp-melmo-course-sidebar-card .course-time-row time {
	font-size: .85rem !important;
	color: var(--melmo-text-muted) !important;
}

/* Sidebar detailed progress & stats */
.lp-melmo-course-sidebar-card .lp-course-progress-wrapper {
	margin-top: 18px !important;
	padding-top: 16px !important;
	border-top: 1px solid rgba(14,42,70,.06) !important;
}
.lp-melmo-course-sidebar-card .items-progress {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
}
.lp-melmo-course-sidebar-card .items-progress__heading,
.lp-melmo-single-course .course-results-progress .items-progress__heading,
.lp-melmo-single-course .course-results-progress .course-progress__heading {
	font-size: .9rem !important;
	font-weight: 600 !important;
	color: var(--melmo-navy) !important;
	margin: 0 !important;
}
.lp-melmo-course-sidebar-card .items-progress .number,
.lp-melmo-single-course .course-results-progress .number {
	font-weight: 600 !important;
	font-size: .9rem !important;
	color: var(--melmo-teal) !important;
}
.lp-melmo-course-sidebar-card .course-progress {
	margin-top: 10px !important;
}
.lp-melmo-course-sidebar-card .course-progress .items-progress__heading {
	font-size: .9rem;
	font-weight: 600;
	color: var(--melmo-navy);
	margin: 0 0 6px;
}
.lp-melmo-course-sidebar-card .lp-course-status .number {
	font-weight: 600;
	color: var(--melmo-teal);
}
.lp-melmo-course-sidebar-card .course-items-completed-progress-bar {
	margin-top: 10px !important;
}
.lp-melmo-course-sidebar-card .course-progress__line {
	height: 8px !important;
	border-radius: 4px !important;
	background: var(--melmo-cream) !important;
	overflow: hidden !important;
}
.lp-melmo-course-sidebar-card .course-progress__line__active {
	height: 100% !important;
	border-radius: 4px !important;
	background: linear-gradient(90deg, var(--melmo-teal), var(--melmo-cyan)) !important;
	transition: width .6s ease !important;
}

/* Force override of LearnPress default sidebar preview styles (right column on single course) */
.lp-melmo-single-course .course-sidebar-preview .course-time,
.lp-melmo-single-course .course-time {
	margin-top: 16px !important;
	margin-bottom: 0 !important;
	padding: 12px 14px !important;
	border-radius: 16px !important;
	background: var(--melmo-cream) !important;
	border-bottom: none !important;
	font-size: .85rem !important;
	color: var(--melmo-text-muted) !important;
}
.lp-melmo-single-course .course-sidebar-preview .course-time-row,
.lp-melmo-single-course .course-time-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 4px !important;
	color: var(--melmo-text-muted) !important;
	font-size: .85rem !important;
}
.lp-melmo-single-course .course-sidebar-preview .course-time-row strong,
.lp-melmo-single-course .course-time-row strong {
	font-weight: 600 !important;
	color: var(--melmo-navy) !important;
	font-size: .85rem !important;
}
.lp-melmo-single-course .course-sidebar-preview .course-time-row time,
.lp-melmo-single-course .course-time-row time {
	font-size: .85rem !important;
	color: var(--melmo-text-muted) !important;
}

.lp-melmo-single-course .lp-course-progress-wrapper {
	margin-top: 18px !important;
	padding-top: 16px !important;
	border-top: 1px solid rgba(14,42,70,.06) !important;
}
.lp-melmo-single-course .items-progress {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 8px !important;
}
.lp-melmo-single-course .items-progress__heading {
	font-size: .9rem !important;
	font-weight: 600 !important;
	color: var(--melmo-navy) !important;
	margin: 0 !important;
}
.lp-melmo-single-course .items-progress .number {
	font-weight: 600 !important;
	font-size: .9rem !important;
	color: var(--melmo-teal) !important;
}
.lp-melmo-single-course .course-progress {
	margin-top: 10px !important;
}
.lp-melmo-single-course .course-progress .items-progress__heading {
	font-size: .9rem !important;
	font-weight: 600 !important;
	color: var(--melmo-navy) !important;
	margin: 0 0 6px !important;
}
.lp-melmo-single-course .lp-course-status .number {
	font-weight: 600 !important;
	color: var(--melmo-teal) !important;
}
.lp-melmo-single-course .course-items-completed-progress-bar {
	margin-top: 10px !important;
}
.lp-melmo-single-course .course-progress__line {
	height: 8px !important;
	border-radius: 4px !important;
	background: var(--melmo-cream) !important;
	overflow: hidden !important;
}
.lp-melmo-single-course .course-progress__line__active {
	height: 100% !important;
	border-radius: 4px !important;
	background: linear-gradient(90deg, var(--melmo-teal), var(--melmo-cyan)) !important;
	transition: width .6s ease !important;
}

/* Hide the default LP sidebar that may still render */
.lp-melmo-single-course .course-summary-sidebar { display: none !important; }

/* ---- Global LP button styles (Melmo — all pages) ---- */

/*
 * "Read more" / "Čítať viac" buttons across archive + profile course grids.
 * Coral pill, no border, white text.
 */
.course-readmore a,
.course-info .course-readmore a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 10px 24px !important;
	border-radius: 999px !important;
	background: var(--melmo-coral) !important;
	color: #fff !important;
	font-size: .95rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border: none !important;
	transition: all .3s !important;
	font-family: 'Outfit', sans-serif !important;
}

.course-readmore a:hover,
.course-info .course-readmore a:hover {
	background: var(--melmo-coral-soft) !important;
	color: #fff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(253,109,75,.3) !important;
}

/*
 * Generic .lp-button across all LP pages (profile "View more", pagination, etc).
 * Coral pill style.
 */
.learnpress .lp-button,
.lp-archive-courses .lp-button,
.lp_profile_course_progress__nav .lp-button,
.lp-profile-content .lp-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 12px 28px !important;
	border-radius: 999px !important;
	background: var(--melmo-coral) !important;
	color: #fff !important;
	font-size: .9rem !important;
	font-weight: 600 !important;
	border: none !important;
	cursor: pointer !important;
	transition: all .3s !important;
	text-decoration: none !important;
	font-family: 'Outfit', sans-serif !important;
}

.learnpress .lp-button:hover,
.lp-archive-courses .lp-button:hover,
.lp_profile_course_progress__nav .lp-button:hover,
.lp-profile-content .lp-button:hover {
	background: var(--melmo-coral-soft) !important;
	color: #fff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 12px 40px rgba(253,109,75,.35) !important;
}

/*
 * Profile course tabs (Všetko / Publikovať / Čaká etc) — coral active.
 */
.learnpress-profile .lp-profile-content .lp-sub-menu li a,
.learnpress-profile .lp-profile-content .lp-profile-course-tab a,
.learnpress-profile .learn-press-course-tab-nav a,
.learnpress-profile .course-tab a {
	padding: 8px 18px !important;
	border-radius: 999px !important;
	font-size: .85rem !important;
	font-weight: 600 !important;
	color: var(--melmo-text-muted) !important;
	text-decoration: none !important;
	border: 2px solid rgba(14,42,70,.08) !important;
	background: #fff !important;
	transition: all .3s !important;
}

.learnpress-profile .lp-profile-content .lp-sub-menu li.active a,
.learnpress-profile .lp-profile-content .lp-sub-menu li a:hover,
.learnpress-profile .lp-profile-content .lp-profile-course-tab.active a,
.learnpress-profile .lp-profile-content .lp-profile-course-tab a:hover,
.learnpress-profile .learn-press-course-tab-nav .active a,
.learnpress-profile .learn-press-course-tab-nav a:hover,
.learnpress-profile .course-tab.active a,
.learnpress-profile .course-tab a:hover {
	background: var(--melmo-coral) !important;
	color: #fff !important;
	border-color: var(--melmo-coral) !important;
}

/*
 * Profile course grid: make cards match Melmo design.
 */
.learnpress-profile .lp-archive-courses .course-item,
.learnpress-profile .profile-courses-list .course-item {
	background: #fff !important;
	border-radius: 24px !important;
	overflow: hidden !important;
	box-shadow: 0 8px 40px rgba(14,42,70,.06) !important;
	transition: all .4s cubic-bezier(.4,0,.2,1) !important;
}

.learnpress-profile .lp-archive-courses .course-item:hover,
.learnpress-profile .profile-courses-list .course-item:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 16px 48px rgba(14,42,70,.12) !important;
}

.learnpress-profile .lp-archive-courses .course-thumbnail img,
.learnpress-profile .profile-courses-list .course-thumbnail img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.learnpress-profile .lp-archive-courses .course-content,
.learnpress-profile .profile-courses-list .course-content {
	padding: 24px 28px 28px !important;
}

.learnpress-profile .lp-archive-courses h3 a,
.learnpress-profile .profile-courses-list h3 a,
.learnpress-profile .lp-archive-courses .course-permalink,
.learnpress-profile .profile-courses-list .course-permalink {
	color: var(--melmo-navy) !important;
	text-decoration: none !important;
}

.learnpress-profile .lp-archive-courses h3 a:hover,
.learnpress-profile .profile-courses-list h3 a:hover {
	color: var(--melmo-teal) !important;
}

.learnpress-profile .lp-archive-courses .course-info .course-price,
.learnpress-profile .profile-courses-list .course-info .course-price {
	font-size: 1.15rem !important;
	font-weight: 600 !important;
	color: var(--melmo-teal) !important;
}

/* ---- Course Archive / Archív kurzov (Melmo design) ---- */

/*
 * WIDTH FIX for archive page — same three-layer override.
 */
body.post-type-archive-lp_course .site-main,
body:not([class*=elementor-page-]).post-type-archive-lp_course .site-main {
	max-width: 100% !important;
	width: 100% !important;
	padding-inline: 0 !important;
}
@media (min-width: 576px) {
	body.post-type-archive-lp_course .site-main,
	body:not([class*=elementor-page-]).post-type-archive-lp_course .site-main { max-width: 100% !important; }
}
@media (min-width: 768px) {
	body.post-type-archive-lp_course .site-main,
	body:not([class*=elementor-page-]).post-type-archive-lp_course .site-main { max-width: 100% !important; }
}
@media (min-width: 992px) {
	body.post-type-archive-lp_course .site-main,
	body:not([class*=elementor-page-]).post-type-archive-lp_course .site-main { max-width: 100% !important; }
}
@media (min-width: 1200px) {
	body.post-type-archive-lp_course .site-main,
	body:not([class*=elementor-page-]).post-type-archive-lp_course .site-main { max-width: 100% !important; }
}
body.post-type-archive-lp_course {
	--lp-container-max-width: 100% !important;
	--wp--style--global--wide-size: 100% !important;
}
body.post-type-archive-lp_course .lp-content-area {
	max-width: 100% !important;
	width: 100% !important;
}
body.post-type-archive-lp_course .page-content {
	max-width: 100% !important;
	width: 100% !important;
}

/* Archive wrapper — white / cream background */
body.post-type-archive-lp_course .lp-content-area {
	background: transparent;
	position: relative;
	padding: 0 !important;
}

/* Archive inner container */
body.post-type-archive-lp_course .lp-content-area .lp-main-content {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 32px;
	position: relative;
	z-index: 1;
}

/* Archive header */
body.post-type-archive-lp_course .learn-press-courses-header {
	padding: 60px 0 48px;
	text-align: center;
}

body.post-type-archive-lp_course .learn-press-courses-header h1 {
	font-family: 'Fraunces', serif !important;
	font-size: 3rem !important;
	color: var(--melmo-navy) !important;
	letter-spacing: -.02em !important;
	font-weight: 500 !important;
	line-height: 1.15 !important;
}

/* Courses bar (search + filter) */
body.post-type-archive-lp_course .lp-courses-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 48px;
	flex-wrap: wrap;
}

/* Spacer between search form and right-side controls */
body.post-type-archive-lp_course .lp-courses-bar form {
	flex: 0 1 auto;
	min-width: 200px;
}

/* Search form wrapper — margin-right:auto pushes select+switch to the right */
body.post-type-archive-lp_course .lp-courses-bar form.search-courses {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-right: auto;
}

body.post-type-archive-lp_course .lp-courses-bar input[type="text"],
body.post-type-archive-lp_course .lp-courses-bar input[type="search"] {
	width: 100%;
	padding: 14px 18px;
	border: 2px solid rgba(14,42,70,.08) !important;
	border-radius: 14px !important;
	font-size: .95rem;
	color: var(--melmo-text);
	background: #fff !important;
	font-family: 'Outfit', sans-serif;
	outline: none;
	transition: all .3s;
}

body.post-type-archive-lp_course .lp-courses-bar input[type="text"]:focus,
body.post-type-archive-lp_course .lp-courses-bar input[type="search"]:focus {
	border-color: var(--melmo-teal) !important;
	box-shadow: 0 0 0 4px rgba(79,133,136,.1) !important;
}

body.post-type-archive-lp_course .lp-courses-bar input::placeholder {
	color: var(--melmo-text-muted);
}

/* Search submit button (magnifying glass) — next to input */
body.post-type-archive-lp_course .lp-courses-bar form button[type="submit"],
body.post-type-archive-lp_course .lp-courses-bar form button[name="lp-btn-search-courses"] {
	position: static;
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border: none !important;
	background: var(--melmo-coral) !important;
	border-radius: 12px !important;
	color: #fff !important;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all .3s;
	padding: 0;
}

body.post-type-archive-lp_course .lp-courses-bar form button[type="submit"]:hover,
body.post-type-archive-lp_course .lp-courses-bar form button[name="lp-btn-search-courses"]:hover {
	background: var(--melmo-coral-soft) !important;
	transform: scale(1.05);
}

body.post-type-archive-lp_course .lp-courses-bar form button i {
	font-size: .9rem;
}

/* Order-by select */
body.post-type-archive-lp_course .lp-courses-bar select {
	padding: 14px 40px 14px 18px;
	border: 2px solid rgba(14,42,70,.08) !important;
	border-radius: 14px !important;
	font-size: .85rem;
	color: var(--melmo-text);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%230e2a46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center !important;
	font-family: 'Outfit', sans-serif;
	outline: none;
	cursor: pointer;
	transition: all .3s;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
}

body.post-type-archive-lp_course .lp-courses-bar select:focus {
	border-color: var(--melmo-teal) !important;
}

/* Layout switch buttons */
body.post-type-archive-lp_course .lp-courses-bar .switch-layout {
	display: flex;
	gap: 0;
}

body.post-type-archive-lp_course .lp-courses-bar .switch-layout input[type="radio"] {
	display: none;
}

body.post-type-archive-lp_course .lp-courses-bar .switch-layout .switch-btn {
	padding: 10px 14px !important;
	border: 2px solid rgba(14,42,70,.08) !important;
	background: #fff !important;
	color: var(--melmo-text-muted) !important;
	cursor: pointer;
	transition: all .3s;
	margin: 0 !important;
}

body.post-type-archive-lp_course .lp-courses-bar .switch-layout .switch-btn.grid {
	border-radius: 10px 0 0 10px !important;
	border-right: 1px solid rgba(14,42,70,.08) !important;
}

body.post-type-archive-lp_course .lp-courses-bar .switch-layout .switch-btn.list {
	border-radius: 0 10px 10px 0 !important;
	border-left: 1px solid rgba(14,42,70,.08) !important;
}

body.post-type-archive-lp_course .lp-courses-bar .switch-layout .switch-btn::before {
	color: var(--melmo-text-muted) !important;
}

/* Active state — uses radio:checked ~ label pattern */
body.post-type-archive-lp_course .switch-layout input[type="radio"]:checked + .switch-btn,
body.post-type-archive-lp_course .lp-courses-bar .switch-layout .switch-btn:hover {
	border-color: var(--melmo-teal) !important;
	background: var(--melmo-teal-light) !important;
	color: var(--melmo-teal) !important;
}

body.post-type-archive-lp_course .switch-layout input[type="radio"]:checked + .switch-btn::before,
body.post-type-archive-lp_course .lp-courses-bar .switch-layout .switch-btn:hover::before {
	color: var(--melmo-teal) !important;
}

/* Course grid — applies to archive + profile. Default = 3 columns */
body.post-type-archive-lp_course ul.learn-press-courses,
.learnpress-profile ul.learn-press-courses,
.learnpress-profile .profile-courses-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 32px !important;
}

/* IMPORTANT: match ONLY on data-layout, NOT the ".list" class. When LP switches
   to grid it flips data-layout to "grid" but LEAVES the initial "list" class on
   the <ul>. A ".list" selector would then keep forcing 1 column in grid view —
   this was the recurring "grid shows a single column" bug. data-layout is the
   reliable source of truth. */
body.post-type-archive-lp_course ul.learn-press-courses[data-layout="list"] {
	grid-template-columns: 1fr !important;
}

/* Individual course card */
body.post-type-archive-lp_course ul.learn-press-courses li.course,
body.post-type-archive-lp_course ul.learn-press-courses li,
.learnpress-profile ul.learn-press-courses li,
.learnpress-profile .profile-courses-list li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	border: none !important;
	width: 100% !important;
	max-width: 100% !important;
}

body.post-type-archive-lp_course .course-item,
.learnpress-profile .course-item {
	background: #fff;
	border-radius: 24px;
	overflow: hidden;
	border: none !important;
	box-shadow: 0 8px 40px rgba(14,42,70,.06);
	transition: all .4s cubic-bezier(.4,0,.2,1);
	height: 100%;
	display: flex;
	flex-direction: column;
}

body.post-type-archive-lp_course .course-item:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 60px rgba(14,42,70,.15);
}

/* Course thumbnail */
body.post-type-archive-lp_course .course-thumbnail {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 10;
}

body.post-type-archive-lp_course .course-thumbnail img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block;
	transition: transform .5s;
}

body.post-type-archive-lp_course .course-item:hover .course-thumbnail img {
	transform: scale(1.05);
}

body.post-type-archive-lp_course .course-thumbnail a {
	display: block;
	height: 100%;
}

/* Course content area */
body.post-type-archive-lp_course .course-content {
	padding: 28px 32px 32px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

/* Course title */
body.post-type-archive-lp_course .course-content h3.wap-course-title,
body.post-type-archive-lp_course .course-content .course-title {
	font-family: 'Fraunces', serif !important;
	font-size: 1.6rem !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	margin-bottom: 12px !important;
}

body.post-type-archive-lp_course .course-content h3 a,
body.post-type-archive-lp_course .course-content .course-permalink {
	color: var(--melmo-navy) !important;
	text-decoration: none !important;
	transition: color .3s;
}

body.post-type-archive-lp_course .course-content h3 a:hover,
body.post-type-archive-lp_course .course-content .course-permalink:hover {
	color: var(--melmo-teal) !important;
}

/* Instructor + category */
body.post-type-archive-lp_course .course-instructor-category {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
	font-size: 1.05rem;
	color: var(--melmo-text-muted);
}

body.post-type-archive-lp_course .course-instructor-category label {
	color: var(--melmo-text-muted);
	font-weight: 400;
}

body.post-type-archive-lp_course .course-instructor-category a {
	color: var(--melmo-teal);
	text-decoration: none;
	font-weight: 600;
}

body.post-type-archive-lp_course .course-instructor-category a:hover {
	color: var(--melmo-teal-deep);
}

/* Course meta items */
body.post-type-archive-lp_course .course-wrap-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

body.post-type-archive-lp_course .course-wrap-meta .meta-item {
	font-size: .95rem;
	padding: 8px 16px;
	background: var(--melmo-cream);
	border-radius: 100px;
	color: var(--melmo-text-muted);
	font-weight: 500;
	white-space: nowrap;
}

body.post-type-archive-lp_course .course-wrap-meta .meta-item i,
body.post-type-archive-lp_course .course-wrap-meta .meta-item svg {
	color: var(--melmo-teal);
	margin-right: 4px;
}

/* Short description */
body.post-type-archive-lp_course .course-content .course-description,
body.post-type-archive-lp_course .course-content .lp-course-desc {
	font-size: 1.05rem;
	color: var(--melmo-text-muted);
	margin-bottom: 16px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Course info (price + read more) — left-aligned everywhere */
.course-item .course-info {
	margin-top: auto;
	display: flex !important;
	flex-direction: row !important;
	justify-content: flex-start !important;
	align-items: center !important;
	gap: 16px !important;
	padding-top: 16px;
	border-top: 1px solid var(--melmo-cream);
	text-align: left !important;
}

.course-item .course-info .course-readmore {
	text-align: left !important;
}

/* Price block — discount above, sale price below */
.course-item .course-price,
.course-item .course-item-price {
	display: flex !important;
	flex-direction: column-reverse !important;
	align-items: flex-start !important;
	gap: 2px !important;
}

.course-item .course-price .price,
.course-item .course-item-price .price {
	font-size: 1.6rem !important;
	font-weight: 600 !important;
	color: var(--melmo-teal) !important;
}

/* Free label — same size as price */
.course-item .course-price .free,
.course-item .course-item-price .free {
	font-size: 1.6rem !important;
	font-weight: 600 !important;
	color: var(--melmo-teal) !important;
}

.course-item .course-price .origin-price,
.course-item .course-item-price .origin-price {
	font-size: 1rem !important;
	color: var(--melmo-text-muted) !important;
	text-decoration: line-through !important;
	margin-right: 0 !important;
}

/* Same for checkout order summary */
#checkout-order .course-total .origin-price {
	display: block !important;
	font-size: .8rem !important;
	color: var(--melmo-text-muted) !important;
	text-decoration: line-through !important;
}

#checkout-order .course-total .price {
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: var(--melmo-teal) !important;
}

body.post-type-archive-lp_course .course-info .course-readmore a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 14px 32px;
	border-radius: 999px;
	background: var(--melmo-coral);
	color: #fff;
	font-size: 1.1rem;
	font-weight: 600;
	text-decoration: none;
	transition: all .3s;
}

body.post-type-archive-lp_course .course-info .course-readmore a:hover {
	background: var(--melmo-coral-soft);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(253,109,75,.3);
}

/* List layout adjustments */
body.post-type-archive-lp_course ul.learn-press-courses[data-layout="list"] .course-item {
	flex-direction: row;
}

body.post-type-archive-lp_course ul.learn-press-courses[data-layout="list"] .course-thumbnail {
	width: 380px;
	flex-shrink: 0;
	aspect-ratio: auto;
	min-height: 220px;
	align-self: stretch;
}

body.post-type-archive-lp_course ul.learn-press-courses[data-layout="list"] .course-thumbnail a,
body.post-type-archive-lp_course ul.learn-press-courses[data-layout="list"] .course-thumbnail .course-img {
	display: block;
	width: 100%;
	height: 100%;
}

body.post-type-archive-lp_course ul.learn-press-courses[data-layout="list"] .course-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

body.post-type-archive-lp_course ul.learn-press-courses[data-layout="list"] .course-content {
	padding: 28px 32px;
}

/* Featured badge */
body.post-type-archive-lp_course .course-content .lp-badge-featured,
body.post-type-archive-lp_course .course-content .course-featured {
	display: inline-block;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 4px 12px;
	border-radius: 999px;
	background: rgba(44,188,195,.15);
	color: var(--melmo-cyan);
	margin-bottom: 8px;
}

/* Pagination */
body.post-type-archive-lp_course .learn-press-pagination,
body.post-type-archive-lp_course .lp-ajax-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	padding: 60px 0 80px;
}

body.post-type-archive-lp_course .learn-press-pagination .page-numbers,
body.post-type-archive-lp_course .lp-ajax-pagination a,
body.post-type-archive-lp_course .lp-ajax-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border-radius: 12px;
	font-size: .9rem;
	font-weight: 600;
	text-decoration: none;
	transition: all .3s;
	color: var(--melmo-text-muted);
	background: #fff;
	border: 2px solid rgba(14,42,70,.08);
}

body.post-type-archive-lp_course .learn-press-pagination .page-numbers.current,
body.post-type-archive-lp_course .learn-press-pagination .page-numbers:hover,
body.post-type-archive-lp_course .lp-ajax-pagination a:hover {
	background: var(--melmo-teal);
	color: #fff;
	border-color: var(--melmo-teal);
}

/* No courses found message */
body.post-type-archive-lp_course .learn-press-message {
	text-align: center;
	padding: 60px 32px !important;
	color: var(--melmo-text-muted) !important;
	font-size: 1.1rem;
	background: #fff !important;
	border-radius: 24px !important;
	border: 2px dashed rgba(14,42,70,.08) !important;
}

/* Load more button */
body.post-type-archive-lp_course .lp-ajax-pagination .lp-load-more-btn,
body.post-type-archive-lp_course .lp-ajax-pagination button {
	padding: 14px 32px;
	border-radius: 999px;
	background: var(--melmo-coral);
	color: #fff;
	font-size: .95rem;
	font-weight: 600;
	border: none;
	cursor: pointer;
	transition: all .3s;
	font-family: 'Outfit', sans-serif;
}

body.post-type-archive-lp_course .lp-ajax-pagination .lp-load-more-btn:hover,
body.post-type-archive-lp_course .lp-ajax-pagination button:hover {
	background: var(--melmo-coral-soft);
	transform: translateY(-2px);
	box-shadow: 0 12px 40px rgba(253,109,75,.35);
}

/* Archive sidebar (if active) */
body.post-type-archive-lp_course .lp-content-area.has-sidebar {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 48px;
}

body.post-type-archive-lp_course .lp-content-area.has-sidebar .lp-main-content {
	max-width: none;
}

/* ==============================================================
   LESSON POPUP / LESSON PLAYER — Melmo brand
   ============================================================== */

/* ---- Overall popup wrapper ---- */
#popup-course {
	background: var(--melmo-cream, #faf8f5) !important;
	font-family: 'Outfit', sans-serif !important;
}

/* ---- POPUP HEADER (top bar) ---- */
#popup-header {
	background: var(--melmo-navy, #0e2a46) !important;
	border-bottom: none !important;
	padding: 0 !important;
	height: 64px !important;
	left: 380px !important;
	right: 0 !important;
}

#popup-header .popup-header__inner {
	display: flex !important;
	align-items: center !important;
	gap: 20px !important;
	flex: 1 !important;
	min-width: 0 !important;
	padding: 0 24px !important;
}

#popup-header .course-title {
	font-family: 'Fraunces', serif !important;
	font-size: 1.05rem !important;
	font-weight: 500 !important;
}

#popup-header .course-title a {
	color: #fff !important;
	text-decoration: none !important;
}

#popup-header .course-title a:hover {
	color: var(--melmo-coral, #fd6d4b) !important;
}

/* Progress bar in header */
#popup-header .items-progress {
	gap: 12px !important;
}

#popup-header .items-progress .number {
	color: rgba(255,255,255,.7) !important;
	font-size: .85rem !important;
	font-weight: 400 !important;
}

#popup-header .items-progress .learn-press-progress {
	width: 120px !important;
	height: 6px !important;
	background: rgba(255,255,255,.15) !important;
	border-radius: 999px !important;
	overflow: hidden !important;
}

#popup-header .items-progress .learn-press-progress__active {
	background: var(--melmo-coral, #fd6d4b) !important;
	border-radius: 999px !important;
	transition: width .4s ease !important;
}

/* Close / back button — pinned to right edge */
#popup-header .back-course,
#popup-course .back-course {
	background: rgba(255,255,255,.08) !important;
	color: #fff !important;
	line-height: 64px !important;
	padding: 0 24px !important;
	transition: background .2s !important;
	margin-left: auto !important;
	flex-shrink: 0 !important;
}

#popup-header .back-course:hover,
#popup-course .back-course:hover {
	background: rgba(255,255,255,.15) !important;
	color: var(--melmo-coral, #fd6d4b) !important;
}

/* Finish course / LP buttons in header */
#popup-header .lp-button {
	background: var(--melmo-coral, #fd6d4b) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 8px 20px !important;
	font-size: .9rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all .2s !important;
}

#popup-header .lp-button:hover {
	opacity: 1 !important;
	background: var(--melmo-coral-deep, #e55a3a) !important;
	transform: translateY(-1px) !important;
}

/* ---- POPUP SIDEBAR (left panel) ---- */
#popup-sidebar {
	flex: 0 0 380px !important;
	background: #fff !important;
	box-shadow: 2px 0 20px rgba(14,42,70,.04) !important;
	border-right: 1px solid rgba(14,42,70,.06) !important;
}

/* Search bar in sidebar */
#popup-sidebar .search-course {
	height: 60px !important;
	background: var(--melmo-cream, #faf8f5) !important;
	border-bottom: 1px solid rgba(14,42,70,.06) !important;
	padding: 0 !important;
}

#popup-sidebar .search-course input[name=s] {
	font-family: 'Outfit', sans-serif !important;
	font-size: .9rem !important;
	color: var(--melmo-text, #1a1a2e) !important;
	padding-left: 20px !important;
}

#popup-sidebar .search-course input[name=s]::placeholder {
	color: var(--melmo-text-muted, #5a6070) !important;
	opacity: .6 !important;
}

#popup-sidebar .search-course input[name=s]:focus {
	background: rgba(79,133,136,.04) !important;
}

#popup-sidebar .search-course button {
	height: 60px !important;
}

#popup-sidebar .search-course button i {
	color: var(--melmo-teal, #4f8588) !important;
}

/* Curriculum in sidebar */
#popup-sidebar .course-curriculum {
	top: 60px !important;
	width: 380px !important;
	background: #fff !important;
}

#popup-sidebar .course-curriculum::-webkit-scrollbar {
	width: 5px !important;
}

#popup-sidebar .course-curriculum::-webkit-scrollbar-thumb {
	background: rgba(14,42,70,.12) !important;
	border-radius: 999px !important;
}

#popup-sidebar .course-curriculum::-webkit-scrollbar-track {
	background: transparent !important;
}

/* Section headers in sidebar */
#popup-sidebar .section-header {
	padding: 16px 20px !important;
	background: #fff !important;
	border-bottom: 1px solid rgba(14,42,70,.05) !important;
}

#popup-sidebar .section-header .section-title {
	font-family: 'Fraunces', serif !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: var(--melmo-navy, #0e2a46) !important;
	margin: 0 !important;
}

#popup-sidebar .section-header .section-meta {
	font-size: .8rem !important;
	color: var(--melmo-text-muted, #5a6070) !important;
}

#popup-sidebar .section-header .section-toggle i {
	color: var(--melmo-text-muted, #5a6070) !important;
}

/* Section content / lesson items list */
#popup-sidebar .section-content {
	margin: 0 !important;
	padding: 0 !important;
}

#popup-sidebar .section .circle-progress {
	border-color: rgba(14,42,70,.1) !important;
}

/* Individual lesson items in sidebar */
#popup-sidebar .course-item {
	border-bottom: 1px solid rgba(14,42,70,.04) !important;
	transition: background .2s !important;
}

#popup-sidebar .course-item > a,
#popup-sidebar .course-item .section-item-link {
	padding: 12px 20px !important;
	text-decoration: none !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

#popup-sidebar .course-item .item-name,
#popup-sidebar .lp-course-curriculum .course-item__content {
	font-size: .9rem !important;
	color: var(--melmo-text, #1a1a2e) !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
}

#popup-sidebar .course-item:hover {
	background: var(--melmo-cream, #faf8f5) !important;
}

/* Current / active lesson */
#popup-sidebar .course-item.current,
#popup-sidebar .lp-course-curriculum .course-item.current {
	background: var(--melmo-teal-light, #e8f4f4) !important;
}

#popup-sidebar .course-item.current::before,
#popup-sidebar .lp-course-curriculum .course-item.current::before {
	background: var(--melmo-teal, #4f8588) !important;
	width: 4px !important;
	border-radius: 0 4px 4px 0 !important;
}

#popup-sidebar .course-item.current .item-name,
#popup-sidebar .course-item.current .course-item__content {
	color: var(--melmo-teal, #4f8588) !important;
	font-weight: 600 !important;
}

/* Completed lesson */
#popup-sidebar .course-item.status-completed .trans,
#popup-sidebar .course-item.has-status.status-completed .trans {
	color: var(--melmo-teal, #4f8588) !important;
}

#popup-sidebar .course-item.status-completed .item-name,
#popup-sidebar .course-item.status-completed .course-item__content {
	color: var(--melmo-text-muted, #5a6070) !important;
}

/* Locked lesson */
#popup-sidebar .course-item.item-locked {
	opacity: .55 !important;
}

/* Lesson type icons (before pseudo-element) */
#popup-sidebar .course-item::before {
	color: var(--melmo-text-muted, #5a6070) !important;
}

#popup-sidebar .course-item.current::before {
	color: var(--melmo-teal, #4f8588) !important;
}

/* Course item meta (duration etc.) */
#popup-sidebar .lp-course-curriculum .course-item__right {
	font-size: .8rem !important;
	color: var(--melmo-text-muted, #5a6070) !important;
}

/* Sidebar toggle button */
#sidebar-toggle {
	background: rgba(255,255,255,.12) !important;
	border-radius: 0 !important;
	color: #fff !important;
	line-height: 64px !important;
}

#sidebar-toggle:hover {
	background: rgba(255,255,255,.2) !important;
}

/* ---- POPUP CONTENT (main lesson area) ---- */
#popup-content {
	background: var(--melmo-cream, #faf8f5) !important;
	margin-top: 64px !important;
	margin-bottom: 56px !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
}

#popup-content::-webkit-scrollbar {
	width: 5px !important;
}

#popup-content::-webkit-scrollbar-thumb {
	background: rgba(14,42,70,.1) !important;
	border-radius: 999px !important;
}

#popup-content::-webkit-scrollbar-track {
	background: transparent !important;
}

/* Inner content wrapper — margin:auto centers both horizontally and vertically in flex column */
#popup-content .content-item-summary,
#popup-content #learn-press-content-item,
#popup-content .content-item-scrollable {
	max-width: 960px !important;
	width: 100% !important;
	margin: auto !important;
	padding: 10px 24px 10px !important;
}

/* Kill LP's 60px top padding and 792px width cap on the content wrapper */
#popup-content .content-item-wrap {
	--lp-item-padding: 0px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Hide comments section in lesson popup — it adds empty space below the video */
#popup-content #learn-press-item-comments {
	display: none !important;
}

/* Video iframes — rounded corners */
#popup-content iframe {
	width: 100% !important;
	aspect-ratio: 16 / 9 !important;
	border-radius: 16px !important;
	display: block !important;
}

/* Clipping wrapper around iframes for rounded corners */
.melmo-iframe-clip {
	border-radius: 16px !important;
	overflow: hidden !important;
	display: block !important;
	line-height: 0 !important;
	position: relative !important;
}

.melmo-iframe-clip iframe {
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: 16 / 9 !important;
	display: block !important;
	border: none !important;
}

#popup-content .content-item-description .wp-video,
#popup-content .content-item-description .mejs-container {
	border-radius: 16px !important;
	overflow: hidden !important;
}

/* Lesson title */
#popup-content h1.lesson-title,
#popup-content h1.course-item-title,
#popup-content .content-item-wrap .course-item-title {
	font-family: 'Fraunces', serif !important;
	font-size: 1.5rem !important;
	font-weight: 500 !important;
	color: var(--melmo-navy, #0e2a46) !important;
	line-height: 1.2 !important;
	margin: 0 0 12px !important;
	padding-top: 0 !important;
	text-align: center !important;
}

/* Lesson description / body content */
#popup-content .lesson-description,
#popup-content .content-item-description,
#popup-content .content-item-wrap .content-item-description {
	font-size: 1.05rem !important;
	line-height: 1.75 !important;
	color: var(--melmo-text, #1a1a2e) !important;
	margin-bottom: 8px !important;
}

/* Tighten video/embed spacing */
#popup-content .content-item-description iframe,
#popup-content .content-item-description .wp-video,
#popup-content .content-item-description .mejs-container {
	margin-bottom: 8px !important;
}

#popup-content .content-item-description p:last-child {
	margin-bottom: 0 !important;
}

#popup-content .lesson-description h2,
#popup-content .content-item-description h2 {
	font-family: 'Fraunces', serif !important;
	font-size: 1.5rem !important;
	font-weight: 500 !important;
	color: var(--melmo-navy, #0e2a46) !important;
	margin: 40px 0 16px !important;
}

#popup-content .lesson-description h3,
#popup-content .content-item-description h3 {
	font-family: 'Fraunces', serif !important;
	font-size: 1.2rem !important;
	font-weight: 600 !important;
	color: var(--melmo-navy, #0e2a46) !important;
	margin: 32px 0 12px !important;
}

#popup-content .lesson-description p,
#popup-content .content-item-description p {
	margin: 0 0 20px !important;
}

#popup-content .lesson-description img,
#popup-content .content-item-description img {
	border-radius: 16px !important;
	margin: 16px 0 !important;
	max-width: 100% !important;
	height: auto !important;
}

#popup-content .lesson-description a,
#popup-content .content-item-description a {
	color: var(--melmo-teal, #4f8588) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

#popup-content .lesson-description a:hover,
#popup-content .content-item-description a:hover {
	color: var(--melmo-coral, #fd6d4b) !important;
}

/* Lists in lesson content */
#popup-content .lesson-description ul,
#popup-content .content-item-description ul,
#popup-content .lesson-description ol,
#popup-content .content-item-description ol {
	padding-left: 24px !important;
	margin: 16px 0 24px !important;
}

#popup-content .lesson-description li,
#popup-content .content-item-description li {
	margin-bottom: 8px !important;
	line-height: 1.7 !important;
}

/* Blockquotes */
#popup-content .lesson-description blockquote,
#popup-content .content-item-description blockquote {
	border-left: 4px solid var(--melmo-teal, #4f8588) !important;
	background: var(--melmo-teal-light, #e8f4f4) !important;
	padding: 20px 24px !important;
	border-radius: 0 16px 16px 0 !important;
	margin: 24px 0 !important;
	font-style: italic !important;
	color: var(--melmo-navy, #0e2a46) !important;
}

/* Video embeds — tight spacing */
#popup-content .lesson-description iframe,
#popup-content .content-item-description iframe,
#popup-content .lesson-description video,
#popup-content .content-item-description video {
	border-radius: 16px !important;
	max-width: 100% !important;
	margin: 4px 0 !important;
}

#popup-content .lesson-description .wp-video,
#popup-content .content-item-description .wp-video {
	border-radius: 16px !important;
	overflow: hidden !important;
	margin: 4px 0 !important;
}

/* Remove extra spacing around video wrappers */
#popup-content .wp-block-embed,
#popup-content .wp-block-video,
#popup-content .wp-block-embed__wrapper,
#popup-content .video-player,
#popup-content .course-video,
#popup-content figure.wp-block-embed {
	margin-top: 4px !important;
	margin-bottom: 4px !important;
}

#popup-content .wp-block-embed iframe {
	margin: 0 !important;
}

/* Tables in lesson content */
#popup-content .lesson-description table,
#popup-content .content-item-description table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin: 24px 0 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
}

#popup-content .lesson-description th,
#popup-content .content-item-description th {
	background: var(--melmo-navy, #0e2a46) !important;
	color: #fff !important;
	padding: 12px 16px !important;
	text-align: left !important;
	font-weight: 600 !important;
}

#popup-content .lesson-description td,
#popup-content .content-item-description td {
	padding: 10px 16px !important;
	border-bottom: 1px solid rgba(14,42,70,.06) !important;
}

#popup-content .lesson-description tr:nth-child(even),
#popup-content .content-item-description tr:nth-child(even) {
	background: rgba(14,42,70,.02) !important;
}

/* Hide any LP complete button that leaks into the content area (moved to footer) */
#popup-content .learn-press-form.form-button,
#popup-content .melmo-complete-form {
	display: none !important;
}

/* ---- Complete button in footer bar ---- */

#popup-footer .melmo-complete-form {
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	transform: translate(-50%, -50%) !important;
	z-index: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
}

#popup-footer .melmo-complete-form .lp-button,
#popup-footer .melmo-complete-form .button-complete-lesson,
#popup-footer .melmo-complete-form .lp-btn-complete-item {
	background: var(--melmo-coral, #fd6d4b) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 8px 24px !important;
	font-family: 'Outfit', sans-serif !important;
	font-size: .85rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all .25s !important;
	letter-spacing: .02em !important;
	white-space: nowrap !important;
	line-height: 1.4 !important;
}

#popup-footer .melmo-complete-form .lp-button:hover,
#popup-footer .melmo-complete-form .button-complete-lesson:hover,
#popup-footer .melmo-complete-form .lp-btn-complete-item:hover {
	background: var(--melmo-coral-deep, #e55a3a) !important;
	box-shadow: 0 4px 16px rgba(253,109,75,.3) !important;
}

/* Completed state in footer */
#popup-footer .melmo-lesson-completed .lp-button.completed {
	background: var(--melmo-teal, #4f8588) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 8px 24px !important;
	font-family: 'Outfit', sans-serif !important;
	font-size: .85rem !important;
	font-weight: 600 !important;
	cursor: default !important;
	white-space: nowrap !important;
	line-height: 1.4 !important;
}

/* Completion success message */
#popup-content .learn-press-message.success {
	background: var(--melmo-teal-light, #e8f4f4) !important;
	color: var(--melmo-teal, #4f8588) !important;
	border: none !important;
	border-radius: 14px !important;
	padding: 16px 20px !important;
	font-size: .95rem !important;
	margin: 24px 0 16px !important;
}

/* LP confirmation modal header — navy blue */
.lp-modal-header {
	background: var(--melmo-navy, #0e2a46) !important;
	color: #fff !important;
}

.lp-modal-header .modal-title {
	color: #fff !important;
	font-family: 'Fraunces', serif !important;
	font-weight: 500 !important;
}

/* General LP messages in lesson */
#popup-content .learn-press-message {
	border-radius: 14px !important;
	padding: 16px 20px !important;
	font-size: .95rem !important;
	border: none !important;
}

/* Lesson materials / attachments */
#popup-content .course-item-material {
	background: #fff !important;
	border-radius: 16px !important;
	padding: 24px !important;
	margin-top: 32px !important;
	box-shadow: 0 4px 20px rgba(14,42,70,.04) !important;
}

#popup-content .course-item-material h3,
#popup-content .course-item-material h4 {
	font-family: 'Fraunces', serif !important;
	font-weight: 600 !important;
	color: var(--melmo-navy, #0e2a46) !important;
	margin: 0 0 16px !important;
}

#popup-content .course-item-material a {
	color: var(--melmo-teal, #4f8588) !important;
	font-weight: 500 !important;
}

#popup-content .course-item-material a:hover {
	color: var(--melmo-coral, #fd6d4b) !important;
}

/* ---- POPUP FOOTER (prev/next navigation) ---- */
#popup-footer {
	position: fixed !important;
	bottom: 0 !important;
	z-index: 99 !important;
	display: flex !important;
	align-items: center !important;
	background: #fff !important;
	border-top: 1px solid rgba(14,42,70,.06) !important;
	left: 380px !important;
	right: 0 !important;
	width: auto !important;
	max-width: none !important;
	height: 56px !important;
}

#popup-footer .course-item-nav {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	flex: 1 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 40px !important;
	height: 100% !important;
}

#popup-footer .course-item-nav .prev,
#popup-footer .course-item-nav .next {
	line-height: 56px !important;
}

#popup-footer .course-item-nav .prev a,
#popup-footer .course-item-nav .next a {
	color: var(--melmo-navy, #0e2a46) !important;
	font-family: 'Outfit', sans-serif !important;
	font-size: .9rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: color .2s !important;
}

#popup-footer .course-item-nav .prev::before,
#popup-footer .course-item-nav .next::before {
	color: var(--melmo-text-muted, #5a6070) !important;
	transition: color .2s !important;
}

#popup-footer .course-item-nav .prev:hover a,
#popup-footer .course-item-nav .prev:hover::before,
#popup-footer .course-item-nav .next:hover a,
#popup-footer .course-item-nav .next:hover::before {
	color: var(--melmo-coral, #fd6d4b) !important;
}

/* Nav tooltip with item name */
#popup-footer .course-item-nav__name {
	background: var(--melmo-navy, #0e2a46) !important;
	color: #fff !important;
	border-radius: 10px !important;
	padding: 10px 16px !important;
	font-size: .85rem !important;
	font-weight: 400 !important;
	box-shadow: 0 8px 24px rgba(14,42,70,.15) !important;
}

#popup-footer .course-item-nav__name::before {
	border-top-color: var(--melmo-navy, #0e2a46) !important;
}

/* ---- Sidebar hidden state (collapsed) ---- */
#learn-press-content-item.sidebar-hide #popup-header,
body.lp-sidebar-toggle__close #popup-header,
body.lp-preview #popup-header {
	left: 0 !important;
}

#learn-press-content-item.sidebar-hide #popup-footer,
body.lp-sidebar-toggle__close #popup-footer,
body.lp-preview #popup-footer {
	left: 0 !important;
}

body.lp-sidebar-toggle__close #popup-sidebar {
	flex: 0 0 0 !important;
}

/* ---- Lesson popup responsive: tablet + mobile ---- */
@media (max-width: 1024px) {
	/* Header and footer always full width */
	#popup-header {
		left: 0 !important;
	}

	#popup-footer {
		left: 0 !important;
	}

	/* Sidebar becomes a fixed full-screen overlay, hidden off-left */
	#popup-sidebar {
		position: fixed !important;
		top: 64px !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
		height: calc(100vh - 64px) !important;
		z-index: 200 !important;
		flex: none !important;
		transform: translateX(-100%) !important;
		transition: transform .3s ease !important;
		background: #fff !important;
	}

	#popup-sidebar .course-curriculum {
		width: 100% !important;
	}

	/* Show sidebar when toggle is open */
	body.lp-sidebar-toggle__open #popup-sidebar {
		transform: translateX(0) !important;
	}

	/* Keep sidebar hidden when closed */
	body.lp-sidebar-toggle__close #popup-sidebar {
		transform: translateX(-100%) !important;
	}

	/* Content adjustments for tablet */
	#popup-content .content-item-summary,
	#popup-content #learn-press-content-item,
	#popup-content .content-item-scrollable {
		padding: 12px 24px 12px !important;
	}

	#popup-content h1.lesson-title,
	#popup-content h1.course-item-title {
		font-size: 1.6rem !important;
	}

	#popup-footer .course-item-nav {
		padding: 0 24px !important;
	}

}

/* ---- Mobile-specific refinements ---- */
@media (max-width: 768px) {
	#popup-content {
		margin-top: 56px !important;
		margin-bottom: 50px !important;
	}

	#popup-content .content-item-summary,
	#popup-content #learn-press-content-item,
	#popup-content .content-item-scrollable {
		padding: 10px 16px 10px !important;
	}

	#popup-content h1.lesson-title,
	#popup-content h1.course-item-title {
		font-size: 1.35rem !important;
	}

	#popup-content .lesson-description,
	#popup-content .content-item-description {
		font-size: .95rem !important;
	}

	#popup-footer .course-item-nav {
		padding: 0 16px !important;
	}

	/* Smaller complete button on mobile */
	#popup-footer .melmo-complete-form .lp-button,
	#popup-footer .melmo-complete-form .button-complete-lesson,
	#popup-footer .melmo-complete-form .lp-btn-complete-item,
	#popup-footer .melmo-lesson-completed .lp-button.completed {
		padding: 6px 16px !important;
		font-size: .8rem !important;
	}
}

/* ---- Admin bar offsets for lesson popup (tablet/mobile only) ---- */
@media (max-width: 1024px) {
	body.admin-bar #popup-header {
		top: 32px !important;
	}

	body.admin-bar #popup-content {
		margin-top: 96px !important;
	}

	body.admin-bar #popup-sidebar {
		top: 96px !important;
		height: calc(100vh - 96px) !important;
	}
}

@media (max-width: 782px) {
	body.admin-bar #popup-header {
		top: 46px !important;
	}

	body.admin-bar #popup-content {
		margin-top: 110px !important;
	}

	body.admin-bar #popup-sidebar {
		top: 110px !important;
		height: calc(100vh - 110px) !important;
	}
}

@media (max-width: 768px) {
	body.admin-bar #popup-content {
		margin-top: 102px !important;
	}
}

/* ---- Empty Cart Styling ---- */

body.learnpress-checkout .learn-press-message.error {
	text-align: center !important;
	padding: 60px 32px !important;
	border-radius: 24px !important;
	background: #fff !important;
	color: var(--melmo-text-muted) !important;
	font-size: 1.1rem !important;
	box-shadow: 0 8px 40px rgba(14,42,70,.06) !important;
	border: 2px dashed rgba(14,42,70,.08) !important;
	margin: 0 auto 60px !important;
	max-width: 600px !important;
}

/* ---- Responsive ---- */

/* ---- Global overflow guard for all LP pages ---- */
body.learnpress-profile,
body.learnpress-checkout,
body.post-type-archive-lp_course,
body.single-lp_course {
	overflow-x: hidden !important;
}

@media (max-width: 968px) {
	/* Login */
	.learnpress .login-brand { display: none; }
	.learnpress .login-form-panel { padding: 80px 24px 40px; }

	/* Profile */
	.learnpress-profile .lp-melmo-container { padding: 0 24px; }
	.learnpress-profile .lp-melmo-account-layout { grid-template-columns: 1fr; }
	.learnpress-profile .lp-melmo-account-layout > #profile-sidebar,
	.learnpress-profile .lp-melmo-account-layout > #profile-content,
	.learnpress-profile .lp-melmo-account-layout > .lp-profile-content { grid-column: auto; }
	.learnpress-profile .lp-melmo-account-sidebar { position: static; }
	.learnpress-profile .lp-melmo-dashboard-stats { grid-template-columns: 1fr; }

	/* ---- LP Profile mobile overrides ---- */

	/* Kill LP's float layout — everything full width */
	.learnpress-profile .lp-user-profile #profile-sidebar,
	.learnpress-profile #profile-sidebar {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.learnpress-profile .lp-user-profile .lp-profile-content,
	.learnpress-profile .lp-profile-content,
	.learnpress-profile #profile-content {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	/* All profile wrappers — strict width constraint */
	.learnpress-profile .lp-content-area,
	.learnpress-profile .page-content,
	.learnpress-profile .site-main,
	.learnpress-profile #learn-press-profile,
	.learnpress-profile .lp-user-profile,
	.learnpress-profile .lp-melmo-container,
	.learnpress-profile .lp-melmo-account-layout,
	.learnpress-profile .lp-melmo-account-sidebar,
	.learnpress-profile .lp-melmo-account-nav,
	.learnpress-profile #profile-nav,
	.learnpress-profile .wrapper-profile-header,
	.learnpress-profile .lp-profile-content-area {
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	/* Nav tabs — scrollable but items don't expand past screen */
	.learnpress-profile .lp-profile-nav-tabs {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		gap: 0 !important;
		padding-bottom: 4px !important;
		max-width: 100% !important;
	}
	.learnpress-profile .lp-profile-nav-tabs > li {
		flex: 1 1 0 !important;
		text-align: center !important;
	}
	.learnpress-profile .lp-profile-nav-tabs > li a {
		padding: 12px 8px !important;
		white-space: nowrap !important;
		font-size: .85rem !important;
		justify-content: center !important;
	}
	/* Kill LP's max-content sub-menu that overflows */
	.learnpress-profile .lp-profile-nav-tabs > li.active.has-child ul {
		width: auto !important;
		max-width: 100% !important;
		transform: none !important;
	}

	/* Settings sub-tabs — hidden by default, shown on tap */
	.learnpress-profile .profile-tab-sections {
		display: none !important;
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 50 !important;
		background: #fff !important;
		box-shadow: 0 8px 24px rgba(14,42,70,.12) !important;
		border-radius: 0 0 12px 12px !important;
		list-style: none !important;
		margin: 0 !important;
		padding: 8px 0 !important;
	}
	/* Show when toggled open via JS */
	.learnpress-profile li.has-child.melmo-subtabs-open .profile-tab-sections {
		display: block !important;
	}
	/* Parent li needs relative positioning for the dropdown */
	.learnpress-profile #profile-nav .lp-profile-nav-tabs > li.has-child {
		position: relative !important;
	}
	.learnpress-profile .profile-tab-sections li {
		margin: 0 !important;
	}
	.learnpress-profile .profile-tab-sections a {
		padding: 10px 20px !important;
		white-space: nowrap !important;
		font-size: .85rem !important;
		display: block !important;
		color: var(--melmo-navy, #0e2a46) !important;
	}
	.learnpress-profile .profile-tab-sections a:hover,
	.learnpress-profile .profile-tab-sections li.active a {
		background: var(--melmo-cream, #faf8f5) !important;
		color: var(--melmo-teal, #4f8588) !important;
	}

	/* Profile content card — proper width + padding */
	.learnpress-profile .lp-profile-content {
		padding: 24px 16px 28px !important;
		border-radius: 16px !important;
		box-sizing: border-box !important;
	}

	/* Kill LP's negative margins that cause horizontal overflow */
	.learnpress-profile .lp-profile-content .learn-press-form .form-fields {
		margin: 0 !important;
		padding: 0 !important;
	}
	.learnpress-profile .lp-profile-content ul.learn-press-courses {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	/* Kill LP dashboard statistic negative margins if any */
	.learnpress-profile .dashboard-statistic__row {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Settings inner tabs (Hlavné, Avatar, etc.) — scrollable row */
	.learnpress-profile .learn-press-tabs__nav {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		max-width: 100% !important;
		gap: 0 !important;
		list-style: none !important;
		padding: 0 !important;
		margin: 0 0 16px !important;
	}
	.learnpress-profile .learn-press-tabs__nav .learn-press-tabs__item {
		flex: 0 0 auto !important;
	}
	.learnpress-profile .learn-press-tabs__nav a {
		white-space: nowrap !important;
		padding: 10px 14px !important;
		font-size: .85rem !important;
	}

	/* Form fields — full width, kill float + 50% width */
	.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field,
	.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field__50 {
		float: none !important;
		width: 100% !important;
		flex: 0 0 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}

	/* All inputs — force 100% width, kill WP regular-text fixed width */
	.learnpress-profile .lp-profile-content input[type="text"],
	.learnpress-profile .lp-profile-content input[type="email"],
	.learnpress-profile .lp-profile-content input[type="url"],
	.learnpress-profile .lp-profile-content input[type="password"],
	.learnpress-profile .lp-profile-content input[type="tel"],
	.learnpress-profile .lp-profile-content input[type="number"],
	.learnpress-profile .lp-profile-content input.regular-text,
	.learnpress-profile .lp-profile-content textarea,
	.learnpress-profile .lp-profile-content select {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	/* Form field input wrapper */
	.learnpress-profile .lp-profile-content .form-field-input {
		max-width: 100% !important;
		overflow: hidden !important;
	}

	/* Profile — fix grid overflow: children must be able to shrink */
	.learnpress-profile .lp-melmo-account-layout > *,
	.learnpress-profile #profile-content,
	.learnpress-profile .lp-profile-content {
		min-width: 0 !important;
		overflow-wrap: break-word !important;
	}

	/* Courses list — horizontal scroll when items don't fit */
	.learnpress-profile .lp-profile-content .learn-press-courses,
	.learnpress-profile .profile-courses-list {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		max-width: 100% !important;
	}

	/* Tables inside profile (orders etc.) — horizontal scroll */
	.learnpress-profile .lp-profile-content table {
		display: block !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
	}
	.learnpress-profile .lp-profile-content table thead,
	.learnpress-profile .lp-profile-content table tbody {
		display: table !important;
		width: 100% !important;
	}

	/* Course cards — stack vertically on tablet */
	.learnpress-profile .lp-melmo-my-course-card {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 16px !important;
	}

	/* Any element with white-space: nowrap that could overflow */
	.learnpress-profile .lp-melmo-progress-label {
		white-space: normal !important;
	}

	/* Single course */
	.lp-melmo-course-container { padding: 0 24px; }
	.lp-melmo-course-main-layout { grid-template-columns: 1fr; gap: 24px; }
	.lp-melmo-course-sidebar { position: static; margin-top: 0; }

	/* Checkout */
	.lp-checkout-form { grid-template-columns: 1fr !important; }
	.lp-checkout-form__after {
		grid-column: 1 !important;
		grid-row: auto !important;
		position: static !important;
	}
	.lp-melmo-checkout-steps { flex-wrap: wrap; }
	.lp-melmo-checkout-header h1 { font-size: 2.2rem; }

	/* Thank you */
	.lp-melmo-order-info-grid { grid-template-columns: 1fr; }

	/* Archive + Profile courses */
	body.post-type-archive-lp_course ul.learn-press-courses[data-layout="grid"],
	.learnpress-profile .profile-courses-list {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	body.post-type-archive-lp_course ul.learn-press-courses[data-layout="list"] {
		grid-template-columns: 1fr !important;
	}
	body.post-type-archive-lp_course .lp-content-area.has-sidebar {
		grid-template-columns: 1fr;
	}
	body.post-type-archive-lp_course .learn-press-courses-header { padding-top: 40px; }
}

@media (max-width: 768px) {
	.learnpress-profile .lp-melmo-page-header h1 { font-size: 1.8rem; }

	/* Profile — even tighter on phone */
	.learnpress-profile .lp-melmo-container { padding: 0 16px !important; }
	.learnpress-profile .lp-profile-content {
		padding: 20px 16px 24px !important;
		border-radius: 14px !important;
	}
	.learnpress-profile .lp-melmo-page-header { padding: 24px 0 28px !important; }
	.learnpress-profile .lp-melmo-heading h2 { font-size: 1.5rem !important; }

	/* Profile courses grid — single column on phone */
	.learnpress-profile .profile-courses-list,
	.learnpress-profile ul.learn-press-courses,
	.learnpress-profile ul.learn-press-courses.grid,
	.learnpress-profile ul.learn-press-courses[data-layout="grid"] {
		grid-template-columns: 1fr !important;
	}

	/* Course cards — nicer styling on mobile */
	.learnpress-profile ul.learn-press-courses > li,
	.learnpress-profile .profile-courses-list .course-item {
		border-radius: 16px !important;
		box-shadow: 0 4px 20px rgba(14,42,70,.06) !important;
		overflow: hidden !important;
	}

	/* Profile form fields — full width on phone, kill min-width */
	.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field,
	.learnpress-profile .lp-profile-content .learn-press-form .form-fields .form-field__50 {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	/* Force all inputs/textareas to not exceed container */
	.learnpress-profile .lp-profile-content input,
	.learnpress-profile .lp-profile-content textarea,
	.learnpress-profile .lp-profile-content select {
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	/* Single course */
	.lp-melmo-course-video-section { padding: 75px 0 24px; }
	.lp-melmo-course-title { font-size: 2.2rem; }
	.lp-melmo-course-video-wrapper { border-radius: 20px; }

	/* Checkout */
	.lp-checkout-block { padding: 24px !important; }
	.lp-melmo-checkout-header { padding-top: 40px; }

	/* Thank you */
	.lp-melmo-thankyou-hero { padding-top: 40px; }
	.lp-melmo-thankyou-hero h1 { font-size: 2.2rem; }
	.lp-melmo-order-card { padding: 28px; }
	.lp-melmo-next-steps { padding: 28px; }
	.lp-melmo-purchased-course { flex-direction: column; text-align: center; }
	.lp-melmo-thankyou-actions { flex-direction: column; }

	/* Archive */
	body.post-type-archive-lp_course ul.learn-press-courses.grid,
	body.post-type-archive-lp_course ul.learn-press-courses[data-layout="grid"] {
		grid-template-columns: 1fr !important;
	}
	body.post-type-archive-lp_course ul.learn-press-courses[data-layout="list"] .course-item {
		flex-direction: column;
	}
	body.post-type-archive-lp_course ul.learn-press-courses[data-layout="list"] .course-thumbnail {
		width: 100%;
		min-height: auto;
		aspect-ratio: 16 / 10;
	}
	body.post-type-archive-lp_course .learn-press-courses-header h1 { font-size: 2.2rem !important; }
	body.post-type-archive-lp_course .lp-courses-bar { flex-direction: column; }
	body.post-type-archive-lp_course .learn-press-courses-header { padding-top: 40px; }
}

/* ===== Melmo terms-agreement checkbox on checkout ===== */
.melmo-terms-wrap {
	margin: 16px 0 8px;
	padding: 14px 16px;
	background: #f8f9fb;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	font-size: 0.9rem;
	line-height: 1.45;
}
.melmo-terms-label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	margin: 0;
}
.melmo-terms-label input[type="checkbox"] {
	flex-shrink: 0;
	margin-top: 3px;
	width: 18px;
	height: 18px;
	accent-color: #0e2a46;
	cursor: pointer;
}
.melmo-terms-text { color: #1f2937; }
.melmo-terms-text a {
	color: #0e2a46;
	font-weight: 600;
	text-decoration: underline;
}
.melmo-terms-text a:hover { opacity: 0.8; }

/* Disabled submit while checkbox isn't ticked */
.melmo-disabled,
button.melmo-disabled {
	opacity: 0.55 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
}

/* Invalid state — entire wrap turns red when user tries to submit
   without agreeing. No text message; the red highlight is the feedback. */
.melmo-terms-wrap.melmo-terms-invalid {
	background: #fef2f2 !important;
	border-color: #dc2626 !important;
	animation: melmo-terms-shake 0.35s ease-in-out;
}
.melmo-terms-wrap.melmo-terms-invalid .melmo-terms-text {
	color: #991b1b;
}
.melmo-terms-wrap.melmo-terms-invalid input[type="checkbox"] {
	outline: 2px solid #dc2626;
	outline-offset: 2px;
}
@keyframes melmo-terms-shake {
	0%, 100% { transform: translateX(0); }
	25%      { transform: translateX(-4px); }
	75%      { transform: translateX(4px); }
}

/* ===== Melmo LP page spacing =====
   Site header floats absolutely (transparent pill over content) so LP pages
   need top clearance + breathing room at the bottom. Target the outer LP
   wrapper IDs/classes directly — site-wide .site-main selectors don't match
   this theme's block-theme-ish layout. */
#learn-press-course,
#learn-press-profile,
#learn-press-checkout,
.lp-melmo-order-received,
.lp-archive-courses {
	padding-top: 60px !important;
	padding-bottom: 25px !important;
}

/* Client: +50px EXTRA breathing room above the "Kurzy/Courses" heading and
   below the course list — stacked ON TOP of the padding above (not a
   replacement). Margin adds cleanly without touching the shared padding rule. */
.lp-archive-courses {
	margin-top: 50px !important;
	margin-bottom: 50px !important;
}

@media (max-width: 1024px) {
	#learn-press-course,
	#learn-press-profile,
	#learn-press-checkout,
	.lp-melmo-order-received,
	.lp-archive-courses {
		padding-top: 45px !important;
		padding-bottom: 18px !important;
	}
}

@media (max-width: 640px) {
	#learn-press-course,
	#learn-press-profile,
	#learn-press-checkout,
	.lp-melmo-order-received,
	.lp-archive-courses {
		padding-top: 35px !important;
		padding-bottom: 12px !important;
	}
}

/* Profile + checkout pages need extra top clearance — their page headers
   sit higher than course/order-received content. Override shared rule.
   Checkout targets the OUTER header wrapper (.lp-melmo-checkout-header),
   not #learn-press-checkout, because the kicker/title sits above the
   2-column area and is outside that inner wrapper. */
#learn-press-profile { padding-top: 120px !important; }
.lp-melmo-checkout-header { padding-top: 100px !important; }
@media (max-width: 1024px) {
	#learn-press-profile { padding-top: 90px !important; }
	.lp-melmo-checkout-header { padding-top: 75px !important; }
}
@media (max-width: 640px) {
	#learn-press-profile { padding-top: 70px !important; }
	.lp-melmo-checkout-header { padding-top: 60px !important; }
}

/* ============================================================
   PROFILE (Môj účet) — in-brand tables, filters & empty states
   Orders · Order detail · Quizzes · Students · My Courses.
   Scoped by the tables' OWN classes (.lp-list-table is NOT used
   on checkout), so styling applies on every profile sub-page
   regardless of the body class.
   ============================================================ */

/* Shared data tables (orders list, order detail, quizzes, students, courses) */
.lp-list-table {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: #fff !important;
	border: 1px solid #e8edf1 !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	margin: 0 0 22px !important;
	box-shadow: 0 6px 24px rgba(14, 42, 70, .05) !important;
	font-size: .92rem !important;
}
/* Reset LearnPress core cell borders — LP core puts a 1px border on EVERY
   th/td and on thead/tfoot, which showed through as a double border on the
   order detail (tfoot totals) and students tables. Wipe them all, then add
   back only the outer frame + row separators below. My thead-th / tbody-td
   rules win by higher specificity, so they keep their intended borders. */
.lp-list-table thead,
.lp-list-table tbody,
.lp-list-table tfoot,
.lp-list-table tr,
.lp-list-table th,
.lp-list-table td { border: 0 !important; }
.lp-list-table thead th {
	background: var(--melmo-cream) !important;
	color: var(--melmo-navy) !important;
	font-weight: 700 !important;
	font-size: .72rem !important;
	text-transform: uppercase !important;
	letter-spacing: .04em !important;
	text-align: left !important;
	padding: 14px 18px !important;
	border: 0 !important;
	border-bottom: 2px solid var(--melmo-teal-light) !important;
}
.lp-list-table tbody td {
	padding: 15px 18px !important;
	border: 0 !important;
	border-top: 1px solid #eef2f5 !important;
	color: #374151 !important;
	vertical-align: middle !important;
}
.lp-list-table tbody tr:first-child td { border-top: 0 !important; }
.lp-list-table tbody tr:hover td { background: #f7fbfb !important; }
/* footer rows (order-detail Subtotal/Total, pagination) — clean top separator */
.lp-list-table tfoot td,
.lp-list-table tfoot th { border-top: 1px solid #eef2f5 !important; }
.lp-list-table td.column-order-number,
.lp-list-table td.column-order-number a { font-weight: 700 !important; color: var(--melmo-navy) !important; }

/* Status pills */
.lp-list-table .lp-label {
	display: inline-block !important;
	padding: 5px 13px !important;
	border-radius: 999px !important;
	font-size: .73rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	background: #eef2f5 !important;
	color: #6b7280 !important;
}
.lp-list-table .lp-label .order-status { color: inherit !important; }
.lp-list-table .lp-label.label-completed { background: #d8f3e3 !important; color: #0a7d3e !important; }
.lp-list-table .lp-label.label-processing,
.lp-list-table .lp-label.label-pending,
.lp-list-table .lp-label.label-on-hold { background: #fff0e6 !important; color: #b8560f !important; }
.lp-list-table .lp-label.label-cancelled,
.lp-list-table .lp-label.label-failed { background: #fde8e8 !important; color: #b42318 !important; }

/* View / Zobraziť action link */
.lp-list-table .column-order-actions a { color: var(--melmo-teal) !important; font-weight: 700 !important; text-decoration: none !important; }
.lp-list-table .column-order-actions a:hover { color: var(--melmo-coral) !important; text-decoration: underline !important; }

/* Footer / pagination row */
.lp-list-table tr.list-table-nav td {
	background: var(--melmo-cream) !important;
	color: #6b7280 !important;
	font-size: .85rem !important;
	padding: 16px 18px !important;
	vertical-align: middle !important;
}
.lp-list-table tr.list-table-nav td.nav-text { text-align: left !important; }
.lp-list-table tr.list-table-nav td.nav-pages { text-align: right !important; }
.lp-list-table tr.list-table-nav .learn-press-pagination { margin: 0 !important; }
.lp-list-table tr.list-table-nav .learn-press-pagination ul.page-numbers {
	display: inline-flex !important; align-items: center !important; gap: 2px !important;
	margin: 0 !important; padding: 0 !important; list-style: none !important;
}
.lp-list-table .nav-pages .page-numbers {
	display: inline-block; padding: 4px 11px; margin: 0 2px; border-radius: 8px; line-height: 1.5;
	border: 1px solid #e2e8ee; color: var(--melmo-navy) !important; text-decoration: none !important;
}
.lp-list-table .nav-pages .page-numbers.current,
.lp-list-table .nav-pages a.page-numbers:hover {
	background: var(--melmo-navy) !important; color: #fff !important; border-color: var(--melmo-navy) !important;
}

/* Order DETAIL — emphasise Subtotal / Total */
.order-table-details tfoot th,
.order-table-details tfoot td,
.order-table-details tr.order-subtotal td,
.order-table-details tr.order-total td,
.order-table-details tr.order-total th { font-weight: 700 !important; color: var(--melmo-navy) !important; background: #fbfcfd !important; }

/* Recover-order form (bottom of Orders) — match brand */
.profile-recover-order input[type="text"] { border: 1px solid #d7dee3 !important; border-radius: 10px !important; padding: 10px 14px !important; }
.profile-recover-order .button-recover-order { border-radius: 999px !important; padding: 10px 22px !important; background: var(--melmo-navy) !important; color: #fff !important; border: 0 !important; font-weight: 700 !important; }

/* --- Filters (Students / Courses / Quizzes tabs) --- */
.lp-profile-content .learn-press-course-tab-filters,
.lp-profile-content .learn-press-course-tab__filter__content {
	background: var(--melmo-cream) !important;
	border: 1px solid #e8edf1 !important;
	border-radius: 16px !important;
	padding: 18px !important;
	margin-bottom: 20px !important;
}
.lp-profile-content .learn-press-course-tab-filters input[type="text"],
.lp-profile-content .learn-press-course-tab-filters input[type="search"],
.lp-profile-content .learn-press-course-tab-filters input[type="date"],
.lp-profile-content .learn-press-course-tab-filters input[type="email"] {
	border: 1px solid #d7dee3 !important; border-radius: 10px !important; padding: 10px 14px !important; font-size: .92rem !important; background: #fff !important;
}
.lp-profile-content .learn-press-course-tab-filters input:focus { border-color: var(--melmo-teal) !important; box-shadow: 0 0 0 3px rgba(79,133,136,.15) !important; outline: none !important; }
.lp-profile-content .learn-press-course-tab-filters button,
.lp-profile-content .learn-press-course-tab-filters .button {
	border-radius: 999px !important; padding: 10px 22px !important; font-weight: 700 !important; border: 0 !important; cursor: pointer !important;
	background: var(--melmo-coral) !important; color: #fff !important;
}
.lp-profile-content .learn-press-course-tab-filters button:hover { filter: brightness(1.05); }

/* Tab pills (All / In progress / Completed) */
.lp-profile-content ul.learn-press-filters {
	display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0;
	border-bottom: 1px solid #e8edf1 !important; margin: 0 0 18px !important;
}
.lp-profile-content ul.learn-press-filters a {
	display: inline-block; padding: 9px 16px; border-radius: 10px 10px 0 0;
	color: #6b7280 !important; font-weight: 600 !important; text-decoration: none !important; border-bottom: 2px solid transparent !important;
}
.lp-profile-content ul.learn-press-filters li.active a,
.lp-profile-content ul.learn-press-filters a.active { color: var(--melmo-navy) !important; border-bottom-color: var(--melmo-coral) !important; }

/* Empty-state message ("Nenašli sa žiadne kvízy") — soft brand box, not bright blue */
.lp-profile-content .learn-press-message {
	background: var(--melmo-teal-light) !important;
	color: var(--melmo-navy) !important;
	border: 0 !important;
	border-radius: 12px !important;
	text-align: center !important;
	padding: 22px !important;
	font-weight: 600 !important;
}

/* ============================================================
   LP toast notices (Toastify pop-ups) — the success/error messages
   pop up in the fixed-header zone and get hidden behind it. Push them
   down clear of the header and keep them above it. Scoped to top-gravity
   toasts so any bottom notices are untouched. !important beats Toastify's
   own inline top + its .toastify-top class.
   ↓ change ONLY this one number if your header is taller / shorter.
   ============================================================ */
.lp-toast.toastify.toastify-top {
	top: 110px !important;          /* distance from the top — below the header */
	z-index: 2147483647 !important; /* stay above the sticky header */
}

/* ============================================================
   Checkout "Already have an account? Sign in" line — LP floats the link's
   <label> (float:right) inside a flex row, so the link sat higher than the
   text. Un-float it and baseline-align the row so it reads as one clean line.
   ============================================================ */
.lp-checkout-sign-in-link,
.lp-checkout-sign-up-link {
	align-items: baseline !important;
	flex-wrap: wrap !important;
}
.lp-checkout-sign-in-link a label,
.lp-checkout-sign-up-link a label {
	display: inline !important;
	float: none !important;
	vertical-align: baseline !important;
}
