/* Дополнительные поля заказа на generator.starlove.space. */
.order-extra-field {
  margin-top: 14px;
}

.order-required-mark {
  margin-left: 4px;
  color: var(--err);
  font-weight: 700;
}

.order-extra-textarea {
  display: block;
  width: 100%;
  min-height: 112px;
  padding-top: 12px;
  resize: vertical;
  line-height: 1.45;
}

[data-size="21x30"][hidden] {
  display: none !important;
}

/* The pause is fully transparent, so the button cannot freeze with a bright
   stripe over its label. */
@keyframes helpShimmerClean {
  0%, 5% { transform: translateX(-220%) skewX(-18deg); opacity: 0; }
  8% { opacity: 1; }
  28% { transform: translateX(360%) skewX(-18deg); opacity: 1; }
  32%, 100% { transform: translateX(360%) skewX(-18deg); opacity: 0; }
}

.help-btn.help-shimmer::after {
  left: -10%;
  width: 38%;
  transform: translateX(-220%) skewX(-18deg);
  opacity: 0;
  animation: helpShimmerClean var(--sh-every, 12s) cubic-bezier(.22,.61,.36,1) infinite !important;
  will-change: transform, opacity;
}

/* White monochrome brand mark inside both mobile “К карте” controls. */
.fab-tomap-circle::before {
  content: "";
  width: 29px;
  height: 29px;
  background: #fff;
  -webkit-mask: url("/brand/favicon-512.png") center / contain no-repeat;
  mask: url("/brand/favicon-512.png") center / contain no-repeat;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.18));
}

.fab-tomap-circle > svg { display: none !important; }

.address-field-wrap { position: relative; }
.address-suggestions {
  position: absolute;
  z-index: 120;
  top: calc(100% - 2px);
  left: 0;
  right: 0;
  display: none;
  overflow: hidden auto;
  max-height: 260px;
  border: 1px solid var(--border-2, rgba(20,30,60,.24));
  border-radius: 12px;
  background: var(--surface, #fff);
  box-shadow: 0 16px 40px rgba(8,16,40,.2);
}
.address-suggestions.is-open { display: block; }
.address-suggestion {
  display: block;
  width: 100%;
  padding: 11px 13px;
  border: 0;
  border-bottom: 1px solid var(--border, rgba(20,30,60,.13));
  background: transparent;
  color: var(--text);
  font: inherit;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}
.address-suggestion:last-child { border-bottom: 0; }
.address-suggestion:hover,
.address-suggestion.is-active { background: var(--accent-soft, rgba(47,99,230,.12)); }
.address-suggestion small { display: block; margin-top: 3px; color: var(--muted); }
.delivery-quote {
  margin-top: 7px;
  min-height: 18px;
  color: var(--muted);
  font-size: .79rem;
  line-height: 1.4;
}
.delivery-quote.is-ready { color: var(--ok, #1f9d57); font-weight: 650; }
.delivery-quote.is-warn { color: #a66a12; }
.delivery-price-row .v { color: var(--accent); font-weight: 700; }

@media (max-width: 999px) {
  .address-suggestions {
    position: fixed;
    left: 14px;
    right: 14px;
    top: auto;
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    max-height: 42vh;
  }
}

/* Аккуратное вертикальное выравнивание стрелок навигации starlove.space. */
.nav-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px}
.nav-btn__arrow{display:inline-flex;align-items:center;justify-content:center;font-size:1.18em;line-height:1;transform:translateY(-.02em)}

/* Единая контурная галочка без текстового символа из системного шрифта. */
.design .check,.capfont-check,.msg-check{font-size:0!important}
.design .check::after,.capfont-check::after,.msg-check::after{
  content:""!important;
  width:12px;
  height:9px;
  border-left:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-1px) rotate(-45deg);
}

/* Знак «ЗВЕЗДА ЛЮБВИ» поверх декоративного неба в цвете текущей темы. */
.preview-deco::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(24vw,180px);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  background:currentColor;
  -webkit-mask:url("/brand/favicon-512.png") center/contain no-repeat;
  mask:url("/brand/favicon-512.png") center/contain no-repeat;
  opacity:.86;
}
.preview-deco svg{opacity:.74}

/* Баннер согласия на отдельный счётчик generator.starlove.space. */
.starlove-cookie{position:fixed;z-index:5000;left:16px;right:16px;bottom:16px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;width:min(940px,calc(100% - 32px));margin:auto;padding:16px 18px;border:1px solid var(--border-2);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 20px 70px rgba(0,0,0,.25)}
.starlove-cookie p{margin:0;font-size:.88rem;line-height:1.5}
.starlove-cookie a{color:var(--accent);text-decoration:underline}
.starlove-cookie>div{display:flex;gap:8px}

/* На телефоне системные окна остаются внутри видимой области и доступны касанием. */
@media (max-width: 999px) {
  .menu-back,.cwh-back,.help-modal,.fmt-pop-back{position:fixed!important;inset:0!important;z-index:4500!important;min-height:100dvh!important}
  .menu-drawer,.fmt-pop,.help-card{max-height:calc(100dvh - 20px)!important;overflow:auto!important;overscroll-behavior:contain}
  .starlove-cookie{left:8px;right:8px;bottom:8px;width:calc(100% - 16px);grid-template-columns:1fr;padding:14px}
  .starlove-cookie>div{display:grid;grid-template-columns:1fr}
}
