/* =====================================================================
   Modelein3D – Catalog, product, order, favorites, account (v3)
   All classes start with m3s- so they never clash with the home page.
   ===================================================================== */
:root{--m3s-soft:#E2E7E7;--m3s-tint:#FFE9DF;--m3s-ok:#1F8A4C;--m3s-shadow:0 22px 44px -28px rgba(20,23,26,.5)}
:root[data-theme="dark"]{--m3s-soft:#25292D;--m3s-tint:#3A2219;--m3s-ok:#4CC27F;--m3s-shadow:0 22px 44px -28px rgba(0,0,0,.95)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--m3s-soft:#25292D;--m3s-tint:#3A2219;--m3s-ok:#4CC27F;--m3s-shadow:0 22px 44px -28px rgba(0,0,0,.95)}}

.m3s{color:var(--ink);font-size:15px;line-height:1.5;padding-bottom:40px}
.m3s *{box-sizing:border-box}
.m3s h1,.m3s h2,.m3s h3{font-family:"Archivo",sans-serif;letter-spacing:-.015em;margin:0;color:var(--ink)}
.m3s p{margin:0}
.m3s a{color:inherit}
.m3s button{font:inherit;color:inherit}
.m3s-i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.m3s-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink,var(--accent))}
.m3s-muted{color:var(--ink-soft)}
.m3s-crumbs{font-size:13px;color:var(--ink-soft);padding:22px 0 0}
.m3s-crumbs a{text-decoration:none}
.m3s-crumbs b{color:var(--ink);font-weight:500}
.m3s-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:12px 20px;font-weight:600;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .15s,opacity .15s;font-size:15px}
.m3s-btn:hover{transform:translateY(-1px)}
.m3s-btn:disabled{opacity:.55;cursor:wait;transform:none}
.m3s-btn-solid{background:var(--accent);border-color:var(--accent);color:#fff!important}
.m3s-btn-ink{background:var(--ink);border-color:var(--ink);color:var(--paper)!important}
.m3s-btn-sm{padding:8px 14px;font-size:13.5px}
.m3s-btn-lg{padding:16px 26px;font-size:16px}
.m3s-btn-txt{border-color:transparent;color:var(--accent-ink,var(--accent))}
.m3s-w{width:100%}
.m3s-sec{margin:56px 0 0}
.m3s-sech{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px;gap:16px;flex-wrap:wrap}
.m3s-sech h2{font-size:clamp(26px,2.6vw,36px);font-weight:800;line-height:1.05;margin-top:6px}
.m3s-stars{color:#F5A400;letter-spacing:1px}
[hidden]{display:none!important}

/* ---------- header icons (all pages) ---------- */
.m3s-hicons{display:flex;align-items:center;gap:8px;flex-shrink:0}
.m3s-hi{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);display:grid;place-items:center;cursor:pointer;text-decoration:none;padding:0}
.m3s-hi .m3s-i{width:18px;height:18px}
.m3s-hi .m3s-n{position:absolute;top:-4px;right:-4px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:700;border-radius:99px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px;line-height:1}
.m3s-acct{display:flex;align-items:center;gap:8px;border:0;background:none;cursor:pointer;padding:0;text-align:left;color:var(--ink);text-decoration:none}
.m3s-acct-t{display:flex;flex-direction:column;line-height:1.15;max-width:120px}
.m3s-acct-t small{font-size:11px;color:var(--ink-soft);white-space:nowrap}
.m3s-acct-t b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1500px){.m3s-acct-t{display:none}}
@media (max-width:980px){.m3s-hicons{gap:6px;margin-left:auto}.m3s-hi{width:36px;height:36px}.m3s-hicons .m3s-hide-m{display:none}}

/* ---------- catalog: header ---------- */
.m3s-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;align-items:center;padding:24px 0 30px}
.m3s-hero h1{font-size:clamp(32px,4.4vw,46px);line-height:.98;font-weight:800;margin-top:12px}
.m3s-hero h1 em{font-style:normal;color:var(--accent)}
.m3s-hero .m3s-lead{color:var(--ink-soft);font-size:17.5px;max-width:560px;margin:16px 0 22px}
.m3s-search{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 6px 6px 22px;box-shadow:var(--m3s-shadow);max-width:620px}
.m3s-search:focus-within{border-color:var(--accent)}
.m3s-search input{flex:1;border:0;background:transparent;outline:0;font:inherit;font-size:16px;color:var(--ink);height:50px;min-width:0}
.m3s-trust{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:20px;font-size:14px;color:var(--ink-soft)}
.m3s-trust span{display:flex;gap:8px;align-items:center}
.m3s-trust .m3s-i{color:var(--accent)}
.m3s-collage{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:420px}
.m3s-collage div{border-radius:22px;overflow:hidden;position:relative;background:var(--m3s-soft)}
.m3s-collage div:first-child{grid-row:1/3}
.m3s-collage img{width:100%;height:100%;object-fit:cover;display:block}
.m3s-collage .m3s-tagp{position:absolute;left:12px;bottom:12px;background:var(--card);color:var(--ink);border-radius:12px;padding:8px 12px;font-size:13px;box-shadow:var(--m3s-shadow)}
.m3s-collage .m3s-tagp b{display:block;font-family:"Archivo",sans-serif;font-size:16px}
.m3s-intent{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:30px}
.m3s-intent button{display:flex;align-items:center;gap:14px;text-align:left;padding:12px;border-radius:20px;background:var(--card);border:2px solid var(--line);cursor:pointer;transition:border-color .2s,transform .2s}
.m3s-intent button:hover{transform:translateY(-2px)}
.m3s-intent button[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 16px 30px -22px rgba(255,67,0,.8)}
.m3s-intent img{width:74px;height:74px;border-radius:14px;object-fit:cover;flex-shrink:0}
.m3s-intent strong{display:block;font-family:"Archivo",sans-serif;font-size:18px;line-height:1.15}
.m3s-intent small{color:var(--ink-soft);font-size:13px;line-height:1.35;display:block;margin-top:3px}
.m3s-catrow{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.m3s-catrow::-webkit-scrollbar{display:none}
.m3s-cchip{flex-shrink:0;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:transparent;border-radius:999px;padding:6px 14px 6px 6px;font-weight:600;font-size:14px;cursor:pointer;color:var(--ink)}
.m3s-cchip img{width:30px;height:30px;border-radius:50%;object-fit:cover;background:var(--m3s-soft)}
.m3s-cchip .cn{color:var(--ink-faint);font-weight:500;font-size:12.5px}
.m3s-cchip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.m3s-cchip[aria-pressed="true"] .cn{color:var(--accent)}

/* ---------- catalog: filter bar ---------- */
.m3s-fbar{position:sticky;top:var(--m3s-sticky,72px);z-index:40;background:var(--paper);padding:12px 0;margin-top:12px;border-bottom:1px solid var(--line)}
.m3s-fbar .m3s-in{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.m3s-dd{position:relative}
.m3s-ddb{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:9px 14px;font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap;color:var(--ink)}
.m3s-ddb .m3s-c{background:var(--accent);color:#fff;border-radius:99px;font-size:11px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 5px}
.m3s-ddb.act{border-color:var(--ink)}
.m3s-ddp{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:250px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--m3s-shadow);z-index:5}
.m3s-dd.open .m3s-ddp{display:block}
.m3s-ck{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:10px;cursor:pointer;font-size:14px}
.m3s-ck:hover{background:var(--m3s-soft)}
.m3s-ck input{width:17px;height:17px;accent-color:var(--accent);margin:0}
.m3s-ck .m3s-n{margin-left:auto;color:var(--ink-faint);font-size:12.5px}
.m3s-sw{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px 6px 6px;font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap;flex-shrink:0;color:var(--ink)}
.m3s-sw i{width:34px;height:20px;border-radius:99px;background:var(--line);position:relative;flex-shrink:0}
.m3s-sw i:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s}
.m3s-sw[aria-pressed="true"]{border-color:var(--accent)}
.m3s-sw[aria-pressed="true"] i{background:var(--accent)}
.m3s-sw[aria-pressed="true"] i:after{left:17px}
.m3s-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.m3s-swatches button{border:1px solid var(--line);background:transparent;border-radius:12px;padding:8px 4px;font-size:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--ink)}
.m3s-swatches button i{width:24px;height:24px;border-radius:50%;border:1px solid var(--line)}
.m3s-swatches button[aria-pressed="true"]{border-color:var(--accent);background:var(--m3s-tint)}
.m3s-range input{width:100%;accent-color:var(--accent)}
.m3s-range .m3s-rv{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft)}
.m3s-fbar .m3s-sort{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-soft)}
.m3s-fbar select,.m3s select.m3s-sel{font:inherit;font-weight:700;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 14px}
.m3s-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:14px 0 4px}
.m3s-chips .m3s-cnt{font-size:14px;color:var(--ink-soft);margin-right:8px}
.m3s-chips .m3s-cnt b{color:var(--ink)}
.m3s-chip{display:inline-flex;align-items:center;gap:6px;background:var(--m3s-tint);color:var(--accent-ink,var(--accent));border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:700;border:0;cursor:pointer}
.m3s-clear{color:var(--ink-soft);font-weight:600;font-size:13px;background:none;border:0;cursor:pointer;text-decoration:underline}

/* ---------- cards ---------- */
.m3s-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:14px}
.m3s-card{display:flex;flex-direction:column;position:relative;text-decoration:none;color:var(--ink)}
.m3s-card .m3s-ph{position:relative;aspect-ratio:4/4.6;border-radius:22px;overflow:hidden;background:var(--m3s-soft);display:block}
.m3s-card .m3s-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .4s,transform .6s}
.m3s-card .m3s-ph img+img{opacity:0}
.m3s-card:hover .m3s-ph img+img{opacity:1}
.m3s-card:hover .m3s-ph img{transform:scale(1.03)}
.m3s-badges{position:absolute;top:12px;left:12px;display:flex;flex-wrap:wrap;gap:5px;z-index:2;right:56px}
.m3s-bd{font-size:11.5px;font-weight:700;border-radius:8px;padding:4px 8px;background:rgba(255,255,255,.95);color:#14171A}
.m3s-bd.or{background:#FF4300;color:#fff}.m3s-bd.gr{background:#1F8A4C;color:#fff}.m3s-bd.bl{background:#2E6EA6;color:#fff}
.m3s-fav{position:absolute;top:10px;right:10px;z-index:3;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.95);border:0;display:grid;place-items:center;color:#14171A;cursor:pointer;padding:0}
.m3s-fav.on .m3s-i{fill:#FF4300;color:#FF4300}
.m3s-quick{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;opacity:0;transform:translateY(8px);transition:.25s}
.m3s-card:hover .m3s-quick,.m3s-card:focus-within .m3s-quick{opacity:1;transform:none}
.m3s-quick .m3s-btn{width:100%;background:var(--card);color:var(--ink);border-color:transparent;box-shadow:var(--m3s-shadow)}
.m3s-card .m3s-info{padding:12px 4px 0;display:flex;flex-direction:column;gap:5px}
.m3s-card .m3s-row1{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft)}
.m3s-card .m3s-row1 .r{margin-left:auto;white-space:nowrap}
.m3s-card h3{font-size:17px;line-height:1.22;font-weight:700}
.m3s-card .m3s-row2{display:flex;align-items:center;gap:10px}
.m3s-pr{font-family:"Archivo",sans-serif;font-weight:800;font-size:19px;white-space:nowrap}
.m3s-pr small{font-family:"IBM Plex Sans",sans-serif;font-weight:500;font-size:12.5px;color:var(--ink-soft)}
.m3s-pr s{color:var(--ink-faint);font-size:14px;font-weight:600;margin-left:4px}
.m3s-dots{display:flex;gap:4px;margin-left:auto;align-items:center}
.m3s-dots i{width:14px;height:14px;border-radius:50%;border:1px solid var(--line)}
.m3s-dots span{font-size:12px;color:var(--ink-faint)}
.m3s-custom{grid-column:span 2;border-radius:22px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;min-height:100%}
.m3s-custom .t{padding:26px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.m3s-custom h3{font-size:28px;line-height:1.05;color:var(--paper)}
.m3s-custom p{opacity:.75;font-size:14.5px}
.m3s-custom img{width:100%;height:100%;object-fit:cover;display:block}
.m3s-custom ul{margin:0;padding:0;list-style:none;font-size:14px;display:grid;gap:4px}
.m3s-custom li:before{content:"✓ ";color:var(--accent);font-weight:700}
.m3s-custom .m3s-eyebrow{color:var(--accent)}
.m3s-more{display:flex;flex-direction:column;align-items:center;gap:10px;margin:30px 0}
.m3s-more small{color:var(--ink-soft)}
.m3s-prog{width:220px;height:4px;border-radius:9px;background:var(--line);overflow:hidden}
.m3s-prog i{display:block;height:100%;width:0;background:var(--ink);transition:width .3s}
.m3s-empty{text-align:center;padding:60px 20px;background:var(--card);border:1px dashed var(--line);border-radius:24px;display:flex;flex-direction:column;align-items:center;gap:10px;grid-column:1/-1}
.m3s-empty .ei{font-size:44px;color:var(--accent)}

/* ---------- catalog: lower sections ---------- */
.m3s-occ{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.m3s-occ a{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:1/1.12;display:block;text-decoration:none;color:#fff;background:var(--m3s-soft)}
.m3s-occ img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.m3s-occ a:hover img{transform:scale(1.05)}
.m3s-occ a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.78))}
.m3s-occ span{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;font-weight:700;font-size:16px;line-height:1.2}
.m3s-occ span small{display:block;font-weight:500;opacity:.8;font-size:12.5px}
.m3s-how{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.m3s-how>div{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px}
.m3s-how b{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--accent);color:#fff;font-family:"Archivo",sans-serif;font-size:18px;margin-bottom:12px}
.m3s-how h3{font-size:18px;margin-bottom:6px}
.m3s-how p{color:var(--ink-soft);font-size:14px}
.m3s-authors{display:grid;grid-template-columns:1fr 2fr;gap:20px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px;align-items:center}
.m3s-authors h2{font-size:30px;margin-top:6px}
.m3s-authors p{color:var(--ink-soft);margin:10px 0 16px}
.m3s-alist{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.m3s-au{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:12px;text-decoration:none}
.m3s-av{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden;background:#14171A}
.m3s-av img{width:100%;height:100%;object-fit:cover}
.m3s-au small{display:block;color:var(--ink-soft);font-size:12.5px}
.m3s-faq{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.m3s-faq details{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 18px}
.m3s-faq summary{font-weight:700;cursor:pointer}
.m3s-faq p{margin:8px 0 0;color:var(--ink-soft);font-size:14px}

/* ---------- product ---------- */
.m3s-pp{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;margin-top:18px;align-items:start}
.m3s-gal{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;position:sticky;top:calc(var(--m3s-sticky,72px) + 12px)}
.m3s-gal .m3s-th{display:flex;flex-direction:column;gap:8px;max-height:640px;overflow:auto;scrollbar-width:none}
.m3s-gal .m3s-th button{padding:0;border:2px solid transparent;border-radius:14px;overflow:hidden;cursor:pointer;background:none;flex-shrink:0}
.m3s-gal .m3s-th img{width:80px;height:80px;object-fit:cover;display:block}
.m3s-gal .m3s-th button.on{border-color:var(--accent)}
.m3s-stage{position:relative;aspect-ratio:1/1.05;border-radius:24px;overflow:hidden;background:var(--m3s-soft);touch-action:pan-y}
.m3s-stage>img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.m3s-nv{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:#fff;border:0;display:grid;place-items:center;box-shadow:0 8px 20px -10px rgba(0,0,0,.5);color:#14171A;cursor:pointer;z-index:2}
.m3s-nv.p{left:14px}.m3s-nv.n{right:14px}
.m3s-stage .m3s-cnt{position:absolute;left:14px;bottom:14px;background:rgba(20,23,26,.75);color:#fff;font-size:12px;font-weight:700;border-radius:8px;padding:4px 9px;z-index:2}
.m3s-v3btn{position:absolute;right:14px;bottom:14px;background:#fff;color:#14171A;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;border:0;display:flex;gap:6px;align-items:center;cursor:pointer;z-index:3}
.m3s-viewer{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,#3a4046,#15171A);display:none;z-index:2}
.m3s-viewer.on{display:block}
.m3s-viewer canvas{width:100%!important;height:100%!important;display:block;cursor:grab}
.m3s-viewer .m3s-vmsg{position:absolute;inset:0;display:grid;place-items:center;color:#cfd3d6;font-size:14px}
.m3s-persprev{position:absolute;left:50%;bottom:16%;transform:translateX(-50%);background:rgba(20,23,26,.82);color:#fff;font-family:"Archivo",sans-serif;font-weight:800;padding:6px 16px;border-radius:8px;letter-spacing:.06em;font-size:18px;display:none;z-index:2;max-width:80%;overflow:hidden;white-space:nowrap}
.m3s-persprev.on{display:block}
.m3s-tags{display:flex;gap:6px;flex-wrap:wrap}
.m3s-tags span,.m3s-tags a{font-size:12px;font-weight:700;border-radius:999px;padding:4px 10px;background:var(--m3s-tint);color:var(--accent-ink,var(--accent));text-decoration:none}
.m3s-tags .gr{background:rgba(31,138,76,.14);color:var(--m3s-ok)}
.m3s-pinfo h1{font-size:clamp(30px,3.1vw,44px);line-height:1.04;font-weight:800;margin:12px 0 10px}
.m3s-rate{display:flex;gap:14px;align-items:center;font-size:14px;color:var(--ink-soft);flex-wrap:wrap}
.m3s-price{display:flex;align-items:baseline;gap:12px;margin:18px 0 4px;flex-wrap:wrap}
.m3s-price b{font-family:"Archivo",sans-serif;font-size:40px;font-weight:800;line-height:1}
.m3s-price s{color:var(--ink-faint);font-size:18px}
.m3s-save{background:rgba(31,138,76,.14);color:var(--m3s-ok);font-weight:700;font-size:13px;border-radius:99px;padding:3px 10px}
.m3s-pnote{font-size:13.5px;color:var(--ink-soft)}
.m3s-opt{margin-top:20px}
.m3s-opt h4{margin:0 0 10px;font-size:14px;display:flex;justify-content:space-between;gap:10px;color:var(--ink)}
.m3s-opt h4 span{font-weight:500;color:var(--ink-soft)}
.m3s-seg{display:flex;flex-wrap:wrap;gap:8px}
.m3s-seg button{border:2px solid var(--line);background:var(--card);border-radius:14px;padding:10px 14px;font-weight:600;font-size:14px;cursor:pointer;text-align:left;line-height:1.25;color:var(--ink)}
.m3s-seg button small{display:block;font-weight:500;color:var(--ink-soft);font-size:12px}
.m3s-seg button[aria-pressed="true"]{border-color:var(--accent);background:var(--m3s-tint)}
.m3s-cols{display:flex;gap:10px;flex-wrap:wrap}
.m3s-cols button{width:40px;height:40px;border-radius:50%;border:2px solid var(--line);cursor:pointer;padding:0}
.m3s-cols button[aria-pressed="true"]{outline:3px solid var(--accent);outline-offset:2px}
.m3s-pers{border:2px dashed var(--line);border-radius:16px;padding:14px}
.m3s-pers input{width:100%;font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;padding:11px 12px;margin-top:8px}
.m3s-pers .m3s-hint{font-size:12.5px;color:var(--ink-soft);margin-top:6px}
.m3s-giftbox{border-radius:16px;background:var(--m3s-tint);padding:14px;margin-top:12px}
.m3s-giftbox .h{display:flex;align-items:center;gap:10px;font-weight:700}
.m3s-giftbox .h small{display:block;font-weight:500;color:var(--ink-soft);font-size:12.5px}
.m3s-giftbox .m3s-sw{margin-left:auto;padding:4px;border:0;background:transparent}
.m3s-giftbox .go{display:none;margin-top:10px;flex-direction:column;gap:6px}
.m3s-giftbox.on .go{display:flex}
.m3s-giftbox label{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}
.m3s-giftbox label b{margin-left:auto}
.m3s-giftbox input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;margin:0}
.m3s-giftbox textarea{font:inherit;font-size:13.5px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:9px;min-height:56px;resize:vertical;width:100%}
.m3s-acc-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.m3s-acc-it{display:flex;align-items:center;gap:10px;border:2px solid var(--line);background:var(--card);border-radius:14px;padding:8px;cursor:pointer;text-align:left;color:var(--ink);width:100%}
.m3s-acc-it img,.m3s-acc-it .m3s-ph0{width:48px;height:48px;border-radius:10px;object-fit:cover;flex-shrink:0;background:var(--m3s-soft)}
.m3s-acc-it div{flex:1;min-width:0;font-size:13.5px;line-height:1.25}
.m3s-acc-it small{display:block;color:var(--ink-soft);font-weight:700;margin-top:2px}
.m3s-acc-it .add{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-weight:700;flex-shrink:0}
.m3s-acc-it.on{border-color:var(--accent)}
.m3s-acc-it.on .add{background:var(--accent);border-color:var(--accent);color:#fff}
.m3s-buybar{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:20px}
.m3s-qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--card)}
.m3s-qty button{border:0;background:none;width:44px;height:50px;font-size:20px;cursor:pointer;color:var(--ink)}
.m3s-qty span{min-width:28px;text-align:center;font-weight:700}
.m3s-total{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:14px;color:var(--ink-soft)}
.m3s-total b{font-family:"Archivo",sans-serif;font-size:22px;color:var(--ink)}
.m3s-perks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.m3s-perks>div{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 12px;font-size:13px;color:var(--ink-soft)}
.m3s-perks b{color:var(--ink);display:block;font-size:13.5px}
.m3s-perks .m3s-i{color:var(--accent);margin-top:2px}
.m3s-author{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:13.5px;color:var(--ink-soft)}
.m3s-author .m3s-av{width:40px;height:40px;font-size:13px}
.m3s-author b{color:var(--ink)}
.m3s-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:44px 0 18px;overflow-x:auto;scrollbar-width:none}
.m3s-tabs button{border:0;background:none;padding:12px 0;font-weight:600;color:var(--ink-soft);cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px;font-size:15px}
.m3s-tabs button.on{color:var(--ink);border-color:var(--accent)}
.m3s-pane{display:none;max-width:900px}
.m3s-pane.on{display:block}
.m3s-rich>*:first-child{margin-top:0}.m3s-rich>*:last-child{margin-bottom:0}
.m3s-rich p,.m3s-rich ul,.m3s-rich ol{margin:0 0 .8em}
.m3s-rich ul,.m3s-rich ol{padding-left:1.3em}
.m3s-rich a{color:var(--accent-ink,var(--accent))}
.m3s-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.m3s-specs div{background:var(--card);padding:13px 15px}
.m3s-specs small{display:block;color:var(--ink-soft);font-size:12px}
.m3s-review{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:10px;font-size:14.5px}
.m3s-review .h{display:flex;gap:10px;align-items:center;margin-bottom:6px;flex-wrap:wrap}
.m3s-rform{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:12px}
.m3s-rstars{display:flex;gap:4px;margin:6px 0 10px}
.m3s-rstars button{border:0;background:none;font-size:26px;color:var(--line);cursor:pointer;padding:0;line-height:1}
.m3s-rstars button.on{color:#F5A400}
.m3s-bundle{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:20px}
.m3s-bundle .imgs{display:flex;align-items:center;gap:8px}
.m3s-bundle .imgs img{width:120px;height:120px;border-radius:16px;object-fit:cover}
.m3s-bundle .imgs span{font-size:24px;font-weight:800;color:var(--ink-faint)}
.m3s-bundle ul{margin:6px 0 12px;padding:0;list-style:none;font-size:14.5px}
.m3s-bundle li{padding:2px 0}
.m3s-bundle .tot{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.m3s-bundle .tot b{font-family:"Archivo",sans-serif;font-size:26px}
.m3s-bundle .tot s{color:var(--ink-faint)}

/* ---------- forms ---------- */
.m3s-f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.m3s-fld{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;min-width:0}
.m3s-fld label,.m3s-fld .lbl{font-size:13px;font-weight:600;color:var(--ink)}
.m3s-fld input,.m3s-fld select,.m3s-fld textarea{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;padding:11px 12px;width:100%;min-width:0}
.m3s-fld input:focus,.m3s-fld select:focus,.m3s-fld textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}
.m3s-fld .fr{float:right;font-weight:500;color:var(--accent-ink,var(--accent));font-size:12.5px}
.m3s-radios{display:grid;gap:8px}
.m3s-radios label{display:flex;gap:12px;align-items:center;border:2px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer}
.m3s-radios label:has(input:checked){border-color:var(--accent);background:var(--m3s-tint)}
.m3s-radios input{accent-color:var(--accent);width:18px;height:18px;margin:0}
.m3s-radios label div{flex:1}
.m3s-radios small{display:block;color:var(--ink-soft);font-size:12.5px}
.m3s-cpref{display:flex;gap:8px;flex-wrap:wrap}
.m3s-cpref button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 14px;font-weight:600;font-size:13.5px;cursor:pointer;color:var(--ink)}
.m3s-cpref button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.m3s-ck2{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;margin-bottom:10px;cursor:pointer}
.m3s-ck2 input{accent-color:var(--accent);margin:2px 0 0;width:16px;height:16px;flex-shrink:0}
.m3s-ck2 a{color:var(--accent-ink,var(--accent))}
.m3s-msg{border-radius:12px;padding:10px 14px;font-size:14px;margin:0 0 12px;background:rgba(255,67,0,.1);color:var(--accent-ink,var(--accent))}
.m3s-msg.ok{background:rgba(31,138,76,.12);color:var(--m3s-ok)}
.m3s-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* ---------- order page ---------- */
.m3s-ord{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px;margin-top:20px;align-items:start}
.m3s-steps{display:flex;gap:8px;margin:18px 0 22px;flex-wrap:wrap}
.m3s-steps span{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--ink-soft)}
.m3s-steps span i{width:26px;height:26px;border-radius:50%;background:var(--m3s-soft);display:grid;place-items:center;font-style:normal;font-size:12.5px}
.m3s-steps span.on{color:var(--ink)}.m3s-steps span.on i{background:var(--accent);color:#fff}
.m3s-steps span.done i{background:var(--m3s-ok);color:#fff}
.m3s-steps em{width:30px;height:2px;background:var(--line);align-self:center}
.m3s-box{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;margin-bottom:16px}
.m3s-box h3{font-size:20px;margin-bottom:14px}
.m3s-line{display:grid;grid-template-columns:88px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.m3s-line:last-child{border:0}
.m3s-line img,.m3s-line .m3s-ph0{width:88px;height:88px;border-radius:14px;object-fit:cover;background:var(--m3s-soft)}
.m3s-line small{display:block;color:var(--ink-soft);font-size:13px;line-height:1.4;white-space:pre-line}
.m3s-line .tag{display:inline-block;font-size:11.5px;font-weight:700;border-radius:6px;padding:2px 7px;background:var(--m3s-tint);color:var(--accent-ink,var(--accent));margin-top:4px}
.m3s-line .rt{text-align:right}
.m3s-line .rt b{font-family:"Archivo",sans-serif;font-size:18px;display:block}
.m3s-line .rt button,.m3s-line .rt a{font-size:12.5px;color:var(--ink-soft);background:none;border:0;cursor:pointer;text-decoration:underline;padding:0}
.m3s-line .q{display:inline-flex;align-items:center;gap:6px;margin-top:6px}
.m3s-line .q button{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:var(--paper);cursor:pointer;line-height:1;color:var(--ink)}
.m3s-sum{position:sticky;top:calc(var(--m3s-sticky,72px) + 12px)}
.m3s-sum .r{display:flex;justify-content:space-between;padding:6px 0;font-size:14.5px;color:var(--ink-soft)}
.m3s-sum .r b{color:var(--ink)}
.m3s-sum .t{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);margin-top:8px;padding-top:12px}
.m3s-sum .t b{font-family:"Archivo",sans-serif;font-size:30px}
.m3s-howpay{background:var(--m3s-soft);border-radius:14px;padding:12px 14px;font-size:13.5px;color:var(--ink-soft);margin-top:12px}
.m3s-howpay b{color:var(--ink)}
.m3s-upsell{display:flex;flex-direction:column;gap:8px}
.m3s-hint{background:var(--m3s-soft);border-radius:12px;padding:10px 14px;font-size:14px;margin-bottom:14px}
.m3s-hint a{font-weight:700;color:var(--accent-ink,var(--accent))}
.m3s-hint.ok{background:rgba(31,138,76,.12)}
.m3s-mkacc{display:flex;gap:12px;align-items:flex-start;border:2px dashed var(--line);border-radius:14px;padding:12px 14px;cursor:pointer;margin-top:4px}
.m3s-mkacc input{accent-color:var(--accent);width:18px;height:18px;margin:2px 0 0;flex-shrink:0}
.m3s-mkacc small{display:block;color:var(--ink-soft);font-size:12.5px}

/* ---------- favorites ---------- */
.m3s-pagehead{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:18px 0 18px;flex-wrap:wrap}
.m3s-h1{font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1.05}
.m3s-cntpill{font-size:.5em;vertical-align:middle;background:var(--accent);color:#fff;border-radius:99px;padding:3px 10px;font-family:"IBM Plex Sans",sans-serif}
.m3s-gbanner{display:flex;align-items:center;gap:14px;background:var(--m3s-tint);border-radius:18px;padding:14px 18px;margin-bottom:18px;font-size:14.5px}
.m3s-gbanner .gi{width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:18px;flex-shrink:0}
.m3s-gbanner div{flex:1}

/* ---------- account ---------- */
.m3s-acc{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;margin-top:18px;align-items:start}
.m3s-anav{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:10px;position:sticky;top:calc(var(--m3s-sticky,72px) + 12px)}
.m3s-anav .me{display:flex;gap:12px;align-items:center;padding:10px 10px 16px;border-bottom:1px solid var(--line);margin-bottom:8px}
.m3s-anav .me small{display:block;color:var(--ink-soft);font-size:12.5px;word-break:break-all}
.m3s-anav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;text-decoration:none;font-weight:500;color:var(--ink-soft);font-size:14.5px}
.m3s-anav a:hover{background:var(--m3s-soft)}
.m3s-anav a.on{background:var(--ink);color:var(--paper)}
.m3s-anav a .m3s-n{margin-left:auto;background:var(--accent);color:#fff;font-size:11.5px;border-radius:99px;padding:1px 8px}
.m3s-anav a.out{color:var(--accent-ink,var(--accent));margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 12px 12px}
.m3s-amain>.m3s-muted{margin:6px 0 18px}
.m3s-kp{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.m3s-kp .k{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;text-decoration:none;display:flex;flex-direction:column;gap:2px;color:var(--ink)}
.m3s-kp .k small{color:var(--ink-soft);font-size:13px}
.m3s-kp .k b{font-family:"Archivo",sans-serif;font-size:30px;font-weight:800}
.m3s-kp .k span{font-size:13px;color:var(--ink-soft)}
.m3s-kp .k.gift{background:var(--accent);color:#fff;border-color:var(--accent)}
.m3s-kp .k.gift small,.m3s-kp .k.gift span{color:#fff;opacity:.9}
.m3s-bh{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}
.m3s-bh h3{margin:0!important}
.m3s-lnk{font-weight:700;color:var(--accent-ink,var(--accent));text-decoration:none;font-size:14px}
.m3s-oimgs{display:flex}
.m3s-oimgs img,.m3s-oimgs .m3s-ph0{width:56px;height:56px;border-radius:12px;object-fit:cover;border:3px solid var(--card);background:var(--m3s-soft)}
.m3s-oimgs img+img{margin-left:-14px}
.m3s-ocard{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.m3s-ocard>div:nth-child(2){flex:1;min-width:180px}
.m3s-ocard small{display:block;color:var(--ink-soft);font-size:13.5px}
.m3s-stp{font-size:12.5px;font-weight:700;border-radius:99px;padding:4px 12px;white-space:nowrap;background:var(--m3s-soft);color:var(--ink-soft)}
.m3s-stp.big{font-size:14px;padding:7px 16px}
.m3s-stp.s-new{background:rgba(46,110,166,.14);color:var(--accent-2,#2E6EA6)}
.m3s-stp.s-confirmed{background:rgba(201,133,0,.16);color:#B07400}
.m3s-stp.s-printing{background:var(--m3s-tint);color:var(--accent-ink,var(--accent))}
.m3s-stp.s-ready{background:rgba(31,138,76,.14);color:var(--m3s-ok)}
.m3s-stp.s-cancelled{background:rgba(200,40,40,.12);color:#b03030}
.m3s-tl{display:grid;margin-top:18px}
.m3s-tl .st{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;font-size:12.5px;color:var(--ink-faint);position:relative}
.m3s-tl .st:before{content:"";position:absolute;top:13px;left:-50%;right:50%;height:3px;background:var(--line);z-index:0}
.m3s-tl .st:first-child:before{display:none}
.m3s-tl .st i{width:28px;height:28px;border-radius:50%;background:var(--m3s-soft);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:12px;z-index:1;border:3px solid var(--card)}
.m3s-tl .st.done{color:var(--ink)}.m3s-tl .st.done i{background:var(--m3s-ok);color:#fff}.m3s-tl .st.done:before{background:var(--m3s-ok)}
.m3s-tl .st.cur{color:var(--ink);font-weight:700}.m3s-tl .st.cur i{background:var(--accent);color:#fff;box-shadow:0 0 0 5px rgba(255,67,0,.18)}.m3s-tl .st.cur:before{background:var(--m3s-ok)}
.m3s-tl .st small{font-size:11.5px;font-weight:500;color:var(--ink-soft)}
.m3s-tl.big .st{font-size:14px}
.m3s-eta{margin-top:18px;background:var(--m3s-soft);border-radius:12px;padding:12px 14px;font-size:14.5px}
.m3s-segf{display:flex;gap:6px;margin:16px 0;flex-wrap:wrap}
.m3s-segf button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 14px;font-weight:600;font-size:14px;cursor:pointer;color:var(--ink)}
.m3s-segf button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.m3s-orow{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px 18px;margin-bottom:10px}
.m3s-orow b.num{font-family:"Archivo",sans-serif;font-size:17px}
.m3s-orow small{display:block;color:var(--ink-soft);font-size:13px}
.m3s-orow .tot{font-family:"Archivo",sans-serif;font-weight:800;font-size:18px;white-space:nowrap}
.m3s-orow .acts{display:flex;gap:6px}
.m3s-back{display:inline-block;margin-bottom:14px;font-weight:700;text-decoration:none;color:var(--ink-soft)}
.m3s-odh{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.m3s-odg{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
.m3s-shots{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.m3s-shots a{border-radius:14px;overflow:hidden;background:var(--m3s-soft);aspect-ratio:1/1;position:relative;display:block}
.m3s-shots img{width:100%;height:100%;object-fit:cover;display:block}
.m3s-shots a span{position:absolute;left:8px;bottom:8px;background:rgba(20,23,26,.8);color:#fff;font-size:12px;border-radius:8px;padding:4px 8px}
.m3s-shots .wait{display:grid;place-items:center;text-align:center;padding:16px;color:var(--ink-soft);font-size:13px;border:2px dashed var(--line);border-radius:14px;aspect-ratio:1/1}
.m3s-box.acts{display:flex;flex-direction:column;gap:8px}
.m3s-box.danger{border-color:rgba(255,67,0,.35)}
.m3s-g3{grid-template-columns:repeat(3,1fr)!important}
.m3s-addrs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.m3s-adr{background:var(--card);border:2px solid var(--line);border-radius:18px;padding:16px;position:relative;text-align:left;color:var(--ink)}
.m3s-adr.def{border-color:var(--accent)}
.m3s-adr p{margin:6px 0 10px;color:var(--ink-soft);font-size:14px}
.m3s-adr .acts{font-size:13.5px;display:flex;gap:10px;flex-wrap:wrap}
.m3s-adr .acts button{background:none;border:0;color:var(--accent-ink,var(--accent));font-weight:600;cursor:pointer;padding:0}
.m3s-adr .badge{position:absolute;top:12px;right:12px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;border-radius:99px;padding:2px 9px}
.m3s-adr.add{border-style:dashed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--ink-soft);cursor:pointer;font-size:26px;min-height:150px;font-family:inherit}
.m3s-adr.add b{font-size:14.5px;color:var(--ink)}
.m3s-nlist>div{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.m3s-nlist>div:last-child{border:0}
.m3s-nlist>div>div{flex:1;min-width:200px}
.m3s-nlist small{display:block;color:var(--ink-soft);font-size:13px}
.m3s-guest{max-width:520px;margin:30px auto;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:26px}

/* ---------- modals, drawer, toast ---------- */
.m3s-mbg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:185;display:none}
.m3s-mbg.on{display:block}
.m3s-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-46%);opacity:0;pointer-events:none;visibility:hidden;width:min(480px,calc(100% - 24px));max-height:calc(100vh - 40px);overflow:auto;background:var(--paper);color:var(--ink);border-radius:24px;padding:26px;z-index:186;transition:.25s;box-shadow:var(--m3s-shadow);font-size:15px;line-height:1.5}
.m3s-modal.on{opacity:1;pointer-events:auto;visibility:visible;transform:translate(-50%,-50%)}
.m3s-modal h2{font-family:"Archivo",sans-serif;margin:0;font-size:26px;line-height:1.15;padding-right:30px;color:var(--ink)}
.m3s-x{border:0;background:var(--card);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:18px;color:var(--ink);line-height:1}
.m3s-modal .m3s-x{position:absolute;top:14px;right:14px}
.m3s-mtabs{display:grid;grid-template-columns:1fr 1fr;background:var(--m3s-soft);border-radius:14px;padding:4px;margin:4px 40px 16px 0}
.m3s-mtabs button{border:0;background:transparent;border-radius:10px;padding:10px;font-weight:700;cursor:pointer;color:var(--ink-soft)}
.m3s-mtabs button.on{background:var(--card);color:var(--ink);box-shadow:0 2px 8px -4px rgba(0,0,0,.4)}
.m3s-mp{display:none}.m3s-mp.on{display:block}
.m3s-mp>.m3s-muted{margin:0 0 14px;font-size:14px}
.m3s-or{display:flex;align-items:center;gap:10px;color:var(--ink-faint);font-size:13px;margin:12px 0}
.m3s-or:before,.m3s-or:after{content:"";flex:1;height:1px;background:var(--line)}
.m3s-carry{margin-top:14px;background:var(--m3s-tint);border-radius:12px;padding:10px 14px;font-size:13.5px}
.m3s-tkic{width:64px;height:64px;border-radius:50%;background:var(--m3s-ok);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:800;margin-bottom:12px}
.m3s-tkacc{margin-top:18px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px}
.m3s-dbg{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:180;display:none}
.m3s-dbg.on{display:block}
.m3s-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--paper);color:var(--ink);z-index:181;transform:translateX(100%);transition:transform .3s;display:flex;flex-direction:column;font-size:15px;line-height:1.5;visibility:hidden}
.m3s-drawer.on{transform:none;visibility:visible}
.m3s-drawer .dh{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}
.m3s-drawer .dh b{font-size:17px;color:var(--m3s-ok)}
.m3s-drawer .db{padding:18px 20px;overflow:auto;flex:1}
.m3s-drawer h4{margin:20px 0 10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.m3s-drawer .df{padding:16px 20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.m3s-drawer .df .s{display:flex;justify-content:space-between;font-weight:700}
.m3s-drawer .m3s-line{grid-template-columns:64px 1fr auto}
.m3s-drawer .m3s-line img{width:64px;height:64px}
.m3s-drawer .m3s-grid{grid-template-columns:1fr 1fr;gap:12px;margin:0}
.m3s-drawer .m3s-card h3{font-size:14.5px}
.m3s-drawer .m3s-dots,.m3s-drawer .m3s-quick{display:none}
.m3s-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120%);background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:14px;font-size:14px;z-index:190;transition:transform .3s;box-shadow:var(--m3s-shadow);visibility:hidden;max-width:calc(100% - 24px)}
.m3s-toast.on{transform:translate(-50%,0);visibility:visible}
.m3s-toast a{color:var(--accent);font-weight:700}
.m3s-lb{position:fixed;inset:0;background:rgba(10,12,14,.92);z-index:195;display:none;align-items:center;justify-content:center}
.m3s-lb.on{display:flex}
.m3s-lb img{max-width:92vw;max-height:88vh;border-radius:12px}
.m3s-lb .m3s-x{position:absolute;top:16px;right:16px}

/* ---------- responsive ---------- */
@media (max-width:1150px){.m3s-grid{grid-template-columns:repeat(3,1fr)}.m3s-occ{grid-template-columns:repeat(3,1fr)}.m3s-intent{grid-template-columns:repeat(2,1fr)}.m3s-alist{grid-template-columns:1fr 1fr}.m3s-kp{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  .m3s-hero,.m3s-pp,.m3s-ord,.m3s-authors,.m3s-acc,.m3s-odg{grid-template-columns:1fr}
  .m3s-hero>*,.m3s-pp>*,.m3s-ord>*,.m3s-acc>*{min-width:0}
  .m3s-collage{height:260px}
  .m3s-intent{grid-template-columns:1fr 1fr;gap:8px}.m3s-intent button{flex-direction:column;align-items:flex-start;gap:8px}.m3s-intent img{width:100%;height:90px}.m3s-intent strong{font-size:15px}.m3s-intent small{display:none}
  .m3s-grid{grid-template-columns:1fr 1fr;gap:12px}.m3s-card h3{font-size:14.5px}.m3s-pr{font-size:16px}.m3s-dots{display:none}.m3s-card .m3s-row1 .r{display:none}
  .m3s-quick{display:none}
  .m3s-custom{grid-column:1/-1;grid-template-columns:1fr}.m3s-custom img{height:160px}
  .m3s-occ{grid-template-columns:1fr 1fr}.m3s-how,.m3s-faq,.m3s-alist{grid-template-columns:1fr}.m3s-specs{grid-template-columns:1fr 1fr}
  .m3s-gal{grid-template-columns:1fr;position:static}.m3s-gal .m3s-th{flex-direction:row;order:2;overflow-x:auto;max-height:none}.m3s-gal .m3s-th img{width:66px;height:66px}
  .m3s-acc-list,.m3s-perks,.m3s-f2{grid-template-columns:1fr}.m3s-bundle{grid-template-columns:1fr}.m3s-bundle .imgs img{width:86px;height:86px}
  .m3s-fbar .m3s-in{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.m3s-fbar .m3s-sort{display:none}.m3s-ddp{position:fixed;left:16px;right:16px;top:auto;bottom:16px}
  .m3s-sum{position:static}.m3s-line{grid-template-columns:64px 1fr}.m3s-line img,.m3s-line .m3s-ph0{width:64px;height:64px}.m3s-line .rt{grid-column:2;text-align:left}
  .m3s-anav{position:static;display:flex;overflow-x:auto;gap:4px;padding:6px}.m3s-anav .me{display:none}.m3s-anav a{white-space:nowrap;flex-shrink:0}.m3s-anav a.out{border:0;margin:0}
  .m3s-g3{grid-template-columns:1fr 1fr!important}.m3s-addrs{grid-template-columns:1fr}
  .m3s-orow{grid-template-columns:auto 1fr auto;gap:10px}.m3s-orow .hide-m{display:none}
  .m3s-tl .st{font-size:11px}.m3s-tl .st small{display:none}.m3s-gbanner{flex-wrap:wrap}
}

/* =====================================================================
   v3.5 – catalog layout after the new mockup
   ===================================================================== */
/* header: 3 product cards */
.m3s-hcards{display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:440px}
.m3s-hc{position:relative;border-radius:22px;overflow:hidden;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.m3s-hc.big{grid-row:1/3}
.m3s-hc .ph{flex:1;min-height:0;position:relative;display:block;background:var(--m3s-soft)}
.m3s-hc .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.m3s-hc:hover .ph img{transform:scale(1.04)}
.m3s-hc .m3s-bd{position:absolute;left:12px;top:12px;background:var(--accent);color:#fff}
.m3s-hc .m3s-fav{top:10px;right:10px}
.m3s-hcb{display:flex;align-items:center;gap:10px;padding:10px 14px;text-decoration:none;color:var(--ink);background:var(--card)}
.m3s-hcb>span{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.m3s-hcb b{font-family:"Archivo",sans-serif;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m3s-hc.big .m3s-hcb b{font-size:19px}
.m3s-hcb small{color:var(--ink-soft);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m3s-hcb em{font-style:normal;font-size:12.5px;color:var(--ink-soft);margin-top:2px}
.m3s-hcb em strong{color:var(--ink);font-size:15px;font-family:"Archivo",sans-serif}
.m3s-hcb .go,.m3s-intent .go{flex-shrink:0;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);transition:background .2s,color .2s}
.m3s-hcb .go .m3s-i,.m3s-intent .go .m3s-i{width:16px;height:16px}
.m3s-hc:hover .go,.m3s-intent button:hover .go{background:var(--ink);color:var(--paper);border-color:var(--ink)}
/* intent cards */
.m3s-intent button{border-width:1px}
.m3s-intent button>span{flex:1;min-width:0}
/* category row with icons */
.m3s-cchip.has-i{padding:8px 14px;text-decoration:none}
.m3s-cchip.has-i .m3s-i{width:16px;height:16px}
.m3s-cchip[data-sale-chip] .m3s-i,.m3s-cchip[data-to-banner] .m3s-i{color:var(--accent)}
.m3s-cchip[data-sale-chip][aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
/* count + view */
.m3s-countrow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 6px}
.m3s-count{font-size:20px!important;font-weight:600!important;font-family:"IBM Plex Sans",sans-serif!important;letter-spacing:0!important}
.m3s-count b{font-family:"Archivo",sans-serif;font-weight:800}
.m3s-view{display:flex;gap:4px}
.m3s-view button{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;color:var(--ink-soft)}
.m3s-view button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.m3s-view .m3s-i{width:16px;height:16px}
.m3s-chips[hidden]{display:none}
.m3s-chips{margin:4px 0 8px}
/* cards: subtitle + price on request */
.m3s-card .m3s-sub{color:var(--ink-soft);font-size:13px;line-height:1.35;margin:-2px 0 2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
/* "price on request": no prices anywhere in the order summary */
.m3s-noprice [data-dp],.m3s-noprice .m3s-sum .r,.m3s-noprice .m3s-sum .t{display:none!important}
/* list view */
.m3s-grid.is-list{grid-template-columns:1fr 1fr}
.m3s-grid.is-list .m3s-card{flex-direction:row;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:10px;align-items:center}
.m3s-grid.is-list .m3s-card .m3s-ph{width:150px;flex-shrink:0;aspect-ratio:1/1;border-radius:16px}
.m3s-grid.is-list .m3s-card .m3s-info{flex:1;padding:0 6px 0 0}
.m3s-grid.is-list .m3s-card .m3s-fav{left:118px;right:auto;top:16px}
.m3s-grid.is-list .m3s-quick{display:none}
/* list view: the "made to order" banner is one card of the list (a bit taller), not full width */
.m3s-grid.is-list .m3s-custom{grid-column:auto;grid-template-columns:1fr 170px;min-height:0;height:auto;border-radius:22px}
.m3s-grid.is-list .m3s-custom .t{padding:18px 20px;gap:6px}
.m3s-grid.is-list .m3s-custom h3{font-size:22px}
.m3s-grid.is-list .m3s-custom p{font-size:13.5px}
.m3s-grid.is-list .m3s-custom ul{margin:4px 0 6px;font-size:13px}
.m3s-grid.is-list .m3s-custom{position:relative}
.m3s-grid.is-list .m3s-custom img{position:absolute;right:0;top:0;width:170px;height:100%;object-fit:cover}
@media (max-width:600px){.m3s-grid.is-list .m3s-custom{grid-template-columns:1fr 110px}.m3s-grid.is-list .m3s-custom img{width:110px}}
/* load more */
.m3s-more small,.m3s-more .m3s-prog{display:none}
.m3s-more .m3s-btn{gap:8px}
.m3s-more .m3s-btn .m3s-i{width:16px;height:16px}
/* occasions: white tiles */
.m3s-seeall{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-decoration:none;font-size:14px}
.m3s-seeall .m3s-i{width:16px;height:16px}
.m3s-occ a{aspect-ratio:auto;display:flex;align-items:center;gap:12px;padding:8px;background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:18px;transition:transform .2s,box-shadow .2s}
.m3s-occ a:hover{transform:translateY(-2px);box-shadow:var(--m3s-shadow)}
.m3s-occ a:after{display:none}
.m3s-occ img{width:72px;height:72px;border-radius:14px;flex-shrink:0}
.m3s-occ a:hover img{transform:none}
.m3s-occ span{position:static;font-size:15px}
.m3s-occ span small{color:var(--ink-soft);opacity:1;margin-top:2px}
/* how to order: icon on the right */
.m3s-how>div{position:relative;padding:18px 70px 18px 18px}
.m3s-how b{width:34px;height:34px;border-radius:10px;font-size:16px;margin-bottom:10px}
.m3s-how .hi{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--ink-faint)}
.m3s-how .hi .m3s-i{width:34px;height:34px;stroke-width:1.5}
/* about block */
.m3s-about{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:28px;align-items:center}
.m3s-about h2{font-size:clamp(24px,2.4vw,32px);font-weight:800;line-height:1.08;margin-top:6px}
.m3s-about p{color:var(--ink-soft);margin-top:10px;max-width:560px}
.m3s-about .pts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:center}
.m3s-about .pts div{display:flex;flex-direction:column;align-items:center;gap:4px}
.m3s-about .ai{color:var(--accent);margin-bottom:4px}
.m3s-about .ai .m3s-i{width:32px;height:32px;stroke-width:1.6}
.m3s-about .pts b{font-size:14px;line-height:1.2}
.m3s-about .pts small{color:var(--ink-soft);font-size:12.5px}
/* FAQ with icons */
.m3s-faq{align-items:start}
.m3s-faq details{padding:0}
.m3s-faq summary{display:flex;align-items:center;gap:12px;padding:14px 16px;list-style:none}
.m3s-faq summary::-webkit-details-marker{display:none}
.m3s-faq summary>span:nth-child(2){flex:1}
.m3s-faq summary .fi{color:var(--ink);flex-shrink:0}
.m3s-faq summary .fi .m3s-i{width:20px;height:20px}
.m3s-faq summary>.m3s-i{width:16px;height:16px;color:var(--ink-soft);transition:transform .2s}
.m3s-faq details[open] summary>.m3s-i{transform:rotate(180deg)}
.m3s-faq p{margin:0;padding:0 16px 14px 48px}
@media (max-width:1150px){.m3s-about{grid-template-columns:1fr}.m3s-about .pts{grid-template-columns:repeat(4,1fr)}}
@media (max-width:900px){
  .m3s-hcards{height:auto;grid-template-rows:auto;grid-template-columns:1fr 1fr}
  .m3s-hc.big{grid-column:1/-1;grid-row:auto}
  .m3s-hc .ph{aspect-ratio:4/3;flex:none}
  .m3s-hc.big .ph{aspect-ratio:16/11}
  .m3s-grid.is-list{grid-template-columns:1fr}
  .m3s-about .pts{grid-template-columns:1fr 1fr}
  .m3s-how>div{padding-right:60px}
}
@media (max-width:600px){
  .m3s-hcb small{display:none}
  .m3s-hc:not(.big) .m3s-hcb .go{display:none}
  .m3s-grid.is-list .m3s-card .m3s-ph{width:110px}
  .m3s-grid.is-list .m3s-card .m3s-fav{left:78px}
  .m3s-occ a{padding:6px}
  .m3s-occ img{width:56px;height:56px}
}
.m3s-tglink{display:inline-flex;margin-top:10px;font-weight:700;font-size:14px;color:var(--accent-ink,var(--accent))}

/* v3.5.3 – list view in three columns */
.m3s-grid.is-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.m3s-grid.is-list .m3s-card{gap:12px;padding:8px;border-radius:20px}
.m3s-grid.is-list .m3s-card .m3s-ph{width:112px;border-radius:14px}
.m3s-grid.is-list .m3s-card .m3s-fav{left:86px;top:12px;transform:scale(.85)}
.m3s-grid.is-list .m3s-card h3{font-size:15px}
.m3s-grid.is-list .m3s-custom{grid-template-columns:1fr 120px}
.m3s-grid.is-list .m3s-custom img{width:120px}
.m3s-grid.is-list .m3s-custom .t{padding:16px 16px}
.m3s-grid.is-list .m3s-custom h3{font-size:19px}
@media (max-width:1150px){.m3s-grid.is-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.m3s-grid.is-list{grid-template-columns:1fr}}
.m3s-grid.is-list .m3s-custom ul{display:none}
.m3s-grid.is-list .m3s-custom p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 6px}
.m3s-grid.is-list .m3s-custom .t{padding:14px 16px;justify-content:center}
.m3s-grid.is-list .m3s-badges .m3s-bd{white-space:nowrap}

/* v3.5.4 – taller list cards, banner in the right column */
.m3s-grid.is-list{gap:18px}
.m3s-grid.is-list .m3s-card{padding:10px;gap:16px;align-items:stretch;min-height:200px}
.m3s-grid.is-list .m3s-card .m3s-ph{width:42%;max-width:180px;aspect-ratio:auto;height:auto;min-height:180px;align-self:stretch}
.m3s-grid.is-list .m3s-card .m3s-ph img{height:100%;object-fit:cover}
.m3s-grid.is-list .m3s-card .m3s-fav{left:auto;right:12px;top:12px;transform:scale(.9)}
.m3s-grid.is-list .m3s-card .m3s-info{padding-right:40px!important}
.m3s-grid.is-list .m3s-card .m3s-info{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:6px 6px 6px 0}
.m3s-grid.is-list .m3s-card h3{font-size:16px;line-height:1.25;white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.m3s-grid.is-list .m3s-card .m3s-sub{font-size:13.5px;line-height:1.4;white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:clip}
.m3s-grid.is-list .m3s-custom{grid-template-columns:1fr;min-height:200px}
.m3s-grid.is-list .m3s-custom img{position:absolute;inset:0;width:100%;height:100%;opacity:.35}
.m3s-grid.is-list .m3s-custom .t{position:relative;z-index:1;padding:20px 22px;background:linear-gradient(90deg,var(--ink) 35%,transparent)}
.m3s-grid.is-list .m3s-custom h3{font-size:22px}
.m3s-grid.is-list .m3s-custom p{-webkit-line-clamp:3}
@media (max-width:600px){.m3s-grid.is-list .m3s-card{min-height:150px}.m3s-grid.is-list .m3s-card .m3s-ph{min-height:140px;width:38%}}
.m3s-price .m3s-from{font-size:15px;font-weight:600;color:var(--ink-soft);margin-right:4px}

/* v3.5.8 – empty results: "send us your model" form */
.m3s-empty{padding:40px 20px 28px}
.m3sm{width:100%;max-width:760px;margin:22px auto 0;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px}
.m3sm-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px}
.m3sm-ic{flex:none;width:48px;height:48px;border-radius:14px;background:rgba(255,67,0,.12);color:var(--accent);display:grid;place-items:center;animation:m3Live 1.8s ease-out infinite}
.m3sm-ic .m3s-i{width:24px;height:24px}
.m3sm h3{font-size:20px;line-height:1.2;margin:2px 0 6px}
.m3sm-head p{color:var(--ink-soft);font-size:14.5px;line-height:1.5;margin:0}
.m3sm-sites{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.m3sm-sites span{font-size:12px;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:3px 10px;background:var(--card);color:var(--ink-soft)}
.m3sm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.m3sm-wide{grid-column:1/-1}
.m3sm-f{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}
.m3sm-f input,.m3sm-f textarea,.m3sm-f select{font:inherit;font-weight:400;font-size:15px;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);width:100%;box-sizing:border-box}
.m3sm-f input:focus,.m3sm-f textarea:focus,.m3sm-f select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.m3sm-drop{position:relative;display:flex;align-items:center;gap:12px;border:1.5px dashed var(--line);border-radius:14px;padding:16px;background:var(--card);cursor:pointer;font-size:14px;color:var(--ink-soft);transition:border-color .2s,background .2s}
.m3sm-drop:hover,.m3sm-drop.is-over{border-color:var(--accent);background:rgba(255,67,0,.05)}
.m3sm-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.m3sm-drop .m3s-i{width:22px;height:22px;color:var(--accent);flex:none}
.m3sm-files{margin-left:auto;font-style:normal;font-weight:700;color:var(--ink);font-size:13px;text-align:right}
.m3sm-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}
.m3sm .m3s-btn-or{background:var(--accent);border-color:var(--accent);color:#fff}
.m3sm .m3s-btn-or[disabled]{opacity:.6;cursor:wait}
.m3sm-msg{margin:0;font-size:14px;font-weight:600}
.m3sm-msg.err{color:#c62828}
.m3sm-msg.ok{color:#1b7f45}
.m3sm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.m3sm-rc{font-size:11.5px;color:var(--ink-faint);margin:10px 0 0}
.m3sm-rc a{color:inherit}
.m3sm.is-sent .m3sm-grid,.m3sm.is-sent .m3s-btn-or{display:none}
@media (max-width:600px){.m3sm{padding:16px}.m3sm-grid{grid-template-columns:1fr}.m3sm-head{flex-direction:column}}

/* v3.6 – "Parts & engineering" big tiles on the Catalog page */
.m3s-lanes{margin:34px 0 10px;background:#121518;color:#F3F1EA;border-radius:28px;padding:30px;position:relative;overflow:hidden}
.m3s-lanes::before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,67,0,.28),transparent 70%);pointer-events:none}
.m3s-lanes-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:22px;position:relative}
.m3s-lanes-head .m3s-eyebrow{color:#FF4300;display:inline-flex;align-items:center;gap:10px}
.m3s-lanes-head .m3s-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);animation:m3Live 1.8s ease-out infinite}
.m3s-lanes h2{color:#fff;font-size:clamp(26px,3vw,38px);line-height:1.08;margin:8px 0 0;max-width:20ch}
.m3s-lanes-head p{max-width:460px;color:rgba(243,241,234,.72);font-size:15px;line-height:1.55;margin:0}
.m3s-lanes-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative}
.m3s-lane{display:flex;flex-direction:column;background:#1C2024;border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;color:#fff;text-decoration:none;transition:transform .25s,border-color .25s,background .25s}
.m3s-lane:hover{transform:translateY(-4px);border-color:var(--accent);background:#20252a}
.m3s-lane .ph{display:block;aspect-ratio:4/3;background:#2a2f34;overflow:hidden}
.m3s-lane .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.m3s-lane:hover .ph img{transform:scale(1.05)}
.m3s-lane .bd{display:flex;flex-direction:column;gap:6px;padding:16px 16px 14px;flex:1;position:relative}
.m3s-lane .ic{position:absolute;top:-22px;left:14px;width:44px;height:44px;border-radius:14px;background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:0 8px 20px -6px rgba(255,67,0,.6)}
.m3s-lane .ic .m3s-i{width:22px;height:22px}
.m3s-lane b{font-size:18px;line-height:1.2;margin-top:18px}
.m3s-lane small{font-size:13.5px;line-height:1.45;color:rgba(243,241,234,.7)}
.m3s-lane .ft{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;font-size:13px}
.m3s-lane .ft em{font-style:normal;color:rgba(243,241,234,.6);font-weight:600}
.m3s-lane .ft i{font-style:normal;font-weight:700;color:#FF4300;display:inline-flex;align-items:center;gap:6px}
.m3s-lane .ft .m3s-i{width:16px;height:16px;transition:transform .2s}
.m3s-lane:hover .ft .m3s-i{transform:translateX(3px)}
.m3s-lanes-cta{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap;margin-top:18px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.18);position:relative}
.m3s-lanes-cta>div{display:flex;flex-direction:column;gap:2px;flex:1;min-width:220px}
.m3s-lanes-cta b{font-size:16px}
.m3s-lanes-cta span{font-size:14px;color:rgba(243,241,234,.72)}
.m3s-lanes-cta .m3s-btn-or{background:var(--accent);border-color:var(--accent);color:#fff}
.m3s-lanes-cta .m3s-btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}
.m3s-lanes-cta .m3s-btn .m3s-i{width:18px;height:18px}
.m3s-gifts-h{font-size:22px;margin:30px 0 12px}
@media (max-width:1100px){.m3s-lanes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.m3s-lanes{padding:20px 16px;border-radius:22px}.m3s-lanes-grid{grid-template-columns:1fr 1fr;gap:10px}.m3s-lane .ph{aspect-ratio:1/1}.m3s-lane b{font-size:15px}.m3s-lane small{display:none}.m3s-lane .bd{padding:12px}.m3s-lane .ic{width:36px;height:36px;top:-18px}.m3s-lanes-cta .m3s-btn{width:100%}}
/* v3.6.1 – more air between the engineering block and the gifts row */
.m3s-lanes{margin-bottom:0}
.m3s-gifts-h{margin:clamp(48px,6vw,72px) 0 20px;font-size:clamp(22px,2.4vw,28px);display:flex;align-items:center;gap:12px}
.m3s-gifts-h::before{content:"";width:28px;height:3px;border-radius:2px;background:var(--accent)}
.m3s-gifts-h+.m3s-intent{margin-bottom:34px}
.m3s-catalog h2.m3s-gifts-h{margin:clamp(56px,6vw,80px) 0 22px!important}
.m3s-catalog .m3s-intent{margin-bottom:36px}
.m3s-about .m3s-ab-btn{margin-top:14px;align-self:flex-start;background:var(--accent);border-color:var(--accent);color:#fff;display:inline-flex}
.m3s-about .m3s-ab-btn .m3s-i{width:17px;height:17px}

/* v3.6.4 – mobile: all categories visible + filters in a bottom sheet */
.m3s-mbar,.m3s-fhead,.m3s-ffoot,.m3s-fback{display:none}
@media (max-width:700px){
  /* categories: every chip visible, 2 per row */
  .m3s-catrow{display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:visible;padding-bottom:0}
  .m3s-catrow .m3s-cchip{width:100%;min-width:0;padding:8px 10px 8px 8px;font-size:13.5px;line-height:1.2;border-radius:14px;background:var(--card)}
  .m3s-catrow .m3s-cchip>span:not(.cn){overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;text-align:left}
  .m3s-catrow .m3s-cchip .cn{margin-left:auto}
  .m3s-catrow .m3s-cchip[data-c=""]{grid-column:1/-1;justify-content:center}
  .m3s-catrow .m3s-cchip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  /* one big button instead of the scrolling filter row */
  .m3s-mbar{display:block;position:sticky;top:var(--m3s-sticky,64px);z-index:40;background:var(--paper);padding:10px 0;margin-top:10px}
  .m3s-mbtn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ink);background:var(--card);color:var(--ink);border-radius:999px;padding:13px 18px;font:inherit;font-weight:700;font-size:15px;cursor:pointer}
  .m3s-mbtn .m3s-i{width:18px;height:18px}
  .m3s-mbtn .n{min-width:22px;height:22px;border-radius:11px;background:var(--accent);color:#fff;font-size:12px;display:inline-grid;place-items:center;padding:0 6px}
  .m3s-mbtn .n[hidden]{display:none}
  /* the sheet */
  .m3s-fback{display:block;position:fixed;inset:0;background:rgba(10,12,14,.5);z-index:998;opacity:0;pointer-events:none;transition:opacity .25s}
  .m3s-fback.on{opacity:1;pointer-events:auto}
  .m3s-fback[hidden]{display:block}
  .m3s-fbar{position:fixed!important;left:0;right:0;bottom:0;top:auto!important;z-index:999;margin:0;padding:0;border:0;background:var(--card);border-radius:24px 24px 0 0;max-height:86vh;display:flex;flex-direction:column;transform:translateY(105%);transition:transform .3s cubic-bezier(.2,.8,.2,1);box-shadow:0 -20px 50px -20px rgba(0,0,0,.4)}
  .m3s-fbar.open{transform:none}
  .m3s-fhead{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;border-bottom:1px solid var(--line);position:relative}
  .m3s-fhead::before{content:"";position:absolute;top:6px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:var(--line)}
  .m3s-fhead b{font-size:18px}
  .m3s-fx{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:24px;line-height:1;color:var(--ink);cursor:pointer}
  .m3s-fbar .m3s-in{flex-direction:column;align-items:stretch;flex-wrap:nowrap;overflow-y:auto;overflow-x:hidden;gap:0;padding:4px 18px 10px;-webkit-overflow-scrolling:touch}
  .m3s-fbar .m3s-dd{border-bottom:1px solid var(--line);padding:12px 0}
  .m3s-fbar .m3s-ddb{border:0!important;background:transparent!important;padding:0 0 8px!important;font-weight:800;font-size:15px;pointer-events:none;width:100%;justify-content:flex-start}
  .m3s-fbar .m3s-ddb .m3s-i,.m3s-fbar .m3s-ddb .m3s-nb{display:none}
  .m3s-fbar .m3s-ddp{display:flex!important;flex-wrap:wrap;gap:8px;position:static!important;min-width:0!important;border:0;box-shadow:none;padding:0;background:transparent}
  .m3s-fbar .m3s-ck{border:1px solid var(--line);border-radius:999px;padding:8px 12px;gap:8px;font-size:14px}
  .m3s-fbar .m3s-ck input{width:16px;height:16px;accent-color:var(--accent)}
  .m3s-fbar .m3s-ck:has(input:checked){border-color:var(--accent);background:rgba(255,67,0,.08)}
  .m3s-fbar .m3s-swatches{grid-template-columns:repeat(3,1fr);width:100%}
  .m3s-fbar .m3s-range{width:100%}
  .m3s-fbar .m3s-sw{margin-top:10px;align-self:flex-start;padding:8px 14px 8px 8px}
  .m3s-fbar .m3s-sort{display:flex!important;margin:14px 0 4px;justify-content:space-between;font-weight:700;color:var(--ink)}
  .m3s-ffoot{display:flex;gap:10px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
  .m3s-ffoot .m3s-btn{flex:1;padding:13px 10px;font-size:14.5px}
  .m3s-ffoot .m3s-btn-or{flex:1.6;background:var(--accent);border-color:var(--accent);color:#fff}
  body.m3s-sheet-open{overflow:hidden}
}

/* v3.6.6 – Catalog: "From idea to your own product" (content from the home page) */
.m3s-dev{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,4vw,56px);align-items:center;padding:clamp(28px,4vw,48px);border-radius:28px;border:1px solid var(--line);position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(69,108,255,.05) 1px,transparent 1px),linear-gradient(rgba(69,108,255,.05) 1px,transparent 1px),radial-gradient(700px 420px at 85% 50%,rgba(69,108,255,.12),transparent 62%),var(--card);background-size:40px 40px,40px 40px,auto,auto}
.m3s-dev-copy .m3s-eyebrow{display:inline-flex;align-items:center;gap:10px}
.m3s-dev-copy .m3s-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);animation:m3Live 1.8s ease-out infinite;flex:none}
.m3s-dev h2{font-size:clamp(28px,3.2vw,44px);line-height:1.08;margin:12px 0 14px;max-width:16ch}
.m3s-dev-copy p{color:var(--ink-soft);font-size:15.5px;line-height:1.7;margin:0 0 22px;max-width:52ch}
.m3s-dev-btns{display:flex;flex-wrap:wrap;gap:10px}
.m3s-dev-btns .m3s-btn-or{background:var(--accent);border-color:var(--accent);color:#fff}
.m3s-dev-wa{background:var(--ink);border-color:var(--ink);color:var(--paper);gap:9px}
.m3s-dev-media{position:relative;border-radius:18px;overflow:visible}
.m3s-dev-media::before{content:"";position:absolute;left:-12px;top:-12px;width:90px;height:90px;border-left:2px solid var(--accent);border-top:2px solid var(--accent);border-top-left-radius:6px;pointer-events:none;z-index:2}
.m3s-dev-media video,.m3s-dev-media img{display:block;width:100%;aspect-ratio:1564/868;object-fit:cover;border-radius:16px;background:#0F1319;box-shadow:0 30px 60px -36px rgba(17,25,39,.55)}
@media (max-width:900px){.m3s-dev{grid-template-columns:1fr}.m3s-dev h2{max-width:none}}
.m3s-dev .m3s-dev-wa,.m3s-dev .m3s-dev-wa span{color:#fff!important}.m3s-dev .m3s-dev-wa{background:#14171A!important;border-color:#14171A!important}.m3s-dev .m3s-dev-wa svg{flex:none}

/* v3.7 – group switch: Parts & engineering | Gifts | Whole catalog */
.m3s-groups{display:grid;grid-template-columns:auto 1fr 1fr auto;align-items:stretch;gap:10px;margin:26px 0 0;padding:8px;background:var(--card);border:1px solid var(--line);border-radius:22px}
.m3s-groups-t{align-self:center;padding:0 10px 0 12px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.m3s-groups button{display:flex;align-items:center;gap:12px;border:1px solid transparent;background:transparent;border-radius:16px;padding:10px 14px;font:inherit;color:var(--ink);cursor:pointer;text-align:left;transition:background .2s,border-color .2s,color .2s}
.m3s-groups button:hover{background:rgba(20,23,26,.05)}
.m3s-groups button>.m3s-i{width:22px;height:22px;flex:none;color:var(--accent)}
.m3s-groups button>span{display:flex;flex-direction:column;gap:2px;font-weight:800;font-size:15.5px;line-height:1.2}
.m3s-groups button small{font-weight:500;font-size:12.5px;color:var(--ink-soft)}
.m3s-groups button>b{margin-left:auto;font-size:13px;background:rgba(20,23,26,.07);border-radius:999px;padding:3px 10px}
.m3s-groups button.all>span{font-size:14px}
.m3s-groups button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.m3s-groups button[aria-pressed="true"] small{color:rgba(243,241,234,.7)}
.m3s-groups button[aria-pressed="true"]>b{background:var(--accent);color:#fff}
/* what each group shows */
.m3s-catalog[data-g="gift"] .m3s-lanes{display:none}
.m3s-catalog[data-g="eng"] .m3s-gifts-h,.m3s-catalog[data-g="eng"] #m3sIntent,.m3s-catalog[data-g="eng"] .m3s-occsec{display:none}
.m3s-catalog[data-g="eng"] .m3s-cchip[data-g="gift"],.m3s-catalog[data-g="gift"] .m3s-cchip[data-g="eng"]{display:none}
.m3s-catalog[data-g="gift"] .m3s-gifts-h{margin-top:30px!important}
/* products still waiting for their photos show the category picture */
.m3s-card.is-ph .m3s-ph img{filter:saturate(.75);opacity:.9}
@media (max-width:900px){
  .m3s-groups{grid-template-columns:1fr 1fr;position:static}
  .m3s-groups-t{grid-column:1/-1;padding:4px 6px 0}
  .m3s-groups button.all{grid-column:1/-1;justify-content:center}
  .m3s-groups button.all>b{margin-left:6px}
}
@media (max-width:600px){
  .m3s-groups button{flex-direction:column;align-items:flex-start;gap:6px;padding:10px}
  .m3s-groups button small{display:none}
  .m3s-groups button>b{margin-left:0}
  .m3s-groups button.all{flex-direction:row;align-items:center}
}
/* v3.7 – own product block: plain card, no grid */
.m3s-dev{background:var(--card)!important;background-size:auto!important}

/* v3.9.1 – "any size" notes */
.m3s-sizenote{display:flex;gap:12px;align-items:flex-start;margin:14px 0 6px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.m3s-sizenote>.m3s-i{width:22px;height:22px;color:var(--accent);flex:none;margin-top:2px}
.m3s-sizenote b{display:block;font-size:15px;margin-bottom:2px}
.m3s-sizenote span{font-size:13.5px;color:var(--ink-soft);line-height:1.5}
.m3s-sizestrip{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:18px 0 6px;padding:16px 18px;border-radius:18px;background:var(--card);border:1px dashed var(--accent)}
.m3s-sizestrip .ic{width:44px;height:44px;border-radius:14px;background:rgba(255,67,0,.12);color:var(--accent);display:grid;place-items:center;flex:none}
.m3s-sizestrip .ic .m3s-i{width:22px;height:22px}
.m3s-sizestrip>div{flex:1;min-width:220px;display:flex;flex-direction:column;gap:2px}
.m3s-sizestrip b{font-size:16px}
.m3s-sizestrip span{font-size:14px;color:var(--ink-soft)}
.m3s-sizestrip .m3s-btn-or{background:var(--accent);border-color:var(--accent);color:#fff}
.m3s-catalog[data-g="eng"] .m3s-sizestrip{display:none}

/* v3.9.2 – colour by part + wishes */
.m3s-parts{display:flex;flex-direction:column;gap:10px}
.m3s-prow{display:grid;grid-template-columns:120px 1fr;grid-template-areas:"n c" "s s";gap:6px 12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.m3s-prow .pn{grid-area:n;font-weight:700;font-size:14px}
.m3s-prow .pc{grid-area:c;justify-self:end;font-size:13px;color:var(--ink-soft)}
.m3s-prow .m3s-cols{grid-area:s;margin:0}
.m3s-cols-sm button{width:30px!important;height:30px!important}
.m3s-wish textarea{width:100%;box-sizing:border-box;font:inherit;font-size:14.5px;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);resize:vertical}
.m3s-wish textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.m3s-wish h4 small{font-weight:500;font-size:12.5px}
/* v3.9.3 – group switch + search stay on top while you browse the catalog
   (only inside the catalog zone; the sections below scroll normally) */
.m3s-fzone{position:relative}
.m3s-fsent{display:block;height:0}
.m3s-find{position:sticky;top:var(--m3s-sticky,72px);z-index:45;margin-top:26px}
.m3s-find .m3s-groups{margin:0}
.m3s-find .m3s-search{max-width:none;margin-top:12px}
.m3s-find .m3s-search .m3s-i{width:20px;height:20px;flex:none;color:var(--ink-soft)}
.m3s-ffil{display:none;flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;place-items:center;padding:0}
.m3s-ffil .m3s-i{width:18px;height:18px}
.m3s-find::before{content:"";position:absolute;inset:-24px calc(50% - 50vw) 0;background:var(--paper);border-bottom:1px solid var(--line);opacity:0;pointer-events:none;transition:opacity .2s;z-index:-1}
.m3s-find.is-stuck{padding:10px 0}
.m3s-find.is-stuck::before{opacity:.97;box-shadow:0 10px 24px -18px rgba(20,23,26,.35)}
/* stuck: one compact row – groups on the left, search on the right */
.m3s-find.is-stuck{display:grid;grid-template-columns:auto minmax(260px,1fr);gap:12px;align-items:center}
.m3s-find.is-stuck .m3s-groups{display:flex;gap:6px;padding:5px;border-radius:999px}
.m3s-find.is-stuck .m3s-groups-t,.m3s-find.is-stuck .m3s-groups button small{display:none}
.m3s-find.is-stuck .m3s-groups button{padding:8px 14px;border-radius:999px;gap:8px;white-space:nowrap}
.m3s-find.is-stuck .m3s-groups button>span{font-size:14px}
.m3s-find.is-stuck .m3s-groups button>.m3s-i{width:18px;height:18px}
.m3s-find.is-stuck .m3s-groups button>b{margin-left:4px;font-size:12px;padding:2px 8px}
.m3s-find.is-stuck .m3s-search{margin:0;padding:4px 4px 4px 18px;box-shadow:none}
.m3s-find.is-stuck .m3s-search input{height:42px;font-size:15px}
.m3s-find.is-stuck .m3s-search .m3s-btn{padding-block:10px}
/* filters bar sits right under it */
.m3s-fzone .m3s-fbar{top:calc(var(--m3s-sticky,72px) + var(--m3s-find,0px))}
@media (max-width:1180px){.m3s-find.is-stuck .m3s-groups button>b{display:none}}
@media (max-width:980px){
  .m3s-find.is-stuck{grid-template-columns:1fr}
  .m3s-find.is-stuck .m3s-groups{display:none}
}
@media (max-width:900px){.m3s-find .m3s-groups{position:relative}}
@media (max-width:700px){
  .m3s-find{margin-top:18px}
  .m3s-find .m3s-search{padding:5px 5px 5px 16px}
  .m3s-find .m3s-search input{height:44px}
  .m3s-find.is-stuck .m3s-ffil{display:grid}
  .m3s-find.is-stuck .m3s-search .m3s-btn{display:none}
  .m3s-fzone .m3s-mbar{position:static}
}
.m3s-catalog[data-g="eng"] #m3sCats{margin-top:30px}
@media (max-width:700px){.m3s-catalog[data-g="eng"] #m3sCats{margin-top:22px}}
/* v3.9.4 – "New" badge in our orange, like on Projects */
.m3s-card[data-new="1"] .m3s-bd{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.04em}
/* v3.9.5 – lower search field in the catalog bar */
.m3s-find .m3s-search{padding:4px 4px 4px 18px}
.m3s-find .m3s-search input{height:40px;font-size:15px}
.m3s-find .m3s-search .m3s-btn{padding:9px 20px;font-size:14px}
.m3s-find.is-stuck{padding:8px 0}
.m3s-find.is-stuck .m3s-search{padding:3px 3px 3px 16px}
.m3s-find.is-stuck .m3s-search input{height:34px;font-size:14.5px}
.m3s-find.is-stuck .m3s-search .m3s-btn{padding:7px 18px}
.m3s-find.is-stuck .m3s-groups{padding:3px}
.m3s-find.is-stuck .m3s-groups button{padding:7px 12px}
@media (max-width:700px){.m3s-find .m3s-search input{height:38px}.m3s-find.is-stuck .m3s-ffil{width:36px;height:36px}}
/* v3.9.6 – "showing results for …" after a typo */
.m3s-fz,.m3p-fz{margin:10px 0 0;font-size:14.5px;color:var(--ink-soft)}
.m3s-fz b,.m3p-fz b{color:var(--accent);font-weight:700}
.m3s-fz s,.m3p-fz s{opacity:.7}
.m3s-fz[hidden],.m3p-fz[hidden]{display:none}
/* v3.9.7 – the filters no longer stick under the bar (they looked cut off);
   the stuck bar gets a "Filters" button that brings categories + filters into view */
.m3s-fzone .m3s-fbar{position:static}
.m3s-fjump{display:none;align-items:center;gap:8px;flex:none;height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:inherit;font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap;transition:border-color .2s,background .2s}
.m3s-fjump:hover{border-color:var(--ink)}
.m3s-fjump .m3s-i{width:18px;height:18px;color:var(--accent)}
.m3s-fjump .n{min-width:20px;height:20px;border-radius:10px;background:var(--accent);color:#fff;font-size:12px;display:inline-grid;place-items:center;padding:0 6px}
.m3s-fjump .n[hidden]{display:none}
.m3s-find.is-stuck{grid-template-columns:auto minmax(220px,1fr) auto}
.m3s-find.is-stuck .m3s-fjump{display:inline-flex}
@media (max-width:980px){.m3s-find.is-stuck{grid-template-columns:1fr auto}}
@media (max-width:700px){.m3s-find.is-stuck{grid-template-columns:1fr}.m3s-find.is-stuck .m3s-fjump{display:none}}
@keyframes m3sFlash{0%{box-shadow:0 0 0 0 rgba(255,90,38,.45)}100%{box-shadow:0 0 0 14px rgba(255,90,38,0)}}
#m3sCats.m3s-flash{border-radius:18px;animation:m3sFlash 1s ease-out .35s 1}
.m3s-fspace{display:block;height:0}
@media (max-width:1180px){.m3s-find.is-stuck .m3s-search .m3s-btn{display:none}.m3s-find.is-stuck .m3s-search{padding-right:12px}}
/* v3.10 – categories grouped like the switch on top, so "Gifts 6" clearly sits inside "Gifts, decor & figurines 29" */
.m3s-catrow.is-grouped{display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow:visible;padding-bottom:0}
.m3s-cgx{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.m3s-cgrp{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:12px 14px 14px;min-width:0}
.m3s-cgh{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:2px 2px 0;font:inherit;font-weight:800;font-size:15px;color:var(--ink);cursor:pointer;text-align:left}
.m3s-cgh .m3s-i{width:18px;height:18px;color:var(--accent);flex:none}
.m3s-cgh b{margin-left:auto;font-size:12.5px;background:rgba(20,23,26,.07);border-radius:999px;padding:2px 9px}
.m3s-cgh:hover span{text-decoration:underline;text-underline-offset:3px}
.m3s-cgl{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.m3s-cgl .m3s-cchip{background:var(--paper)}
.m3s-cgl .m3s-cchip[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.m3s-catalog[data-g="eng"] .m3s-cgrp[data-g="gift"],.m3s-catalog[data-g="gift"] .m3s-cgrp[data-g="eng"]{display:none}
.m3s-catalog[data-g="eng"] .m3s-catrow.is-grouped,.m3s-catalog[data-g="gift"] .m3s-catrow.is-grouped{grid-template-columns:1fr}
.m3s-catalog[data-g="eng"] .m3s-cgrp[data-g="eng"] .m3s-cgh b,.m3s-catalog[data-g="gift"] .m3s-cgrp[data-g="gift"] .m3s-cgh b{background:var(--accent);color:#fff}
@media (max-width:900px){.m3s-catrow.is-grouped{grid-template-columns:1fr}}
@media (max-width:700px){
  .m3s-cgrp{padding:10px}
  .m3s-cgl{display:grid;grid-template-columns:1fr 1fr}
  .m3s-cgx .m3s-cchip{width:auto;flex:1}
}

/* =====================================================================
   v3.18 – Catalog page in the new light style (like Projects):
   hero with picture, category tiles, one toolbar, clean product cards,
   collections, "see our projects". No prices – individual quote.
   ===================================================================== */
.m3sv{--sv-line:rgba(20,23,26,.09);--sv-card:#fff;--sv-r:14px;background:var(--paper)}
:root[data-theme="dark"] .m3sv{--sv-line:rgba(255,255,255,.1);--sv-card:#1F2226}
.m3sv>.wrap{max-width:1560px;padding-left:clamp(20px,4vw,64px);padding-right:clamp(20px,4vw,64px)}
.m3sv .m3s-crumbs{display:none}
.m3sv-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:10px;background:var(--accent);color:#fff!important;font-weight:700;font-size:15px;text-decoration:none;transition:filter .2s}
.m3sv-btn:hover{filter:brightness(.92)}
.m3sv-btn .m3s-i{width:18px;height:18px}
.m3sv-eyebrow{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
/* hero */
.m3sv-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:20px;margin:0 calc(-1 * clamp(20px,4vw,64px));padding:0 clamp(20px,4vw,64px);min-height:400px;background:#F3F7FD var(--sv-bg) center/cover no-repeat;overflow:hidden}
:root[data-theme="dark"] .m3sv-hero{background:#1A1D21}
.m3sv-hero-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:40px 0}
.m3sv-hero h1{margin:0;font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(32px,3.4vw,46px);line-height:1.08;letter-spacing:-.02em;color:var(--ink)}
.m3sv-hero h1 em{font-style:normal;color:var(--accent)}
.m3sv-lead{margin:0;max-width:540px;font-size:17px;line-height:1.55;color:var(--ink-soft)}
.m3sv-feats{margin-top:8px}
.m3sv .m3pv-feats{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:14px 30px}
.m3sv .m3pv-feats li{display:flex;align-items:center;gap:12px}
.m3sv .m3pv-feats .ic{width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--accent);box-shadow:0 2px 10px rgba(20,40,80,.1);flex:none}
.m3sv .m3pv-feats .ic .m3s-i{width:20px;height:20px}
.m3sv .m3pv-feats b{display:block;font-size:15px;color:var(--ink)}
.m3sv .m3pv-feats small{display:block;font-size:13px;color:var(--ink-soft)}
.m3sv-hero-img{align-self:stretch;display:flex;align-items:center;justify-content:flex-end}
.m3sv-hero-img img{width:100%;max-width:760px;height:auto;max-height:400px;object-fit:contain;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%);mask-image:linear-gradient(90deg,transparent 0,#000 18%)}
/* category tiles */
.m3sv-cats{margin-top:34px}
.m3sv-sech{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.m3sv-sech h2,.m3sv .m3s-occsec h2,.m3sv-pj h2{margin:0;font-family:"Archivo",sans-serif;font-size:26px;font-weight:800;letter-spacing:-.01em}
.m3sv .m3sv-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px;overflow:visible;padding:0}
.m3sv .m3sv-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 10px 12px;width:auto;min-width:0;border:1px solid var(--sv-line);border-radius:var(--sv-r);background:var(--sv-card);color:var(--ink);font:inherit;text-align:center;text-decoration:none;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.m3sv .m3sv-tile:hover{transform:translateY(-2px);box-shadow:0 10px 24px -16px rgba(20,23,26,.3)}
.m3sv .m3sv-tile .ph{width:100%;aspect-ratio:1/1;border-radius:10px;background:#F3F6FA;display:grid;place-items:center;overflow:hidden}
.m3sv .m3sv-tile .ph img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.m3sv .m3sv-tile .ph .m3s-i{width:30px;height:30px;color:var(--ink-soft)}
.m3sv .m3sv-tile .nm{font-size:13.5px;font-weight:700;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.m3sv .m3sv-tile .cn{font-size:12px;color:var(--ink-faint);margin:-4px 0 0}
.m3sv .m3sv-tile[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--sv-card);color:var(--ink)}
.m3sv .m3sv-tile[aria-pressed="true"] .cn{color:var(--accent)}
/* toolbar */
.m3sv-tools{display:flex;align-items:center;gap:10px;margin-top:22px;flex-wrap:wrap}
.m3sv .m3sv-search{flex:1 1 280px;max-width:none;display:flex;align-items:center;height:48px;padding:0 6px 0 16px;margin:0;border:1px solid var(--sv-line);border-radius:10px;background:var(--sv-card);box-shadow:none}
.m3sv .m3sv-search input{height:46px;font-size:15px}
.m3sv .m3sv-search button{width:38px;height:38px;border:0;background:none;color:var(--ink);cursor:pointer;display:grid;place-items:center}
.m3sv .m3sv-search button .m3s-i{width:20px;height:20px}
@media (min-width:701px){.m3sv .m3s-fbar{position:static;padding:0;margin:0;border:0;background:none;flex:3 1 600px}.m3sv .m3s-fbar .m3s-in{display:flex;flex-wrap:wrap;gap:8px;align-items:center}}
.m3sv .m3s-ddb,.m3sv .m3s-sw,.m3sv .m3s-fbar select{height:48px;border-radius:10px!important;border:1px solid var(--sv-line)!important;background:var(--sv-card)!important;font-weight:500}
.m3sv .m3s-mbar{margin:0}
.m3sv-pricenote{display:flex;align-items:center;gap:8px;margin:14px 0 0;padding:10px 14px;border-radius:10px;background:rgba(255,67,0,.06);color:var(--ink);font-size:14px;font-weight:500}
.m3sv-pricenote .m3s-i{width:16px;height:16px;color:var(--accent);flex:none}
.m3sv .m3s-countrow{margin-top:16px}
/* product cards */
.m3sv .m3s-grid{gap:16px}
@media (min-width:1280px){.m3sv .m3s-grid:not(.is-list){grid-template-columns:repeat(5,minmax(0,1fr))}}
.m3sv .m3s-card{background:var(--sv-card);border:1px solid var(--sv-line);border-radius:var(--sv-r);overflow:hidden;box-shadow:none;transition:box-shadow .2s,transform .2s}
.m3sv .m3s-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(20,23,26,.35)}
.m3sv .m3s-card .m3s-ph{margin:8px 8px 0;border-radius:10px;background:#F3F6FA;aspect-ratio:1/1;overflow:hidden}
.m3sv .m3s-card .m3s-ph img{object-fit:contain;mix-blend-mode:multiply}
:root[data-theme="dark"] .m3sv .m3s-card .m3s-ph{background:#2A2E33}
:root[data-theme="dark"] .m3sv .m3s-card .m3s-ph img{mix-blend-mode:normal}
.m3sv .m3s-card .m3s-fav{top:16px;right:16px;background:#fff;border-radius:50%}
.m3sv .m3s-card .m3s-info{padding:12px 14px 14px}
.m3sv .m3s-card h3{font-size:15px;line-height:1.3}
.m3sv .m3s-card .m3s-row1{font-size:12.5px}
.m3sv .m3s-card .m3s-sub{display:none}
.m3sv .m3s-pr.is-ind{font-size:13px;font-weight:600;color:var(--ink-soft)}
.m3sv .m3s-more .m3s-btn{border-radius:10px}
/* collections (occasions) */
.m3sv .m3s-occsec{margin-top:44px;padding:26px;border-radius:18px;background:#F3F7FD var(--sv-bg) center/cover;border:1px solid var(--sv-line)}
:root[data-theme="dark"] .m3sv .m3s-occsec{background:#1A1D21}
.m3sv .m3s-occ{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.m3sv .m3s-occ a{border-radius:12px;overflow:hidden;background:var(--sv-card);border:1px solid var(--sv-line)}
/* see our projects */
.m3sv-pj{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:34px;align-items:center;margin-top:44px;padding:34px;border-radius:18px;background:var(--sv-card);border:1px solid var(--sv-line)}
.m3sv-pj-txt{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.m3sv-pj p{margin:0;font-size:16px;line-height:1.55;color:var(--ink-soft);max-width:520px}
.m3sv-pj-imgs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.m3sv-pj-imgs img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}
@media (max-width:1000px){.m3sv-hero,.m3sv-pj{grid-template-columns:1fr}.m3sv-hero-img{order:-1;justify-content:center}.m3sv-hero-img img{max-height:240px;-webkit-mask-image:none;mask-image:none}.m3sv-hero-in{padding:6px 0 30px}}
@media (max-width:700px){.m3sv .m3sv-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.m3sv .m3sv-tile{padding:8px 6px}.m3sv .m3sv-tile .nm{font-size:12px}.m3sv .m3s-fbar{flex:none}.m3sv-pj{padding:20px}.m3sv .m3s-occsec{padding:16px}}
.m3sv-pj-imgs img{aspect-ratio:16/10}
.m3sv-pj{align-items:center}
.m3sv-hero-img img{max-height:380px;border-radius:0}
@media (max-width:700px){.m3sv .m3s-mbar{flex:1 1 100%;position:static}.m3sv-tools{gap:8px}}
@media (max-width:700px){
  .m3sv .m3sv-tiles .m3sv-tile[data-c=""]{grid-column:auto}
  .m3sv .m3sv-tiles .m3sv-tile{display:flex;justify-content:flex-start;background:var(--sv-card);color:var(--ink);border-radius:12px;font-size:inherit}
  .m3sv .m3sv-tiles .m3sv-tile>span.nm{flex:none;text-align:center;display:-webkit-box}
  .m3sv .m3sv-tiles .m3sv-tile .cn{margin:-4px 0 0}
  .m3sv .m3sv-tiles .m3sv-tile[aria-pressed="true"]{background:var(--sv-card);color:var(--ink);border-color:var(--accent)}
}
.m3sv .m3sv-tile .ph img{border-radius:0!important;width:100%!important;height:100%!important;margin:0!important}
.m3sv .m3sv-tile .ph .m3s-i{position:static!important;margin:0!important}

/* =====================================================================
   v3.19 – Catalog, closer to the mockup: full width, pill + 2 buttons in
   the hero, one row of category tiles, products head with sort + view,
   cards with share / cart / "goes well with", collections, "need more?".
   ===================================================================== */
.m3sv2>.wrap,.m3sv2{max-width:none}
.m3sv2{--sx:clamp(20px,3vw,48px);padding:0 var(--sx) 56px;background:linear-gradient(180deg,#F5F8FD 0,var(--paper) 900px)}
:root[data-theme="dark"] .m3sv2{background:var(--paper)}
.m3sv2 .m3sv-hero{margin:0 calc(-1 * var(--sx));padding:0 var(--sx);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:420px;background:#EEF4FC url("../img/projects-hero-bg.jpg") center/cover no-repeat}
.m3sv-pill{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:999px;background:rgba(20,23,26,.06);color:var(--ink-soft);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.m3sv2 .m3sv-hero h1{font-size:clamp(32px,3.3vw,46px)}
.m3sv-hbtns{display:flex;flex-wrap:wrap;gap:12px}
.m3sv-btn2{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px 0 12px;border-radius:10px;border:1px solid var(--sv-line);background:#fff;color:var(--ink)!important;font-weight:600;font-size:15px;text-decoration:none}
.m3sv-btn2:hover{border-color:var(--ink)}
.m3sv-btn2 .pl{width:28px;height:28px;border-radius:50%;background:var(--accent);display:grid;place-items:center}
.m3sv-btn2 .pl svg{width:14px;height:14px;fill:#fff}
:root[data-theme="dark"] .m3sv-btn2{background:var(--sv-card)}
.m3sv2 .m3sv-feats{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:14px 28px}
.m3sv2 .m3sv-feats li{display:flex;align-items:center;gap:12px}
.m3sv2 .m3sv-feats .ic{width:42px;height:42px;border-radius:12px;background:#fff;display:grid;place-items:center;color:var(--accent);box-shadow:0 2px 10px rgba(20,40,80,.08);flex:none}
.m3sv2 .m3sv-feats .ic .m3s-i{width:20px;height:20px}
.m3sv2 .m3sv-feats b{display:block;font-size:14.5px;color:var(--ink)}
.m3sv2 .m3sv-feats small{display:block;font-size:12.5px;color:var(--ink-soft)}
.m3sv2 .m3sv-hero-img img{max-width:none;width:100%;max-height:420px;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%);mask-image:linear-gradient(90deg,transparent 0,#000 14%)}
/* headings / links */
.m3sv2 .m3sv-sech{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.m3sv2 .m3sv-sech h2,.m3sv-prodhead h2,.m3sv-more2 h2{margin:0;font-family:"Archivo",sans-serif;font-size:26px;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.m3sv2 .m3sv-sech p{margin:4px 0 0;font-size:14.5px;color:var(--ink-soft)}
.m3sv-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}
.m3sv-link .m3s-i{width:16px;height:16px}
.m3sv-link:hover{color:var(--accent)}
/* category tiles: one row */
.m3sv2 .m3sv-cats{margin-top:36px}
.m3sv2 .m3sv-tiles{grid-template-columns:repeat(8,minmax(0,1fr));gap:14px}
.m3sv2 .m3sv-tile{padding:14px 10px 14px;gap:10px;border-radius:14px;background:#fff}
.m3sv2 .m3sv-tile .ph{aspect-ratio:4/3;background:transparent;border-radius:10px}
.m3sv2 .m3sv-tile .ph img{object-fit:contain!important}
.m3sv2 .m3sv-tile .nm{font-size:14px;min-height:0;-webkit-line-clamp:2}
.m3sv2 .m3sv-tile[aria-pressed="true"]{box-shadow:0 0 0 2px var(--accent);border-color:transparent}
:root[data-theme="dark"] .m3sv2 .m3sv-tile{background:var(--sv-card)}
/* products head */
.m3sv-prods{margin-top:40px}
.m3sv-prodhead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.m3sv-prodhead h2 small{font-family:"IBM Plex Sans",sans-serif;font-size:15px;font-weight:600;color:var(--ink-faint);margin-left:6px}
.m3sv-ph-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.m3sv2 .m3sv-search{flex:none;width:280px;height:44px;padding:0 12px;gap:8px;border-radius:10px}
.m3sv2 .m3sv-search .m3s-i{width:18px;height:18px;color:var(--ink-soft)}
.m3sv2 .m3sv-search input{height:42px;font-size:14.5px}
.m3sv2 .m3s-mbar{display:block!important;position:static!important;margin:0;padding:0;background:none}
.m3sv-fbtn{width:auto!important;height:44px;padding:0 16px!important;border-radius:10px!important;border:1px solid var(--sv-line)!important;background:#fff!important;font-size:14.5px!important;font-weight:600!important;gap:8px}
.m3sv-sort{display:flex;align-items:center;gap:8px;height:44px;padding:0 6px 0 14px;border:1px solid var(--sv-line);border-radius:10px;background:#fff;font-size:13px;color:var(--ink-soft)}
.m3sv-sort select{border:0;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--ink);height:42px;cursor:pointer;outline:0}
.m3sv-view{display:flex;gap:6px}
.m3sv-view button{width:44px;height:44px;border-radius:10px;border:1px solid var(--sv-line);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer}
.m3sv-view button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
:root[data-theme="dark"] .m3sv-fbtn,:root[data-theme="dark"] .m3sv-sort,:root[data-theme="dark"] .m3sv-view button{background:var(--sv-card)!important}
.m3sv2 .m3sv-pricenote{margin:0 0 16px}
.m3sv2 .m3s-chips:not(:empty){margin-bottom:12px}
/* filter drawer on desktop (the same panel is a bottom sheet on phones) */
@media (min-width:701px){
  .m3sv2 .m3s-fback{display:block;position:fixed;inset:0;background:rgba(10,12,14,.4);z-index:998;opacity:0;pointer-events:none;transition:opacity .25s}
  .m3sv2 .m3s-fback.on{opacity:1;pointer-events:auto}
  .m3sv2 .m3s-fback[hidden]{display:block}
  .m3sv2 .m3s-fbar{position:fixed!important;top:0!important;right:0;bottom:0;left:auto;width:400px;max-width:92vw;z-index:999;margin:0;padding:0;border:0;background:var(--card);display:flex!important;flex-direction:column;transform:translateX(105%);transition:transform .3s ease;box-shadow:-20px 0 40px -20px rgba(0,0,0,.3)}
  .m3sv2 .m3s-fbar.open{transform:none}
  .m3sv2 .m3s-fhead{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}
  .m3sv2 .m3s-fhead b{font-size:18px}
  .m3sv2 .m3s-fx{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:none;font-size:20px;cursor:pointer}
  .m3sv2 .m3s-fbar .m3s-in{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;overflow-y:auto;gap:0;padding:6px 20px 12px;flex:1}
  .m3sv2 .m3s-fbar .m3s-dd{border-bottom:1px solid var(--line);padding:14px 0}
  .m3sv2 .m3s-fbar .m3s-ddb{border:0!important;background:transparent!important;padding:0 0 10px!important;height:auto;font-weight:800;font-size:15px;pointer-events:none;width:100%;justify-content:flex-start}
  .m3sv2 .m3s-fbar .m3s-ddb .m3s-i{display:none}
  .m3sv2 .m3s-fbar .m3s-ddp{display:flex!important;flex-wrap:wrap;gap:8px;position:static!important;min-width:0!important;border:0;box-shadow:none;padding:0;background:transparent}
  .m3sv2 .m3s-fbar .m3s-ck{border:1px solid var(--line);border-radius:999px;padding:7px 12px;gap:8px;font-size:14px}
  .m3sv2 .m3s-fbar .m3s-ck:has(input:checked){border-color:var(--accent);background:rgba(255,67,0,.08)}
  .m3sv2 .m3s-fbar .m3s-swatches{grid-template-columns:repeat(3,1fr);width:100%}
  .m3sv2 .m3s-fbar .m3s-sw{margin-top:12px;align-self:flex-start}
  .m3sv2 .m3s-ffoot{display:flex;gap:10px;padding:14px 20px;border-top:1px solid var(--line)}
  .m3sv2 .m3s-ffoot .m3s-btn{flex:1;border-radius:10px}
  .m3sv2 .m3s-ffoot .m3s-btn-or{flex:1.6;background:var(--accent);border-color:var(--accent);color:#fff}
}
/* cards */
.m3sv2 .m3s-grid{gap:16px}
@media (min-width:1100px){.m3sv2 .m3s-grid:not(.is-list){grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (min-width:1800px){.m3sv2 .m3s-grid:not(.is-list){grid-template-columns:repeat(6,minmax(0,1fr))}}
.m3sv2 .m3s-card{border-radius:14px;background:#fff;display:flex;flex-direction:column}
:root[data-theme="dark"] .m3sv2 .m3s-card{background:var(--sv-card)}
.m3sv2 .m3s-card .m3s-ph{margin:0;border-radius:0;background:#F4F6F9;aspect-ratio:1/1}
.m3sv2 .m3s-card .m3s-ph img{object-fit:contain;padding:10px;box-sizing:border-box}
.m3sv2 .m3s-card .m3s-badges{left:10px;top:10px}
.m3sv2 .m3s-card .m3s-fav,.m3sv2 .m3s-card .m3s-share{position:absolute;top:10px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.95);display:grid;place-items:center;cursor:pointer;z-index:3;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.m3sv2 .m3s-card .m3s-fav{right:52px}
.m3sv2 .m3s-card .m3s-share{right:12px}
.m3sv2 .m3s-card .m3s-share svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.m3sv2 .m3s-card .m3s-quick{display:none}
.m3sv2 .m3s-card .m3s-info{padding:12px 14px 12px;display:flex;flex-direction:column;gap:2px;flex:1}
.m3sv2 .m3s-card h3{order:1;font-size:15px;font-weight:700;line-height:1.3;margin:0}
.m3sv2 .m3s-card .m3s-row1{order:2;font-size:12.5px;color:var(--ink-soft)}
.m3sv2 .m3s-card .m3s-row2{order:3;display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.m3sv2 .m3s-pr.is-ind{font-size:14px;font-weight:700;color:var(--ink)}
.m3s-cartb{width:38px;height:38px;border-radius:10px;border:0;background:rgba(255,67,0,.1);color:var(--accent);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s}
.m3s-cartb .m3s-i{width:18px;height:18px}
.m3s-cartb:hover{background:var(--accent);color:#fff}
.m3sv2 .m3s-rel{order:4;margin-top:12px;padding:10px;border-radius:10px;background:#F4F6F9}
:root[data-theme="dark"] .m3sv2 .m3s-rel{background:#2A2E33}
.m3sv2 .m3s-rel small{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:8px}
.m3sv2 .m3s-rel div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.m3sv2 .m3s-rel a{display:block;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#fff}
.m3sv2 .m3s-rel img{width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box;transition:transform .3s}
.m3sv2 .m3s-rel a:hover img{transform:scale(1.08)}
.m3sv2 .m3s-more{margin-top:26px}
.m3sv2 .m3s-more .m3s-btn{border-radius:999px;padding:12px 26px}
/* collections */
.m3sv-col{margin-top:48px;padding:28px;border-radius:20px;background:#EEF4FC}
:root[data-theme="dark"] .m3sv-col{background:#1A1D21}
.m3sv2 .m3sv-colg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.m3sv2 .m3sv-colg a{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:#fff;border:0;text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
.m3sv2 .m3sv-colg a:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(20,23,26,.35)}
:root[data-theme="dark"] .m3sv2 .m3sv-colg a{background:var(--sv-card)}
.m3sv2 .m3sv-colg img{width:100%;aspect-ratio:16/8;object-fit:cover;display:block;border-radius:0}
.m3sv2 .m3sv-colg .b{display:flex;flex-direction:column;gap:3px;padding:12px 14px 14px}
.m3sv2 .m3sv-colg b{font-size:15px}
.m3sv2 .m3sv-colg small{font-size:13px;color:var(--ink-soft)}
.m3sv2 .m3sv-colg em{font-style:normal;margin-top:8px;font-size:13.5px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:6px}
.m3sv2 .m3sv-colg em .m3s-i{width:15px;height:15px}
/* need something else */
.m3sv-more2{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:30px;margin-top:28px;padding:34px 34px 34px 40px;border-radius:20px;background:#EEF4FC url("../img/projects-hero-bg.jpg") center/cover;overflow:hidden}
:root[data-theme="dark"] .m3sv-more2{background:#1A1D21}
.m3sv-more2-txt{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.m3sv-more2 p{margin:0;max-width:520px;font-size:16px;line-height:1.55;color:var(--ink-soft)}
.m3sv-more2-img{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;align-items:center}
.m3sv-more2-img .hp{width:100%;height:auto;max-height:260px;object-fit:contain;filter:drop-shadow(0 20px 26px rgba(20,40,80,.18))}
.m3sv-more2-img .ph{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;box-shadow:0 10px 30px -18px rgba(0,0,0,.4)}
/* responsive */
@media (max-width:1300px){.m3sv2 .m3sv-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1000px){.m3sv2 .m3sv-hero,.m3sv-more2{grid-template-columns:1fr}.m3sv2 .m3sv-colg{grid-template-columns:repeat(2,minmax(0,1fr))}.m3sv2 .m3sv-search{width:100%;flex:1 1 100%}.m3sv-ph-r{width:100%}}
@media (max-width:700px){
  .m3sv2 .m3sv-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .m3sv2 .m3s-grid:not(.is-list){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .m3sv2 .m3s-rel{display:none}
  .m3sv2 .m3s-card .m3s-share{display:none}
  .m3sv2 .m3s-card .m3s-fav{right:10px}
  .m3sv-sort{flex:1}.m3sv-sort select{flex:1}
  .m3sv-view{display:none}
  .m3sv-col{padding:16px;margin-left:calc(-1 * var(--sx));margin-right:calc(-1 * var(--sx));border-radius:0}
  .m3sv-more2{padding:22px}
  .m3sv-more2-img{grid-template-columns:1fr}
  .m3sv-more2-img .ph{display:none}
}
.m3sv2 .m3sv-colg a{display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:0!important;gap:0!important;min-height:0!important;text-align:left}
.m3sv2 .m3sv-colg a img{position:static!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;border-radius:0!important;flex:none!important}
.m3sv2 .m3sv-colg .b{align-items:flex-start;padding:14px 16px 16px!important}
.m3sv2 .m3sv-colg a{aspect-ratio:auto!important;color:var(--ink)!important;border-radius:14px}
.m3sv2 .m3sv-colg a:after{display:none!important}
.m3sv2 .m3sv-colg .b{position:static!important;color:var(--ink)}
.m3sv2 .m3sv-colg .b small{opacity:1;display:block}

/* =====================================================================
   v3.20 – Catalog tidy-up: content max 1600px (full-width backgrounds),
   video "screen" in the hero, sticky search + filters, simple cards.
   ===================================================================== */
.m3sv2{--cw:1600px}
.m3sv2>section:not(.m3sv-hero),.m3sv2>.m3sv-cats,.m3sv2>.m3sv-prods,.m3sv2>.m3sv-col,.m3sv2>.m3sv-more2{max-width:var(--cw);margin-left:auto;margin-right:auto}
.m3sv2 .m3sv-hero{display:block;min-height:0;padding:0}
.m3sv2 .m3sv-hero::before{content:none}
.m3sv2 .m3sv-hero{background:#EEF4FC url("../img/projects-hero-bg.jpg") center/cover no-repeat}
.m3sv2 .m3sv-hero>*{position:relative}
.m3sv2 .m3sv-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center;padding:44px max(var(--sx),calc((100% - var(--cw)) / 2)) 54px}
.m3sv2 .m3sv-hero-in{padding:0}
.m3sv-stage{position:relative;padding:0 0 40px 40px}
.m3sv-screen{position:relative;border-radius:18px;overflow:hidden;background:#111;aspect-ratio:16/9;box-shadow:0 30px 60px -30px rgba(20,40,80,.45),0 0 0 8px rgba(255,255,255,.7)}
.m3sv-screen video{width:100%;height:100%;object-fit:cover;display:block}
.m3sv-live{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(10,12,14,.65);color:#fff;font-size:12.5px;font-weight:600;backdrop-filter:blur(6px)}
.m3sv-live i{width:8px;height:8px;border-radius:50%;background:#2ECC71;animation:m3pjPulse 1.6s ease-in-out infinite}
.m3sv-parts{position:absolute;left:-10px;bottom:-6px;width:58%;height:auto;filter:drop-shadow(0 18px 24px rgba(20,40,80,.28));pointer-events:none}
@media (prefers-reduced-motion:reduce){.m3sv-live i{animation:none}}
/* sticky search + filters */
.m3sv2 .m3sv-prodhead{position:sticky;top:var(--m3s-sticky,72px);z-index:40;margin:0 calc(-1 * var(--sx)) 14px;padding:12px var(--sx);background:rgba(245,248,253,.92);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
:root[data-theme="dark"] .m3sv2 .m3sv-prodhead{background:rgba(21,23,26,.92)}
.m3sv2 .m3sv-ph-r{flex:1;justify-content:flex-end}
.m3sv2 .m3sv-search{flex:1 1 360px;max-width:520px;width:auto;height:48px;border-color:rgba(20,23,26,.18);background:#fff}
.m3sv2 .m3sv-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,67,0,.12)}
.m3sv2 .m3sv-search input{height:46px;font-size:15px}
.m3sv-fbtn,.m3sv-sort{height:48px!important}
.m3sv-fbtn{border-color:rgba(20,23,26,.18)!important}
.m3sv-fbtn .n{background:var(--accent);color:#fff;border-radius:6px;min-width:20px;height:20px;font-size:12px;display:inline-grid;place-items:center;padding:0 5px}
/* simple cards */
.m3sv2 .m3s-grid,.m3sv2 .m3s-grid.is-list{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px}
.m3sv2 .m3s-grid.is-list .m3s-card{flex-direction:column!important}
.m3sv2 .m3s-card .m3s-ph{aspect-ratio:1/1;width:auto!important;height:auto!important;flex:none!important;background:#F4F6F9}
.m3sv2 .m3s-card .m3s-ph img{object-fit:cover;padding:0}
.m3sv2 .m3s-card .m3s-ph img+img{display:none}
.m3sv2 .m3s-card .m3s-info{padding:12px 14px 14px;gap:3px}
.m3sv2 .m3s-card h3{font-size:15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.m3sv2 .m3s-card .m3s-sub{display:none!important}
.m3sv2 .m3s-card .m3s-row2{margin-top:auto;padding-top:10px}
.m3sv2 .m3s-pr.is-ind{font-size:13px;font-weight:600;color:var(--ink-soft)}
.m3sv2 .m3s-rel{display:none!important}
@media (max-width:1400px){.m3sv2 .m3s-grid,.m3sv2 .m3s-grid.is-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media (max-width:1100px){.m3sv2 .m3s-grid,.m3sv2 .m3s-grid.is-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}.m3sv2 .m3sv-hero{grid-template-columns:1fr;gap:24px}.m3sv-stage{padding:0 0 30px 30px;max-width:720px}}
@media (max-width:700px){
  .m3sv2 .m3s-grid,.m3sv2 .m3s-grid.is-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .m3sv2 .m3sv-hero{padding:24px var(--sx) 30px}
  .m3sv-stage{order:-1;padding:0 0 20px 16px}
  .m3sv-screen{box-shadow:0 20px 40px -24px rgba(20,40,80,.45),0 0 0 5px rgba(255,255,255,.7)}
  .m3sv2 .m3sv-prodhead{padding:10px var(--sx)}
  .m3sv2 .m3sv-prodhead h2{font-size:20px}
  .m3sv2 .m3sv-ph-r{gap:8px}
  .m3sv2 .m3sv-search{flex:1 1 100%;max-width:none}
  .m3sv2 .m3s-mbar{flex:1}.m3sv-fbtn{width:100%!important;justify-content:center}
}
/* v3.20: sticky bar spans the whole window; hero text lines up with sections */
.m3sv2 .m3sv-prodhead{margin-left:0;margin-right:0;padding-left:0;padding-right:0;box-shadow:0 0 0 100vmax rgba(245,248,253,.96);clip-path:inset(0 -100vmax);background:rgba(245,248,253,.96)}
:root[data-theme="dark"] .m3sv2 .m3sv-prodhead{box-shadow:0 0 0 100vmax rgba(21,23,26,.96);background:rgba(21,23,26,.96)}
.m3sv2 .m3sv-prods,.m3sv2 .m3sv-cats{padding-left:var(--sx);padding-right:var(--sx)}
.m3sv2 .m3sv-hero{padding-left:max(var(--sx),calc((100% - var(--cw)) / 2 + var(--sx)));padding-right:max(var(--sx),calc((100% - var(--cw)) / 2 + var(--sx)))}
.m3sv2 .m3sv-hero{padding-left:calc(max(0px,(100% - var(--cw)) / 2) + 2 * var(--sx));padding-right:calc(max(0px,(100% - var(--cw)) / 2) + 2 * var(--sx))}
@media (max-width:700px){.m3sv2 .m3sv-hero{padding-left:var(--sx);padding-right:var(--sx)}}

/* =====================================================================
   v3.21 – Catalog hero: animated 3D scene (each model is its own layer)
   ===================================================================== */
.m3sv2 .m3sv-hero{background:linear-gradient(115deg,#F7FAFF 0%,#EAF2FE 45%,#DCEAFD 100%);overflow:hidden}
.m3sv2 .m3sv-hero::after{content:"";position:absolute;right:-8%;top:-30%;width:60%;height:160%;background:radial-gradient(closest-side,rgba(255,255,255,.85),rgba(255,255,255,0));pointer-events:none}
.m3sv2 .m3sv-hero{position:relative;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding-top:28px;padding-bottom:28px}
.m3h3d{position:relative;aspect-ratio:1144/750;width:100%;max-width:900px;justify-self:end;z-index:1}
.m3h3d .l{position:absolute;display:block;will-change:transform;transition:translate .5s cubic-bezier(.2,.7,.3,1)}
.m3h3d .l img{width:100%;height:auto;display:block}
.m3h3d img.l{height:auto}
.m3h3d .scene{left:21.85%;top:0;width:78.15%;-webkit-mask-image:radial-gradient(ellipse 54% 62% at 54% 50%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 54% 62% at 54% 50%,#000 58%,transparent 100%)}
.m3h3d .cat{left:25.35%;top:39.33%;width:15.73%;transform-origin:50% 100%;animation:m3hBob 4.2s ease-in-out infinite}
.m3h3d .vase{left:38.46%;top:48%;width:19.23%;transform-origin:50% 100%;animation:m3hSway 7s ease-in-out infinite}
.m3h3d .vase i{position:absolute;inset:0;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%) -150% 0/250% 100% no-repeat;animation:m3hShine 5.5s ease-in-out infinite 1.5s}
.m3h3d .succ{left:57.87%;top:71.73%;width:16.26%;transform-origin:50% 95%;animation:m3hWig 5s ease-in-out infinite .6s}
.m3h3d .ball{left:76.75%;top:63.73%;width:20.28%;animation:m3hSpin 40s linear infinite}
.m3h3d .cube{filter:drop-shadow(0 10px 14px rgba(24,88,214,.28))}
.m3h3d .cube svg{display:block;width:100%;height:auto}
.m3h3d .c1{left:80.2%;top:25.6%;width:7%;animation:m3hCube 7s ease-in-out infinite}
.m3h3d .c2{left:-1%;top:54%;width:6%;animation:m3hCube 8s ease-in-out infinite -2s}
.m3h3d .c3{left:34%;top:3%;width:4.5%;animation:m3hCube 6s ease-in-out infinite -4s}
.m3h3d .c4{left:17%;top:73%;width:3.5%;animation:m3hCube 5.5s ease-in-out infinite -1s}
.m3h3d .astro{left:.44%;top:2.67%;width:32.78%;z-index:3}
.m3h3d .astro img{transform-origin:55% 45%;animation:m3hIntro 2.6s cubic-bezier(.2,.8,.25,1) both,m3hFloat 6s ease-in-out 2.6s infinite}
@keyframes m3hIntro{
  0%{opacity:0;transform:translate(70%,-35%) scale(.45) rotate(-35deg)}
  45%{opacity:1;transform:translate(10%,-6%) scale(1.06) rotate(10deg)}
  58%{transform:translate(0,0) scale(1) rotate(-7deg)}
  70%{transform:rotate(6deg)}
  82%{transform:rotate(-4deg)}
  100%{transform:none}}
@keyframes m3hFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(-3deg)}}
@keyframes m3hBob{0%,100%{transform:none}50%{transform:translateY(-5px) scaleY(1.015)}}
@keyframes m3hSway{0%,100%{transform:rotate(0)}50%{transform:rotate(-1.4deg)}}
@keyframes m3hShine{0%,55%{background-position:-150% 0}100%{background-position:250% 0}}
@keyframes m3hWig{0%,100%{transform:rotate(0)}30%{transform:rotate(2.5deg)}60%{transform:rotate(-2deg)}}
@keyframes m3hSpin{to{transform:rotate(360deg)}}
@keyframes m3hCube{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(14deg)}}
@media (max-width:1100px){.m3sv2 .m3sv-hero{grid-template-columns:1fr}.m3h3d{justify-self:center;max-width:680px}}
@media (max-width:700px){
  .m3h3d{order:-1;margin:-6px -8px 0}
  .m3h3d .vase i,.m3h3d .c3,.m3h3d .c4{display:none}
  .m3h3d .astro img{animation:m3hFloat 6s ease-in-out infinite}
  .m3h3d .ball{animation-duration:60s}
}
@media (prefers-reduced-motion:reduce){.m3h3d .l,.m3h3d .l img,.m3h3d .vase i{animation:none!important;transition:none!important}}
/* v3.23 – product photos keep their original background (no blending) */
.m3sv .m3sv-tile .ph img,.m3sv .m3s-card .m3s-ph img{mix-blend-mode:normal!important;filter:none!important}
/* v3.38 – filament dropdown (product page) */
.m3fp-opt h4{display:flex;align-items:center;justify-content:space-between;gap:10px}
.m3fp-all{font-size:12.5px;font-weight:600;color:var(--mut,#6b7279);text-decoration:underline}
.m3fp{position:relative;margin-bottom:8px}
.m3fp-b{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:8px 14px 8px 10px;border:1.5px solid var(--line,#e3e5e7);border-radius:14px;background:#fff;cursor:pointer;font:inherit;text-align:left;color:var(--ink,#14171a);transition:border-color .2s}
.m3fp-b:hover,.m3fp.op .m3fp-b{border-color:var(--ink,#14171a)}
.m3fp-b .t{flex:1;min-width:0;line-height:1.25}
.m3fp-b .t small{display:block;font-size:11.5px;color:var(--mut,#6b7279);font-weight:600}
.m3fp-b .t b{font-size:15px}.m3fp-b .t em{font-style:normal;font-size:13px;color:var(--mut,#6b7279)}
.m3fp-b svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .2s}
.m3fp.op .m3fp-b svg{transform:rotate(180deg)}
.m3fp-ball{display:inline-block;width:32px;height:32px;border-radius:50%;flex:none;border:0;padding:0;position:relative;background:var(--d)}
.m3fp-ball.gloss{background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.6),rgba(255,255,255,0) 30%),radial-gradient(circle at 60% 65%,var(--d) 55%,color-mix(in srgb,var(--d) 75%,#000))}
.m3fp-ball.matte{background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--d) 85%,#fff),var(--d) 60%,color-mix(in srgb,var(--d) 85%,#000))}
.m3fp-ball.silk{background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.85),rgba(255,255,255,0) 34%),conic-gradient(from 200deg,color-mix(in srgb,var(--d) 70%,#fff),var(--d),color-mix(in srgb,var(--d) 70%,#000),var(--d),color-mix(in srgb,var(--d) 70%,#fff))}
.m3fp-ball{box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.m3fp-pop{display:none;position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line,#e3e5e7);border-radius:16px;box-shadow:0 18px 40px rgba(20,24,28,.14);padding:6px 14px 14px;max-height:340px;overflow:auto}
.m3fp.op .m3fp-pop{display:block}
.m3fp-pop .g{display:flex;align-items:center;gap:10px;margin:10px 0 6px;font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--ink,#14171a)}
.m3fp-pop .g::after{content:"";flex:1;height:1px;background:var(--line,#e3e5e7)}
.m3fp-pop .row{display:flex;flex-wrap:wrap;gap:7px}
.m3fp-pop .row .m3fp-ball{width:30px;height:30px;cursor:pointer;transition:transform .15s}
.m3fp-pop .row .m3fp-ball:hover{transform:scale(1.15)}
.m3fp-pop .row .m3fp-ball.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink,#14171a)}
.m3fp-pop .pop{position:absolute;right:-4px;top:-4px;width:15px;height:15px;border-radius:50%;background:#FF4300;color:#fff;font-size:9px;line-height:15px;text-align:center;box-shadow:0 0 0 2px #fff}
/* duplicate warning (drawer + order) */
.m3s-dup{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;background:#fff4ec;border:1px solid #ffd2b8;border-radius:12px;padding:10px 12px;margin:0 0 10px;font-size:13.5px}
.m3s-dup b{color:#b33a00}.m3s-dup span{flex:1 1 100%;color:#6b4a3a}
.m3s-dup button{margin-left:auto;height:32px;padding:0 14px;border-radius:999px;border:1px solid #b33a00;background:#fff;color:#b33a00;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
/* order: grouped versions */
.m3o-g{border-bottom:1px solid var(--line,#e3e5e7);padding:14px 0}
.m3o-g:last-child{border-bottom:0}
.m3o-h{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.m3o-h img,.m3o-h .m3s-ph0{width:72px;height:72px;border-radius:14px;object-fit:cover;flex:none}
.m3o-h b{display:block;font-size:15.5px}.m3o-h small{color:var(--mut,#6b7279);font-size:13px}
.m3o-g .m3s-line.m3o-v{display:grid!important;grid-template-columns:1fr auto;gap:6px 14px;align-items:start;padding:10px 0 10px 86px;border:0!important;margin:0}
.m3o-g.multi .m3s-line.m3o-v{padding:12px 14px;margin:6px 0 0 86px;background:#fafbfc;border:1px solid var(--line,#e3e5e7)!important;border-radius:14px;grid-template-columns:auto 1fr auto}
.m3o-n{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--mut,#6b7279);padding-top:5px;white-space:nowrap}
.m3o-d{display:flex;flex-direction:column;gap:6px;min-width:0}
.m3o-d small{color:var(--mut,#6b7279);font-size:13px}
.m3o-chips{display:flex;flex-wrap:wrap;gap:6px}
.m3o-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line,#e3e5e7);border-radius:999px;padding:4px 10px 4px 5px;font-size:13px}
.m3o-chip i{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.m3o-chip em{font-style:normal;color:var(--mut,#6b7279)}.m3o-chip small{color:var(--mut,#6b7279);font-size:12px}
.m3o-note{font-size:13px;background:#fffbe8;border:1px solid #f1e2a6;border-radius:10px;padding:6px 10px;color:#5b4a14}
.m3o-d .q{display:inline-flex;align-items:center;gap:8px}
@media (max-width:640px){.m3o-g .m3s-line.m3o-v{padding-left:0}.m3o-g.multi .m3s-line.m3o-v{margin-left:0;grid-template-columns:1fr auto}.m3o-n{grid-column:1/-1}}

/* v3.39 – compact palette: small dot + name */
.m3fp-pop{padding:4px 12px 12px;max-height:360px}
.m3fp-pop .g{margin:8px 0 4px;font-size:10.5px}
.m3fp-pop .row{display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:2px}
.m3fp-o{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 2px 4px;border:1px solid transparent;border-radius:9px;background:none;cursor:pointer;font:inherit;color:var(--ink,#14171a);min-width:0}
.m3fp-o:hover{background:#f4f5f6}
.m3fp-o.on{border-color:var(--ink,#14171a);background:#fff}
.m3fp-o .m3fp-ball{width:18px;height:18px}
.m3fp-o span{font-size:10.5px;line-height:1.15;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m3fp-o .pop{right:-6px;top:-6px;width:12px;height:12px;font-size:7px;line-height:12px}
.m3fp-b{min-height:46px;padding:6px 12px 6px 8px}
.m3fp-b .m3fp-ball{width:26px;height:26px}
.m3fp-pop .row .m3fp-o .m3fp-ball{width:16px;height:16px;transform:none!important}
.m3fp-pop .row .m3fp-o.on .m3fp-ball{box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.m3fp-pop .row{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:1px}
.m3fp-o{padding:4px 2px 3px;gap:2px}
.m3fp-o span{font-size:10px}
/* v3.54 – quick add: preferences chosen in the cart */
.m3s-pend{display:flex;flex-direction:column;gap:6px;background:#FFF4EE;border:1px solid #FFD3BF;border-radius:14px;padding:12px 14px;margin-bottom:10px;font-size:13.5px;color:var(--ink)}
.m3s-pend a{font-weight:700;color:#FF4300;text-decoration:none}
.m3o-pref{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.m3o-pend{font-size:12.5px;font-weight:700;color:#C2410C;background:#FFF4EE;border-radius:999px;padding:4px 10px}
.m3o-pb{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line,#e3e5e7);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
.m3o-pb svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.m3o-pb:hover,.m3o-pb.on{border-color:#FF4300;color:#FF4300}
.m3s-line.is-pend{box-shadow:inset 3px 0 0 #FF4300}
.m3o-pe{grid-column:1/-1;width:100%;background:#FAFAFA;border:1px solid var(--line,#e3e5e7);border-radius:16px;padding:14px;margin-top:10px;display:grid;gap:12px}
.m3o-pf>label{display:block;font-size:12.5px;font-weight:700;color:var(--ink-soft);margin-bottom:6px}
.m3o-seg{display:flex;flex-wrap:wrap;gap:6px}
.m3o-seg button{border:1.5px solid var(--line,#e3e5e7);background:#fff;border-radius:12px;padding:7px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink);text-align:left;line-height:1.2}
.m3o-seg button small{display:block;font-weight:500;font-size:11.5px;color:var(--ink-soft)}
.m3o-seg button[aria-pressed="true"]{border-color:#FF4300;background:#FFF4EE}
.m3o-fps{display:grid;gap:6px}
.m3o-pe .m3fp{margin-bottom:0}
.m3o-pe input[type=text],.m3o-pe textarea{width:100%;box-sizing:border-box;border:1.5px solid var(--line,#e3e5e7);border-radius:12px;padding:9px 12px;font:inherit;font-size:14px;background:#fff;color:var(--ink)}
.m3o-pe input:focus,.m3o-pe textarea:focus{outline:none;border-color:#FF4300}
.m3o-done{justify-self:start;border:0;background:#FF4300;color:#fff;border-radius:12px;padding:10px 18px;font:inherit;font-weight:700;font-size:14px;cursor:pointer}
.m3s-line.m3o-saved{animation:m3oSaved 1.4s ease}
@keyframes m3oSaved{0%{background:#FFF4EE}100%{background:transparent}}
.m3o-g .m3s-line.m3o-v .m3o-pref,.m3o-g .m3s-line.m3o-v .m3o-pe{grid-column:1/-1}
.m3s-perks>a.m3dl-perk{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 12px;font-size:13px;color:var(--ink-soft);text-decoration:none;transition:border-color .2s}
.m3s-perks>a.m3dl-perk:hover{border-color:#FF4300}
.m3s-perks>a.m3dl-perk b::after{content:" →";color:#FF4300}
.m3s-legal{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--ink-faint,#8a9097);text-align:center}
.m3s-legal a,.m3s-ck2 a{color:inherit;text-decoration:underline}

/* v3.71 – several colours: chips under the colour picker */
.m3fp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.m3fp-chips:empty{display:none}
.m3fp-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 6px 5px 8px;border:1px solid var(--line);border-radius:99px;background:var(--card);font-size:13px;color:var(--ink)}
.m3fp-chip .m3fp-ball{width:16px;height:16px;flex:none}
.m3fp-chip b{font-weight:600}
.m3fp-chip small{color:var(--ink-faint);font-size:11.5px}
.m3fp-chip button{width:22px;height:22px;border-radius:50%;border:0;background:transparent;color:var(--ink-faint);font-size:16px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.m3fp-chip button:hover{background:var(--paper-2,#E2E6E7);color:var(--accent)}
.m3fp-hint{font-weight:400;color:var(--ink-faint);font-size:12.5px;margin-left:4px}
/* v3.71.1 – order page: product link */
.m3o-h b a{color:inherit;text-decoration:none}.m3o-h b a:hover{color:var(--accent)}
.m3o-view{display:inline-block;margin-top:3px;font-size:13px;font-weight:500;color:var(--accent);text-decoration:none}
.m3o-view:hover{text-decoration:underline;text-underline-offset:3px}
.m3o-h .m3o-view{color:var(--accent);display:inline-block}

/* v3.80: colour hint under the title */
.m3fp-parts{margin:-4px 0 10px;font-size:13px;line-height:1.45;color:var(--ink-soft,#5B636B)}
