:root {
  color-scheme: light;
  --pc-bg: #f5f6f8;
  --pc-panel: #fff;
  --pc-card: #fff;
  --pc-card-hi: #f0f5ff;
  --pc-line: #e1e6ee;
  --pc-line-hi: #c6d2e1;
  --pc-fg: #182438;
  --pc-text: #24344a;
  --pc-text-2: #465873;
  --pc-muted: #5b6b81;
  --pc-dim: #5b6b81;
  --pc-accent: #215bb7;
  --pc-lime: #d9f356;
  --pc-accent-hi: #164688;
  --pc-accent-fg: #fff;
  --pc-ink: #fff;
  --pc-ok: #207646;
  --pc-danger: #a62839;
  --pc-kind-default: #215bb7;
  --pc-kind-gift: #875200;
  --pc-kind-delivery: #117261;
  --pc-head-bg: #fff;
  --pc-backdrop: rgb(16 29 50 / 60%);
  --pc-shadow: 0 18px 48px rgb(20 44 76 / 20%);
  --pc-shadow-s: 0 4px 18px rgb(20 44 76 / 9%);
  --pc-radius: 12px;
  --pc-radius-sm: 8px;
  --pc-radius-lg: 16px;
  --pc-wrap: 1240px;
  --pc-font: system-ui, "Segoe UI", Arial, sans-serif;
}

.pc-page :where(h1, h2, h3, a, p) { overflow-wrap: anywhere; }
/* Защита от всплытия эмодзи-картинок на всю ширину контента. */
.pc-page img.emoji {
  display: inline-block;
  width: 1em;
  height: 1em;
  max-width: none;
  margin: 0 .05em 0 .1em;
  vertical-align: -0.1em;
}
.pc-page .pc-btn { min-height: 44px; text-align: center; }
.pc-page .pc-btn:hover { color: var(--pc-accent-fg); }
.pc-page a.pc-modal__go[data-pc-next] { background: var(--pc-card-hi); color: var(--pc-accent-hi); }
.pc-page a.pc-modal__go[data-pc-next]:hover { border-color: var(--pc-accent); color: var(--pc-accent-hi); }

.pc-head { position: relative; background: #fff; box-shadow: var(--pc-shadow-s); }
.pc-head__row {
  display: grid;
  grid-template-columns: auto minmax(0, 640px) auto;
  gap: clamp(14px, 3vw, 42px);
  min-height: 72px;
}
.pc-head .pc-head__brand {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  max-width: none;
  color: var(--pc-fg);
  font-size: clamp(20px, 2.25vw, 27px);
  font-weight: 850;
  letter-spacing: -.055em;
  white-space: nowrap;
}
.pc-head__mark {
  display: grid;
  place-items: center;
  width: 33px;
  height: 33px;
  border-radius: 10px;
  background: var(--pc-lime);
  color: #172c38;
  font-size: 21px;
}
.pc-head__domain { color: var(--pc-accent); }
.pc-head__catalog { justify-self: end; font-weight: 650; white-space: nowrap; }
.pc-head .pc-head__search {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  padding: 3px 4px 3px 12px;
  border: 1px solid var(--pc-line-hi);
  border-radius: 9px;
  background: var(--pc-bg);
  color: var(--pc-muted);
}
.pc-head .pc-head__search:has(.pc-search__input:focus) {
  border-color: var(--pc-accent);
  box-shadow: 0 0 0 1px var(--pc-accent);
}
.pc-head__search svg { flex: none; }
.pc-head .pc-head__search .pc-search__input {
  min-width: 0;
  min-height: 44px;
  padding: 4px 0;
  border: 0;
  background: transparent;
  font: 16px var(--pc-font);
}
.pc-head__search .pc-search__input:focus-visible { outline: none; }
.pc-head__search .pc-search__item { min-height: 44px; }
.pc-head__search .pc-btn { padding-inline: 14px; }
.pc-head__bar { border-top: 1px solid var(--pc-line); }
.pc-head .pc-head__nav {
  display: flex;
  align-items: center;
  gap: clamp(12px, 3vw, 36px);
  min-height: 52px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.pc-head .pc-head__nav a {
  display: flex;
  align-items: center;
  flex: none;
  min-height: 44px;
  color: var(--pc-text);
  white-space: nowrap;
}
.pc-head .pc-head__nav a:hover { color: var(--pc-accent); }
.pc-head .pc-head__nav a:focus-visible { outline-offset: -3px; }
.pc-head .pc-head__nav .pc-head__offers {
  margin-inline-start: auto;
  padding-inline: 14px;
  border-radius: 24px;
  background: #eaf2ff;
  color: #174785;
  font-weight: 700;
}

.pc-home { padding-block: 24px 10px; }
.pc-home .pc-home__title { margin: 0 0 14px; font-size: clamp(21px, 3vw, 30px); }
.pc-highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 30px;
}
.pc-highlights:has(> :last-child:nth-child(2)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pc-highlights:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
.pc-highlights .pc-highlight {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-height: 235px;
  padding: clamp(18px, 2.8vw, 32px);
  overflow: hidden;
  border-radius: var(--pc-radius-lg);
  background: linear-gradient(145deg, #f3eaff, #ddccfb);
  color: #332252;
}
.pc-highlights .pc-highlight:nth-child(3) { background: linear-gradient(145deg, #ffedc8, #ffc86f); color: #492806; }
.pc-highlights .pc-highlight--lead { background: linear-gradient(125deg, #142e68, #225cc6); color: #fff; }
.pc-highlight > :not(.pc-highlight__ticket) { position: relative; z-index: 1; }
.pc-highlight strong { font-size: clamp(24px, 3vw, 40px); line-height: 1.05; letter-spacing: -.04em; }
.pc-highlight__eyebrow { font-size: 13px; font-weight: 800; letter-spacing: .05em; }
.pc-highlight__link {
  margin-top: auto;
  padding: 7px 12px;
  border-radius: 8px;
  background: #fff;
  color: #183f7b;
  font-weight: 700;
}
.pc-highlight:hover .pc-highlight__link { text-decoration: underline; }
.pc-highlight__ticket {
  position: absolute;
  right: -13px;
  bottom: -25px;
  display: grid;
  place-items: center;
  width: 138px;
  height: 112px;
  transform: rotate(-22deg);
  border: 2px dashed #adcafc;
  border-radius: 16px;
  background: #356dce;
  color: #e5f0ff;
  font-size: 56px;
  font-weight: 850;
  pointer-events: none;
}
.pc-home__section { margin-bottom: 30px; }
.pc-home__heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 3px 16px;
  margin-bottom: 12px;
}
.pc-page .pc-home__heading h2 { margin: 0; font-size: clamp(21px, 2.8vw, 29px); }
.pc-home__heading a { padding-block: 8px; font-weight: 650; }
.pc-home .pc-stores--popular { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.pc-stores--popular .pc-store { min-width: 0; padding: 14px 8px; text-align: center; }
.pc-stores--popular .pc-store__logo { width: 84px; max-width: 100%; height: 52px; }
.pc-stores--popular .pc-store__logo img { width: 68px; max-width: 100%; max-height: 44px; }
.pc-stores--popular .pc-store__name { white-space: normal; }

.pc-card-grid, .pc-category-grid, .pc-steps, .journal-grid { display: grid; gap: 12px; }
.pc-card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pc-coupon-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  padding: 16px;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius);
  background: var(--pc-card);
}
.pc-coupon-card__top { display: flex; align-items: center; gap: 8px; min-height: 37px; font-weight: 750; }
.pc-coupon-card__top img { width: 60px; height: 36px; object-fit: contain; }
.pc-coupon-card__badge {
  padding: 2px 9px;
  border-radius: 20px;
  background: #eaf2ff;
  color: #1c4d9b;
  font-size: 12px;
  font-weight: 750;
}
.pc-coupon-card__discount { color: #1c4d9b; font-size: 24px; line-height: 1.15; }
.pc-page .pc-coupon-card h3 { margin: 0 0 6px; font-size: 16px; }
.pc-coupon-card .pc-btn { align-self: stretch; margin-top: auto; padding-inline: 8px; }

.pc-category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pc-category-grid a, .pc-steps li, .journal-card {
  padding: 14px;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius);
  background: var(--pc-card);
}
.pc-category-grid a { display: flex; align-items: center; gap: 10px; min-height: 56px; font-weight: 650; }
.pc-category-grid svg { display: block; width: 22px; height: 22px; }
.pc-category-grid a:hover { background: var(--pc-card-hi); }
.pc-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; counter-reset: steps; }
.pc-steps li { counter-increment: steps; display: flex; align-items: center; gap: 12px; }
.pc-steps li::before {
  content: counter(steps);
  flex: 0 0 32px;
  height: 32px;
  border-radius: 50%;
  background: #eaf2ff;
  color: #174785;
  line-height: 32px;
  text-align: center;
  font-weight: 800;
}

body.pc-page { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
.pc-page > .pc-main { flex: 1 0 auto; min-height: 0; }
.pc-foot { background: #192c49; color: #e0eaff; }
.pc-foot a, .pc-foot .pc-logo { color: #fff; }
.pc-foot a:hover { color: #d9f356; }
.pc-foot .pc-foot__copy, .pc-foot .pc-foot__tagline { color: #c9d7ee; }
.pc-store-page.pc-wrap { padding-inline: 24px; }
.pc-store-page .pc-store-page__title { margin-bottom: 20px; font-size: clamp(22px, 3vw, 32px); }
.pc-store-page > .pc-crumbs { margin: 24px 0 0; }
.pc-store-page__aside .pc-store-brand {
  display: grid;
  place-items: center;
  min-height: 112px;
  background: var(--pc-plate);
}
.pc-store-brand img { width: 160px; height: 88px; object-fit: contain; }
.pc-store-brand .pc-store__initial { font-size: 32px; }
.pc-store-page .pc-offer {
  --offer-pad-x: 24px;
  --offer-pad-y: 24px;
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) 240px;
  gap: 12px 24px;
  padding: var(--offer-pad-y) var(--offer-pad-x);
  border: 2px solid #d6d6d6;
  border-top-width: 4px;
  border-radius: 8px;
  background: #fff;
  box-shadow: -1px -1px 6px rgb(246 246 247 / 50%);
}
.pc-store-page .pc-offer:has(.pc-offer__flag--top) {
  border: 2px solid #d1de31;
}
.pc-store-page .pc-offer[hidden] { display: none; }
.pc-store-page .pc-offer__flag { position: static; grid-column: 1 / -1; justify-self: end; }
.pc-store-page .pc-offer__flag--top {
  justify-self: stretch;
  margin: calc(-1 * var(--offer-pad-y)) calc(-1 * var(--offer-pad-x)) 0;
  padding: 6px var(--offer-pad-x);
  border-radius: 0;
  background: #d1de31;
  color: #191f2e;
  text-align: right;
  font-size: 13px;
  font-weight: 800;
  line-height: 18px;
  text-transform: uppercase;
}
.pc-store-page .pc-offer__benefit {
  border-right: 1px dashed var(--pc-line-hi);
  border-radius: 0;
  background: transparent;
  color: var(--pc-accent);
}
.pc-store-page .pc-offer__benefit-value { font-size: clamp(16px, 1.9vw, 24px); }
.pc-store-page .pc-offer__title { font-size: clamp(16px, 1.6vw, 20px); font-weight: 500; line-height: 1.45; }
.pc-store-page .pc-offer__cta { min-height: 48px; border-radius: 6px; }
.pc-store-page .pc-offers { gap: 20px; }
.pc-page .pc-store-page a.pc-offer__cta--code[data-dest] {
  position: relative;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 1px dashed var(--pc-line-hi);
  background: var(--pc-bg);
  color: var(--pc-fg);
}
.pc-offer__cta-label {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 1;
  width: 88%;
  display: grid;
  place-items: center;
  padding-inline: 6px;
  border-radius: 6px;
  background: var(--pc-accent);
  color: var(--pc-accent-fg);
  transition: width .5s ease;
}
.pc-offer__cta-mask {
  position: absolute;
  right: 4px;
  font-size: 16px;
}
.pc-offer__cta--code:is(:hover, :focus-visible) .pc-offer__cta-label {
  width: calc(88% - 10px);
}
@media (prefers-reduced-motion: reduce) {
  .pc-offer__cta-label { transition: none; }
}
.pc-offer__terms {
  grid-column: 1 / -1;
  min-width: 0;
  border-top: 1px solid var(--pc-line);
  color: var(--pc-text-2);
  font-size: 14px;
}
.pc-offer__terms summary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 10px;
  cursor: pointer;
  list-style: none;
  color: var(--pc-accent);
  font-weight: 500;
}
.pc-offer__terms summary::-webkit-details-marker { display: none; }
.pc-offer__terms summary::after {
  content: '';
  width: 6px;
  height: 6px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}
.pc-offer__terms[open] summary::after { transform: translateY(2px) rotate(225deg); }
.pc-offer__terms[open] .pc-offer__terms-content { margin-top: 10px; }
.pc-offer__terms-content { overflow-wrap: anywhere; }
.pc-offer__terms-content > :first-child { margin-top: 0; }
.pc-offer__terms-content > :last-child { margin-bottom: 0; }
.pc-store-filters button { min-height: 44px; }
.pc-catalog__letter { min-width: 44px; min-height: 44px; }
.pc-catalog .pc-search__input { font-size: 16px; }
.pc-modal__box { max-height: calc(100dvh - 24px); overflow-y: auto; }
.pc-modal__rubric { margin: 0 0 4px; color: var(--pc-muted); font-size: 12px; font-weight: 750; }
.pc-modal__x { min-width: 44px; min-height: 44px; }
.journal-page, .journal-article, .wp-page-shell { max-width: var(--pc-wrap); margin-inline: auto; padding: 24px clamp(14px, 3vw, 24px) 48px; }
.journal-kicker, .wp-page-kicker { display: inline-block; color: var(--pc-accent); font-weight: 750; }
.journal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.journal-card__image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--pc-radius-sm); }
.journal-card__date { color: var(--pc-muted); font-size: 13px; }
.journal-article__body, .wp-page-shell__body { max-width: 780px; font-size: 17px; }
.journal-pagination { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 18px; }

@media (max-width: 900px) {
  .pc-home .pc-stores--popular { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pc-card-grid, .pc-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .pc-store-page .pc-offer { --offer-pad-x: 13px; --offer-pad-y: 13px; grid-template-columns: 78px minmax(0, 1fr); gap: 8px 12px; }
  .pc-store-page .pc-offers { gap: 12px; }
  .pc-store-page .pc-offer__benefit { grid-row: auto; }
}
@media (max-width: 700px) {
  .pc-head__row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding-block: 9px; }
  .pc-head__catalog { grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: 3px; min-height: 44px; font-size: 13px; }
  .pc-head .pc-head__search { grid-column: 1 / -1; }
  .pc-head .pc-head__nav { min-height: 48px; }
  .pc-home { padding-top: 16px; }
  .pc-highlights, .pc-highlights:has(> :last-child:nth-child(2)) {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 85%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    padding-bottom: 5px;
    margin-bottom: 18px;
  }
  .pc-highlights:has(> :only-child) { grid-auto-columns: 100%; }
  .pc-highlights .pc-highlight { min-height: 190px; scroll-snap-align: start; }
  .pc-home .pc-stores--popular { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
  .pc-stores--popular .pc-store { padding-inline: 5px; }
  .pc-stores--popular .pc-store__count { font-size: 11px; }
  .pc-steps, .journal-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  .pc-store-page .pc-offer { --offer-pad-x: 11px; --offer-pad-y: 11px; grid-template-columns: 68px minmax(0, 1fr); }
}
@media (max-width: 520px) {
  .pc-store-page.pc-wrap { padding-inline: 12px; }
  .pc-store-filters button { min-height: 44px; }
  .pc-card-grid { grid-template-columns: minmax(0, 1fr); }
  .pc-offer .pc-offer__cta { width: 100%; min-height: 44px; }
}
