/* 許願表單 —— 跟許願頁 customer-pages.css 裡那一段同一份樣式（商品頁的許願池彈窗用）。改樣式請兩邊一起改。 */
.wish-form{position:relative;margin:28px auto 40px;max-width:900px;padding:26px;border:1px solid #e7dbca;
  border-radius:25px;background:#fffdf8;box-shadow:0 3px 4px #8e715910,0 14px 30px -24px #8e715988}
.wish-form::before{content:"";position:absolute;top:-8px;left:32px;width:89px;height:19px;transform:rotate(-3deg);
  background:repeating-linear-gradient(90deg,#cedec9cc 0 9px,#e3eddbcc 9px 18px);pointer-events:none}
.wish-form__head{position:relative;padding:2px 92px 21px 0;border-bottom:1px dashed #e5d9c5}
.wish-form__eyebrow{display:block;color:#a68f78;font-size:10px;letter-spacing:.2em;margin-bottom:7px}
.wish-form__head h2{margin:0;font:800 25px/1.5 var(--hand);color:#614b3f}
.wish-form__head p{margin:8px 0;color:#9a8674;font-size:13px;line-height:1.8}
.wish-form__head img{position:absolute;right:3px;top:0;width:76px;height:99px;object-fit:contain}
.wish-form__hint{display:inline-flex;border-radius:99px;padding:5px 11px;background:#edf2e7;color:#758468;font-size:12px;line-height:1.5}
.wish-form__list{display:flex;flex-direction:column;gap:18px;margin-top:21px}
.wish-entry{padding:18px;border:1px solid #e9dfcf;border-radius:19px;background:#faf7f0}
.wish-entry__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.wish-entry__head b{font:700 14px var(--hand);color:#8e7157}
.wish-entry__remove{min-height:32px;min-width:42px;font-size:12px;color:#a7917e;text-align:center;border-radius:8px}
.wish-entry__body{display:grid;grid-template-columns:156px minmax(0,1fr);gap:20px;align-items:start}
.wish-entry__label{display:block;font-size:12px;font-weight:600;color:#826f5d;margin-bottom:8px;line-height:1.5}
.wish-entry__label small{font-size:11px;font-weight:400;color:#b09d89;margin-left:5px}
.wish-entry__photo{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  width:100%;height:133px;border:1.5px dashed #b7c0a1;border-radius:14px;background:#f1f4e9;color:#829471;overflow:hidden}
.wish-entry__photo img{width:100%;height:100%;object-fit:contain;background:#fffdf8}
.wish-entry__photo svg{width:28px;height:28px}
.wish-entry__photo span{font-size:12px;line-height:1.6}
.wish-entry__photo:disabled{cursor:wait}
.wish-entry__uploading{position:absolute;inset:0;display:grid;place-items:center;background:#fffdf8df;color:#718262}
.wish-entry__photo-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:7px}
.wish-entry__photo-actions button{min-height:33px;padding:3px 7px;border:1px solid #e4dbcd;border-radius:9px;color:#967c66;background:#fffdf7;font-size:11px;text-align:center}
.wish-entry__inputs{min-width:0}
.wish-entry__input{display:block;width:100%;height:44px;padding:10px 12px;border:1px solid #e3d7c5;border-radius:11px;
  background:#fffefb;font-size:13px;outline:none;min-width:0;box-sizing:border-box}
.wish-entry__input:focus{border-color:#96a883;box-shadow:0 0 0 3px #dce6d24d}
.wish-entry__input::placeholder{color:#b8a998}
.wish-entry__field+.wish-entry__field{margin-top:14px}
.wish-entry__details{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;margin-top:16px;padding-top:16px;border-top:1px dashed #e6dccb}
.wish-entry .step{height:44px;background:#fffefb;border-radius:11px}
.wish-entry .step button{height:44px;width:38px}
.wish-entry__note{font-size:11px;color:#a48f77;line-height:1.7;margin:12px 0 0}
.wish-form__add{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:46px;margin-top:15px;
  border:1px dashed #cfc2ac;border-radius:13px;color:#957a60;font-family:var(--hand);font-size:14px;background:#fcf9f2}
.wish-form__foot{margin-top:20px;padding-top:20px;border-top:1px dashed #e4d8c5}
.wish-form__foot p{margin:10px 0 0;text-align:center;color:#a4917c;font-size:12px;line-height:1.8}
.wish-form .go{background:#8c9f84;box-shadow:0 4px 0 #788b70;height:51px}
.wish-form .go:disabled{background:#c9d3c7;box-shadow:none}
.wish-form button:focus-visible{outline:3px solid #9da887;outline-offset:3px}
@media(max-width:600px){
  .wish-form{padding:19px 13px;border-radius:22px;margin-top:25px}
  .wish-form__head{padding-right:62px;padding-bottom:18px}
  .wish-form__head h2{font-size:21px}
  .wish-form__head p{font-size:12px}
  .wish-form__head img{width:58px;height:80px;right:-4px}
  .wish-form__hint{font-size:11px;padding:5px 8px}
  .wish-entry{padding:13px;border-radius:16px}
  .wish-entry__body{grid-template-columns:1fr;gap:17px}
  .wish-entry__photo{height:133px}
  .wish-entry__photo-actions{justify-content:flex-start;gap:9px}
  .wish-entry__photo-actions button{min-height:36px;padding:5px 12px}
  .wish-entry__details{gap:10px;grid-template-columns:1fr}
  .wish-entry .step{width:max-content}
  .wish-form__foot p{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.customer-nav__link{transition:none}}
.wish-form__from{margin:14px 0 -6px;font-family:var(--hand);font-size:13.5px;color:#7f9a7c}
.wish-form .step{display:flex;align-items:center;border:1px solid var(--line2);border-radius:10px;background:#faf6ee;overflow:hidden;flex:0 0 auto}
.wish-form .step button{width:38px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--accent);border:0;background:none;cursor:pointer;font-size:18px}
.wish-form .step button:disabled{color:#d5cabd;cursor:default}
.wish-form .step span{min-width:32px;text-align:center;font-family:var(--hand);font-size:15.5px;font-weight:700;color:var(--head)}

/* Product wish dialog: explicit sizing avoids the generic cart sheet transform. */
#wsheet{left:50%;right:auto;bottom:auto;top:calc(var(--wish-viewport-top,0px) + var(--wish-viewport-height,100dvh)/2);
  width:min(920px,calc(100% - 48px));height:min(820px,calc(var(--wish-viewport-height,100dvh) - 48px));max-height:none;
  padding:40px 0 0;border:1px solid #e5dac9;border-radius:28px;background:#fffdf8;
  box-shadow:0 24px 80px #3f302e38;transform:translate(-50%,calc(-50% + 16px));
  visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s,visibility .18s}
#wsheet.on{transform:translate(-50%,-50%);opacity:1;visibility:visible;pointer-events:auto}
#wsheet>.grip{display:none}
#wsheet .wsx{top:8px;right:12px;width:40px;height:40px;display:grid;place-items:center;
  border:0;background:transparent;color:#987f6d;font-size:25px;border-radius:50%}
#wsheet .wsx:hover{background:#f0e9de;color:#614b3f}
#wsheet .wsx:focus-visible{outline:3px solid #9da887;outline-offset:-3px}
#ws-body{display:flex;flex-direction:column;overflow:hidden;padding:0;min-height:0;flex:1}
#ws-body>.wish-form-host{display:flex;flex-direction:column;flex:1;min-height:0}
#ws-body .wish-form{display:flex;flex-direction:column;flex:1;min-height:0;margin:0;max-width:none;
  padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
#ws-body .wish-form::before{top:0;left:34px;z-index:1}
#ws-body .wish-form__content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;padding:22px 32px 24px;scrollbar-width:thin;scrollbar-color:#d5c7b4 transparent;scroll-padding-block:20px}
#wsheet .wish-form__head{padding:0 110px 18px 0}
#wsheet .wish-form__head h2{font-size:28px}
#wsheet .wish-form__head p{font-size:14px;line-height:1.7;margin:6px 0 10px}
#wsheet .wish-form__head img{width:76px;height:100px;right:10px;top:8px}
#wsheet .wish-form__from{margin:16px 0 0;line-height:1.6;overflow-wrap:anywhere}
#wsheet .wish-form__list{margin-top:14px}
#wsheet .wish-entry{padding:20px}
#wsheet .wish-entry__body{grid-template-columns:190px minmax(0,1fr);gap:24px}
#wsheet .wish-entry__photo{height:174px}
#wsheet .wish-entry__details{grid-template-columns:110px minmax(0,1fr);gap:16px}
#wsheet .wish-entry__input{font-size:15px;min-height:46px;color:#614b3f}
#wsheet .wish-entry__label{font-size:13px}
#wsheet .wish-entry__label small{display:inline;font-size:12px}
#wsheet .wish-entry__remove{appearance:none;-webkit-appearance:none;border:1px solid #e5d9ca;background:#fffdf8;
  padding:5px 12px;min-height:36px;font:inherit;font-size:12px;cursor:pointer;color:#997e6b}
#wsheet .wish-entry__photo-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px}
#wsheet .wish-entry__photo-actions .wish-entry__note{margin:0;font-size:11px}
#wsheet .wish-form__foot{flex:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,280px);
  align-items:center;gap:20px;margin:0;padding:18px 32px 22px;border-top:1px solid #e4d8c5;background:#f8f6ee;
  box-shadow:0 -8px 22px -22px #806b4c}
#wsheet .wish-form__foot p{grid-column:1;grid-row:1;text-align:left;margin:0;font-size:12px;line-height:1.85;color:#97846e}
#wsheet .wish-form .go{grid-column:2;grid-row:1;appearance:none;-webkit-appearance:none;display:flex;align-items:center;
  justify-content:center;width:100%;min-height:52px;height:auto;padding:13px 18px;border:1px solid #829478;border-radius:15px;
  background:#8c9f84;color:#fff;font:700 17px/1.5 var(--hand);letter-spacing:.03em;cursor:pointer;
  box-shadow:0 4px 0 #718668;transition:background .15s,transform .15s,box-shadow .15s}
#wsheet .wish-form .go:hover:not(:disabled){background:#809677}
#wsheet .wish-form .go:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 #718668}
#wsheet .wish-form .go:disabled{background:#c9d3c7;border-color:#c9d3c7;box-shadow:none;cursor:wait}
#wsheet .loginbox,#wsheet .okbox{overflow-y:auto;overscroll-behavior:contain;padding:28px 32px 40px;max-width:620px;width:100%;margin:auto}
#wshade{touch-action:none}
@media(min-width:601px) and (max-width:900px){
  #wsheet{width:calc(100% - 32px)}
  #ws-body .wish-form__content{padding:20px 24px}
  #wsheet .wish-entry__body{grid-template-columns:150px minmax(0,1fr);gap:18px}
  #wsheet .wish-entry__photo{height:150px}
  #wsheet .wish-entry__details{grid-template-columns:1fr;gap:12px}
  #wsheet .wish-entry .step{width:110px}
  #wsheet .wish-form__foot{padding:16px 24px 20px;gap:16px;grid-template-columns:minmax(0,1fr) 220px}
}
@media(max-width:600px){
  #wsheet{left:0;right:0;top:calc(var(--wish-viewport-top,0px) + 12px);bottom:auto;width:100%;
    height:calc(var(--wish-viewport-height,100dvh) - 12px);padding-top:38px;border-radius:24px 24px 0 0;
    border-bottom:0;transform:translateY(22px)}
  #wsheet.on{transform:translateY(0)}
  #wsheet>.grip{display:block;position:absolute;top:12px;left:calc(50% - 19px);padding:0;margin:0}
  #wsheet .wsx{top:3px;right:7px}
  #ws-body .wish-form__content{padding:18px 16px 20px}
  #ws-body .wish-form::before{left:26px;width:72px;height:16px}
  #wsheet .wish-form__head{padding:0 64px 16px 0}
  #wsheet .wish-form__head h2{font-size:23px}
  #wsheet .wish-form__head p{font-size:12px}
  #wsheet .wish-form__head img{width:56px;height:82px;right:-2px;top:5px}
  #wsheet .wish-form__hint{font-size:11px;border-radius:12px}
  #wsheet .wish-entry{padding:14px}
  #wsheet .wish-entry__head{margin-bottom:12px}
  #wsheet .wish-entry__body{grid-template-columns:1fr;gap:18px}
  #wsheet .wish-entry__photo{height:124px}
  #wsheet .wish-entry__details{grid-template-columns:1fr;gap:14px}
  #wsheet .wish-entry__input{font-size:16px}
  #wsheet .wish-entry .step{width:110px}
  #wsheet .wish-form__foot{display:flex;flex-direction:column;gap:10px;padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px))}
  #wsheet .wish-form .go{min-height:50px;font-size:16px}
  #wsheet .wish-form__foot p{text-align:center;font-size:10px;line-height:1.6}
  #wsheet .loginbox,#wsheet .okbox{padding:20px 24px 30px}
}
@media(max-height:500px){#wsheet .wish-form__foot p{display:none}#wsheet .wish-form__foot{display:flex;justify-content:flex-end;padding-block:10px}#wsheet .wish-form .go{max-width:320px;min-height:44px;padding-block:8px}}
@media(prefers-reduced-motion:reduce){#wsheet,#wsheet .wish-form .go{transition:none}}
