/* Fibra Net — «Повідомити, коли буде в наявності» (24.09.2026).
   Loaded after shop-style.css / checkout.css. Only adds rules; nothing existing is restyled
   except where the out-of-stock state must hide an element that has display set in CSS. */

/* `hidden` must win over the display values the shop styles set on these blocks */
.card-actions > [hidden],
.qty-section[hidden],
.restock-eta[hidden],
.pp-buy .card-actions .btn[hidden] { display: none !important; }

/* ── «Повідомити…» ─────────────────────────────────────────────────────── */
.btn--notify {
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; color: var(--primary, #1A56DB);
  border: 1.5px solid var(--primary, #1A56DB);
  border-radius: var(--radius-sm, 8px);
  font-weight: 600; line-height: 1.2; text-align: center;
  padding: 10px 14px; min-height: 42px; cursor: pointer;
  white-space: normal; overflow-wrap: anywhere;   /* long Ukrainian label wraps, never clipped */
}
.btn--notify:hover { background: #EEF2FF; }
.btn--notify:focus-visible { outline: 3px solid rgba(26, 86, 219, .35); outline-offset: 2px; }
/* on the product page it is THE action — filled, same size as «Додати в кошик» */
.pp-buy .card-actions .btn--notify {
  width: 100%; min-height: 48px; padding: 12px 20px; font-size: 15px;
  background: var(--primary, #1A56DB); color: #fff; box-sizing: border-box;
}
.pp-buy .card-actions .btn--notify:hover { background: var(--primary-dark, #1e40af); }

/* «Улюблені»: той самий розмір, що й «Додати в кошик» у панелі */
.fav-item__notify { min-height: 0; padding: 6px 10px; font-size: 13px; border-width: 1.5px; }

/* ── «Орієнтовне надходження: …» ───────────────────────────────────────── */
.restock-eta {
  display: flex; flex-direction: column; gap: 1px;
  margin: 2px 0 4px; font-size: 13px; line-height: 1.35;
}
.restock-eta__line { font-weight: 700; color: var(--text, #111827); }
.restock-eta__note { font-size: 11.5px; color: var(--text-muted, #6b7280); }
.pp-info .restock-eta { font-size: 14px; margin: 4px 0 8px; }
.pp-info .restock-eta__note { font-size: 12.5px; }

/* ── ladder of a product you cannot order now: information only ───────── */
.tier-table--readonly { opacity: .72; }
.tier-table--readonly .tier-row { cursor: default; }
.tier-table--readonly .tier-row:hover { background: transparent; }
.tier-table--readonly .tier-row--box:hover { background: #FAFAFA; }

@media (max-width: 640px) {
  /* card body: right after the badge (order 4); product page: with the badge (order 1),
     i.e. above the buying block — the page reorders .pp-info children on phones */
  .card-body .restock-eta { order: 4; font-size: 11px; margin: 0; }
  .card-body .restock-eta__note { font-size: 10px; }
  .pp-info .restock-eta { font-size: 13.5px; }
  .pp-info .restock-eta__note { font-size: 12px; }
  .card-actions .btn--notify { padding: 7px 6px; font-size: 12px; min-height: 0; line-height: 1.25; }
  .pp-buy .card-actions .btn--notify { min-height: 46px; padding: 11px 16px; font-size: 15px; }
}

/* shop-style.css reorders .pp-info children up to 860px (avail 1 · buy 2 · facts 3 ·
   desc 4): keep the date WITH the badge, i.e. above the buying block */
@media (max-width: 860px) {
  .pp-info > .restock-eta { order: 1; }
}

/* ── cart drawer: an item that cannot be ordered now ───────────────────── */
.cart-item--unavailable .cart-item__thumb { opacity: .55; }
.cart-item__stock { margin-top: 4px; font-size: 12px; font-weight: 600; color: #b91c1c; }
.cart-item__notify {
  margin-top: 4px; padding: 0; border: 0; background: none; cursor: pointer;
  font: inherit; font-size: 12.5px; color: var(--primary, #1A56DB);
  text-decoration: underline; text-underline-offset: 2px; text-align: left;
}
/* дві дії поруч: «Видалити з кошика» · «Повідомити про надходження» */
.cart-item__acts { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.cart-item__remove {
  margin-top: 4px; padding: 0; border: 0; background: none; cursor: pointer;
  font: inherit; font-size: 12.5px; color: var(--text, #111827);
  text-decoration: underline; text-underline-offset: 2px; text-align: left;
}
.cart-item__remove:focus-visible, .cart-item__notify:focus-visible { outline: 2px solid rgba(26, 86, 219, .45); outline-offset: 2px; }
/* «Разом»: замість суми — пояснення (кошик із недоступним товаром не оформлюється) */
.cart-total-row--pending { align-items: flex-start; gap: 12px; }
.cart-total-row--pending .cart-total-val,
.co-summary__total-row--pending .co-summary__total-val {
  font-size: 13.5px; font-weight: 600; line-height: 1.4; color: #92400E; text-align: right; max-width: 70%;
}
.cart-blocked-note {
  margin: 8px 0; padding: 9px 11px; border-radius: var(--radius-sm, 8px);
  background: #FEF3C7; color: #92400E; font-size: 13px; line-height: 1.45;
}

/* ── /checkout/: unavailable items block ───────────────────────────────── */
.co-summary__row.is-unavailable .co-summary__name { color: #6b7280; }
.co-summary__stock { font-size: 12px; font-weight: 600; color: #b91c1c; margin-top: 2px; }
.co-unavailable {
  margin: 12px 0; padding: 12px 14px; border-radius: var(--radius-sm, 8px);
  background: #FEF2F2; border: 1px solid #FECACA; color: #7f1d1d;
  font-size: 14px; line-height: 1.45;
}
.co-unavailable__t { margin: 0 0 8px; font-weight: 700; }
.co-unavailable__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.co-unavailable__item { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; }
.co-unavailable__name { flex: 1 1 100%; color: #111827; font-weight: 600; overflow-wrap: anywhere; }
.co-unavailable__btn {
  padding: 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: 13.5px;
  color: var(--primary, #1A56DB); text-decoration: underline; text-underline-offset: 2px;
}
.co-unavailable__btn:focus-visible { outline: 2px solid rgba(26, 86, 219, .45); outline-offset: 2px; }

/* ── the request form (inside #shop-modal) ─────────────────────────────── */
.rs-hp { display: none !important; }
.modal-back[hidden] { display: none !important; }   /* «Назад» duplicates × in this dialog */
/* the account login bar speaks about ordering — irrelevant (and confusing) in the waiting form */
#shop-modal[data-restock="1"] #acct-bar-modal { display: none !important; }
.rs-summary__eta { margin-top: 4px; font-size: 13px; font-weight: 600; color: var(--text, #111827); }
.rs-consent__label {
  display: flex; gap: 10px; align-items: flex-start; cursor: pointer;
  font-size: 13px; line-height: 1.45; color: var(--text, #111827);
}
.rs-consent__label input { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--primary, #1A56DB); }
.rs-consent__label a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.rs-done { display: flex; flex-direction: column; gap: 12px; padding: 4px 0 2px; }
.rs-done__t { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.4; color: var(--text, #111827); }
.rs-done__phone { margin: 0; font-size: 14px; color: var(--text-muted, #6b7280); }
.form-msg.is-info { display: block; }
