/* Account, kanalen en OpenBoek: de volgende echte handeling eerst. */
.ac-ervaring-kop { margin: 2px 0 8px; }
.ac-ervaring-kop .ac-kap { margin: 0 0 6px; }
.ac-ervaring-kop .ac-h1 { margin: 0; font-size: clamp(28px, 4vw, 38px); line-height: 1.12; }
.ac-overzicht { min-height: 0; }
.ac-ov { align-content: start; grid-template-rows: none; flex: 0 0 auto; gap: 16px; }
.ac-ov [data-ov-volgende]:empty, .ac-ov [data-ov-volgende][hidden] { display: none; }
.ac-ov-volgende { display: flex; flex-direction: column; gap: 12px; padding: 20px; border-color: var(--lijn-sterk); }
.ac-ov-volgende :is(p,h2) { margin: 0; }
.ac-ov-volgende h2 { font-size: 24px; line-height: 1.2; color: var(--tekst-1); }
.ac-ov-volgende .ac-knop { align-self: start; min-height: 48px; }
.ac-ov-volgende .ac-knop .ac-ic { width: 18px; height: 18px; }
.ac-ov .ac-raam { --raam: var(--grond-2); --raam-tekst: var(--tekst-1); --raam-2: var(--tekst-2); --raam-3: var(--tekst-3); --raam-lijn: var(--lijn); --raam-sein: var(--water); box-shadow: none; border: 1px solid var(--lijn-sterk); padding: 20px; }
.ac-ov .ac-raam.is-stil, .ac-ov .ac-raam.is-dicht { border-color: var(--lijn); }
.ac-ov .ac-raam h2 { font-size: 24px; line-height: 1.2; }
.ac-ov.ac-heeft-volgende [data-ov-raam] .ac-knop.doen { background: transparent; color: var(--tekst-1); border: 1px solid var(--lijn-sterk); box-shadow: none; }
.ac-standpil.is-open { background: color-mix(in srgb, var(--water) 14%, transparent); color: var(--water); }
.ac-ov .ac-tegel { padding: 16px; }
.ac-ov .ac-instr { box-shadow: none; }
.ac-rp-check.is-volgende { background: color-mix(in srgb, var(--doen) 7%, var(--grond-2)); }
.ac-rp-check.is-volgende .ac-rp-raam { border-color: var(--doen); }
.ac-rp-check .ac-rp-raam { display: grid; place-items: center; width: 22px; height: 22px; box-shadow: none; }
.ac-rp-check .ac-rp-raam .ac-ic { width: 16px; height: 16px; color: var(--grond); }
.ac-rp-check.is-klaar { background: transparent; }
.ac-rp-check.is-klaar .ac-rp-raam { box-shadow: none; }
.ac-rp-betekenis { color: var(--tekst-2); }
.ac-rp-vraag { padding: 16px; gap: 14px; }
.ac-rp-klaar-blijft { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--lijn); border-radius: 14px; }
.ac-rp-klaar-blijft > .ac-ic { width: 22px; height: 22px; flex: none; color: var(--sein); }
.ac-rp .ac-rp-melding.is-fout, .ac-bo .is-fout, .ac-ov-regels .is-fout { color: var(--storing); }
.ac-bo .ac-bo-uitleg { order: -1; margin: 0 0 4px; }
.ac-bo .ac-bo-controle { display: flex; flex-direction: column; gap: 4px; flex-basis: 100%; color: var(--tekst-2); font: inherit; }
.ac-bo .ac-bo-controle b { font-size: 16px; color: var(--tekst-1); }
.ac-bo .ac-bo-controle span { font-size: 14px; }
.ac-bo .ac-bo-rapport { min-height: 48px; }
.ac-bo .ac-bo-melding:not(:empty) { padding: 12px; border: 1px solid var(--lijn); border-radius: 12px; background: var(--grond-2); }
.ac-bo button.ac-bo-naam { position: relative; padding-right: 22px; }
.ac-bo button.ac-bo-naam::after { content: '\2304'; position: absolute; right: 2px; top: 50%; transform: translateY(-50%); color: var(--tekst-2); }
.ac-bo button.ac-bo-naam[aria-expanded="true"]::after { transform: translateY(-50%) rotate(180deg); }
.ac-bo :is(.ac-knop,.ac-schak) { min-height: 48px; }
.ac-bo [data-weg] { color: var(--storing); }
.samen-taak { display: flex; flex-direction: column; align-items: start; gap: 12px; padding: 18px; margin: 16px 0; border: 1px solid var(--lijn-sterk); border-radius: 16px; background: var(--grond-2); }
.samen-taak :is(h3,p) { margin: 0; }
.samen-taak h3 { font-size: 22px; color: var(--tekst-1); }
.samen-taak .btn { min-height: 48px; }
.samen-inzet { margin-top: 14px; border-top: 1px solid var(--lijn); }
.samen-inzet summary { display: flex; align-items: center; min-height: 48px; padding: 8px 0; color: var(--tekst-2); cursor: pointer; }
.samen-inzet summary::after { content: '+'; margin-left: auto; }
.samen-inzet[open] summary::after { content: '\2212'; }
.samen-binnen .samen-lid { min-height: 48px; }
.samen-binnen :is([data-tweede="weghalen"],[data-tweede="stoppen"],[data-tweede="uitstappen"]) { color: var(--storing); border-color: color-mix(in srgb, var(--storing) 45%, var(--lijn)); }
.ac-behaald .ac-openboek-bezit { padding: 18px; gap: 14px; }
.ac-behaald .ac-openboek-bezit .ac-groep-kop { align-items: start; }
.ac-behaald .ac-openboek-bezit .ac-kap { font-size: 20px; text-transform: none; letter-spacing: -.02em; line-height: 1.2; }
.ac-behaald .ac-openboek-bezit .ac-rij-zij { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; overflow: visible; }
.ac-behaald .ac-openboek-bezit .ac-kaart { width: 100%; min-width: 0; padding: 14px; }
.ac-behaald .ac-openboek-bezit .ac-kaart-kop b { font-size: 17px; line-height: 1.3; }
.ac-behaald .ac-openboek-bezit .ac-kaart .ac-klein { font-size: 16px; line-height: 1.5; padding-left: 28px; }
.ac-behaald .ac-openboek-bezit .ac-knop.doen { width: 100%; min-height: 48px; }
.ac-behaald .ac-gevel-blok { padding: 18px; border: 1px solid var(--lijn); border-radius: 18px; background: var(--grond-2); gap: 12px; }
.ac-behaald .ac-gevel-doek { max-width: 420px; }
.ob-bediening-vak { border: 1px solid var(--lijn); border-radius: 14px; overflow: hidden; }
.ob-bediening-vak > summary { min-height: 48px; display: flex; align-items: center; gap: 12px; padding: 12px 14px; cursor: pointer; color: var(--tekst-1); font-weight: 600; }
.ob-bediening-vak > summary::after { content: '+'; margin-left: auto; }
.ob-bediening-vak[open] > summary::after { content: '\2212'; }
.ob-bediening-vak > .ac-seg { margin: 0 12px 12px; width: auto; }
.ob-bediening-vak .ob-bediening { padding: 0 12px 12px; }
.ac-behaald .ac-code [type="submit"] { background: transparent; color: var(--tekst-1); border-color: var(--lijn-sterk); box-shadow: none; }
.ac-behaald .ac-code-uit.is-fout { color: var(--storing); }
/* Een stand is rustig; alleen een werkelijke verandering krijgt korte feedback. */
.ac-stip.adem::after { animation: none; opacity: 0; }
.pr-kaart.is-nieuw::before { animation-iteration-count: 1; }
.ac-behaald .ac-gevel .g-puls { animation: none; }
@media (max-width: 1023px) {
  .ac-ov-volgende .ac-knop { width: 100%; }
  .ac-ov .ac-raam-voet .ac-knop { min-height: 48px; }
  .ac-ov .ac-ov-week .ac-ov-weekgroot .ac-groot { font-size: 32px; }
  .ac-ov .ac-tegels { gap: 12px; }
  .ac-behaald-kolom:empty { display: none; }
}
@media (max-width: 540px) {
  .ac-bo-rij { grid-template-columns: 28px minmax(0,1fr); gap: 8px 10px; }
  .ac-bo-rij > .ac-rechts { grid-column: 2; justify-content: flex-start; gap: 12px; }
  .ac-bo-rij .ac-bo-toegang { grid-column: 2; justify-self: start; text-align: left; }
  .ac-bo-detail { padding-left: 38px; }
  .samen-taak .btn { width: 100%; justify-content: center; }
  .ac-rp-knoppen { align-items: stretch; }
  .ac-rp-knoppen .ac-knop.doen { flex: 1 1 100%; }
}
@media (min-width: 1024px) {
  .ac-ov-kaarten > [data-ov-volgende] { grid-column: span 2; }
  .ac-behaald.ac-kaarten-gemeten .ac-openboek-bezit { order: 0; }
  .ac-behaald.ac-kaarten-gemeten .ac-gevel-blok { order: 1; }
  .ac-behaald.ac-kaarten-gemeten .ac-stenen { order: 2; }
  .ac-behaald.ac-kaarten-gemeten .ac-nog { order: 3; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.ac-overzicht,.ac-blad,.ac-mijn,.ac-behaald,.ac-samen) *, :is(.ac-overzicht,.ac-blad,.ac-mijn,.ac-behaald,.ac-samen) *::before, :is(.ac-overzicht,.ac-blad,.ac-mijn,.ac-behaald,.ac-samen) *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}