/* ==========================================================================
   WOOCOMMERCE.CSS — sklep, kasa i „Moje konto" w stylu motywu.

   Arkusze „layout" i „smallscreen" WooCommerce są wyłączone (inc/woocommerce.php),
   układ robimy tutaj. Ogólny arkusz Woo zostaje — nadpisujemy jego kolory.

   Spis: 1. Ikony  2. Przyciski  3. Komunikaty  4. Formularze  5. Tabele
         6. Kasa  7. Podziękowanie  8. Moje konto  9. Panel kursanta
         10. Sklep i produkt  11. Koszyk  12. Responsywność
   ========================================================================== */

/* 1. IKONY MENU KONTA ----------------------------------------------------- */

:root {
	--i-receipt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h14v16l-7-3-7 3z'/%3E%3C/svg%3E");
	--i-card: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='12' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
	--i-doc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M15 3v4h4'/%3E%3C/svg%3E");
	--i-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.6'/%3E%3Cpath d='M4.5 20c.9-3.6 4-5.6 7.5-5.6s6.6 2 7.5 5.6'/%3E%3C/svg%3E");
	--i-logout: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h5v16h-5'/%3E%3Cpath d='M10 12H3m0 0 3.5-3.5M3 12l3.5 3.5'/%3E%3C/svg%3E");
	--i-repeat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 2.5 20.5 6 17 9.5'/%3E%3Cpath d='M3.5 11V9.5A3.5 3.5 0 0 1 7 6h13.5'/%3E%3Cpath d='M7 21.5 3.5 18 7 14.5'/%3E%3Cpath d='M20.5 13v1.5A3.5 3.5 0 0 1 17 18H3.5'/%3E%3C/svg%3E");
	--i-download: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11m0 0-4-4m4 4 4-4'/%3E%3Cpath d='M4 19h16'/%3E%3C/svg%3E");
	--i-dot: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='black'/%3E%3C/svg%3E");
}

/* 2. PRZYCISKI ------------------------------------------------------------ */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce-page a.button,
.woocommerce-page button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--s-2);
	min-height: 48px;
	padding: 0.8rem 1.5rem;
	border: 1.5px solid transparent;
	border-radius: var(--r-full);
	background: var(--g-blue);
	background-color: var(--c-blue);
	color: #fff;
	font-family: var(--f-body);
	font-size: var(--t-sm);
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: var(--sh-blue);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: var(--g-blue);
	background-color: var(--c-blue-dark);
	color: #fff;
	transform: translateY(-2px);
}

.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce a.button.disabled,
.woocommerce button.button.disabled {
	opacity: 0.5;
	transform: none;
	cursor: not-allowed;
}

/* Przyciski drugorzędne w tabelach (Pokaż, Anuluj…) */
.woocommerce table .button,
.woocommerce .woocommerce-orders-table .button {
	min-height: 40px;
	padding: 0.5rem 1rem;
	background: var(--c-surface);
	border-color: var(--c-line);
	color: var(--c-navy);
	box-shadow: none;
}

.woocommerce table .button:hover,
.woocommerce .woocommerce-orders-table .button:hover {
	background: var(--c-surface);
	border-color: var(--c-blue);
	color: var(--c-blue);
}

/* 3. KOMUNIKATY ----------------------------------------------------------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
	position: relative;
	margin: 0 0 var(--s-5);
	padding: var(--s-4) var(--s-5) var(--s-4) 3.25rem;
	border: 1px solid var(--c-line);
	border-top-width: 1px;
	border-radius: var(--r-md);
	background: var(--c-sky-2);
	color: var(--c-body);
	font-size: var(--t-sm);
	list-style: none;
}

.woocommerce-message {
	border-color: #B7E2C9;
	background: var(--c-success-bg);
}

.woocommerce-error {
	border-color: #F5C2BC;
	background: var(--c-error-bg);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	content: "";
	position: absolute;
	top: 1.05rem;
	left: 1.1rem;
	width: 20px;
	height: 20px;
	background-color: var(--c-blue);
	-webkit-mask: var(--i-dot) center / contain no-repeat;
	mask: var(--i-dot) center / contain no-repeat;
}

.woocommerce-message::before {
	background-color: var(--c-success);
	-webkit-mask-image: var(--i-check);
	mask-image: var(--i-check);
}

.woocommerce-error::before {
	background-color: var(--c-error);
}

.woocommerce-message .button,
.woocommerce-info .button {
	float: right;
	min-height: 36px;
	margin: -0.35rem 0 0 var(--s-3);
	padding: 0.4rem 1rem;
}

/* 4. FORMULARZE ----------------------------------------------------------- */

.woocommerce form .form-row {
	margin: 0 0 var(--s-4);
	padding: 0;
}

.woocommerce form .form-row label {
	display: block;
	margin-bottom: 6px;
	font-size: var(--t-sm);
	font-weight: 600;
	line-height: 1.4;
	color: var(--c-navy);
}

.woocommerce form .form-row .required {
	color: var(--c-error);
	text-decoration: none;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text {
	width: 100%;
	min-height: 48px;
	padding: 0.65rem 1rem;
	border: 1px solid var(--c-line);
	border-radius: var(--r-md);
	background: var(--c-surface);
	color: var(--c-body);
	font-size: var(--t-sm);
	line-height: 1.4;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--c-blue);
	box-shadow: 0 0 0 3px rgba(21, 101, 224, 0.18);
	outline: none;
}

.woocommerce form .form-row.woocommerce-invalid input.input-text {
	border-color: var(--c-error);
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
	width: calc(50% - var(--s-2));
}

.woocommerce form .form-row-first {
	float: left;
}

.woocommerce form .form-row-last {
	float: right;
}

.woocommerce form .form-row-wide,
.woocommerce form .clear {
	clear: both;
}

.woocommerce form .form-row .woocommerce-input-wrapper {
	display: block;
}

.woocommerce form .form-row input[type="checkbox"],
.woocommerce form .form-row input[type="radio"] {
	width: 18px;
	height: 18px;
	margin-right: var(--s-2);
	accent-color: var(--c-blue);
	vertical-align: -3px;
}

/* Lista rozwijana krajów (select2/selectWoo) */
.select2-container .select2-selection--single {
	height: 48px;
	border: 1px solid var(--c-line);
	border-radius: var(--r-md);
}

.select2-container .select2-selection--single .select2-selection__rendered {
	padding-left: 1rem;
	line-height: 46px;
	color: var(--c-body);
}

.select2-container .select2-selection--single .select2-selection__arrow {
	height: 46px;
	right: 8px;
}

.select2-dropdown {
	border-color: var(--c-line);
	border-radius: var(--r-md);
	box-shadow: var(--sh-lg);
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--c-blue);
}

/* Formularz logowania / rejestracji */
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password {
	margin: 0;
	padding: var(--s-6);
	border: 1px solid var(--c-line);
	border-radius: var(--r-lg);
	background: var(--c-surface);
	box-shadow: var(--sh-sm);
}

/* Samo logowanie (bez rejestracji obok): wąska, wyśrodkowana karta. */
.woocommerce-account:not(.logged-in) .ag-canvas .woocommerce:not(:has(.u-columns)) {
	max-width: 480px;
	margin-inline: auto;
}

.woocommerce-account:not(.logged-in) .ag-canvas .woocommerce > h2,
.woocommerce-account:not(.logged-in) .u-column1 > h2,
.woocommerce-account:not(.logged-in) .u-column2 > h2 {
	margin-bottom: var(--s-4);
	font-size: 1.6rem;
}

.woocommerce .col2-set.u-columns,
.woocommerce-account .u-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--s-6);
}

.woocommerce .col2-set.u-columns::before,
.woocommerce .col2-set.u-columns::after {
	display: none;
}

.woocommerce .col2-set.u-columns > .u-column1,
.woocommerce .col2-set.u-columns > .u-column2 {
	float: none;
	width: auto;
}

.woocommerce form .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	margin: 0 var(--s-4) 0 0;
	font-weight: 400;
}

.woocommerce-LostPassword {
	margin: var(--s-4) 0 0;
	font-size: var(--t-sm);
}

/* 5. TABELE --------------------------------------------------------------- */

.woocommerce table.shop_table {
	width: 100%;
	margin: 0 0 var(--s-5);
	border: 1px solid var(--c-line);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--r-lg);
	overflow: hidden;
	font-size: var(--t-sm);
}

.woocommerce table.shop_table th {
	padding: var(--s-3) var(--s-4);
	background: var(--c-sky-2);
	color: var(--c-navy);
	font-weight: 700;
	text-align: left;
}

.woocommerce table.shop_table td {
	padding: var(--s-3) var(--s-4);
	border-top: 1px solid var(--c-line);
	vertical-align: middle;
}

.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
	background: var(--c-surface);
}

.woocommerce table.shop_table .order-total th,
.woocommerce table.shop_table .order-total td {
	font-size: 1.05rem;
	color: var(--c-navy);
}

.woocommerce .amount {
	font-weight: 700;
	color: var(--c-navy);
}

/* 6. KASA ----------------------------------------------------------------- */

.ag-steps-bar {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s-3) var(--s-6);
	margin: 0 0 var(--s-6);
	padding: 0;
	list-style: none;
}

.ag-steps-bar li {
	display: inline-flex;
	align-items: center;
	gap: var(--s-3);
	font-size: var(--t-sm);
	font-weight: 700;
	color: var(--c-muted);
}

.ag-steps-bar__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: var(--r-full);
	background: var(--c-surface-2);
	font-size: var(--t-xs);
}

.ag-steps-bar li.is-done {
	color: var(--c-navy);
}

.ag-steps-bar li.is-done .ag-steps-bar__num {
	background: var(--g-blue);
	color: #fff;
}

.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-login-toggle .woocommerce-info {
	margin-bottom: var(--s-4);
}

.woocommerce form.checkout_coupon {
	margin: 0 0 var(--s-5);
	padding: var(--s-5);
	border: 1px dashed var(--c-line);
	border-radius: var(--r-md);
}

/* Układ: dane po lewej, zamówienie i płatność po prawej. */
form.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr);
	grid-template-areas:
		"dane naglowek"
		"dane zamowienie";
	grid-template-rows: auto 1fr;
	gap: 0 clamp(1.5rem, 1rem + 3vw, 3rem);
	align-items: start;
}

form.woocommerce-checkout > .woocommerce-NoticeGroup {
	grid-column: 1 / -1;
}

form.woocommerce-checkout #customer_details {
	grid-area: dane;
	padding: var(--s-6);
	border: 1px solid var(--c-line);
	border-radius: var(--r-lg);
	background: var(--c-surface);
}

form.woocommerce-checkout #customer_details .col-1,
form.woocommerce-checkout #customer_details .col-2 {
	float: none;
	width: 100%;
}

form.woocommerce-checkout #customer_details h3 {
	margin: 0 0 var(--s-5);
	font-size: 1.4rem;
}

form.woocommerce-checkout #order_review_heading {
	grid-area: naglowek;
	margin: 0;
	padding: var(--s-6) var(--s-6) var(--s-4);
	border: 1px solid var(--c-line);
	border-bottom: 0;
	border-radius: var(--r-lg) var(--r-lg) 0 0;
	background: var(--c-surface);
	font-size: 1.4rem;
}

form.woocommerce-checkout #order_review {
	grid-area: zamowienie;
	position: sticky;
	top: 100px;
	padding: 0 var(--s-6) var(--s-6);
	border: 1px solid var(--c-line);
	border-top: 0;
	border-radius: 0 0 var(--r-lg) var(--r-lg);
	background: var(--c-surface);
}

form.woocommerce-checkout #order_review table.shop_table {
	border: 0;
	border-radius: 0;
}

form.woocommerce-checkout #order_review table.shop_table th,
form.woocommerce-checkout #order_review table.shop_table td {
	padding-inline: 0;
	background: transparent;
}

/* Metody płatności */
.woocommerce-checkout #payment,
.woocommerce #payment {
	border-radius: 0;
	background: transparent;
}

.woocommerce #payment ul.payment_methods {
	margin: var(--s-4) 0 0;
	padding: 0;
	border: 0;
}

.woocommerce #payment ul.payment_methods > li {
	margin: 0 0 var(--s-2);
	padding: var(--s-3) var(--s-4);
	border: 1.5px solid var(--c-line);
	border-radius: var(--r-md);
	background: var(--c-surface);
	list-style: none;
	transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}

.woocommerce #payment ul.payment_methods > li:has(input:checked) {
	border-color: var(--c-blue);
	background: var(--c-sky-2);
	box-shadow: 0 0 0 1px var(--c-blue);
}

.woocommerce #payment ul.payment_methods > li > label {
	font-weight: 700;
	color: var(--c-navy);
	cursor: pointer;
}

.woocommerce #payment ul.payment_methods > li input[type="radio"] {
	accent-color: var(--c-blue);
	margin-right: var(--s-2);
}

.woocommerce #payment ul.payment_methods li img {
	max-height: 24px;
	margin-left: var(--s-2);
	vertical-align: middle;
}

.woocommerce #payment div.payment_box {
	margin: var(--s-3) 0 0;
	padding: var(--s-3) var(--s-4);
	border-radius: var(--r-sm);
	background: var(--c-surface-2);
	color: var(--c-body);
	font-size: var(--t-sm);
}

.woocommerce #payment div.payment_box::before {
	display: none;
}

.woocommerce #payment div.form-row.place-order {
	margin: var(--s-5) 0 0;
	padding: 0;
}

.woocommerce #payment #place_order {
	width: 100%;
	min-height: 56px;
	font-size: 1.0625rem;
	float: none;
}

.woocommerce-terms-and-conditions-wrapper {
	font-size: var(--t-xs);
	color: var(--c-muted);
}

.woocommerce-privacy-policy-text p {
	margin: 0 0 var(--s-3);
}

/* 7. PODZIĘKOWANIE ZA ZAMÓWIENIE ------------------------------------------ */

.ag-thanks {
	margin: 0 0 var(--s-6);
	padding: var(--s-6);
	border-radius: var(--r-lg);
	background: var(--g-club);
	color: #DCE8FD;
}

.ag-thanks__title {
	margin: 0 0 var(--s-2);
	font-family: var(--f-display);
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
}

.ag-thanks p {
	margin: 0 0 var(--s-4);
}

.ag-thanks .ag-btn {
	background: var(--c-yellow);
	color: var(--c-navy);
	box-shadow: none;
}

.woocommerce ul.order_details,
.woocommerce .woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: var(--s-3);
	margin: 0 0 var(--s-6);
	padding: 0;
	list-style: none;
}

.woocommerce ul.order_details li,
.woocommerce .woocommerce-order-overview li {
	float: none;
	margin: 0;
	padding: var(--s-4);
	border: 1px solid var(--c-line);
	border-radius: var(--r-md);
	font-size: var(--t-xs);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--c-muted);
}

.woocommerce ul.order_details li strong {
	display: block;
	margin-top: var(--s-1);
	font-size: var(--t-sm);
	text-transform: none;
	letter-spacing: 0;
	color: var(--c-navy);
}

/* 8. MOJE KONTO ----------------------------------------------------------- */

.woocommerce-account.logged-in .ag-canvas .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	/* 1: karta z imieniem, 2: menu, 3: reszta wysokości treści */
	grid-template-rows: min-content min-content 1fr;
	gap: var(--s-4) clamp(1.5rem, 1rem + 2.5vw, 3rem);
	align-items: start;
}

.woocommerce-account.logged-in .ag-canvas .woocommerce::before,
.woocommerce-account.logged-in .ag-canvas .woocommerce::after {
	display: none; /* „clearfix" zabierałby komórki siatki */
}

.woocommerce-account.logged-in .ag-canvas .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

.ag-account-user {
	grid-column: 1;
	display: flex;
	align-items: center;
	gap: var(--s-3);
	padding: var(--s-4);
	border: 1px solid var(--c-line);
	border-radius: var(--r-lg);
	background: var(--c-surface);
}

.ag-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: var(--r-full);
	background: var(--g-blue);
	color: #fff;
	font-size: var(--t-sm);
	font-weight: 800;
}

.ag-account-user__name {
	font-weight: 700;
	color: var(--c-navy);
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	grid-column: 1;
	float: none;
	width: auto;
	padding: var(--s-3);
	border: 1px solid var(--c-line);
	border-radius: var(--r-lg);
	background: var(--c-surface);
}

.woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	gap: var(--s-3);
	min-height: 46px;
	padding: 0 var(--s-3);
	border-radius: var(--r-md);
	color: var(--c-body);
	font-size: var(--t-sm);
	font-weight: 600;
	text-decoration: none;
	transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease);
}

.woocommerce-MyAccount-navigation a::before {
	content: "";
	flex: none;
	width: 19px;
	height: 19px;
	background-color: currentColor;
	-webkit-mask: var(--i-dot) center / contain no-repeat;
	mask: var(--i-dot) center / contain no-repeat;
}

.woocommerce-MyAccount-navigation-link--dashboard a::before { -webkit-mask-image: var(--i-cap); mask-image: var(--i-cap); }
.woocommerce-MyAccount-navigation-link--subscriptions a::before { -webkit-mask-image: var(--i-repeat); mask-image: var(--i-repeat); }
.woocommerce-MyAccount-navigation-link--orders a::before { -webkit-mask-image: var(--i-receipt); mask-image: var(--i-receipt); }
.woocommerce-MyAccount-navigation-link--downloads a::before { -webkit-mask-image: var(--i-download); mask-image: var(--i-download); }
.woocommerce-MyAccount-navigation-link--payment-methods a::before { -webkit-mask-image: var(--i-card); mask-image: var(--i-card); }
.woocommerce-MyAccount-navigation-link--edit-address a::before { -webkit-mask-image: var(--i-doc); mask-image: var(--i-doc); }
.woocommerce-MyAccount-navigation-link--edit-account a::before { -webkit-mask-image: var(--i-user); mask-image: var(--i-user); }
.woocommerce-MyAccount-navigation-link--customer-logout a::before { -webkit-mask-image: var(--i-logout); mask-image: var(--i-logout); }

.woocommerce-MyAccount-navigation li a:hover {
	background: var(--c-blue-tint);
	color: var(--c-blue-dark);
}

.woocommerce-MyAccount-navigation li.is-active a {
	background: var(--g-blue);
	color: #fff;
	box-shadow: var(--sh-blue);
}

.woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: var(--s-2);
	padding-top: var(--s-2);
	border-top: 1px solid var(--c-line);
}

.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--c-muted);
}

.woocommerce-account .woocommerce-MyAccount-content {
	grid-column: 2;
	grid-row: 1 / -1;
	float: none;
	width: auto;
	min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-MyAccount-content > h3,
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
	margin-top: 0;
	font-size: 1.5rem;
}

.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: var(--s-5);
}

.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after {
	display: none;
}

.woocommerce-account .woocommerce-Address {
	float: none;
	width: auto;
	padding: var(--s-5);
	border: 1px solid var(--c-line);
	border-radius: var(--r-lg);
}

.woocommerce-account .woocommerce-EditAccountForm fieldset {
	margin: var(--s-6) 0 0;
	padding: var(--s-5);
	border: 1px solid var(--c-line);
	border-radius: var(--r-lg);
}

.woocommerce-account .woocommerce-EditAccountForm legend {
	padding: 0 var(--s-2);
	font-weight: 700;
	color: var(--c-navy);
}

/* 9. PANEL KURSANTA (woocommerce/myaccount/dashboard.php) ----------------- */

.ag-dash {
	display: grid;
	gap: var(--s-5);
}

.ag-dash__hello {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--s-4);
	overflow: hidden;
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	border-radius: var(--r-lg);
	background: var(--g-club);
	color: #DCE8FD;
}

.ag-dash__hello::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(50% 90% at 90% 0%, rgba(255, 196, 61, 0.22) 0%, rgba(255, 196, 61, 0) 70%);
	pointer-events: none;
}

.ag-dash__hello > * {
	position: relative;
	z-index: 1;
}

.ag-dash__title {
	margin: 0;
	font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.2rem);
	color: #fff;
}

.ag-dash__text {
	max-width: 48ch;
	margin: var(--s-2) 0 0;
}

.ag-dash__hand {
	margin: 0;
	font-family: var(--f-hand);
	font-size: 2rem;
	font-weight: 700;
	color: var(--c-yellow);
	transform: rotate(-4deg);
}

.ag-dash__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--s-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.ag-dash__stats li {
	padding: var(--s-4);
	border: 1px solid var(--c-line);
	border-radius: var(--r-lg);
	background: var(--c-surface);
	text-align: center;
}

.ag-dash__stats strong {
	display: block;
	font-family: var(--f-display);
	font-size: 2rem;
	line-height: 1.1;
	color: var(--c-navy);
}

.ag-dash__stats span {
	font-size: var(--t-xs);
	color: var(--c-muted);
}

.ag-dash__heading {
	margin: var(--s-3) 0 var(--s-4);
	font-size: 1.4rem;
}

.ag-dash__community {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--s-4);
}

.ag-dash__community .ag-side-card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s-4);
}

.ag-dash__community .ag-side-card > div {
	flex: 1 1 160px;
}

.ag-dash__community .ag-side-card__name {
	margin: 0;
	font-weight: 600;
}

.ag-side-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 48px;
	height: 48px;
	border-radius: var(--r-md);
	background: var(--c-blue-tint);
	color: var(--c-blue);
}

.ag-side-card--discord .ag-side-card__icon {
	background: #EEF0FF;
	color: #5865F2;
}

.ag-side-card--discord {
	border-color: #DADDFE;
	background: #FAFAFF;
}

.ag-dash__empty {
	justify-content: flex-start;
}

/* 10. SKLEP I PRODUKT ----------------------------------------------------- */

.ag-shop {
	padding-block: var(--s-6) var(--s-section);
}

.ag-shop .woocommerce-products-header__title {
	font-size: clamp(2rem, 1.4rem + 2vw, 3rem);
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: var(--s-5);
	margin: 0 0 var(--s-6);
	padding: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
	float: none;
	width: auto;
	margin: 0;
	padding: 0 0 var(--s-5);
	overflow: hidden;
	border: 1px solid var(--c-line);
	border-radius: var(--r-lg);
	background: var(--c-surface);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: var(--sh-lg);
}

.woocommerce ul.products li.product a img {
	margin: 0 0 var(--s-4);
	border-radius: 0;
	aspect-ratio: 1;
	object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 var(--s-5);
	font-family: var(--f-display);
	font-size: 1.15rem;
	color: var(--c-navy);
}

.woocommerce ul.products li.product .price {
	padding: 0 var(--s-5);
	color: var(--c-navy);
	font-size: var(--t-sm);
}

.woocommerce ul.products li.product .button {
	margin: auto var(--s-5) 0;
}

.woocommerce span.onsale {
	min-width: 0;
	min-height: 0;
	padding: 4px 12px;
	border-radius: var(--r-full);
	background: var(--c-yellow);
	color: var(--c-navy);
	font-size: var(--t-xs);
	font-weight: 700;
	line-height: 1.4;
}

.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 1rem + 3vw, 4rem);
	align-items: start;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce div.product div.images img {
	border-radius: var(--r-xl);
}

.woocommerce div.product .product_title {
	font-size: clamp(1.9rem, 1.4rem + 1.8vw, 2.8rem);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--f-display);
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--c-navy);
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells {
	grid-column: 1 / -1;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-color: var(--c-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border-color: var(--c-line);
	border-radius: var(--r-md) var(--r-md) 0 0;
	background: var(--c-sky-2);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--c-surface);
}

.woocommerce div.product form.cart .button {
	min-height: 56px;
	padding-inline: 2rem;
	font-size: 1.0625rem;
}

.woocommerce .quantity .qty {
	width: 4.5rem;
	min-height: 48px;
	border: 1px solid var(--c-line);
	border-radius: var(--r-md);
}

.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
	color: #E8A317;
}

.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	justify-content: center;
	gap: var(--s-2);
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 44px;
	height: 44px;
	padding: 0 var(--s-3);
	border: 1px solid var(--c-line);
	border-radius: var(--r-full);
	line-height: 42px;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	border-color: var(--c-blue);
	background: var(--c-blue);
	color: #fff;
}

.woocommerce .woocommerce-breadcrumb {
	margin-bottom: var(--s-5);
	font-size: var(--t-sm);
	color: var(--c-muted);
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--c-muted);
}

.ag-crumbs__sep {
	margin: 0 var(--s-2);
	color: #9AA8BC;
}

/* 11. KOSZYK -------------------------------------------------------------- */

.woocommerce-cart table.cart img {
	width: 72px;
	border-radius: var(--r-sm);
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
	width: 180px;
	min-height: 44px;
	margin-right: var(--s-2);
	border: 1px solid var(--c-line);
	border-radius: var(--r-full);
}

.woocommerce .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	max-width: 480px;
	margin-left: auto;
	padding: var(--s-5);
	border: 1px solid var(--c-line);
	border-radius: var(--r-lg);
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
	width: 100%;
	min-height: 56px;
	font-size: 1.0625rem;
}

.woocommerce a.remove {
	color: var(--c-error) !important;
}

.woocommerce a.remove:hover {
	background: var(--c-error);
	color: #fff !important;
}

/* 12. RESPONSYWNOŚĆ ------------------------------------------------------- */

@media (max-width: 960px) {
	form.woocommerce-checkout {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"dane"
			"naglowek"
			"zamowienie";
	}

	form.woocommerce-checkout #order_review_heading {
		margin-top: var(--s-5);
	}

	form.woocommerce-checkout #order_review {
		position: static;
	}

	.woocommerce-account.logged-in .ag-canvas .woocommerce {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		grid-column: 1;
		grid-row: auto;
	}

	.woocommerce-MyAccount-navigation ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce-MyAccount-navigation-link--customer-logout {
		grid-column: 1 / -1;
	}

	.woocommerce div.product {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.woocommerce .col2-set.u-columns,
	.woocommerce-account .u-columns {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last {
		float: none;
		width: 100%;
	}

	form.woocommerce-checkout #customer_details,
	form.woocommerce-checkout #order_review_heading,
	form.woocommerce-checkout #order_review {
		padding-inline: var(--s-4);
	}

	.ag-dash__stats {
		gap: var(--s-2);
	}

	.ag-dash__stats li {
		padding: var(--s-3) var(--s-2);
	}

	.ag-dash__stats strong {
		font-size: 1.5rem;
	}

	.ag-dash__stats span {
		display: block;
		line-height: 1.3;
	}

	/* Komunikat z przyciskiem: przycisk nad tekstem, nie obok. */
	.woocommerce-message a.button,
	.woocommerce-info a.button {
		float: none;
		display: flex;
		width: fit-content;
		margin: 0 0 var(--s-3);
	}

	/* Tabele (zamówienia, pliki): każdy wiersz jako karta. */
	.woocommerce table.shop_table_responsive thead,
	.woocommerce table.my_account_orders thead {
		display: none;
	}

	.woocommerce table.shop_table_responsive tbody tr,
	.woocommerce table.my_account_orders tbody tr {
		display: block;
		border-top: 1px solid var(--c-line);
	}

	.woocommerce table.shop_table_responsive tbody tr:first-child,
	.woocommerce table.my_account_orders tbody tr:first-child {
		border-top: 0;
	}

	.woocommerce table.shop_table_responsive tbody th,
	.woocommerce table.shop_table_responsive tbody td,
	.woocommerce table.my_account_orders tbody th,
	.woocommerce table.my_account_orders tbody td {
		display: block;
		padding: 0.55rem var(--s-4);
		border: 0;
		background: none;
		text-align: right;
	}

	.woocommerce table.shop_table_responsive tbody td::before,
	.woocommerce table.shop_table_responsive tbody th::before,
	.woocommerce table.my_account_orders tbody td::before,
	.woocommerce table.my_account_orders tbody th::before {
		content: attr(data-title);
		float: left;
		margin-right: var(--s-3);
		font-weight: 700;
		color: var(--c-navy);
		text-align: left;
	}

	.woocommerce table.shop_table_responsive tbody td:not([data-title])::before,
	.woocommerce table.shop_table_responsive tbody th:not([data-title])::before {
		content: none;
	}

	.woocommerce-orders-table__cell-order-actions .button {
		margin: 0 0 0 var(--s-2);
	}
}
