/*
Theme Name: Grześkowa Pasieka
Theme URI: https://grzeskowapasieka.pl
Author: Grześkowa Pasieka
Description: Autorski motyw WooCommerce dla sklepu Grześkowa Pasieka – naturalne miody z rodzinnej pasieki
Version: 1.0
Text Domain: grzeskowa-pasieka
WC requires at least: 7.0
WC tested up to: 9.0
*/

/* === Zmienne motywu === */
:root {
  /* Kolor potwierdzenia "Dodano do koszyka" – zmiana tutaj działa na cały sklep */
  --gp-success: #3f6b3a;
}

/* === Reset & Base === */
*, *::before, *::after { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: #f4efe4;
}

body {
  font-family: 'Manrope', sans-serif;
  color: #3c2f1d;
  -webkit-font-smoothing: antialiased;
  min-width: 1200px;
}

a { color: #3c2f1d; text-decoration: none; }
a:hover { color: #a8802f; }

img { max-width: 100%; height: auto; }

button {
  font-family: 'Manrope', sans-serif;
  cursor: pointer;
}

input, textarea, select {
  font-family: 'Manrope', sans-serif;
}

input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: #b3821f !important;
}

/* === WooCommerce notices === */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: #faf6ec;
  border-left: 4px solid #b3821f;
  padding: 14px 20px;
  margin: 14px 0;
  font-size: 13.5px;
  color: #3c2f1d;
  border-radius: 0 6px 6px 0;
  list-style: none;
}

.woocommerce-error {
  border-left-color: #c0392b;
  background: #fff5f5;
}

.woocommerce-message a.button,
.woocommerce-info a.button {
  display: inline-block;
  margin-left: 12px;
  background: #3a2a15;
  color: #f4ead1;
  border-radius: 5px;
  padding: 8px 18px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* === WooCommerce: hide defaults === */
.woocommerce-store-notice { display: none; }

/* Pagination */
.woocommerce-pagination ul {
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 32px 0 0;
  justify-content: center;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #d8cbab;
  background: #fdfaf3;
  font-size: 13px;
  color: #4a3a22;
}

.woocommerce-pagination ul li span.current {
  background: #b3821f;
  border-color: #b3821f;
  color: #fff;
}

/* WooCommerce form fields */
.woocommerce-form-row label {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b5637;
  margin-bottom: 7px;
}

.woocommerce-form-row input {
  width: 100%;
  background: #fdfaf3;
  border: 1px solid #d8cbab;
  border-radius: 5px;
  padding: 12px 14px;
  font-size: 13.5px;
  color: #3c2f1d;
}

/* Star rating */
.star-rating {
  color: #c9962e;
  font-size: 15px;
}

/* Quantity input */
.quantity .qty {
  width: 60px;
  text-align: center;
  border: 1px solid #d8cbab;
  border-radius: 4px;
  padding: 8px;
  font-size: 14px;
  background: #fdfaf3;
}

/* Remove WooCommerce default styles that conflict */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: #3a2a15;
  color: #f4ead1;
  border-radius: 5px;
  padding: 13px 26px;
  font-family: 'Manrope', sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border: none;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: #4d3a20;
  color: #f4ead1;
}

/* Cart totals */
.cart_totals { margin-top: 20px; }

/* === Shop product grid === */
.gp-products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.gp-card {
  background: #fdfaf3;
  border: 1px solid #ece2cc;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.gp-card:hover .gp-card-img { transform: scale(1.04); }

.gp-variant:hover .gp-dot { border-color: #b3821f !important; }

.gp-atc-btn.gp-adding { opacity: .7; pointer-events: none; }
.gp-atc-btn.gp-added  { background: var(--gp-success) !important; }

/* === Wyszukiwarka w nagłówku (panel pod lupką) === */
.gp-header { position: relative; }
.gp-search { border-top: 1px solid #e8dfc9; background: #fdfaf3; }
.gp-search__form { max-width: 1240px; margin: 0 auto; padding: 14px 32px; display: flex; align-items: center; gap: 12px; }
.gp-search__form input[type="search"] { flex: 1; min-width: 0; height: 44px; border: 1px solid #d8cbab; border-radius: 6px; background: #fff; padding: 0 14px; font-size: 14px; color: #3c2f1d; -webkit-appearance: none; appearance: none; }
.gp-search__form .gp-btn { height: 44px; padding: 0 24px; }
.gp-search__close { width: 40px; height: 40px; border: none; background: none; color: #8a7551; font-size: 16px; cursor: pointer; border-radius: 50%; }
.gp-search__close:hover { background: #f2eadb; color: #3c2f1d; }
.gp-search-toggle:hover { color: #a8802f !important; }

/* === Zakładki produktu: tekst z textarea (akapity, lista punktowana) === */
.gp-tab-content p { margin: 0 0 14px; }
.gp-tab-content p:last-child, .gp-tab-content ul:last-child { margin-bottom: 0; }
.gp-tab-content ul { margin: 0 0 14px; padding-left: 20px; }
.gp-tab-content li { margin: 0 0 6px; padding-left: 4px; }
.gp-tab-content li::marker { color: #b3821f; }

/* === „Powiadom mnie, gdy wróci” (produkt niedostępny) === */
.gp-stock-alert { margin-top: 22px; background: #f4ecd9; border: 1px solid #e6d7b3; border-radius: 8px; padding: 22px 24px; max-width: 480px; }
.gp-stock-alert__title { display: flex; align-items: center; gap: 9px; font-size: 14.5px; font-weight: 700; color: #33240d; }
.gp-stock-alert__text { font-size: 13px; line-height: 1.75; color: #55452c; margin: 10px 0 14px; }
.gp-stock-alert__form { display: flex; gap: 10px; }
.gp-stock-alert__form input { flex: 1; min-width: 0; height: 44px; padding: 0 14px; border: 1px solid #d8cbab; border-radius: 6px; background: #fdfaf3; font-size: 13.5px; color: #3c2f1d; }
.gp-stock-alert__form .gp-btn { height: 44px; padding: 0 20px; white-space: nowrap; }
.gp-stock-alert__msg { margin-top: 12px; font-size: 13px; font-weight: 600; color: var(--gp-success); }
.gp-stock-alert__msg.is-error { color: #b32d2e; }

/* === Przycisk "Dodaj do koszyka" na karcie produktu === */
.gp-single-atc {
  flex: 1;
  height: 46px;
  background: #3a2a15;
  color: #f4ead1;
  border: none;
  border-radius: 6px;
  font-family: 'Manrope', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s;
}
.gp-single-atc:hover   { background: #4d3a20; }
.gp-single-atc.gp-adding { opacity: .7; pointer-events: none; }
.gp-single-atc.gp-added  { background: var(--gp-success); }

/* Override WC product loop wrapper */
ul.products.columns-4 {
  display: contents;
}
ul.products.columns-4 > li {
  list-style: none;
  display: contents;
}

/* Checkout button */
.wc-proceed-to-checkout .checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  background: #3a2a15;
  color: #f4ead1;
  border-radius: 6px;
  padding: 16px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border: none;
  margin-top: 16px;
}


/* ==========================================================================
   Strona „Jaki miód wybrać?” – tabela porównawcza
   ========================================================================== */
.gp-honey-wrap { overflow-x: auto; }
.gp-honey { width: 100%; border-collapse: separate; border-spacing: 0; background: #fdfaf3; border: 1px solid #ece2cc; border-radius: 10px; overflow: hidden; font-size: 13.5px; line-height: 1.6; color: #55452c; }
.gp-honey th { text-align: left; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #b3821f; background: #f4ecd9; padding: 16px 18px; border-bottom: 1px solid #e6dcc4; white-space: nowrap; }
.gp-honey td { padding: 18px; border-bottom: 1px solid #efe6d2; vertical-align: top; }
.gp-honey tbody tr:last-child td { border-bottom: none; }
.gp-honey tbody tr:hover td { background: #faf6ec; }
.gp-honey__name { white-space: nowrap; font-weight: 700; color: #33240d; font-size: 15px; }
.gp-honey__name a { display: inline-flex; align-items: center; gap: 12px; color: #33240d; }
.gp-honey__name a:hover span { color: #b3821f; }
.gp-honey__name img { width: 44px; height: 44px; border-radius: 6px; object-fit: cover; flex-shrink: 0; }
.gp-honey__stars { white-space: nowrap; letter-spacing: 2px; color: #ddd0b0; font-size: 14px; }
.gp-honey__stars .is-on { color: #c9962e; }

/* ==========================================================================
   Koszyk i zamówienie (kroki 1–3)
   ========================================================================== */

.gp-wrap { max-width: 1240px; margin: 0 auto; padding: 0 32px; }

/* Okruszki */
.gp-crumb { display: flex; gap: 10px; align-items: center; padding-top: 22px; padding-bottom: 6px; font-size: 12.5px; color: #8a7551; }
.gp-crumb a { color: #8a7551; }
.gp-crumb__sep { color: #c2b18d; }
.gp-crumb__current { color: #3c2f1d; }

/* Nagłówek strony */
.gp-checkout-page { padding-top: 10px; padding-bottom: 64px; }
.gp-page-title { font-family: 'Cormorant Garamond', serif; font-size: 42px; font-weight: 500; color: #33240d; margin: 0 0 6px; line-height: 1.1; }
.gp-page-sub { font-size: 13px; color: #6b5a3c; margin: 0 0 26px; }

/* Pasek kroków */
.gp-steps { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 18px; }
.gp-steps__item { display: flex; align-items: center; gap: 12px; }
.gp-steps__num { width: 26px; height: 26px; border-radius: 50%; border: 1px solid #c9b98f; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: #8a7551; background: transparent; }
.gp-steps__check { display: none; line-height: 0; }
.gp-steps__label { font-size: 11.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #6b5a3c; }
.gp-steps__item.is-current .gp-steps__num { background: #b3821f; border-color: #b3821f; color: #fff; }
.gp-steps__item.is-current .gp-steps__label { color: #b3821f; }
.gp-steps__item.is-done .gp-steps__num { background: #b3821f; border-color: #b3821f; color: #fff; }
.gp-steps__item.is-done .gp-steps__n { display: none; }
.gp-steps__item.is-done .gp-steps__check { display: inline-flex; }
.gp-steps__sep { width: 44px; height: 1px; background: #d8cbab; }

/* Siatka: treść + prawa kolumna */
.gp-co-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; margin-top: 34px; }
.gp-co-side { display: flex; flex-direction: column; gap: 18px; position: sticky; top: 24px; }

/* Pudełka */
.gp-box { background: #faf6ec; border: 1px solid #ece2cc; border-radius: 8px; }
.gp-box--tint { background: #efe7d3; border-color: transparent; }
.gp-box__title { font-family: 'Cormorant Garamond', serif; font-size: 28px; font-weight: 500; color: #33240d; margin: 0 0 20px; }
.gp-box__label { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #a8802f; margin: 0 0 14px; }

/* Przyciski */
.gp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 6px; font-family: 'Manrope', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; text-decoration: none; transition: background .2s, color .2s, border-color .2s, opacity .2s; padding: 0 22px; height: 46px; box-sizing: border-box; }
.gp-btn--primary { background: #3a2a15; color: #f4ead1; border: 1px solid #3a2a15; }
.gp-btn--primary:hover { background: #4d3a20; border-color: #4d3a20; color: #f4ead1; }
.gp-btn--outline { background: transparent; color: #3c2f1d; border: 1px solid #4a3a22; }
.gp-btn--outline:hover { background: #3a2a15; color: #f4ead1; }
.gp-btn--block { display: flex; width: 100%; height: 52px; }
.gp-btn[disabled], .gp-btn.is-disabled { background: #a89b82; border-color: #a89b82; color: #f4ead1; cursor: not-allowed; pointer-events: none; }
.gp-link-back { font-size: 11.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #6b5637; }
.gp-link-back:hover { color: #a8802f; }

/* Pola */
.gp-input { background: #fdfaf3; border: 1px solid #d8cbab; border-radius: 6px; padding: 0 14px; height: 46px; font-family: 'Manrope', sans-serif; font-size: 13.5px; color: #3c2f1d; box-sizing: border-box; outline: none; transition: border-color .2s; }
.gp-input:focus { border-color: #b98a2f; }
.gp-input::placeholder { color: #a08c64; }

/* --- Krok 1: lista produktów --- */
.gp-cart { overflow: hidden; }
.gp-cart__head, .gp-cart__item { display: grid; grid-template-columns: minmax(0, 1fr) 150px 130px 44px; gap: 16px; align-items: center; }
.gp-cart__head { padding: 16px 24px; background: #f2eadb; font-size: 10.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #6b5637; }
.gp-cart__item { padding: 22px 24px; border-top: 1px solid #ece2cc; }
.gp-cart__c { text-align: center; display: flex; justify-content: center; }
.gp-cart__r { text-align: right; }
.gp-cart__prod { display: flex; gap: 18px; align-items: center; min-width: 0; }
.gp-cart__thumb { width: 74px; height: 84px; border-radius: 6px; overflow: hidden; background: #efe7d3; flex-shrink: 0; }
.gp-cart__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gp-cart__name { font-size: 14.5px; font-weight: 600; color: #3c2f1d; }
.gp-cart__name a { color: #3c2f1d; }
.gp-cart__meta { font-size: 12.5px; color: #8a7551; margin-top: 5px; }
.gp-cart__unit { font-size: 12.5px; color: #6b5a3c; margin-top: 7px; }
.gp-cart__sum { font-size: 15.5px; font-weight: 700; color: #33240d; }
.gp-cart__remove { display: flex; justify-content: center; }
.gp-cart__remove a { color: #a08c64; display: flex; padding: 6px; border-radius: 4px; }
.gp-cart__remove a:hover { color: #3c2f1d; background: #f2eadb; }
.gp-cart__single { font-size: 14px; font-weight: 600; }

.gp-qty { display: inline-flex; align-items: center; border: 1px solid #d8cbab; border-radius: 6px; background: #fdfaf3; height: 46px; }
.gp-qty__btn { width: 40px; height: 100%; border: none; background: none; cursor: pointer; color: #8a7551; font-size: 18px; line-height: 1; font-family: 'Manrope', sans-serif; }
.gp-qty__btn:hover { color: #3c2f1d; }
.gp-qty__input { width: 34px; border: none; background: none; text-align: center; font-size: 14px; font-weight: 600; color: #3c2f1d; padding: 0; font-family: 'Manrope', sans-serif; -moz-appearance: textfield; }
.gp-qty__input::-webkit-outer-spin-button, .gp-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.gp-qty__input:focus { outline: none; }

.gp-cart__foot { display: flex; justify-content: space-between; align-items: center; padding: 18px 24px; border-top: 1px solid #ece2cc; }
.gp-coupon { display: flex; gap: 10px; }
.gp-coupon .gp-input { width: 200px; }

/* --- Podsumowanie --- */
.gp-summary { padding: 28px 30px 26px; }
.gp-summary__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 0; font-size: 13.5px; color: #3c2f1d; }
.gp-summary__row > span:first-child { color: #55452c; }
.gp-summary__row--coupon .gp-coupon-remove { font-size: 11px; color: #a08c64; margin-left: 6px; text-transform: uppercase; letter-spacing: 0.06em; }
.gp-summary__discount { color: #8a5a19; }
.gp-summary__total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 12px; padding-top: 18px; border-top: 1px solid #e0d4b8; font-size: 15px; font-weight: 700; color: #33240d; }
.gp-summary__amount { font-family: 'Cormorant Garamond', serif; font-size: 34px; font-weight: 600; line-height: 1; }
.gp-muted { color: #a08c64; font-weight: 400; }
.gp-note { margin-top: 18px; background: #efe7d3; border-radius: 6px; padding: 12px 14px; text-align: center; font-size: 12.5px; color: #55452c; }
.gp-note strong { font-weight: 700; }
.gp-note--ok { background: #e6ecd9; color: #3f6b3a; }
.gp-summary .gp-btn--block { margin-top: 18px; }
.gp-secure { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 16px; font-size: 12px; color: #8a7551; }
.gp-back-link { display: block; text-align: center; margin-top: 14px; font-size: 11.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #6b5637; }

/* --- Wybór dostawy (krok 1, kompaktowa lista) --- */
.gp-shipping-pick { padding: 22px 26px 20px; }
.gp-ship-list { list-style: none; margin: 0; padding: 0; }
.gp-ship-list li + li { margin-top: 4px; }
.gp-ship-row { display: flex; align-items: center; gap: 12px; padding: 8px 0; cursor: pointer; font-size: 13.5px; color: #3c2f1d; }
.gp-ship-row input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; }
.gp-radio { width: 18px; height: 18px; border-radius: 50%; border: 1px solid #c9b98f; background: #fdfaf3; flex-shrink: 0; position: relative; transition: border-color .15s; }
.gp-radio::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: #a8802f; transform: scale(0); transition: transform .15s; }
.gp-ship-row input:checked + .gp-radio { border-color: #a8802f; }
.gp-ship-row input:checked + .gp-radio::after { transform: scale(1); }
.gp-ship-row input:focus-visible + .gp-radio { box-shadow: 0 0 0 3px rgba(185,138,47,.25); }
.gp-ship-row__name { flex: 1; }
.gp-ship-row__price { font-weight: 600; white-space: nowrap; }

/* --- Karta prezentowa --- */
.gp-gift { display: flex; gap: 16px; align-items: flex-start; padding: 22px 26px; }
.gp-gift__title { font-size: 13.5px; font-weight: 700; color: #3c2f1d; }
.gp-gift__text { font-size: 12.5px; color: #6b5a3c; margin-top: 4px; }

/* --- Pusty koszyk --- */
.gp-empty { text-align: center; padding: 50px 0 20px; font-size: 14px; color: #6b5a3c; }
.gp-empty .gp-btn { margin-top: 16px; }

/* --- Komunikaty WooCommerce w koszyku/zamówieniu --- */
.gp-checkout-page .woocommerce-message, .gp-checkout-page .woocommerce-error, .gp-checkout-page .woocommerce-info,
.gp-checkout-page .woocommerce-notices-wrapper > div { list-style: none; margin: 0 0 22px; padding: 14px 18px; border-radius: 6px; font-size: 13px; background: #efe7d3; color: #3c2f1d; border-left: 3px solid #b98a2f; }
.gp-checkout-page .woocommerce-error { background: #f6e4dd; border-left-color: #b4432b; color: #6a2f22; }
.gp-checkout-page .woocommerce-error li { margin: 3px 0; }
.gp-checkout-page .woocommerce-message { background: #e6ecd9; border-left-color: var(--gp-success); color: #3f6b3a; }
.gp-checkout-page .woocommerce-notices-wrapper:empty { display: none; }
.gp-checkout-page .woocommerce-message .button, .gp-checkout-page .woocommerce-error .button { display: none; }

/* --- Zamówienie: panele i pola (krok 2) --- */
[hidden] { display: none !important; }
.gp-co-main { min-width: 0; }
.gp-panel { padding: 34px 40px 32px; }
.gp-panel + .gp-panel { margin-top: 24px; }
.gp-co-notice { margin-bottom: 18px; }

.gp-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; }
.gp-fields .form-row { margin: 0; padding: 0; display: block; }
.gp-fields .form-row-wide { grid-column: 1 / -1; }
.gp-fields label { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #6b5637; margin-bottom: 8px; }
.gp-fields label .required { color: #b4432b; text-decoration: none; border: none; }
.gp-fields label .optional { text-transform: none; letter-spacing: 0; font-weight: 400; color: #a08c64; margin-left: 4px; }
.gp-fields .woocommerce-input-wrapper { display: block; }
.gp-fields .input-text, .gp-fields textarea, .gp-fields select {
  width: 100%; background: #fdfaf3; border: 1px solid #d8cbab; border-radius: 6px; padding: 0 16px; height: 48px;
  font-family: 'Manrope', sans-serif; font-size: 14px; color: #3c2f1d; box-sizing: border-box; outline: none; transition: border-color .2s, box-shadow .2s;
}
.gp-fields textarea { height: 150px; padding: 14px 16px; resize: vertical; line-height: 1.6; }
.gp-fields .input-text:focus, .gp-fields textarea:focus { border-color: #b98a2f; box-shadow: 0 0 0 3px rgba(185,138,47,.12); }
.gp-fields ::placeholder { color: #a08c64; }
.gp-fields .woocommerce-invalid .input-text, .gp-fields .woocommerce-invalid textarea { border-color: #b4432b; }
.gp-fields .woocommerce-invalid label { color: #b4432b; }
.gp-fields .form-row .checkout-inline-error-message { display: block; margin-top: 6px; font-size: 12px; color: #b4432b; }

/* Własny checkbox (prezent, regulamin) */
.gp-check { display: flex; align-items: center; gap: 12px; cursor: pointer; font-size: 13.5px; color: #3c2f1d; margin-top: 22px; }
.gp-check input { position: absolute; opacity: 0; width: 0; height: 0; }
.gp-check__box { width: 20px; height: 20px; border-radius: 4px; border: 1px solid #c9b98f; background: #fdfaf3; flex-shrink: 0; position: relative; transition: background .15s, border-color .15s; }
.gp-check__box::after { content: ""; position: absolute; left: 6px; top: 2px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg) scale(0); transition: transform .15s; }
.gp-check input:checked + .gp-check__box { background: #b3821f; border-color: #b3821f; }
.gp-check input:checked + .gp-check__box::after { transform: rotate(45deg) scale(1); }
.gp-check input:focus-visible + .gp-check__box { box-shadow: 0 0 0 3px rgba(185,138,47,.25); }
.gp-check a { color: #a8802f; text-decoration: underline; }

/* Karty wyboru: metody dostawy (krok 2) i płatności (krok 3) */
.gp-opts { display: flex; flex-direction: column; gap: 12px; }
.gp-opts__empty { margin: 0; font-size: 13px; }
.gp-opt { position: relative; display: flex; align-items: center; gap: 16px; padding: 20px 22px; border: 1px solid #e0d4b8; border-radius: 8px; background: #fdfaf3; cursor: pointer; transition: background .15s, border-color .15s, box-shadow .15s; }
.gp-opt:hover { border-color: #c9b98f; }
.gp-opt input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; }
.gp-opt.is-checked, .gp-opt:has(input:checked) { background: #f6edd8; border-color: #b98a2f; box-shadow: inset 0 0 0 1px #b98a2f; }
.gp-opt input:checked + .gp-radio { border-color: #a8802f; }
.gp-opt input:checked + .gp-radio::after { transform: scale(1); }
.gp-opt input:focus-visible + .gp-radio { box-shadow: 0 0 0 3px rgba(185,138,47,.25); }
.gp-opt__body { flex: 1; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.gp-opt__title { font-size: 14.5px; font-weight: 600; color: #3c2f1d; }
.gp-opt__desc { font-size: 12.5px; color: #6b5a3c; line-height: 1.5; }
.gp-opt__price { font-size: 14.5px; font-weight: 700; color: #33240d; white-space: nowrap; }
.gp-opt__extra { padding: 4px 6px 2px; }
.gp-opt__extra:empty { display: none; }

/* Prawa kolumna zamówienia */
.gp-summary__actions .gp-btn--block { margin-top: 18px; }
.gp-summary__actions .gp-back-link { margin-top: 14px; }
.gp-checkout-page .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.gp-checkout-page form.checkout > .woocommerce-NoticeGroup { margin-top: 24px; margin-bottom: -10px; }
.gp-checkout-page .blockUI.blockOverlay { border-radius: 8px; }

/* --- Krok 3: płatność, „Wysyłamy na”, regulamin --- */
.gp-pay-list { list-style: none; margin: 0; padding: 0; }
.gp-pay-list li { margin: 0; }
.gp-pay-list li + li { margin-top: 12px; }
.gp-pay-list .gp-opt { box-sizing: border-box; }
.gp-opt__icon { display: flex; align-items: center; gap: 6px; }
.gp-opt__icon img { max-height: 24px; width: auto; display: block; }
.payment_box { margin-top: 8px; padding: 14px 18px; background: #f2eadb; border-radius: 6px; font-size: 13px; line-height: 1.6; color: #55452c; }
.payment_box p { margin: 0 0 8px; }
.payment_box p:last-child { margin-bottom: 0; }
.payment_box fieldset { border: none; padding: 0; margin: 0; }
.payment_box .input-text { width: 100%; background: #fdfaf3; border: 1px solid #d8cbab; border-radius: 6px; height: 44px; padding: 0 14px; font-family: 'Manrope', sans-serif; font-size: 14px; }

.gp-shipto { margin-top: 24px; }
.gp-shipto__method { font-size: 12.5px; color: #8a7551; margin: -10px 0 18px; }
.gp-shipto__label { font-size: 13.5px; font-weight: 700; color: #3c2f1d; margin-bottom: 8px; }
.gp-shipto__lines { font-size: 14px; line-height: 1.9; color: #55452c; }
.gp-shipto__sub { font-size: 12.5px; color: #8a7551; margin-top: 10px; }
.gp-shipto__gift { margin-top: 12px; font-size: 13px; color: #8a5a19; }
.gp-shipto__change { margin-top: 20px; background: none; border: none; padding: 0; font-family: 'Manrope', sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #a8802f; cursor: pointer; }
.gp-shipto__change:hover { color: #3c2f1d; }

.gp-place-order { margin: 22px 0 0; padding: 0 6px; }
.gp-place-order noscript { display: block; margin-bottom: 14px; font-size: 13px; color: #6b5a3c; }
.gp-terms .gp-check { margin-top: 0; font-size: 14px; }
.gp-terms__row { margin: 0; }
.gp-terms .woocommerce-terms-and-conditions { display: none; }
.gp-terms .required { color: #b4432b; text-decoration: none; border: none; }
.gp-terms.woocommerce-invalid .gp-check__box, .gp-terms__row.woocommerce-invalid .gp-check__box { border-color: #b4432b; }

/* --- Wybór paczkomatu InPost (wtyczka renderuje przycisk wewnątrz karty dostawy w kroku 2) --- */
.gp-opt__extra > div { font-size: 13.5px; color: #3c2f1d; }
.gp-opt__extra .select-paczkomat-button {
  display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border-radius: 6px; border: 1px solid #3a2a15 !important;
  background: #3a2a15 !important; color: #f4ead1 !important; font-family: 'Manrope', sans-serif; font-size: 11.5px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; text-decoration: none; line-height: 1;
}
.gp-opt__extra .select-paczkomat-button:hover { background: #4d3a20 !important; }
.gp-opt__extra { padding: 12px 6px 4px; }
.gp-opt__extra #selected-paczkomat { margin-top: 10px; line-height: 1.7; color: #55452c; }
.gp-opt__error { margin-top: 10px; padding: 10px 14px; border-radius: 6px; background: #fbe9e7; border-left: 3px solid #c0392b; color: #8a2a20; font-size: 13px; line-height: 1.5; }
.gp-opt.is-error { border-color: #c0392b !important; box-shadow: 0 0 0 1px #c0392b; }


/* ==========================================================================
   Strona podziękowania za zamówienie (checkout/thankyou.php, order/*)
   ========================================================================== */

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

.gp-ty--short { padding-top: 10px; padding-bottom: 18px; }
.gp-ty--verify { padding-bottom: 64px; }

/* Karta potwierdzenia */
.gp-ty-hero { display: flex; gap: 26px; align-items: flex-start; padding: 36px 40px; margin-top: 30px; background: #faf6ec; }
.gp-ty--short .gp-ty-hero { margin-top: 8px; }
.gp-ty-hero__icon { width: 64px; height: 64px; border-radius: 50%; background: #b3821f; color: #fff; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 0 0 8px #f2e6c6; }
.gp-ty-hero--failed .gp-ty-hero__icon { background: #b4432b; box-shadow: 0 0 0 8px #f3ddd6; }
.gp-ty-hero__title { font-family: 'Cormorant Garamond', serif; font-size: 40px; font-weight: 500; color: #33240d; margin: 2px 0 10px; line-height: 1.1; }
.gp-ty-hero__text { font-size: 15px; line-height: 1.75; color: #55452c; margin: 0; max-width: 720px; }
.gp-ty-hero__mail { font-size: 13.5px; color: #8a7551; margin: 10px 0 0; }
.gp-ty-hero__mail strong { color: #3c2f1d; font-weight: 600; }
.gp-ty-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }

/* Numer / data / kwota / płatność */
.gp-ty-overview { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); background: #fdfaf3; border: 1px solid #ece2cc; border-radius: 8px; overflow: hidden; }
.gp-ty-overview li { padding: 18px 24px; display: flex; flex-direction: column; gap: 6px; }
.gp-ty-overview li + li { border-left: 1px solid #ece2cc; }
.gp-ty-overview li > span { font-size: 10.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #8a7551; }
.gp-ty-overview strong { font-size: 15.5px; font-weight: 700; color: #33240d; }

.gp-ty-grid { margin-top: 24px; }
.gp-ty .gp-co-main > * + * { margin-top: 24px; }
.gp-ty .gp-panel { padding: 30px 34px; }

/* Dane do przelewu */
.gp-ty-bank { border-color: #e2cf9f; background: #fbf4e2; }
.gp-ty-bank__intro { font-size: 13.5px; line-height: 1.7; color: #55452c; margin: -8px 0 18px; }
.gp-ty-bank__list { margin: 0; background: #fdfaf3; border: 1px solid #ece2cc; border-radius: 8px; }
.gp-ty-bank__list > div { display: grid; grid-template-columns: 150px 1fr; gap: 16px; align-items: center; padding: 13px 18px; }
.gp-ty-bank__list > div + div { border-top: 1px solid #efe6d0; }
.gp-ty-bank__list dt { font-size: 12px; font-weight: 600; color: #8a7551; }
.gp-ty-bank__list dd { margin: 0; font-size: 14.5px; color: #33240d; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.gp-ty-bank__mono [data-copy] { font-weight: 600; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; }
.gp-ty-bank__list + .gp-ty-bank__list { margin-top: 12px; }
.gp-ty-copy { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #d8cbab; background: #fff; color: #6b5637; border-radius: 5px; padding: 4px 10px; font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; transition: all .15s; }
.gp-ty-copy:hover { border-color: #b3821f; color: #33240d; }
.gp-ty-copy.is-copied { background: var(--gp-success); border-color: var(--gp-success); color: #fff; }

.gp-ty-paynow { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.gp-ty-gateway { font-size: 13.5px; line-height: 1.75; color: #55452c; }
.gp-ty-gateway p { margin: 0 0 10px; }
.gp-ty-gateway p:last-child { margin-bottom: 0; }

/* Szczegóły zamówienia */
.gp-od__items { border-top: 1px solid #ece2cc; }
.gp-od__item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 16px 0; border-bottom: 1px solid #ece2cc; }
.gp-od__thumb { width: 64px; height: 72px; border-radius: 6px; overflow: hidden; background: #efe7d3; }
.gp-od__thumb img, .gp-od__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gp-od__name { font-size: 14.5px; font-weight: 600; color: #3c2f1d; }
.gp-od__name a { color: #3c2f1d; }
.gp-od__name a:hover { color: #a8802f; }
.gp-od__meta, .gp-od__meta ul, .gp-od .wc-item-meta { font-size: 12.5px; color: #8a7551; margin: 4px 0 0; padding: 0; list-style: none; }
.gp-od .wc-item-meta li, .gp-od .wc-item-meta p { display: inline; margin: 0; }
.gp-od .wc-item-meta .wc-item-meta-label { font-weight: 400; }
.gp-od__qty { font-size: 12.5px; color: #6b5a3c; margin-top: 4px; }
.gp-od__sum { font-size: 15px; font-weight: 700; color: #33240d; white-space: nowrap; }
.gp-od__purchase-note { font-size: 13px; color: #55452c; padding: 8px 0 14px 82px; border-bottom: 1px solid #ece2cc; }

.gp-od__totals { margin: 18px 0 0; }
.gp-od__total { display: flex; justify-content: space-between; gap: 20px; padding: 7px 0; font-size: 13.5px; }
.gp-od__total dt { color: #6b5a3c; }
.gp-od__total dd { margin: 0; color: #3c2f1d; text-align: right; }
.gp-od__total dd small, .gp-od__total .shipped_via { color: #8a7551; font-size: 12.5px; }
.gp-od__total--order_total { margin-top: 8px; padding-top: 16px; border-top: 1px solid #e0d4b8; align-items: baseline; }
.gp-od__total--order_total dt { color: #33240d; font-weight: 700; font-size: 15px; }
.gp-od__total--order_total dd { font-family: 'Cormorant Garamond', serif; font-size: 30px; font-weight: 600; color: #33240d; line-height: 1; }
.gp-od__total--payment_method, .gp-od__total--meta_key { font-size: 13px; }

.gp-od__note { margin-top: 18px; background: #f2eadb; border-radius: 6px; padding: 14px 18px; }
.gp-od__note span { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #8a7551; margin-bottom: 4px; }
.gp-od__note p { margin: 0; font-size: 13.5px; line-height: 1.7; color: #3c2f1d; }
.gp-od__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.gp-od .order-again { margin: 20px 0 0; }
.gp-od .order-again .button { display: inline-flex; align-items: center; height: 44px; padding: 0 22px; border-radius: 6px; background: transparent; color: #3c2f1d; border: 1px solid #4a3a22; font-size: 11.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.gp-od .order-again .button:hover { background: #3a2a15; color: #f4ead1; }

/* Dane zamawiającego */
.gp-od-customer__cols--2 { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.gp-od-customer__addr { font-style: normal; font-size: 14px; line-height: 1.85; color: #3c2f1d; }
.gp-od-customer__addr p { margin: 10px 0 0; line-height: 1.5; }
.gp-od-customer__addr p span { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #8a7551; margin-bottom: 2px; }

/* Co dalej? */
.gp-ty-steps { list-style: none; margin: 0; padding: 0; position: relative; }
.gp-ty-steps li { position: relative; display: flex; gap: 18px; padding: 0 0 22px; }
.gp-ty-steps li:last-child { padding-bottom: 0; }
.gp-ty-steps li::before { content: ""; position: absolute; left: 8px; top: 20px; bottom: 0; width: 2px; background: #e6dcc4; }
.gp-ty-steps li:last-child::before { display: none; }
.gp-ty-steps__dot { position: relative; z-index: 1; width: 18px; height: 18px; margin-top: 2px; border-radius: 50%; border: 2px solid #d8cbab; background: #fdfaf3; flex-shrink: 0; }
.gp-ty-steps li.is-done .gp-ty-steps__dot { background: #b3821f; border-color: #b3821f; }
.gp-ty-steps li.is-done::before { background: #d9bb73; }
.gp-ty-steps li.is-current .gp-ty-steps__dot { border-color: #b3821f; box-shadow: 0 0 0 4px rgba(179,130,31,.18); }
.gp-ty-steps strong { display: block; font-size: 14.5px; color: #33240d; }
.gp-ty-steps li:not(.is-done):not(.is-current) strong { color: #8a7551; }
.gp-ty-steps span { display: block; font-size: 13px; line-height: 1.6; color: #6b5a3c; margin-top: 3px; }

/* Prawa kolumna */
.gp-ty-card { padding: 24px 26px; }
.gp-ty-card .gp-box__label { margin-bottom: 10px; }
.gp-ty-card__method { font-size: 15px; font-weight: 700; color: #33240d; }
.gp-ty-card__sub { font-size: 10.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #8a7551; margin: 16px 0 4px; }
.gp-ty-card__lines { font-size: 14px; line-height: 1.75; color: #3c2f1d; }
.gp-ty-card__gift { margin-top: 16px; padding-top: 14px; border-top: 1px solid #ece2cc; font-size: 13px; color: #8a5a19; }
.gp-ty-card__text { font-size: 13.5px; line-height: 1.7; color: #55452c; margin: 0 0 12px; }
.gp-ty-contact { list-style: none; margin: 0; padding: 0; }
.gp-ty-contact li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; font-size: 13.5px; border-top: 1px solid #efe6d0; }
.gp-ty-contact li span { color: #8a7551; }
.gp-ty-contact li a { color: #3c2f1d; font-weight: 600; word-break: break-all; text-align: right; }
.gp-ty-contact li a:hover { color: #a8802f; }

/* Weryfikacja e-maila */
.gp-ty-verify { max-width: 640px; margin-top: 24px; }
.gp-ty-verify__text { font-size: 14px; line-height: 1.7; color: #55452c; margin: -8px 0 18px; }
.gp-ty-verify__row { display: flex; gap: 10px; }
.gp-ty-verify__row .gp-input { flex: 1; }
.gp-ty-verify .woocommerce-error { margin: 0 0 16px; }

/* Podsumowanie koszyka/zamówienia: kwoty w wierszach pogrubione, „Do zapłaty” w Cormorant 600
   (WooCommerce owija sumę w <strong>, a font jest wczytany tylko do wagi 600 – bez tego przeglądarka pogrubia go sztucznie) */
.gp-summary__row > span:last-child { font-weight: 600; color: #33240d; }
.gp-summary__amount strong { font-weight: inherit; }
.gp-summary__amount .woocommerce-Price-currencySymbol { font-weight: inherit; }
.gp-summary__amount small { display: block; font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 400; color: #8a7551; margin-top: 4px; text-align: right; }


/* ==========================================================================
   WERSJA MOBILNA
   Wszystko poniżej działa tylko na ekranach do 1100 px (tablet) i 767 px (telefon).
   Układ komputerowy pozostaje bez zmian. Style w szablonach są inline, dlatego
   nadpisania wymagają !important.
   ========================================================================== */

.gp-burger { display: none; }
.gp-filters-toggle { display: none; }

/* ---------- Tablet i mniejsze ---------- */
@media (max-width: 1100px) {
  body { min-width: 0; }
  html, body { overflow-x: hidden; }

  /* Nagłówek: ikona menu, wysuwane menu */
  .gp-header__in { grid-template-columns: auto 1fr auto !important; padding: 10px 20px !important; gap: 12px; }
  .gp-burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 10px; border: 1px solid #ded1b0; border-radius: 8px; background: #fdfaf3; cursor: pointer; order: 1; }
  .gp-burger span { display: block; height: 2px; background: #3c2f1d; border-radius: 2px; transition: transform .2s, opacity .2s; }
  body.gp-nav-open .gp-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  body.gp-nav-open .gp-burger span:nth-child(2) { opacity: 0; }
  body.gp-nav-open .gp-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .gp-logo { order: 2; padding: 0 !important; }
  .gp-logo__img, .gp-logo img { height: 64px !important; }
  .gp-header__actions { order: 3; gap: 16px !important; }
  .gp-header__label { display: none; }
  .gp-header__actions a { font-size: 0; }
  .gp-header__actions .gp-search-toggle { font-size: 0 !important; }
  .gp-search__form { padding: 12px 20px; }
  .gp-header__actions svg { width: 22px; height: 22px; }
  .gp-header__actions .gp-social { margin-left: 0 !important; }
  .gp-header__sep { display: none; }
  .gp-header__actions .gp-cart-count { top: -8px !important; right: -10px !important; font-size: 10px !important; }
  .gp-nav { display: none !important; position: absolute; left: 0; right: 0; top: 100%; z-index: 50; flex-direction: column; gap: 0 !important; background: #faf6ec; border-bottom: 1px solid #e8dfc9; box-shadow: 0 12px 30px rgba(60,47,29,.12); white-space: normal !important; }
  .gp-nav a { display: block; padding: 16px 24px; border-top: 1px solid #efe6d0; font-size: 13px !important; }
  body.gp-nav-open .gp-nav { display: flex !important; }
  .gp-header { position: relative; }

  /* Pasek na górze: tylko telefon i darmowa dostawa */
  .gp-topbar__in { padding: 8px 20px !important; font-size: 12px !important; }
  .gp-topbar__in > div:nth-child(2) { display: none !important; }

  /* Wspólne kontenery */
  .gp-wrap { padding-left: 20px; padding-right: 20px; }
  .gp-m-pad { padding-left: 20px !important; padding-right: 20px !important; }

  /* Strona główna */
  #gp-hero { height: 460px !important; }
  .gp-hero__overlay { background: linear-gradient(90deg, rgba(250,246,236,.96) 0%, rgba(250,246,236,.85) 55%, rgba(250,246,236,.25) 100%) !important; }
  .gp-hero__box { max-width: 560px !important; }
  #gp-hero-prev, #gp-hero-next { display: none !important; }
  .gp-hero-badge { width: 96px !important; height: 96px !important; right: 20px !important; bottom: 20px !important; }
  .gp-usp { grid-template-columns: 1fr 1fr !important; gap: 22px 0 !important; padding: 22px 20px !important; }
  .gp-usp > div:nth-child(2) { border-right: none !important; }
  .gp-usp > div { padding: 0 16px !important; }
  .gp-rail-section { padding: 0 20px; }
  .gp-rail-wrap { padding: 0 !important; }
  .gp-rail-nav { display: none; }
  #gp-rail { gap: 22px !important; padding-bottom: 12px !important; scroll-snap-type: x mandatory; }
  #gp-rail > a { flex: 0 0 calc((100% - 44px) / 3) !important; min-width: 0 !important; scroll-snap-align: start; }
  .gp-reviews__grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .gp-reviews__cards { grid-template-columns: 1fr 1fr !important; }
  .gp-story { grid-template-columns: 1fr !important; }
  .gp-story__text { padding: 44px 20px !important; }
  .gp-story__img { min-height: 320px !important; }
  .gp-story__photo { left: 0; aspect-ratio: auto !important; max-width: none !important; }

  /* Sklep */
  .gp-shop-grid { grid-template-columns: 1fr !important; padding: 14px 20px 40px !important; }
  .gp-filters-toggle { display: inline-flex; width: 100%; height: 46px; justify-content: center; }
  .gp-shop-sidebar { display: none; }
  .gp-shop-sidebar.is-open { display: block; }
  .gp-products-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }

  /* Karta produktu */
  .gp-product { grid-template-columns: 1fr !important; padding: 14px 20px 32px !important; }
  .gp-product__main { height: auto !important; aspect-ratio: 1 / 1.04; order: 1; }
  .gp-product__thumbs { order: 2; flex-direction: row !important; overflow-x: auto; }
  .gp-product__thumbs .gp-thumb { width: 72px; height: 72px !important; flex: 0 0 auto; }
  .gp-product__details { order: 3; padding-left: 0 !important; }
  .gp-product__lower { grid-template-columns: 1fr !important; gap: 28px !important; padding: 10px 20px 40px !important; }
  .gp-related { grid-template-columns: repeat(3, 1fr) !important; }

  /* Koszyk / zamówienie */
  .gp-co-grid { grid-template-columns: 1fr !important; gap: 22px; }
  .gp-co-side { position: static; }
  .gp-panel, .gp-ty .gp-panel { padding: 24px 20px; }

  /* Podstrony */
  .gp-page-hero--tall { height: auto !important; min-height: 380px; }
  .gp-page-hero__in { padding: 60px 20px !important; }
  .gp-kontakt { grid-template-columns: 1fr !important; padding: 28px 20px 48px !important; gap: 24px !important; }

  /* Stopka */
  .gp-trust__in { flex-wrap: wrap; gap: 18px 28px; justify-content: center !important; padding: 0 20px !important; }
  .gp-footer__grid { grid-template-columns: 1fr 1fr !important; gap: 28px !important; padding: 0 20px !important; }
  .gp-footer__bottom { flex-direction: column; gap: 8px; text-align: center; padding: 16px 20px 0 !important; }
  .gp-footer__credit { display: block; margin: 6px 0 0 !important; }
}

/* ---------- Telefon ---------- */
@media (max-width: 767px) {
  .gp-header__in { padding: 8px 14px !important; }
  .gp-logo__img, .gp-logo img { height: 54px !important; }
  .gp-topbar__in { justify-content: center !important; gap: 14px; }
  .gp-topbar__in > div:nth-child(3) { display: none !important; }

  .gp-wrap { padding-left: 16px; padding-right: 16px; }
  .gp-m-pad { padding-left: 16px !important; padding-right: 16px !important; padding-top: 40px !important; padding-bottom: 40px !important; }
  .gp-m-1col { grid-template-columns: 1fr !important; gap: 18px !important; }
  .gp-m-stack { flex-direction: column; align-items: flex-start !important; }
  .gp-page-title { font-size: 32px; }
  .gp-crumb { padding-top: 14px; font-size: 12px; flex-wrap: wrap; }
  .gp-btn { font-size: 11px; padding: 0 16px; }

  /* Strona główna */
  #gp-hero { height: 300px !important; }
  .gp-hero__in { padding: 0 16px !important; }
  .gp-hero__title { font-size: 28px !important; margin-top: 8px !important; }
  .gp-hero__box p { margin-top: 10px !important; line-height: 1.6 !important; }
  .gp-hero__btns { margin-top: 16px !important; }
  .gp-hero__box p { font-size: 13.5px !important; }
  .gp-hero__btns { flex-wrap: wrap; gap: 10px !important; }
  .gp-hero__btns a { padding: 12px 18px !important; font-size: 11px !important; }
  #gp-hero-dots { bottom: 14px !important; left: 16px !important; }
  .gp-hero-badge { width: 64px !important; height: 64px !important; right: 12px !important; bottom: 12px !important; }
  /* Zalety jako slider: jedna na ekran, przewijanie palcem (scroll-snap) + autoprzewijanie z main.js */
  .gp-usp { display: flex !important; gap: 0 !important; padding: 18px 0 6px !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .gp-usp::-webkit-scrollbar { display: none; }
  .gp-usp > div { flex: 0 0 100%; scroll-snap-align: start; border-right: none !important; justify-content: center !important; padding: 0 24px !important; }
  .gp-usp > div > div { width: auto !important; gap: 16px !important; }
  .gp-usp-dots { display: flex; justify-content: center; gap: 7px; padding: 4px 0 14px; }
  .gp-usp-dots span { width: 8px; height: 8px; border-radius: 4px; background: rgba(107,86,55,.3); transition: all .3s; }
  .gp-usp-dots span.is-active { width: 22px; background: #b3821f; }
  .gp-rail-section { padding: 0 16px; }
  #gp-rail { gap: 14px !important; }
  #gp-rail > a { flex: 0 0 calc((100% - 14px) / 2) !important; }
  .gp-reviews { padding: 40px 0 !important; }
  .gp-reviews__grid { padding: 0 16px !important; }
  .gp-reviews__cards { grid-template-columns: 1fr !important; gap: 14px !important; }
  .gp-story__text { padding: 36px 16px !important; }
  .gp-story__img { min-height: 260px !important; }
  .gp-story__caption { top: auto !important; left: 0 !important; right: 0 !important; bottom: 16px !important; text-align: center !important; font-size: 26px !important; white-space: nowrap !important; padding: 0 12px !important; }
  .gp-story__br { display: none !important; }

  /* Sklep */
  .gp-shop-hero { height: 190px !important; }
  .gp-shop-hero h1 { font-size: 32px !important; }
  .gp-shop-hero > div:last-child { padding: 36px 16px !important; }
  .gp-shop-grid { padding: 12px 16px 32px !important; gap: 16px !important; }
  .gp-products-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .gp-card > div[style*="padding:16px"] { padding: 12px 12px 14px !important; }
  .gp-card .gp-atc-btn { font-size: 10px !important; padding: 11px 0 !important; }

  /* Karta produktu */
  .gp-product { padding: 10px 16px 24px !important; gap: 14px !important; }
  .gp-product__title { font-size: 32px !important; }
  #gp-price { font-size: 28px !important; }
  .gp-product__mini { grid-template-columns: 1fr !important; gap: 10px !important; }
  .gp-product__lower { padding: 10px 16px 32px !important; }
  .gp-product__lower > div { min-width: 0; }
  .gp-tabs { gap: 18px !important; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .gp-tabs .gp-tab-btn { flex: 0 0 auto; }
  .gp-tab-content { max-width: none !important; }
  .gp-related { grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
  .gp-attr-btn { width: 88px !important; }

  /* Koszyk */
  .gp-steps { gap: 10px; flex-wrap: wrap; }
  .gp-steps__sep { width: 18px; }
  .gp-steps__label { font-size: 10.5px; letter-spacing: .08em; }
  .gp-cart__head { display: none; }
  .gp-cart__item { grid-template-columns: 1fr auto; grid-template-areas: "prod remove" "qty sum"; gap: 14px 10px; padding: 16px 14px; }
  .gp-cart__prod { grid-area: prod; }
  .gp-cart__remove { grid-area: remove; align-self: start; }
  .gp-cart__item > .gp-cart__c { grid-area: qty; justify-content: flex-start; }
  .gp-cart__sum { grid-area: sum; align-self: center; }
  .gp-cart__foot { flex-direction: column; align-items: stretch; gap: 14px; padding: 16px 14px; }
  .gp-coupon { width: 100%; }
  .gp-coupon .gp-input { flex: 1; width: auto; }
  .gp-summary { padding: 22px 18px; }
  .gp-summary__amount { font-size: 28px; }
  .gp-shipping-pick { padding: 18px 18px 16px; }

  /* Zamówienie */
  .gp-fields { grid-template-columns: 1fr !important; gap: 16px; }
  .gp-panel, .gp-ty .gp-panel { padding: 22px 16px; }
  .gp-opt { padding: 14px 14px; gap: 12px; }
  .gp-opt__price { font-size: 13.5px; }
  .gp-ty-hero { flex-direction: column; padding: 26px 18px; gap: 16px; }
  .gp-ty-hero__title { font-size: 30px; }
  .gp-ty-overview { grid-template-columns: 1fr 1fr; }
  .gp-ty-overview li { padding: 14px 16px; }
  .gp-ty-overview li:nth-child(2n+1) { border-left: none; }
  .gp-ty-overview li:nth-child(n+3) { border-top: 1px solid #ece2cc; }
  .gp-ty-bank__list > div { grid-template-columns: 1fr; gap: 4px; }
  .gp-ty-paynow { flex-direction: column; align-items: stretch; }
  .gp-od-customer__cols--2 { grid-template-columns: 1fr; }
  .gp-ty-verify__row { flex-direction: column; }

  /* Podstrony */
  .gp-page-hero { height: 170px !important; }
  .gp-page-hero--tall { min-height: 300px; }
  .gp-page-hero--tall p { font-size: 13.5px !important; line-height: 1.75 !important; }
  .gp-page-hero__in { padding: 44px 16px !important; }
  .gp-page-hero h1 { font-size: 32px !important; }
  .gp-kontakt { padding: 22px 16px 40px !important; }
  .gp-legal h2 { font-size: 22px; }

  /* Stopka */
  .gp-trust { padding: 20px 0 !important; }
  .gp-trust__in { flex-direction: column; align-items: flex-start; gap: 14px; padding: 0 16px !important; }
  .gp-footer__grid { grid-template-columns: 1fr !important; gap: 24px !important; padding: 0 16px !important; }
  /* „Jaki miód wybrać?” – tabela jako karty */
  .gp-honey, .gp-honey tbody, .gp-honey tr, .gp-honey td { display: block; }
  .gp-honey thead { display: none; }
  .gp-honey tr { border-bottom: 6px solid #f4efe4; }
  .gp-honey tr:last-child { border-bottom: none; }
  .gp-honey td { display: flex; gap: 12px; padding: 10px 16px; border-bottom: 1px solid #f1e9d6; }
  .gp-honey td::before { content: attr(data-label); flex: 0 0 34%; font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #8a7551; padding-top: 3px; }
  .gp-honey td.gp-honey__name { display: block; padding: 14px 16px 10px; background: #f4ecd9; white-space: normal; }
  .gp-honey td.gp-honey__name::before { display: none; }
  .gp-stock-alert { max-width: none; padding: 18px 16px; }
  .gp-stock-alert__form { flex-direction: column; }
  .gp-search__form { padding: 10px 16px; gap: 8px; }
  .gp-search__form > svg { display: none; }
  .gp-search__form .gp-btn { padding: 0 16px; }
}
