@charset "UTF-8";
:root {
  --pn-color-primary: #bfcf69;
  --pn-color-primary-dark: #8e9e33;
  --pn-color-control-subtle: #eaf2c8;
  --pn-card-activity-bg: #f4f3e7;
  --pn-color-utility-bg: #f4f5e7;
  --pn-color-text: #272c60;
  --pn-color-accent: #06a099;
  --pn-color-info: #58c3e8;
  --pn-color-warning: #ffe349;
  --pn-color-background: #fcd8b6;
  --pn-color-background-soft: #f9cbcc;
  --pn-color-danger: #7a113e;
  --pn-color-cart-badge-bg: #bfcf69;
  --pn-color-surface: #fff;
  --pn-color-success: var(--pn-color-accent);
  --pn-color-border: var(--pn-color-text);
  --pn-color-text-inverse: var(--pn-color-surface);
  --pn-color-overlay: rgba(39, 44, 96, 0.55);
  --pn-font-family-ui: Nunito, Arial, Helvetica, sans-serif;
  --pn-font-family-decorative: Pacifico, cursive;
}

@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/nunito-v32-latin_latin-ext-400.woff2") format("woff2");
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/nunito-v32-latin_latin-ext-500.woff2") format("woff2");
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/nunito-v32-latin_latin-ext-600.woff2") format("woff2");
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/nunito-v32-latin_latin-ext-700.woff2") format("woff2");
}
@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/fraunces-v38-latin_latin-ext-500.woff2") format("woff2");
}
@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/fraunces-v38-latin_latin-ext-600.woff2") format("woff2");
}
@font-face {
  font-family: "Pacifico";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/pacifico-v23-latin_latin-ext-400.woff2") format("woff2");
}
:root {
  --pn-space-1: 0.25rem;
  --pn-space-2: 0.5rem;
  --pn-space-3: 0.75rem;
  --pn-space-4: 1rem;
  --pn-space-5: 1.5rem;
  --pn-space-6: 2rem;
  --pn-space-7: 3rem;
  --pn-space-8: 4rem;
}

:root {
  --pn-shadow-sm: 0 0.125rem 0.375rem rgba(39, 44, 96, 0.18);
  --pn-shadow-md: 0 0.5rem 1.5rem rgba(39, 44, 96, 0.18);
}

:root {
  --pn-radius-sm: 0.375rem;
  --pn-radius-md: 0.75rem;
  --pn-radius-lg: 1.25rem;
  --pn-radius-xl: 2rem;
  --pn-radius-pill: 999rem;
}

:root {
  --color-surface: var(--pn-color-surface);
  --color-text: var(--pn-color-text);
  --color-accent: var(--pn-color-accent);
  --font-family-base: var(--pn-font-family-ui);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --pn-content-max-width: 82.5rem;
  --content-max-width: var(--pn-content-max-width);
  --pn-content-padding: 1rem;
  --pn-section-space: 3rem;
}

@media (width >= 48rem) {
  :root {
    --pn-content-padding: 1.5rem;
    --pn-section-space: 4rem;
  }
}
@media (width >= 64rem) {
  :root {
    --pn-content-padding: 2rem;
    --pn-section-space: 5.5rem;
  }
}
@media (width >= 80rem) {
  :root {
    --pn-content-padding: 3rem;
  }
}
:where(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 0.1875rem solid var(--pn-color-text);
  outline-offset: 0.1875rem;
}

.pn-skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--pn-space-3);
  left: 50%;
  padding: var(--pn-space-3) var(--pn-space-4);
  border-radius: var(--pn-radius-sm);
  background: var(--pn-color-text);
  color: var(--pn-color-surface);
  font-weight: 700;
  text-decoration: none;
  transform: translate(-50%, -200%);
  transition: transform 160ms ease;
}

.pn-skip-link:focus {
  transform: translate(-50%, 0);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
html,
body {
  overflow-x: clip !important;
}

.pn-container {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pn-content-max-width) !important;
  margin-inline: auto;
  padding-inline: var(--pn-content-padding);
}

/* Keep native Classic page chrome aligned with PeaNest sections without
 * changing nested Bootstrap layout utilities. */
body :is(#wrapper > .container, #notifications > .container, .breadcrumb > .container) {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--pn-content-max-width);
  margin-inline: auto;
  padding-inline: var(--pn-content-padding);
}

/* Classic adds a nested row and content wrapper on the index route. Remove
 * only the outer duplicate gutter so PeaNest section containers share the
 * exact header edges without changing component spacing. */
body.page-index #wrapper > .container {
  padding-inline: 0;
}

.pn-header {
  position: relative;
  z-index: 100;
  border-bottom: 0.0625rem solid var(--pn-color-border);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
}

.pn-trust-bar {
  background: var(--pn-color-utility-bg);
  border-bottom: 0.0625rem solid color-mix(in srgb, var(--pn-color-primary) 12%, var(--pn-color-border-subtle));
  color: var(--pn-color-text);
  font-size: 0.8125rem;
  font-weight: 500;
}

.pn-trust-bar__content {
  display: flex;
  width: 100%;
  max-width: 90rem !important;
  margin: 0 auto;
  min-height: 2rem;
  height: 2rem;
  padding-inline: clamp(1.75rem, 2vw, 2rem);
  justify-content: space-between;
  align-items: center;
  gap: var(--pn-space-4);
  box-sizing: border-box;
}

.pn-trust-bar__benefits,
.pn-trust-bar__links {
  display: none;
  min-width: 0;
  align-items: center;
}

.pn-trust-bar__benefits {
  display: none;
  gap: clamp(1rem, 1.5vw, 1.5rem);
}

.pn-trust-bar__links {
  flex: 0 0 auto;
  gap: clamp(1rem, 1.5vw, 1.5rem);
  justify-content: flex-end;
}

.pn-trust-bar__item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--pn-color-text);
  font-size: 0.8125rem;
  font-weight: 500;
  white-space: nowrap;
}

.pn-trust-bar__icon {
  flex: 0 0 1.0625rem;
  width: 1.0625rem;
  height: 1.0625rem;
  color: var(--pn-color-primary-dark);
}

.pn-trust-bar__item--safe .pn-trust-bar__icon {
  color: var(--pn-color-primary-dark);
}

.pn-trust-bar__item--handmade .pn-trust-bar__icon {
  color: var(--pn-color-primary-dark);
}

.pn-trust-bar__item + .pn-trust-bar__item::before {
  margin-right: clamp(1rem, 1.5vw, 1.5rem);
  color: color-mix(in srgb, var(--pn-color-primary-dark) 40%, transparent);
  content: "•";
  font-size: 0.75rem;
}

.pn-trust-bar__link {
  color: var(--pn-color-text);
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: color 150ms ease;
}

.pn-trust-bar__link:hover,
.pn-trust-bar__link:focus-visible {
  color: var(--pn-color-primary-dark);
  text-decoration: none;
}

.pn-trust-bar__account,
.pn-trust-bar__cart {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  justify-content: center;
  color: var(--pn-color-text);
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: color 150ms ease;
}

.pn-trust-bar__account {
  gap: 0.25rem;
}

.pn-trust-bar__account:hover {
  color: var(--pn-color-primary-dark);
}

.pn-trust-bar__utility-label {
  display: inline;
}

.pn-trust-bar__account :where(.pn-header__account-icon) {
  width: 1.25rem;
  height: 1.25rem;
}

.pn-trust-bar__cart .blockcart .header {
  position: relative;
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding-inline: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.pn-trust-bar__cart .material-icons.shopping-cart {
  font-size: 1.25rem;
  line-height: 1;
}

.pn-trust-bar__cart .cart-products-count {
  position: absolute;
  top: 0.125rem;
  right: -0.25rem;
  min-width: 0.9375rem;
  width: 0.9375rem;
  height: 0.9375rem;
  padding: 0;
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-primary-dark);
  color: var(--pn-color-surface);
  font-size: 0.5625rem;
  font-weight: 700;
  line-height: 0.9375rem;
  text-align: center;
  box-shadow: 0 0.0625rem 0.1875rem rgba(39, 44, 96, 0.15);
  box-sizing: border-box;
}

.pn-trust-bar__hook {
  display: inline-flex;
  align-items: center;
  gap: inherit;
}

.pn-header__content {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--pn-space-2);
  align-items: center;
  min-height: 5rem;
}

.pn-header__content > .pn-navigation {
  grid-column: 1/-1;
}

.pn-header__brand {
  min-width: 0;
  place-self: center start;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-left: 0.75rem;
  color: var(--pn-color-text);
  text-decoration: none;
}

.pn-header__desktop-search {
  display: none;
  min-width: 0;
}

.pn-header .pn-header__logo {
  display: block;
  width: auto !important;
  max-width: 4.5rem !important;
  height: 2.625rem !important;
  max-height: 2.625rem !important;
  object-fit: contain;
}

.pn-header__brand-name {
  font-size: 1.5rem;
  font-weight: 800;
}

.pn-header__menu-toggle,
.pn-header__search-trigger {
  display: inline-grid;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border: 0;
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-control-subtle);
  color: var(--pn-color-text);
  cursor: pointer;
}

.pn-header__menu-toggle {
  margin-right: var(--pn-space-2);
}

.pn-header__menu-icon,
.pn-header__menu-icon::before,
.pn-header__menu-icon::after {
  display: block;
  width: 1.25rem;
  height: 0.125rem;
  background: currentcolor;
  content: "";
}

.pn-header__menu-icon::before {
  transform: translateY(-0.375rem);
}

.pn-header__menu-icon::after {
  transform: translateY(0.25rem);
}

.pn-header__search-icon {
  width: 1rem;
  height: 1rem;
  border: 0.125rem solid currentcolor;
  border-radius: var(--pn-radius-pill);
}

.pn-header__search-icon::after {
  display: block;
  width: 0.5rem;
  height: 0.125rem;
  margin: 0.75rem 0 0 0.75rem;
  background: currentcolor;
  content: "";
  transform: rotate(45deg);
  transform-origin: left center;
}

.pn-header__account-icon {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 1.25rem;
  color: inherit;
  border: 0;
  background: transparent;
}

.pn-header__actions {
  display: flex;
  min-width: 0;
  gap: var(--pn-space-2);
  align-items: center;
  justify-content: end;
}

.pn-header__language {
  display: none;
}

.pn-header__language .language-selector {
  margin: 0;
}

.pn-header__language button,
.pn-header__language .dropdown-toggle {
  min-height: 2.25rem;
  padding-inline: var(--pn-space-2);
  border: 0.0625rem solid var(--pn-color-background-soft);
  border-radius: var(--pn-radius-md);
  background: transparent;
  color: var(--pn-color-text);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 600;
}

.pn-header__language .dropdown-menu {
  z-index: 110;
  border: 0.0625rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-md);
  box-shadow: var(--pn-shadow-md);
}

.pn-header__language a {
  color: var(--pn-color-text);
}

.pn-header__account {
  display: inline-flex;
  min-width: 2.75rem;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: var(--pn-space-1);
  border-radius: var(--pn-radius-pill);
  color: var(--pn-color-text);
  font-weight: 700;
  text-decoration: none;
}

.pn-header__action-label {
  display: none;
}

.pn-header__cart {
  min-width: 0;
  margin-left: var(--pn-space-2);
}

.pn-header__cart :is(a, button) {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  color: var(--pn-color-text);
  font-weight: 700;
}

.pn-header__cart :is(.blockcart, .blockcart .header) {
  min-height: 2.75rem;
}

.pn-header__cart .blockcart .header {
  display: inline-flex;
  align-items: center;
  gap: var(--pn-space-1);
  padding-inline: 0.5rem;
  color: var(--pn-color-text);
  font-weight: 700;
}

.pn-header__search {
  border-top: 0.0625rem solid var(--pn-color-border);
  padding-block: var(--pn-space-4);
  background: var(--pn-color-background-soft);
}

.pn-header__navigation {
  border-top: 0.0625rem solid var(--pn-color-border);
}

.pn-breadcrumbs {
  padding-block: 0.4375rem;
  margin-bottom: 0.6875rem;
}

.page-index .pn-breadcrumbs {
  display: none;
}

.page-index .breadcrumb {
  min-height: 0;
  margin-bottom: 0;
  padding-block: 0;
  background: transparent;
}

.pn-header[data-pn-menu-open=true] .pn-header__navigation {
  display: block;
}

@media (min-width: 48rem) {
  .pn-trust-bar__content {
    gap: var(--pn-space-3);
  }
  .pn-header__content {
    min-height: 5.5rem;
    gap: var(--pn-space-3);
  }
  .pn-header .pn-header__logo {
    width: auto !important;
    max-width: 4.5rem !important;
    height: 2.625rem !important;
    max-height: 2.625rem !important;
  }
  .pn-header__language {
    display: block;
  }
}
@media (width < 48rem) {
  .pn-trust-bar {
    display: none;
  }
}
@media (width >= 48rem) and (width < 75rem) {
  .pn-trust-bar__content {
    justify-content: center;
    min-height: 1.75rem;
  }
  .pn-trust-bar__benefits {
    display: flex;
  }
  .pn-trust-bar__item:not(:first-child) {
    display: none;
  }
}
@media (width >= 75rem) {
  .pn-trust-bar__benefits,
  .pn-trust-bar__links {
    display: flex;
  }
  .pn-trust-bar__content {
    min-height: 2rem;
    height: 2rem;
  }
  .pn-trust-bar__account,
  .pn-trust-bar__cart {
    width: 2rem;
    min-width: 2rem;
    min-height: 2rem;
    justify-content: center;
  }
  .pn-trust-bar__utility-label,
  .pn-trust-bar__cart .blockcart .header .hidden-sm-down {
    display: none;
  }
  .pn-trust-bar__account .pn-header__account-icon {
    width: 1.25rem;
    height: 1.25rem;
  }
  .pn-trust-bar__cart .blockcart .header {
    position: relative;
    width: 2rem;
    min-height: 2rem;
    justify-content: center;
    gap: 0;
  }
  .pn-trust-bar__cart .material-icons.shopping-cart {
    font-size: 1.25rem;
    line-height: 1;
  }
  .pn-trust-bar__cart .cart-products-count {
    position: absolute;
    top: 0.125rem;
    right: -0.25rem;
    min-width: 0.9375rem;
    width: 0.9375rem;
    height: 0.9375rem;
    padding: 0;
    border-radius: var(--pn-radius-pill);
    background: var(--pn-color-primary-dark);
    color: var(--pn-color-surface);
    font-size: 0.5625rem;
    font-weight: 700;
    line-height: 0.9375rem;
    text-align: center;
    box-shadow: 0 0.0625rem 0.1875rem rgba(39, 44, 96, 0.15);
    box-sizing: border-box;
  }
  .pn-trust-bar__managed-links,
  .pn-trust-bar__managed-links > .links,
  .pn-trust-bar__managed-links .row,
  .pn-trust-bar__managed-links .wrapper {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
  }
  .pn-trust-bar__managed-links :is(h2, h3, .h3, .block-links__title, .footer-block-title, .title) {
    display: none;
  }
  .pn-trust-bar__managed-links :is(ul, .block-links__list) {
    display: inline-flex !important;
    height: auto !important;
    align-items: center;
    gap: clamp(1rem, 1.5vw, 1.5rem);
    margin: 0;
    padding: 0;
    overflow: visible;
    list-style: none;
  }
  .pn-trust-bar__managed-links :is(li, a) {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
  }
  .pn-trust-bar__managed-links a {
    color: var(--pn-color-text);
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: none;
  }
  .pn-trust-bar__managed-links a:hover,
  .pn-trust-bar__managed-links a:focus-visible {
    color: var(--pn-color-primary-dark);
    text-decoration: none;
  }
  .pn-header__actions > .pn-header__account,
  .pn-header__actions > .pn-header__cart {
    display: none;
  }
}
@media (min-width: 64rem) {
  .pn-header__content {
    grid-template-columns: auto minmax(18rem, 1fr) auto;
    height: 5.25rem;
    min-height: 5.25rem;
    gap: var(--pn-space-4);
  }
  .pn-header__brand {
    display: flex;
    align-items: center;
    padding-block: 0;
  }
  .pn-header__desktop-search {
    display: block;
    width: min(100%, 20rem);
    justify-self: center;
  }
  .pn-header__desktop-search [id=search_widget] {
    width: 100%;
  }
  .pn-header__desktop-search form {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 2.75rem;
    align-items: center;
    overflow: hidden;
    border: 0.0625rem solid var(--pn-color-border);
    border-radius: var(--pn-radius-md);
    background: var(--pn-color-surface);
  }
  .pn-header__desktop-search input[type=text] {
    min-width: 0;
    min-height: 2.625rem;
    padding: 0 3.25rem 0 var(--pn-space-3);
    border: 0;
    background: transparent;
    color: var(--pn-color-text);
    font-size: 0.875rem;
  }
  .pn-header__desktop-search input[type=text]::placeholder {
    font-size: 0.875rem;
  }
  .pn-header__desktop-search .search-widgets .search {
    position: absolute;
    z-index: 1;
    right: 0.1875rem;
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    place-items: center;
    border-radius: 0.625rem;
    background: var(--pn-color-primary);
    color: var(--pn-color-text);
    font-size: 0.875rem;
    line-height: 1;
    pointer-events: none;
  }
  .pn-header__menu-toggle {
    display: none;
  }
  .pn-header__search-trigger {
    display: none;
  }
  .pn-header__action-label {
    display: inline;
    font-size: 1rem;
  }
  .pn-header__account {
    min-width: 2.625rem;
    min-height: 2.625rem;
    padding-inline: 0.375rem;
  }
  .pn-header__actions {
    gap: var(--pn-space-1);
  }
  .pn-header__cart {
    margin-left: var(--pn-space-1);
  }
  .pn-header__cart :is(a, button),
  .pn-header__cart :is(.blockcart, .blockcart .header) {
    min-height: 2.625rem;
  }
  .pn-header .pn-header__logo {
    width: auto !important;
    max-width: 4.5rem !important;
    height: 2.625rem !important;
    max-height: 2.625rem !important;
    object-fit: contain;
  }
  .pn-header__language button,
  .pn-header__language .dropdown-toggle {
    min-height: 2.625rem;
    padding-inline: 0.5rem;
    font-size: 0.875rem;
  }
}
.pn-navigation {
  display: none;
}

.pn-navigation .top-menu {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding: 0.75rem 0;
  list-style: none;
}

.pn-navigation .top-menu a {
  position: relative;
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  padding: 0.625rem var(--pn-space-3);
  border-radius: var(--pn-radius-sm);
  color: var(--pn-color-text);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
}

.pn-navigation .top-menu a::after {
  position: absolute;
  right: var(--pn-space-3);
  bottom: 0.3rem;
  left: var(--pn-space-3);
  height: 0.125rem;
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-primary-dark);
  content: "";
  transform: scaleX(0);
  transform-origin: center;
}

.pn-navigation .top-menu a:hover,
.pn-navigation .top-menu a:focus-visible,
.pn-navigation .top-menu .current > a,
.pn-navigation .top-menu a[aria-current=page] {
  background: var(--pn-color-primary);
}

.pn-navigation .top-menu a:hover::after,
.pn-navigation .top-menu a:focus-visible::after,
.pn-navigation .top-menu .current > a::after,
.pn-navigation .top-menu a[aria-current=page]::after {
  transform: scaleX(1);
}

.pn-navigation .top-menu a:focus-visible {
  outline: 0.1875rem solid var(--pn-color-accent);
  outline-offset: 0.125rem;
}

.pn-navigation__managed-links {
  margin: 0;
  padding: 0.75rem 0;
  list-style: none;
}

.pn-header[data-pn-menu-open=true] .pn-navigation {
  display: block;
}

@media (prefers-reduced-motion: no-preference) {
  .pn-navigation .top-menu a {
    transition: background-color 160ms ease, color 160ms ease;
  }
  .pn-navigation .top-menu a::after {
    transition: transform 160ms ease;
  }
}
@media (min-width: 64rem) {
  .pn-navigation {
    display: block;
    height: 3.125rem;
  }
  .pn-navigation .top-menu {
    display: flex;
    height: 100%;
    flex-wrap: nowrap;
    gap: 2.5rem;
    align-items: center;
    justify-content: flex-start;
    padding-block: 0;
  }
  .pn-navigation__managed-links {
    display: inline-flex !important;
    height: 100% !important;
    margin-left: 1.5rem !important;
    padding-block: 0 !important;
    vertical-align: middle;
  }
  .pn-navigation__managed-links li {
    display: flex;
    align-items: center;
  }
  .pn-navigation .top-menu a {
    min-height: 2.75rem;
    padding-inline: 0.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
  }
}
.pn-footer {
  margin-top: var(--pn-section-space);
  background: #f7f8f3;
  color: #3d4a2a;
  font-family: var(--pn-font-family-ui, Nunito, Arial, sans-serif);
}

.pn-footer a {
  color: inherit;
  transition: color 150ms ease;
}

.pn-footer__newsletter {
  background: #eef2e6;
  border-top: 0.0625rem solid #dce4d0;
  border-bottom: 0.0625rem solid #dce4d0;
  color: #2c3522;
}

.pn-footer__newsletter-content {
  display: grid;
  gap: var(--pn-space-4);
  padding-block: var(--pn-space-5);
}

.pn-footer__newsletter-content > div:first-child h2 {
  font-size: 1.35rem;
  font-weight: 700;
  color: #2c3522;
  margin-bottom: 0.375rem;
}

.pn-footer__newsletter-content > div:first-child p {
  font-size: 0.9375rem;
  color: #556146;
  margin: 0;
  line-height: 1.5;
}

.pn-footer__newsletter [class~=block_newsletter] {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 1.125rem 1.25rem;
  background: #ffffff;
  border: 0.0625rem solid #e2e8dc;
  border-radius: 0.875rem;
  box-shadow: 0 0.125rem 0.625rem rgba(60, 75, 40, 0.04);
}

.pn-footer__newsletter [class~=block_newsletter] > .row,
.pn-footer__newsletter [class~=block_newsletter] form > .row {
  display: grid;
  gap: 0.625rem;
  margin: 0;
}

.pn-footer__newsletter [class~=block_newsletter] :is([class*=col-], .input-wrapper) {
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}

.pn-footer__newsletter [class~=block_newsletter] form > .row > .col-xs-12:first-child {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
}

.pn-footer__newsletter [class~=block_newsletter] .input-wrapper {
  grid-column: 1;
  grid-row: 1;
}

.pn-footer__newsletter [class~=block_newsletter] input[name=email] {
  width: 100%;
  min-height: 2.625rem;
  padding-inline: 0.875rem;
  border: 0.0625rem solid #c9d4bd;
  border-radius: 0.5rem;
  background: #ffffff;
  color: #2c3522;
  font-family: inherit;
  font-size: 0.875rem;
}

.pn-footer__newsletter [class~=block_newsletter] input[name=email]:focus {
  outline: 0;
  border-color: #8e9e33;
  box-shadow: 0 0 0 0.1875rem rgba(142, 158, 51, 0.18);
}

.pn-footer__newsletter [class~=block_newsletter] input[name=submitNewsletter] {
  grid-column: 2;
  grid-row: 1;
  float: none;
  min-height: 2.625rem;
  margin: 0;
  padding: 0 1.25rem;
  border: 0;
  border-radius: 0.5rem;
  background: #8e9e33;
  color: #ffffff;
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 150ms ease;
}

.pn-footer__newsletter [class~=block_newsletter] input[name=submitNewsletter]:hover,
.pn-footer__newsletter [class~=block_newsletter] input[name=submitNewsletter]:focus-visible {
  background: #7a8829;
}

.pn-footer__newsletter [class~=block_newsletter] form > .row > .col-xs-12:last-child p {
  margin: 0;
  font-size: 0.75rem;
  color: #758265;
  line-height: 1.4;
}

.pn-footer__main {
  padding-block: var(--pn-space-6);
  background: #f7f8f3;
}

.pn-footer__grid {
  display: grid;
  gap: var(--pn-space-6);
}

.pn-footer__column :is(ul, ol) {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pn-footer__column li + li {
  margin-top: 0.375rem;
}

.pn-footer__title {
  margin: 0 0 0.875rem;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #2c3522;
}

.pn-footer__column :is(.title, .block-contact-title, .h3, h4) {
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7a56;
  margin-bottom: 0.5rem;
}

.pn-footer__column a {
  color: #4a5737;
  font-size: 0.875rem;
  text-decoration: none;
  line-height: 1.6;
}

.pn-footer__column a:hover,
.pn-footer__column a:focus-visible {
  color: #8e9e33;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}

.pn-footer .block-contact,
.pn-footer .block-contact :is(#contact-infos, p, span, div) {
  color: #4a5737;
  font-size: 0.875rem;
  line-height: 1.6;
}

.pn-footer .block-contact a {
  color: #5a6b47;
  font-weight: 600;
  text-decoration: none;
}

.pn-footer .block-contact a:hover {
  color: #8e9e33;
  text-decoration: underline;
}

.pn-footer .block-social ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pn-footer .block-social li {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background-color: #5a6b47 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  box-shadow: 0 0.0625rem 0.25rem rgba(60, 75, 40, 0.15);
  transition: background-color 150ms ease, transform 150ms ease;
}

.pn-footer .block-social li:hover {
  background-color: #3d4a26 !important;
  transform: translateY(-0.0625rem);
}

.pn-footer .block-social a {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  font-size: 0;
  color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1.125rem;
}

.pn-footer .block-social li a {
  filter: brightness(0.25) sepia(1) hue-rotate(50deg) saturate(2);
}

.pn-footer .block-social li:hover a {
  filter: brightness(0) invert(1);
}

.pn-footer__bottom {
  border-top: 0.0625rem solid #dce2d2;
  background: #edf0e6;
  padding-block: 0.875rem;
  font-size: 0.8125rem;
  color: #6b7858;
}

.pn-footer__bottom .pn-container,
.pn-footer__bottom .container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 1.5rem;
  text-align: center;
}

.pn-footer__bottom a {
  color: #556146;
  text-decoration: none;
}

.pn-footer__bottom a:hover {
  color: #8e9e33;
  text-decoration: underline;
}

@media (min-width: 48rem) {
  .pn-footer__newsletter-content {
    grid-template-columns: 1fr minmax(18rem, 30rem);
    align-items: center;
  }
  .pn-footer__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.pn-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--pn-space-2);
  min-height: 2.75rem;
  padding: var(--pn-space-3) var(--pn-space-4);
  border: 0.125rem solid transparent;
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-primary);
  color: var(--pn-color-text);
  font: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.pn-button:hover {
  border-color: var(--pn-color-primary-dark);
  box-shadow: var(--pn-shadow-sm);
}
.pn-button:active {
  transform: translateY(0.0625rem);
}
.pn-button:disabled, .pn-button[aria-disabled=true] {
  cursor: not-allowed;
  opacity: 0.55;
}

.pn-button--secondary {
  border-color: var(--pn-color-accent);
  background: var(--pn-color-surface);
}

.pn-button--danger {
  background: var(--pn-color-danger);
  color: var(--pn-color-text-inverse);
}

.pn-button--outline {
  border-color: var(--pn-color-text);
  background: var(--pn-color-surface);
}

.pn-button--small {
  min-height: 2.25rem;
  padding: var(--pn-space-2) var(--pn-space-3);
}

.pn-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  padding: var(--pn-space-1) var(--pn-space-2);
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-primary);
  color: var(--pn-color-text);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1;
}

.pn-badge--success {
  border: 0.0625rem solid var(--pn-color-success);
  background: var(--pn-color-surface);
}

.pn-badge--warning {
  background: var(--pn-color-warning);
}

.pn-badge--danger {
  background: var(--pn-color-danger);
  color: var(--pn-color-text-inverse);
}

.pn-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 0.0625rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  box-shadow: var(--pn-shadow-sm);
}

.pn-card__media {
  display: block;
  width: 100%;
}

.pn-card__body {
  display: grid;
  gap: var(--pn-space-3);
  padding: var(--pn-space-5);
}

.pn-card__footer {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pn-space-2);
  padding: 0 var(--pn-space-4) var(--pn-space-4);
}

.pn-card--interactive {
  transition: box-shadow 160ms ease, transform 160ms ease;
}

.pn-card--interactive:hover {
  box-shadow: var(--pn-shadow-md);
  transform: translateY(-0.125rem);
}

.pn-form {
  display: grid;
  gap: var(--pn-space-4);
}

.pn-form__field {
  display: grid;
  gap: var(--pn-space-2);
}

.pn-form__label {
  color: var(--pn-color-text);
  font-weight: 700;
}

.pn-form__control {
  width: 100%;
  min-height: 2.75rem;
  padding: var(--pn-space-3);
  border: 0.125rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-sm);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  font: inherit;
}

.pn-form__control:invalid {
  border-color: var(--pn-color-danger);
}

.pn-form__help {
  margin: 0;
  font-size: 0.875rem;
}

.pn-form__help--error {
  color: var(--pn-color-danger);
}

.pn-alert {
  display: flex;
  gap: var(--pn-space-3);
  padding: var(--pn-space-4);
  border: 0.125rem solid var(--pn-color-text);
  border-radius: var(--pn-radius-md);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
}

.pn-alert--success {
  border-color: var(--pn-color-accent);
  border-inline-start-width: 0.375rem;
}

.pn-alert--warning {
  background: var(--pn-color-warning);
}

.pn-alert--error {
  border-color: var(--pn-color-danger);
  background: var(--pn-color-danger);
  color: var(--pn-color-text-inverse);
}

.pn-breadcrumbs {
  overflow: hidden;
  padding-block: 0.4375rem;
  margin-bottom: 0.6875rem;
}

.pn-breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pn-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.pn-breadcrumbs__item {
  min-width: 0;
  overflow-wrap: anywhere;
}

.pn-breadcrumbs__item + .pn-breadcrumbs__item::before {
  margin-right: var(--pn-space-2);
  color: var(--pn-color-text);
  content: "/";
}

.pn-breadcrumbs__link {
  color: var(--pn-color-text);
}

.pn-breadcrumbs__item[aria-current=page] {
  font-weight: 700;
}

.pn-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pn-space-2);
  justify-content: center;
}

.pn-pagination__link {
  display: inline-grid;
  min-width: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  border: 0.125rem solid var(--pn-color-text);
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  font-weight: 700;
  text-decoration: none;
}

.pn-pagination__link[aria-current=page] {
  background: var(--pn-color-primary);
}

.pn-accordion {
  border-top: 0.0625rem solid var(--pn-color-border);
}

.pn-accordion__item {
  border-bottom: 0.0625rem solid var(--pn-color-border);
}

.pn-accordion__trigger {
  display: flex;
  width: 100%;
  justify-content: space-between;
  gap: var(--pn-space-3);
  padding: var(--pn-space-4) 0;
  border: 0;
  background: transparent;
  color: var(--pn-color-text);
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.pn-accordion__panel {
  padding: 0 0 var(--pn-space-4);
}

.pn-tabs__list {
  display: flex;
  gap: var(--pn-space-2);
  overflow-x: auto;
  border-bottom: 0.125rem solid var(--pn-color-border);
}

.pn-tabs__tab {
  flex: 0 0 auto;
  padding: var(--pn-space-3) var(--pn-space-4);
  border: 0;
  border-bottom: 0.25rem solid transparent;
  background: transparent;
  color: var(--pn-color-text);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.pn-tabs__tab[aria-selected=true] {
  border-bottom-color: var(--pn-color-accent);
}

.pn-tabs__panel {
  padding-block: var(--pn-space-4);
}

.pn-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: var(--pn-space-4);
  background: var(--pn-color-overlay);
}

.pn-modal__dialog {
  width: min(100%, 40rem);
  max-height: calc(100vh - var(--pn-space-8));
  overflow: auto;
  padding: var(--pn-space-5);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  box-shadow: var(--pn-shadow-md);
}

.pn-modal__header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--pn-space-3);
}

.pn-modal__close {
  min-width: 2.75rem;
  min-height: 2.75rem;
  border: 0;
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-primary);
  color: var(--pn-color-text);
  font: inherit;
  cursor: pointer;
}

.pn-product-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 0.0625rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  box-shadow: var(--pn-shadow-sm);
  height: 100%;
}

.pn-product-card :is(.thumbnail-container, .product-thumbnail) {
  display: block;
  overflow: hidden;
  border-radius: var(--pn-radius-md);
}

.pn-product-card :is(.thumbnail-container img, .product-thumbnail img) {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.pn-product-card__price {
  color: var(--pn-color-text);
  font-size: 1.25rem;
  font-weight: 800;
}

.pn-product-card__actions {
  display: grid;
  gap: var(--pn-space-2);
}

@media (min-width: 48rem) {
  .pn-product-card__actions {
    grid-template-columns: 1fr auto;
  }
}
.pn-education-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 0.0625rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  box-shadow: var(--pn-shadow-sm);
  border-color: var(--pn-color-accent);
}

.pn-education-card__eyebrow {
  margin: 0;
  color: var(--pn-color-text);
  font-size: 0.875rem;
  font-weight: 800;
  text-transform: uppercase;
}

.pn-education-card__title {
  margin: 0;
  font-size: 1.25rem;
}

.pn-camp-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 0.0625rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  box-shadow: var(--pn-shadow-sm);
  border-color: var(--pn-color-primary-dark);
}

.pn-camp-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pn-space-2);
  color: var(--pn-color-text);
  font-size: 0.875rem;
}

.pn-camp-card__availability {
  font-weight: 800;
}

.pn-booking-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 0.0625rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  box-shadow: var(--pn-shadow-sm);
  border-color: var(--pn-color-info);
}

.pn-booking-card__slots {
  display: grid;
  gap: var(--pn-space-2);
}

.pn-booking-card__slot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--pn-space-3);
  padding: var(--pn-space-3);
  border: 0.0625rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-sm);
}

.pn-trust-feature {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--pn-space-3);
  align-items: start;
}

.pn-trust-feature__icon {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-primary);
  color: var(--pn-color-text);
}

.pn-trust-feature__title {
  margin: 0;
  font-size: 1rem;
}

.pn-trust-feature__text {
  margin: var(--pn-space-1) 0 0;
}

.pn-empty-state {
  display: grid;
  justify-items: center;
  gap: var(--pn-space-4);
  padding: var(--pn-space-7) var(--pn-space-4);
  border: 0.125rem dashed var(--pn-color-border);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-background-soft);
  color: var(--pn-color-text);
  text-align: center;
}

.pn-empty-state__title {
  margin: 0;
  font-size: 1.25rem;
}

.pn-empty-state__text {
  max-width: 38rem;
  margin: 0;
}

.pn-section-heading {
  display: grid;
  gap: var(--pn-space-3);
  margin: 0 0 var(--pn-space-5);
  color: var(--pn-color-text);
  font-size: clamp(2rem, 3.2vw, 2.625rem);
  line-height: 1.15;
}

.pn-section-heading__title {
  margin: 0;
  color: var(--pn-color-text);
  font-size: clamp(2rem, 3.2vw, 2.625rem);
  line-height: 1.15;
}

.pn-section-heading__title--decorative {
  font-family: var(--pn-font-family-decorative);
}

.pn-section-heading__description {
  max-width: 44rem;
  margin: 0;
}

@media (min-width: 48rem) {
  .pn-section-heading--split {
    grid-template-columns: 1fr auto;
    align-items: end;
  }
}
.pn-homepage {
  overflow: clip;
}

.pn-home-hero {
  padding-block: var(--pn-section-space);
  background: var(--pn-color-background-soft);
}

.pn-home-hero__grid {
  display: grid;
  gap: var(--pn-space-6);
  align-items: center;
  min-height: 30rem;
}

.pn-home-hero__content {
  min-width: 0;
  max-width: 37rem;
  padding-block: var(--pn-space-4);
}

.pn-home-hero__eyebrow {
  margin: 0 0 var(--pn-space-2);
  color: var(--pn-color-text);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: var(--pn-color-primary-dark);
  text-decoration-thickness: 0.1875rem;
  text-underline-offset: 0.25rem;
}

.pn-home-hero__title {
  margin: 0;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-decorative);
  font-size: clamp(2.125rem, 5vw, 4rem);
  font-weight: 400;
  line-height: 1.12;
}

.pn-home-hero__text {
  max-width: 36rem;
  margin: var(--pn-space-4) 0 0;
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  line-height: 1.65;
}

.pn-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pn-space-3);
  margin-top: var(--pn-space-5);
}

.pn-home-hero__media {
  min-height: 18rem;
  overflow: hidden;
  border-radius: 1.75rem;
  box-shadow: var(--pn-shadow-md);
}

.pn-home-hero__media :is(img, picture) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pn-home-hero__media > img {
  max-width: 100%;
  object-fit: cover;
}

.pn-home-hero__media--empty {
  display: grid;
  place-items: center;
}

.pn-home-hero__media--fallback {
  background: var(--pn-color-surface);
}

.pn-home-section {
  padding-block: var(--pn-section-space);
}

.pn-home-section:nth-of-type(even) {
  background: var(--pn-color-background-soft);
}

.pn-home-benefits {
  padding-block: var(--pn-section-space);
}

.pn-home-benefits__list {
  display: grid;
  gap: var(--pn-space-4);
  margin: var(--pn-space-5) 0 0;
  padding: 0;
  list-style: none;
}

.pn-home-newsletter {
  padding-block: var(--pn-section-space);
  background: var(--pn-color-primary);
  color: var(--pn-color-text);
}

.pn-home-newsletter__content {
  display: grid;
  gap: var(--pn-space-4);
  align-items: center;
}

.pn-home-content-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--pn-space-5);
  margin-top: var(--pn-space-5);
}

.pn-home-content-card {
  height: 100%;
  overflow: hidden;
}

.pn-home-content-card__image {
  display: block;
  aspect-ratio: 4/3;
  overflow: hidden;
}

.pn-home-content-card__image img,
.pn-home-teaser__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pn-home-content-card__body,
.pn-home-teaser__body {
  padding: var(--pn-space-5);
}

.pn-home-content-card__body .pn-card__title {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
}

.pn-home-content-card__body > :first-child,
.pn-home-teaser__body > :first-child {
  margin-top: 0;
}

.pn-home-teaser {
  display: grid;
  overflow: hidden;
  margin-top: var(--pn-space-5);
}

.pn-home-teaser__image {
  min-height: 18rem;
}

.pn-home-section[data-pn-lazy-images] img {
  max-width: 100%;
  height: auto;
}

.pn-home-newsletter [class~=block_newsletter] {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: var(--pn-space-4);
  background: var(--pn-color-surface);
}

.pn-home-newsletter [class~=block_newsletter] > .row,
.pn-home-newsletter [class~=block_newsletter] form > .row {
  display: grid;
  gap: var(--pn-space-3);
  margin: 0;
}

.pn-home-newsletter [class~=block_newsletter] :is([class*=col-], .input-wrapper) {
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}

.pn-home-newsletter [class~=block_newsletter] form > .row > .col-xs-12:first-child {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--pn-space-2);
  align-items: start;
}

.pn-home-newsletter [class~=block_newsletter] .input-wrapper {
  grid-column: 1;
  grid-row: 1;
}

.pn-home-newsletter [class~=block_newsletter] input[name=email] {
  width: 100%;
  min-height: 2.75rem;
  padding-inline: var(--pn-space-3);
  border: 0.0625rem solid var(--pn-color-border);
  color: var(--pn-color-text);
}

.pn-home-newsletter [class~=block_newsletter] input[name=submitNewsletter] {
  grid-column: 2;
  grid-row: 1;
  float: none;
  min-height: 2.75rem;
  margin: 0;
}

.pn-home-newsletter [class~=block_newsletter] form > .row > .col-xs-12:last-child p {
  margin: 0;
  font-size: 0.875rem;
}

@media (min-width: 48rem) {
  .pn-home-hero__grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(26rem, 1.05fr);
  }
  .pn-home-hero__media {
    height: clamp(30rem, 40vw, 35rem);
    min-height: 0;
  }
  .pn-home-benefits__list {
    grid-template-columns: repeat(3, 1fr);
  }
  .pn-home-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pn-home-content-grid--products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .pn-home-teaser {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.8fr);
    align-items: center;
  }
  .pn-home-teaser__image {
    min-height: 24rem;
  }
  .pn-home-newsletter__content {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 28rem);
  }
}
@media (min-width: 64rem) {
  .pn-home-content-grid:not(.pn-home-content-grid--products) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .pn-home-content-grid--cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.pn-category-hero {
  padding-block: var(--pn-space-4);
  border-bottom: 0.0625rem solid var(--pn-color-border);
  background: var(--pn-color-surface);
}

.pn-category-hero__content {
  display: block;
}

.pn-category-hero__title {
  margin: 0;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 600;
  line-height: 1.15;
}

.pn-category-hero__description {
  max-width: 48rem;
  margin-top: var(--pn-space-2);
  font-size: 0.875rem;
  line-height: 1.45;
}

.pn-category-subcategories {
  padding-block: var(--pn-space-3);
}

.pn-category-subcategories__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pn-category-subcategories__list a {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  padding: 0.35rem 0.75rem;
  border: 0.0625rem solid color-mix(in srgb, var(--pn-color-text) 14%, transparent);
  border-radius: var(--pn-radius-sm);
  background: var(--pn-card-activity-bg);
  color: var(--pn-color-text);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.pn-category-page {
  padding-block: var(--pn-space-4);
}

body#category #content-wrapper.left-column {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}

.pn-category-page__layout {
  display: grid;
  gap: var(--pn-space-4);
}

.pn-category-page--no-filters .pn-category-page__layout {
  grid-template-columns: minmax(0, 1fr);
}

.pn-category-page__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pn-space-3);
  align-items: center;
  justify-content: space-between;
}

.pn-category-page__count {
  margin: 0;
  font-weight: 700;
}

.pn-category-page__view-toggle {
  display: flex;
  gap: var(--pn-space-1);
}

.pn-category-page__view-toggle button {
  border: 0.0625rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-sm);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  cursor: pointer;
}

.pn-category-page__view-toggle button[aria-pressed=true] {
  background: var(--pn-color-primary);
}

.pn-category-page__filters {
  display: none;
}

.pn-category-page__filter-backdrop {
  position: fixed;
  z-index: 190;
  inset: 0;
  border: 0;
  background: var(--pn-color-overlay);
  cursor: default;
}

.pn-category-page[data-pn-filter-open=true] .pn-category-page__filters {
  position: fixed;
  z-index: 200;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: min(100%, 24rem);
  overflow-y: auto;
  padding: var(--pn-space-5);
  background: var(--pn-color-surface);
  box-shadow: var(--pn-shadow-lg);
}

.pn-category-page__filters-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--pn-space-3);
}

.pn-category-page__filters-header h2 {
  margin: 0;
}

.pn-category-page__filter-close {
  border: 0;
  background: transparent;
  color: var(--pn-color-text);
  font-weight: 700;
  cursor: pointer;
}

.pn-category-page__active-filters {
  padding-block: var(--pn-space-3);
}

.pn-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--pn-space-4);
  width: 100%;
}

.pn-product-grid[data-pn-view=list] {
  grid-template-columns: 1fr;
}

/* Product-card links intentionally share the category page's native link
 * surface while receiving a more specific card treatment. */
/* stylelint-disable no-descending-specificity */
.pn-product-card {
  min-width: 0;
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
}

.pn-product-card__media {
  position: relative;
}

.pn-product-card__image-link {
  display: block;
  width: 100%;
  max-height: 13.75rem;
  aspect-ratio: 1/1;
  margin-inline: auto;
  overflow: hidden;
  padding: 0.75rem;
  box-sizing: border-box;
  border-radius: var(--pn-radius-md);
  background: var(--pn-color-surface);
}

.pn-product-card__image-link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pn-product-card__image-placeholder {
  display: block;
  aspect-ratio: 1/1;
}

.pn-product-card__badges {
  position: absolute;
  top: var(--pn-space-2);
  left: var(--pn-space-2);
  display: flex;
  flex-wrap: wrap;
  gap: var(--pn-space-1);
}

.pn-product-card__badges .pn-badge {
  min-height: 1.375rem;
  padding: 0.2rem 0.45rem;
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-control-subtle);
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 0.6875rem;
  font-weight: 600;
}

.pn-product-card--education .pn-product-card__badges .pn-badge,
.pn-product-card--education .pn-badge {
  background: var(--pn-color-primary-dark);
  color: var(--pn-color-text-inverse);
  font-weight: 700;
}

.pn-product-card__wishlist {
  position: absolute;
  top: var(--pn-space-2);
  right: var(--pn-space-2);
  z-index: 1;
}

.pn-product-card__wishlist :is(button, a) {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  box-shadow: var(--pn-shadow-sm);
}

.pn-product-card__wishlist svg {
  width: 1.125rem;
  height: 1.125rem;
}

.pn-product-card__body {
  display: flex;
  min-width: 0;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 0.375rem;
  padding: 0.625rem 0.875rem 0.75rem;
}

.pn-product-card__title {
  display: -webkit-box;
  min-height: 2.5em;
  margin: 0;
  overflow: hidden;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.pn-product-card__title a {
  color: var(--pn-color-text);
  font-family: inherit;
  font-weight: inherit;
  text-decoration: none;
}

.pn-product-card__camp-session {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  margin: 0.125rem 0 0.25rem;
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 0.8125rem;
  line-height: 1.35;
}

.pn-product-card__camp-session-label {
  color: var(--pn-color-primary-dark);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.01em;
}

.pn-product-card__camp-session-date {
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-weight: 600;
  font-size: 0.8125rem;
}

.pn-product-card__camp-session-more {
  color: var(--pn-color-primary-dark);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 0.75rem;
  font-weight: 600;
  font-style: italic;
}

.pn-category-subcategories__list a:hover,
.pn-category-subcategories__list a:focus-visible {
  border-color: var(--pn-color-primary-dark);
  color: var(--pn-color-primary-dark);
}

.pn-category-landing {
  padding-block: clamp(2.5rem, 6vw, 5rem);
  background: var(--pn-color-surface);
}

.pn-category-landing__eyebrow {
  margin: 0 0 var(--pn-space-2);
  color: var(--pn-color-primary-dark);
  font-family: var(--pn-font-family-decorative);
  font-size: 1rem;
}

.pn-category-landing__title {
  margin: 0;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.08;
}

.pn-category-landing__intro {
  max-width: 44rem;
  margin: var(--pn-space-4) 0 0;
  color: color-mix(in srgb, var(--pn-color-text) 72%, var(--pn-color-surface));
  font-size: 1rem;
  line-height: 1.55;
}

.pn-category-landing__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2rem);
  margin-top: clamp(2rem, 4vw, 3rem);
}

.pn-category-landing__card {
  position: relative;
  display: grid;
  min-height: 15rem;
  align-content: end;
  gap: var(--pn-space-2);
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 0.0625rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-card-activity-bg);
  box-shadow: var(--pn-shadow-sm);
  color: var(--pn-color-text);
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.pn-category-landing__card::before {
  position: absolute;
  top: -3rem;
  right: -2rem;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--pn-color-primary) 30%, transparent);
  content: "";
}

.pn-category-landing__card:nth-child(2) {
  background: color-mix(in srgb, var(--pn-color-info) 32%, var(--pn-color-surface));
}

.pn-category-landing__card:nth-child(2)::before {
  background: color-mix(in srgb, var(--pn-color-primary-dark) 18%, transparent);
}

.pn-category-landing__card:hover,
.pn-category-landing__card:focus-visible {
  border-color: var(--pn-color-primary-dark);
  box-shadow: var(--pn-shadow-md);
  color: var(--pn-color-text);
  transform: translateY(-0.125rem);
}

.pn-category-landing__card:focus-visible {
  outline: 0.125rem solid var(--pn-color-primary-dark);
  outline-offset: 0.1875rem;
}

.pn-category-landing__card-kicker,
.pn-category-landing__card-title,
.pn-category-landing__card-text,
.pn-category-landing__card-cta {
  position: relative;
  z-index: 1;
}

.pn-category-landing__card-kicker {
  color: var(--pn-color-primary-dark);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pn-category-landing__card-title {
  font-family: var(--pn-font-family-ui);
  font-size: clamp(1.5rem, 2.5vw, 2.125rem);
  font-weight: 700;
  line-height: 1.1;
}

.pn-category-landing__card-text {
  max-width: 26rem;
  font-size: 0.9375rem;
  line-height: 1.45;
}

.pn-category-landing__card-cta {
  margin-top: var(--pn-space-2);
  color: var(--pn-color-primary-dark);
  font-size: 0.875rem;
  font-weight: 700;
}

.pn-category-landing__arrow {
  display: inline-block;
  width: 0.75rem;
  height: 0.75rem;
  margin-left: 0.25rem;
  transition: transform 180ms ease;
}

.pn-category-landing__arrow::before {
  display: block;
  content: "→";
}

.pn-category-landing__card:hover .pn-category-landing__arrow,
.pn-category-landing__card:focus-visible .pn-category-landing__arrow {
  transform: translateX(0.25rem);
}

.pn-product-card__features {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.5rem;
  margin: 0;
  padding: 0;
  color: color-mix(in srgb, var(--pn-color-text) 68%, var(--pn-color-surface));
  font-size: 0.6875rem;
  line-height: 1.3;
  list-style: none;
}

.pn-product-card__features li:not(:last-child)::after {
  margin-left: 0.5rem;
  content: "|";
}

.pn-product-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--pn-space-2);
  margin-top: 0.25rem;
}

.pn-product-card__purchase {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.5rem;
}

.pn-product-card__price {
  margin: 0;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
}

.pn-product-card__variants {
  display: flex;
  flex-basis: 100%;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.125rem;
}

.pn-product-card__variants a {
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  border: 0.0625rem solid var(--pn-color-primary-dark);
  border-radius: var(--pn-radius-pill);
}

.pn-product-card__availability {
  flex-basis: 100%;
  margin: 0.125rem 0 0;
  color: var(--pn-color-primary-dark);
  font-size: 0.6875rem;
  line-height: 1.3;
}

.pn-product-card__actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
}

.pn-product-card__add-to-cart {
  display: inline-grid;
  width: 2.5rem;
  min-width: 2.5rem;
  max-width: 2.5rem;
  height: 2.5rem;
  min-height: 2.5rem;
  max-height: 2.5rem;
  flex: 0 0 2.5rem;
  place-items: center;
  overflow: hidden;
  padding: 0;
  border: 0.0625rem solid color-mix(in srgb, var(--pn-color-primary-dark) 72%, transparent);
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-primary-dark);
  color: var(--pn-color-text-inverse);
  box-shadow: 0 0.125rem 0.375rem rgba(39, 44, 96, 0.12);
  font-size: 0;
  line-height: 1;
  text-decoration: none;
}

.pn-product-card__add-to-cart svg {
  display: block;
  width: 1.125rem;
  min-width: 1.125rem;
  max-width: 1.125rem;
  height: 1.125rem;
  min-height: 1.125rem;
  max-height: 1.125rem;
  flex: 0 0 1.125rem;
  fill: none;
  stroke: currentcolor;
}

.pn-product-card__add-to-cart:hover,
.pn-product-card__add-to-cart:focus-visible {
  background: var(--pn-color-text);
  color: var(--pn-color-text-inverse);
}

.pn-product-card__details {
  color: var(--pn-color-primary-dark);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
}

.pn-product-card__footer--education {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 2.25rem;
  margin-top: 0.125rem;
}

.pn-product-card:hover {
  box-shadow: 0 0.375rem 1.125rem rgba(39, 44, 96, 0.12);
  transform: translateY(-0.0625rem);
}

.pn-product-card:focus-within {
  box-shadow: 0 0.375rem 1.125rem rgba(39, 44, 96, 0.12);
}

/* stylelint-enable no-descending-specificity */
/* Classic/visual-rebuild sets a generic 100% height on product cards. Keep
 * category cards content-sized so the compact footer cannot create a blank
 * lower panel. The body scope also keeps the cart control isolated from
 * generic icon/button rules. */
body#category .pn-product-card {
  height: auto;
  min-height: 0;
}

body#category .pn-product-card__add-to-cart {
  width: 2.5rem;
  min-width: 2.5rem;
  max-width: 2.5rem;
  height: 2.5rem;
  min-height: 2.5rem;
  max-height: 2.5rem;
  padding: 0;
  background: var(--pn-color-primary-dark);
  color: var(--pn-color-text-inverse);
}

body#category .pn-product-card__add-to-cart svg {
  width: 1.125rem;
  min-width: 1.125rem;
  max-width: 1.125rem;
  height: 1.125rem;
  min-height: 1.125rem;
  max-height: 1.125rem;
}

.pn-category-extra {
  padding-block: var(--pn-space-7);
}

.pn-no-scroll {
  overflow: hidden;
}

@media (min-width: 48rem) {
  .pn-category-page__layout {
    grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
    align-items: start;
  }
  .pn-category-page__filter-toggle {
    display: none;
  }
  .pn-category-page__filter-backdrop {
    display: none;
  }
  .pn-category-page__filters {
    position: sticky;
    top: var(--pn-space-4);
    display: block;
    padding: var(--pn-space-4);
    border: 0.0625rem solid var(--pn-color-border);
    border-radius: var(--pn-radius-md);
  }
  .pn-category-page__filter-close {
    display: none;
  }
  .pn-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .pn-product-grid[data-pn-view=list] {
    grid-template-columns: 1fr;
  }
  .pn-product-grid[data-pn-view=list] .pn-product-card {
    display: grid;
    grid-template-columns: minmax(12rem, 16rem) 1fr;
    gap: var(--pn-space-4);
  }
  .pn-product-grid[data-pn-view=list] .pn-product-card__body {
    padding-top: 0.875rem;
  }
  .pn-product-grid[data-pn-view=list] .pn-product-card__image-link {
    width: 100%;
    margin: 0;
  }
}
/* Shared catalogue controls: keep native facets and sorting, and refine their
 * presentation for normal product-listing categories. ID41 is a dedicated
 * landing page and is intentionally excluded from this scope. */
/* stylelint-disable no-descending-specificity */
body#category:not(.category-id-41) .pn-category-page__layout {
  gap: var(--pn-space-4);
}

@media (min-width: 48rem) {
  body#category:not(.category-id-41) .pn-category-page__layout {
    grid-template-columns: minmax(15rem, 16.5rem) minmax(0, 1fr);
  }
}
body#category:not(.category-id-41) .pn-category-page__filters {
  background: var(--pn-color-surface);
  border: 0.0625rem solid color-mix(in srgb, var(--pn-color-text) 10%, transparent);
  border-radius: var(--pn-radius-md);
  box-shadow: 0 0.35rem 1.25rem color-mix(in srgb, var(--pn-color-text) 4%, transparent);
}

body#category:not(.category-id-41) [id=search_filters] > p.text-uppercase.h6.hidden-sm-down {
  display: none;
}

body#category:not(.category-id-41) [id=search_filters] {
  color: var(--pn-color-text);
}

body#category:not(.category-id-41) [id=search_filters] .facet {
  padding-top: 0.875rem;
}

body#category:not(.category-id-41) [id=search_filters] .facet + .facet {
  margin-top: 0.75rem;
}

body#category:not(.category-id-41) [id=search_filters] .facet-title {
  margin-bottom: 0.5rem;
  color: var(--pn-color-text);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.3;
}

body#category:not(.category-id-41) [id=search_filters] .facet ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

body#category:not(.category-id-41) [id=search_filters] .facet-label {
  display: flex;
  min-height: 2rem;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  color: color-mix(in srgb, var(--pn-color-text) 78%, var(--pn-color-surface));
  font-size: 0.875rem;
  line-height: 1.35;
}

body#category:not(.category-id-41) [id=search_filters] .facet-label a {
  color: inherit;
  text-decoration: none;
}

body#category:not(.category-id-41) [id=search_filters] .facet-label a:hover,
body#category:not(.category-id-41) [id=search_filters] .facet-label a:focus-visible {
  color: var(--pn-color-primary-dark);
}

body#category:not(.category-id-41) [id=search_filters] .custom-checkbox {
  display: inline-grid;
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 1.125rem;
  place-items: center;
}

body#category:not(.category-id-41) [id=search_filters] .custom-checkbox input {
  width: 1.125rem;
  height: 1.125rem;
  margin: 0;
  accent-color: var(--pn-color-primary-dark);
}

body#category:not(.category-id-41) .pn-category-page__toolbar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--pn-space-3);
  align-items: center;
  padding-block: 0.25rem 0.75rem;
  border-bottom: 0.0625rem solid color-mix(in srgb, var(--pn-color-text) 8%, transparent);
}

body#category:not(.category-id-41) .pn-category-page__count {
  color: color-mix(in srgb, var(--pn-color-text) 68%, var(--pn-color-surface));
  font-size: 0.9375rem;
  font-weight: 400;
  white-space: nowrap;
}

body#category:not(.category-id-41) .pn-category-page__sorting {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

body#category:not(.category-id-41) .pn-category-page__sorting .sort-by {
  display: inline-flex !important;
  width: auto !important;
  align-items: center;
  padding: 0 !important;
  color: var(--pn-color-text);
  font-size: 0.875rem;
  white-space: nowrap;
}

body#category:not(.category-id-41) .pn-category-page__sorting .products-sort-order {
  display: block !important;
  width: auto !important;
  padding: 0 !important;
}

body#category:not(.category-id-41) .pn-category-page__sorting .select-title {
  display: inline-flex;
  min-width: 10.5rem;
  min-height: 2.375rem;
  align-items: center;
  justify-content: space-between;
  padding: 0 0.75rem;
  border: 0.0625rem solid color-mix(in srgb, var(--pn-color-text) 16%, transparent);
  border-radius: var(--pn-radius-sm);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  font-size: 0.875rem;
}

body#category:not(.category-id-41) .pn-category-page__sorting .select-title:hover,
body#category:not(.category-id-41) .pn-category-page__sorting .select-title:focus-visible {
  border-color: var(--pn-color-primary-dark);
}

body#category:not(.category-id-41) .pn-category-page__view-toggle {
  display: inline-flex;
  gap: 0.375rem;
}

body#category:not(.category-id-41) .pn-category-page__view-toggle button {
  display: inline-grid;
  width: 2.375rem;
  height: 2.375rem;
  padding: 0;
  place-items: center;
  border: 0.0625rem solid color-mix(in srgb, var(--pn-color-text) 14%, transparent);
  border-radius: var(--pn-radius-sm);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
}

body#category:not(.category-id-41) .pn-category-page__view-toggle button[aria-pressed=true] {
  border-color: var(--pn-color-primary-dark);
  background: var(--pn-color-control-subtle);
  color: var(--pn-color-primary-dark);
}

body#category:not(.category-id-41) .pn-category-page__view-toggle button:hover,
body#category:not(.category-id-41) .pn-category-page__view-toggle button:focus-visible {
  border-color: var(--pn-color-primary-dark);
}

body#category:not(.category-id-41) .pn-category-page__view-toggle .material-icons {
  font-size: 1.25rem;
}

body#category:not(.category-id-41) .pn-category-page__view-toggle .pn-view-icon {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  position: relative;
}

body#category:not(.category-id-41) .pn-category-page__view-toggle .pn-view-icon--grid {
  background: linear-gradient(var(--pn-color-text) 0 0) 0 0/0.3125rem 0.3125rem, linear-gradient(var(--pn-color-text) 0 0) 100% 0/0.3125rem 0.3125rem, linear-gradient(var(--pn-color-text) 0 0) 0 100%/0.3125rem 0.3125rem, linear-gradient(var(--pn-color-text) 0 0) 100% 100%/0.3125rem 0.3125rem;
  background-repeat: no-repeat;
}

body#category:not(.category-id-41) .pn-category-page__view-toggle .pn-view-icon--list {
  background: linear-gradient(var(--pn-color-text) 0 0) 0 0.125rem/0.3125rem 0.3125rem, linear-gradient(var(--pn-color-text) 0 0) 0 0.5rem/0.3125rem 0.3125rem, linear-gradient(var(--pn-color-text) 0 0) 0 0.875rem/0.3125rem 0.3125rem;
  background-repeat: no-repeat;
}

body#category:not(.category-id-41) .pn-category-page__view-toggle .pn-view-icon--list::after {
  position: absolute;
  top: 0.125rem;
  right: 0;
  width: 0.625rem;
  height: 0.3125rem;
  border-top: 0.0625rem solid currentcolor;
  border-bottom: 0.0625rem solid currentcolor;
  content: "";
  box-shadow: 0 0.375rem currentcolor, 0 0.75rem currentcolor;
}

body#category:not(.category-id-41) .pn-category-page__products > [data-pn-product-grid] {
  margin-top: 0.75rem;
}

@media (width < 48rem) {
  body#category:not(.category-id-41) .pn-category-page__filter-toggle {
    display: inline-flex;
    min-height: 2.375rem;
    align-items: center;
    margin-bottom: var(--pn-space-3);
    border: 0.0625rem solid color-mix(in srgb, var(--pn-color-text) 14%, transparent);
    border-radius: var(--pn-radius-sm);
    background: var(--pn-color-surface);
    color: var(--pn-color-text);
  }
  body#category:not(.category-id-41) .pn-category-page__layout {
    display: block;
  }
  body#category:not(.category-id-41) .pn-category-page__toolbar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
  }
  body#category:not(.category-id-41) .pn-category-page__sorting {
    justify-content: flex-end;
  }
  body#category:not(.category-id-41) .pn-category-page__sorting .sort-by {
    display: none !important;
  }
  body#category:not(.category-id-41) .pn-category-page__sorting .select-title {
    min-width: 8.75rem;
  }
  body#category:not(.category-id-41) .pn-category-page__view-toggle {
    grid-column: 1/-1;
    justify-self: end;
  }
  body#category:not(.category-id-41) .pn-category-page__filters {
    width: min(100%, 22rem);
  }
}
/* stylelint-enable no-descending-specificity */
@media (min-width: 64rem) {
  .pn-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* Shared child/listing visual softening: keep the approved category structure
 * and native catalogue controls, but reduce the visual weight at real 100% zoom. */
/* stylelint-disable no-descending-specificity */
/* stylelint-disable no-duplicate-selectors */
body#category:not(.category-id-41) .pn-breadcrumbs {
  padding-block: 0.4375rem;
  margin-bottom: 0.6875rem;
}

body#category:not(.category-id-41) .pn-breadcrumbs__list {
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.35;
}

body#category:not(.category-id-41) .pn-breadcrumbs__item + .pn-breadcrumbs__item::before {
  margin-right: 0.5rem;
  color: color-mix(in srgb, var(--pn-color-text) 48%, var(--pn-color-surface));
}

body#category:not(.category-id-41) .pn-breadcrumbs__link,
body#category:not(.category-id-41) .pn-breadcrumbs__item > a {
  color: color-mix(in srgb, var(--pn-color-accent) 78%, var(--pn-color-text));
}

body#category:not(.category-id-41) .pn-breadcrumbs__item[aria-current=page] {
  font-weight: 500;
}

body#category:not(.category-id-41) .pn-category-hero {
  padding-block: 0.75rem;
}

body#category:not(.category-id-41) .pn-category-hero__title {
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.15;
}

body#category:not(.category-id-41) .pn-category-subcategories {
  padding-block: 0.5rem;
}

body#category:not(.category-id-41) .pn-category-subcategories__list {
  gap: 0.5rem 0.625rem;
}

body#category:not(.category-id-41) .pn-category-subcategories__list a {
  min-height: 2.375rem;
  padding: 0.35rem 0.75rem;
  border-color: color-mix(in srgb, var(--pn-color-text) 10%, transparent);
  border-radius: 0.625rem;
  background: var(--pn-card-activity-bg);
  font-size: 0.875rem;
  font-weight: 500;
}

body#category:not(.category-id-41) .pn-category-page {
  padding-block: 1rem;
}

body#category:not(.category-id-41) .pn-category-page__layout {
  gap: 1.25rem;
}

body#category:not(.category-id-41) .pn-category-page__filters {
  padding: 0.875rem;
  border-color: color-mix(in srgb, var(--pn-color-text) 7%, transparent);
  border-radius: 0.875rem;
  box-shadow: 0 0.25rem 1rem color-mix(in srgb, var(--pn-color-text) 3%, transparent);
}

body#category:not(.category-id-41) .pn-category-page__filters-header h2 {
  color: var(--pn-color-text);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
}

body#category:not(.category-id-41) [id=search_filters] .facet {
  padding-top: 0.6875rem;
}

body#category:not(.category-id-41) [id=search_filters] .facet + .facet {
  margin-top: 0.5rem;
}

body#category:not(.category-id-41) [id=search_filters] .facet-title {
  margin-bottom: 0.375rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.3;
}

body#category:not(.category-id-41) [id=search_filters] .facet-title {
  font-size: 0.875rem;
  font-weight: 600;
}

body#category:not(.category-id-41) [id=search_filters] .facet-label {
  min-height: 1.75rem;
  gap: 0.375rem;
  font-size: 0.8125rem;
  line-height: 1.35;
}

body#category:not(.category-id-41) [id=search_filters] .custom-checkbox,
body#category:not(.category-id-41) [id=search_filters] .custom-checkbox input {
  width: 1.0625rem;
  height: 1.0625rem;
  flex-basis: 1.0625rem;
}

body#category:not(.category-id-41) .pn-category-page__toolbar {
  gap: 0.75rem;
  padding-block: 0.125rem 0.5rem;
}

body#category:not(.category-id-41) .pn-category-page__count {
  font-size: 0.8125rem;
}

body#category:not(.category-id-41) .pn-category-page__sorting .sort-by {
  font-size: 0.8125rem;
}

body#category:not(.category-id-41) .pn-category-page__sorting .select-title {
  min-width: 9.5rem;
  min-height: 2.25rem;
  padding-inline: 0.625rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
}

body#category:not(.category-id-41) .pn-category-page__view-toggle {
  gap: 0.25rem;
}

body#category:not(.category-id-41) .pn-category-page__view-toggle button {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
}

body#category:not(.category-id-41) .pn-category-page__view-toggle .pn-view-icon {
  width: 1rem;
  height: 1rem;
}

body#category:not(.category-id-41) .pn-category-page__view-toggle .material-icons {
  font-size: 1.125rem;
}

body#category:not(.category-id-41) .pn-category-page__products > [data-pn-product-grid] {
  margin-top: 0.5rem;
}

body#category:not(.category-id-41) .pn-product-card {
  border-color: color-mix(in srgb, var(--pn-color-text) 10%, transparent);
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.75rem color-mix(in srgb, var(--pn-color-text) 5%, transparent);
}

body#category:not(.category-id-41) .pn-product-card__image-link {
  max-height: 12.5rem;
  padding: 0.625rem;
  border-radius: 0.875rem;
}

body#category:not(.category-id-41) .pn-product-card__body {
  gap: 0.25rem;
  padding: 0.5rem 0.75rem 0.625rem;
}

body#category:not(.category-id-41) .pn-product-card__title {
  min-height: 2.6em;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.3;
}

body#category:not(.category-id-41) .pn-product-card__price {
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 1.125rem;
  font-weight: 700;
}

body#category:not(.category-id-41) .pn-product-card__details {
  color: var(--pn-color-primary-dark);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 0.8125rem;
  font-weight: 600;
}

body#category:not(.category-id-41) .pn-product-card__footer {
  margin-top: 0.125rem;
  padding-top: 0;
}

body#category:not(.category-id-41) .pn-product-card__add-to-cart {
  width: 2.25rem;
  min-width: 2.25rem;
  max-width: 2.25rem;
  height: 2.25rem;
  min-height: 2.25rem;
  max-height: 2.25rem;
  flex-basis: 2.25rem;
}

body#category:not(.category-id-41) .pn-product-card__add-to-cart svg {
  width: 1rem;
  min-width: 1rem;
  max-width: 1rem;
  height: 1rem;
  min-height: 1rem;
  max-height: 1rem;
  flex-basis: 1rem;
}

body#category:not(.category-id-41) .pn-product-card__add-to-cart {
  width: 2.375rem;
  min-width: 2.375rem;
  max-width: 2.375rem;
  height: 2.375rem;
  min-height: 2.375rem;
  max-height: 2.375rem;
  flex-basis: 2.375rem;
}

body#category:not(.category-id-41) .pn-product-card__add-to-cart svg {
  width: 1.0625rem;
  min-width: 1.0625rem;
  max-width: 1.0625rem;
  height: 1.0625rem;
  min-height: 1.0625rem;
  max-height: 1.0625rem;
  flex-basis: 1.0625rem;
}

body#category:not(.category-id-41) .pn-product-card:hover {
  box-shadow: 0 0.35rem 1rem color-mix(in srgb, var(--pn-color-text) 8%, transparent);
}

@media (min-width: 48rem) {
  body#category:not(.category-id-41) .pn-category-page__layout {
    grid-template-columns: minmax(14.5rem, 15.25rem) minmax(0, 1fr);
  }
}
@media (width < 48rem) {
  body#category:not(.category-id-41) .pn-category-page__filters {
    width: min(100%, 20rem);
  }
}
/* stylelint-enable no-descending-specificity */
/* stylelint-enable no-duplicate-selectors */
/* ID9 compact pass: fit the first product row naturally at real 100% zoom
 * while preserving native category, filter and catalogue behaviour. */
/* stylelint-disable no-descending-specificity */
/* stylelint-disable no-duplicate-selectors */
body#category:not(.category-id-41) .pn-category-hero {
  padding-block: 0.375rem;
  border-bottom: 0;
}

body#category:not(.category-id-41) .pn-category-hero__title {
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.1;
}

body#category:not(.category-id-41) .pn-breadcrumbs {
  padding-block: 0.4375rem;
  margin-bottom: 0.6875rem;
}

body#category:not(.category-id-41) .pn-breadcrumbs__list {
  font-size: 0.8125rem;
  line-height: 1.25;
}

body#category:not(.category-id-41) .pn-category-subcategories {
  padding-block: 0.25rem;
}

body#category:not(.category-id-41) .pn-category-subcategories__list {
  gap: 0.5rem;
}

body#category:not(.category-id-41) .pn-category-subcategories__list a {
  min-height: 2rem;
  padding: 0.125rem 0.625rem;
  border-radius: 0.5rem;
  border-color: color-mix(in srgb, var(--pn-color-text) 5%, var(--pn-card-activity-bg));
  font-size: 0.8125rem;
}

body#category:not(.category-id-41) .pn-category-page {
  padding-block: 0.375rem;
}

body#category:not(.category-id-41) .pn-category-page__layout {
  gap: 0.875rem;
}

body#category:not(.category-id-41) .pn-category-page__filters {
  padding: 0.5rem;
  box-sizing: border-box;
  border: 0.0625rem solid color-mix(in srgb, var(--pn-color-text) 3%, var(--pn-card-activity-bg));
  border-radius: 0.75rem;
  background: var(--pn-color-surface);
  box-shadow: none;
}

body#category:not(.category-id-41) .pn-category-page__filters-header h2 {
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.15;
}

body#category:not(.category-id-41) [id=search_filters] .facet {
  padding-top: 0.25rem;
}

body#category:not(.category-id-41) [id=search_filters] .facet + .facet {
  margin-top: 0.375rem;
}

body#category:not(.category-id-41) [id=search_filters] .facet-title {
  width: auto;
  max-width: none;
  margin-bottom: 0.375rem;
  overflow: visible;
  color: var(--pn-color-primary-dark);
  font-family: var(--pn-font-family-decorative);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  text-overflow: clip;
  white-space: normal;
}

body#category:not(.category-id-41) [id=search_filters] .facet-label {
  display: flex;
  min-height: 1.5rem;
  align-items: center;
  column-gap: 0.4375rem;
  margin: 0;
  font-size: 0.7188rem;
  line-height: 1.3;
}

body#category:not(.category-id-41) [id=search_filters] .facet li + li {
  margin-top: 0.125rem;
}

body#category:not(.category-id-41) [id=search_filters] .facet .facet-label > .custom-checkbox {
  position: relative;
  top: 0;
  display: inline-grid;
  align-self: center;
  width: 0.75rem;
  height: 0.75rem;
  flex-basis: 0.75rem;
  margin: 0;
  padding: 0;
  place-items: center;
  vertical-align: middle;
  line-height: 0;
  transform: none;
}

body#category:not(.category-id-41) [id=search_filters] .facet .facet-label > .custom-checkbox > input {
  position: absolute;
  inset: 0;
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  margin: 0;
  padding: 0;
  vertical-align: middle;
  line-height: normal;
  transform: none;
  opacity: 0;
  accent-color: var(--pn-color-primary-dark);
}

body#category:not(.category-id-41) [id=search_filters] .facet .facet-label > .custom-checkbox > .ps-shown-by-js {
  display: grid;
  grid-area: 1/1;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  place-items: center;
  line-height: 0;
  transform: translateY(0.125rem);
}

body#category:not(.category-id-41) [id=search_filters] .facet .facet-label a {
  display: block;
  width: auto;
  min-width: 0;
  flex: 1 1 auto;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  margin: 0;
  line-height: 1.3;
}

body#category:not(.category-id-41) [id=search_filters] .facet .magnitude {
  color: color-mix(in srgb, var(--pn-color-text) 58%, var(--pn-color-surface));
  font-size: 0.7188rem;
  font-weight: 400;
}

body#category:not(.category-id-41) [id=search_filters] .facet[data-type=price] p[id^=facet_label_] {
  margin-block: 0.125rem 0;
  color: color-mix(in srgb, var(--pn-color-text) 58%, var(--pn-color-surface));
  font-size: 0.75rem;
  font-weight: 400;
}

/* ID16 has longer sheet-size labels. Give each native facet option enough
 * breathing room while retaining the compact, first-line checkbox alignment. */
body#category.category-id-16 [id=search_filters] .facet + .facet {
  margin-top: 1.125rem;
}

body#category.category-id-16 [id=search_filters] .facet-title {
  margin-bottom: 0.625rem;
}

body#category.category-id-16 [id=search_filters] .facet li {
  margin: 0 0 0.75rem;
}

body#category.category-id-16 [id=search_filters] .facet li:last-child {
  margin-bottom: 0;
}

body#category.category-id-16 [id=search_filters] .facet-label,
body#category.category-id-16 [id=search_filters] .facet .facet-label > a {
  line-height: 1.35;
}

body#category.category-id-16 [id=search_filters] .facet .facet-label > .custom-checkbox {
  align-self: flex-start;
}

/* ID23 is the adult sheets catalogue. Keep the child-only 10x80x160 value
 * available to ID16, but remove it from this category's customer-facing facet. */
body#category.category-id-23 [id=search_filters] .facet[data-type=attribute_group] li:has(input[data-search-url*="10x80x160cm"]) {
  display: none;
}

body#category.category-id-23 [id=search_filters] .facet + .facet {
  margin-top: 1.125rem;
}

body#category.category-id-23 [id=search_filters] .facet-title {
  margin-bottom: 0.625rem;
}

body#category.category-id-23 [id=search_filters] .facet li {
  margin: 0 0 0.75rem;
}

body#category.category-id-23 [id=search_filters] .facet li:last-child {
  margin-bottom: 0;
}

body#category.category-id-23 [id=search_filters] .facet-label,
body#category.category-id-23 [id=search_filters] .facet .facet-label > a {
  line-height: 1.35;
}

body#category.category-id-23 [id=search_filters] .facet .facet-label > .custom-checkbox {
  align-self: flex-start;
}

body#category:not(.category-id-41) .pn-category-page__toolbar {
  gap: 0.5rem;
  min-height: 2.5rem;
  padding-block: 0 0.25rem;
  border-bottom: 0;
}

body#category:not(.category-id-41) .pn-category-page__count,
body#category:not(.category-id-41) .pn-category-page__sorting .sort-by {
  font-size: 0.8125rem;
}

body#category:not(.category-id-41) .pn-category-page__sorting .select-title {
  min-width: 10rem;
  min-height: 2rem;
  padding-inline: 0.5rem;
  border-color: color-mix(in srgb, var(--pn-color-text) 5%, var(--pn-card-activity-bg));
  border-radius: 0.5rem;
  font-size: 0.8125rem;
}

body#category:not(.category-id-41) .pn-category-page__view-toggle {
  gap: 0.25rem;
}

body#category:not(.category-id-41) .pn-category-page__view-toggle button {
  width: 2rem;
  height: 2rem;
  border-color: color-mix(in srgb, var(--pn-color-text) 5%, var(--pn-card-activity-bg));
  border-radius: 0.5rem;
}

body#category:not(.category-id-41) .pn-category-page__view-toggle .pn-view-icon {
  width: 0.875rem;
  height: 0.875rem;
}

body#category:not(.category-id-41) .pn-category-page__products > [data-pn-product-grid] {
  margin-top: 0.25rem;
}

body#category:not(.category-id-41) .pn-product-grid {
  gap: 1rem 0.875rem;
}

body#category:not(.category-id-41) .pn-product-card {
  border-color: color-mix(in srgb, var(--pn-color-text) 6%, var(--pn-card-activity-bg));
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 0.875rem color-mix(in srgb, var(--pn-color-text) 6%, transparent);
}

body#category:not(.category-id-41) .pn-product-card:hover {
  border-color: color-mix(in srgb, var(--pn-color-primary-dark) 18%, var(--pn-card-activity-bg));
  box-shadow: 0 0.25rem 0.875rem color-mix(in srgb, var(--pn-color-text) 8%, transparent);
}

body#category:not(.category-id-41) .pn-product-card__image-link {
  max-height: 10.625rem;
  padding: 0.5rem;
  border-radius: 0.6875rem;
}

body#category:not(.category-id-41) .pn-product-card__body {
  gap: 0.125rem;
  padding: 0.375rem 0.625rem;
}

body#category:not(.category-id-41) .pn-product-card__title {
  min-height: 2.5em;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25;
}

body#category:not(.category-id-41) .pn-product-card__price {
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 1.125rem;
  font-weight: 700;
}

body#category:not(.category-id-41) .pn-product-card__details {
  color: var(--pn-color-primary-dark);
  font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
  font-size: 0.8125rem;
  font-weight: 600;
}

body#category:not(.category-id-41) .pn-product-card__footer {
  margin-top: 0;
}

body#category:not(.category-id-41) .pn-product-card__add-to-cart {
  width: 2rem;
  min-width: 2rem;
  max-width: 2rem;
  height: 2rem;
  min-height: 2rem;
  max-height: 2rem;
  flex-basis: 2rem;
}

body#category:not(.category-id-41) .pn-product-card__add-to-cart svg {
  width: 0.875rem;
  min-width: 0.875rem;
  max-width: 0.875rem;
  height: 0.875rem;
  min-height: 0.875rem;
  max-height: 0.875rem;
  flex-basis: 0.875rem;
}

@media (min-width: 48rem) {
  body#category:not(.category-id-41) .pn-category-page__layout {
    grid-template-columns: minmax(12.5rem, 13.125rem) minmax(0, 1fr);
  }
}
@media (min-width: 64rem) {
  body#category:not(.category-id-41) .pn-category-page__layout {
    grid-template-columns: minmax(14rem, 14.375rem) minmax(0, 1fr);
  }
}
@media (width < 48rem) {
  body#category:not(.category-id-41) .pn-category-hero__title {
    color: var(--pn-color-text);
    font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
    font-size: 1.75rem;
    font-weight: 600;
  }
  body#category:not(.category-id-41) .pn-category-page__filters {
    width: min(100%, 20rem);
  }
  body#category:not(.category-id-41) .pn-category-page__sorting .select-title {
    min-width: 8.75rem;
  }
}
@media (width >= 75rem) {
  body#category:not(.category-id-41) #header .pn-header__content {
    column-gap: 1.75rem;
  }
}
@media (width >= 64rem) {
  body#category:not(.category-id-41) .pn-category-hero__title {
    color: var(--pn-color-text);
    font-family: var(--pn-font-family-ui, "Nunito", Arial, Helvetica, sans-serif);
    font-size: 1.6875rem;
    font-weight: 600;
  }
  body#category:not(.category-id-41) .pn-category-subcategories__list a {
    min-height: 1.75rem;
    padding-inline: 0.5rem;
    font-size: 0.7813rem;
  }
}
@media (width < 48rem) {
  body#category:not(.category-id-41) [id=search_filters] .facet-label {
    min-height: 1.75rem;
    font-size: 0.8125rem;
    line-height: 1.35;
  }
  body#category:not(.category-id-41) [id=search_filters] .facet .facet-label > .custom-checkbox,
  body#category:not(.category-id-41) [id=search_filters] .facet .facet-label > .custom-checkbox > input {
    width: 1rem;
    height: 1rem;
    flex-basis: 1rem;
  }
  body#category:not(.category-id-41) [id=search_filters] .facet .magnitude {
    font-size: 0.75rem;
  }
}
@media (width >= 48rem) {
  body#category:not(.category-id-41) [id=search_filters] .facet .facet-label > a {
    font-size: 0.9063rem;
  }
}
/* A listing without rendered facets has no sidebar track to reserve. Keep its
 * catalogue area full-width at every non-mobile breakpoint. */
body#category:not(.category-id-41) .pn-category-page--no-filters .pn-category-page__layout {
  grid-template-columns: minmax(0, 1fr);
}

/* ID15 grid-only compact pass: reduce the measured vertical footprint without
 * changing card width, image treatment, typography or native list view. */
@media (width >= 48rem) {
  body#category.category-id-15 .pn-product-grid[data-pn-view=grid] .pn-product-card__image-link {
    max-height: 9.375rem;
  }
  body#category.category-id-15 .pn-product-grid[data-pn-view=grid] .pn-product-card__body {
    padding-block: 0.25rem;
  }
}
/* stylelint-enable no-descending-specificity */
/* stylelint-enable no-duplicate-selectors */
@media (width < 48rem) {
  .pn-category-landing {
    padding-block: 2rem;
  }
  .pn-category-landing__cards {
    grid-template-columns: 1fr;
    margin-top: 1.75rem;
  }
  .pn-category-landing__card {
    min-height: 12rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pn-category-landing__card,
  .pn-category-landing__arrow {
    transition: none;
  }
}
.pn-product__gallery {
  margin-bottom: var(--pn-space-5);
}

.pn-product__title {
  margin: 0;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  font-size: clamp(1.75rem, 5vw, 3rem);
  line-height: 1.2;
}

.pn-product__price {
  margin-top: var(--pn-space-3);
}

.pn-product__short-description {
  margin-top: var(--pn-space-4);
  font-size: 1.0625rem;
}

.pn-product__hook {
  margin-top: var(--pn-space-4);
}

.pn-product__availability {
  margin-top: var(--pn-space-3);
}

.pn-product__availability p {
  margin: var(--pn-space-2) 0 0;
}

.pn-product__trust {
  margin-top: var(--pn-space-5);
}

.pn-product__details {
  margin-top: var(--pn-space-7);
}

.pn-product__specifications {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--pn-space-2) var(--pn-space-4);
  margin: 0;
}

.pn-product__specifications dt {
  font-weight: 800;
}

.pn-product__specifications dd {
  margin: 0;
}

.pn-product__reviews {
  padding-top: var(--pn-space-6);
}

.pn-product__related,
.pn-product__recently-viewed {
  margin-top: var(--pn-space-8);
}

.pn-product__related-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--pn-space-4);
  margin-top: var(--pn-space-4);
}

/* Product hero refinement. All rules are scoped to the native product page. */
body#product .pn-breadcrumbs {
  padding-block: 0.4375rem;
  margin-bottom: 0.6875rem;
}

body#product .pn-breadcrumbs__list {
  font-size: 0.75rem;
}

body#product .pn-breadcrumbs__item {
  font-size: 0.75rem;
}

body#product .pn-breadcrumbs__link {
  font-size: 0.75rem;
}

body#product .product-flags {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  pointer-events: none;
}

body#product .product-flags:empty {
  display: none !important;
  margin: 0 !important;
}

body#product .product-flags li.product-flag,
body#product .product-flags .product-flag {
  display: inline-flex;
  align-items: center;
  min-height: 1.375rem;
  padding: 0.2rem 0.5rem;
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-primary-dark);
  color: var(--pn-color-text-inverse);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1;
  text-transform: none;
  box-shadow: 0 0.125rem 0.375rem rgba(39, 44, 96, 0.12);
}

body#product .product-container {
  align-items: start;
}

body#product #content {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0;
}

body#product .pn-product__gallery {
  width: 100%;
  margin-bottom: 0;
}

body#product .images-container {
  width: 100%;
}

body#product .product-cover {
  overflow: hidden;
  width: 100%;
  padding: 0.25rem;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-md);
  background: var(--pn-color-surface);
  box-shadow: 0 0.375rem 1.25rem rgba(39, 44, 96, 0.04);
}

body#product .product-cover picture {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

body#product .product-cover img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  max-height: 25rem;
  object-fit: contain;
  margin: 0 auto;
}

body#product .product-cover .layer {
  border-radius: var(--pn-radius-md);
  background: rgba(39, 44, 96, 0.08);
}

body#product .product-cover .layer .zoom-in {
  color: var(--pn-color-text);
}

body#product .product-images {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3125rem;
  margin: 0.3125rem 0 0;
  padding: 0;
  list-style: none;
}

body#product .product-images .thumb-container:has(.js-thumb) {
  display: block;
  flex: 0 0 2.75rem;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0;
  padding: 0.125rem;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-md);
  background: var(--pn-color-surface);
}

body#product .product-images .thumb-container:has(.js-thumb) .thumb {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: calc(var(--pn-radius-md) - 0.125rem);
  object-fit: cover;
  opacity: 0.82;
  transition: opacity 160ms ease, border-color 160ms ease;
}

body#product .product-images .thumb-container:has(.js-thumb) .thumb.selected,
body#product .product-images .thumb-container:has(.js-thumb) .thumb:hover {
  border: 0.125rem solid var(--pn-color-primary-dark);
  opacity: 1;
}

body#product .product-container > .col-md-6:last-child {
  display: flex;
  flex-direction: column;
  gap: 0.4375rem;
  padding: 0.75rem 1rem;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-surface);
  box-shadow: 0 0.375rem 1.25rem rgba(39, 44, 96, 0.04);
}

body#product .product-information {
  display: flex;
  flex-direction: column;
  gap: 0.3125rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body#product .pn-product__header {
  display: flex;
  flex-direction: column;
  gap: 0.0625rem;
}

body#product .pn-product__title {
  margin: 0;
  color: var(--pn-color-text);
  font-family: "Nunito", sans-serif;
  font-size: clamp(1.25rem, 1.5vw, 1.4375rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
}

body#product .pn-product__subtitle {
  color: var(--pn-color-primary-dark);
  font-family: var(--pn-font-family-ui);
  font-size: 0.6875rem;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
}

body#product .pn-product__price-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.0625rem;
  margin-top: 0.0625rem;
}

body#product .pn-product__price {
  margin: 0;
}

body#product .pn-product__price .product-price,
body#product .pn-product__price .current-price,
body#product .pn-product__price .current-price-value {
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  font-size: clamp(1.1875rem, 1.4vw, 1.375rem);
  font-weight: 700;
  line-height: 1.1;
}

body#product .pn-product__price .tax-shipping-delivery-label {
  margin: 0.0625rem 0 0;
  color: color-mix(in srgb, var(--pn-color-text) 60%, var(--pn-color-surface));
  font-family: var(--pn-font-family-ui);
  font-size: 0.625rem;
  font-weight: 400;
}

body#product .pn-product__price-wrap--sewing-kit .delivery-information {
  display: none;
}

body#product.product-id-320 .pn-product__price-wrap--education .pn-product__price,
body#product.product-id-339 .pn-product__price-wrap--education .pn-product__price,
body#product.product-id-340 .pn-product__price-wrap--education .pn-product__price,
body#product.product-id-341 .pn-product__price-wrap--education .pn-product__price,
body#product.product-id-342 .pn-product__price-wrap--education .pn-product__price,
body#product.product-id-343 .pn-product__price-wrap--education .pn-product__price,
body#product.product-id-344 .pn-product__price-wrap--education .pn-product__price {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
body#product.product-id-320 .pn-product__price--education .current-price-value,
body#product.product-id-339 .pn-product__price--education .current-price-value,
body#product.product-id-340 .pn-product__price--education .current-price-value,
body#product.product-id-341 .pn-product__price--education .current-price-value,
body#product.product-id-342 .pn-product__price--education .current-price-value,
body#product.product-id-343 .pn-product__price--education .current-price-value,
body#product.product-id-344 .pn-product__price--education .current-price-value {
  display: inline-block;
}
body#product.product-id-320 .pn-product__education-discount,
body#product.product-id-339 .pn-product__education-discount,
body#product.product-id-340 .pn-product__education-discount,
body#product.product-id-341 .pn-product__education-discount,
body#product.product-id-342 .pn-product__education-discount,
body#product.product-id-343 .pn-product__education-discount,
body#product.product-id-344 .pn-product__education-discount {
  margin: 0;
  max-width: 34rem;
  color: color-mix(in srgb, var(--pn-color-text) 72%, var(--pn-color-surface));
  font-family: var(--pn-font-family-ui);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
}

body#product .pn-product__kit-quantity {
  margin: 0.0625rem 0 0;
  color: color-mix(in srgb, var(--pn-color-text) 78%, var(--pn-color-surface));
  font-family: var(--pn-font-family-ui);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.35;
}

body#product .pn-product__shipping {
  margin-top: 0.1875rem;
}

body#product .pn-product__shipping p {
  margin: 0;
  font-family: var(--pn-font-family-ui);
  line-height: 1.35;
}

body#product .pn-product__shipping-message {
  color: var(--pn-color-primary-dark);
  font-size: 0.8125rem;
  font-weight: 600;
}

body#product .pn-product__shipping-note {
  margin-top: 0.1875rem !important;
  color: color-mix(in srgb, var(--pn-color-text) 72%, var(--pn-color-surface));
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
}

body#product .pn-product__benefit-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  width: fit-content;
  max-width: 100%;
  margin-top: 0.0625rem;
  margin-bottom: 0.5625rem;
  padding: 0.125rem 0.4375rem;
  border: 0.0625rem solid color-mix(in srgb, var(--pn-color-primary-dark) 25%, transparent);
  border-radius: var(--pn-radius-pill);
  background: color-mix(in srgb, var(--pn-color-primary) 12%, var(--pn-color-surface));
  color: var(--pn-color-primary-dark);
  font-family: var(--pn-font-family-ui);
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1.2;
}

body#product .pn-product__benefit-chip-icon {
  font-size: 0.75rem;
  color: var(--pn-color-primary-dark);
  flex: 0 0 0.75rem;
}

body#product .pn-product__hero-summary {
  margin-top: 0;
  margin-bottom: 0.6875rem;
  color: color-mix(in srgb, var(--pn-color-text) 80%, var(--pn-color-surface));
  font-family: var(--pn-font-family-ui) !important;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.45;
}

body#product .pn-product__hero-summary * {
  font-family: var(--pn-font-family-ui) !important;
  color: inherit !important;
}

body#product .pn-product__intro-text {
  margin: 0;
}

body#product .pn-product__short-description {
  margin: 0;
  font-family: var(--pn-font-family-ui) !important;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.35;
}

body#product .pn-product__short-description * {
  font-family: var(--pn-font-family-ui) !important;
  color: inherit !important;
}

body#product .pn-product__benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.125rem;
  margin-top: 0.125rem;
  padding: 0.1875rem 0.0625rem;
  border-top: 0.0625rem solid var(--pn-color-control-subtle);
  border-bottom: 0.0625rem solid var(--pn-color-control-subtle);
}

body#product .pn-product__benefit-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.125rem;
  padding: 0 0.0625rem;
  text-align: center;
}

body#product .pn-product__benefit-item:not(:last-child) {
  border-right: 0.0625rem solid var(--pn-color-control-subtle);
}

body#product .pn-product__benefit-icon {
  width: 1.0625rem;
  height: 1.0625rem;
  color: var(--pn-color-primary-dark);
  flex: 0 0 1.0625rem;
}

body#product .pn-product__benefit-title {
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
}

body#product .pn-product__trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.1875rem;
  margin-top: -0.0625rem;
  color: color-mix(in srgb, var(--pn-color-text) 72%, var(--pn-color-surface));
  font-family: var(--pn-font-family-ui);
  font-size: 0.625rem;
  font-weight: 400;
}

body#product .pn-product__trust-flag {
  display: inline-block;
  width: 0.75rem;
  height: 0.4375rem;
  border-radius: 0.125rem;
  overflow: hidden;
  vertical-align: middle;
  box-shadow: 0 0 0 0.0625rem rgba(0, 0, 0, 0.1);
}

body#product .pn-product__variants-heading {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 1.125rem;
  margin-bottom: 0.625rem;
}

body#product .pn-product__variants-icon {
  width: 0.75rem;
  height: 0.75rem;
  color: color-mix(in srgb, var(--pn-color-primary-dark) 75%, var(--pn-color-primary));
  flex: 0 0 0.75rem;
}

body#product .pn-product__variants-title {
  margin: 0;
  color: color-mix(in srgb, var(--pn-color-primary-dark) 50%, var(--pn-color-primary));
  font-family: "Pacifico", cursive;
  font-size: 1.0625rem;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.15;
}

body#product .product-actions {
  margin-top: 0;
}

body#product .product-variants {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
}

body#product .product-variants-item {
  display: grid;
  grid-template-columns: minmax(4.5rem, 5.5rem) 1fr;
  align-items: center;
  gap: 0.3125rem;
  margin: 0;
}

body#product .product-variants-item:last-child {
  margin-bottom: 0;
}

body#product .product-variants-item .control-label {
  display: block;
  margin: 0;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.15;
  text-transform: none;
  letter-spacing: 0;
  white-space: nowrap;
}

body#product .product-variants-item .form-control-select {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 2.125rem;
  height: 2.125rem;
  padding: 0.1875rem 1.25rem 0.1875rem 0.5rem;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-sm);
  background-color: var(--pn-color-surface);
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.3;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

body#product .product-variants-item .form-control-select:hover,
body#product .product-variants-item .form-control-select:focus {
  border-color: var(--pn-color-primary-dark);
  outline: none;
  box-shadow: 0 0 0 0.125rem color-mix(in srgb, var(--pn-color-primary-dark) 20%, transparent);
}

body#product .product-add-to-cart {
  margin-top: 0.25rem;
}

body#product .product-add-to-cart > .control-label {
  display: none;
}

body#product .product-quantity {
  display: flex;
  align-items: center;
  gap: 0.3125rem;
  flex-wrap: nowrap;
}

body#product .product-quantity .qty {
  flex: 0 0 auto;
}

body#product .product-quantity [id=quantity_wanted] {
  box-sizing: border-box;
  width: 2.625rem;
  min-width: 2.625rem;
  height: 2.25rem;
  padding: 0.25rem;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-sm);
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  text-align: center;
  font-size: 0.75rem;
  font-weight: 500;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

body#product .product-quantity [id=quantity_wanted]:hover,
body#product .product-quantity [id=quantity_wanted]:focus {
  border-color: var(--pn-color-primary-dark);
  outline: none;
  box-shadow: 0 0 0 0.125rem color-mix(in srgb, var(--pn-color-primary-dark) 20%, transparent);
}

body#product .product-quantity .input-group-btn-vertical {
  display: none;
}

body#product .zqf-meter-box {
  margin: 0;
}

body#product .zqf-meter-box .zqf-label {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: left;
}

body#product .zqf-meter-box .pn-fabric-meter-control {
  display: grid;
  grid-template-columns: 2.125rem minmax(3.25rem, 4rem) auto 2.125rem;
  align-items: center;
  gap: 0;
  width: max-content;
  max-width: 100%;
  overflow: hidden;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-md);
  background: var(--pn-color-surface);
}

body#product .zqf-meter-box .pn-fabric-meter-control__button {
  display: inline-flex;
  width: 2.125rem;
  height: 2.125rem;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--pn-color-primary-dark);
  font-family: var(--pn-font-family-ui);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
}

body#product .zqf-meter-box .pn-fabric-meter-control__button--decrement {
  border-right: 0.0625rem solid var(--pn-color-control-subtle);
}

body#product .zqf-meter-box .pn-fabric-meter-control__button--increment {
  border-left: 0.0625rem solid var(--pn-color-control-subtle);
}

body#product .zqf-meter-box .pn-fabric-meter-control__button:disabled {
  cursor: not-allowed;
  color: var(--pn-color-text-muted);
  opacity: 0.55;
}

body#product .zqf-meter-box .pn-fabric-meter-control__button:focus-visible {
  position: relative;
  z-index: 1;
  outline: 0.125rem solid var(--pn-color-primary-dark);
  outline-offset: -0.125rem;
}

body#product .zqf-meter-box .pn-fabric-meter-control__button:hover:not(:disabled) {
  background: color-mix(in srgb, var(--pn-color-primary) 12%, var(--pn-color-surface));
}

body#product .zqf-meter-box .pn-fabric-meter-control__input {
  width: 100%;
  height: 2.125rem;
  min-width: 0;
  margin: 0;
  padding: 0.25rem 0 0.25rem 0.5rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  text-align: right;
  appearance: textfield;
}

body#product .zqf-meter-box .pn-fabric-meter-control__input::-webkit-outer-spin-button,
body#product .zqf-meter-box .pn-fabric-meter-control__input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

body#product .zqf-meter-box .pn-fabric-meter-control__unit {
  padding-right: 0.5rem;
  color: var(--pn-color-text-muted);
  font-family: var(--pn-font-family-ui);
  font-size: 0.8125rem;
  line-height: 1;
}

body#product .zqf-meter-box .pn-fabric-meter-control__hint {
  margin: 0.25rem 0 0;
  color: var(--pn-color-text-muted, #6b7280);
  font-family: var(--pn-font-family-ui);
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.3;
  text-align: left;
}

body#product .zqf-meter-box .zqf-note {
  margin-top: 0.25rem;
  color: var(--pn-color-text-muted);
  font-family: var(--pn-font-family-ui);
  font-size: 0.625rem;
  line-height: 1.2;
}

body#product .product-quantity .add {
  flex: 1 1 auto;
  min-width: 0;
}

body#product .product-quantity .add-to-cart {
  display: inline-flex;
  width: 100%;
  min-width: 0;
  min-height: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.3125rem 0.625rem;
  border: 0.0625rem solid var(--pn-color-primary-dark);
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-primary-dark);
  box-shadow: 0 0.25rem 0.75rem rgba(142, 158, 51, 0.18);
  color: var(--pn-color-text-inverse);
  font-family: var(--pn-font-family-ui);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: all 160ms ease;
}

body#product .product-quantity .add-to-cart:hover {
  background: color-mix(in srgb, var(--pn-color-primary-dark) 88%, black);
  border-color: color-mix(in srgb, var(--pn-color-primary-dark) 88%, black);
  box-shadow: 0 0.375rem 1rem rgba(142, 158, 51, 0.28);
  transform: translateY(-1px);
}

body#product .product-quantity .add-to-cart .shopping-cart {
  margin: 0;
  color: currentcolor;
  font-size: 0.875rem;
  line-height: 1;
}

body#product .product-quantity :is(.wishlist-button, .wishlist-button-product, .wishlist-button-add) {
  display: inline-grid;
  width: 2.25rem;
  min-width: 2.25rem;
  height: 2.25rem;
  min-height: 2.25rem;
  flex: 0 0 2.25rem;
  place-items: center;
  padding: 0;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  cursor: pointer;
  transition: all 160ms ease;
}

body#product .product-quantity :is(.wishlist-button, .wishlist-button-product, .wishlist-button-add):hover {
  border-color: var(--pn-color-primary-dark);
  background: color-mix(in srgb, var(--pn-color-primary) 12%, var(--pn-color-surface));
  color: var(--pn-color-primary-dark);
  transform: scale(1.05);
}

body#product .product-quantity :is(.wishlist-button-product, .wishlist-button-add, .wishlist-button):is(.is-active, .active, .added, .wishlist-button-added, [aria-pressed="true"], [data-checked="true"], [data-is-added="true"]) {
  border-color: var(--pn-color-primary-dark, #5a6b47);
  background: #f4f6eb;
  color: var(--pn-color-primary-dark, #5a6b47);
  box-shadow: 0 0.125rem 0.5rem rgba(90, 107, 71, 0.2);
}

body#product .product-quantity :is(.wishlist-button-product, .wishlist-button-add, .wishlist-button):is(.is-active, .active, .added, .wishlist-button-added, [aria-pressed="true"], [data-checked="true"], [data-is-added="true"]):hover {
  background: #e8ecda;
  transform: scale(1.08);
}

body#product .product-quantity :is(.wishlist-button, .wishlist-button-product, .wishlist-button-add) .material-icons {
  font-size: 1.125rem;
  line-height: 1;
}

body#product .product-quantity :is(.wishlist-button-product, .wishlist-button-add, .wishlist-button):is(.is-active, .active, .added, .wishlist-button-added, [aria-pressed="true"], [data-checked="true"], [data-is-added="true"]) .material-icons {
  color: var(--pn-color-primary-dark, #5a6b47);
}

body#product .product-quantity:has(.zqf-meter-box) {
  align-items: flex-start;
  gap: 1rem;
}

body#product .product-quantity:has(.zqf-meter-box) .qty {
  flex: 0 0 9.5625rem;
  width: 9.5625rem;
  min-width: 0;
}

body#product .product-quantity:has(.zqf-meter-box) .zqf-meter-box {
  width: 9.5625rem;
}

body#product .product-quantity:has(.zqf-meter-box) .pn-fabric-meter-control__hint {
  width: 18.25rem;
}

body#product .product-quantity:has(.zqf-meter-box) .add {
  flex: 0 0 15rem;
  width: 15rem;
  margin-top: 1.0625rem;
}

body#product .product-add-to-cart .js-product-availability {
  display: block;
  min-height: 0;
  margin-top: 0.0625rem;
  color: var(--pn-color-primary-dark);
  font-size: 0.65625rem;
  line-height: 1.2;
}

body#product .product-add-to-cart .js-product-availability:empty {
  display: none;
}

body#product .pn-product__policy {
  margin-top: 0.25rem;
  padding: 0;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-md);
  background: var(--pn-color-surface);
  overflow: hidden;
}

body#product .pn-product__policy-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

body#product .pn-product__policy-item {
  display: flex;
  margin: 0;
  border-bottom: 0;
  border-right: 0.0625rem solid var(--pn-color-control-subtle);
}

body#product .pn-product__policy-item:last-child {
  border-right: 0;
}

body#product .pn-product__policy-link {
  display: flex;
  width: 100%;
  min-height: 1.875rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.125rem;
  padding: 0.125rem 0.25rem;
  border-radius: 0;
  background: transparent;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  font-size: 0.65625rem;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  transition: color 160ms ease, background-color 160ms ease;
}

body#product .pn-product__policy-link:hover {
  background: color-mix(in srgb, var(--pn-color-primary) 8%, var(--pn-color-surface));
  color: var(--pn-color-primary-dark);
  text-decoration: none;
}

body#product .pn-product__policy-link:focus-visible {
  outline: 0.125rem solid var(--pn-color-primary-dark);
  outline-offset: -0.125rem;
  z-index: 1;
}

body#product .pn-product__policy-link-left {
  display: inline-flex;
  align-items: center;
  gap: 0.125rem;
  min-width: 0;
  flex: 1 1 auto;
}

body#product .pn-product__policy-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.8125rem;
  height: 0.8125rem;
  flex: 0 0 0.8125rem;
  color: var(--pn-color-text);
  font-size: 0.75rem;
  transition: color 160ms ease, transform 160ms ease;
}

body#product .pn-product__policy-link:hover .pn-product__policy-icon {
  color: var(--pn-color-primary-dark);
  transform: scale(1.08);
}

body#product .pn-product__policy-text {
  white-space: normal;
  line-height: 1.12;
}

body#product .pn-product__policy-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--pn-color-text);
  font-size: 0.625rem;
  flex: 0 0 0.625rem;
  margin-left: auto;
  transition: transform 160ms ease, color 160ms ease;
}

body#product .pn-product__policy-link:hover .pn-product__policy-arrow {
  color: var(--pn-color-primary-dark);
  transform: translateX(0.1875rem);
}

body#product :is(.pn-product__reviews, .product-comments-additional-info, #product-comments-list-header, #empty-product-comment, .product-comments-list-header, .empty-product-comment, .post-product-comment, .post-comment, .btn-comment, #post-product-comment-form, .product-comment-modal) {
  display: none !important;
}

body#product .pn-product__share {
  display: flex;
  width: 100%;
  max-width: 100%;
  margin-top: 0.25rem;
  align-items: center;
  justify-content: flex-end;
}

body#product .social-sharing {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.25rem;
  padding-top: 0.25rem;
  border-top: 0.0625rem solid var(--pn-color-control-subtle);
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  font-size: 0.65625rem;
  font-weight: 400;
}

body#product .social-sharing span,
body#product .social-sharing .social-sharing-title {
  margin: 0;
  color: color-mix(in srgb, var(--pn-color-text) 75%, var(--pn-color-surface));
  font-size: 0.65625rem;
  font-weight: 400;
}

body#product .social-sharing ul {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

body#product .social-sharing li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  margin: 0;
  background: none;
  border-radius: 0;
}

body#product .social-sharing a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border: 0.0625rem solid color-mix(in srgb, var(--pn-color-primary) 20%, var(--pn-color-control-subtle));
  border-radius: var(--pn-radius-pill);
  background: color-mix(in srgb, var(--pn-color-primary) 3%, var(--pn-color-surface));
  color: var(--pn-color-primary-dark);
  text-decoration: none;
  transition: all 160ms ease;
  box-sizing: border-box;
}

body#product .social-sharing a:hover,
body#product .social-sharing a:focus-visible {
  background: var(--pn-color-primary-dark);
  border-color: var(--pn-color-primary-dark);
  color: var(--pn-color-surface);
  transform: translateY(-1px);
  box-shadow: 0 0.125rem 0.375rem rgba(39, 44, 96, 0.08);
}

body#product .social-sharing a svg {
  width: 0.75rem;
  height: 0.75rem;
  fill: currentColor;
}

body#product #main .page-content,
body#product #main .page-footer {
  margin-bottom: 0;
}

body#product .pn-footer {
  margin-top: var(--pn-space-4);
}

/* Mobile order for product container: Gallery -> Buy info (Right col) -> Details -> Reviews */
@media (max-width: 47.9375rem) {
  body#product .product-container {
    display: flex;
    flex-direction: column;
  }
  body#product .product-container > .col-md-6:first-child {
    display: contents;
  }
  body#product .product-container > .col-md-6:first-child > .page-content {
    display: contents;
  }
  body#product .pn-product__gallery {
    order: 1;
  }
  body#product .product-container > .col-md-6:last-child {
    order: 2;
  }
  body#product .pn-product__details {
    order: 3;
    margin-top: 1.5rem;
  }
}
body#product .pn-product__details {
  width: 100%;
  max-width: 100%;
  margin-top: 0.875rem;
  margin-inline: 0;
  padding: 0.75rem 0.875rem;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-surface);
  box-shadow: 0 0.25rem 1rem rgba(39, 44, 96, 0.03);
  position: relative;
}

/* Visually hidden radio inputs for CSS-only functional tabs */
body#product .pn-product__tab-input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  pointer-events: none;
}

/* Tabs navigation bar */
body#product .pn-product__tabs-nav {
  display: flex;
  align-items: center;
  gap: 0.25rem 0.625rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0.625rem;
  border-bottom: 0.0625rem solid var(--pn-color-control-subtle);
  flex-wrap: wrap;
}

body#product .pn-product__tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.125rem;
  margin: 0;
  border: 0;
  background: transparent;
  color: color-mix(in srgb, var(--pn-color-text) 55%, var(--pn-color-surface));
  font-family: var(--pn-font-family-ui);
  font-size: 0.78125rem;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  position: relative;
  user-select: none;
  transition: color 140ms ease;
}

body#product .pn-product__tab-btn:hover {
  color: var(--pn-color-primary-dark);
}

/* Active tab highlight via sibling checked inputs: olive text + olive underline */
body#product .pn-product__tab-input--desc:checked ~ .pn-product__tabs-nav .pn-product__tab-btn--desc,
body#product .pn-product__tab-input--care:checked ~ .pn-product__tabs-nav .pn-product__tab-btn--care,
body#product .pn-product__tab-input--add:checked ~ .pn-product__tabs-nav .pn-product__tab-btn--add {
  color: var(--pn-color-primary-dark);
  font-weight: 600;
}

body#product .pn-product__tab-input--desc:checked ~ .pn-product__tabs-nav .pn-product__tab-btn--desc::after,
body#product .pn-product__tab-input--care:checked ~ .pn-product__tabs-nav .pn-product__tab-btn--care::after,
body#product .pn-product__tab-input--add:checked ~ .pn-product__tabs-nav .pn-product__tab-btn--add::after {
  content: "";
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  right: 0;
  height: 0.125rem;
  background: var(--pn-color-primary-dark);
  border-radius: var(--pn-radius-pill);
}

/* Focus indicator for keyboard navigation */
body#product .pn-product__tab-input--desc:focus-visible ~ .pn-product__tabs-nav .pn-product__tab-btn--desc,
body#product .pn-product__tab-input--care:focus-visible ~ .pn-product__tabs-nav .pn-product__tab-btn--care,
body#product .pn-product__tab-input--add:focus-visible ~ .pn-product__tabs-nav .pn-product__tab-btn--add,
body#product .pn-product__tab-btn:focus-visible {
  outline: 0.125rem solid var(--pn-color-primary);
  outline-offset: 0.25rem;
  border-radius: var(--pn-radius-sm);
}

body#product .pn-product__tab-icon {
  width: 0.75rem;
  height: 0.75rem;
  flex: 0 0 0.75rem;
  color: var(--pn-color-primary-dark);
}

body#product .pn-product__tab-separator {
  color: var(--pn-color-control-subtle);
  font-size: 0.75rem;
  line-height: 1;
  user-select: none;
}

/* Details content & functional tab panels */
body#product .pn-product__details-content {
  width: 100%;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  font-size: 0.875rem;
  line-height: 1.5;
}

body#product .pn-product__details-content * {
  font-family: var(--pn-font-family-ui) !important;
}

body#product .pn-product__tab-panel {
  display: none;
}

body#product .pn-product__tab-input--desc:checked ~ .pn-product__details-content .pn-product__tab-panel--desc,
body#product .pn-product__tab-input--care:checked ~ .pn-product__details-content .pn-product__tab-panel--care,
body#product .pn-product__tab-input--add:checked ~ .pn-product__details-content .pn-product__tab-panel--add {
  display: block;
}

body#product :is(.pn-product__tab-panel--desc, .pn-product__tab-panel--care, .pn-product__tab-panel--add) :is(p, span, li, em, strong, b) {
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
  text-align: left;
}

body#product .pn-product__tab-panel p,
body#product .pn-product__details-content :is(p, ul, ol) {
  margin: 0 0 0.375rem;
  color: var(--pn-color-text);
  font-size: 0.875rem;
  line-height: 1.5;
  text-align: left;
}

body#product .pn-product__details-content p:empty,
body#product .pn-product__details-content p > br:only-child {
  display: none;
}

body#product .pn-product__details-content :is(p, ul, ol):last-child {
  margin-bottom: 0;
}

body#product .pn-product__add-note {
  margin-top: 0.5rem;
  font-style: italic;
  color: var(--pn-color-text-muted);
}

/* Construction mini feature cards: 2+1 layout or responsive columns */
body#product .pn-product__details-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.375rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 0.0625rem dashed var(--pn-color-control-subtle);
}

@media (min-width: 30rem) {
  body#product .pn-product__details-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.375rem 0.5rem;
  }
  body#product .pn-product__details-card:last-child:nth-child(odd) {
    grid-column: 1/-1;
  }
}
body#product .pn-product__details-card {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.5rem;
  background: color-mix(in srgb, var(--pn-color-primary) 3%, var(--pn-color-surface));
  border: 0.0625rem solid color-mix(in srgb, var(--pn-color-primary) 12%, var(--pn-color-border-subtle));
  border-radius: var(--pn-radius-md);
  box-shadow: 0 0.0625rem 0.25rem rgba(39, 44, 96, 0.02);
  min-height: 2.5rem;
  box-sizing: border-box;
}

body#product .pn-product__details-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.375rem;
  height: 1.375rem;
  flex: 0 0 1.375rem;
  border-radius: var(--pn-radius-pill);
  background: color-mix(in srgb, var(--pn-color-primary) 10%, var(--pn-color-surface));
  color: var(--pn-color-primary-dark);
}

body#product .pn-product__details-card-icon svg {
  width: 0.8125rem;
  height: 0.8125rem;
}

body#product .pn-product__details-card-text {
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  font-size: 0.71875rem;
  font-weight: 400;
  line-height: 1.25;
}

body#product .pn-product__details-content ul,
body#product .pn-product__details-content ol {
  margin: 0.25rem 0 0.5rem;
  padding-left: 0;
  list-style: none;
}

body#product .pn-product__details-content li {
  position: relative;
  padding-left: 1rem;
  margin-bottom: 0.1875rem;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--pn-color-text);
}

body#product .pn-product__details-content li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--pn-color-primary-dark);
  font-weight: 700;
  font-size: 0.75rem;
}

body#product .pn-product__details-content li:last-child {
  margin-bottom: 0;
}

body#product .pn-product__details-content :is(strong, b) {
  color: var(--pn-color-text);
  font-weight: 600 !important;
}

body#product .pn-product__details-content :is(h2, h3, h4, h5, h6) {
  margin: 0.625rem 0 0.25rem;
  color: var(--pn-color-primary-dark);
  font-family: var(--pn-font-family-ui);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.3;
}

body#product .pn-product__details-content :is(h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}

body#product .pn-product__details-content :is(table, img, iframe) {
  max-width: 100%;
  height: auto;
}

body#product .pn-product__details-content table {
  width: 100%;
  margin: 0.5rem 0 0.75rem;
  border-collapse: collapse;
  border-radius: var(--pn-radius-sm);
  overflow: hidden;
  border: 0.0625rem solid var(--pn-color-control-subtle);
}

body#product .pn-product__details-content :is(td, th) {
  padding: 0.3125rem 0.5rem;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  font-size: 0.75rem;
}

body#product .pn-product__details-content th {
  background: color-mix(in srgb, var(--pn-color-primary) 8%, var(--pn-color-surface));
  font-weight: 600;
  color: var(--pn-color-primary-dark);
}

body#product .pn-product__specifications {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.625rem 1.25rem;
  max-width: 54rem;
  margin: 0;
  padding: 0.75rem;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-md);
  background: color-mix(in srgb, var(--pn-color-primary) 4%, var(--pn-color-surface));
  font-size: 0.78125rem;
  line-height: 1.4;
}

body#product .pn-product__specifications dt {
  color: var(--pn-color-primary-dark);
  font-weight: 600;
  font-size: 0.71875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.125rem;
}

body#product .pn-product__specifications dd {
  margin: 0;
  color: var(--pn-color-text);
  font-weight: 500;
}

/* Product Modal / Lightbox styling */
body#product .modal-backdrop {
  background-color: var(--pn-color-surface) !important;
  opacity: 0.94 !important;
  backdrop-filter: blur(8px);
}

.pn-product-modal.modal {
  padding: 0 !important;
  background: color-mix(in srgb, var(--pn-color-surface) 96%, transparent) !important;
  backdrop-filter: blur(8px);
}

.pn-product-modal .modal-dialog {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(94vw, 1250px);
  max-width: min(94vw, 1250px);
  min-height: 90vh;
  margin: 2.5vh auto;
}

.pn-product-modal .modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 88vh;
  padding: var(--pn-space-3);
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-surface);
  box-shadow: 0 1.25rem 3rem rgba(39, 44, 96, 0.08);
}

.pn-product-modal .pn-product-modal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 1050;
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  opacity: 0.9;
  box-shadow: 0 0.25rem 0.75rem rgba(39, 44, 96, 0.06);
  transition: all 160ms ease;
}

.pn-product-modal .pn-product-modal__close:hover {
  border-color: var(--pn-color-primary-dark);
  background: color-mix(in srgb, var(--pn-color-primary) 10%, var(--pn-color-surface));
  color: var(--pn-color-primary-dark);
  opacity: 1;
  transform: scale(1.06);
}

.pn-product-modal .modal-body {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.pn-product-modal .pn-product-modal__figure {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 78vh;
  max-height: 86vh;
  align-items: center;
  justify-content: center;
  margin: 0;
  overflow: hidden;
}

.pn-product-modal .pn-product-modal__figure picture {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.pn-product-modal .pn-product-modal__cover,
#product-modal .modal-content .modal-body .product-cover-modal {
  display: block;
  max-width: 100%;
  max-height: 84vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: var(--pn-radius-md);
  background: transparent;
  border: 0;
}

.pn-product-modal .pn-product-modal__thumbnails {
  width: 100%;
  margin-top: var(--pn-space-2);
}

.pn-product-modal .pn-product-modal__mask {
  max-height: none !important;
  margin: 0 !important;
  overflow-x: auto;
  overflow-y: hidden;
}

.pn-product-modal .pn-product-modal__images {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--pn-space-2) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pn-product-modal .pn-product-modal__thumb-item {
  margin: 0;
}

.pn-product-modal .pn-product-modal__thumb,
#product-modal .modal-content .modal-body .product-images img {
  width: 3.75rem !important;
  height: 3.75rem !important;
  object-fit: cover !important;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: var(--pn-radius-sm);
  background: var(--pn-color-surface);
  cursor: pointer;
  transition: border-color 160ms ease, transform 160ms ease;
}

.pn-product-modal .pn-product-modal__thumb:hover,
#product-modal .modal-content .modal-body .product-images img:hover {
  border-color: var(--pn-color-primary-dark);
  transform: scale(1.05);
}

@media (min-width: 48rem) {
  body#product :is(#wrapper > .container, #main, .product-container) {
    max-width: 62.5rem;
    margin-inline: auto;
  }
  body#product .product-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin-inline: auto;
  }
  body#product .product-container > .col-md-6 {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  .pn-product__related-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (width < 48rem) {
  body#product .product-container {
    margin-inline: 0;
  }
  body#product .product-container > .col-md-6 {
    width: 100%;
    max-width: 100%;
    padding-inline: 0;
  }
  body#product #content {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
  body#product .pn-product__gallery {
    width: 100%;
  }
  body#product .product-cover {
    padding: var(--pn-space-2);
  }
  body#product .product-container > .col-md-6:last-child {
    margin-top: var(--pn-space-4);
    padding: var(--pn-space-3);
  }
  body#product .product-images .thumb-container:has(.js-thumb) {
    flex-basis: 4rem;
    width: 4rem;
    height: 4rem;
  }
  body#product .pn-product__title {
    font-size: clamp(1.5rem, 6vw, 1.75rem);
  }
  body#product .pn-product__price .product-price,
  body#product .pn-product__price .current-price,
  body#product .pn-product__price .current-price-value {
    font-size: 1.5rem;
  }
  body#product .pn-product__benefits-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  body#product .pn-product__benefit-item:nth-child(odd) {
    border-right: 0.0625rem solid var(--pn-color-control-subtle);
  }
  body#product .pn-product__benefit-item:nth-child(even) {
    border-right: 0;
  }
  body#product .product-variants-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
  }
  body#product .product-variants-item .control-label {
    flex: 0 0 100%;
    width: 100%;
    white-space: normal;
  }
  body#product .product-variants-item .form-control-select {
    width: 100%;
  }
  body#product .product-quantity {
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    gap: var(--pn-space-2);
    align-items: center;
  }
  body#product .product-quantity .add {
    flex: 1 1 auto;
  }
  body#product .product-quantity:has(.zqf-meter-box) {
    grid-template-columns: 1fr;
    gap: var(--pn-space-2);
    align-items: start;
  }
  body#product .product-quantity:has(.zqf-meter-box) .qty,
  body#product .product-quantity:has(.zqf-meter-box) .add {
    grid-column: 1;
  }
  body#product .product-quantity:has(.zqf-meter-box) .add {
    width: min(15rem, 100%);
    margin-top: 0;
  }
  body#product .pn-product__details {
    margin-top: var(--pn-space-5);
  }
  body#product .pn-product__specifications {
    grid-template-columns: 1fr;
    gap: var(--pn-space-3);
  }
  body#product .pn-product__specifications dt {
    margin-bottom: 0.125rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: color-mix(in srgb, var(--pn-color-text) 70%, var(--pn-color-surface));
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  body#product .pn-product__policy {
    margin-top: var(--pn-space-3);
  }
  body#product .pn-product__policy-list {
    grid-template-columns: 1fr;
  }
  body#product .pn-product__policy-item {
    border-right: 0;
    border-bottom: 0.0625rem solid var(--pn-color-control-subtle);
  }
  body#product .pn-product__policy-item:last-child {
    border-bottom: 0;
  }
  body#product .pn-product__policy-link {
    min-height: 2.75rem;
    padding: 0.625rem 0.75rem;
    font-size: 0.84375rem;
  }
  body#product .pn-product__policy-text {
    white-space: normal;
    line-height: 1.3;
  }
  body#product .pn-product__share {
    justify-content: flex-start;
  }
  .pn-product-modal .modal-dialog {
    max-width: calc(100vw - 1.5rem);
    margin: 1rem auto;
    min-height: auto;
  }
  .pn-product-modal .modal-content {
    padding: 0.5rem;
  }
  .pn-product-modal .pn-product-modal__close {
    top: 0.25rem;
    right: 0.25rem;
  }
  .pn-product-modal .pn-product-modal__figure {
    max-height: 75vh;
  }
  .pn-product-modal .pn-product-modal__cover,
  #product-modal .modal-content .modal-body .product-cover-modal {
    max-height: 75vh;
  }
  .pn-product-modal .pn-product-modal__thumb,
  #product-modal .modal-content .modal-body .product-images img {
    width: 3.25rem !important;
    height: 3.25rem !important;
  }
}
/* Education foundation: ID320, ID339, ID340, ID341 use the canonical service-oriented information layout,
   kept separate from textile product presentation and native cart controls. */
body#product.product-id-320 .pn-product__title,
body#product.product-id-339 .pn-product__title,
body#product.product-id-340 .pn-product__title,
body#product.product-id-341 .pn-product__title,
body#product.product-id-342 .pn-product__title,
body#product.product-id-343 .pn-product__title,
body#product.product-id-344 .pn-product__title {
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.2;
}
body#product.product-id-320 .pn-product__subtitle,
body#product.product-id-339 .pn-product__subtitle,
body#product.product-id-340 .pn-product__subtitle,
body#product.product-id-341 .pn-product__subtitle,
body#product.product-id-342 .pn-product__subtitle,
body#product.product-id-343 .pn-product__subtitle,
body#product.product-id-344 .pn-product__subtitle {
  max-width: 34rem;
  font-size: 0.8125rem;
  line-height: 1.35;
}
body#product.product-id-320 .pn-product__hero-summary,
body#product.product-id-339 .pn-product__hero-summary,
body#product.product-id-340 .pn-product__hero-summary,
body#product.product-id-341 .pn-product__hero-summary,
body#product.product-id-342 .pn-product__hero-summary,
body#product.product-id-343 .pn-product__hero-summary,
body#product.product-id-344 .pn-product__hero-summary {
  font-size: 0.9375rem;
  line-height: 1.55;
}
body#product.product-id-320 .pn-product__hero-summary p,
body#product.product-id-339 .pn-product__hero-summary p,
body#product.product-id-340 .pn-product__hero-summary p,
body#product.product-id-341 .pn-product__hero-summary p,
body#product.product-id-342 .pn-product__hero-summary p,
body#product.product-id-343 .pn-product__hero-summary p,
body#product.product-id-344 .pn-product__hero-summary p {
  margin: 0;
}
body#product.product-id-320 .pn-product__benefits-grid--education,
body#product.product-id-339 .pn-product__benefits-grid--education,
body#product.product-id-340 .pn-product__benefits-grid--education,
body#product.product-id-341 .pn-product__benefits-grid--education,
body#product.product-id-342 .pn-product__benefits-grid--education,
body#product.product-id-343 .pn-product__benefits-grid--education,
body#product.product-id-344 .pn-product__benefits-grid--education {
  margin-top: 0.75rem;
  padding-block: 0.5rem;
}
body#product.product-id-320 .pn-product__benefits-grid--education .pn-product__benefit-item,
body#product.product-id-339 .pn-product__benefits-grid--education .pn-product__benefit-item,
body#product.product-id-340 .pn-product__benefits-grid--education .pn-product__benefit-item,
body#product.product-id-341 .pn-product__benefits-grid--education .pn-product__benefit-item,
body#product.product-id-342 .pn-product__benefits-grid--education .pn-product__benefit-item,
body#product.product-id-343 .pn-product__benefits-grid--education .pn-product__benefit-item,
body#product.product-id-344 .pn-product__benefits-grid--education .pn-product__benefit-item {
  gap: 0.375rem;
}
body#product.product-id-320 .pn-product__benefits-grid--education .pn-product__benefit-title,
body#product.product-id-339 .pn-product__benefits-grid--education .pn-product__benefit-title,
body#product.product-id-340 .pn-product__benefits-grid--education .pn-product__benefit-title,
body#product.product-id-341 .pn-product__benefits-grid--education .pn-product__benefit-title,
body#product.product-id-342 .pn-product__benefits-grid--education .pn-product__benefit-title,
body#product.product-id-343 .pn-product__benefits-grid--education .pn-product__benefit-title,
body#product.product-id-344 .pn-product__benefits-grid--education .pn-product__benefit-title {
  display: flex;
  min-height: 2.6em;
  align-items: flex-start;
  justify-content: center;
  font-size: 0.71875rem;
  line-height: 1.3;
  text-align: center;
}
body#product.product-id-320 .pn-product__benefits-grid--education .pn-product__benefit-icon,
body#product.product-id-339 .pn-product__benefits-grid--education .pn-product__benefit-icon,
body#product.product-id-340 .pn-product__benefits-grid--education .pn-product__benefit-icon,
body#product.product-id-341 .pn-product__benefits-grid--education .pn-product__benefit-icon,
body#product.product-id-342 .pn-product__benefits-grid--education .pn-product__benefit-icon,
body#product.product-id-343 .pn-product__benefits-grid--education .pn-product__benefit-icon,
body#product.product-id-344 .pn-product__benefits-grid--education .pn-product__benefit-icon {
  display: block;
  flex: 0 0 1.0625rem;
  line-height: 1;
}
body#product.product-id-320 .pn-product__education-actions,
body#product.product-id-339 .pn-product__education-actions,
body#product.product-id-340 .pn-product__education-actions,
body#product.product-id-341 .pn-product__education-actions,
body#product.product-id-342 .pn-product__education-actions,
body#product.product-id-343 .pn-product__education-actions,
body#product.product-id-344 .pn-product__education-actions {
  display: block;
  margin-top: 0.875rem;
}
body#product.product-id-320 .pn-product__education-actions > .booking-suite-education-card,
body#product.product-id-339 .pn-product__education-actions > .booking-suite-education-card,
body#product.product-id-340 .pn-product__education-actions > .booking-suite-education-card,
body#product.product-id-341 .pn-product__education-actions > .booking-suite-education-card,
body#product.product-id-342 .pn-product__education-actions > .booking-suite-education-card,
body#product.product-id-343 .pn-product__education-actions > .booking-suite-education-card,
body#product.product-id-344 .pn-product__education-actions > .booking-suite-education-card {
  flex: 1 1 100%;
  min-width: 0;
}
body#product.product-id-320 .pn-product__education-contact,
body#product.product-id-339 .pn-product__education-contact,
body#product.product-id-340 .pn-product__education-contact,
body#product.product-id-341 .pn-product__education-contact,
body#product.product-id-342 .pn-product__education-contact,
body#product.product-id-343 .pn-product__education-contact,
body#product.product-id-344 .pn-product__education-contact {
  align-items: center;
  padding: 0.375rem 0.6875rem;
  border: 0.0625rem solid color-mix(in srgb, var(--pn-color-primary-dark) 28%, transparent);
  border-radius: var(--pn-radius-pill);
  background: color-mix(in srgb, var(--pn-color-primary) 11%, var(--pn-color-surface));
  color: var(--pn-color-primary-dark);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 500;
  gap: 0.35rem;
  list-style: none;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
body#product.product-id-320 .pn-product__education-contact::after,
body#product.product-id-339 .pn-product__education-contact::after,
body#product.product-id-340 .pn-product__education-contact::after,
body#product.product-id-341 .pn-product__education-contact::after,
body#product.product-id-342 .pn-product__education-contact::after,
body#product.product-id-343 .pn-product__education-contact::after,
body#product.product-id-344 .pn-product__education-contact::after {
  content: "＋";
  font-size: 0.9rem;
  line-height: 1;
  text-decoration: none;
}
body#product.product-id-320 .pn-product__education-contact:hover, body#product.product-id-320 .pn-product__education-contact:focus-visible,
body#product.product-id-339 .pn-product__education-contact:hover,
body#product.product-id-339 .pn-product__education-contact:focus-visible,
body#product.product-id-340 .pn-product__education-contact:hover,
body#product.product-id-340 .pn-product__education-contact:focus-visible,
body#product.product-id-341 .pn-product__education-contact:hover,
body#product.product-id-341 .pn-product__education-contact:focus-visible,
body#product.product-id-342 .pn-product__education-contact:hover,
body#product.product-id-342 .pn-product__education-contact:focus-visible,
body#product.product-id-343 .pn-product__education-contact:hover,
body#product.product-id-343 .pn-product__education-contact:focus-visible,
body#product.product-id-344 .pn-product__education-contact:hover,
body#product.product-id-344 .pn-product__education-contact:focus-visible {
  border-color: var(--pn-color-primary-dark);
  background: color-mix(in srgb, var(--pn-color-primary) 24%, var(--pn-color-surface));
  color: var(--pn-color-text);
}
body#product.product-id-320 .pn-product__education-enquiry,
body#product.product-id-339 .pn-product__education-enquiry,
body#product.product-id-340 .pn-product__education-enquiry,
body#product.product-id-341 .pn-product__education-enquiry,
body#product.product-id-342 .pn-product__education-enquiry,
body#product.product-id-343 .pn-product__education-enquiry,
body#product.product-id-344 .pn-product__education-enquiry {
  margin-top: 0.75rem;
}
body#product.product-id-320 .pn-product__education-enquiry[open] .pn-product__education-contact::after,
body#product.product-id-339 .pn-product__education-enquiry[open] .pn-product__education-contact::after,
body#product.product-id-340 .pn-product__education-enquiry[open] .pn-product__education-contact::after,
body#product.product-id-341 .pn-product__education-enquiry[open] .pn-product__education-contact::after,
body#product.product-id-342 .pn-product__education-enquiry[open] .pn-product__education-contact::after,
body#product.product-id-343 .pn-product__education-enquiry[open] .pn-product__education-contact::after,
body#product.product-id-344 .pn-product__education-enquiry[open] .pn-product__education-contact::after {
  content: "−";
}
body#product.product-id-320 .pn-product__education-enquiry-form,
body#product.product-id-339 .pn-product__education-enquiry-form,
body#product.product-id-340 .pn-product__education-enquiry-form,
body#product.product-id-341 .pn-product__education-enquiry-form,
body#product.product-id-342 .pn-product__education-enquiry-form,
body#product.product-id-343 .pn-product__education-enquiry-form,
body#product.product-id-344 .pn-product__education-enquiry-form {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.75rem;
  padding: 0.875rem;
  border: 0.0625rem solid color-mix(in srgb, var(--pn-color-primary-dark) 18%, var(--pn-color-surface));
  border-radius: var(--pn-radius-md);
  background: color-mix(in srgb, var(--pn-color-primary) 5%, var(--pn-color-surface));
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
}
body#product.product-id-320 .pn-product__education-enquiry-copy,
body#product.product-id-339 .pn-product__education-enquiry-copy,
body#product.product-id-340 .pn-product__education-enquiry-copy,
body#product.product-id-341 .pn-product__education-enquiry-copy,
body#product.product-id-342 .pn-product__education-enquiry-copy,
body#product.product-id-343 .pn-product__education-enquiry-copy,
body#product.product-id-344 .pn-product__education-enquiry-copy {
  display: grid;
  gap: 0.25rem;
}
body#product.product-id-320 .pn-product__education-enquiry-copy h2,
body#product.product-id-320 .pn-product__education-enquiry-copy p,
body#product.product-id-339 .pn-product__education-enquiry-copy h2,
body#product.product-id-339 .pn-product__education-enquiry-copy p,
body#product.product-id-340 .pn-product__education-enquiry-copy h2,
body#product.product-id-340 .pn-product__education-enquiry-copy p,
body#product.product-id-341 .pn-product__education-enquiry-copy h2,
body#product.product-id-341 .pn-product__education-enquiry-copy p,
body#product.product-id-342 .pn-product__education-enquiry-copy h2,
body#product.product-id-342 .pn-product__education-enquiry-copy p,
body#product.product-id-343 .pn-product__education-enquiry-copy h2,
body#product.product-id-343 .pn-product__education-enquiry-copy p,
body#product.product-id-344 .pn-product__education-enquiry-copy h2,
body#product.product-id-344 .pn-product__education-enquiry-copy p {
  margin: 0;
}
body#product.product-id-320 .pn-product__education-enquiry-copy h2,
body#product.product-id-339 .pn-product__education-enquiry-copy h2,
body#product.product-id-340 .pn-product__education-enquiry-copy h2,
body#product.product-id-341 .pn-product__education-enquiry-copy h2,
body#product.product-id-342 .pn-product__education-enquiry-copy h2,
body#product.product-id-343 .pn-product__education-enquiry-copy h2,
body#product.product-id-344 .pn-product__education-enquiry-copy h2 {
  color: var(--pn-color-primary-dark);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.3;
}
body#product.product-id-320 .pn-product__education-enquiry-copy p,
body#product.product-id-339 .pn-product__education-enquiry-copy p,
body#product.product-id-340 .pn-product__education-enquiry-copy p,
body#product.product-id-341 .pn-product__education-enquiry-copy p,
body#product.product-id-342 .pn-product__education-enquiry-copy p,
body#product.product-id-343 .pn-product__education-enquiry-copy p,
body#product.product-id-344 .pn-product__education-enquiry-copy p {
  color: var(--pn-color-text);
  font-size: 0.8125rem;
  line-height: 1.45;
}
body#product.product-id-320 .pn-product__education-enquiry-field,
body#product.product-id-339 .pn-product__education-enquiry-field,
body#product.product-id-340 .pn-product__education-enquiry-field,
body#product.product-id-341 .pn-product__education-enquiry-field,
body#product.product-id-342 .pn-product__education-enquiry-field,
body#product.product-id-343 .pn-product__education-enquiry-field,
body#product.product-id-344 .pn-product__education-enquiry-field {
  display: grid;
  gap: 0.2rem;
}
body#product.product-id-320 .pn-product__education-enquiry-field label,
body#product.product-id-339 .pn-product__education-enquiry-field label,
body#product.product-id-340 .pn-product__education-enquiry-field label,
body#product.product-id-341 .pn-product__education-enquiry-field label,
body#product.product-id-342 .pn-product__education-enquiry-field label,
body#product.product-id-343 .pn-product__education-enquiry-field label,
body#product.product-id-344 .pn-product__education-enquiry-field label {
  color: var(--pn-color-text);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.25;
}
body#product.product-id-320 .pn-product__education-enquiry-field input,
body#product.product-id-320 .pn-product__education-enquiry-field textarea,
body#product.product-id-339 .pn-product__education-enquiry-field input,
body#product.product-id-339 .pn-product__education-enquiry-field textarea,
body#product.product-id-340 .pn-product__education-enquiry-field input,
body#product.product-id-340 .pn-product__education-enquiry-field textarea,
body#product.product-id-341 .pn-product__education-enquiry-field input,
body#product.product-id-341 .pn-product__education-enquiry-field textarea,
body#product.product-id-342 .pn-product__education-enquiry-field input,
body#product.product-id-342 .pn-product__education-enquiry-field textarea,
body#product.product-id-343 .pn-product__education-enquiry-field input,
body#product.product-id-343 .pn-product__education-enquiry-field textarea,
body#product.product-id-344 .pn-product__education-enquiry-field input,
body#product.product-id-344 .pn-product__education-enquiry-field textarea {
  width: 100%;
  height: 2.25rem;
  min-height: 2.25rem;
  padding: 0.35rem 0.65rem;
  border: 0.0625rem solid var(--pn-color-control-subtle);
  border-radius: 0.5rem;
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  font-family: inherit;
  font-size: 0.78125rem;
  line-height: 1.2;
}
body#product.product-id-320 .pn-product__education-enquiry-field input:focus-visible,
body#product.product-id-320 .pn-product__education-enquiry-field textarea:focus-visible,
body#product.product-id-339 .pn-product__education-enquiry-field input:focus-visible,
body#product.product-id-339 .pn-product__education-enquiry-field textarea:focus-visible,
body#product.product-id-340 .pn-product__education-enquiry-field input:focus-visible,
body#product.product-id-340 .pn-product__education-enquiry-field textarea:focus-visible,
body#product.product-id-341 .pn-product__education-enquiry-field input:focus-visible,
body#product.product-id-341 .pn-product__education-enquiry-field textarea:focus-visible,
body#product.product-id-342 .pn-product__education-enquiry-field input:focus-visible,
body#product.product-id-342 .pn-product__education-enquiry-field textarea:focus-visible,
body#product.product-id-343 .pn-product__education-enquiry-field input:focus-visible,
body#product.product-id-343 .pn-product__education-enquiry-field textarea:focus-visible,
body#product.product-id-344 .pn-product__education-enquiry-field input:focus-visible,
body#product.product-id-344 .pn-product__education-enquiry-field textarea:focus-visible {
  border-color: var(--pn-color-primary-dark);
  box-shadow: 0 0 0 0.15rem color-mix(in srgb, var(--pn-color-primary-dark) 18%, transparent);
  outline: 0;
}
body#product.product-id-320 .pn-product__education-enquiry-field textarea,
body#product.product-id-339 .pn-product__education-enquiry-field textarea,
body#product.product-id-340 .pn-product__education-enquiry-field textarea,
body#product.product-id-341 .pn-product__education-enquiry-field textarea,
body#product.product-id-342 .pn-product__education-enquiry-field textarea,
body#product.product-id-343 .pn-product__education-enquiry-field textarea,
body#product.product-id-344 .pn-product__education-enquiry-field textarea {
  height: 3.875rem;
  min-height: 3.875rem;
  resize: vertical;
}
body#product.product-id-320 .pn-product__education-enquiry-grid,
body#product.product-id-339 .pn-product__education-enquiry-grid,
body#product.product-id-340 .pn-product__education-enquiry-grid,
body#product.product-id-341 .pn-product__education-enquiry-grid,
body#product.product-id-342 .pn-product__education-enquiry-grid,
body#product.product-id-343 .pn-product__education-enquiry-grid,
body#product.product-id-344 .pn-product__education-enquiry-grid {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body#product.product-id-320 .pn-product__education-enquiry-submit,
body#product.product-id-339 .pn-product__education-enquiry-submit,
body#product.product-id-340 .pn-product__education-enquiry-submit,
body#product.product-id-341 .pn-product__education-enquiry-submit,
body#product.product-id-342 .pn-product__education-enquiry-submit,
body#product.product-id-343 .pn-product__education-enquiry-submit,
body#product.product-id-344 .pn-product__education-enquiry-submit {
  min-height: 2.5rem;
  padding: 0.5rem 1rem;
  border: 0;
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-primary-dark);
  color: var(--pn-color-text-inverse);
  font-family: var(--pn-font-family-ui);
  font-size: 0.75rem;
  font-weight: 700;
}
body#product.product-id-320 .pn-product__education-enquiry-submit:hover, body#product.product-id-320 .pn-product__education-enquiry-submit:focus-visible,
body#product.product-id-339 .pn-product__education-enquiry-submit:hover,
body#product.product-id-339 .pn-product__education-enquiry-submit:focus-visible,
body#product.product-id-340 .pn-product__education-enquiry-submit:hover,
body#product.product-id-340 .pn-product__education-enquiry-submit:focus-visible,
body#product.product-id-341 .pn-product__education-enquiry-submit:hover,
body#product.product-id-341 .pn-product__education-enquiry-submit:focus-visible,
body#product.product-id-342 .pn-product__education-enquiry-submit:hover,
body#product.product-id-342 .pn-product__education-enquiry-submit:focus-visible,
body#product.product-id-343 .pn-product__education-enquiry-submit:hover,
body#product.product-id-343 .pn-product__education-enquiry-submit:focus-visible,
body#product.product-id-344 .pn-product__education-enquiry-submit:hover,
body#product.product-id-344 .pn-product__education-enquiry-submit:focus-visible {
  background: var(--pn-color-text);
  color: var(--pn-color-text-inverse);
}
body#product.product-id-320 .pn-product__education-enquiry-status,
body#product.product-id-339 .pn-product__education-enquiry-status,
body#product.product-id-340 .pn-product__education-enquiry-status,
body#product.product-id-341 .pn-product__education-enquiry-status,
body#product.product-id-342 .pn-product__education-enquiry-status,
body#product.product-id-343 .pn-product__education-enquiry-status,
body#product.product-id-344 .pn-product__education-enquiry-status {
  margin: 0;
  color: var(--pn-color-text);
  font-size: 0.75rem;
  line-height: 1.4;
}
body#product.product-id-320 .pn-product__education-enquiry-status.is-error,
body#product.product-id-339 .pn-product__education-enquiry-status.is-error,
body#product.product-id-340 .pn-product__education-enquiry-status.is-error,
body#product.product-id-341 .pn-product__education-enquiry-status.is-error,
body#product.product-id-342 .pn-product__education-enquiry-status.is-error,
body#product.product-id-343 .pn-product__education-enquiry-status.is-error,
body#product.product-id-344 .pn-product__education-enquiry-status.is-error {
  color: var(--pn-color-danger, #9f3c3c);
}
body#product.product-id-320 .pn-product__education-enquiry-status.is-success,
body#product.product-id-339 .pn-product__education-enquiry-status.is-success,
body#product.product-id-340 .pn-product__education-enquiry-status.is-success,
body#product.product-id-341 .pn-product__education-enquiry-status.is-success,
body#product.product-id-342 .pn-product__education-enquiry-status.is-success,
body#product.product-id-343 .pn-product__education-enquiry-status.is-success,
body#product.product-id-344 .pn-product__education-enquiry-status.is-success {
  color: var(--pn-color-primary-dark);
}
body#product.product-id-320,
body#product.product-id-339,
body#product.product-id-340,
body#product.product-id-341,
body#product.product-id-342,
body#product.product-id-343,
body#product.product-id-344 {
  /* Keep the legacy link class scoped for cached markup during the TEST rollout. */
}
body#product.product-id-320 .pn-product__education-register,
body#product.product-id-339 .pn-product__education-register,
body#product.product-id-340 .pn-product__education-register,
body#product.product-id-341 .pn-product__education-register,
body#product.product-id-342 .pn-product__education-register,
body#product.product-id-343 .pn-product__education-register,
body#product.product-id-344 .pn-product__education-register {
  display: none;
}
body#product.product-id-320 .pn-product__details--education,
body#product.product-id-339 .pn-product__details--education,
body#product.product-id-340 .pn-product__details--education,
body#product.product-id-341 .pn-product__details--education,
body#product.product-id-342 .pn-product__details--education,
body#product.product-id-343 .pn-product__details--education,
body#product.product-id-344 .pn-product__details--education {
  margin-top: 1.125rem;
  padding: 0.875rem 1rem;
}
body#product.product-id-320 .pn-education__section,
body#product.product-id-339 .pn-education__section,
body#product.product-id-340 .pn-education__section,
body#product.product-id-341 .pn-education__section,
body#product.product-id-342 .pn-education__section,
body#product.product-id-343 .pn-education__section,
body#product.product-id-344 .pn-education__section {
  padding-block: 0.875rem;
}
body#product.product-id-320 .pn-education__section + .pn-education__section,
body#product.product-id-339 .pn-education__section + .pn-education__section,
body#product.product-id-340 .pn-education__section + .pn-education__section,
body#product.product-id-341 .pn-education__section + .pn-education__section,
body#product.product-id-342 .pn-education__section + .pn-education__section,
body#product.product-id-343 .pn-education__section + .pn-education__section,
body#product.product-id-344 .pn-education__section + .pn-education__section {
  border-top: 0.0625rem solid var(--pn-color-control-subtle);
}
body#product.product-id-320 .pn-education__section:first-child,
body#product.product-id-339 .pn-education__section:first-child,
body#product.product-id-340 .pn-education__section:first-child,
body#product.product-id-341 .pn-education__section:first-child,
body#product.product-id-342 .pn-education__section:first-child,
body#product.product-id-343 .pn-education__section:first-child,
body#product.product-id-344 .pn-education__section:first-child {
  padding-top: 0;
}
body#product.product-id-320 .pn-education__section:last-child,
body#product.product-id-339 .pn-education__section:last-child,
body#product.product-id-340 .pn-education__section:last-child,
body#product.product-id-341 .pn-education__section:last-child,
body#product.product-id-342 .pn-education__section:last-child,
body#product.product-id-343 .pn-education__section:last-child,
body#product.product-id-344 .pn-education__section:last-child {
  padding-bottom: 0;
}
body#product.product-id-320 .pn-education__section p,
body#product.product-id-339 .pn-education__section p,
body#product.product-id-340 .pn-education__section p,
body#product.product-id-341 .pn-education__section p,
body#product.product-id-342 .pn-education__section p,
body#product.product-id-343 .pn-education__section p,
body#product.product-id-344 .pn-education__section p {
  margin: 0;
  color: var(--pn-color-text);
  font-family: var(--pn-font-family-ui);
  font-size: 0.8125rem;
  line-height: 1.5;
}
body#product.product-id-320 .pn-education__heading,
body#product.product-id-339 .pn-education__heading,
body#product.product-id-340 .pn-education__heading,
body#product.product-id-341 .pn-education__heading,
body#product.product-id-342 .pn-education__heading,
body#product.product-id-343 .pn-education__heading,
body#product.product-id-344 .pn-education__heading {
  margin: 0 0 0.5rem;
  color: var(--pn-color-primary-dark);
  font-family: var(--pn-font-family-ui);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}
body#product.product-id-320 .pn-education__facts,
body#product.product-id-339 .pn-education__facts,
body#product.product-id-340 .pn-education__facts,
body#product.product-id-341 .pn-education__facts,
body#product.product-id-342 .pn-education__facts,
body#product.product-id-343 .pn-education__facts,
body#product.product-id-344 .pn-education__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem 1rem;
  margin: 0;
}
body#product.product-id-320 .pn-education__fact,
body#product.product-id-339 .pn-education__fact,
body#product.product-id-340 .pn-education__fact,
body#product.product-id-341 .pn-education__fact,
body#product.product-id-342 .pn-education__fact,
body#product.product-id-343 .pn-education__fact,
body#product.product-id-344 .pn-education__fact {
  min-width: 0;
}
body#product.product-id-320 .pn-education__fact--wide,
body#product.product-id-339 .pn-education__fact--wide,
body#product.product-id-340 .pn-education__fact--wide,
body#product.product-id-341 .pn-education__fact--wide,
body#product.product-id-342 .pn-education__fact--wide,
body#product.product-id-343 .pn-education__fact--wide,
body#product.product-id-344 .pn-education__fact--wide {
  grid-column: 1/-1;
}
body#product.product-id-320 .pn-education__fact dt,
body#product.product-id-339 .pn-education__fact dt,
body#product.product-id-340 .pn-education__fact dt,
body#product.product-id-341 .pn-education__fact dt,
body#product.product-id-342 .pn-education__fact dt,
body#product.product-id-343 .pn-education__fact dt,
body#product.product-id-344 .pn-education__fact dt {
  margin: 0 0 0.125rem;
  color: var(--pn-color-primary-dark);
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.25;
}
body#product.product-id-320 .pn-education__fact dd,
body#product.product-id-339 .pn-education__fact dd,
body#product.product-id-340 .pn-education__fact dd,
body#product.product-id-341 .pn-education__fact dd,
body#product.product-id-342 .pn-education__fact dd,
body#product.product-id-343 .pn-education__fact dd,
body#product.product-id-344 .pn-education__fact dd {
  margin: 0;
  color: var(--pn-color-text);
  font-size: 0.8125rem;
  line-height: 1.4;
}
body#product.product-id-320 .pn-education__fact--educators dd,
body#product.product-id-339 .pn-education__fact--educators dd,
body#product.product-id-340 .pn-education__fact--educators dd,
body#product.product-id-341 .pn-education__fact--educators dd,
body#product.product-id-342 .pn-education__fact--educators dd,
body#product.product-id-343 .pn-education__fact--educators dd,
body#product.product-id-344 .pn-education__fact--educators dd {
  display: grid;
  gap: 0.1875rem;
}
body#product.product-id-320 .pn-education__fact--educators strong,
body#product.product-id-339 .pn-education__fact--educators strong,
body#product.product-id-340 .pn-education__fact--educators strong,
body#product.product-id-341 .pn-education__fact--educators strong,
body#product.product-id-342 .pn-education__fact--educators strong,
body#product.product-id-343 .pn-education__fact--educators strong,
body#product.product-id-344 .pn-education__fact--educators strong {
  color: var(--pn-color-primary-dark);
  font-weight: 600;
}
body#product.product-id-320 .pn-education__fact--educators span,
body#product.product-id-339 .pn-education__fact--educators span,
body#product.product-id-340 .pn-education__fact--educators span,
body#product.product-id-341 .pn-education__fact--educators span,
body#product.product-id-342 .pn-education__fact--educators span,
body#product.product-id-343 .pn-education__fact--educators span,
body#product.product-id-344 .pn-education__fact--educators span {
  display: block;
}
body#product.product-id-320 .pn-education__flow,
body#product.product-id-320 .pn-education__included,
body#product.product-id-339 .pn-education__flow,
body#product.product-id-339 .pn-education__included,
body#product.product-id-340 .pn-education__flow,
body#product.product-id-340 .pn-education__included,
body#product.product-id-341 .pn-education__flow,
body#product.product-id-341 .pn-education__included,
body#product.product-id-342 .pn-education__flow,
body#product.product-id-342 .pn-education__included,
body#product.product-id-343 .pn-education__flow,
body#product.product-id-343 .pn-education__included,
body#product.product-id-344 .pn-education__flow,
body#product.product-id-344 .pn-education__included {
  margin: 0;
  padding: 0;
  list-style: none;
}
body#product.product-id-320 .pn-education__flow,
body#product.product-id-339 .pn-education__flow,
body#product.product-id-340 .pn-education__flow,
body#product.product-id-341 .pn-education__flow,
body#product.product-id-342 .pn-education__flow,
body#product.product-id-343 .pn-education__flow,
body#product.product-id-344 .pn-education__flow {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.75rem 0.875rem;
}
body#product.product-id-320 .pn-education__flow li,
body#product.product-id-339 .pn-education__flow li,
body#product.product-id-340 .pn-education__flow li,
body#product.product-id-341 .pn-education__flow li,
body#product.product-id-342 .pn-education__flow li,
body#product.product-id-343 .pn-education__flow li,
body#product.product-id-344 .pn-education__flow li {
  display: flex;
  grid-column: span 2;
  min-width: 0;
  flex-direction: column;
  gap: 0.375rem;
  margin: 0;
  padding: 0;
}
body#product.product-id-320 .pn-education__flow li:nth-child(4),
body#product.product-id-339 .pn-education__flow li:nth-child(4),
body#product.product-id-340 .pn-education__flow li:nth-child(4),
body#product.product-id-341 .pn-education__flow li:nth-child(4),
body#product.product-id-342 .pn-education__flow li:nth-child(4),
body#product.product-id-343 .pn-education__flow li:nth-child(4),
body#product.product-id-344 .pn-education__flow li:nth-child(4) {
  grid-column: 2/span 2;
}
body#product.product-id-320 .pn-education__flow li:nth-child(5),
body#product.product-id-339 .pn-education__flow li:nth-child(5),
body#product.product-id-340 .pn-education__flow li:nth-child(5),
body#product.product-id-341 .pn-education__flow li:nth-child(5),
body#product.product-id-342 .pn-education__flow li:nth-child(5),
body#product.product-id-343 .pn-education__flow li:nth-child(5),
body#product.product-id-344 .pn-education__flow li:nth-child(5) {
  grid-column: 4/span 2;
}
body#product.product-id-320 .pn-education__flow li::before,
body#product.product-id-339 .pn-education__flow li::before,
body#product.product-id-340 .pn-education__flow li::before,
body#product.product-id-341 .pn-education__flow li::before,
body#product.product-id-342 .pn-education__flow li::before,
body#product.product-id-343 .pn-education__flow li::before,
body#product.product-id-344 .pn-education__flow li::before {
  display: none;
}
body#product.product-id-320 .pn-education__flow strong,
body#product.product-id-339 .pn-education__flow strong,
body#product.product-id-340 .pn-education__flow strong,
body#product.product-id-341 .pn-education__flow strong,
body#product.product-id-342 .pn-education__flow strong,
body#product.product-id-343 .pn-education__flow strong,
body#product.product-id-344 .pn-education__flow strong {
  display: block;
  margin-bottom: 0.125rem;
  color: var(--pn-color-text);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.3;
}
body#product.product-id-320 .pn-education__flow p,
body#product.product-id-339 .pn-education__flow p,
body#product.product-id-340 .pn-education__flow p,
body#product.product-id-341 .pn-education__flow p,
body#product.product-id-342 .pn-education__flow p,
body#product.product-id-343 .pn-education__flow p,
body#product.product-id-344 .pn-education__flow p {
  font-size: 0.75rem;
  line-height: 1.4;
}
body#product.product-id-320 .pn-education__flow-number,
body#product.product-id-339 .pn-education__flow-number,
body#product.product-id-340 .pn-education__flow-number,
body#product.product-id-341 .pn-education__flow-number,
body#product.product-id-342 .pn-education__flow-number,
body#product.product-id-343 .pn-education__flow-number,
body#product.product-id-344 .pn-education__flow-number {
  display: inline-grid;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border-radius: var(--pn-radius-pill);
  background: color-mix(in srgb, var(--pn-color-primary) 16%, var(--pn-color-surface));
  color: var(--pn-color-primary-dark);
  font-size: 0.75rem;
  font-weight: 700;
}
body#product.product-id-320 .pn-education__included,
body#product.product-id-339 .pn-education__included,
body#product.product-id-340 .pn-education__included,
body#product.product-id-341 .pn-education__included,
body#product.product-id-342 .pn-education__included,
body#product.product-id-343 .pn-education__included,
body#product.product-id-344 .pn-education__included {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.375rem 1rem;
  margin-top: 0.5rem;
}
body#product.product-id-320 .pn-education__included li,
body#product.product-id-339 .pn-education__included li,
body#product.product-id-340 .pn-education__included li,
body#product.product-id-341 .pn-education__included li,
body#product.product-id-342 .pn-education__included li,
body#product.product-id-343 .pn-education__included li,
body#product.product-id-344 .pn-education__included li {
  position: relative;
  margin: 0;
  padding-left: 1rem;
  color: var(--pn-color-text);
  font-size: 0.8125rem;
  line-height: 1.4;
}
body#product.product-id-320 .pn-education__included li::before,
body#product.product-id-339 .pn-education__included li::before,
body#product.product-id-340 .pn-education__included li::before,
body#product.product-id-341 .pn-education__included li::before,
body#product.product-id-342 .pn-education__included li::before,
body#product.product-id-343 .pn-education__included li::before,
body#product.product-id-344 .pn-education__included li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--pn-color-primary-dark);
  content: "✓";
  font-weight: 700;
}
body#product.product-id-320 .pn-education__important-note,
body#product.product-id-339 .pn-education__important-note,
body#product.product-id-340 .pn-education__important-note,
body#product.product-id-341 .pn-education__important-note,
body#product.product-id-342 .pn-education__important-note,
body#product.product-id-343 .pn-education__important-note,
body#product.product-id-344 .pn-education__important-note {
  display: grid;
  gap: 0.25rem;
  margin-top: 0.875rem;
  padding: 0.75rem 0.875rem;
  border-inline-start: 0.1875rem solid var(--pn-color-primary-dark);
  border-radius: var(--pn-radius-md);
  background: color-mix(in srgb, var(--pn-color-primary) 10%, var(--pn-color-surface));
}
body#product.product-id-320 .pn-education__important-note strong,
body#product.product-id-339 .pn-education__important-note strong,
body#product.product-id-340 .pn-education__important-note strong,
body#product.product-id-341 .pn-education__important-note strong,
body#product.product-id-342 .pn-education__important-note strong,
body#product.product-id-343 .pn-education__important-note strong,
body#product.product-id-344 .pn-education__important-note strong {
  color: var(--pn-color-primary-dark);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.3;
}
body#product.product-id-320 .pn-education__important-note p,
body#product.product-id-339 .pn-education__important-note p,
body#product.product-id-340 .pn-education__important-note p,
body#product.product-id-341 .pn-education__important-note p,
body#product.product-id-342 .pn-education__important-note p,
body#product.product-id-343 .pn-education__important-note p,
body#product.product-id-344 .pn-education__important-note p {
  margin: 0;
  color: var(--pn-color-text);
  font-size: 0.75rem;
  line-height: 1.45;
}
body#product.product-id-320 .pn-education__section--prepared p + p,
body#product.product-id-339 .pn-education__section--prepared p + p,
body#product.product-id-340 .pn-education__section--prepared p + p,
body#product.product-id-341 .pn-education__section--prepared p + p,
body#product.product-id-342 .pn-education__section--prepared p + p,
body#product.product-id-343 .pn-education__section--prepared p + p,
body#product.product-id-344 .pn-education__section--prepared p + p {
  margin-top: 0.75rem;
}

@media (width < 48rem) {
  body#product.product-id-320 .pn-product__hero-summary,
  body#product.product-id-339 .pn-product__hero-summary,
  body#product.product-id-340 .pn-product__hero-summary,
  body#product.product-id-341 .pn-product__hero-summary,
  body#product.product-id-342 .pn-product__hero-summary,
  body#product.product-id-343 .pn-product__hero-summary,
  body#product.product-id-344 .pn-product__hero-summary {
    font-size: 0.875rem;
  }
  body#product.product-id-320 .pn-product__education-enquiry-grid,
  body#product.product-id-339 .pn-product__education-enquiry-grid,
  body#product.product-id-340 .pn-product__education-enquiry-grid,
  body#product.product-id-341 .pn-product__education-enquiry-grid,
  body#product.product-id-342 .pn-product__education-enquiry-grid,
  body#product.product-id-343 .pn-product__education-enquiry-grid,
  body#product.product-id-344 .pn-product__education-enquiry-grid {
    grid-template-columns: 1fr;
  }
  body#product.product-id-320 .pn-product__details--education,
  body#product.product-id-339 .pn-product__details--education,
  body#product.product-id-340 .pn-product__details--education,
  body#product.product-id-341 .pn-product__details--education,
  body#product.product-id-342 .pn-product__details--education,
  body#product.product-id-343 .pn-product__details--education,
  body#product.product-id-344 .pn-product__details--education {
    padding: 0.75rem;
  }
  body#product.product-id-320 .pn-education__facts,
  body#product.product-id-320 .pn-education__included,
  body#product.product-id-339 .pn-education__facts,
  body#product.product-id-339 .pn-education__included,
  body#product.product-id-340 .pn-education__facts,
  body#product.product-id-340 .pn-education__included,
  body#product.product-id-341 .pn-education__facts,
  body#product.product-id-341 .pn-education__included,
  body#product.product-id-342 .pn-education__facts,
  body#product.product-id-342 .pn-education__included,
  body#product.product-id-343 .pn-education__facts,
  body#product.product-id-343 .pn-education__included,
  body#product.product-id-344 .pn-education__facts,
  body#product.product-id-344 .pn-education__included {
    grid-template-columns: 1fr;
  }
  body#product.product-id-320 .pn-education__fact--wide,
  body#product.product-id-339 .pn-education__fact--wide,
  body#product.product-id-340 .pn-education__fact--wide,
  body#product.product-id-341 .pn-education__fact--wide,
  body#product.product-id-342 .pn-education__fact--wide,
  body#product.product-id-343 .pn-education__fact--wide,
  body#product.product-id-344 .pn-education__fact--wide {
    grid-column: auto;
  }
  body#product.product-id-320 .pn-education__flow,
  body#product.product-id-339 .pn-education__flow,
  body#product.product-id-340 .pn-education__flow,
  body#product.product-id-341 .pn-education__flow,
  body#product.product-id-342 .pn-education__flow,
  body#product.product-id-343 .pn-education__flow,
  body#product.product-id-344 .pn-education__flow {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
  body#product.product-id-320 .pn-education__flow li,
  body#product.product-id-339 .pn-education__flow li,
  body#product.product-id-340 .pn-education__flow li,
  body#product.product-id-341 .pn-education__flow li,
  body#product.product-id-342 .pn-education__flow li,
  body#product.product-id-343 .pn-education__flow li,
  body#product.product-id-344 .pn-education__flow li {
    display: grid;
    grid-column: auto;
    grid-template-columns: 1.5rem 1fr;
    column-gap: 0.5rem;
  }
  body#product.product-id-320 .pn-education__flow li:nth-child(4),
  body#product.product-id-320 .pn-education__flow li:nth-child(5),
  body#product.product-id-339 .pn-education__flow li:nth-child(4),
  body#product.product-id-339 .pn-education__flow li:nth-child(5),
  body#product.product-id-340 .pn-education__flow li:nth-child(4),
  body#product.product-id-340 .pn-education__flow li:nth-child(5),
  body#product.product-id-341 .pn-education__flow li:nth-child(4),
  body#product.product-id-341 .pn-education__flow li:nth-child(5),
  body#product.product-id-342 .pn-education__flow li:nth-child(4),
  body#product.product-id-342 .pn-education__flow li:nth-child(5),
  body#product.product-id-343 .pn-education__flow li:nth-child(4),
  body#product.product-id-343 .pn-education__flow li:nth-child(5),
  body#product.product-id-344 .pn-education__flow li:nth-child(4),
  body#product.product-id-344 .pn-education__flow li:nth-child(5) {
    grid-column: auto;
  }
  body#product.product-id-320 .pn-education__flow-number,
  body#product.product-id-339 .pn-education__flow-number,
  body#product.product-id-340 .pn-education__flow-number,
  body#product.product-id-341 .pn-education__flow-number,
  body#product.product-id-342 .pn-education__flow-number,
  body#product.product-id-343 .pn-education__flow-number,
  body#product.product-id-344 .pn-education__flow-number {
    grid-row: 1/span 2;
  }
}
.pn-cart,
.pn-checkout {
  padding-block: var(--pn-space-5);
}

.pn-cart :is(.cart-grid-body, .cart-grid-right) {
  border: none;
  background: transparent;
  box-shadow: none;
}

.pn-checkout :is(.checkout-step, .cart-summary) {
  border: 0.0625rem solid #e5ead8;
  border-radius: var(--pn-radius-md);
  background: var(--pn-color-surface);
  box-shadow: var(--pn-shadow-sm);
}

.pn-cart .cart-grid-body {
  padding: 0;
}

.pn-checkout .checkout-step {
  padding: var(--pn-space-4);
}

.pn-cart .cart-grid-right {
  padding: 0;
}

.pn-checkout .cart-summary {
  padding: var(--pn-space-4);
}

.pn-cart :is(.cart-item, .product-line-grid) {
  padding-block: var(--pn-space-4);
  border-bottom: 0.0625rem solid #e5ead8;
}

.pn-cart :is(.cart-item, .product-line-grid):last-child {
  border-bottom: 0;
}

.pn-checkout .checkout-step[class~=-current] .step-title {
  border-inline-start: 0.25rem solid var(--pn-color-primary-dark);
  padding-inline-start: var(--pn-space-2);
  color: var(--pn-color-text);
}

.pn-checkout :is(input, select, textarea) {
  border-color: #e5ead8;
  border-radius: var(--pn-radius-sm);
}

.pn-cart :is(.cart-grid, .cart-grid-body),
.pn-checkout :is(.checkout-step, .cart-summary) {
  margin-bottom: var(--pn-space-4);
}

@media (min-width: 48rem) {
  .pn-cart {
    padding-block: var(--pn-space-7);
  }
  .pn-cart .cart-grid {
    gap: var(--pn-space-5);
  }
}
.pn-status-badge {
  display: inline-flex;
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-primary);
  color: var(--pn-color-text);
  font-weight: 700;
  padding: var(--pn-space-2) var(--pn-space-3);
}

.pn-status-badge--success {
  background: var(--pn-color-success);
  color: var(--pn-color-surface);
}

.pn-status-badge--warning {
  background: var(--pn-color-warning);
}

.pn-status-badge--danger {
  background: var(--pn-color-danger);
  color: var(--pn-color-surface);
}

.pn-fabric-purchase-info {
  border-inline-start: 0.25rem solid var(--pn-color-accent);
  background: var(--pn-color-background);
  border-radius: var(--pn-radius-md);
  padding: var(--pn-space-4);
}

.pn-timeline {
  display: grid;
  gap: var(--pn-space-4);
  list-style: none;
  margin: 0;
  padding: 0;
}

.pn-timeline__item {
  border-inline-start: 0.2rem solid var(--pn-color-primary);
  display: grid;
  gap: var(--pn-space-1);
  padding-inline-start: var(--pn-space-4);
}

.pn-education-card__image, .pn-camp-card__image {
  aspect-ratio: 4/3;
  object-fit: cover;
  width: 100%;
}

.pn-camp-card__meta {
  color: var(--pn-color-text);
  font-weight: 700;
}

@media (prefers-reduced-motion: no-preference) {
  .pn-booking-card, .pn-education-card, .pn-camp-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .pn-booking-card:focus-within, .pn-education-card:focus-within, .pn-camp-card:focus-within {
    transform: translateY(-0.125rem);
  }
}
.pn-cms-page__native {
  padding-block: var(--pn-space-5);
}

.pn-cms-hero {
  padding-block: var(--pn-space-7);
  background: var(--pn-color-background-soft);
}

.pn-cms-hero__grid {
  display: grid;
  gap: var(--pn-space-5);
  align-items: center;
}

.pn-cms-hero__content {
  max-width: 44rem;
}

.pn-cms-hero__title {
  margin: 0;
  color: var(--pn-color-text);
  font-family: var(--pn-font-decorative);
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  font-weight: 400;
  line-height: 1.1;
}

.pn-cms-hero__subtitle {
  margin: var(--pn-space-4) 0;
  font-size: 1.125rem;
}

.pn-cms-hero__media {
  min-height: 16rem;
  overflow: hidden;
  border-radius: var(--pn-radius-lg);
  box-shadow: var(--pn-shadow-md);
}

.pn-cms-hero__media img,
.pn-cms-image-text__media img,
.pn-cms-card__image,
.pn-cms-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pn-cms-content-block,
.pn-cms-image-text,
.pn-cms-card-grid,
.pn-cms-gallery,
.pn-cms-faq {
  padding-block: var(--pn-space-6);
}

.pn-cms-content-block__inner {
  max-width: 48rem;
}

.pn-cms-image-text__grid {
  display: grid;
  gap: var(--pn-space-5);
  align-items: center;
}

.pn-cms-image-text__media {
  min-height: 15rem;
  overflow: hidden;
  border-radius: var(--pn-radius-lg);
}

.pn-cms-card-grid__items {
  display: grid;
  gap: var(--pn-space-4);
}

.pn-cms-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 0.0625rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-surface);
  color: var(--pn-color-text);
  box-shadow: var(--pn-shadow-sm);
  height: 100%;
  overflow: hidden;
}

.pn-cms-card__link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.pn-cms-card__link:focus-visible {
  outline: 0.1875rem solid var(--pn-color-accent);
  outline-offset: -0.1875rem;
}

.pn-cms-card__image {
  aspect-ratio: 4/3;
}

.pn-cms-card__body {
  display: grid;
  gap: var(--pn-space-2);
  padding: var(--pn-space-4);
}

.pn-cms-card__title {
  color: var(--pn-color-text);
  font-size: 1.25rem;
  font-weight: 800;
}

.pn-cms-card__text {
  color: var(--pn-color-text);
}

.pn-cms-gallery__grid {
  display: grid;
  gap: var(--pn-space-3);
}

.pn-cms-gallery__item {
  margin: 0;
  overflow: hidden;
  border-radius: var(--pn-radius-md);
}

.pn-cms-gallery__item img {
  aspect-ratio: 1;
}

.pn-cms-gallery__item figcaption {
  padding: var(--pn-space-2);
  color: var(--pn-color-text);
  font-size: 0.875rem;
}

.pn-cms-testimonial {
  max-width: 46rem;
  margin: 0 auto;
  padding: var(--pn-space-5);
  border-left: 0.25rem solid var(--pn-color-primary-dark);
  background: var(--pn-color-background-soft);
  border-radius: var(--pn-radius-md);
}

.pn-cms-testimonial blockquote {
  margin: 0;
  font-size: 1.125rem;
  font-style: italic;
}

.pn-cms-testimonial figcaption {
  margin-top: var(--pn-space-3);
  color: var(--pn-color-text);
  font-weight: 800;
}

.pn-cms-cta {
  padding-block: var(--pn-space-7);
  background: var(--pn-color-primary);
}

.pn-cms-cta__inner {
  max-width: 44rem;
  text-align: center;
}

.pn-cms-cta h2 {
  margin-top: 0;
  color: var(--pn-color-text);
}

@media (min-width: 48rem) {
  .pn-cms-hero--with-media .pn-cms-hero__grid,
  .pn-cms-image-text__grid {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.9fr);
  }
  .pn-cms-hero__media {
    height: 26rem;
    min-height: 0;
  }
  .pn-cms-image-text--reverse .pn-cms-image-text__media {
    order: 2;
  }
  .pn-cms-card-grid__items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .pn-cms-gallery__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (prefers-reduced-motion: no-preference) {
  .pn-cms-card {
    transition: transform 160ms ease, box-shadow 160ms ease;
  }
  .pn-cms-card:hover {
    transform: translateY(-0.125rem);
    box-shadow: var(--pn-shadow-md);
  }
}
.pn-privacy-policy {
  max-width: 58rem;
  margin-inline: auto;
  color: var(--pn-color-text);
  font-family: var(--pn-font-body, "Nunito", sans-serif);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
}
.pn-privacy-policy strong, .pn-privacy-policy b {
  font-weight: 500;
}
.pn-privacy-policy__meta {
  margin-bottom: var(--pn-space-3);
  padding-bottom: var(--pn-space-2);
  border-bottom: 1px solid var(--pn-color-border, #e5e7eb);
}
.pn-privacy-policy__updated {
  margin: 0;
  color: var(--pn-color-text-muted, #6b7280);
  font-size: 0.8125rem;
  font-weight: 400;
}
.pn-privacy-policy__intro {
  margin-bottom: var(--pn-space-4);
  font-size: 0.875rem;
  line-height: 1.5;
}
.pn-privacy-policy__intro p {
  margin-block: 0 0.5rem;
}
.pn-privacy-policy__section {
  margin-bottom: 1.375rem;
  padding-bottom: 1.125rem;
  border-bottom: 1px solid var(--pn-color-border-subtle, rgba(0, 0, 0, 0.05));
}
.pn-privacy-policy__section:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.pn-privacy-policy__section h2 {
  margin-block: 0 0.5rem;
  color: var(--pn-color-text);
  font-family: var(--pn-font-body, "Nunito", sans-serif);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
}
.pn-privacy-policy__section h3 {
  margin-block: 0.625rem 0.375rem;
  color: var(--pn-color-text);
  font-family: var(--pn-font-body, "Nunito", sans-serif);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.35;
}
.pn-privacy-policy__section p {
  margin-block: 0 0.5rem;
  line-height: 1.5;
}
.pn-privacy-policy__section ul, .pn-privacy-policy__section ol {
  margin-block: 0 0.5rem;
  padding-left: 1.25rem;
}
.pn-privacy-policy__section ul li, .pn-privacy-policy__section ol li {
  margin-bottom: 0.25rem;
  line-height: 1.45;
}
.pn-privacy-policy__section ul li:last-child, .pn-privacy-policy__section ol li:last-child {
  margin-bottom: 0;
}
.pn-privacy-policy__section a {
  color: var(--pn-color-primary-dark, #2b7a78);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 150ms ease;
}
.pn-privacy-policy__section a:hover {
  color: var(--pn-color-accent, #17252a);
}
.pn-privacy-policy__card {
  margin-block: 0.5rem;
  padding: 0.625rem 0.875rem;
  background-color: var(--pn-color-background-soft, #f8fafc);
  border: 1px solid var(--pn-color-border, #e2e8f0);
  border-left: 3px solid var(--pn-color-primary-dark, #2b7a78);
  border-radius: var(--pn-radius-md, 8px);
}
.pn-privacy-policy__card p {
  margin-block: 0 0.1875rem;
}
.pn-privacy-policy__card p:last-child {
  margin-bottom: 0;
}

.page-cms .page-header h1 {
  margin-block: 0 var(--pn-space-3);
  color: var(--pn-color-text);
  font-family: var(--pn-font-body, "Nunito", sans-serif);
  font-size: clamp(1.625rem, 3vw, 1.875rem);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}

/* Final presentation layer: follows native PrestaShop markup and keeps its behaviour. */
.page-home #wrapper,
.page-category #wrapper,
.page-product #wrapper,
.page-cart #wrapper,
.page-order #wrapper {
  padding-top: 0;
  background: var(--pn-color-surface);
}

.page-home main > .container,
.page-home #content-wrapper {
  width: 100%;
  max-width: none;
  padding: 0;
}

.pn-homepage {
  font-size: clamp(1rem, 1vw, 1.125rem);
}

.pn-homepage .pn-container {
  max-width: var(--content-max-width);
}

.pn-home-hero {
  padding-top: clamp(1rem, 2vw, 2rem);
}

.pn-home-hero__grid {
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  border-radius: 2rem;
  background: var(--pn-color-background-soft);
}

.pn-home-hero__eyebrow {
  font-family: var(--pn-font-family-decorative);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  font-weight: 400;
  text-decoration: none;
}

.pn-home-hero__title {
  font-family: var(--pn-font-family-ui);
  font-size: clamp(2.25rem, 4.6vw, 4rem);
  font-weight: 800;
  letter-spacing: -0.035em;
}

.pn-home-hero__actions .pn-button {
  min-width: 10rem;
}

.pn-home-benefits__list {
  gap: 0;
  overflow: hidden;
  border: 0.0625rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-surface);
  box-shadow: var(--pn-shadow-sm);
}

.pn-home-benefits__list .pn-trust-feature {
  min-height: 8rem;
  padding: var(--pn-space-5);
}

.pn-home-content-card {
  border: 0.0625rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-lg);
  box-shadow: var(--pn-shadow-sm);
}

.pn-home-content-card__image {
  border-radius: var(--pn-radius-lg) var(--pn-radius-lg) 0 0;
}

.pn-home-content-card__image img {
  transition: transform 240ms ease;
}

.pn-home-content-card:hover .pn-home-content-card__image img {
  transform: scale(1.035);
}

.pn-home-content-card__body {
  align-content: start;
}

.pn-home-content-card__body p {
  margin: 0;
  color: var(--pn-color-text);
}

.pn-home-section--activities .pn-home-content-card {
  background: var(--pn-color-background-soft);
}

.pn-home-section--featured-categories .pn-home-content-card {
  background: var(--pn-color-background);
}

.pn-home-section--education .pn-home-content-card,
.pn-home-section--camps .pn-home-content-card {
  background: var(--pn-color-info);
}

.pn-home-content-grid--products .pn-home-content-card__image {
  aspect-ratio: 4/5;
}

.pn-home-teaser {
  grid-template-columns: minmax(0, 1fr);
  border: 0;
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-background-soft);
}

.pn-home-section--little-experts .pn-home-teaser {
  background: var(--pn-color-primary);
}

.pn-home-teaser__body {
  display: grid;
  align-content: center;
  gap: var(--pn-space-4);
}

.pn-home-newsletter {
  border-radius: var(--pn-radius-lg);
  overflow: hidden;
}

.pn-home-newsletter__content {
  padding: clamp(1.5rem, 4vw, 3rem);
}

.pn-header {
  box-shadow: 0 0.25rem 1rem rgba(39, 44, 96, 0.06);
}

.pn-header__main {
  background: var(--pn-color-surface);
}

.pn-header__search [class~=ui-autocomplete-input],
.pn-header__search input {
  min-height: 2.875rem;
  border-radius: var(--pn-radius-pill);
}

.pn-header__cart :is(.cart-products-count, .cart-products-count-btn) {
  display: inline-grid;
  min-width: 1.25rem;
  height: 1.25rem;
  place-items: center;
  border-radius: var(--pn-radius-pill);
  background: var(--pn-color-cart-badge-bg);
  color: var(--pn-color-text-inverse);
  font-size: 0.75rem;
}

.products .product-miniature,
.pn-product-card {
  height: 100%;
}

.products .product-miniature .thumbnail-container {
  height: 100%;
  overflow: hidden;
  border: 0.0625rem solid var(--pn-color-border);
  border-radius: var(--pn-radius-lg);
  box-shadow: var(--pn-shadow-sm);
}

.products .product-miniature .product-thumbnail {
  display: block;
  overflow: hidden;
  border-radius: var(--pn-radius-lg) var(--pn-radius-lg) 0 0;
}

.products .product-miniature .product-thumbnail img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
}

.products .product-miniature .product-description {
  min-height: 9rem;
  padding: var(--pn-space-4);
  background: var(--pn-color-surface);
}

.products .product-miniature .product-title {
  min-height: 2.8em;
  font-size: 1.0625rem;
  font-weight: 800;
  line-height: 1.4;
}

.products .product-miniature .price {
  color: var(--pn-color-text);
  font-size: 1.25rem;
  font-weight: 800;
}

.page-category .block-category {
  padding: clamp(1.5rem, 3vw, 3rem);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-background-soft);
}

.page-product .product-information {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-surface);
  box-shadow: var(--pn-shadow-sm);
}

.page-product .product-price {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
}

.page-cart .cart-grid-body,
.page-order .checkout-step {
  border-radius: var(--pn-radius-lg);
  box-shadow: var(--pn-shadow-sm);
}

.page-cart .cart-item {
  padding-block: var(--pn-space-4);
}

.page-order input,
.page-order select,
.page-order textarea {
  min-height: 2.75rem;
  border-radius: var(--pn-radius-sm);
}

.pn-footer__main {
  padding-block: clamp(2.5rem, 5vw, 4rem);
}

.pn-footer__grid {
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}

.pn-footer__title {
  font-size: 1.125rem;
  font-weight: 700;
}

.pn-footer__column {
  font-size: 0.9375rem;
  line-height: 1.6;
}

@media (min-width: 48rem) {
  .pn-home-hero__grid {
    min-height: clamp(32rem, 42vw, 36rem);
  }
  .pn-home-benefits__list {
    grid-template-columns: repeat(3, 1fr);
  }
  .pn-home-benefits__list .pn-trust-feature + .pn-trust-feature {
    border-left: 0.0625rem solid var(--pn-color-border);
  }
  .pn-home-teaser {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  }
}
@media (min-width: 64rem) {
  .pn-home-benefits__list {
    grid-template-columns: repeat(5, 1fr);
  }
  .pn-home-content-grid--products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .pn-home-section--activities .pn-home-content-grid {
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  }
}
@media (prefers-reduced-motion: reduce) {
  .pn-home-content-card__image img {
    transition: none;
  }
  .pn-home-content-card:hover .pn-home-content-card__image img {
    transform: none;
  }
}
.pn-home-benefits {
  margin-top: -0.5rem;
  padding-block: 0;
}

.pn-home-benefits__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  min-width: 0;
  margin: 0;
  padding: 1rem 1.25rem;
  list-style: none;
  border: 0.0625rem solid color-mix(in srgb, var(--pn-color-text) 12%, transparent);
  border-radius: var(--pn-radius-lg);
  background: var(--pn-color-surface);
  box-shadow: var(--pn-shadow-sm);
}

.pn-home-benefits__item {
  display: flex;
  min-width: 0;
  min-height: 4.5rem;
  align-items: center;
  gap: var(--pn-space-3);
  padding-block: var(--pn-space-2);
}

.pn-home-benefits__icon {
  flex: 0 0 2.25rem;
  width: 2.25rem;
  height: 2.25rem;
}

.pn-home-benefits__icon--leaf,
.pn-home-benefits__icon--delivery {
  color: var(--pn-color-primary-dark);
}

.pn-home-benefits__icon--heart {
  color: var(--pn-color-danger);
}

.pn-home-benefits__icon--handmade {
  color: var(--pn-color-accent);
}

.pn-home-benefits__copy {
  display: grid;
  min-width: 0;
  gap: 0.25rem;
}

.pn-home-benefits__title {
  color: var(--pn-color-text);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.2;
}

.pn-home-benefits__subtitle {
  color: var(--pn-color-text);
  font-size: 0.8125rem;
  line-height: 1.35;
  opacity: 0.78;
}

@media (min-width: 36rem) {
  .pn-home-benefits__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-inline: 1.5rem;
  }
  .pn-home-benefits__item:nth-child(even) {
    padding-left: 1rem;
    border-left: 0.0625rem solid color-mix(in srgb, var(--pn-color-text) 10%, transparent);
  }
  .pn-home-benefits__item:nth-child(n+3) {
    padding-top: 0.75rem;
    border-top: 0.0625rem solid color-mix(in srgb, var(--pn-color-text) 10%, transparent);
  }
}
@media (min-width: 64rem) {
  .pn-home-benefits + .pn-home-section {
    padding-top: var(--pn-space-5);
  }
  .pn-home-benefits__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 5.25rem;
    padding: 1rem 1.5rem;
  }
  .pn-home-benefits__item {
    min-height: 3.25rem;
    padding-block: 0;
  }
  .pn-home-benefits__item:nth-child(n+3) {
    padding-top: 0;
    border-top: 0;
  }
  .pn-home-benefits__item + .pn-home-benefits__item {
    padding-left: 1.25rem;
    border-left: 0.0625rem solid color-mix(in srgb, var(--pn-color-text) 10%, transparent);
  }
}
html {
  font-family: var(--font-family-base);
}

body {
  background: var(--color-surface);
  color: var(--color-text);
}

/* ==================================================
 * STEP 23.2 — CONTACT PAGE REFINEMENT
 * ================================================== */
.page-contact {
  font-family: var(--pn-font-family-ui, Nunito, Arial, sans-serif);
}

.page-contact #main {
  font-family: inherit;
  margin-top: 1rem;
}

.page-contact #wrapper > .container > .row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 48rem) {
  .page-contact #wrapper > .container > .row {
    grid-template-columns: minmax(18rem, 22rem) minmax(0, 1fr);
    align-items: start;
  }
}

.page-contact #left-column,
.page-contact #content-wrapper {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  float: none !important;
}

/* Left column - Store info */
.page-contact .contact-rich {
  background: #fbfcf8;
  border: 0.0625rem solid #e5ebe0;
  border-radius: 1rem;
  padding: 1.75rem;
  box-shadow: 0 0.125rem 0.5rem rgba(60, 75, 40, 0.03);
  word-break: normal !important;
}

.page-contact .contact-rich h4 {
  font-family: inherit;
  font-size: 1.125rem;
  font-weight: 700;
  color: #2c3522;
  margin-top: 0;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 0.0625rem solid #eef2e6;
  letter-spacing: -0.01em;
}

.page-contact .contact-rich .block {
  display: grid;
  grid-template-columns: 2.25rem 1fr;
  gap: 1rem;
  align-items: center;
  padding-block: 1rem;
  border-bottom: 0.0625rem solid #f0f4ea;
  word-break: normal !important;
}

.page-contact .contact-rich .block:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.page-contact .contact-rich .icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: #edf2e4;
  color: #5a6b47;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.page-contact .contact-rich .icon i {
  color: #5a6b47;
  font-size: 1.125rem;
  line-height: 1;
}

.page-contact .contact-rich .data {
  font-size: 0.9375rem;
  color: #4a5737;
  line-height: 1.55;
  word-break: normal !important;
  overflow-wrap: normal !important;
  word-wrap: normal !important;
}

.page-contact .contact-rich .data a {
  color: #5a6b47;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap !important;
  word-break: normal !important;
  transition: color 150ms ease;
}

.page-contact .contact-rich .data a:hover {
  color: #8e9e33;
  text-decoration: underline;
}

/* Right column - Contact form */
.page-contact .contact-form {
  background: #ffffff;
  border: 0.0625rem solid #e5ebe0;
  border-radius: 1rem;
  padding: clamp(1.5rem, 3.5vw, 2.5rem);
  box-shadow: 0 0.125rem 0.875rem rgba(60, 75, 40, 0.04);
  max-width: 46rem;
}

.page-contact .contact-form h3 {
  font-family: inherit;
  font-size: 1.25rem;
  font-weight: 700;
  color: #2c3522;
  margin-top: 0;
  margin-bottom: 1.75rem;
  letter-spacing: -0.01em;
}

.page-contact .contact-form .form-fields {
  display: grid;
  gap: 1.25rem;
}

.page-contact .contact-form .form-group {
  margin: 0;
}

.page-contact .contact-form .form-group.row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.375rem;
  margin: 0;
}

@media (min-width: 36rem) {
  .page-contact .contact-form .form-group.row {
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 0.5rem 1rem;
    align-items: start;
  }
}

.page-contact .contact-form :is([class*="col-"], .col-md-3, .col-md-6, .col-md-9) {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.page-contact .contact-form .form-control-label {
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #333d26;
  padding-top: 0.5rem;
  margin: 0;
  text-align: left;
}

.page-contact .contact-form .form-control {
  width: 100%;
  min-height: 2.875rem;
  padding: 0.625rem 1rem;
  border: 0.0625rem solid #cdd6c2;
  border-radius: 0.5rem;
  background: #ffffff;
  color: #2c3522;
  font-family: inherit;
  font-size: 0.9375rem;
  line-height: 1.5;
  transition: border-color 150ms ease, box-shadow 150ms ease;
  box-sizing: border-box;
}

.page-contact .contact-form .form-control:focus {
  outline: 0;
  border-color: #8e9e33;
  box-shadow: 0 0 0 0.1875rem rgba(142, 158, 51, 0.2);
}

.page-contact .contact-form select.form-control {
  min-height: 2.875rem;
  cursor: pointer;
  background-color: #ffffff;
}

.page-contact .contact-form textarea.form-control {
  min-height: 8rem;
  resize: vertical;
  padding: 0.75rem 1rem;
}

/* File upload styling */
.page-contact .contact-form .bootstrap-filestyle {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}

.page-contact .contact-form .bootstrap-filestyle input.form-control {
  flex: 1 1 auto;
}

.page-contact .contact-form .group-span-filestyle .btn,
.page-contact .contact-form .btn.filestyle,
.page-contact .contact-form [class*="buttonText"],
.page-contact .contact-form label.btn[for="file-upload"],
.page-contact .contact-form .bootstrap-filestyle .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.875rem;
  padding: 0.5rem 1.25rem;
  border: 0 !important;
  border-radius: 0.5rem;
  background: #8e9e33 !important;
  color: #ffffff !important;
  font-family: inherit;
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 150ms ease;
}

.page-contact .contact-form .group-span-filestyle .btn:hover,
.page-contact .contact-form .bootstrap-filestyle .btn:hover {
  background: #7a8829 !important;
}

.page-contact .contact-form .form-control-comment {
  font-size: 0.8125rem;
  color: #758265;
  margin-top: 0.25rem;
  display: block;
}

/* Submit footer */
.page-contact .contact-form .form-footer {
  margin-top: 1.75rem;
  text-align: left;
}

.page-contact .contact-form .btn-primary,
.page-contact .contact-form input[type="submit"][name="submitMessage"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.875rem;
  padding: 0.75rem 2.25rem;
  border: 0;
  border-radius: 0.5rem;
  background: #8e9e33 !important;
  color: #ffffff !important;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 0.125rem 0.5rem rgba(142, 158, 51, 0.25);
  transition: background-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.page-contact .contact-form .btn-primary:hover,
.page-contact .contact-form input[type="submit"][name="submitMessage"]:hover {
  background: #7a8829 !important;
  box-shadow: 0 0.25rem 0.75rem rgba(142, 158, 51, 0.35);
  transform: translateY(-0.0625rem);
}

.page-contact .contact-form .btn-primary:focus-visible,
.page-contact .contact-form input[type="submit"][name="submitMessage"]:focus-visible {
  outline: 0.1875rem solid #5a6b47;
  outline-offset: 0.125rem;
}

.pn-product-card__wishlist {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 1;
}

.pn-product-card__wishlist :is(button, a) {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 0.0625rem solid var(--pn-color-control-subtle, #e5e7eb);
  border-radius: var(--pn-radius-pill, 9999px);
  background: var(--pn-color-surface, #ffffff);
  color: var(--pn-color-text, #374151);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: all 160ms ease;
}

.pn-product-card__wishlist :is(button, a):hover {
  border-color: var(--pn-color-primary-dark, #5a6b47);
  color: var(--pn-color-primary-dark, #5a6b47);
  transform: scale(1.06);
}

.pn-product-card__wishlist :is(button, a):is(.is-active, .active, .added, .wishlist-button-added, [aria-pressed="true"], [data-checked="true"], [data-is-added="true"]) {
  border-color: var(--pn-color-primary-dark, #5a6b47);
  background: #f4f6eb;
  color: var(--pn-color-primary-dark, #5a6b47);
}

.pn-product-card__wishlist :is(svg, .material-icons) {
  width: 1.125rem;
  height: 1.125rem;
  font-size: 1.125rem;
  line-height: 1;
}

.pn-product-card__wishlist :is(button, a):is(.is-active, .active, .added, .wishlist-button-added, [aria-pressed="true"], [data-checked="true"], [data-is-added="true"]) .material-icons {
  color: var(--pn-color-primary-dark, #5a6b47);
}

/* Wishlist (Norų sąrašai) details page and product cards */
.wishlist-products-container {
  margin-top: 0;
  padding-top: 0;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
}

.wishlist-products-container .wishlist-products-container-header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: var(--pn-space-3, 0.75rem);
  padding: 0;
  gap: var(--pn-space-3, 0.75rem);
}

.wishlist-products-container .wishlist-products-container-header h1 {
  display: none !important;
}

.wishlist-products-container #content.page-content,
.wishlist-products-container .card.page-content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.wishlist-products-container .sort-by-row {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  margin: 0;
  float: none;
}

.wishlist-products-container .sort-by-row .sort-by {
  color: #71778e;
  font-size: 0.8125rem;
  font-weight: 600;
  width: auto;
  padding: 0;
  margin: 0;
  display: inline-block;
  float: none;
}

.wishlist-products-container .sort-by-row .products-sort-order.dropdown {
  width: auto;
  padding: 0;
  margin: 0;
  position: relative;
  float: none;
}

.wishlist-products-container .sort-by-row .products-sort-order .select-title {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 11.5rem;
  height: 2.125rem;
  padding: 0.25rem 0.75rem;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 0.8125rem;
  font-weight: 600;
  color: #272c60;
  background: #ffffff;
  border: 1px solid #eaf2c8;
  border-radius: var(--pn-radius-sm, 0.375rem);
  box-shadow: 0 1px 2px rgba(39, 44, 96, 0.04);
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.wishlist-products-container .sort-by-row .products-sort-order .select-title:hover {
  border-color: #8e9e33;
}

.wishlist-products-container .sort-by-row .products-sort-order .select-title i {
  color: #8e9e33;
  font-size: 1.125rem;
}

.wishlist-products-container .sort-by-row .products-sort-order .dropdown-menu {
  border: 1px solid #eaf2c8;
  border-radius: var(--pn-radius-sm, 0.375rem);
  box-shadow: 0 4px 12px rgba(39, 44, 96, 0.08);
  background: #ffffff;
  padding: 0.25rem 0;
  margin-top: 0.25rem;
  min-width: 11.5rem;
  right: 0;
  left: auto;
}

.wishlist-products-container .sort-by-row .products-sort-order .select-list {
  display: block;
  padding: 0.375rem 0.75rem;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 0.8125rem;
  color: #272c60;
  text-decoration: none;
  cursor: pointer;
  transition: background 120ms ease, color 120ms ease;
}

.wishlist-products-container .sort-by-row .products-sort-order .select-list:hover {
  background: #f4f6eb;
  color: #5a6b47;
}

.wishlist-products-container .wishlist-products-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 240px));
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.wishlist-products-container .wishlist-products-list .wishlist-products-item {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
}

.wishlist-products-container .wishlist-product {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #ffffff;
  border: 1px solid #eaf2c8;
  border-radius: var(--pn-radius-md, 0.75rem);
  padding: 0.75rem;
  box-shadow: 0 1px 3px rgba(39, 44, 96, 0.04);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.wishlist-products-container .wishlist-product:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(39, 44, 96, 0.08);
  border-color: #d8e6ad;
}

.wishlist-products-container .wishlist-product .wishlist-product-link {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  text-decoration: none;
  color: inherit;
}

.wishlist-products-container .wishlist-product .wishlist-product-image {
  position: relative;
  border-radius: var(--pn-radius-sm, 0.375rem);
  overflow: hidden;
  background: #faf8f5;
  aspect-ratio: 1 / 1;
  max-height: 12.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
}

.wishlist-products-container .wishlist-product .wishlist-product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 200ms ease;
}

.wishlist-products-container .wishlist-product:hover .wishlist-product-image img {
  transform: scale(1.03);
}

.wishlist-products-container .wishlist-product .wishlist-product-right {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.wishlist-products-container .wishlist-product .wishlist-product-title {
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 0.875rem;
  font-weight: 600;
  color: #272c60;
  line-height: 1.3;
  margin: 0 0 0.25rem 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.3em;
}

.wishlist-products-container .wishlist-product .wishlist-product-price {
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 1.0625rem;
  font-weight: 800;
  color: #272c60;
  margin: 0 0 0.375rem 0;
}

.wishlist-products-container .wishlist-product .wishlist-product-combinations {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
  color: #71778e;
  margin-bottom: 0.5rem;
}

.wishlist-products-container .wishlist-product .wishlist-product-combinations .wishlist-product-combinations-text {
  margin: 0;
  font-weight: 600;
}

.wishlist-products-container .wishlist-product .wishlist-product-combinations a {
  color: #8e9e33;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: #f4f6eb;
  border: 1px solid #eaf2c8;
  transition: background 160ms ease, color 160ms ease;
}

.wishlist-products-container .wishlist-product .wishlist-product-combinations a:hover {
  background: #eaf2c8;
  color: #5a6b47;
}

.wishlist-products-container .wishlist-product .wishlist-product-combinations a i {
  font-size: 0.875rem;
}

.wishlist-products-container .wishlist-product .wishlist-product-bottom {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: auto;
  padding-top: 0.25rem;
}

.wishlist-products-container .wishlist-product .wishlist-product-bottom .wishlist-product-addtocart.btn {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  background-color: #8e9e33 !important;
  border: 1px solid #8e9e33 !important;
  color: #ffffff !important;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 0.375rem 0.625rem;
  border-radius: 9999px;
  line-height: 1.2;
  box-shadow: none;
  cursor: pointer;
  text-transform: none;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.wishlist-products-container .wishlist-product .wishlist-product-bottom .wishlist-product-addtocart.btn:hover {
  background-color: #7a8a2d !important;
  border-color: #7a8a2d !important;
  transform: translateY(-1px);
}

.wishlist-products-container .wishlist-product .wishlist-product-bottom .wishlist-product-addtocart.btn i.material-icons.shopping-cart {
  font-size: 0.9375rem;
  margin-right: 0;
}

.wishlist-products-container .wishlist-product .wishlist-product-bottom .wishlist-button-add {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 2;
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 1px solid #eaf2c8;
  background: #ffffff;
  color: #71778e;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  padding: 0;
  transition: all 160ms ease;
}

.wishlist-products-container .wishlist-product .wishlist-product-bottom .wishlist-button-add:hover {
  border-color: #e57373;
  background: #ffebee;
  color: #d32f2f;
  transform: scale(1.06);
}

.wishlist-products-container .wishlist-product .wishlist-product-bottom .wishlist-button-add i {
  font-size: 1.125rem;
  line-height: 1;
}

.wishlist-products-container .wishlist-product .wishlist-product-availability,
.wishlist-products-container .wishlist-product .wishlist-product-availability-responsive {
  display: none !important;
}

.wishlist-products-container .wishlist-footer-links {
  display: flex;
  align-items: center;
  gap: var(--pn-space-4, 1rem);
  margin-top: var(--pn-space-5, 1.5rem);
  padding-top: var(--pn-space-4, 1rem);
  border-top: 1px solid #eaf2c8;
}

.wishlist-products-container .wishlist-footer-links a {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: #71778e;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: color 160ms ease;
}

.wishlist-products-container .wishlist-footer-links a:hover {
  color: #8e9e33;
}

.wishlist-products-container .wishlist-footer-links a i {
  font-size: 1.125rem;
}

/* ==================================================
 * STEP 24.Z12 — BDAR / ASMENS DUOMENYS (GDPR)
 * ================================================== */
body#module-psgdpr-gdpr,
body.page-customer-account.module-psgdpr,
body.page-customer-account[id*="psgdpr"] {
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
}

body#module-psgdpr-gdpr #main,
body.page-customer-account.module-psgdpr #main,
body.page-customer-account[id*="psgdpr"] #main {
  font-family: inherit;
  max-width: 58rem;
  margin-inline: auto;
  margin-top: 1rem !important;
  padding-top: 0 !important;
}

body#module-psgdpr-gdpr .page-header,
body.page-customer-account.module-psgdpr .page-header,
body.page-customer-account[id*="psgdpr"] .page-header {
  display: none !important;
}

body#module-psgdpr-gdpr #content.page-content,
body#module-psgdpr-gdpr .card.page-content,
body.page-customer-account.module-psgdpr #content.page-content,
body.page-customer-account.module-psgdpr .card.page-content,
body.page-customer-account[id*="psgdpr"] #content.page-content,
body.page-customer-account[id*="psgdpr"] .card.page-content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.pn-gdpr-container {
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  margin-top: 0;
  padding: 0;
  max-width: 58rem;
  margin-inline: auto;
}

.pn-gdpr-grid {
  display: flex;
  flex-direction: column;
  gap: var(--pn-space-4, 1rem);
}

.pn-gdpr-card {
  background: var(--pn-color-surface, #ffffff);
  border: 1px solid #eaf2c8;
  border-radius: var(--pn-radius-lg, 0.75rem);
  padding: var(--pn-space-5, 1.25rem) var(--pn-space-6, 1.5rem);
  box-shadow: 0 2px 8px rgba(39, 44, 96, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pn-gdpr-card:hover {
  border-color: #d6e2a8;
}

.pn-gdpr-card__title {
  font-family: var(--pn-font-family-headings, 'Nunito', sans-serif);
  font-size: 1.0625rem;
  font-weight: 800;
  color: #272c60;
  letter-spacing: 0.015em;
  margin: 0 0 0.875rem 0;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #f2f5e8;
  text-transform: uppercase;
}

.pn-gdpr-card__body {
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 0.875rem;
  line-height: 1.6;
  color: #4b5563;
}

.pn-gdpr-card__body p {
  margin: 0 0 0.75rem 0;
  color: #4b5563;
  font-size: 0.875rem;
  line-height: 1.6;
}

.pn-gdpr-card__body p:last-child {
  margin-bottom: 0;
}

.pn-gdpr-card__body a {
  color: #8e9e33;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.15s ease;
}

.pn-gdpr-card__body a:hover,
.pn-gdpr-card__body a:focus {
  color: #6d7b21;
}

.pn-gdpr-list {
  margin: 0.5rem 0 0.75rem 1.25rem;
  padding: 0;
  list-style-type: disc;
}

.pn-gdpr-list li {
  margin-bottom: 0.4rem;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #4b5563;
}

.pn-gdpr-list li:last-child {
  margin-bottom: 0;
}

.pn-gdpr-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 1rem;
  padding-top: 0.5rem;
}

.pn-btn-gdpr.btn,
.pn-btn-gdpr.btn-primary,
a.pn-btn-gdpr {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  background-color: #8e9e33 !important;
  border: 1px solid #8e9e33 !important;
  color: #ffffff !important;
  border-radius: 9999px !important;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif) !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  padding: 0.5625rem 1.25rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.025em !important;
  box-shadow: 0 2px 4px rgba(142, 158, 51, 0.2) !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.pn-btn-gdpr.btn .material-icons,
.pn-btn-gdpr.btn-primary .material-icons,
a.pn-btn-gdpr .material-icons {
  font-size: 1.125rem;
  line-height: 1;
  color: #ffffff;
}

.pn-btn-gdpr.btn:hover,
.pn-btn-gdpr.btn:focus,
.pn-btn-gdpr.btn-primary:hover,
.pn-btn-gdpr.btn-primary:focus,
a.pn-btn-gdpr:hover,
a.pn-btn-gdpr:focus {
  background-color: #7a882b !important;
  border-color: #7a882b !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(142, 158, 51, 0.3) !important;
}

.pn-btn-gdpr.btn:active,
.pn-btn-gdpr.btn-primary:active,
a.pn-btn-gdpr:active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(142, 158, 51, 0.2) !important;
}

.pn-gdpr-contact-box {
  background: #fbfcf7;
  border: 1px solid #eef3d6;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  margin: 0.75rem 0 !important;
}

.pn-gdpr-contact-box strong {
  color: #272c60;
  font-weight: 700;
  font-size: 0.9375rem;
}

@media (max-width: 48rem) {
  .pn-gdpr-card {
    padding: 1rem 1.125rem;
  }

  .pn-btn-gdpr.btn,
  .pn-btn-gdpr.btn-primary,
  a.pn-btn-gdpr {
    width: 100%;
    justify-content: center;
  }
}

/* ==================================================
 * STEP 25.1 — „PRIDĖTA Į KREPŠELĮ“ MODALAS
 * ================================================== */
#blockcart-modal.modal,
.pn-blockcart-modal.modal {
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  z-index: 1050;
}

#blockcart-modal.modal .modal-dialog,
.pn-blockcart-modal.modal .modal-dialog,
.pn-blockcart-modal__dialog {
  max-width: 46rem;
  margin: 3.5rem auto;
  width: 92%;
}

#blockcart-modal.modal .modal-content,
.pn-blockcart-modal.modal .modal-content,
.pn-blockcart-modal__content {
  border-radius: var(--pn-radius-lg, 1rem);
  border: 1px solid #eaf2c8;
  box-shadow: 0 12px 36px rgba(39, 44, 96, 0.12);
  background: #ffffff;
  overflow: hidden;
}

#blockcart-modal.modal .modal-header,
.pn-blockcart-modal.modal .modal-header,
.pn-blockcart-modal__header {
  background: #ffffff;
  border-bottom: 1px solid #f2f5e8;
  padding: 1rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

#blockcart-modal.modal .modal-header .close,
.pn-blockcart-modal.modal .modal-header .close,
.pn-blockcart-modal__close {
  color: #71778e;
  opacity: 0.7;
  font-size: 1.25rem;
  padding: 0.25rem;
  margin: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 1;
  transition: all 0.15s ease;
  position: absolute;
  right: 1.25rem;
  top: 1rem;
}

#blockcart-modal.modal .modal-header .close:hover,
#blockcart-modal.modal .modal-header .close:focus,
.pn-blockcart-modal__close:hover,
.pn-blockcart-modal__close:focus {
  opacity: 1;
  color: #272c60;
  outline: none;
}

#blockcart-modal.modal .modal-title,
.pn-blockcart-modal.modal .modal-title,
.pn-blockcart-modal__title {
  font-family: var(--pn-font-family-headings, 'Nunito', sans-serif);
  font-size: 1rem;
  font-weight: 700;
  color: #272c60;
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  margin: 0;
  line-height: 1.3;
  padding-right: 2rem;
}

.pn-blockcart-modal__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.625rem;
  height: 1.625rem;
  border-radius: 50%;
  background: #f4f7e6;
  color: #8e9e33;
  flex-shrink: 0;
}

.pn-blockcart-modal__check .material-icons,
#blockcart-modal.modal .modal-title i.material-icons {
  font-size: 1.125rem;
  line-height: 1;
  color: #8e9e33;
}

#blockcart-modal.modal .modal-body,
.pn-blockcart-modal.modal .modal-body,
.pn-blockcart-modal__body {
  padding: 1.5rem;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
}

.pn-blockcart-modal__row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.75rem;
}

#blockcart-modal .divide-right,
.pn-blockcart-modal__product-col {
  padding: 0 1.25rem;
  border-right: 1px solid #f2f5e8;
}

.pn-blockcart-modal__product-info {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.pn-blockcart-modal__image-wrapper {
  flex-shrink: 0;
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 0.5rem;
  border: 1px solid #eaf2c8;
  overflow: hidden;
  background: #fbfcf7;
  display: grid;
  place-items: center;
}

.pn-blockcart-modal__image-wrapper .product-image,
#blockcart-modal .product-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pn-blockcart-modal__product-details {
  flex: 1;
  min-width: 0;
}

#blockcart-modal .product-name,
.pn-blockcart-modal__product-details .product-name {
  font-family: var(--pn-font-family-headings, 'Nunito', sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  color: #272c60 !important;
  margin: 0 0 0.25rem 0;
  line-height: 1.35;
  text-decoration: none;
}

#blockcart-modal .product-price,
.pn-blockcart-modal__product-details .product-price {
  font-family: var(--pn-font-family-headings, 'Nunito', sans-serif);
  font-size: 1.0625rem;
  font-weight: 800;
  color: #272c60;
  margin: 0 0 0.375rem 0;
}

#blockcart-modal .product-attributes,
.pn-blockcart-modal__product-details .product-attributes,
.pn-blockcart-modal__product-details .product-attribute-line {
  font-size: 0.8125rem;
  color: #71778e;
  line-height: 1.4;
}

.pn-blockcart-modal__product-details .product-attribute-line strong {
  color: #272c60;
  font-weight: 600;
}

#blockcart-modal .product-quantity,
.pn-blockcart-modal__product-details .product-quantity {
  font-size: 0.8125rem;
  color: #71778e;
  display: block;
  margin-top: 0.25rem;
}

#blockcart-modal .product-quantity strong,
.pn-blockcart-modal__product-details .product-quantity strong {
  color: #272c60;
  font-weight: 700;
}

.pn-blockcart-modal__cart-col {
  padding: 0 1.25rem;
}

#blockcart-modal .cart-products-count,
.pn-blockcart-modal__cart-col .cart-products-count {
  font-size: 0.875rem;
  font-weight: 700;
  color: #71778e;
  margin: 0 0 0.875rem 0;
}

.pn-blockcart-modal__pricing {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-bottom: 1.25rem;
}

.pn-blockcart-modal__pricing-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.875rem;
  margin: 0;
  color: #556146;
}

.pn-blockcart-modal__pricing-row .label {
  font-weight: 500;
  color: #556146;
}

.pn-blockcart-modal__pricing-row .value {
  font-weight: 700;
  color: #272c60;
}

.pn-blockcart-modal__tax-row {
  font-size: 0.8125rem;
  color: #8a947c;
}

.pn-blockcart-modal__tax-row .label {
  color: #8a947c;
  font-weight: 400;
}

.pn-blockcart-modal__tax-row .value {
  font-weight: 600;
  color: #556146;
}

.pn-blockcart-modal__total-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fbfcf7;
  border: 1px solid #eef3d6;
  border-radius: 0.5rem;
  padding: 0.5rem 0.75rem;
  margin: 0.375rem 0;
  font-size: 0.9375rem;
  font-weight: 800;
  color: #272c60;
}

.pn-blockcart-modal__total-box .label {
  color: #272c60;
  font-weight: 800;
}

.pn-blockcart-modal__total-box .value {
  font-size: 1.0625rem;
  font-weight: 800;
  color: #272c60;
}

#blockcart-modal .cart-content-btn,
.pn-blockcart-modal__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 1rem;
  padding-top: 0.25rem;
}

#blockcart-modal .btn-secondary,
.pn-btn-modal-secondary {
  background-color: #ffffff !important;
  border: 1px solid #dce4d0 !important;
  color: #556146 !important;
  border-radius: 9999px !important;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif) !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  padding: 0.5625rem 1.125rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

#blockcart-modal .btn-secondary:hover,
#blockcart-modal .btn-secondary:focus,
.pn-btn-modal-secondary:hover,
.pn-btn-modal-secondary:focus {
  background-color: #f4f6eb !important;
  border-color: #8e9e33 !important;
  color: #3d4a2a !important;
}

#blockcart-modal .btn-primary,
.pn-btn-modal-primary {
  background-color: #8e9e33 !important;
  border: 1px solid #8e9e33 !important;
  color: #ffffff !important;
  border-radius: 9999px !important;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif) !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  padding: 0.5625rem 1.25rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 2px 4px rgba(142, 158, 51, 0.2) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

#blockcart-modal .btn-primary .material-icons,
.pn-btn-modal-primary .material-icons {
  font-size: 1.125rem;
  line-height: 1;
  color: #ffffff;
}

#blockcart-modal .btn-primary:hover,
#blockcart-modal .btn-primary:focus,
.pn-btn-modal-primary:hover,
.pn-btn-modal-primary:focus {
  background-color: #7a882b !important;
  border-color: #7a882b !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(142, 158, 51, 0.3) !important;
}

#blockcart-modal .btn-primary:active,
.pn-btn-modal-primary:active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(142, 158, 51, 0.2) !important;
}

@media (max-width: 48rem) {
  #blockcart-modal.modal .modal-dialog,
  .pn-blockcart-modal.modal .modal-dialog,
  .pn-blockcart-modal__dialog {
    margin: 1rem auto;
    width: 95%;
  }

  #blockcart-modal .divide-right,
  .pn-blockcart-modal__product-col {
    border-right: none;
    border-bottom: 1px solid #f2f5e8;
    padding-right: 0;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    width: 100%;
  }

  .pn-blockcart-modal__cart-col {
    padding-left: 0;
    width: 100%;
  }

  #blockcart-modal .cart-content-btn,
  .pn-blockcart-modal__actions {
    flex-direction: column;
    width: 100%;
  }

  #blockcart-modal .btn-secondary,
  .pn-btn-modal-secondary,
  #blockcart-modal .btn-primary,
  .pn-btn-modal-primary {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* ==========================================================================
   PeaNest Žirniukas Cart Page Styles (STEP 25.2D Lighter Compact)
   ========================================================================== */

.page-cart #wrapper {
  padding-top: 0.25rem;
  padding-bottom: 1rem;
}

.page-cart #main {
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: 1rem;
  padding-top: 0;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
}

.page-cart nav.breadcrumb,
.page-cart .breadcrumb,
.page-cart .pn-breadcrumbs {
  margin-bottom: 0.125rem;
  padding-block: 0.125rem;
}

.page-cart #content-wrapper {
  padding-top: 0;
  margin-top: 0;
}

.page-cart .pn-cart {
  padding-block: 0.125rem 0.5rem;
}

.page-cart .cart-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.125rem;
  margin-inline: 0;
  align-items: flex-start;
}

.page-cart .cart-grid-body {
  flex: 1 1 60%;
  min-width: 0;
  padding: 0;
  margin-bottom: 0.5rem;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-cart .cart-grid-right {
  flex: 0 0 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (min-width: 62rem) {
  .page-cart .cart-grid-body {
    flex: 1 1 62%;
  }
  .page-cart .cart-grid-right {
    flex: 0 0 380px;
    max-width: 380px;
  }
}

/* Cart Container (Left Card) */
.page-cart .cart-container,
.page-cart .card.cart-container {
  background: #ffffff !important;
  border: 1px solid #e5ead8 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 10px rgba(60, 75, 40, 0.04) !important;
  overflow: hidden;
  margin-bottom: 0.375rem;
  padding: 0;
}

.page-cart .cart-container .card-block {
  padding: 0.5rem 1.125rem;
  border: none !important;
}

.page-cart .cart-container h1.h1 {
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 1.125rem;
  font-weight: 700;
  color: #272c60;
  margin-bottom: 0;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  line-height: 1.15;
}

.page-cart .cart-container hr.separator {
  border: 0;
  border-top: 1px solid #e5ead8 !important;
  margin: 0;
}

.page-cart .cart-overview {
  padding: 0 1.125rem 0.125rem;
}

.page-cart .cart-items {
  list-style: none;
  padding: 0;
  margin: 0;
}

.page-cart .cart-item {
  padding-block: 0.5rem;
  border-bottom: 1px solid #e5ead8 !important;
}

.page-cart .cart-item:last-child {
  border-bottom: 0;
}

/* Product Line Grid */
.page-cart .product-line-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.875rem;
}

.page-cart .product-line-grid-left {
  flex: 0 0 80px;
  width: 80px;
  padding: 0;
}

.page-cart .product-line-grid-left .product-image {
  display: block;
}

.page-cart .product-line-grid-left .product-image img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #e5ead8 !important;
  background: #fdfbf7;
}

.page-cart .product-line-grid-body {
  flex: 1 1 200px;
  min-width: 0;
  padding: 0;
}

.page-cart .product-line-grid-body .product-line-info a.label {
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 0.875rem;
  font-weight: 700;
  color: #272c60;
  text-decoration: none;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.15s ease;
}

.page-cart .product-line-grid-body .product-line-info a.label:hover {
  color: #8e9e33;
}

.page-cart .product-line-grid-body .product-price {
  font-size: 0.75rem;
  color: #71778e;
  margin-top: 0.1rem;
}

.page-cart .product-line-grid-body .product-price .price {
  font-weight: 600;
  color: #71778e;
}

.page-cart .product-line-grid-body br {
  display: none;
}

.page-cart .product-line-grid-body .product-line-info:not(.product-price) {
  font-size: 0.75rem;
  color: #71778e;
}

.page-cart .product-line-grid-right {
  flex: 0 0 auto;
  margin-left: auto;
  padding: 0;
}

.page-cart .product-line-grid-right .row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
}

.page-cart .product-line-grid-right .hidden-md-up {
  display: none;
}

.page-cart .product-line-grid-right .qty {
  width: auto;
  padding: 0;
}

.page-cart .bootstrap-touchspin {
  display: inline-flex;
  align-items: center;
  border: 1px solid #e5ead8 !important;
  border-radius: 9999px;
  background: #fdfbf7;
  height: 32px;
  overflow: hidden;
  padding: 0 3px;
}

.page-cart .bootstrap-touchspin .form-control,
.page-cart input.js-cart-line-product-quantity {
  width: 36px;
  height: 28px;
  text-align: center;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-weight: 700;
  font-size: 0.8125rem;
  border: 0;
  background: transparent;
  color: #272c60;
  padding: 0;
  box-shadow: none;
}

.page-cart .bootstrap-touchspin .btn-touchspin {
  width: 22px;
  height: 26px;
  background: transparent;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #8e9e33;
  cursor: pointer;
  padding: 0;
  border-radius: 50%;
  transition: background 0.15s ease;
}

.page-cart .bootstrap-touchspin .btn-touchspin:hover {
  background: rgba(142, 158, 51, 0.15);
}

.page-cart .bootstrap-touchspin .input-group-btn-vertical {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
}

.page-cart .product-line-grid-right .price {
  width: auto;
  min-width: 65px;
  text-align: right;
  padding: 0;
}

.page-cart .product-line-grid-right .product-price strong {
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 0.9375rem;
  font-weight: 800;
  color: #272c60;
}

.page-cart .cart-line-product-actions {
  display: inline-flex;
  align-items: center;
}

.page-cart .remove-from-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #a0a5b5;
  transition: all 0.15s ease;
}

.page-cart .remove-from-cart i.material-icons {
  font-size: 1.125rem;
  float: none;
}

.page-cart .remove-from-cart:hover {
  color: #8e9e33;
  background: rgba(142, 158, 51, 0.1);
}

/* Fabric Quantity Widget in Cart */
.page-cart .pn-cart-fabric-qty-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border: 1px solid #e5ead8 !important;
  border-radius: 9999px;
  background: #fdfbf7;
  padding: 2px 6px;
  height: 32px;
}

.page-cart .pn-cart-fabric-qty-wrap .pn-fabric-qty-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: #8e9e33;
  text-decoration: none;
}

.page-cart .pn-cart-fabric-qty-wrap .pn-fabric-qty-btn:hover:not(.is-disabled) {
  background: rgba(142, 158, 51, 0.15);
}

.page-cart .pn-cart-fabric-qty-wrap .pn-cart-fabric-qty {
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-weight: 700;
  font-size: 0.8125rem;
  color: #272c60;
  padding: 0 4px;
}

/* Continue Shopping Link */
.page-cart .cart-grid-body > a.label {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.375rem;
  color: #8e9e33;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s ease;
}

.page-cart .cart-grid-body > a.label:hover {
  color: #7a882b;
  text-decoration: underline;
}

/* Cart Summary (Right Card) */
.page-cart .cart-summary,
.page-cart .card.cart-summary {
  background: #ffffff !important;
  border: 1px solid #e5ead8 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 10px rgba(60, 75, 40, 0.04) !important;
  padding: 0.625rem 0.875rem 0.5rem;
}

.page-cart .cart-detailed-subtotals {
  padding: 0 0 0.25rem 0;
  border-bottom: 1px solid #e5ead8 !important;
}

.page-cart .cart-summary-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.125rem 0;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 0.8125rem;
  color: #71778e;
}

.page-cart .cart-summary-line .value {
  font-weight: 600;
  color: #272c60;
}

.page-cart .cart-summary-totals {
  padding: 0.25rem 0 0.15rem 0;
}

.page-cart .cart-summary-line.cart-total {
  font-size: 1.0625rem;
  font-weight: 800;
  color: #272c60;
  padding-block: 0.15rem;
}

.page-cart .cart-summary-line.cart-total .value {
  font-size: 1.0625rem;
  font-weight: 800;
  color: #272c60;
}

.page-cart .cart-summary-line .sub {
  font-size: 0.75rem;
  color: #8a947c;
}

/* Promo Voucher Block */
.page-cart .block-promo {
  padding: 0.25rem 0;
  border-top: 1px dashed #e5ead8 !important;
}

.page-cart .promo-code-button a.collapse-button {
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 0.75rem;
  font-weight: 600;
  color: #8e9e33;
  text-decoration: underline;
  cursor: pointer;
}

.page-cart .promo-code form {
  display: flex;
  gap: 0.25rem;
  margin-top: 0.25rem;
}

.page-cart .promo-input {
  flex: 1 1 auto;
  border: 1px solid #e5ead8 !important;
  border-radius: 9999px;
  padding: 0.25rem 0.625rem;
  height: 32px;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 0.75rem;
  color: #272c60;
  background: #fdfbf7;
}

.page-cart .promo-code .btn-primary {
  background: #8e9e33 !important;
  border: 0 !important;
  border-radius: 9999px !important;
  color: #fff !important;
  padding: 0.25rem 0.75rem !important;
  height: 32px;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif) !important;
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

/* Checkout CTA Button */
.page-cart .checkout.cart-detailed-actions {
  padding: 0.25rem 0 0;
}

.page-cart .checkout.cart-detailed-actions .btn-primary {
  display: flex !important;
  width: 100% !important;
  height: 40px !important;
  align-items: center !important;
  justify-content: center !important;
  background: #8e9e33 !important;
  border: 1px solid #8e9e33 !important;
  border-radius: 9999px !important;
  color: #ffffff !important;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif) !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  box-shadow: 0 4px 12px rgba(142, 158, 51, 0.22) !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.page-cart .checkout.cart-detailed-actions .btn-primary:hover {
  background: #7a882b !important;
  border-color: #7a882b !important;
  box-shadow: 0 6px 16px rgba(142, 158, 51, 0.32) !important;
  transform: translateY(-1px) !important;
}

/* Reassurance Block below summary */
.page-cart .blockreassurance_product,
.page-cart .pn-checkout-reassurance {
  background: #fdfbf7 !important;
  border: 1px solid #e5ead8 !important;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(60, 75, 40, 0.03);
  padding: 0.375rem 0.75rem !important;
  margin-top: 0.5rem !important;
  display: flex;
  flex-direction: column;
  gap: 0.25rem !important;
}

.page-cart .pn-reassurance-row {
  display: flex;
  align-items: center;
  gap: 0.3rem !important;
  font-family: var(--pn-font-family-ui, 'Nunito', sans-serif);
  font-size: 0.75rem !important;
  font-weight: 600;
  color: #272c60;
  text-decoration: none;
  line-height: 1.25;
  transition: color 0.15s ease;
}

.page-cart .pn-reassurance-row:hover {
  color: #8e9e33;
}

.page-cart .pn-reassurance-icon-wrap {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #8e9e33;
}

.page-cart .pn-reassurance-svg {
  width: 14px !important;
  height: 14px !important;
  max-width: 14px;
  max-height: 14px;
  stroke: #8e9e33;
  fill: none;
}

/* Hide giant classic reassurance / shield images if present */
.page-cart #block-reassurance img,
.page-cart .blockreassurance_product > img,
.page-cart #block-reassurance svg:not(.pn-reassurance-svg) {
  display: none !important;
}

/* Generic card reset on cart page */
.page-cart .card {
  border: 1px solid #e5ead8 !important;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(60, 75, 40, 0.04);
}

.page-cart .card-block {
  border: none !important;
}







