/*! HappyLand theme — product card & grid (used on front page and WooCommerce loops) */
/* ================= کارت محصول ================= */
.pcard{position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:var(--r-lg);
  padding:14px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;overflow:hidden}
.pcard:hover{transform:translateY(-7px);box-shadow:var(--shadow-lift)}
.pcard.flash{animation:flashcard 1.6s ease-out}
@keyframes flashcard{0%,60%{box-shadow:0 0 0 5px var(--sun),var(--shadow-lift)}100%{box-shadow:var(--shadow-soft)}}
.pthumb{position:relative;border-radius:var(--r-md);display:grid;place-items:center;
  aspect-ratio:1/.92;overflow:hidden}
.pthumb svg{width:82%;height:82%;transition:transform .35s}
.pcard:hover .pthumb svg{transform:scale(1.08) rotate(-2.5deg)}
.pbadges{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px;z-index:2;align-items:flex-end}
.badge{font-size:11px;font-weight:900;padding:2.5px 11px;border-radius:99px;border:1.5px solid var(--ink);color:var(--ink)}
.badge.off{background:var(--pink);color:#fff;border-color:var(--ink)}
.badge.best{background:var(--sun)}
.badge.new{background:var(--teal-soft)}
.badge.low{background:var(--sun-soft);color:#8A5A00;border-color:#8A5A00}
.ptools{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:6px;z-index:2}
.tool-btn,.fav-btn{width:36px;height:36px;border-radius:12px;background:var(--paper);
  border:2px solid var(--ink);display:grid;place-items:center;transition:transform .15s,background .2s;opacity:0;transform:translateY(-6px);color:var(--ink);cursor:pointer}
.pcard:hover .tool-btn,.pcard:hover .fav-btn,.pcard:focus-within .tool-btn,.pcard:focus-within .fav-btn,.fav-btn.faved,.tool-btn.on{opacity:1;transform:none}
.tool-btn:hover{transform:scale(1.1);background:var(--sky-soft)}
.tool-btn.on{background:var(--teal-soft);color:var(--teal-hard)}
.fav-btn:hover{transform:scale(1.1)}
.fav-btn.faved{background:var(--pink-soft);color:var(--pink)}
.pcard h3{font-family:var(--font-body);font-size:14px;font-weight:800;line-height:1.7;margin:12px 2px 2px;min-height:48px}
.pcat{font-size:11.5px;font-weight:700;margin-inline:2px}
.pprice{display:flex;align-items:baseline;gap:8px;margin-top:8px;flex-wrap:wrap}
.pprice .now{font-size:17px;font-weight:900}
.pprice .now small{font-size:11px;font-weight:700;color:var(--ink-soft)}
.pprice .old{font-size:12.5px;color:#C33A64;text-decoration:line-through;font-weight:700}
.pfoot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:8px}
.stock{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800}
.stock i{width:8px;height:8px;border-radius:99px}
.stock.in{color:var(--teal-hard)}.stock.in i{background:var(--teal)}
.stock.out{color:#B4840A}.stock.out i{background:var(--sun)}
.add-btn{width:44px;height:44px;border-radius:14px;background:var(--pink);color:#fff;border:2px solid var(--ink);
  display:grid;place-items:center;box-shadow:0 4px 0 var(--pink-hard);transition:transform .15s,box-shadow .15s}
.add-btn:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--pink-hard)}
.add-btn:active{transform:translateY(4px);box-shadow:0 0 0 var(--pink-hard)}
.notify-btn{font-size:12px;font-weight:900;background:var(--sun-soft);border:2px solid var(--ink);border-radius:99px;
  padding:8px 14px;box-shadow:0 4px 0 var(--sun-hard);transition:transform .15s,box-shadow .15s}
.notify-btn:active{transform:translateY(4px);box-shadow:0 0 0 var(--sun-hard)}
.pnote{font-size:11px;color:var(--ink-soft);font-weight:700;margin:6px 2px 0;display:flex;align-items:center;gap:5px}
.pcard.out .pthumb svg{opacity:.55}

/* روی نمایشگرهای لمسی hover وجود ندارد؛ دکمهٔ علاقه‌مندی باید همیشه دیده شود */
@media (hover:none){.fav-btn,.tool-btn{opacity:1;transform:none}}

/* ================= شبکهٔ محصولات (صفحهٔ اصلی و فروشگاه) ================= */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:18px}
.pgrid .pcard{animation:cardin .5s cubic-bezier(.3,1.2,.4,1) both}
.pgrid .pcard:nth-child(4n+2){animation-delay:.06s}
.pgrid .pcard:nth-child(4n+3){animation-delay:.12s}
.pgrid .pcard:nth-child(4n+4){animation-delay:.18s}
@keyframes cardin{from{opacity:0;transform:translateY(26px) rotate(-1deg)}to{opacity:1;transform:none}}

/* ---- pagination (WooCommerce: nav > ul.page-numbers > li > a|span.page-numbers) ---- */
.woocommerce-pagination{margin-top:30px;clear:both}
.woocommerce-pagination ul.page-numbers{display:flex!important;flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;
  list-style:none;margin:0;padding:0;border:0;background:none;box-shadow:none;height:auto;min-width:0;width:auto}
.woocommerce-pagination ul.page-numbers>li{display:block;float:none;margin:0;padding:0;border:0;list-style:none}
.woocommerce-pagination ul.page-numbers>li>.page-numbers,.hl-pagination>.page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;
  border:2px solid var(--ink);border-radius:14px;background:var(--paper);font-weight:800;line-height:1;box-shadow:0 3px 0 var(--ink);transition:transform .15s,box-shadow .15s,background .15s}
.woocommerce-pagination ul.page-numbers>li>.page-numbers.current,.hl-pagination>.page-numbers.current{background:var(--pink);color:#fff}
.woocommerce-pagination ul.page-numbers>li>a.page-numbers:hover,.hl-pagination>a.page-numbers:hover{background:var(--sun-soft);transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}
.woocommerce-pagination ul.page-numbers>li>.page-numbers.dots{border-color:transparent;box-shadow:none;background:none;min-width:24px;padding:0}
.woocommerce-pagination .page-numbers svg,.hl-pagination .page-numbers svg{width:18px;height:18px}


/* ================= Quick view ================= */
.qv-card{width:min(860px,100%);max-height:calc(100vh - 40px);overflow:auto;text-align:right}
.qv-card .modal-x{z-index:3}
.qv-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:26px;align-items:start}
.qv-main{border:2px solid var(--ink);border-radius:var(--r-md);aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}
.qv-main img,.qv-main svg{width:100%;height:100%;object-fit:contain}
.qv-thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.qv-thumb{width:56px;height:56px;border:2px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;padding:0;cursor:pointer}
.qv-thumb.on{border-color:var(--ink)}
.qv-thumb img,.qv-thumb svg{width:100%;height:100%;object-fit:cover}
.qv-cat{font-size:12px;font-weight:800;color:var(--ink-soft)}
.qv-info h3{font-size:22px;text-align:right;margin:4px 0 8px;line-height:1.6}
.qv-price{font-size:20px;font-weight:900;margin-bottom:10px}
.qv-price del{color:var(--ink-soft);font-size:14px;margin-inline-end:8px}
.qv-price ins{text-decoration:none}
.qv-short{font-size:13.5px;line-height:1.9;color:var(--ink-soft);margin:0 0 12px;font-weight:600}
.qv-opts{display:grid;gap:10px;margin-bottom:10px}
.qv-opt{display:grid;gap:4px;font-size:13px;font-weight:800}
.qv-opt select{width:100%}
.qv-stock{font-size:12.5px;font-weight:800;margin:6px 0}
.qv-stock.in{color:var(--teal-hard)}.qv-stock.out{color:var(--pink-hard)}
.qv-buy{display:flex;gap:10px;align-items:center;margin-top:8px}
.qv-qty{display:flex;align-items:center;border:2px solid var(--ink);border-radius:99px;overflow:hidden;background:#fff}
.qv-qty button{width:36px;height:40px;font-size:18px;font-weight:900}
.qv-qty input{width:46px!important;border:0!important;border-radius:0!important;padding:0!important;text-align:center;font-weight:900;margin:0!important;box-shadow:none!important;-moz-appearance:textfield}
.qv-qty input::-webkit-outer-spin-button,.qv-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qv-add{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto!important}
.qv-add:disabled{opacity:.5;cursor:not-allowed}
.qv-hint{font-size:12px;font-weight:700;color:var(--ink-soft);min-height:18px;margin:8px 0 0}
.qv-more{display:inline-block;margin-top:10px;font-size:13px;font-weight:800;color:var(--ink);text-decoration:underline}
.qv-loading{padding:60px 0;text-align:center;font-weight:800;color:var(--ink-soft)}
@media (max-width:720px){.qv-grid{grid-template-columns:1fr}.qv-card{padding:18px}.qv-main{aspect-ratio:4/3}}
button.notify-btn{cursor:pointer}
.hl-notify-inline{display:inline-flex;align-items:center;gap:8px;margin-top:10px;border:2px solid var(--ink);border-radius:99px;background:#fff;padding:8px 16px;font-weight:800;font-size:13px;cursor:pointer}
.hl-notify-inline:hover{background:var(--sun-soft)}

/* ================= Wishlist / compare pages ================= */
.hl-wl-empty{text-align:center;padding:50px 10px;font-weight:800;color:var(--ink-soft)}
.cmp-scroll{overflow-x:auto;border:2px solid var(--ink);border-radius:var(--r-md);background:#fff}
.cmp-table{width:100%;border-collapse:collapse;min-width:560px}
.cmp-table th,.cmp-table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;text-align:right;font-size:13.5px}
.cmp-table tbody th{width:110px;font-weight:900;color:var(--ink-soft);background:var(--cream)}
.cmp-table thead th{position:relative;min-width:170px;font-weight:800}
.cmp-thumb{display:block;border-radius:12px;overflow:hidden;margin-bottom:8px;aspect-ratio:1/1;background:var(--cream)}
.cmp-thumb img,.cmp-thumb svg{width:100%;height:100%;object-fit:cover}
.cmp-name{font-weight:900;color:var(--ink);text-decoration:none}
.cmp-remove{position:absolute;top:8px;left:8px;width:28px;height:28px;border-radius:9px;border:2px solid var(--ink);background:#fff;font-size:16px;line-height:1;z-index:1;cursor:pointer}
.cmp-table td.in{color:var(--teal-hard);font-weight:800}.cmp-table td.out{color:var(--pink-hard);font-weight:800}
.cmp-desc{font-size:12.5px;color:var(--ink-soft);line-height:1.8}
