/**
 * Sweet Station
 * Author: Paweł Nosko — https://www.designcart.pl/pawel-nosko.html
 * Company: Design Cart — https://www.designcart.pl/
 */

:root {
  --ss-bg: #FBF0F3;
  --ss-bg-deep: #F5E4EA;
  --ss-pink-light: #FADADF;
  --ss-pink-border: #F2C4D0;
  --ss-pink: #E8749C;
  --ss-pink-deep: #C85C84;
  --ss-pink-hover: #B54E78;
  --ss-gold: #A07840;
  --ss-gold-bg: #F9F2E7;
  --ss-plum: #3D2030;
  --ss-plum-soft: #5C3347;
  --ss-muted: #B8849A;
  --ss-footer: #8B3055;
  --ss-hero-wave: #fce8ef;
  --ss-news-btn: #9B2C4E;
  --font-display: "Aboreto", serif;
  --font-body: "Google Sans", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.ss-theme {
  margin: 0;
  font-family: var(--font-body);
  background: var(--ss-bg);
  color: var(--ss-plum);
  font-size: 18px;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; }
input, select, textarea { font-family: var(--font-body); }
input::placeholder,
textarea::placeholder,
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  font-family: var(--font-body);
}
.ss-wrap { width: min(1152px, calc(100% - 32px)); margin: 0 auto; }
.ss-wrap--narrow { width: min(1024px, calc(100% - 32px)); }
.ss-wrap--account { width: min(1024px, calc(100% - 32px)); }
.ss-wrap--faq { width: min(768px, calc(100% - 32px)); }
.ss-wrap--article { width: min(768px, calc(100% - 32px)); }
.ss-wrap--about { width: min(896px, calc(100% - 32px)); }
.ss-wrap--contact { width: min(1100px, calc(100% - 32px)); }

/* Header */
.ss-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 50;
  transition: background .3s, box-shadow .3s;
}
html.admin-bar .ss-header { top: 32px; }
@media (max-width: 782px) { html.admin-bar .ss-header { top: 46px; } }
body.single-product .ss-header:not(.is-scrolled),
body.woocommerce-account .ss-header:not(.is-scrolled) {
  background: linear-gradient(180deg, rgba(80,10,30,.5) 0%, rgba(80,10,30,.12) 72%, transparent 100%);
}

.ss-header.is-scrolled {
  background: rgba(139, 48, 85, .96);
  backdrop-filter: blur(12px);
  box-shadow: 0 2px 24px rgba(80, 10, 30, .18);
}

.ss-announce {
  display: none;
  overflow: hidden;
  max-height: 80px;
  background: rgba(200, 92, 132, .88);
  transition: max-height .3s, padding .3s;
}
@media (min-width: 900px) { .ss-announce { display: block; } }
.ss-header.is-scrolled .ss-announce { max-height: 0; padding: 0; }

.ss-announce__grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 6px 32px;
  gap: 12px;
}
.ss-announce__text {
  margin: 0;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .12em;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}
.ss-announce__social, .ss-announce__tools { display: flex; gap: 8px; align-items: center; }
.ss-announce__tools { justify-content: flex-end; }

.ss-circle {
  width: 32px; height: 32px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(255,255,255,.25);
  color: #fff;
  border: 0;
  cursor: pointer;
  flex-shrink: 0;
  transition: transform .2s;
  position: relative;
}
.ss-announce__tools .ss-circle { width: 40px; height: 40px; }
.ss-circle:hover { transform: scale(1.1); }
.ss-circle svg { width: 14px; height: 14px; }
.ss-announce__tools .ss-circle svg { width: 16px; height: 16px; }
.ss-announce__tools .dc-wishlist-btn--header {
  width: 40px;
  height: 40px;
  padding: 0;
  gap: 0;
  box-shadow: none;
  flex-shrink: 0;
  background: rgba(255,255,255,.25);
  color: #fff;
  font-size: 16px;
  --dc-wl-bg: rgba(255,255,255,.25);
  --dc-wl-color: #fff;
  --dc-wl-size: 16px;
  --dc-wl-hover-bg: rgba(255,255,255,.25);
  --dc-wl-hover-color: #fff;
  --dc-wl-active-bg: rgba(255,255,255,.25);
  --dc-wl-active-color: #fff;
  transition: transform .2s;
}
.ss-announce__tools .dc-wishlist-btn--header:hover,
.ss-announce__tools .dc-wishlist-btn--header:focus,
.ss-announce__tools .dc-wishlist-btn--header.is-active {
  background: rgba(255,255,255,.25);
  color: #fff;
  transform: scale(1.1);
}
.ss-announce__tools .dc-wishlist-btn--header:active { transform: scale(1.1); }
.ss-announce__tools .dc-wishlist-btn__icon {
  width: 16px;
  height: 16px;
}
.ss-announce__tools .dc-wishlist-btn__count {
  top: -4px;
  right: -4px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  background: #fff;
  color: #C85C84;
  font-size: 10px;
  line-height: 16px;
}
.ss-circle--solid { background: #C85C84; }
.ss-circle--blush { background: #F2C4D0; color: #C85C84; }
.ss-cart-count {
  position: absolute;
  top: -4px; right: -4px;
  min-width: 16px; height: 16px;
  padding: 0 4px;
  border-radius: 99px;
  background: #fff;
  color: #C85C84;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}

.ss-nav--desk {
  display: none;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 32px;
}
@media (min-width: 900px) { .ss-nav--desk { display: grid; } }

.ss-nav__side { display: flex; gap: 32px; align-items: center; padding: 16px 0; position: relative; z-index: 2; }
.ss-nav__side--left { justify-content: flex-end; padding-right: 24px; }
.ss-nav__side--right { justify-content: flex-start; padding-left: 24px; }

.ss-navlink {
  font-family: var(--font-display);
  font-size: 1.4rem;
  color: rgba(255,255,255,.92);
  text-transform: uppercase;
  text-shadow: 0 1px 6px rgba(0,0,0,.35);
  white-space: nowrap;
  position: relative;
  display: inline-block;
  padding-bottom: 4px;
  transition: color .25s ease, text-shadow .35s ease;
}
.ss-navlink::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .3s ease;
  opacity: .9;
}
.ss-navlink:hover,
.ss-navlink:focus-visible {
  color: #fff;
  text-shadow:
    0 0 8px rgba(255,225,205,.85),
    0 0 18px rgba(240,185,170,.55),
    0 0 32px rgba(220,150,160,.3),
    0 1px 4px rgba(0,0,0,.15);
  animation: navGlow 2.8s ease-in-out infinite;
}
.ss-navlink:hover::after,
.ss-navlink:focus-visible::after {
  transform: scaleX(1);
}
.ss-navlink:focus-visible {
  outline: 2px solid rgba(255,255,255,.55);
  outline-offset: 4px;
}
.ss-header.is-scrolled .ss-navlink { text-shadow: none; }
.ss-header.is-scrolled .ss-navlink:hover,
.ss-header.is-scrolled .ss-navlink:focus-visible {
  text-shadow:
    0 0 8px rgba(255,225,205,.85),
    0 0 18px rgba(240,185,170,.55),
    0 0 32px rgba(220,150,160,.3);
}

.ss-logo {
  width: 148px; height: 148px;
  border-radius: 50%;
  flex-shrink: 0;
  transition: width .3s, height .3s;
}
.ss-header.is-scrolled .ss-logo { width: 72px; height: 72px; }
.ss-logo img { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; }
.ss-logo--sm { width: 56px; height: 56px; }

@keyframes moonPulse {
  0%, 100% { box-shadow: 0 0 28px 12px rgba(255,220,200,.7), 0 0 60px 28px rgba(240,185,170,.4), 0 0 110px 55px rgba(220,150,160,.18); }
  50% { box-shadow: 0 0 40px 18px rgba(255,225,205,.88), 0 0 85px 40px rgba(240,190,175,.55), 0 0 150px 75px rgba(220,150,160,.28); }
}
.moon-glow { border-radius: 50%; animation: moonPulse 4s ease-in-out infinite; }

@keyframes navGlow {
  0%, 100% {
    text-shadow:
      0 0 8px rgba(255,220,200,.7),
      0 0 18px rgba(240,185,170,.4),
      0 0 28px rgba(220,150,160,.22),
      0 1px 4px rgba(0,0,0,.12);
  }
  50% {
    text-shadow:
      0 0 12px rgba(255,225,205,.95),
      0 0 26px rgba(240,190,175,.65),
      0 0 42px rgba(220,150,160,.38),
      0 1px 4px rgba(0,0,0,.1);
  }
}

.ss-nav--mobile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  height: 64px;
}
@media (min-width: 900px) { .ss-nav--mobile { display: none !important; } }
.ss-nav__mobile-tools { display: flex; gap: 8px; align-items: center; }
.ss-burger { background: none; border: 0; color: #fff; cursor: pointer; }
.ss-burger svg { width: 24px; height: 24px; }

.ss-mobile-panel {
  display: none !important;
  background: rgba(200,92,132,.95);
  padding: 16px 24px 24px;
  flex-direction: column;
  gap: 12px;
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(255,255,255,.2);
}
.ss-mobile-panel.is-open {
  display: flex !important;
}
@media (min-width: 900px) {
  .ss-mobile-panel,
  .ss-mobile-panel.is-open {
    display: none !important;
  }
}
.ss-mobile-menu { display: flex; flex-direction: column; gap: 12px; }
.ss-mobile-menu .ss-navlink {
  font-size: 1.4rem;
  text-shadow: none;
  color: rgba(255,255,255,.88);
  align-self: flex-start;
}
.ss-mobile-menu .ss-navlink:hover,
.ss-mobile-menu .ss-navlink:focus-visible {
  color: #fff;
}

.ss-search {
  position: fixed;
  inset: 0;
  background: rgba(61, 32, 48, .5);
  z-index: 80;
  padding: 0;
  display: block;
}
.ss-search[hidden] { display: none !important; }
.ss-search__panel {
  background: #fff;
  padding: 18px 20px 20px;
  box-shadow: 0 12px 40px rgba(61, 32, 48, .18);
}
.ss-search__form {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 720px;
  margin: 0 auto;
  background: var(--ss-bg);
  border: 1px solid var(--ss-pink-border);
  border-radius: 999px;
  padding: 6px 6px 6px 16px;
  position: relative;
}
.ss-search__form input[type="search"] {
  flex: 1;
  border: 0;
  padding: 10px 8px;
  outline: none;
  background: transparent;
  color: var(--ss-plum);
  font-size: 1rem;
}
.ss-search__form .ss-btn { padding: 10px 20px; font-size: 12px; }
.ss-search__close {
  background: none;
  border: 0;
  cursor: pointer;
  color: var(--ss-pink-deep);
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.ss-search__suggest {
  max-width: 720px;
  margin: 12px auto 0;
  background: var(--ss-bg);
  border: 1px solid var(--ss-pink-border);
  border-radius: 16px;
  overflow: hidden;
}
.ss-search__suggest[hidden] { display: none !important; }
.ss-search__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  color: var(--ss-plum);
  border-bottom: 1px solid var(--ss-pink-border);
}
.ss-search__item:last-child { border-bottom: 0; }
.ss-search__item:hover { background: #fff; }
.ss-search__item img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 10px;
  flex: 0 0 auto;
}
.ss-search__meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ss-search__name { font-family: var(--font-display); font-size: 1rem; }
.ss-search__price { color: var(--ss-gold); font-size: .9rem; font-weight: 700; }
.ss-search__empty { margin: 0; padding: 16px; text-align: center; color: var(--ss-muted); }

/* Hero */
.ss-hero { position: relative; overflow: clip; min-height: 100vh; }
.ss-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none; user-select: none; }
.ss-hero__vignette {
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(20,5,15,.72) 0%, rgba(20,5,15,.5) 40%, rgba(20,5,15,.1) 65%, transparent 100%);
  pointer-events: none;
}
.ss-hero__inner { position: relative; display: flex; align-items: center; min-height: 100vh; }
.ss-hero__copy { padding: 14rem 0 8rem; max-width: 36rem; z-index: 2; }
.ss-hero__eyebrow {
  font-family: var(--font-display);
  letter-spacing: .25em;
  text-transform: uppercase;
  font-size: 14px;
  color: rgba(255,255,255,.65);
  margin: 0 0 16px;
}
.ss-hero__title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(3.4rem, 7.5vw, 6rem);
  color: #fff;
  letter-spacing: -.01em;
  line-height: 1.05;
  margin: 0 0 24px;
  white-space: nowrap;
}
.ss-hero__lead {
  font-family: var(--font-display);
  color: rgba(255,255,255,.75);
  max-width: 360px;
  line-height: 1.6;
  margin: 0 0 40px;
  font-size: 16px;
}
.ss-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.ss-wave { position: absolute; left: 0; right: 0; bottom: -2px; line-height: 0; z-index: 3; pointer-events: none; }
.ss-wave svg { display: block; width: 100%; }

/* Buttons */
.ss-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 14px;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 14px 28px;
  line-height: 1;
  border: 2px solid transparent;
  cursor: pointer;
  transition: .2s;
  text-decoration: none;
}
.ss-btn--pink { background: var(--ss-pink-deep); color: #fff; box-shadow: 0 10px 24px rgba(200,92,132,.35); }
.ss-btn--pink:hover { background: var(--ss-pink-hover); transform: translateY(-2px); }
.ss-btn--gold { background: var(--ss-gold); color: #fff; box-shadow: 0 10px 24px rgba(160,120,64,.35); }
.ss-btn--gold:hover { opacity: .92; transform: translateY(-2px); }
.ss-btn--ghost { color: #fff; border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.08); }
.ss-btn--ghost:hover { background: rgba(255,255,255,.18); }
.ss-btn--outline { background: transparent; color: var(--ss-pink-deep); border-color: var(--ss-pink-deep); font-family: var(--font-body); font-weight: 700; letter-spacing: 0; text-transform: none; padding: 8px 20px; }
.ss-btn--outline:hover, .ss-btn--outline.added { background: var(--ss-pink-deep); color: #fff; }
.ss-btn--details {
  background: transparent;
  color: #B8849A;
  border-color: var(--ss-pink-border);
  font-family: var(--font-body);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  font-size: 14px;
  padding: 8px 16px;
}
.ss-btn--details:hover { border-color: var(--ss-pink-deep); color: var(--ss-pink-deep); }
.ss-btn--buy {
  background: transparent;
  color: var(--ss-pink-deep);
  border-color: var(--ss-pink-deep);
  font-family: var(--font-body);
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  font-size: 14px;
  padding: 8px 16px 8px 14px;
  min-width: 64px;
  gap: 6px;
}
.ss-btn--buy .ss-btn__icon { display: grid; place-items: center; }
.ss-btn--buy .ss-btn__icon svg { width: 14px; height: 14px; display: block; }
.ss-btn--buy.added .ss-btn__icon { display: none; }
.ss-btn--buy:hover, .ss-btn--buy.added { background: var(--ss-pink-deep); color: #fff; }
.ss-btn--mini { background: var(--ss-pink); color: #fff; font-weight: 700; font-size: 12px; padding: 10px 24px; letter-spacing: .16em; font-family: var(--font-body); }
.ss-btn--soft { background: var(--ss-pink-light); color: var(--ss-pink-deep); font-family: var(--font-body); letter-spacing: 0; text-transform: none; font-weight: 700; padding: 10px 16px; flex: 1; }

/* Sections */
.ss-section { padding: 80px 0; }
.ss-section--blush { background: var(--ss-bg); }
.ss-section--rose { background: linear-gradient(to bottom, #FADADF, #FBF0F3); }
.ss-section--blush-to-rose { background: linear-gradient(to bottom, #FBF0F3, #FADADF); }
.ss-section--white { background: #fff; }
.ss-h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--ss-plum);
  margin: 0 0 48px;
  line-height: 1.15;
}
.ss-h2--center { text-align: center; }
.ss-h2__accent { font-style: italic; color: var(--ss-pink-deep); }

.ss-grid { display: grid; gap: 24px; }
.ss-grid--3 { grid-template-columns: 1fr; }
.ss-grid--2 { grid-template-columns: 1fr; }
@media (min-width: 640px) {
  .ss-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .ss-grid--2 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) { .ss-grid--3 { grid-template-columns: repeat(3, 1fr); } }

/* Product carousel (Owl) */
.ss-products-carousel { position: relative; }
.ss-products-carousel .owl-stage { display: flex; }
.ss-products-carousel .owl-item { display: flex; }
.ss-products-carousel .ss-card {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.ss-products-carousel .ss-card__body { flex: 1; display: flex; flex-direction: column; }
.ss-products-carousel .ss-card__row { margin-top: auto; }
.ss-products-carousel .owl-nav {
  position: absolute;
  inset: 0;
  pointer-events: none;
  margin: 0;
}
.ss-products-carousel .owl-nav button.owl-prev,
.ss-products-carousel .owl-nav button.owl-next {
  pointer-events: auto;
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--ss-pink-deep) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(200, 92, 132, .35);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  transition: background .2s, transform .2s;
}
.ss-products-carousel .owl-nav button.owl-prev { left: -8px; }
.ss-products-carousel .owl-nav button.owl-next { right: -8px; }
@media (min-width: 1100px) {
  .ss-products-carousel .owl-nav button.owl-prev { left: -22px; }
  .ss-products-carousel .owl-nav button.owl-next { right: -22px; }
}
.ss-products-carousel .owl-nav button.owl-prev:hover,
.ss-products-carousel .owl-nav button.owl-next:hover {
  background: var(--ss-pink-hover) !important;
  transform: translateY(-50%) scale(1.05);
}
.ss-products-carousel .owl-nav button.owl-prev svg,
.ss-products-carousel .owl-nav button.owl-next svg {
  display: block;
  flex-shrink: 0;
}
.ss-products-carousel .owl-nav button.disabled {
  opacity: .35;
  cursor: default;
}
.ss-products-carousel .owl-dots {
  margin-top: 28px;
  text-align: center;
}
.ss-products-carousel .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  margin: 0 5px;
  background: var(--ss-pink-border);
  transition: background .2s, transform .2s;
}
.ss-products-carousel .owl-dots .owl-dot:hover span {
  background: var(--ss-pink);
}
.ss-products-carousel .owl-dots .owl-dot.active span {
  background: var(--ss-pink-deep);
  transform: scale(1.15);
}

/* Directions */
.ss-directions { background: #fce8ef; padding: 80px 0; text-align: center; }
.ss-directions__title {
  font-family: var(--font-display);
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  color: var(--ss-plum);
  margin: 0;
}
.ss-directions__dots { display: flex; align-items: center; margin: 32px 16px; }
.ss-directions__line { height: 1px; flex: 1; background: #e8a0b8; }
.ss-directions__dot { width: 12px; height: 12px; border: 2px solid #e8a0b8; border-radius: 50%; flex-shrink: 0; margin: 0 4px; }
.ss-directions__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px 24px; }
@media (min-width: 640px) { .ss-directions__grid { grid-template-columns: repeat(4, 1fr); } }
.ss-dir { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.ss-dir img { width: 96px; height: 96px; object-fit: contain; }
.ss-dir__label { font-family: var(--font-display); letter-spacing: .14em; text-transform: uppercase; font-size: 1.1rem; color: var(--ss-plum); margin: 0; }
.ss-dir__desc { color: var(--ss-plum-soft); font-size: 14px; line-height: .8; margin: 0; white-space: pre-line; }
.ss-dir .ss-btn { margin-top: auto; }

/* Cards */
.ss-card {
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 24px;
  overflow: hidden;
  transition: .25s;
}
.ss-card:hover { border-color: var(--ss-pink); box-shadow: 0 16px 40px rgba(200,92,132,.15); transform: translateY(-4px); }
.ss-card__media { position: relative; aspect-ratio: 1; overflow: hidden; background: var(--ss-pink-light); }
.ss-card__media .dc-wishlist-wrap,
.ss-list-card__media .dc-wishlist-wrap,
.ss-pdp__media .dc-wishlist-wrap { z-index: 8; }
.ss-card__media .dc-wishlist-btn,
.ss-list-card__media .dc-wishlist-btn,
.ss-pdp__media .dc-wishlist-btn {
  background: rgba(255,255,255,.92);
  box-shadow: 0 4px 12px rgba(0,0,0,.16);
}
.ss-card__media a { display: block; height: 100%; }
.ss-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.ss-card:hover .ss-card__media img { transform: scale(1.05); }
.ss-card__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.3), transparent); pointer-events: none; }
.ss-card--course .ss-card__shade { background: linear-gradient(to top, rgba(0,0,0,.4), transparent); }
.ss-card__tag {
  position: absolute; top: 16px; right: 16px;
  font-weight: 700; font-size: 12px; padding: 4px 12px; border-radius: 999px; color: #fff;
  box-shadow: 0 4px 10px rgba(0,0,0,.15);
}
.ss-card__chip {
  background: rgba(255,255,255,.9);
  color: var(--ss-plum-soft);
  font-weight: 700; font-size: 12px;
  padding: 4px 12px; border-radius: 999px;
}
.ss-card__chip--left { position: absolute; bottom: 12px; left: 16px; }
.ss-card__chip--right { position: absolute; bottom: 12px; right: 16px; }
.ss-card__chip--pink { background: rgba(200,92,132,.9); color: #fff; }
.ss-card__chips { position: absolute; bottom: 12px; left: 16px; display: flex; gap: 8px; }
.ss-card__play {
  position: absolute; inset: 0; display: grid; place-items: center;
  opacity: 0; transition: opacity .2s; pointer-events: none;
}
.ss-card:hover .ss-card__play { opacity: 1; }
.ss-card__play-btn {
  width: 56px; height: 56px;
  background: rgba(255,255,255,.9);
  border-radius: 50%;
  display: grid; place-items: center;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
.ss-card__play-btn svg { width: 24px; height: 24px; margin-left: 3px; color: var(--ss-pink-deep); }
.ss-card__body { padding: 20px; }
.ss-card__level {
  display: inline-block;
  font-size: 12px; font-weight: 700;
  color: var(--ss-gold); background: var(--ss-gold-bg);
  padding: 2px 10px; border-radius: 999px; margin-bottom: 8px;
}
.ss-card__level--ebook { background: var(--ss-pink-light); color: var(--ss-pink-deep); }
.ss-card__title { font-family: var(--font-display); font-size: 1.25rem; color: var(--ss-plum); margin: 0 0 4px; line-height: 1.2; }
.ss-card__title a:hover { color: var(--ss-pink-deep); }
.ss-card__sub { color: var(--ss-plum-soft); font-size: 14px; margin: 0 0 16px; font-weight: 500; }
.ss-card__row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.ss-card__price { font-family: var(--font-display); color: var(--ss-gold); font-size: 1.5rem; line-height: 1; }
.ss-card__price .woocommerce-Price-amount { font-family: inherit; color: inherit; font-weight: 400; }
.ss-card__price del { opacity: .5; font-size: 1rem; }
.ss-card__life { font-size: 12px; color: var(--ss-muted); font-family: var(--font-body); font-weight: 500; margin-left: 6px; }
.ss-card__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ss-card .added_to_cart, .ss-pdp-page .added_to_cart { display: none !important; }
.ss-card__date { font-size: 12px; color: var(--ss-muted); margin: 0 0 8px; }

/* How / FAQ */
.ss-step { border-radius: 24px; padding: 28px; border: 1px solid var(--ss-pink-border); }
.ss-step__num {
  width: 40px; height: 40px; border-radius: 50%;
  display: grid; place-items: center;
  color: #fff; font-family: var(--font-display); font-size: 14px; margin-bottom: 16px;
}
.ss-step h3 { font-family: var(--font-display); font-size: 1.25rem; margin: 0 0 8px; }
.ss-step p { color: var(--ss-plum-soft); font-size: 14px; line-height: 1.6; margin: 0; }

.ss-faq__head { text-align: center; margin-bottom: 48px; }
.ss-badge {
  display: inline-block;
  background: var(--ss-pink-light);
  border: 1px solid var(--ss-pink-border);
  border-radius: 999px;
  padding: 4px 16px;
  color: var(--ss-pink-deep);
  font-weight: 700; font-size: 14px;
  margin-bottom: 16px;
}
.ss-badge--white { background: #fff; }

/* Testimonials */
.ss-testimonials__head { text-align: center; margin-bottom: 32px; }
.ss-testimonials__title { margin-bottom: 0; }
.ss-testimonials__br { display: none; }
@media (min-width: 640px) { .ss-testimonials__br { display: block; } }

#opinie.ss-section {
  padding-bottom: 24px;
  overflow: hidden;
}

/* —— Mobile 2D: dwa rzędy w przeciwne strony —— */
.ss-carousel2d {
  --ss-c2d-nav-size: 44px;
  display: none;
  position: relative;
  flex-direction: column;
  gap: 14px;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 8px var(--ss-c2d-nav-size) 20px;
  overflow: hidden;
}
.ss-carousel2d__row {
  overflow: hidden;
  width: 100%;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.ss-carousel2d__track {
  display: flex;
  width: max-content;
  gap: 12px;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}
.ss-carousel2d.is-js .ss-carousel2d__track {
  animation: none !important;
}
.ss-carousel2d:not(.is-js) .ss-carousel2d__row--ltr .ss-carousel2d__track {
  animation: ss-c2d-ltr 55s linear infinite;
}
.ss-carousel2d:not(.is-js) .ss-carousel2d__row--rtl .ss-carousel2d__track {
  animation: ss-c2d-rtl 60s linear infinite;
}
.ss-carousel2d__card {
  flex: 0 0 auto;
  width: min(42vw, 168px);
  aspect-ratio: 1;
  margin: 0;
  padding: 8px 8px 18px;
  background: linear-gradient(165deg, #FFFBFC 0%, #FFF6F8 55%, #FCE8EF 100%);
  border: 1px solid rgba(232, 116, 156, .35);
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(61, 32, 48, .1);
  box-sizing: border-box;
}
.ss-carousel2d__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 8px;
  background: #F5E4EA;
  cursor: pointer;
}
.ss-carousel2d__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: var(--ss-c2d-nav-size);
  height: var(--ss-c2d-nav-size);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  cursor: pointer;
  color: #fff;
  background: var(--ss-pink-deep);
  box-shadow: 0 8px 20px rgba(200, 92, 132, .35);
  transition: background .2s ease, transform .2s ease;
  -webkit-tap-highlight-color: transparent;
}
.ss-carousel2d__nav:hover,
.ss-carousel2d__nav:active {
  background: var(--ss-pink-hover);
}
.ss-carousel2d__nav:active {
  transform: translateY(-50%) scale(.94);
}
.ss-carousel2d__nav:focus-visible {
  outline: 2px solid var(--ss-pink);
  outline-offset: 3px;
}
.ss-carousel2d__nav svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ss-carousel2d__nav--prev {
  left: max(6px, env(safe-area-inset-left, 0px));
}
.ss-carousel2d__nav--next {
  right: max(6px, env(safe-area-inset-right, 0px));
}
@keyframes ss-c2d-ltr {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
@keyframes ss-c2d-rtl {
  from { transform: translate3d(-50%, 0, 0); }
  to { transform: translate3d(0, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .ss-carousel2d:not(.is-js) .ss-carousel2d__track { animation: none !important; }
}

/* —— Desktop 3D —— */
.ss-carousel3d {
  display: none;
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
  height: min(92vh, 920px);
  min-height: 580px;
  overflow: hidden;
  touch-action: pan-y;
}
.ss-carousel3d__stage {
  position: absolute;
  inset: 0;
  cursor: grab;
}
.ss-carousel3d__stage:active { cursor: grabbing; }
.ss-carousel3d__stage canvas {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: none;
}

.ss-carousel3d__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: #fff;
  background: var(--ss-pink-deep);
  box-shadow: 0 8px 20px rgba(200, 92, 132, .35);
  transition: background .2s ease, transform .2s ease;
}
.ss-carousel3d__nav:hover {
  background: var(--ss-pink-hover);
  transform: translateY(-50%) scale(1.05);
}
.ss-carousel3d__nav:active {
  transform: translateY(-50%) scale(.94);
}
.ss-carousel3d__nav:focus-visible {
  outline: 2px solid var(--ss-pink);
  outline-offset: 3px;
}
.ss-carousel3d__nav svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ss-carousel3d__nav--prev { left: max(12px, env(safe-area-inset-left, 0px)); }
.ss-carousel3d__nav--next { right: max(12px, env(safe-area-inset-right, 0px)); }
@media (min-width: 1100px) {
  .ss-carousel3d__nav--prev { left: max(28px, env(safe-area-inset-left, 0px)); }
  .ss-carousel3d__nav--next { right: max(28px, env(safe-area-inset-right, 0px)); }
}

.ss-carousel3d__lightbox {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: env(safe-area-inset-top, 0px) 16px env(safe-area-inset-bottom, 0px);
  background: rgba(61, 32, 48, .55);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s, visibility .25s;
}
.ss-carousel3d__lightbox.is-open {
  opacity: 1;
  visibility: visible;
}
.ss-carousel3d__lb-frame {
  position: relative;
  transform: scale(.6);
  transition: transform .38s cubic-bezier(.2, .9, .25, 1);
}
.ss-carousel3d__lightbox.is-open .ss-carousel3d__lb-frame {
  transform: scale(1);
}
.ss-carousel3d__lightbox img {
  display: block;
  max-width: min(90vw, 1280px);
  max-height: 82vh;
  border-radius: 16px;
  box-shadow: 0 24px 70px rgba(61, 32, 48, .4);
}
.ss-carousel3d__lb-close {
  position: absolute;
  top: -14px;
  right: -14px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 0;
  background: var(--ss-pink-deep);
  color: #fff;
  font: 600 22px/1 var(--font-body), system-ui, sans-serif;
  cursor: pointer;
  display: grid;
  place-items: center;
  padding: 0;
  box-shadow: 0 6px 16px rgba(200, 92, 132, .35);
  transition: background .2s ease;
}
.ss-carousel3d__lb-close:hover { background: var(--ss-pink-hover); }
.ss-carousel3d__lb-close:focus-visible {
  outline: 2px solid var(--ss-pink);
  outline-offset: 3px;
}

@media (max-width: 899px) {
  .ss-carousel2d { display: flex; }
  .ss-carousel3d { display: none !important; }
}
@media (min-width: 900px) {
  .ss-carousel2d { display: none !important; }
  .ss-carousel3d { display: block; }
}

.ss-faq { display: flex; flex-direction: column; gap: 12px; }
.ss-faq__item { background: #fff; border: 1px solid var(--ss-pink-border); border-radius: 16px; overflow: hidden; }
.ss-faq__q {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 16px 24px; background: none; border: 0; cursor: pointer; text-align: left;
  font-weight: 700; color: var(--ss-plum); font-size: 15px;
}
.ss-faq__plus {
  width: 28px; height: 28px; border-radius: 50%; background: var(--ss-pink-light);
  color: var(--ss-pink-deep); display: grid; place-items: center; flex-shrink: 0; transition: transform .2s;
}
.ss-faq__q[aria-expanded="true"] .ss-faq__plus { transform: rotate(45deg); }
.ss-faq__a { padding: 0 24px 20px; color: var(--ss-plum-soft); font-size: 14px; line-height: 1.6; border-top: 1px solid var(--ss-pink-border); padding-top: 16px; }

/* Instagram / Newsletter */
.ss-ig { background: #F5E4EA; padding: 64px 0; }
.ss-ig__head { display: flex; justify-content: center; margin-bottom: 40px; }
.ss-ig__profile { display: flex; align-items: center; gap: 12px; }
.ss-ig__icon {
  width: 40px; height: 40px; border-radius: 12px;
  background: linear-gradient(135deg, #f9ce34, #ee2a7b, #6228d7);
  display: grid; place-items: center; color: #fff;
}
.ss-ig__icon svg { width: 20px; height: 20px; }
.ss-ig__profile strong { display: block; font-family: var(--font-display); font-size: 1.25rem; }
.ss-ig__profile small { color: var(--ss-muted); font-size: 12px; }
.ss-ig__cta { display: flex; justify-content: center; margin-top: 32px; }

.ss-news { position: relative; overflow: hidden; min-height: 220px; }
.ss-news__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: bottom; }
.ss-news__shade { position: absolute; inset: 0; background: rgba(80,10,30,.35); }
.ss-news__blur {
  position: absolute; inset: 0 auto 0 0; width: 66%;
  backdrop-filter: blur(6px);
  mask-image: linear-gradient(to right, black 40%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, black 40%, transparent 100%);
  pointer-events: none;
}
.ss-news__inner {
  position: relative;
  display: flex; flex-direction: column; gap: 16px;
  padding: 56px 32px;
}
@media (min-width: 640px) {
  .ss-news__inner { flex-direction: row; align-items: center; justify-content: space-between; }
}
.ss-news__eye {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-size: clamp(.85rem, 1.6vw, 1.05rem);
  color: rgba(255,220,200,.9);
  margin: 0 0 12px;
}
.ss-news__text {
  color: rgba(255,230,220,.92);
  max-width: 380px;
  margin: 0;
  font-size: clamp(.9rem, 1.4vw, 1.05rem);
  font-weight: 400;
  line-height: 1.55;
}
.ss-news__form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  min-width: min(340px, 100%);
  flex-shrink: 0;
}
.ss-news__fields {
  display: flex;
  border-radius: 999px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0,0,0,.2);
}
.ss-news__fields input[type="email"] {
  flex: 1; border: 0; padding: 14px 24px; outline: none;
  background: rgba(255,235,240,.92); color: var(--ss-plum); min-width: 0;
}
.ss-news__fields button {
  border: 0; background: var(--ss-news-btn); color: #fff;
  font-weight: 800; font-size: 12px; letter-spacing: .16em; text-transform: uppercase;
  padding: 0 28px; cursor: pointer;
}
.ss-news__form .g-recaptcha { margin: 0; }
.ss-news__legal {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
  background: none;
  box-shadow: none;
}
.ss-news__consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 0;
  background: none;
  color: rgba(255,230,220,.92);
  font-family: var(--font-body);
  font-size: clamp(.9rem, 1.4vw, 1.05rem);
  font-weight: 400;
  line-height: 1.55;
  cursor: pointer;
}
.ss-news__consent input[type="checkbox"] {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin: .35em 0 0;
  accent-color: var(--ss-news-btn);
  background: none;
  padding: 0;
  box-shadow: none;
}
.ss-news__consent a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

/* Footer */
.ss-footer { background: var(--ss-footer); color: rgba(255,235,230,.85); }
.ss-footer__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  padding: 48px 0;
  align-items: start;
}
@media (min-width: 640px) { .ss-footer__grid { grid-template-columns: 1.2fr 1fr 1fr 1fr; } }
.ss-footer__brand { grid-column: span 2; display: flex; flex-direction: column; align-items: center; gap: 12px; }
@media (min-width: 640px) { .ss-footer__brand { grid-column: span 1; align-items: flex-start; } }
.ss-footer__brand img { width: 112px; height: 112px; object-fit: contain; border-radius: 50%; }
.ss-footer__brand p { font-family: var(--font-display); font-size: 14px; margin: 0; color: rgba(255,235,230,.9); }
.ss-footer__h {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,220,210,.85);
  margin: 0 0 8px;
}
.ss-footer__line { width: 32px; height: 1px; background: rgba(255,200,200,.35); margin-bottom: 16px; }
.ss-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ss-footer__menu a {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,235,230,.92);
}
.ss-footer__menu a:hover { color: #fff; }
.ss-footer__payments {
  padding: 0 0 36px;
}
.ss-footer__payments .ss-wrap {
  display: flex;
  justify-content: center;
}
.ss-footer__payments-img {
  display: block;
  max-width: min(100%, 560px);
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  opacity: .92;
}
.ss-footer__copy {
  border-top: 1px solid rgba(255,200,200,.2);
  padding: 20px 0;
  font-size: 12px;
  color: rgba(255,220,210,.5);
}
.ss-footer__copy-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.ss-footer__copy p { margin: 0; }
.ss-footer__by { font-size: 11px; opacity: .75; }
.ss-footer__by a { color: inherit; text-decoration: none; }
.ss-footer__by a:hover { color: #fff; }

/* EU funding — w pasku cookies (#dcc-bar), tylko home */
.ss-eu-in-dcc {
  width: 100%;
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(0, 0, 0, .08);
  text-align: left;
}
.ss-eu-in-dcc__copy {
  flex: 1 1 240px;
  min-width: 0;
}
.ss-eu-in-dcc__title {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  color: inherit;
}
.ss-eu-in-dcc__desc {
  margin: 0;
  font-size: 11px;
  line-height: 1.4;
  opacity: .9;
}
.ss-eu-in-dcc__img {
  display: block;
  flex: 0 1 440px;
  width: 100%;
  max-width: 440px;
  height: auto;
  margin: 0;
}
@media (max-width: 639px) {
  .ss-eu-in-dcc {
    flex-direction: column;
    align-items: stretch;
  }
  .ss-eu-in-dcc__img {
    max-width: 100%;
    flex-basis: auto;
  }
}

/* Page hero */
.ss-page-hero { position: relative; padding: 13rem 0 5rem; background: #8B3055; overflow: hidden; }
.ss-page-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: bottom; opacity: .4; }
.ss-page-hero__shade { position: absolute; inset: 0; background: linear-gradient(to right, rgba(80,10,30,.7) 0%, rgba(80,10,30,.3) 60%, transparent 100%); }
.ss-page-hero__inner { position: relative; }
.ss-page-hero__bc { font-family: var(--font-display); font-size: 12px; letter-spacing: .25em; text-transform: uppercase; color: rgba(255,210,200,.7); margin: 0 0 16px; }
.ss-page-hero__title { font-family: var(--font-display); font-size: clamp(2.5rem, 6vw, 3.75rem); color: #fff; margin: 0 0 12px; }
.ss-page-hero__sub { color: rgba(255,230,220,.8); max-width: 480px; margin: 0; }
.ss-wave--page { bottom: -2px; }

/* About page */
.ss-about-page { background: #fff; }
.ss-about-grid {
  display: grid;
  gap: 40px;
  align-items: center;
}
@media (min-width: 640px) {
  .ss-about-grid { grid-template-columns: 1fr 1fr; gap: 48px 64px; }
}
.ss-about-photo {
  display: flex;
  justify-content: center;
}
.ss-about-photo img {
  width: 100%;
  max-width: 420px;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(80, 10, 30, .14);
  background: var(--ss-pink-light);
}
.ss-about-h {
  font-family: var(--font-display);
  font-weight: 900;
  color: var(--ss-plum);
  letter-spacing: -.01em;
  margin: 0 0 28px;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  line-height: 1.15;
}
.ss-about-h--bio {
  font-size: clamp(1.5rem, 3.5vw, 2.2rem);
  line-height: 1.2;
}
.ss-about-h--mission {
  font-size: clamp(1.6rem, 4vw, 2.8rem);
  margin-bottom: 20px;
}
.ss-about-lead {
  color: var(--ss-plum-soft);
  font-style: italic;
  line-height: 1.7;
  font-size: 1.05rem;
  margin: 0 0 24px;
}
.ss-about-text {
  color: var(--ss-plum-soft);
  line-height: 1.7;
  font-size: .97rem;
  max-width: 460px;
  margin: 0;
}
.ss-about-rich {
  color: var(--ss-plum-soft);
  line-height: 1.7;
  font-size: .95rem;
}
.ss-about-rich p { margin: 0 0 1rem; }
.ss-about-rich p:last-child { margin-bottom: 0; }
.ss-about-rich strong { color: var(--ss-plum); }
.ss-about-rich em { font-style: italic; font-size: 1.1em; color: var(--ss-plum); }

.ss-about-intro { padding: 40px 0 56px; overflow: visible; background: #fbf0f3; }
@media (min-width: 640px) { .ss-about-intro { padding: 56px 0 72px; } }
.ss-about-intro__copy { overflow: visible; }
.ss-about-intro__logo {
  display: block;
  height: 140px;
  width: auto;
  max-width: min(100%, 420px);
  object-fit: contain;
  margin: 0 0 24px;
  position: relative;
  z-index: 1;
}
@media (min-width: 640px) {
  .ss-about-intro__logo {
    height: 180px;
    margin-left: -120px;
  }
}

.ss-about-bio,
.ss-about-story { padding: 56px 0; }
@media (min-width: 640px) {
  .ss-about-bio,
  .ss-about-story { padding: 72px 0; }
}
.ss-about-bio { background: #fff; }
.ss-about-story { background: #fbf0f3; }

.ss-about-mission {
  position: relative;
  overflow: hidden;
  padding: 64px 0;
  background: #f5e0e8;
}
@media (min-width: 640px) { .ss-about-mission { padding: 96px 0; } }
.ss-about-mission__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .45;
  pointer-events: none;
}
.ss-about-mission__shade {
  position: absolute;
  inset: 0;
  background: rgba(252, 232, 239, .55);
  pointer-events: none;
}
.ss-about-mission__inner {
  position: relative;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.ss-about-mission__logo {
  width: 140px;
  height: 140px;
  object-fit: contain;
  border-radius: 50%;
  margin: 0 auto 24px;
  display: block;
  filter: drop-shadow(0 4px 20px rgba(200, 92, 132, .45));
}
.ss-about-mission__lead {
  color: var(--ss-plum-soft);
  line-height: 1.7;
  font-size: .97rem;
  margin: 0 0 16px;
}
.ss-about-mission__text {
  color: var(--ss-plum-soft);
  line-height: 1.7;
  font-size: 1rem;
  margin: 0;
}

.ss-about-values { padding: 64px 0; background: #fff; }
.ss-about-values__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 960px;
  margin: 0 auto;
}
@media (min-width: 640px) {
  .ss-about-values__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
  }
}
.ss-about-value {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.ss-about-value__img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 12px 28px rgba(80, 10, 30, .14);
}
.ss-about-value__text {
  color: var(--ss-plum-soft);
  font-size: .875rem;
  line-height: 1.6;
  text-align: center;
  margin: 0;
  width: 100%;
}

.ss-about-moment { padding: 64px 0 80px; background: #fbf0f3; }
@media (min-width: 640px) { .ss-about-moment { padding: 72px 0 96px; } }
.ss-about-moment__inner {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.ss-about-moment__heading {
  display: block;
  max-height: 200px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  margin: 0 auto 40px;
}
.ss-about-moment__box {
  border-radius: 24px;
  overflow: hidden;
  background: var(--ss-pink-deep);
  margin-bottom: 40px;
  text-align: left;
}
.ss-about-moment__quotes {
  padding: 28px 32px;
}
.ss-about-moment__q1 {
  font-family: var(--font-display);
  font-weight: 900;
  color: #fff;
  font-size: clamp(1.25rem, 3vw, 1.6rem);
  letter-spacing: .02em;
  margin: 0 0 8px;
}
.ss-about-moment__q2 {
  font-weight: 900;
  color: #fff;
  font-size: clamp(1rem, 2.2vw, 1.15rem);
  letter-spacing: .02em;
  margin: 0;
  text-transform: uppercase;
}
.ss-about-moment__body {
  display: grid;
  background: var(--ss-footer);
}
@media (min-width: 640px) {
  .ss-about-moment__body { grid-template-columns: 1fr 1fr; }
}
.ss-about-moment__copy {
  padding: 32px;
  color: #fff;
  line-height: 1.7;
  font-size: .97rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ss-about-moment__copy p { margin: 0 0 1rem; color: #fff; }
.ss-about-moment__copy p:last-child { margin-bottom: 0; }
.ss-about-moment__copy strong {
  display: inline-block;
  font-size: 1.15rem;
  font-weight: 900;
  color: #fff;
}
.ss-about-moment__photo {
  position: relative;
  min-height: 220px;
}
.ss-about-moment__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: absolute;
  inset: 0;
}
@media (max-width: 639px) {
  .ss-about-moment__photo {
    min-height: 260px;
  }
  .ss-about-moment__photo img {
    position: absolute;
  }
}
.ss-about-moment__grad {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(139, 48, 85, .6) 0%, transparent 60%);
  pointer-events: none;
}
.ss-about-moment__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Blog */
.ss-cats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 40px; }
.ss-chip {
  padding: 8px 16px; border-radius: 999px; border: 2px solid var(--ss-pink-deep);
  font-family: var(--font-display); font-size: 14px; color: var(--ss-pink-deep);
}
.ss-chip.is-on { background: var(--ss-pink-deep); color: #fff; }
.ss-featured {
  display: grid; background: #fff; border: 1px solid var(--ss-pink-border);
  border-radius: 24px; overflow: hidden; margin-bottom: 40px;
}
@media (min-width: 640px) { .ss-featured { grid-template-columns: 1fr 1fr; } }
.ss-featured__media { position: relative; min-height: 256px; background: var(--ss-pink-light); }
.ss-featured__media img { width: 100%; height: 100%; object-fit: cover; }
.ss-featured__body { padding: 32px; display: flex; flex-direction: column; justify-content: center; }
.ss-featured__body h2 { font-family: var(--font-display); font-size: 1.8rem; margin: 0 0 12px; }
.ss-meta { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; color: var(--ss-muted); font-size: 12px; }
.ss-more { color: var(--ss-pink-deep); font-weight: 600; font-size: 14px; }
.ss-article { color: var(--ss-plum-soft); line-height: 1.75; }
.ss-article h2 { font-family: var(--font-display); color: var(--ss-plum); font-size: 1.8rem; }
.ss-article blockquote, .ss-article .wp-block-quote {
  background: var(--ss-pink-light); border: 1px solid var(--ss-pink-border);
  border-radius: 24px; padding: 24px; margin: 24px 0;
}
.ss-article__hero { border-radius: 24px; overflow: hidden; aspect-ratio: 16/9; margin-bottom: 40px; background: var(--ss-pink-light); }
.ss-article__hero img { width: 100%; height: 100%; object-fit: cover; }
.ss-author {
  margin-top: 40px; background: #fff; border: 1px solid var(--ss-pink-border);
  border-radius: 24px; padding: 24px; display: flex; gap: 20px; align-items: center;
}
.ss-author img { width: 64px; height: 64px; border-radius: 50%; object-fit: contain; }
.ss-author__name { font-family: var(--font-display); font-size: 1.1rem; margin: 0 0 4px; color: var(--ss-plum); }

/* Shop */
.ss-shop-bar { display: flex; flex-direction: column; gap: 16px; margin-bottom: 24px; }
@media (min-width: 640px) { .ss-shop-bar { flex-direction: row; align-items: center; justify-content: space-between; } }
.ss-tabs { display: flex; gap: 6px; background: var(--ss-pink-light); padding: 6px; border-radius: 999px; width: fit-content; }
.ss-tab {
  padding: 8px 20px; border-radius: 999px; font-family: var(--font-display); font-size: 14px; color: var(--ss-pink-deep);
}
.ss-tab.is-on { background: var(--ss-pink-deep); color: #fff; }
.ss-shop-tools { display: flex; gap: 12px; align-items: center; }
.ss-shop-tools select, .woocommerce-ordering select {
  border: 1px solid var(--ss-pink-border); border-radius: 999px; padding: 8px 16px; background: #fff; color: var(--ss-plum-soft);
}
.ss-view { display: flex; gap: 4px; background: var(--ss-pink-light); padding: 4px; border-radius: 999px; align-items: center; }
.ss-view__btn {
  width: 32px; height: 32px; border-radius: 50%;
  display: grid; place-items: center;
  color: var(--ss-pink-deep); line-height: 0; padding: 0;
}
.ss-view__btn svg { width: 16px; height: 16px; display: block; }
.ss-view__btn.is-on { background: var(--ss-pink-deep); color: #fff; }
.ss-found { color: var(--ss-muted); font-size: 14px; margin: 0 0 24px; }
.ss-found strong { color: var(--ss-plum); }
.ss-list { display: flex; flex-direction: column; gap: 16px; }
.ss-list-card {
  display: flex; background: #fff; border: 1px solid var(--ss-pink-border); border-radius: 24px; overflow: hidden;
  transition: .2s;
}
.ss-list-card:hover { border-color: var(--ss-pink); box-shadow: 0 10px 28px rgba(200,92,132,.12); }
.ss-list-card__media { position: relative; width: 144px; flex-shrink: 0; background: var(--ss-pink-light); }
@media (min-width: 640px) { .ss-list-card__media { width: 192px; } }
.ss-list-card__media img { width: 100%; height: 100%; object-fit: cover; }
.ss-list-card__body { flex: 1; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; }
.ss-list-card__tags { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.ss-card__tag--inline { position: static; }

/* Account */
.ss-account-page {
  background: var(--ss-bg);
  min-height: calc(100vh - 64px);
  padding: 8rem 0 4rem;
}
@media (min-width: 900px) {
  .ss-account-page { padding-top: 17rem; padding-bottom: 4rem; }
}
.ss-account,
.woocommerce-account .woocommerce {
  display: flex;
  flex-direction: column;
  width: 100%;
  float: none;
}
.ss-account-nav { margin: 0 0 2rem; }
.ss-account-dash .ss-account-nav { display: none; }
.ss-account-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ss-account-nav li { margin: 0; list-style: none; }
.ss-account-nav a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 999px;
  color: var(--ss-plum);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ss-account-nav a:hover,
.ss-account-nav .is-active a {
  background: var(--ss-pink-deep);
  border-color: var(--ss-pink-deep);
  color: #fff;
}
.ss-account-nav__icon { display: grid; place-items: center; }
.ss-account-nav__icon svg { display: block; width: 16px; height: 16px; }

.ss-account-hero { text-align: center; margin: 0 0 2.5rem; }
.ss-account-hero__eye {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ss-pink-deep);
  margin: 0 0 10px;
}
.ss-account-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 2.6rem);
  color: var(--ss-plum);
  margin: 0;
}
.ss-account-hero__lead {
  max-width: 28rem;
  margin: 12px auto 0;
  color: var(--ss-muted);
  font-size: 15px;
}

.ss-account-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 18px;
}
.ss-account-tile {
  display: flex;
  flex-direction: column;
  min-height: 200px;
  padding: 26px 22px 22px;
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 24px;
  transition: .25s;
  text-decoration: none;
  color: inherit;
}
.ss-account-tile:hover {
  transform: translateY(-4px);
  border-color: var(--ss-pink);
  box-shadow: 0 16px 40px rgba(200,92,132,.15);
}
.ss-account-tile__icon {
  width: 52px; height: 52px;
  display: grid; place-items: center;
  margin-bottom: 18px;
  border-radius: 50%;
  background: var(--ss-pink-light);
  color: var(--ss-pink-deep);
}
.ss-account-tile__title {
  font-family: var(--font-display);
  font-size: 1.35rem;
  color: var(--ss-plum);
  line-height: 1.2;
  margin-bottom: 6px;
}
.ss-account-tile__sub { color: var(--ss-muted); font-size: 13px; line-height: 1.45; }
.ss-account-tile--customer-logout { background: transparent; }
.ss-account-tile--customer-logout .ss-account-tile__icon {
  background: rgba(153, 27, 27, .08);
  color: #991b1b;
}
.ss-account-tile--customer-logout:hover {
  border-color: #991b1b;
  box-shadow: 0 16px 40px rgba(153,27,27,.1);
}

.ss-account-note { color: var(--ss-muted); margin: 0 0 1.5rem; }
.ss-address-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media (min-width: 800px) { .ss-address-grid { grid-template-columns: 1fr 1fr; } }
.ss-address-card {
  display: flex;
  flex-direction: column;
  min-height: 14rem;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 24px;
}
.ss-address-card__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.ss-address-card__head h3 {
  font-family: var(--font-display);
  font-size: 1.35rem;
  color: var(--ss-plum);
  margin: 0;
}
.ss-address-card__edit {
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ss-pink-deep);
  white-space: nowrap;
}
.ss-address-card__body,
.ss-address-card__body p {
  margin: 0;
  color: var(--ss-muted);
  font-size: 15px;
  line-height: 1.55;
}

.woocommerce-account table.shop_table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 24px;
  overflow: hidden;
}
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--ss-pink-border);
  text-align: left;
  font-size: 14px;
}
.woocommerce-account table.shop_table a { color: var(--ss-pink-deep); }

.ss-account__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--ss-plum);
  margin: 0 0 24px;
}
.ss-account__media { height: 176px; aspect-ratio: auto; }
.ss-account-form {
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 24px;
  padding: 24px;
  max-width: 32rem;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.ss-account-form .form-row { margin: 0; padding: 0; width: 100%; float: none; }
.ss-account-form .form-row-first,
.ss-account-form .form-row-last { float: none; width: 100%; }
.ss-account-form label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ss-muted);
  margin: 0 0 6px;
}
.ss-account-form .woocommerce-Input,
.ss-account-form input.input-text,
.ss-account-form input[type="text"],
.ss-account-form input[type="email"],
.ss-account-form input[type="password"],
.ss-account-form input[type="tel"],
.ss-account-form select,
.ss-account-form textarea {
  width: 100%;
  background: var(--ss-bg);
  border: 1px solid var(--ss-pink-border);
  border-radius: 16px;
  padding: 12px 16px;
  color: var(--ss-plum);
  font-size: 14px;
  font-weight: 600;
  outline: none;
  box-sizing: border-box;
}
.ss-account-form .woocommerce-address-fields__field-wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ss-account-form input:focus {
  border-color: var(--ss-pink);
}
.ss-account-form fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.ss-account-form legend { display: none; }
.ss-account-form em, .ss-account-form .woocommerce-password-hint { display: none; }
.ss-account-form .password-input { display: block; position: relative; }
/* Woo injects empty eye toggle; icon font often missing — hide site-wide */
.woocommerce .show-password-input,
.woocommerce-page .show-password-input {
  display: none !important;
}
.ss-account-form .woocommerce-password-strength {
  margin-top: 8px;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 10px;
}
.ss-account-form__submit { margin: 0; }
.ss-account-form__btn {
  width: 100%;
  background: var(--ss-pink-deep);
  color: #fff;
  border: 0;
  border-radius: 16px;
  padding: 14px 20px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: background .2s;
}
.ss-account-form__btn:hover { background: var(--ss-pink-hover); }
.ss-account .woocommerce-notices-wrapper .woocommerce-message,
.ss-account .woocommerce-notices-wrapper .woocommerce-error,
.ss-account .woocommerce-notices-wrapper .woocommerce-info {
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 16px;
  padding: 12px 16px;
  margin: 0 0 20px;
  color: var(--ss-plum-soft);
  list-style: none;
}
.ss-woo input, .ss-woo textarea, .ss-woo select,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea {
  width: 100%; background: var(--ss-bg); border: 1px solid var(--ss-pink-border);
  border-radius: 16px; padding: 12px 16px; color: var(--ss-plum);
}
.ss-woo button.button,
.woocommerce a.button:not(.ss-btn):not(.ss-pdp__cta):not(.ss-account-form__btn),
.woocommerce button.button:not(.ss-btn):not(.ss-pdp__cta):not(.ss-account-form__btn),
.woocommerce input.button:not(.ss-btn):not(.ss-pdp__cta):not(.ss-account-form__btn) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ss-pink-deep) !important;
  color: #fff !important;
  border-radius: 16px !important;
  border: 0 !important;
  padding: 14px 24px !important;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
  transition: background .2s;
}
.ss-woo button.button:hover,
.woocommerce a.button:not(.ss-btn):not(.ss-pdp__cta):not(.ss-account-form__btn):hover,
.woocommerce button.button:not(.ss-btn):not(.ss-pdp__cta):not(.ss-account-form__btn):hover,
.woocommerce input.button:not(.ss-btn):not(.ss-pdp__cta):not(.ss-account-form__btn):hover {
  background: var(--ss-pink-hover) !important;
  color: #fff !important;
}

.ss-product { display: grid; gap: 32px; }
@media (min-width: 768px) { .ss-product { grid-template-columns: 1fr 1fr; align-items: start; } }
.ss-product img { border-radius: 24px; }
.ss-product__summary h1 { font-family: var(--font-display); }
.ss-product .price { font-family: var(--font-display); color: var(--ss-gold); font-size: 2rem; }

.ss-pdp-page {
  background: var(--ss-bg);
  padding: 6.5rem 0 4rem;
}
@media (min-width: 900px) {
  .ss-pdp-page { padding-top: 11.5rem; padding-bottom: 4rem; }
}
.ss-pdp-bc {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 12px;
  color: var(--ss-muted);
  margin: 0 0 16px;
}
.ss-pdp-bc a { color: var(--ss-muted); }
.ss-pdp-bc a:hover { color: var(--ss-pink-deep); }
.ss-pdp-bc strong { color: var(--ss-plum); font-weight: 400; }

.ss-pdp {
  display: grid;
  gap: 32px;
  align-items: start;
}
@media (min-width: 1024px) {
  .ss-pdp { grid-template-columns: 1fr 1fr; gap: 48px; }
}
.ss-pdp__media { position: relative; }
.ss-pdp__photo {
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 24px;
  background: var(--ss-pink-light);
  box-shadow: 0 12px 28px rgba(61,32,48,.12);
}
.ss-pdp__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ss-pdp__shade {
  position: absolute; inset: 0; border-radius: 24px; pointer-events: none;
  background: linear-gradient(to top, rgba(0,0,0,.2), transparent);
}
.ss-pdp__tag {
  position: absolute; top: 20px; left: 20px;
  font-weight: 700; font-size: 14px; padding: 6px 16px;
  border-radius: 999px; color: #fff;
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
}
.ss-pdp__format {
  position: absolute; bottom: 20px; left: 20px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(8px);
  border-radius: 16px;
  padding: 10px 16px;
  box-shadow: 0 4px 14px rgba(0,0,0,.1);
}
.ss-pdp__format p {
  margin: 0 0 2px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ss-muted);
}
.ss-pdp__format strong {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 14px;
  color: var(--ss-plum);
}
.ss-pdp__info { padding-top: 8px; }
.ss-pdp__kind {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ss-pink-deep);
  margin: 0 0 8px;
}
.ss-pdp__title {
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 4vw, 3rem);
  color: var(--ss-plum);
  margin: 0 0 12px;
  line-height: 1.15;
}
.ss-pdp__lead {
  color: var(--ss-plum-soft);
  margin: 0 0 24px;
  line-height: 1.7;
}
.ss-pdp__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 32px;
}
.ss-pdp__pills span {
  background: var(--ss-pink-light);
  color: var(--ss-plum-soft);
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 999px;
}
.ss-pdp__feat {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ss-pdp__feat li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: var(--ss-plum-soft);
}
.ss-pdp__feat i {
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--ss-pink-light);
  display: grid; place-items: center;
  flex-shrink: 0;
}
.ss-pdp__feat svg { width: 12px; height: 12px; color: var(--ss-pink-deep); }
.ss-pdp__buy {
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 24px;
  padding: 24px;
}
.ss-pdp__price {
  font-family: var(--font-display);
  color: var(--ss-gold);
  font-size: 2.4rem;
  margin: 0 0 16px;
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.ss-pdp__price .woocommerce-Price-amount { font-family: inherit; color: inherit; font-weight: 400; }
.ss-pdp__price .woocommerce-Price-amount bdi {
  display: inline-flex;
  align-items: baseline;
  gap: .12em;
}
.ss-pdp__price .woocommerce-Price-currencySymbol {
  font-family: var(--font-body);
  font-size: .48em;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: lowercase;
}
.ss-pdp__life {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--ss-muted);
}
.ss-pdp__cta-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
}
.ss-pdp__cta-row .dc-wishlist-btn--product {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border: 1px solid var(--ss-pink-border);
}
.ss-pdp__cta {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  padding: 16px 24px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: .2em;
  text-transform: uppercase;
  background: var(--ss-pink-deep);
  color: #fff;
  border: 0;
  margin: 0 0 12px;
  cursor: pointer;
  transition: .2s;
  text-decoration: none;
}
.ss-pdp__cta-row .ss-pdp__cta {
  flex: 1 1 auto;
  width: auto;
  margin: 0;
}
.ss-pdp__cta:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(200,92,132,.28); color: #fff; }
.ss-pdp__cta.added { background: var(--ss-pink-hover); }
.ss-pdp__safe { text-align: center; font-size: 12px; color: var(--ss-muted); margin: 0; }
.ss-pdp__cart { margin: 0; }
.ss-pdp__cart .quantity { display: none; }

.ss-pdp-tabs {
  display: flex;
  gap: 4px;
  background: var(--ss-pink-light);
  padding: 6px;
  border-radius: 999px;
  width: fit-content;
  margin: 64px 0 32px;
}
.ss-pdp-tab {
  padding: 8px 24px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--ss-pink-deep);
  background: transparent;
  border: 0;
  cursor: pointer;
  text-transform: capitalize;
}
.ss-pdp-tab.is-on { background: var(--ss-pink-deep); color: #fff; }

.ss-pdp-opis {
  max-width: 42rem;
  color: var(--ss-plum-soft);
  line-height: 1.75;
}
.ss-pdp-opis p { margin: 0 0 16px; }
.ss-pdp-who {
  background: var(--ss-pink-light);
  border: 1px solid var(--ss-pink-border);
  border-radius: 16px;
  padding: 20px;
  margin-top: 16px;
}
.ss-pdp-who__title {
  font-family: var(--font-display);
  font-size: 1.125rem;
  color: var(--ss-plum);
  margin: 0 0 8px;
}
.ss-pdp-who ul { list-style: none; margin: 0; padding: 0; }
.ss-pdp-who li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  margin: 0 0 4px;
}
.ss-pdp-who li span { color: var(--ss-pink-deep); margin-top: 1px; }

.ss-pdp-toc { display: flex; flex-direction: column; gap: 12px; max-width: 42rem; }
.ss-pdp-toc__row {
  display: flex; align-items: center; gap: 16px;
  background: #fff; border: 1px solid var(--ss-pink-border);
  border-radius: 16px; padding: 16px 20px;
}
.ss-pdp-toc__n {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--ss-pink-light);
  display: grid; place-items: center;
  font-family: var(--font-display); color: var(--ss-pink-deep); font-size: 14px;
  flex-shrink: 0;
}
.ss-pdp-toc__row span:last-child {
  font-size: 14px;
  font-weight: 600;
  color: var(--ss-plum);
}

.ss-pdp-reviews {
  display: grid;
  gap: 16px;
  max-width: 56rem;
}
@media (min-width: 640px) { .ss-pdp-reviews { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ss-pdp-reviews { grid-template-columns: repeat(3, 1fr); } }
.ss-pdp-review {
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 24px;
  padding: 20px;
}
.ss-pdp-review__stars { font-size: 14px; margin: 0 0 12px; }
.ss-pdp-review__text { font-size: 14px; color: var(--ss-plum-soft); line-height: 1.6; margin: 0 0 16px; }
.ss-pdp-review__who { display: flex; align-items: center; gap: 8px; }
.ss-pdp-review__av {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--ss-pink-light);
  display: grid; place-items: center;
  font-family: var(--font-display); color: var(--ss-pink-deep); font-size: 14px;
}
.ss-pdp-review__who strong { display: block; font-size: 14px; color: var(--ss-plum); }
.ss-pdp-review__who span { font-size: 12px; color: var(--ss-muted); }

.ss-pdp__related { margin-top: 64px; }
.ss-pdp__related-title {
  font-family: var(--font-display);
  font-size: 1.875rem;
  color: var(--ss-plum);
  margin: 0 0 32px;
}
.woocommerce-product-gallery { opacity: 1 !important; }

.woocommerce-pagination { margin-top: 32px; }
.woocommerce-pagination .page-numbers { display: flex; gap: 8px; list-style: none; padding: 0; justify-content: center; }
.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
  display: grid; place-items: center; min-width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid var(--ss-pink-border); background: #fff; color: var(--ss-pink-deep);
}
.woocommerce-pagination .page-numbers .current { background: var(--ss-pink-deep); color: #fff; border-color: var(--ss-pink-deep); }

.ss-page-content { color: var(--ss-plum-soft); line-height: 1.7; }
.ss-page-content h2 {
  font-family: var(--font-display);
  color: var(--ss-plum);
  font-size: 1.55rem;
  margin: 2rem 0 0.7rem;
}
.ss-page-content h3 {
  font-family: var(--font-display);
  color: var(--ss-plum);
  font-size: 1.15rem;
  margin: 1.4rem 0 0.5rem;
}
.ss-page-content p, .ss-page-content li { margin: 0 0 0.75rem; }
.ss-page-content ul, .ss-page-content ol { margin: 0 0 1rem 1.15rem; }
.ss-page-content a { color: var(--ss-pink-deep); text-decoration: underline; }
.ss-page-content blockquote {
  margin: 0 0 1.2rem;
  padding: 16px 20px;
  background: #fff;
  border-left: 4px solid var(--ss-pink-deep);
  border-radius: 0 16px 16px 0;
}
.ss-legal-meta { font-size: 0.92rem; opacity: .8; margin-bottom: 1.25rem !important; }
.ss-legal-box {
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 20px;
  padding: 18px 22px;
  margin: 0 0 1.5rem;
}
.ss-legal-box p { margin: 0; }
.ss-legal-scroll { overflow-x: auto; margin: 0 0 1.2rem; }
.ss-legal-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 16px;
  overflow: hidden;
  font-size: 0.92rem;
}
.ss-legal-table th, .ss-legal-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--ss-pink-border);
  text-align: left;
  vertical-align: top;
}
.ss-legal-table th { background: #FCE8EF; color: var(--ss-plum); font-weight: 700; }
.ssc-digital-consent { margin: 12px 0 0 !important; }
.ssc-digital-consent span { color: var(--ss-plum); font-size: 0.92rem; line-height: 1.45; }
.ss-post-card a { color: inherit; display: flex; flex-direction: column; height: 100%; }

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #FFE4EE; }
::-webkit-scrollbar-thumb { background: #F0859F; border-radius: 3px; }

@media (max-width: 767px) {
  .ss-hero__title { white-space: normal; }
  .ss-hero__copy { padding-top: 8rem; }
  .ss-page-hero { padding-top: 8rem; }
}

/* Woo cart / checkout / login */
.ss-login { display: grid; gap: 24px; }
@media (min-width: 768px) {
  .ss-login #customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
}
.ss-login h2, .cart_totals h2 {
  font-family: var(--font-display);
  color: var(--ss-plum);
  margin: 0 0 16px;
}
.ss-login form, .cart-collaterals .cart_totals {
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 24px;
  padding: 24px;
}
.ss-login .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.ss-cart-layout {
  display: grid;
  gap: 28px;
  align-items: start;
}
@media (min-width: 960px) {
  .ss-cart-layout {
    grid-template-columns: minmax(0, 1fr) 340px;
  }
}
.ss-cart-form {
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 24px;
  padding: 8px 8px 20px;
  overflow: hidden;
}
.ss-cart-row {
  display: flex;
  gap: 16px;
  padding: 18px 16px;
  border-bottom: 1px solid var(--ss-pink-border);
  align-items: flex-start;
}
.ss-cart-row:last-child { border-bottom: 0; }
.ss-cart-row__image {
  flex: 0 0 88px;
}
.ss-cart-row__image img {
  width: 88px !important;
  height: 88px !important;
  max-width: 88px !important;
  object-fit: cover;
  border-radius: 16px;
}
.ss-cart-row__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  justify-content: space-between;
  align-items: flex-end;
}
.ss-cart-row__info { flex: 1; min-width: 160px; }
.ss-cart-row__name {
  margin: 0 0 4px;
  font-family: var(--font-display);
  font-size: 1.05rem;
  color: var(--ss-plum);
}
.ss-cart-row__name a { color: inherit; }
.ss-cart-row__desc {
  margin: 0 0 8px;
  font-size: .85rem;
  color: var(--ss-muted);
}
.ss-cart-row__price {
  margin: 0;
  font-weight: 700;
  color: var(--ss-gold);
}
.ss-cart-row__tools {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ss-cart-row__remove {
  display: flex;
  width: 18px;
  height: 18px;
  opacity: .4;
  flex: 0 0 auto;
}
.ss-cart-row__remove:hover { opacity: .9; }
.ss-cart-row__remove img {
  width: 14px !important;
  height: 14px !important;
  max-width: 14px !important;
  object-fit: contain;
}
#cart-table .dc-qty-wrapper {
  display: flex;
  align-items: center;
  border-radius: 15px;
  overflow: hidden;
  width: max-content;
  border: 1px solid var(--ss-pink);
}
#cart-table .dc-qty-btn {
  background: var(--ss-pink);
  color: #fff;
  border: none;
  width: 30px;
  height: 30px;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 0;
}
#cart-table .dc-qty-input {
  width: 52px;
  height: 30px;
  text-align: center;
  border: none;
  font-size: 14px;
  color: var(--ss-plum);
  -moz-appearance: textfield;
}
#cart-table .dc-qty-input::-webkit-outer-spin-button,
#cart-table .dc-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ss-cart-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 16px 16px 4px;
}
.ss-cart-coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.ss-cart-coupon .input-text {
  border: 1px solid var(--ss-pink-border);
  border-radius: 999px;
  padding: 10px 16px;
  min-width: 180px;
  color: var(--ss-plum);
  background: var(--ss-bg);
}
.ss-cart-coupon .ss-btn--outline { padding: 10px 18px; }
.ss-cart-update { flex: 0 0 auto; }
.ss-cart-totals .cart_totals h2 { font-size: 1.35rem; }
.ss-cart-totals .shop_table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}
.ss-cart-totals .shop_table th,
.ss-cart-totals .shop_table td {
  padding: 10px 0;
  border-bottom: 1px solid var(--ss-pink-border);
  text-align: left;
  color: var(--ss-plum);
}
.ss-cart-totals .shop_table td { text-align: right; }
.ss-cart-totals .order-total th,
.ss-cart-totals .order-total td {
  font-family: var(--font-display);
  font-size: 1.15rem;
  border-bottom: 0;
  padding-top: 16px;
}
.wc-proceed-to-checkout .checkout-button,
.wc-proceed-to-checkout .button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  background: var(--ss-pink-deep);
  color: #fff !important;
  border: 0;
  border-radius: 999px;
  padding: 16px 24px;
  font-family: var(--font-display);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 14px;
  box-shadow: 0 10px 24px rgba(200,92,132,.35);
}
.wc-proceed-to-checkout .checkout-button:hover { background: var(--ss-pink-hover); }
.ss-cart-empty {
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 24px;
  padding: 48px 24px;
  text-align: center;
}
.ss-cart-empty .cart-empty { margin: 0 0 20px; color: var(--ss-plum); }
.cart-empty, .return-to-shop { text-align: center; }
.return-to-shop { margin-top: 16px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error {
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 16px;
  padding: 14px 18px;
  margin-bottom: 20px;
  color: var(--ss-plum);
}
.woocommerce-error { border-color: #E8749C; }

/* Checkout */
.ss-checkout { margin: 0; }
.ss-checkout__grid {
  display: grid;
  gap: 24px;
  align-items: start;
}
@media (min-width: 960px) {
  .ss-checkout__grid {
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 32px;
  }
  .ss-checkout__aside { position: sticky; top: 110px; }
}
.ss-checkout__card {
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 24px;
  padding: 28px;
}
.ss-checkout #customer_details {
  display: flex;
  flex-direction: column;
  gap: 28px;
  float: none;
  width: 100%;
}
.ss-checkout #customer_details .col-1,
.ss-checkout #customer_details .col-2 {
  float: none;
  width: 100%;
  max-width: none;
  padding: 0;
}
.ss-checkout .col2-set::after,
.ss-checkout .clear { display: none; }
.ss-checkout h3 {
  font-family: var(--font-display);
  font-size: 1.35rem;
  color: var(--ss-plum);
  margin: 0 0 20px;
  font-weight: 400;
}
.ss-checkout .woocommerce-billing-fields__field-wrapper,
.ss-checkout .woocommerce-shipping-fields__field-wrapper,
.ss-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
}
.ss-checkout .form-row {
  margin: 0;
  padding: 0;
  width: auto;
  float: none;
}
.ss-checkout .form-row-wide,
.ss-checkout .form-row-first.form-row-wide { grid-column: 1 / -1; }
.ss-checkout .form-row-first { grid-column: 1; }
.ss-checkout .form-row-last { grid-column: 2; }
@media (max-width: 639px) {
  .ss-checkout .woocommerce-billing-fields__field-wrapper,
  .ss-checkout .woocommerce-shipping-fields__field-wrapper,
  .ss-checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
  .ss-checkout .form-row-first,
  .ss-checkout .form-row-last,
  .ss-checkout .form-row-wide { grid-column: 1; }
}
.ss-checkout label {
  display: block;
  margin: 0 0 6px;
  font-size: .82rem;
  letter-spacing: .02em;
  color: var(--ss-plum-soft);
}
.ss-checkout .required { color: var(--ss-pink-deep); text-decoration: none; }
.ss-checkout .form-row input.input-text,
.ss-checkout .form-row textarea,
.ss-checkout .form-row select,
.ss-checkout .select2-container .select2-selection--single {
  width: 100%;
  background: var(--ss-bg);
  border: 1px solid var(--ss-pink-border);
  border-radius: 14px;
  padding: 12px 14px;
  color: var(--ss-plum);
  min-height: 48px;
  box-shadow: none;
}
.ss-checkout .select2-container { width: 100% !important; }
.ss-checkout .select2-container .select2-selection--single {
  height: 48px;
  display: flex;
  align-items: center;
  padding: 0 8px;
}
.ss-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-results__option {
  font-family: var(--font-body);
}
.ss-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--ss-plum);
  line-height: 48px;
  padding: 0 12px;
}
.ss-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px;
}
.ss-checkout .form-row input.input-text:focus,
.ss-checkout .form-row textarea:focus,
.ss-checkout .form-row select:focus {
  outline: 2px solid var(--ss-pink);
  border-color: var(--ss-pink);
}
.ss-checkout .woocommerce-invalid input.input-text,
.ss-checkout .woocommerce-invalid select {
  border-color: #E8749C;
}
.ss-checkout .woocommerce-additional-fields { margin-top: 8px; }
.ss-checkout #ship-to-different-address {
  font-size: 1rem;
  margin-bottom: 12px;
}
.ss-checkout #ship-to-different-address label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 1rem;
  color: var(--ss-plum);
  cursor: pointer;
}
.ss-checkout .woocommerce-account-fields { margin-top: 16px; }
.ss-checkout__summary h3 { margin-bottom: 8px; }
.ss-checkout .woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 20px;
  background: transparent;
  border: 0;
}
.ss-checkout .woocommerce-checkout-review-order-table th,
.ss-checkout .woocommerce-checkout-review-order-table td {
  padding: 12px 0;
  border-bottom: 1px solid var(--ss-pink-border);
  text-align: left;
  color: var(--ss-plum);
  vertical-align: top;
}
.ss-checkout .woocommerce-checkout-review-order-table td { text-align: right; }
.ss-checkout .woocommerce-checkout-review-order-table tfoot th { font-weight: 400; color: var(--ss-plum-soft); }
.ss-checkout .woocommerce-checkout-review-order-table .order-total th,
.ss-checkout .woocommerce-checkout-review-order-table .order-total td {
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: var(--ss-plum);
  border-bottom: 0;
  padding-top: 16px;
}
.ss-checkout #payment { margin: 0; }
.ss-checkout .wc_payment_methods {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ss-checkout .wc_payment_method {
  background: var(--ss-bg);
  border: 1px solid var(--ss-pink-border);
  border-radius: 16px;
  padding: 12px 14px;
}
.ss-checkout .wc_payment_method label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 1rem;
  color: var(--ss-plum);
  cursor: pointer;
}
.ss-checkout .payment_box {
  margin: 10px 0 0;
  padding: 10px 0 0;
  font-size: .88rem;
  color: var(--ss-plum-soft);
  line-height: 1.45;
  border-top: 1px dashed var(--ss-pink-border);
}
.ss-checkout .woocommerce-terms-and-conditions-wrapper,
.ss-checkout .ssc-digital-consent {
  margin: 12px 0 0;
  font-size: .9rem;
  line-height: 1.5;
  color: var(--ss-plum-soft);
}
.ss-checkout .woocommerce-terms-and-conditions-wrapper label,
.ss-checkout .ssc-digital-consent label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}
.ss-checkout .ssc-digital-consent span { color: var(--ss-plum); font-size: 0.9rem; line-height: 1.45; }
.ss-checkout #place_order {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  background: var(--ss-pink-deep) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 16px 24px !important;
  font-family: var(--font-display);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 400 !important;
  box-shadow: 0 10px 24px rgba(200,92,132,.35);
  cursor: pointer;
}
.ss-checkout #place_order:hover { background: var(--ss-pink-hover) !important; }
body.woocommerce-checkout .select2-dropdown { z-index: 90; }
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle {
  margin-bottom: 16px;
}
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.woocommerce-form-login {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 20px;
  padding: 16px 20px;
  margin-bottom: 20px;
}
.woocommerce-checkout form.checkout_coupon .form-row { margin: 0; flex: 1; min-width: 180px; }
.woocommerce-checkout form.checkout_coupon .form-row-last { flex: 0 0 auto; min-width: 0; }
.woocommerce-checkout form.checkout_coupon .input-text {
  width: 100%;
  border: 1px solid var(--ss-pink-border);
  border-radius: 999px;
  padding: 10px 16px;
  background: var(--ss-bg);
  color: var(--ss-plum);
}
.woocommerce-checkout form.checkout_coupon .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  border: 2px solid var(--ss-pink-deep) !important;
  background: transparent !important;
  color: var(--ss-pink-deep) !important;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  white-space: nowrap;
  transition: .2s;
}
.woocommerce-checkout form.checkout_coupon .button:hover {
  background: var(--ss-pink-deep) !important;
  color: #fff !important;
}

/* Slide cart — layout z dc-circle */
.dc-slidecart-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .4);
  z-index: 10000;
}
#dc-slidecart {
  position: fixed;
  top: 0;
  right: -100%;
  width: 400px;
  max-width: 90%;
  height: 100vh;
  background: #fff;
  box-shadow: -3px 0 10px rgba(0, 0, 0, .2);
  z-index: 10001;
  transition: right .3s ease-in-out;
}
#dc-slidecart.open { right: 0; }
.dc-slidecart-content {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.dc-slidecart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
}
.dc-slidecart-header h3 {
  margin: 0;
  font-size: 1.2rem;
  font-family: var(--font-display);
  color: var(--ss-plum);
}
.dc-slidecart-close {
  height: 40px;
  width: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  font-size: 1.2rem;
  border: none;
  background: none;
  cursor: pointer;
  color: var(--ss-plum);
}
#dc-slidecart-inner {
  overflow-y: auto;
  flex: 1 1 auto;
  min-height: 0;
  scrollbar-width: auto;
  scrollbar-color: #000 transparent;
}
#dc-slidecart-inner .widget_shopping_cart_content {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: 1fr auto;
}
#dc-products-listing,
.woocommerce-mini-cart.cart_list.product_list_widget {
  list-style: none;
  margin: 0;
  padding: 0 8px 0 0;
  min-height: 0;
  overflow: auto;
}
#dc-products-listing::-webkit-scrollbar { width: 6px; }
#dc-products-listing::-webkit-scrollbar-thumb {
  background-color: #000;
  border-radius: 10px;
  border: 2px solid transparent;
  background-clip: content-box;
}
#dc-slidecart .woocommerce-mini-cart-item,
#dc-slidecart ul.cart_list li {
  padding: 0 !important;
  list-style: none;
  position: relative;
  overflow: visible;
}
#dc-slidecart .woocommerce-mini-cart-item > a.remove:not(.dc-cart-remove) {
  position: absolute;
  left: 8px;
  top: 8px;
  z-index: 2;
}
.dc-cart-product {
  display: flex;
  gap: 15px;
  padding: 15px;
  border-bottom: 1px solid #ddd;
}
.dc-cart-image img {
  width: 70px !important;
  height: 70px !important;
  max-width: 70px !important;
  float: none !important;
  margin: 0 !important;
  object-fit: cover;
  border-radius: 16px;
}
.dc-cart-details {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.dc-cart-title {
  font-weight: 600;
  margin-bottom: 5px;
}
.dc-cart-title a { color: var(--ss-plum); }
.dc-cart-desc {
  font-size: .75em;
  color: #666;
  margin-bottom: 8px;
  text-transform: none;
}
.dc-cart-price-remove {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.dc-cart-remove.remove.remove_from_cart_button {
  background: none !important;
  border: none !important;
  position: static !important;
  flex: 0 0 auto;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  padding: 0;
  font-size: 0;
  line-height: 0;
  box-shadow: none;
  opacity: .45;
}
.dc-cart-remove.remove.remove_from_cart_button:hover {
  opacity: .9;
  background: none !important;
}
.dc-trash-icon {
  width: 14px !important;
  height: 14px !important;
  max-width: 14px !important;
  display: block;
  object-fit: contain;
}
.dc-qty-wrapper {
  display: flex;
  align-items: center;
  border-radius: 15px;
  overflow: hidden;
  width: max-content;
  border: 1px solid var(--ss-pink);
}
#dc-products-listing .dc-qty-btn {
  background-color: var(--ss-pink);
  color: #fff;
  border: none;
  width: 30px !important;
  height: 30px;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 0;
  border-radius: 0 !important;
}
#dc-products-listing .dc-qty-input {
  max-width: 70px;
  width: 70px;
  height: 30px;
  text-align: center !important;
  border: none !important;
  font-size: 14px;
  border-radius: 0 !important;
  -moz-appearance: textfield;
}
.dc-qty-input::-webkit-inner-spin-button,
.dc-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.dc-mini-cart-bottom { padding: 0 15px 15px; }
.woocommerce-mini-cart__total.total {
  margin-top: 15px;
  font-size: 1.5rem;
  font-family: var(--font-display);
  color: var(--ss-plum);
}
.woocommerce-mini-cart__buttons.buttons {
  display: flex;
  flex-direction: column;
  margin: 0;
}
#dc-slidecart .woocommerce-mini-cart__buttons a,
#dc-slidecart .woocommerce-mini-cart__buttons .button,
.woocommerce-mini-cart__buttons.buttons .button.wc-forward {
  padding: 7px;
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  border-radius: 7px;
  margin: 0 0 15px;
  cursor: pointer;
  background: var(--ss-pink);
  color: #fff !important;
  border: none;
}
#dc-slidecart .woocommerce-mini-cart__buttons a.checkout {
  background: var(--ss-plum);
}
.woocommerce-mini-cart__empty-message {
  padding: 10px;
  text-align: center;
}
body.dc-no-scroll,
body.ss-no-scroll { overflow: hidden; }
.ss-circle { position: relative; }

/* Contact page (Gutenberg columns) */
.ss-contact.wp-block-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  align-items: stretch;
  margin: 0;
}
.ss-contact > .wp-block-column {
  flex: 1 1 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0;
  /* Nadpisuje popsute inline flex-basis (np. po migracji, gdy % zostało zjedzone). */
  flex-basis: 100% !important;
  flex-grow: 1 !important;
}
@media (min-width: 900px) {
  .ss-contact > .wp-block-column:first-child {
    flex: 0 0 38% !important;
    flex-basis: 38% !important;
    flex-grow: 0 !important;
    max-width: 38% !important;
    width: 38% !important;
  }
  .ss-contact > .wp-block-column:last-child {
    flex: 1 1 0 !important;
    flex-basis: 0 !important;
    flex-grow: 1 !important;
    max-width: none !important;
    width: auto !important;
    min-width: 0 !important;
  }
}
.ss-contact-card {
  height: 100%;
  background: #fff;
  border: 1px solid var(--ss-pink-border);
  border-radius: 24px;
  padding: 32px 28px 20px;
}
.ss-contact-card > .wp-block-heading:first-child,
.ss-contact-card h2 {
  margin-top: 0;
  font-size: clamp(1.6rem, 3vw, 2rem);
}
.ss-contact-lead {
  margin: 0 0 28px !important;
}
.ss-contact-item {
  margin: 0 0 22px;
}
.ss-contact-item h3,
.ss-page-content .ss-contact-item h3 {
  margin: 0 0 6px;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ss-pink-deep);
}
.ss-contact-item p { margin: 0 0 0.2rem; color: var(--ss-plum); }
.ss-contact .dccfb-wrap {
  width: 100%;
  max-width: 100%;
  height: 100%;
  box-sizing: border-box;
  border-color: var(--ss-pink-border);
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(200, 92, 132, .1);
}
.ss-contact .dccfb-heading {
  font-family: var(--font-display);
  font-weight: 400;
  margin-bottom: 20px;
}
.ss-contact .dccfb-field input[type="text"],
.ss-contact .dccfb-field input[type="email"],
.ss-contact .dccfb-field textarea {
  font-family: var(--font-body);
  padding: 12px 16px;
}
.ss-contact .dccfb-submit-btn {
  font-family: var(--font-display);
  letter-spacing: .12em;
  min-height: 48px;
  padding: 0 28px;
}
