*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f5f7f2;color:#203025}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}.topbar{height:72px;background:#fff;border-bottom:1px solid #e5e9e2;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1100px)/2));position:sticky;top:0;z-index:5}.brand{display:flex;gap:10px;align-items:center;font-weight:800;font-size:21px;color:#245733}.logo{font-size:28px}.profile-btn,.text-btn{background:none;color:#2f6b3f;font-weight:700}.view{display:none;max-width:1100px;margin:auto;padding:28px 20px 110px}.view.active{display:block}.hero{margin:18px 0 42px;padding:40px;border-radius:28px;background:linear-gradient(135deg,#e2f0df,#f4f8e9);display:flex;justify-content:space-between;align-items:center;overflow:hidden}.hero h1{font-size:clamp(36px,6vw,64px);line-height:.98;max-width:680px;margin:8px 0 16px;letter-spacing:-2px}.hero p{max-width:600px;font-size:18px;line-height:1.6;color:#526055}.hero-plant{font-size:120px;padding:20px}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;font-size:12px!important;font-weight:800;color:#5d7b64!important;margin:0}.primary,.secondary{border-radius:12px;padding:13px 18px;font-weight:800}.primary{background:#2f6b3f;color:white}.secondary{background:#e8efe7;color:#2f6b3f}.section-head,.page-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.page-title{display:block}.page-title h1{font-size:38px;margin:5px 0}.page-title p:not(.eyebrow){color:#667168}.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.listing{background:#fff;border:1px solid #e3e8e0;border-radius:18px;overflow:hidden;box-shadow:0 4px 16px #1c2a1c08}.plant-img{height:180px;background:#dfeadd;display:flex;align-items:center;justify-content:center;font-size:72px}.listing-body{padding:16px}.listing h3{margin:4px 0 7px}.meta{font-size:13px;color:#6a756c;display:flex;justify-content:space-between}.price{font-size:19px;font-weight:800;margin-top:12px}.tag{display:inline-block;padding:5px 8px;border-radius:99px;background:#edf5e9;color:#356441;font-size:11px;font-weight:800}.filters{display:grid;grid-template-columns:1fr 160px 180px;gap:10px;margin-bottom:20px}.filters input,.filters select,.form input,.form select,.form textarea{width:100%;border:1px solid #d6ddd4;background:#fff;border-radius:11px;padding:12px 13px;outline:none}.form{max-width:700px;display:grid;gap:16px}.form label{font-weight:700;font-size:14px}.form input,.form select,.form textarea{display:block;margin-top:7px;font-weight:400}.card,.profile-card{background:#fff;border:1px solid #e3e8e0;border-radius:18px;padding:22px}.profile-card{display:flex;gap:18px;align-items:center}.avatar{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#e6f0e2;font-size:35px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.stats div{background:#fff;border:1px solid #e3e8e0;border-radius:15px;padding:18px;text-align:center}.stats strong,.stats span{display:block}.stats strong{font-size:25px}.stats span{font-size:12px;color:#738076;margin-top:3px}.empty{text-align:center;padding:60px 20px;color:#68746b}.empty span{font-size:45px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:72px;background:#fff;border-top:1px solid #dfe5dc;display:flex;justify-content:center;align-items:center;gap:min(6vw,65px);z-index:10}.nav-item{background:none;color:#68746b;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px}.nav-item.active{color:#2f6b3f;font-weight:800}.add{width:50px;height:50px;border-radius:50%;background:#2f6b3f;color:white;font-size:28px;box-shadow:0 5px 15px #2f6b3f40}.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%) translateY(20px);background:#203025;color:#fff;padding:12px 16px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media(max-width:760px){.hero{padding:28px 22px}.hero-plant{font-size:70px}.listing-grid{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr}.topbar{padding:0 16px}.profile-btn{font-size:13px}}@media(max-width:500px){.listing-grid{grid-template-columns:1fr}.plant-img{height:160px}.hero h1{font-size:42px}.hero-plant{display:none}.section-head{align-items:start}.bottom-nav{gap:17px}.nav-item span{font-size:10px}}
.plant-img.has-image{padding:0}.plant-img.has-image img{width:100%;height:100%;object-fit:cover;display:block}.listing p{color:#667168;line-height:1.5}.interest-btn{float:right}.form button:disabled{opacity:.6;cursor:wait}

/* Stap 2: advertentie-detailpagina */
.clickable{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.clickable:hover{transform:translateY(-2px);box-shadow:0 10px 28px #1c2a1c12}.clickable:focus-visible{outline:3px solid #8dbf91;outline-offset:3px}.view-link{float:right;color:#2f6b3f;font-size:13px}.back-btn{background:none;color:#2f6b3f;font-weight:800;padding:4px 0 18px}.detail-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);background:#fff;border:1px solid #e3e8e0;border-radius:24px;overflow:hidden;box-shadow:0 8px 30px #1c2a1c0a}.detail-image{min-height:430px;background:#dfeadd;display:flex;align-items:center;justify-content:center;font-size:120px}.detail-image.has-image{font-size:0}.detail-image img{width:100%;height:100%;min-height:430px;object-fit:cover;display:block}.detail-placeholder{font-size:120px}.detail-info{padding:36px}.detail-info h1{font-size:clamp(34px,5vw,52px);line-height:1.02;margin:10px 0}.detail-price{font-size:28px;font-weight:850;margin:16px 0}.detail-meta{display:flex;gap:18px;flex-wrap:wrap;color:#69756c;font-size:14px;border-bottom:1px solid #e8ece6;padding-bottom:22px}.detail-description{margin:26px 0 30px}.detail-description h2{font-size:18px;margin-bottom:8px}.detail-description p{color:#59655c;line-height:1.7;white-space:pre-wrap}.contact-btn{width:100%;font-size:16px}.contact-note{font-size:12px;color:#7a847c;text-align:center;margin:10px 0 0}@media(max-width:760px){.detail-card{grid-template-columns:1fr}.detail-image,.detail-image img{min-height:280px}.detail-info{padding:24px}.detail-placeholder{font-size:90px}}
.hidden{display:none!important}.modal{position:fixed;inset:0;background:rgba(20,35,25,.42);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal-box{position:relative;background:#fff;border-radius:28px;padding:32px;max-width:480px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.18)}.modal-close{position:absolute;right:18px;top:12px;border:0;background:transparent;font-size:32px;cursor:pointer;color:#526358}.auth-switch{margin-top:16px}.seller{margin:20px 0;padding:14px 16px;background:#f0f6ed;border-radius:14px}.auth-card{display:flex;gap:12px;flex-wrap:wrap}.chat-item{display:flex;gap:16px;align-items:center;padding:18px;border-radius:18px;background:#fff;border:1px solid #dfe7df;margin-bottom:12px;cursor:pointer}.chat-avatar{width:52px;height:52px;border-radius:50%;background:#e8f2e5;display:grid;place-items:center;font-size:25px}.chat-item span,.chat-item p{display:block;color:#6c786f;margin:4px 0}.conversation{max-width:820px;margin:auto}.conversation-head{background:#eef6ea;padding:28px;border-radius:24px;margin-bottom:16px}.messages{background:#fff;border:1px solid #dfe7df;border-radius:24px;padding:20px;min-height:320px;max-height:55vh;overflow:auto}.message{max-width:75%;margin:10px 0}.message>div{display:inline-block;padding:12px 15px;border-radius:18px 18px 18px 5px;background:#edf2ec}.message.mine{margin-left:auto;text-align:right}.message.mine>div{background:#dcefd8;border-radius:18px 18px 5px 18px}.message small{display:block;color:#7b877e;font-size:11px;margin-top:4px}.message-form{display:flex;gap:10px;margin-top:14px}.message-form input{flex:1;border:1px solid #cfd9cf;border-radius:14px;padding:14px;font:inherit}.chat-list{max-width:820px;margin:auto}

/* Stekmaat account modal polish */
.modal{padding:24px;background:rgba(31,48,37,.48);backdrop-filter:blur(3px)}
.modal-box{max-width:520px;border:1px solid #e3e8e0;border-radius:26px;padding:38px 40px 34px;box-shadow:0 24px 70px rgba(24,42,29,.22)}
.modal-box .eyebrow{margin:0 0 12px}
.modal-box h2{font-size:36px;line-height:1.08;letter-spacing:-.8px;margin:0 48px 28px 0;color:#203025}
.modal-close{right:22px;top:18px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:34px;line-height:1;color:#526358;transition:.15s}
.modal-close:hover{background:#f0f4ee;color:#2f6b3f}
#auth-form{display:flex;flex-direction:column;gap:18px}
#auth-form label{display:block;font-size:14px;font-weight:750;color:#334238}
#auth-form input{display:block;width:100%;height:50px;margin-top:7px;border:1px solid #ccd6cc;border-radius:12px;background:#fbfcfa;padding:0 14px;font:inherit;color:#203025;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
#auth-form input:focus{background:#fff;border-color:#5b9469;box-shadow:0 0 0 4px rgba(91,148,105,.13)}
#auth-form .primary{width:100%;min-height:52px;margin-top:4px;font-size:16px;border-radius:13px}
.auth-switch{display:block;width:100%;margin:18px 0 0;padding:8px;text-align:center;font-size:14px}
@media(max-width:600px){.modal{align-items:flex-end;padding:0}.modal-box{max-width:none;border-radius:26px 26px 0 0;padding:32px 22px 28px;max-height:92vh;overflow:auto}.modal-box h2{font-size:30px;margin-bottom:24px}.modal-close{right:16px;top:14px}#auth-form{gap:16px}}


/* Stap 4: vernieuwde navigatie + advertentiebeheer */
.bottom-nav{height:78px;gap:min(5vw,54px);padding-bottom:env(safe-area-inset-bottom)}
.nav-item{min-width:62px;gap:5px;font-size:11px;transition:.18s ease}.nav-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:10px;font-size:20px;line-height:1}.nav-item.active .nav-icon{background:#e6f0e2}.add{display:grid;place-items:center;width:54px;height:54px;border:4px solid #fff;box-shadow:0 6px 18px #2f6b3f35;font-size:30px;line-height:1}.manage-list{display:grid;gap:12px;margin-top:18px}.manage-item{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid #e3e8e0;border-radius:16px;background:#fff}.manage-thumb{width:72px;height:72px;border-radius:13px;background:#e4eee0;display:grid;place-items:center;font-size:32px;overflow:hidden}.manage-thumb img{width:100%;height:100%;object-fit:cover}.manage-info h3{margin:0 0 5px}.manage-info p{margin:0;color:#6a756c;font-size:13px}.manage-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.small-btn{padding:9px 11px;border-radius:10px;background:#edf3eb;color:#285b38;font-weight:800;font-size:12px}.small-btn.danger{background:#f8e9e7;color:#8b352d}.status-badge{display:inline-block;margin-top:7px;padding:4px 8px;border-radius:99px;background:#edf5e9;color:#356441;font-size:10px;font-weight:900;text-transform:uppercase}.status-badge.sold,.status-badge.traded{background:#f0eee8;color:#675f50}.listing.is-closed{opacity:.72}.edit-modal .modal-box{max-width:560px}.edit-form{display:grid;gap:14px}.edit-form label{font-weight:700;font-size:14px}.edit-form input,.edit-form select,.edit-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #d6ddd4;border-radius:11px;padding:12px 13px;background:#fff}.profile-section-title{margin:26px 0 4px}.muted{color:#6a756c}
@media(max-width:650px){.manage-item{grid-template-columns:58px 1fr}.manage-thumb{width:58px;height:58px}.manage-actions{grid-column:1/-1;justify-content:stretch}.manage-actions .small-btn{flex:1}.bottom-nav{gap:5px;justify-content:space-around}.nav-item{min-width:52px}.nav-icon{font-size:19px}}
.favorite-btn{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.94);font-size:21px;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.08);z-index:2}.favorite-btn.on{color:#c64052}.listing{position:relative}.favorite-filter{display:flex!important;align-items:center;gap:8px;white-space:nowrap;padding:0 10px}.favorite-filter input{width:auto!important}.filters{flex-wrap:wrap}.detail-favorite{margin-top:10px}

/* Stap 6: openbare Stekmaat-profielen */
.seller-link{border:0;background:transparent;color:var(--green,#2f6b3f);font:inherit;font-weight:800;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.seller-link:hover{opacity:.75}.public-profile-card{margin-bottom:22px}.public-profile-card .avatar{font-size:30px}

.unread-badge{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 5px;border-radius:99px;background:#2f6b3f;color:#fff;font-size:10px;vertical-align:middle}.chat-unread{margin-left:auto;display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:99px;background:#2f6b3f;color:#fff;font-size:11px}.chat-item:has(.chat-unread){border-color:#b9d2b9;background:#fbfdf9}

/* Stap 8: rijkere profielen */
.profile-bio{max-width:620px;line-height:1.6;color:#59655c;white-space:pre-wrap}.profile-edit-btn{margin-top:10px}.public-profile-card>div:last-child{flex:1}

/* Stap 9 t/m 13 */
.filters #max-price-filter{max-width:170px}.filters #sort-filter{min-width:185px}.detail-tools{display:flex;align-items:center;gap:12px;margin-top:10px}.detail-tools .secondary{margin:0}.report-btn{color:#8b352d}.profile-recent{margin-bottom:18px}@media(max-width:720px){.filters #max-price-filter,.filters #sort-filter{max-width:none;width:100%}.detail-tools>*{flex:1}}

/* Stap 14-18 */
.badge.soft{margin-left:6px;background:#eef3ea;color:#4e6954}
.detail-meta{color:var(--muted);text-transform:capitalize}
.trust-badge{display:inline-flex;margin:8px 0 14px;padding:7px 11px;border-radius:999px;background:#e7f1e5;color:#28663a;font-weight:700;font-size:.88rem}
#desc-count{display:block;text-align:right;margin-top:-8px;margin-bottom:8px}
#category-filter{min-width:165px}

/* Stap 19 t/m 23 – interface polish */
.stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
.stats .stat{min-width:0}
.favorite-section{margin-top:26px;padding:24px;border:1px solid var(--border);border-radius:24px;background:rgba(255,255,255,.72)}
.favorite-section .profile-section-title{margin-top:0}
.filters{display:grid!important;grid-template-columns:minmax(260px,2fr) minmax(150px,.75fr) minmax(170px,.9fr);gap:12px!important;align-items:center}
.filters #search{grid-column:1/-1}
.filters #max-price-filter,.filters #category-filter,.filters #sort-filter,.filters #location-filter,.filters #type-filter{width:100%!important;max-width:none!important;min-width:0!important}
.favorite-filter{display:flex!important;align-items:center;gap:9px;min-height:46px;padding:0 4px;white-space:nowrap}
.search-toolbar{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:12px;border-top:1px solid var(--border)}
.search-toolbar strong{color:var(--muted);font-size:.95rem}
.view-toggle{display:flex;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff}
.view-toggle button{border:0;background:transparent;padding:10px 14px;color:var(--muted);font-weight:700;cursor:pointer}
.view-toggle button.active{background:var(--green);color:#fff}
#search-results.list-view{grid-template-columns:1fr!important}
#search-results.list-view .listing-card{display:grid;grid-template-columns:190px 1fr;min-height:180px}
#search-results.list-view .listing-image{height:100%;min-height:180px}
#search-results.list-view .listing-content{align-self:stretch}
@media(max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.filters{grid-template-columns:1fr 1fr}.filters #search{grid-column:1/-1}}
@media(max-width:620px){.stats{grid-template-columns:1fr 1fr!important;gap:10px!important}.filters{grid-template-columns:1fr}.filters>*{grid-column:1!important}.search-toolbar{align-items:flex-start;flex-direction:column}.view-toggle{width:100%}.view-toggle button{flex:1}#search-results.list-view .listing-card{grid-template-columns:110px 1fr;min-height:150px}#search-results.list-view .listing-image{min-height:150px}.favorite-section{padding:18px}}

/* Stap 24 t/m 28 */
.clear-filters{border:0;background:transparent;color:var(--green);font-weight:800;cursor:pointer;padding:9px 12px;margin-left:auto}
.new-badge{background:#dff3df!important;color:#176b31!important;margin-right:6px}
.safe-tip{margin-top:18px;padding:14px 16px;border-radius:16px;background:#f1f6ee;color:#355642;line-height:1.45}
.detail-meta{line-height:1.6}
@media(max-width:620px){.clear-filters{margin-left:0;padding-left:0}.safe-tip{font-size:.92rem}}

/* Stap 29 t/m 33 */
.filters select{height:46px!important;min-height:46px!important;padding:0 40px 0 14px!important;border-radius:14px!important;font-size:.96rem!important}
.filters input[type="search"],.filters input[type="number"]{height:46px!important;min-height:46px!important;border-radius:14px!important}
.filters #type-filter,.filters #sort-filter{max-width:210px!important}
.filters #category-filter{max-width:190px!important}
.filters #max-price-filter{max-width:155px!important}
.quick-filters{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 4px}
.quick-filters button{border:1px solid var(--border);background:#fff;color:var(--green);border-radius:999px;padding:8px 14px;font-weight:800;cursor:pointer}
.quick-filters button.active{background:var(--green);border-color:var(--green);color:#fff}
.noresult-clear{margin-top:12px}
@media(min-width:901px){.filters{grid-template-columns:minmax(300px,1.7fr) 210px minmax(190px,.8fr) 155px!important}.filters #search{grid-column:1/-1}.filters #type-filter,.filters #sort-filter,.filters #category-filter,.filters #max-price-filter{width:auto!important}.favorite-filter{min-height:42px}}
@media(max-width:620px){.filters select,.filters input[type="search"],.filters input[type="number"]{height:44px!important;min-height:44px!important}.filters #type-filter,.filters #sort-filter,.filters #category-filter,.filters #max-price-filter{max-width:none!important}.quick-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.quick-filters button{white-space:nowrap}}

/* Stap 34 t/m 38 */
.listing-age{font-size:.86em;color:var(--muted)}
input[list]::-webkit-calendar-picker-indicator{opacity:.45}
@media(max-width:620px){.listing-age{display:block;margin-top:3px}}

/* Stap 39 t/m 43 – vriendelijkere zoekervaring */
.favorite-filter{font-weight:700;color:#294635}
.favorite-filter span{font-size:1.25rem;color:#b23c4d;margin-left:2px}
.quick-filters{gap:10px}
.quick-filters button{display:inline-flex;align-items:center;gap:7px;background:#fff;border-color:#d9e2d7;box-shadow:0 2px 8px rgba(28,68,39,.035);transition:.15s ease}
.quick-filters button:hover{transform:translateY(-1px);border-color:#b9cfb8}
.quick-filters button.active{background:#e2efdf!important;border-color:#d3e5d0!important;color:#194f2d!important}
.quick-filters button span{font-size:1rem}
.clear-filters{background:#eaf3e7!important;border-radius:12px!important;padding:9px 14px!important;text-decoration:none}
.friendly-empty{display:flex!important;align-items:center;text-align:left!important;gap:24px;padding:30px!important;border:1px solid #e0e8dd!important;border-radius:24px!important;background:rgba(255,255,255,.8)!important}
.empty-plant{display:grid;place-items:center;min-width:105px;height:105px;border-radius:50%;background:#e8f3e4;font-size:3.2rem}
.friendly-empty h2{margin:0 0 7px}
.friendly-empty p{max-width:650px;margin:0 0 16px;color:var(--muted);line-height:1.55}
.friendly-empty .primary{width:auto}
@media(max-width:620px){.friendly-empty{align-items:flex-start;gap:14px;padding:20px!important}.empty-plant{min-width:64px;height:64px;font-size:2rem}.friendly-empty .primary{width:100%}.quick-filters button{padding:8px 12px}}

/* Stap 44 t/m 48 – toegankelijkheid en kleine UX-polish */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(39,112,60,.28)!important;outline-offset:3px!important}
.favorite-btn{transition:transform .14s ease,box-shadow .14s ease}
.favorite-btn:hover{transform:scale(1.06)}
.favorite-btn:active{transform:scale(.96)}
.contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Stap 49 t/m 58 */
.listing-card:focus-visible{outline:3px solid rgba(39,112,60,.26);outline-offset:4px}
#desc-count{transition:color .15s ease}
button[disabled]{opacity:.6;cursor:wait}
@media(max-width:620px){.listing-card[tabindex]{outline-offset:2px}}

/* Stap 59 t/m 78 */
.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:#fff;padding:10px 14px;border-radius:10px;box-shadow:0 5px 20px rgba(0,0,0,.12)}
.skip-link:focus{top:12px}
.mobile-filter-toggle{display:none;border:1px solid var(--border);background:#fff;color:var(--green);font-weight:800;border-radius:14px;padding:10px 14px;margin-bottom:10px}
.favorite-filter::after{content:attr(data-count);display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#e8f2e5;color:#27673a;font-size:.76rem;font-weight:800}
.profile-avatar{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#dcebd8;color:#245f36;font-size:1.45rem;font-weight:900;margin-bottom:10px}
@media(max-width:620px){.mobile-filter-toggle{display:inline-flex}.filters.mobile-collapsed{display:none!important}.profile-avatar{width:50px;height:50px}}

/* Stap 79 t/m 98 – appgevoel, netwerkfeedback en polish */
.connection-banner{position:sticky;top:0;z-index:1000;background:#fff1cc;color:#654d0b;text-align:center;padding:9px 14px;font-size:.9rem;font-weight:750;border-bottom:1px solid #ead79f}
.install-card{position:fixed;z-index:1200;left:50%;bottom:88px;transform:translateX(-50%);width:min(560px,calc(100% - 28px));background:#fff;border:1px solid #dbe6d8;border-radius:20px;padding:14px;box-shadow:0 14px 40px rgba(24,61,34,.16);display:flex;align-items:center;gap:12px}
.install-card[hidden]{display:none}
.install-card div{display:flex;flex-direction:column;gap:2px;flex:1}.install-card span{font-size:.88rem;color:var(--muted)}
.install-card button:not(.icon-btn){border:0;background:var(--green);color:#fff;border-radius:12px;padding:10px 14px;font-weight:850;cursor:pointer}
.icon-btn{border:0;background:transparent;font-size:1.4rem;cursor:pointer;color:var(--muted)}
.free-listing{box-shadow:0 5px 18px rgba(40,106,59,.07)}
.clear-filters.is-muted{opacity:.58}
textarea{resize:vertical;min-height:110px}
.quick-filters button[aria-pressed="true"]{box-shadow:inset 0 0 0 1px rgba(39,103,58,.08)}
@media(max-width:620px){.install-card{bottom:82px;align-items:flex-start}.install-card div span{display:none}.install-card button:not(.icon-btn){padding:9px 12px}}

/* Stap 99 t/m 118 – klikbaarheid, stabiliteit en UX */
button,a,[role="button"]{touch-action:manipulation}
button:not(:disabled),a[href],[role="button"]{cursor:pointer}
button{position:relative}
button:disabled{pointer-events:none}
#connection-banner{pointer-events:none}
.install-card{pointer-events:auto}
.install-card[hidden]{pointer-events:none}
.field-attention{outline:3px solid rgba(174,105,31,.28)!important;outline-offset:2px}
.noscript-note{position:fixed;inset:auto 12px 12px;z-index:9999;background:#fff3cd;border:1px solid #e4cf8b;padding:12px;border-radius:12px}
@media(hover:hover){button:not(:disabled):hover{filter:brightness(.985)}}

/* Stap 119 t/m 138 */
html{scroll-padding-top:18px}
button,a,input,select,textarea{-webkit-tap-highlight-color:rgba(39,103,58,.12)}
input,select,textarea{font-size:max(16px,1rem)}
.bottom-nav [aria-current="page"]{font-weight:900}
.bottom-nav [aria-current="page"]::after{content:none;display:none}
.bottom-nav a,.bottom-nav button{position:relative}
.listing-card{content-visibility:auto;contain-intrinsic-size:280px}
.listing-card img{background:#edf3e9}
.compact-screen .quick-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.compact-screen .quick-filters::-webkit-scrollbar{display:none}
.compact-screen .quick-filters button{flex:0 0 auto}
@media(max-width:620px){button,input,select{min-height:44px}.bottom-nav{padding-bottom:max(6px,env(safe-area-inset-bottom))}}

/* Stap 139 t/m 158 – professionele advertenties en zoeken */
.listing-card img.image-failed{min-height:170px;background:linear-gradient(145deg,#edf4e9,#f7f8f4)}
.listing-card img.image-failed::after{content:"🌱"}
#listing-form input:invalid:not(:placeholder-shown),#listing-form textarea:invalid:not(:placeholder-shown){border-color:#b76a64}
#listing-form input:disabled{background:#f0f3ee;color:#778177}
#listing-form [aria-disabled="true"]{cursor:not-allowed}
@media(max-width:620px){#listing-form{scroll-margin-top:16px}.listing-card{border-radius:18px}}

/* Stap 159 t/m 178 – chat en berichten */
.chat-messages,.messages-list{scroll-behavior:smooth;overscroll-behavior:contain}
.message,.chat-message{overflow-wrap:anywhere;word-break:break-word}
#message-form textarea,.message-form textarea{max-height:180px;line-height:1.45}
#chat-safety-hint{font-size:.8rem;color:var(--muted);margin-top:5px}
.unread-badge{font-variant-numeric:tabular-nums}
@media(max-width:620px){#message-form,.message-form{padding-bottom:max(8px,env(safe-area-inset-bottom))}#message-form textarea,.message-form textarea{font-size:16px}}

/* Stap 179 t/m 198 – accounts/privacy/veiligheid */
.password-strength{height:5px;border-radius:999px;background:#e4e8e1;overflow:hidden;margin-top:6px}
.password-strength>span{display:block;height:100%;width:0;background:currentColor;transition:width .18s ease}
.security-hint,.privacy-hint{font-size:.82rem;color:var(--muted);line-height:1.4}
.report-btn{touch-action:manipulation}
form input[autocomplete="email"]{text-transform:none}
@media(max-width:620px){.security-hint,.privacy-hint{font-size:.8rem}}

/* Stap 199 t/m 218 – Stekmaat 1.0 release polish */
:root{color-scheme:light}
html{-webkit-text-size-adjust:100%}
body{min-height:100dvh}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button:disabled{opacity:.58}
[hidden]{display:none!important}
.toast{max-width:min(420px,calc(100vw - 28px))}
@media(max-width:620px){.modal,.sheet{max-height:calc(100dvh - 20px)}}
@media print{.bottom-nav,.install-card,.connection-banner,button{display:none!important}}

.discover-intro{margin:4px 0 20px;padding:22px 24px;border-radius:26px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#e7f2e2,#f7faf5);border:1px solid rgba(42,105,56,.08);box-shadow:0 10px 28px rgba(42,83,51,.07)}
.discover-intro h2{margin:5px 0;font-size:clamp(1.35rem,3vw,2rem);color:#183e27}.discover-intro p{margin:0;color:#657168}.discover-intro .eyebrow{font-size:.82rem;font-weight:800;color:#39754a}.discover-search-btn{white-space:nowrap;border:0;border-radius:18px;padding:13px 17px;background:#fff;color:#23683a;font-weight:750;box-shadow:0 5px 16px rgba(38,91,49,.10)}
@media(max-width:620px){.discover-intro{padding:18px;align-items:stretch;flex-direction:column;border-radius:22px}.discover-search-btn{width:100%;min-height:48px}}

/* Stekmaat 1.0 – Zoeken duidelijker en aantrekkelijker */
.search-wrap,.search-box,.searchbar{position:relative}
#search,input[type="search"]{
  min-height:54px;border-radius:18px;padding-left:46px;padding-right:45px;
  background:#fff;border:1px solid rgba(39,82,49,.11);
  box-shadow:0 5px 18px rgba(39,82,49,.055);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease
}
#search:focus,input[type="search"]:focus{
  border-color:rgba(36,112,56,.42);
  box-shadow:0 0 0 4px rgba(49,133,68,.09),0 7px 22px rgba(39,82,49,.07)
}
.search-clear-live{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border:0;border-radius:50%;background:#eef4eb;
  color:#42604a;font-size:24px;line-height:1;display:grid;place-items:center;z-index:3
}
.search-clear-live:hover{background:#e1eddd;color:#176b36}
.search-clear-live[hidden]{display:none!important}
.quick-filters{scrollbar-width:none}
.quick-filters::-webkit-scrollbar{display:none}
.quick-filters button,.quick-filter,.filter-pill{
  min-height:42px;border-radius:999px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease
}
.quick-filters button:active,.quick-filter:active,.filter-pill:active{transform:scale(.96)}
@media(max-width:620px){
 #search,input[type="search"]{min-height:56px;border-radius:17px}
 .quick-filters{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:8px;padding-bottom:3px}
 .quick-filters>*{flex:0 0 auto}
}

/* Stekmaat 1.0 – Berichten en chat */
.conversation-list,.conversations,.messages-overview{display:grid;gap:10px}
.conversation,.conversation-item{
  position:relative;border-radius:20px;padding:14px 15px;background:#fff;
  border:1px solid rgba(42,83,51,.08);box-shadow:0 5px 18px rgba(39,82,49,.05);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease
}
.conversation:hover,.conversation-item:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(39,82,49,.08);border-color:rgba(45,113,59,.15)}
.conversation:focus-visible,.conversation-item:focus-visible{outline:3px solid rgba(49,133,68,.18);outline-offset:2px}
.conversation.unread,.conversation-item.unread{background:linear-gradient(135deg,#f2f8ef,#fff);border-color:rgba(42,122,58,.16)}
.chat-messages,.messages-list{padding:14px 8px 18px;display:flex;flex-direction:column;gap:8px}
.message,.chat-message{max-width:min(78%,560px);padding:10px 13px;border-radius:18px;background:#f0f3ef;line-height:1.42;box-shadow:0 2px 8px rgba(37,71,43,.04)}
.message.mine,.chat-message.mine,.message.own,.chat-message.own{align-self:flex-end;background:linear-gradient(145deg,#dff0d9,#eaf5e6);color:#193d25;border-bottom-right-radius:6px}
.message:not(.mine):not(.own),.chat-message:not(.mine):not(.own){align-self:flex-start;border-bottom-left-radius:6px}
.chat-composer,#message-form,.message-form{
  position:sticky;bottom:calc(90px + env(safe-area-inset-bottom));z-index:5;
  display:flex;align-items:flex-end;gap:8px;padding:9px;border-radius:22px;
  background:rgba(255,255,255,.96);border:1px solid rgba(42,83,51,.08);
  box-shadow:0 8px 28px rgba(35,73,43,.10);backdrop-filter:blur(12px)
}
.chat-composer textarea,#message-form textarea,.message-form textarea{
  flex:1;min-height:46px;max-height:150px;border-radius:17px;padding:12px 14px;resize:none;background:#f7f9f6;border:1px solid rgba(42,83,51,.09)
}
.chat-composer button[type="submit"],#message-form button[type="submit"],.message-form button[type="submit"]{
  width:46px;height:46px;min-width:46px;border-radius:50%;padding:0;display:grid;place-items:center;
  background:linear-gradient(145deg,#338a46,#176a37);color:#fff;box-shadow:0 5px 14px rgba(29,104,53,.22)
}
@media(max-width:620px){
 .conversation,.conversation-item{border-radius:18px;padding:13px}
 .message,.chat-message{max-width:84%}
 .chat-composer,#message-form,.message-form{bottom:calc(92px + env(safe-area-inset-bottom));border-radius:19px}
}

/* Stekmaat 1.0 – meerdere verbeteringen tegelijk */

/* Profiel */
.profile-header,.profile-card{border-radius:26px;background:linear-gradient(145deg,#f4f9f1,#fff);border:1px solid rgba(42,83,51,.08);box-shadow:0 9px 28px rgba(39,82,49,.07)}
.profile-avatar,.avatar{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:linear-gradient(145deg,#d9ecd2,#edf6e9);color:#236a39;font-size:1.35rem;font-weight:800;box-shadow:0 5px 16px rgba(35,93,48,.11)}
.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.profile-stats>*{padding:13px 8px;border-radius:17px;background:#fff;border:1px solid rgba(42,83,51,.07);text-align:center}

/* Advertentiekaarten */
.stekmaat-card{border-radius:22px!important;border:1px solid rgba(42,83,51,.075)!important;box-shadow:0 7px 22px rgba(39,82,49,.06)!important;transition:transform .17s ease,box-shadow .17s ease!important}
.stekmaat-card:hover{transform:translateY(-2px);box-shadow:0 11px 28px rgba(39,82,49,.095)!important}
.stekmaat-card img{border-radius:17px;object-fit:cover}

/* Algemene knoppen */
main button:not(.favorite-btn):not(.search-clear-live){border-radius:16px}
button{transition:transform .14s ease,filter .14s ease,box-shadow .14s ease}
button:active:not(:disabled){transform:scale(.97)}

/* Formulieren */
form label{font-weight:650;color:#294d34}
form input,form select,form textarea{border-radius:15px;border-color:rgba(42,83,51,.13)}
form input:focus,form select:focus,form textarea:focus{border-color:rgba(38,117,57,.4);box-shadow:0 0 0 4px rgba(49,133,68,.08)}

/* Empty states / feedback */
.empty-state{border-radius:24px;padding:28px 20px;background:linear-gradient(145deg,#f3f8f0,#fff);border:1px dashed rgba(52,109,61,.18)}
.toast{border-radius:16px;box-shadow:0 10px 30px rgba(25,62,35,.17)}

/* Mobiel */
@media(max-width:620px){
 .profile-stats{grid-template-columns:repeat(2,1fr)}
 .profile-header,.profile-card{border-radius:21px}
 .profile-avatar,.avatar{width:68px;height:68px}
 .stekmaat-card{border-radius:19px!important}
 main{padding-bottom:18px}
}

/* Stekmaat 1.0 – subtiele thematische filterknoppen */
.quick-filters .stek-filter,.stek-filter.quick-filter,.stek-filter.filter-pill{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
  min-height:46px!important;padding:9px 17px!important;border-radius:999px!important;
  background:#fff!important;color:#253b2d!important;border:1px solid rgba(45,78,53,.08)!important;
  box-shadow:0 4px 14px rgba(36,70,44,.045)!important;font-weight:720!important;
}
.stek-filter-icon{width:21px;height:21px;display:inline-grid;place-items:center;color:#4d6d55;flex:0 0 auto}
.stek-filter-icon svg{width:21px;height:21px;display:block}
.quick-filters .stek-filter.active,.stek-filter.active,.stek-filter[aria-pressed="true"]{
  background:#e8f3e4!important;color:#176a35!important;border-color:rgba(46,121,60,.15)!important;
  box-shadow:inset 0 0 0 1px rgba(53,123,64,.025),0 4px 13px rgba(36,70,44,.04)!important
}
.stek-filter.active .stek-filter-icon,.stek-filter[aria-pressed="true"] .stek-filter-icon{color:#2d8142}
@media(max-width:620px){
 .quick-filters .stek-filter,.stek-filter.quick-filter,.stek-filter.filter-pill{min-height:43px!important;padding:8px 14px!important;gap:7px!important}
 .stek-filter-icon,.stek-filter-icon svg{width:19px;height:19px}
}

/* Stekmaat v10 – rustige, professionele advertentiekaarten */
.listing-v10{
  overflow:hidden!important;background:#fff!important;border:1px solid rgba(42,78,50,.075)!important;
  border-radius:22px!important;box-shadow:0 5px 18px rgba(37,69,44,.055)!important;
}
.listing-v10:hover{transform:translateY(-2px)!important;box-shadow:0 9px 25px rgba(37,69,44,.085)!important}
.listing-v10 img{width:100%;object-fit:cover;background:#eef3ec}
.listing-v10 .price,.listing-v10 .listing-price{color:#176b36;font-weight:800}
.listing-v10 .location,.listing-v10 .listing-location{display:flex;align-items:center;gap:5px;color:#6a756d}
.listing-v10 .meta-pin{display:inline-grid;width:17px;height:17px;place-items:center;color:#718078}
.listing-v10 .meta-pin svg{width:16px;height:16px;display:block}
.listing-v10 .favorite-btn{
  width:40px;height:40px;min-width:40px;border-radius:50%!important;background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(42,78,50,.08)!important;box-shadow:0 3px 12px rgba(34,63,40,.09)!important
}
.listing-v10 .badge,.listing-v10 .tag,.listing-v10 .type-badge{border-radius:999px!important;font-size:.78rem;font-weight:700}
@media(max-width:620px){
 .listing-v10{border-radius:19px!important}
 .listing-v10 .favorite-btn{width:38px;height:38px;min-width:38px}
}

/* === STEKMAAT HOOFDNAVIGATIE – ENIGE ACTIEVE NAVIGATIESTIJL === */
.bottom-nav{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);width:min(920px,calc(100% - 28px));height:92px;padding:9px 16px;display:grid;grid-template-columns:1fr 1fr 1.18fr 1fr 1fr;align-items:center;gap:8px;background:rgba(255,255,255,.98);border:1px solid #e5ebe3;border-radius:28px;box-shadow:0 10px 34px rgba(32,64,40,.12);z-index:10}
.bottom-nav button{appearance:none;-webkit-appearance:none}
.bottom-nav .nav-item,.bottom-nav .nav-create{position:relative;height:70px;min-width:0;padding:6px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;color:#647168;border-radius:20px;font-size:12px;font-weight:700}
.bottom-nav .nav-icon{width:31px;height:31px;display:grid;place-items:center;color:#59675e}
.bottom-nav .nav-icon svg{width:28px;height:28px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bottom-nav .nav-item.active{background:#eaf3e6;color:#176a36}.bottom-nav .nav-item.active .nav-icon{color:#176a36}
.bottom-nav .nav-item::before,.bottom-nav .nav-item::after{content:none!important;display:none!important}
.bottom-nav .nav-item:hover{background:#f3f6f1;color:#315c3d}.bottom-nav .nav-item.active:hover{background:#eaf3e6;color:#176a36}
.bottom-nav .nav-create{overflow:visible;color:#536158;justify-content:flex-end;padding-bottom:7px}
.bottom-nav .create-circle{position:absolute;top:-23px;left:50%;transform:translateX(-50%);width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#24783b;color:#fff;border:5px solid #fff;box-shadow:0 7px 18px rgba(31,102,51,.22)}
.bottom-nav .create-circle svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.bottom-nav .nav-create>span:last-child{font-size:11px;white-space:nowrap}
.bottom-nav .nav-messages .unread-badge{position:absolute;top:7px;left:calc(50% + 8px);min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#dc2934;color:#fff;border:2px solid #fff;font-size:10px;font-weight:800;line-height:1}
.bottom-nav .nav-messages .unread-badge.hidden{display:none}
@media(max-width:620px){body{padding-bottom:108px}.bottom-nav{bottom:0;width:100%;height:86px;border-radius:22px 22px 0 0;border-left:0;border-right:0;border-bottom:0;padding:8px 5px max(7px,env(safe-area-inset-bottom));gap:2px}.bottom-nav .nav-item,.bottom-nav .nav-create{height:67px;font-size:10px;padding-left:2px;padding-right:2px}.bottom-nav .nav-icon{width:28px;height:28px}.bottom-nav .nav-icon svg{width:25px;height:25px}.bottom-nav .create-circle{width:57px;height:57px;top:-21px}.bottom-nav .create-circle svg{width:28px;height:28px}.bottom-nav .nav-create>span:last-child{font-size:9px}}


/* === STEKMAAT NAVIGATIE – VISUELE VERFIJNING === */
.bottom-nav{
  height:94px;
  padding:10px 18px;
  border-color:#e2e9df;
  box-shadow:0 12px 34px rgba(35,72,43,.13);
}
.bottom-nav .nav-item,.bottom-nav .nav-create{
  height:72px;
  gap:5px;
  color:#526158;
  font-size:12.5px;
  transition:background-color .16s ease,color .16s ease,transform .16s ease;
}
.bottom-nav .nav-icon{
  width:34px;
  height:34px;
  color:#4d5f54;
}
.bottom-nav .nav-icon svg{
  width:30px;
  height:30px;
  stroke-width:1.9;
}
.bottom-nav .nav-item.active{
  background:#e8f2e4;
  color:#176a36;
}
.bottom-nav .nav-item:hover{
  transform:translateY(-1px);
}
.bottom-nav .nav-messages .nav-icon svg{
  width:31px;
  height:31px;
}
.bottom-nav .nav-create{
  color:#405348;
  font-weight:750;
}
.bottom-nav .create-circle{
  top:-20px;
  width:60px;
  height:60px;
  border-width:4px;
  background:#24783b;
  box-shadow:0 6px 16px rgba(31,102,51,.20);
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.bottom-nav .nav-create:hover .create-circle{
  transform:translateX(-50%) translateY(-2px);
  background:#1f6e35;
  box-shadow:0 8px 19px rgba(31,102,51,.24);
}
.bottom-nav .nav-create>span:last-child{
  font-size:11.5px;
  font-weight:750;
  letter-spacing:-.01em;
}
.bottom-nav .nav-messages .unread-badge{
  top:5px;
  left:calc(50% + 9px);
  min-width:21px;
  height:21px;
  font-size:10.5px;
}
@media(max-width:620px){
  .bottom-nav{height:88px;padding:8px 6px max(7px,env(safe-area-inset-bottom))}
  .bottom-nav .nav-item,.bottom-nav .nav-create{height:68px;font-size:10.5px}
  .bottom-nav .nav-icon{width:30px;height:30px}
  .bottom-nav .nav-icon svg{width:26px;height:26px}
  .bottom-nav .nav-messages .nav-icon svg{width:27px;height:27px}
  .bottom-nav .create-circle{width:58px;height:58px;top:-20px}
  .bottom-nav .nav-create>span:last-child{font-size:9.5px}
}
@media(prefers-reduced-motion:reduce){
  .bottom-nav .nav-item,.bottom-nav .create-circle{transition:none}
}


/* === STEKMAAT UI V3 – HOMEPAGE EN INTERACTIE VERFIJNING === */
:root{
  --stek-ink:#183524;
  --stek-green:#24783b;
  --stek-green-dark:#1d6632;
  --stek-soft:#eaf3e6;
  --stek-line:#e1e9df;
}
.topbar{
  min-height:68px;
  border-bottom:1px solid var(--stek-line);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
}
.brand{
  border-radius:12px;
  padding:8px 10px;
  gap:8px;
  transition:background-color .16s ease,transform .16s ease;
}
.brand:hover{background:#f0f5ee;transform:translateY(-1px)}
.profile-btn{
  border-radius:12px;
  padding:9px 13px;
  transition:background-color .16s ease,color .16s ease;
}
.profile-btn:hover{background:#edf4e9;color:var(--stek-green-dark)}
.hero{
  border:1px solid #e1ebdc;
  box-shadow:0 12px 30px rgba(42,78,48,.055);
}
.hero .primary{
  box-shadow:0 5px 13px rgba(36,120,59,.16);
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.hero .primary:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 16px rgba(36,120,59,.20);
  background:var(--stek-green-dark);
}
.section-head{align-items:flex-end}
.section-head h2{letter-spacing:-.025em}
.text-btn{
  border-radius:10px;
  padding:8px 10px;
  transition:background-color .16s ease;
}
.text-btn:hover{background:#edf4e9}
.listing{
  border-color:#e2e9df;
  box-shadow:0 4px 14px rgba(35,72,43,.055);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.listing:hover{
  transform:translateY(-2px);
  border-color:#d5e3d2;
  box-shadow:0 9px 22px rgba(35,72,43,.10);
}
.listing img{transition:transform .22s ease}
.listing:hover img{transform:scale(1.015)}
.favorite-btn{
  backdrop-filter:blur(5px);
  transition:transform .15s ease,background-color .15s ease;
}
.favorite-btn:hover{transform:scale(1.06)}
input,select,textarea{
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
}
input:focus,select:focus,textarea:focus{
  border-color:#78a77e;
  box-shadow:0 0 0 3px rgba(55,126,67,.11);
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(36,120,59,.25);
  outline-offset:2px;
}
.toast{
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 12px 28px rgba(22,50,30,.18);
}
@media(max-width:620px){
  .topbar{min-height:60px}
  .hero{border-radius:24px}
  .hero h1{letter-spacing:-.035em}
  .section-head{align-items:center}
}
@media(prefers-reduced-motion:reduce){
  .brand,.hero .primary,.listing,.listing img,.favorite-btn{transition:none}
  .listing:hover,.brand:hover,.hero .primary:hover{transform:none}
}


/* === STEKMAAT UI V4 – ZOEKEN, FILTERS, FORMULIEREN EN PROFIEL === */
.page-title{
  margin-bottom:22px;
}
.page-title h1{
  letter-spacing:-.035em;
  color:#183524;
}
.page-title p:not(.eyebrow){
  color:#627066;
  max-width:680px;
}
.filters{
  background:#fff;
  border:1px solid #e2e9df;
  border-radius:22px;
  padding:18px;
  box-shadow:0 5px 18px rgba(35,72,43,.055);
}
.filters>input,.filters>select{
  min-height:48px;
  border-radius:13px;
  background:#fbfcfa;
}
#search{
  min-height:52px;
  font-size:16px;
  padding-left:16px;
  background:#fff;
}
.quick-filters{
  gap:8px;
  padding-top:4px;
}
.quick-filters button{
  min-height:42px;
  border:1px solid #dfe8dc;
  background:#f8faf7;
  border-radius:999px;
  padding:8px 14px;
  color:#526158;
  font-weight:700;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.quick-filters button:hover{
  transform:translateY(-1px);
  border-color:#cadbc7;
  background:#f0f5ee;
}
.quick-filters button.active{
  background:#e8f2e4;
  border-color:#cfe0ca;
  color:#176a36;
}
.quick-filters button svg{
  width:18px;
  height:18px;
}
.search-toolbar{
  margin-top:5px;
  padding-top:14px;
  border-top:1px solid #edf1eb;
}
#result-count{color:#31483a}
.clear-filters{
  border-radius:10px;
  padding:8px 10px;
}
.view-toggle{
  padding:3px;
  border-radius:12px;
  background:#f1f4ef;
}
.view-toggle button{
  border-radius:9px;
  padding:7px 10px;
}
.view-toggle button.active{
  background:#fff;
  box-shadow:0 1px 5px rgba(34,65,40,.09);
}
.card.form,.edit-form{
  border:1px solid #e2e9df;
  border-radius:22px;
  box-shadow:0 6px 20px rgba(35,72,43,.055);
}
.card.form label,.edit-form label{
  gap:7px;
  color:#31483a;
  font-weight:700;
}
.card.form input,.card.form select,.card.form textarea,
.edit-form input,.edit-form select,.edit-form textarea{
  border-radius:13px;
  background:#fbfcfa;
}
.card.form textarea,.edit-form textarea{
  line-height:1.5;
  resize:vertical;
}
.card.form .primary,.edit-form .primary{
  min-height:48px;
  border-radius:13px;
  font-weight:800;
  box-shadow:0 5px 13px rgba(36,120,59,.14);
}
#profile-content .card{
  border:1px solid #e2e9df;
  box-shadow:0 5px 18px rgba(35,72,43,.055);
}
.profile-stats{
  gap:10px;
}
.profile-stats>*{
  border-radius:16px;
}
.back-btn{
  border-radius:11px;
  padding:9px 11px;
  transition:background-color .15s ease;
}
.back-btn:hover{background:#edf4e9}
.modal-box{
  border:1px solid #e0e8dd;
  border-radius:24px;
  box-shadow:0 22px 60px rgba(25,53,32,.20);
}
.modal-close{
  border-radius:50%;
  transition:background-color .15s ease;
}
.modal-close:hover{background:#eef3ec}
@media(max-width:700px){
  .filters{padding:14px;border-radius:18px}
  .quick-filters{display:flex;overflow-x:auto;scrollbar-width:none;padding-bottom:3px}
  .quick-filters::-webkit-scrollbar{display:none}
  .quick-filters button{flex:0 0 auto}
  .search-toolbar{gap:10px}
  .card.form{border-radius:19px}
}
@media(prefers-reduced-motion:reduce){
  .quick-filters button{transition:none}
  .quick-filters button:hover{transform:none}
}


/* === STEKMAAT UI V5 – BERICHTEN, GESPREK EN ADVERTENTIEDETAIL === */
.chat-list{
  display:grid;
  gap:10px;
}
.chat-list>*{
  border:1px solid #e2e9df;
  border-radius:18px;
  background:#fff;
  box-shadow:0 4px 14px rgba(35,72,43,.05);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.chat-list>*:hover{
  transform:translateY(-1px);
  border-color:#d4e2d1;
  box-shadow:0 8px 19px rgba(35,72,43,.08);
}
.conversation-card{
  padding:14px 16px;
}
.conversation-card strong{
  color:#203d2b;
}
.conversation-card .muted,
.chat-list .muted{
  color:#6b776f;
}
#conversation-content{
  max-width:820px;
  margin:0 auto;
}
.chat-thread,.messages{
  border-radius:20px;
  background:#f8faf7;
  border:1px solid #e3eae1;
  padding:16px;
}
.message{
  max-width:min(76%,560px);
  border-radius:17px 17px 17px 6px;
  padding:10px 13px;
  line-height:1.45;
  box-shadow:0 2px 8px rgba(38,67,43,.055);
}
.message.own,.message.me,.message.sent{
  margin-left:auto;
  border-radius:17px 17px 6px 17px;
  background:#e5f1e1;
  color:#183524;
}
.message time,.message .message-time{
  font-size:11px;
  color:#7a857e;
}
.chat-composer,.message-form{
  position:sticky;
  bottom:104px;
  z-index:4;
  display:flex;
  align-items:flex-end;
  gap:9px;
  padding:10px;
  margin-top:12px;
  background:rgba(255,255,255,.96);
  border:1px solid #dfe8dc;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(35,72,43,.09);
  backdrop-filter:blur(8px);
}
.chat-composer textarea,.message-form textarea{
  min-height:44px;
  max-height:150px;
  border:0;
  box-shadow:none;
  background:#f5f8f3;
  border-radius:13px;
  resize:none;
}
.chat-composer textarea:focus,.message-form textarea:focus{
  box-shadow:0 0 0 3px rgba(55,126,67,.10);
}
.chat-composer button,.message-form button{
  min-width:46px;
  min-height:44px;
  border-radius:13px;
  font-weight:800;
}
#detail-content{
  max-width:1000px;
  margin:0 auto;
}
#detail-content .detail-card,
#detail-content>.card{
  border:1px solid #e1e9df;
  border-radius:24px;
  box-shadow:0 9px 28px rgba(35,72,43,.07);
  overflow:hidden;
}
#detail-content h1,#detail-content h2{
  letter-spacing:-.03em;
  color:#183524;
}
#detail-content .price{
  color:#176a36;
  font-weight:850;
}
#detail-content .primary{
  min-height:47px;
  border-radius:13px;
  box-shadow:0 5px 13px rgba(36,120,59,.14);
}
#detail-content img{
  border-radius:18px;
}
.safe-tip,.safety-tip,.privacy-hint{
  border:1px solid #dfe9dc;
  background:#f2f7ef;
  border-radius:15px;
  color:#4e6255;
}
.empty-state{
  border:1px dashed #ccd9c9;
  background:#f8faf7;
  border-radius:20px;
  padding:30px 20px;
  text-align:center;
}
.empty-state h2,.empty-state h3{color:#294633}
@media(max-width:700px){
  .chat-list>*{border-radius:16px}
  .message{max-width:86%}
  .chat-thread,.messages{padding:12px;border-radius:17px}
  .chat-composer,.message-form{bottom:94px;border-radius:16px;padding:8px}
  #detail-content .detail-card,#detail-content>.card{border-radius:19px}
}
@media(prefers-reduced-motion:reduce){
  .chat-list>*{transition:none}
  .chat-list>*:hover{transform:none}
}


/* === STEKMAAT V6 – 10-STAPPEN POLISH === */

/* 1. Typografie en verticale ritmiek */
main{line-height:1.55}
h1,h2,h3{text-wrap:balance}
p{max-width:72ch}
.eyebrow{letter-spacing:.08em;font-size:.76rem;font-weight:800}

/* 2. Consistente primaire/secundaire knoppen */
.primary{min-height:46px;border-radius:13px;font-weight:800;letter-spacing:-.01em}
button{touch-action:manipulation}
button:not(:disabled){cursor:pointer}
button:disabled{opacity:.58;cursor:not-allowed}

/* 3. Advertentiekaart metadata en prijs-hiërarchie */
.listing .price,.listing-price{font-size:1.08rem;font-weight:850;color:#176a36}
.listing .meta,.listing-meta{color:#6c786f;font-size:.9rem}
.listing h3,.listing-title{letter-spacing:-.018em;color:#213d2b}

/* 4. Tags/statuschips uniform */
.tag,.badge,.status-badge,.listing-tag{
  border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:750;
  background:#f0f5ee;color:#496052;border:1px solid #e0e9dd;
}

/* 5. Favorietknop beter raakvlak */
.favorite-btn{
  min-width:42px;min-height:42px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.94);border:1px solid rgba(218,228,216,.95);
}

/* 6. Auth-modal en loginvelden */
#auth-modal label{gap:7px;font-weight:700;color:#31483a}
#auth-modal input{min-height:48px;border-radius:13px;background:#fbfcfa}
.auth-switch{margin-top:8px}

/* 7. Uploadveld en formulieruitleg */
input[type="file"]{padding:9px;background:#f8faf7;border-radius:13px}
form label{line-height:1.35}
form label>input,form label>select,form label>textarea{margin-top:6px}

/* 8. Desktop contentbreedte en kaarten */
@media(min-width:1000px){
  main{max-width:1180px}
  .listing-grid{gap:20px}
  .listing{border-radius:20px}
  .filters{padding:20px}
}

/* 9. Mobiele spacing/tap targets */
@media(max-width:620px){
  main{padding-left:14px;padding-right:14px}
  .page-title{margin-bottom:17px}
  .listing-grid{gap:13px}
  .listing{border-radius:17px}
  .primary,.text-btn,.back-btn{min-height:44px}
  input,select,textarea{font-size:16px}
}

/* 10. Fijne states: selectie, skeleton/loading en offline */
::selection{background:#dbead7;color:#173622}
[aria-busy="true"]{cursor:progress}
.loading,.skeleton{border-radius:14px;background:linear-gradient(90deg,#f1f4ef 25%,#f7f9f6 37%,#f1f4ef 63%);background-size:400% 100%;animation:stekSkeleton 1.35s ease infinite}
@keyframes stekSkeleton{0%{background-position:100% 0}100%{background-position:0 0}}
.connection-banner{border-bottom:1px solid #dce6d9;font-weight:700}
@media(prefers-reduced-motion:reduce){.loading,.skeleton{animation:none}}


/* === STEKMAAT V7 – 10 FUNCTIONELE UX-STAPPEN === */

/* 1. Duidelijker formulierverloop */
.form label,.edit-form label{position:relative}
.form label:focus-within,.edit-form label:focus-within{color:#176a36}

/* 2. Geldvelden stabiel en leesbaar */
input[type="number"]{font-variant-numeric:tabular-nums}

/* 3. Zoekresultaten krijgen consistente bovenruimte */
#search-results{margin-top:18px}

/* 4. Filterpaneel blijft overzichtelijk op brede schermen */
@media(min-width:900px){
 #search-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:10px;align-items:center}
 #search-filters .quick-filters,#search-filters .search-toolbar{grid-column:1/-1}
}

/* 5. Actieve/favoriete kaartstatus */
.listing:focus-within{border-color:#9dbd9d;box-shadow:0 0 0 3px rgba(55,126,67,.09)}
.favorite-btn[aria-pressed="true"]{background:#eef6eb;color:#176a36;border-color:#cfe0ca}

/* 6. Statusknoppen voor eigen advertenties */
.manage-actions,.listing-actions{display:flex;flex-wrap:wrap;gap:8px}
.manage-actions button,.listing-actions button{min-height:40px;border-radius:11px;padding:8px 11px}

/* 7. Fout/succesfeedback consistent */
.form-error,.error-message{padding:10px 12px;border:1px solid #efcaca;background:#fff5f5;color:#8d2e2e;border-radius:12px}
.form-success,.success-message{padding:10px 12px;border:1px solid #cfe3ce;background:#f2f8ef;color:#28623a;border-radius:12px}

/* 8. Foto-preview en afbeeldingsfallback */
.image-preview,.photo-preview{border:1px solid #dfe8dc;border-radius:16px;overflow:hidden;background:#f4f7f2}
.image-preview img,.photo-preview img{display:block;width:100%;max-height:360px;object-fit:cover}

/* 9. Lege zoekresultaten/berichten beter */
#search-results:empty::after,#listing-grid:empty::after{
 content:"Nog geen stekjes om te tonen.";display:block;grid-column:1/-1;padding:28px 18px;text-align:center;
 border:1px dashed #ccd9c9;border-radius:18px;background:#f8faf7;color:#66736a;
}

/* 10. Mobiele formulieren en acties */
@media(max-width:620px){
 .manage-actions,.listing-actions{display:grid;grid-template-columns:1fr 1fr}
 .manage-actions button,.listing-actions button{width:100%}
 .form,.edit-form{gap:15px}
 #search-results{margin-top:14px}
}


/* === STEKMAAT V8 – 10 BETROUWBAARHEIDS- EN VEILIGHEIDSSTAPPEN (CLIENT) === */

/* 1. Offline/statusmelding altijd duidelijk maar niet schreeuwerig */
.connection-banner{position:sticky;top:0;z-index:30;padding:9px 14px;text-align:center;background:#fff8dc;color:#65531b}

/* 2. Busy state voorkomt onduidelijke dubbele interactie */
button[aria-busy="true"],form[aria-busy="true"] button[type="submit"]{pointer-events:none;opacity:.68}

/* 3. Disabled formulierstatus consequent */
input:disabled,select:disabled,textarea:disabled{background:#f0f2ef;color:#778078;cursor:not-allowed}

/* 4. Waarschuwingen en privacytips herkenbaar */
.privacy-hint,.safety-tip,.safe-tip{padding:11px 13px;line-height:1.45}

/* 5. Gevaarlijke beheeracties visueel onderscheiden */
.danger,.delete-btn,[data-action="delete"]{color:#9b3030;border-color:#e8caca;background:#fffafa}
.danger:hover,.delete-btn:hover,[data-action="delete"]:hover{background:#fff1f1}

/* 6. Auth-overlay steviger en rustiger */
.modal{backdrop-filter:blur(3px)}
#auth-modal .modal-box{max-width:460px}
#auth-modal input:invalid:not(:placeholder-shown){border-color:#d99a9a}

/* 7. Links/URL's in gebruikerscontent breken veilig af */
.message,.listing,.detail-card,#detail-content{overflow-wrap:anywhere;word-break:break-word}

/* 8. Beeldfouten houden layout stabiel */
.listing img,#detail-content img{background:#eef3eb;min-height:120px}

/* 9. Focus blijft zichtbaar in beheer/chat */
.manage-actions button:focus-visible,.listing-actions button:focus-visible,.chat-composer button:focus-visible,.message-form button:focus-visible{outline:3px solid rgba(36,120,59,.25);outline-offset:2px}

/* 10. Mobiele modals en veiligheidsfeedback */
@media(max-width:620px){
 .modal-box{width:calc(100% - 24px);max-height:88vh;overflow:auto;border-radius:20px}
 .connection-banner{font-size:.9rem}
 .privacy-hint,.safety-tip,.safe-tip{font-size:.92rem}
}


/* === STEKMAAT V9 – LAATSTE 10 FRONTEND RELEASE-STAPPEN === */

/* 1. Voorkom horizontale overflow op kleine schermen */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video{max-width:100%}

/* 2. Consistente pagina-afstand */
.view{scroll-margin-top:76px}
.view.active{animation:stekViewIn .16s ease-out}
@keyframes stekViewIn{from{opacity:.72}to{opacity:1}}

/* 3. Koppen schalen vloeiender tussen mobiel en desktop */
h1{font-size:clamp(2rem,4vw,3.15rem)}
.page-title h1{font-size:clamp(1.85rem,3.5vw,2.7rem)}
h2{font-size:clamp(1.35rem,2.2vw,1.85rem)}

/* 4. Afbeeldingen stabieler en sneller visueel */
.listing img{aspect-ratio:4/3;object-fit:cover}
#detail-content img{max-width:100%;height:auto}

/* 5. Lange labels/knoppen blijven bruikbaar */
button,.tag,.badge,.status-badge{overflow-wrap:anywhere}
.bottom-nav button{overflow-wrap:normal}

/* 6. Toetsenbordnavigatie extra duidelijk */
.skip-link:focus{z-index:1000;padding:10px 14px;border-radius:10px;background:#fff;color:#176a36;box-shadow:0 6px 18px rgba(25,53,32,.16)}
[tabindex="0"]:focus-visible{outline:3px solid rgba(36,120,59,.25);outline-offset:3px}

/* 7. Print/weergave zonder app-bediening */
@media print{
 .bottom-nav,.topbar .profile-btn,.favorite-btn,.chat-composer,.message-form,.install-card,.connection-banner{display:none!important}
 body{padding:0!important;background:#fff}
 main{max-width:none!important}
 .listing,.card,#detail-content>.card{box-shadow:none!important}
}

/* 8. Tablet-layout verfijning */
@media(min-width:621px) and (max-width:900px){
 main{padding-left:22px;padding-right:22px}
 .bottom-nav{width:calc(100% - 36px)}
 .listing-grid{gap:16px}
}

/* 9. Zeer smalle mobiele schermen */
@media(max-width:380px){
 main{padding-left:10px;padding-right:10px}
 .bottom-nav .nav-item,.bottom-nav .nav-create{font-size:9.5px}
 .bottom-nav .nav-create>span:last-child{font-size:8.5px}
 .bottom-nav .nav-icon svg{width:24px;height:24px}
}

/* 10. Reduced motion eindcontrole */
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .view.active{animation:none}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* === STEKMAAT V11 – PROFESSIONELE FILTERICONEN === */
.quick-filters button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:8px 14px;
  border:1px solid #dce6d9;
  border-radius:999px;
  background:#fbfcfa;
  color:#526158;
  box-shadow:none;
}
.quick-filters .filter-icon{
  width:20px;
  height:20px;
  display:inline-grid;
  place-items:center;
  flex:0 0 20px;
  color:currentColor;
}
.quick-filters .filter-icon svg{
  width:20px;
  height:20px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.quick-filters button.active{
  background:#e7f2e3;
  border-color:#c9dec5;
  color:#176a36;
}
.quick-filters button:hover{
  background:#f1f6ef;
  border-color:#cadbc7;
}
.quick-filters button.active:hover{
  background:#e4f0e0;
}
@media(max-width:620px){
  .quick-filters button{gap:7px;padding:8px 12px}
  .quick-filters .filter-icon,.quick-filters .filter-icon svg{width:18px;height:18px}
}


/* === STEKMAAT V12 – FILTERVELDEN EXACT UITGELIJND === */
#search-filters{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:12px;
  align-items:center;
}
#search-filters .filter-search{
  grid-column:1/-1;
  width:100%;
  height:52px;
  min-height:52px;
  margin:0;
  padding:0 16px;
  box-sizing:border-box;
}
#search-filters .filter-control{
  width:100%;
  height:48px;
  min-height:48px;
  margin:0;
  padding:0 14px;
  box-sizing:border-box;
  line-height:normal;
}
#search-filters .filter-type{grid-column:1/4}
#search-filters .filter-location{grid-column:4/7}
#search-filters .filter-price{grid-column:7/9}
#search-filters .filter-sort{grid-column:9/13}
#search-filters .favorite-filter{
  grid-column:1/-1;
  min-height:44px;
  margin:0;
  display:flex;
  align-items:center;
  gap:9px;
}
#search-filters .quick-filters{
  grid-column:1/-1;
  width:100%;
  margin:0;
}
#search-filters .search-toolbar{
  grid-column:1/-1;
  width:100%;
  margin:4px 0 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
}
#search-filters .search-toolbar #result-count{justify-self:start}
#search-filters .search-toolbar .clear-filters{justify-self:end}
#search-filters .search-toolbar .view-toggle{justify-self:end}
@media(max-width:900px){
  #search-filters .filter-type{grid-column:1/7}
  #search-filters .filter-location{grid-column:7/13}
  #search-filters .filter-price{grid-column:1/7}
  #search-filters .filter-sort{grid-column:7/13}
}
@media(max-width:620px){
  #search-filters{grid-template-columns:1fr;gap:10px}
  #search-filters .filter-search,
  #search-filters .filter-type,
  #search-filters .filter-location,
  #search-filters .filter-price,
  #search-filters .filter-sort,
  #search-filters .favorite-filter,
  #search-filters .quick-filters,
  #search-filters .search-toolbar{grid-column:1}
  #search-filters .filter-control{height:48px;min-height:48px}
  #search-filters .search-toolbar{
    grid-template-columns:1fr auto;
  }
  #search-filters .search-toolbar #result-count{grid-column:1/-1}
  #search-filters .search-toolbar .clear-filters{justify-self:start}
  #search-filters .search-toolbar .view-toggle{justify-self:end}
}


/* =========================================================
   STEKMAAT V13 – DEFINITIEVE ZOEK/FILTER-LAYOUT
   Eén gezaghebbende layoutlaag boven eerdere filterregels.
   ========================================================= */
#zoeken .filters#search-filters{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  column-gap:14px !important;
  row-gap:12px !important;
  align-items:center !important;
  width:100% !important;
  padding:18px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

/* Zoekbalk: altijd volledige breedte */
#zoeken #search-filters #search.filter-search{
  grid-column:1/-1 !important;
  width:100% !important;
  min-width:0 !important;
  height:52px !important;
  min-height:52px !important;
  margin:0 !important;
  padding:0 16px !important;
  box-sizing:border-box !important;
}

/* De vier hoofdvelden: exact gelijke geometrie */
#zoeken #search-filters .filter-control{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:48px !important;
  min-height:48px !important;
  margin:0 !important;
  padding:0 14px !important;
  box-sizing:border-box !important;
  border-radius:13px !important;
}

/* Type is functioneel overbodig naast de snelle filters: visueel rustig,
   maar blijft beschikbaar in de DOM voor bestaande logica. */
#zoeken #search-filters .filter-type{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* Eén nette rij: plaats | max prijs | sorteren */
#zoeken #search-filters .filter-location{grid-column:1 !important}
#zoeken #search-filters .filter-price{grid-column:2 !important}
#zoeken #search-filters .filter-sort{grid-column:3 !important}

/* Favorieten op eigen volledige rij */
#zoeken #search-filters .favorite-filter{
  grid-column:1/-1 !important;
  width:max-content !important;
  max-width:100% !important;
  min-height:42px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
}

/* Categoriechips links, bedieningsknoppen rechts op dezelfde rij */
#zoeken #search-filters .quick-filters{
  grid-column:1/3 !important;
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}
#zoeken #search-filters .search-toolbar{
  grid-column:3 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border-top:0 !important;
}
#zoeken #search-filters #result-count{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
}
#zoeken #search-filters .clear-filters{
  min-height:42px !important;
  height:42px !important;
  margin:0 !important;
  padding:0 14px !important;
  white-space:nowrap !important;
}
#zoeken #search-filters .view-toggle{
  min-height:42px !important;
  height:42px !important;
  margin:0 !important;
  padding:3px !important;
  display:flex !important;
  align-items:center !important;
  white-space:nowrap !important;
}
#zoeken #search-filters .view-toggle button{
  min-height:34px !important;
  height:34px !important;
  padding:0 10px !important;
}

/* Resultaatteller onder de kaart terug zichtbaar via pseudo-label is niet nodig:
   bestaande aria-live blijft aanwezig voor toegankelijkheid. */

/* Tablet: twee kolommen zonder afkappen */
@media(max-width:900px){
  #zoeken .filters#search-filters{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #zoeken #search-filters .filter-location{grid-column:1 !important}
  #zoeken #search-filters .filter-price{grid-column:2 !important}
  #zoeken #search-filters .filter-sort{grid-column:1/-1 !important}
  #zoeken #search-filters .quick-filters{grid-column:1/-1 !important}
  #zoeken #search-filters .search-toolbar{
    grid-column:1/-1 !important;
    justify-content:flex-start !important;
  }
}

/* Mobiel: alles één kolom, geen smalle of vreemde knoppen */
@media(max-width:620px){
  #zoeken .filters#search-filters{
    grid-template-columns:minmax(0,1fr) !important;
    padding:14px !important;
    gap:10px !important;
  }
  #zoeken #search-filters .filter-location,
  #zoeken #search-filters .filter-price,
  #zoeken #search-filters .filter-sort,
  #zoeken #search-filters .favorite-filter,
  #zoeken #search-filters .quick-filters,
  #zoeken #search-filters .search-toolbar{
    grid-column:1 !important;
  }
  #zoeken #search-filters .quick-filters{
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    scrollbar-width:none;
    padding-bottom:2px !important;
  }
  #zoeken #search-filters .quick-filters::-webkit-scrollbar{display:none}
  #zoeken #search-filters .quick-filters button{flex:0 0 auto !important}
  #zoeken #search-filters .search-toolbar{
    display:grid !important;
    grid-template-columns:1fr auto !important;
  }
  #zoeken #search-filters .clear-filters{
    width:100% !important;
  }
}

/* Resultatenkop los van het filterraster netjes uitlijnen */
#zoeken #search-results{
  width:100%;
}


/* ==========================================================
   STEKMAAT V14 — RUSTIGE, RUIMERE MULTI-PAGE VORMGEVING
   ========================================================== */

:root{
  --v14-ink:#183b28;
  --v14-muted:#65746a;
  --v14-green:#19713b;
  --v14-soft:#edf5e9;
  --v14-line:#dfe8dc;
  --v14-paper:#ffffff;
  --v14-bg:#f7faf5;
  --v14-radius:22px;
}

body{
  background:
    radial-gradient(circle at 50% 0%,rgba(224,239,218,.34),transparent 34rem),
    var(--v14-bg);
}

/* Breder, gecentreerd canvas zodat desktop niet links blijft hangen. */
main{
  width:min(1320px,calc(100% - 48px)) !important;
  max-width:1320px !important;
  margin-inline:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Header in dezelfde centrale lijn als de inhoud. */
.topbar-inner,.topbar .inner,.header-inner{
  width:min(1320px,calc(100% - 48px));
  max-width:1320px;
  margin-inline:auto;
}

/* ONTDEKKEN — grootste, rustige presentatie. */
#home.view.active{
  display:block;
}
#home .hero{
  width:100%;
  max-width:none;
  margin:28px auto 52px;
  min-height:390px;
  padding:48px 54px;
  border:1px solid #dce8d8;
  border-radius:28px;
  box-sizing:border-box;
  box-shadow:0 14px 38px rgba(42,77,47,.07);
  background:
    radial-gradient(circle at 78% 45%,rgba(224,239,216,.72),transparent 31%),
    linear-gradient(110deg,#eef7eb 0%,#f7faef 58%,#fbf9ed 100%);
}
#home .hero h1{
  max-width:650px;
  font-size:clamp(3rem,5vw,5.15rem);
  line-height:.96;
  letter-spacing:-.055em;
  color:#173724;
}
#home .hero p{
  max-width:670px;
  font-size:clamp(1rem,1.5vw,1.22rem);
  color:#506057;
}
#home .hero .primary{
  min-height:52px;
  padding-inline:22px;
  border-radius:14px;
}

/* Home-aanbod: gecentreerd en gebruikt de beschikbare breedte. */
#home .home-section,
#home .nearby-section,
#home section:not(.hero){
  width:100%;
  max-width:none;
  margin-inline:auto;
}
#home .section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
#home .section-head h2,
#home .nearby-section h2{
  color:var(--v14-ink);
}
#home #listing-grid{
  width:100%;
}
#home #listing-grid:empty::after{
  min-height:130px;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  border-radius:20px;
  background:rgba(255,255,255,.48);
}

/* ZOEKEN — functioneler en iets compacter dan Ontdekken. */
#zoeken{
  width:100%;
}
#zoeken .page-title{
  max-width:980px;
  margin:34px auto 24px;
  text-align:center;
}
#zoeken .page-title p{
  margin-inline:auto;
}
#zoeken .filters#search-filters{
  max-width:1180px;
  margin:0 auto 28px !important;
  padding:22px !important;
  border-radius:22px;
  border:1px solid var(--v14-line);
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 28px rgba(43,75,47,.055);
}
#zoeken #search-results{
  max-width:1180px;
  margin-inline:auto;
}

/* PLAATSEN — smalle focuskolom, geen druk dashboardgevoel. */
#plaatsen .page-title,
#plaatsen form,
#create-listing-form,
#listing-form{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}
#plaatsen form,
#create-listing-form,
#listing-form{
  padding:26px;
  border:1px solid var(--v14-line);
  border-radius:22px;
  background:var(--v14-paper);
  box-shadow:0 9px 26px rgba(43,75,47,.055);
}

/* BERICHTEN — breder dan formulieren, maar compact en conversational. */
#chat .page-title,
#chat .chat-list,
#chat #conversation-content,
#messages .page-title,
#messages .chat-list{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
#chat .chat-list>*{
  background:rgba(255,255,255,.96);
}

/* PROFIEL — rustige dashboardvariant met iets meer structuur. */
#profile .page-title,
#profile .profile-card,
#profile .profile-content,
#profile .my-listings,
#profile .stats{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
#profile .profile-card,
#profile .profile-content{
  border-radius:22px;
  border-color:var(--v14-line);
  box-shadow:0 8px 24px rgba(43,75,47,.05);
}

/* ADVERTENTIEDETAIL — royaal beeld/content zonder enorme lege ruimte. */
#detail-content{
  max-width:1080px !important;
  margin:30px auto 0 !important;
}
#detail-content>.card,
#detail-content .detail-card{
  border-radius:24px;
}

/* Navigatie iets ruimer, maar bewust niet groter dan de inhoud. */
.bottom-nav{
  width:min(780px,calc(100% - 32px)) !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  border-radius:24px !important;
  padding:8px 10px !important;
}
.bottom-nav .nav-item{
  min-width:0;
}
.bottom-nav .nav-item.active{
  border-radius:17px;
}

/* Lege states krijgen rustige inhoud in plaats van veel kale ruimte. */
.empty-state,
#home #listing-grid:empty::after,
#zoeken #search-results:empty::after{
  color:var(--v14-muted);
  border-color:#d5e2d2;
}

/* Tablet */
@media(max-width:900px){
  main{
    width:min(100% - 32px,1320px) !important;
  }
  #home .hero{
    min-height:330px;
    padding:38px 34px;
    margin-top:20px;
    margin-bottom:38px;
  }
  #home .hero h1{
    max-width:560px;
  }
}

/* Mobiel: dezelfde rust, maar zonder overgrote hero. */
@media(max-width:620px){
  body{background:var(--v14-bg)}
  main{
    width:calc(100% - 24px) !important;
  }
  .topbar-inner,.topbar .inner,.header-inner{
    width:calc(100% - 24px);
  }
  #home .hero{
    min-height:0;
    padding:28px 22px;
    margin:14px auto 30px;
    border-radius:22px;
  }
  #home .hero h1{
    font-size:clamp(2.45rem,12vw,3.35rem);
    line-height:.98;
  }
  #home .hero p{
    font-size:1rem;
  }
  #home .section-head{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
  #zoeken .page-title{
    text-align:left;
    margin-top:22px;
  }
  #zoeken .filters#search-filters{
    padding:14px !important;
    border-radius:18px;
  }
  #plaatsen form,
  #create-listing-form,
  #listing-form{
    padding:18px;
    border-radius:18px;
  }
  .bottom-nav{
    width:calc(100% - 20px) !important;
    border-radius:20px !important;
  }
}

/* V14 houdt beweging subtiel. */
@media(prefers-reduced-motion:reduce){
  .bottom-nav{transition:none!important}
}


/* ==========================================================
   STEKMAAT V15 — MULTI-PAGE AFWISSELING
   Zelfde rustige familie, andere compositie per hoofdscherm.
   ========================================================== */

/* Algemene paginakoppen */
.view:not(#home) .page-title{
  padding-top:26px;
  color:var(--v14-ink);
}
.view:not(#home) .page-title h1{
  letter-spacing:-.04em;
}
.view:not(#home) .page-title p{
  color:var(--v14-muted);
}

/* ZOEKEN — brede werkruimte */
#zoeken .page-title{max-width:1180px;text-align:left}
#zoeken .page-title p{margin-left:0}
#zoeken .filters#search-filters{
  max-width:1180px;
  border-radius:24px;
}
#zoeken .listing-grid{
  max-width:1180px;
  margin-inline:auto;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

/* PLAATS ADVERTENTIE — editorgevoel met accentvlak */
#plaatsen{
  position:relative;
}
#plaatsen .page-title{
  max-width:820px;
  padding:34px 34px 18px;
  margin-top:28px;
  border-radius:24px 24px 0 0;
  background:linear-gradient(120deg,#edf6e9,#f8faef);
  border:1px solid var(--v14-line);
  border-bottom:0;
}
#plaatsen form,
#create-listing-form,
#listing-form{
  margin-top:0;
  border-radius:0 0 24px 24px;
  border-top:0;
  box-shadow:0 12px 30px rgba(43,75,47,.055);
}
#plaatsen textarea{min-height:150px}

/* BERICHTEN — rustige messenger-werkruimte */
#chat .page-title,
#messages .page-title{
  max-width:1100px;
  text-align:left;
}
#chat .chat-layout,
#messages .chat-layout,
#chat #conversation-content{
  max-width:1100px;
  margin-inline:auto;
}
#chat .chat-layout,
#messages .chat-layout{
  border:1px solid var(--v14-line);
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 28px rgba(43,75,47,.05);
}
#chat .message{
  max-width:min(72%,680px);
  border-radius:18px;
}
#chat .message.mine{
  border-bottom-right-radius:6px;
}
#chat .message:not(.mine){
  border-bottom-left-radius:6px;
}

/* PROFIEL — dashboard, maar met royale profielkop */
#profile .page-title{
  max-width:1100px;
  text-align:left;
}
#profile .profile-card,
#profile .profile-content,
#profile .my-listings,
#profile .stats{
  max-width:1100px;
}
#profile .profile-card{
  padding:28px;
  background:linear-gradient(115deg,#fff 0%,#f3f8ef 100%);
}
#profile .stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
#profile .stats>*{
  min-height:90px;
  padding:18px;
  border:1px solid var(--v14-line);
  border-radius:18px;
  background:#fff;
}

/* ADVERTENTIEDETAIL — asymmetrisch op desktop */
@media(min-width:901px){
  #detail-content .detail-card{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    gap:30px;
    align-items:start;
    padding:28px;
    background:#fff;
    border:1px solid var(--v14-line);
    box-shadow:0 12px 32px rgba(43,75,47,.055);
  }
  #detail-content .detail-image,
  #detail-content .detail-gallery{
    border-radius:20px;
    overflow:hidden;
  }
}

/* ACCOUNT/AUTH — compact en persoonlijk */
#auth-modal .modal-box{
  border-radius:24px;
  padding:28px;
  border:1px solid var(--v14-line);
  box-shadow:0 24px 70px rgba(25,58,35,.15);
}
#auth-modal h2{
  letter-spacing:-.035em;
}

/* Eigen advertenties / beheer — meer overzicht */
.my-listings .listing,
#profile .listing{
  border-radius:18px;
}
.manage-actions{
  padding-top:10px;
  border-top:1px solid #edf1eb;
}

/* Kleine visuele variatie zonder decoratieve drukte */
#zoeken .listing,
#profile .listing{
  box-shadow:0 5px 16px rgba(43,75,47,.04);
}
#plaatsen input,
#plaatsen select,
#plaatsen textarea{
  background:#fcfdfb;
}
#chat .chat-composer,
#chat .message-form{
  background:#fafcf9;
}

/* Tablet */
@media(max-width:900px){
  #zoeken .listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #profile .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  #plaatsen .page-title{padding:28px 24px 16px}
}

/* Mobiel */
@media(max-width:620px){
  .view:not(#home) .page-title{padding-top:18px}
  #zoeken .listing-grid{grid-template-columns:1fr}
  #plaatsen .page-title{
    margin-top:16px;
    padding:22px 18px 12px;
    border-radius:20px 20px 0 0;
  }
  #plaatsen form,#create-listing-form,#listing-form{
    border-radius:0 0 20px 20px;
  }
  #profile .stats{grid-template-columns:1fr 1fr}
  #profile .profile-card{padding:20px}
  #chat .message{max-width:86%}
}

/* V16 - snelle plaatsflow */
#plaatsen .page-title{max-width:900px!important;text-align:center!important;background:none!important;border:0!important;padding:30px 20px 18px!important}#plaatsen .page-title p{margin-inline:auto}#listing-form.quick-listing-form{max-width:900px!important;padding:0!important;border:1px solid var(--v14-line)!important;border-radius:26px!important;overflow:hidden;background:#fff!important}.form-step{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:30px 34px;border-bottom:1px solid #e8eee5}.step-number{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e8f3e5;color:#176d39;font-weight:800}.step-content h2{margin:3px 0 4px;color:#173724}.step-content>p{margin:0 0 18px;color:#68766d}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.span-2{grid-column:1/-1}.photo-drop{min-height:170px;border:2px dashed #cbdcc7;border-radius:20px;background:#f8fbf6;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;padding:22px}.photo-drop input{position:absolute;opacity:0;width:1px;height:1px}.photo-drop-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#176d39;color:#fff;font-size:1.6rem;margin-bottom:9px}.photo-drop small,.delivery-options small,.publish-bar small{display:block;color:#718078;margin-top:4px}.listing-photo-preview{margin-top:14px;display:flex;align-items:center;gap:12px}.listing-photo-preview img{width:78px;height:78px;object-fit:cover;border-radius:14px}.choice-field{border:0;padding:0;margin:0}.choice-field legend{font-weight:700;margin-bottom:8px}.choice-row{display:flex;gap:9px;flex-wrap:wrap}.choice-row input{position:absolute;opacity:0}.choice-row span{display:block;padding:11px 15px;border:1px solid #d9e4d6;border-radius:13px}.choice-row input:checked+span{border-color:#77a77f;background:#eaf4e7;color:#165f34}.delivery-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.delivery-options label{display:flex!important;gap:12px;padding:17px;border:1px solid #dce6d9;border-radius:16px;background:#fbfdf9}.delivery-options input{width:19px;height:19px;accent-color:#176d39}.location-field{max-width:420px}.optional-details{padding:22px 34px;border-bottom:1px solid #e8eee5}.optional-details summary{cursor:pointer;font-weight:750;color:#31503d}.optional-details label{margin-top:18px}.publish-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 34px;background:#f5f9f2}.publish-button{min-height:52px}.listing-success{max-width:720px;margin:42px auto;text-align:center;padding:54px 34px;border:1px solid #d9e6d5;border-radius:28px;background:linear-gradient(135deg,#fff,#eff7eb)}.success-mark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#176d39;color:#fff;font-size:2rem}.success-actions{display:flex;justify-content:center;gap:10px;margin-top:24px;flex-wrap:wrap}@media(max-width:620px){#plaatsen .page-title{text-align:left!important}.form-step{grid-template-columns:34px 1fr;padding:22px 18px;gap:10px}.step-number{width:32px;height:32px}.form-grid,.delivery-options{grid-template-columns:1fr}.span-2{grid-column:auto}.optional-details,.publish-bar{padding:18px}.publish-bar{flex-direction:column;align-items:stretch}.publish-button{width:100%}}

/* STEKMAAT V17 — juridische fundering */
.legal-listing-block{padding:24px 34px;border-bottom:1px solid #e8eee5;background:#fbfcfa}
.legal-listing-block h3{margin:0 0 5px;color:#173724;font-size:1.08rem}
.legal-intro,.legal-note{color:#68766d;line-height:1.55}
.seller-type-field{margin:18px 0!important}
.legal-check{display:flex!important;align-items:flex-start;gap:11px;padding:15px;border:1px solid #dbe5d8;border-radius:15px;background:#fff;line-height:1.45}
.legal-check input{width:19px;height:19px;min-width:19px;margin-top:2px;accent-color:#176d39}
.legal-note{font-size:.9rem;margin:12px 0 0}
.seller-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#eef5eb;color:#28583a;font-size:.82rem;font-weight:700}
.report-listing-button{background:transparent;border:0;color:#6d776f;text-decoration:underline;cursor:pointer;padding:6px 0}
.legal-page{max-width:900px;margin:24px auto 60px;padding:34px;border:1px solid var(--v14-line);border-radius:24px;background:#fff}
.legal-page h2{margin:26px 0 7px;color:#173724}.legal-page h2:first-child{margin-top:0}.legal-page p{color:#5f6f64;line-height:1.65}
@media(max-width:620px){.legal-listing-block{padding:20px 18px}.legal-page{padding:22px;border-radius:20px}}

/* STEKMAAT V18 — vertrouwen & veiligheid */
.seller-trust{margin:17px 0;padding:15px 16px;border:1px solid #dfe8dc;border-radius:16px;background:#fbfdf9}.seller-trust .seller{margin:8px 0 4px}.seller-explainer{margin:0;color:#65736a;font-size:.88rem;line-height:1.5}.seller-badge.business{background:#e7f0f5;color:#275268}.report-btn{color:#6b514d!important}.report-modal-box{max-width:540px!important}.report-modal-box form{display:grid;gap:16px}.report-modal-box label{display:grid;gap:7px;font-weight:700}.report-modal-box select,.report-modal-box textarea{width:100%}.report-privacy{font-size:.88rem;color:#69766e;line-height:1.5;background:#f5f8f3;padding:12px;border-radius:12px}

/* STEKMAAT V19 — aantrekkelijk aanbod en verkopersprofielen */
.seller-profile-editor{max-width:900px;margin:22px auto;padding:28px;border:1px solid #dfe8dc;border-radius:24px;background:linear-gradient(135deg,#fff,#f5f9f2)}.seller-editor-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.seller-editor-head h2{margin:2px 0 5px;color:#173724}.seller-editor-head p{margin:0;color:#66756b}.profile-completeness{white-space:nowrap;padding:7px 11px;border-radius:999px;background:#eaf3e6;color:#2c6040;font-size:.8rem;font-weight:800}.seller-profile-form{display:grid;gap:16px}.seller-profile-form>label,.seller-profile-grid label{display:grid;gap:7px;font-weight:700}.seller-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.seller-profile-form button{justify-self:start}.profile-specialty,.profile-location{margin:7px 0;color:#53675a}.listing{transition:transform .16s ease,box-shadow .16s ease}.listing:hover{transform:translateY(-2px)}@media(max-width:620px){.seller-profile-editor{padding:20px}.seller-editor-head{display:block}.profile-completeness{display:inline-block;margin-top:12px}.seller-profile-grid{grid-template-columns:1fr}.seller-profile-form button{width:100%}}

/* STEKMAAT V20 — snel aanbod opbouwen */
.repeat-hint{max-width:520px;margin:20px auto 4px;padding:14px 16px;border-radius:15px;background:#f4f8f1;text-align:left;display:grid;gap:3px}.repeat-hint strong{color:#244b31}.repeat-hint span{font-size:.9rem;color:#66756b;line-height:1.45}.success-actions #place-another-listing{min-width:220px}
#duplicate-listing-v20{margin-top:8px;width:100%}

/* STEKMAAT V21 — eerste verkopers */
.seller-recruit-home{max-width:1180px;margin:26px auto 38px;padding:34px;border:1px solid #dce7d8;border-radius:28px;background:linear-gradient(135deg,#f8fbf5,#eef6e9);display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.seller-recruit-copy h2{font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.1;color:#173724;margin:5px 0 10px}.seller-recruit-copy>p{color:#607067;max-width:600px;line-height:1.6}.seller-recruit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.seller-recruit-steps{display:grid;gap:10px}.seller-recruit-steps>div{display:grid;grid-template-columns:38px 1fr;column-gap:11px;padding:14px 15px;border:1px solid #dfe9dc;border-radius:16px;background:rgba(255,255,255,.82)}.seller-recruit-steps span,.onboarding-mini-steps span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#176d39;color:#fff;font-weight:800;grid-row:1/3}.seller-recruit-steps strong{align-self:end}.seller-recruit-steps small{color:#6c796f;margin-top:2px}
.seller-onboarding-box{max-width:580px!important}.onboarding-mini-steps{display:grid;gap:11px;margin:22px 0}.onboarding-mini-steps>div{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start;padding:12px;border-radius:15px;background:#f6f9f3}.onboarding-mini-steps p{margin:0;color:#5d6d62;line-height:1.45}.onboarding-mini-steps strong{color:#244a31}.onboarding-start{width:100%;min-height:50px}.onboarding-note{font-size:.85rem;color:#718078;line-height:1.5;text-align:center;margin:12px 8px 0}
@media(max-width:760px){.seller-recruit-home{grid-template-columns:1fr;padding:24px 20px;gap:24px}.seller-recruit-actions{display:grid}.seller-recruit-actions button{width:100%}}

/* STEKMAAT V22 — testgroep & feedback */
.feedback-v22-btn{position:fixed;right:18px;bottom:92px;z-index:65;border:1px solid #d7e2d4;background:#fff;color:#31563c;border-radius:999px;padding:9px 14px;font-weight:800;box-shadow:0 5px 18px rgba(30,65,40,.11);cursor:pointer}.feedback-v22-btn:hover{background:#f4f8f1}
.feedback-v22-box{max-width:570px!important}.feedback-v22-box form{display:grid;gap:18px}.feedback-v22-box fieldset{border:0;padding:0;margin:0}.feedback-v22-box legend{font-weight:800;margin-bottom:9px}.feedback-v22-box>p{color:#66756b}.feedback-v22-box form>label{display:grid;gap:7px;font-weight:800}
.feedback-types{display:grid;grid-template-columns:1fr 1fr;gap:8px}.feedback-types label,.rating-v22 label{cursor:pointer}.feedback-types input,.rating-v22 input{position:absolute;opacity:0;pointer-events:none}.feedback-types span{display:block;border:1px solid #dce5d9;border-radius:13px;padding:11px 12px;background:#fff;font-weight:700}.feedback-types input:checked+span{border-color:#3c8052;background:#eef6eb;color:#235b36}
.rating-v22{display:flex;gap:7px}.rating-v22 span{width:39px;height:39px;border:1px solid #dce5d9;border-radius:50%;display:grid;place-items:center;font-weight:800}.rating-v22 input:checked+span{background:#2f7545;color:#fff;border-color:#2f7545}
@media(max-width:620px){.feedback-v22-btn{right:12px;bottom:84px;padding:8px 12px}.feedback-types{grid-template-columns:1fr}}

/* V23: repaired recruitment and explicit delivery selection */
.seller-recruit-home{width:100%;box-sizing:border-box}.delivery-options{grid-template-columns:repeat(3,minmax(0,1fr))}.delivery-options label{cursor:pointer}.delivery-options label:has(input:checked){border-color:#45885b;background:#eaf4e8;box-shadow:0 0 0 1px #45885b}.delivery-options input{flex:0 0 auto}.invite-modal-v23{max-width:520px!important}.invite-modal-v23 label{display:grid;gap:8px;font-weight:700}.invite-modal-v23 input{width:100%;box-sizing:border-box}.invite-actions-v23{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.invite-actions-v23 button{flex:1}.invite-modal-v23 p[role=status]{color:#315c3e;min-height:1.5em}@media(max-width:760px){.delivery-options{grid-template-columns:1fr}.invite-actions-v23{flex-direction:column}}

/* V23 feedback fix: modal must appear above bottom navigation and remain scrollable. */
#feedback-v22-modal{z-index:110;overflow-y:auto}#feedback-v22-modal .modal-box{max-height:calc(100dvh - 28px);overflow-y:auto}#feedback-v22-btn{z-index:60}

/* V24 — twee exclusieve vinkjes */
.delivery-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}.delivery-options input[type=checkbox]{accent-color:#176d39}.delivery-help{color:#63776a;font-size:.88rem;margin:-3px 0 15px}@media(max-width:620px){.delivery-options{grid-template-columns:1fr!important}}

/* V25: desktop dock is compact until hovered or keyboard-focused.
   On touch devices the original full-size navigation remains accessible. */
@media (min-width: 621px) and (hover: hover) and (pointer: fine) {
  .bottom-nav {
    height: 49px; bottom: 12px; padding: 3px 14px; border-radius: 19px;
    transition: height .23s ease, padding .23s ease, border-radius .23s ease, box-shadow .23s ease;
  }
  .bottom-nav .nav-item, .bottom-nav .nav-create {
    height: 41px; gap: 0; padding: 3px 5px; border-radius: 13px;
    transition: height .23s ease, gap .23s ease, border-radius .23s ease;
  }
  .bottom-nav .nav-item > span:not(.nav-icon),
  .bottom-nav .nav-create > span:last-child {
    font-size: 0; opacity: 0; line-height: 0;
    transition: opacity .16s ease;
  }
  .bottom-nav .nav-icon {width: 27px; height: 27px;}
  .bottom-nav .nav-icon svg {width: 23px; height: 23px;}
  .bottom-nav .create-circle {width: 43px; height: 43px; top: -9px; border-width: 3px;}
  .bottom-nav .create-circle svg {width: 24px; height: 24px;}
  .bottom-nav .nav-messages .unread-badge {top: 0;}
  .bottom-nav:hover, .bottom-nav:focus-within {
    height: 92px; padding: 9px 16px; border-radius: 28px;
    box-shadow: 0 12px 36px rgba(32,64,40,.16);
  }
  .bottom-nav:hover .nav-item, .bottom-nav:hover .nav-create,
  .bottom-nav:focus-within .nav-item, .bottom-nav:focus-within .nav-create {
    height: 70px; gap: 4px; padding: 6px 5px; border-radius: 20px;
  }
  .bottom-nav:hover .nav-item > span:not(.nav-icon),
  .bottom-nav:hover .nav-create > span:last-child,
  .bottom-nav:focus-within .nav-item > span:not(.nav-icon),
  .bottom-nav:focus-within .nav-create > span:last-child {
    font-size: 11px; opacity: 1; line-height: normal;
  }
  .bottom-nav:hover .nav-icon, .bottom-nav:focus-within .nav-icon {width: 31px; height: 31px;}
  .bottom-nav:hover .nav-icon svg, .bottom-nav:focus-within .nav-icon svg {width: 28px; height: 28px;}
  .bottom-nav:hover .create-circle, .bottom-nav:focus-within .create-circle {
    width: 62px; height: 62px; top: -23px; border-width: 5px;
  }
  .bottom-nav:hover .create-circle svg, .bottom-nav:focus-within .create-circle svg {width: 31px; height: 31px;}
  .bottom-nav:hover .nav-messages .unread-badge, .bottom-nav:focus-within .nav-messages .unread-badge {top: 7px;}
}
@media (prefers-reduced-motion: reduce) {
  .bottom-nav, .bottom-nav * {transition-duration: 0.01ms !important;}
}

/* V26 — extra ademruimte tussen de gastprofielkaart en de inlog-/registratiekaart. */
#profile-content > .profile-card + .auth-card {
  margin-top: 32px;
}
@media (max-width: 620px) {
  #profile-content > .profile-card + .auth-card {
    margin-top: 26px;
  }
}

/* V27: guest cannot edit seller profile; preserve existing visual spacing. */
#seller-profile-editor-v27.hidden{display:none!important}

/* V28–V30: spacious listing cards, seller welcome and private admin */
.listing{overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 8px 26px rgba(33,74,47,.06)}
.listing:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(33,74,47,.13)}
.listing .plant-img{aspect-ratio:4/3;min-height:185px;overflow:hidden}
.listing .plant-img img{width:100%;height:100%;object-fit:cover}
.listing-body h3{line-height:1.3;min-height:2.5em}
.listing-features{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.listing-features span{font-size:.72rem;background:#edf5ed;color:#315f3d;padding:4px 8px;border-radius:999px}
.seller-shop-note,.seller-welcome{background:linear-gradient(145deg,#f7fbf5,#e9f4e9);border:1px solid #d9e9d9;border-radius:22px;padding:24px;margin:20px 0}
.seller-welcome{max-width:860px;margin:25px auto;padding:clamp(22px,5vw,54px)}
.seller-welcome h1{max-width:650px}.seller-welcome>p{max-width:700px;line-height:1.65}
.seller-welcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:30px 0}
.seller-welcome-grid>div{background:#fff;border:1px solid #d9e9d9;border-radius:16px;padding:18px}
.seller-welcome-grid p{margin-bottom:0}.seller-welcome .secondary{margin:8px}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:20px 0}
.admin-stat,.admin-section{background:#fff;border:1px solid #dce8da;border-radius:18px;padding:18px}
.admin-stat strong{display:block;font-size:1.9rem;color:#235337}.admin-stat span{font-size:.85rem}
.admin-section{margin:22px 0}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-top:1px solid #e4eee3}
.admin-row p{overflow-wrap:anywhere;margin:5px 0}.admin-row small{color:#69786b}
.admin-status{max-width:135px;flex-shrink:0;padding:9px;border-radius:10px;border:1px solid #b6cbb9}
@media(max-width:620px){.seller-welcome-grid{grid-template-columns:1fr}.admin-row{align-items:flex-start;flex-direction:column}.admin-status{max-width:100%}}
@media(prefers-reduced-motion:reduce){.listing{transition:none}}

/* V31: show when a category hides other listings */
.active-category-note-v31{margin:12px 0;padding:12px 16px;border-radius:12px;background:#eef8ed;color:#245737;font-weight:600}.active-category-note-v31[hidden]{display:none}

/* V32 — rustigere, fotografiegedreven vormgeving; advertentiefoto's blijven van verkopers. */
body{background:#fcfdf9;color:#23372c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.v32-topbar{min-height:78px;display:flex;align-items:center;gap:clamp(12px,3vw,50px);background:#fff;border-bottom:1px solid #e8ece7;padding:10px max(22px,calc((100vw - 1340px)/2))!important}
.v32-topbar .brand{white-space:nowrap;font-family:Georgia,serif;font-size:clamp(23px,2.1vw,35px);letter-spacing:-.035em;color:#163e29}
.v32-top-search{flex:1;max-width:475px;min-width:170px;background:#f4f5f2;border-radius:40px;display:flex;align-items:center;gap:8px;padding:0 16px;color:#2c4837}
.v32-top-search span{font-size:28px}.v32-top-search input{background:transparent;border:0;outline:0;width:100%;min-height:46px;font-size:14px;box-shadow:none!important}
.v32-top-links{display:flex;gap:22px;align-items:center;white-space:nowrap}.v32-top-links button{background:transparent;color:#25382d;font-weight:550;padding:10px 2px}.v32-top-links button:hover{color:#16673c}
.v32-topbar .profile-btn{white-space:nowrap}
main{width:min(1340px,calc(100% - 42px))!important;max-width:1340px!important}
#home .v32-hero{display:grid!important;grid-template-columns:51% 49%;padding:0!important;min-height:390px!important;overflow:hidden;position:relative;border:0!important;border-radius:0!important;margin:0 auto 36px!important;background:#f9f7f1!important;box-shadow:none!important}
.v32-hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:36px clamp(25px,5vw,70px);background:linear-gradient(90deg,#faf9f5 0%,#faf9f5 83%,rgba(250,249,245,.65) 100%)}
#home .v32-hero h1{font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important;font-size:clamp(39px,4.3vw,66px)!important;line-height:1.04!important;letter-spacing:-.045em!important;margin:0 0 16px!important;max-width:570px!important}
#home .v32-hero p{font-size:clamp(15px,1.25vw,18px)!important;line-height:1.55!important;max-width:460px!important;margin:0 0 23px!important}
#home .v32-hero .primary{border-radius:30px!important;background:#176739!important;color:#fff!important;padding:13px 29px!important}
.v32-hero-image{background-image:url('hero-stekjes.webp');background-size:cover;background-position:center center;min-height:390px}
#home .v32-home-heading{margin-top:24px!important;margin-bottom:17px!important}#home .v32-home-heading h2{font-family:Georgia,serif;font-size:clamp(25px,2.2vw,34px);font-weight:600;color:#1d3d2b}
#home .listing-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:17px!important}
#home .listing{border:1px solid #e7e9e4!important;box-shadow:0 4px 20px rgba(34,57,40,.04)!important;border-radius:13px!important;overflow:hidden}
#home .listing .plant-img{height:195px!important}#home .listing .plant-img img{object-fit:cover}
#home .listing .listing-body{padding:12px 14px!important}#home .listing .listing-body h3{font-size:16px!important}
.v32-seller-footer{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;padding:30px 10px 24px;color:#637568;font-size:14px}.v32-seller-footer .secondary{border-radius:22px}
.bottom-nav{overflow:visible!important;background:rgba(255,255,255,.98)!important;box-shadow:0 9px 36px rgba(22,54,35,.11)!important}
.bottom-nav .nav-item:not(.active){color:#314b3c!important}.bottom-nav .nav-item:not(.active) .nav-icon{color:#314b3c!important}
.bottom-nav .nav-item .nav-icon{transform:translateY(-5px);filter:drop-shadow(0 3px 5px rgba(32,66,41,.12))}.bottom-nav .nav-item.active .nav-icon{transform:translateY(-9px) scale(1.12)}
.bottom-nav .create-circle{top:-27px!important;box-shadow:0 7px 17px rgba(22,91,48,.28)!important}
.v32-profile-head{display:flex;align-items:center;gap:25px;background:#fff;border:1px solid #e4e9e2;border-radius:25px;padding:35px;margin:10px 0 20px}.v32-profile-head h1{font-size:clamp(32px,3vw,48px);margin:5px 0}.v32-profile-avatar{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#e7f4e3;font-size:35px;flex-shrink:0}.v32-profile-head .secondary{margin-top:12px}
.v32-profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:0 0 20px}.v32-profile-stats button{border:1px solid #e2e8e0;background:#fff;border-radius:16px;padding:18px 9px;display:flex;flex-direction:column;align-items:center;gap:5px;color:#284a36}.v32-profile-stats strong{font-size:26px}.v32-profile-stats span{font-size:12px;color:#66766b}
.v32-admin-link{width:100%;display:flex;align-items:center;gap:15px;text-align:left;padding:20px 23px;margin:0 0 20px;background:#edf6ed;border:1px solid #cfe4d1;border-radius:19px;color:#235b38}.v32-admin-link>span:first-child{font-size:27px}.v32-admin-link>span:nth-child(2){flex:1;display:grid;gap:5px}.v32-admin-link small{font-size:12px;color:#5e7464}.v32-admin-link b{font-size:23px}
.v32-profile-menu{background:#fff;border:1px solid #e2e8e0;border-radius:20px;overflow:hidden}.v32-profile-menu button{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:#fff;color:#284a36;padding:19px 23px;border-bottom:1px solid #e9eee8;font-size:16px;font-weight:700}.v32-profile-menu button:last-child{border:0}.v32-profile-menu button:hover{background:#f3f8f1}.v32-profile-panel{margin-top:20px;scroll-margin-top:20px}.v32-account-actions{display:flex;justify-content:flex-end;margin:23px 0 32px}.v32-account-actions .secondary{margin:0}.v32-profile-panel .listing-grid{margin-top:12px}
.v32-public-profile{padding:35px!important;background:linear-gradient(110deg,#f1f8ef,#fff)!important;border-radius:25px!important}.v32-public-profile .avatar{width:85px;height:85px}.v32-seller-shop-note{border-radius:20px!important}
@media(max-width:900px){.v32-top-links{display:none}.v32-top-search{max-width:none}#home .listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.v32-topbar{gap:10px;padding:10px 14px!important;flex-wrap:wrap}.v32-topbar .brand{font-size:25px}.v32-topbar .profile-btn{margin-left:auto}.v32-top-search{order:3;flex-basis:100%;max-width:none}main{width:calc(100% - 24px)!important}#home .v32-hero{display:flex!important;flex-direction:column-reverse;min-height:0!important;border-radius:18px!important;margin-top:10px!important}.v32-hero-image{min-height:175px;background-position:center 43%}.v32-hero-copy{padding:25px 24px 29px;background:#faf9f5}#home .v32-hero h1{font-size:clamp(34px,9vw,46px)!important}#home .listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}#home .listing .plant-img{height:135px!important}#home .listing .listing-body{padding:10px!important}#home .listing .listing-body h3{font-size:14px!important}.v32-profile-head{padding:21px;gap:15px}.v32-profile-avatar{width:62px;height:62px}.v32-profile-stats{gap:7px}.v32-profile-stats button{padding:14px 4px}.v32-profile-stats strong{font-size:20px}.v32-profile-stats span{font-size:10px}.bottom-nav .nav-item .nav-icon{transform:translateY(-5px)}}
@media(max-width:370px){#home .listing-grid{grid-template-columns:1fr!important}.v32-profile-stats{grid-template-columns:repeat(2,1fr)}}

/* V33 — één rustige, organische botanische vormentaal op ALLE pagina's. */
:root{--v33-ink:#18392b;--v33-green:#17683e;--v33-border:rgba(80,120,79,.17);--v33-glass:rgba(255,255,252,.94)}
html{background:#f6f4ec}
body{background:linear-gradient(110deg,rgba(249,249,243,.72),rgba(255,251,242,.55)),url('botanische-achtergrond.webp') center top / cover fixed no-repeat!important;color:var(--v33-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif!important;min-height:100vh}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(95deg,rgba(249,250,243,.40),rgba(255,255,255,.57) 48%,rgba(250,249,241,.32))}
.v32-topbar{background:rgba(255,255,251,.96)!important;backdrop-filter:blur(14px);box-shadow:0 5px 26px rgba(35,61,35,.07);border-color:var(--v33-border)!important}
.v32-topbar .brand{font-family:inherit!important;font-weight:850!important;letter-spacing:-.045em}
main{position:relative;isolation:isolate;padding-bottom:125px!important}
.view.active{min-height:65vh}
/* Keep text and inputs readable against photographic surroundings. */
.view>.page-title,.view>.section-head,.view>.back-btn{position:relative}
.view>.page-title{display:block;background:rgba(255,255,250,.88);border:1px solid var(--v33-border);border-radius:26px;padding:clamp(20px,3.5vw,42px);margin:15px 0 18px;box-shadow:0 12px 38px rgba(41,69,36,.06);backdrop-filter:blur(10px)}
.view>.page-title h1,.v32-home-heading h2,#home .v32-hero h1{font-family:inherit!important;font-weight:800!important;letter-spacing:-.04em!important;color:var(--v33-ink)!important}
#home .v32-hero{border-radius:28px!important;min-height:450px!important;background:rgba(250,249,243,.97)!important;box-shadow:0 20px 55px rgba(37,62,38,.11)!important;overflow:hidden!important;margin-top:16px!important}
.v32-hero-copy{background:linear-gradient(100deg,#fffdf7 0%,rgba(255,253,247,.98) 86%,rgba(255,253,247,.72) 100%)!important}
#home .v32-hero h1{font-size:clamp(37px,4.1vw,61px)!important;line-height:1.09!important}
.v32-hero-image{min-height:450px!important;background-position:center!important}
#home .v32-home-heading{background:rgba(255,255,252,.83);padding:20px 24px;border-radius:23px;backdrop-filter:blur(9px)}
#home .v32-home-heading h2{font-size:clamp(23px,2.3vw,32px)!important}
.filters,.card,.seller-welcome,.seller-shop-note,.admin-section,.admin-stat,.profile-card,.auth-card,.v32-public-profile,.v32-profile-panel,.detail-card,.chat-list,.conversation,.empty{background:var(--v33-glass)!important;border:1px solid var(--v33-border)!important;border-radius:23px!important;box-shadow:0 10px 36px rgba(44,68,40,.065)!important;backdrop-filter:blur(10px)}
.filters{padding:clamp(15px,2.5vw,28px)!important}
.listing,.manage-item{background:#fffefb!important;border:1px solid var(--v33-border)!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(35,57,35,.08)!important;overflow:hidden}
.listing:hover,.v32-profile-menu button:hover{box-shadow:0 13px 32px rgba(35,57,35,.13)!important}
.form-step,.seller-welcome-grid>div{background:rgba(255,255,255,.8);border-radius:19px}
input,textarea,select{font-family:inherit}
/* Profile: one hero photo, icons only in menu rows. */
.v32-profile-head{position:relative;overflow:hidden;min-height:255px;align-items:center;padding:clamp(25px,4vw,48px)!important;background:linear-gradient(90deg,rgba(255,255,251,.97) 0%,rgba(255,255,251,.93) 39%,rgba(255,255,251,.30) 70%,rgba(255,255,251,.06)),url('hero-stekjes.webp') right center/auto 120% no-repeat,#f9f8ee!important;border:1px solid rgba(255,255,255,.9)!important;border-radius:27px!important;box-shadow:0 13px 37px rgba(36,58,33,.10)!important;backdrop-filter:blur(12px)}
.v32-profile-head>div:nth-child(2){position:relative;z-index:1;max-width:min(65%,650px)}
.v32-profile-avatar{width:94px!important;height:94px!important;color:#236d43;background:#e8f4e6!important;border:3px solid rgba(255,255,255,.9)}
.v32-profile-avatar svg{width:48px;height:48px}
.v32-profile-head h1{font-family:inherit!important;font-weight:850!important;letter-spacing:-.04em}
.v32-profile-stats{gap:14px!important}
.v32-profile-stats button{background:rgba(255,255,252,.95)!important;border:1px solid var(--v33-border)!important;border-radius:20px!important;display:grid!important;grid-template-columns:auto 1fr;grid-template-rows:auto auto;justify-items:start!important;align-items:center;column-gap:14px;min-height:112px;padding:18px!important;text-align:left;box-shadow:0 8px 26px rgba(44,68,40,.06)}
.v33-stat-icon{grid-row:1/3;display:grid;place-items:center;width:55px;height:55px;background:#eaf4e8;border-radius:50%;font-size:27px;font-weight:600;color:#215b3c}
.v32-profile-stats strong{grid-column:2;font-size:29px!important;line-height:1.1}
.v32-profile-stats button>span:last-child{grid-column:2;font-size:13px!important}
.v32-admin-link,.v32-profile-menu button{display:flex!important;align-items:center!important;gap:19px!important;background:rgba(255,255,252,.95)!important;border:1px solid var(--v33-border)!important;border-radius:20px!important;padding:18px 23px!important;min-height:94px;box-shadow:0 7px 22px rgba(42,65,37,.055)}
.v32-admin-link{background:rgba(242,250,240,.96)!important;margin-bottom:9px!important}
.v32-profile-menu{background:transparent!important;border:0!important;border-radius:0!important;overflow:visible!important;display:grid;gap:8px}
.v32-profile-menu button{width:100%;text-align:left!important;color:var(--v33-ink)!important}
.v32-profile-menu button:last-child{border:1px solid var(--v33-border)!important}
.v33-menu-icon{display:grid!important;place-items:center!important;width:57px;min-width:57px;height:57px;border-radius:50%;background:#eaf4e8;color:#225e3e;font-size:28px!important;font-weight:600}
.v33-menu-copy{display:grid;gap:4px;flex:1}
.v33-menu-copy strong{font-size:17px}.v33-menu-copy small{font-size:13px;color:#627167;font-weight:400;line-height:1.35}
.v33-chevron{font-size:29px!important;font-weight:400!important;line-height:1;color:#244d37}
.v32-admin-link>span:nth-child(2){flex:1}
/* Navigation: five floating buttons, clear even without hover. */
.bottom-nav{height:83px!important;bottom:13px!important;border-radius:32px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(18px);box-shadow:0 14px 42px rgba(32,57,35,.18)!important;overflow:visible!important}
.bottom-nav .nav-item{overflow:visible!important}
.bottom-nav .nav-item .nav-icon{position:relative;z-index:1;width:48px!important;height:48px!important;margin-top:-16px;border:3px solid #fff;border-radius:50%!important;background:#f2f8ef!important;box-shadow:0 6px 15px rgba(31,65,36,.15);transform:translateY(-8px)!important;filter:none!important;transition:transform .18s ease,background .18s ease}
.bottom-nav .nav-item.active .nav-icon{background:#e0f0dd!important;color:#17683e!important;transform:translateY(-11px) scale(1.06)!important}
.bottom-nav .nav-item:hover .nav-icon,.bottom-nav .nav-item:focus-visible .nav-icon{transform:translateY(-13px) scale(1.09)!important}
.bottom-nav .nav-item.active{background:transparent!important;color:#17683e!important}
.bottom-nav .create-circle{top:-27px!important;width:67px!important;height:67px!important;background:#177044!important;box-shadow:0 9px 23px rgba(27,100,54,.27)!important}
/* Preserve accessibility and narrow-screen usability. */
@media(max-width:900px){.v32-profile-stats button{grid-template-columns:1fr;justify-items:center!important;text-align:center}.v33-stat-icon{grid-row:auto}.v32-profile-stats strong,.v32-profile-stats button>span:last-child{grid-column:auto}}
@media(max-width:620px){body{background-attachment:scroll!important;background-size:auto 100vh!important}main{width:calc(100% - 22px)!important}#home .v32-hero{min-height:0!important}.v32-hero-image{min-height:215px!important;background-size:cover!important}.v32-hero-copy{padding:26px 23px!important}.v32-profile-head{min-height:195px!important;padding:20px!important;gap:12px!important;background:linear-gradient(90deg,rgba(255,255,252,.96),rgba(255,255,252,.77)),url('hero-stekjes.webp') center/cover!important}.v32-profile-head>div:nth-child(2){max-width:calc(100% - 78px)}.v32-profile-avatar{width:62px!important;height:62px!important}.v32-profile-avatar svg{width:34px;height:34px}.v32-profile-head h1{font-size:clamp(25px,7vw,35px)!important}.v32-profile-head p{overflow-wrap:anywhere;font-size:13px}.v32-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.v32-profile-stats button{min-height:104px;padding:12px!important}.v33-stat-icon{width:42px;height:42px;font-size:23px}.v32-admin-link,.v32-profile-menu button{min-height:78px;padding:13px 14px!important;gap:12px!important}.v33-menu-icon{width:43px;min-width:43px;height:43px;font-size:22px!important}.v33-menu-copy strong{font-size:14px}.v33-menu-copy small{font-size:11px}.bottom-nav{bottom:7px!important;height:72px!important;padding:7px 4px!important;gap:0!important}.bottom-nav .nav-item .nav-icon{width:41px!important;height:41px!important;margin-top:-12px}.bottom-nav .nav-item .nav-icon svg{width:23px;height:23px}.bottom-nav .nav-item,.bottom-nav .nav-create{font-size:10px!important}.bottom-nav .create-circle{width:61px!important;height:61px!important;top:-27px!important}}
@media(prefers-reduced-motion:reduce){.bottom-nav .nav-icon{transition:none!important}}

/* V34: compact create page, floating navigation without covering content */
#plaatsen>.page-title{padding:clamp(17px,2vw,28px)!important;margin:10px 0 14px!important;border-radius:20px!important;background:rgba(255,255,252,.94)!important}
#plaatsen>.page-title h1{font-size:clamp(29px,3.1vw,43px)!important;line-height:1.12!important;margin:4px 0 7px!important}
#plaatsen>.page-title p{margin:4px 0!important;font-size:clamp(14px,1.2vw,17px)!important;line-height:1.45!important}
#plaatsen .quick-listing-form{margin-top:10px!important}
main{padding-bottom:calc(140px + env(safe-area-inset-bottom))!important}
.bottom-nav{height:65px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;max-width:950px!important;padding:5px 12px!important;overflow:visible!important}
.bottom-nav .nav-item,.bottom-nav .nav-create{min-height:58px!important}
.bottom-nav .nav-item .nav-icon{width:45px!important;height:45px!important;transform:translateY(-13px)!important;margin-top:-20px!important}
.bottom-nav .nav-item.active .nav-icon{transform:translateY(-15px) scale(1.04)!important}
.bottom-nav .nav-create .create-circle{width:62px!important;height:62px!important;transform:translateY(-20px)!important;border:4px solid white!important}
.bottom-nav .nav-item>span:last-of-type,.bottom-nav .nav-create>span:last-child{font-size:11px!important;line-height:1!important;position:relative;top:-9px}
@media(max-width:620px){main{padding-bottom:calc(135px + env(safe-area-inset-bottom))!important}.bottom-nav{left:10px!important;right:10px!important;width:calc(100% - 20px)!important;height:62px!important;bottom:calc(9px + env(safe-area-inset-bottom))!important;padding:5px!important}.bottom-nav .nav-item .nav-icon{width:43px!important;height:43px!important}}
/* V34: botanical library */
.library-top-link{background:#edf6e9;border:1px solid #d7e7d4;border-radius:30px;color:#205c39;font-weight:750;padding:9px 14px;white-space:nowrap}
.library-home-link{display:flex;align-items:center;gap:17px;margin:22px 0;padding:20px 24px;background:rgba(255,255,251,.94);border:1px solid #dce8d7;border-radius:24px;box-shadow:0 9px 30px rgba(29,65,36,.08)}
.library-home-icon,.library-plant-icon{display:grid;place-items:center;flex-shrink:0;width:65px;height:65px;border-radius:50%;background:#e6f3e2;font-size:30px}
.library-home-link>div{flex:1}.library-home-link strong{font-size:20px;color:#194a30}.library-home-link p{margin:4px 0;color:#647267}
.library-heading{padding:clamp(22px,4vw,45px);background:rgba(255,255,252,.93);border:1px solid #dbe9d9;border-radius:26px;margin:16px 0 18px}
.library-heading h1{font-family:inherit!important;font-size:clamp(32px,4vw,51px)!important;letter-spacing:-.04em;color:#1a412e}
.library-search-label{display:block;max-width:520px;margin-top:22px;font-weight:700}.library-search-label input{display:block;width:100%;margin-top:8px}
.library-species{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:13px}
.library-species-card{display:flex;align-items:center;gap:14px;padding:18px;text-align:left;background:rgba(255,255,252,.96);border:1px solid #dce8d9;border-radius:20px;color:#204733;box-shadow:0 8px 20px rgba(30,70,30,.06)}
.library-species-card:hover,.library-species-card:focus-visible{border-color:#7fb68a;transform:translateY(-2px)}
.library-species-card>span:nth-child(2){flex:1;display:grid;gap:5px}.library-species-card strong{font-size:19px}.library-species-card small{color:#617369;line-height:1.4}
.library-detail{margin:24px 0 15px;scroll-margin-top:85px;display:grid;gap:15px}.library-plant-head,.library-guide,.library-contributions{background:rgba(255,255,252,.96);border:1px solid #dce8d9;border-radius:23px;padding:clamp(20px,3vw,32px)}
.library-plant-head{display:flex;align-items:center;gap:18px}.library-plant-head h2{font-size:clamp(25px,3vw,35px);margin:4px 0}.library-plant-head p{margin:4px 0}.library-guide{background:#eff7ec}.library-guide small{color:#5b7060}
.library-experience{padding:17px;margin-top:12px;border:1px solid #e0eadd;border-radius:17px;background:#fff}.library-experience span{display:block;color:#64816b;font-size:13px;margin:4px 0}.library-experience p{white-space:pre-wrap;overflow-wrap:anywhere}
.library-form{display:grid;gap:13px;max-width:none!important}.library-form label{display:grid;gap:7px;font-weight:650}.library-form textarea{width:100%}.library-form-status{color:#215e3d;font-weight:650}.library-listing-link{display:block;padding:14px;margin:15px 0;background:#edf6e9;color:#1e5a38;border-radius:14px;font-weight:700;text-align:left;width:100%}
@media(max-width:800px){.library-top-link{font-size:12px;padding:7px 10px}.library-home-link{flex-wrap:wrap}.library-home-link button{width:100%}}
@media(max-width:520px){.library-top-link{order:4;margin-left:auto}.library-home-icon{width:48px;height:48px}.library-heading{padding:20px}.library-plant-head{align-items:flex-start}.library-plant-head .library-plant-icon{width:48px;height:48px}}

/* V35: practical shipping guide integrated into the Plantenbibliotheek */
.library-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}.library-tab{border:1px solid #cfe1cf;background:#f2f7ef;color:#24583b;border-radius:99px;padding:13px 20px;font-weight:750;font:inherit;cursor:pointer}.library-tab.active{background:#1c6842;color:#fff;border-color:#1c6842}.library-tab:focus-visible{outline:3px solid #87b994;outline-offset:3px}.library-shipping-panel{display:grid;gap:18px}.library-shipping-panel.hidden,.library-search-label.hidden,#library-plants-panel.hidden{display:none!important}.library-shipping-intro{display:flex;gap:20px;align-items:center;background:rgba(255,255,252,.96);border:1px solid #dce8d9;border-radius:23px;padding:25px}.library-shipping-intro h2{margin:0 0 8px;font-size:clamp(23px,3vw,32px);color:#204732}.library-shipping-intro p{margin:0;line-height:1.55}.library-shipping-symbol{font-size:40px;background:#edf6e9;border-radius:50%;width:75px;height:75px;display:grid;place-items:center;flex-shrink:0}.library-shipping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}.library-shipping-card,.library-shipping-checklist,.library-shipping-notice{padding:23px;background:rgba(255,255,252,.97);border:1px solid #dce8d9;border-radius:22px}.library-shipping-card>span{font-size:29px}.library-shipping-card h3{margin:10px 0;color:#204732}.library-shipping-card p,.library-shipping-checklist p,.library-shipping-notice p{line-height:1.65;color:#4f6154}.library-shipping-checklist{display:grid;gap:12px}.library-shipping-checklist h3{margin:0}.library-shipping-checklist label{display:flex;gap:12px;align-items:start;cursor:pointer}.library-shipping-checklist input{width:19px;height:19px;accent-color:#1c6842;flex-shrink:0}.library-shipping-checklist #library-shipping-progress{color:#1c6842;font-weight:700;margin:5px 0 0}.library-shipping-notice{background:#f1f7ec}.library-shipping-notice a{color:#195b39;font-weight:700}.library-home-link button{white-space:normal}@media(max-width:600px){.library-tab{width:100%;text-align:center}.library-shipping-intro{align-items:flex-start;padding:19px}.library-shipping-symbol{width:48px;height:48px;font-size:27px}}

/* V36: accessible crawlable information links. */
.seo-footer{max-width:1120px;margin:35px auto 145px;padding:20px 24px;border-radius:18px;background:rgba(255,255,252,.95);font-size:14px;color:#31553e}.seo-footer nav{display:flex;flex-wrap:wrap;gap:12px 25px}.seo-footer a{color:#245a38;text-decoration:underline;text-underline-offset:3px}

/* V37: 20 visual plant entries and corrected floating navigation */
.library-species{grid-template-columns:repeat(auto-fill,minmax(min(100%,235px),1fr));gap:15px}
.library-species-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;border-radius:19px;min-height:270px}
.library-card-photo{display:block;width:100%;height:148px;object-fit:cover;background:#e5efe1}
.library-card-copy{display:grid;gap:7px;flex:1;padding:14px 16px 16px}.library-species-card strong{font-size:17px;line-height:1.25}.library-species-card small{font-size:13px;line-height:1.45}.library-species-card>span:last-child{position:absolute;right:13px;bottom:13px}.library-species-card{position:relative}.library-card-copy{padding-right:35px}
.library-detail-photo{width:150px;height:130px;object-fit:cover;border-radius:16px;flex-shrink:0}
@media(max-width:560px){.library-species{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.library-card-photo{height:112px}.library-species-card{min-height:240px}.library-card-copy{padding:11px}.library-species-card strong{font-size:14px}.library-species-card small{font-size:12px}.library-detail-photo{width:100%;height:180px}.library-plant-head{flex-wrap:wrap}}
/* Correct V35/V36 inherited tall bottom navigation on all pages. */
.bottom-nav{height:64px!important;min-height:0!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;padding:6px 12px!important;overflow:visible!important;align-items:center!important}
.bottom-nav .nav-item,.bottom-nav .nav-create{min-height:52px!important;height:52px!important;align-self:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}
.bottom-nav .nav-item .nav-icon{margin-top:0!important;transform:translateY(-8px)!important;width:43px!important;height:43px!important;flex-shrink:0!important}
.bottom-nav .nav-item.active .nav-icon{transform:translateY(-9px) scale(1.04)!important}
.bottom-nav .nav-create .create-circle{top:auto!important;transform:translateY(-17px)!important;width:63px!important;height:63px!important;flex-shrink:0!important}
.bottom-nav .nav-item>span:last-of-type,.bottom-nav .nav-create>span:last-child{top:-5px!important;font-size:10px!important;white-space:nowrap!important}
@media(max-width:620px){.bottom-nav{height:62px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;padding:5px!important}.bottom-nav .nav-item .nav-icon{width:40px!important;height:40px!important}.bottom-nav .nav-create .create-circle{width:58px!important;height:58px!important}}

/* V37.1: keep the create button mathematically centered in the bar.
   Previous translateY-only overrides removed translateX(-50%) from the absolute circle. */
.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;column-gap:0!important}
.bottom-nav>.nav-item,.bottom-nav>.nav-create{width:100%!important;min-width:0!important;justify-self:center!important}
.bottom-nav .nav-create .create-circle{left:50%!important;right:auto!important;transform:translate(-50%,-17px)!important;transform-origin:center center!important}
@media(max-width:620px){.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important}.bottom-nav .nav-create .create-circle{left:50%!important;transform:translate(-50%,-17px)!important}}

/* V37.3: meldingen staan boven modals en blijven leesbaar. */
#toast.toast{z-index:10000!important;position:fixed!important;bottom:max(110px,env(safe-area-inset-bottom) + 100px)!important;background:#193c29!important;color:#fff!important;opacity:0;filter:none!important;backdrop-filter:none!important;text-shadow:none!important;font-weight:700;line-height:1.5;box-shadow:0 14px 38px rgba(0,0,0,.25)!important;}
#toast.toast.show{opacity:1!important;}

/* V37.4: explicit, clearly separated destructive admin action */
.admin-delete-listing-v374{margin-left:12px;border:1px solid #efcccc;background:#fff3f3;color:#813737;white-space:nowrap}.admin-delete-listing-v374:hover{background:#ffe5e5}

/* V37.5: Dutch admin controls and botanical dashboard */
.admin-section-v375{padding:clamp(18px,3vw,32px)!important;overflow:hidden}
.admin-section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px}
.admin-section-heading h2{margin:0;color:#183e2e;font-size:clamp(23px,2.6vw,34px);letter-spacing:-.025em}
.admin-section-heading p{margin:8px 0 0;color:#617568;font-size:15px}
.admin-refresh-v375,.admin-view-v375,.admin-delete-listing-v374{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 19px;border-radius:100px;font-size:14px;font-weight:750;cursor:pointer;transition:background .2s,transform .2s,border-color .2s;white-space:nowrap}
.admin-refresh-v375,.admin-view-v375{border:1px solid #cfe5d4;background:#f2faf3;color:#215b36}
.admin-refresh-v375:hover,.admin-view-v375:hover{background:#e0f2e5;transform:translateY(-1px)}
.admin-delete-listing-v374{margin:0!important;border:1px solid #f1c9ca!important;background:#fff2f3!important;color:#922e30!important}
.admin-delete-listing-v374:hover{background:#ffe2e5!important;transform:translateY(-1px)}
.admin-list-head,.admin-listing-row{display:grid!important;grid-template-columns:minmax(170px,2.1fr) minmax(120px,1fr) minmax(120px,1.05fr) minmax(210px,1.65fr);align-items:center;gap:18px}
.admin-list-head{padding:14px 18px;border-radius:14px;background:#f4f8f2;color:#506458;text-transform:uppercase;letter-spacing:.055em;font-size:12px;font-weight:800}
.admin-listing-row{margin-top:9px;padding:13px 18px!important;border:1px solid #e0eae1!important;border-radius:16px;background:#fff;box-shadow:0 3px 12px rgba(20,60,36,.025)}
.admin-listing-name{display:flex;align-items:center;gap:15px;min-width:0}.admin-listing-name strong{font-size:17px;color:#193e2d;overflow-wrap:anywhere}.admin-listing-name p{margin:6px 0 0;color:#617568;font-size:14px}
.admin-listing-thumb{display:flex;align-items:center;justify-content:center;width:62px;height:62px;flex-shrink:0;object-fit:cover;border-radius:12px;background:#eaf5e8;font-size:29px}
.admin-listing-date{font-size:13px;color:#566c5e}.admin-listing-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.admin-status-wrap{display:inline-block;max-width:100%}.admin-status{appearance:auto!important;width:100%;max-width:160px!important;min-height:45px!important;padding:10px 13px!important;border-radius:13px!important;border:1px solid #c8e2ce!important;background:#f6fcf7!important;color:#23573b!important;font-weight:700!important;font-size:14px!important;cursor:pointer}
.admin-feedback-row{gap:20px;padding:20px 0!important}.admin-feedback-row .admin-row-copy{flex:1;min-width:0}.admin-feedback-row .admin-row-copy strong{color:#183e2e;font-size:17px}.admin-feedback-row .admin-row-copy p{font-size:15px;line-height:1.6}.admin-feedback-row .admin-status-wrap{flex-shrink:0}
@media(max-width:950px){.admin-list-head{display:none!important}.admin-listing-row{grid-template-columns:minmax(0,1fr) auto!important;gap:13px!important}.admin-listing-name{grid-column:1/-1}.admin-listing-status{grid-column:1}.admin-listing-date{grid-column:2;justify-self:end}.admin-listing-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:520px){.admin-section-heading{align-items:flex-start;flex-direction:column}.admin-listing-row{padding:13px!important}.admin-listing-thumb{width:50px;height:50px}.admin-listing-actions{gap:8px}.admin-view-v375,.admin-delete-listing-v374{flex:1;padding:10px 12px}.admin-listing-date{font-size:12px}.admin-feedback-row{flex-direction:column;align-items:stretch!important}.admin-feedback-row .admin-status-wrap{align-self:flex-start}}

/* V37.6 — consistent centered placement and empty states */
#plaatsen > .page-title {
  width: min(100%, 900px) !important;
  margin: 10px auto 18px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#plaatsen > .page-title h1,
#plaatsen > .page-title .eyebrow,
#plaatsen > .page-title p {text-align:center !important;margin-left:auto !important;margin-right:auto !important;}
#plaatsen > .page-title p:not(.eyebrow) {max-width:760px;}
#listing-form.quick-listing-form {margin-left:auto !important;margin-right:auto !important;width:100%;}
#listing-grid > .empty,
#listing-grid > .empty-state,
#search-results > .empty,
#search-results > .empty-state {
  grid-column:1 / -1;
  width:100%;
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:48px 22px;
  margin:0 auto;
}
#listing-grid > .empty h2,
#listing-grid > .empty p,
#search-results > .empty h2,
#search-results > .empty p {text-align:center;margin-left:auto;margin-right:auto;}
@media(max-width:620px){#plaatsen > .page-title{text-align:center !important;padding:25px 18px !important;}#plaatsen > .page-title h1{font-size:clamp(2rem,8vw,2.8rem);}}

/* V37.7 — mobile layout repair; desktop rules unchanged. */
@media (max-width: 620px) {
  html,body {max-width:100%;overflow-x:clip;}
  *,*::before,*::after {box-sizing:border-box;}
  .v32-topbar {display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px 8px!important;padding:12px 14px!important;min-height:0!important;align-items:center!important;}
  .v32-topbar .brand {grid-column:1;min-width:0!important;width:max-content;max-width:100%;font-size:clamp(20px,6vw,27px)!important;padding:9px 12px!important;}
  .v32-topbar .brand .logo {font-size:25px!important;}
  .v32-topbar .profile-btn {grid-column:2;margin:0!important;font-size:13px!important;padding:9px 5px!important;}
  .v32-top-links {display:none!important;}
  .v32-top-search {grid-column:1 / -1!important;grid-row:2!important;order:initial!important;max-width:none!important;min-width:0!important;width:100%!important;margin:0!important;flex-basis:auto!important;}
  .v32-top-search input {min-width:0!important;font-size:15px!important;}
  .v32-topbar .library-top-link {position:static!important;inset:auto!important;grid-column:1 / -1!important;grid-row:3!important;justify-self:start!important;margin:0!important;max-width:100%;font-size:13px!important;padding:8px 13px!important;}
  main {width:calc(100% - 28px)!important;max-width:100%!important;margin-inline:auto!important;padding-bottom:calc(116px + env(safe-area-inset-bottom))!important;}
  #home .v32-hero {display:flex!important;flex-direction:column-reverse!important;width:100%!important;min-height:0!important;margin:12px 0 22px!important;border-radius:22px!important;overflow:hidden!important;}
  #home .v32-hero .v32-hero-image {width:100%!important;min-height:0!important;height:190px!important;flex:none!important;background-image:url('hero-stekjes.webp')!important;background-size:cover!important;background-position:center 52%!important;}
  #home .v32-hero .v32-hero-copy {width:100%!important;min-width:0!important;padding:24px 21px 28px!important;}
  #home .v32-hero h1 {font-size:clamp(29px,8.1vw,40px)!important;line-height:1.12!important;overflow-wrap:normal!important;letter-spacing:-.035em!important;}
  #home .v32-hero p {font-size:15px!important;line-height:1.55!important;max-width:100%!important;}
  #home .v32-hero .primary {width:100%!important;max-width:100%!important;min-height:48px!important;white-space:normal!important;}
  #home .v32-home-heading {margin-top:18px!important;}
  #home .v32-home-heading h2 {font-size:clamp(24px,7vw,32px)!important;}
  #home .listing-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #home .listing-grid > .empty,#home .listing-grid > .empty-state {grid-column:1/-1!important;min-height:220px!important;padding:32px 16px!important;}
  .view > .page-title {padding:22px 18px!important;}
  .view > .page-title h1 {font-size:clamp(28px,8vw,38px)!important;}
  .v32-profile-head {width:100%!important;}
  .v32-profile-head>div:nth-child(2) {max-width:100%!important;min-width:0!important;}
  .v32-profile-head h1 {overflow-wrap:anywhere;}
  .bottom-nav {position:fixed!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:calc(100% - 20px)!important;max-width:460px!important;bottom:calc(9px + env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;height:73px!important;min-height:73px!important;padding:6px 4px!important;border-radius:22px!important;z-index:80!important;overflow:visible!important;}
  .bottom-nav>.nav-item,.bottom-nav>.nav-create {width:100%!important;min-width:0!important;height:60px!important;min-height:60px!important;padding:2px 0!important;overflow:visible!important;gap:2px!important;}
  .bottom-nav .nav-item .nav-icon {width:36px!important;height:36px!important;margin:0!important;transform:none!important;border-width:2px!important;}
  .bottom-nav .nav-item.active .nav-icon {transform:none!important;}
  .bottom-nav .nav-item .nav-icon svg {width:20px!important;height:20px!important;}
  .bottom-nav .nav-create .create-circle {left:50%!important;top:-16px!important;transform:translateX(-50%)!important;width:51px!important;height:51px!important;border-width:3px!important;}
  .bottom-nav .nav-create .create-circle svg {width:26px!important;height:26px!important;}
  .bottom-nav .nav-item>span:last-of-type,.bottom-nav .nav-create>span:last-child {position:static!important;top:auto!important;font-size:clamp(8px,2.3vw,10px)!important;line-height:1.1!important;white-space:normal!important;text-align:center!important;overflow-wrap:normal!important;}
  .bottom-nav .nav-create>span:last-child {padding-top:32px!important;}
  .feedback-v22-btn {right:12px!important;bottom:calc(94px + env(safe-area-inset-bottom))!important;padding:7px 11px!important;font-size:12px!important;z-index:60!important;opacity:.94;}
  .seo-footer {margin-bottom:25px!important;}
}
@media (max-width:360px) {
  .v32-topbar .brand {font-size:20px!important;padding:8px!important;}
  #home .v32-hero .v32-hero-image {height:155px!important;}
  #home .v32-hero h1 {font-size:29px!important;}
  .bottom-nav {width:calc(100% - 10px)!important;}
}

/* V37.8: the Plantenkennis shortcut must not cover mobile page headings.
   The library remains accessible from the homepage and footer. */
@media (max-width: 620px) {
  .v32-topbar .library-top-link { display:none!important; }
}

/* V37.9 — centreer de advertentieblokken op mobiel */
@media (max-width: 620px) {
  #plaatsen .quick-listing-form {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }
  #plaatsen .quick-listing-form > .form-step,
  #plaatsen .quick-listing-form > .legal-listing-block {
    width: calc(100% - 8px) !important;
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  #plaatsen .form-step {
    grid-template-columns: 48px minmax(0,1fr) !important;
    gap: 14px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  #plaatsen .step-content {min-width:0!important;width:100%!important;}
  #plaatsen .form-grid,
  #plaatsen .delivery-options,
  #plaatsen .location-field {width:100%!important;max-width:100%!important;}
}

/* V38.0 — merged mobile fixes from V37.8 + V37.9.
   Keep the central Place-advertisement plus fixed while scrolling/touching on iOS. */
@media (max-width: 620px) {
  .bottom-nav .nav-create,
  .bottom-nav .nav-create:hover,
  .bottom-nav .nav-create:focus,
  .bottom-nav .nav-create:focus-visible,
  .bottom-nav .nav-create:active {
    transform: none !important;
  }
  .bottom-nav .nav-create .create-circle,
  .bottom-nav .nav-create:hover .create-circle,
  .bottom-nav .nav-create:focus .create-circle,
  .bottom-nav .nav-create:focus-visible .create-circle,
  .bottom-nav .nav-create:active .create-circle {
    left: 50% !important;
    top: -16px !important;
    transform: translate3d(-50%,0,0) !important;
    width: 51px !important;
    height: 51px !important;
    background: #177044 !important;
    box-shadow: 0 9px 23px rgba(27,100,54,.27) !important;
    transition: none !important;
    animation: none !important;
    will-change: auto !important;
  }
}

/* V38.1 - footerbegrippen gecentreerd */
.seo-footer{text-align:center}
.seo-footer nav{justify-content:center;align-items:center}
@media (max-width: 760px){
  .seo-footer{width:calc(100% - 32px);margin-left:auto!important;margin-right:auto!important;padding-left:18px;padding-right:18px;text-align:center}
  .seo-footer p{text-align:center;margin-left:auto;margin-right:auto}
  .seo-footer nav{display:flex;justify-content:center;align-items:center;gap:12px 24px;width:100%;text-align:center}
  .seo-footer nav a{text-align:center}
}


/* V38.3 — duidelijk onderscheid tussen soorten stekjes */
#plaatsen .cutting-type-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#plaatsen .cutting-type-choices label{display:flex;min-width:0}
#plaatsen .cutting-type-choices label>span{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;min-height:92px;padding:14px 16px;text-align:left;line-height:1.25}
#plaatsen .cutting-type-choices strong{display:block;font-size:1rem;color:inherit}
#plaatsen .cutting-type-choices small{display:block;margin-top:6px;font-size:.82rem;font-weight:500;line-height:1.35;color:#52685a}
#plaatsen .cutting-type-choices input:checked+span small{color:#315f42}
@media(max-width:620px){
 #plaatsen .cutting-type-choices{grid-template-columns:1fr!important;gap:10px!important}
 #plaatsen .cutting-type-choices label>span{min-height:0!important;padding:14px 16px!important}
}

/* V38.4 — desktop: hoofdblokken rustig en exact gecentreerd */
@media (min-width: 761px) {
  /* Zoekresultaat zonder treffers */
  #search-results > .empty,
  #search-results > .empty-state,
  #listing-grid > .empty,
  #listing-grid > .empty-state {
    width: min(100%, 1180px) !important;
    min-height: 330px !important;
    margin: 0 auto !important;
    padding: 46px 70px !important;
    text-align: center !important;
    align-items: center !important;
  }
  #search-results > .empty > div,
  #search-results > .empty-state > div,
  #listing-grid > .empty > div,
  #listing-grid > .empty-state > div {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  #search-results > .empty h2,
  #search-results > .empty p,
  #listing-grid > .empty h2,
  #listing-grid > .empty p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
  #search-results > .empty p {max-width: 760px !important;}
  #search-results > .empty .primary,
  #listing-grid > .empty .primary {
    align-self: center !important;
    margin: 24px auto 0 !important;
  }

  /* Berichten-kop */
  #chat > .page-title {
    width: min(100%, 1120px) !important;
    margin: 10px auto 22px !important;
    min-height: 150px !important;
    padding: 30px 36px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  #chat > .page-title .eyebrow,
  #chat > .page-title h1 {text-align:center !important;margin-left:auto !important;margin-right:auto !important;}

  /* Footer / kennislinks */
  .seo-footer {
    width: min(calc(100% - 64px), 1120px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 28px 36px !important;
    text-align: center !important;
  }
  .seo-footer p {text-align:center !important;margin:0 auto 18px !important;}
  .seo-footer nav {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px 34px !important;
    text-align: center !important;
  }

  /* Onderste navigatie: vijf items exact gelijk verdeeld */
  .bottom-nav {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(calc(100% - 64px), 950px) !important;
    grid-template-columns: repeat(5,minmax(0,1fr)) !important;
  }
  .bottom-nav > .nav-item,
  .bottom-nav > .nav-create {
    width: 100% !important;
    min-width: 0 !important;
    justify-self: center !important;
    align-items: center !important;
    text-align: center !important;
  }
  .bottom-nav .nav-create .create-circle {
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%,-17px) !important;
  }
}

/* V38.5 — gebundelde desktop- en mobiele verfijningen */
@media (min-width: 761px) {
  .view > .page-title {
    position: relative;
    overflow: hidden;
    width: min(100%, 1120px) !important;
    min-height: 190px;
    margin: 10px auto 24px !important;
    padding: 38px 44px !important;
    display: flex !important;
    flex-direction: column;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border: 1px solid rgba(48,92,56,.08);
    border-radius: 28px;
    background: rgba(255,255,251,.94);
    box-shadow: 0 16px 42px rgba(41,69,42,.08);
  }
  .view > .page-title::before,
  .view > .page-title::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(164,194,150,.18), rgba(164,194,150,0) 68%);
    pointer-events: none;
  }
  .view > .page-title::before {left:-65px;top:-55px;}
  .view > .page-title::after {right:-65px;bottom:-65px;}
  .view > .page-title .eyebrow,
  .view > .page-title h1,
  .view > .page-title p {position:relative;z-index:1;text-align:center!important;margin-left:auto!important;margin-right:auto!important;}
  .view > .page-title h1 {font-size:clamp(42px,4vw,62px)!important;line-height:1.02;margin:12px auto 12px!important;letter-spacing:-.045em;}
  .view > .page-title p:not(.eyebrow) {max-width:820px!important;margin-top:0!important;font-size:17px;line-height:1.55;color:#627267!important;}
  #zoeken > .page-title {margin-bottom:12px!important;}
  #zoeken > .filters {margin-top:0!important;}
  #chat > .page-title {min-height:190px!important;}
  #plaatsen > .page-title {min-height:190px!important;}

  /* Middenknop: tekst altijd duidelijk onder de cirkel */
  .bottom-nav .nav-create {position:relative!important;padding-top:0!important;justify-content:flex-end!important;}
  .bottom-nav .nav-create .create-circle {top:-24px!important;}
  .bottom-nav .nav-create > span:last-child {
    position:absolute!important;
    left:50%!important;
    bottom:5px!important;
    transform:translateX(-50%)!important;
    width:100%!important;
    top:auto!important;
    padding:0 4px!important;
    line-height:1.05!important;
    white-space:normal!important;
    text-align:center!important;
  }
}

@media (max-width: 620px) {
  /* Header en zoekbalk scrollen normaal mee; geen 'vastgeplakt' gevoel. */
  .topbar.v32-topbar {position:relative!important;top:auto!important;}
  .v32-top-search {position:static!important;top:auto!important;transform:none!important;}

  /* Inloggen: los van de ondernavigatie, compact en zelfstandig scrollbaar. */
  #auth-modal {
    align-items:center!important;
    justify-content:center!important;
    padding:calc(14px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    z-index:140!important;
  }
  #auth-modal .modal-box {
    width:100%!important;
    max-width:480px!important;
    max-height:calc(100dvh - 46px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    border-radius:24px!important;
    padding:26px 20px 22px!important;
    margin:auto!important;
  }
  #auth-modal .modal-box h2 {font-size:30px!important;margin-bottom:20px!important;}
  #auth-modal form {gap:14px!important;}
  #auth-modal input {min-height:50px!important;}
  body:has(#auth-modal:not(.hidden)) .bottom-nav,
  body:has(#auth-modal:not(.hidden)) .feedback-v22-btn {display:none!important;}
}

/* V38.6 — mobiele zoekbalk volledig los + rustig leeg berichtenscherm */
@media (max-width: 620px) {
  header.topbar,
  .topbar,
  .topbar.v32-topbar,
  .v32-topbar {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    translate: none !important;
    contain: none !important;
  }
  .v32-top-search,
  .topbar .v32-top-search,
  .v32-topbar .v32-top-search {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    transform: none !important;
    translate: none !important;
    z-index: auto !important;
  }
}

#chat-list > .empty.chat-empty-clean {
  min-height: 360px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  text-align: center !important;
}
.chat-empty-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eef5eb;
  color: #275b3b;
  margin-bottom: 4px;
}
.chat-empty-icon svg {width: 30px;height: 30px;display:block;}
#chat-list > .empty.chat-empty-clean h2 {margin: 4px 0 0 !important;color:#334f3d !important;}
#chat-list > .empty.chat-empty-clean p {margin: 0 auto 8px !important;max-width: 420px !important;text-align:center !important;}
#chat-list > .empty.chat-empty-clean .primary {margin-top: 4px !important;min-width: 160px;}

/* V38.6 revisie — aantrekkelijkere knop 'Mijn profiel' op mobiel */
@media (max-width: 620px) {
  .v32-topbar .profile-btn {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-height:42px!important;
    padding:8px 12px!important;
    border:1px solid rgba(43,103,62,.16)!important;
    border-radius:999px!important;
    background:#f1f7ef!important;
    color:#245f3b!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1!important;
    box-shadow:0 3px 10px rgba(36,87,51,.06)!important;
    white-space:nowrap!important;
  }
  .v32-topbar .profile-btn::before {
    content:"";
    width:18px;
    height:18px;
    flex:0 0 18px;
    background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .v32-topbar .profile-btn:active {transform:scale(.98)!important;}
}

/* V38.6 definitief — desktop hoofdnavigatie gelijkmatig uitgelijnd */
@media (min-width: 901px) {
  .v32-topbar {
    gap: 22px !important;
  }
  .v32-top-links {
    gap: 22px !important;
  }
  .v32-top-links button,
  .v32-topbar .profile-btn,
  .v32-topbar .library-top-link {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* V38.7 — beta-testfase: consistente desktopnavigatie + testintroductie */
@media (min-width: 901px) {
  .v32-topbar{display:grid!important;grid-template-columns:auto minmax(180px,1fr) repeat(4,max-content)!important;column-gap:38px!important;align-items:center!important;}
  .v32-top-links{display:contents!important;}
  .v32-top-links button,.v32-topbar .profile-btn,.v32-topbar .library-top-link{margin:0!important;justify-self:center!important;}
}
.beta-welcome-box{max-width:620px!important;text-align:left}.beta-welcome-box h2{margin-bottom:8px}.beta-welcome-list{display:grid;gap:9px;margin:18px 0;padding:0;list-style:none}.beta-welcome-list li{display:flex;gap:11px;align-items:flex-start;padding:10px 12px;background:#f5f8f2;border-radius:13px}.beta-welcome-list b{color:#176739}.beta-welcome-actions{display:flex;gap:10px;flex-wrap:wrap}.beta-welcome-actions .primary{flex:1}.test-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#fff4cc;color:#705600;font-size:11px;font-weight:800;margin-left:7px;vertical-align:middle}
.admin-test-seed{margin-top:10px!important;background:#eef7ec!important;color:#176739!important;border:1px solid #cfe1cd!important}
@media(max-width:620px){.beta-welcome-box{max-height:calc(100dvh - 120px)!important;overflow:auto!important;margin:auto 14px!important}.beta-welcome-actions{flex-direction:column}}


/* V38.8 — gratis groei: delen na plaatsen */
.share-success-card{margin:20px auto 18px;max-width:680px;padding:18px;border:1px solid #dce9d8;border-radius:18px;background:#f7faf5;text-align:left}
.share-success-card>strong{display:block;color:#244f35;font-size:18px;margin-bottom:4px}
.share-success-card>span{display:block;color:#69786e;font-size:14px;line-height:1.45}
.share-success-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.share-channel{min-height:44px;border:1px solid #cadcc7;border-radius:12px;background:#fff;color:#285d3b;font-weight:800;cursor:pointer;padding:10px 12px}
.share-channel:hover{background:#eef6eb}.share-channel:active{transform:translateY(1px)}
.share-channel.whatsapp{background:#edf8ef}.share-channel.facebook{background:#f2f5fb}.share-channel.copy{background:#fffaf0}
@media(max-width:620px){.share-success-card{padding:15px;margin-top:16px}.share-success-actions{grid-template-columns:1fr 1fr}.share-channel{min-height:46px}}
