:root{--cream:#F5F1EA;--paper:#FFFDF9;--ink:#221F2E;--muted:#5E5852;--clay:#A84520;--indigo:#3D3B8E;--line:#DAD2C1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Lora,Georgia,serif}button,input,select,.eyebrow,.preview,.small,.tabs,.notice,footer,.badge{font-family:'DM Sans',sans-serif}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,.button{border:0;border-radius:10px;padding:12px 20px;background:var(--clay);color:white;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}button:hover,.button:hover{filter:brightness(.92)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--indigo);outline-offset:4px}.preview{text-align:center;background:var(--indigo);color:white;padding:8px;font-size:11px;letter-spacing:.08em}header{max-width:1240px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font:600 28px 'Playfair Display',Georgia,serif;color:var(--ink);text-decoration:none}.brand span{display:block;font:11px 'DM Sans',sans-serif;letter-spacing:.18em;margin-top:4px}#basket{background:var(--ink)}#count{margin-left:12px}main{max-width:1240px;padding:0 32px;margin:auto}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;padding:64px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--clay);margin:0 0 16px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.12;margin:0}h1{font-size:clamp(36px,4.6vw,60px);letter-spacing:-.03em}h2{font-size:36px}h3{font-size:22px}.hero p:not(.eyebrow){max-width:540px}.hero .button{margin-top:12px}.small{font-size:13px;color:var(--muted)}.hero-art{background:#e6dfce;border-radius:120px 120px 16px 16px;padding:28px 48px 16px;transform:rotate(2deg);text-align:center}.hero-art img{width:100%;aspect-ratio:1;object-fit:contain;box-shadow:0 12px 28px #221f2e22;transform:rotate(-4deg)}.hero-art span{font:11px 'DM Sans',sans-serif;letter-spacing:.18em;display:block;margin-top:16px}.promise{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-around;gap:16px;padding:20px 0;font:14px 'DM Sans',sans-serif}#browse{padding:64px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px}.section-heading>p{font:13px 'DM Sans',sans-serif;color:var(--muted)}.tabs{display:flex;gap:8px;margin:28px 0 24px;flex-wrap:wrap}.tabs button{background:transparent;color:var(--ink);border:1px solid var(--line)}.tabs .selected{background:var(--indigo);color:white;border-color:var(--indigo)}.filters{display:flex;gap:16px;align-items:end}.filters label{display:flex;flex-direction:column;gap:8px;font:13px 'DM Sans',sans-serif;flex:1}.filters label:first-child{flex:2}input,select{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:14px;min-height:44px}.quiet{background:transparent;color:var(--ink);border:1px solid var(--line)}.notice{font-size:13px;color:var(--muted);margin:20px 0 28px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}.grid .card-info{padding:20px}.grid .card h3{font-size:20px}.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.image-link{display:block;background:#e8e1d5;padding:0;border-radius:0;position:relative}.image-link img{width:100%;aspect-ratio:1;object-fit:contain;display:block}.card-info{padding:24px;display:flex;flex:1;flex-direction:column}.badge{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--clay);margin:0 0 12px}.title-link{border:0;background:none;color:var(--ink);padding:0;text-align:left;font:inherit}.card h3{font-size:22px}.card-summary{font-size:14px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-bottom{margin-top:auto;padding-top:16px;display:flex;justify-content:space-between;gap:12px;align-items:center;font:600 18px 'DM Sans',sans-serif}.card-bottom small{display:block;font-size:11px;font-weight:400;color:var(--muted)}.ending{border-top:1px solid var(--line);text-align:center;padding:48px 16px 64px}.ending p{max-width:700px;margin:16px auto}footer{border-top:1px solid var(--line);padding:24px 32px;font-size:13px;display:flex;justify-content:space-between;gap:16px}dialog{border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);width:min(1080px,94vw);max-height:90vh;padding:48px}dialog::backdrop{background:#221f2e99}.close{position:sticky;top:0;float:right;z-index:2;background:var(--ink);padding:8px 16px}.product{display:grid;grid-template-columns:1fr 1fr;gap:32px;clear:both}.product-main{width:100%;aspect-ratio:1;object-fit:contain;background:var(--cream)}.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.thumbs button{padding:0;background:transparent;border:1px solid var(--line);width:64px}.thumbs img{width:100%;display:block}.description{white-space:pre-wrap;font-size:14px;line-height:1.8}.files{font:13px/1.8 'DM Sans',sans-serif;overflow-wrap:anywhere;padding-left:20px}.price{font:600 28px 'DM Sans',sans-serif;margin:20px 0 4px}.basket-row{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:20px 0}.basket-row img{width:64px}.basket-row h3{font-size:18px}.basket-row button{padding:8px 12px}.checkout{padding:24px;background:var(--cream);border-radius:12px;margin-top:24px}.checkout label{display:block;margin:16px 0}.checkout input[type=checkbox]{width:auto;min-height:auto;margin-right:8px}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:10;background:white}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:12px;font:14px 'DM Sans',sans-serif;padding:12px 24px;display:none;z-index:10}.empty{grid-column:1/-1;padding:48px;text-align:center;border:1px dashed var(--line)}.image-link video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .25s ease;pointer-events:none}.image-link.playing video{opacity:1}.video-hint{position:absolute;right:12px;top:12px;z-index:2;background:#221f2ecc;color:#fff;font:600 11px 'DM Sans',sans-serif;letter-spacing:.06em;padding:4px 10px;border-radius:999px;transition:opacity .2s;pointer-events:none}.image-link.playing .video-hint{opacity:0}@media (hover:none),(pointer:coarse){.video-hint{display:none}}@media (prefers-reduced-motion:reduce){.image-link video{transition:none}.video-hint{display:none}}.card-pills{position:absolute;bottom:10px;left:10px;right:10px;z-index:2;display:flex;flex-wrap:wrap;gap:8px;pointer-events:none}.card-pill{--pill-bg:#FFFDF9;--pill-fg:#221F2E;display:inline-flex;align-items:center;gap:4px;font:700 10.5px/1.3 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:var(--pill-bg);color:var(--pill-fg);padding:4px 12px;border-radius:100px;box-shadow:0 1px 3px #221f2e26}.card-pill--new{--pill-bg:#FFD60A;--pill-fg:#000}.card-pill--offer{--pill-bg:#221F2E;--pill-fg:#FFFDF9}.card-pill--free{--pill-bg:#2F7D5C;--pill-fg:#fff}.card-pill--football{--pill-bg:#DDF2CC;--pill-fg:#244D24}.card-pill--bundle{--pill-bg:#3D3B8E;--pill-fg:#fff}.card-pill--architecture{--pill-bg:#2C4A63;--pill-fg:#fff}.card-pill--soon{--pill-bg:#5A6472;--pill-fg:#fff}.card-pill--family{--pill-bg:linear-gradient(90deg,#FF7A9A 0%,#FFB020 35%,#7ED957 68%,#5CC8F5 100%);--pill-fg:#000}.card-pill--custom{--pill-bg:#FF8A00;--pill-fg:#000}.card-pill--season-spring{--pill-bg:#DDEFE2;--pill-fg:#1E5A44}.card-pill--season-summer{--pill-bg:#FBEBC2;--pill-fg:#6B4A00}.card-pill--season-autumn{--pill-bg:#F6DCC6;--pill-fg:#7A3E14}.card-pill--season-winter{--pill-bg:#DCE8F5;--pill-fg:#23486E}.was{color:var(--muted);font-weight:500;margin-right:6px;text-decoration:line-through}.code{font-family:'DM Sans',sans-serif;letter-spacing:.06em;color:var(--clay)}.card-bottom small .code{font-weight:700}.code-offer{font:600 14px 'DM Sans',sans-serif;margin:0 0 8px;padding:8px 12px;border:1px dashed var(--clay);border-radius:8px;display:inline-block}.code-box{margin:24px 0 8px}.code-box label{display:block;font:600 13px 'DM Sans',sans-serif;margin-bottom:8px}.code-box div{display:flex;gap:8px;flex-wrap:wrap}.code-box input{flex:1;min-width:160px;text-transform:uppercase;letter-spacing:.06em}.code-box button{min-height:44px}.spotlight{--f-t:#EBCF7A;--f-r:#B98F2D;--f-b:#8A6716;--f-l:#D4AE48;--f-edge:#5A4410;--f-line:#C9A23B;--f-lip:#F2DFA1;--f-in:#8A6716;position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:center;padding:24px;background:var(--paper);border-radius:2px;border:13px solid;border-color:var(--f-t) var(--f-r) var(--f-b) var(--f-l);box-shadow:0 0 0 1px var(--f-edge),0 0 0 4px var(--f-line),0 0 0 5px var(--f-edge),0 16px 30px -14px rgba(34,31,46,.5);overflow:hidden}.spotlight[hidden]{display:none}.spotlight::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 0 1px var(--f-edge),inset 0 0 0 4px var(--f-lip),inset 0 0 0 5px var(--f-in),inset 0 2px 10px 4px rgba(34,31,46,.12)}.spotlight[data-frame=halloween]{--f-t:#5F5966;--f-r:#302B36;--f-b:#17141B;--f-l:#48424F;--f-edge:#0D0B10;--f-line:#E0791B;--f-lip:#F2A65A;--f-in:#7A3A08;background:linear-gradient(155deg,#FFF4E6,#FBE3C8)}.spotlight[data-frame=christmas]{--f-t:#C9504A;--f-r:#8E1F1B;--f-b:#5E100E;--f-l:#A8302B;--f-edge:#3B0A08;--f-line:#D9B24C;--f-lip:#F2DFA1;--f-in:#8A6716;background:linear-gradient(155deg,#EEF6EE,#DCEBDD)}.spotlight[data-frame=valentine]{--f-t:#F3C6C0;--f-r:#C98A84;--f-b:#9C5E5B;--f-l:#E0A9A3;--f-edge:#5E2F2E;--f-line:#D99A94;--f-lip:#FBE3DF;--f-in:#9C5E5B;background:linear-gradient(155deg,#FFF1F2,#FBE0E3)}.spotlight[data-frame=music]{--f-t:#4C4C55;--f-r:#27272D;--f-b:#111114;--f-l:#3A3A42;--f-edge:#000;--f-line:#B9BCC6;--f-lip:#E6E8EE;--f-in:#6B6E78;background:linear-gradient(155deg,#F6F6F9,#E9E9EF)}.spotlight[data-frame=newyear]{--f-t:#3B4470;--f-r:#1E2547;--f-b:#0E1330;--f-l:#2C3560;--f-edge:#060818;--f-line:#E3C25A;--f-lip:#F6E7A8;--f-in:#8A6716;background:linear-gradient(155deg,#F3F4FB,#E3E6F4)}.spotlight[data-frame=spring]{--f-t:#C3DBBC;--f-r:#7FA579;--f-b:#55794F;--f-l:#A3C29B;--f-edge:#2F4A2B;--f-line:#8DB086;--f-lip:#E3F0DE;--f-in:#55794F}.spotlight[data-frame=autumn]{--f-t:#DDA064;--f-r:#A5622A;--f-b:#6F3D14;--f-l:#C07F42;--f-edge:#3F2209;--f-line:#B8732F;--f-lip:#F1C99A;--f-in:#6F3D14}.spotlight[data-frame=winter]{--f-t:#DFE5EE;--f-r:#9AA7B8;--f-b:#68758A;--f-l:#BFC9D6;--f-edge:#364252;--f-line:#A9B5C6;--f-lip:#F1F5FA;--f-in:#68758A}.spotlight.has-overlay{padding-bottom:72px}.spot-overlay{position:absolute;left:0;right:0;bottom:0;z-index:1;pointer-events:none}.spot-overlay img{display:block;width:100%;height:auto}.spot-cover{position:relative;z-index:2;display:block;border-radius:10px;overflow:hidden;box-shadow:0 10px 24px #221f2e33}.spot-cover img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.spot-text{position:relative;z-index:2;display:grid;gap:8px;justify-items:start;min-width:0}.spot-text .eyebrow{margin:0}.spot-text h3{font-size:clamp(22px,2.4vw,28px);line-height:1.15}.spot-hook{margin:0;font-style:italic;font-size:16px;line-height:1.55}.spot-price{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px;font-family:'DM Sans',sans-serif}.spot-price strong{font-size:28px;font-weight:700;color:var(--clay)}.spot-was{font-size:14px;font-weight:500;color:var(--muted);margin-left:8px}.spot-code{display:inline-flex;gap:6px;align-items:center;padding:6px 12px;border:1.5px dashed var(--clay);border-radius:8px;background:#fff8f0;color:var(--clay);font-size:12px;font-weight:600}.spot-code b{letter-spacing:.06em;font-weight:800}.spot-code:hover{background:#fff;filter:none}.spot-cal{position:absolute;bottom:9px;left:9px;z-index:3;width:54px;border-radius:7px;background:#fff;box-shadow:0 3px 8px #221f2e40;text-align:center;font-family:'DM Sans',sans-serif}.spot-cal-m{display:block;padding:5px 0 3px;border-radius:7px 7px 0 0;background:var(--clay);color:#fff;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.spot-cal-d{display:block;padding:3px 0 6px;color:var(--ink);font:600 24px/1 'Playfair Display',Georgia,serif}@media(max-width:900px){.spotlight{grid-template-columns:1fr;max-width:460px;margin:auto}}@media(max-width:620px){.spotlight{border-width:9px;padding:16px}.spotlight.has-overlay{padding-bottom:30%}}@media(max-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.hero{gap:32px;padding:40px 0}h1{font-size:40px}.hero-art{padding:24px}.filters{flex-wrap:wrap}.filters label{min-width:40%}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product{grid-template-columns:1fr}dialog{padding:24px}footer{flex-direction:column}}@media(max-width:520px){header{padding:20px 16px}.brand{font-size:22px}main{padding:0 16px}.hero{grid-template-columns:1fr;gap:28px}.hero-art{width:80%;margin:auto}.promise{flex-direction:column;text-align:center;font-size:13px}.grid{grid-template-columns:1fr}.section-heading{display:block}h2{font-size:28px}.filters label,.filters label:first-child{min-width:100%}.tabs button{padding:12px 16px}.card-info{padding:20px}.basket-row{grid-template-columns:48px 1fr}.basket-row img{width:48px}.basket-row>div:last-child{grid-column:2}#browse{padding-top:40px}}

.theme-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;align-items:center}.theme-chips[hidden]{display:none}.chip{font:500 13px "DM Sans",sans-serif;min-height:44px;padding:8px 16px;border-radius:100px;border:1px solid var(--line);background:transparent;color:var(--muted);transition:all .16s}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip[aria-pressed="true"]{background:var(--ink);color:var(--cream);border-color:var(--ink)}

/* Calendar pills (22 Oct 2026): the occasion running today, and the dates under the Occasions chip. */
.card-pill--event{--pill-bg:#221F2E;--pill-fg:#FFD27A}
.card-pill--date{--pill-bg:#FFFDF9;--pill-fg:#7A3E14}

/* ===== MARKETPLACE LAYOUT (23 Oct 2026) =====================================================
   The familiar shape of a marketplace shop page - search-first header, department row, banner,
   shop identity card, item tabs, a sections sidebar with counts and a dense product grid -
   drawn entirely in Witty Wanderer's own palette (cream, ink, clay, indigo) and fonts
   (DM Sans for the interface, Playfair Display for names, Lora for prose). */
body.mk{background:#fff;font-family:'DM Sans',sans-serif}
.mk .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.mk-head{max-width:1400px;margin:auto;padding:16px 32px;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;border:0}
.mk .brand{font:700 26px 'Playfair Display',Georgia,serif;color:var(--clay);white-space:nowrap}
.mk-search{position:relative;display:block}
.mk-search input{border:2px solid var(--ink);border-radius:999px;padding:12px 56px 12px 20px;min-height:48px;background:#fff;font:15px 'DM Sans',sans-serif}
.mk-search-btn{position:absolute;right:4px;top:4px;width:40px;height:40px;border-radius:50%;background:var(--clay);color:#fff;display:grid;place-items:center;pointer-events:none}
.mk-basket{background:transparent;color:var(--ink);padding:8px;border-radius:999px;position:relative;display:flex;align-items:center}
.mk-basket:hover{background:var(--cream);filter:none}
.mk #count{position:absolute;top:0;right:-4px;margin:0;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--clay);color:#fff;font:700 11px/18px 'DM Sans',sans-serif;text-align:center}
.mk-nav{max-width:1400px;margin:auto;padding:0 32px 8px;display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line)}
.mk-nav button{background:transparent;color:var(--ink);font:500 14px 'DM Sans',sans-serif;padding:8px 12px;border-radius:999px;white-space:nowrap}
.mk-nav button:hover{background:var(--cream);filter:none}
.mk main{max-width:1400px;padding:0 32px}
.mk-banner{margin:0 -32px;overflow:hidden;max-height:300px}
.mk-banner img{display:block;width:100%;height:auto}
.mk-shop{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.mk-avatar{width:96px;height:96px;border-radius:12px;object-fit:cover;background:#fff;box-shadow:0 0 0 1px var(--line)}
.mk-id h1{font:700 30px 'Playfair Display',Georgia,serif;letter-spacing:0}
.mk-tag{margin:4px 0 8px;font:15px/1.5 Lora,Georgia,serif;color:var(--muted)}
.mk-meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;font-size:13px;color:var(--muted)}
.mk-meta b{color:var(--ink)}
.mk-ghost{display:inline-block;border:1px solid var(--ink);border-radius:999px;padding:10px 20px;color:var(--ink);text-decoration:none;font:600 14px 'DM Sans',sans-serif}
.mk-ghost:hover{background:var(--cream)}
.mk-feature{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:start;padding:32px 0;border-bottom:1px solid var(--line)}
.mk-announce{background:var(--cream);border-radius:12px;padding:24px;font:15px/1.6 Lora,Georgia,serif}
.mk-announce p{margin:0 0 12px}
.mk-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-top:8px}
.mk-tabs a{padding:16px 0 12px;color:var(--muted);text-decoration:none;font:600 15px 'DM Sans',sans-serif;border-bottom:3px solid transparent}
.mk-tabs a.on,.mk-tabs a:hover{color:var(--ink);border-color:var(--ink)}
.mk-browse{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;padding:32px 0 48px}
.mk-side{display:flex;flex-direction:column;gap:20px;position:sticky;top:16px;align-self:start}
.mk-sections{display:flex;flex-direction:column;gap:2px;margin:0}
.mk-sections button,.mk .theme-chips .chip{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:transparent;color:var(--ink);border:0;border-radius:8px;padding:8px 12px;font:500 14px 'DM Sans',sans-serif}
.mk-sections button:hover,.mk .theme-chips .chip:hover{background:var(--cream);filter:none}
.mk-sections .selected,.mk .theme-chips .chip[aria-pressed=true]{background:var(--cream);font-weight:700;box-shadow:inset 3px 0 0 var(--clay)}
.mk-sections .n{color:var(--muted);font-weight:400;font-size:13px}
.mk .theme-chips{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;border:0}
.mk .theme-chips[hidden]{display:none}
.mk-side-h{margin:0 0 4px 12px;font:700 12px 'DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.mk-loc{display:flex;flex-direction:column;gap:8px;margin-left:0}
.mk-loc select{text-transform:none;letter-spacing:0;font-weight:400}
.mk #reset{border-radius:999px;font-weight:600}
.mk-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.mk #results{margin:0;font:600 15px 'DM Sans',sans-serif}
.mk-sort{display:flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap}
.mk-sort select{width:auto;border-radius:999px;padding:8px 16px;min-height:40px}
/* product cards: picture first, quiet text below */
.mk .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 16px}
.mk .card{background:transparent;border:0;border-radius:0;overflow:visible}
.mk .image-link{border-radius:12px;overflow:hidden;background:var(--cream);transition:box-shadow .2s}
.mk .card:hover .image-link{box-shadow:0 8px 20px -8px #221f2e66}
.mk .image-link img{object-fit:cover}
.mk .card-info{padding:8px 2px 0;gap:2px}
.mk .card h3{font:400 14px/1.4 'DM Sans',sans-serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;order:1}
.mk .title-link{color:var(--ink);text-decoration:none}
.mk .badge{order:2;margin:2px 0 0;font-size:12px;letter-spacing:0;text-transform:none;color:var(--muted)}
.mk .card-summary{display:none}
.mk .card-bottom{order:3;padding-top:4px;font:700 16px 'DM Sans',sans-serif;align-items:flex-start}
.mk .card-bottom small{font-size:11px}
.mk .card-bottom button{padding:6px 12px;font-size:12px;border-radius:999px;background:var(--ink);opacity:0;transition:opacity .15s}
.mk .card:hover .card-bottom button,.mk .card:focus-within .card-bottom button{opacity:1}
@media (hover:none){.mk .card-bottom button{opacity:1}}
.mk .card-pills{top:auto;bottom:8px;left:8px;right:8px}
.mk-about{max-width:760px;padding:32px 0;border-top:1px solid var(--line);font:16px/1.7 Lora,Georgia,serif}
.mk-about h2{font:700 26px 'Playfair Display',Georgia,serif;margin-bottom:12px}
.mk .notice{margin:28px 0 0}
@media (max-width:1100px){.mk .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mk-feature{grid-template-columns:1fr}}
@media (max-width:820px){
  .mk-head{grid-template-columns:1fr auto;padding:12px 16px;gap:12px}.mk-search{grid-column:1/-1;grid-row:2}
  .mk-nav,.mk main{padding-left:16px;padding-right:16px}.mk-banner{margin:0 -16px}
  .mk-shop{grid-template-columns:auto 1fr}.mk-actions{grid-column:1/-1}.mk-avatar{width:72px;height:72px}
  .mk-browse{grid-template-columns:1fr;gap:16px}
  .mk-side{position:static;gap:12px}
  .mk-sections,.mk .theme-chips{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:4px}
  .mk-sections button,.mk .theme-chips .chip{width:auto;white-space:nowrap;border:1px solid var(--line);border-radius:999px;gap:6px}
  .mk-sections .selected,.mk .theme-chips .chip[aria-pressed=true]{box-shadow:none;border-color:var(--ink)}
  .mk .theme-chips .mk-side-h{display:none}
  .mk .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
}
.mk .mk-sections .selected{color:var(--ink);border-color:transparent}
.mk #basket{background:transparent;color:var(--ink)}
.mk #basket:hover{background:var(--cream)}
.mk-banner{max-height:none;background:#F6F1E8}   /* the shop's own banner (same as on Etsy) is shown whole */
/* About section: the 20-second explainer beside the story (23 Oct 2026) */
.mk-about-video{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:center}
.mk-video{margin:0}
.mk-video video{display:block;width:100%;height:auto;aspect-ratio:1520/936;border-radius:12px;background:var(--ink);object-fit:contain;box-shadow:0 12px 28px -14px #221f2e80}
.mk-video figcaption{margin-top:8px;font:13px 'DM Sans',sans-serif;color:var(--muted)}
@media (max-width:820px){.mk-about-video{grid-template-columns:1fr;gap:20px}}
/* Sales and codes (23 Oct 2026) */
.card-pill--sale{--pill-bg:#2F7D5C;--pill-fg:#fff}
.sale-note{color:#2F7D5C!important;font-weight:600}
.sale-tag{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:999px;background:#2F7D5C;color:#fff;font:700 13px 'DM Sans',sans-serif;vertical-align:middle}
.price .was{font-size:18px}
/* Admin: arrange listings (23 Oct 2026) - only shown when the preview server confirms an admin address */
#admin-arrange{position:fixed;left:16px;bottom:16px;z-index:20;background:var(--ink);border-radius:999px;padding:12px 18px;box-shadow:0 8px 20px -8px #221f2e99}
#admin-bar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 32px;background:#FFF3C4;border-bottom:2px solid #E3B93B;font-size:14px}
#admin-bar[hidden]{display:none}
#admin-bar button{margin-left:8px;border-radius:999px;padding:10px 18px}
#admin-save{background:#2F7D5C}
body.arranging .card{cursor:grab;position:relative;outline:2px dashed transparent;outline-offset:4px;border-radius:12px}
body.arranging .card:hover{outline-color:var(--line)}
body.arranging .card.dragging{opacity:.35}
body.arranging .card::before{content:attr(data-pos);position:absolute;top:-10px;left:-10px;z-index:5;min-width:28px;height:28px;border-radius:14px;background:var(--ink);color:#fff;font:700 13px/28px 'DM Sans',sans-serif;text-align:center;padding:0 6px}
body.arranging .card-bottom button{display:none}
body.arranging .mk-side{opacity:.4;pointer-events:none}
#admin-bar{position:fixed;left:0;right:0;top:0;z-index:80;max-height:50vh;overflow-y:auto}   /* above the sticky site menu */
body.arranging{padding-top:var(--admin-bar-height,0px)}
body.arranging #site-menu{top:var(--admin-bar-height,0px)}
body.arranging #browse{scroll-margin-top:calc(var(--admin-bar-height,0px) + 104px)}
/* Upcoming walk under the shop announcement (23 Oct 2026) */
.mk-col{display:flex;flex-direction:column;gap:20px}
.mk-upcoming{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;align-items:center;padding:16px;border:1px dashed var(--line);border-radius:12px;background:#fff}
.mk-upcoming img{width:140px;height:140px;object-fit:cover;border-radius:10px;filter:saturate(.85)}
.mk-upcoming .eyebrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px}
.mk-upcoming h3{font:700 19px/1.25 'Playfair Display',Georgia,serif}
.mk-up-hook{margin:6px 0 10px;font:italic 14px/1.5 Lora,Georgia,serif;color:var(--muted)}
.mk-up-actions{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:0}
.mk-up-btn{background:var(--ink);border-radius:999px;padding:8px 14px;font-size:13px}
.mk-up-link{font:600 13px 'DM Sans',sans-serif;color:var(--clay)}
@media (max-width:520px){.mk-upcoming{grid-template-columns:96px minmax(0,1fr);gap:14px}.mk-upcoming img{width:96px;height:96px}}
/* Admin button: an "Edit shop" pill on the banner (23 Oct 2026) - only rendered for admin addresses */
.mk-banner{position:relative}
#admin-arrange{position:absolute;left:32px;bottom:16px;top:auto;display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;background:#2B2730;color:#fff;font:700 15px 'DM Sans',sans-serif;box-shadow:0 6px 16px -6px #0008}
#admin-arrange:hover{background:#221F2E;filter:none}
@media (max-width:820px){#admin-arrange{left:16px;bottom:10px;padding:8px 14px;font-size:13px}}
/* Edit shop bar: section switcher (23 Oct 2026) */
#admin-bar .ab-l{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#admin-bar .ab-sec{display:inline-flex;gap:4px;background:#fff;border-radius:999px;padding:3px}
#admin-bar .ab-sec button{margin:0;padding:6px 14px;background:transparent;color:var(--ink);font-size:13px}
#admin-bar .ab-sec button[aria-pressed=true]{background:var(--ink);color:#fff}
#admin-bar .ab-hint{color:#5E5852}
#admin-reset:disabled{opacity:.4}
/* Featured items row (23 Oct 2026) */
.mk-featured{margin-bottom:32px}
.mk-featured h2,.mk-all-h{font:700 24px 'DM Sans',sans-serif;letter-spacing:-.01em;margin:0 0 16px}
.mk-featured[hidden],.mk-all-h[hidden]{display:none}
.mk #featured .card-bottom button{display:none}
.feat-toggle{display:none}
body.arranging .feat-toggle{display:block;position:absolute;right:8px;bottom:8px;z-index:6;padding:6px 12px;border-radius:999px;background:#fff;color:var(--ink);border:1px solid var(--line);font:700 12px 'DM Sans',sans-serif;box-shadow:0 2px 6px #221f2e33}
body.arranging .feat-toggle.on{background:#FFD60A;border-color:#E3B93B}
body.arranging .feat-toggle[data-state=auto]{background:#FFF4C2}
body.arranging .feat-toggle[data-state=hidden]{background:#eee;color:#666}
.feat-why{display:none}
body.arranging .feat-why{display:block;position:absolute;left:8px;top:8px;z-index:6;padding:4px 10px;border-radius:999px;background:#221F2E;color:#fff;font:700 11px 'DM Sans',sans-serif}
body.arranging #featured .card{cursor:default;outline:none}
body.arranging #featured .card::before{content:none}
.mk-avatar{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
/* Give the Halloween spotlight artwork a little more breathing room. */
.spotlight[data-frame="halloween"] .spot-cover{width:80%;justify-self:center}

#admin-bar .admin-manager{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font:600 14px "DM Sans",sans-serif;text-decoration:none;vertical-align:middle;margin-left:8px}
#admin-bar .admin-manager:hover{background:var(--cream)}

.walk-landing-button{margin:8px 0 0 8px;background:var(--ink);vertical-align:middle}
@media(max-width:520px){.walk-landing-button{display:block;width:fit-content;margin:12px 0 0}}

.product-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:10px}
.product-actions>button,.product-actions>.walk-landing-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;margin:0;border:0;font:600 14px/24px "DM Sans",sans-serif;vertical-align:middle}
.test-checkout{margin-top:20px;padding:18px;border:2px dashed #E3B93B;border-radius:14px;background:#FFFBEA}
.test-checkout h3{margin:4px 0 6px}.tc-badge{margin:0;font:700 12px 'DM Sans',sans-serif;letter-spacing:.06em;color:#7A4B00}
.test-checkout label{display:grid;gap:6px;font:600 14px 'DM Sans',sans-serif;margin:12px 0}.test-checkout input{font:15px 'DM Sans',sans-serif;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.tc-ok{margin-top:14px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}.tc-err{color:#A2271B;font-weight:600}
.tc-links{display:flex;gap:10px;flex-wrap:wrap}.tc-links .button{font-family:'DM Sans',sans-serif}.tc-links .quiet-link{background:var(--ink)}
/* Basket in the sticky website menu (23 Oct 2026): #site-menu (shell.css) is the bar that stays on top,
   so the basket lives there, to the right of "Shop on Etsy". The yellow Edit-shop bar sits above it. */
#site-menu .nav-cta{align-items:center}
#site-menu .mk-basket{width:46px;height:46px;justify-content:center;padding:0;flex:none;border:1px solid var(--line);background:#FFFDF9}
#site-menu .mk-basket:hover{background:#fff;border-color:var(--ink)}
@media(max-width:480px){#site-menu .mk-basket{width:40px;height:40px}}

/* Buy on Etsy (24 Oct 2026): Etsy orange with white text, as every etsy.com button on the site. */
.buy-etsy{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:10px;background:#F1641E;color:#fff;font:700 13px/16px 'DM Sans',sans-serif;text-decoration:none;white-space:nowrap}
.buy-etsy:hover,.buy-etsy:focus-visible{background:#D4550F;color:#fff}
.buy-etsy.button{min-height:52px;padding:14px 24px;font-size:14px;line-height:24px}
#basket[hidden]{display:none}
@media(max-width:700px){.mk .card-bottom{flex-wrap:wrap;gap:8px}.mk .card-bottom .buy-etsy{flex:1 1 100%}}
/* Phones (24 Oct 2026): listing thumbnails scroll sideways in one row, so the price and Buy on Etsy sit near the top instead of under three rows of images. */
@media(max-width:700px){.product{grid-template-columns:minmax(0,1fr)}.product>div{min-width:0}.thumbs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.thumbs button{flex:none;width:56px}}
#policies[hidden]{display:none}

/* Compact spotlight on phones (30 Oct 2026): cover thumbnail beside the text instead of a full-screen card. */
@media(max-width:620px){
.spotlight,.spotlight.has-overlay{grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;border-width:5px;padding:10px 10px 10px;max-width:none}
.spotlight .spot-cover,.spotlight[data-frame="halloween"] .spot-cover{width:100%;justify-self:stretch}
.spotlight .spot-cover img{display:block;width:100%;height:auto}
.spotlight .spot-text .eyebrow{margin:0 0 2px;font-size:10px;letter-spacing:.08em}
.spotlight h3{font-size:18px;line-height:1.15;margin:0 0 4px}
.spotlight .spot-hook{display:none}
.spotlight .spot-price{margin:0 0 6px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:20px}
.spotlight .spot-code{font-size:11px;padding:3px 7px}
.spotlight #spot-see{position:absolute;inset:0;z-index:5;padding:0;margin:0;font-size:0;opacity:0;border-radius:0}
.spotlight .spot-code{position:relative;z-index:6}
.spotlight.has-overlay{padding-bottom:calc(10px + 17vw)}
.spotlight .spot-text{padding-bottom:4px;position:static!important}
.spotlight .spot-cal{display:none}
}
