/* Mint was green. The palette is pink, purple, yellow and peach. */
:root {
  --color-mint: #ffb088;
}

/* WooCommerce sets img { height:auto } on shop, cart and account and blows the logos up. */
html body img.kl-mark {
  width: 32px !important;
  height: 33px !important;
  max-width: 32px !important;
  max-height: 33px !important;
  object-fit: contain;
}
@media (min-width: 640px) {
  html body img.kl-mark {
    width: 40px !important;
    height: 41px !important;
    max-width: 40px !important;
    max-height: 41px !important;
  }
}
html body img.kl-footer-logo,
html body footer img {
  width: auto !important;
  height: 112px !important;
  max-width: 160px !important;
  max-height: 112px !important;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
html body header img,
html body #mobileMenu img {
  width: 32px !important;
  height: 33px !important;
  max-width: 32px !important;
  max-height: 33px !important;
  object-fit: contain;
}
@media (min-width: 640px) {
  html body header img.kl-mark {
    width: 40px !important;
    height: 41px !important;
    max-width: 40px !important;
    max-height: 41px !important;
  }
}
/* Cart in the same cards as the mockup, still a real WooCommerce cart. */
body.woocommerce-cart .kl-wc .woocommerce {
  background: transparent;
  padding: 0;
  box-shadow: none;
  border-radius: 0;
}
body.woocommerce-cart .woocommerce-cart-form {
  display: block;
}
body.woocommerce-cart .kl-cart-layout {
  display: grid;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  body.woocommerce-cart .kl-cart-layout {
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr);
    align-items: start;
  }
}
body.woocommerce-checkout .kl-wc .woocommerce,
body.woocommerce-cart .kl-wc .woocommerce {
  display: block !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.kl-cart-thumb,
.kl-mini {
  display: block;
}
.kl-cart-thumb img,
.kl-mini img,
body.woocommerce-cart .woocommerce-cart-form img,
body.woocommerce-cart article img,
body.woocommerce-checkout .kl-mini img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover;
}
body.woocommerce-cart input.qty {
  width: 2rem !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
}
input.qty {
  -moz-appearance: textfield;
}
input.qty::-webkit-outer-spin-button,
input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
body.woocommerce-checkout fieldset {
  border: 0;
  margin: 0;
  min-inline-size: 0;
}
body.woocommerce-checkout .kl-steps {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}
@media (min-width: 640px) {
  body.woocommerce-checkout .kl-steps {
    gap: 2.25rem;
  }
}
body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup-checkout,
body.woocommerce-checkout form.checkout > .woocommerce-error,
body.woocommerce-checkout form.checkout > .woocommerce-message,
body.woocommerce-checkout form.checkout > .woocommerce-info {
  grid-column: 1 / -1;
  width: auto;
  min-width: 0;
  max-width: none;
}
body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-error li::before,
body.woocommerce-checkout .woocommerce-message li::before,
body.woocommerce-checkout .woocommerce-info li::before {
  content: none !important;
  display: none !important;
}
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.85rem 1.15rem !important;
  border: 0 !important;
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(255, 61, 127, 0.35);
  list-style: none;
  writing-mode: horizontal-tb;
}
body.woocommerce-checkout .woocommerce-error li,
body.woocommerce-checkout .woocommerce-message li {
  display: block;
  margin: 0.28rem 0;
  padding: 0.05rem 0 0.05rem 1.2rem !important;
  position: static;
  writing-mode: horizontal-tb;
  white-space: normal;
  font-weight: 500;
  background-image: radial-gradient(circle, #ff3d7f 3px, transparent 3.5px);
  background-repeat: no-repeat;
  background-position: 0.15rem 0.55em;
  background-size: 8px 8px;
}
body.woocommerce-checkout .woocommerce-error li strong {
  font-weight: 600;
}
.kl-empty-sky [data-balloon],
.kl-balloons [data-balloon] {
  display: block;
  transform: rotate(var(--r, 0deg));
}
[data-fav][aria-pressed="true"] svg path {
  fill: currentColor;
}
.kl-empty-sky [data-balloon] svg,
.kl-balloons [data-balloon] svg {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
}
body.woocommerce-checkout .co-field {
  display: block;
  width: 100% !important;
  height: 3rem;
  border-radius: 1rem;
  border: 1px solid rgba(29, 19, 32, 0.1) !important;
  background: #fbf6f1 !important;
  padding: 0 1rem !important;
  font-size: 15px;
  color: #1d1320;
  box-shadow: none !important;
  outline: none;
}
body.woocommerce-checkout textarea.co-field {
  height: auto;
  padding: 0.75rem 1rem !important;
}
body.woocommerce-checkout .co-field:focus {
  border-color: #ff3d7f !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(255, 61, 127, 0.15) !important;
}
body.woocommerce-checkout #kl-other:checked + span,
body.woocommerce-checkout #kl-surprise:checked + span {
  background: #ff3d7f;
  border-color: #ff3d7f;
  color: #fff;
}
label.kl-choice {
  background: transparent;
  box-shadow: none;
  color: #6d6274;
}
label.kl-choice:has(input:checked) {
  background: #fff;
  color: #1d1320;
  box-shadow: 0 1px 2px rgba(29, 19, 32, 0.06), 0 0 0 1px rgba(29, 19, 32, 0.06);
}
label.kl-slot {
  background: #fbf6f1;
  color: #6d6274;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.1);
}
label.kl-slot:has(input:checked) {
  background: #ff3d7f;
  color: #fff;
  box-shadow: none;
}
label.kl-pay {
  background: #fbf6f1;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.1);
}
label.kl-pay:has(input:checked) {
  background: rgba(255, 61, 127, 0.07);
  box-shadow: 0 0 0 2px #ff3d7f;
}
label.kl-pay:has(input:checked) .kl-pay-dot {
  border-color: #ff3d7f;
}
label.kl-pay:has(input:checked) .kl-pay-dot::after {
  content: "";
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 999px;
  background: #ff3d7f;
}
body.woocommerce-checkout .kl-payment-bridge {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
body.woocommerce-checkout #payment {
  background: transparent;
}
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-bacs-bank-details,
body.woocommerce-order-received .wc-bacs-bank-details-account-name {
  display: none !important;
}
body.woocommerce-checkout #payment ul.payment_methods {
  border: 0;
  padding: 0;
  margin: 0;
}
body.woocommerce-checkout #payment ul.payment_methods li {
  background: #fbf6f1;
  border-radius: 16px;
  padding: 1rem;
  margin: 0;
  list-style: none;
}
body.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
  background: #fff0f6;
  box-shadow: 0 0 0 2px #ff3d7f;
}
body.woocommerce-checkout #place_order {
  width: 100%;
}
body.woocommerce-cart .kl-cart-item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: center;
  background: #fff;
  border-radius: 28px;
  padding: 0.7rem;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.06);
}
body.woocommerce-cart .kl-cart-item img {
  width: 88px !important;
  height: 88px !important;
  max-width: 88px !important;
  object-fit: cover;
  border-radius: 20px;
  background: #ffd6e3;
}
body.woocommerce-cart .kl-cart-summary,
body.woocommerce-cart .cart_totals {
  background: #fff;
  border-radius: 32px;
  padding: 1.5rem;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.06);
}
body.woocommerce-cart .cart_totals h2 {
  font-family: Unbounded, system-ui, sans-serif;
  font-size: 1.25rem;
}
body.woocommerce-cart .cart_totals table {
  width: 100%;
}
body.woocommerce-cart table.shop_table {
  border: 0;
  background: transparent;
}
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.06);
}
body.woocommerce-account .kl-wc .woocommerce:has(.woocommerce-MyAccount-navigation) {
  display: block !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
body.woocommerce-account .kl-wc .woocommerce::before,
body.woocommerce-account .kl-wc .woocommerce::after {
  display: none !important;
  content: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation {
  margin: 0 0 1.25rem !important;
  padding: 0.75rem;
}
body.woocommerce-account .woocommerce-MyAccount-content {
  margin: 0 !important;
  padding: 1.5rem;
}
@media (min-width: 1024px) {
  body.woocommerce-account .kl-wc .woocommerce:has(.woocommerce-MyAccount-navigation) {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation {
    margin: 0 !important;
  }
}
@media (min-width: 1024px) {
  #filters {
    position: sticky;
    top: 6rem;
    z-index: 20;
    height: calc(100svh - 7rem);
    max-height: calc(100svh - 7rem);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
body.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
  margin-top: 0;
}

/* Product card */
body.single-product #kl-stage img,
body.single-product #kl-thumbs img,
body.single-product .kl-mini img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
}
body.single-product #kl-product fieldset {
  min-inline-size: 0;
  margin: 0;
  border: 0;
  padding: 0;
}
body.single-product #kl-product .kl-pal {
  position: relative;
  width: 62px;
  height: 48px;
  background: #fbf6f1;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.1);
}
body.single-product #kl-product .kl-pal.is-on {
  box-shadow: 0 0 0 2px #ff3d7f;
}
body.single-product #kl-product .kl-when {
  height: 48px;
  border-radius: 16px;
  background: #fbf6f1;
  color: #6d6274;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.1);
}
body.single-product #kl-product .kl-when.is-on {
  background: #ff3d7f;
  color: #fff;
  box-shadow: none;
}
body.single-product #kl-product .kl-thumb {
  background: #f6efe4;
  opacity: 0.85;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.06);
}
body.single-product #kl-product .kl-thumb.is-on {
  opacity: 1;
  box-shadow: 0 0 0 2px #ff3d7f, 0 0 0 4px #fbf6f1;
}
body.single-product #kl-product .kl-tab {
  flex-shrink: 0;
  border-radius: 999px;
  padding: 0.625rem 1.25rem;
  background: #fff;
  color: #6d6274;
  font-size: 15px;
  font-weight: 600;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.06);
}
body.single-product #kl-product .kl-tab.is-on {
  background: #ff3d7f;
  color: #fff;
  box-shadow: none;
}
body.single-product #kl-product #kl-qty {
  width: 1.75rem !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  text-align: center;
  font-family: Unbounded, system-ui, sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  color: #1d1320;
  -moz-appearance: textfield;
  appearance: textfield;
}
body.single-product #kl-product #kl-qty::-webkit-outer-spin-button,
body.single-product #kl-product #kl-qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
body.single-product #kl-product .kl-star {
  border: 0;
  background: none;
  padding: 0 0.12rem;
  font-size: 1.875rem;
  line-height: 1;
  color: rgba(29, 19, 32, 0.15);
  cursor: pointer;
}
body.single-product #kl-product .kl-star.is-on {
  color: #ffc53d;
}
body.single-product #kl-product .kl-field {
  width: 100%;
  border-radius: 1rem;
  border: 1px solid rgba(29, 19, 32, 0.1);
  background: #fbf6f1;
  padding: 0.75rem 1rem;
  font: inherit;
  color: #1d1320;
  outline: none;
  box-shadow: none;
  resize: none;
}
body.single-product #kl-product input.kl-field {
  height: 3rem;
}
body.single-product #kl-product .kl-field:focus {
  border-color: #ff3d7f;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255, 61, 127, 0.15);
}
body.single-product .kl-sticky-buy {
  pointer-events: none;
  position: fixed;
  left: 0.75rem;
  right: 0.75rem;
  bottom: 6.25rem;
  z-index: 45;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  transform: translateY(1.5rem);
  opacity: 0;
  border-radius: 999px;
  background: #fff;
  padding: 0.5rem 0.5rem 0.5rem 1.25rem;
  box-shadow: 0 20px 50px -15px rgba(29, 19, 32, 0.4), 0 0 0 1px rgba(29, 19, 32, 0.05);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
body.single-product .kl-sticky-buy.is-on {
  pointer-events: auto;
  transform: none;
  opacity: 1;
}
@media (min-width: 1024px) {
  body.single-product .kl-sticky-buy {
    display: none !important;
  }
}
body.single-product .woocommerce-message,
body.single-product .woocommerce-info,
body.single-product .woocommerce-error {
  list-style: none;
  margin: 1rem 0 0;
  border-radius: 20px;
  background: #fff;
  padding: 0.9rem 1.15rem;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.06);
}
body.single-product .woocommerce-message::before,
body.single-product .woocommerce-info::before,
body.single-product .woocommerce-error::before {
  content: none !important;
}
body.woocommerce-cart dl.variation,
body.woocommerce-checkout dl.variation {
  margin: 0.2rem 0 0;
  font-size: 0.8125rem;
  color: #6d6274;
}
body.woocommerce-cart dl.variation dt,
body.woocommerce-cart dl.variation dd,
body.woocommerce-checkout dl.variation dt,
body.woocommerce-checkout dl.variation dd {
  display: inline;
  float: none;
  margin: 0;
  padding: 0;
}
body.woocommerce-cart dl.variation dd p,
body.woocommerce-checkout dl.variation dd p {
  display: inline;
  margin: 0;
}
body.woocommerce-cart dl.variation dd::after,
body.woocommerce-checkout dl.variation dd::after {
  content: "";
  display: block;
}

/* Account and login, matched to the mockup. */
body.woocommerce-account .kl-wc .woocommerce,
body.woocommerce-account .kl-wc .woocommerce:has(.woocommerce-form-login),
body.woocommerce-account .kl-wc .woocommerce:has(.woocommerce-MyAccount-navigation) {
  display: block !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.woocommerce-account .kl-acc-notices:empty {
  display: none;
}
body.woocommerce-account .kl-acc-notices:not(:empty) {
  margin-bottom: 1.25rem;
}
body.woocommerce-account .woocommerce-error,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info {
  list-style: none !important;
  margin: 0 0 0.75rem !important;
  padding: 0.9rem 1.15rem !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.06);
  color: #1d1320;
}
body.woocommerce-account .woocommerce-error {
  background: #fff5f8 !important;
}
body.woocommerce-account .woocommerce-error::before,
body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-info::before {
  content: none !important;
  display: none !important;
}
body.woocommerce-account .woocommerce-error li,
body.woocommerce-account .woocommerce-message li,
body.woocommerce-account .woocommerce-info li {
  margin: 0.2rem 0 !important;
  padding: 0.05rem 0 0.05rem 1.2rem !important;
  background-image: radial-gradient(circle, #ff3d7f 3px, transparent 3.5px);
  background-repeat: no-repeat;
  background-position: 0.15rem 0.55em;
  background-size: 8px 8px;
}
.kl-login-grid {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .kl-login-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.kl-login-card,
.kl-reg-card,
.kl-card {
  position: relative;
  border-radius: 32px;
  background: #fff;
  padding: 1.75rem;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.05);
}
@media (min-width: 640px) {
  .kl-login-card,
  .kl-reg-card,
  .kl-card {
    padding: 2.5rem;
  }
}
.kl-reg-card {
  overflow: hidden;
  background: linear-gradient(135deg, #ffe3ec 0%, #ffe6ee 42%, #fff4ec 100%);
  box-shadow: 0 0 0 1px rgba(239, 134, 169, 0.28);
}
.kl-narrow {
  max-width: 36rem;
}
.kl-login-card h2,
.kl-reg-card h2,
.kl-card h2,
.kl-card h3,
.kl-pass-title {
  margin: 0;
}
.kl-lead {
  margin: 0.4rem 0 0;
  color: #6d6274;
}
.kl-reg-lead {
  max-width: 18rem;
}
.kl-fields {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}
.kl-label {
  display: block;
  margin-bottom: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
}
.kl-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.375rem;
}
.kl-label-row .kl-label {
  margin-bottom: 0;
}
a.kl-forgot,
.kl-privacy a {
  color: #ff3d7f;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
}
.kl-privacy a {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  text-decoration: underline;
}
a.kl-forgot:hover,
.kl-privacy a:hover {
  text-decoration: underline;
  color: #ff3d7f;
}
.kl-privacy {
  margin: 0.8rem 0 0;
  text-align: center;
  font-size: 12px;
  color: #6d6274;
}
body.woocommerce-account .kl-acc-field {
  display: block;
  width: 100% !important;
  height: 3rem;
  margin: 0 !important;
  border-radius: 1rem !important;
  border: 1px solid rgba(29, 19, 32, 0.1) !important;
  background: #fbf6f1 !important;
  padding: 0 1rem !important;
  font-size: 15px;
  line-height: 1.2;
  color: #1d1320;
  box-shadow: none !important;
  outline: none;
  appearance: none;
}
@media (max-width: 639px) {
  body.woocommerce-account .kl-acc-field {
    font-size: 16px;
  }
}
body.woocommerce-account .kl-reg-card .kl-acc-field {
  background: #fff !important;
}
body.woocommerce-account .kl-acc-field:focus {
  border-color: #ff3d7f !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(255, 61, 127, 0.15) !important;
}
body.woocommerce-account .kl-acc-field::placeholder {
  color: #a394a3;
}
.kl-pass {
  position: relative;
}
.kl-pass .kl-acc-field {
  padding-right: 3rem !important;
}
.kl-eye {
  position: absolute;
  right: 0.35rem;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #6d6274;
  cursor: pointer;
}
.kl-eye:hover {
  color: #1d1320;
}
.kl-check {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  font-size: 15px;
}
body.woocommerce-account .kl-check input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  opacity: 0 !important;
  pointer-events: none;
}
.kl-check-box {
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 auto;
  border-radius: 0.5rem;
  border: 2px solid rgba(29, 19, 32, 0.2);
  color: transparent;
  background: #fff;
}
.kl-check input:checked + .kl-check-box {
  border-color: #ff3d7f;
  background: #ff3d7f;
  color: #fff;
}
.kl-check input:focus-visible + .kl-check-box {
  box-shadow: 0 0 0 4px rgba(255, 61, 127, 0.2);
}
.kl-login-card > .btn-primary,
.kl-reg-card .relative > .btn-primary,
.kl-narrow > .btn-primary {
  width: 100%;
  margin-top: 1.75rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
a.kl-inline-btn {
  display: inline-flex;
  margin-top: 1.25rem;
}
.kl-acc {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
  min-width: 0;
}
.kl-acc-side {
  min-width: 0;
  max-width: 100%;
}
@media (min-width: 1024px) {
  .kl-acc {
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 2rem;
  }
}
.kl-acc-nav {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  margin: 0 -1.25rem;
  padding: 0 1.25rem 0.25rem;
  scrollbar-width: none;
}
.kl-acc-nav::-webkit-scrollbar {
  display: none;
}
.kl-acc-nav a {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.75rem;
  border-radius: 999px;
  background: #fff;
  padding: 0.65rem 1rem;
  color: #6d6274 !important;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.06);
}
.kl-acc-nav a.is-active {
  background: #ff3d7f;
  color: #fff !important;
  box-shadow: none;
}
.kl-acc-nav svg {
  flex: 0 0 auto;
}
.kl-acc-peek {
  display: none;
}
a.kl-tile.kl-tile-addr {
  position: relative;
  overflow: visible;
}
.kl-acc-spot {
  position: absolute;
  right: 0.35rem;
  top: -3.15rem;
  width: 4.35rem;
  height: auto;
  pointer-events: none;
  user-select: none;
  z-index: 2;
}
@media (min-width: 1024px) {
  .kl-acc-side {
    position: sticky;
    top: 6.5rem;
    align-self: start;
  }
  .kl-acc-peek {
    display: block;
    position: absolute;
    z-index: 0;
    left: 0.95rem;
    top: -3.05rem;
    width: 5.8rem;
    height: auto;
    pointer-events: none;
    user-select: none;
  }
  .kl-acc-nav {
    position: relative;
    z-index: 1;
    top: auto;
    align-self: start;
    flex-direction: column;
    overflow: visible;
    margin: 0;
    padding: 0.75rem;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.05);
  }
  .kl-acc-nav a {
    border-radius: 1rem;
    background: transparent;
    box-shadow: none;
  }
  .kl-acc-nav a.is-active {
    background: #ff3d7f;
  }
  .kl-acc-nav a:not(.is-active):hover {
    background: #fbf6f1;
    color: #1d1320 !important;
  }
  .kl-acc-nav a.kl-logout {
    margin-top: 0.35rem;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(29, 19, 32, 0.07);
    border-radius: 1rem;
  }
}
.kl-acc-panel {
  min-width: 0;
}
.kl-tiles {
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 640px) {
  .kl-tiles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
a.kl-tile {
  display: block;
  border-radius: 28px;
  padding: 1.25rem 1.35rem;
  color: #1d1320 !important;
  text-decoration: none !important;
  transition: transform 0.2s ease;
}
a.kl-tile:hover {
  transform: translateY(-2px);
}
.kl-tile b {
  display: block;
  font-family: Unbounded, system-ui, sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1;
}
.kl-tile span {
  display: block;
  margin-top: 0.35rem;
  font-weight: 600;
}
.kl-block-title {
  margin: 2rem 0 0;
  font-family: Unbounded, system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
}
.kl-last,
.kl-card-next {
  margin-top: 1rem;
}
.kl-orders {
  display: grid;
  gap: 1rem;
}
.kl-order-head,
.kl-order-foot,
.kl-order-line,
.kl-order-sum {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.kl-order-head,
.kl-order-foot {
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
.kl-order-when,
.kl-order-place {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #6d6274;
}
.kl-badge {
  border-radius: 999px;
  background: rgba(255, 61, 127, 0.1);
  color: #ff3d7f;
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  white-space: nowrap;
}
.kl-badge.is-muted {
  background: rgba(29, 19, 32, 0.06);
  color: #6d6274;
}
.kl-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}
.kl-track i {
  display: block;
  height: 6px;
  border-radius: 999px;
  background: rgba(29, 19, 32, 0.1);
}
.kl-track .is-on i {
  background: #ff3d7f;
}
.kl-track em {
  display: block;
  margin-top: 0.5rem;
  font-style: normal;
  font-size: 12px;
  font-weight: 600;
  color: rgba(109, 98, 116, 0.6);
}
.kl-track .is-on em {
  color: #1d1320;
}
.kl-order-lines {
  display: grid;
  gap: 0.5rem;
  margin: 1.25rem 0 0;
  padding: 1.25rem 0 0;
  list-style: none;
  border-top: 1px solid rgba(29, 19, 32, 0.07);
}
.kl-order-foot {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(29, 19, 32, 0.07);
}
.kl-order-thumb {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 12px;
  background: #f6efe4;
}
.kl-order-thumb img,
.kl-order-thumb svg {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover;
}
.kl-order-thumb [data-balloon] {
  display: block;
  width: 22px;
}
.kl-order-thumb [data-balloon] svg {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
}
.kl-order-name {
  min-width: 0;
  flex: 1;
  font-weight: 500;
}
.kl-order-name span {
  color: #6d6274;
  font-weight: 400;
}
.kl-order-price {
  font-weight: 600;
  white-space: nowrap;
}
.kl-order-sum {
  margin-left: auto;
}
.kl-order-total {
  font-family: Unbounded, system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
}
a.kl-repeat {
  padding: 0.55rem 1rem !important;
  font-size: 0.875rem !important;
  text-decoration: none !important;
}
.kl-empty {
  padding: 1.5rem 0;
  text-align: center;
}
.kl-empty p {
  max-width: 26rem;
  margin: 0.5rem auto 0;
  color: #6d6274;
}
.kl-empty .btn-primary {
  margin-top: 1.5rem;
}
.kl-empty-balloons,
.kl-reg-balloons {
  position: relative;
  margin: 0 auto;
}
.kl-reg-balloons {
  position: absolute;
  margin: 0;
  pointer-events: none;
}
.kl-balloons > [data-balloon],
.kl-balloons > span {
  position: absolute;
  display: block;
}
.kl-addr-grid {
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 640px) {
  .kl-addr-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.kl-addr-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border-radius: 28px;
  background: #fff;
  padding: 1.25rem;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.05);
}
.kl-addr-card form {
  margin: 0;
}
.kl-addr-copy {
  min-width: 0;
  flex: 1;
}
.kl-addr-line {
  margin-top: 0.15rem;
  font-size: 0.875rem;
  color: #6d6274;
}
.kl-pin {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  border-radius: 1rem;
  background: rgba(255, 163, 192, 0.6);
  color: #ff3d7f;
}
.kl-icon-btn {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #6d6274;
  cursor: pointer;
}
.kl-icon-btn:hover {
  background: rgba(255, 61, 127, 0.1);
  color: #ff3d7f;
}
.kl-addr-form,
.kl-details {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.25rem;
}
.kl-details {
  gap: 1rem;
}
@media (min-width: 640px) {
  .kl-addr-form {
    grid-template-columns: 180px minmax(0, 1fr) auto;
    align-items: center;
  }
  .kl-details {
    grid-template-columns: 1fr 1fr;
  }
  .kl-span-2 {
    grid-column: 1 / -1;
  }
}
@media (max-width: 639px) {
  .kl-addr-form .btn-primary {
    width: 100%;
  }
}
.kl-pass-title {
  padding-top: 1rem;
  border-top: 1px solid rgba(29, 19, 32, 0.07);
  font-family: Unbounded, system-ui, sans-serif;
  font-weight: 600;
}
.kl-details .btn-primary {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}

.kl-blog-glow,
.kl-post-glow {
  pointer-events: none;
  position: absolute;
  top: -8rem;
  height: 520px;
  width: 520px;
  border-radius: 999px;
  filter: blur(48px);
}
.kl-blog-glow {
  right: -10rem;
  background: rgba(255, 197, 61, 0.28);
}
.kl-post-glow {
  left: -10rem;
  background: rgba(255, 214, 227, 0.7);
}
.kl-topics {
  display: flex;
  gap: 0.5rem;
  margin: 2rem -1.25rem 0;
  padding: 0 1.25rem 0.25rem;
  overflow-x: auto;
  scrollbar-width: none;
}
.kl-topics::-webkit-scrollbar { display: none; }
@media (min-width: 640px) {
  .kl-topics { margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
}
a.kl-topic {
  flex: 0 0 auto;
  border-radius: 999px;
  background: #fff;
  padding: 0.6rem 1.2rem;
  color: #6d6274 !important;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.06);
}
a.kl-topic.is-on {
  background: #ff3d7f;
  color: #fff !important;
  box-shadow: none;
}
a.kl-topic:not(.is-on):hover { color: #1d1320 !important; }
.kl-featured,
.kl-post-card {
  display: block;
  overflow: hidden;
  background: #fff;
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.05);
}
.kl-featured {
  border-radius: 36px;
}
.kl-post-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  border-radius: 28px;
  padding: 0.5rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.kl-post-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 60px -30px rgba(29, 19, 32, 0.35);
}
.kl-featured:hover {
  box-shadow: 0 30px 60px -30px rgba(29, 19, 32, 0.35);
}
@media (min-width: 1024px) {
  .kl-featured {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
.kl-cover {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  border-radius: 22px;
}
.kl-featured .kl-cover { border-radius: 0; }
.kl-article-cover .kl-cover {
  aspect-ratio: 16 / 9;
  border-radius: 32px;
}
@media (min-width: 1024px) {
  .kl-featured .kl-cover {
    aspect-ratio: auto;
    height: 100%;
    min-height: 380px;
  }
}
.kl-cover-photo {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
}
.kl-cover-sky {
  position: absolute;
  inset: 8%;
}
.kl-cover-sky > [data-balloon],
.kl-tg-balloons > [data-balloon],
.kl-tg-balloons > span,
.kl-cta-float > [data-balloon],
.kl-cta-float > span {
  position: absolute;
  display: block;
}
.kl-cover-sky [data-balloon] svg,
.kl-tg-balloons [data-balloon] svg,
.kl-cta-float [data-balloon] svg {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
}
.kl-post-card:hover .kl-cover-sky,
.kl-featured:hover .kl-cover-sky,
.kl-article-cover .kl-cover-sky {
  transition: transform 0.7s ease;
}
.kl-post-card:hover .kl-cover-sky,
.kl-featured:hover .kl-cover-sky {
  transform: scale(1.05);
}
.kl-featured-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.75rem;
}
@media (min-width: 640px) {
  .kl-featured-copy { padding: 2.5rem; }
}
.kl-post-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1rem 0.75rem 0.75rem;
}
@media (min-width: 640px) {
  .kl-post-copy { padding: 1.15rem 0.85rem 0.9rem; }
}
.kl-post-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  color: #6d6274;
  font-size: 0.875rem;
}
.kl-pill {
  border-radius: 999px;
  background: #fbf6f1;
  padding: 0.25rem 0.7rem;
  color: #6d6274;
  font-size: 0.75rem;
  font-weight: 600;
}
a.kl-pill-link {
  background: #fff;
  color: #6d6274 !important;
  text-decoration: none !important;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.08);
}
a.kl-pill-link:hover { color: #ff3d7f !important; }
.kl-featured-title,
.kl-card-title,
.kl-article h1,
.kl-article-body h2,
.kl-post-cta h2,
.kl-more h2 {
  margin: 0;
  font-family: Unbounded, system-ui, sans-serif;
  font-weight: 600;
  color: #1d1320;
}
.kl-featured-title {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 1.15;
}
@media (min-width: 640px) {
  .kl-featured-title { font-size: 2.2rem; }
}
.kl-featured:hover .kl-featured-title,
.kl-post-card:hover .kl-card-title { color: #ff3d7f; }
.kl-featured-excerpt {
  margin: 1rem 0 0;
  color: #6d6274;
  font-size: 1.125rem;
  line-height: 1.55;
}
.kl-read {
  margin-top: 1.5rem;
  color: #ff3d7f;
  font-weight: 600;
}
.kl-card-title {
  margin-top: 0.75rem;
  font-size: 1.125rem;
  line-height: 1.35;
}
.kl-excerpt {
  display: -webkit-box;
  margin: 0.5rem 0 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: #6d6274;
}
.kl-post-grid {
  display: grid;
  gap: 1.25rem;
  margin-top: 1.25rem;
}
@media (min-width: 640px) {
  .kl-post-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .kl-post-grid { grid-template-columns: 1fr 1fr 1fr; }
}
.kl-tg {
  position: relative;
  overflow: hidden;
  margin-top: 4rem;
  border-radius: 36px;
  background: linear-gradient(135deg, #ffe3ec 0%, #ffe6ee 42%, #fff4ec 100%);
  padding: 2rem;
  box-shadow: 0 0 0 1px rgba(239, 134, 169, 0.28);
}
@media (min-width: 640px) {
  .kl-tg { padding: 3rem; }
}
.kl-tg-copy { position: relative; max-width: 36rem; }
.kl-tg-balloons,
.kl-cta-float {
  position: absolute;
  pointer-events: none;
}
.kl-tg-balloons { right: -1rem; top: 1rem; display: none; }
.kl-cta-float { right: -0.5rem; top: 0.5rem; display: none; }
@media (min-width: 640px) {
  .kl-tg-balloons, .kl-cta-float { display: block; }
}
.kl-article {
  max-width: 48rem;
  margin: 1.5rem auto 0;
}
.kl-article h1 {
  margin-top: 1rem;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
@media (min-width: 640px) {
  .kl-article h1 { font-size: 3rem; }
}
.kl-article-lead {
  margin: 1.25rem 0 0;
  color: #6d6274;
  font-size: 1.25rem;
  line-height: 1.6;
}
.kl-article-cover { margin-top: 2rem; }
.kl-article-body {
  margin-top: 2.5rem;
  color: rgba(29, 19, 32, 0.88);
  font-size: 1.125rem;
  line-height: 1.7;
}
.kl-article-body p { margin: 0 0 1.25rem; }
.kl-article-body h2 {
  margin: 2.5rem 0 0.9rem;
  font-size: 1.5rem;
  line-height: 1.25;
}
.kl-article-body ul,
.kl-article-body ol {
  margin: 0.25rem 0 1.25rem;
  padding: 0;
  list-style: none;
}
.kl-article-body li {
  display: flex;
  gap: 0.75rem;
  margin: 0.7rem 0;
  padding: 0;
}
.kl-article-body li::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.65rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #ff3d7f;
}
.kl-tip {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  margin-top: 2.5rem;
  border-radius: 1.5rem;
  background: linear-gradient(135deg, #ffe3ec, #fff1e8);
  padding: 1.5rem;
}
.kl-tip p {
  margin: 0 !important;
  color: #1d1320;
  font-weight: 500;
}
.kl-tip span { font-size: 1.5rem; line-height: 1; }
.kl-share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(29, 19, 32, 0.1);
  color: #6d6274;
}
.kl-share-row { display: flex; gap: 0.5rem; }
.kl-share-btn {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 999px;
  background: #ff3d7f;
  color: #fff !important;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
}
.kl-share-copy {
  background: #fff;
  color: #1d1320 !important;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.1);
}
.kl-share-btn:hover { background: #e01862; }
.kl-share-copy:hover { color: #ff3d7f !important; }
.kl-post-cta {
  position: relative;
  overflow: hidden;
  margin-top: 3rem;
  border-radius: 32px;
  background: #ff3d7f;
  padding: 2rem;
  color: #fff;
}
@media (min-width: 640px) {
  .kl-post-cta { padding: 2.5rem; }
}
.kl-post-cta-copy { position: relative; max-width: 28rem; }
.kl-post-cta h2 { color: #fff; font-size: 1.5rem; font-weight: 700; }
.kl-post-cta p { margin: 0.5rem 0 0; color: rgba(255, 255, 255, 0.88); }
.kl-post-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
@media (min-width: 640px) {
  .kl-post-cta-actions { flex-direction: row; }
}
a.kl-btn-white,
a.kl-btn-line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.8rem 1.25rem;
  font-weight: 700;
  text-decoration: none !important;
}
a.kl-btn-white { background: #fff; color: #1d1320 !important; }
a.kl-btn-white:hover { transform: translateY(-1px); }
a.kl-btn-line {
  border: 1px solid rgba(255, 255, 255, 0.45);
  color: #fff !important;
}
a.kl-btn-line:hover { background: rgba(255, 255, 255, 0.1); }
.kl-more { margin-top: 4rem; }
@media (min-width: 640px) {
  .kl-more { margin-top: 6rem; }
}
.kl-more-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}
.kl-more h2 { font-size: 1.875rem; }
a.kl-all-posts { text-decoration: none !important; }
.kl-more-grid { margin-top: 2rem; }
@media (max-width: 639px) {
  a.kl-all-posts { display: none; }
}

/* Hero: the headline drifts like a balloon, each word on its own rhythm. */
@keyframes kl-fly {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
  50% { transform: translate3d(10px, -12px, 0) rotate(-1deg); }
}
@keyframes kl-fly-soft {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(4px, -7px, 0); }
}
@keyframes kl-fly-pill {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
  50% { transform: translate3d(-8px, -10px, 0) rotate(-1.5deg); }
}
.kl-fly {
  animation: kl-fly 5.4s ease-in-out infinite;
  transform-origin: 18% 80%;
}
.kl-fly-soft {
  display: inline-block;
  animation: kl-fly-soft 4.6s ease-in-out infinite;
}
.kl-fly-pill {
  animation: kl-fly-pill 4.1s ease-in-out infinite;
}

/* Hours stay on one line. The third column is wider so 9:00–21:00 can sit beside 500+ and 3+. */
.kl-stats {
  grid-template-columns: 1fr 1fr 1.35fr;
  align-items: end;
}
.kl-stat-hours {
  font-size: clamp(0.95rem, 4.1vw, 1.05rem);
}
@media (min-width: 640px) {
  .kl-stat-hours { font-size: 1.8rem; }
}
@media (min-width: 1024px) {
  .kl-stats { max-width: none; }
  .kl-stat-hours { font-size: clamp(1.7rem, 2.35vw, 2.15rem); }
}

/* Ducks stay still. Only the banner is a button, and hover just makes it stand out. */
.kl-ducks-slot {
  width: min(100%, 28rem);
  margin-top: 0.25rem;
  margin-inline: auto;
}
.kl-pair-scene {
  position: relative;
  width: 100%;
}
.kl-pair-ducks {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  pointer-events: none;
  user-select: none;
}
button.kl-pair {
  appearance: none;
  position: absolute;
  left: 30.678%;
  top: 45.445%;
  width: 42.542%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 1;
}
button.kl-pair img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 8px 10px rgba(214, 120, 150, 0.2));
  transition: filter 0.2s ease;
}
button.kl-pair:hover img,
button.kl-pair:focus-visible img {
  filter:
    brightness(1.08)
    saturate(1.15)
    drop-shadow(0 0 12px rgba(255, 105, 160, 0.7))
    drop-shadow(0 10px 16px rgba(220, 100, 150, 0.4));
}
button.kl-pair:focus-visible {
  outline: 3px solid #ff3d7f;
  outline-offset: 4px;
  border-radius: 16px;
}
@media (min-width: 1024px) {
  #occasions .container-kl > .flex {
    align-items: flex-start;
  }
  .kl-ducks-slot {
    width: min(100%, 36rem);
    margin-top: 0.15rem;
    margin-left: auto;
    margin-right: 0;
  }
}
button.kl-order-btn,
a.kl-order-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: #ff3d7f;
  color: #fff;
  cursor: pointer;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
  padding: 0.95rem 1.45rem;
  text-decoration: none;
  box-shadow: 0 14px 30px -16px rgba(255, 61, 127, 0.9);
  transition: transform 0.2s ease, background-color 0.2s ease;
}
button.kl-order-btn:hover,
a.kl-order-btn:hover {
  transform: translateY(-2px);
  background: #d91e62;
  color: #fff;
}
button.kl-order-btn.col-span-2 {
  width: 100%;
  min-height: 66px;
  box-sizing: border-box;
}
button.kl-order-btn.kl-order-hero {
  overflow: visible;
  justify-content: center;
  padding: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  min-height: 0;
}
button.kl-order-btn.kl-order-hero:hover,
button.kl-order-btn.kl-order-hero:focus-visible {
  transform: none;
  background: transparent;
}
button.kl-order-hero img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 10px 14px rgba(214, 120, 150, 0.22));
  transition: filter 0.2s ease;
}
button.kl-order-hero:hover img,
button.kl-order-hero:focus-visible img {
  filter:
    brightness(1.08)
    saturate(1.15)
    drop-shadow(0 0 12px rgba(255, 105, 160, 0.7))
    drop-shadow(0 10px 16px rgba(220, 100, 150, 0.4));
}
button.kl-order-hero:focus-visible {
  outline: 3px solid #ff3d7f;
  outline-offset: 4px;
  border-radius: 18px;
}
#top .mt-9.grid > .kl-order-btn,
#top .mt-9.grid > .btn-ghost {
  min-height: 66px;
  box-sizing: border-box;
  font-size: 1.1875rem;
  line-height: 1.15;
}
#top .mt-9.grid > .btn-ghost span.flex-1,
#top .mt-9.grid > .btn-ghost {
  white-space: nowrap;
}
button.kl-order-btn-line,
a.kl-order-btn-line {
  background: transparent;
  color: #fff;
  border: 2px solid #fff;
  box-shadow: none;
}
button.kl-order-btn-line:hover,
a.kl-order-btn-line:hover {
  background: #fff;
  color: #ff3d7f;
}
.kl-modal[hidden] { display: none !important; }
.kl-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: end center;
  padding: 0.75rem;
}
@media (min-width: 640px) {
  .kl-modal { place-items: center; padding: 1.25rem; }
}
.kl-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(29, 19, 32, 0.48);
}
.kl-modal-card {
  position: relative;
  z-index: 1;
  width: min(100%, 32rem);
  max-height: min(92vh, 760px);
  overflow: auto;
  border-radius: 32px;
  background: linear-gradient(145deg, #ffe4ee, #fff4ec 55%, #fff8e8);
  padding: 1.6rem 1.35rem 1.4rem;
  box-shadow: 0 30px 80px -30px rgba(29, 19, 32, 0.55);
}
@media (min-width: 640px) {
  .kl-modal-card { padding: 2rem 1.75rem 1.6rem; }
}
.kl-modal-x {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.8);
  color: #1d1320;
  cursor: pointer;
  font-size: 1.4rem;
  line-height: 1;
}
body.kl-modal-open { overflow: hidden; }
.kl-order-ducks {
  display: flex;
  justify-content: center;
  margin-bottom: 0.5rem;
}
.kl-ducks-float {
  width: min(100%, 18rem);
  height: auto;
  animation: kl-duck-bob 3.4s ease-in-out infinite;
}
@keyframes kl-duck-bob {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-12px) rotate(2deg); }
}
@media (prefers-reduced-motion: reduce) {
  .kl-ducks-float { animation: none; }
}
.kl-pay-note {
  margin-top: 0.75rem;
  font-size: 0.92rem;
  color: #5b4e5e;
}

/* Tips carousel: round buttons sit on the left and right edges of the row. */
.kl-tips { position: relative; }
#tipsTrack {
  scroll-padding-inline: 1.25rem;
}
@media (min-width: 640px) {
  #tipsTrack { scroll-padding-inline: 2rem; }
}
@media (min-width: 1024px) {
  #tipsTrack { scroll-padding-inline: max(3rem, calc((100vw - 1320px) / 2 + 3rem)); }
}
.kl-tips-btn {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  margin-top: -1.375rem;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #1d1320;
  box-shadow: 0 14px 34px -16px rgba(29, 19, 32, 0.55), 0 0 0 1px rgba(29, 19, 32, 0.08);
  cursor: pointer;
}
.kl-tips-prev { left: 0.4rem; }
.kl-tips-next { right: 0.4rem; }
.kl-tips-btn:hover { background: #ff3d7f; color: #fff; }
.kl-tips-btn:disabled {
  opacity: 0.38;
  background: #fff;
  color: #1d1320;
  cursor: default;
  box-shadow: 0 0 0 1px rgba(29, 19, 32, 0.08);
}
@media (min-width: 640px) {
  .kl-tips-btn { width: 3.25rem; height: 3.25rem; margin-top: -1.625rem; }
  .kl-tips-prev { left: 0.85rem; }
  .kl-tips-next { right: 0.85rem; }
}
@media (min-width: 1280px) {
  .kl-tips-prev { left: max(1rem, calc((100vw - 1320px) / 2 + 1.15rem)); }
  .kl-tips-next { right: max(1rem, calc((100vw - 1320px) / 2 + 1.15rem)); }
}

/* Occasion cards lift, and the balloon in the corner floats off on hover. */
.kl-occ {
  transition: transform 0.5s cubic-bezier(0.22, 0.8, 0.28, 1), box-shadow 0.5s ease;
}
.kl-occ:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 44px -26px rgba(29, 19, 32, 0.45);
}
.kl-occ-balloon {
  transition: transform 0.7s cubic-bezier(0.22, 0.8, 0.28, 1);
  transform-origin: 62% 88%;
}
.kl-occ:hover .kl-occ-balloon {
  transform: translateY(-14px) rotate(8deg) scale(1.08);
}
.kl-occ:nth-child(even):hover .kl-occ-balloon {
  transform: translateY(-12px) rotate(-9deg) scale(1.07);
}

/* Product price sits a step under the previous display size. */
.kl-card-price,
.kl-card-price .amount,
.kl-card-price .woocommerce-Price-amount,
.kl-card-price .woocommerce-Price-currencySymbol {
  font-size: 0.9375rem !important;
  line-height: 1.15;
}
@media (min-width: 640px) {
  .kl-card-price,
  .kl-card-price .amount,
  .kl-card-price .woocommerce-Price-amount,
  .kl-card-price .woocommerce-Price-currencySymbol {
    font-size: 1.125rem !important;
  }
}

/* Buttons use the same pointer cursor as links. */
button,
.btn,
.btn-primary,
.btn-ghost,
button[type="submit"],
input[type="submit"],
input[type="button"] {
  cursor: pointer;
}
button:disabled,
.btn-primary:disabled,
.btn-ghost:disabled,
input:disabled {
  cursor: not-allowed;
}

@media (prefers-reduced-motion: reduce) {
  .kl-fly,
  .kl-fly-soft,
  .kl-fly-pill {
    animation: none;
  }
  .kl-occ,
  .kl-occ-balloon,
  button.kl-pair img {
    transition: none;
  }
  button.kl-order-hero img {
    transition: none;
  }
}

/* Accent black becomes lavender: the hero wordmark and solid dark blocks. */
#top h1 .kl-fly,
#top h1 .kl-fly-soft {
  color: #392C4A;
}
.bg-ink,
.bg-ink\/95 {
  background-color: #392C4A !important;
}

/* Reviews and the footer use the same bright pink as the «Не знаете, что выбрать?» block. */
#reviews.bg-ink,
footer.bg-ink {
  background-color: #392C4A !important;
  color: #fff;
}
#reviews .eyebrow {
  color: rgba(255, 255, 255, 0.82) !important;
}
#reviews .eyebrow:before {
  background-color: #fff;
}
#reviews figure {
  background: #fff;
  color: #1d1320;
  box-shadow: 0 18px 40px -28px rgba(90, 10, 40, 0.55);
}
#reviews figure .text-white\/50 {
  color: rgba(29, 19, 32, 0.55);
}
#reviews figure blockquote {
  color: #4a3d4c;
}
#reviews a.btn {
  border: 2px solid #fff;
  background: transparent;
  color: #fff;
}
#reviews a.btn:hover {
  background: #fff;
  color: #392C4A;
}
/* Strings on the pink choice block: visible, but not a hard white line. */
#process [data-cluster] svg > path[fill="none"] {
  stroke: rgba(255, 255, 255, 0.58);
  stroke-opacity: 1;
  stroke-width: 1.25;
}
footer {
  --color-white: #fff;
  color: #fff;
}
footer a.kl-social:hover {
  background-color: #fff;
  color: #392C4A;
}

/* Cart total stays on one line beside «Итого». */
.kl-cart-sum,
.kl-cart-sum .amount,
.kl-cart-sum .woocommerce-Price-amount,
.kl-cart-sum .woocommerce-Price-currencySymbol,
.kl-cart-sum bdi {
  font-size: 1.35rem !important;
  line-height: 1.15;
  white-space: nowrap;
}

/* ===== KL REDESIGN 2026-09-28 START ===== */
/* Резервная копия исходного файла: /wp-content/uploads/2026/09/backup-2026-09-28-fix-css.txt */

/* --- Общие --- */
html:root .reveal{transition-duration:.5s!important}

/* --- Главная: первый экран --- */
@media (min-width:1024px){
  html:root .kl-pv-hero{padding-top:8rem!important}
  html:root .kl-pv-hero h1 .kl-fly{font-size:clamp(4.5rem,min(15vw,19vh),11rem)!important}
}
/* Кнопка «Заказать шары»: капсула вместо ленты */
html:root .kl-order-hero>img{display:none!important}
html:root .kl-order-hero{display:flex!important;align-items:center;justify-content:space-between;width:100%!important;height:80px;margin:14px 0;padding:0 14px 0 40px!important;border-radius:999px;
  background:linear-gradient(180deg,#ff5591,#ff3d7f 60%,#f0306f)!important;box-shadow:0 18px 30px -14px rgba(255,61,127,.7),inset 0 2px 0 rgba(255,255,255,.35);
  color:#fff;font:700 clamp(19px,2vw,25px)/1 Unbounded,system-ui,sans-serif;letter-spacing:-.02em;cursor:pointer;border:0}
html:root .kl-order-hero::before{content:'Заказать шары'}
html:root .kl-order-hero::after{content:'';flex:none;width:52px;height:52px;border-radius:50%;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff3d7f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/24px no-repeat;
  box-shadow:0 6px 14px -6px rgba(150,0,60,.5);transition:background-position .35s cubic-bezier(.3,1.6,.5,1)}
@media (max-width:639px){html:root .kl-order-hero{height:70px;padding-left:24px!important}html:root .kl-order-hero::after{width:44px;height:44px}}

/* Карточки поводов: 4 тона */
html:root #occasions .kl-occ:nth-child(1){background:#ff3d7f!important;color:#fff!important}
html:root #occasions .kl-occ:nth-child(3n+2){background:#ffd6e3!important;color:#1d1320!important}
html:root #occasions .kl-occ:nth-child(3n+3){background:#e3dbff!important;color:#1d1320!important}
html:root #occasions .kl-occ:nth-child(3n+4){background:#ffe7a8!important;color:#1d1320!important}
html:root #occasions .kl-occ:nth-child(10){background:#3b2748!important;color:#fff!important}

/* Мобильная версия главной */
@media (max-width:639px){
  html:root .kl-occ:not(.col-span-2){padding:1rem!important}
  html:root .kl-occ:not(.col-span-2) h3{font-size:15px!important;letter-spacing:-.02em}
  html:root .kl-pv-visual{max-width:290px!important}
  html:root .kl-tips .kl-tips-btn{display:none!important}
  html:root .kl-pv-hero .btn-ghost{font-size:14px!important;padding-left:10px!important;padding-right:10px!important;gap:6px!important}
  html:root .kl-pv-hero .btn-ghost.col-span-2{white-space:normal!important;text-align:left;line-height:1.25}
  html:root .kl-stats{grid-template-columns:repeat(3,max-content)!important;justify-content:space-between!important;column-gap:16px!important}
  html:root .kl-stats>div{justify-content:flex-end}
  html:root .kl-stats dt{white-space:nowrap}
  html:root .kl-stats dd{font-size:1.65rem!important;font-variant-numeric:tabular-nums}
  html:root .kl-stats .kl-stat-hours{font-size:1.15rem!important;line-height:1.2!important;padding-bottom:.2em}
}
/* Стрелки «Уход за шарами» — над каруселью справа */
@media (min-width:640px){
  html:root .kl-tips .kl-tips-btn{top:-80px!important;bottom:auto!important;transform:none!important}
  html:root .kl-tips .kl-tips-next{left:auto!important;right:max(1.25rem,calc((100vw - 1320px)/2 + 3rem))!important}
  html:root .kl-tips .kl-tips-prev{left:auto!important;right:calc(max(1.25rem,calc((100vw - 1320px)/2 + 3rem)) + 64px)!important}
}
/* Отзывы: цвета аватаров и звёзды */
html:root #reviews [data-pvi="1"]{background:#9b7bff!important}
html:root #reviews [data-pvi="2"]{background:#ffb020!important;color:#1d1320!important}
html:root #reviews [data-pvi="3"]{background:#ff8a65!important}
.kl-pv-stars{display:block;color:#ffc53d;letter-spacing:2px;font-size:13px;line-height:1;margin-top:4px}

/* --- Каталог: фильтры без внутренней полосы прокрутки (компьютер) --- */
@media (min-width:1024px){
  html:root main aside[class*="max-h-[88svh]"]{max-height:none!important;height:auto!important;position:static!important;overflow:visible!important}
  html:root main aside[class*="max-h-[88svh]"] form{height:auto!important}
  html:root main aside[class*="max-h-[88svh]"] .overflow-y-auto{overflow:visible!important;flex:none!important}
}
/* Карточка товара на телефоне: кнопка «В корзину» на всю ширину */
@media (max-width:639px){
  html:root .kl-pvm-foot{flex-wrap:wrap!important;row-gap:10px!important}
  html:root .kl-pvm-foot>a[data-product_id]{width:100%!important;height:40px!important;padding:0 12px!important;font-size:13px!important;font-weight:600;white-space:nowrap}
}

/* --- Личный кабинет --- */
html:root .logged-in.page-id-11 h1.h-section+p.mt-2{display:none!important}
@media (min-width:1024px){
  html:root .kl-pvi-acc main .kl-wc{margin-top:5.5rem!important}
  html:root .kl-pvi-acc h1.h-section{font-size:clamp(2.25rem,3.4vw,3rem)!important}
}
html:root .kl-acc-peek{display:none!important}
html:root .kl-acc-spot{content:url(/wp-content/uploads/2026/09/duck-nap.png)}
html:root .kl-acc-spot:not(.kl-nap-img){display:none!important}
/* Спящая уточка: каждый раз ложится на случайную карточку */
html:root .kl-nap-host{position:relative}
html:root .kl-nap{position:absolute;z-index:3;right:18px;bottom:calc(100% - 12px);width:118px;pointer-events:none}
html:root .kl-nap .kl-nap-img{position:static!important;display:block!important;inset:auto!important;width:100%!important;height:auto!important}
html:root .kl-nap .kl-pvx-z{right:auto!important;left:24px;bottom:14px!important}
@media (max-width:1023px){
  html:root .kl-nap{bottom:10px;right:14px;width:96px}
  html:root .kl-nap .kl-pvx-z{left:20px;bottom:24px!important}
}
.kl-pvx-z{display:none}

/* --- Корзина и оформление --- */
@media (max-width:1023px){html:root .kl-pvi-cartgrid{grid-template-columns:minmax(0,1fr)!important}}
html:root .kl-mini{overflow:visible!important}
html:root .kl-mini>.kl-pvi-thumb{position:absolute;inset:0;border-radius:inherit;overflow:hidden;display:grid;place-items:center}
html:root .kl-mini>.kl-pvi-thumb>*{max-width:100%;max-height:100%}
html:root .kl-mini>span.absolute{z-index:2}
html:root .kl-pvi-checkout .woocommerce-notices-wrapper .woocommerce-message{display:none!important}
@media (max-width:639px){
  html:root .kl-pvi-flat{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;align-items:end}
  html:root .kl-pvi-flat label{font-size:12px!important;line-height:1.25!important}
  html:root .kl-pvi-flat>.kl-pvi-full{grid-column:1/-1!important}
}
/* Уведомление «в корзине» */
.kl-pvi-toast{position:fixed;left:50%;bottom:28px;z-index:2147483646;translate:-50% 20px;opacity:0;display:flex;align-items:center;gap:14px;padding:10px 10px 10px 18px;border-radius:999px;background:#1d1320;color:#fff;font:500 14px/1.2 Onest,system-ui,sans-serif;box-shadow:0 20px 40px -18px rgba(29,19,32,.6);transition:opacity .35s,translate .45s cubic-bezier(.2,.9,.3,1.2);white-space:nowrap}
.kl-pvi-toast.show{opacity:1;translate:-50% 0}
.kl-pvi-toast a{background:#ff3d7f;color:#fff;border-radius:999px;padding:9px 14px;font-weight:600;text-decoration:none}
@media (max-width:1023px){.kl-pvi-toast{bottom:100px}}

/* --- Горизонтальные ленты на телефоне: подсказки «листайте» --- */
.kl-pvm-dots,.kl-pvm-hint{display:none}
.kl-pvi-progress{display:none}
@media (max-width:1023px){
  html:root .kl-pvm-x{scroll-padding-inline:20px}
  html:root .kl-pvm-x:not(.kl-pvm-end){-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 72px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 72px),transparent)}
  html:root .kl-pvm-x.kl-pvm-moved:not(.kl-pvm-end){-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 72px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 72px),transparent)}
  html:root .kl-pvm-x.kl-pvm-moved.kl-pvm-end{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px);mask-image:linear-gradient(90deg,transparent,#000 36px)}
  html:root .kl-pvm-rel{position:relative}
  html:root .kl-pvm-hint{display:grid;place-items:center;position:absolute;right:10px;width:34px;height:34px;margin-top:-17px;border:0;border-radius:50%;background:#fff;color:#ff3d7f;box-shadow:0 6px 16px -6px rgba(29,19,32,.35);z-index:5;cursor:pointer;transition:opacity .3s,transform .3s;padding:0}
  html:root .kl-pvm-hint svg{width:18px;height:18px}
  html:root .kl-pvm-x.kl-pvm-end~.kl-pvm-hint-next{opacity:0;transform:scale(.6);pointer-events:none}
  html:root .kl-pvm-hint-prev{right:auto;left:10px;opacity:0;transform:scale(.6);pointer-events:none}
  html:root .kl-pvm-x.kl-pvm-moved~.kl-pvm-hint-prev{opacity:1;transform:none;pointer-events:auto}
  html:root .kl-pvm-dots{display:flex;justify-content:center;gap:6px;margin-top:16px}
  html:root .kl-pvm-dots i{width:7px;height:7px;border-radius:999px;background:rgba(29,19,32,.18);transition:width .35s,background-color .35s}
  html:root .kl-pvm-dots i.on{width:22px;background:#ff3d7f}
}

/* --- Анимации (отключаются, если в системе выключена анимация) --- */
@media (prefers-reduced-motion:no-preference){
  /* Эффекты наведения — только для мыши */
  @media (hover:hover) and (pointer:fine){
    html:root .kl-occ:hover{transform:translateY(-3px)!important;box-shadow:0 24px 40px -30px rgba(29,19,32,.4)}
    html:root .kl-occ:hover .kl-occ-balloon{transform:translateY(-6px) rotate(3deg)!important}
    html:root .kl-occ:nth-child(2n):hover .kl-occ-balloon{transform:translateY(-6px) rotate(-3deg)!important}
    html:root :is(.btn,.btn-ghost):hover{transform:translateY(-2px)}
    html:root .kl-order-hero:hover{transform:translateY(-2px);box-shadow:0 24px 34px -14px rgba(255,61,127,.8),inset 0 2px 0 rgba(255,255,255,.35)}
    html:root .kl-order-hero:hover::after{background-position:calc(50% + 4px) center}
    html:root :is(.kl-post-card,.kl-featured):hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(29,19,32,.45)}
    html:root :is(.kl-post-card,.kl-featured):hover svg{translate:0 -12px}
    html:root :has(>.marquee-track):hover>.marquee-track{animation-play-state:paused}
  }
  html:root .kl-occ{transition:opacity .5s,transform .7s cubic-bezier(.4,0,.2,1),box-shadow .7s cubic-bezier(.4,0,.2,1)!important}
  html:root .kl-occ-balloon{transition:transform 1.4s cubic-bezier(.45,0,.25,1)!important}
  html:root :is(.btn,.btn-ghost){transition:transform .3s cubic-bezier(.3,1.6,.5,1),box-shadow .3s,background-color .3s}
  html:root :is(.btn,.btn-ghost):active,html:root .kl-order-hero:active{transform:scale(.96)!important}
  html:root .kl-order-hero{transition:transform .35s cubic-bezier(.3,1.6,.5,1),box-shadow .35s}
  html:root .kl-pv-visual>*{transition:translate .7s cubic-bezier(.2,.8,.2,1)}
  /* Шаги «Как работаем» */
  html:root .kl-pv-steps>li::after{content:'';position:absolute;left:0;bottom:0;height:5px;width:100%;background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
  html:root .kl-pv-steps>li>span:first-child{display:inline-block;transition:transform .7s cubic-bezier(.3,1.8,.5,1)}
  html:root .kl-pv-steps:not(.kl-pv-go)>li>span:first-child{transform:scale(.3)}
  html:root .kl-pv-steps.kl-pv-go>li::after{transform:scaleX(1)}
  html:root .kl-pv-steps>li:nth-child(2)::after,html:root .kl-pv-steps>li:nth-child(2)>span:first-child{transition-delay:.35s}
  html:root .kl-pv-steps>li:nth-child(3)::after,html:root .kl-pv-steps>li:nth-child(3)>span:first-child{transition-delay:.7s}
  html:root .kl-pv-steps>li:nth-child(4)::after,html:root .kl-pv-steps>li:nth-child(4)>span:first-child{transition-delay:1.05s}
  /* Гуси с баннером: сцена спокойно парит */
  @keyframes kl-scene-float{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-4px) rotate(.4deg)}}
  html:root .kl-pair-scene{animation:kl-scene-float 4.5s ease-in-out infinite}
  /* Уточки в кабинете */
  @keyframes kl-breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.04,.96)}}
  html:root .kl-nap .kl-nap-img{transform-origin:50% 100%;animation:kl-breathe 3.2s ease-in-out infinite}
  @keyframes kl-nap-in{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}
  html:root .kl-nap{animation:kl-nap-in .8s cubic-bezier(.2,.8,.2,1) both}
  html:root .kl-pvx-z{display:block;position:absolute;width:1px;height:1px;pointer-events:none;z-index:3;font:700 17px/1 Unbounded,system-ui,sans-serif;color:#9b7bff}
  @keyframes kl-z{0%{opacity:0;transform:translate(0,0) scale(.5)}20%{opacity:1}100%{opacity:0;transform:translate(-22px,-46px) scale(1.15) rotate(-14deg)}}
  html:root .kl-pvx-z span{position:absolute;left:0;bottom:0;opacity:0;animation:kl-z 3.6s ease-out infinite}
  html:root .kl-pvx-z span:nth-child(2){animation-delay:1.2s;font-size:14px}
  html:root .kl-pvx-z span:nth-child(3){animation-delay:2.4s;font-size:11px}
  /* Блог */
  html:root :is(.kl-post-card,.kl-featured){transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
  html:root :is(.kl-post-card,.kl-featured) svg{transition:translate .8s cubic-bezier(.2,.8,.2,1)}
  .kl-pvi-progress{display:block;position:fixed;left:0;top:0;height:4px;width:100%;z-index:60;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#ff3d7f,#b79cff)}
  /* Сердечко и счётчики */
  @keyframes kl-pvi-pop{0%{transform:scale(1)}35%{transform:scale(1.35)}60%{transform:scale(.9)}100%{transform:scale(1)}}
  html:root [data-fav].kl-pvi-pop{animation:kl-pvi-pop .5s cubic-bezier(.3,1.5,.5,1)}
  @keyframes kl-pvi-bump{0%,100%{transform:none}40%{transform:translateY(-5px) scale(1.25)}}
  html:root .kl-pvi-bump{animation:kl-pvi-bump .5s cubic-bezier(.3,1.5,.5,1)}
  /* Стрелка-подсказка у лент */
  @media (max-width:1023px){
    @keyframes kl-hint{0%,60%,100%{translate:0 0}30%{translate:5px 0}}
    html:root .kl-pvm-hint svg{animation:kl-hint 1.8s ease-in-out infinite}
    @keyframes kl-hint-prev{0%,60%,100%{translate:0 0}30%{translate:-5px 0}}
    html:root .kl-pvm-hint-prev svg{animation-name:kl-hint-prev}
  }
}
/* Шарики в карточках поводов: без резкого прыжка на телефоне и при выключенной анимации */
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){html:root .kl-occ:hover .kl-occ-balloon{transform:none!important}}
/* ===== KL REDESIGN 2026-09-28 END ===== */

/* ===== KL CATALOG 2026-09-30 START ===== */
/* Стили нового каталога: блок поводов, «Скоро праздник», чипы «Повод» и «Кому». */
html:root #occasions .kl-pvo-new{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:.7rem!important;
  align-items:stretch;
}
html:root #occasions .kl-pvo-new .kl-occ{
  position:relative;
  display:flex!important;
  flex-direction:column;
  justify-content:flex-end;
  min-height:168px;
  padding:1.05rem 1.05rem 1rem;
  overflow:hidden;
  border-radius:28px;
  text-decoration:none;
}
html:root #occasions .kl-pvo-new .kl-occ>.relative{position:relative;z-index:2;margin-top:auto}
html:root #occasions .kl-pvo-new .kl-occ[data-tone="pink"]{background:#ff3d7f!important;color:#fff!important}
html:root #occasions .kl-pvo-new .kl-occ[data-tone="milk"]{background:#f6f1ea!important;color:#1d1320!important}
html:root #occasions .kl-pvo-new .kl-occ[data-tone="dark"]{background:#2b2340!important;color:#fff!important}
html:root #occasions .kl-pvo-new .kl-occ[data-tone="lilac"]{background:#e4dcff!important;color:#1d1320!important}
html:root #occasions .kl-pvo-new .kl-occ[data-tone="rose"]{background:#ffd3e6!important;color:#1d1320!important}
html:root #occasions .kl-pvo-new .kl-occ[data-tone="butter"]{background:#ffe9a8!important;color:#1d1320!important}
html:root #occasions .kl-pvo-new .kl-occ[data-tone="cream"]{background:#f3e7d8!important;color:#1d1320!important}
html:root #occasions .kl-pvo-new .kl-occ h3{
  font-family:Unbounded,system-ui,sans-serif;
  font-weight:700;
  letter-spacing:-.04em;
  line-height:1.05;
  font-size:1.2rem;
}
html:root #occasions .kl-pvo-new .kl-occ[data-size="xl"]{
  min-height:280px;
  padding:1.5rem 1.4rem 1.35rem;
}
html:root #occasions .kl-pvo-new .kl-occ[data-size="xl"] h3{
  max-width:100%;
  font-size:clamp(2rem,2.4vw,2.65rem);
  line-height:.95;
  color:#fff;
}
html:root #occasions .kl-pvo-new .kl-occ[data-size="xl"] p{
  margin-top:.7rem;
  max-width:24ch;
  font-size:.95rem;
  line-height:1.35;
  color:rgba(255,255,255,.92);
  opacity:1;
}
html:root #occasions .kl-pvo-new .kl-occ-balloon{
  position:absolute;
  z-index:1;
  top:.35rem;
  right:.15rem;
  width:4.6rem;
  pointer-events:none;
}
html:root #occasions .kl-pvo-new .kl-occ[data-size="xl"] .kl-occ-balloon{
  top:.4rem;
  right:.5rem;
  width:12.5rem;
  height:9.5rem;
}
html:root #occasions .kl-pvo-new .kl-occ[data-size="xl"] .kl-occ-balloon>span{
  position:absolute;
  width:52%;
  right:0;
  left:auto;
  top:0;
}
html:root #occasions .kl-pvo-new .kl-occ[data-size="xl"] .kl-occ-balloon>span.kl-pvo-b2{
  width:38%;
  left:0;
  right:auto;
  top:16%;
}
html:root .kl-pvo-when{display:block;margin-top:.25rem;font-size:.82rem;font-weight:600;opacity:.62}
html:root .kl-pvo-note{
  display:block;
  margin-top:.7rem!important;
  max-width:22ch;
  padding:.55rem .7rem;
  border-radius:14px;
  background:#fff;
  color:#1d1320!important;
  font-size:.78rem!important;
  line-height:1.35!important;
  opacity:1!important;
}
html:root .kl-pvo-cta{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-top:1.15rem;
  padding:.4rem .4rem .4rem .95rem;
  border-radius:999px;
  background:#fff;
  color:#1d1320;
  font-weight:700;
  font-size:.95rem;
}
html:root .kl-pvo-cta i{
  display:grid;
  width:2rem;
  height:2rem;
  place-items:center;
  border-radius:999px;
  background:#ff3d7f;
  color:#fff;
}
html:root .kl-pvo-cta svg{width:15px;height:15px}
html:root .kl-pvo-badge{
  position:absolute;
  left:.85rem;
  top:.85rem;
  z-index:3;
  border-radius:999px;
  background:#e2b423;
  color:#1d1320;
  padding:.22rem .6rem;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
@media (min-width:1024px){
  html:root #occasions .kl-pvo-new{
    grid-template-columns:1.15fr 1fr 1fr 1fr!important;
    grid-template-rows:minmax(190px,1fr) minmax(190px,1fr);
    gap:.85rem!important;
  }
  html:root #occasions .kl-pvo-new .kl-occ[data-slot="bday"]{grid-column:1;grid-row:1 / span 2;min-height:0}
  html:root #occasions .kl-pvo-new .kl-occ[data-size="s"]{min-height:0}
}
@media (max-width:1023px){
  html:root #occasions .kl-pvo-new .kl-occ[data-size="xl"]{grid-column:1 / -1;min-height:280px}
}

html:root .kl-pvc-season{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;padding:1rem 1.15rem;border-radius:28px;background:#392C4A;color:#fff}
html:root .kl-pvc-season small{display:block;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;opacity:.7}
html:root .kl-pvc-season b{display:block;margin-top:.15rem;font-family:Unbounded,system-ui,sans-serif;font-size:1.15rem}
html:root .kl-pvc-sub{display:block;margin-top:.25rem;font-size:.9rem;opacity:.75}
html:root .kl-pvc-bl{display:flex;width:7.5rem;height:4.2rem;position:relative;flex:none}
html:root .kl-pvc-bl>[data-kl-b]{position:absolute;width:3.2rem}
html:root .kl-pvc-bl>[data-kl-b]:nth-child(1){left:0;top:0}
html:root .kl-pvc-bl>[data-kl-b]:nth-child(2){left:2rem;top:.3rem}
html:root .kl-pvc-bl>[data-kl-b]:nth-child(3){left:4rem;top:.6rem}
html:root .kl-pvc-season>a{margin-left:auto;flex:none;border-radius:999px;background:#ff3d7f;color:#fff;padding:.7rem 1rem;font-weight:700;text-decoration:none;white-space:nowrap}
html:root .kl-pvc-occ{margin:.25rem 0 1rem}
html:root .kl-pvc-occ-title{margin:0 0 .55rem;font-family:Unbounded,system-ui,sans-serif;font-weight:650}
html:root .kl-pvc-chips{display:flex;gap:.45rem;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:none}
html:root .kl-pvc-chips::-webkit-scrollbar{display:none}
html:root .kl-pvc-chip{flex:none;border-radius:999px;background:#fff;color:#1d1320;padding:.45rem .8rem;font-size:.9rem;font-weight:650;text-decoration:none;box-shadow:0 0 0 1px rgba(29,19,32,.08)}
html:root .kl-pvc-chip.on{background:#ff3d7f;color:#fff;box-shadow:none}
html:root .kl-pvc-chip i{font-style:normal;margin-left:.35rem;font-size:.72rem;font-weight:800;color:#ff3d7f}
html:root .kl-pvc-chip.on i{color:#ffc53d}
html:root .kl-pvc-side .kl-pvc-chip{font-size:.82rem}
html:root .kl-pvc-more{margin-top:.7rem;border:0;background:transparent;color:#d91e62;font-weight:700;cursor:pointer;padding:0 .2rem}
html:root .kl-pvc-mm-occ{grid-column:1 / -1;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(29,19,32,.08)}
html:root .kl-pvc-mm-occ p{margin:0 0 .45rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5b4e5e}
html:root .kl-pvc-mm-occ div{display:flex;flex-wrap:wrap;gap:.4rem}
html:root .kl-pvc-mm-occ a{border-radius:999px;background:#fff;padding:.35rem .7rem;font-size:.85rem;font-weight:650;text-decoration:none;color:#1d1320}
@media (max-width:639px){
  html:root .kl-pvc-season{flex-wrap:wrap}
  html:root .kl-pvc-season>a{margin-left:0}
}
/* ===== KL CATALOG 2026-09-30 END ===== */

/* Home occasion cards: square tiles matching the approved layout. */
@media (min-width: 1024px) {
  html:root #occasions .kl-pvo-new { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; grid-template-rows: repeat(2, auto) !important; }
  html:root #occasions .kl-pvo-new .kl-occ[data-slot="bday"] { grid-column: 1 / span 2; grid-row: 1 / span 2; aspect-ratio: 1; }
  html:root #occasions .kl-pvo-new .kl-occ[data-size="s"] { aspect-ratio: 1; }
}
