/* Vrijmarkt v0.7 */
.market-hero{padding:2.2rem;border-radius:28px;background:linear-gradient(135deg,#176b58,#25866c);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem;box-shadow:var(--shadow)}
.market-hero h1{font-size:clamp(2.1rem,5vw,4.2rem);line-height:1.02;letter-spacing:-.05em;margin:.5rem 0}.market-hero p{margin:0;color:#def7ec;font-size:1.05rem}
.market-primary{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.15rem;border:0;border-radius:13px;background:#fff;color:#155f50;text-decoration:none;font-weight:850;white-space:nowrap;box-shadow:0 12px 28px rgba(0,0,0,.14)}
.market-filters{margin:1.4rem 0;display:grid;grid-template-columns:1.35fr repeat(4,minmax(120px,1fr)) auto;gap:.8rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-soft)}
.market-filters label,.market-form label,.review-form label{display:grid;gap:.38rem}.market-filters label span,.market-form label>span,.review-form label span{font-size:.78rem;font-weight:850;color:var(--muted)}
.market-filters input,.market-filters select,.market-form input,.market-form select,.market-form textarea,.review-form textarea{width:100%;padding:.85rem .9rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);color:var(--text);outline:none}
.market-filters button{align-self:end;padding:.85rem 1.1rem;border:0;border-radius:12px;background:var(--primary);color:#fff;font-weight:850}
.market-filters>.location-choice{grid-column:1/-1;display:flex;gap:.6rem;flex-wrap:wrap;color:var(--muted)}
.market-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem}.market-card{overflow:hidden;border-radius:20px;background:var(--surface);border:1px solid var(--border);text-decoration:none;box-shadow:var(--shadow-soft);transition:.18s}.market-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.market-card img{width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--surface-strong)}.market-card-body{padding:1rem}.market-category{display:inline-block;font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#17705c;background:#e8f7f1;padding:.28rem .48rem;border-radius:999px}
.market-card h2{font-size:1.03rem;margin:.65rem 0 .35rem}.market-card strong{font-size:1.2rem}.market-card p{color:var(--muted);margin:.35rem 0 0}
.market-empty,.market-message{max-width:700px;margin:3rem auto;padding:3rem;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow)}.market-empty a{color:var(--primary);font-weight:800}
.form-page{max-width:930px;margin:auto}.form-page-header h1{font-size:2.5rem;letter-spacing:-.045em;margin:.4rem 0}.form-page-header p,.form-help{color:var(--muted)}
.market-errors{padding:1rem 1.2rem;margin:1rem 0;background:var(--danger-soft);color:var(--danger);border-radius:14px}.market-errors ul{margin:.5rem 0 0}
.market-form{display:grid;gap:1rem}.form-section{padding:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-soft)}.form-section h2{margin:0 0 1rem;font-size:1.15rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid .full{grid-column:1/-1}.market-form textarea{min-height:150px;resize:vertical}
.photo-drop{position:relative;padding:1.5rem!important;border:2px dashed var(--border)!important;border-radius:16px!important;text-align:center;background:var(--surface-soft)}.photo-drop strong,.photo-drop>span{display:block}.photo-source-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.photo-source-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin:.85rem 0}.photo-source-actions .button{min-width:150px}.photo-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem}.photo-preview img{width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:12px;background:var(--surface-strong)}
.current-listing-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0 0 1.35rem}.current-listing-photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:12px;background:var(--surface-strong)}.member-market-edit .form-section h3{margin:1.2rem 0 .35rem;font-size:1rem}.member-market-edit .notice{margin:1rem 0 0;border:1px solid var(--border);background:var(--surface-soft);color:var(--text)}
.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:1rem}.form-actions>a{color:var(--muted)}
.market-back{display:inline-block;margin-bottom:1rem;color:var(--muted);text-decoration:none}.listing-detail{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(330px,.6fr);gap:1.5rem;align-items:start}.listing-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.listing-photo-button{min-width:0;padding:0;border:1px solid var(--border);border-radius:18px;background:var(--surface-strong);cursor:zoom-in;overflow:hidden}.listing-photo-button:first-child{grid-column:1/-1}.listing-photo-button img{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;background:var(--surface-strong)}.listing-photo-button:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.photo-viewer{width:min(96vw,1200px);max-width:none;padding:3.5rem 1rem 1rem;border:0;border-radius:18px;background:var(--surface);color:var(--text)}.photo-viewer::backdrop{background:rgba(4,12,24,.82)}.photo-viewer img{display:block;width:100%;height:auto;max-height:82vh;object-fit:contain}.photo-viewer-close{position:absolute;top:.75rem;right:.75rem;padding:.65rem .9rem;border:0;border-radius:10px;background:var(--primary);color:#fff;font:inherit;font-weight:850;cursor:pointer}
.listing-info{position:sticky;top:110px;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:1.5rem;box-shadow:var(--shadow)}.listing-info h1{font-size:2rem;letter-spacing:-.04em;margin:.7rem 0}.listing-price{font-size:1.7rem}.listing-location{color:var(--muted)}.listing-description{margin:1.2rem 0;line-height:1.75}
.contact-card{padding:1rem;background:var(--surface-soft);border-radius:15px}.contact-card h2{font-size:1rem;margin-top:0}.contact-card a{display:block;margin-top:.5rem;color:var(--primary);font-weight:800}
.message-icon{width:70px;height:70px;margin:auto;display:grid;place-items:center;border-radius:22px;background:var(--success-soft);color:var(--success);font-size:2rem;font-weight:900}.market-message .market-primary{margin-top:1.2rem;background:var(--primary);color:#fff}
.admin-public-link{color:var(--primary);font-weight:800;text-decoration:none}.status-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}.status-tabs a{padding:.55rem .75rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);text-decoration:none;font-size:.82rem;font-weight:800}.status-tabs a.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.admin-listings{display:grid;gap:.65rem}.admin-listing-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto 20px;align-items:center;gap:1rem;padding:.7rem;background:var(--surface);border:1px solid var(--border);border-radius:16px;text-decoration:none;box-shadow:var(--shadow-soft)}.admin-listing-row img{width:72px;height:58px;object-fit:cover;border-radius:11px}.admin-listing-copy strong,.admin-listing-copy small{display:block}.admin-listing-copy small{color:var(--muted);margin-top:.2rem}
.listing-status{padding:.35rem .55rem;border-radius:999px;font-size:.68rem;font-weight:850;text-transform:capitalize}.status-approved{background:var(--success-soft);color:var(--success)}.status-rejected{background:var(--danger-soft);color:var(--danger)}.status-pending_review,.status-pending_email{background:var(--warning-soft);color:var(--warning)}
.admin-review-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1rem;align-items:start}.admin-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem}.admin-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.review-sidebar{position:sticky;top:110px}.review-sidebar dl{display:grid;grid-template-columns:90px 1fr;gap:.5rem}.review-sidebar dt{color:var(--muted)}.review-sidebar dd{margin:0;overflow-wrap:anywhere}.review-form{display:grid;gap:.6rem}.review-form textarea{min-height:85px}.approve-button,.reject-button,.archive-button,.delete-button{width:100%;padding:.8rem;border:0;border-radius:11px;font-weight:850}.approve-button{background:var(--success);color:#fff}.reject-button,.delete-button{background:var(--danger-soft);color:var(--danger)}.archive-button{background:var(--surface-strong);color:var(--text)}.delete-button{margin-top:1rem}
@media(max-width:1100px){.market-grid{grid-template-columns:repeat(3,1fr)}.admin-review-grid{grid-template-columns:1fr}.review-sidebar{position:static}}
@media(max-width:850px){.market-filters{grid-template-columns:1fr 1fr}.market-grid{grid-template-columns:repeat(2,1fr)}.listing-detail{grid-template-columns:1fr}.listing-info{position:static}.market-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.market-grid,.form-grid,.market-filters{grid-template-columns:1fr}.photo-preview,.current-listing-photos{grid-template-columns:repeat(2,1fr)}.listing-gallery{grid-template-columns:1fr}.listing-photo-button:first-child{grid-column:auto}.photo-source-actions{display:grid}.photo-source-actions .button{width:100%}.admin-listing-row{grid-template-columns:58px minmax(0,1fr) 20px}.admin-listing-row img{width:58px;height:52px}.listing-status{display:none}.market-hero,.form-section{padding:1.2rem}}

/* v0.7.1 formulierverbeteringen */
.form-page-header {
    margin-bottom: 1.4rem;
    padding: clamp(1.4rem, 4vw, 2.2rem);
    border: 1px solid var(--border);
    border-radius: 24px;
    background: linear-gradient(135deg, var(--surface), var(--surface-soft));
    box-shadow: var(--shadow-soft);
}
.form-page-header .section-label {
    display: inline-flex;
    padding: .35rem .65rem;
    border-radius: 999px;
    background: #e8f7f1;
    color: #176b58;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
html[data-theme="dark"] .form-page-header .section-label {
    background: rgba(37, 134, 108, .22);
    color: #8de0c8;
}
.form-section {
    transition: border-color .18s ease, box-shadow .18s ease;
}
.form-section:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent), var(--shadow-soft);
}
.market-form input:focus,
.market-form select:focus,
.market-form textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent);
}
.form-actions {
    padding: 1rem 0;
}
.form-actions .market-primary {
    background: var(--primary);
    color: #fff;
}
@media (max-width: 600px) {
    .form-page-header h1 { font-size: 2rem; }
    .form-actions { align-items: stretch; flex-direction: column-reverse; }
    .form-actions > * { width: 100%; text-align: center; }
}

/* v0.9.1 - grotere bediening en gewone taal */
.market-primary,.market-filters button{min-height:48px}.market-filters input,.market-filters select,.market-form input,.market-form select,.market-form textarea{font-size:1rem}.market-form label>span,.market-filters label span{font-size:.9rem}.form-help{line-height:1.7}.market-back{padding:.55rem 0;font-weight:800}.contact-card{border:1px solid var(--border)}
html[data-reading="easy"] .market-hero{padding:1.7rem}html[data-reading="easy"] .market-hero h1{font-size:clamp(2rem,6vw,3.4rem);line-height:1.12}html[data-reading="easy"] .market-filters{grid-template-columns:1fr;gap:1rem}html[data-reading="easy"] .market-filters button{width:100%}html[data-reading="easy"] .form-grid{grid-template-columns:1fr}html[data-reading="easy"] .form-grid .full{grid-column:auto}html[data-reading="easy"] .form-section{padding:1.7rem}html[data-reading="easy"] .form-section h2{font-size:1.35rem}html[data-reading="easy"] .listing-detail{grid-template-columns:1fr}html[data-reading="easy"] .listing-info{position:static}
@media(max-width:650px){.market-hero h1{font-size:2.25rem;line-height:1.12}.market-primary{width:100%;min-height:54px}.market-card h2{font-size:1.15rem}.market-card strong{font-size:1.3rem}}

/* v2.12.0 - beheerbare Vrijmarkt-rubrieken */
.admin-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}
.category-admin-intro{margin-bottom:1rem}.category-create-card{margin-bottom:1rem}
.category-admin-list{display:grid;gap:1rem}.category-admin-card{transition:opacity .18s,border-color .18s}.category-admin-card.is-inactive{opacity:.72;border-style:dashed}
.category-admin-form{display:grid;gap:1rem}.category-admin-main-fields{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.8fr) 130px;gap:.85rem}
.category-transfer-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(320px,1.25fr);gap:1rem;align-items:start}.category-transfer-export{padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.category-transfer-export h3,.category-transfer-export p{margin-top:0}.category-transfer-export .button{width:100%;text-align:center}
.category-admin-form label{display:grid;gap:.38rem}.category-admin-form label>span{font-size:.82rem;font-weight:850;color:var(--muted)}
.category-admin-form input{width:100%;padding:.78rem .85rem;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft);color:var(--text);font:inherit}
.category-admin-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}
.category-admin-form input[readonly]{opacity:.72;cursor:not-allowed}.category-admin-form small{color:var(--muted);line-height:1.5}
.category-admin-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.category-admin-card-header strong,.category-admin-card-header small{display:block}.category-admin-card-header small{margin-top:.25rem;color:var(--muted)}
.category-translations{padding:.85rem 1rem;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft)}
.category-translations summary{cursor:pointer;font-weight:850;color:var(--primary)}.category-translations>p{color:var(--muted);margin:.75rem 0}
.category-translation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.85rem}
.category-active-toggle{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;justify-content:flex-start;gap:.6rem!important;font-weight:750}
.category-active-toggle input{width:auto}.category-admin-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.category-admin-actions small{max-width:620px}
@media(max-width:1000px){.category-translation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.category-admin-main-fields,.category-translation-grid,.category-transfer-grid{grid-template-columns:1fr}.category-admin-card-header{align-items:flex-start}.admin-heading-actions{align-items:stretch;flex-direction:column;width:100%}.admin-heading-actions>*{text-align:center}}

/* BewonersOnline 2.26: gevolgde rubrieken en productscanner. */
.market-follow{margin:0 0 1.4rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft)}
.market-follow>summary{cursor:pointer;font-weight:900;color:var(--text)}.market-follow>p{margin:.65rem 0;color:var(--muted);line-height:1.55}
.market-follow-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:.8rem 0}
.market-follow-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.9rem 0}.market-follow-options label{min-width:0;display:flex;align-items:flex-start;gap:.55rem;padding:.65rem;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft);cursor:pointer}.market-follow-options input{margin-top:.15rem;flex:0 0 auto}.market-follow-options span{min-width:0;overflow-wrap:anywhere;font-size:.88rem;font-weight:750}
.product-lookup{display:grid;gap:.85rem;margin:0 0 1.2rem;padding:1rem;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:16px;background:var(--primary-soft)}.product-lookup h3{margin:0 0 .3rem}.product-lookup p{margin:0}.product-lookup-grid{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(220px,1fr) auto;gap:.75rem;align-items:end}.product-lookup-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.product-lookup-status{min-height:1.4em;color:var(--muted);font-weight:750}.product-lookup-status.is-success{color:var(--success)}.product-lookup-status.is-error{color:var(--danger)}
.barcode-camera{padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:center}.barcode-camera video{display:block;width:min(100%,560px);max-height:55vh;margin:0 auto .75rem;border-radius:12px;background:#07111f;object-fit:cover}.barcode-camera p{margin:0 0 .75rem;color:var(--muted)}
@media(max-width:850px){.market-follow-options{grid-template-columns:repeat(2,minmax(0,1fr))}.product-lookup-grid{grid-template-columns:1fr 1fr}.product-lookup-actions{grid-column:1/-1}}
@media(max-width:600px){.market-follow-options,.product-lookup-grid{grid-template-columns:1fr}.product-lookup-actions{grid-column:auto}.product-lookup-actions .button{width:100%}}
.image-compress-status{min-height:1.4em;margin:.7rem 0 0;color:var(--muted);font-size:.9rem}.image-compress-status:not(:empty){padding:.65rem .8rem;border-radius:10px;background:var(--surface-soft)}

/* BewonersOnline 2.32.0 - lokale productherkenning. */
.market-category-browser{margin:1.4rem 0;padding:1.15rem;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-soft)}
.market-category-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.market-category-heading h2{margin:.25rem 0 0;font-size:1.25rem}.market-category-heading>a{color:var(--primary);font-weight:850}
.market-category-filter{display:grid;gap:1rem}.market-category-filter-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.market-category-filter-pair label,.market-category-filter noscript label{min-width:0;display:grid;gap:.38rem}.market-category-filter label>span{font-size:.9rem;font-weight:850;color:var(--muted)}.market-category-filter select{width:100%;padding:.85rem .9rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);color:var(--text);font:inherit;outline:none}.market-category-filter select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.market-category-filter select:disabled{opacity:.7;cursor:not-allowed}.market-category-filter>.market-primary{justify-self:end;background:var(--primary);color:#fff}.market-category-filter>noscript{display:grid;gap:.7rem}.market-category-filter>noscript .market-primary{background:var(--primary);color:#fff}
.product-recognition{display:grid;gap:.9rem;margin:0 0 1.2rem;padding:1rem;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:16px;background:var(--primary-soft)}.product-recognition h3{margin:0 0 .3rem}.product-recognition p{margin:0}.product-recognition-actions,.recognition-review-actions{display:flex;gap:.65rem;flex-wrap:wrap}.recognition-photo-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.recognition-photo-preview:empty{display:none}.recognition-photo-preview img{width:100%;aspect-ratio:4/3;object-fit:contain;border:1px solid var(--border);border-radius:11px;background:var(--surface)}
.recognition-review{display:grid;gap:.9rem;padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.recognition-review-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.recognition-review-heading h3{margin:.25rem 0 0}.recognition-confidence{padding:.35rem .55rem;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:.76rem;font-weight:900}.recognition-results{display:grid;gap:.65rem}.recognition-result{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:.75rem!important;padding:.85rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);cursor:pointer}.recognition-result.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent)}.recognition-result>input{width:auto!important;margin-top:.25rem}.recognition-result-body{display:grid;gap:.4rem;min-width:0}.recognition-result-body>strong{font-size:1.03rem}.recognition-result-body>small,.recognition-result-body>em{color:var(--muted)}.recognition-result dl{display:grid;gap:.2rem;margin:.2rem 0}.recognition-result dl>div{display:grid;grid-template-columns:80px 1fr;gap:.6rem}.recognition-result dt{color:var(--muted)}.recognition-result dd{margin:0;overflow-wrap:anywhere}.recognition-description{max-height:180px;overflow:auto;padding:.65rem;border:1px solid var(--border);border-radius:9px;background:var(--surface);white-space:pre-line;line-height:1.55}.recognition-category-choice{display:grid;gap:.35rem;margin-top:.25rem}.recognition-category-choice select{width:100%}.recognition-use-photo{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:.65rem!important;padding:.75rem;border-radius:11px;background:var(--success-soft)}.recognition-use-photo input{width:auto!important;margin-top:.2rem}.recognition-use-photo span{color:var(--text)!important}
@media(max-width:620px){.market-category-heading{align-items:flex-start;flex-direction:column}.market-category-filter-pair{grid-template-columns:1fr}.market-category-filter>.market-primary{width:100%}.product-recognition-actions,.recognition-review-actions{display:grid}.product-recognition-actions .button,.recognition-review-actions .button{width:100%}.recognition-photo-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.recognition-review-heading{flex-direction:column}.recognition-result dl>div{grid-template-columns:1fr;gap:0}}

/* BewonersOnline 2.33.0 - afhankelijke rubrieken en fotobewerking. */
.market-category-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.market-category-pair>label{min-width:0}.market-category-pair>.form-help,.market-category-pair>noscript{grid-column:1/-1;margin:0}.market-category-pair select:disabled{opacity:.7;cursor:not-allowed}
.publication-search-row{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:.7rem;align-items:end}.publication-search-row .button{min-height:48px}.product-recognition[hidden]{display:none!important}.recognition-mobile-tools{display:grid;gap:.9rem}
.market-photo-editor{width:min(96vw,980px);max-width:none;max-height:96vh;padding:0;border:0;border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.35)}.market-photo-editor::backdrop{background:rgba(3,10,22,.82)}.market-photo-editor-shell{display:grid;gap:1rem;padding:clamp(1rem,3vw,1.5rem)}.market-photo-editor header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.market-photo-editor h2{margin:.25rem 0 0}.photo-editor-close{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:var(--surface-strong);color:var(--text);font:700 1.7rem/1 inherit;cursor:pointer}.photo-editor-stage{display:grid;place-items:center;min-height:260px;max-height:58vh;padding:.65rem;border-radius:15px;background:#08111f;overflow:hidden;touch-action:none}.photo-editor-stage canvas{display:block;max-width:100%;max-height:55vh;border-radius:8px;cursor:grab;touch-action:none}.photo-editor-stage canvas:active{cursor:grabbing}.photo-editor-controls{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:.65rem}.photo-editor-controls label{display:grid;gap:.3rem}.photo-editor-controls label>span{font-size:.78rem;font-weight:850;color:var(--muted)}.photo-editor-controls input,.photo-editor-controls select{width:100%}.photo-editor-tools,.market-photo-editor footer{display:flex;gap:.65rem;flex-wrap:wrap}.market-photo-editor footer{justify-content:flex-end;padding-top:.8rem;border-top:1px solid var(--border)}
.listing-review-dialog{width:min(94vw,720px);max-width:none;padding:0;border:0;border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.35)}.listing-review-dialog::backdrop{background:rgba(3,10,22,.82)}.listing-review-shell{display:grid;gap:1rem;padding:clamp(1rem,4vw,1.5rem)}.listing-review-shell header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.listing-review-shell h2{margin:.25rem 0 0}.listing-review-shell dl{display:grid;gap:.55rem;margin:0}.listing-review-shell dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:.8rem;padding:.7rem;border-radius:10px;background:var(--surface-soft)}.listing-review-shell dt{color:var(--muted);font-weight:800}.listing-review-shell dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}.listing-review-shell dl>div:last-child dd{max-height:180px;overflow:auto}.listing-review-shell footer{display:flex;justify-content:flex-end;gap:.65rem;padding-top:.8rem;border-top:1px solid var(--border)}
@media(max-width:1050px){.publication-search-row{grid-template-columns:1fr 1fr}.publication-search-row .button{grid-column:1/-1}}
@media(max-width:780px){.photo-editor-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.market-category-pair,.publication-search-row,.photo-editor-controls{grid-template-columns:1fr}.publication-search-row .button{grid-column:auto}.market-photo-editor{width:100vw;max-height:100dvh;border-radius:0}.market-photo-editor-shell{padding:1rem}.photo-editor-stage{min-height:210px;max-height:46vh}.photo-editor-stage canvas{max-height:43vh}.photo-editor-tools,.market-photo-editor footer,.listing-review-shell footer{display:grid}.photo-editor-tools .button,.market-photo-editor footer .button,.listing-review-shell footer .button{width:100%}.listing-review-shell dl>div{grid-template-columns:1fr;gap:.2rem}}

/* BewonersOnline 2.33.3 - live ISBN/EAN/ISSN-scanner. */
.recognition-barcode-camera{display:grid;gap:.8rem;text-align:left}.recognition-barcode-camera[hidden]{display:none!important}.recognition-barcode-video-shell{position:relative;width:min(100%,640px);margin:0 auto;border-radius:14px;overflow:hidden;background:#07111f}.recognition-barcode-video-shell video{display:block;width:100%;min-height:240px;max-height:58vh;margin:0;object-fit:cover}.recognition-barcode-guide{position:absolute;left:8%;right:8%;top:50%;height:34%;min-height:90px;transform:translateY(-50%);border:3px solid #fff;border-radius:12px;box-shadow:0 0 0 999px rgba(3,10,22,.32),inset 0 0 0 1px rgba(0,0,0,.35);pointer-events:none}.recognition-barcode-guide::after{content:"";position:absolute;left:6%;right:6%;top:50%;height:2px;background:#ff5d68;box-shadow:0 0 9px rgba(255,93,104,.8)}.recognition-barcode-camera>p{margin:0;text-align:center}.recognition-barcode-camera-actions{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap}
@media(max-width:600px){.recognition-barcode-video-shell video{min-height:220px;max-height:52vh}.recognition-barcode-camera-actions{display:grid}.recognition-barcode-camera-actions .button{width:100%}}

/* BewonersOnline 2.35.0 - desktopzoeken en rubrieken in één overzicht. */
@media(hover:hover) and (pointer:fine){[data-recognition-mobile-only]{display:none!important}}
.category-import-card{margin:0 0 1rem}.category-import-card>summary{cursor:pointer;font-weight:900;color:var(--primary)}.category-import-card>.category-admin-form{margin-top:1rem}
.category-structure-form{display:grid;gap:1rem;margin-top:1.25rem}.category-structure-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.category-structure-heading h2{margin:.25rem 0 0}.category-structure-heading>p{max-width:660px;margin:0;color:var(--muted);line-height:1.55}
.category-structure-list{display:grid;gap:1rem}.category-structure-group{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(420px,1.25fr);gap:1rem;align-items:start;padding:1rem;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}.category-structure-children{display:grid;gap:.75rem}.category-structure-empty{margin:0;padding:1rem;border:1px dashed var(--border);border-radius:13px;color:var(--muted);background:var(--surface)}
.category-structure-item{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-soft)}.category-structure-item.is-root{position:sticky;top:1rem;border-color:color-mix(in srgb,var(--primary) 42%,var(--border));background:var(--primary-soft)}.category-structure-item.is-inactive{opacity:.72;border-style:dashed}.category-structure-item>header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.category-structure-item>header strong,.category-structure-item>header small{display:block}.category-structure-item>header small{margin-top:.22rem;color:var(--muted);line-height:1.4}.category-structure-kind{display:block;margin-bottom:.22rem;color:var(--primary);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.category-secondary-badge{color:var(--success)!important;font-weight:850}
.category-structure-fields{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.category-structure-fields label{display:grid;gap:.32rem;min-width:0}.category-structure-fields label>span{font-size:.74rem;font-weight:850;color:var(--muted)}.category-structure-fields input,.category-structure-fields select{width:100%;min-width:0;padding:.68rem .72rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);color:var(--text);font:inherit}.category-structure-fields input:focus,.category-structure-fields select:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}
.category-structure-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.category-structure-actions .check-row{margin:0}.category-structure-actions small{color:var(--muted)}.category-structure-submit{position:sticky;bottom:.75rem;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border:1px solid color-mix(in srgb,var(--primary) 40%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 12px 38px rgba(4,18,42,.2);backdrop-filter:blur(12px)}.category-structure-submit p{margin:0;color:var(--muted)}.category-structure-submit .primary-button{flex:0 0 auto}
@media(max-width:1100px){.category-structure-group{grid-template-columns:1fr}.category-structure-item.is-root{position:static}}
@media(max-width:720px){.category-structure-heading,.category-structure-submit{align-items:stretch;flex-direction:column}.category-structure-fields{grid-template-columns:1fr}.category-structure-submit{bottom:.35rem}.category-structure-submit .primary-button{width:100%}.category-structure-item>header{flex-direction:column}}
.market-intent-section{margin:1.25rem 0;padding:1rem;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-soft)}.market-intent-tabs{display:flex;flex-wrap:wrap;gap:.65rem;margin:.65rem 0 0}.market-intent-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-weight:800;text-decoration:none}.market-intent-tabs a:hover,.market-intent-tabs a:focus-visible,.market-intent-tabs a.is-active{border-color:var(--primary);background:var(--primary);color:#fff}.listing-intent-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.listing-intent-choices label{display:flex;gap:.7rem;align-items:flex-start;padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer}.listing-intent-choices label:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.listing-intent-choices strong,.listing-intent-choices small{display:block}.listing-intent-choices small{margin-top:.2rem;color:var(--muted)}.market-intent-badge{display:inline-flex;align-items:center;padding:.3rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--primary);font-size:.78rem;font-weight:900}.market-intent-badge.is-request{background:color-mix(in srgb,#d97706 16%,var(--surface));color:color-mix(in srgb,#d97706 82%,var(--text))}
@media(max-width:620px){.listing-intent-choices{grid-template-columns:1fr}.market-intent-tabs a{flex:1 1 auto}}
