.unit-list-bar{
  position:fixed;right:16px;left:auto;bottom:16px;z-index:45;width:auto;
  border:1px solid #E7E0D6;border-radius:999px;padding:10px 16px;
  background:#fff;color:#2b2622;font:inherit;font-weight:700;
  box-shadow:0 6px 18px rgba(40,30,20,.12);cursor:pointer;
}
.product-page .unit-list-bar{bottom:88px}
@media (min-width:1021px){
  .product-page .unit-list-bar{bottom:16px}
}
.unit-list-modal{max-width:440px;max-height:min(92vh,760px);overflow:auto}
.unit-list-rows{display:flex;flex-direction:column;gap:10px;margin:8px 0 12px}
.unit-list-row{display:flex;justify-content:space-between;gap:10px;align-items:center}
.unit-list-thumb{width:48px;height:48px;border-radius:12px;object-fit:cover;background:#f3efe9;flex:none}
.unit-list-row>div:nth-child(2){flex:1;min-width:0}
.unit-list-row small{display:block;color:#6b6258;font-weight:600}
.unit-list-qty{display:flex;align-items:center;gap:4px;flex:none}
.unit-list-qty button{
  width:32px;height:32px;border-radius:999px;border:1px solid #E7E0D6;background:#fff;font:inherit;cursor:pointer;
}
.unit-list-form{display:flex;flex-direction:column;gap:8px}
.unit-list-form input,.unit-list-form select,.unit-list-form textarea{
  width:100%;border:1px solid #E7E0D6;border-radius:12px;padding:10px 12px;font:inherit;background:#fff;box-sizing:border-box;
}
.unit-list-form textarea{min-height:72px;resize:vertical}
.unit-list-ful{display:flex;gap:8px}
.unit-list-ful button{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
  border:1px solid #E7E0D6;background:#fff;border-radius:16px;padding:8px 4px;font:inherit;cursor:pointer;
}
.unit-list-ful button.is-on{border-color:#C45C4A;box-shadow:0 0 0 1px #C45C4A}
.unit-list-ful small{color:#6b6258}
.unit-list-when{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.unit-dt{
  width:100%;display:flex;align-items:center;gap:8px;text-align:left;
  border:1px solid #E7E0D6;background:#fff;border-radius:16px;padding:8px;font:inherit;cursor:pointer;
}
.unit-dt.is-on{border-color:#C45C4A}
.unit-dt small{display:block;color:#6b6258}
.unit-cal{position:relative;width:100%}
.unit-cal-pop{display:none;margin-top:8px;padding:8px;border:1px solid #E7E0D6;border-radius:16px;background:#fff}
.unit-cal.is-open .unit-cal-pop{display:block}
.unit-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.unit-cal-head button{border:0;background:none;font:inherit;font-size:20px;cursor:pointer}
.unit-cal-week,.unit-cal-grid,.unit-time-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.unit-time-grid{grid-template-columns:repeat(4,1fr)}
.unit-cal-grid button,.unit-time-grid button{
  border:0;background:transparent;border-radius:8px;padding:6px 0;font:inherit;cursor:pointer;
}
.unit-cal-grid button.is-on,.unit-time-grid button.is-on{background:#C45C4A;color:#fff}
.unit-cal-grid button:disabled{opacity:.35;cursor:default}
.unit-list-sum{display:flex;justify-content:space-between;align-items:baseline;margin:8px 0}
.unit-list-sum small{font-weight:600;color:#6b6258}
.unit-list-hint{margin:0 0 8px;color:#B71C1C;font-size:14px}
.unit-list-go{width:100%}
.unit-list-modal .unit-list-go:disabled{
  background:#E7E0D6!important;color:#9a9188!important;cursor:default;box-shadow:none!important;
}
.unit-list-choice{display:flex;flex-direction:column;gap:8px}
.unit-list-apps{display:flex;justify-content:center;gap:16px;padding:4px 0 2px}
.unit-list-apps a{display:flex;border-radius:16px}
.unit-list-apps img{width:52px;height:52px;display:block}
.unit-list-link{
  display:block;text-align:center;padding:12px;border-radius:999px;border:1px solid #E7E0D6;
  text-decoration:none;color:inherit;font-weight:700;
}
.order-hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
.unit-list-back{
  border:0;background:none;padding:0 0 8px;font:inherit;font-weight:700;color:#6b6258;cursor:pointer;
}
.unit-list-preview{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
.unit-list-line{display:flex;align-items:center;gap:8px;font-weight:650}
.catalog-card-wrap{position:relative;min-width:0}
.catalog-card-wrap>.catalog-card{color:inherit;text-decoration:none;cursor:default}
.catalog-unit-step{
  position:absolute;right:10px;bottom:10px;z-index:2;
  display:flex;align-items:center;gap:4px;
}
.catalog-unit-step button{
  width:36px;height:36px;border:0;border-radius:999px;background:#fff;color:#2b2622;
  box-shadow:0 2px 8px rgba(40,30,20,.16);font:inherit;font-weight:800;cursor:pointer;
}
.catalog-unit-step b{min-width:1.2em;text-align:center}
.catalog-page .catalog-card-image.catalog-assort-mosaic{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:2px;
  background:#f3efe8!important;
}
.catalog-page .catalog-card-image.catalog-assort-mosaic img{
  width:100%!important;
  height:100%!important;
  min-height:0;
  border-radius:0!important;
  object-fit:cover!important;
}
.unit-digit-pop{position:fixed;inset:0;z-index:80;background:rgba(40,30,20,.35);display:flex;align-items:flex-end;justify-content:center;padding:16px}
.unit-digit-sheet{width:min(420px,100%);background:#fff;border-radius:20px;padding:16px 16px 14px;box-shadow:0 12px 40px rgba(40,30,20,.2)}
.unit-digit-sheet p{margin:0 0 12px;font-weight:700}
.unit-digit-pad{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.unit-digit-pad button,.unit-digit-actions button{border:1px solid #E7E0D6;background:#fff;border-radius:14px;min-height:48px;font:inherit;font-weight:800;cursor:pointer}
.unit-digit-pad button.is-on{border-color:#e07a5f;background:#fff4f0}
.unit-digit-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.unit-digit-actions small{display:block;font-weight:650;color:#8a7e72}
.unit-digit-cancel{margin-top:10px;width:100%;border:0;background:transparent;font:inherit;color:#8a7e72;cursor:pointer;padding:8px}
.unit-bubble-sheet{max-height:min(86vh,640px);overflow:auto}
.unit-bubble-sheet.has-feathers{width:min(520px,100%);max-height:min(90vh,820px)}
.unit-bubble-sheet .bubble-colors{border:0;margin:0 0 14px;padding:0}
.unit-bubble-sheet .bubble-colors legend{font-weight:700;margin-bottom:8px}
.unit-bubble-sheet .bubble-color-row{display:flex;flex-wrap:wrap;gap:8px}
.unit-bubble-sheet .bubble-color-row button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:2px solid transparent;background:transparent;border-radius:50%;cursor:pointer}
.unit-bubble-sheet .bubble-color-row button.selected{border-color:#e24b4b}
.unit-bubble-sheet .bubble-swatch{width:28px;height:28px;border-radius:50%;border:1px solid rgba(20,16,12,.18);display:block}
.unit-bubble-sheet .bubble-swatch.is-mix{background:conic-gradient(#e24b4b,#f2d04b,#3dae6a,#2f6fed,#8e5bd6,#e24b4b)}
.unit-bubble-sheet label{display:block;margin:0 0 8px;font-weight:700}
.unit-bubble-sheet input{display:block;width:100%;box-sizing:border-box;margin-top:8px;border:1px solid #E7E0D6;border-radius:14px;padding:12px 14px;font:inherit}
.bubble-feather-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bubble-feather-grid button{display:flex;flex-direction:column;gap:4px;width:auto;height:auto;padding:0 0 6px;border:2px solid #ebe6e3;border-radius:14px;background:#fff;cursor:pointer;text-align:center;font:inherit;color:#2b2622;min-width:0}
.bubble-feather-grid button.selected{border-color:#e24b4b}
.bubble-feather-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px 12px 0 0;display:block;background:#f4f1ee}
.bubble-feather-grid .glass-confetti-stack{position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden;border-radius:12px 12px 0 0;background:#f4f1ee}
.bubble-feather-grid .glass-confetti-stack img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;background:transparent}
.bubble-feather-grid span{display:block;padding:0 4px;font-size:12px;font-weight:700;line-height:1.15}
.bubble-vinyl-row{display:flex;flex-wrap:wrap;gap:8px}
.bubble-vinyl-row button{display:grid;place-items:center;width:52px;height:36px;padding:0;border:2px solid transparent;border-radius:10px;background:transparent;cursor:pointer}
.bubble-vinyl-row button.selected{border-color:#e24b4b}
.bubble-vinyl{display:block;width:44px;height:26px;border-radius:6px;position:relative;overflow:hidden;box-shadow:inset 0 -7px 8px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.7)}
.bubble-vinyl::after{content:'';position:absolute;left:10%;right:10%;top:3px;height:7px;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,0));pointer-events:none}
.bubble-ink-preview{display:block;margin:0 0 8px;min-height:1.35em;text-align:center;font-weight:800;font-size:22px;line-height:1.25;color:#2b2622}
.bubble-ink-preview.is-empty{opacity:.55}
.bubble-ink-preview.is-vinyl{background-image:var(--ink-gloss);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.bubble-ink-preview.is-vinyl.is-pale{filter:drop-shadow(0 0 1px #1a1612) drop-shadow(0 1px 0 #1a1612)}
input.is-pale{text-shadow:0 0 1px #1a1612,0 1px 0 #1a1612,0 -1px 0 #1a1612,1px 0 0 #1a1612,-1px 0 0 #1a1612}
input.is-pale::placeholder{color:inherit;opacity:.65}
.unit-bubble-go{width:100%}
.unit-bubble-go:disabled{opacity:.45}
.unit-shape-sheet{width:min(560px,100%);max-height:min(86vh,760px);overflow:auto}
.unit-shape-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}
.unit-shape-grid button{display:flex;flex-direction:column;gap:6px;padding:0 0 8px;border:1.5px solid #ebe6e3;border-radius:14px;background:#fff;cursor:pointer;text-align:center;font:inherit;color:#2b2622}
.unit-shape-grid button img,.unit-shape-grid button i{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px 12px 0 0;background:#f4f1ee;display:block}
.unit-shape-grid button span{display:block;padding:0 6px;font-size:13px;font-weight:700;line-height:1.2}
.unit-shape-grid button small{display:block;margin-top:2px;font-size:11px;font-weight:650;color:#9a8b86}
@media (max-width:420px){
  .unit-shape-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.unit-named-sheet{max-height:min(92vh,760px);overflow:auto}
.unit-named-sheet label{display:block;margin:0 0 8px;font-weight:700}
.unit-named-sheet input{display:block;width:100%;box-sizing:border-box;margin-top:8px;border:1px solid #E7E0D6;border-radius:14px;padding:12px 14px;font:inherit}
.unit-named-photo{position:relative;margin:0 0 12px;border-radius:16px;overflow:hidden;background:#f3efe9;container-type:inline-size}
.unit-named-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.catalog-card-image,.product-page .product-page-main-image{container-type:inline-size}
.named-letter{
  position:absolute;left:50%;top:50%;width:max-content;max-width:40%;
  transform:translate(-50%,-50%);
  margin:0;text-align:center;font-weight:800;line-height:1.15;
  pointer-events:none;text-wrap:balance;overflow-wrap:break-word;
}
.named-letter.is-light{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 2px rgba(0,0,0,.85)}
.named-letter.is-dark{color:#1a1612;text-shadow:0 0 2px #fff,0 1px 0 #fff,0 -1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff,1px 1px 0 #fff,-1px -1px 0 #fff}
.named-letter.is-vinyl{background-image:var(--ink-gloss);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.named-letter.is-vinyl.is-pale{filter:drop-shadow(0 0 1px rgba(0,0,0,.75)) drop-shadow(0 1px 0 rgba(0,0,0,.45))}
.unit-named-photo .named-letter{font-size:22px;font-size:clamp(16px,6.2cqi,28px)}
.unit-named-photo .named-letter.is-mid{font-size:18px;font-size:clamp(15px,5.4cqi,24px)}
.unit-named-photo .named-letter.is-long{font-size:15px;font-size:clamp(13px,4.4cqi,20px)}
.catalog-card-image .named-letter{font-size:14px;font-size:clamp(11px,5.6cqi,18px)}
.catalog-card-image .named-letter.is-mid{font-size:12px;font-size:clamp(10px,4.8cqi,16px)}
.catalog-card-image .named-letter.is-long{font-size:11px;font-size:clamp(9px,4cqi,14px)}
.product-page .product-page-main-image{position:relative}
.product-page .product-page-main-image .named-letter{font-size:28px;font-size:clamp(18px,6cqi,40px)}
.product-page .product-page-main-image .named-letter.is-mid{font-size:22px;font-size:clamp(16px,5cqi,32px)}
.product-page .product-page-main-image .named-letter.is-long{font-size:18px;font-size:clamp(14px,4cqi,24px)}
.product-page .product-unit-add{
  display:block;width:100%;margin-top:10px;border-radius:999px;border:1px solid #E7E0D6;background:#fff;
  padding:12px 16px;font:inherit;font-weight:700;cursor:pointer;color:inherit;
}
