/*
 * Gekonowa Pasja — wygląd stron WordPressa (zamówienie, moje konto) jak na gekonowapasja.pl.
 * Kolory i fonty skopiowane z nowej strony (src/styles/_variables.scss, _shop-theme.scss).
 */

/* ── Paleta nowej strony zamiast palety Blocksy ─────────────────────────── */
:root {
	--theme-palette-color-1: #455449; /* zieleń marki — przyciski, linki */
	--theme-palette-color-2: #313d35; /* ciemna zieleń — hover */
	--theme-palette-color-3: #565a4c; /* tekst */
	--theme-palette-color-4: #26281f; /* nagłówki */
	--theme-palette-color-5: #e2e7e0; /* linie */
	--theme-palette-color-6: #eef2ec; /* jasna mięta */
	--theme-palette-color-7: #f3f6f2; /* tło strony */
	--theme-palette-color-8: #ffffff;
	--theme-palette-color-10: #a85d4f; /* terakota */

	--gp-forest: #455449;
	--gp-forest-soft: #5f7367;
	--gp-forest-dark: #313d35;
	--gp-mint: #e7ebe3;
	--gp-mint-soft: #eef2ec;
	--gp-ink: #26281f;
	--gp-ink-soft: #565a4c;
	--gp-ink-faint: #94978a;
	--gp-line: #e2e7e0;
	--gp-line-2: #d4dbd1;
	--gp-rose: #a85d4f;
	--gp-terra: #a85d4f;
	--gp-terra-dark: #8d4b3f;
	--gp-terra-soft: #f6ebe7;
	--gp-font: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

	--theme-font-family: var(--gp-font);
	--theme-button-border-radius: 12px;
}

body.gp-layout {
	background: #f3f6f2;
	color: var(--gp-ink-soft);
	font-family: var(--gp-font);
}

body.gp-layout h1,
body.gp-layout h2,
body.gp-layout h3,
body.gp-layout h4 {
	font-family: var(--gp-font);
	color: var(--gp-ink);
}

/* Nagłówek, stopka i menu boczne Blocksy — zastąpione naszymi */
body.gp-layout #header,
body.gp-layout #footer,
body.gp-layout #offcanvas {
	display: none !important;
}

.gp-desktop { display: initial; }
.gp-mobile { display: none !important; }
@media (max-width: 991px) {
	.gp-desktop { display: none !important; }
	.gp-mobile { display: inline-flex !important; }
}

/* ── Nagłówek ────────────────────────────────────────────────────────────── */
.gp-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #fff;
	border-bottom: 1px solid rgba(69, 84, 73, 0.08);
	font-family: var(--gp-font);
}

.admin-bar .gp-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .gp-header { top: 0; } }

.gp-benefits {
	display: flex;
	justify-content: center;
	gap: 44px;
	padding: 9px 16px;
	background: var(--gp-forest-dark);
	color: #eef2ec;
	font-size: 13px;
	font-weight: 500;
}
.gp-benefits i { color: #8fa398; font-size: 12px; margin-right: 6px; }
@media (max-width: 767px) { .gp-benefits { font-size: 11.5px; padding: 7px 14px; } }

.gp-header__main {
	max-width: 1200px;
	margin: 0 auto;
	padding: 14px 24px;
	display: flex;
	align-items: center;
	gap: 20px;
}
@media (max-width: 991px) { .gp-header__main { padding: 12px 16px; } }

.gp-logo img { display: block; height: 36px; width: auto; }
@media (max-width: 991px) { .gp-logo img { height: 30px; } }

.gp-header__actions {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

.gp-icon,
.gp-burger {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: none;
	color: var(--gp-forest);
	font-size: 17px;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}
.gp-icon:hover,
.gp-burger:hover { background: var(--gp-mint-soft); color: var(--gp-forest-soft); }

.gp-icon--cart { border-radius: 12px; background: var(--gp-mint-soft); }
.gp-icon--cart:hover { background: var(--gp-mint); }

.gp-icon__badge {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--gp-rose);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	line-height: 18px;
	text-align: center;
	box-shadow: 0 0 0 2px #fff;
}

.gp-cta {
	display: inline-flex;
	align-items: center;
	padding: 10px 20px;
	border-radius: 12px;
	background: var(--gp-forest);
	color: #fff;
	font-size: 13.5px;
	font-weight: 700;
	white-space: nowrap;
	text-decoration: none;
	transition: transform 0.15s ease, background 0.2s ease;
}
.gp-cta:hover { background: var(--gp-forest-dark); color: #fff; transform: translateY(-1px); }

/* Belka menu */
.gp-nav {
	border-top: 2px solid var(--gp-forest-dark);
	border-bottom: 2px solid var(--gp-forest-dark);
	background: #fff;
}
.gp-nav__list {
	display: flex;
	justify-content: center;
	gap: 2px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
	list-style: none;
}
.gp-nav__list > li { position: relative; margin: 0; }

.gp-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 13px 16px;
	border: 0;
	border-radius: 999px;
	background: none;
	color: var(--gp-ink);
	font-family: var(--gp-font);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease;
}
.gp-nav__link:hover { color: var(--gp-forest); background: var(--gp-mint-soft); }
.gp-nav__chevron { font-size: 9px; opacity: 0.6; transition: transform 0.2s ease; }

.gp-drop {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	z-index: 100;
	min-width: 210px;
	padding: 6px;
	background: #fff;
	border: 1px solid rgba(69, 84, 73, 0.08);
	border-radius: 14px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
.gp-nav__has-drop:hover .gp-drop,
.gp-nav__has-drop.is-open .gp-drop,
.gp-nav__has-drop:focus-within .gp-drop {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.gp-nav__has-drop:hover .gp-nav__chevron,
.gp-nav__has-drop.is-open .gp-nav__chevron { transform: rotate(180deg); }

.gp-drop__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border-radius: 8px;
	color: var(--gp-ink-soft);
	font-size: 13px;
	text-decoration: none;
	white-space: nowrap;
}
.gp-drop__item i { width: 14px; color: rgba(69, 84, 73, 0.45); font-size: 12px; text-align: center; }
.gp-drop__item:hover { background: var(--gp-mint-soft); color: var(--gp-forest-soft); }
.gp-drop__item--sub { padding: 7px 14px 7px 22px; font-size: 12px; opacity: 0.85; }
.gp-drop__item--sub i { font-size: 6px; color: rgba(69, 84, 73, 0.3); }
.gp-drop__item--sub:hover { opacity: 1; }
.gp-drop__item--sub:hover i { color: var(--gp-terra); }
.gp-drop__divider { height: 1px; margin: 4px 8px; background: var(--gp-line); }

/* Menu mobilne */
.gp-mobile-nav {
	max-height: calc(100vh - 100px);
	overflow-y: auto;
	padding: 8px 16px 20px;
	border-top: 1px solid var(--gp-line);
	background: #fff;
}
.gp-mobile-nav[hidden] { display: none; }
.gp-mobile-nav ul { list-style: none; margin: 0; padding: 0; }
.gp-mobile-nav li { margin: 0; }
.gp-mobile-nav__link,
.gp-mobile-nav__sub {
	display: block;
	text-decoration: none;
}
.gp-mobile-nav__link {
	padding: 13px 4px 9px;
	color: var(--gp-ink);
	font-size: 15px;
	font-weight: 700;
	border-top: 1px solid var(--gp-line);
}
.gp-mobile-nav li:first-child .gp-mobile-nav__link { border-top: 0; }
.gp-mobile-nav__sub { padding: 6px 4px 6px 16px; color: var(--gp-ink-soft); font-size: 14px; }
.gp-mobile-nav__link i { margin-right: 6px; color: var(--gp-forest-soft); }
.gp-mobile-nav__link--cta {
	margin-top: 12px;
	padding: 12px;
	border: 0;
	border-radius: 12px;
	background: var(--gp-forest);
	color: #fff;
	text-align: center;
}

/* ── Zamówienie: powrót do koszyka ──────────────────────────────────────── */
.gp-checkout-back {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 20px;
	width: var(--theme-container-width, 100%);
	max-width: var(--theme-normal-container-max-width, 1290px);
	margin: 24px auto 0;
	font-family: var(--gp-font);
}
.gp-checkout-back__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	border: 1.5px solid var(--gp-line-2);
	border-radius: 12px;
	background: #fff;
	color: var(--gp-forest);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: border-color 0.2s ease, background 0.2s ease;
}
.gp-checkout-back__link:hover { border-color: var(--gp-forest); background: var(--gp-mint-soft); color: var(--gp-forest); }
.gp-checkout-back__shop {
	color: var(--gp-ink-soft);
	font-size: 14px;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.gp-checkout-back__shop:hover { color: var(--gp-terra); }

/* ── Formularz zamówienia (blokowy WooCommerce) ─────────────────────────── */
body.gp-layout .entry-header .page-title {
	font-size: clamp(26px, 4vw, 34px);
	font-weight: 700;
}
body.gp-layout .entry-header .page-title::after {
	content: '';
	display: block;
	width: 56px;
	height: 3px;
	margin-top: 10px;
	border-radius: 2px;
	background: var(--gp-terra);
}

.wc-block-checkout .wc-block-components-checkout-step__title,
.wc-block-checkout .wc-block-components-title {
	font-family: var(--gp-font);
	font-weight: 700;
	color: var(--gp-ink);
}

.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border-radius: 12px !important;
	border-color: var(--gp-line-2) !important;
	background: #fff !important;
}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--gp-forest) !important;
	box-shadow: 0 0 0 1px var(--gp-forest) !important;
}

/* Kafelki dostawy i płatności — zaznaczona opcja jak przyciski wariantów
   na stronie produktu: bardzo jasna terakota + ciemnoterakotowa obwódka */
.wc-block-components-radio-control--highlight-checked {
	border-radius: 14px;
	background: #fff;
}
.wc-block-components-radio-control--highlight-checked::after {
	border-color: var(--gp-line-2) !important;
	border-radius: 14px !important;
}
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-radius: 14px !important;
	background: var(--gp-terra-soft);
	box-shadow: inset 0 0 0 1.5px var(--gp-terra-dark) !important;
}
.wc-block-components-radio-control__input:checked {
	border-color: var(--gp-terra-dark) !important;
}
.wc-block-components-radio-control__input:checked::before {
	background: var(--gp-terra-dark) !important;
}
.wc-block-components-radio-control__option--checked-option-highlighted .wc-block-components-radio-control__label,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted .wc-block-components-radio-control__label {
	color: var(--gp-ink);
	font-weight: 700;
}
.wc-block-components-radio-control-accordion-content {
	padding-bottom: 14px;
	color: var(--gp-ink-soft);
	font-size: 13.5px;
	line-height: 1.55;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type='checkbox']:checked {
	background: var(--gp-forest);
	border-color: var(--gp-forest);
}
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff; }

/* Podsumowanie po prawej — biała karta */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	border: 1px solid var(--gp-line) !important;
	border-radius: 18px;
	background: #fff;
	overflow: hidden;
}
.wc-block-components-order-summary-item__quantity {
	background: var(--gp-forest) !important;
	border-color: #fff !important;
	color: #fff !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	color: var(--gp-ink);
	font-weight: 700;
}

/* Przycisk "Kupuję i płacę" — terakota */
.wc-block-components-checkout-place-order-button,
#place_order {
	border-radius: 14px !important;
	background: var(--gp-terra) !important;
	color: #fff !important;
	font-weight: 700 !important;
	min-height: 54px;
}
.wc-block-components-checkout-place-order-button:hover,
#place_order:hover { background: var(--gp-terra-dark) !important; }

/* "Wróć do koszyka" z samego WooCommerce pod przyciskiem — mamy własny u góry */
.wc-block-components-checkout-return-to-cart-button {
	color: var(--gp-forest) !important;
}

/* Wybór punktu (Polkurier) */
.wc-block-checkout button[class*='polkurier'],
.wc-block-checkout [class*='polkurier'] .wc-block-components-button,
.wc-block-checkout [class*='pk-'] button {
	border-radius: 12px;
	background: var(--gp-forest);
	color: #fff;
}

/* ── Moje konto ─────────────────────────────────────────────────────────── */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	padding: 8px;
	border: 1px solid var(--gp-line);
	border-radius: 16px;
	background: #fff;
	list-style: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 10px 14px;
	border-radius: 10px;
	color: var(--gp-ink-soft);
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--gp-mint-soft);
	color: var(--gp-forest);
	font-weight: 700;
}
.woocommerce form.login,
.woocommerce form.register {
	border: 1px solid var(--gp-line) !important;
	border-radius: 18px !important;
	background: #fff;
}
.woocommerce form .form-row input.input-text {
	border-radius: 12px;
	border-color: var(--gp-line-2);
}

/* ── Stopka ─────────────────────────────────────────────────────────────── */
.gp-footer {
	margin-top: 60px;
	background: var(--gp-forest-dark);
	color: rgba(255, 255, 255, 0.8);
	font-family: var(--gp-font);
	font-size: 14px;
}
.gp-footer__inner {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr;
	gap: 40px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 48px 24px 32px;
}
@media (max-width: 767px) {
	.gp-footer__inner { grid-template-columns: 1fr; gap: 28px; padding: 36px 16px 24px; }
}
.gp-footer__logo { height: 44px; width: auto; margin-bottom: 14px; }
.gp-footer h4 {
	margin: 0 0 14px;
	color: #fff;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.gp-footer a { color: rgba(255, 255, 255, 0.85); text-decoration: none; }
.gp-footer a:hover { color: var(--gp-mint); }
.gp-footer__list { list-style: none; margin: 0; padding: 0; }
.gp-footer__list li { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.gp-footer__list i { color: #8fa398; width: 16px; }
.gp-footer__social { display: flex; gap: 10px; margin-top: 14px; }
.gp-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
}
.gp-footer__social a:hover { background: var(--gp-mint); color: var(--gp-forest-dark); border-color: var(--gp-mint); }
.gp-footer__address { margin-top: 14px; line-height: 1.6; }
.gp-footer__address small { color: rgba(255, 255, 255, 0.55); }
.gp-footer__bottom {
	padding: 16px 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.55);
	font-size: 12.5px;
	text-align: center;
}

/* ── Poprawki po podglądzie ─────────────────────────────────────────────── */
.gp-header .gp-nav {
	box-shadow: inset 0 2px 0 var(--gp-forest-dark), inset 0 -2px 0 var(--gp-forest-dark);
}
.wc-blocks-components-select .wc-blocks-components-select__container {
	border-radius: 12px;
	border: 1px solid var(--gp-line-2);
	background: #fff;
	overflow: hidden;
}
.wc-blocks-components-select .wc-blocks-components-select__select { border: 0 !important; }
body.gp-layout .hero-section[data-type] { padding-top: 0; }
body.gp-layout .entry-header { margin-bottom: 8px; }
body.woocommerce-checkout .ct-container-full[data-vertical-spacing*='top'],
body.woocommerce-account .ct-container-full[data-vertical-spacing*='top'] { padding-top: 28px; }
.wc-block-checkout .wc-block-components-checkout-step__title { font-weight: 700 !important; }
body.gp-layout .gp-footer h4 { color: #fff; }
body.gp-layout .gp-header nav.gp-nav {
	border-top: 2px solid var(--gp-forest-dark) !important;
	border-bottom: 2px solid var(--gp-forest-dark) !important;
}
.woocommerce form.login,
.woocommerce form.register { padding: 24px !important; }
@media (max-width: 767px) {
	.woocommerce form.login,
	.woocommerce form.register { padding: 18px !important; }
}

/* ── Zamówienie: karty kroków, numeracja, akcenty terakoty ───────────────── */
body.woocommerce-checkout main#main {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(520px 380px at 96% 4%, rgba(168, 93, 79, 0.20), transparent 70%),
		radial-gradient(460px 460px at -4% 38%, rgba(168, 93, 79, 0.14), transparent 70%),
		radial-gradient(420px 360px at 70% 62%, rgba(168, 93, 79, 0.11), transparent 70%),
		radial-gradient(520px 420px at 8% 96%, rgba(143, 163, 152, 0.16), transparent 70%);
}

/* Podtytuł odręcznym pismem pod "Zamówienie" */
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header::after {
	content: 'Już prawie gotowe — jeszcze tylko kilka danych';
	display: block;
	margin-top: 10px;
	color: var(--gp-terra);
	font-family: 'Caveat', cursive;
	font-size: 25px;
	font-weight: 600;
	line-height: 1.1;
}

/* Każdy krok to biała karta z numerem w terakotowym kółku */
.wc-block-checkout__main { counter-reset: gp-step; }
.wc-block-checkout__main .wc-block-components-checkout-step {
	position: relative;
	margin: 0 0 22px !important;
	padding: 24px 26px 26px !important;
	border: 1px solid var(--gp-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(38, 40, 31, 0.04);
}
.wc-block-checkout__main .wc-block-components-checkout-step::before { display: none !important; }
.wc-block-checkout__main .wc-block-components-checkout-step__heading-container { margin-bottom: 18px !important; }
.wc-block-checkout__main .wc-block-components-checkout-step__heading { margin: 0 !important; }
.wc-block-checkout__main .wc-block-components-checkout-step > .wc-block-components-checkout-step__heading-container .wc-block-components-checkout-step__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 19px;
}
.wc-block-checkout__main .wc-block-components-checkout-step > .wc-block-components-checkout-step__heading-container .wc-block-components-checkout-step__title::before {
	counter-increment: gp-step;
	content: counter(gp-step);
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--gp-terra-soft);
	box-shadow: inset 0 0 0 1.5px var(--gp-terra);
	color: var(--gp-terra-dark);
	font-size: 14px;
	font-weight: 800;
}
.wc-block-checkout__main .wc-block-components-checkout-step__container { padding: 0 !important; }
.wc-block-checkout__main .wc-block-components-checkout-step__container::after { display: none !important; }
.wc-block-checkout__main .wc-block-components-checkout-step__description { margin-bottom: 14px; }

@media (max-width: 767px) {
	.wc-block-checkout__main .wc-block-components-checkout-step { padding: 18px 16px 20px !important; border-radius: 16px; }
	body.woocommerce-checkout:not(.woocommerce-order-received) .entry-header::after { font-size: 22px; }
}

/* Punkt dostawy (Polkurier) — jasnoterakotowa ramka z przyciskiem */
#pk-delivery-point-card {
	margin-top: 22px !important;
	padding: 18px 20px;
	border: 1.5px dashed rgba(168, 93, 79, 0.45);
	border-radius: 16px;
	background: var(--gp-terra-soft);
}
#pk-delivery-point-card .wc-block-components-checkout-step__heading { margin: 0 0 12px !important; }
#pk-delivery-point-card .wc-block-components-checkout-step__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 16px !important;
}
#pk-delivery-point-card .wc-block-components-checkout-step__title::before {
	content: '\f3c5';
	color: var(--gp-terra);
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	font-size: 15px;
}
#pk-delivery-point-card .wc-block-components-button {
	min-height: 44px;
	padding: 0 20px;
	border-radius: 12px;
	background: var(--gp-forest);
	color: #fff;
	font-weight: 700;
}
#pk-delivery-point-card .wc-block-components-button:hover { background: var(--gp-forest-dark); }

/* Zgody, notatka, przycisk */
.wc-block-checkout__add-note { margin: 4px 0 18px !important; }
.wc-block-checkout__terms { margin: 0 0 16px !important; padding-top: 16px !important; font-size: 13px; }
.wc-block-checkout__terms--with-separator::before { display: none; }
.wc-block-checkout__actions { margin-top: 6px; }
.wc-block-components-checkout-place-order-button {
	box-shadow: 0 10px 22px rgba(168, 93, 79, 0.25);
}

/* Pod przyciskiem: "Kontynuuj zakupy" (wstawiane przez js/gp-layout.js) */
.gp-continue {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin-top: 18px;
	text-align: center;
}
.gp-continue__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--gp-forest);
	font-size: 14.5px;
	font-weight: 700;
	text-decoration: none;
}
.gp-continue__link i { color: var(--gp-terra); }
.gp-continue__link:hover { color: var(--gp-terra-dark); }
.gp-continue__note { color: var(--gp-ink-faint); font-size: 12.5px; }

/* Góra strony: powrót do koszyka + informacja o bezpieczeństwie */
.gp-checkout-back__secure {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--gp-ink-faint);
	font-size: 13px;
}
.gp-checkout-back__secure i { color: var(--gp-terra); }
@media (max-width: 767px) { .gp-checkout-back__secure { display: none; } }

/* Podsumowanie — terakotowy pasek u góry karty */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	box-shadow: inset 0 4px 0 var(--gp-terra), 0 10px 24px rgba(38, 40, 31, 0.05);
}
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text,
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-step__title {
	font-weight: 700;
	color: var(--gp-ink);
}

/* Notatka do zamówienia — bez osobnej karty */
.wc-block-checkout__main .wc-block-checkout__order-notes.wc-block-components-checkout-step {
	padding: 0 4px !important;
	border: 0;
	background: none;
	box-shadow: none;
}

/* ── Poprawki 2: zielone zaznaczenie, ciemnozielone ramki, ciemniejszy tekst ── */
/* Zaznaczona opcja dostawy / płatności — jasna zieleń, kropka zostaje terakotowa */
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	background: var(--gp-mint-soft) !important;
	box-shadow: inset 0 0 0 1.5px var(--gp-forest) !important;
}
.wc-block-components-radio-control__input:checked { border-color: var(--gp-terra) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--gp-terra) !important; }
.wc-block-components-radio-control__input {
	border-color: #8b8f80 !important;
}

/* Sekcje w ciemnozielonej ramce */
.wc-block-checkout__main .wc-block-components-checkout-step:not(.wc-block-checkout__order-notes) {
	border: 1.5px solid var(--gp-forest) !important;
}
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	border: 1.5px solid var(--gp-forest) !important;
}

/* Ciemniejsze, czytelniejsze teksty */
body.gp-layout {
	color: #33362b;
}
.wc-block-checkout,
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__secondary-label,
.wc-block-components-checkbox__label,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-order-summary-item__description,
.wc-block-components-product-metadata,
.wc-block-checkout__terms,
.wc-block-components-checkout-step__description,
.wc-block-components-address-form__address_2-toggle,
.wc-block-components-text-input label,
.wc-blocks-components-select__label,
.wc-block-components-radio-control-accordion-content {
	color: #2c2f25 !important;
}
.wc-block-components-radio-control__label { font-size: 15px; }
.wc-block-components-text-input input::placeholder { color: #6b6f60 !important; opacity: 1; }
.wc-block-components-text-input label,
.wc-blocks-components-select__label { color: #565a4c !important; }
.wc-block-components-checkout-step__description,
.wc-block-checkout__guest-checkout-notice,
.wc-block-components-order-summary-item__description,
.wc-block-components-totals-item__description { color: #4a4e41 !important; }
.wc-block-components-address-form__address_2-toggle { font-weight: 600; color: var(--gp-forest) !important; }
.wc-block-checkout__terms a { color: var(--gp-forest) !important; font-weight: 600; text-decoration: underline; }

/* Checkboxy — wyraźna ramka */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type='checkbox'] {
	width: 20px;
	height: 20px;
	min-width: 20px;
	border: 1.5px solid #6b6f60 !important;
	border-radius: 5px !important;
	background: #fff;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type='checkbox']:checked {
	border-color: var(--gp-forest) !important;
	background: var(--gp-forest) !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__label { font-size: 14.5px; }

/* Notatka do zamówienia — wyraźny, klikalny wiersz */
.wc-block-checkout__main .wc-block-checkout__order-notes.wc-block-components-checkout-step {
	padding: 14px 18px !important;
	border: 1.5px dashed var(--gp-forest-soft) !important;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.85);
}
.wc-block-checkout__order-notes .wc-block-components-checkbox__label {
	color: var(--gp-ink) !important;
	font-size: 15px;
	font-weight: 700;
}
.wc-block-checkout__order-notes textarea {
	margin-top: 10px;
	border: 1.5px solid var(--gp-line-2) !important;
	border-radius: 12px !important;
	color: var(--gp-ink);
}
body.gp-layout .wc-block-components-checkbox .wc-block-components-checkbox__input[type='checkbox']:checked + .wc-block-components-checkbox__mark {
	display: block;
	z-index: 1;
	width: 14px;
	height: 14px;
	margin-left: 3px;
	margin-top: 3px;
	fill: #fff !important;
}

/* ── Punkt dostawy: biała karta, terakota tylko jako akcent ─────────────── */
#pk-delivery-point-card {
	position: relative;
	padding: 18px 20px 18px 24px;
	border: 1.5px solid var(--gp-line-2);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}
#pk-delivery-point-card::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 4px;
	background: var(--gp-terra);
}
#pk-delivery-point-card .wc-block-components-checkout-step__title { color: var(--gp-ink) !important; }
#pk-delivery-point-card .wc-block-components-button {
	border: 1.5px solid var(--gp-forest);
	background: #fff;
	color: var(--gp-forest);
}
#pk-delivery-point-card .wc-block-components-button:hover {
	background: var(--gp-mint-soft);
	color: var(--gp-forest-dark);
}

/* Zaznaczona opcja: biała, zielona obwódka + terakotowy pasek z lewej */
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	background: #fff !important;
	box-shadow: inset 4px 0 0 var(--gp-terra), inset 0 0 0 1.5px var(--gp-forest) !important;
}

/* Karty sekcji — czysta biel */
.wc-block-checkout__main .wc-block-components-checkout-step:not(.wc-block-checkout__order-notes),
.wc-block-checkout__main .wc-block-components-checkout-step:not(.wc-block-checkout__order-notes) .wc-block-components-checkout-step__container,
.wc-block-checkout__main .wc-block-components-checkout-step:not(.wc-block-checkout__order-notes) .wc-block-components-checkout-step__content {
	background: #fff !important;
}

/* ── Podsumowanie na telefonie (WooCommerce przenosi je nad formularz) ──── */
.wc-block-checkout.is-mobile .wp-block-woocommerce-checkout-order-summary-block:not(.checkout-order-summary-block-fill-wrapper),
.wc-block-checkout.is-small .wp-block-woocommerce-checkout-order-summary-block:not(.checkout-order-summary-block-fill-wrapper) {
	padding: 0 16px !important;
	border-radius: 16px;
	box-shadow: 0 8px 20px rgba(38, 40, 31, 0.05) !important;
	border-top: 4px solid var(--gp-terra) !important;
}
.wc-block-checkout.is-mobile .wc-block-components-checkout-order-summary__title,
.wc-block-checkout.is-small .wc-block-components-checkout-order-summary__title {
	padding: 14px 0 !important;
	margin: 0 !important;
	align-items: center;
}
.wc-block-checkout.is-mobile .wc-block-components-checkout-order-summary__title-text,
.wc-block-checkout.is-small .wc-block-components-checkout-order-summary__title-text {
	font-size: 17px !important;
	line-height: 1.25;
}
.wc-block-checkout.is-mobile .wc-block-components-checkout-order-summary__title-price,
.wc-block-checkout.is-small .wc-block-components-checkout-order-summary__title-price {
	color: var(--gp-ink);
	font-weight: 700;
	white-space: nowrap;
}
.wc-block-checkout.is-mobile .wc-block-checkout__main .wc-block-components-totals-wrapper,
.wc-block-checkout.is-small .wc-block-checkout__main .wc-block-components-totals-wrapper,
.wc-block-checkout.is-mobile .wc-block-checkout__main .wc-block-components-order-summary,
.wc-block-checkout.is-small .wc-block-checkout__main .wc-block-components-order-summary {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.wc-block-checkout.is-mobile .wc-block-components-order-summary-item__total-price,
.wc-block-checkout.is-small .wc-block-components-order-summary-item__total-price {
	white-space: nowrap;
}

/* Dolne podsumowanie nad przyciskiem (telefon): jedna karta zamiast dwóch ramek */
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper {
	margin-bottom: 18px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0;
	background: none !important;
	box-shadow: none !important;
}
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-step__heading {
	margin: 4px 0 12px !important;
}
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-step__title {
	font-size: 19px;
}
.wc-block-checkout__actions .checkout-order-summary-block-fill {
	border: 1.5px solid var(--gp-forest) !important;
	border-top: 4px solid var(--gp-terra) !important;
	border-radius: 16px !important;
	background: #fff;
	overflow: hidden;
}
/* Lista produktów w podsumowaniu nie może wychodzić poza kartę (ucięte ceny) */
.wc-block-components-order-summary .wc-block-components-order-summary__content { display: block; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__description { flex: 1 1 auto; min-width: 0; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__total-price { flex: none; white-space: nowrap; }
.wc-block-checkout__actions .checkout-order-summary-block-fill .wc-block-components-order-summary {
	padding: 0 16px !important;
	box-sizing: border-box;
}

/* Telefon: drugie podsumowanie nad przyciskiem jest zbędne — zostaje to rozwijane u góry */
.wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper { display: none !important; }

/* Logowanie przez Google / Facebook */
.gp-social-login { margin-top: 22px; }
.gp-social-login__or {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	color: var(--gp-ink-faint);
	font-size: 13px;
}
.gp-social-login__or::before,
.gp-social-login__or::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--gp-line);
}
.gp-social-login .nsl-container-buttons a { width: 100%; }
.gp-social-login .nsl-button { border-radius: 12px !important; }
