/* ============================================================
   PULSUN — единая система внутренних страниц
   Главная страница намеренно исключена.
   ============================================================ */

.theme-pulsun:not(.is-home) {
  --inner-bg: #f8f2e9;
  --inner-surface: #fffaf4;
  --inner-surface-soft: #f2e6d8;
  --inner-ink: #342216;
  --inner-muted: #756252;
  --inner-accent: #ad762f;
  --inner-accent-hover: #915e22;
  --inner-border: #e5d6c4;
  color: var(--inner-ink);
  background: var(--inner-bg);
}

.theme-pulsun:not(.is-home) .main {
  background: var(--inner-bg);
}

.theme-pulsun:not(.is-home) .catalog-page,
.theme-pulsun:not(.is-home) .editorial-page,
.theme-pulsun:not(.is-home) .content-page,
.theme-pulsun:not(.is-home) .about-brand,
.theme-pulsun:not(.is-home) .pulsun-contacts {
  background-color: var(--inner-bg);
}

/* Заголовки страниц и крупных секций */
.theme-pulsun:not(.is-home) .main h1,
.theme-pulsun:not(.is-home) .catalog-title,
.theme-pulsun:not(.is-home) .catalog-heading h1,
.theme-pulsun:not(.is-home) .pdp-intro h1,
.theme-pulsun:not(.is-home) .editorial-heading h1,
.theme-pulsun:not(.is-home) .editorial-article__header h1,
.theme-pulsun:not(.is-home) .content-page__article > h1,
.theme-pulsun:not(.is-home) .contacts-hero h1,
.theme-pulsun:not(.is-home) .about-brand__intro h1,
.theme-pulsun:not(.is-home) .commerce-heading h1,
.theme-pulsun:not(.is-home) .checkout-page > h1,
.theme-pulsun:not(.is-home) .cabinet > h1,
.theme-pulsun:not(.is-home) .auth-header h1,
.theme-pulsun:not(.is-home) .success-hero h1 {
  color: var(--inner-ink);
  font-family: var(--font-heading);
  font-weight: 500;
  letter-spacing: -.03em;
}

.theme-pulsun:not(.is-home) .main h2,
.theme-pulsun:not(.is-home) .content-page__body h2,
.theme-pulsun:not(.is-home) .contacts-copy h2,
.theme-pulsun:not(.is-home) .contacts-location h2,
.theme-pulsun:not(.is-home) .about-brand__story h2,
.theme-pulsun:not(.is-home) .about-brand__rituals h2,
.theme-pulsun:not(.is-home) .about-brand__section-head h2,
.theme-pulsun:not(.is-home) .about-brand__cta h2,
.theme-pulsun:not(.is-home) .editorial-related__heading h2,
.theme-pulsun:not(.is-home) .editorial-promo h2,
.theme-pulsun:not(.is-home) .editorial-article__aside h2,
.theme-pulsun:not(.is-home) .pdp-section-heading h2,
.theme-pulsun:not(.is-home) .checkout-block h2,
.theme-pulsun:not(.is-home) .cabinet-block h2,
.theme-pulsun:not(.is-home) .club-howto h2,
.theme-pulsun:not(.is-home) .club-reflink-block h2,
.theme-pulsun:not(.is-home) .club-invited-block h2,
.theme-pulsun:not(.is-home) .club-bonuses-block h2 {
  color: var(--inner-ink);
  font-family: var(--font-heading);
  font-weight: 500;
  letter-spacing: -.025em;
}

.theme-pulsun:not(.is-home) .main h3,
.theme-pulsun:not(.is-home) .main h4,
.theme-pulsun:not(.is-home) .main h5,
.theme-pulsun:not(.is-home) .main h6 {
  color: var(--inner-ink);
  font-family: var(--font-body);
  font-weight: 600;
  letter-spacing: -.015em;
}

.theme-pulsun:not(.is-home) .content-page__body h3,
.theme-pulsun:not(.is-home) .editorial-article__content h3 {
  font-family: var(--font-heading);
  font-weight: 500;
  letter-spacing: -.02em;
}

.theme-pulsun:not(.is-home) .main strong,
.theme-pulsun:not(.is-home) .main b {
  font-weight: 600;
}

/* Названия карточек и основные значения */
.theme-pulsun:not(.is-home) .product-card__title,
.theme-pulsun:not(.is-home) .editorial-card__title,
.theme-pulsun:not(.is-home) .cart-item-name,
.theme-pulsun:not(.is-home) .summary-name,
.theme-pulsun:not(.is-home) .choice-name,
.theme-pulsun:not(.is-home) .contacts-card strong,
.theme-pulsun:not(.is-home) .cabinet-news-title,
.theme-pulsun:not(.is-home) .cabinet-order-number,
.theme-pulsun:not(.is-home) .success-item-name,
.theme-pulsun:not(.is-home) .auth-block-title,
.theme-pulsun:not(.is-home) .level-item-name,
.theme-pulsun:not(.is-home) .about-brand__values h3 {
  color: var(--inner-ink);
  font-family: var(--font-body);
  font-weight: 600;
  letter-spacing: -.015em;
}

.theme-pulsun:not(.is-home) .product-card__price-current,
.theme-pulsun:not(.is-home) .pdp-price strong,
.theme-pulsun:not(.is-home) .cabinet-stat-num,
.theme-pulsun:not(.is-home) .club-stat-num {
  color: var(--inner-ink);
  font-family: var(--font-body);
  font-weight: 600;
  letter-spacing: -.02em;
}

.theme-pulsun:not(.is-home) .about-brand__facts strong,
.theme-pulsun:not(.is-home) .success-total,
.theme-pulsun:not(.is-home) .success-row-total,
.theme-pulsun:not(.is-home) .cart-item-sum,
.theme-pulsun:not(.is-home) .summary-price {
  font-family: var(--font-body);
  font-weight: 600;
}

/* Основной текст */
.theme-pulsun:not(.is-home) .main p,
.theme-pulsun:not(.is-home) .content-page__body,
.theme-pulsun:not(.is-home) .editorial-article__content,
.theme-pulsun:not(.is-home) .editorial-card__excerpt,
.theme-pulsun:not(.is-home) .catalog-heading__lead,
.theme-pulsun:not(.is-home) .contacts-copy p,
.theme-pulsun:not(.is-home) .about-brand__story-copy p,
.theme-pulsun:not(.is-home) .commerce-heading p,
.theme-pulsun:not(.is-home) .auth-sub,
.theme-pulsun:not(.is-home) .auth-block-desc {
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--inner-muted);
}

/* Светлые поверхности вместо случайного чистого белого */
.theme-pulsun:not(.is-home) .product-card,
.theme-pulsun:not(.is-home) .editorial-card,
.theme-pulsun:not(.is-home) .editorial-article__aside,
.theme-pulsun:not(.is-home) .content-page__article,
.theme-pulsun:not(.is-home) .contacts-card,
.theme-pulsun:not(.is-home) .contacts-form-card,
.theme-pulsun:not(.is-home) .cart-item,
.theme-pulsun:not(.is-home) .checkout-block,
.theme-pulsun:not(.is-home) .cabinet-block,
.theme-pulsun:not(.is-home) .account-order,
.theme-pulsun:not(.is-home) .account-order-detail,
.theme-pulsun:not(.is-home) .auth-card,
.theme-pulsun:not(.is-home) .success-card,
.theme-pulsun:not(.is-home) .success-info,
.theme-pulsun:not(.is-home) .success-coupon,
.theme-pulsun:not(.is-home) .club-howto,
.theme-pulsun:not(.is-home) .club-reflink-block,
.theme-pulsun:not(.is-home) .club-invited-block,
.theme-pulsun:not(.is-home) .club-bonuses-block,
.theme-pulsun:not(.is-home) .club-disabled {
  border-color: var(--inner-border);
  background-color: var(--inner-surface);
}

.theme-pulsun:not(.is-home) .catalog-chip,
.theme-pulsun:not(.is-home) .editorial-tab,
.theme-pulsun:not(.is-home) .choice-item,
.theme-pulsun:not(.is-home) .level-item,
.theme-pulsun:not(.is-home) .cabinet-stat,
.theme-pulsun:not(.is-home) .auth-block,
.theme-pulsun:not(.is-home) .club-step {
  border-color: var(--inner-border);
  background-color: var(--inner-surface-soft);
}

/* Формы */
.theme-pulsun:not(.is-home) .main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.theme-pulsun:not(.is-home) .main select,
.theme-pulsun:not(.is-home) .main textarea {
  border-color: var(--inner-border);
  background: #fffcf8;
  color: var(--inner-ink);
  font-family: var(--font-body);
  font-weight: 400;
}

.theme-pulsun:not(.is-home) .main input:focus,
.theme-pulsun:not(.is-home) .main select:focus,
.theme-pulsun:not(.is-home) .main textarea:focus {
  border-color: var(--inner-accent);
  box-shadow: 0 0 0 3px rgba(173, 118, 47, .12);
  outline: none;
}

/* Кнопки, вкладки и фильтры */
.theme-pulsun:not(.is-home) .main .btn,
.theme-pulsun:not(.is-home) .main button,
.theme-pulsun:not(.is-home) .editorial-button,
.theme-pulsun:not(.is-home) .editorial-back,
.theme-pulsun:not(.is-home) .catalog-chip,
.theme-pulsun:not(.is-home) .editorial-tab,
.theme-pulsun:not(.is-home) .cabinet-tab,
.theme-pulsun:not(.is-home) .customer-button {
  font-family: var(--font-body);
  font-weight: 600;
}

.theme-pulsun:not(.is-home) .main .btn,
.theme-pulsun:not(.is-home) .checkout-submit,
.theme-pulsun:not(.is-home) .auth-btn-primary,
.theme-pulsun:not(.is-home) .auth-btn-secondary,
.theme-pulsun:not(.is-home) .customer-button {
  background: var(--inner-ink);
  color: #fffaf4;
}

.theme-pulsun:not(.is-home) .main .btn:hover,
.theme-pulsun:not(.is-home) .checkout-submit:hover,
.theme-pulsun:not(.is-home) .customer-button:hover {
  background: var(--inner-accent-hover);
  color: #fff;
}

.theme-pulsun:not(.is-home) .catalog-chip.is-active,
.theme-pulsun:not(.is-home) .editorial-tab.is-active,
.theme-pulsun:not(.is-home) .cabinet-tab.active {
  border-color: var(--inner-ink);
  background: var(--inner-ink);
  color: #fffaf4;
}

/* Метки, хлебные крошки и ссылки */
.theme-pulsun:not(.is-home) .catalog-breadcrumbs,
.theme-pulsun:not(.is-home) .editorial-crumbs,
.theme-pulsun:not(.is-home) .customer-crumbs,
.theme-pulsun:not(.is-home) .content-page__crumbs,
.theme-pulsun:not(.is-home) .main > .breadcrumbs {
  color: #8f7a68;
  font-family: var(--font-body);
  font-weight: 400;
}

.theme-pulsun:not(.is-home) .catalog-breadcrumbs a,
.theme-pulsun:not(.is-home) .editorial-crumbs a,
.theme-pulsun:not(.is-home) .customer-crumbs a,
.theme-pulsun:not(.is-home) .content-page__crumbs a,
.theme-pulsun:not(.is-home) .cart-continue,
.theme-pulsun:not(.is-home) .editorial-back,
.theme-pulsun:not(.is-home) .pdp-section-heading a {
  color: #755333;
}

.theme-pulsun:not(.is-home) .editorial-eyebrow,
.theme-pulsun:not(.is-home) .commerce-eyebrow,
.theme-pulsun:not(.is-home) .customer-eyebrow,
.theme-pulsun:not(.is-home) .pdp-eyebrow,
.theme-pulsun:not(.is-home) .catalog-heading__eyebrow {
  color: var(--inner-accent);
  font-family: var(--font-body);
  font-weight: 600;
}

/* Тёмные коммерческие блоки остаются контрастными и едиными */
.theme-pulsun:not(.is-home) .cabinet-level-card,
.theme-pulsun:not(.is-home) .club-stat-accent {
  background: #302016;
}

@media (max-width: 600px) {
  .theme-pulsun:not(.is-home) .main h1 {
    letter-spacing: -.025em;
  }

  .theme-pulsun:not(.is-home) .product-card,
  .theme-pulsun:not(.is-home) .editorial-card,
  .theme-pulsun:not(.is-home) .cart-item,
  .theme-pulsun:not(.is-home) .checkout-block,
  .theme-pulsun:not(.is-home) .cabinet-block {
    border-radius: 16px;
  }
}

/* Product bottles: use the available height without cropping the package. */
.theme-pulsun .bundle-flavor__image,
.theme-pulsun .product-card__img,
.theme-pulsun .product-image,
.theme-pulsun .about-brand__product > div,
.theme-pulsun .cart-item-image {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.theme-pulsun .bundle-flavor__image img,
.theme-pulsun .product-card__img img,
.theme-pulsun .product-image img,
.theme-pulsun .about-brand__product img,
.theme-pulsun .cart-item-image img {
  width: auto;
  max-width: calc(100% - 12px);
  height: calc(100% - 12px);
  max-height: calc(100% - 12px);
  padding: 0;
  object-fit: contain;
  object-position: center;
  transform: none;
  transform-origin: center;
  transition: transform 220ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .theme-pulsun .bundle-flavor:hover .bundle-flavor__image img,
  .theme-pulsun .product-card__img:hover img,
  .theme-pulsun .product-image:hover img,
  .theme-pulsun .about-brand__product:hover img,
  .theme-pulsun .cart-item-image:hover img {
    transform: scale(1.045);
  }
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .theme-pulsun .bundle-flavor__image img,
  .theme-pulsun .product-card__img img,
  .theme-pulsun .product-image img,
  .theme-pulsun .about-brand__product img,
  .theme-pulsun .cart-item-image img {
    transform: none !important;
    transition: none;
  }
}

.has-product-zoom { position: relative; }

.product-image-zoom-trigger {
  position: absolute;
  z-index: 4;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(64, 41, 26, .13);
  border-radius: 50%;
  background: rgba(255, 250, 244, .92);
  color: #4d3525;
  box-shadow: 0 5px 15px rgba(57, 35, 21, .09);
  cursor: zoom-in;
  transition: transform .18s ease, background .18s ease;
}

/* Catalog actions: favorite above, zoom below on the same right edge. */
.product-card__img .product-image-zoom-trigger {
  top: 56px;
  right: 12px;
}

.product-image-zoom-trigger:hover { background: #fff; transform: scale(1.06); }
.product-image-zoom-trigger svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }

.product-image-viewer {
  width: min(92vw, 760px);
  max-width: 760px;
  max-height: 94vh;
  margin: auto;
  padding: 42px 24px 20px;
  overflow: hidden;
  border: 1px solid #eadaca;
  border-radius: 24px;
  background: #fffaf4;
  color: #342216;
  box-shadow: 0 28px 80px rgba(39, 24, 15, .28);
}

.product-image-viewer::backdrop {
  background: rgba(32, 20, 13, .72);
  backdrop-filter: blur(3px);
}

.product-image-viewer figure {
  height: min(68vh, 650px);
  margin: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 10px;
}

.product-image-viewer__actions {
  min-height: 48px;
  margin-top: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.product-image-viewer__cart {
  min-height: 44px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  background: #342216;
  color: #fffaf4;
  font: 600 13px/1 var(--font-body);
  cursor: pointer;
}

.product-image-viewer__cart:hover { background: #a8743d; }
.product-image-viewer__cart:disabled { cursor: wait; opacity: .65; }
.product-image-viewer__actions span { color: #667b50; font-size: 12px; }

.product-image-viewer figure img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  object-position: center;
}

.product-image-viewer figcaption {
  min-height: 20px;
  overflow: hidden;
  color: #6e5949;
  font: 500 13px/1.4 var(--font-body);
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-image-viewer__close {
  position: absolute;
  top: 8px;
  right: 12px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f2e7db;
  color: #4d3525;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 600px) {
  .product-image-zoom-trigger { top: 7px; right: 7px; width: 32px; height: 32px; }
  .product-card__img .product-image-zoom-trigger { top: 52px; right: 12px; }
  .product-image-viewer {
    width: calc(100vw - 24px);
    padding: 42px 14px 16px;
    border-radius: 18px;
  }

  .product-image-viewer figure { height: min(66vh, 560px); }
  .product-image-viewer__actions { min-height: 44px; flex-wrap: wrap; }
  .product-image-viewer__cart { width: 100%; }
}


/* About page follows the shared internal-page design system. */
.theme-pulsun:not(.is-home) .about-brand { padding-top:10px; background:var(--inner-bg); }
.theme-pulsun:not(.is-home) .about-brand__crumbs { padding:12px 0 18px; }
.theme-pulsun:not(.is-home) .about-brand__hero { min-height:540px; gap:48px; }
.theme-pulsun:not(.is-home) .about-brand__intro h1 em { color:var(--inner-accent); font-style:normal; font-weight:inherit; }
.theme-pulsun:not(.is-home) .about-brand__intro > p { color:var(--inner-muted); font-family:var(--font-body); font-weight:400; }
.theme-pulsun:not(.is-home) .about-brand__visual { min-height:500px; overflow:hidden; border:1px solid var(--inner-border); border-radius:30px; background:var(--inner-surface-soft); box-shadow:0 18px 46px rgba(57,35,21,.08); }
.theme-pulsun:not(.is-home) .about-brand__hero-image { border-radius:29px; }
.theme-pulsun:not(.is-home) .about-brand__facts { margin:44px 0 90px; gap:12px; border:0; }
.theme-pulsun:not(.is-home) .about-brand__facts > div { min-height:132px; padding:24px 28px; border:1px solid var(--inner-border); border-radius:20px; background:var(--inner-surface); }
.theme-pulsun:not(.is-home) .about-brand__facts > div + div { border-left:1px solid var(--inner-border); }
.theme-pulsun:not(.is-home) .about-brand__facts strong { font-family:var(--font-body); font-weight:600; }
.theme-pulsun:not(.is-home) .about-brand__story { gap:64px; margin-bottom:80px; }
.theme-pulsun:not(.is-home) .about-brand__story-copy { padding-top:24px; }
.theme-pulsun:not(.is-home) .about-brand__values { margin-bottom:90px; }
.theme-pulsun:not(.is-home) .about-brand__values article,
.theme-pulsun:not(.is-home) .about-brand__values article:nth-child(2),
.theme-pulsun:not(.is-home) .about-brand__rituals,
.theme-pulsun:not(.is-home) .about-brand__ritual-grid > div,
.theme-pulsun:not(.is-home) .about-brand__product,
.theme-pulsun:not(.is-home) .about-brand__cta { border-color:var(--inner-border); background:var(--inner-surface); color:var(--inner-ink); }
.theme-pulsun:not(.is-home) .about-brand__rituals,
.theme-pulsun:not(.is-home) .about-brand__cta { box-shadow:0 18px 46px rgba(57,35,21,.06); }
.theme-pulsun:not(.is-home) .about-brand__values h3,
.theme-pulsun:not(.is-home) .about-brand__ritual-grid strong,
.theme-pulsun:not(.is-home) .about-brand__product strong { font-family:var(--font-body); font-weight:600; }
@media (max-width:900px) { .theme-pulsun:not(.is-home) .about-brand__hero { min-height:auto; } }
@media (max-width:600px) {
  .theme-pulsun:not(.is-home) .about-brand { padding-top:4px; }
  .theme-pulsun:not(.is-home) .about-brand__crumbs { padding:10px 0 16px; }
  .theme-pulsun:not(.is-home) .about-brand__visual { min-height:390px; border-radius:24px; }
  .theme-pulsun:not(.is-home) .about-brand__facts { gap:9px; }
  .theme-pulsun:not(.is-home) .about-brand__facts > div + div { border-top:1px solid var(--inner-border); border-left:1px solid var(--inner-border); }
}


/* PULSUN 404 */
.pulsun-404 {
  width: min(1180px, calc(100% - 40px));
  min-height: calc(100vh - 176px);
  margin: 0 auto;
  padding: clamp(64px, 9vw, 120px) 0 48px;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(440px, 1.12fr);
  grid-template-areas: "copy visual" "hint hint";
  align-items: center;
  column-gap: clamp(38px, 7vw, 96px);
}
.pulsun-404__copy { grid-area: copy; position: relative; z-index: 2; }
.pulsun-404__eyebrow {
  display: inline-flex;
  margin-bottom: 18px;
  color: var(--inner-accent);
  font: 600 12px/1 var(--font-body);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.theme-pulsun:not(.is-home) .pulsun-404 h1 {
  max-width: 660px;
  margin: 0;
  font: 500 clamp(44px, 5.3vw, 76px)/.98 var(--font-heading);
  letter-spacing: -.055em;
  text-wrap: balance;
}
.theme-pulsun:not(.is-home) .pulsun-404__copy p {
  max-width: 540px;
  margin: 26px 0 0;
  color: var(--inner-muted);
  font: 400 17px/1.65 var(--font-body);
}
.pulsun-404__actions { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 12px; }
.pulsun-404__primary,
.pulsun-404__secondary {
  min-height: 52px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--inner-ink);
  border-radius: 999px;
  font: 600 14px/1 var(--font-body);
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, color .18s ease;
}
.pulsun-404__primary { background: var(--inner-ink); color: #fffaf4; }
.pulsun-404__secondary { background: transparent; color: var(--inner-ink); }
.pulsun-404__primary:hover,
.pulsun-404__secondary:hover { transform: translateY(-2px); }
.pulsun-404__primary:hover { background: var(--inner-accent-hover); border-color: var(--inner-accent-hover); }
.pulsun-404__secondary:hover { background: var(--inner-surface-soft); }

.pulsun-404__visual {
  grid-area: visual;
  min-height: 440px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(6px, 1.6vw, 24px);
  overflow: hidden;
  border: 1px solid var(--inner-border);
  border-radius: 38px;
  background:
    radial-gradient(circle at 76% 18%, rgba(173,118,47,.16), transparent 26%),
    radial-gradient(circle at 20% 78%, rgba(113,135,86,.18), transparent 30%),
    var(--inner-surface);
  box-shadow: 0 26px 70px rgba(57,35,21,.09);
}
.pulsun-404__number {
  color: #3a281d;
  font: 500 clamp(118px, 15vw, 216px)/1 var(--font-heading);
  letter-spacing: -.08em;
}
.pulsun-404__bottle {
  width: clamp(94px, 10vw, 132px);
  height: clamp(244px, 28vw, 326px);
  position: relative;
  flex: 0 0 auto;
  border: 3px solid #38261b;
  border-radius: 26px 26px 38px 38px;
  background: linear-gradient(90deg, #9c5729 0%, #c67a39 26%, #e0a457 52%, #b9662f 78%, #82451f 100%);
  box-shadow: inset 10px 0 18px rgba(255,255,255,.18), 0 22px 34px rgba(57,35,21,.19);
  transform: rotate(7deg);
}
.pulsun-404__neck {
  width: 52%;
  height: 36px;
  position: absolute;
  top: -35px;
  left: 24%;
  border: 3px solid #38261b;
  border-bottom: 0;
  background: #a85d2c;
}
.pulsun-404__cap {
  width: 62%;
  height: 25px;
  position: absolute;
  top: -59px;
  left: 19%;
  border: 3px solid #38261b;
  border-radius: 6px 6px 3px 3px;
  background: #38261b;
}
.pulsun-404__label {
  position: absolute;
  inset: 36% 9% auto;
  padding: 22px 4px 18px;
  border-radius: 7px;
  background: #f7ecdc;
  color: #302016;
  font: 700 clamp(13px, 1.3vw, 18px)/1 var(--font-body);
  letter-spacing: .06em;
  text-align: center;
}
.pulsun-404__label small {
  margin-top: 10px;
  display: block;
  color: #8b6f59;
  font: 500 9px/1.2 var(--font-body);
  letter-spacing: .03em;
}
.pulsun-404__drop {
  width: 18px;
  height: 24px;
  position: absolute;
  border-radius: 65% 35% 65% 35%;
  background: #c57a39;
  transform: rotate(45deg);
}
.pulsun-404__drop--one { top: 22%; right: 13%; }
.pulsun-404__drop--two { width: 11px; height: 15px; right: 18%; bottom: 18%; opacity: .6; }

.pulsun-404__hint {
  grid-area: hint;
  margin-top: 42px;
  padding-top: 24px;
  display: flex;
  align-items: center;
  gap: 24px;
  border-top: 1px solid var(--inner-border);
  color: var(--inner-muted);
  font: 500 13px/1.4 var(--font-body);
}
.pulsun-404__hint a { color: var(--inner-ink); text-decoration: none; border-bottom: 1px solid #cdb89f; }
.pulsun-404__hint a:hover { color: var(--inner-accent-hover); }

@media (max-width: 850px) {
  .pulsun-404 {
    min-height: auto;
    padding-top: 44px;
    grid-template-columns: 1fr;
    grid-template-areas: "visual" "copy" "hint";
    row-gap: 34px;
  }
  .pulsun-404__visual { min-height: 330px; }
  .pulsun-404__copy { text-align: center; }
  .theme-pulsun:not(.is-home) .pulsun-404__copy p { margin-right: auto; margin-left: auto; }
  .pulsun-404__actions, .pulsun-404__hint { justify-content: center; }
}
@media (max-width: 520px) {
  .pulsun-404 { width: min(100% - 28px, 1180px); padding-top: 26px; row-gap: 28px; }
  .pulsun-404__visual { min-height: 270px; border-radius: 24px; gap: 4px; }
  .pulsun-404__number { font-size: clamp(82px, 29vw, 132px); }
  .pulsun-404__bottle { width: 72px; height: 190px; border-radius: 18px 18px 26px 26px; }
  .pulsun-404__neck { height: 25px; top: -24px; }
  .pulsun-404__cap { height: 18px; top: -41px; }
  .pulsun-404__label { padding: 14px 2px 12px; font-size: 10px; }
  .pulsun-404__label small { font-size: 7px; }
  .theme-pulsun:not(.is-home) .pulsun-404 h1 { font-size: clamp(39px, 12vw, 54px); }
  .theme-pulsun:not(.is-home) .pulsun-404__copy p { margin-top: 20px; font-size: 15px; }
  .pulsun-404__actions { margin-top: 26px; }
  .pulsun-404__primary, .pulsun-404__secondary { width: 100%; }
  .pulsun-404__hint { margin-top: 8px; gap: 14px; flex-wrap: wrap; }
  .pulsun-404__hint span { width: 100%; }
}


/* Unified product controls */
.theme-pulsun .shop-qty{display:inline-grid;grid-template-columns:40px 46px 40px;align-items:center;width:auto;height:44px;overflow:hidden;border:1px solid #dfd3c7;border-radius:999px;background:#fff}
.theme-pulsun .shop-qty button{display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;background:transparent;color:#69472d;font:500 20px/1 var(--font-body);cursor:pointer;transition:background .16s,color .16s}
.theme-pulsun .shop-qty button:hover{background:#f5ede3;color:#8f581e}
.theme-pulsun .shop-qty input,.theme-pulsun .shop-qty output{display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;outline:0;background:transparent;color:var(--text-primary);text-align:center;font:600 14px/1 var(--font-body);-moz-appearance:textfield}
.theme-pulsun .shop-qty input::-webkit-inner-spin-button,.theme-pulsun .shop-qty input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
.theme-pulsun .pdp-quantity .shop-qty{grid-template-columns:42px 48px 42px;height:52px}
.product-image-viewer__favorite{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 17px;border:1px solid #d9cbbb;border-radius:999px;background:#fff;color:#4a3424;cursor:pointer}
.product-image-viewer__favorite svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.product-image-viewer__favorite.is-active svg,.product-image-viewer__favorite.active svg{fill:#a86c25;color:#a86c25}
@media(max-width:600px){.pdp-gallery-actions{top:12px;right:12px}.pdp-gallery-action{width:38px;height:38px}.pdp-lightbox__actions{align-items:stretch;flex-direction:column}.pdp-lightbox__status{text-align:center}}


/* Cart image zoom corner position */
.theme-pulsun .cart-item-image .product-image-zoom-trigger {
  top: 4px;
  right: 4px;
}
