/**
 * maslo32 — паритет вида форм mod_rcmforms с прод-эталоном (старый mod_rcmmodal).
 *
 * Стилизует НЕЙТРАЛЬНУЮ BEM-разметку, которую отдаёт пакет (.rcmforms-modal / .rcmforms__*),
 * под shadcn/Tailwind-тему maslo32. Самодостаточно: используем CSS-переменные темы
 * (hsl(var(--primary)) и т.п.) и не зависим от наличия конкретных Tailwind-утилит в сборке.
 *
 * Всё скоупится под .rcmforms-modal / .rcmforms-success, чтобы не затронуть другие контексты.
 * Специфичность селекторов (>=0,2,0) намеренно выше базовых одноклассовых правил пакета.
 */

/* ── Оверлей + затемнение (bg-black/80) ─────────────────────────────────────── */
.rcmforms-modal,
.rcmforms-success {
    padding: 1rem;
}

.rcmforms-modal .rcmforms-modal__backdrop,
.rcmforms-success .rcmforms-success__backdrop {
    background: rgba(0, 0, 0, 0.8);
}

/* ── Карточка диалога (bg-background p-6 rounded-lg shadow-lg max-w-lg) ──────── */
.rcmforms-modal .rcmforms-modal__dialog,
.rcmforms-success .rcmforms-success__dialog {
    width: min(32rem, calc(100vw - 2rem));
    padding: 1.5rem;
    background: hsl(var(--background));
    color: hsl(var(--foreground));
    border: 1px solid hsl(var(--border));
    border-radius: 0.5rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

/* ── Крестик закрытия (absolute right-4 top-4, иконка h-4 w-4) ──────────────── */
.rcmforms-modal .rcmforms-modal__close,
.rcmforms-success .rcmforms-success__close {
    top: 1rem;
    right: 1rem;
    width: 1.5rem;
    height: 1.5rem;
    color: hsl(var(--muted-foreground));
    opacity: 0.7;
    transition: opacity 0.15s ease;
}

.rcmforms-modal .rcmforms-modal__close:hover,
.rcmforms-success .rcmforms-success__close:hover {
    opacity: 1;
    background: transparent;
    color: hsl(var(--foreground));
}

.rcmforms-modal .rcmforms-modal__close-icon,
.rcmforms-success .rcmforms-modal__close-icon {
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ── Шапка модалки ─────────────────────────────────────────────────────────── */
.rcmforms-modal .rcmforms-modal__title {
    margin: 0 0 0.375rem;
    padding-right: 1.5rem;
    font-size: 1.125rem;          /* text-lg */
    line-height: 1.4;
    font-weight: 600;             /* font-semibold */
    color: hsl(var(--foreground));
}

.rcmforms-modal .rcmforms-modal__desc {
    margin: 0 0 1.25rem;
    font-size: 0.875rem;          /* text-sm */
    line-height: 1.4;
    color: hsl(var(--muted-foreground));
}

/* Внутренний заголовок формы (definition.title) дублирует шапку модалки — скрываем. */
.rcmforms-modal .rcmforms .rcmforms__title {
    display: none;
}

/* ── Форма (space-y-6) ─────────────────────────────────────────────────────── */
.rcmforms-modal .rcmforms {
    gap: 1.25rem;
    width: 100%;
    color: hsl(var(--foreground));
    font-size: 0.875rem;
}

/* ── Поля (space-y-2) ──────────────────────────────────────────────────────── */
.rcmforms-modal .rcmforms__field {
    gap: 0.5rem;
}

.rcmforms-modal .rcmforms__label {
    font-size: 0.875rem;          /* text-sm */
    font-weight: 500;             /* font-medium */
    line-height: 1;
    color: hsl(var(--foreground));
}

.rcmforms-modal .rcmforms__req {
    color: hsl(var(--primary-foreground));
    margin-left: 0.15rem;
}

/* ── Контролы (h-10 rounded-md border-input bg-background px-3 py-2) ────────── */
.rcmforms-modal .rcmforms__control {
    height: 2.5rem;               /* h-10 */
    width: 100%;
    padding: 0.5rem 0.75rem;      /* px-3 py-2 */
    font-size: 0.875rem;
    color: hsl(var(--foreground));
    background: hsl(var(--background));
    border: 1px solid hsl(var(--input));
    border-radius: 0.375rem;      /* rounded-md */
    box-shadow: none;
}

.rcmforms-modal textarea.rcmforms__control {
    height: auto;
    min-height: 6rem;
}

.rcmforms-modal .rcmforms__control::placeholder {
    color: hsl(var(--muted-foreground));
}

.rcmforms-modal .rcmforms__control:focus,
.rcmforms-modal .rcmforms__control:focus-visible {
    outline: 2px solid hsl(var(--ring));
    outline-offset: 2px;
    border-color: hsl(var(--input));
}

/* ── Согласие (чекбокс слева, текст справа, text-sm muted) ──────────────────── */
.rcmforms-modal .rcmforms__consent {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: hsl(var(--muted-foreground));
    cursor: pointer;
}

.rcmforms-modal .rcmforms__consent-input,
.rcmforms-modal .rcmforms__consent input[type="checkbox"] {
    width: 1.15rem;
    height: 1.15rem;
    min-width: 1.15rem;
    margin-top: 0.1rem;
    accent-color: hsl(var(--primary));
    border: 1px solid hsl(var(--input));
    border-radius: 0.25rem;
    cursor: pointer;
}

.rcmforms-modal .rcmforms__consent-text {
    line-height: 1.45;
}

.rcmforms-modal .rcmforms__consent a {
    color: hsl(var(--primary-foreground));
    text-decoration: underline;
}

/* ── Кнопка отправки (bg-primary text-primary-foreground h-10 w-full) ───────── */
.rcmforms-modal .rcmforms__submit {
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 2.5rem;               /* h-10 */
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;             /* font-medium */
    color: hsl(var(--primary-foreground));
    background: hsl(var(--primary));
    border: 0;
    border-radius: 0.375rem;      /* rounded-md */
    cursor: pointer;
    transition: background-color 0.15s ease, opacity 0.15s ease;
}

.rcmforms-modal .rcmforms__submit:hover {
    filter: none;
    opacity: 0.9;
}

.rcmforms-modal .rcmforms__submit:focus-visible {
    outline: 2px solid hsl(var(--ring));
    outline-offset: 2px;
}

/* ── Карточка «Выбранный товар» (bg-milk-50 p-4 rounded-lg border) ──────────── */
.rcmforms-modal .rcmforms__product-card {
    padding: 1rem;                /* p-4 */
    background: hsl(0 0% 99%);    /* bg-milk-50 */
    border: 1px solid hsl(var(--border));
    border-radius: 0.5rem;        /* rounded-lg */
}

/* Пусто (товар не передан) — не показываем сиротливую карточку с заголовком. */
.rcmforms-modal .rcmforms__product-card:has(.rcmforms__product-name:empty) {
    display: none;
}

.rcmforms-modal .rcmforms__product-card-title {
    margin: 0 0 0.5rem;           /* mb-2 */
    font-size: 0.95rem;
    font-weight: 500;             /* font-medium */
    color: #111827;               /* text-gray-900 */
}

.rcmforms-modal .rcmforms__product-name {
    margin: 0;
    font-size: 0.875rem;          /* text-sm */
    font-weight: 500;
    color: #374151;               /* text-gray-700 */
}

.rcmforms-modal .rcmforms__product-name:empty {
    display: none;
}

.rcmforms-modal .rcmforms__product-category {
    margin: 0.25rem 0 0;          /* mt-1 */
    font-size: 0.75rem;           /* text-xs */
    color: #4b5563;               /* text-gray-600 */
}

.rcmforms-modal .rcmforms__product-category:empty {
    display: none;
}

/* ── Сообщения формы (валидация tailwind) ──────────────────────────────────── */
.rcmforms-modal .rcmforms__messages {
    border-radius: 0.5rem;
    font-size: 0.875rem;
}

.rcmforms-modal .rcmforms__messages--success {
    color: #166534;
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.rcmforms-modal .rcmforms__messages--error {
    color: #991b1b;
    border-color: #fecaca;
    background: #fef2f2;
}

/* Покардочные ошибки tailwind-пути: красная рамка + красный текст ошибки. */
.rcmforms-modal .rcmforms__control.border-red-500,
.rcmforms-modal .rcmforms__control[aria-invalid="true"] {
    border-color: #ef4444;
    outline-color: #ef4444;
}

.rcmforms-modal .error-message,
.rcmforms-modal .rcmforms__error {
    margin-top: 0.25rem;
    font-size: 0.875rem;
    color: #ef4444;
}

.rcmforms-modal .error-message.hidden {
    display: none;
}

/* ── Оверлей успеха ────────────────────────────────────────────────────────── */
.rcmforms-success .rcmforms-success__msg {
    padding-right: 1.5rem;
    font-size: 0.95rem;
    color: hsl(var(--foreground));
}
