/* =========================================================================
   FRYDERYK COFFEE — WOOCOMMERCE
   Nadpisujemy style Woo tak, żeby sklep wyglądał jak marka, a nie jak sklep.
   ========================================================================= */

/* --- Breadcrumb --- */
.fc-breadcrumb { font-size: var(--fc-fs-xs); letter-spacing: .04em; text-transform: uppercase; color: var(--fc-muted-2); margin-bottom: var(--fc-s6); }
.fc-breadcrumb a { color: var(--fc-muted); }
.fc-breadcrumb__sep { margin: 0 .5rem; color: var(--fc-gold-dark); }

/* --- Komunikaty --- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
	background: var(--fc-surface) !important;
	border: 1px solid var(--fc-line) !important;
	border-top: 2px solid var(--fc-gold) !important;
	color: var(--fc-text) !important;
	border-radius: var(--fc-radius);
	padding: var(--fc-s4) var(--fc-s5) var(--fc-s4) var(--fc-s5) !important;
	margin-bottom: var(--fc-s5) !important;
	display: flex; flex-wrap: wrap; align-items: center; gap: var(--fc-s4);
	font-size: var(--fc-fs-sm);
	list-style: none;
}
.woocommerce-error { border-top-color: var(--fc-danger) !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none !important; }
.woocommerce-message .button, .woocommerce-info .button { margin-left: auto; }

/* --- Przyciski Woo → nasze --- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #respond input#submit, .wc-block-components-button {
	background: linear-gradient(180deg, var(--fc-gold-light), var(--fc-gold)) !important;
	color: #1A130A !important;
	border-radius: var(--fc-radius) !important;
	font-family: var(--fc-font-body) !important;
	font-size: var(--fc-fs-sm) !important;
	font-weight: 500 !important;
	letter-spacing: var(--fc-ls-mid);
	text-transform: uppercase;
	padding: 1.05rem 2.1rem !important;
	line-height: 1 !important;
	border: 0 !important;
	transition: box-shadow var(--fc-dur) var(--fc-ease), background var(--fc-dur-f) var(--fc-ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #respond input#submit:hover {
	background: linear-gradient(180deg, #F0DAA9, var(--fc-gold-light)) !important;
	box-shadow: var(--fc-shadow-gold);
}
.woocommerce a.button.wc-backward, .woocommerce .button--secondary {
	background: transparent !important; color: var(--fc-cream) !important; border: 1px solid var(--fc-line) !important;
}

/* --- Ceny --- */
.woocommerce-Price-amount, .price { font-family: var(--fc-font-display); color: var(--fc-cream); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--fc-gold-light); font-size: clamp(1.9rem, 3vw, 2.6rem); font-weight: 400; line-height: 1.2; }
.woocommerce div.product p.price del { color: var(--fc-muted-2); font-size: .6em; opacity: .8; }
.woocommerce div.product p.price ins { text-decoration: none; }
.fc-price-from { font-family: var(--fc-font-body); font-size: .5em; text-transform: uppercase; letter-spacing: var(--fc-ls-mid); color: var(--fc-muted); vertical-align: middle; }

/* --- Katalog --- */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: var(--fc-s6); margin: 0 0 var(--fc-s8) !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
	width: 100% !important; margin: 0 !important; float: none !important; text-align: left;
	border: 1px solid var(--fc-line-soft); background: var(--fc-surface); padding: var(--fc-s5);
	transition: border-color var(--fc-dur) var(--fc-ease), transform var(--fc-dur) var(--fc-ease);
}
.woocommerce ul.products li.product:hover { border-color: var(--fc-line); transform: translateY(-4px); }
.woocommerce ul.products li.product a img { margin-bottom: var(--fc-s5); background: transparent; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--fc-font-display) !important; font-size: 1.45rem !important; color: var(--fc-cream);
	padding: 0 !important; margin-bottom: var(--fc-s2) !important; text-transform: uppercase; letter-spacing: .04em;
}
.woocommerce ul.products li.product .price { display: block; color: var(--fc-gold-light) !important; font-size: 1.25rem !important; margin-bottom: var(--fc-s4); }
.woocommerce ul.products li.product .button { display: inline-block; margin-top: var(--fc-s2); }
.woocommerce span.onsale {
	background: var(--fc-gold) !important; color: var(--fc-black) !important; border-radius: 0;
	font-size: var(--fc-fs-xs); letter-spacing: var(--fc-ls-mid); text-transform: uppercase;
	min-height: 0; min-width: 0; padding: .35rem .8rem; line-height: 1.4; top: var(--fc-s4); left: var(--fc-s4); margin: 0;
}

/* --- Karta produktu --- */
.woocommerce div.product { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
/* Kolumna galerii = element siatki (wiersz 1). Przyklejona jest zawartość w środku,
   więc zdjęcie nigdy nie wyjedzie poza swój wiersz — czyli nie wjedzie na zakładki. */
.woocommerce div.product .fc-gallery-col {
	grid-column: 1;
	grid-row: 1;
	align-self: stretch;
	min-width: 0;
}

.woocommerce div.product .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	position: sticky !important;
	top: calc(var(--fc-header-h) + 24px);
	/* Galeria musi zmieścić się w oknie, inaczej „przykleja się” dolną krawędzią
	   i przy przewijaniu wygląda, jakby uciekała. */
	max-height: calc(100vh - var(--fc-header-h) - 48px);
}
.woocommerce div.product .woocommerce-product-gallery__image img {
	max-height: calc(100vh - var(--fc-header-h) - 190px);
}
.woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0 !important; grid-column: 2; grid-row: 1; min-width: 0; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .fc-product-extra {
	grid-column: 1 / -1;
	grid-row: 2;
	position: relative;
	z-index: 2;
	background: var(--fc-black);
}

.woocommerce div.product .product_title { font-size: var(--fc-fs-h2); text-transform: uppercase; letter-spacing: .03em; margin-bottom: var(--fc-s3) !important; }
.woocommerce div.product .woocommerce-product-rating { margin-bottom: var(--fc-s4); }
.woocommerce .star-rating span::before, .woocommerce .star-rating::before { color: var(--fc-gold); }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--fc-muted); margin-bottom: var(--fc-s5); }
.woocommerce div.product form.cart { margin-bottom: var(--fc-s5); }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0 var(--fc-s3) 0 0; }
.woocommerce div.product form.cart .button { padding: 1.15rem 2.4rem !important; }
.woocommerce div.product form.cart:not(.variations_form) { display: flex; gap: var(--fc-s3); align-items: stretch; flex-wrap: wrap; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 240px; }

/* Warianty */
.woocommerce div.product form.cart .variations { margin-bottom: var(--fc-s5); width: 100%; border-collapse: collapse; }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { display: block; text-align: left; padding: 0; }
.woocommerce div.product form.cart .variations th.label label {
	font-size: var(--fc-fs-xs); letter-spacing: var(--fc-ls-wide); text-transform: uppercase; color: var(--fc-muted-2);
	margin-bottom: var(--fc-s2); display: block;
}
.woocommerce div.product form.cart .variations select { margin-bottom: var(--fc-s3); }
.woocommerce div.product form.cart .reset_variations { font-size: var(--fc-fs-xs); text-transform: uppercase; letter-spacing: .06em; }
.woocommerce div.product .woocommerce-variation-price { margin-bottom: var(--fc-s4); }
.woocommerce div.product .woocommerce-variation-availability { font-size: var(--fc-fs-sm); }

/* Galeria */
.woocommerce div.product div.images img { border: 1px solid var(--fc-line-soft); background: var(--fc-surface); }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: var(--fc-s3); margin-top: var(--fc-s3); }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; flex: 0 0 84px; margin: 0 !important; }
.woocommerce div.product div.images .flex-control-thumbs img { opacity: .55; transition: opacity var(--fc-dur-f); }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover { opacity: 1; border-color: var(--fc-gold); }
.woocommerce div.product .woocommerce-product-gallery__trigger { background: var(--fc-surface); border: 1px solid var(--fc-line); border-radius: 0; }

/* Stan magazynowy */
.woocommerce div.product .stock { font-size: var(--fc-fs-sm); letter-spacing: .04em; }
.woocommerce div.product .stock.in-stock { color: var(--fc-success); }
.woocommerce div.product .stock.out-of-stock { color: var(--fc-danger); }

/* Odznaki zaufania */
.fc-trust { display: grid; gap: var(--fc-s4); border-top: 1px solid var(--fc-line-soft); padding-top: var(--fc-s5); margin-top: var(--fc-s5); }
.fc-trust__item { display: flex; gap: var(--fc-s4); align-items: center; }
.fc-trust__icon { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--fc-line); border-radius: 50%; color: var(--fc-gold); flex: 0 0 40px; }
.fc-trust__text { display: flex; flex-direction: column; line-height: 1.35; }
.fc-trust__text strong { font-size: var(--fc-fs-sm); text-transform: uppercase; letter-spacing: var(--fc-ls-mid); }
.fc-trust__text span { font-size: var(--fc-fs-sm); color: var(--fc-muted-2); }

/* Zakładki */
.woocommerce div.product .woocommerce-tabs { margin-top: var(--fc-s10); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 0 var(--fc-s6) !important; border-bottom: 1px solid var(--fc-line-soft); display: flex; gap: var(--fc-s6); flex-wrap: wrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: var(--fc-s4) 0 !important; display: block; color: var(--fc-muted) !important;
	font-size: var(--fc-fs-xs); text-transform: uppercase; letter-spacing: var(--fc-ls-mid); font-weight: 400;
	border-bottom: 1px solid transparent; margin-bottom: -1px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--fc-gold) !important; border-bottom-color: var(--fc-gold); }
.woocommerce div.product .woocommerce-tabs .panel { color: var(--fc-muted); max-width: 70ch; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: var(--fc-fs-h3); text-transform: uppercase; letter-spacing: .03em; margin-bottom: var(--fc-s4); }
.woocommerce table.shop_attributes { border: 0; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td {
	border: 0; border-bottom: 1px solid var(--fc-line-soft); padding: var(--fc-s3) 0; font-style: normal; background: none !important;
}
.woocommerce table.shop_attributes th { color: var(--fc-muted-2); font-size: var(--fc-fs-xs); text-transform: uppercase; letter-spacing: var(--fc-ls-mid); font-weight: 400; width: 30%; }
.woocommerce table.shop_attributes td { color: var(--fc-cream); }

/* Opinie */
#reviews { scroll-margin-top: calc(var(--fc-header-h) + 20px); }
.woocommerce #reviews #comments h2 { font-size: var(--fc-fs-h3); text-transform: uppercase; letter-spacing: .03em; }
.woocommerce #reviews ol.commentlist { padding: 0; }
.woocommerce #reviews ol.commentlist li { margin-bottom: var(--fc-s5); }
.woocommerce #reviews ol.commentlist li .comment-text {
	border: 1px solid var(--fc-line-soft) !important; border-radius: 0 !important;
	background: var(--fc-surface); padding: var(--fc-s5) !important; margin-left: 70px;
}
.woocommerce #reviews ol.commentlist li img.avatar { border: 1px solid var(--fc-line-soft) !important; background: var(--fc-surface); padding: 3px !important; width: 52px; border-radius: 50%; }
.woocommerce #reviews .comment-reply-title { font-family: var(--fc-font-display); font-size: var(--fc-fs-h4); color: var(--fc-cream); display: block; margin-bottom: var(--fc-s4); }
.woocommerce #review_form #respond textarea { min-height: 140px; }
.woocommerce p.stars a { color: var(--fc-gold); }

/* --- Koszyk --- */
.woocommerce table.shop_table {
	border: 0; border-collapse: collapse; border-radius: 0;
}
.woocommerce table.shop_table th {
	color: var(--fc-muted-2); font-size: var(--fc-fs-xs); text-transform: uppercase; letter-spacing: var(--fc-ls-mid);
	font-weight: 400; border-bottom: 1px solid var(--fc-line); padding: var(--fc-s4) var(--fc-s3);
}
.woocommerce table.shop_table td { border-top: 0; border-bottom: 1px solid var(--fc-line-soft); padding: var(--fc-s5) var(--fc-s3); vertical-align: middle; }
.woocommerce table.shop_table img { width: 84px; border: 1px solid var(--fc-line-soft); }
.woocommerce table.cart td.product-name a { color: var(--fc-cream); font-family: var(--fc-font-display); font-size: 1.25rem; }
.woocommerce table.cart td.product-name a:hover { color: var(--fc-gold); }
.woocommerce a.remove { color: var(--fc-muted-2) !important; font-weight: 300; }
.woocommerce a.remove:hover { color: var(--fc-danger) !important; background: none !important; }
.woocommerce .cart-collaterals { display: grid; }
.woocommerce .cart_totals { width: 100% !important; float: none !important; }
.woocommerce-cart .cart-collaterals .cart_totals > h2 { font-size: var(--fc-fs-h4); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--fc-s4); }
.woocommerce-cart .cart-collaterals .cart_totals table { border: 1px solid var(--fc-line-soft); }
.woocommerce-cart .cart-collaterals .cart_totals th { width: 45%; background: var(--fc-surface); }
.woocommerce-cart .wc-proceed-to-checkout { padding: var(--fc-s5) 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: block; text-align: center; font-size: var(--fc-fs-base) !important; }
.woocommerce .coupon { display: flex; gap: var(--fc-s3); flex-wrap: wrap; }
.woocommerce .coupon input.input-text { max-width: 220px; }
.woocommerce-cart table.cart td.actions { padding: var(--fc-s5) 0; }

.fc-freeship { margin-bottom: var(--fc-s6); }
.fc-freeship__text { font-size: var(--fc-fs-sm); color: var(--fc-muted); margin-bottom: var(--fc-s3); display: flex; align-items: center; gap: var(--fc-s2); }
.fc-freeship__text--done { color: var(--fc-success); }
.fc-freeship__bar { height: 3px; background: rgba(244,238,229,.08); overflow: hidden; }
.fc-freeship__bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--fc-gold-dark), var(--fc-gold)); transition: width .6s var(--fc-ease); }

/* --- Checkout --- */
.woocommerce-checkout .fc-main--shop { padding-top: var(--fc-s7); }
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
	grid-template-rows: auto 1fr;
	gap: var(--fc-s4) clamp(2rem, 5vw, 4rem);
	align-items: start;
}
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; }
/* Podsumowanie zamówienia celowo NIE jest przyklejone: jest wyższe niż okno,
   więc razem z nim uciekłby z ekranu przycisk „Kupuję i płacę”. */
.woocommerce-checkout #order_review {
	border: 1px solid var(--fc-line); background: var(--fc-surface); padding: var(--fc-s6);
}
.woocommerce-checkout #order_review_heading { font-size: var(--fc-fs-h4); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--fc-s4); }
.woocommerce-checkout h3 { font-size: var(--fc-fs-h4); text-transform: uppercase; letter-spacing: .04em; margin: 0 0 var(--fc-s5); }
.woocommerce-checkout .col2-set { display: grid; gap: var(--fc-s6); }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: 100% !important; float: none !important; }
.woocommerce form .form-row { padding: 0; margin: 0 0 var(--fc-s4); display: block; }
.woocommerce form .form-row label { display: block; margin-bottom: var(--fc-s2); font-size: var(--fc-fs-xs); text-transform: uppercase; letter-spacing: .06em; color: var(--fc-muted-2); }
.woocommerce form .form-row .required { color: var(--fc-gold); text-decoration: none; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; }
@media (min-width: 720px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--fc-s4); }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-wide,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_address_1_field,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_company_field { grid-column: 1 / -1; }
}
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--fc-danger); }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: rgba(127,168,107,.5); }
.select2-container--default .select2-selection--single {
	background: var(--fc-surface); border: 1px solid var(--fc-line-soft); border-radius: var(--fc-radius); height: 52px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--fc-cream); line-height: 50px; padding-left: 1.1rem; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 50px; }
.select2-dropdown { background: var(--fc-surface-2); border-color: var(--fc-line); color: var(--fc-text); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--fc-gold-dark); }
.select2-search--dropdown .select2-search__field { background: var(--fc-surface); border-color: var(--fc-line-soft); color: var(--fc-cream); }

.woocommerce-checkout #payment { background: transparent !important; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 0; margin: 0 0 var(--fc-s5); display: grid; gap: var(--fc-s3); }
.woocommerce-checkout #payment ul.payment_methods li {
	border: 1px solid var(--fc-line-soft); padding: var(--fc-s4) var(--fc-s5); list-style: none; transition: border-color var(--fc-dur-f);
}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--fc-gold); background: rgba(198,161,91,.05); }
.woocommerce-checkout #payment ul.payment_methods li label { display: inline-flex; align-items: center; gap: var(--fc-s3); text-transform: none; font-size: var(--fc-fs-base); letter-spacing: 0; color: var(--fc-cream); margin: 0; }
.woocommerce-checkout #payment ul.payment_methods li img { max-height: 26px; width: auto; display: inline-block; }
.woocommerce-checkout #payment div.payment_box {
	background: var(--fc-surface-2) !important; color: var(--fc-muted); font-size: var(--fc-fs-sm);
	border-radius: var(--fc-radius); margin-top: var(--fc-s3);
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--fc-surface-2) !important; }
.woocommerce-checkout #payment .form-row.place-order { padding: 0; margin: 0; }
.woocommerce-checkout #payment #place_order { width: 100%; font-size: var(--fc-fs-base) !important; padding: 1.25rem !important; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-bottom: var(--fc-s4); }
.woocommerce-checkout .woocommerce-privacy-policy-text p { font-size: var(--fc-fs-xs); color: var(--fc-muted-2); }

.woocommerce-checkout-review-order-table { width: 100%; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: var(--fc-s3) 0 !important; font-size: var(--fc-fs-sm); }
.woocommerce-checkout-review-order-table tfoot th { text-transform: uppercase; letter-spacing: .06em; }
.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td { border-top: 1px solid var(--fc-line); padding-top: var(--fc-s4) !important; }
.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount { font-size: 1.6rem; color: var(--fc-gold-light); }
.woocommerce ul#shipping_method { display: grid; gap: var(--fc-s2); }
.woocommerce ul#shipping_method li { display: flex; align-items: center; gap: var(--fc-s2); font-size: var(--fc-fs-sm); }
.woocommerce ul#shipping_method input[type="radio"] { width: 18px; height: 18px; min-height: 0; accent-color: var(--fc-gold); }

/* --- Wybór Paczkomatu (fryderyk-core) --- */
.fc-locker {
	border: 1px dashed var(--fc-line); padding: var(--fc-s5); margin: var(--fc-s4) 0;
	background: rgba(198,161,91,.04);
}
.fc-locker__head { display: flex; align-items: center; gap: var(--fc-s3); margin-bottom: var(--fc-s3); }
.fc-locker__head strong { font-size: var(--fc-fs-sm); text-transform: uppercase; letter-spacing: var(--fc-ls-mid); color: var(--fc-cream); }
.fc-locker__head .fc-icon { color: var(--fc-gold); }
.fc-locker__hint { font-size: var(--fc-fs-sm); color: var(--fc-muted); margin-bottom: var(--fc-s4); }
.fc-locker__selected { display: none; border: 1px solid var(--fc-gold); padding: var(--fc-s4); margin-bottom: var(--fc-s4); background: rgba(198,161,91,.06); }
.fc-locker__selected.is-active { display: block; }
.fc-locker__selected strong { display: block; color: var(--fc-gold-light); font-size: var(--fc-fs-base); }
.fc-locker__selected span { font-size: var(--fc-fs-sm); color: var(--fc-muted); }
.fc-locker__search { display: flex; gap: var(--fc-s3); flex-wrap: wrap; }
.fc-locker__search input { flex: 1 1 200px; }
.fc-locker__results { margin-top: var(--fc-s4); display: grid; gap: var(--fc-s2); max-height: 320px; overflow-y: auto; }
.fc-locker__result {
	display: grid; gap: 2px; width: 100%; text-align: left; padding: var(--fc-s3) var(--fc-s4);
	border: 1px solid var(--fc-line-soft); transition: border-color var(--fc-dur-f), background var(--fc-dur-f);
}
.fc-locker__result:hover { border-color: var(--fc-gold); background: rgba(198,161,91,.06); }
.fc-locker__result b { color: var(--fc-cream); font-size: var(--fc-fs-sm); letter-spacing: .04em; }
.fc-locker__result span { color: var(--fc-muted); font-size: var(--fc-fs-xs); }
.fc-locker__error { color: var(--fc-danger); font-size: var(--fc-fs-sm); }
.fc-locker.is-invalid { border-color: var(--fc-danger); }

/* Geowidget InPost (oficjalna wtyczka) w naszej obudowie */
.fc-locker iframe, .fc-locker #easypack-widget { width: 100% !important; min-height: 460px; border: 1px solid var(--fc-line-soft); }

/* --- Faktura / NIP --- */
.fc-invoice-toggle { display: flex; align-items: center; gap: var(--fc-s3); margin: var(--fc-s4) 0; font-size: var(--fc-fs-sm); color: var(--fc-text); }
.fc-invoice-toggle input { width: 20px; height: 20px; min-height: 0; accent-color: var(--fc-gold); }
.fc-invoice-fields { display: none; border-left: 2px solid var(--fc-gold-dark); padding-left: var(--fc-s5); margin-bottom: var(--fc-s5); }
.fc-invoice-fields.is-open { display: block; }

/* --- Thank you / podziękowanie --- */
.fc-thankyou { padding-block: var(--fc-s8) var(--fc-s10); }
.fc-thankyou__hero { text-align: center; margin-bottom: var(--fc-s8); }
.fc-thankyou__check { display: inline-grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; border: 1px solid var(--fc-gold); color: var(--fc-gold); margin-bottom: var(--fc-s5); }
.fc-thankyou__title { font-size: var(--fc-fs-h2); text-transform: uppercase; letter-spacing: .03em; margin-bottom: var(--fc-s3); }
.fc-thankyou__lead { color: var(--fc-muted); max-width: 52ch; margin-inline: auto; }
.fc-thankyou__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--fc-s4); margin-bottom: var(--fc-s8); }
.fc-thankyou__cell { border: 1px solid var(--fc-line-soft); padding: var(--fc-s5); background: var(--fc-surface); }
.fc-thankyou__cell dt { font-size: var(--fc-fs-xs); text-transform: uppercase; letter-spacing: var(--fc-ls-mid); color: var(--fc-muted-2); margin-bottom: var(--fc-s2); }
.fc-thankyou__cell dd { color: var(--fc-cream); font-family: var(--fc-font-display); font-size: 1.3rem; }
.fc-thankyou__locker { border: 1px solid var(--fc-gold); padding: var(--fc-s5); background: rgba(198,161,91,.05); margin-bottom: var(--fc-s7); }
.fc-thankyou__steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--fc-s5); margin-block: var(--fc-s8); }
.fc-thankyou__step { border-top: 1px solid var(--fc-line-soft); padding-top: var(--fc-s4); }
.fc-thankyou__step b { display: block; font-size: var(--fc-fs-sm); text-transform: uppercase; letter-spacing: var(--fc-ls-mid); color: var(--fc-gold); margin-bottom: var(--fc-s2); }
.fc-thankyou__step span { font-size: var(--fc-fs-sm); color: var(--fc-muted); }
.woocommerce-order-overview, .woocommerce-thankyou-order-details { display: none; }

/* --- Moje konto --- */
.woocommerce-account.logged-in .woocommerce { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
/* Clearfix WooCommerce (::before/::after) stałby się elementem siatki i przesuwał kolumny. */
.woocommerce-account.logged-in .woocommerce::before,
.woocommerce-account.logged-in .woocommerce::after,
.woocommerce-cart .fc-shop-page .woocommerce::before,
.woocommerce-cart .fc-shop-page .woocommerce::after { display: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 100% !important; float: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; gap: var(--fc-s1); }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block; padding: var(--fc-s3) var(--fc-s4); border: 1px solid transparent; color: var(--fc-muted);
	font-size: var(--fc-fs-sm); text-transform: uppercase; letter-spacing: .05em;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { border-color: var(--fc-line); color: var(--fc-gold); background: var(--fc-surface); }
.woocommerce-account .woocommerce-MyAccount-content { width: 100% !important; float: none !important; }
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword {
	border: 1px solid var(--fc-line-soft) !important; border-radius: 0 !important; padding: var(--fc-s6) !important; background: var(--fc-surface);
}

/* --- Responsywność sklepu --- */
@media (max-width: 1024px) {
	.woocommerce ul.products { grid-template-columns: 1fr 1fr; }
	/* Poniżej 1024 px wracamy do zwykłego przepływu — inaczej jawne wiersze
	   siatki z układu desktopowego nakładałyby sekcje na siebie. */
	.woocommerce-checkout form.checkout { display: block; }
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review { grid-column: auto; grid-row: auto; position: static; }
	.woocommerce-checkout #order_review_heading { margin-top: var(--fc-s7); }
	.fc-thankyou__grid, .fc-thankyou__steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
	.woocommerce div.product { grid-template-columns: 1fr; }
	.woocommerce div.product .fc-gallery-col { grid-column: 1; grid-row: auto; }
	.woocommerce div.product div.summary { grid-column: 1; grid-row: auto; }
	.woocommerce div.product .woocommerce-tabs { grid-row: auto; }
	.woocommerce div.product .woocommerce-product-gallery { position: static !important; top: auto !important; max-height: none; }
	.woocommerce div.product .woocommerce-product-gallery__image img { max-height: none; }
}
@media (max-width: 600px) {
	.woocommerce ul.products { grid-template-columns: 1fr; }
	.woocommerce table.shop_table_responsive tr td { text-align: right; border-bottom: 1px solid var(--fc-line-soft); }
	.woocommerce table.shop_table_responsive tr td::before { color: var(--fc-muted-2); text-transform: uppercase; font-size: var(--fc-fs-xs); letter-spacing: .06em; }
	.fc-thankyou__grid, .fc-thankyou__steps { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
	.woocommerce .coupon input.input-text { max-width: none; }
}

/* =========================================================================
   KADR ZDJĘCIA PRODUKTU
   Stała proporcja + `contain` = zdjęcie nigdy się nie rozciąga ani nie ucina,
   niezależnie od tego, czy wgrasz kwadrat, pion czy poziom. Zero CLS.
   ========================================================================= */
.woocommerce div.product .woocommerce-product-gallery__image > a { display: block; }

.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product div.images img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: contain;
	padding: clamp(1rem, 3vw, 2.5rem);
	background:
		radial-gradient(70% 60% at 50% 40%, rgba(198,161,91,.09), transparent 65%),
		linear-gradient(180deg, var(--fc-surface), var(--fc-black));
	border: 1px solid var(--fc-line-soft);
}

/* Kadr przycina wszystko, co próbuje z niego wyjść (np. lupa, gdyby ją włączyć) */
.woocommerce div.product .woocommerce-product-gallery__image { position: relative; overflow: hidden; }
.woocommerce div.product .woocommerce-product-gallery__image img.zoomImg {
	padding: 0; border: 0; background: none; aspect-ratio: auto; object-fit: cover;
}

/* Miniatury galerii trzymają kwadrat */
.woocommerce div.product div.images .flex-control-thumbs img {
	aspect-ratio: 1 / 1;
	padding: .4rem;
	border: 1px solid var(--fc-line-soft);
	background: var(--fc-black);
}

/* Kafelki katalogu */
.woocommerce ul.products li.product img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
	width: 100%;
	height: auto;
	padding: clamp(.75rem, 2vw, 1.5rem);
	background: linear-gradient(180deg, var(--fc-surface), var(--fc-black));
	border: 1px solid var(--fc-line-soft);
}

/* --- Pola formularzy WooCommerce (nadpisanie stylów wtyczki) --- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce .input-text,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="search"],
.woocommerce input[type="number"],
.woocommerce textarea,
.woocommerce select {
	background: var(--fc-surface) !important;
	border: 1px solid var(--fc-line-soft) !important;
	color: var(--fc-cream) !important;
	border-radius: var(--fc-radius) !important;
	padding: .95rem 1.1rem;
	min-height: 52px;
	box-shadow: none !important;
	line-height: 1.4;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce select:focus { border-color: var(--fc-gold) !important; outline: none; }
.woocommerce form .form-row input.input-text::placeholder,
.woocommerce form .form-row textarea::placeholder { color: var(--fc-muted-2); }
.woocommerce form .form-row textarea { min-height: 120px; }
.woocommerce form .form-row .input-checkbox,
.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"] {
	min-height: 0 !important;
	width: 20px; height: 20px;
	accent-color: var(--fc-gold);
	background: transparent !important;
	border: 0 !important;
	padding: 0;
}
.woocommerce form .form-row label.checkbox,
.woocommerce-form__label-for-checkbox { display: flex; gap: .6rem; align-items: flex-start; text-transform: none; letter-spacing: 0; font-size: var(--fc-fs-sm); color: var(--fc-muted); }
.woocommerce form .form-row .description { font-size: var(--fc-fs-xs); color: var(--fc-muted-2); margin-top: .35rem; }

/* Logowanie / kupon — rozwijane paski nad kasą */
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: var(--fc-s3) !important; }

/* Nagłówek archiwum sklepu */
.woocommerce-products-header { margin-bottom: var(--fc-s7); }
.woocommerce-products-header__title,
.woocommerce .page-title {
	font-family: var(--fc-font-display);
	font-size: var(--fc-fs-h2) !important;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--fc-cream);
	margin: 0 0 var(--fc-s3) !important;
	font-weight: 300;
}
.woocommerce-products-header .term-description { color: var(--fc-muted); max-width: 60ch; }

/* =========================================================================
   UKŁAD STRON SKLEPOWYCH (koszyk / kasa / konto)
   Te strony to zwykłe strony WordPressa z shortcode'em — dostają własny
   kontener `.fc-shop-page` zamiast typografii dokumentu.
   ========================================================================= */

.fc-main--shop-page { padding-bottom: var(--fc-s10); }
.fc-main--shop-page .fc-page-hero { padding-block: var(--fc-s8) var(--fc-s6); }
.fc-main--shop-page > .fc-container { padding-top: var(--fc-s8); }

.fc-shop-page { display: block; }
.fc-shop-page > h2:first-child { margin-top: 0; }

/* --- Koszyk: tabela po lewej, podsumowanie po prawej -------------------- */
@media (min-width: 1000px) {
	/* WooCommerce owija shortcode w .woocommerce — to on jest siatką. */
	.woocommerce-cart .fc-shop-page .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1.55fr) minmax(330px, .85fr);
		gap: clamp(2rem, 4vw, 3.5rem);
		align-items: start;
	}
	.woocommerce-cart .fc-shop-page .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	.woocommerce-cart .fc-shop-page .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
	.woocommerce-cart .fc-shop-page .woocommerce > .woocommerce-cart-form { grid-column: 1; }
	.woocommerce-cart .fc-shop-page .woocommerce > .cart-collaterals { grid-column: 2; }
	.woocommerce-cart .cart-collaterals { position: sticky; top: calc(var(--fc-header-h) + 24px); }
}

.woocommerce-cart .woocommerce-cart-form { margin: 0; }

/* Tabela pozycji */
.woocommerce-cart table.cart { table-layout: auto; }
.woocommerce-cart table.cart th.product-thumbnail,
.woocommerce-cart table.cart td.product-thumbnail { width: 112px; min-width: 112px; }
.woocommerce-cart table.cart td.product-remove { width: 34px; padding-right: 0; }
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal { white-space: nowrap; }
.woocommerce-cart table.cart td.product-subtotal { text-align: right; font-family: var(--fc-font-display); font-size: 1.25rem; color: var(--fc-cream); }
.woocommerce-cart table.cart th.product-subtotal { text-align: right; }
.woocommerce-cart table.cart img { width: 92px; min-width: 92px; max-width: none; height: auto; }
.woocommerce-cart table.cart td.product-name { line-height: 1.4; }
.woocommerce-cart table.cart td.product-name .variation {
	display: flex; flex-wrap: wrap; gap: 0 .4rem; margin: .35rem 0 0;
	font-size: var(--fc-fs-xs); color: var(--fc-muted-2); text-transform: uppercase; letter-spacing: .06em;
}
.woocommerce-cart table.cart td.product-name .variation dt,
.woocommerce-cart table.cart td.product-name .variation dd { margin: 0; }
.woocommerce-cart table.cart td.product-name .variation dd p { margin: 0; }

/* Wiersz akcji: kupon z lewej, aktualizacja z prawej.
   Zostawiamy `table-cell` — flex na komórce psuje colspan i zwęża wiersz. */
.woocommerce-cart table.cart td.actions {
	border-bottom: 0;
	padding: var(--fc-s5) 0 0;
	text-align: right;
	white-space: normal;
}
.woocommerce-cart table.cart td.actions .coupon {
	display: inline-flex; gap: var(--fc-s3); float: left; margin: 0; width: auto;
}
.woocommerce-cart table.cart td.actions .coupon input.input-text { width: 200px; min-height: 48px; margin: 0; }
.woocommerce-cart table.cart td.actions .button { min-height: 48px; padding: .85rem 1.6rem !important; white-space: nowrap; }
.woocommerce-cart table.cart td.actions .button:disabled { opacity: .4; }

/* Szerokości kolumn: nazwa produktu zabiera resztę miejsca */
.woocommerce-cart table.cart td.product-name,
.woocommerce-cart table.cart th.product-name { width: 100%; }
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart th.product-price { width: 1%; }
.woocommerce-cart table.cart td.product-quantity,
.woocommerce-cart table.cart th.product-quantity { width: 1%; }

/* Podsumowanie koszyka jako karta */
.woocommerce-cart .cart-collaterals { width: 100%; }
.woocommerce-cart .cart-collaterals .cart_totals {
	border: 1px solid var(--fc-line);
	background: linear-gradient(180deg, var(--fc-surface), var(--fc-ink));
	padding: var(--fc-s6);
}
.woocommerce-cart .cart-collaterals .cart_totals > h2 { margin-top: 0; }
.woocommerce-cart .cart-collaterals .cart_totals table { border: 0 !important; margin: 0; }
.woocommerce-cart .cart-collaterals .cart_totals th,
.woocommerce-cart .cart-collaterals .cart_totals td {
	background: none !important; padding: var(--fc-s3) 0 !important;
	border-bottom: 1px solid var(--fc-line-soft); vertical-align: top;
}
.woocommerce-cart .cart-collaterals .cart_totals th { width: 42%; }
.woocommerce-cart .cart-collaterals .cart_totals td { text-align: right; }
.woocommerce-cart .cart-collaterals .cart_totals tr.order-total th,
.woocommerce-cart .cart-collaterals .cart_totals tr.order-total td { border-bottom: 0; padding-top: var(--fc-s4) !important; }
.woocommerce-cart .cart-collaterals .cart_totals tr.order-total .woocommerce-Price-amount { font-size: 1.7rem; color: var(--fc-gold-light); }
.woocommerce-cart .cart-collaterals .cart_totals .includes_tax { display: block; font-size: var(--fc-fs-xs); color: var(--fc-muted-2); }
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout { padding: var(--fc-s5) 0 0 !important; }

/* Lista metod wysyłki w koszyku i kasie */
.woocommerce ul#shipping_method { text-align: left; }
.woocommerce ul#shipping_method li { display: flex; align-items: baseline; gap: var(--fc-s2); margin: 0 0 var(--fc-s2); padding: 0; }
.woocommerce ul#shipping_method li::before { display: none; }
.woocommerce ul#shipping_method li label { margin: 0; color: var(--fc-text); font-size: var(--fc-fs-sm); }
.woocommerce ul#shipping_method .amount { color: var(--fc-gold-light); }
.woocommerce .woocommerce-shipping-destination,
.woocommerce .shipping-calculator-button { font-size: var(--fc-fs-xs); color: var(--fc-muted-2); }
.woocommerce .woocommerce-shipping-methods + p,
.woocommerce td.shipping p { font-size: var(--fc-fs-xs); color: var(--fc-muted-2); margin: var(--fc-s2) 0 0; }

/* Pusty koszyk */
.woocommerce .cart-empty { font-family: var(--fc-font-display); font-size: var(--fc-fs-h3); color: var(--fc-cream); }
.woocommerce .return-to-shop { margin-top: var(--fc-s5); }

/* --- Kasa: karta podsumowania ------------------------------------------ */
.woocommerce-checkout .fc-shop-page > .woocommerce-form-coupon-toggle,
.woocommerce-checkout .fc-shop-page > .woocommerce-form-login-toggle { max-width: 100%; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { max-width: 100%; }

/* --- Moje konto --------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul li::before { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { padding-left: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce-account table.shop_table { background: var(--fc-surface); }

/* --- Podziękowanie ------------------------------------------------------ */
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details { margin-top: var(--fc-s8); }
.woocommerce-order .woocommerce-column__title,
.woocommerce-order .woocommerce-order-details__title { font-size: var(--fc-fs-h4); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--fc-s4); }
.woocommerce-order .woocommerce-columns { display: grid; grid-template-columns: 1fr 1fr; gap: var(--fc-s6); }
.woocommerce-order address { font-style: normal; border: 1px solid var(--fc-line-soft); padding: var(--fc-s5); background: var(--fc-surface); }

@media (max-width: 780px) {
	.woocommerce-order .woocommerce-columns { grid-template-columns: 1fr; }
	.woocommerce-cart table.cart td.actions { flex-direction: column; align-items: stretch; }
	.woocommerce-cart table.cart td.actions .coupon { flex-wrap: wrap; }
	.woocommerce-cart table.cart td.actions .coupon input.input-text { max-width: none; }
	.woocommerce-cart table.cart td.actions > .button[name="update_cart"] { margin-left: 0; }
	.woocommerce-account.logged-in .woocommerce { grid-template-columns: 1fr; }
}

/* Domyślny komunikat „zamówienie otrzymane” zastępujemy własnym blokiem podziękowania. */
.woocommerce-order .woocommerce-notice--success.woocommerce-thankyou-order-received { display: none; }

/* Offset dla zalogowanego administratora (pasek WP ma 32 px). */
body.admin-bar .woocommerce div.product .woocommerce-product-gallery,
body.admin-bar .woocommerce-cart .cart-collaterals {
	top: calc(var(--fc-header-h) + 56px);
}
body.admin-bar .woocommerce div.product .woocommerce-product-gallery { max-height: calc(100vh - var(--fc-header-h) - 80px); }
body.admin-bar .woocommerce div.product .woocommerce-product-gallery__image img { max-height: calc(100vh - var(--fc-header-h) - 222px); }
