/* Product page — soft pastel studio language (match price/delivery/catalog) */

.product-page{
  background:#fff!important;
  color:#2a2a32!important;
}

/* Kill clay lilac offset shadows */
.product-page-card,
.product-page .product-page-card{
  background:#fff!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:22px!important;
  box-shadow:0 10px 28px rgba(40,36,60,.06)!important;
}

@media (width>1020px){
  .product-page-card,
  .product-page .product-page-card{
    box-shadow:0 12px 32px rgba(40,36,60,.07)!important;
  }
}

.product-page .product-page-main-image{
  border:1.5px solid #e8e8ec!important;
  border-radius:18px!important;
  background:#fafafa!important;
  box-shadow:none!important;
}

.product-page .product-page-toolbar a,
.product-page .product-page-toolbar button{
  border:1.5px solid #e8e8ec!important;
  border-radius:14px!important;
  box-shadow:none!important;
  background:#fff!important;
  color:#2a2a32!important;
}

.product-page .product-page-toolbar a:hover,
.product-page .product-page-toolbar button:hover{
  border-color:#ff6b5a!important;
  color:#ff6b5a!important;
}

.product-page-info h1{
  color:#2a2a32!important;
  letter-spacing:-.03em!important;
}

.product-page .product-base-price strong,
.product-page .product-order-total strong{
  color:#2a2a32!important;
}

.product-page .product-base-price small,
.product-page .product-order-total span,
.product-page .sku,
.product-lead p{
  color:#6f6f78!important;
}

/* Soft tag chips */
.product-page-info .product-tag{
  border:1.5px solid #f3d7df!important;
  background:#fff1f4!important;
  color:#2a2a32!important;
  border-radius:999px!important;
  box-shadow:none!important;
  transform:none!important;
}
.product-page-info .product-tag-request{
  background:#eef6fd!important;
  border-color:#d4e6f5!important;
  color:#2a2a32!important;
}
.product-page-info .product-tag-advance{
  background:#fff7e8!important;
  border-color:#efe0c4!important;
  color:#2a2a32!important;
}

/* Order steps — layout only; surface owned by site-marshmallow.css */
.product-page .product-configurator,
.product-page .order-details,
.product-page .product-step{
  border-radius:18px!important;
  transform:none!important;
}

.product-page .product-step .config-title > b,
.product-page .product-step .config-title > b.step-chevron{
  border:1.5px solid #f3d7df!important;
  background:#fff1f4!important;
  color:#ff6b5a!important;
  box-shadow:none!important;
  border-radius:999px!important;
}

.product-page .product-composition-card{
  background:#fff!important;
  border:1.5px solid #e8e8ec!important;
  box-shadow:none!important;
  border-radius:18px!important;
}
.product-page .product-composition-card .eyebrow{
  color:#8b8b93!important;
}
.product-page .composition-item{
  border:1.5px solid #ebe6e3!important;
  border-radius:14px!important;
  box-shadow:none!important;
  background:#fff!important;
  transform:none!important;
}

/* Choice buttons */
.product-page .fulfillment-options > button,
.product-page .digit-options > button,
.product-page .digit-count-options > button,
.product-page .config-choice{
  border:1.5px solid #e8e8ec!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#2a2a32!important;
}
.product-page .fulfillment-options > button.selected,
.product-page .digit-options > button.selected,
.product-page .digit-count-options > button.selected,
.product-page .config-choice.selected{
  border-color:#ff6b5a!important;
  /* white keeps soft-3d PNG square from showing as a nested tile */
  background:#fff!important;
  box-shadow:0 0 0 1px #ff6b5a33!important;
}

.product-page .product-order-total{
  border-top:1.5px solid #e8e8ec!important;
}

/* Digit pad — clay numerals, 3 columns, 9 centered. Mockup hybrid-56-1-digits. */
.order-story-digits{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px 8px;
  width:100%;
  max-width:360px;
  margin:4px auto 0;
  justify-items:center;
}
.order-story-digits .order-story-digit:nth-child(10){
  grid-column:2;
}
.order-story-digit{
  position:relative;
  width:100%;
  max-width:108px;
  aspect-ratio:1;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  display:grid;
  place-items:center;
  -webkit-tap-highlight-color:transparent;
}
.order-story-digit-ring{
  position:absolute;
  inset:6%;
  border-radius:50%;
  border:2.5px solid transparent;
  pointer-events:none;
}
.order-story-digit-face{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:none;
  box-shadow:none;
}
.order-story-digit .digit-clay{
  width:88%;
  height:88%;
  object-fit:contain;
  display:block;
  pointer-events:none;
}
.order-story-digit .digit-clay-on{display:none}
.order-story-digit.selected .digit-clay-off{display:none}
.order-story-digit.selected .digit-clay-on{display:block}
.order-story-digit.selected .order-story-digit-ring{
  border-color:#ff6b5a;
}
.order-story-digit:active .order-story-digit-face{transform:scale(.96)}

/* CTA — surface owned by site-marshmallow.css (--mm-accent-grad) */
.product-page .product-order-button.button-primary,
.product-page .button.button-primary.product-order-button{
  border:0!important;
  border-radius:999px!important;
  color:#fff!important;
}
.product-page .product-order-button.button-primary:hover,
.product-page .button.button-primary.product-order-button:hover{
  transform:none!important;
}

.product-page .related-products-actions > a{
  border:1.5px solid #e8e8ec!important;
  border-radius:14px!important;
  box-shadow:none!important;
  background:#fff!important;
  transform:none!important;
  color:#2a2a32!important;
}
.product-page .related-products-actions > a:hover{
  border-color:#ff6b5a!important;
  color:#ff6b5a!important;
  transform:none!important;
}
.product-page .related-products-actions > a:first-child{
  background:#fff1f4!important;
  border-color:#f3d7df!important;
  color:#2a2a32!important;
}
.product-page .related-products-actions > a span{
  display:none!important;
}

.product-page .related-products-grid .catalog-card{
  border:1.5px solid #e8e8ec!important;
  border-radius:18px!important;
  box-shadow:none!important;
  background:#fff!important;
}
.product-page .related-products-grid .catalog-card-image{
  border-radius:14px!important;
}

/* Modal contacts stay messenger-branded; frame is studio */
.product-order-modal{
  border-radius:22px!important;
  border:1.5px solid #e8e8ec!important;
  box-shadow:0 16px 40px rgba(40,36,60,.12)!important;
}

/* Always-open order steps — no accordion */
.product-page .product-step{
  scroll-margin-top:84px;
}
.product-page .product-step .config-title{
  cursor:default!important;
  list-style:none!important;
}
.product-page .product-step .config-title::-webkit-details-marker,
.product-page .product-step .config-title::marker{
  display:none!important;
}
.product-page .product-step .config-title > b,
.product-page .product-step .step-chevron{
  display:none!important;
}
.product-page .product-step-content{
  display:grid!important;
}

.product-page .product-page-main-image{
  position:relative!important;
  overflow:hidden;
  cursor:zoom-in;
  aspect-ratio:1/1!important;
  width:100%!important;
}
.product-page .product-page-main-image img{
  transition:transform .28s ease;
  transform-origin:center center;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  aspect-ratio:1/1!important;
}
.product-page .product-page-main-image.is-grown{
  cursor:zoom-out;
}
.product-page .product-page-main-image.is-grown img{
  transform:scale(1.16)!important;
}

.product-page .fulfillment-options{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.product-page .fulfillment-options.is-delivery-only{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.product-page .fulfillment-options > button{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px!important;
  text-align:center;
  min-height:88px!important;
  padding:10px 6px!important;
}
.product-page .ful-icon{
  width:56px;
  height:56px;
  border-radius:0;
  display:grid;
  place-items:center;
  flex:none;
  overflow:visible;
  background:transparent!important;
}
.product-page .ful-icon img{
  width:56px;
  height:56px;
  display:block;
  object-fit:contain;
  object-position:center;
  mix-blend-mode:multiply;
}
.product-page .ful-pickup,
.product-page .ful-city,
.product-page .ful-far{background:transparent!important}
.product-page .fulfillment-options > button strong{
  font-size:14px;
  line-height:1.2;
}
.product-page .fulfillment-options > button small{
  font-size:12px;
}

.product-page .fulfillment-field.needs-pick,
.product-page fieldset.needs-pick,
.product-page .config-input.needs-pick{
  border:1.5px solid #ff6b5a!important;
  background:#fff7f6!important;
  border-radius:16px;
  box-shadow:0 0 0 4px rgba(255,107,90,.14);
  padding:10px;
}
.product-page .config-input.needs-pick input{
  border-color:#ff6b5a!important;
  background:#fff!important;
}

/* Date/time popovers must not be clipped by step cards */
.product-page .order-details,
.product-page .order-details.product-step,
.product-page #product-step-date,
.product-page .order-date-field,
.product-page .order-time-field,
.product-page .order-date-row .config-input,
.product-page .product-page-info,
.product-page .product-page-card{
  overflow:visible!important;
}
.product-page .order-date-picker{
  position:relative;
  z-index:1;
  overflow:visible;
}
.product-page .order-date-picker.is-open{
  z-index:40;
}
.product-page .order-date-toggle{
  width:100%;
  min-height:48px;
  text-align:left;
  padding:10px 12px;
  border:1.5px solid #ffd9d0;
  border-radius:14px;
  background:#fffaf3;
  color:#2a2a32;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
/* Mini-cards for date/time — same language as fulfillment */
.product-page .order-dt-card{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  text-align:center;
  min-height:96px;
  padding:10px 6px!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#2a2a32!important;
  font-weight:700;
}
.product-page .order-dt-card.is-picked,
.product-page .order-date-picker.is-open .order-dt-card{
  border-color:#ff6b5a!important;
  background:#fff!important;
  box-shadow:0 0 0 1px #ff6b5a33!important;
}
.product-page .order-dt-card .dt-icon{
  width:56px;
  height:56px;
  border-radius:0;
  display:grid;
  place-items:center;
  flex:none;
  overflow:visible;
  background:transparent!important;
}
.product-page .order-dt-card .dt-icon img{
  width:56px;
  height:56px;
  display:block;
  object-fit:contain;
  object-position:center;
  mix-blend-mode:multiply;
}
.product-page .order-dt-card strong{
  font-size:14px;
  line-height:1.2;
  font-weight:800;
}
.product-page .order-dt-card small{
  font-size:12px;
  font-weight:600;
  color:#9a9aa3;
  line-height:1.2;
  min-height:1.2em;
}
.product-page .order-dt-card.is-picked small{
  color:#c2650f;
}
.product-page .order-cal{
  display:none;
  position:absolute;
  z-index:50;
  left:0;
  right:0;
  top:calc(100% + 6px);
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  padding:12px;
  border-radius:16px;
  border:1.5px solid #ffd9d0;
  background:#fff;
  box-shadow:0 14px 32px rgba(40,36,60,.12);
}
.product-page .order-date-picker.is-open .order-cal{
  display:block;
  scroll-margin-top:88px;
}
.product-page .order-cal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:10px;
}
.product-page .order-cal-head strong{
  font-size:14px;
  text-transform:capitalize;
}
.product-page .order-cal-head button{
  width:36px;
  height:36px;
  border:0;
  border-radius:12px;
  background:#fff5f8;
  color:#2a2a32;
  font-size:20px;
  cursor:pointer;
}
.product-page .order-cal-week,
.product-page .order-cal-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:4px;
  width:100%;
  text-align:center;
}
.product-page .order-cal-week span{
  font-size:11px;
  font-weight:700;
  color:#c2650f;
  padding:4px 0;
  min-width:0;
}
.product-page .cal-day,
.product-page .cal-empty{
  min-width:0;
  width:100%;
  min-height:36px;
  padding:0;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#2a2a32;
  font:inherit;
  font-size:14px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
}
.product-page .cal-empty{
  cursor:default;
  visibility:hidden;
  pointer-events:none;
}
.product-page .cal-day:disabled{
  opacity:.28;
  cursor:not-allowed;
}
.product-page .cal-day.is-today{
  background:#fff1e6;
}
.product-page .cal-day.is-selected{
  background:#ff6b5a;
  color:#fff;
}
.product-page .order-cal-later{
  width:100%;
  margin-top:10px;
  border:0;
  background:transparent;
  color:#6f6f78;
  font:inherit;
  font-size:13px;
  cursor:pointer;
  text-decoration:underline;
}

@media (max-width:1020px){
  .product-page .fulfillment-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

.product-page .order-date-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
  align-items:end;
  overflow:visible;
}
.product-page .order-time-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  max-height:220px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.product-page .time-slot{
  min-width:0;
  min-height:40px;
  border:0;
  border-radius:10px;
  background:#fff6f2;
  color:#2a2a32;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.product-page .time-slot.is-selected{
  background:#ff6b5a;
  color:#fff;
}
.product-page .order-time-picker.is-open .order-cal{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.product-page .config-input textarea{
  width:100%;
  min-height:72px;
  resize:vertical;
  box-sizing:border-box;
  font:inherit;
}
.product-page .order-date-row .config-input input{
  min-width:0;
  width:100%;
}
@media (max-width:650px){
  /* Side-by-side mini-cards; calendar spans full row so days stay readable */
  .product-page .order-date-row{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:stretch;
    position:relative;
  }
  .product-page .order-date-field,
  .product-page .order-time-field{
    min-width:0;
    width:100%;
  }
  .product-page .order-date-picker:not(.order-time-picker).is-open .order-cal{
    left:0;
    right:auto;
    width:calc(200% + 10px);
    max-width:none;
  }
  .product-page .order-time-picker.is-open .order-cal{
    left:auto;
    right:0;
    width:calc(200% + 10px);
    max-width:none;
  }
  .product-page .order-time-grid{
    max-height:180px;
  }
  .product-page .cal-day,
  .product-page .cal-empty{
    min-height:40px;
    font-size:15px;
  }
  .product-page .order-dt-card{
    min-height:88px;
    padding:8px 4px!important;
  }
  .product-page .order-dt-card .dt-icon,
  .product-page .order-dt-card .dt-icon img{
    width:48px;
    height:48px;
  }
}

/* Sticky bar: always price + one CTA (mobile only — hidden on desktop by style.css) */
@media (max-width:1020px){
  .mobile-order-bar{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
  }
  .mobile-order-bar.is-away{
    display:none!important;
  }
  .mobile-order-bar .mobile-order-cta{
    flex:1 1 auto;
    min-height:52px!important;
    border:0!important;
    border-radius:999px!important;
    /* fill owned by site-marshmallow.css */
    color:#fff!important;
    font:inherit!important;
    font-weight:800!important;
    cursor:pointer;
  }
  .mobile-order-bar:not(.is-ready) .mobile-order-cta{
    opacity:1;
  }
  .product-page{
    padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))!important;
  }
  .product-page footer{
    padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))!important;
  }
  .product-page footer .footer-social-label,
  .product-page footer .footer-nav strong,
  .product-page footer .footer-contacts strong{
    color:#8b8b93!important;
  }
  /* .footer-chat card styling теперь общий для всех страниц — см. assets/style.css
     (селектор .product-page footer .footer-chat никогда не совпадал: <footer> —
     сосед #product-root, а не потомок .product-page, рисуемого product.js). */
  .product-page .product-order-button,
  .product-page .product-order-explainer{
    display:none!important;
  }
  .product-page .client-contact .product-order-button.client-submit{
    display:block!important;
    width:100%;
    margin-top:14px;
    min-height:48px;
    border:0;
    border-radius:16px;
    background:#ff6b5a;
    color:#fff;
    font-weight:800;
  }
  .product-page .product-order-total:not(.is-detailed){
    display:none!important;
  }
}

/* ===== Client order form (phone + tablet ≤1020) — no stories overlay ===== */
.order-story{display:none!important}
.client-order{display:none}
.product-page.is-bubble-card .client-order,
.product-page.is-named-card .client-order{
  display:block;
  margin-top:14px;
}
.product-page.is-bubble-card .order-classic-flow .inscription-field,
.product-page.is-bubble-card .order-classic-flow .bubble-options,
.product-page.is-named-card .order-classic-flow .inscription-field,
.product-page.is-named-card .order-classic-flow .product-unit-add{
  display:none!important;
}
@media (min-width:1021px){
  .product-page .product-flower-qty .config-title{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    padding:4px 0!important;
  }
  .product-page .product-flower-qty .config-title > div:first-child{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
  }
  .product-page .product-flower-qty .qty-stepper{
    display:flex;
    align-items:center;
    gap:8px;
    flex:none;
  }
  .product-page .product-flower-qty .qty-stepper button{
    flex:0 0 44px;
    width:44px;
    height:44px;
    border:1.5px solid #ebe6e3;
    border-radius:14px;
    background:#fff;
    color:#2b2b30;
    font:inherit;
    font-size:22px;
    line-height:1;
    cursor:pointer;
  }
  .product-page .product-flower-qty .qty-stepper input{
    width:64px;
    height:44px;
    border:1.5px solid #ebe6e3;
    border-radius:14px;
    padding:0;
    font:inherit;
    font-size:16px;
    font-weight:700;
    text-align:center;
    background:#fff;
    box-sizing:border-box;
  }
}
.flower-qty-sum{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:8px 0 0;
}
.surprise-options{
  display:grid;
  gap:12px;
}
.gender-options{margin:0}
.gender-fills{border:0;margin:0;padding:0}
.gender-fills legend{
  font-size:14px;
  font-weight:700;
  margin:0 0 8px;
}
.gender-fill-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.gender-fill-row button{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:100%;
  margin:0;
  padding:0 0 10px;
  border:2px solid #ebe6e3;
  border-radius:16px;
  background:#fff;
  cursor:pointer;
  font:inherit;
  color:#1c1c1c;
  text-align:center;
}
.gender-fill-row button.selected{border-color:#1c1c1c}
.gender-fill-row img{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:14px 14px 0 0;
  display:block;
  background:#f4f1ee;
}
.gender-fill-row span{
  font-size:15px;
  font-weight:700;
  line-height:1.2;
  padding:0 8px;
}
.surprise-bill-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.surprise-bill-row button{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  text-align:left;
}
.surprise-bill-row button.selected{
  border-color:#1c1c1c;
  background:#fff7ee;
}
.surprise-bill-row button strong{font-size:14px}
.surprise-bill-row button small{color:#8a6a45}

.flower-qty-sum strong{
  font-size:18px;
  font-weight:800;
}
.flower-qty-sum small{
  font-size:14px;
  font-weight:700;
  color:#c2650f;
}

@media (max-width:1020px){
  .product-page.is-mobile-flow .order-classic-flow{
    display:none!important;
  }
  .product-page.is-mobile-flow:not(.is-order-ready) .related-products{
    display:none!important;
  }
  .product-page .product-composition-inline{
    margin:12px 0 4px!important;
  }
  .product-page .product-composition-inline .product-composition-card{
    margin:0!important;
  }
  .product-page.is-client-order .client-order{
    display:grid!important;
    gap:14px;
    margin-top:14px;
    /* Bottom bar (~88) + room so the last step can sit below the sticky header */
    padding-bottom:calc(70vh - 76px);
  }
  .product-page.is-client-order .product-lead{
    display:none!important;
  }

  .client-block{
    border:1.5px solid #ebe6e3;
    border-radius:18px;
    background:#fff;
    padding:14px 12px 16px;
    transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
    /* Sticky header (~76) + bottom order bar (~88) — keep step targets in the clear band */
    scroll-margin-top:88px;
    scroll-margin-bottom:calc(96px + env(safe-area-inset-bottom,0px));
  }
  .client-block.is-next{
    border-color:#ff6b5a;
    background:#fff8f5;
    box-shadow:0 0 0 1px #ff6b5a33;
  }
  .client-block.is-done{
    border-color:#ebe6e3;
    background:#fff;
  }
  .client-block-title{
    margin:0 0 12px;
    font-size:15px;
    font-weight:800;
    color:#2a2a32;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .client-digit-picked{
    margin:-6px 0 8px;
    font-size:13px;
    font-weight:700;
    color:#ff6b5a;
  }
  .client-block.is-done:not(.client-msg):not(.client-info) .client-block-title::after{
    content:'✓';
    width:20px;
    height:20px;
    margin-left:auto;
    border-radius:50%;
    background:#2f9e6c;
    color:#fff;
    font-size:11px;
    font-weight:800;
    display:grid;
    place-items:center;
    line-height:1;
    flex:0 0 auto;
  }
  .client-req{
    margin-left:4px;
    color:#ff6b5a;
    font-weight:800;
  }
  .client-digit-label{
    display:block;
    margin:0 0 8px;
    font-size:12px;
    font-weight:700;
    color:#9a9aa3;
  }
  .client-digits-progress{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
  }
  .client-digits-sep{
    color:#c8c4cc;
    font-weight:700;
  }
  .client-digit-mini{
    width:40px;
    height:40px;
    border:0;
    border-radius:50%;
    font:inherit;
    font-size:18px;
    font-weight:800;
    cursor:pointer;
    color:#fff;
    background:radial-gradient(circle at 32% 28%,#ff9a8b 0%,#ff6b5a 55%,#f05545 100%);
    box-shadow:0 3px 8px rgba(255,107,90,.3);
  }
  .client-digits-done{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    padding:8px 14px;
    border:1.5px solid #ffd9d0;
    border-radius:999px;
    background:#fff5f3;
    font:inherit;
    cursor:pointer;
    color:#2a2a32;
  }
  .client-digits-done strong{
    font-size:18px;
    font-weight:800;
  }
  .client-digits-done small{
    font-size:12px;
    font-weight:600;
    color:#c2650f;
  }
  .client-delta-compact{
    margin-top:12px;
  }
  .client-delta-compact button{
    min-height:56px!important;
  }
  .client-rental{
    margin:0;
    font-size:14px;
    color:#6f6f78;
  }
  .qty-stepper{
    display:flex;
    align-items:center;
    gap:8px;
  }
  .qty-stepper button{
    flex:0 0 48px;
    width:48px;
    height:48px;
    border:1.5px solid #ebe6e3;
    border-radius:14px;
    background:#fff;
    color:#2b2b30;
    font:inherit;
    font-size:22px;
    line-height:1;
    cursor:pointer;
  }
  .qty-stepper button:disabled{
    opacity:.35;
    cursor:default;
  }
  .client-qty input,
  .qty-stepper input{
    width:100%;
    min-height:48px;
    border:1.5px solid #ebe6e3;
    border-radius:14px;
    padding:12px 14px;
    font:inherit;
    font-size:16px;
    background:#fff;
    box-sizing:border-box;
    text-align:center;
  }
  .client-ins{
    position:relative;
    display:flex;
    align-items:center;
    gap:0;
  }
  .ins-balloon{
    position:relative;
    width:148px;
    height:148px;
    margin:0 auto 10px;
  }
  .ins-balloon img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
  }
  .ins-balloon-text{
    position:absolute;
    left:50%;
    top:42%;
    width:max-content;
    max-width:46%;
    transform:translate(-50%,-50%);
    margin:0;
    text-align:center;
    font-size:15px;
    font-weight:800;
    line-height:1.15;
    color:#b9a8a2;
    overflow-wrap:anywhere;
    text-wrap:balance;
    pointer-events:none;
  }
  .ins-balloon-text.is-mid{font-size:13px}
  .ins-balloon-text.is-long{font-size:11px}
  .ins-balloon.is-filled .ins-balloon-text{
    color:#2a2a32;
  }
  .client-ful > button .ful-icon,
  .client-when .order-dt-card .dt-icon{
    position:relative;
  }
  .client-ful > button.selected .ful-icon::after,
  .client-when .order-dt-card.is-picked .dt-icon::after{
    content:'';
    position:absolute;
    inset:-7px;
    border:2.5px solid #ff6b5a;
    border-radius:50%;
    pointer-events:none;
  }
  .client-ins input,
  .client-ins textarea{
    width:100%;
    min-height:48px;
    border:1.5px solid #ebe6e3;
    border-radius:14px;
    padding:12px 14px;
    font:inherit;
    font-size:16px;
    background:#fff;
    box-sizing:border-box;
  }
  .client-ins textarea{min-height:72px;resize:vertical}
  .client-block.is-next .client-ins input,
  .client-block.is-next .client-ins textarea{
    border-color:#ffd0c6;
    background:#fff;
  }
  .client-ins.is-filled input,
  .client-ins.is-filled textarea{
    border-color:#cfe8da;
  }
  .client-ful{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .client-ful.is-delivery-only,
  .fulfillment-options.is-delivery-only{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .client-ful > button{
    min-height:108px!important;
    padding:10px 4px!important;
    transition:opacity .15s ease, border-color .15s ease, background .15s ease, box-shadow .15s ease;
  }
  .client-ful.is-pick > button{
    opacity:.78;
  }
  .client-ful:not(.is-pick) > button:not(.selected){
    opacity:.5;
  }
  .client-ful > button.selected{
    opacity:1!important;
    border-color:#ff6b5a!important;
    background:#fff!important;
    box-shadow:0 0 0 1px #ff6b5a33!important;
  }
  .client-block.is-next .client-ful > button{
    opacity:1;
  }
  .client-when .order-date-row{
    margin:0!important;
  }
  .client-when .order-dt-card{
    min-height:72px;
    padding:8px 4px!important;
  }
  .client-when .order-dt-card .dt-icon,
  .client-when .order-dt-card .dt-icon img{
    width:40px;
    height:40px;
  }
  .client-msg .order-sum-msg{
    margin-top:0;
  }

  .order-story-digits,
  .client-digits{
    padding-bottom:0!important;
    scroll-margin-bottom:calc(88px + env(safe-area-inset-bottom,0px));
  }
  .order-story-delta,
  .client-delta{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    width:100%;
  }
  .order-story-delta button,
  .client-delta button{
    min-height:72px;
    border:1.5px solid #ebe6e3;
    border-radius:16px;
    background:#fffaf7;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    cursor:pointer;
    font:inherit;
  }
  .order-story-delta button.selected,
  .client-delta button.selected{
    border-color:#ff6b5a;
    background:#fff5f3;
  }
  .order-story-delta strong,
  .client-delta strong{font-size:22px;font-weight:800}
  .order-story-delta small,
  .client-delta small{font-size:11px;color:#9a9aa3;font-weight:600}

  .order-sum-msg{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .order-sum-msg > a{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:52px;
    border-radius:16px;
    color:#fff;
    text-decoration:none;
    font-weight:800;
    font-size:15px;
  }
  .order-sum-msg > a span{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
  }
  .order-sum-msg > a span svg,
  .order-sum-msg > a span img{
    width:22px;
    height:22px;
  }
  .order-sum-wa{background:#25d366}
  .order-sum-tg{background:#229ed9}
  .order-sum-max{background:#ff6b5a}
}

.order-hp{
  position:absolute!important;
  left:-9999px!important;
  height:0!important;
  width:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.order-choice-stack{
  display:grid;
  gap:10px;
  margin:14px 0 8px;
}
.order-choice-btn{
  display:grid;
  gap:4px;
  text-align:left;
  padding:14px 16px;
  border:1.5px solid #ebe6e3;
  border-radius:16px;
  background:#fff;
  font:inherit;
  cursor:pointer;
  color:#2a2a32;
}
.order-choice-btn strong{
  font-size:16px;
  font-weight:800;
}
.order-choice-btn small{
  color:#6b6b75;
  font-size:13px;
  font-weight:600;
}
.order-choice-btn.is-primary{
  background:#ff6b5a;
  border-color:#ff6b5a;
  color:#fff;
}
.order-choice-btn.is-primary small{
  color:#ffe8e4;
}
.order-choice-msg{
  margin-top:8px;
}
.order-alt-contacts a{
  color:#2a2a32;
  font-weight:700;
}
.order-contact-fields{
  display:grid;
  gap:12px;
  margin-top:14px;
}
.client-contact .client-digit-label{
  margin-bottom:6px;
}
.order-choice-btn:has(.order-choice-ico){
  grid-template-columns:44px 1fr;
  align-items:center;
  column-gap:12px;
}
.order-choice-btn .order-choice-ico{
  width:44px;
  height:44px;
  padding:4px;
  background:#f4f1ee;
  border-radius:50%;
  object-fit:contain;
  box-sizing:border-box;
}
.order-choice-btn.is-primary .order-choice-ico{
  background:#fff;
}
.order-choice-btn:has(.order-choice-ico) span{
  display:grid;
  gap:4px;
}
@media (max-width:1020px){
  .client-contact .contact-clay{
    position:relative;
    width:72px;
    height:72px;
    margin:0 auto 12px;
  }
  .client-contact .contact-clay img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
  }
  .client-contact .contact-clay.is-on::after{
    content:'';
    position:absolute;
    inset:-7px;
    border:2.5px solid #ff6b5a;
    border-radius:50%;
    pointer-events:none;
  }
  html body:has(.product-page) main > footer{
    display:none!important;
  }
}
@media (max-width:650px){
  .product-page .related-products-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }
  .product-page .related-products-grid .catalog-card{
    flex:none!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
  }
  .product-page .related-products-grid .catalog-card-copy > strong{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    white-space:normal!important;
    overflow:hidden!important;
    line-height:1.25!important;
  }
  .product-page .related-products-grid .catalog-card-copy > b{
    grid-template-columns:1fr!important;
    justify-items:start!important;
    white-space:normal!important;
  }
  .product-page .related-products-grid .catalog-card-copy > b > em{
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }
}

.bubble-colors{
  border:0;
  margin:0 0 14px;
  padding:0;
}
.bubble-ins{
  display:block;
  margin-top:4px;
}
.bubble-ins .client-digit-label{
  display:block;
  margin:0 0 8px;
  font-size:16px;
  font-weight:700;
  color:#2a2a32;
}
.bubble-colors legend{
  font-weight:700;
  margin-bottom:8px;
}
.bubble-color-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.bubble-color-row button{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:0;
  border:2px solid transparent;
  background:transparent;
  border-radius:50%;
  cursor:pointer;
}
.bubble-color-row button.selected{
  border-color:#e24b4b;
}
.bubble-swatch{
  width:28px;
  height:28px;
  border-radius:50%;
  border:1px solid rgba(20,16,12,.18);
  display:block;
}
.bubble-swatch.is-mix{
  background:conic-gradient(#e24b4b,#f2d04b,#3dae6a,#2f6fed,#8e5bd6,#e24b4b);
}
