/* Cards use the same banner, controls, point badge and feed layout as Wishes. */
.cpw-demo-notice { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:12px clamp(16px,2vw,40px); border-block:1px solid #c2a0ff66; background:linear-gradient(100deg,#302340,#10182d); color:#e7ddfa; font:14px/1.5 Outfit,sans-serif; }
.cpw-demo-notice[hidden] { display:none; }
.cpw-demo-notice>div { display:flex; align-items:center; flex-wrap:wrap; gap:8px 18px; }
.cpw-demo-notice strong { color:#e9ccff; letter-spacing:.12em; }
.cpw-demo-notice button { min-height:40px; padding:8px 14px; border:1px solid #c5a0ed88; border-radius:4px; background:#a882db18; color:#f4eafa; font:inherit; cursor:pointer; }
.cpw-demo-notice button:hover { background:#a882db30; }
.cpw-demo-notice button:focus-visible { outline:2px solid #ebd5ff; outline-offset:3px; }
#page-wish.has-card-demo #wishGuestNotice { display:none; }
#page-wish .wish-banner-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,160px)) minmax(0,1fr); align-items:center; gap:4px; min-height:64px; padding:7px clamp(12px,1.7vw,32px); }
#page-wish .wish-tab { width:100%; min-width:0; min-height:50px; padding:8px 9px; gap:7px; justify-content:flex-start; flex-direction:row; }
#page-wish .wish-tab>img { flex:none; width:32px; height:32px; }
#page-wish .wish-tab .wt-name { font-size:13px; line-height:1.25; letter-spacing:.015em; }
#page-wish .wish-tab .wt-sub { display:none; }
#page-wish .wish-tabs-right { grid-column:auto; min-width:0; padding:0 0 0 8px; margin:0; justify-content:flex-end; gap:6px; }
#page-wish .wish-tabs-right .wish-util-btn { width:34px; height:34px; flex:none; }
#page-wish .wish-tabs-right .wish-curr-strip { gap:4px; }
#page-wish .wish-tabs-right .wish-curr-item { padding:5px 7px; gap:5px; font-size:13px; white-space:nowrap; }
#page-wish .wish-tabs-right .wish-curr-item img { width:21px; height:21px; }

#page-wish #cardPackWishRoot { display:flex; flex:1 0 620px; min-height:620px; padding:0; border:0; background:none; }
#cardPackWishRoot .cpw-wish-scene { position:relative; display:block; flex:1; min-height:620px; height:auto; padding:0; overflow:hidden; }
.cpw-scene-backdrop { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.cpw-scene-backdrop>.wish-banner-bg { width:100%; height:100%; object-fit:cover; object-position:57% center; opacity:1; }
.cpw-scene-backdrop>.wish-banner-shade { background:linear-gradient(90deg,#02071199 0%,#03091644 25%,#03091608 53%,#02071308 75%,#03091630),linear-gradient(0deg,#030713c9,transparent 36%); }
.cp-wish .cpw-stage { position:absolute; z-index:3; left:57%; top:43%; width:clamp(260px,21vw,420px); height:clamp(350px,31vw,550px); max-width:none; transform:translate(-50%,-50%); display:grid; place-items:center; }
.cpw-stage>.wish-focus-orbit { inset:12% -7%; pointer-events:none; }
.cp-wish .cpw-package { width:100%; max-width:none; height:100%; display:block; filter:drop-shadow(12px 28px 24px #000b) drop-shadow(0 0 25px #d6b6ff22); }
.cp-wish .cpw-package:disabled { opacity:1; cursor:default; }
.cpw-wish-scene .wish-banner-title-area { pointer-events:none; }
.cpw-wish-scene .wish-banner-subtitle { max-width:460px; }
.cpw-banner-points .wpt-icon { width:32px; height:32px; object-fit:contain; }
.cpw-banner-points.is-ready { box-shadow:0 0 0 1px #d0b1ff88,0 0 34px #b17dff44; }
.cpw-banner-points .wish-points-sub { line-height:1.5; }
.cpw-banner-points .cpw-point-flight { inset:0 auto auto 20%; }
.cpw-dock-links { display:flex; align-items:center; justify-content:space-between; gap:14px; color:#e2c792; font-size:13px; }
.cpw-dock-links>button,.cpw-login-link { background:none; border:0; padding:5px 0; color:inherit; font-size:inherit; }
.cpw-dock-links>a:hover,.cpw-dock-links>button:hover { color:#fff1cd; }
.cpw-action-stock { position:relative; z-index:3; color:#d4dff0; font-size:12px; line-height:1.5; }
.cpw-action-dock .cpw-scene-status { margin:0; min-height:0; color:#f1d8a8!important; font-size:12px!important; line-height:1.6; }
.cpw-scene-status:empty { display:none; }
.cpw-login-link { color:#e5d2a6; text-align:center; }
.cpw-owned-panel>.wfp-head>b { margin-left:auto; color:#f2e0b6; font-size:14px; }
.cpw-owned-panel .cpw-owned-row { width:100%; flex:0 0 auto; text-align:left; color:#d7e3ef; cursor:pointer; }
.cpw-owned-row>img { flex:none; width:47px; height:64px; object-fit:contain; filter:drop-shadow(3px 5px 4px #0008); }
.cpw-owned-row>span { flex:1; min-width:0; display:grid; gap:5px; }
.cpw-owned-row strong { color:#ecdfc7; font-size:15px; font-weight:500; }
.cpw-owned-row small { color:#a9bed2; font-size:12px; }
.cpw-owned-row>b { flex:none; color:#e3cb99; font-size:14px; }
.cpw-owned-row[aria-pressed="true"] { border-color:#d9bbec88; background:#aa74df22; box-shadow:inset 2px 0 #ceb0ed; }
.cpw-owned-empty { display:grid; justify-items:center; gap:14px; align-content:center; flex:1; color:#acbfd3; line-height:1.7; }
.cpw-owned-empty>img { width:62px; height:62px; object-fit:contain; }
.cpw-owned-empty strong { color:#e7d8bc; font-size:15px; font-weight:500; }
.cpw-owned-empty>p { margin:0; font-size:13px; }
.cpw-owned-empty>a { color:#e1c591; font-size:13px; }
#cardPackWishRoot .cpw-result-scene { position:relative; flex:1; display:block; height:auto; min-height:620px; padding:30px clamp(24px,4vw,76px); overflow:visible; }
.cpw-result-scene>.cpw-scene-backdrop { opacity:.32; }
.cpw-result-content { position:relative; z-index:3; }
.cpw-result-scene .cpw-reveal-header { padding-top:12px; }
.cpw-result-scene .cpw-reveal-header h2 { font-size:clamp(30px,3vw,54px); }
.cpw-result-scene .cpw-reveal-header p { font-size:clamp(13px,1vw,18px); line-height:1.6; }
.cpw-result-scene .cpw-reveal-grid { grid-template-columns:repeat(3,minmax(0,290px)); }
.cpw-result-scene .cpw-reveal-grid[data-count="10"] { grid-template-columns:repeat(5,minmax(0,220px)); }
.cpw-result-scene .cpw-reward-caption>strong { font-size:clamp(10px,.8vw,15px); }
.cpw-result-scene .cpw-reward-caption>span { font-size:clamp(12px,.9vw,16px); }
.cpw-result-scene .cpw-reveal-grid .hc-card-edition { font-size:clamp(8px,4.5cqw,14px); }
.cpw-result-scene .cpw-reveal-grid .hc-card-caption>strong { font-size:clamp(11px,6cqw,19px); }

@media(max-width:1350px) {
  #page-wish .wish-banner-tabs { grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; }
  #page-wish .wish-tab { min-height:46px; padding:6px 10px; justify-content:center; }
  #page-wish .wish-tabs-right { grid-column:1/-1; padding:3px 0 0; }
}
@media(max-width:980px) {
  #page-wish #cardPackWishRoot { flex-basis:auto; min-height:0; }
  #cardPackWishRoot .cpw-wish-scene { display:flex; flex-direction:column; min-height:0; padding-top:610px; overflow:visible; }
  #cardPackWishRoot .cpw-wish-banner { height:610px; bottom:auto; }
  .cp-wish .cpw-stage { top:320px; left:64%; width:250px; height:350px; }
  .cpw-action-dock .wish-banner-btn .wbb-title { font-size:16px; }
  .cpw-owned-panel .wfp-list { min-height:210px; }
  #cardPackWishRoot .cpw-result-scene { min-height:610px; padding:24px; }
  .cpw-result-scene .cpw-reveal-grid[data-count="10"] { grid-template-columns:repeat(3,minmax(0,220px)); }
}
@media(max-width:640px) {
  #page-wish .wish-banner-tabs { padding:5px 7px; }
  #page-wish .wish-tab { min-height:66px; padding:5px 3px; flex-direction:column; gap:5px; }
  #page-wish .wish-tab>img { width:25px; height:25px; }
  #page-wish .wish-tab .wt-name { font-size:10.5px; text-align:center; }
  #page-wish .wish-tab .wt-text { text-align:center; }
  #page-wish .wish-tabs-right { flex-wrap:wrap; gap:4px; }
  #page-wish .wish-tabs-right .wish-curr-strip { flex:1 1 230px; justify-content:flex-end; gap:3px; }
  #page-wish .wish-tabs-right .wish-curr-item { padding:4px; gap:3px; font-size:11px; }
  #page-wish .wish-tabs-right .wish-curr-item img { width:17px; height:17px; }
  #page-wish .wish-tabs-right .wish-util-btn { width:29px; height:29px; }
  #cardPackWishRoot .cpw-wish-scene { padding-top:565px; }
  #cardPackWishRoot .cpw-wish-banner { height:565px; }
  .cp-wish .cpw-stage { top:313px; left:69%; width:165px; height:270px; }
  .cpw-wish-scene .wish-banner-title-area { max-width:100%; }
  .cpw-wish-scene .wish-banner-subtitle { max-width:270px; }
  .cpw-wish-scene .wish-banner-rateup { bottom:140px; max-width:155px; }
  .cpw-banner-points .wpt-icon { width:23px; height:23px; }
  .cpw-dock-links { gap:12px; font-size:12px; }
  .cpw-action-dock .wish-banner-btn .wbb-title { font-size:13px; letter-spacing:.03em; }
  .cpw-action-dock .wish-banner-btn .wbb-cost { font-size:16px; }
  .cpw-action-stock { font-size:11px; }
  #cardPackWishRoot .cpw-result-scene { padding:20px 16px; }
  .cpw-result-scene .cpw-reveal-grid,.cpw-result-scene .cpw-reveal-grid[data-count="10"] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 25px; }
  .cpw-result-scene .cpw-reveal-grid[data-count="3"]>.cpw-reveal-slot:last-child { grid-column:1/-1; width:calc(50% - 13px); justify-self:center; }
  .cpw-result-scene .cpw-reveal-grid[data-count="10"]>.cpw-reveal-slot:last-child { grid-column:auto; width:auto; }
}
@media(prefers-reduced-motion:reduce) {
  #cardPackWishRoot .cpw-package,#cardPackWishRoot .wish-focus-orbit { animation:none!important; }
}
