/* Customer menu. Copied from the prototype (src/), keep the two in step. Also inlined into the downloadable menu file. */
.cv{--m:#480c1d;--g:#b38c4d;--c:#f8f3f0;--t:#2a1a1f;--mt:#7d6a6f;--l:#eadfdb;background:var(--c);color:var(--t);font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;border-radius:inherit;overflow:hidden}
.cv *{box-sizing:border-box}
.cv-head{background:var(--m);color:#fff;text-align:center;padding:26px 16px 8px}
.cv-logo{font:400 34px/1 "Marcellus",Georgia,serif;letter-spacing:.24em;margin:0}
.cv-sub{font-size:11px;letter-spacing:.32em;color:var(--g);font-weight:700;margin-top:8px;text-transform:uppercase}
.cv-nav{background:var(--m);padding:6px 16px 18px}
.cv-nav-in{max-width:1100px;margin:0 auto}
.cv-search{display:block;width:100%;max-width:420px;margin:8px auto 4px;padding:10px 16px;border-radius:999px;border:0;font:inherit;background:#fff;color:var(--t)}
.cv-label{color:#fff;font-size:11px;letter-spacing:.2em;font-weight:800;margin:14px 0 8px}
.cv-row{display:flex;flex-wrap:wrap;gap:8px}
.cv-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--t);border:0;border-radius:999px;padding:4px 14px 4px 4px;font:700 13.5px/1 inherit;font-family:inherit;cursor:pointer}
.cv-chip img,.cv-chip .cv-ph{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:none;background:#ecdccf}
.cv-chip.on{background:var(--g);color:#2b1a08}
.cv-chip.cv-full{background:transparent;color:#fff;border:1.5px solid var(--g);padding:8px 18px}
.cv-chip.cv-full.on{background:var(--g);color:#2b1a08}
.cv-chip:focus-visible{outline:2px solid #fff;outline-offset:2px}
.cv-main{background:#5c1327;padding:20px 10px 48px}
.cv-main-in{max-width:1100px;margin:0 auto}
.cv-group{font-size:12px;letter-spacing:.22em;font-weight:800;color:var(--g);text-transform:uppercase;margin:22px 0 0}
.cv-group:first-child{margin-top:4px}
.cv-h{font:400 26px/1.2 "Marcellus",Georgia,serif;margin:4px 0 14px;color:#fff}
.cv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:580px){.cv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cv-card{background:#fff;border:0;border-radius:18px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;text-align:left;padding:10px;font:inherit;color:inherit;min-width:0}
.cv-card:hover{box-shadow:0 8px 22px rgba(0,0,0,.25)}
.cv-img{width:100%;aspect-ratio:1/1;max-width:100%;object-fit:cover;display:block;background:#efe3dc;border-radius:14px}
.cv-noimg{width:100%;aspect-ratio:1/1;display:grid;place-items:center;background:#efe3dc;color:#a0867a;font:400 20px "Marcellus",Georgia,serif;letter-spacing:.1em;border-radius:14px}
.cv-b{padding:5px;display:flex;flex-direction:column;gap:4px;flex:1}
.cv-top{display:flex;flex-direction:column;gap:2px}
.cv-id{font-size:10.5px;font-weight:800;letter-spacing:.08em;color:#8a6f74;margin-top:6px}
.cv-n{font-weight:600;font-size:15px;line-height:23px;color:#000}
.cv-p{font-weight:900;font-size:18px;color:#c19d60;white-space:nowrap;margin-top:auto;padding-top:8px}
.cv-p small{font-size:11px;font-weight:800;margin-left:3px}
.cv-d{color:#000;font-size:13px;font-weight:300;line-height:1.6;height:42px;overflow:hidden}
.cv-box .cv-b{padding:16px 18px 18px}
.cv-box .cv-img,.cv-box .cv-noimg{border-radius:0}
.cv-box .cv-d{height:auto;font-size:14px}
.cv-box .cv-p{margin-top:4px}
.cv-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.cv-tag{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:#f5ece3;color:#6e5232}
.cv-empty{color:#e9d9dc;font-style:italic}
.cv-tags{margin-top:2px}
.cv-pop{position:fixed;inset:0;background:rgba(30,6,14,.7);display:flex;align-items:center;justify-content:center;padding:16px;z-index:90}
.cv-pop[hidden]{display:none}
.cv-box{background:#fff;border-radius:18px;max-width:500px;width:100%;max-height:90vh;overflow:auto;position:relative;color:var(--t)}
.cv-x{position:absolute;z-index:3;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:0;background:#fff;font-size:20px;cursor:pointer;color:var(--t)}
.cv-foot{text-align:center;color:var(--mt);font-size:11.5px;padding:0 16px 24px}

/* ---------- motion (both themes) ---------- */
.cv-orn{display:none}
.cv-pw{color:#5c1327}
.cv-card{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s;animation:cvIn .55s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0)*45ms)}
.cv-card:hover{transform:translateY(-3px)}
.cv-card:active{transform:scale(.965);transition-duration:.08s}
.cv-card .cv-img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.cv-card:hover .cv-img{transform:scale(1.04)}
.cv-h,.cv-group{animation:cvFade .5s ease both}
.cv-chip{transition:transform .2s,background-color .25s,color .25s,box-shadow .25s}
.cv-chip:active{transform:scale(.94)}
.cv-chip.pop{animation:cvChip .5s cubic-bezier(.2,.7,.2,1)}
.cv-pop{opacity:0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cv-pop.open{animation:cvBg .3s ease forwards}
.cv-pop.open .cv-box{animation:cvBox .45s cubic-bezier(.2,.8,.2,1) both}
.cv-pop.open .cv-box .cv-img{animation:cvZoom 1.4s cubic-bezier(.2,.7,.2,1) both}
.cv-pop.open .cv-box .cv-b>*{animation:cvUp .45s cubic-bezier(.2,.7,.2,1) both}
.cv-pop.open .cv-box .cv-b>*:nth-child(2){animation-delay:.06s}.cv-pop.open .cv-box .cv-b>*:nth-child(3){animation-delay:.12s}.cv-pop.open .cv-box .cv-b>*:nth-child(4){animation-delay:.18s}
.cv-box{overflow:auto;overflow-x:hidden}
.cv-pop.closing{animation:cvBgOut .23s ease forwards}
.cv-pop.closing .cv-box{animation:cvBoxOut .23s ease forwards}
@keyframes cvIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes cvFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes cvChip{0%{transform:scale(.92)}55%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes cvBg{from{opacity:0}to{opacity:1}}
@keyframes cvBgOut{from{opacity:1}to{opacity:0}}
@keyframes cvBox{from{opacity:0;transform:translateY(28px) scale(.94)}to{opacity:1;transform:none}}
@keyframes cvBoxOut{to{opacity:0;transform:translateY(16px) scale(.97)}}
@keyframes cvZoom{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes cvUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cv *,.cv-pop,.cv-pop *{animation:none!important;transition:none!important}.cv-pop{opacity:1}}

/* ---------- Noir & Gold theme ---------- */
.cv-noir{--m:#0e0b0c;--g:#c9a96a;--c:#0e0b0c;--t:#efe6da;--mt:#8f7f6c;--l:rgba(201,169,106,.2);background:#0e0b0c;color:#efe6da}
.cv-noir .cv-head{background:radial-gradient(120% 140% at 50% 0%,#3a1520 0%,#1a0e12 45%,#0e0b0c 80%);padding:34px 16px 10px}
.cv-noir .cv-logo{color:#ecd7ab;letter-spacing:.34em;font-size:38px;text-shadow:0 2px 18px rgba(201,169,106,.18)}
.cv-noir .cv-sub{color:#c9a96a;letter-spacing:.42em;font-weight:600}
.cv-noir .cv-orn{display:block;width:120px;height:10px;margin:14px auto 0;background:linear-gradient(90deg,transparent,#c9a96a 35%,transparent 35%,transparent 65%,#c9a96a 65%,transparent) center/100% 1px no-repeat;position:relative}
.cv-noir .cv-orn::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border:1px solid #c9a96a;transform:translate(-50%,-50%) rotate(45deg)}
.cv-noir .cv-nav{background:#0e0b0c;border-bottom:1px solid rgba(201,169,106,.22)}
.cv-noir .cv-search{background:rgba(255,255,255,.03);border:1px solid rgba(201,169,106,.38);color:#efe6da}
.cv-noir .cv-search::placeholder{color:#8f7f6c}
.cv-noir .cv-search:focus{outline:none;border-color:#c9a96a;box-shadow:0 0 0 3px rgba(201,169,106,.15)}
.cv-noir .cv-label{color:#c9a96a;letter-spacing:.28em;font-weight:700}
.cv-noir .cv-chip{background:#19141a00;background:#171214;color:#e7dccd;border:1px solid rgba(201,169,106,.26)}
.cv-noir .cv-chip:hover{border-color:rgba(201,169,106,.6)}
.cv-noir .cv-chip img,.cv-noir .cv-chip .cv-ph{background:#2a2023}
.cv-noir .cv-chip.on{background:linear-gradient(135deg,#e2c88f,#b08a45);color:#1a1206;border-color:transparent;box-shadow:0 6px 18px rgba(201,169,106,.25)}
.cv-noir .cv-chip.cv-full{color:#ecd7ab;border-color:#c9a96a;background:transparent}
.cv-noir .cv-chip.cv-full.on{background:linear-gradient(135deg,#e2c88f,#b08a45);color:#1a1206}
.cv-noir .cv-main{background:#0e0b0c;padding-top:26px}
.cv-noir .cv-group{color:#9b8566;letter-spacing:.3em;font-weight:700}
.cv-noir .cv-h{color:#f3e8d6;font-size:30px;letter-spacing:.02em}
.cv-noir .cv-h::after{content:"";display:block;width:44px;height:1px;background:#c9a96a;margin-top:12px}
.cv-noir .cv-grid{gap:14px}
.cv-noir .cv-card{background:linear-gradient(180deg,#191315,#141012);border:1px solid rgba(201,169,106,.16);border-radius:16px}
.cv-noir .cv-card:hover{border-color:rgba(201,169,106,.55);box-shadow:0 14px 36px rgba(0,0,0,.55),0 0 0 1px rgba(201,169,106,.15)}
.cv-noir .cv-img,.cv-noir .cv-noimg{border-radius:12px;background:#221a1d}
.cv-noir .cv-noimg{color:#6f5d48}
.cv-noir .cv-id{color:#8f7a5c}
.cv-noir .cv-n{color:#f4ebdd;font-weight:600;letter-spacing:.05em;font-size:14.5px}
.cv-noir .cv-d{color:#a99a89}
.cv-noir .cv-p{color:#dcc089;font-weight:800;letter-spacing:.02em}
.cv-noir .cv-p small{color:#9b8566}
.cv-noir .cv-empty{color:#8f7f6c}
.cv-noir .cv-foot{background:#0e0b0c;color:#8f7f6c;border-top:1px solid rgba(201,169,106,.15)}
.cv-noir .cv-pw{color:#c9a96a}
.cv-noir .cv-pop{background:rgba(5,3,4,.78)}
.cv-noir .cv-box{background:#151012;color:#efe6da;border:1px solid rgba(201,169,106,.3);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.cv-noir .cv-x{background:rgba(14,11,12,.8);color:#ecd7ab;border:1px solid rgba(201,169,106,.4)}
.cv-noir .cv-tag{background:#231a1d;color:#d9bd84;border:1px solid rgba(201,169,106,.2)}
