/* Panda Designs v6.4.4 — storefront mobile hardening
   Compact spacing, safe grids, touch-friendly controls and zero empty hero rows. */

html,body{max-width:100%;overflow-x:clip}
img,video,svg,canvas{max-width:100%}
iframe{max-width:100%}
.panda-main,.panda-home,.hero-grid-shell,.hero-left-stack,.hero-right-stack,
.product-grid,.pgrid,.free-grid,.related-grid,.blog-grid,.tools-grid{min-width:0}

/* Hero grid placement must be reset inside the v4.3 nested stacks. */
.panda-home .hero-layout-v43 .hero-right-stack>.season-banner-wide,
.panda-home .hero-layout-v43 .hero-right-stack>.season-banner-row{
  grid-column:auto!important;
  grid-row:auto!important;
}
.panda-home .hero-layout-v43 .hero-right-stack.no-wide-card,
.panda-home .hero-layout-v43 .hero-right-stack.no-small-cards{
  grid-template-rows:auto!important;
}
.panda-home .hero-layout-v43 .season-banner-row.single-promo-card{
  grid-template-columns:1fr!important;
}
.panda-home .hero-layout-v43 .hero-grid-shell.no-promo-cards{
  grid-template-columns:minmax(0,1fr)!important;
}

/* General storefront safeguards. */
.panda-main table{max-width:100%}
.panda-main input,.panda-main select,.panda-main textarea,.panda-main button{min-width:0}
.panda-main pre,.panda-main code{overflow-wrap:anywhere}

@media(max-width:840px){
  /* Remove every reserved/fixed hero row on tablet and phone. */
  .panda-home .hero.hero-grid-v2{
    padding:12px 12px 16px!important;
  }
  .panda-home .hero-layout-v43 .hero-grid-shell{
    display:flex!important;
    flex-direction:column;
    gap:10px!important;
  }
  .panda-home .hero-layout-v43 .hero-left-stack,
  .panda-home .hero-layout-v43 .hero-right-stack{
    display:flex!important;
    flex-direction:column;
    gap:10px!important;
    height:auto!important;
    min-height:0!important;
  }
  .panda-home .hero-layout-v43 .hero-main-card,
  .panda-home .hero-layout-v43 .custom-digitizing-strip,
  .panda-home .hero-layout-v43 .season-banner-wide,
  .panda-home .hero-layout-v43 .season-banner-row,
  .panda-home .hero-layout-v43 .season-banner-small{
    grid-column:auto!important;
    grid-row:auto!important;
    height:auto!important;
  }
  .panda-home .hero-layout-v43 .season-banner-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:auto!important;
    gap:10px!important;
    min-height:0!important;
  }

  /* Header and navigation. */
  .panda-nav{
    height:58px!important;
    padding:0 12px!important;
    gap:8px!important;
  }
  .pnav-logo-ico{width:34px!important;height:34px!important;border-radius:9px!important}
  .pnav-cart,.pnav-ham{min-width:40px;min-height:40px;justify-content:center}
  .pnav-user-btn{min-height:40px;padding:.3rem!important}
  .pnav-mob-header,.pnav-mob-body,.pnav-mob-footer{padding-left:14px!important;padding-right:14px!important}
  .pnav-mob-link{min-height:48px;padding:.7rem 0!important}
  .panda-breadcrumb{padding:.65rem 14px!important;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
  .panda-breadcrumb::-webkit-scrollbar{display:none}

  /* Shared feedback and form behavior. */
  .panda-toasts{left:12px!important;right:12px!important;bottom:12px!important}
  .panda-toast{width:100%;max-width:none!important}
  .pform-input,.pform-select,.pform-textarea,
  .field input,.field select,.field textarea,
  .tool-field input,.tool-field select,
  .filter-card input,.filter-card select{font-size:16px!important}
  .pbtn,.pnav-btn,.submit,.tool-btn,.apply-btn,.clear-btn{min-height:42px}

  /* Product listing and cards. */
  .shop-top{padding:14px 14px 0!important}
  .shop-shell{padding:14px!important;gap:14px!important}
  .results-head{margin-bottom:12px!important}
  .product-grid,.pgrid,.free-grid,.related-grid,.wl-grid{
    grid-template-columns:repeat(var(--pd-mobile-product-columns,2),minmax(0,1fr))!important;
    gap:10px!important;
  }
  .store-card,.pcard,.free-card,.related-card,.wl-card{min-width:0}
  .card-body,.pcard-body,.free-body{padding:10px!important}
  .card-name,.pcard-name,.free-title{font-size:.78rem!important}
  .card-cat,.pcard-cat,.free-meta{font-size:.64rem!important}
  .card-bottom,.pcard-foot{gap:6px!important;min-width:0}
  .price,.pcard-price{font-size:.78rem!important;white-space:nowrap}
  .pcard-coins{font-size:.55rem!important;line-height:1.25}
  .add-btn,.pcard-cart-btn{min-height:34px;padding:6px 8px!important;font-size:.65rem!important}
  .card-sizes,.pcard-sizes{margin:5px 0 7px!important;min-height:21px!important}
  .card-size,.pcard-size{font-size:.56rem!important;padding:3px 6px!important}

  /* Product page. */
  .etsy-page{padding-left:14px!important;padding-right:14px!important}
  .product-shell{gap:16px!important}
  .buy-panel{padding:18px!important;border-radius:16px!important}
  .quick-facts{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .related{margin-top:28px!important}

  /* Cart / checkout. */
  .checkout-shell{padding-left:14px!important;padding-right:14px!important;gap:14px!important}
  .checkout-card,.summary{border-radius:16px!important}
  .cart-list{min-width:0}
  .cart-row{min-width:0}
  .coupon{gap:8px!important}

  /* Content pages. */
  .free-hero,.vip-hero,.about-hero,.contact-wrap,.help-wrap,.faq-wrap,
  .article-shell,.blog-shell,.tools-grid,.account-wrap,.acc-layout{
    margin-top:14px!important;
  }
  .blog-hero,.tool-hero{padding:42px 14px 28px!important}
  .blog-shell,.article-shell,.about-wrap,.help-wrap,.faq-wrap,.contact-wrap{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .article-content{border-radius:16px!important}
  .about-cta{padding:18px!important}

  /* Tables remain readable without forcing page overflow. */
  .table-wrap,.orders-wrap,.orders-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .orders-table{display:table;min-width:590px}
}

@media(max-width:620px){
  /* Compact homepage hero: no artificial 500px/610px card height. */
  .panda-home .hero-layout-v43 .hero-main-card{
    min-height:0!important;
    padding:18px 15px!important;
    border-radius:18px!important;
    align-items:flex-start!important;
  }
  .panda-home .hero-layout-v43 .hero-main-card .hero-ai-content{
    width:100%!important;
    max-width:none!important;
    padding-right:0!important;
  }
  .panda-home .hero-layout-v43 .hero-main-card .h-tag{
    max-width:100%!important;
    margin-bottom:8px!important;
    font-size:.54rem!important;
  }
  .panda-home .hero-layout-v43 .hero-main-card .h1{
    font-size:clamp(1.72rem,9.4vw,2.35rem)!important;
    line-height:1.02!important;
    margin-bottom:8px!important;
  }
  .panda-home .hero-layout-v43 .hero-main-card .h-desc{
    max-width:100%!important;
    margin-bottom:10px!important;
    font-size:.72rem!important;
    line-height:1.5!important;
  }
  .panda-home .hero-layout-v43 .hero-main-card .ai-bar{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:0!important;
    min-height:0!important;
    margin-bottom:7px!important;
    padding:4px!important;
    border-radius:13px!important;
  }
  .panda-home .hero-layout-v43 .hero-main-card .ai-bar-icon{
    min-height:38px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
  }
  .panda-home .hero-layout-v43 .hero-main-card .ai-bar input{
    min-height:38px!important;
    padding:0 8px!important;
    font-size:.72rem!important;
  }
  .panda-home .hero-layout-v43 .hero-main-card .ai-bar-btn{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:38px!important;
    margin-top:4px!important;
    border-radius:10px!important;
    font-size:.68rem!important;
  }
  .panda-home .hero-layout-v43 .hero-main-card .ai-chips{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    gap:5px!important;
    margin-bottom:6px!important;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .panda-home .hero-layout-v43 .hero-main-card .ai-chips::-webkit-scrollbar{display:none}
  .panda-home .hero-layout-v43 .hero-main-card .ai-chip{
    flex:0 0 auto;
    min-height:28px!important;
    padding:0 8px!important;
    font-size:.54rem!important;
  }
  .panda-home .hero-layout-v43 .hero-main-card .h-stats{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px!important;
    padding-top:7px!important;
  }
  .panda-home .hero-layout-v43 .hero-main-card .h-stat-n{font-size:.75rem!important}
  .panda-home .hero-layout-v43 .hero-main-card .h-stat-l{font-size:.48rem!important;line-height:1.2!important}
  .panda-home .hero-layout-v43 .vip-floral-stage{
    opacity:.26!important;
    transform:scale(.46)!important;
    transform-origin:right bottom!important;
    right:-38px!important;
    bottom:-54px!important;
    top:auto!important;
    height:210px!important;
    width:210px!important;
  }

  .panda-home .custom-digitizing-strip{
    grid-template-columns:42px minmax(0,1fr)!important;
    min-height:0!important;
    padding:10px!important;
    border-radius:16px!important;
    gap:9px!important;
  }
  .panda-home .digitizing-strip-icon{width:42px!important;height:42px!important;border-radius:13px!important}
  .panda-home .digitizing-strip-kicker{font-size:.5rem!important}
  .panda-home .digitizing-strip-copy strong{font-size:.69rem!important;line-height:1.25!important}
  .panda-home .digitizing-strip-copy small{font-size:.5rem!important;line-height:1.25!important}
  .panda-home .digitizing-strip-action{display:none!important}

  .panda-home .hero-layout-v43 .season-banner-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .panda-home .hero-layout-v43 .season-banner-wide,
  .panda-home .hero-layout-v43 .season-banner-small{
    min-height:172px!important;
    padding:18px!important;
    border-radius:18px!important;
  }
  .panda-home .hero-layout-v43 .season-banner-wide .banner-title,
  .panda-home .hero-layout-v43 .season-banner-small .banner-title{
    max-width:67%!important;
    margin:8px 0 4px!important;
    font-size:1.32rem!important;
    line-height:1.02!important;
  }
  .panda-home .hero-layout-v43 .banner-label{min-height:23px!important;font-size:.5rem!important;padding:0 8px!important}
  .panda-home .hero-layout-v43 .banner-copy{max-width:62%!important;font-size:.6rem!important;line-height:1.38!important;padding-right:0!important}
  .panda-home .hero-layout-v43 .banner-link{left:18px!important;bottom:15px!important;font-size:.62rem!important}
  .panda-home .hero-layout-v43 .pd-promo-visual{width:38%!important;height:52%!important;right:2%!important}
  .panda-home .hero-layout-v43 .pd-custom-anim-card .pd-custom-anim-item{
    width:min(var(--custom-size,64px),78px)!important;
    height:min(var(--custom-size,64px),78px)!important;
  }
  .panda-home .hero-layout-v43 .pd-sale-panel{
    left:7px!important;right:7px!important;bottom:7px!important;
    padding:6px 7px!important;border-radius:10px!important;gap:5px!important;
  }
  .panda-home .hero-layout-v43 .pd-sale-offer{max-width:72px!important;font-size:.52rem!important}
  .panda-home .hero-layout-v43 .pd-sale-clock{gap:2px!important}
  .panda-home .hero-layout-v43 .pd-sale-clock>span{min-width:21px!important;padding:3px!important}
  .panda-home .hero-layout-v43 .pd-sale-clock b{font-size:.54rem!important}
  .panda-home .hero-layout-v43 .pd-sale-clock small{font-size:.34rem!important}
  .panda-home .hero-layout-v43 .pd-promo-card.has-sale-countdown .banner-link{display:none!important}
  .panda-home .hero-layout-v43 .pd-promo-card.has-sale-countdown{min-height:186px!important}

  /* Home sections and navigation are tightened. */
  .panda-home nav{height:58px!important;padding:0 10px!important;gap:7px!important}
  .panda-home .n-logo-i{width:34px!important;height:34px!important}
  .panda-home .n-logo-s{display:none!important}
  .panda-home .n-logo-t{font-size:.78rem!important}
  .panda-home .n-r{gap:5px!important}
  .panda-home .n-r .btn{min-height:38px!important;padding:0 9px!important}
  .panda-home .ham{min-width:38px!important;min-height:38px!important}
  .panda-home .sec{padding:1rem 12px!important}
  .panda-home .sec-hdr{margin-bottom:.65rem!important}
  .panda-home .sec-title{font-size:.96rem!important}
  .panda-home .sec-sub{font-size:.68rem!important}
  .panda-home .cats{padding:7px 0!important}
  .panda-home .cats-in{padding:0 10px!important;gap:5px!important}
  .panda-home .cat{padding:.42rem .62rem!important;font-size:.62rem!important}

  /* Compact card details on narrow screens. */
  .store-img,.pcard-thumb,.free-img{aspect-ratio:1/1!important}
  .card-body,.pcard-body,.free-body{padding:8px!important}
  .card-bottom,.pcard-foot{align-items:flex-end!important}
  .pcard-coins{display:none!important}
  .old-price{display:block;margin-left:0!important;margin-top:1px}
  .shop-wish{width:30px!important;height:30px!important;font-size:16px!important}
  .card-badge{top:6px!important;padding:3px 6px!important;font-size:.55rem!important}
  .badge-left{left:6px!important}.badge-right,.badge-sale{right:6px!important}

  /* Cart rows use a compact two-column phone layout. */
  .cart-row{
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
  }
  .cart-thumb{width:54px!important;height:54px!important}
  .cart-price,.remove{grid-column:2!important;justify-self:start!important}
  .remove{margin-top:3px!important}
  .checkout-card{padding:14px!important}
  .coupon{flex-direction:column!important}
  .coupon button{width:100%!important}

  /* Login and simple content pages. */
  .login-shell{padding:12px!important}
  .login-card{border-radius:18px!important}
  .free-hero{margin:12px!important;padding:18px!important;border-radius:18px!important}
  .about-hero{padding:18px!important;border-radius:18px!important}
  .about-art{min-height:150px!important;font-size:4rem!important}
  .contact-wrap,.help-wrap,.faq-wrap{padding-top:28px!important;padding-bottom:38px!important}
  .article-shell{padding-top:20px!important;padding-bottom:34px!important}
  .article-content{padding:18px!important;font-size:.92rem!important;line-height:1.72!important}
  .blog-search{flex-direction:column!important;border-radius:12px!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;gap:8px!important}
  .blog-search input,.blog-search button{width:100%!important;min-height:44px!important;border-radius:10px!important}
}

@media(max-width:380px){
  .product-grid,.pgrid,.free-grid,.related-grid,.wl-grid{gap:7px!important}
  .shop-shell,.shop-top{padding-left:10px!important;padding-right:10px!important}
  .card-body,.pcard-body,.free-body{padding:7px!important}
  .card-name,.pcard-name,.free-title{font-size:.72rem!important}
  .add-btn,.pcard-cart-btn{padding:5px 6px!important;font-size:.59rem!important}
  .panda-home .hero.hero-grid-v2{padding-left:9px!important;padding-right:9px!important}
  .panda-home .hero-layout-v43 .hero-main-card{padding:16px 12px!important}
  .panda-home .hero-layout-v43 .hero-main-card .h1{font-size:1.66rem!important}
  .panda-home .hero-layout-v43 .season-banner-wide,
  .panda-home .hero-layout-v43 .season-banner-small{min-height:164px!important;padding:16px!important}
  .panda-home .hero-layout-v43 .pd-promo-card.has-sale-countdown{min-height:180px!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
