/* Interactieve prijslijst De Goffaert, overgenomen van de bestaande tabel op degoffaert.nl. */
  .dg-prijslijst * { box-sizing: border-box; }
  .dg-prijslijst {
    font-family: inherit;
    color: #323132;
    max-width: 100%;
  }
  /* Grijs blok rond de prijslijst, los van de woningkiezer maar in dezelfde stijl */
  .dg-prijslijst-block { background: #f5f6f5; border: 1px solid #e2dcd2; padding: 28px; margin: 0; }
  .dg-prijslijst-block .dg-head { margin-bottom: 20px; }
  .dg-prijslijst-block .dg-title { font-size: 26px; line-height: 1.2; margin: 0 0 6px; color: #5c4f44; }
  .dg-prijslijst-block .dg-intro { margin: 0; font-size: 14px; color: #323132; max-width: 760px; }
  .dg-prijslijst-block .dg-filter-group select, .dg-prijslijst-block .dg-reset-btn { background-color: #fff; border-radius: 0; }
  .dg-prijslijst-block .dg-table-wrap { border-radius: 0; background: #fff; }
  @media (max-width: 768px) { .dg-prijslijst-block { padding: 16px; } .dg-prijslijst-block .dg-title { font-size: 22px; } }

  /* ── Filters ── */
  .dg-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 24px;
    align-items: flex-end;
  }
  .dg-filter-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  .dg-filter-group label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #323132;
  }
  .dg-filter-group select {
    appearance: none;
    -webkit-appearance: none;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23323132' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;
    border: 1.5px solid #e2dcd2;
    border-radius: 6px;
    padding: 9px 36px 9px 12px;
    font-size: 14px;
    color: #323132;
    cursor: pointer;
    min-width: 180px;
    transition: border-color .2s;
  }
  .dg-filter-group select:focus {
    outline: none;
    border-color: #5c4f44;
  }
  .dg-reset-btn {
    background: none;
    border: 1.5px solid #e2dcd2;
    border-radius: 6px;
    padding: 9px 16px;
    font-size: 13px;
    color: #323132;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
  }
  .dg-reset-btn:hover { background: #5c4f44; border-color: #5c4f44; color: #ffffff; }

  .dg-count {
    margin-left: auto;
    font-size: 13px;
    color: #5c4f44;
    font-weight: 600;
    align-self: flex-end;
    padding-bottom: 2px;
    white-space: nowrap;
  }

  /* ── Table ── */
  .dg-table-wrap {
    border-radius: 10px;
    border: 1.5px solid #e2dcd2;
    overflow: hidden;
    line-height: 0;
    font-size: 0;
    display: block;
  }
  .dg-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    display: block;
    line-height: normal;
    font-size: 14px;
  }
  .dg-table-wrap table.dg-tbl {
    line-height: normal;
    font-size: 14px;
    display: table;
    margin-bottom: 0 !important;
    min-width: 1080px;
  }

  /* ── Tfoot ── */
  .dg-prijslijst table.dg-tbl tfoot,
  .dg-prijslijst table.dg-tbl tfoot tr {
    background: #5c4f44 !important;
    background-color: #5c4f44 !important;
  }
  .dg-prijslijst table.dg-tbl tfoot th {
    padding: 13px 16px !important;
    text-align: left !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    white-space: nowrap !important;
    border-top: 1.5px solid #e2dcd2 !important;
    border-right: 1px solid rgba(226,220,210,0.25) !important;
    background: #5c4f44 !important;
    background-color: #5c4f44 !important;
  }
  .dg-prijslijst table.dg-tbl tfoot th:last-child { border-right: none !important; }
  .dg-prijslijst table.dg-tbl p { margin: 0 !important; padding: 0 !important; }
  .dg-prijslijst .dg-table-wrap + * { margin-top: 0 !important; }

  table.dg-tbl {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    table-layout: fixed;
  }
  table.dg-tbl col:nth-child(1) { width: 100px; }  /* Bouwnummer */
  table.dg-tbl col:nth-child(2) { width: 115px; }  /* Woonlaag */
  table.dg-tbl col:nth-child(3) { width: 90px; }   /* Type */
  table.dg-tbl col:nth-child(4) { width: 75px; }   /* GBO */
  table.dg-tbl col:nth-child(5) { width: 140px; }  /* Buitenruimte */
  table.dg-tbl col:nth-child(6) { width: 85px; }   /* Oppervlakte */
  table.dg-tbl col:nth-child(7) { width: 95px; }   /* Ligging */
  table.dg-tbl col:nth-child(8) { width: 90px; }   /* Parkeerplaats */
  table.dg-tbl col:nth-child(9) { width: 105px; }  /* Prijs */
  table.dg-tbl col:nth-child(10) { width: 100px; } /* Canon */
  table.dg-tbl col:nth-child(11) { width: 120px; } /* Status */

  /* Thead met huisstijl-bruin */
  .dg-prijslijst table.dg-tbl thead,
  .dg-prijslijst table.dg-tbl thead tr {
    background: #5c4f44 !important;
    background-color: #5c4f44 !important;
  }
  .dg-prijslijst table.dg-tbl thead th {
    padding: 13px 16px !important;
    text-align: left !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    user-select: none !important;
    border-bottom: 1.5px solid #e2dcd2 !important;
    border-right: 1px solid rgba(226,220,210,0.25) !important;
    background: #5c4f44 !important;
    background-color: #5c4f44 !important;
  }
  .dg-prijslijst table.dg-tbl thead th:last-child { border-right: none !important; }
  .dg-prijslijst table.dg-tbl thead th:hover { color: #af9982 !important; }
  .dg-prijslijst table.dg-tbl thead th .sort-icon { display: inline-block; margin-left: 4px; opacity: .5; font-size: 10px; }
  .dg-prijslijst table.dg-tbl thead th.sort-asc .sort-icon,
  .dg-prijslijst table.dg-tbl thead th.sort-desc .sort-icon { opacity: 1; color: #ffffff !important; }

  table.dg-tbl tbody tr {
    border-bottom: 1px solid #e2dcd2;
    transition: background .15s;
  }
  table.dg-tbl tbody tr:last-child { border-bottom: none; }
  table.dg-tbl tbody tr:last-child td { padding-bottom: 13px; }
  table.dg-tbl tbody tr:hover { background: #f5f6f5; }
  table.dg-tbl tbody td {
    padding: 13px 16px;
    vertical-align: middle;
    color: #323132;
    border-right: 1px solid #e2dcd2;
  }
  table.dg-tbl tbody td:last-child { border-right: none; }

  .td-nr {
    font-weight: 700;
    color: #323132;
    font-size: 13px;
  }
  .td-nr a {
    color: #323132;
    text-decoration: none;
    border-bottom: 1px dotted #af9982;
  }
  .td-nr a:hover { color: #5c4f44; border-bottom-color: #5c4f44; }

  .cat-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 13px;
    line-height: 1.3;
  }
  .cat-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
  }

  .td-buitenruimte { font-size: 13px; }
  .td-parkeren { font-size: 13px; text-align: center; }

  .td-prijs {
    font-weight: 700;
    font-size: 14px;
    color: #323132;
    white-space: nowrap;
  }

  /* Status badges */
  .status-badge {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
    line-height: 1.3;
  }
  .status-beschikbaar {
    background: #81d742;
    color: #ffffff;
    box-shadow: 0 1px 2px rgba(129,215,66,0.25);
  }
  .status-optie {
    background: #f0e6cf;
    color: #5c4f44;
  }
  .status-verkocht {
    background: #e2dcd2;
    color: #5c4f44;
  }

  tr.row-verkocht td { opacity: .45; }
  tr.row-verkocht .td-prijs { text-decoration: line-through; }
  tr.row-optie td { opacity: .7; }

  .dg-empty {
    text-align: center;
    padding: 48px 24px;
    color: #af9982;
    font-size: 15px;
    background: #f5f6f5;
  }
  .dg-empty svg { display: block; margin: 0 auto 12px; opacity: .4; }

  /* Mobiel */
  @media (max-width: 768px) {
    .dg-filters { gap: 8px; }
    .dg-filter-group select { min-width: 140px; font-size: 13px; }
    .dg-count { width: 100%; margin-left: 0; margin-top: 8px; }
  }
  .dg-prijslijst .dg-loading { padding: 24px 16px; color: #af9982; }
  .dg-prijslijst .dg-updated { font-size: 12px; color: #af9982; margin: 10px 0 0; }
  .dg-prijslijst .td-nr .dg-3d { margin-left: 8px; font-size: 11px; font-weight: 600; color: #af9982; border-bottom: 0; }
  .dg-prijslijst .td-nr .dg-3d:hover { color: #5c4f44; }

  /* Filters en knoppen in dezelfde stijl als de woningkiezer */
  .dg-prijslijst-block .dg-filters { gap: 10px 12px; margin-bottom: 20px; }
  .dg-prijslijst-block .dg-filter-group { gap: 5px; flex: 1 1 150px; max-width: 260px; }
  .dg-prijslijst-block .dg-filter-group label { font-size: 12px; font-weight: 600; letter-spacing: .02em; text-transform: none; color: #5c4f44; }
  .dg-prijslijst-block .dg-filter-group select {
    font: inherit; font-size: 13px; line-height: 1.3; color: #5c4f44; height: 40px; box-sizing: border-box; width: 100%; min-width: 0;
    padding: 9px 32px 9px 10px; border: 1px solid #e2dcd2; border-radius: 0; box-shadow: none; margin: 0;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23263d35' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center;
  }
  .dg-prijslijst-block .dg-filter-group select:focus { outline: none; border-color: #5c4f44; }
  .dg-prijslijst-block .dg-reset-btn {
    font: inherit; font-size: 13px; line-height: 38px; font-weight: 600; height: 40px; padding: 0 16px; box-sizing: border-box; margin: 0;
    color: #5c4f44; background: #e2dcd2; border: 1px solid #e2dcd2; border-radius: 0; box-shadow: none; text-transform: none; letter-spacing: 0; align-self: flex-end;
  }
  .dg-prijslijst-block .dg-reset-btn:hover { background: #af9982; border-color: #af9982; color: #fff; }
  .dg-prijslijst-block .dg-count { font-size: 13px; color: #5c4f44; font-weight: 600; line-height: 40px; padding: 0; align-self: flex-end; }
  .dg-prijslijst-block table.dg-tbl, .dg-prijslijst-block .dg-table-scroll { font-family: inherit; font-size: 13px; line-height: 1.3; }
  .dg-prijslijst-block table.dg-tbl tbody td { padding: 11px 12px; line-height: 1.3; white-space: nowrap; }
  .dg-prijslijst-block table.dg-tbl thead th, .dg-prijslijst-block table.dg-tbl tfoot th { padding: 11px 12px !important; font-size: 10px !important; letter-spacing: .05em !important; }
  .dg-prijslijst-block .status-badge { border-radius: 0; font-size: 11px; letter-spacing: .04em; }
  .dg-prijslijst-block .status-beschikbaar { background: #81d742; color: #fff; box-shadow: none; }
  .dg-prijslijst-block .status-optie { background: #ffd323; color: #323132; }
  .dg-prijslijst-block .status-verkocht { background: #ed3535; color: #fff; }
  @media (max-width: 768px) { .dg-prijslijst-block .dg-filter-group { flex: 1 1 calc(50% - 12px); max-width: none; } .dg-prijslijst-block .dg-count { line-height: 1.3; } }

  .dg-prijslijst-block .td-type { font-weight: 600; }
  .dg-prijslijst-block .td-canon { white-space: nowrap; color: #5c4f44; }
  .dg-prijslijst-block tr.row-verkocht .td-prijs { text-decoration: none; }
  .dg-prijslijst-block .dg-notes { margin-top: 18px; font-size: 12.5px; line-height: 1.5; color: #5c4f44; max-width: 980px; }
  .dg-prijslijst-block .dg-notes p { margin: 0 0 8px; }
  .dg-prijslijst-block .dg-notes ul { margin: 0; padding-left: 18px; }
  .dg-prijslijst-block .dg-notes li { margin: 0 0 4px; }

  /* Mobiel: kaarten in plaats van een horizontaal scrollende tabel */
  .dg-prijslijst .dg-cards { display: none; }
  @media (max-width: 768px) {
    .dg-prijslijst .dg-cards { display: grid; gap: 8px; }
    .dg-prijslijst .dg-table-wrap { display: none; }
    .dg-prijslijst .dg-card { background: #fff; border: 1px solid #e2dcd2; padding: 12px 14px; }
    .dg-prijslijst .dg-card.row-verkocht { opacity: .6; }
    .dg-prijslijst .dg-card-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
    .dg-prijslijst .dg-card-top strong { font-size: 16px; color: #323132; }
    .dg-prijslijst .dg-card-type { font-weight: 600; font-size: 13px; color: #5c4f44; flex: 1; }
    .dg-prijslijst .dg-card-price { font-weight: 700; font-size: 15px; margin-top: 6px; color: #323132; }
    .dg-prijslijst .dg-card-price small { font-weight: 400; font-size: 12px; color: #5c4f44; margin-left: 8px; }
    .dg-prijslijst .dg-card-facts { font-size: 12.5px; color: #323132; margin-top: 4px; line-height: 1.4; }
    .dg-prijslijst .dg-card-links { display: flex; gap: 14px; margin-top: 8px; }
    .dg-prijslijst .dg-card-link { font-size: 12.5px; font-weight: 600; color: #5c4f44; text-decoration: underline; text-underline-offset: 2px; }
    .dg-prijslijst-block .dg-head { margin-bottom: 14px; }
    .dg-prijslijst-block .dg-intro { font-size: 13px; }
    .dg-prijslijst-block .dg-notes { font-size: 12px; }
  }

  /* 1.7.1: doelgroepkleuren zoals de blokken op de homepage (studio's = Mijn eerste thuis, 2-kamer = Mijn volgende stap, 3-kamer = Tijd voor comfortabel) */
  .dg-prijslijst { --dg-thuis: #c2714f; --dg-stap: #3f6b73; --dg-comfort: #7a8450; }
  .dg-prijslijst .dg-g-thuis { --dg-c: var(--dg-thuis); }
.dg-prijslijst .dg-g-sociaal { --dg-c: var(--dg-sociaal, #8a3a28); }
  .dg-prijslijst .dg-g-stap { --dg-c: var(--dg-stap); }
  .dg-prijslijst .dg-g-comfort { --dg-c: var(--dg-comfort); }
  .dg-prijslijst .dg-type { display: inline-block; padding: 5px 9px; background: var(--dg-c, #5c4f44); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .04em; line-height: 1.3; text-transform: uppercase; white-space: nowrap; }
  .dg-prijslijst-block .td-type { font-weight: 400; }
  .dg-prijslijst .dg-card { border-left: 4px solid var(--dg-c, #e2dcd2); }

  /* Voor wie: doelgroepknoppen boven de filters */
  .dg-prijslijst-block .dg-groups { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 16px; }
  .dg-prijslijst-block .dg-groups-label { font-size: 12px; font-weight: 600; color: #5c4f44; margin-right: 2px; }
  .dg-prijslijst-block .dg-groups button.dg-group {
    display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; margin: 0; box-sizing: border-box;
    font: inherit; font-size: 13px; font-weight: 600; line-height: 1.2; text-transform: none; letter-spacing: 0;
    color: #323132; background: #fff; border: 1px solid #e2dcd2; border-radius: 0; box-shadow: none; cursor: pointer; transition: background .15s, border-color .15s, color .15s;
  }
  .dg-prijslijst-block .dg-groups button.dg-group small { font-size: 12px; font-weight: 400; color: #5c4f44; }
  .dg-prijslijst-block .dg-groups .dg-swatch { width: 12px; height: 12px; flex: none; background: var(--dg-c); }
  .dg-prijslijst-block .dg-groups button.dg-group:hover { border-color: var(--dg-c); }
  .dg-prijslijst-block .dg-groups button.dg-group[aria-pressed="true"] { background: var(--dg-c); border-color: var(--dg-c); color: #fff; }
  .dg-prijslijst-block .dg-groups button.dg-group[aria-pressed="true"] small { color: rgba(255, 255, 255, .85); }
  .dg-prijslijst-block .dg-groups button.dg-group[aria-pressed="true"] .dg-swatch { background: #fff; }
  .dg-prijslijst-block .dg-groups button.dg-group:focus-visible { outline: 3px solid #af9982; outline-offset: 2px; }
  @media (max-width: 768px) {
    .dg-prijslijst-block .dg-groups-label { width: 100%; }
    .dg-prijslijst-block .dg-groups button.dg-group { flex: 1 1 100%; justify-content: flex-start; }
  }
  /* Type- en statuslabel vullen de hele kolombreedte */
  .dg-prijslijst table.dg-tbl .td-type .dg-type, .dg-prijslijst table.dg-tbl td .status-badge { display: block; text-align: center; }
