/* Lingewaard Reanimatie – aanmelden & beheerportaal
   Bouwt voort op het child theme (.lr-form, .lr-notice, .lr-row …) en de Kadence-paletkleuren. */

/* ---------- Aanmeldformulier ---------- */
.lrt-aanmelden fieldset { border: 0; padding: 0; margin: 0 0 1.5rem; min-width: 0; }
.lr-form *, .lrt-panel * { box-sizing: border-box; }
.lrt-legend { font-family: var(--global-heading-font-family); font-weight: 800; font-size: 1.15rem; color: var(--global-palette3); margin-bottom: .75rem; padding: 0; }
.lrt-trainingen { display: grid; gap: .6rem; }
.lrt-aanmelden label.lrt-training {
	display: grid; font-weight: 400; color: inherit; margin: 0; grid-template-columns: auto 1fr auto; gap: .9rem; align-items: center; cursor: pointer;
	border: 2px solid var(--global-palette7); border-radius: 12px; padding: .9rem 1rem; background: #fff; transition: border-color .15s, box-shadow .15s;
}
.lrt-training:hover { border-color: var(--global-palette2); }
.lrt-training:has(input:checked) { border-color: var(--global-palette1); box-shadow: 0 0 0 3px rgba(176,16,22,.12); }
.lrt-training input { width: 1.2rem; height: 1.2rem; accent-color: var(--global-palette1); }
.lrt-training__body { display: flex; flex-direction: column; line-height: 1.4; }
.lrt-training__body span { font-size: .92rem; color: var(--global-palette5); }
.lrt-training__side { text-align: right; display: flex; flex-direction: column; }
.lrt-training__side strong { font-size: 1.1rem; color: var(--global-palette3); }
.lrt-training__side small { color: var(--global-palette2); font-weight: 600; }
.lrt-training.is-vol { opacity: .55; cursor: not-allowed; }
.lrt-training.is-vol small { color: var(--global-palette1); }
@media (max-width: 560px) { .lrt-aanmelden label.lrt-training { grid-template-columns: auto 1fr; } .lrt-training__side { grid-column: 2; text-align: left; flex-direction: row; gap: .75rem; align-items: baseline; } }

.lrt-totaal {
	display: flex; justify-content: space-between; align-items: center; background: var(--global-palette7);
	border-radius: 12px; padding: 1rem 1.25rem; margin: 0 0 1.25rem; font-weight: 600; color: var(--global-palette3);
}
.lrt-totaal strong { font-size: 1.5rem; font-family: var(--global-heading-font-family); }
.lrt-annulering { font-size: .88rem; color: var(--global-palette5); margin: .5rem 0 0 1.9rem; }
.lrt-secure { font-size: .88rem; color: var(--global-palette5); margin-top: .75rem; }
.lrt-pay-btn[disabled] { opacity: .7; }
.lrt-samenvatting { margin: 1rem 0; height: auto; }
.lrt-downloads { display: flex; gap: .5rem; flex-wrap: wrap; }
.lrt-dl, .lrt-btn-small {
	display: inline-block; background: var(--global-palette1); color: #fff !important; text-decoration: none;
	border-radius: 999px; padding: .45em 1.1em; font-weight: 600; font-size: .9rem;
}
.lrt-dl:hover, .lrt-btn-small:hover { background: var(--global-palette2); }
.lrt-vol { color: var(--global-palette1); font-weight: 700; }

/* ---------- Portaal ---------- */
.lrt-nav { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem;
	border-bottom: 2px solid var(--global-palette7); padding-bottom: .75rem; margin-bottom: 1.5rem; }
.lrt-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.lrt-nav a { display: block; padding: .45rem .9rem; border-radius: 999px; text-decoration: none; color: var(--global-palette3); font-weight: 600; font-size: .95rem; }
.lrt-nav a:hover { background: var(--global-palette7); }
.lrt-nav a[aria-current="page"] { background: var(--global-palette3); color: #fff; }
.lrt-user { font-size: .88rem; color: var(--global-palette5); white-space: nowrap; }
.lrt-testmode { background: #fff3cd; color: #6b5100; border-radius: 8px; padding: .5rem .9rem; font-size: .9rem; margin-bottom: 1rem; }

.lrt-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.lrt-stat { background: #fff; border-radius: 12px; box-shadow: var(--lr-shadow); padding: 1rem 1.25rem; border-top: 4px solid var(--global-palette2); display: flex; flex-direction: column; }
.lrt-stat span { color: var(--global-palette5); font-size: .9rem; }
.lrt-stat strong { font-size: 2rem; font-family: var(--global-heading-font-family); color: var(--global-palette3); line-height: 1.2; }
.lrt-stat small { color: var(--global-palette5); }

.lrt-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.lrt-grid--wide { grid-template-columns: 1.4fr 1fr; }
@media (max-width: 900px) { .lrt-grid, .lrt-grid--wide { grid-template-columns: 1fr; } }
.lrt-panel { background: #fff; border-radius: 12px; box-shadow: var(--lr-shadow); padding: 1.25rem 1.5rem; margin-bottom: 1.5rem; }
.lrt-panel h2 { font-size: 1.2rem; margin-top: 0; }
.lrt-panel h3 { font-size: 1rem; margin: 1.25rem 0 .5rem; color: var(--global-palette2); }
.lrt-panel.lr-form { box-shadow: var(--lr-shadow); }
.lrt-help { color: var(--global-palette5); font-size: .92rem; }

.lrt-tr { display: grid; grid-template-columns: 3.5rem 1fr auto; gap: .75rem; align-items: center; padding: .6rem 0; border-bottom: 1px solid var(--global-palette7); text-decoration: none; color: inherit; }
.lrt-tr:hover { background: var(--global-palette8); }
.lrt-tr__date { background: var(--global-palette1); color: #fff; border-radius: 8px; text-align: center; font-weight: 700; font-size: .85rem; padding: .35rem .2rem; line-height: 1.2; }
.lrt-tr__body { display: flex; flex-direction: column; }
.lrt-tr__body small { color: var(--global-palette5); }
.lrt-tr__count { font-weight: 700; color: var(--global-palette3); }
.lrt-bar { display: block; height: 5px; background: var(--global-palette7); border-radius: 3px; margin-top: .35rem; overflow: hidden; }
.lrt-bar span { display: block; height: 100%; background: var(--global-palette2); }

.lrt-table { width: 100%; border-collapse: collapse; font-size: .93rem; background: #fff; }
.lrt-table th { text-align: left; background: var(--global-palette3); color: #fff; padding: .6rem .7rem; font-weight: 600; }
.lrt-table td { padding: .6rem .7rem; border-bottom: 1px solid var(--global-palette7); vertical-align: top; }
.lrt-table small { color: var(--global-palette5); }
.lrt-table tfoot td { font-weight: 600; background: var(--global-palette8); }
.lrt-table--compact td { padding: .45rem .3rem; }
.lrt-table tr.is-closed td { opacity: .6; }
.lrt-table tr.is-new td { background: #e7f6ef; }
.lrt-table .lrt-r { text-align: right; white-space: nowrap; }
.lrt-nowrap { white-space: nowrap; }
.lrt-regels input { width: 100%; border: 1px solid #cfd8e3; border-radius: 6px; padding: .45rem .55rem; font: inherit; }
.lrt-regels td:nth-child(2) input { max-width: 5rem; }
.lrt-regels td:nth-child(3) input { max-width: 8rem; }
.lrt-regels td[data-lrt-bedrag] { white-space: nowrap; text-align: right; }

.lrt-badge { display: inline-block; border-radius: 999px; padding: .15rem .65rem; font-size: .8rem; font-weight: 600; white-space: nowrap; background: var(--global-palette7); color: var(--global-palette3); }
.lrt-badge--betaald, .lrt-badge--voldaan { background: #e7f6ef; color: #146c43; }
.lrt-badge--op_factuur, .lrt-badge--open { background: #e6f1f4; color: #015e70; }
.lrt-badge--wacht_op_betaling { background: #fff3cd; color: #6b5100; }
.lrt-badge--mislukt, .lrt-badge--geannuleerd, .lrt-badge--verlopen, .lrt-badge--te_laat { background: #fdecec; color: #8f0d12; }
.lrt-badge--gecrediteerd { background: #eceff3; color: #555; }

.lrt-filter { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; align-items: center; }
.lrt-filter select, .lrt-inline input, .lrt-inline select { border: 1px solid #cfd8e3; border-radius: 8px; padding: .45rem .6rem; font: inherit; background: #fff; }
.lrt-btn { display: inline-block; background: var(--global-palette1); color: #fff !important; border: 0; border-radius: 999px; padding: .55rem 1.2rem; font-weight: 600; cursor: pointer; text-decoration: none; font-size: .93rem; }
.lrt-btn:hover { background: var(--global-palette2); }
.lrt-btn--ghost { background: transparent; color: var(--global-palette3) !important; border: 1px solid #cfd8e3; }
.lrt-btn--ghost:hover { background: var(--global-palette7); }
.lrt-linkbtn { background: none; border: 0; color: var(--global-palette2); cursor: pointer; padding: 0; font: inherit; text-decoration: underline; }
.lrt-link-danger { background: none; border: 0; color: var(--global-palette1); cursor: pointer; padding: 0; font-size: .88rem; text-decoration: underline; }
.lrt-danger { margin-top: 1rem; }
.lrt-inline { display: inline-flex; gap: .35rem; align-items: center; margin: 0; }
.lrt-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.lrt-details summary { cursor: pointer; color: var(--global-palette2); font-weight: 600; }
.lrt-details[open] { min-width: 320px; }
.lrt-details__body { margin-top: .6rem; padding: .75rem; background: var(--global-palette8); border-radius: 8px; }
.lrt-log { list-style: none; padding: 0; margin: .75rem 0 0; font-size: .8rem; color: var(--global-palette5); max-height: 140px; overflow: auto; }

/* Afmelden & restitutie */
.lrt-afmelden { width: 100%; }
.lrt-afmelden > summary { list-style: none; display: inline-block; }
.lrt-afmelden > summary::-webkit-details-marker { display: none; }
.lrt-afmelden form { display: grid; gap: .5rem; margin-top: .6rem; padding: .75rem; background: #fff; border: 1px solid var(--global-palette7); border-left: 4px solid var(--global-palette1); border-radius: 8px; }
.lrt-afmelden input[type=text], .lrt-afmelden input[type=date], .lrt-afmelden textarea { border: 1px solid #cfd8e3; border-radius: 6px; padding: .4rem .5rem; font: inherit; margin-left: .4rem; }
.lrt-afmelden textarea { display: block; width: 100%; margin: .3rem 0 0; }
.lrt-annulering summary { cursor: pointer; color: var(--global-palette2); font-weight: 600; }
.lrt-badge--afgemeld { background: #eceff3; color: #555; }
