/* ==========================================================================
 * Dish submission form (GR4 / D13) — pv-submit-dish pattern.
 * Loaded by functions.php only on pages containing the pv-submit-dish pattern.
 * Tokens-only: relies on shared .pv-page__* scaffold from pages.css.
 * ========================================================================== */

/* Consent row is shown/hidden by submit-dish.js when email is filled. */
.pv-submit-dish__consent-row { margin-top: 8px; }

.pv-submit-dish__check-label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 14px;
    line-height: 1.5;
    cursor: pointer;
}

.pv-submit-dish__check-label input[type="checkbox"] {
    flex: none;
    margin-top: 3px;
    width: 16px;
    height: 16px;
    accent-color: var(--wp--custom--brand);
    cursor: pointer;
}

.pv-submit-dish__check-label a {
    color: var(--wp--custom--brand);
}

.pv-submit-dish__notice {
    font-size: 13px;
    color: var(--wp--custom--text-soft);
    background: var(--wp--custom--brand-tint);
    border: 1px solid var(--wp--custom--border);
    border-radius: var(--wp--custom--radius--md);
    padding: 12px 16px;
    margin-top: 20px;
    line-height: 1.55;
}

.pv-submit-dish__success {
    background: var(--wp--custom--brand-tint);
    border: 1px solid var(--wp--custom--brand);
    border-radius: var(--wp--custom--radius--md);
    padding: 24px;
    text-align: center;
}

.pv-submit-dish__success h3 {
    font-family: var(--wp--preset--font-family--display, "Fraunces", Georgia, serif);
    font-size: 22px;
    margin: 0 0 8px;
}

.pv-submit-dish__error {
    color: var(--wp--custom--warm);
    font-size: 14px;
    margin-top: 10px;
}

/* Char counter hint */
.pv-submit-dish__hint {
    font-size: 12px;
    color: var(--wp--custom--text-soft);
    margin-top: 4px;
    text-align: right;
}

/* ── Program story sections ─────────────────────────────────────────────── */

/* Section 1: how it works — full-bleed brand-green band */
.pv-submit-dish__how-band {
    background: var(--wp--custom--accent);
    color: var(--wp--custom--on-accent);
    padding: 64px 24px;
    border-radius: var(--wp--custom--radius--lg);
    overflow: hidden;
}

.pv-submit-dish__how-band h2,
.pv-submit-dish__how-band strong {
    color: inherit;
}

.pv-submit-dish__how-title {
    font-size: clamp(24px, 3.5vw, 34px);
    text-align: center;
    margin-bottom: 36px;
}

.pv-submit-dish__steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.pv-submit-dish__step {
    display: flex;
    gap: 22px;
    align-items: flex-start;
}

.pv-submit-dish__step-num {
    font-family: var(--wp--preset--font-family--display, "Fraunces", Georgia, serif);
    font-size: 52px;
    font-weight: 500;
    line-height: 1;
    color: var(--wp--custom--on-accent);
    opacity: 0.35;
    flex: none;
    width: 56px;
    text-align: right;
}

.pv-submit-dish__step-body {
    font-size: 17px;
    line-height: 1.6;
    padding-top: 12px;
}

/* Section 2: transformation strip */
.pv-submit-dish__transforms-sec { padding-bottom: 40px; }

.pv-submit-dish__transforms-intro {
    font-size: 17px;
    color: var(--wp--custom--text-soft);
    font-style: italic;
    margin: 0 0 22px;
}

.pv-submit-dish__transforms {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.pv-submit-dish__transform-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    background: var(--wp--custom--accent-tint);
    border: 1px solid var(--wp--custom--border);
    border-radius: var(--wp--custom--radius--md);
    padding: 16px 20px;
}

.pv-submit-dish__transform-from {
    font-weight: 700;
    font-size: 17px;
    color: var(--wp--custom--text-soft);
}

.pv-submit-dish__transform-arrow {
    font-size: 20px;
    color: var(--wp--custom--accent);
    font-weight: 700;
}

.pv-submit-dish__transform-to {
    font-weight: 700;
    font-size: 17px;
    color: var(--wp--custom--accent-strong);
}

.pv-submit-dish__transform-note {
    font-size: 14px;
    color: var(--wp--custom--text-soft);
    font-style: italic;
    margin-left: auto;
}

.pv-submit-dish__transforms-title {
    font-size: clamp(22px, 3vw, 30px);
    margin-bottom: 10px;
}

/* Section 3: promises */
.pv-submit-dish__promises-sec { padding-top: 8px; }

.pv-submit-dish__promises-title {
    font-size: clamp(22px, 3vw, 30px);
    margin-bottom: 22px;
}

.pv-submit-dish__promises {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.pv-submit-dish__promises li {
    font-size: 16px;
    line-height: 1.6;
    padding: 16px 20px;
    background: var(--wp--custom--surface);
    border: 1px solid var(--wp--custom--border);
    border-left: 4px solid var(--wp--custom--accent);
    border-radius: var(--wp--custom--radius--md);
}

@media (max-width: 600px) {
    .pv-submit-dish__step-num { font-size: 38px; width: 42px; }
    .pv-submit-dish__transform-note { margin-left: 0; }
}
