.sellina-restock[hidden], .sellina-restock [hidden] { display: none !important; }
.sellina-restock {
  box-sizing: border-box;
  width: 100%;
  margin-block: 1rem;
  padding: 1rem 1.125rem;
  border: 1px solid var(--aau-color-border, #d0d5dd);
  border-radius: 12px;
  background: var(--aau-color-surface, #f9fafb);
  color: var(--aau-color-contrast, #101828);
}
.sellina-restock > p:first-child { margin-block: 0 .75rem; font-weight: 700; }
.sellina-restock form { display: grid; gap: .75rem; }
.sellina-restock input[type=email] { width: 100%; box-sizing: border-box; padding: .75rem; background: var(--aau-color-base, #fff); color: inherit; }
.sellina-restock__notice { font-size: .8rem; line-height: 1.5; margin: 0; }
/* The form appears before the signed context brings the permission text. The
   notice then shows the text this tab last saw, or lays out the site's last
   signed text invisibly (exact room; never shown, never consent). Only when
   neither exists does it reserve room by the section's width: the lines the
   longest English or German text needs there (1.5em per line), so it never
   grows. */
.sellina-restock { container-type: inline-size; }
.sellina-restock__notice--placeholder { visibility: hidden; }
.sellina-restock__notice--pending { min-height: 12em; }
@container (min-width: 300px) { .sellina-restock__notice--pending { min-height: 10.5em; } }
@container (min-width: 340px) { .sellina-restock__notice--pending { min-height: 9em; } }
@container (min-width: 400px) { .sellina-restock__notice--pending { min-height: 7.5em; } }
@container (min-width: 480px) { .sellina-restock__notice--pending { min-height: 6em; } }
@container (min-width: 620px) { .sellina-restock__notice--pending { min-height: 4.5em; } }
.sellina-restock [data-restock-status]:empty { display: none; }
.sellina-restock__withdraw { background: transparent; border-color: currentColor; color: inherit; }

/* This state must override Woo/theme display rules; keep variation selectors usable. */
form.sellina-restock-unavailable .single_add_to_cart_button,
form.sellina-restock-unavailable .wp-block-woocommerce-product-button,
form.sellina-restock-unavailable .quantity,
form.sellina-restock-unavailable .wc-block-components-quantity-selector { display: none !important; }

.sellina-restock-open[hidden] { display: none !important; }
.sellina-restock-dialog { box-sizing: border-box; width: min(36rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; padding: 1.25rem; border: 1px solid var(--aau-color-border, #d0d5dd); border-radius: 12px; background: var(--aau-color-base, #fff); color: var(--aau-color-contrast, #101828); }
.sellina-restock-dialog::backdrop { background: rgb(0 0 0 / .55); }
.sellina-restock-dialog .aau-dialog__header { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.sellina-restock-dialog h2 { margin: 0; font-size: 1.25rem; overflow-wrap: anywhere; }
.sellina-restock-dialog .aau-dialog__close { margin: 0; flex-shrink: 0; }
.sellina-restock-dialog .aau-dialog__close button { min-width: 44px; min-height: 44px; cursor: pointer; }
.sellina-restock-dialog :focus-visible { outline: 3px solid var(--aau-color-focus, #2563eb); outline-offset: 3px; }
.sellina-restock-dialog [data-restock-identity] { overflow-wrap: anywhere; }
.sellina-restock-dialog .sellina-restock { border: 0; padding: 0; background: transparent; }
