/* These are the font files and weights configured on the original site.
   The database migration did not recreate WordPress' global-font records,
   so declaring them here prevents the Twenty Twenty-Four fallback fonts
   from silently changing the visual identity of the storefront. */
@font-face {
  font-family: "Poltawski Nowy";
  src: url("/wp-content/uploads/fonts/flUsRq6ww480U1xsUpFXD-iDBNlSAOLkKCLnWq8KqCWnCC6V5CzCoQ.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Poltawski Nowy";
  src: url("/wp-content/uploads/fonts/flUsRq6ww480U1xsUpFXD-iDBNlSAOLkKCLnWq8KmiWnCC6V5CzCoQ.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Poltawski Nowy";
  src: url("/wp-content/uploads/fonts/flUsRq6ww480U1xsUpFXD-iDBNlSAOLkKCLnWq8KdiKnCC6V5CzCoQ.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Lato";
  src: url("/wp-content/uploads/fonts/S6uyw4BMUTPHvxw6XweuBCY.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Lato";
  src: url("/wp-content/uploads/fonts/S6u8w4BMUTPHjxswXiWrFCbw7A.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Playfair Display";
  src: url("/wp-content/uploads/fonts/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvUDVZNLo_U2r.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Playfair Display";
  src: url("/wp-content/uploads/fonts/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_qiTbtPK-F2rA0s.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Playfair Display";
  src: url("/wp-content/uploads/fonts/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_pqTbtPK-F2rA0s.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Playfair Display";
  src: url("/wp-content/uploads/fonts/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_k-UbtPK-F2rA0s.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

:root {
  --wp--preset--font-family--poltawski-nowy: "Poltawski Nowy", serif;
  --wp--preset--font-family--playfair-display: "Playfair Display", serif;
  --wp--preset--font-family--lato: "Lato", sans-serif;
	--wns-common-pagination-gap: 10px;
	--wns-common-pagination-size: 30px;
	--wns-common-pagination-radius: 8px;
	
	--wns-common--alert-font-family: var(--wp--preset--font-family--lato);
	--wns-common--alert-border: 2px solid var(--wp--preset--color--secondary);
	--wns-common--alert-padding: 15px;
	--wns-common--alert-spacing: 10px;
	
	--wns-common--store-notice-gap: 30px;
	--wns-common--store-notice-bg-color: var(--wp--preset--color--secondary);
	--wns-common--store-notice-color: var(--wp--preset--color--black);
	--wns-common--store-notice-font-family: var(--wp--preset--font-family--poltawski-nowy);
	--wns-common--store-notice-border-top-radius: 15px;
	--wns-common--store-notice-border-top: 5px solid var(--wp--preset--color--primary);
	--wns-common--store-notice-btn-font-weight: bold;

	/* ---- Breadcrumbs ---- */
	--wns-common--breadcrumbs-margin-bottom: 30px;
	--wns-common--breadcrumbs-letter-spacing: 2px;

	/* ---- Pagination ---- */
	--wns-common--pagination-font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.542), 1.2rem);
	--wns-common--pagination-border-width: 2px;
	--wns-common--pagination-active-border-width: 1px;

	/* ---- Buttons pulse animation ---- */
	--wns-common--pulse-duration: 1.6s;

	/* ---- Main page group ---- */
	--wns-common--main-page-group-bg: #27272717;

	/* ---- Allegro link icon ---- */
	--wns-common--allegro-icon-size: 24px;
	--wns-common--allegro-icon-size-huge: 56px;

	/* ---- Select ---- */
	--wns-common--select-font-size: 1.2rem;
	--wns-common--select-line-height: 1.2;
	--wns-common--select-max-width: 320px;
	--wns-common--select-min-height: 44px;
	--wns-common--select-padding: 15px 44px 15px 15px;
	--wns-common--select-border-radius: 12px;
	--wns-common--select-border: 1px solid var(--wp--preset--color--secondary);
	--wns-common--select-bg-color: black;
	--wns-common--select-arrow-offset-right: 22px;
	--wns-common--select-arrow-offset-right-2: 16px;
	--wns-common--select-arrow-size: 6px;
	--wns-common--select-shadow: 0 1px 2px rgba(255,255,255,.06);
	--wns-common--select-focus-shadow: 0 0 0 3px rgba(255,255,255,.12), 0 1px 2px rgba(255,255,255,.06);

	/* ---- Input / Textarea ---- */
	--wns-common--input-font-size: 1.2rem;
	--wns-common--input-line-height: 1.2;
	--wns-common--input-max-width: 320px;
	--wns-common--input-min-height: 44px;
	--wns-common--input-padding: 12px 14px;
	--wns-common--input-border-radius: 12px;
	--wns-common--input-border: 1px solid var(--wp--preset--color--secondary);
	--wns-common--input-bg-color: black;
	--wns-common--input-shadow: 0 1px 2px rgba(255,255,255,.06);
	--wns-common--input-focus-shadow: 0 0 0 3px rgba(255,255,255,.12), 0 1px 2px rgba(255,255,255,.06);
	--wns-common--input-transition: border-color .2s ease, box-shadow .2s ease;
	--wns-common--input-placeholder-color: rgba(255,255,255,.45);
	--wns-common--input-disabled-opacity: .6;

	/* ---- Layout constrained block spacing ---- */
	--wns-common--constrained-block-margin: 15px;
	
	/* ---- Mini cart ---- */
	--wns--mini-cart--close-button--padding: 10px;

	/* ---- Header navigation overlay ---- */
	--wns-header-menu-panel-width: min(92vw, 460px);
	--wns-header-menu-panel-padding: clamp(18px, 4vw, 34px);
	--wns-header-menu-item-font-size: clamp(1.35rem, 2.2vw, 2rem);
	--wns-header-menu-item-padding: clamp(10px, 1.8vh, 16px) clamp(12px, 3vw, 22px);
	--wns-header-menu-item-radius: 14px;
	--wns-header-menu-item-gap: 8px;
	--wns-header-menu-close-size: 42px;
}

body {
  font-family: var(--wp--preset--font-family--lato);
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
}

:root :where(.is-layout-constrained) > * {
    margin-block-start: var(--wns-common--constrained-block-margin) !important;
    margin-block-end: var(--wns-common--constrained-block-margin) !important;
}

/* --- animations --- */
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--wp--preset--color--primary) 42%, transparent); }
  50% { box-shadow: 0 0 0 5px color-mix(in srgb, var(--wp--preset--color--primary) 0%, transparent); }
}

/* === GLOBAL === */
:where(
  a,
  button,
  input,
  select,
  textarea,
  summary,
  [tabindex]:not([tabindex="-1"])
):focus-visible {
  outline: 3px solid var(--wp--preset--color--primary) !important;
  outline-offset: 3px;
}

.inline-row-flex-jb-fw {
  display: inline-flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  white-space: nowrap;
}

/* --- breadcrumbs --- */
.wp-block-breadcrumbs {
	margin-bottom: var(--wns-common--breadcrumbs-margin-bottom);
}

.wp-block-breadcrumbs nav.woocommerce-breadcrumb {
	letter-spacing: var(--wns-common--breadcrumbs-letter-spacing);
}

/* --- paging --- */
nav.wp-block-query-pagination {
	align-items: center;
	gap: var(--wns-common-pagination-gap);
}

nav.wp-block-query-pagination .wp-block-query-pagination-numbers {
	display: flex;
	gap: var(--wns-common-pagination-gap);
}

nav.wp-block-query-pagination .wp-block-query-pagination-numbers > span,
nav.wp-block-query-pagination .wp-block-query-pagination-numbers > a,
nav.wp-block-query-pagination .wp-block-query-pagination-previous,
nav.wp-block-query-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: var(--wns-common-pagination-size);
	font-family: var(--wp--preset--font-family--poltawski-nowy);
	font-size: var(--wns-common--pagination-font-size);
	line-height: 1;
	height: var(--wns-common-pagination-size);
	border-radius: var(--wns-common-pagination-radius);
	box-sizing: border-box;
}

nav.wp-block-query-pagination .wp-block-query-pagination-numbers > a,
nav.wp-block-query-pagination .wp-block-query-pagination-previous,
nav.wp-block-query-pagination .wp-block-query-pagination-next {
	color: var(--wp--preset--color--primary);
	border: var(--wns-common--pagination-border-width) solid var(--wp--preset--color--primary);
}

nav.wp-block-query-pagination .wp-block-query-pagination-numbers > a:hover,
nav.wp-block-query-pagination .wp-block-query-pagination-previous:hover,
nav.wp-block-query-pagination .wp-block-query-pagination-next:hover {
  animation: pulse var(--wns-common--pulse-duration) ease-in-out infinite;
  will-change: box-shadow;
}

nav.wp-block-query-pagination .wp-block-query-pagination-numbers > span {
	color: var(--wp--preset--color--secondary);
	border: var(--wns-common--pagination-active-border-width) solid var(--wp--preset--color--secondary);
}

nav.wp-block-query-pagination .wp-block-query-pagination-previous,
nav.wp-block-query-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
}

nav.wp-block-query-pagination .wp-block-query-pagination-previous > span,
nav.wp-block-query-pagination .wp-block-query-pagination-next > span {
	margin: 0 !important;
}

/* --- buttons --- */
.wp-block-button.is-style-fill > a,
.wp-block-button.is-style-fill > a:focus,
.wp-block-button.is-style-fill > a:hover,
.wp-block-button.is-style-fill > a:active,
.wp-element-button,
.wp-element-button:focus,
.wp-element-button:hover,
.wp-element-button:active {
  background-color: var(--wns-btn-bg-color) !important;
  color: var(--wns-btn-color) !important;
  border: var(--wns-btn-border) !important;
  border-radius: var(--wns-btn-radius) !important;
  padding: var(--wns-btn-padding) !important;
  font-size: var(--wns-btn-font-size) !important;
  font-family: var(--wns-btn-font-family) !important;
  font-weight: var(--wns-btn-font-weight) !important;
  font-style: var(--wns-btn-font-style) !important;
}

.wp-block-button.is-style-fill > a:hover[disabled],
.wp-element-button:hover[disabled] {
	cursor: not-allowed;
}

.wp-block-button.is-style-fill > a:hover:not([disabled]),
.wp-element-button:hover:not([disabled]) {
  animation: pulse var(--wns-common--pulse-duration) ease-in-out infinite;
  will-change: box-shadow;
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-button.is-style-fill > a:hover:not([disabled]),
  .wp-element-button:hover:not([disabled]) {
    animation: none;
  }
}

/* === LAYOUT === */
.main-page-header-nav .wp-block-woocommerce-mini-cart button,
.main-page-header-nav .wp-block-woocommerce-customer-account a,
.main-page-header-nav nav.wp-block-navigation .wp-block-navigation__responsive-container-open {
	height: var(--wns-header-nav-btn-size) !important;
	width: var(--wns-header-nav-btn-size) !important;
	font-size: var(--wns-header-nav-btn-font-size) !important;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.main-page-header-nav .wp-block-woocommerce-mini-cart button svg,
.main-page-header-nav .wp-block-woocommerce-customer-account a svg,
.main-page-header-nav nav.wp-block-navigation .wp-block-navigation__responsive-container-open svg {
	height: var(--wns-header-nav-btn-font-size) !important;
	width: var(--wns-header-nav-btn-font-size) !important;
}

.main-page-group { background-color: var(--wns-common--main-page-group-bg); }

.main-page-allegro-link > a::before {
  content: "";
  display: block;
  background-image: url(https://allegro.pl/favicon.ico);
  width: var(--wns-common--allegro-icon-size);
  height: var(--wns-common--allegro-icon-size);
  background-size: 100%;
}

.main-page-allegro-link--huge > a::before {
  width: var(--wns-common--allegro-icon-size-huge);
  height: var(--wns-common--allegro-icon-size-huge);
}

.main-page-allegro-link > a > svg { display: none; }

.wp-block-woocommerce-store-notices {
	max-width: unset !important;
}

.wp-block-woocommerce-store-notices .woocommerce-notices-wrapper {
	display: flex;
    flex-direction: column;
    gap: var(--wns-common--alert-spacing);
}

.wp-block-woocommerce-store-notices .wc-block-components-notice-banner {
	font-family: var(--wns-common--alert-font-family);
	border: var(--wns-common--alert-border);
	padding: var(--wns-common--alert-padding);
	margin: 0;
}

/* WooCommerce renders some states outside the Store Notices block. */
.woocommerce .wc-block-components-notice-banner {
  align-items: center;
  gap: var(--wns-common--alert-spacing);
  margin: 0;
  padding: var(--wns-common--alert-padding);
  border: var(--wns-common--alert-border);
  border-radius: var(--wns-common--input-border-radius);
  background: color-mix(
    in srgb,
    var(--wp--preset--color--secondary) 12%,
    var(--wp--preset--color--black)
  );
  color: var(--wp--preset--color--foreground);
  font-family: var(--wns-common--alert-font-family);
}

.woocommerce .wc-block-components-notice-banner > svg {
  flex: 0 0 24px;
  fill: var(--wp--preset--color--primary);
  background: transparent;
}

.woocommerce .wc-block-components-notice-banner__content {
  line-height: 1.5;
}

.woocommerce .wc-block-components-notice-banner a {
  color: var(--wp--preset--color--secondary);
  font-weight: 700;
}

.woocommerce .wc-block-components-notice-banner .button {
  padding: 0 !important;
  background: transparent !important;
  color: var(--wp--preset--color--secondary) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.woocommerce .wc-block-components-notice-banner.is-error {
  border-color: #d63638;
}

.woocommerce .wc-block-components-notice-banner.is-success {
  border-color: #4f8a5b;
}

/* ----- select dropdown --- */
select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  font-size: var(--wns-common--select-font-size) !important;
  font-family: var(--wp--preset--font-family--playfair-display) !important;
  line-height: var(--wns-common--select-line-height) !important;
  width: 100% !important;
  max-width: var(--wns-common--select-max-width) !important;
  min-height: var(--wns-common--select-min-height) !important;
  padding: var(--wns-common--select-padding) !important;
  border-radius: var(--wns-common--select-border-radius) !important;
  border: var(--wns-common--select-border) !important;
  background-color: var(--wns-common--select-bg-color) !important;
  color: var(--wp--preset--color--secondary) !important;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--wp--preset--color--secondary) 50%),
    linear-gradient(135deg, var(--wp--preset--color--secondary) 50%, transparent 50%),
    linear-gradient(to right, transparent, transparent) !important;
  background-position:
    calc(100% - var(--wns-common--select-arrow-offset-right)) 50%,
    calc(100% - var(--wns-common--select-arrow-offset-right-2)) 50%,
    0 0 !important;
  background-size: var(--wns-common--select-arrow-size) var(--wns-common--select-arrow-size), var(--wns-common--select-arrow-size) var(--wns-common--select-arrow-size), 100% 100% !important;
  background-repeat: no-repeat !important;
  box-shadow: var(--wns-common--select-shadow) !important;
  cursor: pointer !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

select:hover,
select:focus {
  background-image:
    linear-gradient(45deg, transparent 50%, var(--wp--preset--color--primary) 50%),
    linear-gradient(135deg, var(--wp--preset--color--primary) 50%, transparent 50%),
    linear-gradient(to right, transparent, transparent) !important;
  border-color: var(--wp--preset--color--primary) !important;
}

select:focus {
  border-color: var(--wp--preset--color--secondary) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--wp--preset--color--secondary) 26%, transparent) !important;
  outline: none !important;
}

select:disabled,
select:has(option[selected]:only-child){
  opacity: var(--wns-common--input-disabled-opacity) !important;
  cursor: not-allowed !important;
}

select::-ms-expand {
  display: none !important;
}

#wpadminbar input.adminbar-input {
  display: inline-block !important;
  float: none !important;
  position: relative !important;
  z-index: 30 !important;
  font-size: 13px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
  line-height: 1.84615384 !important;
  text-indent: 0 !important;
  height: 24px !important;
  width: 24px !important;
  max-width: none !important;
  padding: 0 3px 0 24px !important;
  margin: 0 !important;
  color: #c3c4c7 !important;
  background-color: rgba(255, 255, 255, 0) !important;
  border: none !important;
  outline: 0 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  transition-duration: .4s !important;
  transition-property: width, background !important;
  transition-timing-function: ease !important;
}

#wpadminbar input.adminbar-input:focus {
  z-index: 10 !important;
  color: #000 !important;
  width: 200px !important;
  background-color: rgba(255, 255, 255, .9) !important;
  cursor: text !important;
  border: 0 !important;
}

/* --- input --- */
/* TEXT INPUTS + TEXTAREA */
input[type="text"],
input[type="email"],
input[type="search"]:not(#easypack-search),
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
  font-size: var(--wns-common--input-font-size) !important;
  font-family: var(--wp--preset--font-family--playfair-display) !important;
  line-height: var(--wns-common--input-line-height) !important;
  width: 100% !important;
  max-width: var(--wns-common--input-max-width) !important;
  min-height: var(--wns-common--input-min-height) !important;
  padding: var(--wns-common--input-padding) !important;
  border-radius: var(--wns-common--input-border-radius) !important;
  border: var(--wns-common--input-border) !important;
  background-color: var(--wns-common--input-bg-color) !important;
  color: var(--wp--preset--color--secondary) !important;
  box-shadow: var(--wns-common--input-shadow) !important;
  transition: var(--wns-common--input-transition) !important;
}

/* Hover */
input[type="text"]:hover,
input[type="email"]:hover,
input[type="search"]:not(#easypack-search):hover,
input[type="number"]:hover,
input[type="tel"]:hover,
input[type="url"]:hover,
input[type="password"]:hover,
textarea:hover {
  border-color: var(--wp--preset--color--primary) !important;
}

/* Focus */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:not(#easypack-search):focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus {
  border-color: var(--wp--preset--color--secondary) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--wp--preset--color--secondary) 26%, transparent) !important;
  outline: none !important;
}

/* Placeholder */
input:not(#easypack-search)::placeholder,
textarea::placeholder {
  color: var(--wns-common--input-placeholder-color) !important;
}

/* Disabled */
input:not(#easypack-search):disabled,
textarea:disabled {
  opacity: var(--wns-common--input-disabled-opacity) !important;
  cursor: not-allowed;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

input:not(#easypack-search),
textarea {
  caret-color: var(--wp--preset--color--primary) !important;
}

input:not(#easypack-search):-webkit-autofill,
input:not(#easypack-search):-webkit-autofill:hover,
input:not(#easypack-search):-webkit-autofill:focus {
  -webkit-text-fill-color: var(--wp--preset--color--secondary) !important;
  transition: background-color 9999s ease-in-out 0s !important;
}

/* =========== WooCommerce loading states ===================== */
@keyframes wns-loading-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.woocommerce .blockUI.blockOverlay {
  border-radius: inherit;
  background: color-mix(
    in srgb,
    var(--wp--preset--color--black) 82%,
    transparent
  ) !important;
  opacity: 1 !important;
  backdrop-filter: blur(2px);
}

.woocommerce .blockUI.blockOverlay::before,
.woocommerce .loader::before,
.woocommerce .processing::before {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  box-sizing: border-box;
  border: 3px solid color-mix(
    in srgb,
    var(--wp--preset--color--secondary) 28%,
    transparent
  );
  border-top-color: var(--wp--preset--color--primary);
  border-right-color: var(--wp--preset--color--secondary);
  border-radius: 50%;
  background: none !important;
  content: "" !important;
  animation: wns-loading-spin 700ms linear infinite !important;
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce .blockUI.blockOverlay::before,
  .woocommerce .loader::before,
  .woocommerce .processing::before {
    animation: none !important;
  }
}

/* =========== Store Notice ===================== */
.woocommerce-notices-wrapper:empty {
	display: none !important;
}

.woocommerce-notices-wrapper .wc-block-components-notice-banner__content:has(.restore-item) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

.woocommerce-notices-wrapper:has(.restore-item) a.restore-item {
	color: var(--wp--preset--color--primary) !important;
}

p[role="complementary"].woocommerce-store-notice {
	position: fixed !important;
	display: flex;
    flex-direction: column;
    gap: var(--wns-common--store-notice-gap);
	background-color: var(--wns-common--store-notice-bg-color);
	color: var(--wns-common--store-notice-color);
	font-family: var(--wns-common--store-notice-font-family);
	border-top-left-radius: var(--wns-common--store-notice-border-top-radius);
	border-top-right-radius: var(--wns-common--store-notice-border-top-radius);
	border-top: var(--wns-common--store-notice-border-top);
}

p[role="complementary"].woocommerce-store-notice > a[role="button"] {
	color: var(--wp--preset--color--primary);
	font-weight: var(--wns-common--store-notice-btn-font-weight);
}

/* ============= MENU ==================== */
.wp-block-navigation__responsive-container.has-modal-open.is-menu-open {
  color: white !important;
  background-color: black !important;
}

/*
 * Mobile navigation overlay.
 *
 * Keep these rules scoped to the main header. The footer uses the same core
 * Navigation block markup, but remains expanded on small screens.
 */
.main-page-header-nav .wp-block-navigation__responsive-container.has-modal-open.is-menu-open {
  padding: 0;
  overflow-y: auto;
  background:
    radial-gradient(circle at 50% 12%, color-mix(in srgb, var(--wp--preset--color--secondary) 10%, transparent), transparent 34%),
    var(--wp--preset--color--black) !important;
}

.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
  width: 100%;
  min-height: 100dvh;
}

.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100dvh;
  padding: var(--wns-header-menu-panel-padding);
}

.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
  position: relative;
  top: auto;
  right: auto;
  justify-self: end;
  width: var(--wns-header-menu-close-size) !important;
  height: var(--wns-header-menu-close-size) !important;
  color: var(--wp--preset--color--white);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--secondary) 65%, transparent);
  border-radius: 50%;
  transition:
    color 160ms ease,
    border-color 160ms ease,
    background-color 160ms ease,
    transform 160ms ease;
}

.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover,
.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:focus-visible {
  color: var(--wp--preset--color--black);
  border-color: var(--wp--preset--color--secondary);
  background-color: var(--wp--preset--color--secondary);
  transform: rotate(4deg);
}

.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding-block: clamp(16px, 4vh, 34px) !important;
}

.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  display: grid !important;
  width: var(--wns-header-menu-panel-width);
  max-width: 100%;
  gap: var(--wns-header-menu-item-gap) !important;
}

.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  width: 100%;
}

.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: var(--wns-header-menu-item-padding);
  color: var(--wp--preset--color--white) !important;
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--secondary) 28%, transparent);
  border-radius: var(--wns-header-menu-item-radius);
  font-family: var(--wp--preset--font-family--playfair-display);
  font-size: var(--wns-header-menu-item-font-size);
  font-style: italic;
  line-height: 1.1;
  text-align: center;
  overflow-wrap: anywhere;
  box-sizing: border-box;
  transition:
    border-color 160ms ease,
    color 160ms ease,
    background-color 160ms ease;
}

.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wns-cookie-settings-navigation-link {
  width: 100% !important;
  height: auto !important;
  min-height: 44px !important;
  padding: var(--wns-header-menu-item-padding) !important;
  color: var(--wp--preset--color--secondary) !important;
  background: transparent;
  cursor: pointer;
}

.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wns-cookie-settings-navigation-link .wp-block-navigation-item__label {
  white-space: normal;
}

.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible,
.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content {
  color: var(--wp--preset--color--secondary) !important;
  border-color: color-mix(in srgb, var(--wp--preset--color--secondary) 54%, transparent);
  background-color: color-mix(in srgb, var(--wp--preset--color--secondary) 8%, transparent);
}

body:has(.main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open) {
  overflow: hidden;
}

footer .wp-block-navigation-item__content {
  padding: 6px 8px;
}

footer .wns-cookie-settings-navigation-link {
  color: var(--wp--preset--color--secondary) !important;
  font: inherit;
  cursor: pointer;
}

footer .wp-block-navigation-item__content:hover,
footer .wp-block-navigation-item__content:focus-visible,
footer .current-menu-item > .wp-block-navigation-item__content,
footer .current-menu-ancestor > .wp-block-navigation-item__content {
  color: var(--wp--preset--color--secondary) !important;
}

@media (max-width: 900px) {
  .main-page-header > .wp-block-group {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    max-width: 100%;
    min-width: 0;
  }

}

@media (max-width: 576px) {
  :root {
    --wns-header-menu-panel-width: min(88vw, 360px);
    --wns-header-menu-panel-padding: 18px;
    --wns-header-menu-item-font-size: clamp(1.15rem, 7vw, 1.65rem);
    --wns-header-menu-item-padding: 10px 14px;
    --wns-header-menu-item-gap: 7px;
    --wns-header-menu-close-size: 38px;
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: flex-start;
    padding-top: clamp(16px, 6vh, 44px) !important;
    padding-bottom: 22px !important;
  }
}

/* The Search block also contains a hidden post_type input. Explicit grid
 * placement keeps it from consuming a column and shrinking the visible field. */
@media (max-width: 900px) {
  form.main-page-header-search.wp-block-search {
    display: block !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  form.main-page-header-search.wp-block-search .wp-block-search__inside-wrapper {
    display: flex !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  form.main-page-header-search.wp-block-search input[type="hidden"] {
    display: none !important;
  }

  form.main-page-header-search.wp-block-search input[type="search"].wp-block-search__input:not(#easypack-search) {
    display: block !important;
    flex: 1 1 0 !important;
    width: 0 !important;
    max-width: calc(100% - 108px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding-right: var(--wns-common--input-padding) !important;
    font-family: var(--wp--preset--font-family--playfair-display) !important;
    font-size: 1.1rem !important;
    font-style: normal !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
  }

  form.main-page-header-search.wp-block-search .wp-block-search__input::placeholder {
    font-family: var(--wp--preset--font-family--playfair-display) !important;
    font-style: normal !important;
    font-weight: 400 !important;
  }

  form.main-page-header-search.wp-block-search .wp-block-search__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 96px !important;
    width: 96px !important;
    min-width: 96px !important;
    min-height: var(--wns-common--input-min-height) !important;
    padding: 10px 14px !important;
    margin-left: 12px !important;
    border-radius: var(--wns-btn-radius) !important;
    font-family: var(--wp--preset--font-family--poltawski-nowy) !important;
    font-size: 1.1rem !important;
    font-style: normal !important;
    line-height: 1 !important;
    white-space: nowrap;
  }

  form.main-page-header-search.wp-block-search .wp-block-search__button::before {
    content: none;
  }
}

.wp-block-navigation__responsive-container.has-modal-open.is-menu-open .wp-block-navigation__responsive-container-close:hover svg {
    color: var(--wp--preset--color--primary) !important;
}

.wp-block-navigation__responsive-container.has-modal-open.is-menu-open .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.has-modal-open.is-menu-open .wp-block-navigation-item__content:active {
	color: var(--wp--preset--color--secondary) !important;
}

/* ============= CUSTOM LOGO TRICK ============ */
.custom-logo-link {
  overflow: visible;
}

.custom-logo {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 0%, 100% 0%);
  filter: drop-shadow(0 0 0px transparent);
  transition: clip-path 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) 10s,
              filter 0.8s ease 10s;
}

.custom-logo-link:hover .custom-logo {
  clip-path: polygon(50% 100%, 61% 65%, 98% 65%, 68% 43%, 79% 9%, 50% 30%, 21% 9%, 32% 43%, 2% 65%, 39% 65%);
  filter: drop-shadow(0 0 3px crimson) 
          drop-shadow(0 0 6px crimson) 
          drop-shadow(0 0 12px crimson);
}

/* ---- mini cart --- */
.wc-block-components-drawer__screen-overlay .wc-block-components-drawer__content .wc-block-components-drawer__close-wrapper {
	display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 10px;
}

.wc-block-components-drawer__screen-overlay .wc-block-components-drawer__content button.wc-block-components-drawer__close {
	padding: var(--wns-btn-padding) !important;
	position: relative !important;
    margin: 0;
    display: block;
    right: 0;
    top: 0;
}

/* Mobile menu: retain the dark/gold character, but use a practical full-width
 * navigation list instead of a narrow column of oversized cards. */
@media (max-width: 900px) {
  .main-page-header-nav .wp-block-navigation__responsive-container.has-modal-open.is-menu-open {
    background: var(--wp--preset--color--black) !important;
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    grid-template-rows: auto 1fr;
    padding: 20px 28px 36px !important;
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    line-height: 0 !important;
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
    display: block;
    flex: none;
    width: 20px;
    height: 20px;
    margin: 0;
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: stretch !important;
    justify-content: flex-start !important;
    padding: 38px 0 0 !important;
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    width: 100%;
    gap: 0 !important;
    border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--secondary) 24%, transparent);
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wns-cookie-settings-navigation-link {
    justify-content: flex-start;
    min-height: 56px !important;
    padding: 14px 4px !important;
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--secondary) 24%, transparent);
    border-radius: 0;
    font-size: clamp(1.25rem, 4.5vw, 1.55rem);
    line-height: 1.15;
    text-align: left;
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible,
  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content {
    border-color: var(--wp--preset--color--secondary);
    background: color-mix(in srgb, var(--wp--preset--color--secondary) 7%, transparent);
  }
}

/* Keep the mobile drawer deliberately close to the original utilitarian
 * full-screen menu: compact links, no decorative card layout, no scrolling. */
@media (max-width: 900px) {
  .main-page-header-nav .wp-block-navigation__responsive-container.has-modal-open.is-menu-open,
  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    height: 100%;
    min-height: 0;
    padding: 24px 18px !important;
    box-sizing: border-box;
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: flex-start !important;
    padding: 46px 0 0 !important;
    overflow: hidden;
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    display: block;
    width: 100% !important;
    margin: 0 !important;
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wns-cookie-settings-navigation-link {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 36px !important;
    padding: 8px 0 !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-family: "Poltawski Nowy", Georgia, serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.2;
    text-align: left;
    box-sizing: border-box;
  }

  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible,
  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
  .main-page-header-nav .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content {
    color: var(--wp--preset--color--secondary) !important;
    border: 0;
    background: transparent;
  }
}
