/* Акции на корзине и оформлении: подсказки «добавьте ещё…», выбор подарка,
   строка подарка, зачёркнутая цена доставки.

   Стили в плагине, а не в теме: разметку печатает плагин (`templates/`), и
   она обязана пережить смену темы. Цвета, отступы и радиусы — токены темы
   (`01-tokens.css`) с запасным значением: без темы блоки остаются
   читаемыми, с темой — в её дизайн-системе. Порядок — после `theme.css`
   (зависимость `auras-theme`), поэтому равная специфичность у нас выигрывает.

   Пустые узлы скрыты атрибутом `hidden` или классом `is-empty`, но тема
   задаёт строкам таблицы оформления `display:flex` — `[hidden]` здесь
   повторён с той же специфичностью, иначе пустая строка займёт место. */

/* ── Подсказки ───────────────────────────────────────────────────────── */

.auras-promo-hints{
  display:flex;
  flex-direction:column;
  gap:var(--sp-2,8px);
  margin:0 0 var(--sp-4,16px);
}
.auras-promo-hints[hidden],
.woocommerce-checkout-review-order-table tr.auras-promo-hints[hidden]{display:none}

.auras-promo-hint{
  margin:0;
  padding:var(--sp-3,12px) var(--sp-4,16px);
  border-radius:var(--r-md,12px);
  background:var(--accent-soft,#EEF3FD);
  color:var(--auras-navy,#16213E);
  font-size:var(--fs-body-sm,13px);
  font-weight:var(--fw-medium,500);
  line-height:1.45;
  overflow-wrap:anywhere;
}
.auras-promo-hint--gift{background:var(--auras-pink-wash,#FDEFF7)}
/* Сумма в подсказке — главное слово строки; по цифрам не переносим. */
.auras-promo-hint .amount{font-weight:var(--fw-semibold,600);white-space:nowrap}

/* На оформлении подсказка — строка таблицы итогов (хук стоит внутри неё):
   ячейка во всю ширину, текст слева и с переносами, а не по правому краю
   в одну строку, как у сумм. */
.woocommerce-checkout-review-order-table tfoot tr.auras-promo-hints{
  display:flex;
  padding:var(--sp-2,8px) 0;
  border-top:0;
}
.woocommerce-checkout-review-order-table .auras-promo-hints > td{
  display:flex;
  flex-direction:column;
  gap:var(--sp-2,8px);
  flex:1 1 100%;
  min-width:0;
  text-align:left;
  white-space:normal;
}

/* ── Выбор подарка ───────────────────────────────────────────────────── */

.auras-promo-gift{margin:var(--sp-4,16px) 0}
.auras-promo-gift.is-empty{display:none}
.auras-promo-gift.is-loading{opacity:.6;pointer-events:none}

.auras-promo-gift__box{
  padding:var(--sp-4,16px);
  border:1px solid var(--border-subtle,#E6E8EF);
  border-radius:var(--r-lg,16px);
  background:var(--auras-pink-wash,#FDEFF7);
}
/* Отказался — блок свёрнут и приглушён: вернуть подарок можно, навязывать — нет. */
.auras-promo-gift.is-declined .auras-promo-gift__box{background:var(--surface-sunken,#F6F7FA)}

.auras-promo-gift__title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-3,12px);
  font-size:var(--fs-body,15px);
  font-weight:var(--fw-semibold,600);
  line-height:1.35;
  color:var(--auras-navy,#16213E);
  list-style:none;
  cursor:pointer;
}
.auras-promo-gift__title::-webkit-details-marker{display:none}
/* Стрелка сворачивания — рамкой, без иконочного шрифта темы. */
.auras-promo-gift__title::after{
  content:"";
  flex:0 0 auto;
  width:8px;height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px);
  transition:transform var(--dur-base,240ms) var(--ease-out,ease-out);
}
.auras-promo-gift__box[open] .auras-promo-gift__title::after{transform:rotate(-135deg) translate(-2px,-2px)}
.auras-promo-gift.is-declined .auras-promo-gift__title{font-weight:var(--fw-medium,500)}

.auras-promo-gift__rule{
  margin:var(--sp-1,4px) 0 var(--sp-3,12px);
  font-size:var(--fs-caption,12px);
  color:var(--n-600,#4B5163);
}

/* Плитки: на телефоне две в ряд, шире — сколько влезет по 160px. */
.auras-promo-gift__list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--sp-3,12px);
  margin:0;
  padding:0;
  list-style:none;
}
.auras-promo-gift__item{
  display:flex;
  flex-direction:column;
  gap:var(--sp-1,4px);
  min-width:0;
  padding:var(--sp-2,8px);
  border:1px solid var(--border-subtle,#E6E8EF);
  border-radius:var(--r-md,12px);
  background:var(--n-0,#fff);
}
.auras-promo-gift__media{
  display:block;
  aspect-ratio:1;
  margin-bottom:var(--sp-1,4px);
  border-radius:var(--r-sm,8px);
  background:var(--surface-sunken,#F6F7FA);
  overflow:hidden;
}
.auras-promo-gift__media img{display:block;width:100%;height:100%;object-fit:contain}
.auras-promo-gift__link{display:flex;flex-direction:column;gap:var(--sp-1,4px);color:inherit;text-decoration:none}
.auras-promo-gift__link:hover .auras-promo-gift__name,
.auras-promo-gift__link:focus-visible .auras-promo-gift__name{text-decoration:underline}
/* Три строки, не две: подарки одной серии отличаются последним словом
   («Pinko, перья / ромбы / узор»), и при двух оно обрезается. */
.auras-promo-gift__name{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:var(--fs-body-sm,13px);
  font-weight:var(--fw-medium,500);
  line-height:1.35;
  color:var(--auras-navy,#16213E);
}
.auras-promo-gift__price{
  font-size:var(--fs-caption,12px);
  color:var(--n-500,#7A8094);
}
.auras-promo-gift__pick{
  width:100%;
  margin-top:auto;
}
.auras-promo-gift__item .auras-promo-gift__pick{margin-top:var(--sp-2,8px)}

/* Кончившийся подарок: виден, но не выбирается — приглушён, вместо кнопки подпись. */
.auras-promo-gift__item.is-sold-out .auras-promo-gift__media,
.auras-promo-gift__item.is-sold-out .auras-promo-gift__name,
.auras-promo-gift__item.is-sold-out .auras-promo-gift__price{opacity:.45;filter:grayscale(1)}
.auras-promo-gift__sold{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:var(--control-h-sm,32px);
  margin-top:var(--sp-2,8px);
  border-radius:var(--r-sm,8px);
  background:var(--surface-sunken,#F6F7FA);
  font-size:var(--fs-caption,12px);
  font-weight:var(--fw-medium,500);
  color:var(--n-500,#7A8094);
}

.auras-promo-gift__error{
  margin:var(--sp-3,12px) 0 0;
  font-size:var(--fs-body-sm,13px);
  color:var(--status-danger,#C8323C);
}
.auras-promo-gift__error[hidden]{display:none}

@media (min-width:768px){
  .auras-promo-gift__list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
}

/* ── Строка подарка в корзине ────────────────────────────────────────── */

/* Количество подарка — число вместо поля: менять его нельзя. */
.auras-promo-gift__qty{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:var(--control-h-sm,32px);
  font-weight:var(--fw-medium,500);
  color:var(--auras-navy,#16213E);
}
.auras-promo-gift__free{
  font-weight:var(--fw-semibold,600);
  color:var(--status-success,#2E9E6B);
}

/* ── Доставка по акции ───────────────────────────────────────────────── */

.auras-promo-full-cost{
  margin-right:var(--sp-1,4px);
  font-weight:var(--fw-regular,400);
  color:var(--n-500,#7A8094);
}
/* Карточка услуги на оформлении: цена у темы в одну строку (`nowrap`), а
   с зачёркнутой рядом на телефоне она отжимала бы подпись услуги — и так
   длинную («EMU, курьером до двери — … — акция «…»»). Ставим цены столбиком. */
.auras-service__price:has(.auras-promo-full-cost){
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
}
.auras-service__price .auras-promo-full-cost{margin-right:0;font-size:var(--fs-caption,12px)}
.auras-service__name{min-width:0;overflow-wrap:anywhere}
