/* =========================================================================
 * IRA — ostylowanie WooCommerce (My Account, formularze, koszyk, checkout).
 * Pure CSS (bez Tailwind compile). Ładowane TYLKO na stronach Woo.
 * Paleta zgodna z motywem: neutral-950 tło, neutral-100 tekst, akcent red-500/600.
 * Przyciski w klimacie rockowym: solid white -> hover inwersja.
 * ====================================================================== */

/* --- TYPOGRAFIA / SIATKA ----------------------------------------------- */
.woocommerce-account .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-page .woocommerce {
	color: #f4f4f5;
	max-width: 1440px;
	margin: 0 auto;
	padding: 2rem 1.5rem 4rem;
}

.woocommerce h1, .woocommerce h2, .woocommerce h3 {
	color: #fff;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.woocommerce h2 { font-size: 1.5rem; margin: 1.5rem 0 1rem; }
.woocommerce h3 { font-size: 1.1rem; margin: 1.25rem 0 0.5rem; }

.woocommerce p { line-height: 1.6; color: #d4d4d8; }
.woocommerce a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,0.3); text-underline-offset: 3px; transition: text-decoration-color 0.15s, color 0.15s; }
.woocommerce a:hover { color: #ef4444; text-decoration-color: #ef4444; }

/* --- MOJE KONTO: SIDEBAR + CONTENT ------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation {
	float: left;
	width: 240px;
	margin-right: 2rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(255,255,255,0.15);
	background: rgba(255,255,255,0.02);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	margin: 0;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 0.9rem 1.1rem;
	color: #d4d4d8;
	text-decoration: none;
	font-size: 0.95rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	background: rgba(255,255,255,0.05);
	color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: #fff;
	color: #0a0a0a;
}
.woocommerce-account .woocommerce-MyAccount-content {
	overflow: hidden;
	min-height: 320px;
}

/* --- FORMULARZE (login / register / addresses) ------------------------- */
.woocommerce form .form-row,
.woocommerce-page form .form-row {
	margin-bottom: 1.25rem;
}
.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.woocommerce form label,
.woocommerce-page form label {
	display: block;
	margin-bottom: 0.4rem;
	color: #f4f4f5;
	font-size: 0.85rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-weight: 600;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form input.input-text,
.woocommerce-page form input[type="text"],
.woocommerce-page form input[type="email"],
.woocommerce-page form input[type="tel"],
.woocommerce-page form input[type="password"],
.woocommerce-page form input[type="number"],
.woocommerce-page form textarea,
.woocommerce-page form select {
	width: 100%;
	padding: 0.85rem 1rem;
	background: rgba(255,255,255,0.04);
	color: #f4f4f5;
	border: 1px solid rgba(255,255,255,0.25);
	border-radius: 0;
	font: inherit;
	font-size: 1rem;
	line-height: 1.4;
	transition: border-color 0.15s, background 0.15s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-page form input:focus,
.woocommerce-page form textarea:focus,
.woocommerce-page form select:focus {
	outline: none;
	border-color: #fff;
	background: rgba(255,255,255,0.07);
}

.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input { color: #d4d4d8; }

.woocommerce form .form-row .required { color: #ef4444; text-decoration: none; }
.woocommerce form .form-row .optional { color: #71717a; }

/* Login/register dwie kolumny */
.woocommerce-account .u-columns,
.woocommerce-page .u-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	margin: 0;
}
@media (max-width: 768px) {
	.woocommerce-account .u-columns,
	.woocommerce-page .u-columns { grid-template-columns: 1fr; }
}
.woocommerce-account .u-column1,
.woocommerce-account .u-column2,
.woocommerce-page .u-column1,
.woocommerce-page .u-column2 {
	width: auto !important;
	float: none !important;
	padding: 2rem;
	border: 1px solid rgba(255,255,255,0.15);
	background: rgba(255,255,255,0.02);
}

/* --- PRZYCISKI --------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.wc-block-components-button,
.woocommerce #respond input#submit {
	display: inline-block;
	padding: 0.85rem 1.6rem;
	background: #fff;
	color: #0a0a0a;
	border: 1px solid #fff;
	border-radius: 0;
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
	line-height: 1.4;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover,
.wc-block-components-button:hover,
.woocommerce #respond input#submit:hover {
	background: transparent;
	color: #fff;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order {
	background: #ef4444;
	color: #fff;
	border-color: #ef4444;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover {
	background: transparent;
	color: #ef4444;
}

/* Lost password link */
.woocommerce-LostPassword { margin-top: 0.5rem; font-size: 0.85rem; }

/* --- NOTYFIKACJE ------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
	padding: 1rem 1.25rem;
	margin: 0 0 1.5rem;
	background: rgba(255,255,255,0.04);
	color: #f4f4f5;
	border: 1px solid rgba(255,255,255,0.2);
	border-left-width: 4px;
	list-style: none;
}
.woocommerce-message { border-left-color: #22c55e; }
.woocommerce-info    { border-left-color: #3b82f6; }
.woocommerce-error   { border-left-color: #ef4444; }

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }

/* --- TABELE (orders, addresses, cart) --------------------------------- */
.woocommerce table.shop_table,
.woocommerce table.my_account_orders {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid rgba(255,255,255,0.15);
	background: transparent;
	margin: 1rem 0;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 0.85rem 1rem;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	text-align: left;
	color: #d4d4d8;
}
.woocommerce table.shop_table th {
	background: rgba(255,255,255,0.04);
	color: #fff;
	font-weight: 700;
	font-size: 0.8rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.woocommerce table.shop_table tr:last-child td { border-bottom: 0; }

/* --- DASHBOARD MY ACCOUNT --------------------------------------------- */
.woocommerce-MyAccount-content .woocommerce-Address {
	padding: 1.25rem;
	border: 1px solid rgba(255,255,255,0.15);
	background: rgba(255,255,255,0.02);
	margin-bottom: 1rem;
}

/* --- CHECKBOXY -------------------------------------------------------- */
.woocommerce form .form-row.ira-fan-optin,
.woocommerce-page form .form-row.ira-fan-optin {
	padding: 1rem 1.25rem;
	background: rgba(239, 68, 68, 0.06);
	border: 1px solid rgba(239, 68, 68, 0.4);
	border-radius: 0;
}
.woocommerce form .form-row.ira-fan-optin label,
.woocommerce-page form .form-row.ira-fan-optin label {
	text-transform: none;
	font-weight: 500;
	letter-spacing: 0.02em;
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	color: #f4f4f5;
	margin-bottom: 0;
}

/* --- LIGHT MODE OVERRIDE ---------------------------------------------- */
html.light .woocommerce { color: #0a0a0a; }
html.light .woocommerce h1, html.light .woocommerce h2, html.light .woocommerce h3 { color: #000; }
html.light .woocommerce p { color: #3f3f46; }
html.light .woocommerce a { color: #000; }
html.light .woocommerce-account .woocommerce-MyAccount-navigation ul { background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.15); }
html.light .woocommerce-account .woocommerce-MyAccount-navigation ul li a { color: #3f3f46; }
html.light .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background: #0a0a0a; color: #fff; }
html.light .woocommerce form .form-row input.input-text,
html.light .woocommerce-page form input,
html.light .woocommerce-page form textarea,
html.light .woocommerce-page form select { background: rgba(0,0,0,0.03); color: #0a0a0a; border-color: rgba(0,0,0,0.25); }
html.light .woocommerce a.button { background: #0a0a0a; color: #fff; border-color: #0a0a0a; }
html.light .woocommerce a.button:hover { background: transparent; color: #0a0a0a; }
html.light .woocommerce-account .u-column1, html.light .woocommerce-account .u-column2,
html.light .woocommerce-page .u-column1, html.light .woocommerce-page .u-column2 {
	background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.15);
}


/* =========================================================================
 * IRA AUTH — Moje Konto (login/register) — pixel-perfect z arena App.tsx
 * Klasy .ira-auth__*  używane przez woocommerce/myaccount/form-login.php
 * Paleta: zinc-950 (#09090b), zinc-900 (#18181b), zinc-800 (#27272a),
 *         zinc-850 ~ rgba(36,36,40,1), red-600 #dc2626, red-700 #b91c1c.
 * Font serif: Georgia / Times jako fallback (theme nie ma loaded custom serif).
 * ====================================================================== */

.ira-auth {
	display: grid;
	grid-template-columns: 5fr 7fr;
	width: min(75vw, 1440px);
	max-width: 1440px;
	margin: 2.5rem auto 5rem;
	background: #09090b;
	border: 1px solid rgba(39, 39, 42, 0.8);
	border-radius: 24px; /* rounded-3xl */
	overflow: hidden;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7);
	color: #fff;
}
@media (max-width: 860px) {
	.ira-auth { grid-template-columns: 1fr; max-width: 520px; }
}

/* ===== LEWA KOLUMNA — IRA CLUB PERKS ===== */
.ira-auth__benefits {
	position: relative;
	padding: 2.5rem;
	background: linear-gradient(180deg, #18181b 0%, #000 100%);
	border-right: 1px solid #18181b;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 2rem;
	overflow: hidden;
}
.ira-auth__benefits-blur {
	position: absolute;
	top: 0;
	right: 0;
	width: 128px;
	height: 128px;
	background: rgba(220, 38, 38, 0.05); /* red-650/5 */
	border-radius: 50%;
	filter: blur(40px);
	pointer-events: none;
}
@media (max-width: 860px) {
	.ira-auth__benefits { padding: 2rem 1.5rem; border-right: 0; border-bottom: 1px solid #18181b; }
}

.ira-auth__benefits-top { display: flex; flex-direction: column; gap: 1.5rem; position: relative; z-index: 1; }

.ira-auth__brand-name {
	display: inline-block;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 1.5rem;
	font-weight: 900;
	letter-spacing: 0.15em;
	background: linear-gradient(90deg, #dc2626 0%, #f87171 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.ira-auth__brand-claim {
	margin: 0;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 1.125rem; /* text-lg */
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.025em;
	text-transform: uppercase;
}

.ira-auth__perks {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem; /* space-y-4 */
}
.ira-auth__perks li {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem; /* gap-2.5 */
	color: #a1a1aa; /* zinc-400 */
	font-size: 0.75rem; /* text-xs */
	line-height: 1.5;
}
.ira-auth__perks li svg {
	flex-shrink: 0;
	margin-top: 0.125rem;
	color: #ef4444; /* red-500 */
}

.ira-auth__benefits-bottom {
	position: relative;
	z-index: 1;
	padding-top: 1.5rem;
	border-top: 1px solid #18181b;
	color: #71717a;
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 700;
	line-height: 1.5;
}

/* ===== PRAWA KOLUMNA — FORMS ===== */
.ira-auth__forms {
	padding: 2.5rem;
	background: #09090b;
	display: flex;
	flex-direction: column;
	gap: 1.5rem; /* space-y-6 */
}
@media (max-width: 860px) {
	.ira-auth__forms { padding: 2rem 1.5rem; }
}

.ira-auth__tabs {
	display: flex;
	gap: 0.25rem;
	margin: -0.5rem 0 0;
	padding-bottom: 0;
	border-bottom: 1px solid #18181b;
}
.ira-auth__tab {
	flex: 1;
	padding: 0.85rem 0.5rem;
	background: transparent;
	color: #71717a;
	border: 0;
	border-bottom: 2px solid transparent;
	font: inherit;
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 700;
	cursor: pointer;
	margin-bottom: -1px;
	transition: color 0.2s, border-color 0.2s;
}
.ira-auth__tab:hover { color: #f4f4f5; }
.ira-auth__tab[aria-selected="true"] {
	color: #fff;
	border-bottom-color: #dc2626;
}

/* Panele — przełączane przez data-active */
.ira-auth__panel { display: none; }
.ira-auth[data-active="login"] .ira-auth__panel[data-panel="login"],
.ira-auth[data-active="register"] .ira-auth__panel[data-panel="register"] { display: flex; flex-direction: column; gap: 1.5rem; }
/* Fallback bez JS — pokaż oba stackowane */
.ira-auth:not([data-active]) .ira-auth__panel { display: flex; flex-direction: column; gap: 1.5rem; margin-bottom: 2rem; }

.ira-auth__panel-head { margin: 0; display: flex; flex-direction: column; gap: 0.25rem; }
.ira-auth__panel-head h3 {
	margin: 0;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 1.5rem; /* text-2xl */
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.025em;
	text-transform: uppercase;
	line-height: 1.15;
}
.ira-auth__panel-head p {
	margin: 0;
	color: #71717a;
	font-size: 0.75rem; /* text-xs */
	line-height: 1.6;
}

/* Formularz */
.ira-auth__form {
	display: flex;
	flex-direction: column;
	gap: 1rem; /* space-y-4 */
	margin: 0;
}
.ira-auth__field { display: flex; flex-direction: column; gap: 0.375rem; margin: 0; }
.ira-auth__field label {
	display: block;
	margin: 0;
	font-size: 0.625rem; /* text-[10px] */
	font-weight: 900;
	color: #71717a;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.4;
}
.ira-auth__field label .required {
	color: #dc2626;
	font-weight: 900;
	margin-left: 0.2rem;
}
.ira-auth__field-wrap {
	position: relative;
	display: block;
}
.ira-auth__field-icon {
	position: absolute;
	left: 0.875rem; /* left-3.5 */
	top: 50%;
	transform: translateY(-50%);
	color: #52525b; /* zinc-600 */
	pointer-events: none;
}
.ira-auth__field input.input-text,
.ira-auth .woocommerce-Input--text {
	width: 100% !important;
	padding: 0.75rem 1rem 0.75rem 2.75rem !important; /* py-3 pl-11 pr-4 */
	background: #18181b !important; /* zinc-900 */
	color: #fff !important;
	border: 1px solid rgba(36, 36, 40, 1) !important; /* zinc-850 ~ */
	border-radius: 12px !important; /* rounded-xl */
	font-size: 0.75rem !important; /* text-xs */
	line-height: 1.5;
	font-family: inherit;
	transition: border-color 0.2s, background 0.2s;
}
.ira-auth__field input.input-text::placeholder { color: #52525b; }
.ira-auth__field input.input-text:focus,
.ira-auth .woocommerce-Input--text:focus {
	outline: none;
	border-color: #ef4444 !important; /* red-500 */
	background: #18181b !important;
}

.ira-auth__hint {
	margin: 0;
	padding: 0.75rem 1rem;
	background: rgba(220, 38, 38, 0.05);
	border: 1px solid rgba(220, 38, 38, 0.2);
	border-radius: 12px;
	color: #a1a1aa;
	font-size: 0.75rem;
}

/* Checkbox terms (rejestracja) */
.ira-auth__terms {
	display: flex !important;
	align-items: flex-start;
	gap: 0.625rem;
	padding-top: 0.5rem;
	margin: 0 !important;
	cursor: pointer;
	color: #71717a;
	font-size: 0.625rem; /* text-[10px] */
	line-height: 1.5;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-weight: 500 !important;
}
.ira-auth__terms input[type="checkbox"] {
	margin: 0.15rem 0 0;
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	accent-color: #dc2626;
	background: #18181b;
}

/* Login row inline (remember me + lost pass) */
.ira-auth__row-inline {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin: 0;
}
.ira-auth__row-inline label {
	display: flex !important;
	align-items: center;
	gap: 0.5rem;
	margin: 0 !important;
	color: #a1a1aa;
	font-size: 0.75rem !important;
	text-transform: none !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	cursor: pointer;
}
.ira-auth__row-inline input[type="checkbox"] {
	width: 14px; height: 14px; accent-color: #dc2626;
}
.ira-auth__lost {
	color: #71717a;
	font-size: 0.75rem;
	text-decoration: none;
}
.ira-auth__lost:hover { color: #ef4444; text-decoration: underline; }

/* CTA submit — gradient z arena */
.ira-auth__submit { margin: 0.25rem 0 0; padding: 0; }
.ira-auth__cta {
	display: block !important;
	width: 100% !important;
	padding: 1rem 1.5rem !important; /* py-4 */
	background: linear-gradient(90deg, #dc2626 0%, #b91c1c 100%) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 12px !important; /* rounded-xl */
	font-size: 0.8rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	cursor: pointer;
	box-shadow: 0 10px 25px -8px rgba(220, 38, 38, 0.35);
	transition: background 0.3s, transform 0.05s, box-shadow 0.3s;
	font-family: inherit;
}
.ira-auth__cta:hover {
	background: linear-gradient(90deg, #ef4444 0%, #dc2626 100%) !important;
	box-shadow: 0 14px 32px -8px rgba(220, 38, 38, 0.55);
}
.ira-auth__cta:active { transform: translateY(1px); }

/* Switch link na dole panelu */
.ira-auth__switch {
	text-align: center;
	margin: 0.25rem 0 0;
	padding-top: 0.5rem;
}
.ira-auth__switch-link {
	background: transparent;
	border: 0;
	padding: 0;
	color: #71717a;
	font-size: 0.75rem;
	font-weight: 500;
	cursor: pointer;
	font-family: inherit;
	transition: color 0.2s;
}
.ira-auth__switch-link:hover { color: #ef4444; }

/* Czerwone akcenty dla wymaganych pól / required asterisks Woo */
.ira-auth .required { color: #dc2626; text-decoration: none; }

/* Light mode delikatne (jeśli toggle aktywny) */
html.light .ira-auth { background: #fff; border-color: rgba(0,0,0,0.1); }
html.light .ira-auth__benefits { background: linear-gradient(180deg, #f4f4f5 0%, #e4e4e7 100%); border-right-color: rgba(0,0,0,0.06); }
html.light .ira-auth__brand-claim { color: #0a0a0a; }
html.light .ira-auth__perks li { color: #52525b; }
html.light .ira-auth__benefits-bottom { color: #71717a; border-top-color: rgba(0,0,0,0.06); }
html.light .ira-auth__forms { background: #fff; }
html.light .ira-auth__panel-head h3 { color: #0a0a0a; }
html.light .ira-auth__panel-head p { color: #52525b; }
html.light .ira-auth__field label { color: #71717a; }
html.light .ira-auth__field input.input-text {
	background: #fafafa !important; color: #0a0a0a !important;
	border-color: rgba(0,0,0,0.1) !important;
}
html.light .ira-auth__field input.input-text:focus { background: #fff !important; border-color: #dc2626 !important; }
html.light .ira-auth__tab[aria-selected="true"] { color: #0a0a0a; }
html.light .ira-auth__row-inline label { color: #52525b; }


/* =========================================================================
 * IRA-FANCLUB PLUGIN: opt-in checkbox + Woo privacy notice — stylowanie
 * spójne z .ira-auth* (klimat arena: zinc-900 tło, red akcent).
 * Plugin renderuje .ira-fan-optin przez hook woocommerce_register_form.
 * ====================================================================== */

.ira-auth .ira-fan-optin {
	padding: 0.875rem 1rem;
	margin: 0.25rem 0;
	background: rgba(220, 38, 38, 0.06);
	border: 1px solid rgba(220, 38, 38, 0.35);
	border-radius: 12px;
}
.ira-auth .ira-fan-optin label {
	display: flex !important;
	align-items: flex-start;
	gap: 0.625rem;
	margin: 0 !important;
	cursor: pointer;
	color: #f4f4f5;
	font-size: 0.75rem !important;
	line-height: 1.5;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.ira-auth .ira-fan-optin input[type="checkbox"] {
	margin: 0.15rem 0 0 !important;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	accent-color: #dc2626;
}

/* Woo: privacy policy notice (pojawia się przy rejestracji jeśli ustawiona) */
.ira-auth .woocommerce-privacy-policy-text,
.ira-auth .woocommerce-privacy-policy-text p {
	margin: 0 !important;
	padding: 0;
	color: #71717a;
	font-size: 0.7rem;
	line-height: 1.6;
}
.ira-auth .woocommerce-privacy-policy-text {
	padding: 0.75rem 0;
	margin: 0;
}
.ira-auth .woocommerce-privacy-policy-text a,
.ira-auth .woocommerce-privacy-policy-text a:hover {
	color: #f4f4f5;
	text-decoration: underline;
	text-decoration-color: rgba(220, 38, 38, 0.5);
	text-underline-offset: 3px;
}
.ira-auth .woocommerce-privacy-policy-text a:hover {
	color: #ef4444;
	text-decoration-color: #ef4444;
}

/* Woo password strength meter (jeśli włączony) */
.ira-auth .woocommerce-password-strength {
	font-size: 0.7rem;
	padding: 0.4rem 0.6rem;
	margin-top: 0.4rem;
	border-radius: 8px;
}

/* Override: gdy plugin/Woo wstrzykną własne <p class="form-row">, nie traci flex layoutu */
.ira-auth__form > p.form-row,
.ira-auth__form > div.form-row {
	margin: 0;
}


/* =========================================================================
 * IRA WOO WRAPPER — kontener dla stron WooCommerce
 * Używany przez themes/ira/woocommerce.php
 * ====================================================================== */
.ira-woo {
	width: 100%;
	margin: 0 auto;
	padding: 2rem 1.5rem 4rem;
	color: #f4f4f5;
}
.ira-woo-default { max-width: 1440px; }
.ira-woo-wide    { max-width: 1440px; }

/* Specjalnie dla strony My Account z formularzem login (bez kontenera max-w —
 * .ira-auth ma własne max-width: 1280px). */
.ira-woo-wide .woocommerce > .ira-auth { max-width: none; margin: 2.5rem auto 5rem; }


/* =========================================================================
 * SAFETY NET — gdyby strona Woo została jednak owinięta w wąski kontener
 * (np. inny plugin nadpisuje template), wymuszamy szerokość.
 * Specyficzność wzmocniona body.woocommerce-* żeby nie wyciekło na inne strony.
 * ====================================================================== */
body.woocommerce-account .max-w-3xl,
body.woocommerce-cart .max-w-3xl,
body.woocommerce-checkout .max-w-3xl,
body.woocommerce-page .max-w-3xl,
body.woocommerce .max-w-3xl {
	max-width: 1280px !important;
	width: 100% !important;
}
body.woocommerce-account article.prose,
body.woocommerce-cart article.prose,
body.woocommerce-checkout article.prose,
body.woocommerce-page article.prose,
body.woocommerce article.prose {
	all: unset; display: block; width: 100%;
}


/* =========================================================================
 * IRA Account Nav — dropdown menu Woo (zamiast bocznego sidebar)
 * Override przez woocommerce/myaccount/navigation.php
 * ====================================================================== */

/* Pierwsze: layout — wyłącz Woo two-column, treść full width */
.woocommerce-account .woocommerce-MyAccount-content {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

/* Ukryj domyślne boczne menu, bo zastępujemy je własnym dropdownem */
.woocommerce-account .woocommerce-MyAccount-navigation {
	width: auto !important;
	float: none !important;
	margin: 0 0 1.5rem !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation > ul {
	display: none; /* original ul ukryty — używamy override navigation.php */
}

/* Wrapper dropdown — prawy górny róg karty My Account */
.ira-acct-nav {
	position: sticky;
	top: 1rem;
	display: flex;
	justify-content: flex-end;
	margin: 0 0 1.5rem;
	z-index: 30;
}

/* Toggle button */
.ira-acct-nav__toggle {
	display: inline-flex; align-items: center; gap: 0.6rem;
	padding: 0.65rem 1rem 0.65rem 0.85rem;
	background: rgba(255,255,255,0.04);
	color: #f4f4f5;
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 999px;
	font: inherit;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s;
}
.ira-acct-nav__toggle:hover {
	background: rgba(220, 38, 38, 0.1);
	border-color: rgba(220, 38, 38, 0.4);
}
.ira-acct-nav__toggle svg { color: #ef4444; flex-shrink: 0; }
.ira-acct-nav__label {
	text-transform: uppercase;
	letter-spacing: 0.05em;
	max-width: 220px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ira-acct-nav__chev {
	margin-left: 0.25rem;
	color: #a1a1aa;
	transition: transform 0.2s;
}
.ira-acct-nav[data-state="open"] .ira-acct-nav__chev { transform: rotate(180deg); }
.ira-acct-nav[data-state="open"] .ira-acct-nav__toggle {
	background: rgba(220, 38, 38, 0.1);
	border-color: rgba(220, 38, 38, 0.4);
}

/* Lista dropdownu */
.ira-acct-nav__list {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	min-width: 280px;
	background: #18181b;
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 14px;
	box-shadow: 0 20px 40px -10px rgba(0,0,0,0.6);
	opacity: 0;
	transform: translateY(-8px) scale(0.97);
	pointer-events: none;
	transition: opacity 0.15s, transform 0.15s;
	overflow: hidden;
}
.ira-acct-nav[data-state="open"] .ira-acct-nav__list {
	opacity: 1;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}
.ira-acct-nav__list ul {
	list-style: none;
	margin: 0;
	padding: 0.5rem;
}
.ira-acct-nav__list li {
	margin: 0;
}
.ira-acct-nav__list a {
	display: flex; align-items: center; justify-content: space-between;
	padding: 0.7rem 0.85rem;
	color: #d4d4d8;
	text-decoration: none !important;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	border-radius: 8px;
	transition: background 0.15s, color 0.15s;
}
.ira-acct-nav__list a:hover {
	background: rgba(220, 38, 38, 0.1);
	color: #fff;
}
.ira-acct-nav__list li.is-active a {
	background: linear-gradient(90deg, rgba(220,38,38,0.2), rgba(220,38,38,0.05));
	color: #fff;
}
.ira-acct-nav__list li.is-active a svg { color: #ef4444; }

/* Separator przed "Wyloguj" (zakłada że ostatni item to logout) */
.ira-acct-nav__list li:last-child {
	margin-top: 0.5rem;
	padding-top: 0.5rem;
	border-top: 1px solid rgba(255,255,255,0.06);
}
.ira-acct-nav__list li:last-child a { color: #ef4444; }
.ira-acct-nav__list li:last-child a:hover { background: rgba(220,38,38,0.15); color: #fca5a5; }

/* Light mode */
html.light .ira-acct-nav__toggle { background: rgba(0,0,0,0.04); color: #0a0a0a; border-color: rgba(0,0,0,0.12); }
html.light .ira-acct-nav__list { background: #fff; border-color: rgba(0,0,0,0.1); }
html.light .ira-acct-nav__list a { color: #3f3f46; }
html.light .ira-acct-nav__list a:hover { color: #0a0a0a; }

/* Fix natywnego dropdown <option> dla selectów w My Account */
.woocommerce select, .ira-auth select { color-scheme: dark; }
.woocommerce option, .ira-auth option { background-color: #18181b; color: #f4f4f5; }
html.light .woocommerce select, html.light .ira-auth select { color-scheme: light; }
html.light .woocommerce option, html.light .ira-auth option { background-color: #fff; color: #0a0a0a; }

/* === Logo IRA w lewej kolumnie auth (zamiast napisu IRA CLUB) === */
.ira-auth__brand-logo {
	display: inline-block;
	max-width: 200px;
	line-height: 0;
}
.ira-auth__brand-logo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 80px;
	object-fit: contain;
}
@media (max-width: 860px) {
	.ira-auth__brand-logo { max-width: 160px; }
	.ira-auth__brand-logo img { max-height: 64px; }
}

/* =========================================================================
 * IRA — BLOCK CHECKOUT (WooCommerce Blocks: .wc-block-components-*)
 * Naprawa czytelności w trybie dark (default) i light.
 * Problem: pola bloków mają domyślne białe tło Woo, a tekst/etykiety
 * dziedziczą #f4f4f5 z .ira-woo -> biały tekst na białym tle. Select kraju
 * ma dodatkowy biały kontener (.wc-blocks-components-select__container).
 * Dodatkowo: znacznik ✓ checkboxa "ten sam adres" rozjeżdżał się pod pole.
 * ====================================================================== */

/* --- POLA / SELECTY: DARK (default) --- */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-block-components-textarea,
body.woocommerce-checkout .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-checkout select {
	background: rgba(255, 255, 255, 0.04) !important;
	color: #f4f4f5 !important;
	border-color: rgba(255, 255, 255, 0.25) !important;
	color-scheme: dark;
}
body.woocommerce-checkout .wc-blocks-components-select__container {
	background: rgba(255, 255, 255, 0.04) !important;
}
body.woocommerce-checkout .wc-blocks-components-select__container .wc-blocks-components-select__select {
	background: transparent !important;
}
body.woocommerce-checkout .wc-block-components-text-input input::placeholder,
body.woocommerce-checkout .wc-block-components-text-input textarea::placeholder {
	color: #a1a1aa !important;
	opacity: 1;
}
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-blocks-components-select__label {
	color: #a1a1aa !important;
}
body.woocommerce-checkout .wc-block-components-text-input.is-active label {
	color: #f4f4f5 !important;
}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input textarea:focus,
body.woocommerce-checkout .wc-blocks-components-select__select:focus {
	border-color: #fff !important;
}
body.woocommerce-checkout .wc-block-checkout option,
body.woocommerce-checkout .wc-blocks-components-select__select option {
	background: #18181b;
	color: #f4f4f5;
}

/* --- POLA / SELECTY: LIGHT --- */
html.light .ira-woo { color: #0a0a0a; }
html.light body.woocommerce-checkout .wc-block-components-text-input input,
html.light body.woocommerce-checkout .wc-block-components-text-input textarea,
html.light body.woocommerce-checkout .wc-blocks-components-select__select,
html.light body.woocommerce-checkout .wc-block-checkout select {
	background: #fff !important;
	color: #0a0a0a !important;
	border-color: rgba(0, 0, 0, 0.2) !important;
	color-scheme: light;
}
html.light body.woocommerce-checkout .wc-blocks-components-select__container { background: #fff !important; }
html.light body.woocommerce-checkout .wc-blocks-components-select__container .wc-blocks-components-select__select {
	background: transparent !important;
	color: #0a0a0a !important;
}
html.light body.woocommerce-checkout .wc-block-components-text-input label,
html.light body.woocommerce-checkout .wc-blocks-components-select__label { color: #52525b !important; }
html.light body.woocommerce-checkout .wc-block-components-text-input input::placeholder,
html.light body.woocommerce-checkout .wc-block-components-text-input textarea::placeholder { color: #71717a !important; }
html.light body.woocommerce-checkout .wc-block-components-totals-item__label,
html.light body.woocommerce-checkout .wc-block-components-totals-item__value,
html.light body.woocommerce-checkout .wc-block-components-checkout-step__title,
html.light body.woocommerce-checkout .wc-block-components-radio-control__label,
html.light body.woocommerce-checkout .wc-block-components-checkbox__label,
html.light body.woocommerce-checkout .wc-block-components-order-summary-item__description,
html.light body.woocommerce-checkout .wc-block-components-product-metadata { color: #0a0a0a !important; }
html.light body.woocommerce-checkout .wc-block-checkout option,
html.light body.woocommerce-checkout .wc-blocks-components-select__select option { background: #fff; color: #0a0a0a; }

/* --- CHECKBOX "ten sam adres": ✓ nakładany na pole (oba tryby) --- */
body.woocommerce-checkout .wc-block-components-checkbox label {
	display: flex !important;
	align-items: flex-start;
	position: relative;
}
body.woocommerce-checkout .wc-block-components-checkbox__input { flex: 0 0 auto; }
body.woocommerce-checkout .wc-block-components-checkbox__mark {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	pointer-events: none;
	fill: #0a0a0a !important;
}

/* =====================================================================
 * Adresy konta — własny układ (override my-address.php).
 * Czysty grid kart zamiast Woo u-columns/col2-set (kolizje + odwracanie).
 * ===================================================================== */
.ira-addresses__intro {
	margin: 0 0 1.5rem;
	color: #a1a1aa;
	font-size: 0.9rem;
}
.ira-addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}
@media (max-width: 768px) {
	.ira-addresses { grid-template-columns: 1fr; }
}
.ira-address-card {
	display: flex;
	flex-direction: column;
	padding: 1.75rem;
	border: 1px solid rgba(255, 255, 255, 0.15);
	background: rgba(255, 255, 255, 0.02);
}
.ira-address-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}
.ira-address-card__head h2 {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #fff;
}
.ira-address-card__edit {
	flex: 0 0 auto;
	padding: 0.4rem 0.9rem;
	border: 1px solid rgba(220, 38, 38, 0.45);
	color: #f87171;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.ira-address-card__edit:hover {
	background: rgba(220, 38, 38, 0.12);
	border-color: #dc2626;
	color: #fff;
}
.ira-address-card__body {
	flex: 1 1 auto;
	margin: 0;
	color: #a1a1aa;
	font-style: normal;
	font-size: 0.9rem;
	line-height: 1.6;
}
.ira-address-card.is-empty .ira-address-card__body { color: #71717a; }

/* Light mode */
html.light .ira-address-card { border-color: rgba(0, 0, 0, 0.12); background: rgba(0, 0, 0, 0.02); }
html.light .ira-address-card__head h2 { color: #18181b; }
html.light .ira-address-card__body { color: #52525b; }
html.light .ira-addresses__intro { color: #52525b; }

/* Notyfikacje Woo w trybie jasnym — bez tego biały tekst na białym tle
   (np. "Pliki do pobrania nie są jeszcze dostępne"). Lewy akcent zostaje. */
html.light .woocommerce-message,
html.light .woocommerce-info,
html.light .woocommerce-error,
html.light .woocommerce-notice {
	background: rgba(0, 0, 0, 0.03);
	color: #18181b;
	border-top-color: rgba(0, 0, 0, 0.12);
	border-right-color: rgba(0, 0, 0, 0.12);
	border-bottom-color: rgba(0, 0, 0, 0.12);
}
