/* JICHO Marketplace (public/market.js): light content pages with giraffe-gold accents, a dark
   gallery that shows photos and videos whole (never cropped), and the posting form. */
.mk-page [hidden],dialog.mk-form [hidden]{display:none!important}
.mk-page,dialog.mk-form,dialog.mk-adjust{--mk-frame:#f1ebdf;--mk-amber:#8a5000;--mk-teal:#0b6b66}
.mk-page{--mk-ink:#1d1a16;--mk-soft:#6f6556;--mk-line:#e9dfcb;--mk-gold:#f3be2b;--mk-gold2:#d98a0b;--mk-bad:#b3261e;color:var(--mk-ink)}
.mk-page .mk-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px}
.mk-page h2{margin:0;font-size:24px}
.mk-btn,.mk-post{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 14px;border-radius:12px;border:1px solid #d9a441;background:#fff;color:#7a4a0e;font:inherit;font-size:14.5px;font-weight:700;cursor:pointer;text-decoration:none}
.mk-btn svg,.mk-post svg{width:18px;height:18px}
.mk-btn.gold,.mk-post{background:linear-gradient(180deg,var(--mk-gold,#f3be2b),var(--mk-gold2,#d98a0b));border-color:#d98a0b;color:#1a1206}
.mk-btn.danger{border-color:#e7b1ab;color:var(--mk-bad,#b3261e)}
.mk-btn:disabled{opacity:.6;cursor:default}
.mk-btn:focus-visible,.mk-post:focus-visible,.mk-card:focus-visible,.mk-cats button:focus-visible,.mk-subs button:focus-visible{outline:3px solid #1d4ed8;outline-offset:2px}
.mk-search{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.mk-search input{flex:1 1 180px;min-width:0;height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--mk-line);font:inherit;font-size:16px;background:#fff}
.mk-search select{height:44px;border-radius:12px;border:1px solid var(--mk-line);padding:0 8px;font:inherit;font-size:15px;background:#fff;max-width:46%}
.mk-search button{height:44px;padding:0 16px;border-radius:12px;border:0;background:#1d1a16;color:#fff;font:inherit;font-weight:700}
.mk-cats,.mk-subs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}
.mk-cats::-webkit-scrollbar,.mk-subs::-webkit-scrollbar{display:none}
.mk-cats button,.mk-subs button{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 12px;border-radius:999px;border:1px solid var(--mk-line);background:#fff;font:inherit;font-size:13.5px;font-weight:700;color:var(--mk-ink);cursor:pointer}
.mk-cats button[aria-selected=true],.mk-subs button[aria-pressed=true]{background:#1d1a16;color:#f3be2b;border-color:#1d1a16}
.mk-note{color:var(--mk-soft);font-size:14px;margin:8px 0}
.mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.mk-card{position:relative;display:grid;gap:2px;text-align:left;padding:0 0 10px;border-radius:14px;border:1px solid var(--mk-line);background:#fff;overflow:hidden;font:inherit;color:inherit;cursor:pointer}
.mk-card>span:not(.mk-sold){padding:0 10px}
.mk-thumb,.ml-thumb{position:relative;aspect-ratio:4/3;background:var(--mk-frame,#f1ebdf);overflow:hidden}
.mk-thumb video,.ml-thumb video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.mk-noimg{font-size:40px;background:#f3ead7}
.mk-vid{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:999px;background:#000a;color:#fff;font-size:11.5px;font-weight:700}
.mk-sold{position:absolute;top:8px;left:8px;padding:3px 9px;border-radius:999px;background:#b3261e;color:#fff;font-size:12px;font-weight:800}
.mk-price{font-weight:900;font-size:16px;margin-top:8px}
.mk-title{font-weight:700;font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mk-place,.mk-seller{font-size:12.5px;color:var(--mk-soft)}
.mk-more{display:block;margin:14px auto;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid #d9a441;background:#fff;font:inherit;font-weight:700}
.mk-empty{text-align:center;padding:30px 10px}

/* listing page */
.mk-detail{max-width:760px;margin:0 auto}
.mk-back{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 10px 0 4px;border:0;background:none;font:inherit;font-weight:700;color:#7a4a0e;cursor:pointer}
.mk-back svg{width:20px;height:20px}
.mk-gallery{display:flex;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;border-radius:16px;background:var(--mk-frame,#f1ebdf);scrollbar-width:none;transition:height .25s ease}
.mk-gallery::-webkit-scrollbar{display:none}
/* Each slide takes its photo's own proportions (set when the photo loads), up to 75 % of the screen
   height; the photo is placed whole inside it (public/market.js place()). */
.mk-slide{position:relative;flex:0 0 100%;scroll-snap-align:center;aspect-ratio:4/3;max-height:75vh;overflow:hidden}
.mk-slide>.mk-pic{position:absolute;inset:0}
video.mk-media{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.mk-count{text-align:center;font-size:12.5px;color:var(--mk-soft);margin:6px 0 0}
.mk-body{padding:12px 2px}
.mk-crumb{font-size:13px;color:var(--mk-soft);margin:0}
.mk-soldtxt{color:var(--mk-bad)}
.mk-h{font-size:22px;margin:4px 0}
.mk-pr{font-size:24px;font-weight:900;margin:0 0 4px}
.mk-where{font-size:13.5px;color:var(--mk-soft);margin:0 0 12px}
.mk-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:14px 0}
.mk-dl div{background:#fbf6ea;border:1px solid var(--mk-line);border-radius:12px;padding:8px 10px}
.mk-dl dt{font-size:12px;color:var(--mk-soft)}
.mk-dl dd{margin:2px 0 0;font-weight:700;font-size:14.5px}
.mk-sub{font-size:16px;margin:12px 0 4px}
.mk-desc{white-space:pre-wrap;line-height:1.5;margin:0}
.mk-sellerbox{display:flex;align-items:center;gap:10px;margin:16px 0;padding:10px;border:1px solid var(--mk-line);border-radius:14px;background:#fff}
.mk-sellerbox>span:nth-child(2){flex:1;display:grid}
.mk-sellerbox small{color:var(--mk-soft)}
.mk-ava{width:44px;height:44px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#1d1a16;color:#f3be2b;font-weight:900}
.mk-ava img{width:100%;height:100%;object-fit:cover}
.mk-safe{font-size:12.5px;color:var(--mk-soft);background:#fff8ea;border-radius:12px;padding:10px;line-height:1.45}
.mk-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

/* My Listings */
.ml-row{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:center;padding:10px;border:1px solid var(--mk-line);border-radius:14px;background:#fff;margin-bottom:10px}
.ml-thumb{border-radius:10px}
.ml-main{display:grid;gap:2px;min-width:0}
.ml-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ml-status{justify-self:start;font-size:12px;font-weight:800;padding:2px 8px;border-radius:999px;background:#e6f4ea;color:#1e6b34}
.ml-status.sold{background:#fde7e4;color:#9b1c13}
.ml-status.removed{background:#eee;color:#555}
.ml-acts{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.ml-acts .mk-btn{min-height:38px;font-size:13.5px}

/* dialogs */
dialog.mk-confirm{border:0;border-radius:18px;padding:18px;width:min(92vw,420px);box-sizing:border-box}
dialog.mk-confirm::backdrop,dialog.mk-form::backdrop{background:#050b14cc}
dialog.mk-confirm h3{margin:0 0 6px}
dialog.mk-confirm textarea{width:100%;box-sizing:border-box;border-radius:10px;border:1px solid #e9dfcb;padding:8px;font:inherit;font-size:16px;margin-top:4px}
.mk-row{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}

/* the posting form */
dialog.mk-form{--mk-ink:#1d1a16;--mk-soft:#5f5547;--mk-line:#e2d6bd;--mk-bad:#b3261e;border:0;padding:0;margin:auto;width:min(100vw,640px);max-width:100vw;height:min(100dvh,920px);max-height:100dvh;border-radius:18px;display:flex;flex-direction:column;background:#fbf8f1;color:var(--mk-ink);box-sizing:border-box}
dialog.mk-form:not([open]){display:none}
@media(max-width:640px){dialog.mk-form{width:100vw;height:100dvh;border-radius:0}}
.mkf-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:calc(6px + env(safe-area-inset-top)) 8px 6px;background:#0a1526;color:#fff}
.mkf-head h3{margin:0;text-align:center;font-size:17px;color:#fff}
.mk-icon{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:12px;background:none;color:#f3be2b;cursor:pointer}
.mk-icon svg{width:22px;height:22px}
.mkf-body{flex:1;overflow-y:auto;padding:14px 16px 24px;-webkit-overflow-scrolling:touch}
.mkf-foot{display:flex;gap:10px;justify-content:flex-end;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--mk-line);background:#fff}
.mkf-foot .mk-btn{flex:1;min-height:48px;font-size:15.5px}
.mk-lead{margin:0 0 12px;color:var(--mk-soft)}
.mkf-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.mkf-cats button{display:grid;justify-items:center;gap:4px;padding:12px 6px;min-height:84px;border-radius:14px;border:1px solid var(--mk-line);background:#fff;font:inherit;font-size:13.5px;cursor:pointer;color:var(--mk-ink)}
.mkf-cats button span{font-size:26px}
.mkf-cats button[aria-current=true]{border-color:#d98a0b;box-shadow:0 0 0 2px #f3be2b}
.mk-catline{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid var(--mk-line);margin-bottom:12px}
.mk-catline b{flex:1}
.mk-link{border:0;background:none;color:#7a4a0e;font:inherit;font-weight:800;text-decoration:underline;min-height:40px;cursor:pointer}
.mk-warn{background:#fff1d6;border-left:4px solid #d98a0b;padding:8px 10px;border-radius:8px;font-size:13.5px}
.mk-errsum{background:#fdecea;border:1px solid #f0b6b0;color:#7d1a12;padding:10px 12px;border-radius:12px;margin-bottom:12px;font-size:14px}
.mk-set{border:0;padding:0;margin:14px 0 0}
.mk-set legend{font-weight:900;font-size:15px;padding:0;margin-bottom:6px;color:#7a4a0e}
.mk-field{margin:0 0 14px}
.mk-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:800;font-size:15px}
.mk-req,.mk-opt{font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;border-radius:999px}
.mk-req{background:#ffe2d6;color:#8a2c0a}
.mk-opt{background:#ece6da;color:#5b5243}
.mk-hint{margin:2px 0 6px;font-size:13px;color:var(--mk-soft);line-height:1.35}
.mk-field input[type=text],.mk-field input[type=date],.mk-field select,.mk-field textarea{width:100%;box-sizing:border-box;min-height:48px;padding:10px 12px;border-radius:12px;border:1.5px solid var(--mk-line);background:#fff;color:var(--mk-ink);font:inherit;font-size:16px}
.mk-field textarea{resize:vertical;line-height:1.45}
.mk-field input:focus,.mk-field select:focus,.mk-field textarea:focus{outline:none;border-color:#d98a0b;box-shadow:0 0 0 3px #f3be2b55}
.mk-field.bad input[type=text],.mk-field.bad select,.mk-field.bad textarea,.mk-field.bad .mk-media-grid{border-color:var(--mk-bad);box-shadow:0 0 0 2px #b3261e22}
.mk-err{margin:4px 0 0;color:var(--mk-bad);font-size:13.5px;font-weight:700}
.mk-err:empty{display:none}
.mk-err:not(:empty)::before{content:"⚠ "}
.mk-in{position:relative;display:flex;align-items:stretch}
.mk-in input{flex:1;min-width:0}
.mk-in.has-unit input{border-top-right-radius:0;border-bottom-right-radius:0}
.mk-unit,.mk-pre{display:flex;align-items:center;padding:0 12px;border:1.5px solid var(--mk-line);background:#f3ead7;font-weight:800;font-size:14px;color:#5b4520;white-space:nowrap}
.mk-unit{border-left:0;border-radius:0 12px 12px 0}
.mk-pre{border-right:0;border-radius:12px 0 0 12px}
.mk-price-in input{border-radius:0!important}
.mk-price-in select{width:auto!important;min-width:120px;border-radius:0 12px 12px 0!important;border-left:0!important;background:#f3ead7!important;font-weight:700}
.mk-price-in input:last-child{border-radius:0 12px 12px 0!important}
.mk-len{display:block;text-align:right;font-size:12px;color:var(--mk-soft);margin-top:2px}
.mk-chips{display:flex;flex-wrap:wrap;gap:8px}
.mk-chip{display:inline-flex}
.mk-chip input{position:absolute;opacity:0;pointer-events:none}
.mk-chip span{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border-radius:999px;border:1.5px solid var(--mk-line);background:#fff;font-size:14px;font-weight:600;cursor:pointer}
.mk-chip input:checked+span{background:#1d1a16;color:#f3be2b;border-color:#1d1a16}
.mk-chip input:checked+span::before{content:"✓ "}
.mk-chip input:focus-visible+span{outline:3px solid #1d4ed8;outline-offset:2px}
.mk-check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px;cursor:pointer}
.mk-check input{width:22px;height:22px;accent-color:#d98a0b}
.mk-check.small{font-size:14px;margin-top:4px}
.mk-contact{margin:4px 0 0;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--mk-line);font-size:14px}
.mk-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;padding:2px;border-radius:14px;border:1.5px solid transparent}
.mk-tile,.mk-add{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--mk-frame,#f1ebdf)}
.mk-tile>.mk-pic{position:absolute;inset:0}
.mk-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.mk-tile.uploading img,.mk-tile.uploading video{opacity:.55}
.mk-tile.failed{outline:2px solid var(--mk-bad)}
.mk-tile .mk-vid{left:6px;bottom:6px}
.mk-cover{position:absolute;left:6px;top:6px;padding:2px 7px;border-radius:999px;background:#f3be2b;color:#1a1206;font-size:11px;font-weight:900}
.mk-mini{position:absolute;left:6px;top:6px;min-height:28px;padding:0 8px;border-radius:999px;border:1px solid #fff9;background:#000b;color:#fff;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.mk-mini.retry{top:auto;bottom:6px;left:50%;transform:translateX(-50%);background:var(--mk-bad)}
.mk-state{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:900;font-size:15px;text-shadow:0 1px 4px #000;pointer-events:none}
.mk-rm{position:absolute;right:4px;top:4px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:#000c;color:#fff;cursor:pointer}
.mk-rm svg{width:16px;height:16px}
.mk-add{display:grid;place-items:center;align-content:center;gap:2px;background:#fff;border:2px dashed #d9a441;color:#7a4a0e;cursor:pointer;text-align:center;padding:6px;box-sizing:border-box}
.mk-add span svg{width:26px;height:26px}
.mk-add b{font-size:12.5px;line-height:1.2}
.mk-add small{font-size:11.5px;color:var(--mk-soft)}
.mk-add:focus-within{outline:3px solid #1d4ed8;outline-offset:2px}
.mk-previewbox{border:1px solid var(--mk-line);border-radius:16px;padding:10px;background:#f6f2ea}
@media(prefers-reduced-motion:reduce){.mk-gallery{scroll-behavior:auto}}

/* A photo placed in its frame (public/market.js place()): until it is placed it shows whole. */
.mk-pic{position:relative;display:block;overflow:hidden;width:100%;height:100%}
.mk-thumb>.mk-pic,.ml-thumb>.mk-pic{position:absolute;inset:0}
.mk-pic>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none}
.mk-pic.placed>img{inset:auto;object-fit:fill}
/* Price in deep amber, "Negotiable" apart in deep teal; the name dark and bold; the rest soft. */
.mk-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.mk-price .mk-amount{color:var(--mk-amber);font-weight:900;font-size:16.5px}
.mk-neg{color:var(--mk-teal);font-weight:700;font-size:12.5px;letter-spacing:.01em}
.mk-pr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 4px}
.mk-pr .mk-amount{color:var(--mk-amber);font-size:24px;font-weight:900}
.mk-pr .mk-neg{font-size:15px}
.mk-title{color:#1d1a16;font-weight:800}
.mk-place,.mk-seller,.mk-where,.mk-crumb{color:#6b6253}
.mk-h{color:#1d1a16}
/* Adjust photo */
dialog.mk-adjust{width:min(94vw,460px);max-height:92dvh;overflow:auto}
.mk-adj-note{font-size:13.5px;color:#4d4538;margin:6px 0 8px;line-height:1.4}
.mk-adj-full{position:relative;width:100%;aspect-ratio:3/4;max-height:42vh;border-radius:12px;overflow:hidden;background:var(--mk-frame)}
.mk-adj-full>.mk-pic{position:absolute;inset:0}
.mk-adj-card{position:relative;width:min(100%,240px);aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--mk-frame);touch-action:none}
.mk-adj-card>.mk-pic{position:absolute;inset:0}
.mk-adj-card.drag{cursor:grab;outline:2px dashed #d98a0b;outline-offset:2px}
.mk-adj-hint{position:absolute;left:8px;bottom:8px;padding:3px 8px;border-radius:999px;background:#000a;color:#fff;font-size:11.5px;font-weight:700;pointer-events:none}
.mk-row.left{justify-content:flex-start;margin:4px 0 8px}
.mk-mini.adj{top:auto;bottom:6px;left:6px;background:#1d1a16e6}
dialog.mk-adjust .mk-label{margin:10px 0 4px}

.mk-bands{margin:6px 0 0;padding:8px 10px;border-radius:10px;background:#e8f3f2;color:#0b4f4b;font-size:13px;line-height:1.4}
.mk-tile .mk-mini{font-size:10.5px;padding:0 6px;min-height:26px}
.mk-tile .mk-rm{width:28px;height:28px}

.mk-restore{margin:8px 0 2px;min-height:38px;font-size:13.5px}
.mk-bands.owner{margin:10px 0}
