/* Bulk custom orders: pop-up + /custom-orders/ page. Colors are this brand's own. */
:root{--co-ink:#1D2A37;--co-text:#33414F;--co-muted:#5A6674;--co-paper:#FFFDF8;--co-bg:#F8F5EE;--co-line:#E4DCCC;
--co-acc:#23374C;--co-acc-ink:#FFFFFF;--co-pop:#E9B949;--co-pop-ink:#1D2A37;--co-soft:#F7EEDB}
.co-stamp{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--co-pop);color:var(--co-pop-ink);
 font-weight:800;font-size:22px;line-height:1;letter-spacing:-.02em;transform:rotate(-8deg);box-shadow:inset 0 0 0 3px var(--co-paper),0 0 0 2px var(--co-pop)}
.co-stamp small{display:block;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.co-pop{position:fixed;left:20px;bottom:20px;z-index:65;width:min(360px,calc(100vw - 24px));box-sizing:border-box;background:var(--co-paper);color:var(--co-text);
 border:1px solid var(--co-line);border-radius:20px;box-shadow:0 24px 60px -20px rgba(0,0,0,.35);padding:16px 16px 14px;display:flex;gap:14px;align-items:flex-start;
 transform:translateY(calc(100% + 40px));opacity:0;transition:transform .35s ease,opacity .35s ease}
.co-pop.on{transform:none;opacity:1}
.co-pop h2{margin:0 0 4px;font-size:17px;line-height:1.25;color:var(--co-ink)}
.co-pop p{margin:0 0 10px;font-size:14px;line-height:1.45}
.co-pop .co-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.co-pop .co-x{position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;background:transparent;color:var(--co-muted);font-size:20px;line-height:1;cursor:pointer;border-radius:50%}
.co-pop .co-x:hover{background:var(--co-soft)}
.co-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 18px;border-radius:12px;border:0;
 background:var(--co-acc);color:var(--co-acc-ink);font-weight:700;font-size:15px;line-height:1.2;font-family:inherit;text-decoration:none;cursor:pointer}
a.co-btn,a.co-btn:hover,.co-btn:hover{color:var(--co-acc-ink)}a.co-btn.ghost,a.co-btn.ghost:hover{color:var(--co-acc)}
.co-btn:hover{filter:brightness(1.12)}
.co-btn[disabled]{opacity:.6;cursor:default}
.co-btn.ghost{background:transparent;color:var(--co-acc);box-shadow:inset 0 0 0 2px var(--co-acc)}
.co-btn:focus-visible,.co-pop .co-x:focus-visible,.co-drop:focus-within{outline:3px solid var(--co-pop);outline-offset:2px}
.co-link{font-size:14px;color:var(--co-muted)}
@media (max-width:640px){.co-pop{left:12px;right:12px;bottom:12px;width:auto}.co-stamp{width:54px;height:54px;font-size:19px}}
@media (prefers-reduced-motion:reduce){.co-pop{transition:none}}
/* page */
.co-page{background:var(--co-bg);color:var(--co-text)}
.co-wrap{max-width:1080px;margin:0 auto;padding-block:40px;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));display:grid;gap:22px}
.co-wrap h2{margin:0;color:var(--co-ink);text-wrap:balance}
.co-wrap>p{margin:0;max-width:65ch}
.co-hero-art{display:grid;place-items:center}
.co-hero-art .co-stamp{width:150px;height:150px;font-size:52px;box-shadow:inset 0 0 0 6px var(--co-paper),0 0 0 4px var(--co-pop)}
.co-hero-art .co-stamp small{font-size:13px}
.co-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:s}
.co-steps li{counter-increment:s;background:var(--co-paper);border:1px solid var(--co-line);border-radius:18px;padding:18px;display:grid;gap:6px;align-content:start}
.co-steps li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--co-soft);color:var(--co-ink);font-weight:800}
.co-steps b{color:var(--co-ink)}
.co-steps span{font-size:15px;line-height:1.5}
.co-tablebox{overflow-x:auto;background:var(--co-paper);border:1px solid var(--co-line);border-radius:18px}
.co-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:560px}
.co-table th,.co-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--co-line);vertical-align:top}
.co-table thead th{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--co-muted)}
.co-table td.n,.co-table th.n{text-align:right;white-space:nowrap}
.co-table tbody tr:last-child td{border-bottom:0}
.co-table td small{display:block;color:var(--co-muted);font-size:13px;margin-top:2px}
.co-note{font-size:14px;color:var(--co-muted)}
.co-form{background:var(--co-paper);border:1px solid var(--co-line);border-radius:22px;padding:24px;display:grid;gap:18px}
.co-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.co-f{display:grid;gap:6px;min-width:0}
.co-f.full,.co-grid>.full{grid-column:1/-1}
.co-form[hidden],.co-msg[hidden],.co-pop[hidden]{display:none!important}
.nav-open .co-pop{display:none}
@media print{.co-pop{display:none!important}}
.co-f label,.co-f .lb{font-weight:700;color:var(--co-ink);font-size:15px}
.co-f .hint{font-size:13px;color:var(--co-muted)}
.co-f input,.co-f select,.co-f textarea{width:100%;box-sizing:border-box;font-size:16px;line-height:1.4;font-family:inherit;color:var(--co-ink);background:var(--co-bg);
 border:1.5px solid var(--co-line);border-radius:12px;padding:12px 14px;min-height:48px}
.co-f textarea{min-height:96px;resize:vertical}
.co-f input:focus,.co-f select:focus,.co-f textarea:focus{outline:none;border-color:var(--co-acc);box-shadow:0 0 0 3px var(--co-soft)}
.co-est{display:flex;align-items:center;gap:14px;background:var(--co-soft);border-radius:16px;padding:14px 16px;color:var(--co-ink)}
.co-est b{font-size:22px}
.co-drop{position:relative;border:2px dashed var(--co-line);border-radius:16px;background:var(--co-bg);padding:22px;text-align:center;display:grid;gap:6px;cursor:pointer}
.co-drop.over{border-color:var(--co-acc);background:var(--co-soft)}
.co-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.co-files{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.co-files li{display:flex;align-items:center;gap:8px;background:var(--co-bg);border:1px solid var(--co-line);border-radius:12px;padding:6px 8px 6px 6px;font-size:14px;max-width:100%}
.co-files img{width:44px;height:44px;object-fit:cover;border-radius:8px;background:var(--co-soft)}
.co-files span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}
.co-files button{border:0;background:transparent;color:var(--co-muted);font-size:18px;cursor:pointer;width:28px;height:28px;border-radius:50%}
.co-check{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.co-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--co-acc)}
.co-msg{border-radius:14px;padding:14px 16px;font-weight:600}
.co-msg.err{background:#FBE4E0;color:#8A2A1C}
.co-msg.ok{background:var(--co-soft);color:var(--co-ink)}
.co-hp{display:none!important}
.co-faq{display:grid;gap:10px}
.co-faq details{background:var(--co-paper);border:1px solid var(--co-line);border-radius:14px;padding:14px 16px}
.co-faq summary{font-weight:700;color:var(--co-ink);cursor:pointer}
.co-faq p{margin:8px 0 0;max-width:70ch}
@media (max-width:820px){.co-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.co-steps,.co-grid{grid-template-columns:1fr}.co-form{padding:18px}.co-hero-art .co-stamp{width:110px;height:110px;font-size:38px}}
