/*
 * Next Lead — minimale styling voor de publieke shortcodes.
 * Bewust nuchter: geen gradients, geen schaduwen, geen badges. Houdt de focus
 * op de functionaliteit. Rijscholen kunnen via hun eigen child theme branding
 * toevoegen door de .nl-* selectors te overrulen.
 */

.nl-product {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 24px;
    margin: 20px 0;
    background: #fff;
    max-width: 720px;
}
.nl-product__head { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.nl-product__sku  { font-size: 11px; color: #6b7280; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; }
.nl-product__title { margin: 0; font-size: 1.4rem; font-weight: 600; color: #1d2128; letter-spacing: -0.015em; }
.nl-product__price { font-size: 1.2rem; font-weight: 700; color: #1d2128; }
.nl-product__price .woocommerce-Price-amount { color: #1d2128 !important; }
.nl-product__price small { color: #6b7280; font-weight: 400; font-size: 0.7em; margin-left: 6px; }
.nl-product__excerpt { color: #4b5563; line-height: 1.55; margin: 0 0 18px; }
.nl-product__form {
    border-top: 1px solid #e5e7eb;
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.nl-product__cta {
    background: #1e5ba6 !important;
    color: #fff !important;
    border: none;
    border-radius: 6px !important;
    padding: 13px 22px !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    cursor: pointer;
    text-shadow: none !important;
    box-shadow: none !important;
    width: 100%;
}
.nl-product__cta:hover { background: #154378 !important; }

/* Dation dropdown — laat originele styling staan, alleen kleur-mapping naar Next Lead blauw */
.nl-product .dation-course-selection {
    margin: 0 !important;
    padding: 14px 16px !important;
    background: #f8f9fa !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 6px !important;
}
.nl-product .dation-course-selection label {
    color: #1d2128 !important;
    font-weight: 600 !important;
}
.nl-product .dation-dropdown-selected {
    border-color: #e5e7eb !important;
    border-radius: 6px !important;
    background: #fff !important;
}
.nl-product .dation-dropdown-selected.active,
.nl-product .dation-dropdown-selected:hover {
    border-color: #1e5ba6 !important;
}
.nl-product .dation-dropdown-options {
    border-color: #1e5ba6 !important;
}
.nl-product .dropdown-arrow svg path[stroke="#00A0C6"] {
    stroke: #1e5ba6 !important;
}

/* Dation "Aantal cursisten/personen" selector — overal verbergen.
   Voor de demo gebruiken we altijd quantity=1 (één plek per cursus). */
.nl-product .dation-quantity-section,
.dation-quantity-section {
    display: none !important;
}

/* Grid wrapper als meerdere producten naast elkaar staan */
.nl-product-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 20px 0;
}

/* Checkout preview */
.nl-checkout-preview {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 22px 24px;
    background: #fff;
    max-width: 720px;
}
.nl-checkout-preview h3 {
    margin: 0 0 4px;
    font-size: 1.15rem;
    font-weight: 600;
}
.nl-checkout-preview .description {
    color: #6b7280;
    font-size: 0.92rem;
    margin: 0 0 18px;
}
.nl-checkout-preview .student-section {
    border-top: 1px solid #e5e7eb;
    padding-top: 18px;
    margin-top: 18px;
}
.nl-checkout-preview .first-student {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}
.nl-checkout-preview h4 {
    margin: 0 0 4px;
    font-size: 1rem;
    font-weight: 600;
}
.nl-checkout-preview .student-note {
    color: #6b7280;
    font-size: 0.88rem;
    margin: 0 0 12px;
}
.nl-checkout-preview .student-fields-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.nl-checkout-preview .form-row {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    float: none !important;
}
.nl-checkout-preview .form-row label {
    display: block !important;
    font-size: 0.85rem;
    font-weight: 600;
    color: #1d2128;
    margin-bottom: 5px !important;
}
.nl-checkout-preview .form-row input,
.nl-checkout-preview input.input-text {
    width: 100% !important;
    padding: 9px 12px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 6px !important;
    font-size: 0.95rem !important;
    background: #fff !important;
    box-sizing: border-box;
}
.nl-checkout-preview .form-row input:focus,
.nl-checkout-preview input.input-text:focus {
    outline: none;
    border-color: #1e5ba6 !important;
}
.nl-checkout-preview .required {
    color: #dc2626;
}
@media (max-width: 600px) {
    .nl-checkout-preview .student-fields-row { grid-template-columns: 1fr; }
}

/* Thank-you preview */
.nl-thankyou {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 28px 28px 22px;
    background: #fff;
    max-width: 640px;
}
.nl-thankyou__head {
    text-align: center;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 18px;
    margin-bottom: 18px;
}
.nl-thankyou__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #ecfdf5;
    color: #059669;
    border-radius: 50%;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
}
.nl-thankyou__head h2 {
    margin: 0 0 4px;
    font-size: 1.3rem;
    font-weight: 600;
}
.nl-thankyou__order {
    margin: 0;
    color: #6b7280;
    font-size: 0.92rem;
}
.nl-thankyou__order code {
    background: #f3f4f6;
    color: #1d2128;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.88rem;
}
.nl-thankyou__details {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 6px 18px;
    margin: 0;
    padding: 0;
}
.nl-thankyou__details dt {
    color: #6b7280;
    font-weight: 500;
    font-size: 0.9rem;
}
.nl-thankyou__details dd {
    margin: 0;
    color: #1d2128;
    font-weight: 500;
    font-size: 0.95rem;
}
.nl-thankyou__note {
    margin: 18px 0 6px;
    color: #4b5563;
    font-size: 0.92rem;
    line-height: 1.5;
}
.nl-thankyou__sync {
    margin: 6px 0 0;
    color: #9ca3af;
    font-size: 0.78rem;
    font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}

.nl-demo-err {
    padding: 12px 16px;
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
    border-radius: 6px;
}

/* ============ Lead-formulier (dation_lead_form) ============ */
.nl-leadform {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 26px 28px;
    max-width: 640px;
    display: grid;
    gap: 14px;
}
.nl-leadform__head { margin: 0 0 4px; }
.nl-leadform__head h3 {
    margin: 0 0 4px;
    font-size: 1.15rem;
    font-weight: 600;
    color: #1d2128;
}
.nl-leadform__head p {
    margin: 0;
    color: #6b7280;
    font-size: 0.92rem;
}
.nl-leadform label {
    display: block;
    font-size: 0.85rem;
    color: #1d2128;
    font-weight: 500;
}
.nl-leadform label > span {
    display: block;
    margin: 0 0 5px;
    font-weight: 600;
    color: #1d2128;
}
.nl-leadform input,
.nl-leadform textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 0.95rem;
    font-family: inherit;
    color: #1d2128;
    background: #fff;
    box-sizing: border-box;
}
.nl-leadform input:focus,
.nl-leadform textarea:focus {
    outline: none;
    border-color: #1e5ba6;
    box-shadow: 0 0 0 3px rgba(30,91,166,0.15);
}
.nl-leadform textarea { resize: vertical; min-height: 90px; }
.nl-leadform__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
@media (max-width: 520px) {
    .nl-leadform__row { grid-template-columns: 1fr; }
}
.nl-leadform__cta {
    background: #1e5ba6 !important;
    color: #fff !important;
    border: none;
    padding: 12px 22px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    cursor: pointer;
    text-shadow: none !important;
    box-shadow: none !important;
    justify-self: start;
}
.nl-leadform__cta:hover { background: #154378 !important; }
.nl-leadform__cta[disabled] { opacity: 0.6; cursor: wait; }
.nl-leadform__status {
    padding: 12px 14px;
    border-radius: 6px;
    font-size: 0.92rem;
}
.nl-leadform__status.is-ok { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.nl-leadform__status.is-err { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.nl-leadform__status small { font-family: ui-monospace, "SF Mono", Menlo, monospace; opacity: 0.7; }
.nl-leadform__notice {
    padding: 18px 22px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
    border-radius: 8px;
    font-size: 0.95rem;
    line-height: 1.5;
    max-width: 640px;
}
.nl-leadform__notice code { background: #fef3c7; padding: 1px 6px; border-radius: 4px; }

/* Cart-mix-notitie (woocommerce_before_cart) */
.nl-cart-mix-note {
    border-left: 4px solid #1e5ba6 !important;
}
