/* V6.4: Paw Stamp rewards and My Dog Sticker Book */

.home-actions{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.home-action-button.lessons-action,
.home-action-button.mixed-action{
  grid-column:span 2;
}
.home-action-button.compact-home-action{
  grid-column:span 1;
  grid-template-columns:1fr;
  grid-template-rows:58px auto;
  align-content:center;
  justify-items:center;
  gap:7px;
  padding:13px 10px;
  text-align:center;
}
.compact-home-action .home-action-image{
  width:58px;
  height:58px;
  border-radius:16px;
}
.compact-home-action .home-action-image img{
  width:52px;
  height:52px;
}
.compact-home-action>span:nth-child(2){
  width:100%;
}
.compact-home-action strong{
  font-size:15px;
  line-height:1.1;
}
.compact-home-action small{
  display:-webkit-box;
  min-height:26px;
  margin-top:4px;
  overflow:hidden;
  font-size:10px;
  line-height:1.25;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.compact-home-action>b{
  display:none;
}
.sticker-action .sticker-home-thumb{
  background:#fff4da;
}
.sticker-action .sticker-home-thumb img{
  filter:drop-shadow(0 5px 5px rgba(99,64,117,.14));
}

.sticker-book-heading{
  max-width:1000px;
  margin:0 auto 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.sticker-book-heading h1{
  margin:3px 0 6px;
  font-size:clamp(34px,5vw,50px);
  line-height:1.05;
}
.sticker-book-heading>div:first-child>p:not(.eyebrow){
  margin:0;
  color:var(--muted);
}
.sticker-book-totals{
  min-width:180px;
  padding:16px 20px;
  border:2px solid rgba(112,71,220,.15);
  border-radius:20px;
  background:rgba(255,255,255,.96);
  text-align:center;
  box-shadow:0 12px 28px rgba(61,39,111,.08);
}
.sticker-book-totals strong,
.sticker-book-totals span,
.sticker-book-totals b{
  display:block;
}
.sticker-book-totals strong{
  color:var(--purple);
  font-size:34px;
  line-height:1;
}
.sticker-book-totals span{
  margin:3px 0 8px;
  color:var(--muted);
  font-size:11px;
  font-weight:850;
}
.sticker-book-totals b{
  font-size:13px;
}
.sticker-grid{
  max-width:1000px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.sticker-collection-card{
  min-width:0;
  min-height:310px;
  margin:0;
  padding:14px;
  border:2px solid rgba(112,71,220,.15);
  border-radius:20px;
  background:rgba(255,255,255,.96);
  color:var(--ink);
  font:inherit;
  text-align:center;
  box-shadow:0 10px 26px rgba(58,39,106,.07);
}
button.sticker-collection-card{
  cursor:pointer;
  transition:transform .16s,border-color .16s,box-shadow .16s;
}
button.sticker-collection-card:hover{
  transform:translateY(-2px);
  border-color:#a38aef;
  box-shadow:0 14px 30px rgba(58,39,106,.12);
}
button.sticker-collection-card:focus-visible{
  outline:4px solid rgba(112,71,220,.2);
  outline-offset:2px;
}
.sticker-collection-card.locked{
  border-style:dashed;
  background:rgba(255,255,255,.88);
}
.sticker-image-zone{
  aspect-ratio:1;
  width:100%;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:15px;
  background:linear-gradient(145deg,#fffaf0,#f6f0ff);
}
.sticker-collection-card.locked .sticker-image-zone{
  background:linear-gradient(145deg,#fff8ea,#f7efff);
}
.sticker-image-zone img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.sticker-card-copy{
  min-height:70px;
  padding:10px 3px 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.sticker-card-copy strong{
  font-size:19px;
  line-height:1.1;
}
.sticker-card-copy small{
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.25;
}
.sticker-card-copy i{
  margin-top:7px;
  color:#7b6797;
  font-size:9px;
  font-style:normal;
  font-weight:800;
}
.sticker-book-note{
  max-width:700px;
  margin:18px auto 0;
  padding:13px 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  border-radius:18px;
  background:rgba(255,255,255,.92);
}
.sticker-book-note>span{
  font-size:26px;
}
.sticker-book-note strong,
.sticker-book-note small{
  display:block;
}
.sticker-book-note small{
  margin-top:2px;
  color:var(--muted);
}

#stickerOverlay{
  z-index:95;
}
.sticker-modal-card{
  position:relative;
  width:min(440px,100%);
  max-height:calc(100vh - 32px);
  padding:20px 22px 22px;
  overflow:auto;
  border:2px solid rgba(112,71,220,.14);
  border-radius:26px;
  background:linear-gradient(180deg,#fff,#f7f3ff);
  box-shadow:0 30px 80px rgba(28,21,52,.32);
  text-align:center;
}
.sticker-modal-close{
  position:absolute;
  z-index:2;
  top:12px;
  right:12px;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  background:#f2ecff;
  color:var(--purple);
  font-size:18px;
  font-weight:900;
  cursor:pointer;
}
.sticker-detail-image,
.sticker-unlock-image{
  height:min(300px,42vh);
  display:grid;
  place-items:center;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.sticker-detail-image img,
.sticker-unlock-image img{
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 12px 12px rgba(46,32,83,.16));
}
.sticker-detail-copy h2,
.sticker-unlock-copy h2{
  margin:2px 0 0;
  font-size:32px;
  line-height:1.05;
}
.sticker-detail-copy h3,
.sticker-unlock-copy h3{
  margin:4px 0 8px;
  color:var(--purple);
  font-size:18px;
}
.sticker-detail-copy small{
  color:var(--muted);
  font-weight:750;
}
.sticker-quote{
  margin:10px auto;
  color:#514565;
  font-size:16px;
  font-weight:800;
  line-height:1.4;
}
.sticker-modal-done{
  width:100%;
  margin-top:17px;
}
.sticker-unlock-sparkles{
  height:26px;
  color:#f3ad20;
  font-size:20px;
  letter-spacing:11px;
}
.sticker-unlock-copy>p:not(.eyebrow){
  margin:8px 0 0;
  color:var(--muted);
}
.sticker-unlock-actions{
  margin-top:18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.sticker-unlock-actions button{
  min-width:0;
  padding-left:10px;
  padding-right:10px;
}
.migration-paw{
  margin:10px 0;
  font-size:64px;
}

.result-card{
  grid-template-rows:170px auto 130px;
  grid-auto-rows:auto;
}
.paw-result{
  width:min(500px,100%);
  min-height:76px;
  margin:0 auto;
  padding:12px 15px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:11px;
  border:2px solid #eed799;
  border-radius:17px;
  background:#fff9df;
  text-align:left;
}
.paw-result>span{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:14px;
  background:#ffeaa8;
  font-size:24px;
}
.paw-result strong,
.paw-result small,
.paw-result em{
  display:block;
}
.paw-result strong{
  font-size:15px;
}
.paw-result small{
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
  line-height:1.25;
}
.paw-result em{
  margin-top:3px;
  color:#745500;
  font-size:9px;
  font-style:normal;
  font-weight:900;
}
.paw-result.replay{
  border-color:#d9d0eb;
  background:#f7f3fc;
}
.paw-result.complete{
  border-color:#b9e6ca;
  background:#edfff3;
}
.paw-mini-progress{
  height:7px;
  margin-top:7px;
  overflow:hidden;
  border-radius:999px;
  background:#eadff7;
}
.paw-mini-progress i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#f6bd38,#ff8f75);
}

@media(min-width:1060px){
  .sticker-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:850px){
  .home-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-action-button.lessons-action,
  .home-action-button.mixed-action{
    grid-column:1/-1;
  }
  .home-action-button.compact-home-action{
    grid-column:span 1;
  }
}
@media(max-width:760px){
  .sticker-book-heading{
    align-items:stretch;
    flex-direction:column;
    gap:12px;
  }
  .sticker-book-totals{
    min-width:0;
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    text-align:left;
  }
  .sticker-book-totals strong{
    grid-row:1/3;
    margin-right:12px;
  }
  .sticker-book-totals span{
    margin:0;
  }
  .sticker-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .sticker-collection-card{
    min-height:0;
    padding:9px;
    border-radius:17px;
  }
  .sticker-card-copy{
    min-height:67px;
  }
  .sticker-card-copy strong{
    font-size:16px;
  }
  .sticker-card-copy small{
    font-size:10px;
  }
  .result-card{
    grid-template-rows:145px auto 112px;
  }
}
@media(max-width:560px){
  .home-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-action-button.compact-home-action{
    min-height:116px;
  }
  .compact-home-action strong{
    font-size:14px;
  }
  .sticker-book-heading h1{
    font-size:33px;
  }
  .sticker-detail-image,
  .sticker-unlock-image{
    height:min(255px,38vh);
  }
  .sticker-modal-card{
    padding:17px 15px 18px;
    border-radius:22px;
  }
  .sticker-unlock-actions{
    grid-template-columns:1fr;
  }
  .sticker-book-note{
    align-items:flex-start;
  }
}
@media(max-width:390px), (max-height:650px){
  .result-card{
    grid-template-rows:120px auto 98px;
  }
  .sticker-detail-image,
  .sticker-unlock-image{
    height:min(215px,34vh);
  }
  .sticker-detail-copy h2,
  .sticker-unlock-copy h2{
    font-size:27px;
  }
  .paw-result{
    grid-template-columns:38px minmax(0,1fr);
    padding:10px 11px;
  }
  .paw-result>span{
    width:38px;
    height:38px;
    font-size:21px;
  }
}
