/* ============================================================
   Soft Marshmallow storefront (DESIGN.md v3 — hybrid:
   product photos + 3D icons only). Loaded LAST on index, catalog,
   product, price, delivery.
   ============================================================ */

:root{
  --mm-bg:#fff;
  --mm-radius:22px;
  --mm-radius-lg:24px;
  --mm-shadow:0 10px 30px rgba(0,0,0,.05),0 2px 8px rgba(0,0,0,.02);
  --mm-shadow-hover:0 16px 40px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.03);
  --mm-ink:#1e293b;
  --mm-muted:#475569;
  --mm-accent-grad:linear-gradient(135deg,#ff6b6b 0%,#ff8e53 100%);
  --mm-focus:0 0 0 4px rgba(255,107,107,.16);
}

/* ===== 4) Global background — one seamless white sheet, no striping ===== */
html,body{
  background:var(--mm-bg)!important;
  position:relative!important;
  isolation:isolate!important;
}
main#main-content,
.catalog-page,
.product-page,
.info-page,
main#main-content > section,
main#main-content > *,
.hero,
.quick-recipient-section,
.live-products-section,
.budget-section,
.ideas-section,
.characters-section,
.steps-section,
#delivery.steps-section,
.service-info,
.service-info.section,
.studio-story,
#about,
.faq-section,
.faq-section.section,
main#main-content footer{
  background:transparent!important;
  background-image:none!important;
}
/* Ambient pastel auras — fixed, sit under everything, never create banding */
body:before,
body:after{
  content:""!important;
  position:fixed!important;
  width:min(480px,70vw)!important;
  height:min(480px,70vw)!important;
  border-radius:50%!important;
  filter:blur(90px)!important;
  pointer-events:none!important;
  z-index:0!important;
  background:radial-gradient(circle,rgba(255,141,107,.14) 0%,transparent 70%)!important;
}
body:before{ top:-6%!important; left:-10%!important; }
body:after{
  right:-8%!important; top:34%!important;
  background:radial-gradient(circle,rgba(255,182,193,.12) 0%,transparent 70%)!important;
}
main#main-content{
  position:relative!important;
  z-index:1!important;
}

/* ===== 1) Cards / containers — clean white, big radius, floating shadow ===== */
main#main-content .quick-recipient-card,
main#main-content .live-product-card,
main#main-content #catalog a.category,
main#main-content #catalog .category,
main#main-content .budget-card,
main#main-content .character-card,
main#main-content .step-card,
main#main-content .steps .step-card,
main#main-content .steps li.step-card,
main#main-content .service-info article,
main#main-content .service-info .delivery-card,
main#main-content .service-info .price-card,
main#main-content .service-info a.delivery-card,
main#main-content .service-info a.price-card,
main#main-content .faq-list details,
.catalog-page .catalog-card,
.product-page .product-card,
.product-page .product-step,
.product-page .order-summary,
.info-page .price-card,
.info-page .delivery-card,
.info-page article{
  background:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:var(--mm-radius)!important;
  box-shadow:var(--mm-shadow)!important;
}
main#main-content .quick-recipient-card:hover,
main#main-content .live-product-card:hover,
main#main-content #catalog a.category:hover,
main#main-content #catalog .category:hover,
main#main-content .budget-card:hover,
main#main-content .character-card:hover,
main#main-content .step-card:hover,
main#main-content .service-info article:hover,
main#main-content .service-info .delivery-card:hover,
main#main-content .service-info .price-card:hover,
.catalog-page .catalog-card:hover,
main#main-content .faq-list details[open]{
  box-shadow:var(--mm-shadow-hover)!important;
  border:0!important;
  transform:translateY(-2px)!important;
}

/* Comfortable inner padding so content isn't cramped */
.catalog-page .catalog-card{
  padding:12px 12px 16px!important;
}
.catalog-page .catalog-card-copy{
  padding:12px 6px 0!important;
}

/* ===== 2c) Catalog grid — equal height cards, fixed image ratio, price pinned bottom ===== */
.catalog-page .catalog-grid{
  display:grid!important;
  gap:20px!important;
  align-items:stretch!important;
}
.catalog-page .catalog-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-width:0!important;
}
.catalog-page .catalog-card-image{
  aspect-ratio:1/1!important;
  width:100%!important;
  border-radius:16px!important;
  overflow:hidden!important;
  flex:none!important;
}
.catalog-page .catalog-card-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:16px!important;
}
.catalog-page .catalog-card-copy{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
.catalog-page .catalog-card .catalog-card-price{
  margin-top:auto!important;
  padding-top:10px!important;
}

/* Character / step cards — even row height */
main#main-content .character-scroll{
  align-items:stretch!important;
}
main#main-content .character-card{
  height:100%!important;
}
main#main-content .steps{
  align-items:stretch!important;
}
main#main-content .step-card{
  height:100%!important;
}
main#main-content .step-card,
main#main-content .service-info article,
main#main-content .service-info .delivery-card,
main#main-content .service-info .price-card{
  padding:24px 22px!important;
}

/* ===== 2a) Inputs / selects — soft radius + coral focus glow ===== */
.catalog-search,
.catalog-controls select,
.product-page input,
.product-page select,
.product-page textarea,
.catalog-filter-sheet-body select,
main#main-content input,
main#main-content select{
  background-color:#fff!important;
  border:1.5px solid #eef1f5!important;
  border-radius:14px!important;
  box-shadow:none!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}
.catalog-search:focus-within,
.catalog-controls select:focus,
.catalog-controls select:focus-visible,
.product-page input:focus,
.product-page select:focus,
.product-page textarea:focus,
.catalog-filter-sheet-body select:focus,
main#main-content input:focus,
main#main-content select:focus{
  border-color:#ff6b6b!important;
  box-shadow:var(--mm-focus)!important;
  outline:none!important;
}
.product-page .config-input,
.product-page .config-input input{
  border-radius:14px!important;
}

/* ===== 2b) Badges / statuses — pastel pills (mint / peach / lavender) ===== */
.product-request-badge{
  background:#eafff3!important;
  color:#0f9d58!important;
  border:0!important;
  border-radius:999px!important;
  padding:4px 10px!important;
}
.product-advance-badge{
  background:#fff1e6!important;
  color:#c2650f!important;
  border:0!important;
  border-radius:999px!important;
  padding:4px 10px!important;
}
.catalog-card-meta > small{
  background:#fff1e6!important;
  color:#c2650f!important;
  border-radius:999px!important;
  padding:2px 8px!important;
  font-weight:800!important;
}

/* ===== 3) Tables / lists — spacious rows, quiet hover ===== */
.info-page .price-list div,
main#main-content .service-info .price-list div{
  border-bottom:1px solid #f1f4f8!important;
  padding:14px 4px!important;
  transition:background .15s ease!important;
}
.info-page .price-list div:hover,
main#main-content .service-info .price-list div:hover{
  background:#fbfbfd!important;
  border-radius:12px!important;
}
.info-page .price-list div:last-child,
main#main-content .service-info .price-list div:last-child{
  border-bottom:0!important;
}
.faq-list details{
  padding:4px 20px!important;
}
.faq-list summary{
  padding:16px 0!important;
}

/* ===== Buttons — coral gradient primary / white pill secondary, sitewide ===== */
.button-primary,
a.button-primary,
main#main-content .button-primary,
.product-page .button-primary,
.catalog-page .button-primary{
  background:var(--mm-accent-grad)!important;
  background-image:var(--mm-accent-grad)!important;
  border:0!important;
  border-radius:999px!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(255,107,107,.28),0 4px 10px rgba(255,142,83,.16)!important;
}
.button-primary:hover,
a.button-primary:hover{
  background:linear-gradient(135deg,#ff5a5a 0%,#ff7a3d 100%)!important;
  background-image:linear-gradient(135deg,#ff5a5a 0%,#ff7a3d 100%)!important;
  box-shadow:0 14px 30px rgba(255,107,107,.34),0 6px 14px rgba(255,142,83,.2)!important;
}
.button-outline,
a.button-outline,
.catalog-load-more button{
  background:#fff!important;
  border:0!important;
  border-radius:999px!important;
  box-shadow:0 4px 14px rgba(30,30,40,.06)!important;
}
.button-outline:hover,
a.button-outline:hover,
.catalog-load-more button:hover{
  box-shadow:0 8px 20px rgba(30,30,40,.09)!important;
}

/* ===== Hero polish — eyebrow pill with pin, gradient "всё!", puffy secondary CTA ===== */
.hero .eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  background:#fff!important;
  border-radius:999px!important;
  padding:8px 16px 8px 12px!important;
  box-shadow:0 4px 14px rgba(30,30,40,.07)!important;
  width:max-content!important;
}
.hero .eyebrow:before{
  content:""!important;
  display:inline-block!important;
  width:8px!important;
  height:8px!important;
  border-radius:50%!important;
  background:#ff6b6b!important;
  box-shadow:0 0 0 4px rgba(255,107,107,.18)!important;
  flex:none!important;
}
.hero .playful-title>b,
.hero .playful-title>b.hero-accent-pill{
  background:var(--mm-accent-grad)!important;
  background-image:var(--mm-accent-grad)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  color:transparent!important;
}
.hero .hero-actions .button-outline,
.hero .hero-actions a.button-outline{
  background:#fff!important;
  border:0!important;
  border-radius:20px!important;
  box-shadow:0 10px 26px rgba(30,30,40,.08),0 2px 8px rgba(30,30,40,.03)!important;
  color:var(--mm-ink)!important;
  font-weight:800!important;
}
.hero .hero-actions .button-outline:hover{
  box-shadow:0 14px 32px rgba(30,30,40,.11),0 3px 10px rgba(30,30,40,.04)!important;
  transform:translateY(-1px)!important;
}

/* ===== Typography ===== */
main#main-content h1,
main#main-content h2,
main#main-content h3,
.catalog-page h1,
.catalog-page h2,
.product-page h1,
.product-page h2,
.info-page h1,
.info-page h2{
  color:var(--mm-ink)!important;
}
main#main-content p,
.catalog-page p,
.product-page p,
.info-page p{
  color:var(--mm-muted)!important;
}

@media (prefers-reduced-motion:reduce){
  main#main-content .quick-recipient-card:hover,
  main#main-content .live-product-card:hover,
  main#main-content .budget-card:hover,
  main#main-content .character-card:hover,
  main#main-content .step-card:hover,
  .catalog-page .catalog-card:hover{
    transform:none!important;
  }
}

/* Product order form — marshmallow warmth (overrides product-polish graphite) */
html body .product-page .product-configurator,
html body .product-page .order-details,
html body .product-page .product-step{
  border:1.5px solid #ffd9d0!important;
  background:linear-gradient(180deg,#ffffff 0%,#fff6f2 100%)!important;
  box-shadow:0 10px 28px rgba(255,107,90,.08),0 2px 8px rgba(0,0,0,.02)!important;
}
.product-page .config-title strong{
  color:#2a2a32!important;
}
.product-page .config-title small{
  color:#c2650f!important;
}
.product-page .config-input span small{
  display:inline-flex!important;
  align-items:center;
  margin-left:8px;
  padding:2px 8px!important;
  border-radius:999px!important;
  background:#fff1e6!important;
  color:#c2650f!important;
  font-weight:800!important;
  font-size:11px!important;
}
.product-page .inscription-field.is-empty{
  box-shadow:0 0 0 4px rgba(255,107,90,.12);
}
html body .product-page label.inscription-field{
  display:block!important;
  padding:12px!important;
  border-radius:16px!important;
  border:1.5px solid #f3d7df!important;
  background:#fff5f8!important;
}
.product-page .inscription-field input{
  background:#fff!important;
  border-color:#f3d7df!important;
}
.product-page .order-date-row .config-input:first-child input{
  background:#fffaf3!important;
}
.product-page .order-date-row .config-input:last-child input{
  background:#f4fbf7!important;
}
.product-page .product-order-button.button-primary,
.product-page .button.button-primary.product-order-button{
  background-image:var(--mm-accent-grad)!important;
  box-shadow:0 10px 24px rgba(255,107,107,.28),0 4px 10px rgba(255,142,83,.16)!important;
}
.product-page .mobile-order-cta{
  background-image:var(--mm-accent-grad)!important;
  box-shadow:0 8px 18px rgba(255,107,107,.28)!important;
}

/* Lead card + composition rows (from old product page, without accordion) */
html body .product-page .product-lead{
  display:flex!important;
  align-items:flex-start;
  gap:12px;
  margin:12px 0 4px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  border:0!important;
  background:#fff8ee!important;
  box-shadow:none!important;
}
html body .product-page .product-lead-icon{
  display:grid!important;
  width:40px;
  height:40px;
  flex:none;
  place-items:center;
  border-radius:14px;
  background:#fff;
}
html body .product-page .product-lead-icon img{
  width:22px;
  height:22px;
}
html body .product-page .product-lead p{
  margin:0!important;
  color:#2a2a32!important;
  font-size:15px!important;
  line-height:1.45!important;
  max-width:none!important;
}
html body .product-page .product-composition-card{
  background:#fff!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:22px!important;
  box-shadow:0 10px 28px rgba(40,36,60,.04)!important;
  padding:20px 18px!important;
}
html body .product-page .product-composition-card .eyebrow{
  display:none!important;
}
html body .product-page .product-composition-card h2{
  color:#2a2a32!important;
  margin:0 0 12px!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.35!important;
  overflow:visible!important;
  white-space:normal!important;
  max-width:none!important;
  display:block!important;
  -webkit-line-clamp:unset!important;
  -webkit-text-fill-color:#2a2a32!important;
  background:none!important;
}
html body .product-page .composition-list{
  display:grid!important;
  gap:8px!important;
}
html body .product-page .composition-item{
  display:flex!important;
  align-items:flex-start;
  gap:10px;
  margin:0!important;
  padding:12px 14px!important;
  border:1.5px solid #ebe6e3!important;
  border-radius:16px!important;
  box-shadow:none!important;
  transform:none!important;
  /* white row = soft-3d PNG square blends in */
  background:#fff!important;
}
html body .product-page .composition-item.tone-0,
html body .product-page .composition-item.tone-1,
html body .product-page .composition-item.tone-2,
html body .product-page .composition-item.tone-3{
  background:#fff!important;
}
html body .product-page .comp-mark{
  width:40px;
  height:40px;
  margin-top:0;
  flex:none;
  display:grid;
  place-items:center;
  background:transparent!important;
  border-radius:0!important;
  overflow:visible;
}
html body .product-page .comp-ico{
  width:40px;
  height:40px;
  object-fit:contain;
  display:block;
  mix-blend-mode:multiply;
}
html body .product-page .composition-item strong{
  flex:1;
  min-width:0;
  padding-top:4px;
  font-weight:700!important;
  color:#2a2a32!important;
  line-height:1.35!important;
}
html body .product-page .comp-check{display:none!important}

/* ===== Catalog chrome warmth — soft peach, coral price, quieter blurbs ===== */
/* Specificity must beat main#main-content / main#main-content > * (ID selectors) */
html body main#main-content.catalog-page{
  background-color:#fffaf8!important;
  background-image:radial-gradient(ellipse 80% 40% at 50% 0%,rgba(255,180,150,.16) 0%,transparent 70%)!important;
}
/* Search + filters — standalone marshmallow pillows, no tray */
html body main#main-content.catalog-page > .catalog-controls{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  gap:10px!important;
}
html body main#main-content.catalog-page .catalog-search,
html body main#main-content.catalog-page .catalog-controls select,
html body main#main-content.catalog-page .catalog-mobile-filter-toggle{
  background-color:#fff!important;
  background-image:none!important;
  border:0!important;
  border-color:transparent!important;
  border-radius:18px!important;
  box-shadow:var(--mm-shadow)!important;
}
html body main#main-content.catalog-page .catalog-search:focus-within,
html body main#main-content.catalog-page .catalog-controls select:focus,
html body main#main-content.catalog-page .catalog-controls select:focus-visible{
  border:0!important;
  box-shadow:var(--mm-shadow),var(--mm-focus)!important;
}
html body main#main-content.catalog-page .catalog-controls select.has-value{
  background-color:#fff7f6!important;
  color:#e85a4a!important;
  box-shadow:0 10px 24px rgba(255,107,90,.12),0 2px 8px rgba(0,0,0,.03)!important;
}

@media (max-width:1020px){
  html body main#main-content.catalog-page > .catalog-controls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    align-items:center!important;
    gap:8px!important;
  }
  html body main#main-content.catalog-page .catalog-search{
    grid-column:1!important;
    grid-row:1!important;
    min-height:48px!important;
  }
  html body main#main-content.catalog-page .catalog-mobile-filter-toggle{
    display:inline-flex!important;
    grid-column:2!important;
    grid-row:1!important;
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0!important;
    overflow:visible!important;
    align-items:center!important;
    justify-content:center!important;
  }
  html body main#main-content.catalog-page .catalog-mobile-filter-toggle .catalog-mobile-filter-label,
  html body main#main-content.catalog-page .catalog-mobile-filter-toggle .catalog-mobile-filter-label strong,
  html body main#main-content.catalog-page .catalog-mobile-filter-toggle > strong{
    display:none!important;
  }
  html body main#main-content.catalog-page .catalog-mobile-filter-toggle{
    font-size:0!important;
  }
  html body main#main-content.catalog-page .catalog-mobile-filter-toggle .catalog-mobile-filter-icon{
    font-size:16px!important;
  }
  html body main#main-content.catalog-page .catalog-controls select{
    display:none!important;
  }
}

@media (min-width:1021px){
  html body main#main-content.catalog-page > .catalog-controls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(160px,220px) minmax(150px,200px)!important;
    grid-template-rows:auto!important;
    align-items:stretch!important;
    column-gap:10px!important;
    row-gap:0!important;
  }
  html body main#main-content.catalog-page > .catalog-controls.no-age-filter{
    grid-template-columns:minmax(0,1fr) minmax(180px,240px)!important;
  }
  html body main#main-content.catalog-page .catalog-search{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
    min-height:52px!important;
  }
  html body main#main-content.catalog-page .catalog-mobile-filter-toggle{
    display:none!important;
  }
  html body main#main-content.catalog-page .catalog-filter-panel{
    display:contents!important;
  }
  html body main#main-content.catalog-page .catalog-controls select[aria-label="Стоимость"]{
    grid-column:2!important;
    grid-row:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:52px!important;
  }
  html body main#main-content.catalog-page .catalog-controls select[aria-label="Возраст"]{
    grid-column:3!important;
    grid-row:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:52px!important;
  }
  html body main#main-content.catalog-page > .catalog-controls.no-age-filter select[aria-label="Стоимость"]{
    grid-column:2!important;
  }
  html body main#main-content.catalog-page > .catalog-controls.no-age-filter select[aria-label="Возраст"],
  html body main#main-content.catalog-page .catalog-controls select[hidden]{
    display:none!important;
  }
  html body main#main-content.catalog-page .catalog-controls .catalog-reset{
    display:none!important;
  }
  html body main#main-content.catalog-page .catalog-subcategories,
  html body main#main-content.catalog-page .catalog-detail-categories{
    display:flex!important;
    flex-wrap:wrap!important;
    width:calc(100% - 2 * var(--cat-pad, 24px))!important;
    max-width:calc(100% - 2 * var(--cat-pad, 24px))!important;
    margin-top:10px!important;
    overflow:visible!important;
  }
}

/* Filter sheet lives on body — --cat-accent from .catalog-page does not apply here */
html body .catalog-filter-sheet{
  z-index:120!important;
}
html body .catalog-filter-sheet-panel{
  background:#fff!important;
  border-radius:24px 24px 0 0!important;
  box-shadow:0 -18px 40px rgba(30,20,20,.14)!important;
  padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px))!important;
  max-height:min(82vh,560px)!important;
  gap:12px!important;
}
html body .catalog-filter-sheet-handle{
  background:#eadcd6!important;
}
html body .catalog-filter-sheet-head h2{
  color:#1e293b!important;
  font-weight:800!important;
}
html body .catalog-filter-sheet-close{
  width:40px!important;
  height:40px!important;
  border:0!important;
  background:#fff5f3!important;
  color:#e85a4a!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
html body .catalog-filter-sheet-head{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
}
html body .catalog-filter-sheet-body .catalog-filter-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
  width:100%!important;
}
html body .catalog-filter-sheet-body select{
  min-height:48px!important;
  width:100%!important;
  max-width:100%!important;
  border:0!important;
  background:#fff8f4!important;
  border-radius:16px!important;
  box-shadow:var(--mm-shadow)!important;
  color:#1e293b!important;
}
html body .catalog-filter-sheet-body select:focus,
html body .catalog-filter-sheet-body select:focus-visible{
  border:0!important;
  box-shadow:var(--mm-shadow),var(--mm-focus)!important;
}
html body .catalog-filter-sheet-foot{
  display:grid!important;
  grid-template-columns:1fr 1.2fr!important;
  gap:8px!important;
}
html body .catalog-filter-sheet-reset{
  min-height:48px!important;
  border:0!important;
  background:#fff8f4!important;
  color:#8a6e68!important;
  border-radius:16px!important;
  box-shadow:var(--mm-shadow)!important;
}
html body .catalog-filter-sheet-done{
  min-height:48px!important;
  border:0!important;
  background:linear-gradient(135deg,#ff6b6b,#ff8e53)!important;
  color:#fff!important;
  border-radius:16px!important;
  box-shadow:0 10px 22px rgba(255,107,90,.28)!important;
}

html body main#main-content.catalog-page .catalog-results-heading h2{
  color:#1e293b!important;
}
html body main#main-content.catalog-page .catalog-results-counts,
html body main#main-content.catalog-page .catalog-results-counts span{
  color:#a07870!important;
}
/* Coral price — brand accent on the money signal */
html body main#main-content.catalog-page .catalog-card .catalog-card-price i{
  display:none!important;
}
html body main#main-content.catalog-page .catalog-card .catalog-card-price b{
  color:#ff6b5a!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
html body main#main-content.catalog-page .catalog-card-meta > small{
  background:#fff1e6!important;
  color:#c2650f!important;
  border:0!important;
  border-radius:999px!important;
  padding:2px 8px!important;
  font-weight:800!important;
}
html body main#main-content.catalog-page .catalog-card .catalog-card-price small{
  color:#c4a39a!important;
}
/* Quieter card blurbs — one line, less gray noise under titles */
html body main#main-content.catalog-page .catalog-card-copy > span:not(.catalog-card-meta):not(.catalog-card-price){
  color:#b5a29c!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:1!important;
  overflow:hidden!important;
  opacity:.92!important;
}
/* Group chips — marshmallow pillows + clay PNG icons */
html body main#main-content.catalog-page .catalog-group-nav > button{
  border:0!important;
  border-width:0!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:var(--mm-shadow)!important;
  border-radius:18px!important;
  color:#1e293b!important;
  min-height:72px!important;
  transition:transform .15s ease, box-shadow .15s ease!important;
}
html body main#main-content.catalog-page .catalog-group-nav > button:hover{
  transform:translateY(-2px)!important;
  box-shadow:var(--mm-shadow-hover)!important;
  border:0!important;
}
html body main#main-content.catalog-page .catalog-group-nav > button.active{
  transform:translateY(-1px)!important;
  border:0!important;
  box-shadow:0 12px 28px rgba(255,107,90,.16),0 4px 10px rgba(0,0,0,.04)!important;
}
html body main#main-content.catalog-page .catalog-group-nav > button .catalog-group-icon{
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  padding:2px!important;
  border:0!important;
  border-radius:12px!important;
  overflow:hidden!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
html body main#main-content.catalog-page .catalog-group-nav > button.catalog-group-all .catalog-group-icon,
html body main#main-content.catalog-page .catalog-group-nav > button[data-group="ready"] .catalog-group-icon,
html body main#main-content.catalog-page .catalog-group-nav > button[data-group="characters"] .catalog-group-icon,
html body main#main-content.catalog-page .catalog-group-nav > button[data-group="unit"] .catalog-group-icon,
html body main#main-content.catalog-page .catalog-group-nav > button[data-group="holidays"] .catalog-group-icon{
  background:#fff!important;
}
html body main#main-content.catalog-page .catalog-group-nav > button .catalog-group-icon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
}
html body main#main-content.catalog-page .catalog-group-nav > button strong{
  color:#1e293b!important;
}

/* Five groups always visible — no sideways scroll */
html body main#main-content.catalog-page nav.catalog-group-nav,
html body main#main-content.catalog-page .catalog-group-nav{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  width:calc(100% - 2 * var(--cat-pad, 16px))!important;
  max-width:calc(100% - 2 * var(--cat-pad, 16px))!important;
  box-sizing:border-box!important;
  margin-left:var(--cat-pad, 16px)!important;
  margin-right:var(--cat-pad, 16px)!important;
  min-width:0!important;
}
html body main#main-content.catalog-page .catalog-group-nav > button{
  min-width:0!important;
  width:auto!important;
  max-width:100%!important;
  flex:none!important;
}

@media (max-width:1020px){
  html body main#main-content.catalog-page nav.catalog-group-nav,
  html body main#main-content.catalog-page .catalog-group-nav{
    gap:6px!important;
  }
  html body main#main-content.catalog-page .catalog-group-nav > button{
    border-radius:16px!important;
    min-height:70px!important;
    padding:6px 2px 6px!important;
  }
  html body main#main-content.catalog-page .catalog-group-nav > button .catalog-group-icon{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    border-radius:11px!important;
  }
  html body main#main-content.catalog-page .catalog-group-nav > button strong{
    font-size:10px!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:unset!important;
    max-width:100%!important;
  }
}

/* Subcategories — marshmallow capsules, wrap so every option is tappable */
html body main#main-content.catalog-page .catalog-subcategories,
html body main#main-content.catalog-page .catalog-detail-categories{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  width:auto!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin-left:var(--cat-pad)!important;
  margin-right:var(--cat-pad)!important;
  margin-top:4px!important;
  margin-bottom:0!important;
  padding:4px 0 10px!important;
  overflow:visible!important;
}
html body main#main-content.catalog-page .catalog-detail-categories > span{
  flex:0 0 auto!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#c4a39a!important;
  white-space:nowrap!important;
  padding-right:4px!important;
}
html body main#main-content.catalog-page .catalog-subcategories > button,
html body main#main-content.catalog-page .catalog-detail-categories > button{
  flex:0 0 auto!important;
  min-height:36px!important;
  padding:0 14px!important;
  border:1.5px solid transparent!important;
  border-radius:999px!important;
  background:#fff8f4!important;
  color:#8a6e68!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:-.01em!important;
  box-shadow:0 6px 16px rgba(0,0,0,.04),0 1px 4px rgba(0,0,0,.03)!important;
  white-space:nowrap!important;
  transform:none!important;
  filter:none!important;
}
html body main#main-content.catalog-page .catalog-subcategories > button:hover,
html body main#main-content.catalog-page .catalog-detail-categories > button:hover{
  filter:none!important;
  background:#fff!important;
  border-color:#ffd8d0!important;
  transform:none!important;
}
html body main#main-content.catalog-page .catalog-subcategories > button.active,
html body main#main-content.catalog-page .catalog-detail-categories > button.active{
  background:#fff!important;
  color:#1e293b!important;
  border-color:#ff6b5a!important;
  filter:none!important;
  box-shadow:0 0 0 1px #ff6b5a,0 6px 16px rgba(255,107,90,.12)!important;
}
html body main#main-content.catalog-page .catalog-subcategories > button[data-sub=""].active{
  background:#fff8f4!important;
  color:#8a6e68!important;
  border-color:#ff6b5a!important;
  box-shadow:0 0 0 1px #ff6b5a,0 6px 16px rgba(255,107,90,.1)!important;
}

@media (max-width:650px){
  html body main#main-content.catalog-page .catalog-subcategories,
  html body main#main-content.catalog-page .catalog-detail-categories{
    gap:6px!important;
    padding:2px 0 10px!important;
  }
  html body main#main-content.catalog-page .catalog-subcategories > button,
  html body main#main-content.catalog-page .catalog-detail-categories > button{
    min-height:34px!important;
    padding:0 12px!important;
    font-size:12.5px!important;
  }
}

/* ===== Hero — mobile-first polish (option 1) =====
   One strong CTA, quieter secondary, denser rhythm, photo closer to copy.
   High specificity to beat home-polish stacked layouts. */
html body main#main-content .hero .hero-actions .button-primary,
html body main#main-content .hero .hero-actions a.button-primary{
  background:#ff6b5a!important;
  background-image:none!important;
  box-shadow:0 6px 16px rgba(255,107,90,.18)!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
html body main#main-content .hero .hero-actions .button-primary:hover,
html body main#main-content .hero .hero-actions a.button-primary:hover{
  background:#e85a4a!important;
  background-image:none!important;
  transform:translateY(-2px)!important;
  box-shadow:0 12px 26px rgba(255,107,90,.3)!important;
}
@keyframes heroPhotoIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
html body main#main-content .hero .hero-media img{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  animation:heroPhotoIn .28s ease-out both!important;
}
@media (prefers-reduced-motion:reduce){
  html body main#main-content .hero .hero-media img{
    animation:none!important;
  }
  html body main#main-content .hero .hero-actions .button-primary,
  html body main#main-content .hero .hero-actions a.button-primary{
    transition:none!important;
  }
}

/* Tablet + phone (≤1020): primary owns the row; secondary becomes a quiet text link */
@media (max-width:1020px){
  html body main#main-content .hero{
    padding-top:8px!important;
    padding-bottom:16px!important;
  }
  html body main#main-content .hero .eyebrow{
    margin-bottom:6px!important;
    padding:6px 12px 6px 10px!important;
    font-size:12px!important;
  }
  html body main#main-content .hero .playful-title{
    margin-bottom:6px!important;
    line-height:1.05!important;
  }
  html body main#main-content .hero .hero-message{
    margin-bottom:10px!important;
    font-size:14.5px!important;
    line-height:1.4!important;
    color:#6f6f78!important;
  }
  html body main#main-content .hero .hero-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:6px!important;
    margin-top:10px!important;
  }
  html body main#main-content .hero .hero-actions .button-primary,
  html body main#main-content .hero .hero-actions a.button-primary{
    width:100%!important;
    flex:none!important;
    min-height:50px!important;
    justify-content:center!important;
  }
  html body main#main-content .hero .hero-actions .button-outline,
  html body main#main-content .hero .hero-actions a.button-outline{
    width:auto!important;
    flex:none!important;
    align-self:center!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:48px!important;
    height:auto!important;
    padding:0 22px!important;
    margin:0!important;
    background:#fff8f6!important;
    background-image:none!important;
    border:1.5px solid #ffe1d8!important;
    border-radius:999px!important;
    box-shadow:0 8px 20px rgba(255,107,90,.08),0 2px 6px rgba(30,30,40,.03)!important;
    color:#5c4a45!important;
    font-weight:750!important;
    font-size:14.5px!important;
    letter-spacing:0!important;
    text-decoration:none!important;
    transform:none!important;
  }
  html body main#main-content .hero .hero-actions .button-outline:hover,
  html body main#main-content .hero .hero-actions a.button-outline:hover{
    color:#ff6b5a!important;
    border-color:#ffc7ba!important;
    box-shadow:0 10px 24px rgba(255,107,90,.14),0 3px 8px rgba(30,30,40,.04)!important;
    transform:translateY(-1px)!important;
    background:#fff!important;
  }
}

/* Stacked hero (≤900): full photo, less air between copy / image / CTA */
@media (max-width:900px){
  html body main#main-content .hero{
    gap:0!important;
  }
  html body main#main-content .hero .hero-message{
    margin-bottom:8px!important;
  }
  html body main#main-content .hero .hero-media{
    padding-left:16px!important;
    padding-right:16px!important;
    margin:0!important;
  }
  html body main#main-content .hero .hero-media img{
    aspect-ratio:auto!important;
    max-height:none!important;
    width:100%!important;
    height:auto!important;
    border-radius:18px!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  html body main#main-content .hero .hero-actions{
    margin-top:8px!important;
    padding-top:0!important;
  }
}

@media (max-width:720px){
  html body main#main-content .hero{
    padding:0 0 12px!important;
  }
  html body main#main-content .hero .eyebrow,
  html body main#main-content .hero .playful-title,
  html body main#main-content .hero .hero-message,
  html body main#main-content .hero .hero-actions{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  html body main#main-content .hero .playful-title{
    font-size:clamp(28px,8vw,36px)!important;
    margin-bottom:4px!important;
  }
  html body main#main-content .hero .hero-message{
    margin-bottom:8px!important;
    font-size:14px!important;
  }
  html body main#main-content .hero .hero-media{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  html body main#main-content .hero .hero-media img{
    aspect-ratio:auto!important;
    max-height:none!important;
    height:auto!important;
    object-fit:contain!important;
    border-radius:16px!important;
  }
  html body main#main-content .hero .hero-actions{
    margin-top:8px!important;
    gap:4px!important;
  }
}

/* Desktop: keep two CTAs in a row, but secondary quieter + tighter gap to photo */
@media (min-width:1021px){
  html body main#main-content .hero{
    gap:28px!important;
    padding:16px 0 28px!important;
    align-items:center!important;
  }
  html body main#main-content .hero .hero-message{
    margin-bottom:16px!important;
  }
  html body main#main-content .hero .playful-title{
    font-size:clamp(36px,3.4vw,52px)!important;
    line-height:1.08!important;
  }
  html body main#main-content .hero .hero-actions{
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:14px!important;
  }
  html body main#main-content .hero .hero-actions .button-primary,
  html body main#main-content .hero .hero-actions a.button-primary{
    width:auto!important;
  }
  html body main#main-content .hero .hero-actions .button-outline,
  html body main#main-content .hero .hero-actions a.button-outline{
    width:auto!important;
    align-self:center!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:52px!important;
    padding:0 26px!important;
    background:#fff8f6!important;
    box-shadow:0 8px 20px rgba(255,107,90,.08),0 2px 6px rgba(30,30,40,.03)!important;
    border:1.5px solid #ffe1d8!important;
    border-radius:999px!important;
    color:#5c4a45!important;
    font-weight:750!important;
    font-size:15px!important;
    text-decoration:none!important;
  }
  html body main#main-content .hero .hero-actions .button-outline:hover,
  html body main#main-content .hero .hero-actions a.button-outline:hover{
    color:#ff6b5a!important;
    border-color:#ffc7ba!important;
    box-shadow:0 10px 24px rgba(255,107,90,.14),0 3px 8px rgba(30,30,40,.04)!important;
    transform:translateY(-1px)!important;
    background:#fff!important;
  }
  html body main#main-content .hero .hero-media img{
    aspect-ratio:auto!important;
    max-height:none!important;
    height:auto!important;
    object-fit:contain!important;
    border-radius:20px!important;
  }
}

/* ===== Quick recipient «Для кого» — stacked marshmallow tiles ===== */
html body main#main-content .quick-recipient-section{
  background:transparent!important;
}
html body main#main-content .quick-recipient-heading>a{
  color:#ff6b5a!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.2!important;
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:10px 0!important;
  text-decoration:none!important;
}
html body main#main-content .quick-recipient-heading>a:hover{
  color:#e85a4a!important;
}
html body main#main-content .quick-recipient-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  justify-items:stretch!important;
  align-items:start!important;
  text-align:left!important;
  gap:8px!important;
  padding:10px 10px 14px!important;
  border:0!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
html body main#main-content .quick-recipient-card.pink{
  background:linear-gradient(180deg,#fff 0%,#fff5f8 100%)!important;
}
html body main#main-content .quick-recipient-card.blue{
  background:linear-gradient(180deg,#fff 0%,#f3f8ff 100%)!important;
}
html body main#main-content .quick-recipient-card.purple{
  background:linear-gradient(180deg,#fff 0%,#f7f3ff 100%)!important;
}
html body main#main-content .quick-recipient-card.navy{
  background:linear-gradient(180deg,#fff 0%,#f2f5fb 100%)!important;
}
html body main#main-content .quick-recipient-card.navy img{
  padding:18px!important;
  object-fit:contain!important;
}
html body main#main-content .quick-recipient-card img{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:1/1!important;
  box-sizing:border-box!important;
  padding:12px!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:16px!important;
  background:transparent!important;
  display:block!important;
}
html body main#main-content .quick-recipient-card>span{
  display:grid!important;
  justify-items:start!important;
  gap:4px!important;
  padding:0 4px 2px!important;
  min-width:0!important;
}
html body main#main-content .quick-recipient-card strong{
  color:#1e293b!important;
  font-weight:800!important;
  line-height:1.2!important;
}
html body main#main-content .quick-recipient-card small{
  display:block!important;
  color:#8b8b93!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:unset!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  max-height:none!important;
  line-height:1.35!important;
}
html body main#main-content .quick-recipient-card>b{
  display:none!important;
}

@media (min-width:1101px){
  html body main#main-content .quick-recipient-list{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:14px!important;
    overflow:visible!important;
  }
  html body main#main-content .quick-recipient-card{
    padding:12px 12px 16px!important;
  }
  html body main#main-content .quick-recipient-card strong{
    font-size:16px!important;
  }
  html body main#main-content .quick-recipient-card small{
    font-size:13px!important;
  }
}

@media (max-width:1100px){
  html body main#main-content .quick-recipient-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  html body main#main-content .quick-recipient-card{
    padding:10px 10px 12px!important;
  }
  html body main#main-content .quick-recipient-card img{
    border-radius:14px!important;
  }
  html body main#main-content .quick-recipient-card strong{
    font-size:14px!important;
  }
  html body main#main-content .quick-recipient-card small{
    display:none!important;
  }
}

@media (max-width:720px){
  html body main#main-content .quick-recipient-section{
    padding-top:12px!important;
  }
  html body main#main-content .quick-recipient-list{
    gap:8px!important;
    padding:0 16px 4px!important;
  }
  html body main#main-content .quick-recipient-card{
    padding:8px 8px 12px!important;
  }
  html body main#main-content .quick-recipient-card img{
    padding:10px!important;
    border-radius:14px!important;
  }
  html body main#main-content .quick-recipient-card.navy img{
    padding:16px!important;
  }
}

/* Product fulfillment chips — show full pickup/city/far icons on phone */
html body #main-content .order-details.product-step,
html body #product-root .order-details.product-step,
html body .product-page .order-details.product-step,
html body .product-page .fulfillment-field,
html body .product-page .fulfillment-options,
html body .product-page .fulfillment-options > button{
  overflow:visible!important;
}
html body #main-content .fulfillment-options > button,
html body #product-root .fulfillment-options > button,
html body main.product-page .fulfillment-options > button,
html body .product-page .fulfillment-options > button{
  overflow:visible!important;
  min-height:0!important;
  padding:12px 6px 10px!important;
  gap:6px!important;
}
html body #main-content .ful-icon,
html body #product-root .ful-icon,
html body main.product-page .ful-icon,
html body .product-page .ful-icon{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  max-width:none!important;
  max-height:none!important;
  flex:0 0 56px!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
}
html body #main-content .ful-icon img,
html body #product-root .ful-icon img,
html body main.product-page .ful-icon img,
html body .product-page .ful-icon img{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  flex:none!important;
  overflow:visible!important;
  mix-blend-mode:multiply!important;
}
@media (max-width:720px){
  html body #main-content .fulfillment-options,
  html body #product-root .fulfillment-options,
  html body main.product-page .fulfillment-options,
  html body .product-page .fulfillment-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  html body #main-content .fulfillment-options > button,
  html body #product-root .fulfillment-options > button,
  html body main.product-page .fulfillment-options > button,
  html body .product-page .fulfillment-options > button{
    padding:10px 4px 8px!important;
  }
  html body #main-content .ful-icon,
  html body #main-content .ful-icon img,
  html body #product-root .ful-icon,
  html body #product-root .ful-icon img,
  html body main.product-page .ful-icon,
  html body main.product-page .ful-icon img,
  html body .product-page .ful-icon,
  html body .product-page .ful-icon img{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    flex-basis:52px!important;
  }
}

/* ===== Popular products — catalog language on homepage ===== */
html body main#main-content #products.live-products-section,
html body main#main-content #products.homepage-first-products{
  background:transparent!important;
}
html body main#main-content #products a.live-product-card,
html body main#main-content #products .live-product-card{
  border:0!important;
  border-width:0!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:var(--mm-shadow)!important;
  padding:10px 10px 14px!important;
  border-radius:var(--mm-radius)!important;
}
html body main#main-content #products a.live-product-card:hover,
html body main#main-content #products .live-product-card:hover{
  box-shadow:var(--mm-shadow-hover)!important;
  border:0!important;
  transform:translateY(-2px)!important;
}
html body main#main-content #products .live-product-image{
  aspect-ratio:1/1!important;
  border-radius:16px!important;
  background:#f6f7f9!important;
  overflow:hidden!important;
}
html body main#main-content #products .live-product-image img{
  object-fit:cover!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
}
html body main#main-content #products .live-product-meta > small{
  background:#fff1ec!important;
  color:#e85a4a!important;
  border-radius:999px!important;
  padding:2px 8px!important;
  font-weight:800!important;
  font-size:11px!important;
}
html body main#main-content #products .live-product-copy > strong{
  color:#1e293b!important;
  font-weight:800!important;
}
html body main#main-content #products .live-product-copy > span:not(.live-product-meta){
  color:#b5a29c!important;
  font-size:12.5px!important;
  -webkit-line-clamp:1!important;
}
html body main#main-content #products .live-product-copy > b{
  color:#ff6b5a!important;
  font-weight:800!important;
  font-size:17px!important;
  letter-spacing:-.02em!important;
  margin-top:6px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
html body main#main-content #products .live-product-copy i,
html body main#main-content #products .live-product-copy > b > i{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:32px!important;
  height:auto!important;
  width:auto!important;
  min-width:0!important;
  padding:0 12px!important;
  margin:0!important;
  background:#fff8f6!important;
  background-image:none!important;
  border:1.5px solid #ffe1d8!important;
  border-radius:999px!important;
  box-shadow:0 4px 12px rgba(255,107,90,.08)!important;
  color:#5c4a45!important;
  font-size:12px!important;
  font-weight:750!important;
  font-style:normal!important;
  letter-spacing:0!important;
  text-decoration:none!important;
}
html body main#main-content #products .popular-footer .button-outline,
html body main#main-content #products .popular-footer a.button-outline{
  border:0!important;
  box-shadow:0 4px 14px rgba(30,30,40,.06)!important;
  border-radius:999px!important;
  font-weight:800!important;
}

@media (min-width:721px){
  html body main#main-content #products .popular-footer>span{
    display:none!important;
  }
}

@media (min-width:721px) and (max-width:1020px){
  html body main#main-content #products .live-products{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    overflow:visible!important;
  }
  html body main#main-content #products a.live-product-card,
  html body main#main-content #products .live-product-card{
    min-width:0!important;
  }
}

@media (min-width:1021px){
  html body main#main-content #products .live-products{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:14px!important;
    overflow:visible!important;
  }
  html body main#main-content #products a.live-product-card,
  html body main#main-content #products .live-product-card{
    min-width:0!important;
  }
}

@media (max-width:720px){
  html body main#main-content #products.live-products-section,
  html body main#main-content #products.homepage-first-products{
    padding-bottom:28px!important;
  }
  html body main#main-content #products a.live-product-card,
  html body main#main-content #products .live-product-card{
    min-width:min(78vw,300px)!important;
    padding:8px 8px 12px!important;
    border-radius:22px!important;
  }
  html body main#main-content #products .live-product-image{
    border-radius:16px!important;
  }
  html body main#main-content #products .live-product-copy i,
  html body main#main-content #products .live-product-copy > b > i{
    min-height:36px!important;
    padding:0 12px!important;
    font-size:12px!important;
  }
}

/* ===== Ideas «Идеи для праздника» — stacked marshmallow tiles ===== */
html body main#main-content #catalog.section{
  background:transparent!important;
}
html body main#main-content #catalog a.category,
html body main#main-content #catalog .category{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
  justify-items:stretch!important;
  align-items:start!important;
  text-align:left!important;
  gap:8px!important;
  padding:10px 10px 14px!important;
  background:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:var(--mm-shadow)!important;
  transition:transform .15s ease, box-shadow .15s ease!important;
}
html body main#main-content #catalog a.category:hover,
html body main#main-content #catalog .category:hover{
  transform:translateY(-2px)!important;
  box-shadow:var(--mm-shadow-hover)!important;
}
html body main#main-content #catalog a.category.pink,
html body main#main-content #catalog .category.pink{
  background:linear-gradient(180deg,#fff 0%,#fff5f8 100%)!important;
  border:0!important;
}
html body main#main-content #catalog a.category.blue,
html body main#main-content #catalog .category.blue{
  background:linear-gradient(180deg,#fff 0%,#f3f8ff 100%)!important;
  border:0!important;
}
html body main#main-content #catalog a.category.purple,
html body main#main-content #catalog .category.purple{
  background:linear-gradient(180deg,#fff 0%,#f7f3ff 100%)!important;
  border:0!important;
}
html body main#main-content #catalog a.category.navy,
html body main#main-content #catalog .category.navy{
  background:linear-gradient(180deg,#fff 0%,#f2f5fb 100%)!important;
  border:0!important;
}
html body main#main-content #catalog a.category.yellow,
html body main#main-content #catalog .category.yellow{
  background:linear-gradient(180deg,#fff 0%,#fff8e8 100%)!important;
  border:0!important;
}
html body main#main-content #catalog a.category.coral,
html body main#main-content #catalog .category.coral{
  background:linear-gradient(180deg,#fff 0%,#fff4f0 100%)!important;
  border:0!important;
}
html body main#main-content #catalog a.category.green,
html body main#main-content #catalog .category.green{
  background:linear-gradient(180deg,#fff 0%,#f1faf4 100%)!important;
  border:0!important;
}
html body main#main-content #catalog a.category.rainbow,
html body main#main-content #catalog .category.rainbow{
  background:linear-gradient(180deg,#fff 0%,#f7f3ff 100%)!important;
  border:0!important;
}
html body main#main-content #catalog .category-image,
html body main#main-content #catalog .category img.category-image,
html body main#main-content #catalog a.category > img{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:1/1!important;
  box-sizing:border-box!important;
  padding:12px!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:16px!important;
  background:transparent!important;
  display:block!important;
}
html body main#main-content #catalog .category-copy{
  display:grid!important;
  justify-items:start!important;
  gap:4px!important;
  padding:0 4px 2px!important;
  min-width:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body main#main-content #catalog .category-copy strong{
  color:#1e293b!important;
  font-weight:800!important;
  line-height:1.2!important;
}
html body main#main-content #catalog .category-copy small{
  color:#8b8b93!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:unset!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  max-height:none!important;
  line-height:1.35!important;
}
html body main#main-content #catalog .category-arrow{
  display:none!important;
}

@media (min-width:1101px){
  html body main#main-content #catalog .categories{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:14px!important;
  }
  html body main#main-content #catalog a.category,
  html body main#main-content #catalog .category{
    padding:10px 10px 14px!important;
  }
  html body main#main-content #catalog .category-image,
  html body main#main-content #catalog .category img.category-image,
  html body main#main-content #catalog a.category > img{
    padding:6px!important;
  }
  html body main#main-content #catalog .category-copy strong{
    font-size:16px!important;
  }
  html body main#main-content #catalog .category-copy small{
    display:block!important;
    font-size:13px!important;
  }
}

@media (max-width:1100px){
  html body main#main-content #catalog .categories{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  html body main#main-content #catalog a.category,
  html body main#main-content #catalog .category{
    padding:10px 10px 12px!important;
  }
  html body main#main-content #catalog .category-image,
  html body main#main-content #catalog .category img.category-image,
  html body main#main-content #catalog a.category > img{
    padding:10px!important;
    border-radius:14px!important;
  }
  html body main#main-content #catalog .category-copy strong{
    font-size:14px!important;
  }
  html body main#main-content #catalog .category-copy small{
    display:none!important;
  }
}

@media (max-width:720px){
  html body main#main-content #catalog.section{
    padding:24px 16px 12px!important;
  }
  html body main#main-content #catalog .categories{
    gap:8px!important;
  }
  html body main#main-content #catalog a.category,
  html body main#main-content #catalog .category{
    padding:8px 8px 12px!important;
  }
  html body main#main-content #catalog .category-image,
  html body main#main-content #catalog .category img.category-image,
  html body main#main-content #catalog a.category > img{
    padding:10px!important;
    border-radius:14px!important;
  }
}

/* ===== Budget «Какой у вас бюджет?» — marshmallow row tiles ===== */
html body main#main-content #budget.budget-section{
  width:100%!important;
  max-width:none!important;
  margin:28px 0 0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
html body main#main-content #budget .budget-heading{
  margin:0 0 16px!important;
}
html body main#main-content #budget .budgets{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
html body main#main-content #budget a.budget-card,
html body main#main-content #budget .budget-card{
  display:grid!important;
  grid-template-columns:72px 1fr!important;
  align-items:center!important;
  gap:12px!important;
  min-height:48px!important;
  padding:10px 12px!important;
  border:0!important;
  border-width:0!important;
  border-radius:22px!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:var(--mm-shadow)!important;
  text-decoration:none!important;
  transition:transform .15s ease, box-shadow .15s ease!important;
}
html body main#main-content #budget a.budget-card:hover,
html body main#main-content #budget .budget-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:var(--mm-shadow-hover)!important;
  border:0!important;
}
html body main#main-content #budget .budget-card strong{
  color:#1e293b!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
html body main#main-content #budget .budget-card small{
  color:#8b8b93!important;
  font-weight:600!important;
}
html body main#main-content #budget .budget-icon{
  width:72px!important;
  height:72px!important;
  flex:none!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:16px!important;
  overflow:hidden!important;
  padding:6px!important;
  box-sizing:border-box!important;
}
html body main#main-content #budget .budget-card.budget-red .budget-icon,
html body main#main-content #budget a.budget-red .budget-icon{
  background:#fff1f0!important;
}
html body main#main-content #budget .budget-card.budget-orange .budget-icon,
html body main#main-content #budget a.budget-orange .budget-icon{
  background:#fff5eb!important;
}
html body main#main-content #budget .budget-card.budget-yellow .budget-icon,
html body main#main-content #budget a.budget-yellow .budget-icon{
  background:#fffbeb!important;
}
html body main#main-content #budget .budget-card.budget-green .budget-icon,
html body main#main-content #budget a.budget-green .budget-icon{
  background:#eefbf2!important;
}
html body main#main-content #budget .budget-card.budget-blue .budget-icon,
html body main#main-content #budget a.budget-blue .budget-icon{
  background:#eef6ff!important;
}
html body main#main-content #budget .budget-card.budget-purple .budget-icon,
html body main#main-content #budget a.budget-purple .budget-icon{
  background:#f5f0ff!important;
}
html body main#main-content #budget .budget-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:10px!important;
  background:transparent!important;
}

@media (max-width:1100px){
  html body main#main-content #budget .budgets{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  html body main#main-content #budget a.budget-card,
  html body main#main-content #budget .budget-card{
    grid-template-columns:64px 1fr!important;
    padding:10px!important;
  }
  html body main#main-content #budget .budget-icon{
    width:64px!important;
    height:64px!important;
    border-radius:14px!important;
  }
}

@media (max-width:720px){
  html body main#main-content #budget.budget-section{
    margin-top:20px!important;
    padding:0!important;
  }
  html body main#main-content #budget .budget-heading{
    margin-bottom:12px!important;
  }
  html body main#main-content #budget .budgets{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  html body main#main-content #budget a.budget-card,
  html body main#main-content #budget .budget-card{
    grid-template-columns:56px 1fr!important;
    padding:8px 10px!important;
    border-radius:18px!important;
    gap:10px!important;
  }
  html body main#main-content #budget .budget-icon{
    width:56px!important;
    height:56px!important;
    border-radius:12px!important;
    padding:4px!important;
  }
  html body main#main-content #budget .budget-card strong{
    font-size:15px!important;
  }
  html body main#main-content #budget .budget-card small{
    font-size:12px!important;
  }
}

/* ===== Characters «Кого позовём на праздник?» — marshmallow tiles ===== */
html body main#main-content #characters.characters-section{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
html body main#main-content #characters a.character-card,
html body main#main-content #characters .character-card{
  border:0!important;
  border-width:0!important;
  border-radius:22px!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:var(--mm-shadow)!important;
  overflow:hidden!important;
  transition:transform .15s ease, box-shadow .15s ease!important;
}
html body main#main-content #characters a.character-card:hover,
html body main#main-content #characters .character-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:var(--mm-shadow-hover)!important;
  border:0!important;
  border-color:transparent!important;
}
html body main#main-content #characters .character-picture{
  background:#fff5eb!important;
  border:0!important;
  overflow:hidden!important;
  padding:8px!important;
  box-sizing:border-box!important;
}
html body main#main-content #characters .character-card:nth-child(6n+1) .character-picture{
  background:#fff1f0!important;
}
html body main#main-content #characters .character-card:nth-child(6n+2) .character-picture{
  background:#fff5eb!important;
}
html body main#main-content #characters .character-card:nth-child(6n+3) .character-picture{
  background:#fffbeb!important;
}
html body main#main-content #characters .character-card:nth-child(6n+4) .character-picture{
  background:#eefbf2!important;
}
html body main#main-content #characters .character-card:nth-child(6n+5) .character-picture{
  background:#eef6ff!important;
}
html body main#main-content #characters .character-card:nth-child(6n) .character-picture{
  background:#f5f0ff!important;
}
html body main#main-content #characters .character-picture img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border-radius:10px!important;
  transform:none!important;
}
html body main#main-content #characters .character-card>strong{
  color:#1e293b!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
html body main#main-content #characters .all-characters{
  border:0!important;
  border-width:0!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:var(--mm-shadow)!important;
  border-radius:999px!important;
  color:#1e293b!important;
  font-weight:800!important;
}
html body main#main-content #characters .all-characters:hover{
  transform:translateY(-1px)!important;
  box-shadow:var(--mm-shadow-hover)!important;
  border:0!important;
  border-color:transparent!important;
}

@media (max-width:1100px){
  html body main#main-content #characters a.character-card,
  html body main#main-content #characters .character-card{
    border-radius:18px!important;
  }
}

@media (max-width:720px){
  html body main#main-content #characters a.character-card,
  html body main#main-content #characters .character-card{
    border-radius:18px!important;
  }
  html body main#main-content #characters .character-picture{
    padding:6px!important;
  }
}

/* ===== How-to-order (#delivery) — marshmallow like budget/ideas ===== */
html body main#main-content #delivery.steps-section,
html body main#main-content .steps-section{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  width:100%!important;
  max-width:none!important;
  margin:40px auto 0!important;
  padding:0 max(32px, calc((100% - 1280px) / 2))!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  position:relative!important;
}
/* Kill candy décor from style.css (blobs, dashed connector, auras) */
html body main#main-content #delivery.steps-section:before,
html body main#main-content #delivery.steps-section:after,
html body main#main-content .steps-section:before,
html body main#main-content .steps-section:after,
html body main#main-content #delivery .steps:before,
html body main#main-content .steps:before,
html body main#main-content #delivery .step-card:after,
html body main#main-content #delivery .step-pink:after,
html body main#main-content #delivery .step-blue:after,
html body main#main-content #delivery .step-yellow:after,
html body main#main-content .step-card:after,
html body main#main-content .step-pink:after,
html body main#main-content .step-blue:after,
html body main#main-content .step-yellow:after{
  content:none!important;
  display:none!important;
  animation:none!important;
  background:none!important;
  border:0!important;
}
html body main#main-content #delivery > div,
html body main#main-content #delivery .section-heading,
html body main#main-content .steps-section > div{
  margin:0 0 20px!important;
}
html body main#main-content #delivery .eyebrow,
html body main#main-content .steps-section .eyebrow{
  margin:0 0 6px!important;
  color:#8b8b93!important;
  letter-spacing:.08em!important;
}
html body main#main-content #delivery h2,
html body main#main-content .steps-section h2{
  margin:0!important;
  color:#1e293b!important;
  letter-spacing:-.03em!important;
  animation:none!important;
}
html body main#main-content #delivery h2:after,
html body main#main-content .steps-section h2:after{
  content:none!important;
  display:none!important;
}
html body main#main-content #delivery .steps,
html body main#main-content .steps{
  display:grid!important;
  grid-template-columns:repeat(3, minmax(0, 1fr))!important;
  gap:14px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  width:100%!important;
  max-width:none!important;
  position:relative!important;
}
html body main#main-content #delivery .step-card,
html body main#main-content .steps .step-card,
html body main#main-content .steps li.step-card{
  border:0!important;
  border-width:0!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:var(--mm-shadow)!important;
  border-radius:var(--mm-radius)!important;
  padding:20px 18px 22px!important;
  margin:0!important;
  min-height:0!important;
  overflow:hidden!important;
  position:relative!important;
  transform:none!important;
  animation:none!important;
  transition:transform .15s ease, box-shadow .15s ease!important;
}
html body main#main-content #delivery .step-card:hover,
html body main#main-content .steps .step-card:hover{
  border:0!important;
  box-shadow:var(--mm-shadow-hover)!important;
  transform:translateY(-2px)!important;
}
html body main#main-content #delivery .step-number,
html body main#main-content .step-number{
  position:absolute!important;
  top:14px!important;
  right:16px!important;
  margin:0!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  color:#ff8e7a!important;
  opacity:1!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body main#main-content #delivery .step-icon,
html body main#main-content .step-icon{
  width:88px!important;
  height:88px!important;
  margin:0 0 14px!important;
  padding:8px!important;
  border:0!important;
  border-radius:16px!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  box-shadow:none!important;
  transform:none!important;
  animation:none!important;
  background-image:none!important;
}
/* Pastel wells — same family as budget tiles */
html body main#main-content #delivery .step-pink .step-icon,
html body main#main-content .step-pink .step-icon{
  background:#fff1f0!important;
}
html body main#main-content #delivery .step-blue .step-icon,
html body main#main-content .step-blue .step-icon{
  background:#eef6ff!important;
}
html body main#main-content #delivery .step-yellow .step-icon,
html body main#main-content .step-yellow .step-icon{
  background:#fffbeb!important;
}
html body main#main-content #delivery .step-icon img,
html body main#main-content .step-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:10px!important;
  background:transparent!important;
  transform:none!important;
  filter:none!important;
  display:block!important;
}
html body main#main-content #delivery .step-card strong,
html body main#main-content .step-card strong{
  display:block!important;
  margin:0 0 8px!important;
  color:#1e293b!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  font-size:clamp(17px, 1.6vw, 19px)!important;
  line-height:1.25!important;
}
html body main#main-content #delivery .step-card p,
html body main#main-content .step-card p{
  margin:0!important;
  color:#8b8b93!important;
  font-size:14px!important;
  line-height:1.45!important;
  max-width:28em!important;
}

@media (max-width:1100px){
  html body main#main-content #delivery.steps-section,
  html body main#main-content .steps-section{
    margin-top:28px!important;
    padding:0 16px!important;
  }
  html body main#main-content #delivery .steps,
  html body main#main-content .steps{
    gap:12px!important;
  }
  html body main#main-content #delivery .step-card,
  html body main#main-content .steps .step-card{
    padding:18px 16px 20px!important;
    border-radius:20px!important;
  }
  html body main#main-content #delivery .step-icon,
  html body main#main-content .step-icon{
    width:80px!important;
    height:80px!important;
    margin-bottom:12px!important;
    border-radius:14px!important;
  }
}

@media (max-width:720px){
  html body main#main-content #delivery.steps-section,
  html body main#main-content .steps-section{
    margin-top:24px!important;
    padding:0 16px!important;
  }
  html body main#main-content #delivery .steps,
  html body main#main-content .steps{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  html body main#main-content #delivery .step-card,
  html body main#main-content .steps .step-card,
  html body main#main-content .steps li.step-card{
    display:grid!important;
    grid-template-columns:72px minmax(0, 1fr)!important;
    grid-template-areas:"icon title" "icon text"!important;
    column-gap:12px!important;
    row-gap:4px!important;
    align-items:start!important;
    padding:14px 40px 14px 14px!important;
    border-radius:18px!important;
  }
  html body main#main-content #delivery .step-icon,
  html body main#main-content .step-icon{
    grid-area:icon!important;
    width:72px!important;
    height:72px!important;
    margin:0!important;
    padding:6px!important;
    border-radius:14px!important;
    align-self:center!important;
  }
  html body main#main-content #delivery .step-card strong,
  html body main#main-content .step-card strong{
    grid-area:title!important;
    margin:0!important;
    font-size:16px!important;
  }
  html body main#main-content #delivery .step-card p,
  html body main#main-content .step-card p{
    grid-area:text!important;
    font-size:13px!important;
    max-width:none!important;
  }
  html body main#main-content #delivery .step-number,
  html body main#main-content .step-number{
    top:12px!important;
    right:14px!important;
    font-size:12px!important;
  }
}

/* ===== Service info (delivery + price) — marshmallow like steps/budget ===== */
html body main#main-content .service-info,
html body main#main-content .service-info.section{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  width:100%!important;
  max-width:none!important;
  margin:40px auto 0!important;
  padding:0 max(32px, calc((100% - 1280px) / 2))!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  position:relative!important;
  overflow:visible!important;
}
html body main#main-content .service-info:before,
html body main#main-content .service-info:after{
  content:none!important;
  display:none!important;
  animation:none!important;
}
html body main#main-content .service-info a.delivery-card,
html body main#main-content .service-info a.price-card,
html body main#main-content .service-info .delivery-card,
html body main#main-content .service-info .price-card,
html body main#main-content .service-info article{
  border:0!important;
  border-width:0!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:var(--mm-shadow)!important;
  border-radius:var(--mm-radius)!important;
  padding:22px 20px 20px!important;
  margin:0!important;
  overflow:hidden!important;
  position:relative!important;
  display:block!important;
  text-decoration:none!important;
  color:inherit!important;
  transform:none!important;
  animation:none!important;
  transition:transform .15s ease, box-shadow .15s ease!important;
}
html body main#main-content .service-info a.delivery-card:hover,
html body main#main-content .service-info a.price-card:hover,
html body main#main-content .service-info .delivery-card:hover,
html body main#main-content .service-info .price-card:hover,
html body main#main-content .service-info article:hover{
  border:0!important;
  box-shadow:var(--mm-shadow-hover)!important;
  transform:translateY(-2px)!important;
}
html body main#main-content .service-info .info-icon{
  position:static!important;
  top:auto!important;
  right:auto!important;
  width:88px!important;
  height:88px!important;
  margin:0 0 14px!important;
  padding:8px!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:16px!important;
  box-shadow:none!important;
  animation:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  background-image:none!important;
}
html body main#main-content .service-info .delivery-card .info-icon,
html body main#main-content .service-info a.delivery-card .info-icon{
  background:#fff1f0!important;
}
html body main#main-content .service-info .price-card .info-icon,
html body main#main-content .service-info a.price-card .info-icon{
  background:#fffbeb!important;
}
html body main#main-content .service-info .info-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  border-radius:10px!important;
  background:transparent!important;
  filter:none!important;
  transform:none!important;
}
html body main#main-content .service-info .eyebrow{
  margin:0 0 6px!important;
  color:#8b8b93!important;
  letter-spacing:.08em!important;
}
html body main#main-content .service-info h2{
  max-width:18em!important;
  margin:0 0 16px!important;
  font-size:clamp(22px, 2.4vw, 28px)!important;
  line-height:1.15!important;
  letter-spacing:-.03em!important;
  color:#1e293b!important;
  font-weight:800!important;
}
html body main#main-content .service-info ul{
  color:#8b8b93!important;
  gap:10px!important;
  margin:0 0 20px!important;
  padding:0!important;
  line-height:1.45!important;
  list-style:none!important;
  display:grid!important;
}
html body main#main-content .service-info li{
  padding-left:22px!important;
  position:relative!important;
  font-size:15px!important;
  color:#8b8b93!important;
}
html body main#main-content .service-info li:before{
  content:"✓"!important;
  color:#ff8e7a!important;
  font-weight:700!important;
  font-size:13px!important;
  position:absolute!important;
  left:0!important;
  top:.15em!important;
}
html body main#main-content .service-info .price-list{
  gap:0!important;
  margin:0 0 20px!important;
  display:grid!important;
}
html body main#main-content .service-info .price-list div{
  color:#8b8b93!important;
  border-bottom:1px solid #f1f4f8!important;
  border-top:0!important;
  justify-content:space-between!important;
  align-items:baseline!important;
  gap:16px!important;
  padding:11px 0!important;
  display:flex!important;
  font-size:14px!important;
}
html body main#main-content .service-info .price-list div:last-child{
  border-bottom:0!important;
}
html body main#main-content .service-info .price-list strong,
html body main#main-content .service-info li strong{
  color:#ff6b5a!important;
  white-space:nowrap!important;
  font-weight:800!important;
  font-size:14px!important;
}
html body main#main-content .service-info .info-page-link,
html body main#main-content .service-info a.info-page-link,
html body main#main-content .service-info span.info-page-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin-top:4px!important;
  color:#8b8b93!important;
  font-weight:700!important;
  font-size:14px!important;
  letter-spacing:-.01em!important;
  text-decoration:none!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  box-shadow:none!important;
  transition:color .15s ease!important;
}
html body main#main-content .service-info .info-page-link > b,
html body main#main-content .service-info span.info-page-link > b{
  font-weight:800!important;
  color:inherit!important;
  transition:transform .15s ease!important;
}
html body main#main-content .service-info a.delivery-card:hover .info-page-link,
html body main#main-content .service-info a.price-card:hover .info-page-link,
html body main#main-content .service-info .delivery-card:hover .info-page-link,
html body main#main-content .service-info .price-card:hover .info-page-link{
  color:#ff6b5a!important;
}
html body main#main-content .service-info a.delivery-card:hover .info-page-link > b,
html body main#main-content .service-info a.price-card:hover .info-page-link > b,
html body main#main-content .service-info .delivery-card:hover .info-page-link > b,
html body main#main-content .service-info .price-card:hover .info-page-link > b{
  transform:translateX(2px)!important;
}

@media (max-width:1100px){
  html body main#main-content .service-info,
  html body main#main-content .service-info.section{
    margin-top:28px!important;
    padding:0 16px!important;
    gap:12px!important;
  }
  html body main#main-content .service-info a.delivery-card,
  html body main#main-content .service-info a.price-card,
  html body main#main-content .service-info .delivery-card,
  html body main#main-content .service-info .price-card,
  html body main#main-content .service-info article{
    padding:18px 16px 18px!important;
    border-radius:20px!important;
  }
  html body main#main-content .service-info h2{
    font-size:clamp(20px, 4vw, 24px)!important;
    margin:0 0 14px!important;
  }
  html body main#main-content .service-info .info-icon{
    width:80px!important;
    height:80px!important;
    margin:0 0 12px!important;
    border-radius:14px!important;
  }
}

@media (max-width:720px){
  html body main#main-content .service-info,
  html body main#main-content .service-info.section{
    grid-template-columns:1fr!important;
    margin-top:24px!important;
    gap:10px!important;
    padding:0 16px!important;
  }
  html body main#main-content .service-info a.delivery-card,
  html body main#main-content .service-info a.price-card,
  html body main#main-content .service-info .delivery-card,
  html body main#main-content .service-info .price-card,
  html body main#main-content .service-info article{
    padding:16px 14px 16px!important;
    border-radius:18px!important;
  }
  html body main#main-content .service-info .info-icon{
    width:72px!important;
    height:72px!important;
    margin:0 0 12px!important;
    padding:6px!important;
    border-radius:14px!important;
  }
  html body main#main-content .service-info li,
  html body main#main-content .service-info .price-list div{
    font-size:14px!important;
  }
}

/* ===== About studio (#about) — marshmallow like steps/service ===== */
html body main#main-content #about.studio-story,
html body main#main-content .studio-story{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  width:100%!important;
  max-width:none!important;
  margin:40px auto 0!important;
  padding:0 max(32px, calc((100% - 1280px) / 2))!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0, 0.95fr) minmax(0, 1.05fr)!important;
  gap:36px!important;
  align-items:center!important;
  overflow:visible!important;
  position:relative!important;
}
html body main#main-content #about.studio-story:before,
html body main#main-content #about.studio-story:after,
html body main#main-content .studio-story:before,
html body main#main-content .studio-story:after{
  content:none!important;
  display:none!important;
  animation:none!important;
}
html body main#main-content #about .story-copy,
html body main#main-content .studio-story .story-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
  padding:4px 0!important;
  min-width:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body main#main-content #about .eyebrow,
html body main#main-content .studio-story .eyebrow{
  margin:0 0 8px!important;
  color:#8b8b93!important;
  letter-spacing:.08em!important;
}
html body main#main-content #about h2,
html body main#main-content .studio-story h2{
  margin:0 0 14px!important;
  max-width:16em!important;
  font-size:clamp(26px, 3vw, 36px)!important;
  line-height:1.15!important;
  letter-spacing:-.03em!important;
  color:#1e293b!important;
  font-weight:800!important;
}
html body main#main-content #about .story-copy > p:not(.eyebrow),
html body main#main-content .studio-story .story-copy > p:not(.eyebrow){
  margin:0 0 20px!important;
  max-width:36em!important;
  color:#8b8b93!important;
  font-size:clamp(15px, 1.5vw, 17px)!important;
  line-height:1.5!important;
}
html body main#main-content #about .story-points,
html body main#main-content .studio-story .story-points{
  display:grid!important;
  gap:10px!important;
  margin:0 0 22px!important;
  padding:0!important;
  list-style:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body main#main-content #about .story-points li,
html body main#main-content .studio-story .story-points li{
  display:block!important;
  position:relative!important;
  margin:0!important;
  padding:0 0 0 22px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#1e293b!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.4!important;
}
html body main#main-content #about .story-points li:before,
html body main#main-content .studio-story .story-points li:before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:.1em!important;
  color:#ff8e7a!important;
  font-weight:700!important;
  font-size:13px!important;
}
html body main#main-content #about .story-art,
html body main#main-content .studio-story .story-art{
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:24px!important;
  box-shadow:var(--mm-shadow)!important;
  position:relative!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
}
html body main#main-content #about .story-art:before,
html body main#main-content #about .story-art:after,
html body main#main-content .studio-story .story-art:before,
html body main#main-content .studio-story .story-art:after{
  content:none!important;
  display:none!important;
}
html body main#main-content #about .story-art img,
html body main#main-content .studio-story .story-art img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#fff!important;
  border:0!important;
  border-radius:inherit!important;
  box-shadow:none!important;
  transform:none!important;
  filter:none!important;
}
html body main#main-content #about .story-link,
html body main#main-content .studio-story .story-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  margin:0!important;
  padding:12px 18px!important;
  min-height:44px!important;
  border:0!important;
  background:#fff8f5!important;
  box-shadow:0 4px 14px rgba(255,107,90,.08)!important;
  border-radius:999px!important;
  font-weight:800!important;
  font-size:14px!important;
  letter-spacing:-.01em!important;
  color:#1e293b!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:background .15s ease, color .15s ease, box-shadow .15s ease!important;
}
html body main#main-content #about .story-link > b,
html body main#main-content .studio-story .story-link > b{
  font-weight:800!important;
  color:inherit!important;
  transition:transform .15s ease!important;
}
html body main#main-content #about .story-link:hover,
html body main#main-content .studio-story .story-link:hover{
  border:0!important;
  background:#fff!important;
  color:#ff6b5a!important;
  box-shadow:0 8px 20px rgba(255,107,90,.12)!important;
}
html body main#main-content #about .story-link:hover > b,
html body main#main-content .studio-story .story-link:hover > b{
  transform:translateX(2px)!important;
}

@media (max-width:1100px){
  html body main#main-content #about.studio-story,
  html body main#main-content .studio-story{
    margin-top:32px!important;
    padding:0 16px!important;
    gap:24px!important;
  }
  html body main#main-content #about .story-art,
  html body main#main-content .studio-story .story-art{
    border-radius:20px!important;
  }
}

@media (max-width:900px){
  html body main#main-content #about.studio-story,
  html body main#main-content .studio-story{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  html body main#main-content #about .story-copy,
  html body main#main-content .studio-story .story-copy{
    order:1!important;
  }
  html body main#main-content #about .story-art,
  html body main#main-content .studio-story .story-art{
    order:2!important;
    border-radius:18px!important;
  }
}

/* ===== FAQ — marshmallow cards like steps/service (no icons) ===== */
html body main#main-content .faq-section,
html body main#main-content .faq-section.section{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  width:100%!important;
  max-width:none!important;
  margin:40px auto 0!important;
  padding:0 max(32px, calc((100% - 1280px) / 2))!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0, .72fr) minmax(0, 1.28fr)!important;
  align-items:start!important;
  gap:40px!important;
  overflow:visible!important;
  position:relative!important;
}
html body main#main-content .faq-section:before,
html body main#main-content .faq-section:after{
  content:none!important;
  display:none!important;
}
html body main#main-content .faq-heading{
  position:sticky!important;
  top:28px!important;
  margin:0!important;
  padding:4px 0 0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body main#main-content .faq-heading .eyebrow{
  margin:0 0 8px!important;
  color:#8b8b93!important;
  letter-spacing:.08em!important;
}
html body main#main-content .faq-heading h2{
  margin:0 0 14px!important;
  max-width:12em!important;
  font-size:clamp(26px, 3vw, 36px)!important;
  line-height:1.15!important;
  letter-spacing:-.03em!important;
  color:#1e293b!important;
  font-weight:800!important;
}
html body main#main-content .faq-heading h2:after{
  content:none!important;
  display:none!important;
}
html body main#main-content .faq-heading > p:last-child{
  margin:0!important;
  max-width:28em!important;
  color:#8b8b93!important;
  font-size:clamp(15px, 1.5vw, 17px)!important;
  line-height:1.5!important;
}
html body main#main-content .faq-list{
  display:grid!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
html body main#main-content .faq-list details{
  border:0!important;
  border-width:0!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:var(--mm-shadow)!important;
  border-radius:var(--mm-radius)!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  transform:none!important;
  transition:box-shadow .15s ease!important;
}
html body main#main-content .faq-list details[open]{
  border:0!important;
  box-shadow:var(--mm-shadow-hover)!important;
}
html body main#main-content .faq-list summary{
  cursor:pointer!important;
  display:grid!important;
  grid-template-columns:36px 1fr auto!important;
  align-items:center!important;
  gap:12px!important;
  min-height:56px!important;
  padding:14px 16px 14px 18px!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#1e293b!important;
  font-size:15px!important;
  font-weight:750!important;
  letter-spacing:-.01em!important;
  line-height:1.3!important;
  list-style:none!important;
  -webkit-tap-highlight-color:transparent;
}
html body main#main-content .faq-list summary::-webkit-details-marker{
  display:none!important;
}
html body main#main-content .faq-list summary > span{
  color:#ff8e7a!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  line-height:1!important;
}
html body main#main-content .faq-list summary > b{
  width:30px!important;
  height:30px!important;
  border:0!important;
  background:#fff5f2!important;
  color:#ff6b5a!important;
  box-shadow:none!important;
  border-radius:50%!important;
  place-items:center!important;
  font-size:18px!important;
  font-weight:600!important;
  line-height:1!important;
  display:grid!important;
  transition:transform .2s ease, color .15s ease, background .15s ease!important;
}
html body main#main-content .faq-list details[open] summary > b{
  transform:rotate(45deg)!important;
  background:#ff6b5a!important;
  color:#fff!important;
  border:0!important;
}
html body main#main-content .faq-list details > p{
  margin:0!important;
  padding:0 18px 18px 66px!important;
  color:#8b8b93!important;
  font-size:14px!important;
  line-height:1.55!important;
  background:transparent!important;
}

@media (max-width:1100px){
  html body main#main-content .faq-section,
  html body main#main-content .faq-section.section{
    margin-top:32px!important;
    padding:0 16px!important;
    gap:24px!important;
  }
}

@media (max-width:900px){
  html body main#main-content .faq-section,
  html body main#main-content .faq-section.section{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  html body main#main-content .faq-heading{
    position:static!important;
  }
  html body main#main-content .faq-list details{
    border-radius:18px!important;
  }
  html body main#main-content .faq-list summary{
    min-height:52px!important;
    padding:12px 14px 12px 16px!important;
    font-size:14px!important;
  }
  html body main#main-content .faq-list details > p{
    padding:0 16px 16px 52px!important;
    font-size:13.5px!important;
  }
}

/* ===== Footer — marshmallow finish (CTA + contacts + socials) ===== */
html body main#main-content footer{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body main#main-content footer .footer-cta{
  border:0!important;
  background:linear-gradient(135deg,#fff 0%,#fff6f2 100%)!important;
  box-shadow:var(--mm-shadow)!important;
  border-radius:var(--mm-radius-lg)!important;
  padding:24px 26px!important;
  gap:18px!important;
}
html body main#main-content footer .footer-cta-icon{
  color:#ff8e7a!important;
}
html body main#main-content footer .footer-cta-icon img{
  width:28px!important;
  height:28px!important;
  display:block!important;
}
html body main#main-content footer .footer-cta small{
  color:#8b8b93!important;
  letter-spacing:.08em!important;
}
html body main#main-content footer .footer-cta h2{
  color:#1e293b!important;
  letter-spacing:-.03em!important;
}
html body main#main-content footer .footer-cta p{
  color:#8b8b93!important;
}
html body main#main-content footer .footer-cta button,
html body main#main-content footer .footer-cta > button{
  background:var(--mm-accent-grad)!important;
  background-image:var(--mm-accent-grad)!important;
  border:0!important;
  border-radius:999px!important;
  color:#fff!important;
  font-weight:800!important;
  box-shadow:0 10px 24px rgba(255,107,107,.28),0 4px 10px rgba(255,142,83,.16)!important;
  padding:14px 22px!important;
  min-height:48px!important;
}
html body main#main-content footer .footer-cta button:hover,
html body main#main-content footer .footer-cta > button:hover{
  background:linear-gradient(135deg,#ff5a5a 0%,#ff7a3d 100%)!important;
  background-image:linear-gradient(135deg,#ff5a5a 0%,#ff7a3d 100%)!important;
  border:0!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(255,107,107,.34),0 6px 14px rgba(255,142,83,.2)!important;
}
html body main#main-content footer .footer-social-label,
html body main#main-content footer .footer-nav strong,
html body main#main-content footer .footer-contacts strong{
  color:#8b8b93!important;
  letter-spacing:.06em!important;
}
html body main#main-content footer .footer-main > p,
html body main#main-content footer .footer-main > span{
  color:#8b8b93!important;
}
html body main#main-content footer .footer-nav a{
  color:#1e293b!important;
}
html body main#main-content footer .footer-nav a:hover{
  color:#ff6b5a!important;
}
html body main#main-content footer .footer-phone,
html body main#main-content footer .footer-chat,
html body main#main-content footer .footer-contacts > button.footer-chat,
html body main#main-content footer .footer-contacts > a.footer-phone{
  border:0!important;
  border-width:0!important;
  background:#fff!important;
  box-shadow:var(--mm-shadow)!important;
  border-radius:22px!important;
  color:#1e293b!important;
  transition:transform .15s ease, box-shadow .15s ease!important;
}
html body main#main-content footer .footer-phone:hover,
html body main#main-content footer .footer-chat:hover,
html body main#main-content footer .footer-contacts > button.footer-chat:hover{
  border:0!important;
  box-shadow:var(--mm-shadow-hover)!important;
  transform:translateY(-2px)!important;
}
html body main#main-content footer .footer-phone small,
html body main#main-content footer .footer-chat small{
  color:#8b8b93!important;
}
html body main#main-content footer .footer-phone strong,
html body main#main-content footer .footer-chat strong{
  color:#1e293b!important;
}
html body main#main-content footer .footer-bottom{
  color:#8b8b93!important;
  border-color:#f1f4f8!important;
}
html body main#main-content footer .footer-bottom a{
  color:#ff6b5a!important;
}

@media (max-width:720px){
  html body main#main-content footer .footer-cta{
    grid-template-columns:1fr!important;
    padding:20px 18px!important;
    border-radius:20px!important;
  }
  html body main#main-content footer .footer-cta button,
  html body main#main-content footer .footer-cta > button{
    width:100%!important;
  }
}

/* Sticky mobile CTA removed from homepage */
html body main#main-content .homepage-mobile-cta,
html body .homepage-mobile-cta{
  display:none!important;
}

/* Catalog sort — one quiet marshmallow capsule beside the count */
html body main#main-content.catalog-page .catalog-results-heading{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:8px 16px!important;
}
html body main#main-content.catalog-page .catalog-results-tools{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px 12px;
  min-width:0;
  max-width:100%;
}
html body main#main-content.catalog-page .catalog-results-tools > button[data-showall]{
  flex:0 1 auto;
  min-height:36px;
  padding:8px 12px;
  border:0;
  background:transparent;
  color:#a07870;
  font:inherit;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  cursor:pointer;
}
html body main#main-content.catalog-page .catalog-results-tools > span[role="status"]{
  color:#a07870!important;
  font-weight:700!important;
  font-size:14px;
  white-space:nowrap;
}
html body main#main-content.catalog-page .catalog-sort{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:3px;
  margin:0;
  background:#fff;
  border-radius:999px;
  box-shadow:var(--mm-shadow);
}
html body main#main-content.catalog-page .catalog-sort > button{
  appearance:none;
  margin:0;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:999px!important;
  padding:8px 14px;
  min-height:0;
  font:inherit;
  font-size:13px;
  font-weight:700;
  letter-spacing:-.01em;
  color:#a07870!important;
  cursor:pointer;
  white-space:nowrap;
  line-height:1.2;
}
html body main#main-content.catalog-page .catalog-sort > button.selected{
  background:#fff6f3!important;
  color:#ff6b5a!important;
  box-shadow:0 4px 10px rgba(255,107,90,.12)!important;
}
html body main#main-content.catalog-page .catalog-sort > button:focus-visible{
  outline:none;
  box-shadow:var(--mm-focus)!important;
}
@media (max-width:650px){
  html body main#main-content.catalog-page .catalog-results-heading{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  html body main#main-content.catalog-page .catalog-results-tools{
    justify-content:space-between;
  }
  html body main#main-content.catalog-page .catalog-sort{
    flex:1 1 100%;
  }
  html body main#main-content.catalog-page .catalog-sort > button{
    flex:1 1 0;
    padding:8px 6px;
    text-align:center;
    font-size:12px;
  }
}

/* Catalog “didn’t find it” — marshmallow pillow, coral CTA, no teal */
html body main#main-content.catalog-page .related-custom-card.catalog-custom-order,
html body main#main-content.catalog-page .catalog-custom-order.related-custom-card{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:12px 18px!important;
  border:0!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:var(--mm-shadow)!important;
  border-radius:22px!important;
  padding:16px 18px!important;
}
html body main#main-content.catalog-page .related-custom-card.catalog-custom-order > .vig-emoji,
html body main#main-content.catalog-page .related-custom-card.catalog-custom-order > span{
  display:none!important;
}
html body main#main-content.catalog-page .related-custom-card.catalog-custom-order > div{
  grid-column:1!important;
  grid-row:1!important;
}
html body main#main-content.catalog-page .related-custom-card.catalog-custom-order strong{
  color:#1e293b!important;
}
html body main#main-content.catalog-page .related-custom-card.catalog-custom-order p{
  color:#a07870!important;
}
html body main#main-content.catalog-page .related-custom-card.catalog-custom-order > button,
html body main#main-content.catalog-page .related-custom-card.catalog-custom-order > a{
  grid-column:2!important;
  border:1.5px solid #ffd9d0!important;
  border-radius:999px!important;
  background:#fff7f4!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#ff6b5a!important;
  font-weight:800!important;
  min-height:44px;
  padding:0 18px!important;
}
@media (max-width:650px){
  html body main#main-content.catalog-page .related-custom-card.catalog-custom-order,
  html body main#main-content.catalog-page .catalog-custom-order.related-custom-card{
    grid-template-columns:1fr!important;
  }
  html body main#main-content.catalog-page .related-custom-card.catalog-custom-order > button,
  html body main#main-content.catalog-page .related-custom-card.catalog-custom-order > a{
    grid-column:1!important;
    width:100%;
  }
}

/* Footer sits beside <main>, not inside it — old selectors never reached catalog */
html body footer.site-footer,
html body footer.catalog-footer,
html body footer{
  background:#fffaf8!important;
  background-image:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(255,180,150,.12) 0%,transparent 70%)!important;
  border:0!important;
  box-shadow:var(--mm-shadow)!important;
  border-radius:24px!important;
  color:#1e293b!important;
}
html body footer.site-footer:before,
html body footer.site-footer:after,
html body footer:before,
html body footer:after{
  display:none!important;
  content:none!important;
}
html body footer .footer-main p,
html body footer .footer-main > span{
  color:#6b5b57!important;
}
html body footer .footer-social-label,
html body footer .footer-nav strong,
html body footer .footer-contacts strong{
  color:#a07870!important;
}
html body footer .footer-nav a{
  color:#1e293b!important;
}
html body footer .footer-nav a:hover{
  color:#ff6b5a!important;
}
html body footer .footer-phone,
html body footer .footer-chat{
  border:0!important;
  background:#fff!important;
  box-shadow:var(--mm-shadow)!important;
  border-radius:22px!important;
  color:#1e293b!important;
}
html body footer.catalog-footer .footer-contacts > button,
html body footer.catalog-footer .footer-chat,
html body footer.catalog-footer .footer-contacts > small{
  display:flex!important;
}
html body footer .footer-bottom{
  color:#a07870!important;
  border-color:#f0ddd4!important;
}
html body footer .footer-bottom a{
  color:#ff6b5a!important;
}
@media (max-width:650px){
  html body footer .footer-bottom{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:8px 12px!important;
  }
  html body footer .footer-bottom span:nth-child(2){
    grid-column:1 / -1!important;
    justify-self:center!important;
    order:3!important;
  }
}
html body footer .footer-bottom .vig-emoji{
  display:none!important;
}

/* Footer socials — brand marks only, no pills / captions */
html body footer .footer-social-label,
html body main#main-content .footer-social-label,
html body main#main-content footer .footer-social-label{
  display:none!important;
}
html body footer .footer-socials,
html body main#main-content .footer-socials,
html body main#main-content footer .footer-socials{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:14px!important;
  margin:14px 0 0!important;
  max-width:none!important;
  grid-template-columns:none!important;
}
html body footer .footer-socials a,
html body main#main-content .footer-socials a,
html body main#main-content footer .footer-socials a,
html body footer .footer-socials .social-vk,
html body footer .footer-socials .social-instagram,
html body footer .footer-socials .social-telegram,
html body main#main-content .footer-socials .social-vk,
html body main#main-content .footer-socials .social-instagram,
html body main#main-content .footer-socials .social-telegram{
  width:48px!important;
  height:48px!important;
  min-height:48px!important;
  min-width:48px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  display:flex!important;
  position:relative!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  transform:none!important;
  filter:none!important;
}
html body footer .footer-socials a:hover,
html body main#main-content .footer-socials a:hover{
  transform:translateY(-1px)!important;
  filter:none!important;
  background:transparent!important;
  border:0!important;
}
html body footer .footer-socials a img,
html body main#main-content .footer-socials a img{
  width:48px!important;
  height:48px!important;
  display:block!important;
  object-fit:contain!important;
  opacity:1!important;
  filter:none!important;
}
html body footer .footer-socials a span,
html body main#main-content .footer-socials a span{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Contact modal — same marshmallow cards as footer «В мессенджер» */
html body .modal-backdrop{
  background:rgba(46,32,30,.38)!important;
}
html body .contact-modal{
  background:#fffaf8!important;
  background-image:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(255,180,150,.12) 0%,transparent 70%)!important;
  border:0!important;
  box-shadow:var(--mm-shadow-hover)!important;
  border-radius:24px!important;
  color:#1e293b!important;
}
html body .contact-modal h2{
  color:#1e293b!important;
}
html body .contact-modal > p:not(.modal-note){
  color:#6b5b57!important;
}
html body .contact-modal .modal-note{
  color:#a07870!important;
}
html body .contact-modal .modal-close{
  background:#fff5f2!important;
  border:0!important;
  box-shadow:none!important;
  color:#ff6b5a!important;
  border-radius:14px!important;
}
html body .product-order-modal .modal-close{
  width:36px!important;
  height:36px!important;
  border-radius:50%!important;
  border:2.5px solid #ff6b5a!important;
  background:#fff!important;
  color:#ff6b5a!important;
  box-shadow:none!important;
  font-size:20px!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
}
html body .contact-options{
  gap:8px!important;
}
html body a.contact-option,
html body .contact-option{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:100%!important;
  box-sizing:border-box!important;
  background:#fff!important;
  background-image:none!important;
  border:0 none!important;
  outline:0!important;
  box-shadow:var(--mm-shadow)!important;
  border-radius:22px!important;
  min-height:56px!important;
  padding:8px 14px 8px 10px!important;
  color:#1e293b!important;
  text-decoration:none!important;
}
html body .contact-option:hover{
  box-shadow:var(--mm-shadow-hover)!important;
  transform:none!important;
  background:#fff!important;
}
html body .contact-option strong{
  color:#1e293b!important;
  font-size:16px!important;
  font-weight:750!important;
}
html body .contact-option small{
  color:#a07870!important;
  font-size:12px!important;
}
html body .contact-option > span,
html body .contact-option.whatsapp > span,
html body .contact-option.telegram > span,
html body .contact-option.max > span,
html body .contact-option.phone > span{
  flex:0 0 40px!important;
  width:40px!important;
  height:40px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  display:grid!important;
  place-items:center!important;
}
html body .contact-option > span svg,
html body .contact-option > span img,
html body .contact-option > span .vig-emoji,
html body .contact-option.phone > span .vig-emoji,
html body .contact-option.whatsapp > span img,
html body .contact-option.telegram > span img,
html body .contact-option.max > span img{
  width:40px!important;
  height:40px!important;
  max-width:40px!important;
  max-height:40px!important;
  object-fit:contain!important;
  display:block!important;
  filter:none!important;
}
html body .contact-option.max > span{
  background:transparent!important;
  overflow:visible!important;
  border-radius:0!important;
}
html body .contact-request-summary{
  background:#fff!important;
  border:0!important;
  box-shadow:var(--mm-shadow)!important;
  border-radius:18px!important;
}

/* Product phone/tablet: quiet sticky order */
@media (max-width:1020px){
  html body .mobile-order-bar{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    padding:8px 10px!important;
    border:0!important;
    border-radius:20px!important;
    background:#fffffff8!important;
    box-shadow:0 10px 30px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.03)!important;
  }
  html body .mobile-order-bar.is-away,
  html body .product-page:has(.order-date-picker.is-open) ~ .mobile-order-bar{
    display:none!important;
  }
  html body .mobile-order-bar.is-ready{
    flex-direction:row!important;
    align-items:center!important;
    gap:10px!important;
    padding:8px 10px 8px 14px!important;
    background:#fff8f5!important;
    box-shadow:0 0 0 4px rgba(255,107,107,.16),0 12px 28px rgba(255,107,90,.18)!important;
  }
  html body .mobile-order-price{
    flex:0 0 auto;
    min-width:68px;
    max-width:92px;
  }
  html body .mobile-order-bar.is-ready .mobile-order-price{
    display:grid!important;
    gap:1px;
    min-width:0;
    max-width:118px;
    width:auto;
  }
  html body .mobile-order-price small{
    color:#6f6f78!important;
    font-size:10px!important;
    font-weight:700!important;
  }
  html body .mobile-order-bar.is-ready .mobile-order-price small{
    font-size:11px!important;
    letter-spacing:-.01em;
    color:#c2650f!important;
  }
  html body .mobile-order-price strong{
    color:#2a2a32!important;
    font-size:15px!important;
    font-weight:800!important;
    letter-spacing:-.03em;
  }
  html body .mobile-order-actions{
    flex:1 1 auto;
    min-width:0;
  }
  html body .mobile-order-bar.is-ready .mobile-order-cta,
  html body .mobile-order-bar.is-ready .mobile-order-cta.mobile-order-cta{
    background:#ff6b5a!important;
    background-image:none!important;
    color:#fff!important;
    border:0!important;
    font-weight:800!important;
  }
  html body .mobile-order-contacts{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:6px!important;
    grid-template-columns:none!important;
  }
  html body .mobile-order-msg,
  html body .mobile-order-msg.whatsapp,
  html body .mobile-order-msg.telegram,
  html body .mobile-order-msg.max,
  html body .mobile-order-msg.phone{
    flex:none!important;
    flex-direction:row!important;
    width:48px!important;
    height:48px!important;
    min-height:48px!important;
    padding:0!important;
    border-radius:50%!important;
    overflow:hidden!important;
    background:transparent!important;
    color:#2a2a32!important;
    text-decoration:none!important;
    box-shadow:none!important;
  }
  html body .mobile-order-msg.whatsapp,
  html body .mobile-order-msg.telegram,
  html body .mobile-order-msg.max{
    background:transparent!important;
    border-radius:0!important;
    overflow:visible!important;
  }
  html body .mobile-order-msg small{
    display:none!important;
  }
  html body .mobile-order-msg span,
  html body .mobile-order-msg.whatsapp span,
  html body .mobile-order-msg.telegram span,
  html body .mobile-order-msg.max span,
  html body .mobile-order-msg.phone span{
    display:grid!important;
    place-items:center!important;
    width:48px!important;
    height:48px!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border-radius:0!important;
  }
  html body .mobile-order-msg span img,
  html body .mobile-order-msg.whatsapp img,
  html body .mobile-order-msg.telegram img,
  html body .mobile-order-msg.phone img,
  html body .mobile-order-msg.max img{
    width:48px!important;
    height:48px!important;
    max-width:48px!important;
    max-height:48px!important;
    object-fit:contain!important;
    display:block!important;
  }
  html body .product-page{
    padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))!important;
  }
  html body .product-page .client-block{
    border:0!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 10px 30px rgba(0,0,0,.05),0 2px 8px rgba(0,0,0,.02)!important;
  }
  html body .product-page .client-block.is-next{
    background:#fff8f5!important;
    box-shadow:0 0 0 4px rgba(255,107,107,.16),0 10px 28px rgba(255,107,90,.08)!important;
  }
  html body .product-page .client-ful > button,
  html body .product-page .client-ins input,
  html body .product-page .client-qty input{
    border-radius:16px!important;
  }
  html body .product-page .client-ins input:focus,
  html body .product-page .client-qty input:focus{
    outline:0!important;
    box-shadow:0 0 0 4px rgba(255,107,107,.16)!important;
    border-color:#ff6b6b!important;
  }
  html body .product-page.is-order-ready .related-products{
    margin-top:28px!important;
    opacity:.92;
  }
  html body .product-page.is-order-ready .related-products-heading h2{
    font-size:20px!important;
    color:#6f6f78!important;
  }
  html body .product-page .client-block-title{
    font-size:15px!important;
  }
}

/* Delivery page — same pastel language as price (wins over layered style.css) */
html body.delivery-page main#main-content .info-hero h1 span{
  color:#ff6b5a!important;
  background:none!important;
  -webkit-text-fill-color:#ff6b5a!important;
  background-clip:unset!important;
  -webkit-background-clip:unset!important;
}
html body.delivery-page main#main-content .info-hero{
  background:linear-gradient(105deg,#fff8ec 0%,#fff4f0 42%,#f5f0fb 100%)!important;
  border:1.5px solid #ece8f0!important;
  box-shadow:0 10px 28px rgba(40,36,60,.06)!important;
}
html body.delivery-page main#main-content .info-hero-emoji{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  align-self:flex-start!important;
  flex:none!important;
  background:#fff!important;
  border:1.5px solid #b5d6f3!important;
  border-radius:18px!important;
  overflow:hidden!important;
  place-items:center!important;
  display:grid!important;
}
html body.delivery-page main#main-content .info-hero-emoji img{
  width:44px!important;
  height:44px!important;
  object-fit:contain!important;
}
html body.delivery-page main#main-content article.info-card{
  background:#fff!important;
  border:1.5px solid #ece8f0!important;
  box-shadow:0 10px 26px rgba(40,36,60,.06)!important;
  transform:none!important;
}
html body.delivery-page main#main-content article.info-card.card-blue{
  background:#eef6fd!important;
  border-color:#d4e6f5!important;
}
html body.delivery-page main#main-content article.info-card.card-yellow{
  background:#fff7e8!important;
  border-color:#efe0c4!important;
}
html body.delivery-page main#main-content article.info-card.card-purple{
  background:#f3effa!important;
  border-color:#ddd4ef!important;
}
html body.delivery-page main#main-content article.info-card.card-pink{
  background:#fff1f4!important;
  border-color:#f3d7df!important;
}
html body.delivery-page main#main-content article.info-card.card-mint{
  background:#eaf7f1!important;
  border-color:#cfe8dc!important;
}
html body.delivery-page main#main-content .info-card-icon{
  width:52px!important;
  height:52px!important;
  background:#fff!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
html body.delivery-page main#main-content .info-card.card-blue .info-card-icon{border-color:#b5d6f3!important;}
html body.delivery-page main#main-content .info-card.card-yellow .info-card-icon{border-color:#f5d49a!important;}
html body.delivery-page main#main-content .info-card.card-purple .info-card-icon{border-color:#cebfeb!important;}
html body.delivery-page main#main-content .info-card.card-pink .info-card-icon{border-color:#f5c0cd!important;}
html body.delivery-page main#main-content .info-card.card-mint .info-card-icon{border-color:#b7dccb!important;}
html body.delivery-page main#main-content .info-card-icon img{
  width:40px!important;
  height:40px!important;
  object-fit:contain!important;
}
html body.delivery-page main#main-content .info-big-price{
  background:#fff!important;
  background-image:none!important;
  color:#2a2a32!important;
  border:1.5px solid rgba(255,255,255,.95)!important;
  border-radius:999px!important;
  box-shadow:0 4px 12px rgba(40,36,60,.05)!important;
  transform:none!important;
  -webkit-text-fill-color:#2a2a32!important;
}
html body.delivery-page main#main-content .info-steps>div{
  background:#fff!important;
  border:1.5px solid #e8e8ec!important;
  box-shadow:0 8px 22px rgba(40,36,60,.05)!important;
  transform:none!important;
}
html body.delivery-page main#main-content .info-steps>div>span{
  color:#ff6b5a!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body.delivery-page main#main-content .info-steps a{
  color:#ff6b5a!important;
  font-weight:750!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
html body.delivery-page main#main-content .info-cta{
  background:linear-gradient(105deg,#fff8ec 0%,#f0f4fc 55%,#f5f0fb 100%)!important;
  border:1.5px solid #ece8f0!important;
}
html body.delivery-page main#main-content .delivery-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
html body.delivery-page main#main-content .delivery-slot-note,
html body.delivery-page main#main-content .delivery-grid > .info-card.card-pink{
  grid-column:1 / -1!important;
}
html body.delivery-page main#main-content .info-contact-options>a.max img{
  width:28px!important;
  height:28px!important;
  object-fit:contain!important;
  display:block!important;
}
html body.delivery-page main#main-content .pickup-address{
  display:grid!important;
  gap:2px!important;
  margin:14px 0 0!important;
  padding:12px 14px!important;
  background:rgba(255,255,255,.82)!important;
  border:1.5px solid rgba(255,255,255,.95)!important;
  border-radius:14px!important;
  box-shadow:0 4px 12px rgba(40,36,60,.05)!important;
  font-style:normal!important;
}
html body.delivery-page main#main-content .pickup-address small{
  color:#8b8b93!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  font-size:11px!important;
  font-weight:700!important;
}
html body.delivery-page main#main-content .pickup-address strong{
  color:#2a2a32!important;
  font-size:18px!important;
  letter-spacing:-.02em!important;
  font-weight:800!important;
}
html body.delivery-page main#main-content .pickup-address span{
  color:#6f6f78!important;
  font-weight:600!important;
  font-size:14px!important;
}
html body.delivery-page main#main-content .pickup-address a{
  margin-top:6px!important;
  color:#ff6b5a!important;
  font-weight:750!important;
  font-size:13px!important;
  text-decoration:none!important;
  width:max-content!important;
}
html body.delivery-page main#main-content footer .footer-cta,
html body.delivery-page main#main-content footer .footer-contacts>button{
  display:none!important;
}
/* Laptop header: keep the phone visible once desktop nav is on (style.css hides it ≤1200). */
@media (min-width:1021px){
  html body .site-header .header-phone,
  html body .header .header-phone{
    display:flex!important;
    align-items:center!important;
    overflow:visible!important;
    flex-shrink:0!important;
    min-width:0;
    min-height:44px!important;
    padding:6px 14px 6px 10px!important;
    gap:8px!important;
  }
  html body .site-header .header-phone img,
  html body .header .header-phone img,
  html body .site-header .header-phone .vig-emoji,
  html body .header .header-phone .vig-emoji{
    flex-shrink:0!important;
    width:28px!important;
    height:28px!important;
    object-fit:contain!important;
    display:block!important;
    overflow:visible!important;
  }
  html body .site-header .header-phone strong,
  html body .header .header-phone strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}
@media (min-width:1021px) and (max-width:1200px){
  html body .site-header .location,
  html body .header .location{
    display:none!important;
  }
  html body .site-header .nav,
  html body .header .nav{
    gap:16px!important;
  }
  html body .site-header .header-phone,
  html body .header .header-phone{
    min-height:44px!important;
    padding:6px 12px 6px 10px!important;
    gap:8px!important;
  }
  html body .site-header .header-phone strong,
  html body .header .header-phone strong{
    font-size:13px!important;
  }
}

@media (width<=720px){
  html body.delivery-page main#main-content .delivery-grid{
    grid-template-columns:1fr!important;
  }
  html body.delivery-page main#main-content .info-hero-emoji{
    width:56px!important;
    height:56px!important;
  }
  html body.delivery-page main#main-content .info-hero-emoji img{
    width:100%!important;
    height:100%!important;
  }
}

/* 3D tiles are already framed — do not zoom/crop the subject. */
html body.price-page .info-hero-emoji,
html body.delivery-page main#main-content .info-hero-emoji,
html body.delivery-page main#main-content .info-card-icon,
html body.price-page .price-group-heading>span,
html body.price-page .price-explanation>span{
  overflow:hidden!important;
}
html body.price-page .info-hero-emoji img,
html body.delivery-page main#main-content .info-hero-emoji img,
html body.delivery-page main#main-content .info-card-icon img,
html body.price-page .price-group-heading>span img,
html body.price-page .price-explanation>span img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}

@keyframes mm-photo-wait{
  0%{background-position:100% 0}
  100%{background-position:-100% 0}
}
.catalog-page .catalog-card-image,
.product-page .product-page-main-image,
.product-page-state-loading .product-load-skel{
  background:linear-gradient(90deg,#efeef1 0%,#f7f6f8 42%,#efeef1 100%)!important;
  background-size:200% 100%!important;
  animation:mm-photo-wait 1.15s linear infinite!important;
}
.catalog-page .catalog-card-image:has(img.is-ready),
.product-page .product-page-main-image:has(img.is-ready){
  animation:none!important;
  background:#f4f2f3!important;
}
.catalog-page .catalog-card-image img,
.product-page .product-page-main-image img{
  opacity:0;
  transition:opacity .22s ease;
}
.catalog-page .catalog-card-image img.is-ready,
.product-page .product-page-main-image img.is-ready{
  opacity:1;
}
.catalog-page .catalog-card-skeleton{
  pointer-events:none!important;
  box-shadow:0 10px 24px rgba(0,0,0,.04)!important;
}
.catalog-page .catalog-card-skeleton .catalog-card-copy{
  gap:10px!important;
  padding:4px 2px 8px!important;
}
.catalog-page .catalog-card-skeleton .catalog-card-copy i{
  display:block!important;
  height:12px!important;
  border-radius:999px!important;
  background:#eceaee!important;
}
.catalog-page .catalog-card-skeleton .catalog-card-copy i:nth-child(1){width:42%!important;height:10px!important}
.catalog-page .catalog-card-skeleton .catalog-card-copy i:nth-child(2){width:78%!important;height:16px!important}
.catalog-page .catalog-card-skeleton .catalog-card-copy i:nth-child(3){width:34%!important;height:18px!important;margin-top:8px!important}
.product-page-state-loading{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:16px!important;
  max-width:560px!important;
  margin:24px auto 48px!important;
  padding:0 16px!important;
  color:#6f6f78!important;
  font-weight:650!important;
}
.product-page-state-loading .product-load-skel{
  display:block!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  border-radius:22px!important;
}
.product-page-state-loading p{
  margin:0!important;
  text-align:center!important;
}
.product-page-state:not(.product-page-state-loading){
  display:flex!important;
  justify-content:center!important;
  padding:48px 16px 80px!important;
}
.product-page-state:not(.product-page-state-loading)>div{
  max-width:420px!important;
  width:100%!important;
  padding:28px 22px!important;
  border-radius:24px!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:var(--mm-shadow)!important;
  text-align:center!important;
}
.product-page-state:not(.product-page-state-loading) strong{
  display:block!important;
  color:#2a2a32!important;
  font-size:22px!important;
  margin-bottom:8px!important;
}
.product-page-state:not(.product-page-state-loading) span{
  display:block!important;
  color:#6f6f78!important;
  margin-bottom:20px!important;
}
.product-page-state-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  justify-content:center!important;
}
.product-page-state-actions button{
  appearance:none!important;
  border:0!important;
  border-radius:999px!important;
  padding:12px 20px!important;
  color:#fff!important;
  font-weight:750!important;
  cursor:pointer!important;
  background:var(--mm-accent-grad)!important;
  box-shadow:0 10px 24px rgba(255,107,107,.28)!important;
}
.product-page-state-actions a{
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  padding:12px 20px!important;
  font-weight:750!important;
  color:#ff6b5a!important;
  background:#fff!important;
  border:1.5px solid #ffd4cc!important;
  text-decoration:none!important;
}
html body main#main-content.catalog-page .catalog-empty{
  background:#fff!important;
  border:1.5px solid #ece8f0!important;
  border-radius:24px!important;
  box-shadow:var(--mm-shadow)!important;
}
html body main#main-content.catalog-page .catalog-empty h3{
  color:#2a2a32!important;
}
html body main#main-content.catalog-page .catalog-empty p{
  color:#6f6f78!important;
}
html body main#main-content.catalog-page .catalog-empty button[data-retry],
html body main#main-content.catalog-page .catalog-empty-actions button[data-help],
html body main#main-content.catalog-page .catalog-empty-actions button:not(.secondary){
  appearance:none!important;
  border:0!important;
  border-radius:999px!important;
  padding:12px 20px!important;
  color:#fff!important;
  font-weight:750!important;
  background:var(--mm-accent-grad)!important;
  box-shadow:0 10px 24px rgba(255,107,107,.28)!important;
}
html body main#main-content.catalog-page .catalog-empty-actions button.secondary,
html body main#main-content.catalog-page .catalog-empty-actions button[data-reset]{
  background:#fff!important;
  color:#ff6b5a!important;
  border:1.5px solid #ffd4cc!important;
  border-radius:999px!important;
  box-shadow:none!important;
}

/* Stage 2: pastel groups like delivery; white product cards; catalog footer CTA */
html body.price-page .info-page article.price-group,
html body.price-page article.price-group{
  border:1.5px solid #ece8f0!important;
  box-shadow:0 10px 26px rgba(40,36,60,.06)!important;
}
html body.price-page article.price-group.price-tone-red{
  background:#fff1f4!important;
  border-color:#f3d7df!important;
}
html body.price-page article.price-group.price-tone-blue{
  background:#eef6fd!important;
  border-color:#d4e6f5!important;
}
html body.price-page article.price-group.price-tone-purple{
  background:#f3effa!important;
  border-color:#ddd4ef!important;
}
html body.price-page article.price-group.price-tone-yellow{
  background:#fff7e8!important;
  border-color:#efe0c4!important;
}
html body.price-page article.price-group>div:last-child a{
  background:#fff!important;
  border:0!important;
  box-shadow:0 4px 12px rgba(40,36,60,.05)!important;
  border-radius:16px!important;
}
html body.price-page article.price-group>div:last-child a>strong{
  color:#ff6b5a!important;
}
html body.catalog-page .catalog-card,
html body.catalog-page .catalog-card.color-0,
html body.catalog-page .catalog-card.color-1,
html body.catalog-page .catalog-card.color-2,
html body.catalog-page .catalog-card.color-3,
html body.catalog-page .catalog-card.color-4{
  background:#fff!important;
  border:0!important;
  box-shadow:var(--mm-shadow)!important;
}
html body.catalog-page .catalog-card:hover{
  border:0!important;
}
html body footer.catalog-footer .footer-cta{
  display:grid!important;
  border:0!important;
  background:linear-gradient(135deg,#fff 0%,#fff6f2 100%)!important;
  box-shadow:var(--mm-shadow)!important;
  border-radius:var(--mm-radius-lg, 24px)!important;
  padding:24px 22px!important;
  gap:16px!important;
  margin:0 0 20px!important;
}
html body footer.catalog-footer .footer-cta small{
  color:#8b8b93!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  font-weight:700!important;
}
html body footer.catalog-footer .footer-cta h2{
  color:#1e293b!important;
  letter-spacing:-.03em!important;
  margin:4px 0 6px!important;
}
html body footer.catalog-footer .footer-cta p{
  color:#8b8b93!important;
  margin:0!important;
}
html body footer.catalog-footer .footer-cta button{
  background:var(--mm-accent-grad)!important;
  background-image:var(--mm-accent-grad)!important;
  border:0!important;
  border-radius:999px!important;
  color:#fff!important;
  font-weight:800!important;
  min-height:48px!important;
  box-shadow:0 10px 24px rgba(255,107,107,.28)!important;
}
html body .product-page .product-page-toolbar a,
html body .product-page .product-page-toolbar button{
  border:0!important;
  box-shadow:var(--mm-shadow)!important;
  background:#fff!important;
}


html body footer .footer-contacts img,
html body main#main-content footer .footer-contacts img{
  width:40px!important;
  height:40px!important;
  object-fit:contain!important;
}
@media (max-width:1020px){
  html body:has(.product-page) main > footer{
    display:none!important;
  }
}
/* Phone and tablet: sticky header is 76px. Keep hash targets below it. */
@media (max-width:1020px){
  html body main#main-content #budget,
  html body main#main-content #characters,
  html body main#main-content #delivery,
  html body main#main-content #about{
    scroll-margin-top:88px!important;
  }
}
@media (max-width:650px){
  html body .product-page .related-products-grid .catalog-card-copy > b{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:6px!important;
  }
  html body .product-page .related-products-grid .catalog-card-copy > b > em{
    overflow:visible!important;
    text-overflow:unset!important;
    white-space:normal!important;
    max-width:none!important;
  }
}

html body main#main-content.catalog-page nav.catalog-group-nav.catalog-sections,
html body main#main-content.catalog-page .catalog-group-nav.catalog-sections{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:2px 10px!important;
  max-width:460px!important;
  width:100%!important;
  margin:8px var(--cat-pad, 16px) 4px!important;
  overflow:visible!important;
}
html body main#main-content.catalog-page .catalog-group-nav.catalog-sections > button{
  position:relative!important;
  height:84px!important;
  min-height:84px!important;
  min-width:0!important;
  padding:0 2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
html body main#main-content.catalog-page .catalog-group-nav.catalog-sections > button img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  flex:none!important;
  object-fit:contain!important;
  background:transparent!important;
}
html body main#main-content.catalog-page .catalog-group-nav.catalog-sections > button .pick-disc-ring{
  position:absolute!important;
  inset:8px 6px!important;
  border-radius:999px!important;
  border:2.5px solid transparent!important;
  pointer-events:none!important;
  background:transparent!important;
}
html body main#main-content.catalog-page .catalog-group-nav.catalog-sections.is-picked > button:not(.is-on){opacity:1!important}
html body main#main-content.catalog-page .catalog-group-nav.catalog-sections > button.is-on{
  background:transparent!important;
  box-shadow:none!important;
  border-color:transparent!important;
}
html body main#main-content.catalog-page .catalog-group-nav.catalog-sections > button.is-on .pick-disc-ring{border-color:#ff6b5a!important}

/* Calm icon hover — no looping motion. Delivery cards, delivery steps, home how-to. */
html body.delivery-page main#main-content .info-card-icon img,
html body.delivery-page main#main-content .info-hero-emoji img,
html body.price-page .info-hero-emoji img,
html body.delivery-page main#main-content .info-step-pic,
html body main#main-content .step-icon img{
  transition:transform .22s ease!important;
}
html body.delivery-page main#main-content article.info-card:hover .info-card-icon img,
html body.delivery-page main#main-content .info-steps>div:hover .info-step-pic,
html body main#main-content .step-card:hover .step-icon img{
  transform:translateY(-3px) scale(1.05)!important;
}
html body.delivery-page main#main-content .info-steps>div{
  display:grid!important;
  justify-items:start!important;
  align-content:start!important;
}
html body.delivery-page main#main-content .info-step-pic{
  width:56px!important;
  height:56px!important;
  object-fit:contain!important;
  margin:0 0 10px!important;
  display:block!important;
}
@media (prefers-reduced-motion:reduce){
  html body.delivery-page main#main-content .info-card-icon img,
  html body.delivery-page main#main-content .info-hero-emoji img,
  html body.price-page .info-hero-emoji img,
  html body.delivery-page main#main-content .info-step-pic,
  html body main#main-content .step-icon img,
  html body.delivery-page main#main-content article.info-card:hover .info-card-icon img,
  html body.delivery-page main#main-content .info-steps>div:hover .info-step-pic,
  html body main#main-content .step-card:hover .step-icon img{
    transform:none!important;
    transition:none!important;
  }
}
