/**
 * Global Rentier — WooCommerce styling
 *
 * Stylowanie stron WC (cart, checkout, my-account) pod design IRC:
 *   - dark background #0A0A0A
 *   - gold accent #C8A759
 *   - Playfair Display dla nagłówków
 *   - Inter dla body
 *   - square corners
 *
 * Pokrywa zarówno classic shortcode jak i WC Blocks.
 */

:root {
	--gr-wc-bg:        #0A0A0A;
	--gr-wc-bg-card:   #0D0D15;
	--gr-wc-gold:      #C8A759;
	--gr-wc-gold-soft: rgba(200, 167, 89, 0.15);
	--gr-wc-text:      #DDDDDD;
	--gr-wc-text-dim:  #888888;
	--gr-wc-border:    rgba(255, 255, 255, 0.08);
	--gr-wc-border-strong: rgba(200, 167, 89, 0.35);
	--gr-wc-error:     #ef4444;
	--gr-wc-success:   #22c55e;
	--gr-wc-font-h:    'Playfair Display', Georgia, serif;
}

/* ════════════════════════════════════════════════════════════════
   PAGE WRAPPER — czarne tło + złoty padding
   ════════════════════════════════════════════════════════════════ */
.woocommerce-cart .gr-site-main,
.woocommerce-checkout .gr-site-main,
.woocommerce-account .gr-site-main,
.woocommerce-page .gr-site-main,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
	background: var(--gr-wc-bg) !important;
	color: var(--gr-wc-text);
	min-height: 100vh;
}

/* Wszystkie WC pages — padding-top żeby content nie nakładał się na navbar
   (działa dla domyślnego page.php — gdy strona nie używa template-shop.php) */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
	max-width: 1200px;
	margin: 0 auto;
	padding: 120px 24px 80px;
	color: var(--gr-wc-text);
}
@media (max-width: 768px) {
	.woocommerce-cart .entry-content,
	.woocommerce-checkout .entry-content,
	.woocommerce-account .entry-content {
		padding: 80px 16px 60px;
	}
}

/* ════════════════════════════════════════════════════════════════
   TEMPLATE-SHOP.PHP — dedykowany page template dla stron WC
   Daje 100% kontrolę nad spacing od navbara, czyste tło, hero header
   ════════════════════════════════════════════════════════════════ */
.gr-shop-template {
	background: var(--gr-wc-bg, #0A0A0A);
	color: var(--gr-wc-text, #DDDDDD);
	min-height: 100vh;
	padding: 0 0 80px;
}

/* Gdy używamy template-shop.php, nie potrzebujemy entry-content padding
   (template ma własny container z proper top spacing) */
.gr-shop-template .entry-content {
	padding: 0 !important;
	max-width: none !important;
	margin: 0 !important;
}

.gr-shop-template__hero {
	padding: 140px 0 32px;
	background: linear-gradient(180deg, rgba(200,167,89,0.04), transparent 80%);
	border-bottom: 1px solid var(--gr-wc-border, rgba(255,255,255,0.08));
	margin-bottom: 48px;
	text-align: center;
}

.gr-shop-template__container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.gr-shop-template__title {
	font-family: var(--gr-wc-font-h, 'Playfair Display', serif);
	color: #FFFFFF;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 400;
	margin: 0 0 12px;
	letter-spacing: -.01em;
	line-height: 1.15;
}

.gr-shop-template__subtitle {
	color: var(--gr-wc-text-dim, #888888);
	font-size: 1rem;
	margin: 0 auto;
	max-width: 640px;
	line-height: 1.6;
}

.gr-shop-template__divider {
	width: 40px;
	height: 2px;
	background: var(--gr-wc-gold, #C8A759);
	margin: 24px auto 0;
}

.gr-shop-template__content {
	color: var(--gr-wc-text, #DDDDDD);
}

.gr-shop-template__article {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
}

/* Page content typography (regulamin, polityka prywatnosci, inne legal pages) */
.gr-shop-template__article .entry-content h1,
.gr-shop-template__article .entry-content h2,
.gr-shop-template__article .entry-content h3,
.gr-shop-template__article .entry-content h4 {
	font-family: var(--gr-wc-font-h);
	color: #FFFFFF;
	font-weight: 400;
	margin: 36px 0 14px;
	line-height: 1.3;
}
.gr-shop-template__article .entry-content h1 {
	font-size: 2rem;
	color: var(--gr-wc-gold);
}
.gr-shop-template__article .entry-content h2 {
	font-size: 1.5rem;
	color: var(--gr-wc-gold);
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(200,167,89,.2);
}
.gr-shop-template__article .entry-content h3 {
	font-size: 1.2rem;
	color: #FFFFFF;
}
.gr-shop-template__article .entry-content p {
	color: #DDDDDD;
	font-size: 1rem;
	line-height: 1.75;
	margin: 0 0 18px;
}
.gr-shop-template__article .entry-content em {
	color: var(--gr-wc-text-dim);
	font-style: italic;
}
.gr-shop-template__article .entry-content strong {
	color: #FFFFFF;
	font-weight: 600;
}
.gr-shop-template__article .entry-content ul,
.gr-shop-template__article .entry-content ol {
	color: #DDDDDD;
	line-height: 1.75;
	margin: 0 0 20px;
	padding-left: 22px;
}
.gr-shop-template__article .entry-content li {
	margin-bottom: 8px;
}
.gr-shop-template__article .entry-content ul li::marker {
	color: var(--gr-wc-gold);
}
.gr-shop-template__article .entry-content ol li::marker {
	color: var(--gr-wc-gold);
	font-weight: 600;
}
.gr-shop-template__article .entry-content a {
	color: var(--gr-wc-gold);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.gr-shop-template__article .entry-content a:hover {
	color: #FFFFFF;
}
.gr-shop-template__article .entry-content blockquote {
	border-left: 3px solid var(--gr-wc-gold);
	padding: 8px 0 8px 18px;
	margin: 20px 0;
	color: var(--gr-wc-text-dim);
	font-style: italic;
}
.gr-shop-template__article .entry-content hr {
	border: none;
	border-top: 1px solid var(--gr-wc-border);
	margin: 32px 0;
}

@media (max-width: 768px) {
	.gr-shop-template { padding: 0 0 60px; }
	.gr-shop-template__hero { padding: 90px 0 24px; margin-bottom: 32px; }
	.gr-shop-template__container { padding: 0 16px; }
}

.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
	font-family: var(--gr-wc-font-h);
	color: #FFF !important;
	font-weight: 400;
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	margin: 0 0 32px;
	letter-spacing: -.01em;
}

/* ════════════════════════════════════════════════════════════════
   GLOBAL TYPOGRAPHY w sekcji WC
   ════════════════════════════════════════════════════════════════ */
.woocommerce h1, .woocommerce h2, .woocommerce h3, .woocommerce h4,
.wc-block-checkout h1, .wc-block-checkout h2, .wc-block-checkout h3,
.wc-block-cart h1, .wc-block-cart h2 {
	font-family: var(--gr-wc-font-h);
	color: #FFF;
	font-weight: 400;
}

/* Linki w sekcjach WC — gold accent.
   UWAGA: scope NA SEKCJE WC, nie na body.woocommerce, żeby nie łapać
   Elementor headera ani topbara które mają własne style. */
.woocommerce-cart-form a,
.woocommerce-cart .cart_totals a,
.woocommerce-checkout-review-order a,
.woocommerce-checkout #order_review a,
.woocommerce-billing-fields a,
.woocommerce-additional-fields a,
.woocommerce-MyAccount-content a,
.woocommerce-MyAccount-navigation a,
.woocommerce-order a,
.wc-block-cart-items a,
.wc-block-checkout__form a,
.wc-block-components-totals-wrapper a {
	color: var(--gr-wc-gold);
	transition: color .2s;
}
.woocommerce-cart-form a:hover,
.woocommerce-cart .cart_totals a:hover,
.woocommerce-checkout-review-order a:hover,
.woocommerce-checkout #order_review a:hover,
.woocommerce-billing-fields a:hover,
.woocommerce-additional-fields a:hover,
.woocommerce-MyAccount-content a:hover,
.woocommerce-order a:hover,
.wc-block-cart-items a:hover,
.wc-block-checkout__form a:hover,
.wc-block-components-totals-wrapper a:hover {
	color: #FFF;
}
/* My Account navigation hover ma już własną regułę (linkach, gold border-left) */

/* ════════════════════════════════════════════════════════════════
   FORM FIELDS — inputs, selects, textarea
   ════════════════════════════════════════════════════════════════ */
.woocommerce form .form-row label,
.woocommerce-checkout label,
.wc-block-components-form label,
.wc-block-components-checkbox__label,
.woocommerce-additional-fields__field-wrapper label {
	display: block;
	color: var(--gr-wc-text-dim);
	font-size: .72rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 6px;
}

.woocommerce form .form-row input,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select select,
.wc-block-components-country-input input,
.wc-block-components-state-input input {
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid var(--gr-wc-border) !important;
	color: #FFF !important;
	padding: 13px 14px !important;
	font-family: inherit !important;
	font-size: .95rem !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transition: all .2s ease;
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
}

.woocommerce form .form-row input:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus,
.wc-block-components-select select:focus {
	outline: none !important;
	border-color: var(--gr-wc-gold) !important;
	background: rgba(200, 167, 89, 0.06) !important;
	box-shadow: 0 0 0 1px var(--gr-wc-gold) !important;
}

/* Select dropdown arrow */
.woocommerce form .form-row select,
.wc-block-components-select select {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'><path d='M2 4l4 4 4-4' stroke='%23C8A759' stroke-width='1.5'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	padding-right: 36px !important;
}

/* WC Blocks specific text input wrapper */
.wc-block-components-text-input {
	background: transparent;
	border: none;
}
.wc-block-components-text-input input {
	margin-top: 0;
}
/* Floating label fix for blocks */
.wc-block-components-text-input label {
	color: var(--gr-wc-text-dim) !important;
	background: var(--gr-wc-bg) !important;
	padding: 0 6px !important;
}

/* Checkbox + radio */
.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"],
.wc-block-components-checkbox input[type="checkbox"],
.wc-block-components-radio-control input[type="radio"],
.gr-irc-checkout-consent input[type="checkbox"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 18px !important;
	height: 18px !important;
	background-color: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid var(--gr-wc-border) !important;
	margin-right: 8px;
	cursor: pointer;
	position: relative !important;
	flex-shrink: 0;
	border-radius: 0 !important;
	box-shadow: none !important;
	min-width: 18px;
}
.woocommerce input[type="radio"],
.wc-block-components-radio-control input[type="radio"] {
	border-radius: 50% !important;
}
.woocommerce input[type="checkbox"]:checked,
.wc-block-components-checkbox input[type="checkbox"]:checked,
.gr-irc-checkout-consent input[type="checkbox"]:checked {
	background-color: #C8A759 !important;
	border-color: #C8A759 !important;
}
.woocommerce input[type="checkbox"]:checked::after,
.wc-block-components-checkbox input[type="checkbox"]:checked::after,
.gr-irc-checkout-consent input[type="checkbox"]:checked::after {
	content: '✓';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #0A0A0A !important;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	pointer-events: none;
}
/* Focus state — gold outline zamiast brzydkiego niebieskiego browser default */
.woocommerce input[type="checkbox"]:focus,
.woocommerce input[type="radio"]:focus,
.wc-block-components-checkbox input[type="checkbox"]:focus,
.wc-block-components-radio-control input[type="radio"]:focus,
.gr-irc-checkout-consent input[type="checkbox"]:focus {
	outline: 2px solid rgba(200, 167, 89, 0.4) !important;
	outline-offset: 2px;
	box-shadow: none !important;
}
.woocommerce input[type="checkbox"]:focus:not(:focus-visible),
.gr-irc-checkout-consent input[type="checkbox"]:focus:not(:focus-visible) {
	outline: none !important;
}
/* Tekst label nie podświetla się przy kliknięciu */
.gr-irc-checkout-consent {
	user-select: none;
}
.gr-irc-checkout-consent a {
	user-select: text; /* linki muszą być selectable */
}
.woocommerce input[type="radio"]:checked,
.wc-block-components-radio-control input[type="radio"]:checked {
	border-color: var(--gr-wc-gold);
}
.woocommerce input[type="radio"]:checked::after,
.wc-block-components-radio-control input[type="radio"]:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 8px;
	height: 8px;
	background: var(--gr-wc-gold);
	border-radius: 50%;
}

/* ════════════════════════════════════════════════════════════════
   BUTTONS — primary (gold), secondary (ghost)
   ════════════════════════════════════════════════════════════════ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #place_order,
.woocommerce .checkout-button,
.wc-block-components-button:not(.wc-block-components-button--text) {
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
	border: 2px solid var(--gr-wc-gold) !important;
	padding: 14px 28px !important;
	font-family: inherit !important;
	font-size: .82rem !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: all .25s ease !important;
	border-radius: 0 !important;
	text-decoration: none !important;
	box-shadow: 0 4px 16px rgba(200, 167, 89, 0.2);
	min-height: auto !important;
	line-height: 1.2 !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #place_order:hover,
.woocommerce .checkout-button:hover,
.wc-block-components-button:not(.wc-block-components-button--text):hover {
	background: #0A0A0A !important;
	color: var(--gr-wc-gold) !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(200, 167, 89, 0.4);
}

.woocommerce button.button:disabled,
.woocommerce input.button:disabled,
.wc-block-components-button:disabled {
	opacity: .5;
	cursor: not-allowed;
	transform: none !important;
}

/* Secondary / outline buttons */
.woocommerce a.button.alt,
.woocommerce-cart .return-to-shop a,
.wc-block-components-button.outlined {
	background: transparent !important;
	color: var(--gr-wc-gold) !important;
	border-color: var(--gr-wc-gold) !important;
	box-shadow: none !important;
}
.woocommerce a.button.alt:hover,
.wc-block-components-button.outlined:hover {
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
}

/* ════════════════════════════════════════════════════════════════
   CART PAGE (classic [woocommerce_cart])
   ════════════════════════════════════════════════════════════════ */
.woocommerce-cart-form {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	padding: 28px;
	margin-bottom: 32px;
}

.woocommerce table.shop_table {
	background: transparent !important;
	border: 1px solid var(--gr-wc-border) !important;
	border-radius: 0 !important;
	border-collapse: collapse !important;
	color: var(--gr-wc-text);
}

.woocommerce table.shop_table thead {
	background: rgba(200, 167, 89, 0.04);
}
.woocommerce table.shop_table th {
	color: var(--gr-wc-text-dim) !important;
	font-size: .72rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 600;
	padding: 16px 14px !important;
	border-bottom: 1px solid var(--gr-wc-border) !important;
}
.woocommerce table.shop_table td {
	padding: 18px 14px !important;
	border-top: 1px solid var(--gr-wc-border) !important;
	color: var(--gr-wc-text);
	background: transparent !important;
}
.woocommerce table.shop_table .product-name a {
	color: #FFF !important;
	font-weight: 500;
}
.woocommerce table.shop_table .product-name a:hover {
	color: var(--gr-wc-gold) !important;
}
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal,
.woocommerce table.shop_table .product-total {
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h);
	font-size: 1.05rem;
	font-weight: 600;
}
.woocommerce table.shop_table .product-remove a {
	color: var(--gr-wc-text-dim) !important;
	background: transparent !important;
	font-size: 1.1rem;
}
.woocommerce table.shop_table .product-remove a:hover {
	color: var(--gr-wc-error) !important;
}

/* Coupon form */
.woocommerce-cart .coupon {
	display: flex;
	gap: 8px;
}
.woocommerce-cart .coupon input[type="text"] {
	flex: 1;
}

/* Cart totals box */
.cart_totals {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border-strong);
	padding: 28px;
}
.cart_totals h2 {
	color: var(--gr-wc-gold) !important;
	font-size: 1.4rem;
	margin: 0 0 20px;
}
.cart_totals .order-total .amount {
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h);
	font-size: 1.6rem;
	font-weight: 700;
}

/* ════════════════════════════════════════════════════════════════
   CHECKOUT PAGE (classic [woocommerce_checkout])
   Layout: STACK pionowo — każda sekcja jako karta. Bez gridu (był
   źródłem dziwnych pustych kolumn gdy brak shipping address).
   Max-width 720px wycentrowane, aż do desktop.
   ════════════════════════════════════════════════════════════════ */
.woocommerce-checkout form.checkout {
	max-width: 760px;
	margin: 0 auto;
	display: block;
}

/* Reset col2-set i col-1/col-2 — używamy natural flow */
.woocommerce-checkout .col2-set {
	display: block !important;
	margin: 0 !important;
}
.woocommerce-checkout .col2-set > .col-1,
.woocommerce-checkout .col2-set > .col-2 {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block;
}
/* Jeśli col-2 (shipping) jest pusty — ukryj */
.woocommerce-checkout .col2-set > .col-2:empty {
	display: none !important;
}

/* Express checkout (Pay with Link / Apple Pay) — kompaktowy na top */
#wc-stripe-express-checkout-element {
	max-width: 460px;
	margin: 0 auto 16px !important;
}
#wc-stripe-express-checkout-button-separator {
	max-width: 460px;
	margin: 0 auto 24px !important;
	color: var(--gr-wc-text-dim) !important;
	font-size: .76rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	padding: 8px 0;
	position: relative;
}

/* Coupon toggle / form */
.woocommerce-form-coupon-toggle {
	margin-bottom: 16px;
}
.woocommerce-form-coupon-toggle .woocommerce-info {
	background: var(--gr-wc-bg-card) !important;
	border-left: 3px solid var(--gr-wc-gold) !important;
	font-size: .88rem;
	padding: 14px 18px !important;
}
.checkout_coupon {
	background: var(--gr-wc-bg-card) !important;
	border: 1px solid var(--gr-wc-border) !important;
	padding: 20px !important;
	margin-bottom: 24px !important;
}
.checkout_coupon .form-row-first,
.checkout_coupon .form-row-last {
	display: inline-block;
	width: auto;
	vertical-align: top;
}

/* Billing / Shipping / Additional sections — każda jako karta */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	border-left: 3px solid var(--gr-wc-gold);
	padding: 28px;
	margin-bottom: 24px;
}

/* Order review block (Your order summary) */
#order_review_heading {
	margin-top: 32px !important;
	margin-bottom: 16px !important;
}
#order_review {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border-strong);
	padding: 28px;
	margin-bottom: 24px;
}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
	color: var(--gr-wc-gold) !important;
	font-size: 1.2rem;
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--gr-wc-border);
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout-review-order {
	margin-top: 0;
}
.woocommerce-checkout #order_review_heading {
	color: var(--gr-wc-gold) !important;
	font-size: 1.2rem;
	margin-bottom: 16px;
}
.woocommerce-checkout-review-order-table {
	background: var(--gr-wc-bg-card) !important;
	margin-bottom: 16px;
}

/* Place Order button */
.woocommerce-checkout #place_order {
	width: 100%;
	padding: 18px !important;
	font-size: .9rem !important;
}

/* Payment methods box */
.woocommerce-checkout-payment {
	background: var(--gr-wc-bg-card) !important;
	border: 1px solid var(--gr-wc-border-strong) !important;
	padding: 24px !important;
	border-radius: 0 !important;
}
.woocommerce-checkout-payment ul.payment_methods {
	border-bottom: 1px solid var(--gr-wc-border) !important;
}
.woocommerce-checkout-payment ul.payment_methods li {
	background: transparent !important;
}
.woocommerce-checkout-payment ul.payment_methods li label {
	color: #FFF !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: .95rem !important;
	font-weight: 500 !important;
}
.woocommerce-checkout-payment ul.payment_methods .payment_box {
	background: rgba(200, 167, 89, 0.04) !important;
	border: 1px solid var(--gr-wc-border-strong) !important;
	color: var(--gr-wc-text) !important;
	border-radius: 0 !important;
}
.woocommerce-checkout-payment ul.payment_methods .payment_box::before {
	border-color: transparent transparent var(--gr-wc-border-strong) !important;
}

/* Terms & conditions checkbox */
.woocommerce-terms-and-conditions-wrapper {
	margin-top: 20px;
}
.woocommerce-terms-and-conditions-wrapper label {
	color: var(--gr-wc-text) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: .9rem !important;
	font-weight: 400 !important;
}

/* ════════════════════════════════════════════════════════════════
   WC BLOCKS — Checkout / Cart (override styling)
   ════════════════════════════════════════════════════════════════ */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart {
	color: var(--gr-wc-text);
}

.wc-block-checkout__sidebar,
.wc-block-components-sidebar {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border-strong);
	padding: 24px;
}

.wc-block-components-totals-wrapper,
.wc-block-components-totals-item {
	color: var(--gr-wc-text);
	border-color: var(--gr-wc-border) !important;
}
.wc-block-components-totals-item__value {
	color: #FFF !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h);
	font-size: 1.5rem !important;
	font-weight: 700;
}

.wc-block-checkout__form,
.wc-block-cart__sidebar,
.wc-block-checkout-step {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	padding: 28px;
	margin-bottom: 20px;
}

.wc-block-components-checkout-step__title,
.wc-block-components-title {
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h);
}

.wc-block-cart-items {
	background: transparent !important;
}
.wc-block-cart-items__row {
	border-bottom: 1px solid var(--gr-wc-border) !important;
	padding: 16px 0 !important;
}
.wc-block-components-product-name {
	color: #FFF !important;
}
.wc-block-components-product-price {
	color: var(--gr-wc-gold) !important;
}

/* ════════════════════════════════════════════════════════════════
   NOTICES / ALERTS
   ════════════════════════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
	background: var(--gr-wc-bg-card) !important;
	border-radius: 0 !important;
	padding: 16px 20px !important;
	color: var(--gr-wc-text) !important;
	font-size: .92rem;
	margin-bottom: 24px !important;
}
.woocommerce-message {
	border-left: 3px solid var(--gr-wc-success) !important;
}
.woocommerce-info {
	border-left: 3px solid var(--gr-wc-gold) !important;
}
.woocommerce-error {
	border-left: 3px solid var(--gr-wc-error) !important;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	color: var(--gr-wc-gold) !important;
}
.woocommerce-message a.button {
	float: right;
}

/* ════════════════════════════════════════════════════════════════
   MY ACCOUNT
   ════════════════════════════════════════════════════════════════ */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	padding: 24px 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--gr-wc-border);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
	border-bottom: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 14px 24px;
	color: var(--gr-wc-text) !important;
	text-decoration: none;
	font-size: .85rem;
	letter-spacing: .04em;
	transition: all .2s;
	border-left: 3px solid transparent;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: rgba(200, 167, 89, 0.06);
	color: var(--gr-wc-gold) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: rgba(200, 167, 89, 0.1);
	color: var(--gr-wc-gold) !important;
	border-left-color: var(--gr-wc-gold);
	font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	padding: 32px;
	color: var(--gr-wc-text);
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h);
}

/* ════════════════════════════════════════════════════════════════
   LOGIN / REGISTER / RESET PASSWORD — wycentrowane karty (jedna pod drugą)
   ════════════════════════════════════════════════════════════════ */
#customer_login.u-columns,
.u-columns.col2-set {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	max-width: 560px;
	margin: 0 auto;
	padding: 0;
}
.u-columns .u-column1,
.u-columns .u-column2 {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	max-width: 560px;
}
/* Subtle separator pomiędzy login a register — TYLKO na stronie login (#customer_login) */
#customer_login.u-columns .u-column2,
.u-columns#customer_login .u-column2 {
	position: relative;
	margin-top: 8px !important;
}
#customer_login.u-columns .u-column2::before,
.u-columns#customer_login .u-column2::before {
	content: 'lub załóż nowe konto';
	display: block;
	text-align: center;
	color: var(--gr-wc-text-dim);
	font-size: .76rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	font-weight: 600;
	padding: 0 0 16px;
	margin-top: -8px;
	position: relative;
}
#customer_login.u-columns .u-column2::after,
.u-columns#customer_login .u-column2::after {
	content: '';
	position: absolute;
	top: 9px;
	left: 0; right: 0;
	height: 1px;
	background: var(--gr-wc-border);
	z-index: 0;
}
/* H2 styling tylko dla login page */
#customer_login.u-columns h2,
.u-columns#customer_login h2 {
	font-family: var(--gr-wc-font-h);
	color: var(--gr-wc-gold) !important;
	font-size: 1.3rem !important;
	font-weight: 400 !important;
	margin: 0 0 18px !important;
	padding: 0 0 12px !important;
	border-bottom: 1px solid var(--gr-wc-border-strong);
	display: flex;
	align-items: center;
	gap: 10px;
}
#customer_login .u-column1 h2::before { content: '🔑'; font-size: 1.1rem; }
#customer_login .u-column2 h2::before { content: '✨'; font-size: 1.1rem; }

.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border-strong);
	border-left: 3px solid var(--gr-wc-gold);
	padding: 32px 28px;
	margin: 0 !important;
	max-width: none;
}
.woocommerce-form-login p,
.woocommerce-form-register p,
.woocommerce-ResetPassword p {
	margin: 0 0 16px;
}
.woocommerce-form-login p:last-child,
.woocommerce-form-register p:last-child,
.woocommerce-ResetPassword p:last-child {
	margin-bottom: 0;
}

/* Checkbox label (Remember me, RODO consent itp.) — TYLKO label, nie input */
label.woocommerce-form__label-for-checkbox,
label.woocommerce-form-login__rememberme {
	display: flex !important;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: .85rem !important;
	color: var(--gr-wc-text) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-weight: 400 !important;
	margin: 14px 0 !important;
	padding: 8px 0;
	line-height: 1.4;
}
/* Checkbox input — wbudowany w label, normalna wielkość */
label.woocommerce-form__label-for-checkbox input[type="checkbox"],
label.woocommerce-form-login__rememberme input[type="checkbox"] {
	margin: 0 !important;
	flex-shrink: 0;
	width: 18px !important;
	height: 18px !important;
}
/* Tekst "Remember me" w span obok checkboxa */
label.woocommerce-form__label-for-checkbox > span,
label.woocommerce-form-login__rememberme > span {
	flex: 1;
	color: var(--gr-wc-text) !important;
	font-size: .88rem;
	line-height: 1.5;
}

.lost_password,
.woocommerce-LostPassword {
	margin-top: 12px;
	font-size: .85rem;
	text-align: right;
}
.lost_password a,
.woocommerce-LostPassword a {
	color: var(--gr-wc-gold) !important;
	text-decoration: none;
	border-bottom: 1px dashed rgba(200,167,89,.4);
	padding-bottom: 1px;
	transition: border-color .2s;
}
.lost_password a:hover,
.woocommerce-LostPassword a:hover {
	border-bottom-color: var(--gr-wc-gold);
}

.woocommerce-privacy-policy-text {
	font-size: .82rem;
	color: var(--gr-wc-text-dim);
	line-height: 1.55;
	padding: 12px 14px;
	background: rgba(255,255,255,0.02);
	border-left: 2px solid var(--gr-wc-border-strong);
}

/* Submit button na login/register */
.woocommerce-form-login .button,
.woocommerce-form-register .button,
.woocommerce-ResetPassword .button {
	width: 100%;
	margin-top: 8px !important;
}

/* Password meter (na rejestracji) */
.woocommerce-password-strength {
	font-size: .76rem !important;
	padding: 6px 10px !important;
	margin-top: 4px !important;
	border-radius: 0 !important;
	letter-spacing: .04em !important;
}
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad {
	background: rgba(239,68,68,.1) !important;
	color: #ef4444 !important;
	border-left: 3px solid #ef4444;
}
.woocommerce-password-strength.good {
	background: rgba(245,165,36,.1) !important;
	color: #f5a524 !important;
	border-left: 3px solid #f5a524;
}
.woocommerce-password-strength.strong {
	background: rgba(34,197,94,.1) !important;
	color: var(--gr-wc-success) !important;
	border-left: 3px solid var(--gr-wc-success);
}
.woocommerce-password-hint {
	font-size: .76rem;
	color: var(--gr-wc-text-dim);
	display: block;
	margin-top: 4px;
	line-height: 1.5;
}

.woocommerce-form-login__rememberme,
.woocommerce-form-register label.woocommerce-form-login__rememberme {
	display: flex !important;
	align-items: center;
	gap: 8px;
	color: var(--gr-wc-text);
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: .85rem !important;
}

.woocommerce-LostPassword a {
	font-size: .82rem;
}

/* Tables in My Account (orders, downloads) */
.woocommerce-account table.shop_table_responsive,
.woocommerce-orders-table {
	background: transparent !important;
}
.woocommerce-account .order-actions a {
	margin-right: 6px;
}

/* Filtr/wyszukiwarka na /moje-konto/downloads/ */
.gr-irc-downloads-search {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 20px;
	padding: 14px 18px;
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border-strong);
	border-left: 3px solid var(--gr-wc-gold);
}
.gr-irc-downloads-search input[type="search"] {
	flex: 1;
	background: rgba(255,255,255,0.04) !important;
	border: 1px solid var(--gr-wc-border) !important;
	color: #FFF !important;
	padding: 11px 14px !important;
	font-family: inherit !important;
	font-size: .95rem !important;
	border-radius: 0 !important;
	outline: none;
	transition: border-color .2s, background .2s;
	-webkit-appearance: none; appearance: none;
}
.gr-irc-downloads-search input[type="search"]::placeholder {
	color: var(--gr-wc-text-dim);
}
.gr-irc-downloads-search input[type="search"]:focus {
	border-color: var(--gr-wc-gold) !important;
	background: rgba(200,167,89,0.06) !important;
}
.gr-irc-downloads-search input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none; appearance: none;
}
.gr-irc-downloads-search-count {
	color: var(--gr-wc-gold);
	font-size: .82rem;
	letter-spacing: .04em;
	white-space: nowrap;
	font-weight: 600;
	display: none;
}
@media (max-width: 768px) {
	.gr-irc-downloads-search { flex-direction: column; align-items: stretch; gap: 8px; }
	.gr-irc-downloads-search-count { text-align: center; }
}

/* ════════════════════════════════════════════════════════════════
   STRIPE ELEMENTS — białe pole karty (kontrast vs reszta) + ramka gold
   Stripe iframe ma domyślnie tekst kolorowy z theme klienta — bezpieczniej
   dać białe tło, żeby tekst karty był zawsze widoczny.
   ════════════════════════════════════════════════════════════════ */
.wc-stripe-payment-request-button,
.payment_method_stripe .stripe-source-errors {
	margin-top: 12px;
}

/* Pole z numerem karty / CVC / data (Card Element iframe wrapper) */
.wc-stripe-elements-field,
#wc-stripe-cc-form .wc-stripe-elements-field,
#wc-stripe-card-element,
#stripe-card-element,
.payment_method_stripe .form-row {
	background: #FFFFFF !important;
	border: 1px solid var(--gr-wc-border-strong) !important;
	padding: 14px 16px !important;
	border-radius: 0 !important;
	min-height: 48px;
	transition: border-color .2s;
}

.wc-stripe-elements-field--focus,
.wc-stripe-elements-field.focused {
	border-color: var(--gr-wc-gold) !important;
	box-shadow: 0 0 0 1px var(--gr-wc-gold);
}

/* Express Checkout button (Pay with Link / Apple Pay) — mniejsze, mniej dominujące */
.wc-stripe-payment-request-button-element,
#wc-stripe-payment-request-button {
	max-width: 480px;
	margin: 0 auto 20px;
}
.wc-stripe-payment-request-wrapper {
	max-width: 480px;
	margin: 0 auto 24px;
}
/* "OR" divider między Express Checkout a Billing — środek strony, czytelniej */
.wc-stripe-or {
	max-width: 480px;
	margin: 0 auto 24px !important;
	color: var(--gr-wc-text-dim) !important;
	font-size: .78rem;
	letter-spacing: .15em;
	text-transform: uppercase;
}

/* ════════════════════════════════════════════════════════════════
   COMING SOON banner — chowamy na WC pages (pasek u góry)
   ════════════════════════════════════════════════════════════════ */
.woocommerce-cart .woocommerce-store-notice,
.woocommerce-checkout .woocommerce-store-notice {
	display: none !important;
}

/* ════════════════════════════════════════════════════════════════
   ORDER RECEIVED PAGE — „Thank you" + downloads + order details
   ════════════════════════════════════════════════════════════════ */

/* Hero "Thank you" — full reset, override WC notice--success default green box */
.woocommerce-order p.woocommerce-thankyou-order-received,
.woocommerce-order .woocommerce-notice--success.woocommerce-thankyou-order-received,
.woocommerce-order .woocommerce-notice.woocommerce-thankyou-order-received {
	font-family: var(--gr-wc-font-h) !important;
	color: var(--gr-wc-gold) !important;
	font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
	font-weight: 400 !important;
	margin: 0 0 12px !important;
	letter-spacing: -.01em;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	display: flex;
	align-items: center;
	gap: 14px;
}
.woocommerce-order p.woocommerce-thankyou-order-received::before,
.woocommerce-order .woocommerce-notice--success.woocommerce-thankyou-order-received::before {
	content: '✓';
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: var(--gr-wc-success) !important;
	color: #0A0A0A !important;
	font-weight: 800;
	font-size: 1.5rem;
	border-radius: 50%;
	margin: 0;
	flex-shrink: 0;
}

/* Order overview row — order #, date, email, total, payment method
   FLEX zamiast grid (auto-fit grid robił puste kolumny gdy <5 li) */
.woocommerce-order .woocommerce-order-overview {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0 !important;
	margin: 24px 0 56px !important;
	padding: 0 !important;
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border-strong);
	list-style: none !important;
}
.woocommerce-order .woocommerce-order-overview li {
	flex: 1 1 200px !important;
	min-width: 180px;
	padding: 24px 28px !important;
	border-right: 1px solid var(--gr-wc-border) !important;
	margin: 0 !important;
	font-size: .68rem !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	font-weight: 600 !important;
	color: var(--gr-wc-gold) !important;
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
}
.woocommerce-order .woocommerce-order-overview li:last-child {
	border-right: none !important;
}
.woocommerce-order .woocommerce-order-overview li strong {
	display: block;
	margin: 0;
	color: #FFF !important;
	font-size: 1.05rem !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	font-family: var(--gr-wc-font-h);
	word-break: break-word;
}
@media (max-width: 900px) {
	.woocommerce-order .woocommerce-order-overview li {
		flex: 1 1 calc(50% - 1px) !important;
		border-bottom: 1px solid var(--gr-wc-border) !important;
	}
	.woocommerce-order .woocommerce-order-overview li:nth-child(2n) {
		border-right: none !important;
	}
}
@media (max-width: 540px) {
	.woocommerce-order .woocommerce-order-overview li {
		flex: 1 1 100% !important;
		border-right: none !important;
		border-bottom: 1px solid var(--gr-wc-border) !important;
	}
	.woocommerce-order .woocommerce-order-overview li:last-child {
		border-bottom: none !important;
	}
}

/* Section headings — Downloads, Order details, Billing address */
.woocommerce-order h2,
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-customer-details__title,
.woocommerce-order .woocommerce-order-downloads__title {
	font-family: var(--gr-wc-font-h);
	color: #FFF !important;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	font-weight: 400;
	margin: 48px 0 20px !important;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--gr-wc-border-strong);
}

/* Downloads — siatka kart zamiast tabeli */
.woocommerce-order-downloads {
	margin-bottom: 56px;
}
.woocommerce-order-downloads__list,
.woocommerce-table--order-downloads {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 12px !important;
	border: none !important;
	background: transparent !important;
}
.woocommerce-order-downloads__list thead,
.woocommerce-table--order-downloads thead {
	display: none !important;
}
.woocommerce-order-downloads__list tbody,
.woocommerce-table--order-downloads tbody {
	display: contents;
}
.woocommerce-order-downloads__list tr,
.woocommerce-table--order-downloads tr,
.download-product,
.download-file,
.download-remaining,
.download-expires,
.download-actions {
	display: revert;
}
.woocommerce-table--order-downloads tbody tr {
	display: grid !important;
	grid-template-rows: auto 1fr auto;
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	padding: 18px 18px 16px !important;
	transition: border-color .25s, transform .25s;
	gap: 8px;
}
.woocommerce-table--order-downloads tbody tr:hover {
	border-color: var(--gr-wc-gold);
	transform: translateY(-2px);
}
.woocommerce-table--order-downloads tbody tr td {
	display: block !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}
.woocommerce-table--order-downloads .download-product {
	font-size: .68rem !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	color: var(--gr-wc-text-dim) !important;
	font-weight: 600;
}
.woocommerce-table--order-downloads .download-product a {
	color: var(--gr-wc-gold) !important;
	text-decoration: none;
}
.woocommerce-table--order-downloads .download-product a:hover {
	color: #FFF !important;
}
.woocommerce-table--order-downloads .download-file a {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #FFF !important;
	font-family: var(--gr-wc-font-h);
	font-size: 1.05rem;
	font-weight: 400;
	text-decoration: none;
	padding: 4px 0;
}
.woocommerce-table--order-downloads .download-file a::before {
	content: '📄';
	font-size: 1.4rem;
	flex-shrink: 0;
}
.woocommerce-table--order-downloads .download-remaining,
.woocommerce-table--order-downloads .download-expires {
	display: none !important;
}
.woocommerce-table--order-downloads .download-actions {
	margin-top: 6px;
	display: flex !important;
	gap: 6px;
}
.woocommerce-table--order-downloads .download-actions a {
	flex: 1;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 9px 12px !important;
	font-size: .7rem !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	font-weight: 600 !important;
	background: transparent !important;
	color: var(--gr-wc-gold) !important;
	border: 1px solid var(--gr-wc-gold) !important;
	box-shadow: none !important;
	transition: all .2s !important;
	white-space: nowrap;
}
.woocommerce-table--order-downloads .download-actions a:hover {
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
	transform: none !important;
}
.woocommerce-table--order-downloads .download-actions .gr-irc-preview-btn {
	border-color: rgba(200,167,89,0.5) !important;
	color: rgba(200,167,89,0.85) !important;
}

/* Order details table — bardziej eleganckie + lepszy kontrast i layout */
.woocommerce-order-details {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border-strong);
	border-left: 3px solid var(--gr-wc-gold);
	padding: 28px 30px;
	margin-bottom: 28px;
	overflow-x: auto;
}
.woocommerce-order-details .woocommerce-order-details__title {
	margin: 0 0 22px !important;
	padding: 0 0 14px !important;
	border-bottom: 1px solid var(--gr-wc-border) !important;
	color: var(--gr-wc-gold) !important;
	font-size: 1.4rem !important;
}
.woocommerce-order-details .woocommerce-table--order-details {
	background: transparent !important;
	border: 1px solid var(--gr-wc-border) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	width: 100%;
	margin: 0 !important;
	table-layout: auto;
}
.woocommerce-order-details .woocommerce-table--order-details thead th {
	background: rgba(0,0,0,0.3) !important;
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h) !important;
	font-size: .76rem !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	padding: 14px 18px !important;
	border-bottom: 1px solid var(--gr-wc-border-strong) !important;
	border-right: 1px solid var(--gr-wc-border) !important;
	font-weight: 500 !important;
	text-align: left;
	white-space: nowrap;
}
.woocommerce-order-details .woocommerce-table--order-details thead th:last-child {
	border-right: none !important;
	text-align: right;
}
.woocommerce-order-details .woocommerce-table--order-details tbody td {
	padding: 16px 18px !important;
	border-bottom: 1px solid var(--gr-wc-border) !important;
	border-right: 1px solid rgba(255,255,255,0.03) !important;
	color: #FFF !important;
	font-size: .95rem !important;
	background: transparent !important;
	vertical-align: middle;
}
.woocommerce-order-details .woocommerce-table--order-details tbody tr:last-child td {
	border-bottom: 1px solid var(--gr-wc-border-strong) !important;
}
.woocommerce-order-details .woocommerce-table--order-details td.product-name {
	color: #FFF !important;
	min-width: 200px;
}
.woocommerce-order-details .woocommerce-table--order-details td.product-name a {
	color: #FFF !important;
	text-decoration: none;
	font-weight: 500;
}
.woocommerce-order-details .woocommerce-table--order-details td.product-name a:hover {
	color: var(--gr-wc-gold) !important;
}
.woocommerce-order-details .woocommerce-table--order-details td.product-quantity {
	color: var(--gr-wc-text) !important;
	white-space: nowrap;
}
.woocommerce-order-details .woocommerce-table--order-details td.product-total {
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h);
	font-size: 1.05rem !important;
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
	border-right: none !important;
}
/* Footer rows (subtotal, tax, total) */
.woocommerce-order-details .woocommerce-table--order-details tfoot th,
.woocommerce-order-details .woocommerce-table--order-details tfoot td {
	padding: 12px 18px !important;
	background: rgba(255,255,255,0.02) !important;
	color: #DDDDDD !important;
	font-size: .92rem !important;
	border-bottom: 1px solid var(--gr-wc-border) !important;
}
.woocommerce-order-details .woocommerce-table--order-details tfoot th {
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h) !important;
	font-weight: 500 !important;
	font-size: .85rem !important;
	letter-spacing: .04em;
	text-align: right;
	border-right: 1px solid var(--gr-wc-border) !important;
}
.woocommerce-order-details .woocommerce-table--order-details tfoot td {
	text-align: right;
	white-space: nowrap;
}
.woocommerce-order-details .woocommerce-table--order-details tfoot tr.order-total td,
.woocommerce-order-details .woocommerce-table--order-details tfoot tr.order-total th {
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h);
	font-size: 1.4rem !important;
	font-weight: 700 !important;
	border-top: 2px solid var(--gr-wc-gold) !important;
	background: rgba(200,167,89,0.04) !important;
	padding: 20px 18px !important;
}
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: none !important;
}

/* Responsive: stacked rows on mobile */
@media (max-width: 720px) {
	.woocommerce-order-details {
		padding: 20px 18px;
	}
	.woocommerce-order-details .woocommerce-table--order-details thead { display: none; }
	.woocommerce-order-details .woocommerce-table--order-details tbody tr {
		display: block;
		border-bottom: 1px solid var(--gr-wc-border-strong) !important;
		padding: 12px 0;
	}
	.woocommerce-order-details .woocommerce-table--order-details tbody td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		padding: 6px 14px !important;
		border-bottom: none !important;
		border-right: none !important;
	}
	.woocommerce-order-details .woocommerce-table--order-details tbody td::before {
		content: attr(data-title);
		color: var(--gr-wc-gold);
		font-size: .68rem;
		letter-spacing: .12em;
		text-transform: uppercase;
		font-weight: 600;
		flex-shrink: 0;
	}
	.woocommerce-order-details .woocommerce-table--order-details td.product-total {
		text-align: right;
	}
	.woocommerce-order-details .woocommerce-table--order-details tfoot tr {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}
	.woocommerce-order-details .woocommerce-table--order-details tfoot th,
	.woocommerce-order-details .woocommerce-table--order-details tfoot td {
		flex: 1;
		min-width: 0;
		text-align: left;
		border-right: none !important;
	}
	.woocommerce-order-details .woocommerce-table--order-details tfoot td {
		text-align: right;
	}
}

/* ════════════════════════════════════════════════════════════════
   CUSTOMER DETAILS — billing/shipping address card (premium look)
   ════════════════════════════════════════════════════════════════ */
.woocommerce-customer-details {
	margin-top: 48px;
}
.woocommerce-customer-details > .col2-set {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
}
@media (max-width: 768px) {
	.woocommerce-customer-details > .col2-set { grid-template-columns: 1fr; }
}
.woocommerce-customer-details .col-1,
.woocommerce-customer-details .col-2 {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce-customer-details h2,
.woocommerce-column__title {
	font-family: var(--gr-wc-font-h);
	color: var(--gr-wc-gold) !important;
	font-size: .72rem !important;
	font-weight: 700 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	margin: 0 0 12px !important;
	padding: 0 0 0 4px !important;
	border: none !important;
}
.woocommerce-customer-details address {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border-strong);
	padding: 0;
	color: var(--gr-wc-text);
	font-style: normal;
	line-height: 1.65;
	border-radius: 0;
	font-size: .95rem;
	display: block;
	position: relative;
	overflow: hidden;
}
/* Gold accent strip on left edge */
.woocommerce-customer-details address::before {
	content: '';
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: 3px;
	background: var(--gr-wc-gold);
	opacity: .8;
}
/* Header strip with location icon */
.woocommerce-customer-details address::after {
	content: '📍 Dane do rozliczenia';
	display: block;
	padding: 14px 24px 12px;
	background: rgba(200,167,89,0.05);
	border-bottom: 1px solid var(--gr-wc-border);
	font-family: inherit;
	font-size: .68rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--gr-wc-gold);
	font-weight: 700;
	margin-bottom: 18px;
}
.woocommerce-customer-details address {
	padding-bottom: 4px;
}
.woocommerce-customer-details address > * {
	padding-left: 24px;
	padding-right: 24px;
}
.woocommerce-customer-details address br + br {
	display: block;
	content: '';
	margin: 6px 0;
}
.woocommerce-customer-details address p {
	margin: 14px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--gr-wc-border);
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--gr-wc-text);
}
.woocommerce-customer-details address p:nth-of-type(1)::before { content: '📞'; font-size: 1rem; line-height: 1; }
.woocommerce-customer-details address p:nth-of-type(2) {
	margin-top: 4px;
	padding-top: 4px;
	border-top: none;
}
.woocommerce-customer-details address p:nth-of-type(2)::before { content: '✉'; font-size: 1rem; line-height: 1; }
.woocommerce-customer-details address p:last-child {
	margin-bottom: 18px;
}
.woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-customer-details .woocommerce-customer-details--email {
	color: var(--gr-wc-text);
	text-decoration: none;
	transition: color .2s;
}
.woocommerce-customer-details .woocommerce-customer-details--phone:hover,
.woocommerce-customer-details .woocommerce-customer-details--email:hover {
	color: var(--gr-wc-gold);
}
/* First line (recipient name) bold + gold */
.woocommerce-customer-details address {
	padding-top: 0;
}
.woocommerce-customer-details address > br:first-child {
	display: none;
}

/* My Account → Addresses — 2-column grid + premium card style */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child,
.woocommerce-account .u-columns.col2-set.addresses + p,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-notices-wrapper + p {
	color: var(--gr-wc-text);
	font-size: .95rem;
	line-height: 1.7;
	margin: 0 0 28px;
	padding: 18px 22px;
	background: rgba(200,167,89,.04);
	border-left: 3px solid var(--gr-wc-gold);
}

.woocommerce-account .u-columns.addresses,
.woocommerce-account .u-columns.col2-set.addresses {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 18px;
	margin: 0 0 28px !important;
	padding: 0 !important;
}
.woocommerce-account .u-columns.addresses .u-column1,
.woocommerce-account .u-columns.addresses .u-column2,
.woocommerce-account .u-columns.col2-set.addresses .u-column1,
.woocommerce-account .u-columns.col2-set.addresses .u-column2 {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-Address {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	padding: 28px 30px;
	margin-bottom: 0;
	position: relative;
	border-left: 3px solid var(--gr-wc-gold);
	height: 100%;
	display: flex;
	flex-direction: column;
	transition: border-color .25s, background .25s;
}
.woocommerce-Address:hover {
	border-color: var(--gr-wc-border-strong);
	border-left-color: var(--gr-wc-gold);
	background: rgba(200,167,89,.02);
}
.woocommerce-Address-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--gr-wc-border);
}
.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
	font-family: var(--gr-wc-font-h);
	color: var(--gr-wc-gold) !important;
	font-size: 1.15rem !important;
	font-weight: 400 !important;
	margin: 0 !important;
	letter-spacing: -.005em;
	text-transform: none;
	border: none !important;
	padding: 0 !important;
	display: flex;
	align-items: center;
	gap: 8px;
}
.woocommerce-Address-title h2::before,
.woocommerce-Address-title h3::before {
	content: '📍';
	font-size: 1.25rem;
	margin: 0;
	filter: hue-rotate(20deg);
}
.woocommerce-Address-title .edit {
	font-size: .72rem !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	padding: 7px 14px !important;
	border: 1px solid rgba(200,167,89,.4) !important;
	color: var(--gr-wc-gold) !important;
	text-decoration: none !important;
	background: transparent !important;
	box-shadow: none !important;
	transition: all .2s;
	white-space: nowrap;
}
.woocommerce-Address-title .edit:hover {
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
	border-color: var(--gr-wc-gold) !important;
}
.woocommerce-Address address {
	font-style: normal;
	line-height: 1.85;
	color: #FFF;
	font-size: .96rem;
	margin: 0;
	flex: 1;
}
/* Pierwsza linia (imię/nazwisko) — wyróżniona */
.woocommerce-Address address {
	display: block;
}
.woocommerce-Address address::first-line {
	color: var(--gr-wc-gold);
	font-weight: 600;
	letter-spacing: .02em;
}
/* Empty address state — gdy WC pokazuje "You have not set up this type of address yet." */
.woocommerce-Address address:empty,
.woocommerce-Address > .woocommerce-Address--empty {
	color: var(--gr-wc-text-dim) !important;
	font-style: italic;
	padding: 12px 0;
}

/* Edit address form (single column, kiedy user kliknie "Edit") */
.woocommerce-account .woocommerce-MyAccount-content form.edit-account,
.woocommerce-account .woocommerce-address-fields {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	border-left: 3px solid var(--gr-wc-gold);
	padding: 32px;
	max-width: 720px;
}
.woocommerce-account .woocommerce-address-fields .form-row {
	margin-bottom: 14px;
}
.woocommerce-account .woocommerce-address-fields h3 {
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h) !important;
	font-size: 1.2rem !important;
	font-weight: 400 !important;
	margin: 0 0 18px !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid var(--gr-wc-border);
}

/* ════════════════════════════════════════════════════════════════
   GENERIC EMPTY STATE — payment-methods, addresses, etc.
   Wstrzyknięty przez JS w order-received.php
   ════════════════════════════════════════════════════════════════ */
.gr-irc-empty-state {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border-strong);
	border-left: 3px solid var(--gr-wc-gold);
	padding: 56px 36px;
	text-align: center;
	max-width: 640px;
	margin: 0 auto 28px;
}
.gr-irc-empty-state__icon {
	font-size: 3.4rem;
	display: block;
	opacity: .85;
	margin-bottom: 18px;
	line-height: 1;
}
.gr-irc-empty-state__title {
	font-family: var(--gr-wc-font-h) !important;
	color: var(--gr-wc-gold) !important;
	font-size: clamp(1.3rem, 2.4vw, 1.7rem) !important;
	font-weight: 400 !important;
	margin: 0 0 14px !important;
	letter-spacing: -.01em;
}
.gr-irc-empty-state__msg {
	color: #FFF;
	font-size: .98rem;
	line-height: 1.6;
	margin: 0 0 10px;
}
.gr-irc-empty-state__hint {
	color: var(--gr-wc-text-dim) !important;
	font-size: .85rem !important;
	line-height: 1.65;
	margin: 0 auto 24px !important;
	max-width: 460px;
}
.gr-irc-empty-state__btn {
	display: inline-block;
	padding: 14px 28px;
	background: var(--gr-wc-gold);
	color: #0A0A0A !important;
	border: 1px solid var(--gr-wc-gold);
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: all .2s;
}
.gr-irc-empty-state__btn:hover {
	background: #fff;
	border-color: #fff;
	color: #0A0A0A !important;
}
@media (max-width: 768px) {
	.gr-irc-empty-state { padding: 36px 22px; }
}

/* CTA section — własny element wstrzyknięty przez PHP */
.gr-irc-thankyou-cta {
	margin: 32px 0 56px;
	padding: 28px 32px;
	background: linear-gradient(135deg, rgba(200,167,89,.08), rgba(200,167,89,.02));
	border: 1px solid var(--gr-wc-border-strong);
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 24px;
	align-items: center;
}
.gr-irc-thankyou-cta__text strong {
	display: block;
	font-family: var(--gr-wc-font-h);
	color: #FFF;
	font-size: 1.2rem;
	margin-bottom: 4px;
	font-weight: 400;
}
.gr-irc-thankyou-cta__text span {
	color: var(--gr-wc-text);
	font-size: .9rem;
	line-height: 1.55;
}
.gr-irc-thankyou-cta__actions {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
}
.gr-irc-thankyou-cta__actions a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	font-family: inherit;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none;
	transition: all .25s;
	white-space: nowrap;
}
/* Primary CTA — gold bg + DARK text (override entry-content link color) */
.gr-irc-thankyou-cta__actions a.gr-irc-cta--primary,
.gr-irc-thankyou-cta__actions .gr-irc-cta--primary,
.entry-content .gr-irc-thankyou-cta__actions a.gr-irc-cta--primary {
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
	border: 2px solid var(--gr-wc-gold) !important;
	text-decoration: none !important;
}
.gr-irc-thankyou-cta__actions a.gr-irc-cta--primary:hover,
.entry-content .gr-irc-thankyou-cta__actions a.gr-irc-cta--primary:hover {
	background: #FFFFFF !important;
	color: #0A0A0A !important;
	border-color: #FFFFFF !important;
}
.gr-irc-thankyou-cta__actions a.gr-irc-cta--ghost,
.entry-content .gr-irc-thankyou-cta__actions a.gr-irc-cta--ghost {
	background: transparent !important;
	color: var(--gr-wc-gold) !important;
	border: 1px solid var(--gr-wc-gold) !important;
	text-decoration: none !important;
}
.gr-irc-thankyou-cta__actions a.gr-irc-cta--ghost:hover,
.entry-content .gr-irc-thankyou-cta__actions a.gr-irc-cta--ghost:hover {
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
}
@media (max-width: 768px) {
	.gr-irc-thankyou-cta {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.gr-irc-thankyou-cta__actions {
		justify-content: center;
		flex-wrap: wrap;
	}
}

/* Hide duplicated footer if present (Coming soon banner conflict) */
body.woocommerce-order-received .gr-site-footer ~ .gr-site-footer,
body.woocommerce-order-received footer ~ footer {
	display: none !important;
}

/* ════════════════════════════════════════════════════════════════
   EMPTY CART — pusty koszyk + „New in store" featured products
   ════════════════════════════════════════════════════════════════ */

/* Wrapper empty cart */
.wp-block-woocommerce-empty-cart-block,
.wc-block-cart__empty-cart__title,
.cart-empty {
	text-align: center;
	color: var(--gr-wc-text);
}

/* Empty cart — ukryj cały block WC (sad face, "Your cart is empty",
   "New in store", produkty itp.). Nasz CTA wstrzykiwany przez JS jako
   SIBLING (przed blokiem), więc CSS może bezpiecznie hidować cały block. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
body.woocommerce-checkout .wp-block-woocommerce-empty-cart-block {
	display: none !important;
}

/* Defensywnie — ukryj WSZYSTKIE WC default elements pustego koszyka
   (sad face SVG, cart icon, "New in store" heading, products grid).
   Nasze .gr-irc-empty-cart-cta/btn wykluczone z każdego selektora. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block svg,
body.woocommerce-cart .wp-block-woocommerce-cart-empty-block svg,
body.woocommerce-cart .wc-block-cart__empty-cart svg,
body.woocommerce-cart .with-empty-cart-icon,
body.woocommerce-cart .wc-block-cart-empty-icon,
body.woocommerce-cart .wp-block-woocommerce-cart > svg,
body.woocommerce-cart .wp-block-woocommerce-cart-empty-block > svg,
body.woocommerce-cart .wp-block-woocommerce-cart-empty-block > p > svg,
body.woocommerce-cart .wp-block-woocommerce-cart-empty-block > figure {
	display: none !important;
}
/* Hide ALL direct children of cart-empty-block except the empty-cart-block (which contains our CTA) */
body.woocommerce-cart .wp-block-woocommerce-cart-empty-block > *:not(.wp-block-woocommerce-empty-cart-block) {
	display: none !important;
}

/* Empty cart heading */
.wc-block-cart__empty-cart__title,
.cart-empty.woocommerce-info,
p.cart-empty {
	font-family: var(--gr-wc-font-h) !important;
	font-size: clamp(1.4rem, 2.4vw, 2rem) !important;
	color: #FFF !important;
	font-weight: 400 !important;
	margin: 24px 0 !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

/* Empty cart sad face SVG — replace with gold cart icon (większy, on-brand) */
.wp-block-woocommerce-empty-cart-block > svg,
.wc-block-cart__empty-cart__title > svg {
	display: none !important;
}
.wp-block-woocommerce-empty-cart-block::before,
.wc-block-cart__empty-cart-wrapper::before {
	content: '🛒';
	display: block;
	font-size: 4rem;
	opacity: 0.5;
	margin-bottom: 20px;
	filter: grayscale(0.3);
}

/* "New in store" / featured products heading */
.wp-block-woocommerce-empty-cart-block h2,
.wp-block-woocommerce-empty-cart-block h3,
.wp-block-woocommerce-product-new h2,
.products-grid-heading {
	font-family: var(--gr-wc-font-h) !important;
	color: var(--gr-wc-gold) !important;
	font-size: clamp(1.4rem, 2vw, 1.7rem) !important;
	margin: 56px 0 24px !important;
	text-align: center;
	font-weight: 400 !important;
	letter-spacing: -.01em;
}

/* Product grid — auto-fit kolumny */
.wc-block-grid__products,
.wp-block-woocommerce-product-new ul,
.wp-block-woocommerce-product-new .wc-block-grid__products,
ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
	gap: 14px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Pojedynczy produkt-kafelek */
.wc-block-grid__product,
ul.products li.product,
.wc-block-grid li.wc-block-grid__product {
	background: var(--gr-wc-bg-card) !important;
	border: 1px solid var(--gr-wc-border) !important;
	padding: 18px !important;
	margin: 0 !important;
	width: auto !important;
	transition: border-color .25s, transform .25s;
	text-align: left !important;
	display: flex !important;
	flex-direction: column;
	gap: 8px;
}
.wc-block-grid__product:hover,
ul.products li.product:hover {
	border-color: var(--gr-wc-gold) !important;
	transform: translateY(-2px);
}

/* Placeholder image — usuwamy ugly „image not found" box, zastępujemy gradientem z ikoną */
.wc-block-grid__product-image,
ul.products li.product .woocommerce-loop-product__link img,
ul.products li.product img {
	background: linear-gradient(135deg, rgba(200,167,89,.10), rgba(200,167,89,.02)) !important;
	aspect-ratio: 4/3;
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 0 10px !important;
	border: 1px solid rgba(200,167,89,.15);
	position: relative;
	overflow: hidden;
}
.wc-block-grid__product-image > a {
	position: absolute;
	inset: 0;
}
.wc-block-grid__product-image img,
ul.products li.product img {
	display: none !important;
}
.wc-block-grid__product-image::before,
ul.products li.product .woocommerce-loop-product__link::before {
	content: '📊';
	font-size: 2.6rem;
	opacity: 0.5;
}

/* Product title */
.wc-block-grid__product-title,
.wc-block-grid__product-link,
ul.products li.product h2,
ul.products li.product .woocommerce-loop-product__title {
	color: #FFF !important;
	font-family: var(--gr-wc-font-h) !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.35;
	text-decoration: none !important;
}
.wc-block-grid__product-link {
	color: #FFF !important;
}
.wc-block-grid__product-link:hover .wc-block-grid__product-title {
	color: var(--gr-wc-gold) !important;
}

/* Price */
.wc-block-grid__product-price,
ul.products li.product .price {
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h) !important;
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	display: block !important;
	margin: 4px 0 6px !important;
}

/* Add to cart button — gold ghost outline (matchuje resztę naszego UI) */
.wc-block-grid__product-add-to-cart,
.wc-block-grid__product-add-to-cart .wp-block-button {
	margin: auto 0 0 !important; /* prześnij na dół karty */
}
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-grid__product-add-to-cart a.button,
ul.products li.product a.button,
ul.products li.product a.add_to_cart_button {
	background: transparent !important;
	color: var(--gr-wc-gold) !important;
	border: 1px solid var(--gr-wc-gold) !important;
	width: 100% !important;
	padding: 11px 14px !important;
	font-family: inherit !important;
	font-size: .74rem !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	border-radius: 0 !important;
	text-decoration: none !important;
	text-align: center !important;
	cursor: pointer !important;
	transition: all .2s !important;
	box-shadow: none !important;
	display: inline-block !important;
	margin: 0 !important;
	min-height: auto !important;
	line-height: 1.4 !important;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
ul.products li.product a.button:hover,
ul.products li.product a.add_to_cart_button:hover {
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
	transform: none !important;
}

/* Return to shop (classic empty cart) — primary button */
.cart-empty + .return-to-shop {
	text-align: center;
	margin: 32px 0 56px;
}

/* Custom CTA dla pustego koszyka — własny element z PHP */
.gr-irc-empty-cart-cta {
	margin: 0 auto 48px;
	max-width: 640px;
	padding: 32px 28px;
	background: linear-gradient(135deg, rgba(200,167,89,.08), rgba(200,167,89,.02));
	border: 1px solid var(--gr-wc-border-strong);
	text-align: center;
}
.gr-irc-empty-cart-cta strong {
	display: block;
	font-family: var(--gr-wc-font-h);
	color: var(--gr-wc-gold);
	font-size: 1.3rem;
	margin-bottom: 8px;
	font-weight: 400;
}
.gr-irc-empty-cart-cta p {
	color: var(--gr-wc-text);
	margin: 0 0 20px;
	font-size: .92rem;
	line-height: 1.6;
}
.gr-irc-empty-cart-cta .gr-irc-empty-cart-btn,
.gr-irc-empty-cart-cta a.gr-irc-empty-cart-btn {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	padding: 14px 28px;
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
	border: 2px solid var(--gr-wc-gold) !important;
	font-family: inherit;
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: all .25s;
	box-shadow: 0 4px 16px rgba(200,167,89,.25);
}
.gr-irc-empty-cart-cta .gr-irc-empty-cart-btn:hover,
.gr-irc-empty-cart-cta a.gr-irc-empty-cart-btn:hover {
	background: #0A0A0A !important;
	color: var(--gr-wc-gold) !important;
	transform: translateY(-2px);
}

/* Emoji thumbnail w cart (flaga / ikona pakietu / trofeum) */
.gr-irc-cart-emoji,
.gr-irc-product-emoji {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 96px; height: 96px;
	background: linear-gradient(135deg, rgba(200,167,89,.15), rgba(200,167,89,.03));
	border: 1px solid rgba(200,167,89,.3);
	font-size: 3.6rem;
	line-height: 1;
	flex-shrink: 0;
	overflow: hidden;
}
/* W cart table .product-thumbnail */
.woocommerce-cart-form .product-thumbnail {
	width: 110px;
}
.woocommerce-cart-form .product-thumbnail .gr-irc-cart-emoji {
	width: 100px; height: 100px;
	font-size: 4rem;
}

/* Block cart — image container też (override default WC) */
.wc-block-cart-item__image,
.wc-block-components-order-summary-item__image {
	background: linear-gradient(135deg, rgba(200,167,89,.15), rgba(200,167,89,.03)) !important;
	border: 1px solid rgba(200,167,89,.3) !important;
	width: 96px !important;
	height: 96px !important;
	min-width: 96px !important;
	min-height: 96px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.wc-block-cart-item__image .gr-irc-product-emoji,
.wc-block-components-order-summary-item__image .gr-irc-product-emoji {
	width: 100% !important;
	height: 100% !important;
	background: transparent !important;
	border: none !important;
	font-size: 3.6rem;
}
.wc-block-cart-item__image > a {
	width: 100%; height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* RODO + Regulamin checkboxes at checkout — premium card with red asterisks */
.gr-irc-checkout-consents {
	margin: 28px 0;
	padding: 24px 26px;
	background: linear-gradient(135deg, rgba(200,167,89,0.04), rgba(200,167,89,0.01));
	border: 1px solid var(--gr-wc-border-strong);
	border-left: 3px solid var(--gr-wc-gold);
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.gr-irc-checkout-consents__heading {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .8rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--gr-wc-gold);
	font-weight: 700;
	margin: 0 0 6px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--gr-wc-border);
	font-family: var(--gr-wc-font-h);
}
.gr-irc-consents__icon {
	font-size: 1.2rem;
	line-height: 1;
}
.gr-irc-consents__hint {
	margin-left: auto;
	font-size: .68rem;
	color: var(--gr-wc-text-dim) !important;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-family: inherit;
}
.gr-irc-checkout-consent {
	display: grid !important;
	grid-template-columns: 22px 1fr;
	align-items: flex-start;
	gap: 14px;
	cursor: pointer;
	font-size: .94rem;
	color: #FFFFFF !important;
	line-height: 1.65;
	padding: 8px 0;
	margin: 0 !important;
}
.gr-irc-checkout-consent:hover {
	color: #FFFFFF !important;
}
.gr-irc-checkout-consent input[type="checkbox"] {
	margin: 3px 0 0 !important;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	cursor: pointer;
	-webkit-appearance: none !important;
	appearance: none !important;
	background: rgba(0,0,0,0.5) !important;
	border: 2px solid var(--gr-wc-border-strong) !important;
	border-radius: 0 !important;
	position: relative;
	transition: all .2s;
}
.gr-irc-checkout-consent input[type="checkbox"]:hover {
	border-color: var(--gr-wc-gold) !important;
	background: rgba(200,167,89,0.08) !important;
}
.gr-irc-checkout-consent input[type="checkbox"]:checked {
	background: var(--gr-wc-gold) !important;
	border-color: var(--gr-wc-gold) !important;
}
.gr-irc-checkout-consent input[type="checkbox"]:checked::after {
	content: '✓';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #0A0A0A !important;
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
}
.gr-irc-checkout-consent input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--gr-wc-gold);
	outline-offset: 2px;
}
.gr-irc-checkout-consent__check {
	display: none;
}
.gr-irc-checkout-consent__text,
.gr-irc-checkout-consent > span {
	color: #FFFFFF !important;
	font-size: .94rem;
}
.gr-irc-checkout-consent strong {
	color: var(--gr-wc-gold) !important;
	font-weight: 600;
}
.gr-irc-required {
	color: #FF6B6B !important;
	font-weight: 700;
	margin-right: 4px;
	font-size: 1rem;
	display: inline-block;
}
.gr-irc-checkout-consent a {
	color: var(--gr-wc-gold) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	font-weight: 600;
	transition: color .2s;
}
.gr-irc-checkout-consent a:hover {
	color: #FFFFFF !important;
	text-decoration-color: #FFFFFF !important;
}

/* Highlight pulse when validation fails (server returned wc_add_notice error) */
.woocommerce-NoticeGroup-checkout ~ .checkout .gr-irc-checkout-consents,
form.woocommerce-checkout .woocommerce-error ~ * .gr-irc-checkout-consents {
	border-left-color: #FF6B6B !important;
	background: linear-gradient(135deg, rgba(255,107,107,0.06), rgba(255,107,107,0.01));
}

/* "Powrót do mapy IRC" button — na górze cart page */
.gr-irc-cart-back {
	margin-bottom: 24px;
}
.gr-irc-cart-back-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 20px;
	background: transparent;
	color: var(--gr-wc-gold) !important;
	border: 1px solid rgba(200,167,89,.4);
	font-family: inherit;
	font-size: .76rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: all .2s;
}
.gr-irc-cart-back-btn:hover {
	background: rgba(200,167,89,.1);
	border-color: var(--gr-wc-gold);
	transform: translateX(-4px);
}

/* ════════════════════════════════════════════════════════════════
   MY ACCOUNT DASHBOARD — custom hero, stats, quick actions
   ════════════════════════════════════════════════════════════════ */

.gr-irc-acc-dashboard {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

/* Hero — gold welcome panel */
.gr-irc-acc-hero {
	padding: 36px 32px;
	background: linear-gradient(135deg, rgba(200,167,89,.10), rgba(200,167,89,.02));
	border: 1px solid var(--gr-wc-border-strong);
	position: relative;
	overflow: hidden;
}
.gr-irc-acc-hero::before {
	content: '';
	position: absolute;
	top: -50%; right: -10%;
	width: 320px; height: 320px;
	background: radial-gradient(circle, rgba(200,167,89,.08), transparent 70%);
	pointer-events: none;
}
.gr-irc-acc-hero-greeting {
	display: block;
	color: var(--gr-wc-text-dim);
	font-size: .76rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 6px;
}
.gr-irc-acc-hero-name {
	font-family: var(--gr-wc-font-h);
	color: #FFF !important;
	font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
	font-weight: 400 !important;
	margin: 0 0 14px !important;
	letter-spacing: -.01em;
}
.gr-irc-acc-hero-sub {
	color: var(--gr-wc-text);
	font-size: .95rem;
	line-height: 1.6;
	margin: 0;
	max-width: 560px;
	position: relative;
}
.gr-irc-acc-hero-sub strong {
	color: var(--gr-wc-gold);
	font-weight: 600;
}
.gr-irc-acc-hero-sub a {
	color: var(--gr-wc-gold) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Stats — 4 kolumny z liczbami */
.gr-irc-acc-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
}
.gr-irc-acc-stat {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	padding: 22px 18px;
	text-align: center;
	transition: border-color .25s, transform .25s;
}
.gr-irc-acc-stat:hover {
	border-color: var(--gr-wc-gold);
	transform: translateY(-2px);
}
.gr-irc-acc-stat-icon {
	font-size: 1.6rem;
	display: block;
	margin-bottom: 6px;
	opacity: .9;
}
.gr-irc-acc-stat strong {
	display: block;
	font-family: var(--gr-wc-font-h);
	color: var(--gr-wc-gold);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	margin: 4px 0 6px;
}
.gr-irc-acc-stat-label {
	display: block;
	color: var(--gr-wc-text-dim);
	font-size: .72rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
}

/* Quick actions — 4 cards */
.gr-irc-acc-quick-actions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
}
.gr-irc-acc-action {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	padding: 22px 22px 20px;
	text-decoration: none !important;
	color: inherit;
	display: flex;
	flex-direction: column;
	gap: 6px;
	transition: border-color .25s, transform .25s, background .25s;
}
.gr-irc-acc-action:hover {
	border-color: var(--gr-wc-gold) !important;
	background: rgba(200,167,89,.04);
	transform: translateY(-2px);
}
.gr-irc-acc-action-icon {
	font-size: 1.6rem;
	margin-bottom: 6px;
	line-height: 1;
}
.gr-irc-acc-action strong {
	font-family: var(--gr-wc-font-h);
	color: #FFF !important;
	font-size: 1.05rem;
	font-weight: 500;
	display: block;
}
.gr-irc-acc-action span:not(.gr-irc-acc-action-icon) {
	color: var(--gr-wc-text-dim) !important;
	font-size: .85rem;
	line-height: 1.5;
}
.gr-irc-acc-action:hover strong {
	color: var(--gr-wc-gold) !important;
}

/* Empty CTA (gdy user nie kupił nic) */
.gr-irc-acc-cta {
	padding: 32px 28px;
	background: linear-gradient(135deg, rgba(200,167,89,.06), rgba(200,167,89,.02));
	border: 1px solid var(--gr-wc-border-strong);
	text-align: center;
}
.gr-irc-acc-cta strong {
	display: block;
	font-family: var(--gr-wc-font-h);
	color: #FFF;
	font-size: 1.3rem;
	font-weight: 400;
	margin-bottom: 8px;
}
.gr-irc-acc-cta p {
	color: var(--gr-wc-text);
	margin: 0 0 20px;
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.65;
	font-size: .92rem;
}

/* Generic acc-btn (used in dashboard CTA + Konsultacje empty) */
.gr-irc-acc-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 24px;
	background: var(--gr-wc-gold);
	color: #0A0A0A !important;
	border: 2px solid var(--gr-wc-gold);
	font-family: inherit;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: all .25s;
}
.gr-irc-acc-btn:hover {
	background: #0A0A0A !important;
	color: var(--gr-wc-gold) !important;
	transform: translateY(-2px);
}
.gr-irc-acc-btn--ghost {
	background: transparent !important;
	color: var(--gr-wc-gold) !important;
}
.gr-irc-acc-btn--ghost:hover {
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
}

/* ════════════════════════════════════════════════════════════════
   KONSULTACJE endpoint — empty state
   ════════════════════════════════════════════════════════════════ */
.gr-irc-acc-konsultacje {
	padding: 0;
}
.gr-irc-acc-empty {
	padding: 56px 32px;
	text-align: center;
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border-strong);
}
.gr-irc-acc-empty-icon {
	font-size: 3.6rem;
	display: block;
	opacity: .75;
	margin-bottom: 18px;
}
.gr-irc-acc-empty h3 {
	font-family: var(--gr-wc-font-h);
	color: var(--gr-wc-gold) !important;
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	font-weight: 400;
	margin: 0 0 14px !important;
}
.gr-irc-acc-empty p {
	color: var(--gr-wc-text);
	font-size: .95rem;
	line-height: 1.7;
	margin: 0 0 16px;
}
.gr-irc-acc-empty-meta {
	color: var(--gr-wc-text-dim);
	font-size: .82rem;
	max-width: 540px;
	margin: 16px auto 28px;
	line-height: 1.6;
}
.gr-irc-acc-empty-actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}

/* ════════════════════════════════════════════════════════════════
   MOBILE
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
	.gr-irc-acc-hero { padding: 24px 22px; }
	.gr-irc-acc-stats { grid-template-columns: 1fr 1fr; }
	.gr-irc-acc-quick-actions { grid-template-columns: 1fr; }
	.gr-irc-acc-empty { padding: 36px 22px; }
}

/* ════════════════════════════════════════════════════════════════
   /moje-konto/orders/ — lista zamówień
   ════════════════════════════════════════════════════════════════ */
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-orders-table,
.woocommerce-account table.woocommerce-orders-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: transparent !important;
	border: 1px solid var(--gr-wc-border-strong);
	margin: 0 0 24px !important;
}
.woocommerce-orders-table thead th {
	background: var(--gr-wc-bg-card) !important;
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h);
	font-weight: 500 !important;
	font-size: .78rem !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	padding: 16px 18px !important;
	border-bottom: 1px solid var(--gr-wc-border-strong) !important;
}
.woocommerce-orders-table tbody td {
	padding: 18px !important;
	border-bottom: 1px solid var(--gr-wc-border) !important;
	color: #FFF !important;
	font-size: .92rem !important;
	background: transparent !important;
	vertical-align: middle;
}
.woocommerce-orders-table tbody tr:last-child td { border-bottom: none !important; }
.woocommerce-orders-table tbody tr:hover td {
	background: rgba(200,167,89,0.04) !important;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
	color: var(--gr-wc-gold) !important;
	font-weight: 600;
	text-decoration: none;
	letter-spacing: .03em;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover {
	color: #FFF !important;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-date {
	color: var(--gr-wc-text-dim) !important;
	font-size: .85rem !important;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
	font-weight: 600;
	font-size: .78rem !important;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-total {
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h) !important;
	font-weight: 600 !important;
	font-size: 1.05rem !important;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-total .amount { color: var(--gr-wc-gold) !important; }
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
	text-align: right;
	white-space: nowrap;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .woocommerce-button,
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a.button {
	display: inline-block;
	padding: 8px 14px !important;
	font-size: .78rem !important;
	letter-spacing: .08em;
	margin-left: 6px !important;
	background: transparent !important;
	border: 1px solid var(--gr-wc-border-strong) !important;
	color: var(--gr-wc-text) !important;
	font-weight: 500 !important;
	border-radius: 0 !important;
	transition: all .2s;
	text-transform: uppercase !important;
	text-decoration: none !important;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .woocommerce-button:hover,
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .woocommerce-button.view {
	border-color: var(--gr-wc-gold) !important;
	color: var(--gr-wc-gold) !important;
	background: rgba(200,167,89,0.06) !important;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .woocommerce-button.pay {
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
	border-color: var(--gr-wc-gold) !important;
}

/* Status badges (completed / processing / on-hold etc.) */
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status mark {
	display: inline-block;
	padding: 5px 11px;
	background: rgba(200,167,89,0.12);
	color: var(--gr-wc-gold);
	border: 1px solid rgba(200,167,89,0.3);
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}

/* Pagination */
.woocommerce-account .woocommerce-pagination,
.woocommerce-MyAccount-orders-pagination {
	margin: 24px 0;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.woocommerce-account .woocommerce-pagination a.button,
.woocommerce-MyAccount-orders-pagination .button {
	background: transparent !important;
	border: 1px solid var(--gr-wc-border-strong) !important;
	color: var(--gr-wc-text) !important;
	padding: 8px 16px !important;
	font-size: .82rem !important;
	border-radius: 0 !important;
}
.woocommerce-account .woocommerce-pagination a.button:hover,
.woocommerce-MyAccount-orders-pagination .button:hover {
	border-color: var(--gr-wc-gold) !important;
	color: var(--gr-wc-gold) !important;
}

/* Empty orders state */
.woocommerce-MyAccount-content .woocommerce-info {
	background: var(--gr-wc-bg-card) !important;
	border-left: 3px solid var(--gr-wc-gold) !important;
	color: #FFF !important;
	padding: 18px 24px !important;
}

/* ════════════════════════════════════════════════════════════════
   /moje-konto/view-order/ — szczegóły pojedynczego zamówienia
   ════════════════════════════════════════════════════════════════ */
.woocommerce-account .woocommerce-order-details,
.woocommerce-view-order .woocommerce-order-details {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border-strong);
	padding: 28px;
	margin-bottom: 28px;
}
.woocommerce-account .woocommerce-order-details h2,
.woocommerce-account .woocommerce-customer-details h2,
.woocommerce-account .woocommerce-order-details__title {
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h) !important;
	font-size: 1.3rem !important;
	font-weight: 400 !important;
	margin: 0 0 20px !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid var(--gr-wc-border) !important;
	letter-spacing: -.01em;
}
.woocommerce-account table.shop_table.order_details {
	background: transparent !important;
	border: 1px solid var(--gr-wc-border) !important;
	width: 100%;
	margin: 0 0 16px !important;
}
.woocommerce-account table.order_details thead th {
	background: rgba(255,255,255,0.02) !important;
	color: var(--gr-wc-gold) !important;
	font-size: .76rem !important;
	letter-spacing: .12em;
	text-transform: uppercase !important;
	padding: 14px 18px !important;
	border-bottom: 1px solid var(--gr-wc-border) !important;
	font-weight: 500 !important;
}
.woocommerce-account table.order_details tbody td,
.woocommerce-account table.order_details tfoot td,
.woocommerce-account table.order_details tfoot th {
	padding: 14px 18px !important;
	border-bottom: 1px solid var(--gr-wc-border) !important;
	color: #FFF !important;
	font-size: .92rem;
	background: transparent !important;
}
.woocommerce-account table.order_details tfoot tr:last-child th,
.woocommerce-account table.order_details tfoot tr:last-child td {
	border-bottom: none !important;
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h);
	font-weight: 600;
	font-size: 1.05rem !important;
}
.woocommerce-account table.order_details .product-name a {
	color: #FFF !important;
	text-decoration: none;
	font-weight: 500;
}
.woocommerce-account table.order_details .product-name a:hover { color: var(--gr-wc-gold) !important; }
.woocommerce-account table.order_details .download-file {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px dashed var(--gr-wc-border);
}
.woocommerce-account table.order_details .download-file a.button {
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
	padding: 6px 12px !important;
	font-size: .78rem !important;
	letter-spacing: .06em;
	border-radius: 0 !important;
	text-transform: uppercase;
	border: none !important;
}

/* Customer details (billing/shipping cards on view-order) */
.woocommerce-customer-details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin-bottom: 28px;
}
.woocommerce-customer-details > h2 {
	grid-column: 1 / -1;
}
.woocommerce-customer-details address {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	border-left: 3px solid var(--gr-wc-gold);
	padding: 22px;
	font-style: normal !important;
	color: #FFF !important;
	line-height: 1.7;
	font-size: .92rem;
}

/* ════════════════════════════════════════════════════════════════
   /moje-konto/edit-account/ — formularz edycji danych
   ════════════════════════════════════════════════════════════════ */
.woocommerce-EditAccountForm {
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	border-left: 3px solid var(--gr-wc-gold);
	padding: 32px;
	max-width: 720px;
}
.woocommerce-EditAccountForm > .woocommerce-form-row {
	margin-bottom: 18px;
}
.woocommerce-EditAccountForm fieldset {
	margin: 28px 0 12px !important;
	padding: 24px !important;
	background: rgba(255,255,255,0.02);
	border: 1px solid var(--gr-wc-border) !important;
	border-radius: 0 !important;
}
.woocommerce-EditAccountForm fieldset legend {
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h) !important;
	font-size: 1.1rem !important;
	font-weight: 400 !important;
	padding: 0 12px !important;
	letter-spacing: -.01em;
}
.woocommerce-EditAccountForm fieldset .woocommerce-form-row {
	margin-bottom: 14px !important;
}
.woocommerce-EditAccountForm .button[name="save_account_details"],
.woocommerce-EditAccountForm button[type="submit"] {
	margin-top: 20px;
}
.woocommerce-EditAccountForm em,
.woocommerce-EditAccountForm small {
	color: var(--gr-wc-text-dim) !important;
	font-style: normal;
	font-size: .82rem;
	display: block;
	margin-top: 4px;
}

/* Password strength meter (WC + WP core) */
.woocommerce-password-strength {
	display: block;
	padding: 8px 12px;
	margin-top: 6px;
	font-size: .8rem !important;
	letter-spacing: .04em;
	font-weight: 600;
	text-transform: uppercase;
	border-left: 3px solid var(--gr-wc-text-dim);
	background: rgba(255,255,255,0.03);
}
.woocommerce-password-strength.short {
	color: #FF6B6B !important;
	border-left-color: #FF6B6B;
	background: rgba(255,107,107,0.06);
}
.woocommerce-password-strength.bad {
	color: #FFB86B !important;
	border-left-color: #FFB86B;
	background: rgba(255,184,107,0.06);
}
.woocommerce-password-strength.good {
	color: #FFE66B !important;
	border-left-color: #FFE66B;
	background: rgba(255,230,107,0.06);
}
.woocommerce-password-strength.strong {
	color: #6BCF7F !important;
	border-left-color: #6BCF7F;
	background: rgba(107,207,127,0.06);
}
.woocommerce-password-hint {
	color: var(--gr-wc-text-dim) !important;
	font-size: .82rem;
	margin-top: 6px;
	display: block;
}

/* ════════════════════════════════════════════════════════════════
   /moje-konto/lost-password/ + reset-password — odzyskiwanie
   ════════════════════════════════════════════════════════════════ */
.woocommerce-account .woocommerce-ResetPassword,
.woocommerce-account .lost_reset_password {
	max-width: 480px;
	margin: 0 auto;
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	border-left: 3px solid var(--gr-wc-gold);
	padding: 36px 32px;
}
.woocommerce-account .lost_reset_password p {
	color: var(--gr-wc-text);
	font-size: .92rem;
	line-height: 1.7;
	margin: 0 0 18px;
}
.woocommerce-account .lost_reset_password .form-row > label {
	color: var(--gr-wc-gold) !important;
}

/* ════════════════════════════════════════════════════════════════
   /moje-konto/payment-methods/ — zapisane karty
   ════════════════════════════════════════════════════════════════ */
.woocommerce-account .woocommerce-MyAccount-paymentMethods,
.woocommerce-MyAccount-paymentMethods {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: transparent !important;
	border: 1px solid var(--gr-wc-border-strong);
	margin-bottom: 24px;
}
.woocommerce-MyAccount-paymentMethods thead th {
	background: var(--gr-wc-bg-card) !important;
	color: var(--gr-wc-gold) !important;
	font-family: var(--gr-wc-font-h) !important;
	font-size: .78rem !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	padding: 16px 18px !important;
	border-bottom: 1px solid var(--gr-wc-border-strong) !important;
	font-weight: 500 !important;
	text-align: left;
}
.woocommerce-MyAccount-paymentMethods tbody td {
	padding: 18px !important;
	border-bottom: 1px solid var(--gr-wc-border) !important;
	color: #FFF !important;
	background: transparent !important;
	vertical-align: middle;
	font-size: .92rem;
}
.woocommerce-MyAccount-paymentMethods tbody tr:last-child td {
	border-bottom: none !important;
}
.woocommerce-MyAccount-paymentMethods .payment-method-method {
	font-weight: 600;
	color: #FFF !important;
}
.woocommerce-MyAccount-paymentMethods .payment-method-method img {
	max-height: 24px;
	margin-right: 10px;
	vertical-align: middle;
	background: #FFF;
	padding: 2px 4px;
	border-radius: 2px;
}
.woocommerce-MyAccount-paymentMethods .payment-method-expires {
	color: var(--gr-wc-text-dim) !important;
	font-size: .85rem;
	letter-spacing: .04em;
}
.woocommerce-MyAccount-paymentMethods .payment-method-actions {
	text-align: right;
	white-space: nowrap;
}
.woocommerce-MyAccount-paymentMethods .button {
	display: inline-block;
	padding: 8px 14px !important;
	font-size: .78rem !important;
	letter-spacing: .08em;
	background: transparent !important;
	border: 1px solid var(--gr-wc-border-strong) !important;
	color: var(--gr-wc-text) !important;
	border-radius: 0 !important;
	margin-left: 6px;
	transition: all .2s;
	text-transform: uppercase;
}
.woocommerce-MyAccount-paymentMethods .button:hover {
	border-color: var(--gr-wc-gold) !important;
	color: var(--gr-wc-gold) !important;
	background: rgba(200,167,89,0.06) !important;
}
.woocommerce-MyAccount-paymentMethods .button.delete {
	color: var(--gr-wc-text-dim) !important;
}
.woocommerce-MyAccount-paymentMethods .button.delete:hover {
	border-color: var(--gr-wc-error) !important;
	color: var(--gr-wc-error) !important;
	background: rgba(231,76,60,0.06) !important;
}
.woocommerce-MyAccount-paymentMethods .button.default {
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
	border-color: var(--gr-wc-gold) !important;
	font-weight: 600;
	cursor: default;
}

/* "Add payment method" big button */
.woocommerce-account .woocommerce-MyAccount-content > a.button.woocommerce-Button,
.woocommerce-account a.button[href*="add-payment-method"] {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px !important;
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
	border: 1px solid var(--gr-wc-gold) !important;
	border-radius: 0 !important;
	font-size: .85rem !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-weight: 600;
	transition: all .2s;
}
.woocommerce-account .woocommerce-MyAccount-content > a.button.woocommerce-Button:hover,
.woocommerce-account a.button[href*="add-payment-method"]:hover {
	background: #fff !important;
	border-color: #fff !important;
}

/* Add payment method form (the page itself) */
.woocommerce-add-payment-method form#add_payment_method {
	max-width: 560px;
	background: var(--gr-wc-bg-card);
	border: 1px solid var(--gr-wc-border);
	border-left: 3px solid var(--gr-wc-gold);
	padding: 32px;
}
.woocommerce-add-payment-method ul.payment_methods {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 0 18px !important;
}
.woocommerce-add-payment-method ul.payment_methods li {
	background: rgba(255,255,255,0.02);
	padding: 16px 18px !important;
	border: 1px solid var(--gr-wc-border);
	margin-bottom: 8px !important;
}

/* Empty state na payment-methods (gdy brak zapisanych kart) */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child + a.button {
	margin-top: 12px;
}

/* ════════════════════════════════════════════════════════════════
   COUPON FIELDS — cart + checkout (estetyka, layout)
   ════════════════════════════════════════════════════════════════ */
.woocommerce-cart .coupon {
	display: flex !important;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	background: rgba(255,255,255,0.02);
	border: 1px solid var(--gr-wc-border);
	border-left: 3px solid var(--gr-wc-gold);
	padding: 16px 18px;
	margin: 0 0 28px !important;
	max-width: 540px;
}
.woocommerce-cart .coupon::before {
	content: '🎟';
	font-size: 1.3rem;
	margin-right: 4px;
}
.woocommerce-cart .coupon label {
	display: none !important;
}
.woocommerce-cart .coupon input[type="text"] {
	flex: 1;
	min-width: 180px;
	background: rgba(0,0,0,0.4) !important;
	border: 1px solid var(--gr-wc-border) !important;
	color: #FFF !important;
	padding: 10px 14px !important;
	font-size: .92rem !important;
	letter-spacing: .04em;
	font-family: 'Inter', monospace !important;
	text-transform: uppercase !important;
	border-radius: 0 !important;
}
.woocommerce-cart .coupon input[type="text"]::placeholder {
	color: var(--gr-wc-text-dim) !important;
	text-transform: none;
	letter-spacing: 0;
}
.woocommerce-cart .coupon input[type="text"]:focus {
	border-color: var(--gr-wc-gold) !important;
	background: rgba(200,167,89,0.06) !important;
	outline: none;
}
.woocommerce-cart .coupon button[name="apply_coupon"],
.woocommerce-cart .coupon .button {
	background: transparent !important;
	border: 1px solid var(--gr-wc-gold) !important;
	color: var(--gr-wc-gold) !important;
	padding: 10px 18px !important;
	font-size: .82rem !important;
	letter-spacing: .1em;
	font-weight: 600;
	text-transform: uppercase;
	border-radius: 0 !important;
	cursor: pointer;
	transition: all .2s;
}
.woocommerce-cart .coupon button[name="apply_coupon"]:hover,
.woocommerce-cart .coupon .button:hover {
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
}

/* Checkout: "Masz kupon? Kliknij tutaj" toggle */
.woocommerce-form-coupon-toggle .woocommerce-info {
	background: rgba(200,167,89,0.06) !important;
	border: 1px solid var(--gr-wc-border) !important;
	border-left: 3px solid var(--gr-wc-gold) !important;
	color: var(--gr-wc-text) !important;
	padding: 14px 18px !important;
	font-size: .9rem !important;
	letter-spacing: 0;
}
.woocommerce-form-coupon-toggle .woocommerce-info::before {
	content: '🎟  ';
}
.woocommerce-form-coupon-toggle .woocommerce-info a {
	color: var(--gr-wc-gold) !important;
	font-weight: 600;
	text-decoration: underline;
}
.woocommerce-form-coupon-toggle .woocommerce-info a:hover {
	color: #FFF !important;
}

/* Form rozwijany do wpisania kuponu na checkout */
form.checkout_coupon {
	background: var(--gr-wc-bg-card) !important;
	border: 1px solid var(--gr-wc-border) !important;
	border-left: 3px solid var(--gr-wc-gold) !important;
	padding: 22px !important;
	margin: 0 0 28px !important;
	max-width: 560px;
}
form.checkout_coupon p:first-child {
	color: var(--gr-wc-text-dim) !important;
	font-size: .88rem !important;
	margin: 0 0 14px !important;
	line-height: 1.6;
}
form.checkout_coupon .form-row {
	margin-bottom: 0 !important;
}
form.checkout_coupon .form-row-first input[type="text"] {
	background: rgba(0,0,0,0.4) !important;
	border: 1px solid var(--gr-wc-border) !important;
	color: #FFF !important;
	padding: 11px 14px !important;
	letter-spacing: .04em;
	text-transform: uppercase !important;
	border-radius: 0 !important;
	min-width: 220px;
}
form.checkout_coupon .form-row-last button {
	background: transparent !important;
	border: 1px solid var(--gr-wc-gold) !important;
	color: var(--gr-wc-gold) !important;
	padding: 11px 22px !important;
	font-size: .82rem !important;
	letter-spacing: .1em;
	font-weight: 600;
	text-transform: uppercase;
	border-radius: 0 !important;
	cursor: pointer;
	transition: all .2s;
}
form.checkout_coupon .form-row-last button:hover {
	background: var(--gr-wc-gold) !important;
	color: #0A0A0A !important;
}

/* Applied coupon line in cart totals / order review */
.cart-discount,
.fee {
	color: #6BCF7F !important;
}
.cart-discount .amount,
.fee .amount {
	color: #6BCF7F !important;
	font-weight: 600;
}
.woocommerce-remove-coupon {
	color: var(--gr-wc-error) !important;
	font-size: .78rem !important;
	margin-left: 6px !important;
	text-decoration: none !important;
	border-bottom: 1px dashed var(--gr-wc-error);
}
.woocommerce-remove-coupon:hover {
	color: #FF8C8C !important;
}

/* ════════════════════════════════════════════════════════════════
   MOBILE — orders / view-order / edit-account / payment-methods
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
	.woocommerce-orders-table thead { display: none; }
	.woocommerce-orders-table,
	.woocommerce-orders-table tbody,
	.woocommerce-orders-table tr,
	.woocommerce-orders-table td {
		display: block;
		width: 100%;
	}
	.woocommerce-orders-table tbody tr {
		border-bottom: 1px solid var(--gr-wc-border-strong);
		padding: 12px 0;
	}
	.woocommerce-orders-table tbody td {
		padding: 6px 14px !important;
		border-bottom: none !important;
		text-align: left !important;
	}
	.woocommerce-orders-table tbody td::before {
		content: attr(data-title) ': ';
		color: var(--gr-wc-gold);
		font-size: .72rem;
		letter-spacing: .1em;
		text-transform: uppercase;
		font-weight: 600;
		display: inline-block;
		min-width: 90px;
	}
	.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
		text-align: left !important;
		padding-top: 12px !important;
	}
	.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions::before {
		display: none !important;
	}

	.woocommerce-EditAccountForm,
	.woocommerce-add-payment-method form#add_payment_method,
	.woocommerce-account .lost_reset_password {
		padding: 22px !important;
	}
	.woocommerce-EditAccountForm fieldset {
		padding: 18px !important;
	}

	.woocommerce-customer-details {
		grid-template-columns: 1fr;
	}

	.woocommerce-MyAccount-paymentMethods thead { display: none; }
	.woocommerce-MyAccount-paymentMethods,
	.woocommerce-MyAccount-paymentMethods tbody,
	.woocommerce-MyAccount-paymentMethods tr,
	.woocommerce-MyAccount-paymentMethods td {
		display: block;
		width: 100%;
	}
	.woocommerce-MyAccount-paymentMethods tbody tr {
		border-bottom: 1px solid var(--gr-wc-border-strong);
		padding: 12px 0;
	}
	.woocommerce-MyAccount-paymentMethods tbody td {
		padding: 6px 14px !important;
		border-bottom: none !important;
		text-align: left !important;
	}
	.woocommerce-MyAccount-paymentMethods .payment-method-actions {
		text-align: left !important;
	}

	.woocommerce-cart .coupon { flex-direction: column; align-items: stretch; }
	.woocommerce-cart .coupon button[name="apply_coupon"] { width: 100%; }
	form.checkout_coupon .form-row-first,
	form.checkout_coupon .form-row-last {
		display: block !important;
		width: 100% !important;
	}
	form.checkout_coupon .form-row-first { margin-bottom: 12px !important; }
	form.checkout_coupon .form-row-last button { width: 100%; }
}

/* ════════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
	.woocommerce-cart .entry-content,
	.woocommerce-checkout .entry-content,
	.woocommerce-account .entry-content {
		padding: 32px 16px 60px;
	}
	.woocommerce-billing-fields,
	.woocommerce-shipping-fields,
	.woocommerce-additional-fields,
	.cart_totals,
	.woocommerce-checkout-payment {
		padding: 20px !important;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		padding: 16px;
	}
	.woocommerce table.shop_table {
		font-size: .85rem;
	}
}
