/* DARKO v13.8: listing and private contact controls. Original style.css is NOT replaced. */
[hidden]{display:none!important}
.listing-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.listing-actions button,.listing-status button{min-height:44px;border:1px solid #c9dfcf;border-radius:12px;background:#e8f4eb;color:#174d38;padding:10px 14px;font:inherit;font-weight:750;cursor:pointer}
.listing-actions .listing-delete{background:#fff;color:#67423e;border-color:#dbc8c5}
.listing-actions button:focus-visible,.listing-status button:focus-visible{outline:3px solid #187552;outline-offset:3px}
.listing-actions button:disabled,.form-actions button:disabled{opacity:.6;cursor:wait}
.job-card .card-bottom{flex-wrap:wrap;gap:14px}
.job-card .listing-actions{flex-basis:100%}
.job-card h3,.worker-card h3,#detailTitle{overflow-wrap:anywhere}
.worker-card .listing-actions{margin-top:20px;justify-content:flex-start}
.worker-card .card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.listing-status,.listing-info{padding:14px 16px;border-radius:12px;background:#edf5ef;color:#244c39;line-height:1.6}
.listing-status.is-error{border:1px solid #d7b6af;background:#fff8f6;color:#683c34}
#entryError:focus{outline:2px solid currentColor}
#entryForm textarea{min-height:112px;resize:vertical}
#listingDetail,#modal{width:min(680px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;box-sizing:border-box}
#listingDetail .detail-price{font-size:28px;font-weight:800}
#listingDetail .detail-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:22px 0}
#listingDetail #detailActions{margin-bottom:20px}
#modal .form-actions{flex-wrap:wrap}
#modal .form-actions button{min-height:46px}
@media(max-width:600px){.listing-actions{justify-content:flex-start}.listing-actions button{font-size:16px}#listingDetail,#modal{padding:22px 18px}#modal .form-grid{grid-template-columns:minmax(0,1fr)}#modal .form-grid .wide{grid-column:auto}.listing-info,.listing-status{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}dialog,dialog::backdrop{animation:none!important;transition:none!important}}

/* Per-listing opt-in: never publish registration contacts without explicit selection. */
.contact-options{border:1px solid #c9dfcf;background:#f3f8f4;border-radius:14px;padding:16px;grid-column:1/-1;min-width:0}
.contact-options legend{color:#174d38;font-size:1.1rem;font-weight:800;padding:0 6px}
.contact-options p{margin:6px 0 12px;color:#365a4a;font-size:.95rem;line-height:1.65}
.contact-option{display:flex;align-items:center;gap:12px;padding:10px 7px;min-height:42px;cursor:pointer;font-weight:650;color:#153f33}
.contact-option input{appearance:auto;accent-color:#187552;width:20px;height:20px;flex:0 0 20px}
.contact-option span{line-height:1.4}
.contact-option:focus-within{outline:2px solid #187552;border-radius:8px;outline-offset:2px}
.contact-panel{margin:18px 0 24px}
.contact-panel .listing-info{margin:0 0 12px}
.contact-links{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 17px;background:#e6f3e9;border:1px solid #b8d9c2;border-radius:12px;color:#14523d;font:inherit;font-weight:800;text-decoration:none}
.contact-link:hover{background:#d5eadd;color:#0e402f}
.contact-link:focus-visible,#contactReveal:focus-visible{outline:3px solid #187552;outline-offset:3px}
#contactReveal{min-height:44px}
@media(max-width:600px){.contact-options{padding:13px}.contact-link{flex:1 1 125px}.contact-option{font-size:16px}}
