/* ==========================================================================
   Gusti D'Italia — nakładka wizualna na szablon Shoper (RWD)
   Wklejana jako własny CSS. Nie zmienia żadnych plików sklepu.
   Układ strony głównej przebudowuje gusti-overlay.js (klasa body.gd-home);
   bez JS działa tylko odświeżenie kolorów i typografii.
   ========================================================================== */

:root {
  --gd-nero: #0d0b0a;
  --gd-carbone: #16120f;
  --gd-carbone-2: #1f1a15;
  --gd-crema: #efe6d6;
  --gd-crema-dim: rgba(239, 230, 214, 0.66);
  --gd-crema-faint: rgba(239, 230, 214, 0.14);
  --gd-oro: #c9a25a;
  --gd-oro-soft: rgba(201, 162, 90, 0.3);
  --gd-vino: #8a2433;
  --gd-serif: "Cormorant Garamond", Palatino, "Palatino Linotype", "Times New Roman", serif;
  --gd-sans: "Jost", "Helvetica Neue", Arial, sans-serif;
  --gd-max: 1320px;
  --gd-gutter: clamp(20px, 4vw, 56px);
}

/* --- Podstawa ----------------------------------------------------------- */

html body,
html body .wrap,
html body .main,
html body .innermain,
html body .top,
html body .box {
  background: var(--gd-nero);
  color: var(--gd-crema);
}

html body {
  font-family: var(--gd-sans);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}

body .wrap a { color: var(--gd-crema); transition: color 0.2s ease; }
body .wrap a:hover { color: var(--gd-oro); }

body .wrap :focus-visible {
  outline: 1px solid var(--gd-oro);
  outline-offset: 3px;
}

body ::selection { background: var(--gd-oro); color: var(--gd-nero); }

/* nagłówki boksów Shopera (kategorie, produkt, koszyk) */
body .wrap .boxhead,
body .wrap .boxhead span,
body .wrap .boxhead h1,
body .wrap .boxhead h2 {
  font-family: var(--gd-serif);
  font-weight: 500;
  font-size: clamp(28px, 3vw, 40px);
  letter-spacing: 0;
  text-transform: none;
  color: var(--gd-crema);
  border: 0;
  background: none;
}

body .wrap .boxhead::after,
body .wrap .boxhead span::after { display: none; }

/* --- Przyciski i pola ----------------------------------------------------- */

body .wrap .btn,
body .wrap button.btn,
body .wrap .btn-red {
  background: var(--gd-oro);
  color: var(--gd-nero);
  border: 1px solid var(--gd-oro);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--gd-sans);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-shadow: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body .wrap .btn:hover,
body .wrap .btn-red:hover {
  background: var(--gd-crema);
  border-color: var(--gd-crema);
  color: var(--gd-nero);
}

body .wrap input[type="text"],
body .wrap input[type="email"],
body .wrap input[type="search"],
body .wrap input[type="password"],
body .wrap input[type="number"],
body .wrap select,
body .wrap textarea {
  background: transparent;
  color: var(--gd-crema);
  border: 1px solid var(--gd-crema-faint);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--gd-sans);
}

body .wrap input::placeholder { color: var(--gd-crema-dim); }
body .wrap select option { background: var(--gd-carbone); color: var(--gd-crema); }
body .wrap input:focus,
body .wrap select:focus,
body .wrap textarea:focus {
  outline: none;
  border-color: var(--gd-oro);
}

/* --- Pasek darmowej dostawy -------------------------------------------- */

body .wrap .free-shipping__wrapper {
  background: var(--gd-nero);
  border-bottom: 1px solid var(--gd-crema-faint);
  padding: 9px 16px;
}

body .wrap .free-shipping__sum,
body .wrap .free-shipping__sum span {
  margin: 0;
  font-family: var(--gd-sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gd-crema-dim);
  text-align: center;
}

body .wrap .free-shipping__sum .js-free-shipping-sum { color: var(--gd-oro); letter-spacing: 0.1em; }

/* --- Nagłówek ------------------------------------------------------------- */

body .wrap header {
  background: var(--gd-nero);
  border: 0;
  position: relative;
  z-index: 60;
}

body.gd-on .wrap header .logo-bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  max-width: var(--gd-max);
  width: auto;
  margin: 0 auto;
  padding: 18px var(--gd-gutter);
  min-height: 0;
  height: auto;
  float: none;
}

body.gd-on .wrap header .logo-bar::before,
body.gd-on .wrap header .logo-bar::after { display: none; }

body.gd-on .wrap #logo-bar__left,
body.gd-on .wrap #logo-bar__right {
  position: static;
  float: none;
  width: auto;
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0;
  padding: 0;
  background: none;
}

body.gd-on .wrap #logo-bar__right { justify-content: flex-end; }

body.gd-on .wrap #logo-bar__middle {
  position: static;
  float: none;
  transform: none;
  margin: 0;
  width: 128px;
  height: 128px;
  display: block;
  background: none;
  border: 0;
  box-shadow: none;
}

body.gd-on .wrap #logo-bar__middle::before,
body.gd-on .wrap #logo-bar__middle::after { display: none; }

body.gd-on .wrap #logo-bar__middle img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  max-width: none;
  max-height: none;
  position: static;
}

/* stare rozwijane „MENU” zastępuje nawigacja z JS; mobilne ikony zostają */
body.gd-on .wrap header .menu-list.large { display: none; }
body.gd-on .wrap header .fx-menu,
body.gd-on .wrap header .menu,
body.gd-on .wrap header .innermenu { background: none; border: 0; width: auto; margin: 0; padding: 0; }

/* wyszukiwarka w nagłówku — linia zamiast ramki */
body.gd-on .wrap header .search__container { position: relative; width: 100%; max-width: 280px; margin: 0; padding: 0; }
body.gd-on .wrap header .search__container form.search,
body.gd-on .wrap header .search__container .search-input { border: 0; background: none; box-shadow: none; }
body.gd-on .wrap header .search__container input.search__input { border: 0; box-shadow: none; }

body.gd-on .wrap header .search__input-area {
  border: 0;
  border-bottom: 1px solid var(--gd-crema-faint);
  background: none;
  height: 40px;
}
body.gd-on .wrap header .search__input-area:focus-within { border-bottom-color: var(--gd-oro); }
body.gd-on .wrap header .search__input {
  border: 0;
  background: none;
  height: 38px;
  padding: 0 4px;
  font-size: 13px;
  letter-spacing: 0.06em;
  color: var(--gd-crema);
}
body.gd-on .wrap header .search__input {
  text-transform: none;
}
body.gd-on .wrap header .search__input::placeholder {
  text-transform: none;
  letter-spacing: 0.08em;
  color: var(--gd-crema-dim);
}
body.gd-on .wrap header .search__btn-search {
  background: none;
  border: 0;
  color: var(--gd-crema-dim);
  width: 36px;
  height: 38px;
  padding: 0;
  font-size: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23efe6d6' stroke-width='1.6'><circle cx='11' cy='11' r='6.5'/><path d='M16 16l5 5'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
}
body.gd-on .wrap header .search__btn-search .fa,
body.gd-on .wrap header .search__btn-search img { display: none; }
body.gd-on .wrap header .search__btn-search:hover { background-color: transparent; filter: brightness(1.3); }
body .wrap .search__content { background: var(--gd-carbone); color: var(--gd-crema); border: 1px solid var(--gd-crema-faint); }

/* konto + koszyk */
body.gd-on .wrap .login-bar { float: none; width: auto; margin: 0; padding: 0; background: none; }
body.gd-on .wrap .login-bar ul { display: flex; gap: 18px; margin: 0; padding: 0; float: none; }
body.gd-on .wrap .login-bar li { margin: 0; padding: 0; border: 0; float: none; white-space: nowrap; }
body.gd-on .wrap .login-bar a,
body.gd-on .wrap .basket .countlabel,
body.gd-on .wrap .basket .countlabel span,
body.gd-on .wrap .basket .countlabel b {
  font-family: var(--gd-sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gd-crema-dim);
  background: none;
}
body.gd-on .wrap .login-bar a::before,
body.gd-on .wrap .login-bar a::after,
body.gd-on .wrap .login-bar .fa,
body.gd-on .wrap .basket a.count::before { display: none !important; content: none !important; }
body.gd-on .wrap .login-bar a:hover { color: var(--gd-oro); }

body.gd-on .wrap .basket.right {
  float: none;
  margin: 0;
  padding: 0 0 0 18px;
  border-left: 1px solid var(--gd-crema-faint);
  background: none;
}
body.gd-on .wrap .basket a.count { display: block; padding: 0; background: none; }
body.gd-on .wrap .basket .countlabel b { color: var(--gd-oro); font-weight: 500; }

body.gd-on .wrap header .basket-contain {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 80;
  min-width: 280px;
}
body.gd-on .wrap header .basket:hover .basket-contain,
body.gd-on .wrap header .basket-contain:hover { display: block; }
body .wrap .basket-contain {
  background: var(--gd-carbone);
  color: var(--gd-crema);
  border: 1px solid var(--gd-oro-soft);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.5);
}
body .wrap .basket-summery a { background: var(--gd-oro); color: var(--gd-nero); }

/* --- Nawigacja (budowana przez JS) ------------------------------------- */

.gd-nav {
  position: relative;
  border-top: 1px solid var(--gd-crema-faint);
  border-bottom: 1px solid var(--gd-crema-faint);
  background: var(--gd-nero);
}

.gd-nav__list {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: clamp(14px, 2.6vw, 38px);
  max-width: var(--gd-max);
  margin: 0 auto;
  padding: 0 var(--gd-gutter);
}

.gd-nav__list li { margin: 0; padding: 0; }

.gd-nav__link,
.gd-nav__toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 50px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  font-family: var(--gd-sans);
  font-size: 11.5px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--gd-crema);
  text-decoration: none;
  position: relative;
}

body .wrap .gd-nav__link { color: var(--gd-crema); }
body .wrap .gd-nav__link--vino { color: #d0707d; }

.gd-nav__link::after,
.gd-nav__toggle::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: var(--gd-oro);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.gd-nav__link:hover::after,
.gd-nav__toggle:hover::after,
.gd-nav__toggle[aria-expanded="true"]::after { transform: scaleX(1); }

.gd-nav__toggle { color: var(--gd-oro); }
.gd-nav__toggle svg { width: 9px; height: 9px; transition: transform 0.25s ease; }
.gd-nav__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

.gd-mega {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 80;
  background: var(--gd-carbone);
  border-bottom: 1px solid var(--gd-oro-soft);
  box-shadow: 0 40px 80px rgba(0, 0, 0, 0.6);
  max-height: calc(100vh - 180px);
  overflow-y: auto;
}

.gd-mega .gd-carta { padding-top: 40px; padding-bottom: 48px; }

/* --- Hero ----------------------------------------------------------------- */

.gd-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  min-height: clamp(520px, 72vh, 720px);
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden;
}

.gd-hero__text {
  position: relative;
  z-index: 2;
  align-self: center;
  padding: 64px 0 64px max(var(--gd-gutter), calc((100vw - var(--gd-max)) / 2 + var(--gd-gutter)));
}

.gd-kicker {
  display: block;
  margin: 0 0 22px;
  font-family: var(--gd-sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--gd-oro);
}

.gd-hero__title {
  margin: 0;
  font-family: var(--gd-serif);
  font-weight: 500;
  font-size: clamp(52px, 6.4vw, 104px);
  line-height: 0.92;
  letter-spacing: -0.01em;
  color: var(--gd-crema);
  text-transform: none;
}

.gd-hero__title em {
  display: block;
  font-style: italic;
  color: var(--gd-oro);
}

.gd-hero__lead {
  max-width: 46ch;
  margin: 28px 0 36px;
  font-family: var(--gd-sans);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  color: var(--gd-crema-dim);
}

.gd-hero__actions { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; }

.gd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 0 30px;
  font-family: var(--gd-sans);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid var(--gd-oro);
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

body .wrap .gd-btn--solid { background: var(--gd-oro); color: var(--gd-nero); }
body .wrap .gd-btn--solid:hover { background: var(--gd-crema); border-color: var(--gd-crema); color: var(--gd-nero); }

body .wrap .gd-link {
  font-family: var(--gd-sans);
  font-size: 11.5px;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gd-crema);
  text-decoration: none;
  border-bottom: 1px solid var(--gd-oro);
  padding-bottom: 5px;
}
body .wrap .gd-link:hover { color: var(--gd-oro); }

.gd-hero__media {
  position: relative;
  margin: 0;
  min-height: 100%;
  /* obecny baner ma wtopiony napis po lewej — maska go wygasza */
  -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 16%, #000 52%);
  mask-image: linear-gradient(to right, transparent 0%, transparent 16%, #000 52%);
}

.gd-hero__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: var(--gd-hero-focus, 70% 40%);
}

/* łagodne wejście — tylko przy pierwszym wyrenderowaniu */
@media (prefers-reduced-motion: no-preference) {
  .gd-hero__text > * { animation: gd-rise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
  .gd-hero__text > :nth-child(2) { animation-delay: 0.08s; }
  .gd-hero__text > :nth-child(3) { animation-delay: 0.16s; }
  .gd-hero__text > :nth-child(4) { animation-delay: 0.24s; }
  .gd-hero__media { animation: gd-fade 1.4s ease both; }
}

@keyframes gd-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes gd-fade { from { opacity: 0; } to { opacity: 1; } }

/* --- Pasek informacji ----------------------------------------------------- */

.gd-facts {
  border-top: 1px solid var(--gd-crema-faint);
  border-bottom: 1px solid var(--gd-crema-faint);
}

.gd-facts ul {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: var(--gd-max);
  margin: 0 auto;
  padding: 0 var(--gd-gutter);
}

.gd-facts li {
  margin: 0;
  padding: 22px 24px;
  border-left: 1px solid var(--gd-crema-faint);
  font-family: var(--gd-sans);
  font-size: 12px;
  letter-spacing: 0.06em;
  color: var(--gd-crema-dim);
  line-height: 1.5;
}

.gd-facts li:first-child { border-left: 0; padding-left: 0; }

.gd-facts strong {
  display: block;
  font-family: var(--gd-serif);
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--gd-crema);
}

body .wrap .gd-facts a { color: var(--gd-crema-dim); text-decoration: none; border-bottom: 1px solid var(--gd-oro-soft); }
body .wrap .gd-facts a:hover { color: var(--gd-oro); }

/* --- Sekcje ---------------------------------------------------------------- */

.gd-section {
  max-width: var(--gd-max);
  margin: 0 auto;
  padding: clamp(64px, 9vw, 120px) var(--gd-gutter) 0;
}

.gd-section__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 40px;
}

.gd-section__title {
  margin: 0;
  font-family: var(--gd-serif);
  font-weight: 500;
  font-size: clamp(38px, 4.4vw, 64px);
  line-height: 0.95;
  color: var(--gd-crema);
  text-transform: none;
  letter-spacing: 0;
}

.gd-section__title em { font-style: italic; color: var(--gd-oro); }
.gd-section__head .gd-kicker { margin-bottom: 14px; }

/* --- Wyróżnione kategorie: kremowe „talerze” ---------------------------- */

.gd-plates {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: minmax(0, 1fr);
  gap: 16px;
}

.gd-plate {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 300px;
  padding: 22px 24px;
  background: var(--gd-crema);
  color: var(--gd-nero);
  text-decoration: none;
  overflow: hidden;
  isolation: isolate;
}

.gd-plate--lead { grid-column: span 2; grid-row: span 2; min-height: 616px; }

.gd-plate img {
  position: absolute;
  z-index: -1;
  top: 6%;
  left: 50%;
  width: 78%;
  max-width: 360px;
  height: auto;
  transform: translateX(-50%);
  mix-blend-mode: multiply;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.gd-plate--lead img { width: 74%; max-width: 560px; top: 5%; }

.gd-plate:hover img { transform: translateX(-50%) scale(1.04); }

.gd-plate__it {
  display: block;
  font-family: var(--gd-serif);
  font-style: italic;
  font-size: 17px;
  color: var(--gd-vino);
}

.gd-plate__pl {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  font-family: var(--gd-serif);
  font-weight: 600;
  font-size: 28px;
  line-height: 1;
  color: var(--gd-nero);
}

.gd-plate--lead .gd-plate__pl { font-size: 46px; }
.gd-plate--lead .gd-plate__it { font-size: 22px; }

.gd-plate__pl::after {
  content: "→";
  font-family: var(--gd-sans);
  font-weight: 300;
  font-size: 20px;
  transition: transform 0.3s ease;
}

.gd-plate:hover .gd-plate__pl::after { transform: translateX(6px); }

body .wrap a.gd-plate:hover { color: var(--gd-nero); }

/* --- La carta: kategorie jak karta w trattorii ------------------------- */

.gd-carta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px clamp(32px, 4vw, 64px);
  max-width: var(--gd-max);
  margin: 0 auto;
  padding: 0 var(--gd-gutter);
}

.gd-section .gd-carta { padding: 0; }

.gd-carta__group { break-inside: avoid; }

.gd-carta__course {
  margin: 0 0 4px;
  font-family: var(--gd-serif);
  font-style: italic;
  font-weight: 500;
  font-size: 34px;
  line-height: 1;
  color: var(--gd-oro);
  text-transform: none;
  letter-spacing: 0;
}

.gd-carta__course-pl {
  display: block;
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--gd-oro-soft);
  font-family: var(--gd-sans);
  font-size: 10.5px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gd-crema-dim);
}

.gd-carta__list { list-style: none; margin: 0; padding: 0; }
.gd-carta__list li { margin: 0; padding: 0; }

.gd-carta__item {
  display: grid;
  grid-template-columns: auto minmax(16px, 1fr) auto;
  align-items: baseline;
  gap: 10px;
  padding: 8px 0;
  text-decoration: none;
}

body .wrap .gd-carta__item { color: var(--gd-crema); }

.gd-carta__pl {
  font-family: var(--gd-sans);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.01em;
}

.gd-carta__dots {
  height: 1px;
  align-self: end;
  margin-bottom: 0.4em;
  background-image: radial-gradient(circle, var(--gd-oro-soft) 1px, transparent 1.2px);
  background-size: 6px 2px;
  background-repeat: repeat-x;
  background-position: left center;
  min-height: 2px;
}

.gd-carta__it {
  font-family: var(--gd-serif);
  font-style: italic;
  font-size: 17px;
  color: var(--gd-crema-dim);
  white-space: nowrap;
  transition: color 0.2s ease;
}

body .wrap .gd-carta__item:hover .gd-carta__pl,
body .wrap .gd-carta__item:hover .gd-carta__it { color: var(--gd-oro); }

.gd-carta__item--vino .gd-carta__pl { color: #d0707d; }

/* --- Strona główna: chowamy stary układ, pokazujemy nowy ---------------- */

body.gd-home .wrap .breadcrumbs,
body.gd-home .wrap > .top,
body.gd-home .wrap .leftcol,
body.gd-home .wrap #fx-grey-fx-full-gridkat { display: none; }

/* Shoper na mobile daje .main.row margin 0 26px — dublował nasz gutter */
body.gd-home .wrap .main.row { padding: 0; margin: 0; width: auto; }
body.gd-home .wrap .main .innermain {
  max-width: var(--gd-max);
  width: auto;
  margin: 0 auto;
  padding: clamp(64px, 9vw, 120px) var(--gd-gutter) 0;
}
body.gd-home .wrap .main .s-row { margin: 0; }
body.gd-home .wrap .centercol { width: 100%; float: none; padding: 0; margin: 0; }

body.gd-home .wrap #box_mainproducts .boxhead {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 0 0 40px;
  padding: 0;
}

body.gd-home .wrap #box_mainproducts .boxhead h1 {
  margin: 0;
  padding: 0;
  font-size: clamp(38px, 4.4vw, 64px);
  line-height: 0.95;
}

body.gd-home .wrap #box_mainproducts .boxhead h1::before {
  content: "Scelti per voi";
  display: block;
  margin-bottom: 14px;
  font-family: var(--gd-sans);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--gd-oro);
}

/* --- Karty produktów (wszystkie listy produktów w sklepie) --------------- */

body .wrap .products.s-row,
body .wrap .products.viewphot {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 40px 20px;
  margin: 0;
}

body .wrap .products.s-row::before,
body .wrap .products.s-row::after { display: none; }

body .wrap .products .product,
body .wrap .products.viewphot .product.product-main-wrap {
  width: auto;
  float: none;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  text-align: left;
}

/* Shoper na mobile: .rwd .main #box_mainproducts … .product-inner-wrap { padding: 2em } (1,5,0)
   — zwężał talerz ze zdjęciem; ostatni selektor przebija go na poziomie ID (1,5,2) */
body .wrap .products .product-inner-wrap,
body .wrap .products.viewphot .product .product-inner-wrap,
body .wrap .main #box_mainproducts .products.viewphot .product .product-inner-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}

/* jawne 100%: przy aspect-ratio + auto Chrome brał szerokość z wysokości treści (float Shopera) */
body .wrap .products .prodimage,
body .wrap .products.viewphot .product .prodimage {
  box-sizing: border-box;
  width: 100%;
  height: auto;
  max-height: none;
  align-self: stretch;
  display: block;
  margin: 0 0 18px;
  padding: 8%;
  background: var(--gd-crema);
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

body .wrap .products .prodimage .img-wrap { display: block; float: none; width: 100%; height: 100%; padding: 0; margin: 0; background: none; }

body .wrap .products .prodimage img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

body .wrap .products .product:hover .prodimage img { transform: scale(1.04); }

body .wrap .products .prodname { display: block; margin: 0; padding: 0; min-height: 0; height: auto; text-decoration: none; }

/* Shoper: .products.viewphot .product .productname (+ :hover) — przebijamy o jeden poziom */
body .wrap .products .product .productname,
body .wrap .products.viewphot .product .productname,
body .wrap .products.viewphot .product .productname:hover {
  display: block;
  font-family: var(--gd-serif);
  font-weight: 500;
  font-size: 23px;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: none;
  color: var(--gd-crema);
  text-align: left;
  height: auto;
  max-height: none;
}

body .wrap .products .manufacturer {
  order: -1;
  margin: 0 0 6px;
  padding: 0;
  text-align: left;
}

body .wrap .products .manufacturer em { display: none; }

body .wrap .products .manufacturer a.brand {
  font-family: var(--gd-sans);
  font-size: 10.5px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--gd-oro);
  text-decoration: none;
}

/* producent nad nazwą, ale pod zdjęciem */
body .wrap .products .product-inner-wrap .prodimage { order: -2; }

body .wrap .products .product__basket { margin-top: auto; padding-top: 14px; }

body .wrap .products .price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 10px;
  margin: 0 0 14px;
  padding: 0;
  text-align: left;
}

body .wrap .products .price > span { display: none; }
body .wrap .products .price p { margin: 0; }
body .wrap .products .price__additional-info:empty { display: none; }

body .wrap .products .price em {
  font-family: var(--gd-serif);
  font-style: italic;
  font-weight: 500;
  font-size: 24px;
  color: var(--gd-crema);
}

/* „Cena regularna:” chowa napis, zostaje przekreślona kwota obok ceny */
body .wrap .products .price__regular,
body .wrap .price.price_extended .price__regular {
  margin: 0;
  font-size: 0;
  line-height: 1;
}
body .wrap .products .price del,
body .wrap .products .price__regular del,
body .wrap .price.price_extended .price__regular del {
  font-family: var(--gd-sans);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: var(--gd-crema-dim);
  text-decoration: line-through;
  margin-left: 0;
}

body .wrap .products .buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin: 0;
  padding: 0;
  text-align: left;
}

body .wrap .products .buttons form,
body .wrap .products .buttons fieldset { margin: 0; padding: 0; border: 0; width: 100%; }

body .wrap .products .buttons fieldset { display: flex; align-items: stretch; gap: 0; }

body .wrap .products .shaded_inputwrap { margin: 0; padding: 0; background: none; border: 0; }

body .wrap .products .buttons input[name="quantity"] {
  width: 46px;
  height: 44px;
  padding: 0;
  text-align: center;
  font-size: 14px;
  border: 1px solid var(--gd-oro-soft);
  border-right: 0;
}

body .wrap .products .buttons .unit { display: none; }

body .wrap .products .buttons .addtobasket,
body .wrap .products .buttons .availability-notifier-btn {
  flex: 1;
  height: 44px;
  margin: 0;
  padding: 0 14px;
  font-size: 10.5px;
  line-height: 42px;
  width: auto;
}

body .wrap .products .buttons .availability-notifier-btn {
  width: 100%;
  height: auto;
  min-height: 44px;
  padding: 8px 10px;
  line-height: 1.35;
  white-space: normal;
  background: transparent;
  color: var(--gd-crema);
  border-color: var(--gd-crema-faint);
}

body .wrap .products .buttons .availability-notifier-btn:hover {
  background: transparent;
  border-color: var(--gd-oro);
  color: var(--gd-oro);
}

body .wrap .products.viewphot .product .buttons .quickview,
body .wrap .products .product .buttons .quickview {
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0 0 3px;
  line-height: 1.4;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--gd-oro-soft);
}

body .wrap .products.viewphot .product .buttons .quickview span,
body .wrap .products .product .buttons .quickview span {
  font-family: var(--gd-sans);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gd-crema-dim);
}

body .wrap .products.viewphot .product .buttons .quickview:hover { background: none; border-bottom-color: var(--gd-oro); }
body .wrap .products.viewphot .product .buttons .quickview:hover span { color: var(--gd-oro); }

body .wrap .products.viewphot .product:hover .productname { color: var(--gd-oro); }

/* --- Katalog prezentowy --------------------------------------------------- */

.gd-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  background: var(--gd-carbone);
}

.gd-story__media { position: relative; margin: 0; min-height: 520px; overflow: hidden; }

.gd-story__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 60%;
}

.gd-story__text {
  align-self: center;
  padding: clamp(48px, 7vw, 104px);
}

.gd-story__text p {
  max-width: 38ch;
  margin: 24px 0 36px;
  font-family: var(--gd-sans);
  font-weight: 300;
  font-size: 16px;
  line-height: 1.65;
  color: var(--gd-crema-dim);
}

/* --- Producenci ----------------------------------------------------------- */

.gd-producers { padding-bottom: 8px; }

.gd-producers__track {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gd-producers__track li { margin: 0; padding: 0; }

.gd-producers__track a {
  display: inline-block;
  font-family: var(--gd-serif);
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
}

body .wrap .gd-producers__track a { color: var(--gd-crema-dim); }
body .wrap .gd-producers__track li:nth-child(3n + 2) a { font-style: italic; }
body .wrap .gd-producers__track a:hover { color: var(--gd-oro); }

.gd-producers__track li:not(:last-child)::after {
  content: "·";
  margin: 0 0.55em;
  font-family: var(--gd-serif);
  font-size: 26px;
  color: var(--gd-oro);
}

/* --- Newsletter ------------------------------------------------------------- */

body .wrap .bottom-footer {
  margin-top: clamp(72px, 10vw, 136px);
  background: var(--gd-nero);
  border-top: 1px solid var(--gd-crema-faint);
}

body .wrap .bottom-footer .box,
body .wrap #box_newsletter { background: none; padding: 0; margin: 0; }

body .wrap #box_newsletter {
  box-sizing: border-box;
  width: auto;
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(56px, 7vw, 88px) var(--gd-gutter);
  text-align: center;
}

body .wrap #box_newsletter .boxhead,
body .wrap #box_newsletter .boxhead span {
  font-size: clamp(34px, 3.6vw, 48px);
  font-style: italic;
  color: var(--gd-crema);
  padding: 0;
  margin: 0 0 12px;
}

body .wrap #box_newsletter .boxintro {
  margin: 0 auto 30px;
  font-family: var(--gd-sans);
  font-weight: 300;
  font-size: 15px;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--gd-crema-dim);
}

body .wrap #box_newsletter .newsletter-input-container {
  display: flex;
  max-width: 520px;
  margin: 0 auto;
  padding: 0;
  border: 0;
}

body .wrap #box_newsletter .newsletter-input {
  flex: 1;
  height: 52px;
  padding: 0 18px;
  border: 1px solid var(--gd-crema-faint);
  border-right: 0;
  font-size: 14px;
}

body .wrap #box_newsletter .newsletter-input:focus { border-color: var(--gd-oro); outline: 0; }

/* Shoper: .bottom-footer .box#box_newsletter .btn (czarny) */
body .wrap .bottom-footer .box#box_newsletter .btn.btn-red,
body .wrap .box#box_newsletter .btn.btn-red {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: 52px;
  padding: 0 28px;
  margin: 0;
  background: var(--gd-oro);
  border-color: var(--gd-oro);
}

body .wrap .bottom-footer .box#box_newsletter .btn.btn-red:hover { background: var(--gd-crema); border-color: var(--gd-crema); }
body .wrap .bottom-footer .box#box_newsletter .btn img { display: none; }
body .wrap .bottom-footer .box#box_newsletter .btn span { display: inline; padding: 0; color: var(--gd-nero); }

/* --- Stopka ----------------------------------------------------------------- */

body .wrap footer.footer {
  background: #080706;
  border-top: 1px solid var(--gd-crema-faint);
  color: var(--gd-crema-dim);
}

body .wrap footer.footer .innerfooter {
  max-width: var(--gd-max);
  width: auto;
  margin: 0 auto;
  padding: 64px var(--gd-gutter) 56px;
  background: none;
}

body .wrap footer.footer ul.overall { display: flex; flex-wrap: wrap; gap: 40px 24px; margin: 0; padding: 0; list-style: none; }
body .wrap footer.footer li.overall { flex: 1 1 160px; margin: 0; padding: 0; width: auto; list-style: none; }
body .wrap footer.footer li.overall ul { margin: 0; padding: 0; list-style: none; }
body.gd-on .wrap footer.footer li { list-style: none; }

body .wrap footer.footer .head,
body .wrap footer.footer .head.hidden {
  display: block;
  margin: 0 0 16px;
  font-family: var(--gd-sans);
  font-size: 10.5px;
  font-weight: 400;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gd-oro);
}

body .wrap footer.footer li a {
  display: inline-block;
  padding: 4px 0;
  font-family: var(--gd-sans);
  font-size: 14px;
  letter-spacing: 0.01em;
  text-transform: none;
  text-decoration: none;
  color: var(--gd-crema-dim);
}

body .wrap footer.footer li a:hover { color: var(--gd-oro); }
body .wrap footer.footer li a img { display: none; }

body .wrap footer.footer .footer-group-social-media ul { display: flex; gap: 14px; }
body .wrap footer.footer .social-media-icon { width: 24px; height: 24px; transform: none !important; }
body .wrap footer.footer .social-media-icon svg { width: 24px; height: 24px; }
body .wrap footer.footer .social-media-icon svg path,
body .wrap footer.footer .social-media-icon svg g path { fill: var(--gd-crema-dim) !important; transition: fill 0.2s ease; }
body .wrap footer.footer .social-media-icon:hover svg path { fill: var(--gd-oro) !important; }

.gd-footer-sign {
  max-width: var(--gd-max);
  margin: 0 auto;
  padding: 28px var(--gd-gutter) 36px;
  border-top: 1px solid var(--gd-crema-faint);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  font-family: var(--gd-sans);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gd-crema-dim);
}

.gd-footer-sign em {
  font-family: var(--gd-serif);
  font-size: 22px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--gd-oro);
}

/* przycisk „do góry” — kwadrat ze strzałką, nie złoty przycisk w treści */
html body.gd-on .up {
  position: fixed;
  right: 18px;
  bottom: 78px;
  left: auto !important;
  z-index: 50;
  width: auto !important;
  margin: 0;
}
body .wrap .up a.btn {
  position: relative;
  width: 44px;
  height: 44px;
  line-height: 44px;
  padding: 0;
  overflow: hidden;
  background: var(--gd-carbone);
  color: var(--gd-oro);
  border: 1px solid var(--gd-oro-soft);
}
body .wrap .up a.btn span,
body .wrap .up a.btn img,
body .wrap .up a.btn .fa { display: none !important; }
body .wrap .up a.btn::before {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: 16px auto 0;
  border-top: 1.5px solid var(--gd-oro);
  border-left: 1.5px solid var(--gd-oro);
  transform: rotate(45deg);
}

html body #cookie {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 400;
  background: var(--gd-carbone);
  color: var(--gd-crema-dim);
  border-top: 1px solid var(--gd-oro-soft);
  padding: 14px 0;
}
html body #cookie .pagewidth {
  max-width: var(--gd-max);
  margin: 0 auto;
  padding: 0 var(--gd-gutter);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-family: var(--gd-sans);
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 1.45;
}
html body #cookie .close {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--gd-oro);
  font-size: 0;
}
html body #cookie .close::before {
  content: "×";
  font-family: var(--gd-sans);
  font-size: 22px;
  line-height: 1;
  color: var(--gd-oro);
}
body.gd-on { padding-bottom: 64px; }

/* --- Podstrony: chowamy szum Shopera, pełna szerokość ----------------------- */

body.gd-on .wrap img.px1 { display: none; }
body.gd-on .wrap .leftcol,
body.gd-on #box_specialoffer,
body.gd-on #box_productoftheday,
body.gd-on #box_facebooklike,
body.gd-on #box_facebookchat,
body.gd-on .fb_buttons { display: none !important; }

body.gd-on:not(.gd-home) .wrap .main.row {
  padding: 0;
  margin: 0;
  width: auto;
  float: none;
}
body.gd-on:not(.gd-home) .wrap .main .innermain {
  max-width: none;
  width: auto;
  margin: 0;
  padding: 0;
}
body.gd-on:not(.gd-home) .wrap .centercol {
  width: 100% !important;
  float: none !important;
  max-width: var(--gd-max);
  margin: 0 auto;
  padding: 28px var(--gd-gutter) 96px;
}

body .wrap .breadcrumbs { background: var(--gd-nero); border-bottom: 1px solid var(--gd-crema-faint); }
body .wrap .breadcrumbs,
body .wrap .breadcrumbs a,
body .wrap .breadcrumbs span {
  font-family: var(--gd-sans);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gd-crema-dim);
}

body .wrap .paginator {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin: 40px 0 8px;
  padding: 0;
  font-family: var(--gd-sans);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
body .wrap .paginator a,
body .wrap .paginator span { color: var(--gd-crema-dim); }
body .wrap .paginator .current,
body .wrap .paginator a:hover { color: var(--gd-oro); }

/* --- Karta produktu ------------------------------------------------------- */

body.shop_product #box_productfull { background: none; border: 0; }
body.shop_product #box_productfull .boxhead {
  margin: 0 0 28px;
  padding: 0;
}
body.shop_product #box_productfull .boxhead h1.name {
  font-family: var(--gd-serif);
  font-weight: 500;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  color: var(--gd-crema);
}
body.shop_product .gd-product-brand {
  display: inline-block;
  margin: 0 0 12px;
  font-family: var(--gd-sans);
  font-size: 11px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--gd-oro);
  text-decoration: none;
}
body.shop_product .gd-product-brand:hover { color: var(--gd-crema); }
body.shop_product .addtofav { display: none !important; }
body.shop_product #box_productfull .product-main-box,
body.shop_product #box_productfull .maininfo,
body.shop_product #box_productfull .f-row {
  display: block;
  float: none;
  width: auto;
  background: none;
  border: 0;
}
body.shop_product #box_productfull .f-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px 56px;
  align-items: start;
}
body.shop_product #box_productfull .productimg,
body.shop_product #box_productfull .f-grid-6 {
  float: none;
  width: auto;
  max-width: none;
  padding: 0;
}
body.shop_product #box_productfull .productimg {
  background: var(--gd-crema);
  aspect-ratio: 1 / 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 8%;
}
body.shop_product #box_productfull .mainimg { margin: 0; padding: 0; background: none; }
body.shop_product #box_productfull .mainimg img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
body.shop_product #box_productfull .smallgallery { margin-top: 16px; }
body.shop_product #box_productfull .smallgallery ul { display: flex; gap: 8px; flex-wrap: wrap; }
body.shop_product #box_productfull .smallgallery li { margin: 0; padding: 0; background: var(--gd-crema); }
body.shop_product #box_productfull .smallgallery img {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
body.shop_product #box_productfull .manufacturer {
  order: -1;
  margin: 0 0 10px;
}
body.shop_product #box_productfull .manufacturer em { display: none; }
body.shop_product #box_productfull .manufacturer a.brand {
  font-family: var(--gd-sans);
  font-size: 11px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--gd-oro);
  text-decoration: none;
}
body.shop_product #box_productfull .manufacturer img { display: none; }
body.shop_product #box_productfull .price {
  margin: 8px 0 22px;
  padding: 0;
  background: none;
  border: 0;
}
body.shop_product #box_productfull .price-name { display: none; }
body.shop_product #box_productfull .main-price {
  font-family: var(--gd-serif);
  font-style: italic;
  font-size: 36px;
  font-weight: 500;
  color: var(--gd-crema);
}
body.shop_product #box_productfull .addtobasket,
body.shop_product #box_productfull .availability-notifier-btn {
  min-height: 50px;
  padding: 0 28px;
  font-size: 11px;
}
body.shop_product #box_productfull .availability-notifier-btn {
  background: transparent;
  color: var(--gd-crema);
  border-color: var(--gd-crema-faint);
}
body.shop_product #box_productfull .quantity_wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  font-family: var(--gd-sans);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gd-crema-dim);
}
body.shop_product #box_productfull input[name="quantity"] {
  width: 64px;
  height: 44px;
  text-align: center;
  background: transparent;
  color: var(--gd-crema);
  border: 1px solid var(--gd-crema-faint);
}
body.shop_product #box_productfull .addtofav,
body.shop_product #box_productfull .mailfriend,
body.shop_product #box_productfull .links-q a {
  font-family: var(--gd-sans);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gd-crema-dim);
}
body.shop_product #box_description,
body.shop_product #box_productrelated { background: none; border: 0; margin-top: 56px; }
body.shop_product #box_description .boxhead h3,
body.shop_product #box_productrelated .boxhead h3 {
  font-family: var(--gd-serif);
  font-style: italic;
  font-weight: 500;
  font-size: 32px;
  color: var(--gd-crema);
}
body.shop_product #box_description .innerbox,
body.shop_product #box_description .resetcss {
  font-family: var(--gd-sans);
  font-weight: 300;
  font-size: 16px;
  line-height: 1.65;
  color: var(--gd-crema-dim);
  max-width: 68ch;
}
body.shop_product #box_description h2,
body.shop_product #box_description .h3 {
  font-family: var(--gd-serif);
  font-weight: 500;
  font-size: 22px;
  color: var(--gd-crema);
  margin: 18px 0 8px;
}
body.shop_product #box_productrelated .innerbox {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px 20px;
}
body.shop_product #box_productrelated .product {
  float: none !important;
  width: auto !important;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
body.shop_product #box_productrelated .product::before {
  content: attr(data-producer);
  order: -1;
  margin: 0 0 6px;
  font-family: var(--gd-sans);
  font-size: 10.5px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--gd-oro);
}
body.shop_product #box_productrelated .f-row,
body.shop_product #box_productrelated .f-row > div {
  display: contents;
}
body.shop_product #box_productrelated h3.rwd-show-medium { display: none !important; }
body.shop_product #box_productrelated a.details.f-grid-2 {
  order: -2;
  display: flex;
  align-items: center;
  justify-content: center;
  float: none !important;
  width: auto !important;
  margin: 0 0 16px;
  padding: 10%;
  background: var(--gd-crema);
  aspect-ratio: 1;
  overflow: hidden;
}
body.shop_product #box_productrelated a.details.f-grid-2 img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
  background: transparent;
}
body.shop_product #box_productrelated .f-grid-6,
body.shop_product #box_productrelated .f-grid-4 {
  float: none !important;
  width: auto !important;
  max-width: none;
  margin: 0;
  padding: 0;
  text-align: left !important;
}
body.shop_product #box_productrelated .f-grid-4 { margin-top: auto; }
body.shop_product #box_productrelated .description { display: none; }
body.shop_product #box_productrelated .productname {
  font-family: var(--gd-serif) !important;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.15;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--gd-crema) !important;
  display: block;
  margin: 0 0 10px;
  text-decoration: none;
}
body.shop_product #box_productrelated .price {
  margin: 0 0 14px;
  padding: 0;
  background: none;
  border: 0;
  text-align: left;
}
body.shop_product #box_productrelated .label-price { display: none; }
body.shop_product #box_productrelated .price,
body.shop_product #box_productrelated .price em {
  color: var(--gd-crema);
  font-family: var(--gd-serif);
  font-style: italic;
  font-weight: 500;
  font-size: 22px;
}
body.shop_product #box_productrelated .addtobasket {
  width: 100%;
  height: 44px;
  margin: 0;
}
body.shop_product #box_productrelated img.px1 { display: none !important; }
body.shop_product .mailfriend { display: none !important; }
body.shop_login .shoper_sso__logo_light { display: none; }
body.shop_login .social-login-buttons h3 { margin-bottom: 16px; }
body.shop_login .social-login-buttons a.btn {
  background: transparent !important;
  color: var(--gd-crema) !important;
  border: 1px solid var(--gd-crema-faint) !important;
  height: 44px;
  letter-spacing: 0.14em;
}
body.shop_login .social-login-buttons a.btn:hover {
  border-color: var(--gd-oro) !important;
  color: var(--gd-oro) !important;
}

/* --- Koszyk --------------------------------------------------------------- */

body.shop_basket .wrap .centercol { max-width: 920px; }
html body.shop_basket .wrap .main .box,
html body.shop_basket .wrap .main .innerbox,
html body.shop_basket .wrap .centercol,
html body.gd-on .alert,
html body.gd-on .alert-info {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--gd-crema) !important;
}
.gd-empty {
  max-width: 520px;
  margin: 72px auto 96px;
  text-align: center;
  padding: 0 var(--gd-gutter);
}
.gd-empty .gd-kicker { display: block; margin-bottom: 12px; }
.gd-empty__title {
  font-family: var(--gd-serif);
  font-weight: 500;
  font-size: clamp(32px, 4vw, 48px);
  color: var(--gd-crema);
  margin: 0 0 12px;
}
.gd-empty__text {
  font-family: var(--gd-sans) !important;
  font-size: 16px !important;
  font-weight: 300;
  color: var(--gd-crema-dim) !important;
  margin: 0 0 32px !important;
  padding: 0 !important;
  text-align: center !important;
}
.gd-empty .gd-btn { margin: 0 auto; }

/* napełniony koszyk = checkout (dostawa i płatność w koszyku) */
body.shop_basket #box_basketlist { background: none; border: 0; }
body.shop_basket #box_basketlist .boxhead h3 {
  font-family: var(--gd-serif);
  font-weight: 500;
  font-size: clamp(28px, 3vw, 40px);
  color: var(--gd-crema);
}
body.shop_basket table.productlist {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0 32px;
}
body.shop_basket table.productlist td,
body.shop_basket table.productlist th {
  border-bottom: 1px solid var(--gd-crema-faint);
  padding: 16px 10px;
  background: none;
  color: var(--gd-crema);
  vertical-align: middle;
}
body.shop_basket table.productlist img { max-width: 72px; height: auto; mix-blend-mode: multiply; background: var(--gd-crema); }
body.shop_basket #cart-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 48px;
  margin: 24px 0;
}
body.shop_basket .delivery-container h5,
body.shop_basket .payment-container h5 {
  font-family: var(--gd-sans);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gd-oro);
  margin: 0 0 16px;
}
body.shop_basket .delivery,
body.shop_basket .payment {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--gd-crema-faint);
}
body.shop_basket .delivery.selected,
body.shop_basket .payment.selected { color: var(--gd-crema); }
body.shop_basket .summary-container {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--gd-crema-faint);
}
body.shop_basket .important.order.btn {
  min-height: 52px;
  padding: 0 32px;
  margin-top: 20px;
}
body.shop_basket .add-optional,
body.shop_basket .checkbox-wrap { color: var(--gd-crema-dim); font-size: 13px; }

@media (max-width: 767px) {
  body.shop_basket #cart-options { grid-template-columns: 1fr; }
}
body.shop_basket .wrap table,
body.shop_basket .wrap .baskettable {
  width: 100%;
  border-collapse: collapse;
  color: var(--gd-crema);
}
body.shop_basket .wrap table th,
body.shop_basket .wrap table td {
  border-bottom: 1px solid var(--gd-crema-faint);
  padding: 14px 8px;
  text-align: left;
  background: none;
}

/* --- Logowanie ------------------------------------------------------------ */

body.shop_login #box_login,
body.shop_login_register #box_register,
body.shop_login_register #box_login {
  background: none;
  border: 0;
  max-width: 440px;
  margin: 48px auto 88px;
  display: block;
  float: none;
}
body.shop_login #box_login .innerbox,
body.shop_login_register #box_register .innerbox,
body.shop_login_register form { display: block; float: none; width: auto; }
body.shop_login #box_login .f-row,
body.shop_login #box_login .f-grid-6,
body.shop_login_register .login-label,
body.shop_login_register .input,
body.shop_login_register .shaded_inputwrap {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0;
  margin-right: 0;
}
body.shop_login .btn-login-shoper_sso,
body.shop_login_register .btn-login-shoper_sso,
body.shop_login .shoper_sso__logo,
body.shop_login_register .shoper_sso__logo { display: none !important; }

body.shop_login #box_login h3,
body.shop_login #box_login .login-head,
body.shop_login #box_login .register-head,
body.shop_login_register h3,
body.shop_login_register .login-head,
body.shop_login_register .register-head {
  font-family: var(--gd-serif);
  font-weight: 500;
  font-size: 32px;
  color: var(--gd-crema);
  margin: 0 0 18px;
}
body.shop_login .social-login-buttons h3,
body.shop_login_register .social-login-buttons h3 {
  font-family: var(--gd-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--gd-oro);
  margin: 0 0 12px !important;
}
body.shop_login #box_login label,
body.shop_login_register label {
  display: block;
  margin: 14px 0 6px;
  font-family: var(--gd-sans);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gd-crema-dim);
}
body.shop_login #box_login input[type="text"],
body.shop_login #box_login input[type="password"],
body.shop_login_register input[type="text"],
body.shop_login_register input[type="password"],
body.shop_login_register input[type="email"] {
  width: 100%;
  height: 48px;
  padding: 0 14px;
}
body.shop_login .social-login-buttons,
body.shop_login_register .social-login-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
  border: 0 !important;
}
body.shop_login .social-login-buttons h3,
body.shop_login_register .social-login-buttons h3 { flex: 1 0 100%; }
body.shop_login .gd-soc,
body.shop_login_register .gd-soc,
body.shop_login .social-login-buttons a.btn.gd-soc,
body.shop_login_register .social-login-buttons a.btn.gd-soc {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 44px;
  padding: 0 18px 0 14px;
  margin: 0 8px 8px 0;
  background: transparent !important;
  color: var(--gd-crema) !important;
  border: 1px solid var(--gd-crema-faint) !important;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  flex: 1 1 calc(50% - 8px);
  justify-content: center;
  margin: 0;
  box-sizing: border-box;
}
body.shop_login .gd-soc::before,
body.shop_login_register .gd-soc::before {
  content: "";
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
  flex-shrink: 0;
}
body.shop_login .gd-soc--fb::before,
body.shop_login_register .gd-soc--fb::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23efe6d6'><path d='M14 8h3V4h-3c-2.8 0-5 2.2-5 5v2H6v4h3v8h4v-8h3l1-4h-4V9c0-.6.4-1 1-1z'/></svg>");
}
body.shop_login .gd-soc--gg::before,
body.shop_login_register .gd-soc--gg::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23efe6d6' d='M21.6 12.3c0-.8-.1-1.6-.2-2.3H12v4.4h5.4c-.2 1.2-.9 2.2-2 2.9v2.4h3.2c1.9-1.7 3-4.3 3-7.4z'/><path fill='%23c9a25a' d='M12 22c2.7 0 5-0.9 6.6-2.4l-3.2-2.4c-.9.6-2 .9-3.4.9-2.6 0-4.8-1.8-5.6-4.1H3.1v2.5C4.7 19.6 8.1 22 12 22z'/><path fill='%23efe6d6' d='M6.4 13.9c-.2-.6-.3-1.2-.3-1.9s.1-1.3.3-1.9V7.6H3.1C2.4 9 2 10.5 2 12s.4 3 1.1 4.4l3.3-2.5z'/><path fill='%23c9a25a' d='M12 5.9c1.5 0 2.8.5 3.8 1.5l2.9-2.9C17 1.9 14.7 1 12 1 8.1 1 4.7 3.4 3.1 7.6l3.3 2.5C7.2 7.7 9.4 5.9 12 5.9z'/></svg>");
}
body.shop_login .btn-login-facebook::before,
body.shop_login .btn-login-google::before,
body.shop_login_register .btn-login-facebook::before,
body.shop_login_register .btn-login-google::before { display: none; }

/* „albo” między social a formularzem */
body.shop_login .login-head,
body.shop_login_register #box_register > form > fieldset > h3 {
  position: relative;
  margin-top: 20px !important;
  padding-top: 28px;
}
body.shop_login .login-head::before,
body.shop_login_register #box_register > form > fieldset > h3::before {
  content: "albo";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 0 14px;
  background: var(--gd-nero);
  z-index: 1;
  font-family: var(--gd-sans);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--gd-oro);
}
body.shop_login .login-head::after,
body.shop_login_register #box_register > form > fieldset > h3::after {
  content: "";
  position: absolute;
  top: 6px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--gd-crema-faint);
}

body.shop_login em.color,
body.shop_login_register em.color {
  color: var(--gd-oro) !important;
  font-style: normal;
  font-family: var(--gd-sans);
  letter-spacing: 0;
  font-size: 13px;
  margin-right: 4px;
}
body.shop_login button.login,
body.shop_login button.register,
body.shop_login_register button.register {
  display: block;
  width: 100% !important;
  height: 48px !important;
  margin-top: 18px;
  float: none !important;
}
body.shop_login .register-inner {
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--gd-crema-faint);
}
body.shop_login .register-head { font-size: 26px !important; margin-bottom: 14px !important; }
body.shop_login button.register,
body.shop_login button.register:hover {
  background: transparent;
  color: var(--gd-crema);
  border-color: var(--gd-crema-faint);
}
body.shop_login button.register:hover {
  border-color: var(--gd-oro);
  color: var(--gd-oro);
}
body.shop_login a[href*="passremind"] {
  display: inline-block;
  margin-top: 16px;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: none;
  text-decoration: none;
  color: var(--gd-crema-dim);
}
body.shop_login a[href*="passremind"]:hover { color: var(--gd-oro); }

body.shop_login_register .input:has(.checkbox-wrap),
body.shop_login_register .input:has(.radio-wrap) {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  width: auto !important;
  margin-top: 14px;
}
body.shop_login_register .input:has(.checkbox-wrap) > label,
body.shop_login_register .input:has(.radio-wrap) > label {
  margin: 0;
  letter-spacing: 0.02em;
  text-transform: none;
  font-size: 14px;
  line-height: 1.45;
  color: var(--gd-crema-dim);
}

body.shop_login_register input[type="checkbox"],
body.shop_login_register input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  margin: 0 8px 0 0;
  border: 1px solid var(--gd-oro);
  background: transparent;
  vertical-align: middle;
  box-shadow: none;
}
body.shop_login_register input[type="radio"] { border-radius: 50%; }
body.shop_login_register input[type="checkbox"]:checked,
body.shop_login_register input[type="radio"]:checked {
  background: var(--gd-oro);
  box-shadow: inset 0 0 0 3px var(--gd-nero);
}
body.shop_login_register [id^="hint_"],
body.shop_login_register .desc { color: var(--gd-crema-dim); font-size: 12px; letter-spacing: 0; text-transform: none; }
body.shop_login_register h4.separator {
  margin: 32px 0 16px;
  padding: 0;
  border: 0;
  background: none;
  font-family: var(--gd-serif);
  font-weight: 500;
  font-size: 26px;
  color: var(--gd-crema);
}

@media (max-width: 900px) {
  body.shop_login #box_login,
  body.shop_login_register #box_register {
    margin-top: 28px;
  }
}

/* --- Strony informacyjne -------------------------------------------------- */

body.shop_infopage .box_infopage { background: none; border: 0; }
body.shop_infopage .box_infopage .innerbox,
body.shop_infopage .resetcss {
  max-width: 68ch;
  margin: 0 auto;
  font-family: var(--gd-sans);
  font-weight: 300;
  font-size: 17px;
  line-height: 1.7;
  color: var(--gd-crema-dim);
}
body.shop_infopage .box_infopage .innerbox img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto 28px;
}
body.shop_infopage .box_infopage strong { color: var(--gd-crema); font-weight: 500; }

.gd-story { min-height: 0; }
body.gd-home .wrap .main { padding-bottom: 8px; }

/* --- Responsywność ---------------------------------------------------------- */

@media (max-width: 1180px) {
  .gd-nav__list { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
  .gd-nav__list::-webkit-scrollbar { display: none; }
  .gd-carta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .wrap .products.s-row,
  body .wrap .products.viewphot { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  body.gd-on .wrap header .logo-bar { grid-template-columns: 1fr auto 1fr; padding-top: 12px; padding-bottom: 12px; }
  body.gd-on .wrap #logo-bar__middle { width: 96px; height: 96px; }
  body.gd-on .wrap header .search__container { display: none; }
  body.gd-on.gd-search-open .wrap header .search__container {
    display: block !important;
    width: 100%;
    max-width: none;
    padding: 8px var(--gd-gutter) 16px;
  }
  body.gd-on .wrap .login-bar { display: none; }

  .gd-hero { grid-template-columns: 1fr; min-height: 0; }
  .gd-hero__media {
    order: -1;
    height: 58vw;
    min-height: 280px;
    max-height: 460px;
    height: 80vw;
    max-height: 420px;
    -webkit-mask-image: linear-gradient(to bottom, #000 62%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 62%, transparent 100%);
  }
  /* kadr mocno w prawo: napis wtopiony w obecny baner wypada poza obraz */
  .gd-hero__media img { object-position: var(--gd-hero-focus-mobile, 86% 30%); }
  .gd-hero__text { padding: 0 var(--gd-gutter) 56px; margin-top: -40px; }

  .gd-facts ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gd-facts li:nth-child(3) { border-left: 0; padding-left: 0; }
  .gd-facts li:nth-child(n + 3) { border-top: 1px solid var(--gd-crema-faint); }

  .gd-plates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gd-plate--lead { min-height: 440px; }

  .gd-story { grid-template-columns: 1fr; }
  .gd-story__media { min-height: 360px; }
}

@media (min-width: 981px) {
  html body.gd-on header ul.menu-mobile,
  html body.gd-on header ul.gd-mobile-bar { display: none !important; }
}

@media (max-width: 980px) {
  /* pasek ikon: menu / szukaj / konto / koszyk — tam, gdzie chowa się desktopowy search */
  html body.gd-on .wrap header .logo-bar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center;
    gap: 0;
    background: var(--gd-nero);
  }
  html body.gd-on .wrap #logo-bar__middle {
    order: 1;
    width: 96px !important;
    height: 96px !important;
    margin: 10px 0 6px;
  }
  html body.gd-on .wrap #logo-bar__left { width: 100% !important; order: 3; }
  html body.gd-on .wrap #logo-bar__right { display: none !important; }

  html body.gd-on header ul.menu-mobile,
  html body.gd-on header ul.gd-mobile-bar,
  html body.gd-on header ul.menu-mobile.gd-mobile-bar {
    display: flex !important;
    order: 2;
    grid-column: 1 / -1;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--gd-crema-faint);
  }
  html body.gd-on header ul.menu-mobile li,
  html body.gd-on header ul.gd-mobile-bar li {
    flex: 1;
    margin: 0;
    padding: 0;
    list-style: none;
    background: none;
    border: 0;
  }
  html body.gd-on header ul.menu-mobile a,
  html body.gd-on header ul.gd-mobile-bar a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 52px;
    font-size: 0 !important;
    color: transparent;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
  }
  html body.gd-on header ul.menu-mobile a::before,
  html body.gd-on header ul.menu-mobile a::after,
  html body.gd-on header ul.gd-mobile-bar a::before,
  html body.gd-on header ul.gd-mobile-bar a::after {
    content: none !important;
    background: none !important;
  }
  html body.gd-on header ul.menu-mobile .small-menu a,
  html body.gd-on header ul.gd-mobile-bar .small-menu a {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23efe6d6' stroke-width='1.6'><path d='M4 7h16M4 12h16M4 17h16'/></svg>");
  }
  html body.gd-on header ul.menu-mobile .small-search a,
  html body.gd-on header ul.gd-mobile-bar .small-search a {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23efe6d6' stroke-width='1.6'><circle cx='11' cy='11' r='6.5'/><path d='M16 16l5 5'/></svg>");
  }
  html body.gd-on header ul.menu-mobile .small-panel a,
  html body.gd-on header ul.gd-mobile-bar .small-panel a {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23efe6d6' stroke-width='1.6'><circle cx='12' cy='8' r='3.2'/><path d='M5 19c.8-3.2 3.4-5 7-5s6.2 1.8 7 5'/></svg>");
  }
  html body.gd-on header ul.menu-mobile .small-cart a,
  html body.gd-on header ul.gd-mobile-bar .small-cart a {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23efe6d6' stroke-width='1.6'><path d='M6 7h15l-1.4 8.2a2 2 0 0 1-2 1.6H9.2a2 2 0 0 1-2-1.7L5.2 4H3'/><circle cx='10' cy='20' r='1.3'/><circle cx='17' cy='20' r='1.3'/></svg>");
  }

  body.shop_product #box_productfull .f-row { grid-template-columns: 1fr; gap: 28px; }
  body.shop_product #box_productrelated .innerbox { grid-template-columns: 1fr 1fr; }

  .gd-nav__link, .gd-nav__toggle { height: 46px; font-size: 11px; }
  .gd-carta { grid-template-columns: 1fr; gap: 40px; }
  .gd-mega { max-height: 70vh; }

  .gd-section__head { flex-direction: column; align-items: flex-start; margin-bottom: 28px; }

  .gd-plates { grid-template-columns: 1fr 1fr; grid-auto-rows: auto; gap: 10px; }
  .gd-plate { min-height: 220px; padding: 16px; }
  .gd-plate--lead { grid-column: span 2; grid-row: auto; min-height: 380px; }
  .gd-plate__pl { font-size: 22px; }
  .gd-plate--lead .gd-plate__pl { font-size: 36px; }
  .gd-plate__it { font-size: 15px; }

  body .wrap .products.s-row,
  body .wrap .products.viewphot { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 12px; }
  body .wrap .products.viewphot .product .productname { font-size: 19px; }
  body .wrap .products.viewphot .product .prodimage { padding: 5%; margin-bottom: 14px; }
  body .wrap .products .buttons input[name="quantity"] { display: none; }

  .gd-facts li { padding: 16px 12px; }
  .gd-facts strong { font-size: 18px; }

  .gd-footer-sign { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .gd-plate img,
  body .wrap .products .prodimage img,
  .gd-nav__link::after,
  .gd-nav__toggle::after { transition: none; }
}

/* --- Twarde przebicie stylów Shopera (żywy CSS sklepu jest bardzo konkretny) */

html body.gd-on .wrap header .logo-bar {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  float: none !important;
  height: auto !important;
}
html body.gd-on .wrap header .menu-list,
html body.gd-on .wrap header ul.menu-list,
html body.gd-on .wrap header .home-link-menu-li { display: none !important; }
html body.gd-on .wrap #logo-bar__middle {
  width: 128px !important;
  height: 128px !important;
  position: static !important;
  transform: none !important;
}
html body.gd-on .wrap #logo-bar__middle img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
}
html body.gd-on .wrap header .search__input-area,
html body.gd-on .wrap header input.search__input {
  background: transparent !important;
  box-shadow: none !important;
}
html body.gd-on .wrap header .search__input-area { border-bottom: 1px solid var(--gd-crema-faint) !important; }

html body.gd-on .bottest,
html body.gd-on .none:not(#cookie) { display: none !important; }
html body.gd-on #turn-classic,
html body.gd-on .info-message,
html body.gd-on .center:has(#turn-classic) { display: none !important; }

html body.shop_product #box_productfull .f-row {
  display: flex !important;
  flex-wrap: wrap;
  gap: 48px 56px !important;
  align-items: flex-start !important;
}
html body.shop_product #box_productfull .productimg,
html body.shop_product #box_productfull .f-row > .f-grid-6 {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  flex: 1 1 280px;
}
html body.shop_product #box_productfull .productimg {
  background: transparent !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  display: block !important;
  box-shadow: none !important;
}
html body.shop_product #box_productfull .mainimg {
  position: relative;
  background: var(--gd-crema) !important;
  aspect-ratio: 1;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 8%;
  border: 0 !important;
  box-shadow: none !important;
}
html body.shop_product #box_productfull .mainimg img.photo {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
}
html body.shop_product #box_productfull .mainimg { overflow: hidden; }
html body.shop_product #box_productfull .mainimg .tags,
html body.shop_product #box_productfull .mainimg .tags li {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;
  float: none !important;
  margin: 0 !important;
  width: auto !important;
  transform: none !important;
}
html body.shop_product #box_productfull .mainimg .tags li { position: static !important; }
html body.shop_product #box_productfull .price,
html body.shop_product #box_productfull .quantity_wrap,
html body.shop_product #box_productfull .form-basket {
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}
html body.shop_product #box_productfull .smallgallery {
  margin-top: 12px;
  background: transparent !important;
}
html body.shop_product #box_productfull .bottomborder,
html body.shop_product #box_productfull .basket,
html body.shop_product #box_productfull .form-basket,
html body.shop_product #box_productfull fieldset {
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
html body.shop_product #box_productfull .mainimg img.photo {
  color: transparent;
  font-size: 0;
}
html body.shop_product #box_productfull .addtobasket-container {
  display: flex;
  align-items: center;
  gap: 12px;
}
html body.shop_product #box_productfull .button_wrap { flex: 1; }
html body.shop_product #box_productfull .button_wrap .addtobasket { width: 100%; margin: 0; }
html body.shop_product [itemprop="price"] { display: none !important; }

html body.gd-on .wrap .breadcrumb-home,
html body.gd-on .wrap .breadcrumbs .raq { display: none !important; }
html body.gd-on .wrap .innerbreadcrumbs > span:first-child { display: none; }
html body.gd-on .wrap .breadcrumbs ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 0;
  padding: 10px var(--gd-gutter);
  max-width: var(--gd-max);
}
html body.gd-on .wrap .breadcrumbs li { float: none; margin: 0; padding: 0; background: none; }

body.shop_product_search #box_productsearch,
body.shop_product_search #box_mainproducts { background: none; border: 0; }

body.shop_product_list #box_mainproducts .boxhead {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  flex-wrap: wrap;
}
body .wrap .boxhead .sort-and-view,
body .wrap .boxhead .sort-and-view select,
body .wrap .boxhead .sortlinks {
  font-family: var(--gd-sans) !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gd-crema);
}
body .wrap .boxhead .sort-and-view select {
  background: transparent;
  border: 1px solid var(--gd-crema-faint);
  height: 40px;
  padding: 0 12px;
}
body .wrap .boxhead .products-active-sort,
body .wrap .boxhead .products-sort-options,
body .wrap .boxhead .products-sort-options a,
body .wrap .boxhead .products-sort-options b {
  font-family: var(--gd-sans) !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gd-crema-dim);
}

body.shop_login fieldset,
body.shop_login_register fieldset { border: 0; padding: 0; background: none; }
body.shop_login #box_login .innerbox,
body.shop_login_register .innerbox { border: 0; background: none; padding: 0; }

@media (max-width: 767px) {
  html body.gd-on .wrap #logo-bar__middle { width: 96px !important; height: 96px !important; }
  html body.shop_product #box_productfull .f-row { grid-template-columns: 1fr !important; }
}

/* --- Szlif ---------------------------------------------------------------- */

/* szukajka: lupa zostaje w linii, nie spada pod pole */
html body.gd-on .wrap header .search__input-area {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  width: 100% !important;
  height: 40px !important;
  position: relative;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23efe6d6' stroke-width='1.6'><circle cx='11' cy='11' r='6.5'/><path d='M16 16l5 5'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 2px center !important;
  background-size: 16px 16px !important;
}
html body.gd-on .wrap header .search__btn-search {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.gd-on .wrap header .search__input-area-item {
  width: auto !important;
  float: none !important;
  flex: 0 0 auto;
}
html body.gd-on .wrap header .search__input-area-item_grow {
  flex: 1 1 auto;
  min-width: 0;
}
html body.gd-on .wrap header .search__input { width: 100% !important; min-width: 0; }
html body.gd-on .wrap header .search__btn-search {
  flex: 0 0 36px;
  position: static !important;
}

/* kropki przy „zarejestruj / zaloguj” — to znaczniki listy, nie ikony */
html body.gd-on .login-bar ul,
html body.gd-on .login-bar li {
  list-style: none !important;
}
html body.gd-on .login-bar li::before,
html body.gd-on .login-bar li::after,
html body.gd-on .basket li::before {
  content: none !important;
  display: none !important;
}

/* okruszki: ukryty » zastępujemy ukośnikiem */
html body.gd-on .wrap .breadcrumbs li + li::before {
  content: "/";
  margin-right: 10px;
  color: var(--gd-oro);
  opacity: 0.55;
}

/* sortowanie nie może wypłynąć na karty (clearfix Shopera jest wyłączony) */
html body.gd-on #box_mainproducts .boxhead {
  display: flex !important;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 0 0 28px;
  position: relative;
}
html body.gd-on #box_mainproducts .boxhead h1 { margin: 0; flex: 1 1 220px; }
html body.gd-on .sort-and-view,
html body.gd-on .sortlinks,
html body.gd-on .products-sort-container {
  position: static !important;
  float: none !important;
  top: auto !important;
  right: auto !important;
  width: auto !important;
  margin: 0 0 0 auto;
}
html body.gd-on .products-sort-container { position: relative !important; }
html body.gd-on .products-active-sort {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 14px;
  border: 1px solid var(--gd-crema-faint);
  cursor: pointer;
}
html body.gd-on .products-sort-options {
  display: none;
  position: absolute !important;
  right: 0;
  top: calc(100% + 4px);
  z-index: 6;
  min-width: 230px;
  margin: 0;
  padding: 6px 0;
  background: var(--gd-carbone);
  border: 1px solid var(--gd-crema-faint);
}
html body.gd-on .products-sort-container:hover .products-sort-options,
html body.gd-on .products-sort-container:focus-within .products-sort-options {
  display: flex;
  flex-direction: column;
}
html body.gd-on .products-sort-options a {
  display: block;
  padding: 8px 14px;
  text-decoration: none;
  white-space: nowrap;
}
html body.gd-on .products-sort-options a:hover { color: var(--gd-oro); }

/* karty równej wysokości: cena i przycisk siedzą na dole, w jednej linii */
html body.gd-on .products .product-inner-wrap {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
html body.gd-on .products .product__basket { margin-top: auto !important; }
html body.gd-on .products .buttons fieldset { display: flex !important; align-items: stretch; }
html body.gd-on .products .buttons input[name="quantity"] {
  display: block !important;
  width: 46px !important;
  flex: 0 0 46px;
}

/* plakietki nowość / promocja */
html body.gd-on .products .product { display: flex; flex-direction: column; }
html body.gd-on .products .tags,
html body.gd-on .products .tags li {
  list-style: none;
  margin: 0;
  padding: 0;
}
html body.gd-on .products .tags {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
html body.gd-on .products .tags li,
html body.gd-on .products .tags span {
  font-family: var(--gd-sans);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gd-oro);
}
html body.gd-on .products .tags li::before { content: none !important; }

html body.shop_product #box_productfull .mainimg { position: relative; }
html body.shop_product #box_productfull .mainimg .tags {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  list-style: none;
  margin: 0;
  padding: 0;
}
html body.shop_product #box_productfull .mainimg .tags li {
  font-family: var(--gd-sans);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gd-nero);
  background: var(--gd-oro);
  padding: 6px 10px;
  list-style: none;
}

/* miniatury: bez nazw plików obok zdjęcia */
html body.shop_product #box_productfull .smallgallery li {
  width: 72px;
  height: 72px;
  overflow: hidden;
  flex: 0 0 72px;
}
html body.shop_product #box_productfull .smallgallery a.gallery {
  display: block;
  width: 72px;
  height: 72px;
  font-size: 0;
  overflow: hidden;
}
html body.shop_product #box_productfull .smallgallery img {
  width: 72px;
  height: 72px;
}

/* koszyk / zamówienie */
html body.shop_basket em.color,
html body.shop_basket td.sum,
html body.shop_basket .recount .sum {
  color: var(--gd-crema) !important;
}
html body.shop_basket table.productlist td.name a {
  font-family: var(--gd-serif);
  font-size: 20px;
  line-height: 1.25;
  color: var(--gd-crema);
  text-decoration: none;
}
html body.shop_basket table.productlist td.img { width: 92px; overflow: hidden; }
html body.shop_basket table.productlist td.img img {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain;
  background: var(--gd-crema);
  padding: 6px;
  color: transparent;
  font-size: 0;
}
html body.shop_basket .quantity input,
html body.shop_basket input[type="number"] {
  width: 56px !important;
  height: 40px;
  background: transparent !important;
  color: var(--gd-crema) !important;
  border: 1px solid var(--gd-crema-faint) !important;
  text-align: center;
}
html body.shop_basket table.productlist td.time {
  font-family: var(--gd-sans);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gd-crema-dim);
}
html body.shop_basket .prodremove {
  font-family: var(--gd-sans);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gd-crema-dim);
  text-decoration: none;
}
html body.shop_basket .prodremove .fa,
html body.shop_basket .prodremove img { display: none !important; }
html body.shop_basket .prodremove span {
  display: inline !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  font-size: 11px !important;
  text-indent: 0 !important;
  overflow: visible !important;
  clip: auto !important;
}
html body.shop_basket .add-optional,
html body.shop_basket .add-optional small,
html body.shop_basket #error-message {
  color: var(--gd-crema-dim) !important;
  font-family: var(--gd-sans);
  font-size: 13px;
}
html body.shop_basket a.js__online-payment {
  color: var(--gd-oro) !important;
  text-decoration: none;
  font-size: 13px;
}
html body.gd-on .checkbox-wrap input,
html body.gd-on .radio-wrap input {
  position: static !important;
  opacity: 1 !important;
  appearance: auto;
  accent-color: #c9a25a;
  width: 16px;
  height: 16px;
  margin: 0 8px 0 0;
}
html body.gd-on .checkbox-wrap label,
html body.gd-on .radio-wrap label { display: none !important; }

html body.shop_basket #cart-options > .summary-container,
html body.shop_basket #cart-options > .buttons { grid-column: 1 / -1; }
html body.shop_basket #box_basketlist .buttons {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center;
  width: 100% !important;
  float: none !important;
}
html body.shop_basket #box_basketlist .buttons .back,
html body.shop_basket #box_basketlist .buttons .forward {
  float: none !important;
}
html body.shop_basket #box_basketlist .buttons .forward { margin-left: auto !important; }
html body.shop_basket td.quantity { white-space: nowrap; }
html body.shop_basket td.quantity .shaded_inputwrap { display: inline-block; vertical-align: middle; }
html body.shop_basket .recount,
html body.shop_basket .deliveryhead,
html body.shop_basket .summary-container > .sum {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: 16px;
  padding: 6px 0;
}
html body.shop_basket .summary-container > .sum .value {
  font-family: var(--gd-serif);
  font-style: italic;
  font-size: 28px;
  color: var(--gd-crema);
}
html body.shop_basket #cart-options > .buttons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 12px;
}
html body.shop_basket .btn.back {
  background: transparent;
  color: var(--gd-crema);
  border-color: var(--gd-crema-faint);
}
html body.shop_basket .btn.back:hover {
  border-color: var(--gd-oro);
  color: var(--gd-oro);
  background: transparent;
}

/* stopka platformy */
html body.gd-on a[title="Sklep internetowy Shoper.pl"] { display: none !important; }

@media (max-width: 980px) {
  html body.gd-on .products .buttons input[name="quantity"] { display: none !important; }
}

html body.shop_login_register .radio-wrap input {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 16px !important;
  height: 16px !important;
  border: 1px solid var(--gd-oro) !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.shop_login_register .radio-wrap input:checked {
  background: var(--gd-oro) !important;
  box-shadow: inset 0 0 0 3.5px var(--gd-nero) !important;
}
