/* ==========================================================================
   IPS — strefa kursanta: profil LearnPress, Moje konto / koszyk / zamówienie WooCommerce
   ========================================================================== */

/* --- Nagłówek strony + zakładki --- */
.ips-app-head { background: var(--ips-cream); border-bottom: 1px solid var(--ips-line); }
.ips-app-head__inner { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; padding-top: 56px; padding-bottom: 0; flex-wrap: wrap; }
.ips-app-head__inner > div { display: flex; flex-direction: column; gap: 10px; padding-bottom: 32px; }
.ips-app-head__title { font-size: clamp(40px, 4.4vw, 56px); line-height: 1.02; }
.ips-app-head .ips-muted { font-size: 17px; }

.ips-app-tabs { display: flex; gap: 4px; align-self: flex-end; }
.ips-app-tabs a {
	display: inline-flex; align-items: center; min-height: 52px; padding: 0 22px;
	font-size: 15px; font-weight: 500; color: var(--ips-text);
	border: 1px solid transparent; border-bottom: 0; margin-bottom: -1px;
}
.ips-app-tabs a:hover { color: var(--ips-ink); }
.ips-app-tabs a[aria-current="page"] { background: #fff; border-color: var(--ips-line); color: var(--ips-ink); }
.ips-app-tabs .ips-app-tabs__logout { color: var(--ips-muted); }

.ips-app-body { padding: 48px 0 104px; }
.ips-app-body .ips-wrap > .woocommerce,
.ips-app-body .ips-wrap > .learnpress { width: 100%; }

/* --- Wspólne: pola, przyciski, komunikaty (Woo + LP + login) --- */
.ips-app .woocommerce form .form-row,
.ips-app .login-username, .ips-app .login-password, .ips-app .login-remember, .ips-app .login-submit { margin: 0 0 18px; padding: 0; }
.ips-app .woocommerce form .form-row label,
.ips-app .ips-login label,
.ips-app .lp-profile-content .form-field label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--ips-text); }
.ips-app .woocommerce form .form-row label.woocommerce-form__label-for-checkbox,
.ips-app .ips-login .login-remember label { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--ips-muted); }
.ips-app .woocommerce input.input-text,
.ips-app .woocommerce select,
.ips-app .woocommerce textarea,
.ips-app .ips-login input[type=text],
.ips-app .ips-login input[type=password],
.ips-app .lp-profile-content input[type=text],
.ips-app .lp-profile-content input[type=email],
.ips-app .lp-profile-content input[type=password],
.ips-app .lp-profile-content textarea {
	width: 100%; min-height: 52px; padding: 0 16px; box-sizing: border-box;
	border: 1px solid var(--ips-input); border-radius: 0; background: #fff;
	font-family: var(--ips-sans); font-size: 15px; color: var(--ips-ink); box-shadow: none;
}
.ips-app .woocommerce textarea, .ips-app .lp-profile-content textarea { padding: 14px 16px; min-height: 120px; }
.ips-app .woocommerce input.input-text:focus,
.ips-app .woocommerce select:focus,
.ips-app .woocommerce textarea:focus,
.ips-app .ips-login input:focus,
.ips-app .lp-profile-content input:focus,
.ips-app .lp-profile-content textarea:focus { outline: none; border-color: var(--ips-gold); box-shadow: 0 0 0 3px rgba(140,106,58,.15); }
.ips-app input[type=checkbox] { accent-color: var(--ips-ink); width: 18px; height: 18px; }
.ips-app .woocommerce .password-input { display: block; position: relative; }
.ips-app .woocommerce .show-password-input { top: 50% !important; transform: translateY(-50%); right: 14px !important; }

.ips-app .woocommerce button.button,
.ips-app .woocommerce a.button,
.ips-app .woocommerce input.button,
.ips-app .woocommerce .button,
.ips-app .ips-login #wp-submit,
.ips-app .lp-profile-content button[type=submit],
.ips-app .lp-profile-content .lp-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 0 26px; margin: 0;
	border: 1px solid var(--ips-ink); border-radius: 0; background: var(--ips-ink); color: #fff;
	font-family: var(--ips-sans); font-size: 14px; font-weight: 500; line-height: 1; letter-spacing: .08em; text-transform: uppercase;
	cursor: pointer; text-decoration: none; box-shadow: none; transition: background .15s ease, color .15s ease;
}
.ips-app .woocommerce button.button:hover,
.ips-app .woocommerce a.button:hover,
.ips-app .woocommerce .button:hover,
.ips-app .ips-login #wp-submit:hover,
.ips-app .lp-profile-content button[type=submit]:hover,
.ips-app .lp-profile-content .lp-button:hover { background: #fff; color: var(--ips-ink); }
.ips-app .woocommerce .button.view,
.ips-app .woocommerce .woocommerce-orders-table .button,
.ips-app .woocommerce .woocommerce-Address .edit { min-height: 40px; padding: 0 16px; font-size: 12px; background: #fff; color: var(--ips-ink); }
.ips-app .woocommerce .woocommerce-orders-table .button:hover { background: var(--ips-ink); color: #fff; }

.ips-app .woocommerce-message,
.ips-app .woocommerce-info,
.ips-app .woocommerce-error,
.ips-app .woocommerce-notice,
.ips-app .learn-press-message {
	list-style: none; margin: 0 0 28px; padding: 16px 20px 16px 20px;
	border: 1px solid var(--ips-line); border-left: 3px solid var(--ips-gold); border-radius: 0;
	background: var(--ips-cream); color: var(--ips-text); font-size: 15px; line-height: 1.55;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
}
.ips-app .woocommerce-message::before, .ips-app .woocommerce-info::before, .ips-app .woocommerce-error::before, .ips-app .learn-press-message::before { display: none !important; }
.ips-app .woocommerce-message { border-left-color: #1F5A33; }
.ips-app .woocommerce-error { border-left-color: #8A2A1E; background: #FBEFED; color: #8A2A1E; flex-direction: column; align-items: flex-start; }
.ips-app .woocommerce-message .button, .ips-app .woocommerce-info .button { order: 2; min-height: 40px; padding: 0 16px; font-size: 12px; }
.ips-app .woocommerce-info a:not(.button), .ips-app .woocommerce-message a:not(.button), .ips-app .learn-press-message a { color: var(--ips-gold); text-decoration: underline; }

.ips-app .woocommerce table.shop_table,
.ips-app .lp-list-table {
	width: 100%; border-collapse: collapse; border: 1px solid var(--ips-line); border-radius: 0; margin: 0 0 24px; background: #fff; font-size: 15px;
}
.ips-app .woocommerce table.shop_table th,
.ips-app .lp-list-table thead th {
	padding: 14px 18px; text-align: left; background: var(--ips-cream); border-bottom: 1px solid var(--ips-line);
	font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ips-text);
}
.ips-app .woocommerce table.shop_table td,
.ips-app .lp-list-table td { padding: 16px 18px; border-top: 1px solid var(--ips-line-soft); vertical-align: middle; color: var(--ips-text); }
.ips-app .woocommerce table.shop_table td a, .ips-app .lp-list-table td a { color: var(--ips-ink); font-weight: 500; }

/* Kolumny Woo (floaty) → grid */
.ips-app .woocommerce .col2-set,
.ips-app .woocommerce .u-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; width: 100%; }
.ips-app .woocommerce .col2-set::before, .ips-app .woocommerce .col2-set::after,
.ips-app .woocommerce .u-columns::before, .ips-app .woocommerce .u-columns::after { display: none; }
.ips-app .woocommerce .col2-set > *, .ips-app .woocommerce .u-columns > * { float: none !important; width: auto !important; max-width: none; }

/* --- Moje konto: gość (logowanie + rejestracja) --- */
.ips-app--account .woocommerce > h2 { font-size: 34px; margin-bottom: 20px; }
.ips-app--account .u-columns > .u-column1,
.ips-app--account .u-columns > .u-column2 { padding: 40px; border: 1px solid var(--ips-line); background: #fff; }
.ips-app--account .u-columns > .u-column2 { background: var(--ips-cream); }
.ips-app--account .u-columns h2 { font-size: 34px; margin: 0 0 24px; }
.ips-app--account .woocommerce-form-login,
.ips-app--account .woocommerce-form-register { margin: 0; padding: 0; border: 0; border-radius: 0; }
.ips-app--account .woocommerce-form-login > form, .ips-app--account form.login, .ips-app--account form.register { border: 0; padding: 0; margin: 0; }
.ips-app--account .woocommerce-form-login__rememberme { margin: 0 0 16px !important; }
.ips-app--account .woocommerce-form-login__submit,
.ips-app--account .woocommerce-form-register__submit { width: 100%; }
.ips-app--account .woocommerce-LostPassword { margin: 16px 0 0; font-size: 14px; }
.ips-app--account .woocommerce-LostPassword a { color: var(--ips-muted); text-decoration: underline; }
.ips-app--account .woocommerce-privacy-policy-text { font-size: 13px; line-height: 1.55; color: var(--ips-muted); margin: 0 0 18px; }
.ips-app--account .woocommerce-privacy-policy-text a { color: var(--ips-muted); text-decoration: underline; }
.ips-app--account .woocommerce > .woocommerce-form-login { max-width: 560px; padding: 40px; border: 1px solid var(--ips-line); }

/* --- Moje konto: zalogowany (menu + treść) --- */
.ips-app--account.logged-in .ips-app-body .woocommerce {
	display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 56px; align-items: start;
}
.ips-app--account.logged-in .ips-app-body .woocommerce::before,
.ips-app--account.logged-in .ips-app-body .woocommerce::after { display: none; }
.woocommerce-MyAccount-navigation { float: none !important; width: auto !important; position: sticky; top: 120px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--ips-line); background: #fff; }
.woocommerce-MyAccount-navigation li { margin: 0; border-top: 1px solid var(--ips-line-soft); }
.woocommerce-MyAccount-navigation li:first-child { border-top: 0; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 15px 20px; border-left: 2px solid transparent; font-size: 15px; font-weight: 500; color: var(--ips-text); }
.woocommerce-MyAccount-navigation li a:hover { background: var(--ips-cream); color: var(--ips-ink); }
.woocommerce-MyAccount-navigation li.is-active a { border-left-color: var(--ips-gold); background: var(--ips-cream); color: var(--ips-ink); }
.woocommerce-MyAccount-navigation-link--ips-moje-kursy a { color: var(--ips-gold) !important; }
.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--ips-muted) !important; }
.woocommerce-MyAccount-content { float: none !important; width: auto !important; min-width: 0; font-size: 17px; line-height: 1.7; color: var(--ips-text); }
.woocommerce-MyAccount-content > p:first-of-type { font-size: 18px; }
.woocommerce-MyAccount-content p { margin: 0 0 1em; }
.woocommerce-MyAccount-content a:not(.button) { color: var(--ips-gold); text-decoration: underline; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3, .woocommerce-MyAccount-content legend { font-family: var(--ips-serif); font-weight: 500; font-size: 30px; color: var(--ips-ink); margin: 0 0 16px; }
.woocommerce-MyAccount-content fieldset { margin: 32px 0 24px; padding: 28px; border: 1px solid var(--ips-line); }
.woocommerce-MyAccount-content fieldset legend { padding: 0 8px; font-size: 24px; }
.woocommerce-MyAccount-content .woocommerce-Address { padding: 28px; border: 1px solid var(--ips-line); background: #fff; }
.woocommerce-MyAccount-content .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.woocommerce-MyAccount-content .woocommerce-Address-title h2 { font-size: 26px; }
.woocommerce-MyAccount-content address { font-style: normal; line-height: 1.7; }
.woocommerce-MyAccount-content .woocommerce-form-row--first, .woocommerce-MyAccount-content .woocommerce-form-row--last { width: 100%; float: none; }
.woocommerce-MyAccount-content .form-row-first, .woocommerce-MyAccount-content .form-row-last { width: calc(50% - 10px); }
.woocommerce-MyAccount-content .form-row-first { float: left; }
.woocommerce-MyAccount-content .form-row-last { float: right; }
.woocommerce-MyAccount-content .clear { clear: both; }

/* --- Profil LearnPress --- */
.ips-app .lp-user-profile {
	--lp-primary-color: var(--ips-gold);
	--lp-secondary-color: var(--ips-ink);
	--lp-border-color: var(--ips-line);
	--lp-white-grey: var(--ips-cream);
	--lp-item-padding: 0px;
	font-family: var(--ips-sans); color: var(--ips-text);
}
.ips-app .lp-user-profile > .lp-content-area {
	display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 0 56px; align-items: start;
	max-width: none !important; padding: 0 !important;
}
.ips-app .lp-user-profile .lp-user-cover-image_background,
.ips-app .lp-user-profile .lp-btn-to-edit-cover-image,
.ips-app .lp-user-profile .wrapper-profile-header { display: none; } /* nagłówek z imieniem jest w nagłówku strony */
.ips-app .lp-user-profile #profile-sidebar {
	float: none; width: auto; margin: 0; border: 1px solid var(--ips-line); background: #fff; position: sticky; top: 120px;
}
.ips-app .lp-user-profile .lp-profile-nav-tabs > li { border-top: 1px solid var(--ips-line-soft); }
.ips-app .lp-user-profile .lp-profile-nav-tabs > li:first-child { border-top: 0; }
.ips-app .lp-user-profile .lp-profile-nav-tabs > li > a { padding: 15px 20px; font-size: 15px; font-weight: 500; color: var(--ips-text); border-left: 2px solid transparent; }
.ips-app .lp-user-profile .lp-profile-nav-tabs > li > a > i { color: var(--ips-gold); }
.ips-app .lp-user-profile .lp-profile-nav-tabs > li.active { background: var(--ips-cream); }
.ips-app .lp-user-profile .lp-profile-nav-tabs > li.active > a,
.ips-app .lp-user-profile .lp-profile-nav-tabs > li.active > a i { color: var(--ips-ink); border-left-color: var(--ips-gold); }
.ips-app .lp-user-profile .lp-profile-nav-tabs li > ul { border: 1px solid var(--ips-line); box-shadow: 0 18px 40px rgba(60,45,20,.08); }
.ips-app .lp-user-profile .lp-profile-nav-tabs li > ul li a { padding: 12px 18px; font-size: 14px; }
.ips-app .lp-user-profile .lp-profile-content { float: none; width: auto; min-width: 0; margin: 0; padding: 0; }

/* Statystyki */
.ips-app .dashboard-statistic__row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0 0 40px; border: 1px solid var(--ips-line); background: #fff; }
.ips-app .dashboard-statistic__row .statistic-box {
	width: auto !important; margin: 0 !important; padding: 24px 22px; border: 0; border-right: 1px solid var(--ips-line-soft); border-radius: 0; background: none; box-shadow: none;
	display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
}
.ips-app .dashboard-statistic__row .statistic-box:last-child { border-right: 0; }
.ips-app .statistic-box__icon { display: none; }
.ips-app .statistic-box__text { display: flex; flex-direction: column-reverse; gap: 4px; }
.ips-app .statistic-box__text label { font-size: 13px; line-height: 1.35; color: var(--ips-muted); }
.ips-app .statistic-box__text__number { font-family: var(--ips-serif); font-size: 40px; line-height: 1; color: var(--ips-ink); }

/* Filtry i lista kursów */
.ips-app .learn-press-tabs .learn-press-filters,
.ips-app .learn-press-filters { display: flex; gap: 4px; margin: 0 0 20px; padding: 0; border-bottom: 1px solid var(--ips-line); list-style: none; }
.ips-app .learn-press-filters li { margin: 0; }
.ips-app .learn-press-filters li::after { display: none !important; }
.ips-app .learn-press-filters li a, .ips-app .learn-press-filters li span { display: inline-block; padding: 12px 16px; margin-bottom: -1px; border-bottom: 2px solid transparent; font-size: 15px; font-weight: 500; color: var(--ips-muted); }
.ips-app .learn-press-filters li a::after, .ips-app .learn-press-filters li span::after { display: none !important; }
.ips-app .learn-press-filters li a.active, .ips-app .learn-press-filters li a:hover,
.ips-app .learn-press-filters li.active a, .ips-app .learn-press-filters li span.active { color: var(--ips-ink); border-bottom-color: var(--ips-gold); }
.ips-app .lp_profile_course_progress .course-img img { width: 96px; height: 60px; object-fit: cover; }
.ips-app .lp_profile_course_progress .course-title { font-weight: 500; color: var(--ips-ink); }

/* Lista kursów w kafelkach (widok siatki LP) */
.ips-app .learn-press-courses { gap: 24px; }
.ips-app .learn-press-courses .course-item { border: 1px solid var(--ips-line); border-radius: 0; background: #fff; box-shadow: none; }
.ips-app .learn-press-courses .course-title, .ips-app .learn-press-courses .course-title a { font-family: var(--ips-serif); font-size: 22px; font-weight: 500; color: var(--ips-ink); }

/* Formularze ustawień LP */
.ips-app .lp-profile-content .learn-press-form .form-fields { list-style: none; padding: 0; }
.ips-app .lp-profile-content .learn-press-form .form-field { margin-bottom: 18px; }

/* --- Profil dla gościa: logowanie --- */
.ips-login { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: stretch; }
.ips-login h2 { font-size: 34px; margin-bottom: 10px; }
.ips-login__card { padding: 40px; border: 1px solid var(--ips-line); background: #fff; }
.ips-login__card > .ips-muted { margin-bottom: 28px; }
.ips-login__card form { margin: 0; }
.ips-login .login-submit #wp-submit { width: 100%; }
.ips-login__lost { display: inline-block; margin-top: 4px; font-size: 14px; color: var(--ips-muted); text-decoration: underline; }
.ips-login__aside { padding: 40px; background: var(--ips-cream); border: 1px solid var(--ips-line); display: flex; flex-direction: column; gap: 14px; }
.ips-login__aside p { font-size: 17px; line-height: 1.65; color: var(--ips-text); }
.ips-login__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: auto; padding-top: 12px; }

/* --- Koszyk i zamówienie (bloki WooCommerce) --- */
.ips-app--cart .wp-block-woocommerce-cart,
.ips-app--checkout .wp-block-woocommerce-checkout { max-width: none; margin: 0; font-family: var(--ips-sans); }
.ips-app .wc-block-components-button:not(.is-link),
.ips-app .wc-block-cart__submit-button,
.ips-app .wc-block-components-checkout-place-order-button {
	min-height: 56px; border-radius: 0 !important; background: var(--ips-ink) !important; color: #fff !important; border: 1px solid var(--ips-ink);
	font-family: var(--ips-sans); font-size: 14px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase;
}
.ips-app .wc-block-components-button:not(.is-link):hover { background: #fff !important; color: var(--ips-ink) !important; }
.ips-app .wc-block-components-text-input input,
.ips-app .wc-block-components-combobox .components-combobox-control__input,
.ips-app .wc-blocks-components-select__select { border-radius: 0 !important; border-color: var(--ips-input) !important; }
.ips-app .wc-block-components-title, .ips-app .wc-block-cart__totals-title { font-family: var(--ips-serif) !important; font-weight: 500 !important; text-transform: none !important; font-size: 26px !important; letter-spacing: 0 !important; }
.ips-app .wc-block-components-sidebar { padding: 28px; background: var(--ips-cream); border: 1px solid var(--ips-line); }
.ips-app .wc-block-components-product-name { font-weight: 500; color: var(--ips-ink); }

/* --- RWD --- */
@media (max-width: 1024px) {
	.ips-app-head__inner { flex-direction: column; align-items: flex-start; gap: 0; padding-top: 40px; }
	.ips-app-head__inner > div { padding-bottom: 20px; }
	.ips-app-tabs { width: 100%; overflow-x: auto; }
	.ips-app-tabs a { white-space: nowrap; }

	.ips-app--account.logged-in .ips-app-body .woocommerce,
	.ips-app .lp-user-profile > .lp-content-area { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content,
	.ips-app .lp-user-profile #profile-sidebar, .ips-app .lp-user-profile .lp-profile-content { min-width: 0; max-width: 100%; }
	.ips-app .learn-press-filters { overflow-x: auto; }
	.ips-app .learn-press-filters li { flex-shrink: 0; }
	.ips-app .lp-table-wrap { overflow-x: auto; }
	.woocommerce-MyAccount-navigation, .ips-app .lp-user-profile #profile-sidebar { position: static; }
	.woocommerce-MyAccount-navigation ul,
	.ips-app .lp-user-profile .lp-profile-nav-tabs { display: flex; overflow-x: auto; }
	.woocommerce-MyAccount-navigation li,
	.ips-app .lp-user-profile .lp-profile-nav-tabs > li { border-top: 0; border-right: 1px solid var(--ips-line-soft); flex-shrink: 0; }
	.woocommerce-MyAccount-navigation li a,
	.ips-app .lp-user-profile .lp-profile-nav-tabs > li > a { white-space: nowrap; border-left: 0; border-bottom: 2px solid transparent; }
	.woocommerce-MyAccount-navigation li.is-active a,
	.ips-app .lp-user-profile .lp-profile-nav-tabs > li.active > a { border-bottom-color: var(--ips-gold); }
	.ips-app .lp-user-profile .lp-profile-nav-tabs li > ul { left: 0; top: 100%; }
	.ips-app .lp-user-profile .lp-profile-nav-tabs > li.has-child > a { padding-right: 36px; }

	.ips-app .dashboard-statistic__row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ips-app .dashboard-statistic__row .statistic-box { border-bottom: 1px solid var(--ips-line-soft); }
	.ips-login { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.ips-app-body { padding: 32px 0 72px; }
	.ips-app .woocommerce .col2-set, .ips-app .woocommerce .u-columns { grid-template-columns: 1fr; gap: 20px; }
	.ips-app--account .u-columns > .u-column1, .ips-app--account .u-columns > .u-column2,
	.ips-login__card, .ips-login__aside { padding: 26px 22px; }
	.ips-app .dashboard-statistic__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ips-app .statistic-box__text__number { font-size: 32px; }
	.woocommerce-MyAccount-content .form-row-first, .woocommerce-MyAccount-content .form-row-last { width: 100%; float: none; }
	.ips-app .lp-list-table, .ips-app .woocommerce table.shop_table { display: block; overflow-x: auto; }
}

/* ==========================================================================
   Zamówienie kursu (LearnPress): kroki, konto, podsumowanie, płatność
   ========================================================================== */
.ips-steps-bar { list-style: none; margin: 0 0 32px; padding: 0; display: flex; align-items: center; gap: 0; align-self: flex-end; }
.ips-steps-bar li { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 500; color: var(--ips-muted); }
.ips-steps-bar li + li::before { content: ""; width: 40px; height: 1px; margin: 0 14px; background: var(--ips-line); }
.ips-steps-bar__num { width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid var(--ips-input); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; background: #fff; }
.ips-steps-bar__num svg { width: 14px; height: 14px; }
.ips-steps-bar .is-current { color: var(--ips-ink); }
.ips-steps-bar .is-current .ips-steps-bar__num { border-color: var(--ips-ink); background: var(--ips-ink); color: #fff; }
.ips-steps-bar .is-done { color: #1F5A33; }
.ips-steps-bar .is-done .ips-steps-bar__num { border-color: #1F5A33; background: #1F5A33; color: #fff; }

.ips-alert { margin: 0 0 24px; padding: 16px 20px; border: 1px solid var(--ips-line); border-left-width: 3px; font-size: 15px; line-height: 1.55; }
.ips-alert--error { border-color: #E0A9A0; border-left-color: #8A2A1E; background: #FBEFED; color: #8A2A1E; }
.ips-alert--ok { border-color: #9DBFA7; border-left-color: #1F5A33; background: #EEF6F0; color: #1F5A33; }

.ips-checkout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; align-items: start; }
.ips-checkout__intro { font-size: 17px; line-height: 1.65; color: var(--ips-text); margin: 0 0 24px; }
.ips-checkout__intro strong { color: var(--ips-ink); font-weight: 500; }
.ips-account-choice { display: flex; flex-direction: column; gap: 0; width: 100%; }
.ips-or { display: flex; align-items: center; gap: 20px; margin: 28px 0; font-family: var(--ips-serif); font-style: italic; font-size: 24px; color: var(--ips-gold); text-transform: lowercase; }
.ips-or::before, .ips-or::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--ips-line); }
.ips-or span { flex-shrink: 0; padding: 0 4px; }
.ips-account-card { padding: 36px; border: 1px solid var(--ips-line); background: #fff; display: flex; flex-direction: column; gap: 6px; scroll-margin-top: 120px; }
.ips-account-card.is-active { border-color: var(--ips-gold-line); box-shadow: 0 18px 44px rgba(60,45,20,.08); }
.ips-account-card__tag { font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--ips-gold); }
.ips-account-card h2 { font-size: 32px; margin: 0 0 18px; }
.ips-account-card__lost { align-self: center; font-size: 14px; color: var(--ips-muted); text-decoration: underline; }
.ips-form-stack { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.ips-form-stack .ips-field input { width: 100%; min-height: 52px; padding: 0 16px; border: 1px solid var(--ips-input); border-radius: 0; background: #fff; font-family: var(--ips-sans); font-size: 15px; }
.ips-form-stack .ips-field input:focus { outline: none; border-color: var(--ips-gold); box-shadow: 0 0 0 3px rgba(140,106,58,.15); }
.ips-field__hint { font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--ips-muted); }
.ips-pass { position: relative; }
.ips-pass input { padding-right: 80px !important; }
.ips-pass__toggle { position: absolute; top: 50%; right: 8px; transform: translateY(-50%); min-height: 36px; padding: 0 12px; border: 0; background: var(--ips-cream); font-family: var(--ips-sans); font-size: 13px; font-weight: 500; color: var(--ips-text); cursor: pointer; }
.ips-btn--block { width: 100%; min-height: 56px; text-align: center; }

.ips-summary { position: sticky; top: 120px; padding: 32px; background: var(--ips-cream); border: 1px solid var(--ips-line); }
.ips-summary h2 { font-size: 26px; margin: 0 0 18px; }
.ips-summary ul { list-style: none; margin: 0; padding: 0; }
.ips-summary li { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 14px 0; border-top: 1px solid var(--ips-line); }
.ips-summary li img { width: 72px; height: 46px; object-fit: cover; }
.ips-summary__name { font-size: 15px; font-weight: 500; color: var(--ips-ink); line-height: 1.35; }
.ips-summary__price { font-family: var(--ips-serif); font-size: 20px; white-space: nowrap; }
.ips-summary__total { display: flex; justify-content: space-between; align-items: baseline; margin: 0; padding: 18px 0 0; border-top: 1px solid var(--ips-ink); }
.ips-summary__total span { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.ips-summary__total strong { font-family: var(--ips-serif); font-size: 32px; font-weight: 500; }
.ips-summary__note { margin: 16px 0 0; font-size: 14px; line-height: 1.55; color: var(--ips-muted); }

/* Płatność (formularz LearnPress po zalogowaniu) */
.ips-app #learn-press-checkout-form { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; align-items: start; }
.ips-app #learn-press-checkout-form .lp-checkout-form__before,
.ips-app #learn-press-checkout-form .lp-checkout-form__after { float: none; width: auto; margin: 0; padding: 0; }
.ips-app #learn-press-checkout-form .lp-checkout-form__before { grid-column: 2; grid-row: 1; position: sticky; top: 120px; } /* podsumowanie zamówienia */
.ips-app #learn-press-checkout-form .lp-checkout-form__after { grid-column: 1; grid-row: 1; } /* płatność */
.ips-app .lp-checkout-block { float: none; width: auto; margin: 0 0 28px; padding: 32px; border: 1px solid var(--ips-line); background: #fff; border-radius: 0; }
.ips-app #checkout-order { background: var(--ips-cream); }
.ips-app .lp-checkout-block h4, .ips-app .lp-checkout-block h3 { font-family: var(--ips-serif); font-weight: 500; font-size: 26px; color: var(--ips-ink); margin: 0 0 18px; }
.ips-app #checkout-order .lp-list-table { background: transparent; border: 0; }
.ips-app #checkout-order .lp-list-table th, .ips-app #checkout-order .lp-list-table td { padding: 12px 0; background: transparent; }
.ips-app #checkout-order .lp-list-table tfoot td, .ips-app #checkout-order .lp-list-table tfoot th { border-top: 1px solid var(--ips-ink); font-family: var(--ips-serif); font-size: 22px; color: var(--ips-ink); }
.ips-app .payment-methods { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ips-app .payment-methods li { margin: 0; padding: 16px 18px; border: 1px solid var(--ips-line); background: #fff; }
.ips-app .payment-methods li.selected, .ips-app .payment-methods li:has(input:checked) { border-color: var(--ips-gold-line); background: var(--ips-cream); }
.ips-app .payment-methods label { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 500; color: var(--ips-ink); cursor: pointer; }
.ips-app .payment-methods input[type=radio] { accent-color: var(--ips-ink); width: 18px; height: 18px; }
.ips-app .payment-methods .payment-method-form { margin-top: 10px; font-size: 14px; color: var(--ips-text); }
.ips-app #checkout-order-action { margin-top: 20px; }
.ips-app #learn-press-checkout-place-order,
.ips-app .lp-checkout-form .lp-button {
	width: 100%; min-height: 58px; border: 1px solid var(--ips-ink) !important; border-radius: 0 !important; background: var(--ips-ink) !important; color: #fff !important;
	font-family: var(--ips-sans) !important; font-size: 15px !important; font-weight: 500 !important; letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
}
.ips-app #learn-press-checkout-place-order:hover { background: #fff !important; color: var(--ips-ink) !important; }
.ips-app #learn-press-checkout-place-order.loading { color: transparent !important; }
.ips-app #learn-press-checkout-place-order.loading::before { color: #fff; font-size: 20px; }
.ips-app .secure-connection { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 13px; color: var(--ips-muted); }
.ips-app #learn-press-checkout-user-form, .ips-app .lp-checkout-form .learn-press-checkout-comment { margin: 0 0 28px; padding: 32px; border: 1px solid var(--ips-line); background: #fff; }
.ips-app .lp-checkout-form textarea { width: 100%; min-height: 100px; padding: 14px 16px; border: 1px solid var(--ips-input); border-radius: 0; font-family: var(--ips-sans); }
.ips-app .lp-terms-and-conditions, .ips-app .lp-checkout-form .lp-terms-and-conditions { font-size: 14px; color: var(--ips-muted); }

@media (max-width: 1024px) {
	.ips-steps-bar { align-self: flex-start; margin-top: 4px; flex-wrap: wrap; row-gap: 8px; }
	.ips-checkout, .ips-app #learn-press-checkout-form { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.ips-summary, .ips-app #learn-press-checkout-form .lp-checkout-form__before, .ips-app #learn-press-checkout-form .lp-checkout-form__after { position: static; grid-column: auto; grid-row: auto; }
	.ips-checkout .ips-summary { order: -1; }
	.ips-account-choice { max-width: none; }
}
@media (max-width: 640px) {
	.ips-steps-bar li + li::before { width: 16px; margin: 0 8px; }
	.ips-steps-bar li { font-size: 13px; gap: 6px; }
	.ips-account-card, .ips-summary, .ips-app .lp-checkout-block { padding: 24px 20px; }
}

/* Kolejność bloków w kolumnie płatności: metoda płatności najpierw, uwagi na końcu */
.ips-app #learn-press-checkout-form .lp-checkout-form__after { display: flex; flex-direction: column; }
.ips-app #learn-press-checkout-form .lp-checkout-form__after #checkout-payment { order: -1; }
.ips-app #checkout-account-logged-in, .ips-app .lp-checkout-form__after > div:has(> a[href*="logout"]) { font-size: 14px; color: var(--ips-muted); padding: 0 0 8px; border: 0; background: none; }
.ips-app .payment-methods label, .ips-app .payment-methods .lp-payment-method label { background: none !important; padding: 0 !important; }
.ips-app .payment-methods li > div, .ips-app .payment-methods .gateway-input { background: none !important; }
.ips-app #learn-press-checkout-form a, .ips-app .lp-checkout-form a { color: var(--ips-gold); }
.ips-app #checkout-order .course-name, .ips-app #checkout-order .course-name a, .ips-app #checkout-order td { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
.ips-app #checkout-order .lp-checkout-order__inner { border: 0; }
.ips-app .lp-checkout-form .secure-connection, .ips-app #checkout-payment h4 + .secure-connection { font-family: var(--ips-sans); }

/* ==========================================================================
   Strona koszyka
   ========================================================================== */
.ips-cart { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; align-items: start; }
.ips-cart__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ips-line); }
.ips-cart__item { display: grid; grid-template-columns: 160px minmax(0, 1fr) auto auto; gap: 24px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--ips-line); }
.ips-cart__img img { width: 160px; height: 100px; object-fit: cover; display: block; }
.ips-cart__img:empty { width: 160px; height: 100px; background: var(--ips-cream); }
.ips-cart__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ips-cart__title { font-family: var(--ips-serif); font-size: 24px; line-height: 1.2; color: var(--ips-ink); }
.ips-cart__info .ips-muted { font-size: 14px; }
.ips-cart__price { font-family: var(--ips-serif); font-size: 24px; white-space: nowrap; }
.ips-cart__remove { border: 0; background: none; padding: 8px 0; font-family: var(--ips-sans); font-size: 14px; color: var(--ips-muted); text-decoration: underline; cursor: pointer; }
.ips-cart__remove:hover { color: #8A2A1E; }
.ips-cart__more { margin-top: 40px; padding: 28px; border: 1px solid var(--ips-line); background: #fff; }
.ips-cart__more h2 { font-size: 24px; margin: 0 0 14px; }
.ips-cart__more ul { list-style: none; margin: 0; padding: 0; }
.ips-cart__more li { display: flex; align-items: center; gap: 16px; padding: 12px 0; border-top: 1px solid var(--ips-line-soft); }
.ips-cart__more li > a { flex: 1 1 auto; font-weight: 500; color: var(--ips-ink); }
.ips-cart__more-price { font-family: var(--ips-serif); font-size: 20px; white-space: nowrap; }
.ips-cart__count { margin: -8px 0 6px; font-size: 14px; color: var(--ips-muted); }
.ips-cart__summary .ips-btn--block { margin-top: 20px; }
.ips-cart__continue { display: block; margin-top: 14px; text-align: center; font-size: 14px; color: var(--ips-muted); }
.ips-summary__edit { display: inline-block; margin-top: 10px; font-size: 14px; color: var(--ips-gold); text-decoration: underline; }
.ips-cart-empty { max-width: 560px; padding: 48px; border: 1px solid var(--ips-line); background: #fff; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.ips-cart-empty h2 { font-size: 34px; }
@media (max-width: 1024px) {
	.ips-cart { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.ips-cart__summary { position: static; }
}
@media (max-width: 640px) {
	.ips-cart__item { grid-template-columns: 96px minmax(0, 1fr); gap: 8px 16px; }
	.ips-cart__img img, .ips-cart__img:empty { width: 96px; height: 60px; }
	.ips-cart__price { grid-column: 2; font-size: 20px; }
	.ips-cart__item form { grid-column: 2; }
	.ips-cart__title { font-size: 20px; }
	.ips-cart__more li { flex-wrap: wrap; }
	.ips-cart-empty { padding: 28px 22px; }
}

/* Podsumowanie zamówienia (LearnPress): miniatura | tytuł | cena — bez nachodzenia i obcinania */
.ips-app #checkout-order .lp-list-table { width: 100%; table-layout: auto; border-collapse: collapse; }
.ips-app #checkout-order .cart-item td { padding: 14px 0 !important; vertical-align: top; border-top: 1px solid var(--ips-line) !important; }
.ips-app #checkout-order .cart-item:first-child td { border-top: 0 !important; }
.ips-app #checkout-order td.course-thumbnail { width: 78px !important; min-width: 78px; padding-right: 14px !important; }
.ips-app #checkout-order td.course-thumbnail img { display: block; width: 64px !important; height: 42px !important; max-width: none; object-fit: cover; }
.ips-app #checkout-order td.course-name { padding-right: 14px !important; font-weight: 500; text-align: left; }
.ips-app #checkout-order td.course-name a,
.ips-app #checkout-order .course-name a {
	display: block !important; -webkit-line-clamp: unset !important; -webkit-box-orient: initial !important; overflow: visible !important;
	font-family: var(--ips-sans); font-size: 15px; font-weight: 500; line-height: 1.4; color: var(--ips-ink); text-decoration: none;
}
.ips-app #checkout-order td.course-name a:hover { color: var(--ips-gold); }
.ips-app #checkout-order .course-quantity { font-weight: 400; color: var(--ips-muted); }
.ips-app #checkout-order td.course-total,
.ips-app #checkout-order .cart-item td.col-number {
	width: 1%; white-space: nowrap; text-align: right !important; font-family: var(--ips-serif); font-size: 19px; font-weight: 500; color: var(--ips-ink);
}
.ips-app #checkout-order tfoot th { text-align: left !important; font-weight: 500 !important; padding: 14px 0 !important; }
.ips-app #checkout-order tfoot td,
.ips-app #checkout-order tfoot .col-number { text-align: right !important; white-space: nowrap; padding: 14px 0 !important; color: var(--ips-ink); font-weight: 500; }
.ips-app #checkout-order tfoot tr:hover { background: transparent !important; }
.ips-app #checkout-order tfoot .order-total th, .ips-app #checkout-order tfoot .order-total td { font-size: 26px; }

/* ==========================================================================
   Dane do przelewu (potwierdzenie zamówienia)
   ========================================================================== */
.ips-transfer { margin: 0 0 40px; border: 1px solid var(--ips-ink); background: #fff; }
.ips-transfer__head { padding: 28px 32px; background: var(--ips-cream); border-bottom: 1px solid var(--ips-line); }
.ips-transfer__head h2 { font-size: 32px; margin: 0 0 8px; }
.ips-transfer__head p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ips-text); max-width: 760px; }
.ips-transfer__head strong { color: var(--ips-ink); font-weight: 500; }
.ips-transfer__list { margin: 0; padding: 8px 32px; }
.ips-transfer__row { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 20px; align-items: center; padding: 14px 0; border-top: 1px solid var(--ips-line-soft); }
.ips-transfer__row:first-child { border-top: 0; }
.ips-transfer__row dt { font-size: 13px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--ips-muted); }
.ips-transfer__row dd { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; font-size: 17px; color: var(--ips-ink); }
.ips-transfer__strong { font-family: var(--ips-serif); font-size: 26px; letter-spacing: .02em; }
.ips-copy { min-height: 34px; padding: 0 14px; border: 1px solid var(--ips-line); background: #fff; font-family: var(--ips-sans); font-size: 13px; font-weight: 500; color: var(--ips-text); cursor: pointer; }
.ips-copy:hover { border-color: var(--ips-ink); color: var(--ips-ink); }
.ips-copy.is-done { border-color: #1F5A33; color: #1F5A33; }
.ips-transfer__note { margin: 0; padding: 16px 32px 24px; font-size: 14px; color: var(--ips-muted); }
.ips-p24-desc { margin: 8px 0 0; font-size: 14px; line-height: 1.55; color: var(--ips-text); }
@media (max-width: 640px) {
	.ips-transfer__head, .ips-transfer__list, .ips-transfer__note { padding-left: 20px; padding-right: 20px; }
	.ips-transfer__row { grid-template-columns: 1fr; gap: 4px; }
	.ips-transfer__strong { font-size: 21px; }
}
