/* Voertuig Opties — three display modes (list / tabs / accordion).
   Values come from CSS variables set inline in ssr.php; the rest is the default look. */

.wm-vehicle-options {
    --wm-opt-columns: 2;
    --wm-opt-gap: 40px;
    --wm-opt-head-color: #1A1A1A;
    --wm-opt-head-size: 16px;
    --wm-opt-marker-color: #E6007E;
    --wm-opt-icon-size: 16px;
    width: 100%;
}

/* --- Shared: item lists + markers --- */
.wm-vehicle-options__list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.wm-vehicle-options__item {
    position: relative;
    padding-left: 1.6em;
    margin: 0 0 0.4em;
    line-height: 1.4;
}

/* Marker: check */
.wm-vehicle-options--marker-check .wm-vehicle-options__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.15em;
    width: 0.5em;
    height: 0.85em;
    border-right: 2px solid var(--wm-opt-marker-color);
    border-bottom: 2px solid var(--wm-opt-marker-color);
    transform: rotate(45deg);
}
/* Marker: dot */
.wm-vehicle-options--marker-dot .wm-vehicle-options__item::before {
    content: "";
    position: absolute;
    left: 0.15em;
    top: 0.5em;
    width: 0.5em;
    height: 0.5em;
    border-radius: 50%;
    background: var(--wm-opt-marker-color);
}
/* Marker: dash */
.wm-vehicle-options--marker-dash .wm-vehicle-options__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65em;
    width: 0.9em;
    height: 2px;
    background: var(--wm-opt-marker-color);
}
/* Marker: custom icon (from the Breakdance icon picker) */
.wm-vehicle-options--marker-icon .wm-vehicle-options__item {
    padding-left: calc(var(--wm-opt-icon-size) + 0.6em);
}
.wm-vehicle-options--marker-icon .wm-vehicle-options__item::before {
    content: none;
}
.wm-vehicle-options__icon {
    position: absolute;
    left: 0;
    top: 0.1em;
    width: var(--wm-opt-icon-size);
    height: var(--wm-opt-icon-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--wm-opt-marker-color);
}
.wm-vehicle-options__icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

/* Marker: default (plain disc) */
.wm-vehicle-options--marker-default .wm-vehicle-options__list {
    list-style: disc;
    padding-left: 1.4em;
}
.wm-vehicle-options--marker-default .wm-vehicle-options__item {
    padding-left: 0;
}

/* --- Group titles --- */
.wm-vehicle-options__group-title,
.wm-vehicle-options__acc-title {
    color: var(--wm-opt-head-color);
    font-size: var(--wm-opt-head-size);
    font-weight: 600;
    margin: 0 0 0.5em;
}

/* --- Mode: list (columns) --- */
.wm-vehicle-options--mode-list .wm-vehicle-options__groups {
    column-count: var(--wm-opt-columns);
    column-gap: var(--wm-opt-gap);
}
.wm-vehicle-options--mode-list .wm-vehicle-options__group {
    margin: 0 0 1.2em;
}
/* Keep a group (title + its items) from splitting across columns. */
.wm-vehicle-options--keep-groups .wm-vehicle-options__group {
    break-inside: avoid;
}

/* --- Mode: tabs --- */
.wm-vehicle-options__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    border-bottom: 2px solid #eee;
    margin-bottom: 1em;
}
.wm-vehicle-options__tab {
    appearance: none;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    padding: 0.6em 1em;
    font: inherit;
    color: #595959;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease;
}
.wm-vehicle-options__tab:hover {
    color: var(--wm-opt-head-color);
}
.wm-vehicle-options__tab.is-active {
    color: var(--wm-opt-marker-color);
    border-bottom-color: var(--wm-opt-marker-color);
    font-weight: 600;
}
.wm-vehicle-options__panel {
    display: none;
}
.wm-vehicle-options__panel.is-active {
    display: block;
}

/* --- Mode: accordion --- */
.wm-vehicle-options__acc-item {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    margin-bottom: 8px;
    overflow: hidden;
}
.wm-vehicle-options__acc-header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
    padding: 0.85em 1.1em;
    background: #fafafa;
    border: none;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.wm-vehicle-options__acc-header:hover {
    background: #f2f2f2;
}
.wm-vehicle-options__acc-title {
    margin: 0;
}
.wm-vehicle-options__acc-icon {
    flex: 0 0 auto;
    width: 0.7em;
    height: 0.7em;
    border-right: 2px solid var(--wm-opt-head-color);
    border-bottom: 2px solid var(--wm-opt-head-color);
    transform: rotate(45deg);
    transition: transform 0.25s ease;
}
.wm-vehicle-options__acc-item.is-open .wm-vehicle-options__acc-icon {
    transform: rotate(-135deg);
}
.wm-vehicle-options__acc-body {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.25s ease;
}
.wm-vehicle-options__acc-item.is-open .wm-vehicle-options__acc-body {
    grid-template-rows: 1fr;
}
.wm-vehicle-options__acc-body > .wm-vehicle-options__list {
    overflow: hidden;
    padding: 0 1.1em;
}
.wm-vehicle-options__acc-item.is-open .wm-vehicle-options__acc-body > .wm-vehicle-options__list {
    padding: 0.9em 1.1em;
}

/* --- Empty --- */
.wm-vehicle-options__empty {
    padding: 1.5rem;
    text-align: center;
    color: #595959;
    background: #f2f2f2;
    border-radius: 8px;
}

/* Responsive: collapse list columns on small screens. */
@media (max-width: 767px) {
    .wm-vehicle-options--mode-list .wm-vehicle-options__groups {
        column-count: 1;
    }
}
